packages feed

gogol-androiddeviceprovisioning (empty) → 0.4.0

raw patch · 35 files changed

+8623/−0 lines, 35 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-androiddeviceprovisioning++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Android Device Provisioning Partner.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-androiddeviceprovisioning` 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/AndroidDeviceProvisioning.hs view
@@ -0,0 +1,494 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.AndroidDeviceProvisioning+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Automates Android zero-touch enrollment for device resellers, customers,+-- and EMMs.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference>+module Network.Google.AndroidDeviceProvisioning+    (+    -- * Service Configuration+      androidDeviceProvisioningService++    -- * API Declaration+    , AndroidDeviceProvisioningAPI++    -- * Resources++    -- ** androiddeviceprovisioning.customers.configurations.create+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Create++    -- ** androiddeviceprovisioning.customers.configurations.delete+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Delete++    -- ** androiddeviceprovisioning.customers.configurations.get+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Get++    -- ** androiddeviceprovisioning.customers.configurations.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.List++    -- ** androiddeviceprovisioning.customers.configurations.patch+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Patch++    -- ** androiddeviceprovisioning.customers.devices.applyConfiguration+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.ApplyConfiguration++    -- ** androiddeviceprovisioning.customers.devices.get+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Get++    -- ** androiddeviceprovisioning.customers.devices.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.List++    -- ** androiddeviceprovisioning.customers.devices.removeConfiguration+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.RemoveConfiguration++    -- ** androiddeviceprovisioning.customers.devices.unclaim+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Unclaim++    -- ** androiddeviceprovisioning.customers.dpcs.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Dpcs.List++    -- ** androiddeviceprovisioning.customers.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Customers.List++    -- ** androiddeviceprovisioning.operations.get+    , module Network.Google.Resource.AndroidDeviceProvisioning.Operations.Get++    -- ** androiddeviceprovisioning.partners.customers.create+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.Create++    -- ** androiddeviceprovisioning.partners.customers.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.List++    -- ** androiddeviceprovisioning.partners.devices.claim+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Claim++    -- ** androiddeviceprovisioning.partners.devices.claimAsync+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.ClaimAsync++    -- ** androiddeviceprovisioning.partners.devices.findByIdentifier+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByIdentifier++    -- ** androiddeviceprovisioning.partners.devices.findByOwner+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByOwner++    -- ** androiddeviceprovisioning.partners.devices.get+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Get++    -- ** androiddeviceprovisioning.partners.devices.metadata+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Metadata++    -- ** androiddeviceprovisioning.partners.devices.unclaim+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Unclaim++    -- ** androiddeviceprovisioning.partners.devices.unclaimAsync+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UnclaimAsync++    -- ** androiddeviceprovisioning.partners.devices.updateMetadataAsync+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UpdateMetadataAsync++    -- ** androiddeviceprovisioning.partners.vendors.customers.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.Customers.List++    -- ** androiddeviceprovisioning.partners.vendors.list+    , module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.List++    -- * Types++    -- ** UpdateMetadataArguments+    , UpdateMetadataArguments+    , updateMetadataArguments+    , umaDeviceIdentifier+    , umaDeviceId+    , umaDeviceMetadata++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** PartnerClaim+    , PartnerClaim+    , partnerClaim+    , pcDeviceIdentifier+    , pcSectionType+    , pcCustomerId+    , pcDeviceMetadata++    -- ** CustomerUnclaimDeviceRequest+    , CustomerUnclaimDeviceRequest+    , customerUnclaimDeviceRequest+    , cudrDevice++    -- ** PerDeviceStatusInBatchStatus+    , PerDeviceStatusInBatchStatus (..)++    -- ** FindDevicesByOwnerRequestSectionType+    , FindDevicesByOwnerRequestSectionType (..)++    -- ** FindDevicesByDeviceIdentifierRequest+    , FindDevicesByDeviceIdentifierRequest+    , findDevicesByDeviceIdentifierRequest+    , fdbdirDeviceIdentifier+    , fdbdirLimit+    , fdbdirPageToken++    -- ** FindDevicesByOwnerResponse+    , FindDevicesByOwnerResponse+    , findDevicesByOwnerResponse+    , fdborNextPageToken+    , fdborTotalSize+    , fdborDevices++    -- ** DeviceMetadataEntries+    , DeviceMetadataEntries+    , deviceMetadataEntries+    , dmeAddtional++    -- ** PartnerUnclaim+    , PartnerUnclaim+    , partnerUnclaim+    , puDeviceIdentifier+    , puSectionType+    , puDeviceId++    -- ** Dpc+    , Dpc+    , dpc+    , dPackageName+    , dName+    , dDpcName++    -- ** ListVendorCustomersResponse+    , ListVendorCustomersResponse+    , listVendorCustomersResponse+    , lvcrCustomers+    , lvcrNextPageToken+    , lvcrTotalSize++    -- ** OperationPerDevice+    , OperationPerDevice+    , operationPerDevice+    , opdUpdateMetadata+    , opdResult+    , opdClaim+    , opdUnclaim++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** PartnerClaimSectionType+    , PartnerClaimSectionType (..)++    -- ** PerDeviceStatusInBatch+    , PerDeviceStatusInBatch+    , perDeviceStatusInBatch+    , pdsibStatus+    , pdsibErrorIdentifier+    , pdsibDeviceId+    , pdsibErrorMessage++    -- ** ClaimDevicesRequest+    , ClaimDevicesRequest+    , claimDevicesRequest+    , cdrClaims++    -- ** Device+    , Device+    , device+    , devDeviceIdentifier+    , devClaims+    , devName+    , devDeviceId+    , devDeviceMetadata+    , devConfiguration++    -- ** ClaimDeviceRequest+    , ClaimDeviceRequest+    , claimDeviceRequest+    , cdrDeviceIdentifier+    , cdrSectionType+    , cdrCustomerId+    , cdrDeviceMetadata++    -- ** DeviceReference+    , DeviceReference+    , deviceReference+    , drDeviceIdentifier+    , drDeviceId++    -- ** CustomerRemoveConfigurationRequest+    , CustomerRemoveConfigurationRequest+    , customerRemoveConfigurationRequest+    , crcrDevice++    -- ** DeviceIdentifier+    , DeviceIdentifier+    , deviceIdentifier+    , diManufacturer+    , diModel+    , diMeid+    , diImei+    , diSerialNumber++    -- ** UnclaimDevicesRequest+    , UnclaimDevicesRequest+    , unclaimDevicesRequest+    , udrUnclaims++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** ListVendorsResponse+    , ListVendorsResponse+    , listVendorsResponse+    , lvrNextPageToken+    , lvrTotalSize+    , lvrVendors++    -- ** CustomerListConfigurationsResponse+    , CustomerListConfigurationsResponse+    , customerListConfigurationsResponse+    , clcrConfigurations++    -- ** PartnerUnclaimSectionType+    , PartnerUnclaimSectionType (..)++    -- ** CustomerApplyConfigurationRequest+    , CustomerApplyConfigurationRequest+    , customerApplyConfigurationRequest+    , cacrDevice+    , cacrConfiguration++    -- ** Company+    , Company+    , company+    , cCompanyId+    , cCompanyName+    , cOwnerEmails+    , cTermsStatus+    , cName+    , cAdminEmails++    -- ** Xgafv+    , Xgafv (..)++    -- ** ClaimDeviceRequestSectionType+    , ClaimDeviceRequestSectionType (..)++    -- ** CustomerListCustomersResponse+    , CustomerListCustomersResponse+    , customerListCustomersResponse+    , clcrCustomers+    , clcrNextPageToken++    -- ** DeviceClaim+    , DeviceClaim+    , deviceClaim+    , dcSectionType+    , dcOwnerCompanyId+    , dcResellerId++    -- ** UpdateDeviceMetadataRequest+    , UpdateDeviceMetadataRequest+    , updateDeviceMetadataRequest+    , udmrDeviceMetadata++    -- ** DeviceMetadata+    , DeviceMetadata+    , deviceMetadata+    , dmEntries++    -- ** FindDevicesByOwnerRequest+    , FindDevicesByOwnerRequest+    , findDevicesByOwnerRequest+    , fdborSectionType+    , fdborCustomerId+    , fdborLimit+    , fdborPageToken++    -- ** FindDevicesByDeviceIdentifierResponse+    , FindDevicesByDeviceIdentifierResponse+    , findDevicesByDeviceIdentifierResponse+    , fdbdirNextPageToken+    , fdbdirTotalSize+    , fdbdirDevices++    -- ** UnclaimDeviceRequest+    , UnclaimDeviceRequest+    , unclaimDeviceRequest+    , udrDeviceIdentifier+    , udrSectionType+    , udrDeviceId++    -- ** DevicesLongRunningOperationResponse+    , DevicesLongRunningOperationResponse+    , devicesLongRunningOperationResponse+    , dlrorSuccessCount+    , dlrorPerDeviceStatus++    -- ** Configuration+    , Configuration+    , configuration+    , conContactPhone+    , conContactEmail+    , conConfigurationName+    , conConfigurationId+    , conCustomMessage+    , conCompanyName+    , conDpcExtras+    , conName+    , conDpcResourcePath+    , conIsDefault++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- ** DeviceClaimSectionType+    , DeviceClaimSectionType (..)++    -- ** ListCustomersResponse+    , ListCustomersResponse+    , listCustomersResponse+    , lcrCustomers+    , lcrNextPageToken+    , lcrTotalSize++    -- ** DevicesLongRunningOperationMetadata+    , DevicesLongRunningOperationMetadata+    , devicesLongRunningOperationMetadata+    , dlromProgress+    , dlromDevicesCount+    , dlromProcessingStatus++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** CompanyTermsStatus+    , CompanyTermsStatus (..)++    -- ** CustomerListDevicesResponse+    , CustomerListDevicesResponse+    , customerListDevicesResponse+    , cldrNextPageToken+    , cldrDevices++    -- ** UpdateDeviceMetadataInBatchRequest+    , UpdateDeviceMetadataInBatchRequest+    , updateDeviceMetadataInBatchRequest+    , udmibrUpdates++    -- ** UnclaimDeviceRequestSectionType+    , UnclaimDeviceRequestSectionType (..)++    -- ** CustomerListDpcsResponse+    , CustomerListDpcsResponse+    , customerListDpcsResponse+    , cldrDpcs++    -- ** ClaimDeviceResponse+    , ClaimDeviceResponse+    , claimDeviceResponse+    , cdrDeviceName+    , cdrDeviceId++    -- ** CreateCustomerRequest+    , CreateCustomerRequest+    , createCustomerRequest+    , ccrCustomer++    -- ** DevicesLongRunningOperationMetadataProcessingStatus+    , DevicesLongRunningOperationMetadataProcessingStatus (..)+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Create+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Delete+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Get+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Patch+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.ApplyConfiguration+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Get+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.RemoveConfiguration+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Unclaim+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.Dpcs.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Customers.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Operations.Get+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.Create+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Claim+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.ClaimAsync+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByIdentifier+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByOwner+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Get+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Metadata+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Unclaim+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UnclaimAsync+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UpdateMetadataAsync+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.Customers.List+import           Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Android Device Provisioning Partner API service.+type AndroidDeviceProvisioningAPI =+     CustomersDpcsListResource :<|>+       CustomersConfigurationsListResource+       :<|> CustomersConfigurationsPatchResource+       :<|> CustomersConfigurationsGetResource+       :<|> CustomersConfigurationsCreateResource+       :<|> CustomersConfigurationsDeleteResource+       :<|> CustomersDevicesApplyConfigurationResource+       :<|> CustomersDevicesListResource+       :<|> CustomersDevicesGetResource+       :<|> CustomersDevicesRemoveConfigurationResource+       :<|> CustomersDevicesUnclaimResource+       :<|> CustomersListResource+       :<|> PartnersCustomersListResource+       :<|> PartnersCustomersCreateResource+       :<|> PartnersVendorsCustomersListResource+       :<|> PartnersVendorsListResource+       :<|> PartnersDevicesClaimAsyncResource+       :<|> PartnersDevicesGetResource+       :<|> PartnersDevicesUnclaimAsyncResource+       :<|> PartnersDevicesFindByOwnerResource+       :<|> PartnersDevicesClaimResource+       :<|> PartnersDevicesUpdateMetadataAsyncResource+       :<|> PartnersDevicesMetadataResource+       :<|> PartnersDevicesFindByIdentifierResource+       :<|> PartnersDevicesUnclaimResource+       :<|> OperationsGetResource
+ gen/Network/Google/AndroidDeviceProvisioning/Types.hs view
@@ -0,0 +1,355 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AndroidDeviceProvisioning.Types+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AndroidDeviceProvisioning.Types+    (+    -- * Service Configuration+      androidDeviceProvisioningService++    -- * UpdateMetadataArguments+    , UpdateMetadataArguments+    , updateMetadataArguments+    , umaDeviceIdentifier+    , umaDeviceId+    , umaDeviceMetadata++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * PartnerClaim+    , PartnerClaim+    , partnerClaim+    , pcDeviceIdentifier+    , pcSectionType+    , pcCustomerId+    , pcDeviceMetadata++    -- * CustomerUnclaimDeviceRequest+    , CustomerUnclaimDeviceRequest+    , customerUnclaimDeviceRequest+    , cudrDevice++    -- * PerDeviceStatusInBatchStatus+    , PerDeviceStatusInBatchStatus (..)++    -- * FindDevicesByOwnerRequestSectionType+    , FindDevicesByOwnerRequestSectionType (..)++    -- * FindDevicesByDeviceIdentifierRequest+    , FindDevicesByDeviceIdentifierRequest+    , findDevicesByDeviceIdentifierRequest+    , fdbdirDeviceIdentifier+    , fdbdirLimit+    , fdbdirPageToken++    -- * FindDevicesByOwnerResponse+    , FindDevicesByOwnerResponse+    , findDevicesByOwnerResponse+    , fdborNextPageToken+    , fdborTotalSize+    , fdborDevices++    -- * DeviceMetadataEntries+    , DeviceMetadataEntries+    , deviceMetadataEntries+    , dmeAddtional++    -- * PartnerUnclaim+    , PartnerUnclaim+    , partnerUnclaim+    , puDeviceIdentifier+    , puSectionType+    , puDeviceId++    -- * Dpc+    , Dpc+    , dpc+    , dPackageName+    , dName+    , dDpcName++    -- * ListVendorCustomersResponse+    , ListVendorCustomersResponse+    , listVendorCustomersResponse+    , lvcrCustomers+    , lvcrNextPageToken+    , lvcrTotalSize++    -- * OperationPerDevice+    , OperationPerDevice+    , operationPerDevice+    , opdUpdateMetadata+    , opdResult+    , opdClaim+    , opdUnclaim++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * PartnerClaimSectionType+    , PartnerClaimSectionType (..)++    -- * PerDeviceStatusInBatch+    , PerDeviceStatusInBatch+    , perDeviceStatusInBatch+    , pdsibStatus+    , pdsibErrorIdentifier+    , pdsibDeviceId+    , pdsibErrorMessage++    -- * ClaimDevicesRequest+    , ClaimDevicesRequest+    , claimDevicesRequest+    , cdrClaims++    -- * Device+    , Device+    , device+    , devDeviceIdentifier+    , devClaims+    , devName+    , devDeviceId+    , devDeviceMetadata+    , devConfiguration++    -- * ClaimDeviceRequest+    , ClaimDeviceRequest+    , claimDeviceRequest+    , cdrDeviceIdentifier+    , cdrSectionType+    , cdrCustomerId+    , cdrDeviceMetadata++    -- * DeviceReference+    , DeviceReference+    , deviceReference+    , drDeviceIdentifier+    , drDeviceId++    -- * CustomerRemoveConfigurationRequest+    , CustomerRemoveConfigurationRequest+    , customerRemoveConfigurationRequest+    , crcrDevice++    -- * DeviceIdentifier+    , DeviceIdentifier+    , deviceIdentifier+    , diManufacturer+    , diModel+    , diMeid+    , diImei+    , diSerialNumber++    -- * UnclaimDevicesRequest+    , UnclaimDevicesRequest+    , unclaimDevicesRequest+    , udrUnclaims++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * ListVendorsResponse+    , ListVendorsResponse+    , listVendorsResponse+    , lvrNextPageToken+    , lvrTotalSize+    , lvrVendors++    -- * CustomerListConfigurationsResponse+    , CustomerListConfigurationsResponse+    , customerListConfigurationsResponse+    , clcrConfigurations++    -- * PartnerUnclaimSectionType+    , PartnerUnclaimSectionType (..)++    -- * CustomerApplyConfigurationRequest+    , CustomerApplyConfigurationRequest+    , customerApplyConfigurationRequest+    , cacrDevice+    , cacrConfiguration++    -- * Company+    , Company+    , company+    , cCompanyId+    , cCompanyName+    , cOwnerEmails+    , cTermsStatus+    , cName+    , cAdminEmails++    -- * Xgafv+    , Xgafv (..)++    -- * ClaimDeviceRequestSectionType+    , ClaimDeviceRequestSectionType (..)++    -- * CustomerListCustomersResponse+    , CustomerListCustomersResponse+    , customerListCustomersResponse+    , clcrCustomers+    , clcrNextPageToken++    -- * DeviceClaim+    , DeviceClaim+    , deviceClaim+    , dcSectionType+    , dcOwnerCompanyId+    , dcResellerId++    -- * UpdateDeviceMetadataRequest+    , UpdateDeviceMetadataRequest+    , updateDeviceMetadataRequest+    , udmrDeviceMetadata++    -- * DeviceMetadata+    , DeviceMetadata+    , deviceMetadata+    , dmEntries++    -- * FindDevicesByOwnerRequest+    , FindDevicesByOwnerRequest+    , findDevicesByOwnerRequest+    , fdborSectionType+    , fdborCustomerId+    , fdborLimit+    , fdborPageToken++    -- * FindDevicesByDeviceIdentifierResponse+    , FindDevicesByDeviceIdentifierResponse+    , findDevicesByDeviceIdentifierResponse+    , fdbdirNextPageToken+    , fdbdirTotalSize+    , fdbdirDevices++    -- * UnclaimDeviceRequest+    , UnclaimDeviceRequest+    , unclaimDeviceRequest+    , udrDeviceIdentifier+    , udrSectionType+    , udrDeviceId++    -- * DevicesLongRunningOperationResponse+    , DevicesLongRunningOperationResponse+    , devicesLongRunningOperationResponse+    , dlrorSuccessCount+    , dlrorPerDeviceStatus++    -- * Configuration+    , Configuration+    , configuration+    , conContactPhone+    , conContactEmail+    , conConfigurationName+    , conConfigurationId+    , conCustomMessage+    , conCompanyName+    , conDpcExtras+    , conName+    , conDpcResourcePath+    , conIsDefault++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- * DeviceClaimSectionType+    , DeviceClaimSectionType (..)++    -- * ListCustomersResponse+    , ListCustomersResponse+    , listCustomersResponse+    , lcrCustomers+    , lcrNextPageToken+    , lcrTotalSize++    -- * DevicesLongRunningOperationMetadata+    , DevicesLongRunningOperationMetadata+    , devicesLongRunningOperationMetadata+    , dlromProgress+    , dlromDevicesCount+    , dlromProcessingStatus++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * CompanyTermsStatus+    , CompanyTermsStatus (..)++    -- * CustomerListDevicesResponse+    , CustomerListDevicesResponse+    , customerListDevicesResponse+    , cldrNextPageToken+    , cldrDevices++    -- * UpdateDeviceMetadataInBatchRequest+    , UpdateDeviceMetadataInBatchRequest+    , updateDeviceMetadataInBatchRequest+    , udmibrUpdates++    -- * UnclaimDeviceRequestSectionType+    , UnclaimDeviceRequestSectionType (..)++    -- * CustomerListDpcsResponse+    , CustomerListDpcsResponse+    , customerListDpcsResponse+    , cldrDpcs++    -- * ClaimDeviceResponse+    , ClaimDeviceResponse+    , claimDeviceResponse+    , cdrDeviceName+    , cdrDeviceId++    -- * CreateCustomerRequest+    , CreateCustomerRequest+    , createCustomerRequest+    , ccrCustomer++    -- * DevicesLongRunningOperationMetadataProcessingStatus+    , DevicesLongRunningOperationMetadataProcessingStatus (..)+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types.Product+import           Network.Google.AndroidDeviceProvisioning.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Android Device Provisioning Partner API. This contains the host and root path used as a starting point for constructing service requests.+androidDeviceProvisioningService :: ServiceConfig+androidDeviceProvisioningService+  = defaultService+      (ServiceId "androiddeviceprovisioning:v1")+      "androiddeviceprovisioning.googleapis.com"
+ gen/Network/Google/AndroidDeviceProvisioning/Types/Product.hs view
@@ -0,0 +1,2676 @@+{-# 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.AndroidDeviceProvisioning.Types.Product+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AndroidDeviceProvisioning.Types.Product where++import           Network.Google.AndroidDeviceProvisioning.Types.Sum+import           Network.Google.Prelude++-- | Identifies metdata updates to one device.+--+-- /See:/ 'updateMetadataArguments' smart constructor.+data UpdateMetadataArguments = UpdateMetadataArguments'+    { _umaDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _umaDeviceId         :: !(Maybe (Textual Int64))+    , _umaDeviceMetadata   :: !(Maybe DeviceMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateMetadataArguments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umaDeviceIdentifier'+--+-- * 'umaDeviceId'+--+-- * 'umaDeviceMetadata'+updateMetadataArguments+    :: UpdateMetadataArguments+updateMetadataArguments =+    UpdateMetadataArguments'+    { _umaDeviceIdentifier = Nothing+    , _umaDeviceId = Nothing+    , _umaDeviceMetadata = Nothing+    }++-- | Device identifier.+umaDeviceIdentifier :: Lens' UpdateMetadataArguments (Maybe DeviceIdentifier)+umaDeviceIdentifier+  = lens _umaDeviceIdentifier+      (\ s a -> s{_umaDeviceIdentifier = a})++-- | Device ID of the device.+umaDeviceId :: Lens' UpdateMetadataArguments (Maybe Int64)+umaDeviceId+  = lens _umaDeviceId (\ s a -> s{_umaDeviceId = a}) .+      mapping _Coerce++-- | Required. The metadata to update.+umaDeviceMetadata :: Lens' UpdateMetadataArguments (Maybe DeviceMetadata)+umaDeviceMetadata+  = lens _umaDeviceMetadata+      (\ s a -> s{_umaDeviceMetadata = a})++instance FromJSON UpdateMetadataArguments where+        parseJSON+          = withObject "UpdateMetadataArguments"+              (\ o ->+                 UpdateMetadataArguments' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "deviceId") <*>+                     (o .:? "deviceMetadata"))++instance ToJSON UpdateMetadataArguments where+        toJSON UpdateMetadataArguments'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _umaDeviceIdentifier,+                  ("deviceId" .=) <$> _umaDeviceId,+                  ("deviceMetadata" .=) <$> _umaDeviceMetadata])++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Identifies one claim request.+--+-- /See:/ 'partnerClaim' smart constructor.+data PartnerClaim = PartnerClaim'+    { _pcDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _pcSectionType      :: !(Maybe PartnerClaimSectionType)+    , _pcCustomerId       :: !(Maybe (Textual Int64))+    , _pcDeviceMetadata   :: !(Maybe DeviceMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnerClaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcDeviceIdentifier'+--+-- * 'pcSectionType'+--+-- * 'pcCustomerId'+--+-- * 'pcDeviceMetadata'+partnerClaim+    :: PartnerClaim+partnerClaim =+    PartnerClaim'+    { _pcDeviceIdentifier = Nothing+    , _pcSectionType = Nothing+    , _pcCustomerId = Nothing+    , _pcDeviceMetadata = Nothing+    }++-- | Required. Device identifier of the device.+pcDeviceIdentifier :: Lens' PartnerClaim (Maybe DeviceIdentifier)+pcDeviceIdentifier+  = lens _pcDeviceIdentifier+      (\ s a -> s{_pcDeviceIdentifier = a})++-- | Required. The section type of the device\'s provisioning record.+pcSectionType :: Lens' PartnerClaim (Maybe PartnerClaimSectionType)+pcSectionType+  = lens _pcSectionType+      (\ s a -> s{_pcSectionType = a})++-- | Required. The ID of the customer for whom the device is being claimed.+pcCustomerId :: Lens' PartnerClaim (Maybe Int64)+pcCustomerId+  = lens _pcCustomerId (\ s a -> s{_pcCustomerId = a})+      . mapping _Coerce++-- | Required. The metadata to attach to the device at claim.+pcDeviceMetadata :: Lens' PartnerClaim (Maybe DeviceMetadata)+pcDeviceMetadata+  = lens _pcDeviceMetadata+      (\ s a -> s{_pcDeviceMetadata = a})++instance FromJSON PartnerClaim where+        parseJSON+          = withObject "PartnerClaim"+              (\ o ->+                 PartnerClaim' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "sectionType")+                     <*> (o .:? "customerId")+                     <*> (o .:? "deviceMetadata"))++instance ToJSON PartnerClaim where+        toJSON PartnerClaim'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _pcDeviceIdentifier,+                  ("sectionType" .=) <$> _pcSectionType,+                  ("customerId" .=) <$> _pcCustomerId,+                  ("deviceMetadata" .=) <$> _pcDeviceMetadata])++-- | Request message for customer to unclaim a device.+--+-- /See:/ 'customerUnclaimDeviceRequest' smart constructor.+newtype CustomerUnclaimDeviceRequest = CustomerUnclaimDeviceRequest'+    { _cudrDevice :: Maybe DeviceReference+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerUnclaimDeviceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cudrDevice'+customerUnclaimDeviceRequest+    :: CustomerUnclaimDeviceRequest+customerUnclaimDeviceRequest =+    CustomerUnclaimDeviceRequest'+    { _cudrDevice = Nothing+    }++-- | Required. The device to unclaim.+cudrDevice :: Lens' CustomerUnclaimDeviceRequest (Maybe DeviceReference)+cudrDevice+  = lens _cudrDevice (\ s a -> s{_cudrDevice = a})++instance FromJSON CustomerUnclaimDeviceRequest where+        parseJSON+          = withObject "CustomerUnclaimDeviceRequest"+              (\ o ->+                 CustomerUnclaimDeviceRequest' <$> (o .:? "device"))++instance ToJSON CustomerUnclaimDeviceRequest where+        toJSON CustomerUnclaimDeviceRequest'{..}+          = object (catMaybes [("device" .=) <$> _cudrDevice])++-- | Request to find devices.+--+-- /See:/ 'findDevicesByDeviceIdentifierRequest' smart constructor.+data FindDevicesByDeviceIdentifierRequest = FindDevicesByDeviceIdentifierRequest'+    { _fdbdirDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _fdbdirLimit            :: !(Maybe (Textual Int64))+    , _fdbdirPageToken        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindDevicesByDeviceIdentifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdbdirDeviceIdentifier'+--+-- * 'fdbdirLimit'+--+-- * 'fdbdirPageToken'+findDevicesByDeviceIdentifierRequest+    :: FindDevicesByDeviceIdentifierRequest+findDevicesByDeviceIdentifierRequest =+    FindDevicesByDeviceIdentifierRequest'+    { _fdbdirDeviceIdentifier = Nothing+    , _fdbdirLimit = Nothing+    , _fdbdirPageToken = Nothing+    }++-- | Required. The device identifier to search for.+fdbdirDeviceIdentifier :: Lens' FindDevicesByDeviceIdentifierRequest (Maybe DeviceIdentifier)+fdbdirDeviceIdentifier+  = lens _fdbdirDeviceIdentifier+      (\ s a -> s{_fdbdirDeviceIdentifier = a})++-- | Required. The maximum number of devices to show in a page of results.+-- Must be between 1 and 100 inclusive.+fdbdirLimit :: Lens' FindDevicesByDeviceIdentifierRequest (Maybe Int64)+fdbdirLimit+  = lens _fdbdirLimit (\ s a -> s{_fdbdirLimit = a}) .+      mapping _Coerce++-- | A token specifying which result page to return.+fdbdirPageToken :: Lens' FindDevicesByDeviceIdentifierRequest (Maybe Text)+fdbdirPageToken+  = lens _fdbdirPageToken+      (\ s a -> s{_fdbdirPageToken = a})++instance FromJSON+         FindDevicesByDeviceIdentifierRequest where+        parseJSON+          = withObject "FindDevicesByDeviceIdentifierRequest"+              (\ o ->+                 FindDevicesByDeviceIdentifierRequest' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "limit") <*>+                     (o .:? "pageToken"))++instance ToJSON FindDevicesByDeviceIdentifierRequest+         where+        toJSON FindDevicesByDeviceIdentifierRequest'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _fdbdirDeviceIdentifier,+                  ("limit" .=) <$> _fdbdirLimit,+                  ("pageToken" .=) <$> _fdbdirPageToken])++-- | Response containing found devices.+--+-- /See:/ 'findDevicesByOwnerResponse' smart constructor.+data FindDevicesByOwnerResponse = FindDevicesByOwnerResponse'+    { _fdborNextPageToken :: !(Maybe Text)+    , _fdborTotalSize     :: !(Maybe (Textual Int32))+    , _fdborDevices       :: !(Maybe [Device])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindDevicesByOwnerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdborNextPageToken'+--+-- * 'fdborTotalSize'+--+-- * 'fdborDevices'+findDevicesByOwnerResponse+    :: FindDevicesByOwnerResponse+findDevicesByOwnerResponse =+    FindDevicesByOwnerResponse'+    { _fdborNextPageToken = Nothing+    , _fdborTotalSize = Nothing+    , _fdborDevices = Nothing+    }++-- | A token used to access the next page of results. Omitted if no further+-- results are available.+fdborNextPageToken :: Lens' FindDevicesByOwnerResponse (Maybe Text)+fdborNextPageToken+  = lens _fdborNextPageToken+      (\ s a -> s{_fdborNextPageToken = a})++-- | The total count of items in the list irrespective of pagination.+fdborTotalSize :: Lens' FindDevicesByOwnerResponse (Maybe Int32)+fdborTotalSize+  = lens _fdborTotalSize+      (\ s a -> s{_fdborTotalSize = a})+      . mapping _Coerce++-- | The customer\'s devices.+fdborDevices :: Lens' FindDevicesByOwnerResponse [Device]+fdborDevices+  = lens _fdborDevices (\ s a -> s{_fdborDevices = a})+      . _Default+      . _Coerce++instance FromJSON FindDevicesByOwnerResponse where+        parseJSON+          = withObject "FindDevicesByOwnerResponse"+              (\ o ->+                 FindDevicesByOwnerResponse' <$>+                   (o .:? "nextPageToken") <*> (o .:? "totalSize") <*>+                     (o .:? "devices" .!= mempty))++instance ToJSON FindDevicesByOwnerResponse where+        toJSON FindDevicesByOwnerResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _fdborNextPageToken,+                  ("totalSize" .=) <$> _fdborTotalSize,+                  ("devices" .=) <$> _fdborDevices])++-- | Metadata entries recorded as key-value pairs.+--+-- /See:/ 'deviceMetadataEntries' smart constructor.+newtype DeviceMetadataEntries = DeviceMetadataEntries'+    { _dmeAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceMetadataEntries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmeAddtional'+deviceMetadataEntries+    :: HashMap Text Text -- ^ 'dmeAddtional'+    -> DeviceMetadataEntries+deviceMetadataEntries pDmeAddtional_ =+    DeviceMetadataEntries'+    { _dmeAddtional = _Coerce # pDmeAddtional_+    }++dmeAddtional :: Lens' DeviceMetadataEntries (HashMap Text Text)+dmeAddtional+  = lens _dmeAddtional (\ s a -> s{_dmeAddtional = a})+      . _Coerce++instance FromJSON DeviceMetadataEntries where+        parseJSON+          = withObject "DeviceMetadataEntries"+              (\ o ->+                 DeviceMetadataEntries' <$> (parseJSONObject o))++instance ToJSON DeviceMetadataEntries where+        toJSON = toJSON . _dmeAddtional++-- | Identifies one unclaim request.+--+-- /See:/ 'partnerUnclaim' smart constructor.+data PartnerUnclaim = PartnerUnclaim'+    { _puDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _puSectionType      :: !(Maybe PartnerUnclaimSectionType)+    , _puDeviceId         :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnerUnclaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puDeviceIdentifier'+--+-- * 'puSectionType'+--+-- * 'puDeviceId'+partnerUnclaim+    :: PartnerUnclaim+partnerUnclaim =+    PartnerUnclaim'+    { _puDeviceIdentifier = Nothing+    , _puSectionType = Nothing+    , _puDeviceId = Nothing+    }++-- | Device identifier of the device.+puDeviceIdentifier :: Lens' PartnerUnclaim (Maybe DeviceIdentifier)+puDeviceIdentifier+  = lens _puDeviceIdentifier+      (\ s a -> s{_puDeviceIdentifier = a})++-- | Required. The section type of the device\'s provisioning record.+puSectionType :: Lens' PartnerUnclaim (Maybe PartnerUnclaimSectionType)+puSectionType+  = lens _puSectionType+      (\ s a -> s{_puSectionType = a})++-- | Device ID of the device.+puDeviceId :: Lens' PartnerUnclaim (Maybe Int64)+puDeviceId+  = lens _puDeviceId (\ s a -> s{_puDeviceId = a}) .+      mapping _Coerce++instance FromJSON PartnerUnclaim where+        parseJSON+          = withObject "PartnerUnclaim"+              (\ o ->+                 PartnerUnclaim' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "sectionType")+                     <*> (o .:? "deviceId"))++instance ToJSON PartnerUnclaim where+        toJSON PartnerUnclaim'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _puDeviceIdentifier,+                  ("sectionType" .=) <$> _puSectionType,+                  ("deviceId" .=) <$> _puDeviceId])++-- | An EMM\'s DPC ([device policy+-- controller](http:\/\/developer.android.com\/work\/dpc\/build-dpc.html)).+-- Zero-touch enrollment installs a DPC (listed in the \`Configuration\`)+-- on a device to maintain the customer\'s mobile policies. All the DPCs+-- listed by the API support zero-touch enrollment and are available in+-- Google Play.+--+-- /See:/ 'dpc' smart constructor.+data Dpc = Dpc'+    { _dPackageName :: !(Maybe Text)+    , _dName        :: !(Maybe Text)+    , _dDpcName     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Dpc' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dPackageName'+--+-- * 'dName'+--+-- * 'dDpcName'+dpc+    :: Dpc+dpc =+    Dpc'+    { _dPackageName = Nothing+    , _dName = Nothing+    , _dDpcName = Nothing+    }++-- | Output only. The DPC\'s Android application ID that looks like a Java+-- package name. Zero-touch enrollment installs the DPC app onto a device+-- using this identifier.+dPackageName :: Lens' Dpc (Maybe Text)+dPackageName+  = lens _dPackageName (\ s a -> s{_dPackageName = a})++-- | Output only. The API resource name in the format+-- \`customers\/[CUSTOMER_ID]\/dpcs\/[DPC_ID]\`. Assigned by the server. To+-- maintain a reference to a DPC across customer accounts, persist and+-- match the last path component (\`DPC_ID\`).+dName :: Lens' Dpc (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | Output only. The title of the DPC app in Google Play. For example,+-- _Google Apps Device Policy_. Useful in an application\'s user interface.+dDpcName :: Lens' Dpc (Maybe Text)+dDpcName = lens _dDpcName (\ s a -> s{_dDpcName = a})++instance FromJSON Dpc where+        parseJSON+          = withObject "Dpc"+              (\ o ->+                 Dpc' <$>+                   (o .:? "packageName") <*> (o .:? "name") <*>+                     (o .:? "dpcName"))++instance ToJSON Dpc where+        toJSON Dpc'{..}+          = object+              (catMaybes+                 [("packageName" .=) <$> _dPackageName,+                  ("name" .=) <$> _dName,+                  ("dpcName" .=) <$> _dDpcName])++-- | Response message to list customers of the vendor.+--+-- /See:/ 'listVendorCustomersResponse' smart constructor.+data ListVendorCustomersResponse = ListVendorCustomersResponse'+    { _lvcrCustomers     :: !(Maybe [Company])+    , _lvcrNextPageToken :: !(Maybe Text)+    , _lvcrTotalSize     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListVendorCustomersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvcrCustomers'+--+-- * 'lvcrNextPageToken'+--+-- * 'lvcrTotalSize'+listVendorCustomersResponse+    :: ListVendorCustomersResponse+listVendorCustomersResponse =+    ListVendorCustomersResponse'+    { _lvcrCustomers = Nothing+    , _lvcrNextPageToken = Nothing+    , _lvcrTotalSize = Nothing+    }++-- | List of customers of the vendor.+lvcrCustomers :: Lens' ListVendorCustomersResponse [Company]+lvcrCustomers+  = lens _lvcrCustomers+      (\ s a -> s{_lvcrCustomers = a})+      . _Default+      . _Coerce++-- | A token to retrieve the next page of results. Omitted if no further+-- results are available.+lvcrNextPageToken :: Lens' ListVendorCustomersResponse (Maybe Text)+lvcrNextPageToken+  = lens _lvcrNextPageToken+      (\ s a -> s{_lvcrNextPageToken = a})++-- | The total count of items in the list irrespective of pagination.+lvcrTotalSize :: Lens' ListVendorCustomersResponse (Maybe Int32)+lvcrTotalSize+  = lens _lvcrTotalSize+      (\ s a -> s{_lvcrTotalSize = a})+      . mapping _Coerce++instance FromJSON ListVendorCustomersResponse where+        parseJSON+          = withObject "ListVendorCustomersResponse"+              (\ o ->+                 ListVendorCustomersResponse' <$>+                   (o .:? "customers" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "totalSize"))++instance ToJSON ListVendorCustomersResponse where+        toJSON ListVendorCustomersResponse'{..}+          = object+              (catMaybes+                 [("customers" .=) <$> _lvcrCustomers,+                  ("nextPageToken" .=) <$> _lvcrNextPageToken,+                  ("totalSize" .=) <$> _lvcrTotalSize])++-- | A task for each device in the operation. Corresponds to each device+-- change in the request.+--+-- /See:/ 'operationPerDevice' smart constructor.+data OperationPerDevice = OperationPerDevice'+    { _opdUpdateMetadata :: !(Maybe UpdateMetadataArguments)+    , _opdResult         :: !(Maybe PerDeviceStatusInBatch)+    , _opdClaim          :: !(Maybe PartnerClaim)+    , _opdUnclaim        :: !(Maybe PartnerUnclaim)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationPerDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'opdUpdateMetadata'+--+-- * 'opdResult'+--+-- * 'opdClaim'+--+-- * 'opdUnclaim'+operationPerDevice+    :: OperationPerDevice+operationPerDevice =+    OperationPerDevice'+    { _opdUpdateMetadata = Nothing+    , _opdResult = Nothing+    , _opdClaim = Nothing+    , _opdUnclaim = Nothing+    }++-- | A copy of the original metadata-update request received by the server.+opdUpdateMetadata :: Lens' OperationPerDevice (Maybe UpdateMetadataArguments)+opdUpdateMetadata+  = lens _opdUpdateMetadata+      (\ s a -> s{_opdUpdateMetadata = a})++-- | The processing result for each device.+opdResult :: Lens' OperationPerDevice (Maybe PerDeviceStatusInBatch)+opdResult+  = lens _opdResult (\ s a -> s{_opdResult = a})++-- | A copy of the original device-claim request received by the server.+opdClaim :: Lens' OperationPerDevice (Maybe PartnerClaim)+opdClaim = lens _opdClaim (\ s a -> s{_opdClaim = a})++-- | A copy of the original device-unclaim request received by the server.+opdUnclaim :: Lens' OperationPerDevice (Maybe PartnerUnclaim)+opdUnclaim+  = lens _opdUnclaim (\ s a -> s{_opdUnclaim = a})++instance FromJSON OperationPerDevice where+        parseJSON+          = withObject "OperationPerDevice"+              (\ o ->+                 OperationPerDevice' <$>+                   (o .:? "updateMetadata") <*> (o .:? "result") <*>+                     (o .:? "claim")+                     <*> (o .:? "unclaim"))++instance ToJSON OperationPerDevice where+        toJSON OperationPerDevice'{..}+          = object+              (catMaybes+                 [("updateMetadata" .=) <$> _opdUpdateMetadata,+                  ("result" .=) <$> _opdResult,+                  ("claim" .=) <$> _opdClaim,+                  ("unclaim" .=) <$> _opdUnclaim])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | This field will always be not set if the operation is created by+-- \`claimAsync\`, \`unclaimAsync\`, or \`updateMetadataAsync\`. In this+-- case, error information for each device is set in+-- \`response.perDeviceStatus.result.status\`.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | This field will contain a \`DevicesLongRunningOperationResponse\` object+-- if the operation is created by \`claimAsync\`, \`unclaimAsync\`, or+-- \`updateMetadataAsync\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | This field will contain a \`DevicesLongRunningOperationMetadata\` object+-- if the operation is created by \`claimAsync\`, \`unclaimAsync\`, or+-- \`updateMetadataAsync\`.+oMetadata :: Lens' Operation (Maybe OperationMetadata)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+    Empty'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | Captures the processing status for each device in the operation.+--+-- /See:/ 'perDeviceStatusInBatch' smart constructor.+data PerDeviceStatusInBatch = PerDeviceStatusInBatch'+    { _pdsibStatus          :: !(Maybe PerDeviceStatusInBatchStatus)+    , _pdsibErrorIdentifier :: !(Maybe Text)+    , _pdsibDeviceId        :: !(Maybe (Textual Int64))+    , _pdsibErrorMessage    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PerDeviceStatusInBatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdsibStatus'+--+-- * 'pdsibErrorIdentifier'+--+-- * 'pdsibDeviceId'+--+-- * 'pdsibErrorMessage'+perDeviceStatusInBatch+    :: PerDeviceStatusInBatch+perDeviceStatusInBatch =+    PerDeviceStatusInBatch'+    { _pdsibStatus = Nothing+    , _pdsibErrorIdentifier = Nothing+    , _pdsibDeviceId = Nothing+    , _pdsibErrorMessage = Nothing+    }++-- | The result status of the device after processing.+pdsibStatus :: Lens' PerDeviceStatusInBatch (Maybe PerDeviceStatusInBatchStatus)+pdsibStatus+  = lens _pdsibStatus (\ s a -> s{_pdsibStatus = a})++-- | If processing fails, the error type.+pdsibErrorIdentifier :: Lens' PerDeviceStatusInBatch (Maybe Text)+pdsibErrorIdentifier+  = lens _pdsibErrorIdentifier+      (\ s a -> s{_pdsibErrorIdentifier = a})++-- | If processing succeeds, the device ID of the device.+pdsibDeviceId :: Lens' PerDeviceStatusInBatch (Maybe Int64)+pdsibDeviceId+  = lens _pdsibDeviceId+      (\ s a -> s{_pdsibDeviceId = a})+      . mapping _Coerce++-- | If processing fails, a developer message explaining what went wrong.+pdsibErrorMessage :: Lens' PerDeviceStatusInBatch (Maybe Text)+pdsibErrorMessage+  = lens _pdsibErrorMessage+      (\ s a -> s{_pdsibErrorMessage = a})++instance FromJSON PerDeviceStatusInBatch where+        parseJSON+          = withObject "PerDeviceStatusInBatch"+              (\ o ->+                 PerDeviceStatusInBatch' <$>+                   (o .:? "status") <*> (o .:? "errorIdentifier") <*>+                     (o .:? "deviceId")+                     <*> (o .:? "errorMessage"))++instance ToJSON PerDeviceStatusInBatch where+        toJSON PerDeviceStatusInBatch'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _pdsibStatus,+                  ("errorIdentifier" .=) <$> _pdsibErrorIdentifier,+                  ("deviceId" .=) <$> _pdsibDeviceId,+                  ("errorMessage" .=) <$> _pdsibErrorMessage])++-- | Request to claim devices asynchronously in batch. Claiming a device adds+-- the device to zero-touch enrollment and shows the device in the+-- customer\'s view of the portal.+--+-- /See:/ 'claimDevicesRequest' smart constructor.+newtype ClaimDevicesRequest = ClaimDevicesRequest'+    { _cdrClaims :: Maybe [PartnerClaim]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClaimDevicesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrClaims'+claimDevicesRequest+    :: ClaimDevicesRequest+claimDevicesRequest =+    ClaimDevicesRequest'+    { _cdrClaims = Nothing+    }++-- | Required. A list of device claims.+cdrClaims :: Lens' ClaimDevicesRequest [PartnerClaim]+cdrClaims+  = lens _cdrClaims (\ s a -> s{_cdrClaims = a}) .+      _Default+      . _Coerce++instance FromJSON ClaimDevicesRequest where+        parseJSON+          = withObject "ClaimDevicesRequest"+              (\ o ->+                 ClaimDevicesRequest' <$> (o .:? "claims" .!= mempty))++instance ToJSON ClaimDevicesRequest where+        toJSON ClaimDevicesRequest'{..}+          = object (catMaybes [("claims" .=) <$> _cdrClaims])++-- | An Android device registered for zero-touch enrollment.+--+-- /See:/ 'device' smart constructor.+data Device = Device'+    { _devDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _devClaims           :: !(Maybe [DeviceClaim])+    , _devName             :: !(Maybe Text)+    , _devDeviceId         :: !(Maybe (Textual Int64))+    , _devDeviceMetadata   :: !(Maybe DeviceMetadata)+    , _devConfiguration    :: !(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:+--+-- * 'devDeviceIdentifier'+--+-- * 'devClaims'+--+-- * 'devName'+--+-- * 'devDeviceId'+--+-- * 'devDeviceMetadata'+--+-- * 'devConfiguration'+device+    :: Device+device =+    Device'+    { _devDeviceIdentifier = Nothing+    , _devClaims = Nothing+    , _devName = Nothing+    , _devDeviceId = Nothing+    , _devDeviceMetadata = Nothing+    , _devConfiguration = Nothing+    }++-- | The hardware IDs that identify a manufactured device. To learn more,+-- read [Identifiers](\/zero-touch\/guides\/identifiers).+devDeviceIdentifier :: Lens' Device (Maybe DeviceIdentifier)+devDeviceIdentifier+  = lens _devDeviceIdentifier+      (\ s a -> s{_devDeviceIdentifier = a})++-- | Output only. The provisioning claims for a device. Devices claimed for+-- zero-touch enrollment have a claim with the type+-- \`SECTION_TYPE_ZERO_TOUCH\`. Call \`partners.devices.unclaim\` or+-- \`partners.devices.unclaimAsync\` to remove the device from zero-touch+-- enrollment.+devClaims :: Lens' Device [DeviceClaim]+devClaims+  = lens _devClaims (\ s a -> s{_devClaims = a}) .+      _Default+      . _Coerce++-- | Output only. The API resource name in the format+-- \`partners\/[PARTNER_ID]\/devices\/[DEVICE_ID]\`. Assigned by the+-- server.+devName :: Lens' Device (Maybe Text)+devName = lens _devName (\ s a -> s{_devName = a})++-- | Output only. The ID of the device. Assigned by the server.+devDeviceId :: Lens' Device (Maybe Int64)+devDeviceId+  = lens _devDeviceId (\ s a -> s{_devDeviceId = a}) .+      mapping _Coerce++-- | The metadata attached to the device. Structured as key-value pairs. To+-- learn more, read [Device metadata](\/zero-touch\/guides\/metadata).+devDeviceMetadata :: Lens' Device (Maybe DeviceMetadata)+devDeviceMetadata+  = lens _devDeviceMetadata+      (\ s a -> s{_devDeviceMetadata = a})++-- | Not available to resellers.+devConfiguration :: Lens' Device (Maybe Text)+devConfiguration+  = lens _devConfiguration+      (\ s a -> s{_devConfiguration = a})++instance FromJSON Device where+        parseJSON+          = withObject "Device"+              (\ o ->+                 Device' <$>+                   (o .:? "deviceIdentifier") <*>+                     (o .:? "claims" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "deviceId")+                     <*> (o .:? "deviceMetadata")+                     <*> (o .:? "configuration"))++instance ToJSON Device where+        toJSON Device'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _devDeviceIdentifier,+                  ("claims" .=) <$> _devClaims,+                  ("name" .=) <$> _devName,+                  ("deviceId" .=) <$> _devDeviceId,+                  ("deviceMetadata" .=) <$> _devDeviceMetadata,+                  ("configuration" .=) <$> _devConfiguration])++-- | Request message to claim a device on behalf of a customer.+--+-- /See:/ 'claimDeviceRequest' smart constructor.+data ClaimDeviceRequest = ClaimDeviceRequest'+    { _cdrDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _cdrSectionType      :: !(Maybe ClaimDeviceRequestSectionType)+    , _cdrCustomerId       :: !(Maybe (Textual Int64))+    , _cdrDeviceMetadata   :: !(Maybe DeviceMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClaimDeviceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrDeviceIdentifier'+--+-- * 'cdrSectionType'+--+-- * 'cdrCustomerId'+--+-- * 'cdrDeviceMetadata'+claimDeviceRequest+    :: ClaimDeviceRequest+claimDeviceRequest =+    ClaimDeviceRequest'+    { _cdrDeviceIdentifier = Nothing+    , _cdrSectionType = Nothing+    , _cdrCustomerId = Nothing+    , _cdrDeviceMetadata = Nothing+    }++-- | Required. The device identifier of the device to claim.+cdrDeviceIdentifier :: Lens' ClaimDeviceRequest (Maybe DeviceIdentifier)+cdrDeviceIdentifier+  = lens _cdrDeviceIdentifier+      (\ s a -> s{_cdrDeviceIdentifier = a})++-- | Required. The section type of the device\'s provisioning record.+cdrSectionType :: Lens' ClaimDeviceRequest (Maybe ClaimDeviceRequestSectionType)+cdrSectionType+  = lens _cdrSectionType+      (\ s a -> s{_cdrSectionType = a})++-- | Required. The ID of the customer for whom the device is being claimed.+cdrCustomerId :: Lens' ClaimDeviceRequest (Maybe Int64)+cdrCustomerId+  = lens _cdrCustomerId+      (\ s a -> s{_cdrCustomerId = a})+      . mapping _Coerce++-- | Optional. The metadata to attach to the device.+cdrDeviceMetadata :: Lens' ClaimDeviceRequest (Maybe DeviceMetadata)+cdrDeviceMetadata+  = lens _cdrDeviceMetadata+      (\ s a -> s{_cdrDeviceMetadata = a})++instance FromJSON ClaimDeviceRequest where+        parseJSON+          = withObject "ClaimDeviceRequest"+              (\ o ->+                 ClaimDeviceRequest' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "sectionType")+                     <*> (o .:? "customerId")+                     <*> (o .:? "deviceMetadata"))++instance ToJSON ClaimDeviceRequest where+        toJSON ClaimDeviceRequest'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _cdrDeviceIdentifier,+                  ("sectionType" .=) <$> _cdrSectionType,+                  ("customerId" .=) <$> _cdrCustomerId,+                  ("deviceMetadata" .=) <$> _cdrDeviceMetadata])++-- | A \`DeviceReference\` is an API abstraction that lets you supply a+-- _device_ argument to a method using one of the following identifier+-- types: * A numeric API resource ID. * Real-world hardware IDs, such as+-- IMEI number, belonging to the manufactured device. Methods that operate+-- on devices take a \`DeviceReference\` as a parameter type because it\'s+-- more flexible for the caller. To learn more about device identifiers,+-- read [Identifiers](\/zero-touch\/guides\/identifiers).+--+-- /See:/ 'deviceReference' smart constructor.+data DeviceReference = DeviceReference'+    { _drDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _drDeviceId         :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drDeviceIdentifier'+--+-- * 'drDeviceId'+deviceReference+    :: DeviceReference+deviceReference =+    DeviceReference'+    { _drDeviceIdentifier = Nothing+    , _drDeviceId = Nothing+    }++-- | The hardware IDs of the device.+drDeviceIdentifier :: Lens' DeviceReference (Maybe DeviceIdentifier)+drDeviceIdentifier+  = lens _drDeviceIdentifier+      (\ s a -> s{_drDeviceIdentifier = a})++-- | The ID of the device.+drDeviceId :: Lens' DeviceReference (Maybe Int64)+drDeviceId+  = lens _drDeviceId (\ s a -> s{_drDeviceId = a}) .+      mapping _Coerce++instance FromJSON DeviceReference where+        parseJSON+          = withObject "DeviceReference"+              (\ o ->+                 DeviceReference' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "deviceId"))++instance ToJSON DeviceReference where+        toJSON DeviceReference'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _drDeviceIdentifier,+                  ("deviceId" .=) <$> _drDeviceId])++-- | Request message for customer to remove the configuration from device.+--+-- /See:/ 'customerRemoveConfigurationRequest' smart constructor.+newtype CustomerRemoveConfigurationRequest = CustomerRemoveConfigurationRequest'+    { _crcrDevice :: Maybe DeviceReference+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerRemoveConfigurationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crcrDevice'+customerRemoveConfigurationRequest+    :: CustomerRemoveConfigurationRequest+customerRemoveConfigurationRequest =+    CustomerRemoveConfigurationRequest'+    { _crcrDevice = Nothing+    }++-- | Required. The device to remove the configuration from.+crcrDevice :: Lens' CustomerRemoveConfigurationRequest (Maybe DeviceReference)+crcrDevice+  = lens _crcrDevice (\ s a -> s{_crcrDevice = a})++instance FromJSON CustomerRemoveConfigurationRequest+         where+        parseJSON+          = withObject "CustomerRemoveConfigurationRequest"+              (\ o ->+                 CustomerRemoveConfigurationRequest' <$>+                   (o .:? "device"))++instance ToJSON CustomerRemoveConfigurationRequest+         where+        toJSON CustomerRemoveConfigurationRequest'{..}+          = object (catMaybes [("device" .=) <$> _crcrDevice])++-- | Encapsulates hardware and product IDs to identify a manufactured device.+-- To understand requirements on identifier sets, read+-- [Identifiers](\/zero-touch\/guides\/identifiers).+--+-- /See:/ 'deviceIdentifier' smart constructor.+data DeviceIdentifier = DeviceIdentifier'+    { _diManufacturer :: !(Maybe Text)+    , _diModel        :: !(Maybe Text)+    , _diMeid         :: !(Maybe Text)+    , _diImei         :: !(Maybe Text)+    , _diSerialNumber :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diManufacturer'+--+-- * 'diModel'+--+-- * 'diMeid'+--+-- * 'diImei'+--+-- * 'diSerialNumber'+deviceIdentifier+    :: DeviceIdentifier+deviceIdentifier =+    DeviceIdentifier'+    { _diManufacturer = Nothing+    , _diModel = Nothing+    , _diMeid = Nothing+    , _diImei = Nothing+    , _diSerialNumber = Nothing+    }++-- | The device manufacturer’s name. Matches the device\'s built-in value+-- returned from \`android.os.Build.MANUFACTURER\`. Allowed values are+-- listed in+-- [manufacturers](\/zero-touch\/resources\/manufacturer-names#manufacturers-names).+diManufacturer :: Lens' DeviceIdentifier (Maybe Text)+diManufacturer+  = lens _diManufacturer+      (\ s a -> s{_diManufacturer = a})++-- | The device model\'s name. Matches the device\'s built-in value returned+-- from \`android.os.Build.MODEL\`. Allowed values are listed in+-- [models](\/zero-touch\/resources\/manufacturer-names#model-names).+diModel :: Lens' DeviceIdentifier (Maybe Text)+diModel = lens _diModel (\ s a -> s{_diModel = a})++-- | The device’s MEID number.+diMeid :: Lens' DeviceIdentifier (Maybe Text)+diMeid = lens _diMeid (\ s a -> s{_diMeid = a})++-- | The device’s IMEI number. Validated on input.+diImei :: Lens' DeviceIdentifier (Maybe Text)+diImei = lens _diImei (\ s a -> s{_diImei = a})++-- | The manufacturer\'s serial number for the device. This value might not+-- be unique across different device models.+diSerialNumber :: Lens' DeviceIdentifier (Maybe Text)+diSerialNumber+  = lens _diSerialNumber+      (\ s a -> s{_diSerialNumber = a})++instance FromJSON DeviceIdentifier where+        parseJSON+          = withObject "DeviceIdentifier"+              (\ o ->+                 DeviceIdentifier' <$>+                   (o .:? "manufacturer") <*> (o .:? "model") <*>+                     (o .:? "meid")+                     <*> (o .:? "imei")+                     <*> (o .:? "serialNumber"))++instance ToJSON DeviceIdentifier where+        toJSON DeviceIdentifier'{..}+          = object+              (catMaybes+                 [("manufacturer" .=) <$> _diManufacturer,+                  ("model" .=) <$> _diModel, ("meid" .=) <$> _diMeid,+                  ("imei" .=) <$> _diImei,+                  ("serialNumber" .=) <$> _diSerialNumber])++-- | Request to unclaim devices asynchronously in batch.+--+-- /See:/ 'unclaimDevicesRequest' smart constructor.+newtype UnclaimDevicesRequest = UnclaimDevicesRequest'+    { _udrUnclaims :: Maybe [PartnerUnclaim]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnclaimDevicesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udrUnclaims'+unclaimDevicesRequest+    :: UnclaimDevicesRequest+unclaimDevicesRequest =+    UnclaimDevicesRequest'+    { _udrUnclaims = Nothing+    }++-- | Required. The list of devices to unclaim.+udrUnclaims :: Lens' UnclaimDevicesRequest [PartnerUnclaim]+udrUnclaims+  = lens _udrUnclaims (\ s a -> s{_udrUnclaims = a}) .+      _Default+      . _Coerce++instance FromJSON UnclaimDevicesRequest where+        parseJSON+          = withObject "UnclaimDevicesRequest"+              (\ o ->+                 UnclaimDevicesRequest' <$>+                   (o .:? "unclaims" .!= mempty))++instance ToJSON UnclaimDevicesRequest where+        toJSON UnclaimDevicesRequest'{..}+          = object+              (catMaybes [("unclaims" .=) <$> _udrUnclaims])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | Response message to list vendors of the partner.+--+-- /See:/ 'listVendorsResponse' smart constructor.+data ListVendorsResponse = ListVendorsResponse'+    { _lvrNextPageToken :: !(Maybe Text)+    , _lvrTotalSize     :: !(Maybe (Textual Int32))+    , _lvrVendors       :: !(Maybe [Company])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListVendorsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvrNextPageToken'+--+-- * 'lvrTotalSize'+--+-- * 'lvrVendors'+listVendorsResponse+    :: ListVendorsResponse+listVendorsResponse =+    ListVendorsResponse'+    { _lvrNextPageToken = Nothing+    , _lvrTotalSize = Nothing+    , _lvrVendors = Nothing+    }++-- | A token to retrieve the next page of results. Omitted if no further+-- results are available.+lvrNextPageToken :: Lens' ListVendorsResponse (Maybe Text)+lvrNextPageToken+  = lens _lvrNextPageToken+      (\ s a -> s{_lvrNextPageToken = a})++-- | The total count of items in the list irrespective of pagination.+lvrTotalSize :: Lens' ListVendorsResponse (Maybe Int32)+lvrTotalSize+  = lens _lvrTotalSize (\ s a -> s{_lvrTotalSize = a})+      . mapping _Coerce++-- | List of vendors of the reseller partner. Fields \`name\`, \`companyId\`+-- and \`companyName\` are populated to the Company object.+lvrVendors :: Lens' ListVendorsResponse [Company]+lvrVendors+  = lens _lvrVendors (\ s a -> s{_lvrVendors = a}) .+      _Default+      . _Coerce++instance FromJSON ListVendorsResponse where+        parseJSON+          = withObject "ListVendorsResponse"+              (\ o ->+                 ListVendorsResponse' <$>+                   (o .:? "nextPageToken") <*> (o .:? "totalSize") <*>+                     (o .:? "vendors" .!= mempty))++instance ToJSON ListVendorsResponse where+        toJSON ListVendorsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lvrNextPageToken,+                  ("totalSize" .=) <$> _lvrTotalSize,+                  ("vendors" .=) <$> _lvrVendors])++-- | Response message of customer\'s listing configuration.+--+-- /See:/ 'customerListConfigurationsResponse' smart constructor.+newtype CustomerListConfigurationsResponse = CustomerListConfigurationsResponse'+    { _clcrConfigurations :: Maybe [Configuration]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerListConfigurationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clcrConfigurations'+customerListConfigurationsResponse+    :: CustomerListConfigurationsResponse+customerListConfigurationsResponse =+    CustomerListConfigurationsResponse'+    { _clcrConfigurations = Nothing+    }++-- | The configurations.+clcrConfigurations :: Lens' CustomerListConfigurationsResponse [Configuration]+clcrConfigurations+  = lens _clcrConfigurations+      (\ s a -> s{_clcrConfigurations = a})+      . _Default+      . _Coerce++instance FromJSON CustomerListConfigurationsResponse+         where+        parseJSON+          = withObject "CustomerListConfigurationsResponse"+              (\ o ->+                 CustomerListConfigurationsResponse' <$>+                   (o .:? "configurations" .!= mempty))++instance ToJSON CustomerListConfigurationsResponse+         where+        toJSON CustomerListConfigurationsResponse'{..}+          = object+              (catMaybes+                 [("configurations" .=) <$> _clcrConfigurations])++-- | Request message for customer to assign a configuration to device.+--+-- /See:/ 'customerApplyConfigurationRequest' smart constructor.+data CustomerApplyConfigurationRequest = CustomerApplyConfigurationRequest'+    { _cacrDevice        :: !(Maybe DeviceReference)+    , _cacrConfiguration :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerApplyConfigurationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cacrDevice'+--+-- * 'cacrConfiguration'+customerApplyConfigurationRequest+    :: CustomerApplyConfigurationRequest+customerApplyConfigurationRequest =+    CustomerApplyConfigurationRequest'+    { _cacrDevice = Nothing+    , _cacrConfiguration = Nothing+    }++-- | Required. The device the configuration is applied to.+cacrDevice :: Lens' CustomerApplyConfigurationRequest (Maybe DeviceReference)+cacrDevice+  = lens _cacrDevice (\ s a -> s{_cacrDevice = a})++-- | Required. The configuration applied to the device in the format+-- \`customers\/[CUSTOMER_ID]\/configurations\/[CONFIGURATION_ID]\`.+cacrConfiguration :: Lens' CustomerApplyConfigurationRequest (Maybe Text)+cacrConfiguration+  = lens _cacrConfiguration+      (\ s a -> s{_cacrConfiguration = a})++instance FromJSON CustomerApplyConfigurationRequest+         where+        parseJSON+          = withObject "CustomerApplyConfigurationRequest"+              (\ o ->+                 CustomerApplyConfigurationRequest' <$>+                   (o .:? "device") <*> (o .:? "configuration"))++instance ToJSON CustomerApplyConfigurationRequest+         where+        toJSON CustomerApplyConfigurationRequest'{..}+          = object+              (catMaybes+                 [("device" .=) <$> _cacrDevice,+                  ("configuration" .=) <$> _cacrConfiguration])++-- | A reseller, vendor, or customer in the zero-touch reseller and customer+-- APIs.+--+-- /See:/ 'company' smart constructor.+data Company = Company'+    { _cCompanyId   :: !(Maybe (Textual Int64))+    , _cCompanyName :: !(Maybe Text)+    , _cOwnerEmails :: !(Maybe [Text])+    , _cTermsStatus :: !(Maybe CompanyTermsStatus)+    , _cName        :: !(Maybe Text)+    , _cAdminEmails :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Company' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCompanyId'+--+-- * 'cCompanyName'+--+-- * 'cOwnerEmails'+--+-- * 'cTermsStatus'+--+-- * 'cName'+--+-- * 'cAdminEmails'+company+    :: Company+company =+    Company'+    { _cCompanyId = Nothing+    , _cCompanyName = Nothing+    , _cOwnerEmails = Nothing+    , _cTermsStatus = Nothing+    , _cName = Nothing+    , _cAdminEmails = Nothing+    }++-- | Output only. The ID of the company. Assigned by the server.+cCompanyId :: Lens' Company (Maybe Int64)+cCompanyId+  = lens _cCompanyId (\ s a -> s{_cCompanyId = a}) .+      mapping _Coerce++-- | Required. The name of the company. For example _XYZ Corp_. Displayed to+-- the company\'s employees in the zero-touch enrollment portal.+cCompanyName :: Lens' Company (Maybe Text)+cCompanyName+  = lens _cCompanyName (\ s a -> s{_cCompanyName = a})++-- | Input only. Email address of customer\'s users in the owner role. At+-- least one \`owner_email\` is required. Each email address must be+-- associated with a Google Account. Owners share the same access as admins+-- but can also add, delete, and edit your organization\'s portal users.+cOwnerEmails :: Lens' Company [Text]+cOwnerEmails+  = lens _cOwnerEmails (\ s a -> s{_cOwnerEmails = a})+      . _Default+      . _Coerce++-- | Output only. Whether any user from the company has accepted the latest+-- Terms of Service (ToS). See TermsStatus.+cTermsStatus :: Lens' Company (Maybe CompanyTermsStatus)+cTermsStatus+  = lens _cTermsStatus (\ s a -> s{_cTermsStatus = a})++-- | Output only. The API resource name of the company. The resource name is+-- one of the following formats: *+-- \`partners\/[PARTNER_ID]\/customers\/[CUSTOMER_ID]\` *+-- \`partners\/[PARTNER_ID]\/vendors\/[VENDOR_ID]\` *+-- \`partners\/[PARTNER_ID]\/vendors\/[VENDOR_ID]\/customers\/[CUSTOMER_ID]\`+-- Assigned by the server.+cName :: Lens' Company (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Input only. Optional. Email address of customer\'s users in the admin+-- role. Each email address must be associated with a Google Account.+cAdminEmails :: Lens' Company [Text]+cAdminEmails+  = lens _cAdminEmails (\ s a -> s{_cAdminEmails = a})+      . _Default+      . _Coerce++instance FromJSON Company where+        parseJSON+          = withObject "Company"+              (\ o ->+                 Company' <$>+                   (o .:? "companyId") <*> (o .:? "companyName") <*>+                     (o .:? "ownerEmails" .!= mempty)+                     <*> (o .:? "termsStatus")+                     <*> (o .:? "name")+                     <*> (o .:? "adminEmails" .!= mempty))++instance ToJSON Company where+        toJSON Company'{..}+          = object+              (catMaybes+                 [("companyId" .=) <$> _cCompanyId,+                  ("companyName" .=) <$> _cCompanyName,+                  ("ownerEmails" .=) <$> _cOwnerEmails,+                  ("termsStatus" .=) <$> _cTermsStatus,+                  ("name" .=) <$> _cName,+                  ("adminEmails" .=) <$> _cAdminEmails])++-- | Response message for listing my customers.+--+-- /See:/ 'customerListCustomersResponse' smart constructor.+data CustomerListCustomersResponse = CustomerListCustomersResponse'+    { _clcrCustomers     :: !(Maybe [Company])+    , _clcrNextPageToken :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerListCustomersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clcrCustomers'+--+-- * 'clcrNextPageToken'+customerListCustomersResponse+    :: CustomerListCustomersResponse+customerListCustomersResponse =+    CustomerListCustomersResponse'+    { _clcrCustomers = Nothing+    , _clcrNextPageToken = Nothing+    }++-- | The customer accounts the calling user is a member of.+clcrCustomers :: Lens' CustomerListCustomersResponse [Company]+clcrCustomers+  = lens _clcrCustomers+      (\ s a -> s{_clcrCustomers = a})+      . _Default+      . _Coerce++-- | A token used to access the next page of results. Omitted if no further+-- results are available.+clcrNextPageToken :: Lens' CustomerListCustomersResponse (Maybe Text)+clcrNextPageToken+  = lens _clcrNextPageToken+      (\ s a -> s{_clcrNextPageToken = a})++instance FromJSON CustomerListCustomersResponse where+        parseJSON+          = withObject "CustomerListCustomersResponse"+              (\ o ->+                 CustomerListCustomersResponse' <$>+                   (o .:? "customers" .!= mempty) <*>+                     (o .:? "nextPageToken"))++instance ToJSON CustomerListCustomersResponse where+        toJSON CustomerListCustomersResponse'{..}+          = object+              (catMaybes+                 [("customers" .=) <$> _clcrCustomers,+                  ("nextPageToken" .=) <$> _clcrNextPageToken])++-- | A record of a device claimed by a reseller for a customer. Devices+-- claimed for zero-touch enrollment have a claim with the type+-- \`SECTION_TYPE_ZERO_TOUCH\`. To learn more, read [Claim devices for+-- customers](\/zero-touch\/guides\/how-it-works#claim).+--+-- /See:/ 'deviceClaim' smart constructor.+data DeviceClaim = DeviceClaim'+    { _dcSectionType    :: !(Maybe DeviceClaimSectionType)+    , _dcOwnerCompanyId :: !(Maybe (Textual Int64))+    , _dcResellerId     :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceClaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcSectionType'+--+-- * 'dcOwnerCompanyId'+--+-- * 'dcResellerId'+deviceClaim+    :: DeviceClaim+deviceClaim =+    DeviceClaim'+    { _dcSectionType = Nothing+    , _dcOwnerCompanyId = Nothing+    , _dcResellerId = Nothing+    }++-- | Output only. The type of claim made on the device.+dcSectionType :: Lens' DeviceClaim (Maybe DeviceClaimSectionType)+dcSectionType+  = lens _dcSectionType+      (\ s a -> s{_dcSectionType = a})++-- | The ID of the Customer that purchased the device.+dcOwnerCompanyId :: Lens' DeviceClaim (Maybe Int64)+dcOwnerCompanyId+  = lens _dcOwnerCompanyId+      (\ s a -> s{_dcOwnerCompanyId = a})+      . mapping _Coerce++-- | The ID of the reseller that claimed the device.+dcResellerId :: Lens' DeviceClaim (Maybe Int64)+dcResellerId+  = lens _dcResellerId (\ s a -> s{_dcResellerId = a})+      . mapping _Coerce++instance FromJSON DeviceClaim where+        parseJSON+          = withObject "DeviceClaim"+              (\ o ->+                 DeviceClaim' <$>+                   (o .:? "sectionType") <*> (o .:? "ownerCompanyId")+                     <*> (o .:? "resellerId"))++instance ToJSON DeviceClaim where+        toJSON DeviceClaim'{..}+          = object+              (catMaybes+                 [("sectionType" .=) <$> _dcSectionType,+                  ("ownerCompanyId" .=) <$> _dcOwnerCompanyId,+                  ("resellerId" .=) <$> _dcResellerId])++-- | Request to set metadata for a device.+--+-- /See:/ 'updateDeviceMetadataRequest' smart constructor.+newtype UpdateDeviceMetadataRequest = UpdateDeviceMetadataRequest'+    { _udmrDeviceMetadata :: Maybe DeviceMetadata+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDeviceMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udmrDeviceMetadata'+updateDeviceMetadataRequest+    :: UpdateDeviceMetadataRequest+updateDeviceMetadataRequest =+    UpdateDeviceMetadataRequest'+    { _udmrDeviceMetadata = Nothing+    }++-- | Required. The metdata to attach to the device.+udmrDeviceMetadata :: Lens' UpdateDeviceMetadataRequest (Maybe DeviceMetadata)+udmrDeviceMetadata+  = lens _udmrDeviceMetadata+      (\ s a -> s{_udmrDeviceMetadata = a})++instance FromJSON UpdateDeviceMetadataRequest where+        parseJSON+          = withObject "UpdateDeviceMetadataRequest"+              (\ o ->+                 UpdateDeviceMetadataRequest' <$>+                   (o .:? "deviceMetadata"))++instance ToJSON UpdateDeviceMetadataRequest where+        toJSON UpdateDeviceMetadataRequest'{..}+          = object+              (catMaybes+                 [("deviceMetadata" .=) <$> _udmrDeviceMetadata])++-- | Metadata entries that can be attached to a \`Device\`. To learn more,+-- read [Device metadata](\/zero-touch\/guides\/metadata).+--+-- /See:/ 'deviceMetadata' smart constructor.+newtype DeviceMetadata = DeviceMetadata'+    { _dmEntries :: Maybe DeviceMetadataEntries+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmEntries'+deviceMetadata+    :: DeviceMetadata+deviceMetadata =+    DeviceMetadata'+    { _dmEntries = Nothing+    }++-- | Metadata entries recorded as key-value pairs.+dmEntries :: Lens' DeviceMetadata (Maybe DeviceMetadataEntries)+dmEntries+  = lens _dmEntries (\ s a -> s{_dmEntries = a})++instance FromJSON DeviceMetadata where+        parseJSON+          = withObject "DeviceMetadata"+              (\ o -> DeviceMetadata' <$> (o .:? "entries"))++instance ToJSON DeviceMetadata where+        toJSON DeviceMetadata'{..}+          = object (catMaybes [("entries" .=) <$> _dmEntries])++-- | Request to find devices by customers.+--+-- /See:/ 'findDevicesByOwnerRequest' smart constructor.+data FindDevicesByOwnerRequest = FindDevicesByOwnerRequest'+    { _fdborSectionType :: !(Maybe FindDevicesByOwnerRequestSectionType)+    , _fdborCustomerId  :: !(Maybe [Textual Int64])+    , _fdborLimit       :: !(Maybe (Textual Int64))+    , _fdborPageToken   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindDevicesByOwnerRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdborSectionType'+--+-- * 'fdborCustomerId'+--+-- * 'fdborLimit'+--+-- * 'fdborPageToken'+findDevicesByOwnerRequest+    :: FindDevicesByOwnerRequest+findDevicesByOwnerRequest =+    FindDevicesByOwnerRequest'+    { _fdborSectionType = Nothing+    , _fdborCustomerId = Nothing+    , _fdborLimit = Nothing+    , _fdborPageToken = Nothing+    }++-- | Required. The section type of the device\'s provisioning record.+fdborSectionType :: Lens' FindDevicesByOwnerRequest (Maybe FindDevicesByOwnerRequestSectionType)+fdborSectionType+  = lens _fdborSectionType+      (\ s a -> s{_fdborSectionType = a})++-- | Required. The list of customer IDs to search for.+fdborCustomerId :: Lens' FindDevicesByOwnerRequest [Int64]+fdborCustomerId+  = lens _fdborCustomerId+      (\ s a -> s{_fdborCustomerId = a})+      . _Default+      . _Coerce++-- | Required. The maximum number of devices to show in a page of results.+-- Must be between 1 and 100 inclusive.+fdborLimit :: Lens' FindDevicesByOwnerRequest (Maybe Int64)+fdborLimit+  = lens _fdborLimit (\ s a -> s{_fdborLimit = a}) .+      mapping _Coerce++-- | A token specifying which result page to return.+fdborPageToken :: Lens' FindDevicesByOwnerRequest (Maybe Text)+fdborPageToken+  = lens _fdborPageToken+      (\ s a -> s{_fdborPageToken = a})++instance FromJSON FindDevicesByOwnerRequest where+        parseJSON+          = withObject "FindDevicesByOwnerRequest"+              (\ o ->+                 FindDevicesByOwnerRequest' <$>+                   (o .:? "sectionType") <*>+                     (o .:? "customerId" .!= mempty)+                     <*> (o .:? "limit")+                     <*> (o .:? "pageToken"))++instance ToJSON FindDevicesByOwnerRequest where+        toJSON FindDevicesByOwnerRequest'{..}+          = object+              (catMaybes+                 [("sectionType" .=) <$> _fdborSectionType,+                  ("customerId" .=) <$> _fdborCustomerId,+                  ("limit" .=) <$> _fdborLimit,+                  ("pageToken" .=) <$> _fdborPageToken])++-- | Response containing found devices.+--+-- /See:/ 'findDevicesByDeviceIdentifierResponse' smart constructor.+data FindDevicesByDeviceIdentifierResponse = FindDevicesByDeviceIdentifierResponse'+    { _fdbdirNextPageToken :: !(Maybe Text)+    , _fdbdirTotalSize     :: !(Maybe (Textual Int32))+    , _fdbdirDevices       :: !(Maybe [Device])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindDevicesByDeviceIdentifierResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdbdirNextPageToken'+--+-- * 'fdbdirTotalSize'+--+-- * 'fdbdirDevices'+findDevicesByDeviceIdentifierResponse+    :: FindDevicesByDeviceIdentifierResponse+findDevicesByDeviceIdentifierResponse =+    FindDevicesByDeviceIdentifierResponse'+    { _fdbdirNextPageToken = Nothing+    , _fdbdirTotalSize = Nothing+    , _fdbdirDevices = Nothing+    }++-- | A token used to access the next page of results. Omitted if no further+-- results are available.+fdbdirNextPageToken :: Lens' FindDevicesByDeviceIdentifierResponse (Maybe Text)+fdbdirNextPageToken+  = lens _fdbdirNextPageToken+      (\ s a -> s{_fdbdirNextPageToken = a})++-- | The total count of items in the list irrespective of pagination.+fdbdirTotalSize :: Lens' FindDevicesByDeviceIdentifierResponse (Maybe Int32)+fdbdirTotalSize+  = lens _fdbdirTotalSize+      (\ s a -> s{_fdbdirTotalSize = a})+      . mapping _Coerce++-- | Found devices.+fdbdirDevices :: Lens' FindDevicesByDeviceIdentifierResponse [Device]+fdbdirDevices+  = lens _fdbdirDevices+      (\ s a -> s{_fdbdirDevices = a})+      . _Default+      . _Coerce++instance FromJSON+         FindDevicesByDeviceIdentifierResponse where+        parseJSON+          = withObject "FindDevicesByDeviceIdentifierResponse"+              (\ o ->+                 FindDevicesByDeviceIdentifierResponse' <$>+                   (o .:? "nextPageToken") <*> (o .:? "totalSize") <*>+                     (o .:? "devices" .!= mempty))++instance ToJSON FindDevicesByDeviceIdentifierResponse+         where+        toJSON FindDevicesByDeviceIdentifierResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _fdbdirNextPageToken,+                  ("totalSize" .=) <$> _fdbdirTotalSize,+                  ("devices" .=) <$> _fdbdirDevices])++-- | Request message to unclaim a device.+--+-- /See:/ 'unclaimDeviceRequest' smart constructor.+data UnclaimDeviceRequest = UnclaimDeviceRequest'+    { _udrDeviceIdentifier :: !(Maybe DeviceIdentifier)+    , _udrSectionType      :: !(Maybe UnclaimDeviceRequestSectionType)+    , _udrDeviceId         :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnclaimDeviceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udrDeviceIdentifier'+--+-- * 'udrSectionType'+--+-- * 'udrDeviceId'+unclaimDeviceRequest+    :: UnclaimDeviceRequest+unclaimDeviceRequest =+    UnclaimDeviceRequest'+    { _udrDeviceIdentifier = Nothing+    , _udrSectionType = Nothing+    , _udrDeviceId = Nothing+    }++-- | The device identifier you used when you claimed this device.+udrDeviceIdentifier :: Lens' UnclaimDeviceRequest (Maybe DeviceIdentifier)+udrDeviceIdentifier+  = lens _udrDeviceIdentifier+      (\ s a -> s{_udrDeviceIdentifier = a})++-- | Required. The section type of the device\'s provisioning record.+udrSectionType :: Lens' UnclaimDeviceRequest (Maybe UnclaimDeviceRequestSectionType)+udrSectionType+  = lens _udrSectionType+      (\ s a -> s{_udrSectionType = a})++-- | The device ID returned by \`ClaimDevice\`.+udrDeviceId :: Lens' UnclaimDeviceRequest (Maybe Int64)+udrDeviceId+  = lens _udrDeviceId (\ s a -> s{_udrDeviceId = a}) .+      mapping _Coerce++instance FromJSON UnclaimDeviceRequest where+        parseJSON+          = withObject "UnclaimDeviceRequest"+              (\ o ->+                 UnclaimDeviceRequest' <$>+                   (o .:? "deviceIdentifier") <*> (o .:? "sectionType")+                     <*> (o .:? "deviceId"))++instance ToJSON UnclaimDeviceRequest where+        toJSON UnclaimDeviceRequest'{..}+          = object+              (catMaybes+                 [("deviceIdentifier" .=) <$> _udrDeviceIdentifier,+                  ("sectionType" .=) <$> _udrSectionType,+                  ("deviceId" .=) <$> _udrDeviceId])++-- | Tracks the status of a long-running operation to claim, unclaim, or+-- attach metadata to devices. To learn more, read [Long‑running batch+-- operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ 'devicesLongRunningOperationResponse' smart constructor.+data DevicesLongRunningOperationResponse = DevicesLongRunningOperationResponse'+    { _dlrorSuccessCount    :: !(Maybe (Textual Int32))+    , _dlrorPerDeviceStatus :: !(Maybe [OperationPerDevice])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesLongRunningOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlrorSuccessCount'+--+-- * 'dlrorPerDeviceStatus'+devicesLongRunningOperationResponse+    :: DevicesLongRunningOperationResponse+devicesLongRunningOperationResponse =+    DevicesLongRunningOperationResponse'+    { _dlrorSuccessCount = Nothing+    , _dlrorPerDeviceStatus = Nothing+    }++-- | A summary of how many items in the operation the server processed+-- successfully. Updated as the operation progresses.+dlrorSuccessCount :: Lens' DevicesLongRunningOperationResponse (Maybe Int32)+dlrorSuccessCount+  = lens _dlrorSuccessCount+      (\ s a -> s{_dlrorSuccessCount = a})+      . mapping _Coerce++-- | The processing status for each device in the operation. One+-- \`PerDeviceStatus\` per device. The list order matches the items in the+-- original request.+dlrorPerDeviceStatus :: Lens' DevicesLongRunningOperationResponse [OperationPerDevice]+dlrorPerDeviceStatus+  = lens _dlrorPerDeviceStatus+      (\ s a -> s{_dlrorPerDeviceStatus = a})+      . _Default+      . _Coerce++instance FromJSON DevicesLongRunningOperationResponse+         where+        parseJSON+          = withObject "DevicesLongRunningOperationResponse"+              (\ o ->+                 DevicesLongRunningOperationResponse' <$>+                   (o .:? "successCount") <*>+                     (o .:? "perDeviceStatus" .!= mempty))++instance ToJSON DevicesLongRunningOperationResponse+         where+        toJSON DevicesLongRunningOperationResponse'{..}+          = object+              (catMaybes+                 [("successCount" .=) <$> _dlrorSuccessCount,+                  ("perDeviceStatus" .=) <$> _dlrorPerDeviceStatus])++-- | A configuration collects the provisioning options for Android devices.+-- Each configuration combines the following: * The EMM device policy+-- controller (DPC) installed on the devices. * EMM policies enforced on+-- the devices. * Metadata displayed on the device to help users during+-- setup. Customers can add as many configurations as they need. However,+-- zero-touch enrollment works best when a customer sets a default+-- configuration that\'s applied to any new devices the organization+-- purchases.+--+-- /See:/ 'configuration' smart constructor.+data Configuration = Configuration'+    { _conContactPhone      :: !(Maybe Text)+    , _conContactEmail      :: !(Maybe Text)+    , _conConfigurationName :: !(Maybe Text)+    , _conConfigurationId   :: !(Maybe (Textual Int64))+    , _conCustomMessage     :: !(Maybe Text)+    , _conCompanyName       :: !(Maybe Text)+    , _conDpcExtras         :: !(Maybe Text)+    , _conName              :: !(Maybe Text)+    , _conDpcResourcePath   :: !(Maybe Text)+    , _conIsDefault         :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Configuration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'conContactPhone'+--+-- * 'conContactEmail'+--+-- * 'conConfigurationName'+--+-- * 'conConfigurationId'+--+-- * 'conCustomMessage'+--+-- * 'conCompanyName'+--+-- * 'conDpcExtras'+--+-- * 'conName'+--+-- * 'conDpcResourcePath'+--+-- * 'conIsDefault'+configuration+    :: Configuration+configuration =+    Configuration'+    { _conContactPhone = Nothing+    , _conContactEmail = Nothing+    , _conConfigurationName = Nothing+    , _conConfigurationId = Nothing+    , _conCustomMessage = Nothing+    , _conCompanyName = Nothing+    , _conDpcExtras = Nothing+    , _conName = Nothing+    , _conDpcResourcePath = Nothing+    , _conIsDefault = Nothing+    }++-- | Required. The telephone number that device users can call, using another+-- device, to get help. Zero-touch enrollment shows this number to device+-- users before device provisioning. Accepts numerals, spaces, the plus+-- sign, hyphens, and parentheses.+conContactPhone :: Lens' Configuration (Maybe Text)+conContactPhone+  = lens _conContactPhone+      (\ s a -> s{_conContactPhone = a})++-- | Required. The email address that device users can contact to get help.+-- Zero-touch enrollment shows this email address to device users before+-- device provisioning. The value is validated on input.+conContactEmail :: Lens' Configuration (Maybe Text)+conContactEmail+  = lens _conContactEmail+      (\ s a -> s{_conContactEmail = a})++-- | Required. A short name that describes the configuration\'s purpose. For+-- example, _Sales team_ or _Temporary employees_. The zero-touch+-- enrollment portal displays this name to IT admins.+conConfigurationName :: Lens' Configuration (Maybe Text)+conConfigurationName+  = lens _conConfigurationName+      (\ s a -> s{_conConfigurationName = a})++-- | Output only. The ID of the configuration. Assigned by the server.+conConfigurationId :: Lens' Configuration (Maybe Int64)+conConfigurationId+  = lens _conConfigurationId+      (\ s a -> s{_conConfigurationId = a})+      . mapping _Coerce++-- | A message, containing one or two sentences, to help device users get+-- help or give them more details about what’s happening to their device.+-- Zero-touch enrollment shows this message before the device is+-- provisioned.+conCustomMessage :: Lens' Configuration (Maybe Text)+conCustomMessage+  = lens _conCustomMessage+      (\ s a -> s{_conCustomMessage = a})++-- | Required. The name of the organization. Zero-touch enrollment shows this+-- organization name to device users during device provisioning.+conCompanyName :: Lens' Configuration (Maybe Text)+conCompanyName+  = lens _conCompanyName+      (\ s a -> s{_conCompanyName = a})++-- | The JSON-formatted EMM provisioning extras that are passed to the DPC.+conDpcExtras :: Lens' Configuration (Maybe Text)+conDpcExtras+  = lens _conDpcExtras (\ s a -> s{_conDpcExtras = a})++-- | Output only. The API resource name in the format+-- \`customers\/[CUSTOMER_ID]\/configurations\/[CONFIGURATION_ID]\`.+-- Assigned by the server.+conName :: Lens' Configuration (Maybe Text)+conName = lens _conName (\ s a -> s{_conName = a})++-- | Required. The resource name of the selected DPC (device policy+-- controller) in the format \`customers\/[CUSTOMER_ID]\/dpcs\/*\`. To list+-- the supported DPCs, call \`customers.dpcs.list\`.+conDpcResourcePath :: Lens' Configuration (Maybe Text)+conDpcResourcePath+  = lens _conDpcResourcePath+      (\ s a -> s{_conDpcResourcePath = a})++-- | Required. Whether this is the default configuration that zero-touch+-- enrollment applies to any new devices the organization purchases in the+-- future. Only one customer configuration can be the default. Setting this+-- value to \`true\`, changes the previous default configuration\'s+-- \`isDefault\` value to \`false\`.+conIsDefault :: Lens' Configuration (Maybe Bool)+conIsDefault+  = lens _conIsDefault (\ s a -> s{_conIsDefault = a})++instance FromJSON Configuration where+        parseJSON+          = withObject "Configuration"+              (\ o ->+                 Configuration' <$>+                   (o .:? "contactPhone") <*> (o .:? "contactEmail") <*>+                     (o .:? "configurationName")+                     <*> (o .:? "configurationId")+                     <*> (o .:? "customMessage")+                     <*> (o .:? "companyName")+                     <*> (o .:? "dpcExtras")+                     <*> (o .:? "name")+                     <*> (o .:? "dpcResourcePath")+                     <*> (o .:? "isDefault"))++instance ToJSON Configuration where+        toJSON Configuration'{..}+          = object+              (catMaybes+                 [("contactPhone" .=) <$> _conContactPhone,+                  ("contactEmail" .=) <$> _conContactEmail,+                  ("configurationName" .=) <$> _conConfigurationName,+                  ("configurationId" .=) <$> _conConfigurationId,+                  ("customMessage" .=) <$> _conCustomMessage,+                  ("companyName" .=) <$> _conCompanyName,+                  ("dpcExtras" .=) <$> _conDpcExtras,+                  ("name" .=) <$> _conName,+                  ("dpcResourcePath" .=) <$> _conDpcResourcePath,+                  ("isDefault" .=) <$> _conIsDefault])++-- | This field will contain a \`DevicesLongRunningOperationMetadata\` object+-- if the operation is created by \`claimAsync\`, \`unclaimAsync\`, or+-- \`updateMetadataAsync\`.+--+-- /See:/ 'operationMetadata' smart constructor.+newtype OperationMetadata = OperationMetadata'+    { _omAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omAddtional'+operationMetadata+    :: HashMap Text JSONValue -- ^ 'omAddtional'+    -> OperationMetadata+operationMetadata pOmAddtional_ =+    OperationMetadata'+    { _omAddtional = _Coerce # pOmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)+omAddtional+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .+      _Coerce++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o -> OperationMetadata' <$> (parseJSONObject o))++instance ToJSON OperationMetadata where+        toJSON = toJSON . _omAddtional++-- | Response message of all customers related to this partner.+--+-- /See:/ 'listCustomersResponse' smart constructor.+data ListCustomersResponse = ListCustomersResponse'+    { _lcrCustomers     :: !(Maybe [Company])+    , _lcrNextPageToken :: !(Maybe Text)+    , _lcrTotalSize     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCustomersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrCustomers'+--+-- * 'lcrNextPageToken'+--+-- * 'lcrTotalSize'+listCustomersResponse+    :: ListCustomersResponse+listCustomersResponse =+    ListCustomersResponse'+    { _lcrCustomers = Nothing+    , _lcrNextPageToken = Nothing+    , _lcrTotalSize = Nothing+    }++-- | List of customers related to this reseller partner.+lcrCustomers :: Lens' ListCustomersResponse [Company]+lcrCustomers+  = lens _lcrCustomers (\ s a -> s{_lcrCustomers = a})+      . _Default+      . _Coerce++-- | A token to retrieve the next page of results. Omitted if no further+-- results are available.+lcrNextPageToken :: Lens' ListCustomersResponse (Maybe Text)+lcrNextPageToken+  = lens _lcrNextPageToken+      (\ s a -> s{_lcrNextPageToken = a})++-- | The total count of items in the list irrespective of pagination.+lcrTotalSize :: Lens' ListCustomersResponse (Maybe Int32)+lcrTotalSize+  = lens _lcrTotalSize (\ s a -> s{_lcrTotalSize = a})+      . mapping _Coerce++instance FromJSON ListCustomersResponse where+        parseJSON+          = withObject "ListCustomersResponse"+              (\ o ->+                 ListCustomersResponse' <$>+                   (o .:? "customers" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "totalSize"))++instance ToJSON ListCustomersResponse where+        toJSON ListCustomersResponse'{..}+          = object+              (catMaybes+                 [("customers" .=) <$> _lcrCustomers,+                  ("nextPageToken" .=) <$> _lcrNextPageToken,+                  ("totalSize" .=) <$> _lcrTotalSize])++-- | Tracks the status of a long-running operation to asynchronously update a+-- batch of reseller metadata attached to devices. To learn more, read+-- [Long‑running batch+-- operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ 'devicesLongRunningOperationMetadata' smart constructor.+data DevicesLongRunningOperationMetadata = DevicesLongRunningOperationMetadata'+    { _dlromProgress         :: !(Maybe (Textual Int32))+    , _dlromDevicesCount     :: !(Maybe (Textual Int32))+    , _dlromProcessingStatus :: !(Maybe DevicesLongRunningOperationMetadataProcessingStatus)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesLongRunningOperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlromProgress'+--+-- * 'dlromDevicesCount'+--+-- * 'dlromProcessingStatus'+devicesLongRunningOperationMetadata+    :: DevicesLongRunningOperationMetadata+devicesLongRunningOperationMetadata =+    DevicesLongRunningOperationMetadata'+    { _dlromProgress = Nothing+    , _dlromDevicesCount = Nothing+    , _dlromProcessingStatus = Nothing+    }++-- | The processing progress of the operation. Measured as a number from 0 to+-- 100. A value of 10O doesnt always mean the operation completed—check for+-- the inclusion of a \`done\` field.+dlromProgress :: Lens' DevicesLongRunningOperationMetadata (Maybe Int32)+dlromProgress+  = lens _dlromProgress+      (\ s a -> s{_dlromProgress = a})+      . mapping _Coerce++-- | The number of metadata updates in the operation. This might be different+-- from the number of updates in the request if the API can\'t parse some+-- of the updates.+dlromDevicesCount :: Lens' DevicesLongRunningOperationMetadata (Maybe Int32)+dlromDevicesCount+  = lens _dlromDevicesCount+      (\ s a -> s{_dlromDevicesCount = a})+      . mapping _Coerce++-- | The processing status of the operation.+dlromProcessingStatus :: Lens' DevicesLongRunningOperationMetadata (Maybe DevicesLongRunningOperationMetadataProcessingStatus)+dlromProcessingStatus+  = lens _dlromProcessingStatus+      (\ s a -> s{_dlromProcessingStatus = a})++instance FromJSON DevicesLongRunningOperationMetadata+         where+        parseJSON+          = withObject "DevicesLongRunningOperationMetadata"+              (\ o ->+                 DevicesLongRunningOperationMetadata' <$>+                   (o .:? "progress") <*> (o .:? "devicesCount") <*>+                     (o .:? "processingStatus"))++instance ToJSON DevicesLongRunningOperationMetadata+         where+        toJSON DevicesLongRunningOperationMetadata'{..}+          = object+              (catMaybes+                 [("progress" .=) <$> _dlromProgress,+                  ("devicesCount" .=) <$> _dlromDevicesCount,+                  ("processingStatus" .=) <$> _dlromProcessingStatus])++-- | This field will contain a \`DevicesLongRunningOperationResponse\` object+-- if the operation is created by \`claimAsync\`, \`unclaimAsync\`, or+-- \`updateMetadataAsync\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional++-- | Response message of customer\'s liting devices.+--+-- /See:/ 'customerListDevicesResponse' smart constructor.+data CustomerListDevicesResponse = CustomerListDevicesResponse'+    { _cldrNextPageToken :: !(Maybe Text)+    , _cldrDevices       :: !(Maybe [Device])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerListDevicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldrNextPageToken'+--+-- * 'cldrDevices'+customerListDevicesResponse+    :: CustomerListDevicesResponse+customerListDevicesResponse =+    CustomerListDevicesResponse'+    { _cldrNextPageToken = Nothing+    , _cldrDevices = Nothing+    }++-- | A token used to access the next page of results. Omitted if no further+-- results are available.+cldrNextPageToken :: Lens' CustomerListDevicesResponse (Maybe Text)+cldrNextPageToken+  = lens _cldrNextPageToken+      (\ s a -> s{_cldrNextPageToken = a})++-- | The customer\'s devices.+cldrDevices :: Lens' CustomerListDevicesResponse [Device]+cldrDevices+  = lens _cldrDevices (\ s a -> s{_cldrDevices = a}) .+      _Default+      . _Coerce++instance FromJSON CustomerListDevicesResponse where+        parseJSON+          = withObject "CustomerListDevicesResponse"+              (\ o ->+                 CustomerListDevicesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "devices" .!= mempty))++instance ToJSON CustomerListDevicesResponse where+        toJSON CustomerListDevicesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cldrNextPageToken,+                  ("devices" .=) <$> _cldrDevices])++-- | Request to update device metadata in batch.+--+-- /See:/ 'updateDeviceMetadataInBatchRequest' smart constructor.+newtype UpdateDeviceMetadataInBatchRequest = UpdateDeviceMetadataInBatchRequest'+    { _udmibrUpdates :: Maybe [UpdateMetadataArguments]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDeviceMetadataInBatchRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udmibrUpdates'+updateDeviceMetadataInBatchRequest+    :: UpdateDeviceMetadataInBatchRequest+updateDeviceMetadataInBatchRequest =+    UpdateDeviceMetadataInBatchRequest'+    { _udmibrUpdates = Nothing+    }++-- | Required. The list of metadata updates.+udmibrUpdates :: Lens' UpdateDeviceMetadataInBatchRequest [UpdateMetadataArguments]+udmibrUpdates+  = lens _udmibrUpdates+      (\ s a -> s{_udmibrUpdates = a})+      . _Default+      . _Coerce++instance FromJSON UpdateDeviceMetadataInBatchRequest+         where+        parseJSON+          = withObject "UpdateDeviceMetadataInBatchRequest"+              (\ o ->+                 UpdateDeviceMetadataInBatchRequest' <$>+                   (o .:? "updates" .!= mempty))++instance ToJSON UpdateDeviceMetadataInBatchRequest+         where+        toJSON UpdateDeviceMetadataInBatchRequest'{..}+          = object+              (catMaybes [("updates" .=) <$> _udmibrUpdates])++-- | Response message of customer\'s listing DPCs.+--+-- /See:/ 'customerListDpcsResponse' smart constructor.+newtype CustomerListDpcsResponse = CustomerListDpcsResponse'+    { _cldrDpcs :: Maybe [Dpc]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerListDpcsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldrDpcs'+customerListDpcsResponse+    :: CustomerListDpcsResponse+customerListDpcsResponse =+    CustomerListDpcsResponse'+    { _cldrDpcs = Nothing+    }++-- | The list of DPCs available to the customer that support zero-touch+-- enrollment.+cldrDpcs :: Lens' CustomerListDpcsResponse [Dpc]+cldrDpcs+  = lens _cldrDpcs (\ s a -> s{_cldrDpcs = a}) .+      _Default+      . _Coerce++instance FromJSON CustomerListDpcsResponse where+        parseJSON+          = withObject "CustomerListDpcsResponse"+              (\ o ->+                 CustomerListDpcsResponse' <$>+                   (o .:? "dpcs" .!= mempty))++instance ToJSON CustomerListDpcsResponse where+        toJSON CustomerListDpcsResponse'{..}+          = object (catMaybes [("dpcs" .=) <$> _cldrDpcs])++-- | Response message containing device id of the claim.+--+-- /See:/ 'claimDeviceResponse' smart constructor.+data ClaimDeviceResponse = ClaimDeviceResponse'+    { _cdrDeviceName :: !(Maybe Text)+    , _cdrDeviceId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClaimDeviceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrDeviceName'+--+-- * 'cdrDeviceId'+claimDeviceResponse+    :: ClaimDeviceResponse+claimDeviceResponse =+    ClaimDeviceResponse'+    { _cdrDeviceName = Nothing+    , _cdrDeviceId = Nothing+    }++-- | The resource name of the device in the format+-- \`partners\/[PARTNER_ID]\/devices\/[DEVICE_ID]\`.+cdrDeviceName :: Lens' ClaimDeviceResponse (Maybe Text)+cdrDeviceName+  = lens _cdrDeviceName+      (\ s a -> s{_cdrDeviceName = a})++-- | The device ID of the claimed device.+cdrDeviceId :: Lens' ClaimDeviceResponse (Maybe Int64)+cdrDeviceId+  = lens _cdrDeviceId (\ s a -> s{_cdrDeviceId = a}) .+      mapping _Coerce++instance FromJSON ClaimDeviceResponse where+        parseJSON+          = withObject "ClaimDeviceResponse"+              (\ o ->+                 ClaimDeviceResponse' <$>+                   (o .:? "deviceName") <*> (o .:? "deviceId"))++instance ToJSON ClaimDeviceResponse where+        toJSON ClaimDeviceResponse'{..}+          = object+              (catMaybes+                 [("deviceName" .=) <$> _cdrDeviceName,+                  ("deviceId" .=) <$> _cdrDeviceId])++-- | Request message to create a customer.+--+-- /See:/ 'createCustomerRequest' smart constructor.+newtype CreateCustomerRequest = CreateCustomerRequest'+    { _ccrCustomer :: Maybe Company+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCustomerRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrCustomer'+createCustomerRequest+    :: CreateCustomerRequest+createCustomerRequest =+    CreateCustomerRequest'+    { _ccrCustomer = Nothing+    }++-- | Required. The company data to populate the new customer. Must contain a+-- value for \`companyName\` and at least one \`owner_email\` that\'s+-- associated with a Google Account. The values for \`companyId\` and+-- \`name\` must be empty.+ccrCustomer :: Lens' CreateCustomerRequest (Maybe Company)+ccrCustomer+  = lens _ccrCustomer (\ s a -> s{_ccrCustomer = a})++instance FromJSON CreateCustomerRequest where+        parseJSON+          = withObject "CreateCustomerRequest"+              (\ o ->+                 CreateCustomerRequest' <$> (o .:? "customer"))++instance ToJSON CreateCustomerRequest where+        toJSON CreateCustomerRequest'{..}+          = object+              (catMaybes [("customer" .=) <$> _ccrCustomer])
+ gen/Network/Google/AndroidDeviceProvisioning/Types/Sum.hs view
@@ -0,0 +1,393 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AndroidDeviceProvisioning.Types.Sum+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AndroidDeviceProvisioning.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | The result status of the device after processing.+data PerDeviceStatusInBatchStatus+    = SingleDeviceStatusUnspecified+      -- ^ @SINGLE_DEVICE_STATUS_UNSPECIFIED@+      -- Invalid code. Shouldn\'t be used.+    | SingleDeviceStatusUnknownError+      -- ^ @SINGLE_DEVICE_STATUS_UNKNOWN_ERROR@+      -- Unknown error. We don\'t expect this error to occur here.+    | SingleDeviceStatusOtherError+      -- ^ @SINGLE_DEVICE_STATUS_OTHER_ERROR@+      -- Other error. We know\/expect this error, but there\'s no defined error+      -- code for the error.+    | SingleDeviceStatusSuccess+      -- ^ @SINGLE_DEVICE_STATUS_SUCCESS@+      -- Success.+    | SingleDeviceStatusPermissionDenied+      -- ^ @SINGLE_DEVICE_STATUS_PERMISSION_DENIED@+      -- Permission denied.+    | SingleDeviceStatusInvalidDeviceIdentifier+      -- ^ @SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER@+      -- Invalid device identifier.+    | SingleDeviceStatusInvalidSectionType+      -- ^ @SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE@+      -- Invalid section type.+    | SingleDeviceStatusSectionNotYours+      -- ^ @SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS@+      -- This section is claimed by another company.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PerDeviceStatusInBatchStatus++instance FromHttpApiData PerDeviceStatusInBatchStatus where+    parseQueryParam = \case+        "SINGLE_DEVICE_STATUS_UNSPECIFIED" -> Right SingleDeviceStatusUnspecified+        "SINGLE_DEVICE_STATUS_UNKNOWN_ERROR" -> Right SingleDeviceStatusUnknownError+        "SINGLE_DEVICE_STATUS_OTHER_ERROR" -> Right SingleDeviceStatusOtherError+        "SINGLE_DEVICE_STATUS_SUCCESS" -> Right SingleDeviceStatusSuccess+        "SINGLE_DEVICE_STATUS_PERMISSION_DENIED" -> Right SingleDeviceStatusPermissionDenied+        "SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER" -> Right SingleDeviceStatusInvalidDeviceIdentifier+        "SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE" -> Right SingleDeviceStatusInvalidSectionType+        "SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS" -> Right SingleDeviceStatusSectionNotYours+        x -> Left ("Unable to parse PerDeviceStatusInBatchStatus from: " <> x)++instance ToHttpApiData PerDeviceStatusInBatchStatus where+    toQueryParam = \case+        SingleDeviceStatusUnspecified -> "SINGLE_DEVICE_STATUS_UNSPECIFIED"+        SingleDeviceStatusUnknownError -> "SINGLE_DEVICE_STATUS_UNKNOWN_ERROR"+        SingleDeviceStatusOtherError -> "SINGLE_DEVICE_STATUS_OTHER_ERROR"+        SingleDeviceStatusSuccess -> "SINGLE_DEVICE_STATUS_SUCCESS"+        SingleDeviceStatusPermissionDenied -> "SINGLE_DEVICE_STATUS_PERMISSION_DENIED"+        SingleDeviceStatusInvalidDeviceIdentifier -> "SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER"+        SingleDeviceStatusInvalidSectionType -> "SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE"+        SingleDeviceStatusSectionNotYours -> "SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS"++instance FromJSON PerDeviceStatusInBatchStatus where+    parseJSON = parseJSONText "PerDeviceStatusInBatchStatus"++instance ToJSON PerDeviceStatusInBatchStatus where+    toJSON = toJSONText++-- | Required. The section type of the device\'s provisioning record.+data FindDevicesByOwnerRequestSectionType+    = SectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | SectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | SectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable FindDevicesByOwnerRequestSectionType++instance FromHttpApiData FindDevicesByOwnerRequestSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right SectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right SectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right SectionTypeZeroTouch+        x -> Left ("Unable to parse FindDevicesByOwnerRequestSectionType from: " <> x)++instance ToHttpApiData FindDevicesByOwnerRequestSectionType where+    toQueryParam = \case+        SectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        SectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        SectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON FindDevicesByOwnerRequestSectionType where+    parseJSON = parseJSONText "FindDevicesByOwnerRequestSectionType"++instance ToJSON FindDevicesByOwnerRequestSectionType where+    toJSON = toJSONText++-- | Required. The section type of the device\'s provisioning record.+data PartnerClaimSectionType+    = PCSTSectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | PCSTSectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | PCSTSectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PartnerClaimSectionType++instance FromHttpApiData PartnerClaimSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right PCSTSectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right PCSTSectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right PCSTSectionTypeZeroTouch+        x -> Left ("Unable to parse PartnerClaimSectionType from: " <> x)++instance ToHttpApiData PartnerClaimSectionType where+    toQueryParam = \case+        PCSTSectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        PCSTSectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        PCSTSectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON PartnerClaimSectionType where+    parseJSON = parseJSONText "PartnerClaimSectionType"++instance ToJSON PartnerClaimSectionType where+    toJSON = toJSONText++-- | Required. The section type of the device\'s provisioning record.+data PartnerUnclaimSectionType+    = PUSTSectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | PUSTSectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | PUSTSectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PartnerUnclaimSectionType++instance FromHttpApiData PartnerUnclaimSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right PUSTSectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right PUSTSectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right PUSTSectionTypeZeroTouch+        x -> Left ("Unable to parse PartnerUnclaimSectionType from: " <> x)++instance ToHttpApiData PartnerUnclaimSectionType where+    toQueryParam = \case+        PUSTSectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        PUSTSectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        PUSTSectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON PartnerUnclaimSectionType where+    parseJSON = parseJSONText "PartnerUnclaimSectionType"++instance ToJSON PartnerUnclaimSectionType where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++-- | Required. The section type of the device\'s provisioning record.+data ClaimDeviceRequestSectionType+    = CDRSTSectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | CDRSTSectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | CDRSTSectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ClaimDeviceRequestSectionType++instance FromHttpApiData ClaimDeviceRequestSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right CDRSTSectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right CDRSTSectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right CDRSTSectionTypeZeroTouch+        x -> Left ("Unable to parse ClaimDeviceRequestSectionType from: " <> x)++instance ToHttpApiData ClaimDeviceRequestSectionType where+    toQueryParam = \case+        CDRSTSectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        CDRSTSectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        CDRSTSectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON ClaimDeviceRequestSectionType where+    parseJSON = parseJSONText "ClaimDeviceRequestSectionType"++instance ToJSON ClaimDeviceRequestSectionType where+    toJSON = toJSONText++-- | Output only. The type of claim made on the device.+data DeviceClaimSectionType+    = DCSTSectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | DCSTSectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | DCSTSectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeviceClaimSectionType++instance FromHttpApiData DeviceClaimSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right DCSTSectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right DCSTSectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right DCSTSectionTypeZeroTouch+        x -> Left ("Unable to parse DeviceClaimSectionType from: " <> x)++instance ToHttpApiData DeviceClaimSectionType where+    toQueryParam = \case+        DCSTSectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        DCSTSectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        DCSTSectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON DeviceClaimSectionType where+    parseJSON = parseJSONText "DeviceClaimSectionType"++instance ToJSON DeviceClaimSectionType where+    toJSON = toJSONText++-- | Output only. Whether any user from the company has accepted the latest+-- Terms of Service (ToS). See TermsStatus.+data CompanyTermsStatus+    = TermsStatusUnspecified+      -- ^ @TERMS_STATUS_UNSPECIFIED@+      -- Default value. This value should never be set if the enum is present.+    | TermsStatusNotAccepted+      -- ^ @TERMS_STATUS_NOT_ACCEPTED@+      -- None of the company\'s users have accepted the ToS.+    | TermsStatusAccepted+      -- ^ @TERMS_STATUS_ACCEPTED@+      -- One (or more) of the company\'s users has accepted the ToS.+    | TermsStatusStale+      -- ^ @TERMS_STATUS_STALE@+      -- None of the company\'s users has accepted the current ToS but at least+      -- one user accepted a previous ToS.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CompanyTermsStatus++instance FromHttpApiData CompanyTermsStatus where+    parseQueryParam = \case+        "TERMS_STATUS_UNSPECIFIED" -> Right TermsStatusUnspecified+        "TERMS_STATUS_NOT_ACCEPTED" -> Right TermsStatusNotAccepted+        "TERMS_STATUS_ACCEPTED" -> Right TermsStatusAccepted+        "TERMS_STATUS_STALE" -> Right TermsStatusStale+        x -> Left ("Unable to parse CompanyTermsStatus from: " <> x)++instance ToHttpApiData CompanyTermsStatus where+    toQueryParam = \case+        TermsStatusUnspecified -> "TERMS_STATUS_UNSPECIFIED"+        TermsStatusNotAccepted -> "TERMS_STATUS_NOT_ACCEPTED"+        TermsStatusAccepted -> "TERMS_STATUS_ACCEPTED"+        TermsStatusStale -> "TERMS_STATUS_STALE"++instance FromJSON CompanyTermsStatus where+    parseJSON = parseJSONText "CompanyTermsStatus"++instance ToJSON CompanyTermsStatus where+    toJSON = toJSONText++-- | Required. The section type of the device\'s provisioning record.+data UnclaimDeviceRequestSectionType+    = UDRSTSectionTypeUnspecified+      -- ^ @SECTION_TYPE_UNSPECIFIED@+      -- Unspecified section type.+    | UDRSTSectionTypeSimLock+      -- ^ @SECTION_TYPE_SIM_LOCK@+      -- SIM-lock section type.+    | UDRSTSectionTypeZeroTouch+      -- ^ @SECTION_TYPE_ZERO_TOUCH@+      -- Zero-touch enrollment section type.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable UnclaimDeviceRequestSectionType++instance FromHttpApiData UnclaimDeviceRequestSectionType where+    parseQueryParam = \case+        "SECTION_TYPE_UNSPECIFIED" -> Right UDRSTSectionTypeUnspecified+        "SECTION_TYPE_SIM_LOCK" -> Right UDRSTSectionTypeSimLock+        "SECTION_TYPE_ZERO_TOUCH" -> Right UDRSTSectionTypeZeroTouch+        x -> Left ("Unable to parse UnclaimDeviceRequestSectionType from: " <> x)++instance ToHttpApiData UnclaimDeviceRequestSectionType where+    toQueryParam = \case+        UDRSTSectionTypeUnspecified -> "SECTION_TYPE_UNSPECIFIED"+        UDRSTSectionTypeSimLock -> "SECTION_TYPE_SIM_LOCK"+        UDRSTSectionTypeZeroTouch -> "SECTION_TYPE_ZERO_TOUCH"++instance FromJSON UnclaimDeviceRequestSectionType where+    parseJSON = parseJSONText "UnclaimDeviceRequestSectionType"++instance ToJSON UnclaimDeviceRequestSectionType where+    toJSON = toJSONText++-- | The processing status of the operation.+data DevicesLongRunningOperationMetadataProcessingStatus+    = BatchProcessStatusUnspecified+      -- ^ @BATCH_PROCESS_STATUS_UNSPECIFIED@+      -- Invalid code. Shouldn\'t be used.+    | BatchProcessPending+      -- ^ @BATCH_PROCESS_PENDING@+      -- Pending.+    | BatchProcessInProgress+      -- ^ @BATCH_PROCESS_IN_PROGRESS@+      -- In progress.+    | BatchProcessProcessed+      -- ^ @BATCH_PROCESS_PROCESSED@+      -- Processed. This doesn\'t mean all items were processed successfully, you+      -- should check the \`response\` field for the result of every item.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DevicesLongRunningOperationMetadataProcessingStatus++instance FromHttpApiData DevicesLongRunningOperationMetadataProcessingStatus where+    parseQueryParam = \case+        "BATCH_PROCESS_STATUS_UNSPECIFIED" -> Right BatchProcessStatusUnspecified+        "BATCH_PROCESS_PENDING" -> Right BatchProcessPending+        "BATCH_PROCESS_IN_PROGRESS" -> Right BatchProcessInProgress+        "BATCH_PROCESS_PROCESSED" -> Right BatchProcessProcessed+        x -> Left ("Unable to parse DevicesLongRunningOperationMetadataProcessingStatus from: " <> x)++instance ToHttpApiData DevicesLongRunningOperationMetadataProcessingStatus where+    toQueryParam = \case+        BatchProcessStatusUnspecified -> "BATCH_PROCESS_STATUS_UNSPECIFIED"+        BatchProcessPending -> "BATCH_PROCESS_PENDING"+        BatchProcessInProgress -> "BATCH_PROCESS_IN_PROGRESS"+        BatchProcessProcessed -> "BATCH_PROCESS_PROCESSED"++instance FromJSON DevicesLongRunningOperationMetadataProcessingStatus where+    parseJSON = parseJSONText "DevicesLongRunningOperationMetadataProcessingStatus"++instance ToJSON DevicesLongRunningOperationMetadataProcessingStatus where+    toJSON = toJSONText
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Create.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new configuration. Once created, a customer can apply the+-- configuration to devices.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.configurations.create@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Create+    (+    -- * REST Resource+      CustomersConfigurationsCreateResource++    -- * Creating a Request+    , customersConfigurationsCreate+    , CustomersConfigurationsCreate++    -- * Request Lenses+    , cccParent+    , cccXgafv+    , cccUploadProtocol+    , cccAccessToken+    , cccUploadType+    , cccPayload+    , cccCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.configurations.create@ method which the+-- 'CustomersConfigurationsCreate' request conforms to.+type CustomersConfigurationsCreateResource =+     "v1" :>+       Capture "parent" Text :>+         "configurations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Configuration :>+                         Post '[JSON] Configuration++-- | Creates a new configuration. Once created, a customer can apply the+-- configuration to devices.+--+-- /See:/ 'customersConfigurationsCreate' smart constructor.+data CustomersConfigurationsCreate = CustomersConfigurationsCreate'+    { _cccParent         :: !Text+    , _cccXgafv          :: !(Maybe Xgafv)+    , _cccUploadProtocol :: !(Maybe Text)+    , _cccAccessToken    :: !(Maybe Text)+    , _cccUploadType     :: !(Maybe Text)+    , _cccPayload        :: !Configuration+    , _cccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersConfigurationsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cccParent'+--+-- * 'cccXgafv'+--+-- * 'cccUploadProtocol'+--+-- * 'cccAccessToken'+--+-- * 'cccUploadType'+--+-- * 'cccPayload'+--+-- * 'cccCallback'+customersConfigurationsCreate+    :: Text -- ^ 'cccParent'+    -> Configuration -- ^ 'cccPayload'+    -> CustomersConfigurationsCreate+customersConfigurationsCreate pCccParent_ pCccPayload_ =+    CustomersConfigurationsCreate'+    { _cccParent = pCccParent_+    , _cccXgafv = Nothing+    , _cccUploadProtocol = Nothing+    , _cccAccessToken = Nothing+    , _cccUploadType = Nothing+    , _cccPayload = pCccPayload_+    , _cccCallback = Nothing+    }++-- | Required. The customer that manages the configuration. An API resource+-- name in the format \`customers\/[CUSTOMER_ID]\`.+cccParent :: Lens' CustomersConfigurationsCreate Text+cccParent+  = lens _cccParent (\ s a -> s{_cccParent = a})++-- | V1 error format.+cccXgafv :: Lens' CustomersConfigurationsCreate (Maybe Xgafv)+cccXgafv = lens _cccXgafv (\ s a -> s{_cccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cccUploadProtocol :: Lens' CustomersConfigurationsCreate (Maybe Text)+cccUploadProtocol+  = lens _cccUploadProtocol+      (\ s a -> s{_cccUploadProtocol = a})++-- | OAuth access token.+cccAccessToken :: Lens' CustomersConfigurationsCreate (Maybe Text)+cccAccessToken+  = lens _cccAccessToken+      (\ s a -> s{_cccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cccUploadType :: Lens' CustomersConfigurationsCreate (Maybe Text)+cccUploadType+  = lens _cccUploadType+      (\ s a -> s{_cccUploadType = a})++-- | Multipart request metadata.+cccPayload :: Lens' CustomersConfigurationsCreate Configuration+cccPayload+  = lens _cccPayload (\ s a -> s{_cccPayload = a})++-- | JSONP+cccCallback :: Lens' CustomersConfigurationsCreate (Maybe Text)+cccCallback+  = lens _cccCallback (\ s a -> s{_cccCallback = a})++instance GoogleRequest CustomersConfigurationsCreate+         where+        type Rs CustomersConfigurationsCreate = Configuration+        type Scopes CustomersConfigurationsCreate = '[]+        requestClient CustomersConfigurationsCreate'{..}+          = go _cccParent _cccXgafv _cccUploadProtocol+              _cccAccessToken+              _cccUploadType+              _cccCallback+              (Just AltJSON)+              _cccPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CustomersConfigurationsCreateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Delete.hs view
@@ -0,0 +1,149 @@+{-# 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.AndroidDeviceProvisioning.Customers.Configurations.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an unused configuration. The API call fails if the customer has+-- devices with the configuration applied.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.configurations.delete@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Delete+    (+    -- * REST Resource+      CustomersConfigurationsDeleteResource++    -- * Creating a Request+    , customersConfigurationsDelete+    , CustomersConfigurationsDelete++    -- * Request Lenses+    , ccdXgafv+    , ccdUploadProtocol+    , ccdAccessToken+    , ccdUploadType+    , ccdName+    , ccdCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.configurations.delete@ method which the+-- 'CustomersConfigurationsDelete' request conforms to.+type CustomersConfigurationsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes an unused configuration. The API call fails if the customer has+-- devices with the configuration applied.+--+-- /See:/ 'customersConfigurationsDelete' smart constructor.+data CustomersConfigurationsDelete = CustomersConfigurationsDelete'+    { _ccdXgafv          :: !(Maybe Xgafv)+    , _ccdUploadProtocol :: !(Maybe Text)+    , _ccdAccessToken    :: !(Maybe Text)+    , _ccdUploadType     :: !(Maybe Text)+    , _ccdName           :: !Text+    , _ccdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersConfigurationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdXgafv'+--+-- * 'ccdUploadProtocol'+--+-- * 'ccdAccessToken'+--+-- * 'ccdUploadType'+--+-- * 'ccdName'+--+-- * 'ccdCallback'+customersConfigurationsDelete+    :: Text -- ^ 'ccdName'+    -> CustomersConfigurationsDelete+customersConfigurationsDelete pCcdName_ =+    CustomersConfigurationsDelete'+    { _ccdXgafv = Nothing+    , _ccdUploadProtocol = Nothing+    , _ccdAccessToken = Nothing+    , _ccdUploadType = Nothing+    , _ccdName = pCcdName_+    , _ccdCallback = Nothing+    }++-- | V1 error format.+ccdXgafv :: Lens' CustomersConfigurationsDelete (Maybe Xgafv)+ccdXgafv = lens _ccdXgafv (\ s a -> s{_ccdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccdUploadProtocol :: Lens' CustomersConfigurationsDelete (Maybe Text)+ccdUploadProtocol+  = lens _ccdUploadProtocol+      (\ s a -> s{_ccdUploadProtocol = a})++-- | OAuth access token.+ccdAccessToken :: Lens' CustomersConfigurationsDelete (Maybe Text)+ccdAccessToken+  = lens _ccdAccessToken+      (\ s a -> s{_ccdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccdUploadType :: Lens' CustomersConfigurationsDelete (Maybe Text)+ccdUploadType+  = lens _ccdUploadType+      (\ s a -> s{_ccdUploadType = a})++-- | Required. The configuration to delete. An API resource name in the+-- format \`customers\/[CUSTOMER_ID]\/configurations\/[CONFIGURATION_ID]\`.+-- If the configuration is applied to any devices, the API call fails.+ccdName :: Lens' CustomersConfigurationsDelete Text+ccdName = lens _ccdName (\ s a -> s{_ccdName = a})++-- | JSONP+ccdCallback :: Lens' CustomersConfigurationsDelete (Maybe Text)+ccdCallback+  = lens _ccdCallback (\ s a -> s{_ccdCallback = a})++instance GoogleRequest CustomersConfigurationsDelete+         where+        type Rs CustomersConfigurationsDelete = Empty+        type Scopes CustomersConfigurationsDelete = '[]+        requestClient CustomersConfigurationsDelete'{..}+          = go _ccdName _ccdXgafv _ccdUploadProtocol+              _ccdAccessToken+              _ccdUploadType+              _ccdCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CustomersConfigurationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Get.hs view
@@ -0,0 +1,145 @@+{-# 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.AndroidDeviceProvisioning.Customers.Configurations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the details of a configuration.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.configurations.get@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Get+    (+    -- * REST Resource+      CustomersConfigurationsGetResource++    -- * Creating a Request+    , customersConfigurationsGet+    , CustomersConfigurationsGet++    -- * Request Lenses+    , ccgXgafv+    , ccgUploadProtocol+    , ccgAccessToken+    , ccgUploadType+    , ccgName+    , ccgCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.configurations.get@ method which the+-- 'CustomersConfigurationsGet' request conforms to.+type CustomersConfigurationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Configuration++-- | Gets the details of a configuration.+--+-- /See:/ 'customersConfigurationsGet' smart constructor.+data CustomersConfigurationsGet = CustomersConfigurationsGet'+    { _ccgXgafv          :: !(Maybe Xgafv)+    , _ccgUploadProtocol :: !(Maybe Text)+    , _ccgAccessToken    :: !(Maybe Text)+    , _ccgUploadType     :: !(Maybe Text)+    , _ccgName           :: !Text+    , _ccgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersConfigurationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccgXgafv'+--+-- * 'ccgUploadProtocol'+--+-- * 'ccgAccessToken'+--+-- * 'ccgUploadType'+--+-- * 'ccgName'+--+-- * 'ccgCallback'+customersConfigurationsGet+    :: Text -- ^ 'ccgName'+    -> CustomersConfigurationsGet+customersConfigurationsGet pCcgName_ =+    CustomersConfigurationsGet'+    { _ccgXgafv = Nothing+    , _ccgUploadProtocol = Nothing+    , _ccgAccessToken = Nothing+    , _ccgUploadType = Nothing+    , _ccgName = pCcgName_+    , _ccgCallback = Nothing+    }++-- | V1 error format.+ccgXgafv :: Lens' CustomersConfigurationsGet (Maybe Xgafv)+ccgXgafv = lens _ccgXgafv (\ s a -> s{_ccgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccgUploadProtocol :: Lens' CustomersConfigurationsGet (Maybe Text)+ccgUploadProtocol+  = lens _ccgUploadProtocol+      (\ s a -> s{_ccgUploadProtocol = a})++-- | OAuth access token.+ccgAccessToken :: Lens' CustomersConfigurationsGet (Maybe Text)+ccgAccessToken+  = lens _ccgAccessToken+      (\ s a -> s{_ccgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccgUploadType :: Lens' CustomersConfigurationsGet (Maybe Text)+ccgUploadType+  = lens _ccgUploadType+      (\ s a -> s{_ccgUploadType = a})++-- | Required. The configuration to get. An API resource name in the format+-- \`customers\/[CUSTOMER_ID]\/configurations\/[CONFIGURATION_ID]\`.+ccgName :: Lens' CustomersConfigurationsGet Text+ccgName = lens _ccgName (\ s a -> s{_ccgName = a})++-- | JSONP+ccgCallback :: Lens' CustomersConfigurationsGet (Maybe Text)+ccgCallback+  = lens _ccgCallback (\ s a -> s{_ccgCallback = a})++instance GoogleRequest CustomersConfigurationsGet+         where+        type Rs CustomersConfigurationsGet = Configuration+        type Scopes CustomersConfigurationsGet = '[]+        requestClient CustomersConfigurationsGet'{..}+          = go _ccgName _ccgXgafv _ccgUploadProtocol+              _ccgAccessToken+              _ccgUploadType+              _ccgCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersConfigurationsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/List.hs view
@@ -0,0 +1,149 @@+{-# 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.AndroidDeviceProvisioning.Customers.Configurations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists a customer\'s configurations.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.configurations.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.List+    (+    -- * REST Resource+      CustomersConfigurationsListResource++    -- * Creating a Request+    , customersConfigurationsList+    , CustomersConfigurationsList++    -- * Request Lenses+    , cclParent+    , cclXgafv+    , cclUploadProtocol+    , cclAccessToken+    , cclUploadType+    , cclCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.configurations.list@ method which the+-- 'CustomersConfigurationsList' request conforms to.+type CustomersConfigurationsListResource =+     "v1" :>+       Capture "parent" Text :>+         "configurations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] CustomerListConfigurationsResponse++-- | Lists a customer\'s configurations.+--+-- /See:/ 'customersConfigurationsList' smart constructor.+data CustomersConfigurationsList = CustomersConfigurationsList'+    { _cclParent         :: !Text+    , _cclXgafv          :: !(Maybe Xgafv)+    , _cclUploadProtocol :: !(Maybe Text)+    , _cclAccessToken    :: !(Maybe Text)+    , _cclUploadType     :: !(Maybe Text)+    , _cclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersConfigurationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cclParent'+--+-- * 'cclXgafv'+--+-- * 'cclUploadProtocol'+--+-- * 'cclAccessToken'+--+-- * 'cclUploadType'+--+-- * 'cclCallback'+customersConfigurationsList+    :: Text -- ^ 'cclParent'+    -> CustomersConfigurationsList+customersConfigurationsList pCclParent_ =+    CustomersConfigurationsList'+    { _cclParent = pCclParent_+    , _cclXgafv = Nothing+    , _cclUploadProtocol = Nothing+    , _cclAccessToken = Nothing+    , _cclUploadType = Nothing+    , _cclCallback = Nothing+    }++-- | Required. The customer that manages the listed configurations. An API+-- resource name in the format \`customers\/[CUSTOMER_ID]\`.+cclParent :: Lens' CustomersConfigurationsList Text+cclParent+  = lens _cclParent (\ s a -> s{_cclParent = a})++-- | V1 error format.+cclXgafv :: Lens' CustomersConfigurationsList (Maybe Xgafv)+cclXgafv = lens _cclXgafv (\ s a -> s{_cclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cclUploadProtocol :: Lens' CustomersConfigurationsList (Maybe Text)+cclUploadProtocol+  = lens _cclUploadProtocol+      (\ s a -> s{_cclUploadProtocol = a})++-- | OAuth access token.+cclAccessToken :: Lens' CustomersConfigurationsList (Maybe Text)+cclAccessToken+  = lens _cclAccessToken+      (\ s a -> s{_cclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cclUploadType :: Lens' CustomersConfigurationsList (Maybe Text)+cclUploadType+  = lens _cclUploadType+      (\ s a -> s{_cclUploadType = a})++-- | JSONP+cclCallback :: Lens' CustomersConfigurationsList (Maybe Text)+cclCallback+  = lens _cclCallback (\ s a -> s{_cclCallback = a})++instance GoogleRequest CustomersConfigurationsList+         where+        type Rs CustomersConfigurationsList =+             CustomerListConfigurationsResponse+        type Scopes CustomersConfigurationsList = '[]+        requestClient CustomersConfigurationsList'{..}+          = go _cclParent _cclXgafv _cclUploadProtocol+              _cclAccessToken+              _cclUploadType+              _cclCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersConfigurationsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Patch.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a configuration\'s field values.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.configurations.patch@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Patch+    (+    -- * REST Resource+      CustomersConfigurationsPatchResource++    -- * Creating a Request+    , customersConfigurationsPatch+    , CustomersConfigurationsPatch++    -- * Request Lenses+    , ccpXgafv+    , ccpUploadProtocol+    , ccpUpdateMask+    , ccpAccessToken+    , ccpUploadType+    , ccpPayload+    , ccpName+    , ccpCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.configurations.patch@ method which the+-- 'CustomersConfigurationsPatch' request conforms to.+type CustomersConfigurationsPatchResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Configuration :>+                         Patch '[JSON] Configuration++-- | Updates a configuration\'s field values.+--+-- /See:/ 'customersConfigurationsPatch' smart constructor.+data CustomersConfigurationsPatch = CustomersConfigurationsPatch'+    { _ccpXgafv          :: !(Maybe Xgafv)+    , _ccpUploadProtocol :: !(Maybe Text)+    , _ccpUpdateMask     :: !(Maybe GFieldMask)+    , _ccpAccessToken    :: !(Maybe Text)+    , _ccpUploadType     :: !(Maybe Text)+    , _ccpPayload        :: !Configuration+    , _ccpName           :: !Text+    , _ccpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersConfigurationsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccpXgafv'+--+-- * 'ccpUploadProtocol'+--+-- * 'ccpUpdateMask'+--+-- * 'ccpAccessToken'+--+-- * 'ccpUploadType'+--+-- * 'ccpPayload'+--+-- * 'ccpName'+--+-- * 'ccpCallback'+customersConfigurationsPatch+    :: Configuration -- ^ 'ccpPayload'+    -> Text -- ^ 'ccpName'+    -> CustomersConfigurationsPatch+customersConfigurationsPatch pCcpPayload_ pCcpName_ =+    CustomersConfigurationsPatch'+    { _ccpXgafv = Nothing+    , _ccpUploadProtocol = Nothing+    , _ccpUpdateMask = Nothing+    , _ccpAccessToken = Nothing+    , _ccpUploadType = Nothing+    , _ccpPayload = pCcpPayload_+    , _ccpName = pCcpName_+    , _ccpCallback = Nothing+    }++-- | V1 error format.+ccpXgafv :: Lens' CustomersConfigurationsPatch (Maybe Xgafv)+ccpXgafv = lens _ccpXgafv (\ s a -> s{_ccpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccpUploadProtocol :: Lens' CustomersConfigurationsPatch (Maybe Text)+ccpUploadProtocol+  = lens _ccpUploadProtocol+      (\ s a -> s{_ccpUploadProtocol = a})++-- | Required. The field mask applied to the target \`Configuration\` before+-- updating the fields. To learn more about using field masks, read+-- [FieldMask](\/protocol-buffers\/docs\/reference\/google.protobuf#fieldmask)+-- in the Protocol Buffers documentation.+ccpUpdateMask :: Lens' CustomersConfigurationsPatch (Maybe GFieldMask)+ccpUpdateMask+  = lens _ccpUpdateMask+      (\ s a -> s{_ccpUpdateMask = a})++-- | OAuth access token.+ccpAccessToken :: Lens' CustomersConfigurationsPatch (Maybe Text)+ccpAccessToken+  = lens _ccpAccessToken+      (\ s a -> s{_ccpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccpUploadType :: Lens' CustomersConfigurationsPatch (Maybe Text)+ccpUploadType+  = lens _ccpUploadType+      (\ s a -> s{_ccpUploadType = a})++-- | Multipart request metadata.+ccpPayload :: Lens' CustomersConfigurationsPatch Configuration+ccpPayload+  = lens _ccpPayload (\ s a -> s{_ccpPayload = a})++-- | Output only. The API resource name in the format+-- \`customers\/[CUSTOMER_ID]\/configurations\/[CONFIGURATION_ID]\`.+-- Assigned by the server.+ccpName :: Lens' CustomersConfigurationsPatch Text+ccpName = lens _ccpName (\ s a -> s{_ccpName = a})++-- | JSONP+ccpCallback :: Lens' CustomersConfigurationsPatch (Maybe Text)+ccpCallback+  = lens _ccpCallback (\ s a -> s{_ccpCallback = a})++instance GoogleRequest CustomersConfigurationsPatch+         where+        type Rs CustomersConfigurationsPatch = Configuration+        type Scopes CustomersConfigurationsPatch = '[]+        requestClient CustomersConfigurationsPatch'{..}+          = go _ccpName _ccpXgafv _ccpUploadProtocol+              _ccpUpdateMask+              _ccpAccessToken+              _ccpUploadType+              _ccpCallback+              (Just AltJSON)+              _ccpPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersConfigurationsPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/ApplyConfiguration.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.ApplyConfiguration+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies a Configuration to the device to register the device for+-- zero-touch enrollment. After applying a configuration to a device, the+-- device automatically provisions itself on first boot, or next factory+-- reset.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.devices.applyConfiguration@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.ApplyConfiguration+    (+    -- * REST Resource+      CustomersDevicesApplyConfigurationResource++    -- * Creating a Request+    , customersDevicesApplyConfiguration+    , CustomersDevicesApplyConfiguration++    -- * Request Lenses+    , cdacParent+    , cdacXgafv+    , cdacUploadProtocol+    , cdacAccessToken+    , cdacUploadType+    , cdacPayload+    , cdacCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.devices.applyConfiguration@ method which the+-- 'CustomersDevicesApplyConfiguration' request conforms to.+type CustomersDevicesApplyConfigurationResource =+     "v1" :>+       Capture "parent" Text :>+         "devices:applyConfiguration" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CustomerApplyConfigurationRequest :>+                         Post '[JSON] Empty++-- | Applies a Configuration to the device to register the device for+-- zero-touch enrollment. After applying a configuration to a device, the+-- device automatically provisions itself on first boot, or next factory+-- reset.+--+-- /See:/ 'customersDevicesApplyConfiguration' smart constructor.+data CustomersDevicesApplyConfiguration = CustomersDevicesApplyConfiguration'+    { _cdacParent         :: !Text+    , _cdacXgafv          :: !(Maybe Xgafv)+    , _cdacUploadProtocol :: !(Maybe Text)+    , _cdacAccessToken    :: !(Maybe Text)+    , _cdacUploadType     :: !(Maybe Text)+    , _cdacPayload        :: !CustomerApplyConfigurationRequest+    , _cdacCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDevicesApplyConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdacParent'+--+-- * 'cdacXgafv'+--+-- * 'cdacUploadProtocol'+--+-- * 'cdacAccessToken'+--+-- * 'cdacUploadType'+--+-- * 'cdacPayload'+--+-- * 'cdacCallback'+customersDevicesApplyConfiguration+    :: Text -- ^ 'cdacParent'+    -> CustomerApplyConfigurationRequest -- ^ 'cdacPayload'+    -> CustomersDevicesApplyConfiguration+customersDevicesApplyConfiguration pCdacParent_ pCdacPayload_ =+    CustomersDevicesApplyConfiguration'+    { _cdacParent = pCdacParent_+    , _cdacXgafv = Nothing+    , _cdacUploadProtocol = Nothing+    , _cdacAccessToken = Nothing+    , _cdacUploadType = Nothing+    , _cdacPayload = pCdacPayload_+    , _cdacCallback = Nothing+    }++-- | Required. The customer managing the device. An API resource name in the+-- format \`customers\/[CUSTOMER_ID]\`.+cdacParent :: Lens' CustomersDevicesApplyConfiguration Text+cdacParent+  = lens _cdacParent (\ s a -> s{_cdacParent = a})++-- | V1 error format.+cdacXgafv :: Lens' CustomersDevicesApplyConfiguration (Maybe Xgafv)+cdacXgafv+  = lens _cdacXgafv (\ s a -> s{_cdacXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cdacUploadProtocol :: Lens' CustomersDevicesApplyConfiguration (Maybe Text)+cdacUploadProtocol+  = lens _cdacUploadProtocol+      (\ s a -> s{_cdacUploadProtocol = a})++-- | OAuth access token.+cdacAccessToken :: Lens' CustomersDevicesApplyConfiguration (Maybe Text)+cdacAccessToken+  = lens _cdacAccessToken+      (\ s a -> s{_cdacAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cdacUploadType :: Lens' CustomersDevicesApplyConfiguration (Maybe Text)+cdacUploadType+  = lens _cdacUploadType+      (\ s a -> s{_cdacUploadType = a})++-- | Multipart request metadata.+cdacPayload :: Lens' CustomersDevicesApplyConfiguration CustomerApplyConfigurationRequest+cdacPayload+  = lens _cdacPayload (\ s a -> s{_cdacPayload = a})++-- | JSONP+cdacCallback :: Lens' CustomersDevicesApplyConfiguration (Maybe Text)+cdacCallback+  = lens _cdacCallback (\ s a -> s{_cdacCallback = a})++instance GoogleRequest+         CustomersDevicesApplyConfiguration where+        type Rs CustomersDevicesApplyConfiguration = Empty+        type Scopes CustomersDevicesApplyConfiguration = '[]+        requestClient CustomersDevicesApplyConfiguration'{..}+          = go _cdacParent _cdacXgafv _cdacUploadProtocol+              _cdacAccessToken+              _cdacUploadType+              _cdacCallback+              (Just AltJSON)+              _cdacPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CustomersDevicesApplyConfigurationResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/Get.hs view
@@ -0,0 +1,144 @@+{-# 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.AndroidDeviceProvisioning.Customers.Devices.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the details of a device.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.devices.get@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Get+    (+    -- * REST Resource+      CustomersDevicesGetResource++    -- * Creating a Request+    , customersDevicesGet+    , CustomersDevicesGet++    -- * Request Lenses+    , cdgXgafv+    , cdgUploadProtocol+    , cdgAccessToken+    , cdgUploadType+    , cdgName+    , cdgCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.devices.get@ method which the+-- 'CustomersDevicesGet' request conforms to.+type CustomersDevicesGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Device++-- | Gets the details of a device.+--+-- /See:/ 'customersDevicesGet' smart constructor.+data CustomersDevicesGet = CustomersDevicesGet'+    { _cdgXgafv          :: !(Maybe Xgafv)+    , _cdgUploadProtocol :: !(Maybe Text)+    , _cdgAccessToken    :: !(Maybe Text)+    , _cdgUploadType     :: !(Maybe Text)+    , _cdgName           :: !Text+    , _cdgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDevicesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdgXgafv'+--+-- * 'cdgUploadProtocol'+--+-- * 'cdgAccessToken'+--+-- * 'cdgUploadType'+--+-- * 'cdgName'+--+-- * 'cdgCallback'+customersDevicesGet+    :: Text -- ^ 'cdgName'+    -> CustomersDevicesGet+customersDevicesGet pCdgName_ =+    CustomersDevicesGet'+    { _cdgXgafv = Nothing+    , _cdgUploadProtocol = Nothing+    , _cdgAccessToken = Nothing+    , _cdgUploadType = Nothing+    , _cdgName = pCdgName_+    , _cdgCallback = Nothing+    }++-- | V1 error format.+cdgXgafv :: Lens' CustomersDevicesGet (Maybe Xgafv)+cdgXgafv = lens _cdgXgafv (\ s a -> s{_cdgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cdgUploadProtocol :: Lens' CustomersDevicesGet (Maybe Text)+cdgUploadProtocol+  = lens _cdgUploadProtocol+      (\ s a -> s{_cdgUploadProtocol = a})++-- | OAuth access token.+cdgAccessToken :: Lens' CustomersDevicesGet (Maybe Text)+cdgAccessToken+  = lens _cdgAccessToken+      (\ s a -> s{_cdgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cdgUploadType :: Lens' CustomersDevicesGet (Maybe Text)+cdgUploadType+  = lens _cdgUploadType+      (\ s a -> s{_cdgUploadType = a})++-- | Required. The device to get. An API resource name in the format+-- \`customers\/[CUSTOMER_ID]\/devices\/[DEVICE_ID]\`.+cdgName :: Lens' CustomersDevicesGet Text+cdgName = lens _cdgName (\ s a -> s{_cdgName = a})++-- | JSONP+cdgCallback :: Lens' CustomersDevicesGet (Maybe Text)+cdgCallback+  = lens _cdgCallback (\ s a -> s{_cdgCallback = a})++instance GoogleRequest CustomersDevicesGet where+        type Rs CustomersDevicesGet = Device+        type Scopes CustomersDevicesGet = '[]+        requestClient CustomersDevicesGet'{..}+          = go _cdgName _cdgXgafv _cdgUploadProtocol+              _cdgAccessToken+              _cdgUploadType+              _cdgCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersDevicesGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/List.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists a customer\'s devices.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.devices.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.List+    (+    -- * REST Resource+      CustomersDevicesListResource++    -- * Creating a Request+    , customersDevicesList+    , CustomersDevicesList++    -- * Request Lenses+    , cParent+    , cXgafv+    , cUploadProtocol+    , cAccessToken+    , cUploadType+    , cPageToken+    , cPageSize+    , cCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.devices.list@ method which the+-- 'CustomersDevicesList' request conforms to.+type CustomersDevicesListResource =+     "v1" :>+       Capture "parent" Text :>+         "devices" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int64) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] CustomerListDevicesResponse++-- | Lists a customer\'s devices.+--+-- /See:/ 'customersDevicesList' smart constructor.+data CustomersDevicesList = CustomersDevicesList'+    { _cParent         :: !Text+    , _cXgafv          :: !(Maybe Xgafv)+    , _cUploadProtocol :: !(Maybe Text)+    , _cAccessToken    :: !(Maybe Text)+    , _cUploadType     :: !(Maybe Text)+    , _cPageToken      :: !(Maybe Text)+    , _cPageSize       :: !(Maybe (Textual Int64))+    , _cCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDevicesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cParent'+--+-- * 'cXgafv'+--+-- * 'cUploadProtocol'+--+-- * 'cAccessToken'+--+-- * 'cUploadType'+--+-- * 'cPageToken'+--+-- * 'cPageSize'+--+-- * 'cCallback'+customersDevicesList+    :: Text -- ^ 'cParent'+    -> CustomersDevicesList+customersDevicesList pCParent_ =+    CustomersDevicesList'+    { _cParent = pCParent_+    , _cXgafv = Nothing+    , _cUploadProtocol = Nothing+    , _cAccessToken = Nothing+    , _cUploadType = Nothing+    , _cPageToken = Nothing+    , _cPageSize = Nothing+    , _cCallback = Nothing+    }++-- | Required. The customer managing the devices. An API resource name in the+-- format \`customers\/[CUSTOMER_ID]\`.+cParent :: Lens' CustomersDevicesList Text+cParent = lens _cParent (\ s a -> s{_cParent = a})++-- | V1 error format.+cXgafv :: Lens' CustomersDevicesList (Maybe Xgafv)+cXgafv = lens _cXgafv (\ s a -> s{_cXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cUploadProtocol :: Lens' CustomersDevicesList (Maybe Text)+cUploadProtocol+  = lens _cUploadProtocol+      (\ s a -> s{_cUploadProtocol = a})++-- | OAuth access token.+cAccessToken :: Lens' CustomersDevicesList (Maybe Text)+cAccessToken+  = lens _cAccessToken (\ s a -> s{_cAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cUploadType :: Lens' CustomersDevicesList (Maybe Text)+cUploadType+  = lens _cUploadType (\ s a -> s{_cUploadType = a})++-- | A token specifying which result page to return.+cPageToken :: Lens' CustomersDevicesList (Maybe Text)+cPageToken+  = lens _cPageToken (\ s a -> s{_cPageToken = a})++-- | The maximum number of devices to show in a page of results. Must be+-- between 1 and 100 inclusive.+cPageSize :: Lens' CustomersDevicesList (Maybe Int64)+cPageSize+  = lens _cPageSize (\ s a -> s{_cPageSize = a}) .+      mapping _Coerce++-- | JSONP+cCallback :: Lens' CustomersDevicesList (Maybe Text)+cCallback+  = lens _cCallback (\ s a -> s{_cCallback = a})++instance GoogleRequest CustomersDevicesList where+        type Rs CustomersDevicesList =+             CustomerListDevicesResponse+        type Scopes CustomersDevicesList = '[]+        requestClient CustomersDevicesList'{..}+          = go _cParent _cXgafv _cUploadProtocol _cAccessToken+              _cUploadType+              _cPageToken+              _cPageSize+              _cCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersDevicesListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/RemoveConfiguration.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.RemoveConfiguration+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a configuration from device.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.devices.removeConfiguration@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.RemoveConfiguration+    (+    -- * REST Resource+      CustomersDevicesRemoveConfigurationResource++    -- * Creating a Request+    , customersDevicesRemoveConfiguration+    , CustomersDevicesRemoveConfiguration++    -- * Request Lenses+    , cdrcParent+    , cdrcXgafv+    , cdrcUploadProtocol+    , cdrcAccessToken+    , cdrcUploadType+    , cdrcPayload+    , cdrcCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.devices.removeConfiguration@ method which the+-- 'CustomersDevicesRemoveConfiguration' request conforms to.+type CustomersDevicesRemoveConfigurationResource =+     "v1" :>+       Capture "parent" Text :>+         "devices:removeConfiguration" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CustomerRemoveConfigurationRequest :>+                         Post '[JSON] Empty++-- | Removes a configuration from device.+--+-- /See:/ 'customersDevicesRemoveConfiguration' smart constructor.+data CustomersDevicesRemoveConfiguration = CustomersDevicesRemoveConfiguration'+    { _cdrcParent         :: !Text+    , _cdrcXgafv          :: !(Maybe Xgafv)+    , _cdrcUploadProtocol :: !(Maybe Text)+    , _cdrcAccessToken    :: !(Maybe Text)+    , _cdrcUploadType     :: !(Maybe Text)+    , _cdrcPayload        :: !CustomerRemoveConfigurationRequest+    , _cdrcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDevicesRemoveConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrcParent'+--+-- * 'cdrcXgafv'+--+-- * 'cdrcUploadProtocol'+--+-- * 'cdrcAccessToken'+--+-- * 'cdrcUploadType'+--+-- * 'cdrcPayload'+--+-- * 'cdrcCallback'+customersDevicesRemoveConfiguration+    :: Text -- ^ 'cdrcParent'+    -> CustomerRemoveConfigurationRequest -- ^ 'cdrcPayload'+    -> CustomersDevicesRemoveConfiguration+customersDevicesRemoveConfiguration pCdrcParent_ pCdrcPayload_ =+    CustomersDevicesRemoveConfiguration'+    { _cdrcParent = pCdrcParent_+    , _cdrcXgafv = Nothing+    , _cdrcUploadProtocol = Nothing+    , _cdrcAccessToken = Nothing+    , _cdrcUploadType = Nothing+    , _cdrcPayload = pCdrcPayload_+    , _cdrcCallback = Nothing+    }++-- | Required. The customer managing the device in the format+-- \`customers\/[CUSTOMER_ID]\`.+cdrcParent :: Lens' CustomersDevicesRemoveConfiguration Text+cdrcParent+  = lens _cdrcParent (\ s a -> s{_cdrcParent = a})++-- | V1 error format.+cdrcXgafv :: Lens' CustomersDevicesRemoveConfiguration (Maybe Xgafv)+cdrcXgafv+  = lens _cdrcXgafv (\ s a -> s{_cdrcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cdrcUploadProtocol :: Lens' CustomersDevicesRemoveConfiguration (Maybe Text)+cdrcUploadProtocol+  = lens _cdrcUploadProtocol+      (\ s a -> s{_cdrcUploadProtocol = a})++-- | OAuth access token.+cdrcAccessToken :: Lens' CustomersDevicesRemoveConfiguration (Maybe Text)+cdrcAccessToken+  = lens _cdrcAccessToken+      (\ s a -> s{_cdrcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cdrcUploadType :: Lens' CustomersDevicesRemoveConfiguration (Maybe Text)+cdrcUploadType+  = lens _cdrcUploadType+      (\ s a -> s{_cdrcUploadType = a})++-- | Multipart request metadata.+cdrcPayload :: Lens' CustomersDevicesRemoveConfiguration CustomerRemoveConfigurationRequest+cdrcPayload+  = lens _cdrcPayload (\ s a -> s{_cdrcPayload = a})++-- | JSONP+cdrcCallback :: Lens' CustomersDevicesRemoveConfiguration (Maybe Text)+cdrcCallback+  = lens _cdrcCallback (\ s a -> s{_cdrcCallback = a})++instance GoogleRequest+         CustomersDevicesRemoveConfiguration where+        type Rs CustomersDevicesRemoveConfiguration = Empty+        type Scopes CustomersDevicesRemoveConfiguration = '[]+        requestClient+          CustomersDevicesRemoveConfiguration'{..}+          = go _cdrcParent _cdrcXgafv _cdrcUploadProtocol+              _cdrcAccessToken+              _cdrcUploadType+              _cdrcCallback+              (Just AltJSON)+              _cdrcPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CustomersDevicesRemoveConfigurationResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/Unclaim.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Unclaim+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Unclaims a device from a customer and removes it from zero-touch+-- enrollment. After removing a device, a customer must contact their+-- reseller to register the device into zero-touch enrollment again.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.devices.unclaim@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Unclaim+    (+    -- * REST Resource+      CustomersDevicesUnclaimResource++    -- * Creating a Request+    , customersDevicesUnclaim+    , CustomersDevicesUnclaim++    -- * Request Lenses+    , cduParent+    , cduXgafv+    , cduUploadProtocol+    , cduAccessToken+    , cduUploadType+    , cduPayload+    , cduCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.devices.unclaim@ method which the+-- 'CustomersDevicesUnclaim' request conforms to.+type CustomersDevicesUnclaimResource =+     "v1" :>+       Capture "parent" Text :>+         "devices:unclaim" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CustomerUnclaimDeviceRequest :>+                         Post '[JSON] Empty++-- | Unclaims a device from a customer and removes it from zero-touch+-- enrollment. After removing a device, a customer must contact their+-- reseller to register the device into zero-touch enrollment again.+--+-- /See:/ 'customersDevicesUnclaim' smart constructor.+data CustomersDevicesUnclaim = CustomersDevicesUnclaim'+    { _cduParent         :: !Text+    , _cduXgafv          :: !(Maybe Xgafv)+    , _cduUploadProtocol :: !(Maybe Text)+    , _cduAccessToken    :: !(Maybe Text)+    , _cduUploadType     :: !(Maybe Text)+    , _cduPayload        :: !CustomerUnclaimDeviceRequest+    , _cduCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDevicesUnclaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cduParent'+--+-- * 'cduXgafv'+--+-- * 'cduUploadProtocol'+--+-- * 'cduAccessToken'+--+-- * 'cduUploadType'+--+-- * 'cduPayload'+--+-- * 'cduCallback'+customersDevicesUnclaim+    :: Text -- ^ 'cduParent'+    -> CustomerUnclaimDeviceRequest -- ^ 'cduPayload'+    -> CustomersDevicesUnclaim+customersDevicesUnclaim pCduParent_ pCduPayload_ =+    CustomersDevicesUnclaim'+    { _cduParent = pCduParent_+    , _cduXgafv = Nothing+    , _cduUploadProtocol = Nothing+    , _cduAccessToken = Nothing+    , _cduUploadType = Nothing+    , _cduPayload = pCduPayload_+    , _cduCallback = Nothing+    }++-- | Required. The customer managing the device. An API resource name in the+-- format \`customers\/[CUSTOMER_ID]\`.+cduParent :: Lens' CustomersDevicesUnclaim Text+cduParent+  = lens _cduParent (\ s a -> s{_cduParent = a})++-- | V1 error format.+cduXgafv :: Lens' CustomersDevicesUnclaim (Maybe Xgafv)+cduXgafv = lens _cduXgafv (\ s a -> s{_cduXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cduUploadProtocol :: Lens' CustomersDevicesUnclaim (Maybe Text)+cduUploadProtocol+  = lens _cduUploadProtocol+      (\ s a -> s{_cduUploadProtocol = a})++-- | OAuth access token.+cduAccessToken :: Lens' CustomersDevicesUnclaim (Maybe Text)+cduAccessToken+  = lens _cduAccessToken+      (\ s a -> s{_cduAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cduUploadType :: Lens' CustomersDevicesUnclaim (Maybe Text)+cduUploadType+  = lens _cduUploadType+      (\ s a -> s{_cduUploadType = a})++-- | Multipart request metadata.+cduPayload :: Lens' CustomersDevicesUnclaim CustomerUnclaimDeviceRequest+cduPayload+  = lens _cduPayload (\ s a -> s{_cduPayload = a})++-- | JSONP+cduCallback :: Lens' CustomersDevicesUnclaim (Maybe Text)+cduCallback+  = lens _cduCallback (\ s a -> s{_cduCallback = a})++instance GoogleRequest CustomersDevicesUnclaim where+        type Rs CustomersDevicesUnclaim = Empty+        type Scopes CustomersDevicesUnclaim = '[]+        requestClient CustomersDevicesUnclaim'{..}+          = go _cduParent _cduXgafv _cduUploadProtocol+              _cduAccessToken+              _cduUploadType+              _cduCallback+              (Just AltJSON)+              _cduPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersDevicesUnclaimResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Dpcs/List.hs view
@@ -0,0 +1,149 @@+{-# 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.AndroidDeviceProvisioning.Customers.Dpcs.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the DPCs (device policy controllers) that support zero-touch+-- enrollment.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.dpcs.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.Dpcs.List+    (+    -- * REST Resource+      CustomersDpcsListResource++    -- * Creating a Request+    , customersDpcsList+    , CustomersDpcsList++    -- * Request Lenses+    , cdlParent+    , cdlXgafv+    , cdlUploadProtocol+    , cdlAccessToken+    , cdlUploadType+    , cdlCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.dpcs.list@ method which the+-- 'CustomersDpcsList' request conforms to.+type CustomersDpcsListResource =+     "v1" :>+       Capture "parent" Text :>+         "dpcs" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] CustomerListDpcsResponse++-- | Lists the DPCs (device policy controllers) that support zero-touch+-- enrollment.+--+-- /See:/ 'customersDpcsList' smart constructor.+data CustomersDpcsList = CustomersDpcsList'+    { _cdlParent         :: !Text+    , _cdlXgafv          :: !(Maybe Xgafv)+    , _cdlUploadProtocol :: !(Maybe Text)+    , _cdlAccessToken    :: !(Maybe Text)+    , _cdlUploadType     :: !(Maybe Text)+    , _cdlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersDpcsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdlParent'+--+-- * 'cdlXgafv'+--+-- * 'cdlUploadProtocol'+--+-- * 'cdlAccessToken'+--+-- * 'cdlUploadType'+--+-- * 'cdlCallback'+customersDpcsList+    :: Text -- ^ 'cdlParent'+    -> CustomersDpcsList+customersDpcsList pCdlParent_ =+    CustomersDpcsList'+    { _cdlParent = pCdlParent_+    , _cdlXgafv = Nothing+    , _cdlUploadProtocol = Nothing+    , _cdlAccessToken = Nothing+    , _cdlUploadType = Nothing+    , _cdlCallback = Nothing+    }++-- | Required. The customer that can use the DPCs in configurations. An API+-- resource name in the format \`customers\/[CUSTOMER_ID]\`.+cdlParent :: Lens' CustomersDpcsList Text+cdlParent+  = lens _cdlParent (\ s a -> s{_cdlParent = a})++-- | V1 error format.+cdlXgafv :: Lens' CustomersDpcsList (Maybe Xgafv)+cdlXgafv = lens _cdlXgafv (\ s a -> s{_cdlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cdlUploadProtocol :: Lens' CustomersDpcsList (Maybe Text)+cdlUploadProtocol+  = lens _cdlUploadProtocol+      (\ s a -> s{_cdlUploadProtocol = a})++-- | OAuth access token.+cdlAccessToken :: Lens' CustomersDpcsList (Maybe Text)+cdlAccessToken+  = lens _cdlAccessToken+      (\ s a -> s{_cdlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cdlUploadType :: Lens' CustomersDpcsList (Maybe Text)+cdlUploadType+  = lens _cdlUploadType+      (\ s a -> s{_cdlUploadType = a})++-- | JSONP+cdlCallback :: Lens' CustomersDpcsList (Maybe Text)+cdlCallback+  = lens _cdlCallback (\ s a -> s{_cdlCallback = a})++instance GoogleRequest CustomersDpcsList where+        type Rs CustomersDpcsList = CustomerListDpcsResponse+        type Scopes CustomersDpcsList = '[]+        requestClient CustomersDpcsList'{..}+          = go _cdlParent _cdlXgafv _cdlUploadProtocol+              _cdlAccessToken+              _cdlUploadType+              _cdlCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy CustomersDpcsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/List.hs view
@@ -0,0 +1,157 @@+{-# 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.AndroidDeviceProvisioning.Customers.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the user\'s customer accounts.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.customers.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Customers.List+    (+    -- * REST Resource+      CustomersListResource++    -- * Creating a Request+    , customersList+    , CustomersList++    -- * Request Lenses+    , clXgafv+    , clUploadProtocol+    , clAccessToken+    , clUploadType+    , clPageToken+    , clPageSize+    , clCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.customers.list@ method which the+-- 'CustomersList' request conforms to.+type CustomersListResource =+     "v1" :>+       "customers" :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "pageToken" Text :>+                   QueryParam "pageSize" (Textual Int32) :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] CustomerListCustomersResponse++-- | Lists the user\'s customer accounts.+--+-- /See:/ 'customersList' smart constructor.+data CustomersList = CustomersList'+    { _clXgafv          :: !(Maybe Xgafv)+    , _clUploadProtocol :: !(Maybe Text)+    , _clAccessToken    :: !(Maybe Text)+    , _clUploadType     :: !(Maybe Text)+    , _clPageToken      :: !(Maybe Text)+    , _clPageSize       :: !(Maybe (Textual Int32))+    , _clCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clXgafv'+--+-- * 'clUploadProtocol'+--+-- * 'clAccessToken'+--+-- * 'clUploadType'+--+-- * 'clPageToken'+--+-- * 'clPageSize'+--+-- * 'clCallback'+customersList+    :: CustomersList+customersList =+    CustomersList'+    { _clXgafv = Nothing+    , _clUploadProtocol = Nothing+    , _clAccessToken = Nothing+    , _clUploadType = Nothing+    , _clPageToken = Nothing+    , _clPageSize = Nothing+    , _clCallback = Nothing+    }++-- | V1 error format.+clXgafv :: Lens' CustomersList (Maybe Xgafv)+clXgafv = lens _clXgafv (\ s a -> s{_clXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+clUploadProtocol :: Lens' CustomersList (Maybe Text)+clUploadProtocol+  = lens _clUploadProtocol+      (\ s a -> s{_clUploadProtocol = a})++-- | OAuth access token.+clAccessToken :: Lens' CustomersList (Maybe Text)+clAccessToken+  = lens _clAccessToken+      (\ s a -> s{_clAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+clUploadType :: Lens' CustomersList (Maybe Text)+clUploadType+  = lens _clUploadType (\ s a -> s{_clUploadType = a})++-- | A token specifying which result page to return.+clPageToken :: Lens' CustomersList (Maybe Text)+clPageToken+  = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | The maximum number of customers to show in a page of results. A number+-- between 1 and 100 (inclusive).+clPageSize :: Lens' CustomersList (Maybe Int32)+clPageSize+  = lens _clPageSize (\ s a -> s{_clPageSize = a}) .+      mapping _Coerce++-- | JSONP+clCallback :: Lens' CustomersList (Maybe Text)+clCallback+  = lens _clCallback (\ s a -> s{_clCallback = a})++instance GoogleRequest CustomersList where+        type Rs CustomersList = CustomerListCustomersResponse+        type Scopes CustomersList = '[]+        requestClient CustomersList'{..}+          = go _clXgafv _clUploadProtocol _clAccessToken+              _clUploadType+              _clPageToken+              _clPageSize+              _clCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient (Proxy :: Proxy CustomersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Operations/Get.hs view
@@ -0,0 +1,145 @@+{-# 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.AndroidDeviceProvisioning.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.operations.get@.+module Network.Google.Resource.AndroidDeviceProvisioning.Operations.Get+    (+    -- * REST Resource+      OperationsGetResource++    -- * Creating a Request+    , operationsGet+    , OperationsGet++    -- * Request Lenses+    , ogXgafv+    , ogUploadProtocol+    , ogAccessToken+    , ogUploadType+    , ogName+    , ogCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.operations.get@ method which the+-- 'OperationsGet' request conforms to.+type OperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'operationsGet' smart constructor.+data OperationsGet = OperationsGet'+    { _ogXgafv          :: !(Maybe Xgafv)+    , _ogUploadProtocol :: !(Maybe Text)+    , _ogAccessToken    :: !(Maybe Text)+    , _ogUploadType     :: !(Maybe Text)+    , _ogName           :: !Text+    , _ogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogXgafv'+--+-- * 'ogUploadProtocol'+--+-- * 'ogAccessToken'+--+-- * 'ogUploadType'+--+-- * 'ogName'+--+-- * 'ogCallback'+operationsGet+    :: Text -- ^ 'ogName'+    -> OperationsGet+operationsGet pOgName_ =+    OperationsGet'+    { _ogXgafv = Nothing+    , _ogUploadProtocol = Nothing+    , _ogAccessToken = Nothing+    , _ogUploadType = Nothing+    , _ogName = pOgName_+    , _ogCallback = Nothing+    }++-- | V1 error format.+ogXgafv :: Lens' OperationsGet (Maybe Xgafv)+ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ogUploadProtocol :: Lens' OperationsGet (Maybe Text)+ogUploadProtocol+  = lens _ogUploadProtocol+      (\ s a -> s{_ogUploadProtocol = a})++-- | OAuth access token.+ogAccessToken :: Lens' OperationsGet (Maybe Text)+ogAccessToken+  = lens _ogAccessToken+      (\ s a -> s{_ogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ogUploadType :: Lens' OperationsGet (Maybe Text)+ogUploadType+  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})++-- | The name of the operation resource.+ogName :: Lens' OperationsGet Text+ogName = lens _ogName (\ s a -> s{_ogName = a})++-- | JSONP+ogCallback :: Lens' OperationsGet (Maybe Text)+ogCallback+  = lens _ogCallback (\ s a -> s{_ogCallback = a})++instance GoogleRequest OperationsGet where+        type Rs OperationsGet = Operation+        type Scopes OperationsGet = '[]+        requestClient OperationsGet'{..}+          = go _ogName _ogXgafv _ogUploadProtocol+              _ogAccessToken+              _ogUploadType+              _ogCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient (Proxy :: Proxy OperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Customers/Create.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a customer for zero-touch enrollment. After the method returns+-- successfully, admin and owner roles can manage devices and EMM configs+-- by calling API methods or using their zero-touch enrollment portal. The+-- customer receives an email that welcomes them to zero-touch enrollment+-- and explains how to sign into the portal.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.customers.create@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.Create+    (+    -- * REST Resource+      PartnersCustomersCreateResource++    -- * Creating a Request+    , partnersCustomersCreate+    , PartnersCustomersCreate++    -- * Request Lenses+    , pccParent+    , pccXgafv+    , pccUploadProtocol+    , pccAccessToken+    , pccUploadType+    , pccPayload+    , pccCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.customers.create@ method which the+-- 'PartnersCustomersCreate' request conforms to.+type PartnersCustomersCreateResource =+     "v1" :>+       Capture "parent" Text :>+         "customers" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreateCustomerRequest :>+                         Post '[JSON] Company++-- | Creates a customer for zero-touch enrollment. After the method returns+-- successfully, admin and owner roles can manage devices and EMM configs+-- by calling API methods or using their zero-touch enrollment portal. The+-- customer receives an email that welcomes them to zero-touch enrollment+-- and explains how to sign into the portal.+--+-- /See:/ 'partnersCustomersCreate' smart constructor.+data PartnersCustomersCreate = PartnersCustomersCreate'+    { _pccParent         :: !Text+    , _pccXgafv          :: !(Maybe Xgafv)+    , _pccUploadProtocol :: !(Maybe Text)+    , _pccAccessToken    :: !(Maybe Text)+    , _pccUploadType     :: !(Maybe Text)+    , _pccPayload        :: !CreateCustomerRequest+    , _pccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersCustomersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pccParent'+--+-- * 'pccXgafv'+--+-- * 'pccUploadProtocol'+--+-- * 'pccAccessToken'+--+-- * 'pccUploadType'+--+-- * 'pccPayload'+--+-- * 'pccCallback'+partnersCustomersCreate+    :: Text -- ^ 'pccParent'+    -> CreateCustomerRequest -- ^ 'pccPayload'+    -> PartnersCustomersCreate+partnersCustomersCreate pPccParent_ pPccPayload_ =+    PartnersCustomersCreate'+    { _pccParent = pPccParent_+    , _pccXgafv = Nothing+    , _pccUploadProtocol = Nothing+    , _pccAccessToken = Nothing+    , _pccUploadType = Nothing+    , _pccPayload = pPccPayload_+    , _pccCallback = Nothing+    }++-- | Required. The parent resource ID in the format+-- \`partners\/[PARTNER_ID]\` that identifies the reseller.+pccParent :: Lens' PartnersCustomersCreate Text+pccParent+  = lens _pccParent (\ s a -> s{_pccParent = a})++-- | V1 error format.+pccXgafv :: Lens' PartnersCustomersCreate (Maybe Xgafv)+pccXgafv = lens _pccXgafv (\ s a -> s{_pccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pccUploadProtocol :: Lens' PartnersCustomersCreate (Maybe Text)+pccUploadProtocol+  = lens _pccUploadProtocol+      (\ s a -> s{_pccUploadProtocol = a})++-- | OAuth access token.+pccAccessToken :: Lens' PartnersCustomersCreate (Maybe Text)+pccAccessToken+  = lens _pccAccessToken+      (\ s a -> s{_pccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pccUploadType :: Lens' PartnersCustomersCreate (Maybe Text)+pccUploadType+  = lens _pccUploadType+      (\ s a -> s{_pccUploadType = a})++-- | Multipart request metadata.+pccPayload :: Lens' PartnersCustomersCreate CreateCustomerRequest+pccPayload+  = lens _pccPayload (\ s a -> s{_pccPayload = a})++-- | JSONP+pccCallback :: Lens' PartnersCustomersCreate (Maybe Text)+pccCallback+  = lens _pccCallback (\ s a -> s{_pccCallback = a})++instance GoogleRequest PartnersCustomersCreate where+        type Rs PartnersCustomersCreate = Company+        type Scopes PartnersCustomersCreate = '[]+        requestClient PartnersCustomersCreate'{..}+          = go _pccParent _pccXgafv _pccUploadProtocol+              _pccAccessToken+              _pccUploadType+              _pccCallback+              (Just AltJSON)+              _pccPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersCustomersCreateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Customers/List.hs view
@@ -0,0 +1,178 @@+{-# 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.AndroidDeviceProvisioning.Partners.Customers.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the customers that are enrolled to the reseller identified by the+-- \`partnerId\` argument. This list includes customers that the reseller+-- created and customers that enrolled themselves using the portal.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.customers.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.List+    (+    -- * REST Resource+      PartnersCustomersListResource++    -- * Creating a Request+    , partnersCustomersList+    , PartnersCustomersList++    -- * Request Lenses+    , pclXgafv+    , pclUploadProtocol+    , pclAccessToken+    , pclPartnerId+    , pclUploadType+    , pclPageToken+    , pclPageSize+    , pclCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.customers.list@ method which the+-- 'PartnersCustomersList' request conforms to.+type PartnersCustomersListResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "customers" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListCustomersResponse++-- | Lists the customers that are enrolled to the reseller identified by the+-- \`partnerId\` argument. This list includes customers that the reseller+-- created and customers that enrolled themselves using the portal.+--+-- /See:/ 'partnersCustomersList' smart constructor.+data PartnersCustomersList = PartnersCustomersList'+    { _pclXgafv          :: !(Maybe Xgafv)+    , _pclUploadProtocol :: !(Maybe Text)+    , _pclAccessToken    :: !(Maybe Text)+    , _pclPartnerId      :: !(Textual Int64)+    , _pclUploadType     :: !(Maybe Text)+    , _pclPageToken      :: !(Maybe Text)+    , _pclPageSize       :: !(Maybe (Textual Int32))+    , _pclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersCustomersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pclXgafv'+--+-- * 'pclUploadProtocol'+--+-- * 'pclAccessToken'+--+-- * 'pclPartnerId'+--+-- * 'pclUploadType'+--+-- * 'pclPageToken'+--+-- * 'pclPageSize'+--+-- * 'pclCallback'+partnersCustomersList+    :: Int64 -- ^ 'pclPartnerId'+    -> PartnersCustomersList+partnersCustomersList pPclPartnerId_ =+    PartnersCustomersList'+    { _pclXgafv = Nothing+    , _pclUploadProtocol = Nothing+    , _pclAccessToken = Nothing+    , _pclPartnerId = _Coerce # pPclPartnerId_+    , _pclUploadType = Nothing+    , _pclPageToken = Nothing+    , _pclPageSize = Nothing+    , _pclCallback = Nothing+    }++-- | V1 error format.+pclXgafv :: Lens' PartnersCustomersList (Maybe Xgafv)+pclXgafv = lens _pclXgafv (\ s a -> s{_pclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pclUploadProtocol :: Lens' PartnersCustomersList (Maybe Text)+pclUploadProtocol+  = lens _pclUploadProtocol+      (\ s a -> s{_pclUploadProtocol = a})++-- | OAuth access token.+pclAccessToken :: Lens' PartnersCustomersList (Maybe Text)+pclAccessToken+  = lens _pclAccessToken+      (\ s a -> s{_pclAccessToken = a})++-- | Required. The ID of the reseller partner.+pclPartnerId :: Lens' PartnersCustomersList Int64+pclPartnerId+  = lens _pclPartnerId (\ s a -> s{_pclPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pclUploadType :: Lens' PartnersCustomersList (Maybe Text)+pclUploadType+  = lens _pclUploadType+      (\ s a -> s{_pclUploadType = a})++-- | A token identifying a page of results returned by the server.+pclPageToken :: Lens' PartnersCustomersList (Maybe Text)+pclPageToken+  = lens _pclPageToken (\ s a -> s{_pclPageToken = a})++-- | The maximum number of results to be returned. If not specified or 0, all+-- the records are returned.+pclPageSize :: Lens' PartnersCustomersList (Maybe Int32)+pclPageSize+  = lens _pclPageSize (\ s a -> s{_pclPageSize = a}) .+      mapping _Coerce++-- | JSONP+pclCallback :: Lens' PartnersCustomersList (Maybe Text)+pclCallback+  = lens _pclCallback (\ s a -> s{_pclCallback = a})++instance GoogleRequest PartnersCustomersList where+        type Rs PartnersCustomersList = ListCustomersResponse+        type Scopes PartnersCustomersList = '[]+        requestClient PartnersCustomersList'{..}+          = go _pclPartnerId _pclXgafv _pclUploadProtocol+              _pclAccessToken+              _pclUploadType+              _pclPageToken+              _pclPageSize+              _pclCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersCustomersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Claim.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Claim+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Claims a device for a customer and adds it to zero-touch enrollment. If+-- the device is already claimed by another customer, the call returns an+-- error.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.claim@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Claim+    (+    -- * REST Resource+      PartnersDevicesClaimResource++    -- * Creating a Request+    , partnersDevicesClaim+    , PartnersDevicesClaim++    -- * Request Lenses+    , pdcXgafv+    , pdcUploadProtocol+    , pdcAccessToken+    , pdcPartnerId+    , pdcUploadType+    , pdcPayload+    , pdcCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.claim@ method which the+-- 'PartnersDevicesClaim' request conforms to.+type PartnersDevicesClaimResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:claim" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] ClaimDeviceRequest :>+                           Post '[JSON] ClaimDeviceResponse++-- | Claims a device for a customer and adds it to zero-touch enrollment. If+-- the device is already claimed by another customer, the call returns an+-- error.+--+-- /See:/ 'partnersDevicesClaim' smart constructor.+data PartnersDevicesClaim = PartnersDevicesClaim'+    { _pdcXgafv          :: !(Maybe Xgafv)+    , _pdcUploadProtocol :: !(Maybe Text)+    , _pdcAccessToken    :: !(Maybe Text)+    , _pdcPartnerId      :: !(Textual Int64)+    , _pdcUploadType     :: !(Maybe Text)+    , _pdcPayload        :: !ClaimDeviceRequest+    , _pdcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesClaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdcXgafv'+--+-- * 'pdcUploadProtocol'+--+-- * 'pdcAccessToken'+--+-- * 'pdcPartnerId'+--+-- * 'pdcUploadType'+--+-- * 'pdcPayload'+--+-- * 'pdcCallback'+partnersDevicesClaim+    :: Int64 -- ^ 'pdcPartnerId'+    -> ClaimDeviceRequest -- ^ 'pdcPayload'+    -> PartnersDevicesClaim+partnersDevicesClaim pPdcPartnerId_ pPdcPayload_ =+    PartnersDevicesClaim'+    { _pdcXgafv = Nothing+    , _pdcUploadProtocol = Nothing+    , _pdcAccessToken = Nothing+    , _pdcPartnerId = _Coerce # pPdcPartnerId_+    , _pdcUploadType = Nothing+    , _pdcPayload = pPdcPayload_+    , _pdcCallback = Nothing+    }++-- | V1 error format.+pdcXgafv :: Lens' PartnersDevicesClaim (Maybe Xgafv)+pdcXgafv = lens _pdcXgafv (\ s a -> s{_pdcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdcUploadProtocol :: Lens' PartnersDevicesClaim (Maybe Text)+pdcUploadProtocol+  = lens _pdcUploadProtocol+      (\ s a -> s{_pdcUploadProtocol = a})++-- | OAuth access token.+pdcAccessToken :: Lens' PartnersDevicesClaim (Maybe Text)+pdcAccessToken+  = lens _pdcAccessToken+      (\ s a -> s{_pdcAccessToken = a})++-- | Required. The ID of the reseller partner.+pdcPartnerId :: Lens' PartnersDevicesClaim Int64+pdcPartnerId+  = lens _pdcPartnerId (\ s a -> s{_pdcPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdcUploadType :: Lens' PartnersDevicesClaim (Maybe Text)+pdcUploadType+  = lens _pdcUploadType+      (\ s a -> s{_pdcUploadType = a})++-- | Multipart request metadata.+pdcPayload :: Lens' PartnersDevicesClaim ClaimDeviceRequest+pdcPayload+  = lens _pdcPayload (\ s a -> s{_pdcPayload = a})++-- | JSONP+pdcCallback :: Lens' PartnersDevicesClaim (Maybe Text)+pdcCallback+  = lens _pdcCallback (\ s a -> s{_pdcCallback = a})++instance GoogleRequest PartnersDevicesClaim where+        type Rs PartnersDevicesClaim = ClaimDeviceResponse+        type Scopes PartnersDevicesClaim = '[]+        requestClient PartnersDevicesClaim'{..}+          = go _pdcPartnerId _pdcXgafv _pdcUploadProtocol+              _pdcAccessToken+              _pdcUploadType+              _pdcCallback+              (Just AltJSON)+              _pdcPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesClaimResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/ClaimAsync.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.ClaimAsync+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Claims a batch of devices for a customer asynchronously. Adds the+-- devices to zero-touch enrollment. To learn more, read [Long‑running+-- batch operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.claimAsync@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.ClaimAsync+    (+    -- * REST Resource+      PartnersDevicesClaimAsyncResource++    -- * Creating a Request+    , partnersDevicesClaimAsync+    , PartnersDevicesClaimAsync++    -- * Request Lenses+    , pdcaXgafv+    , pdcaUploadProtocol+    , pdcaAccessToken+    , pdcaPartnerId+    , pdcaUploadType+    , pdcaPayload+    , pdcaCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.claimAsync@ method which the+-- 'PartnersDevicesClaimAsync' request conforms to.+type PartnersDevicesClaimAsyncResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:claimAsync" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] ClaimDevicesRequest :>+                           Post '[JSON] Operation++-- | Claims a batch of devices for a customer asynchronously. Adds the+-- devices to zero-touch enrollment. To learn more, read [Long‑running+-- batch operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ 'partnersDevicesClaimAsync' smart constructor.+data PartnersDevicesClaimAsync = PartnersDevicesClaimAsync'+    { _pdcaXgafv          :: !(Maybe Xgafv)+    , _pdcaUploadProtocol :: !(Maybe Text)+    , _pdcaAccessToken    :: !(Maybe Text)+    , _pdcaPartnerId      :: !(Textual Int64)+    , _pdcaUploadType     :: !(Maybe Text)+    , _pdcaPayload        :: !ClaimDevicesRequest+    , _pdcaCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesClaimAsync' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdcaXgafv'+--+-- * 'pdcaUploadProtocol'+--+-- * 'pdcaAccessToken'+--+-- * 'pdcaPartnerId'+--+-- * 'pdcaUploadType'+--+-- * 'pdcaPayload'+--+-- * 'pdcaCallback'+partnersDevicesClaimAsync+    :: Int64 -- ^ 'pdcaPartnerId'+    -> ClaimDevicesRequest -- ^ 'pdcaPayload'+    -> PartnersDevicesClaimAsync+partnersDevicesClaimAsync pPdcaPartnerId_ pPdcaPayload_ =+    PartnersDevicesClaimAsync'+    { _pdcaXgafv = Nothing+    , _pdcaUploadProtocol = Nothing+    , _pdcaAccessToken = Nothing+    , _pdcaPartnerId = _Coerce # pPdcaPartnerId_+    , _pdcaUploadType = Nothing+    , _pdcaPayload = pPdcaPayload_+    , _pdcaCallback = Nothing+    }++-- | V1 error format.+pdcaXgafv :: Lens' PartnersDevicesClaimAsync (Maybe Xgafv)+pdcaXgafv+  = lens _pdcaXgafv (\ s a -> s{_pdcaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdcaUploadProtocol :: Lens' PartnersDevicesClaimAsync (Maybe Text)+pdcaUploadProtocol+  = lens _pdcaUploadProtocol+      (\ s a -> s{_pdcaUploadProtocol = a})++-- | OAuth access token.+pdcaAccessToken :: Lens' PartnersDevicesClaimAsync (Maybe Text)+pdcaAccessToken+  = lens _pdcaAccessToken+      (\ s a -> s{_pdcaAccessToken = a})++-- | Required. The ID of the reseller partner.+pdcaPartnerId :: Lens' PartnersDevicesClaimAsync Int64+pdcaPartnerId+  = lens _pdcaPartnerId+      (\ s a -> s{_pdcaPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdcaUploadType :: Lens' PartnersDevicesClaimAsync (Maybe Text)+pdcaUploadType+  = lens _pdcaUploadType+      (\ s a -> s{_pdcaUploadType = a})++-- | Multipart request metadata.+pdcaPayload :: Lens' PartnersDevicesClaimAsync ClaimDevicesRequest+pdcaPayload+  = lens _pdcaPayload (\ s a -> s{_pdcaPayload = a})++-- | JSONP+pdcaCallback :: Lens' PartnersDevicesClaimAsync (Maybe Text)+pdcaCallback+  = lens _pdcaCallback (\ s a -> s{_pdcaCallback = a})++instance GoogleRequest PartnersDevicesClaimAsync+         where+        type Rs PartnersDevicesClaimAsync = Operation+        type Scopes PartnersDevicesClaimAsync = '[]+        requestClient PartnersDevicesClaimAsync'{..}+          = go _pdcaPartnerId _pdcaXgafv _pdcaUploadProtocol+              _pdcaAccessToken+              _pdcaUploadType+              _pdcaCallback+              (Just AltJSON)+              _pdcaPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesClaimAsyncResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/FindByIdentifier.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByIdentifier+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Finds devices by hardware identifiers, such as IMEI.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.findByIdentifier@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByIdentifier+    (+    -- * REST Resource+      PartnersDevicesFindByIdentifierResource++    -- * Creating a Request+    , partnersDevicesFindByIdentifier+    , PartnersDevicesFindByIdentifier++    -- * Request Lenses+    , pdfbiXgafv+    , pdfbiUploadProtocol+    , pdfbiAccessToken+    , pdfbiPartnerId+    , pdfbiUploadType+    , pdfbiPayload+    , pdfbiCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.findByIdentifier@ method which the+-- 'PartnersDevicesFindByIdentifier' request conforms to.+type PartnersDevicesFindByIdentifierResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:findByIdentifier" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] FindDevicesByDeviceIdentifierRequest+                           :> Post '[JSON] FindDevicesByDeviceIdentifierResponse++-- | Finds devices by hardware identifiers, such as IMEI.+--+-- /See:/ 'partnersDevicesFindByIdentifier' smart constructor.+data PartnersDevicesFindByIdentifier = PartnersDevicesFindByIdentifier'+    { _pdfbiXgafv          :: !(Maybe Xgafv)+    , _pdfbiUploadProtocol :: !(Maybe Text)+    , _pdfbiAccessToken    :: !(Maybe Text)+    , _pdfbiPartnerId      :: !(Textual Int64)+    , _pdfbiUploadType     :: !(Maybe Text)+    , _pdfbiPayload        :: !FindDevicesByDeviceIdentifierRequest+    , _pdfbiCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesFindByIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdfbiXgafv'+--+-- * 'pdfbiUploadProtocol'+--+-- * 'pdfbiAccessToken'+--+-- * 'pdfbiPartnerId'+--+-- * 'pdfbiUploadType'+--+-- * 'pdfbiPayload'+--+-- * 'pdfbiCallback'+partnersDevicesFindByIdentifier+    :: Int64 -- ^ 'pdfbiPartnerId'+    -> FindDevicesByDeviceIdentifierRequest -- ^ 'pdfbiPayload'+    -> PartnersDevicesFindByIdentifier+partnersDevicesFindByIdentifier pPdfbiPartnerId_ pPdfbiPayload_ =+    PartnersDevicesFindByIdentifier'+    { _pdfbiXgafv = Nothing+    , _pdfbiUploadProtocol = Nothing+    , _pdfbiAccessToken = Nothing+    , _pdfbiPartnerId = _Coerce # pPdfbiPartnerId_+    , _pdfbiUploadType = Nothing+    , _pdfbiPayload = pPdfbiPayload_+    , _pdfbiCallback = Nothing+    }++-- | V1 error format.+pdfbiXgafv :: Lens' PartnersDevicesFindByIdentifier (Maybe Xgafv)+pdfbiXgafv+  = lens _pdfbiXgafv (\ s a -> s{_pdfbiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdfbiUploadProtocol :: Lens' PartnersDevicesFindByIdentifier (Maybe Text)+pdfbiUploadProtocol+  = lens _pdfbiUploadProtocol+      (\ s a -> s{_pdfbiUploadProtocol = a})++-- | OAuth access token.+pdfbiAccessToken :: Lens' PartnersDevicesFindByIdentifier (Maybe Text)+pdfbiAccessToken+  = lens _pdfbiAccessToken+      (\ s a -> s{_pdfbiAccessToken = a})++-- | Required. The ID of the reseller partner.+pdfbiPartnerId :: Lens' PartnersDevicesFindByIdentifier Int64+pdfbiPartnerId+  = lens _pdfbiPartnerId+      (\ s a -> s{_pdfbiPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdfbiUploadType :: Lens' PartnersDevicesFindByIdentifier (Maybe Text)+pdfbiUploadType+  = lens _pdfbiUploadType+      (\ s a -> s{_pdfbiUploadType = a})++-- | Multipart request metadata.+pdfbiPayload :: Lens' PartnersDevicesFindByIdentifier FindDevicesByDeviceIdentifierRequest+pdfbiPayload+  = lens _pdfbiPayload (\ s a -> s{_pdfbiPayload = a})++-- | JSONP+pdfbiCallback :: Lens' PartnersDevicesFindByIdentifier (Maybe Text)+pdfbiCallback+  = lens _pdfbiCallback+      (\ s a -> s{_pdfbiCallback = a})++instance GoogleRequest+         PartnersDevicesFindByIdentifier where+        type Rs PartnersDevicesFindByIdentifier =+             FindDevicesByDeviceIdentifierResponse+        type Scopes PartnersDevicesFindByIdentifier = '[]+        requestClient PartnersDevicesFindByIdentifier'{..}+          = go _pdfbiPartnerId _pdfbiXgafv _pdfbiUploadProtocol+              _pdfbiAccessToken+              _pdfbiUploadType+              _pdfbiCallback+              (Just AltJSON)+              _pdfbiPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy PartnersDevicesFindByIdentifierResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/FindByOwner.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByOwner+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Finds devices claimed for customers. The results only contain devices+-- registered to the reseller that\'s identified by the \`partnerId\`+-- argument. The customer\'s devices purchased from other resellers don\'t+-- appear in the results.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.findByOwner@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByOwner+    (+    -- * REST Resource+      PartnersDevicesFindByOwnerResource++    -- * Creating a Request+    , partnersDevicesFindByOwner+    , PartnersDevicesFindByOwner++    -- * Request Lenses+    , pdfboXgafv+    , pdfboUploadProtocol+    , pdfboAccessToken+    , pdfboPartnerId+    , pdfboUploadType+    , pdfboPayload+    , pdfboCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.findByOwner@ method which the+-- 'PartnersDevicesFindByOwner' request conforms to.+type PartnersDevicesFindByOwnerResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:findByOwner" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] FindDevicesByOwnerRequest :>+                           Post '[JSON] FindDevicesByOwnerResponse++-- | Finds devices claimed for customers. The results only contain devices+-- registered to the reseller that\'s identified by the \`partnerId\`+-- argument. The customer\'s devices purchased from other resellers don\'t+-- appear in the results.+--+-- /See:/ 'partnersDevicesFindByOwner' smart constructor.+data PartnersDevicesFindByOwner = PartnersDevicesFindByOwner'+    { _pdfboXgafv          :: !(Maybe Xgafv)+    , _pdfboUploadProtocol :: !(Maybe Text)+    , _pdfboAccessToken    :: !(Maybe Text)+    , _pdfboPartnerId      :: !(Textual Int64)+    , _pdfboUploadType     :: !(Maybe Text)+    , _pdfboPayload        :: !FindDevicesByOwnerRequest+    , _pdfboCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesFindByOwner' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdfboXgafv'+--+-- * 'pdfboUploadProtocol'+--+-- * 'pdfboAccessToken'+--+-- * 'pdfboPartnerId'+--+-- * 'pdfboUploadType'+--+-- * 'pdfboPayload'+--+-- * 'pdfboCallback'+partnersDevicesFindByOwner+    :: Int64 -- ^ 'pdfboPartnerId'+    -> FindDevicesByOwnerRequest -- ^ 'pdfboPayload'+    -> PartnersDevicesFindByOwner+partnersDevicesFindByOwner pPdfboPartnerId_ pPdfboPayload_ =+    PartnersDevicesFindByOwner'+    { _pdfboXgafv = Nothing+    , _pdfboUploadProtocol = Nothing+    , _pdfboAccessToken = Nothing+    , _pdfboPartnerId = _Coerce # pPdfboPartnerId_+    , _pdfboUploadType = Nothing+    , _pdfboPayload = pPdfboPayload_+    , _pdfboCallback = Nothing+    }++-- | V1 error format.+pdfboXgafv :: Lens' PartnersDevicesFindByOwner (Maybe Xgafv)+pdfboXgafv+  = lens _pdfboXgafv (\ s a -> s{_pdfboXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdfboUploadProtocol :: Lens' PartnersDevicesFindByOwner (Maybe Text)+pdfboUploadProtocol+  = lens _pdfboUploadProtocol+      (\ s a -> s{_pdfboUploadProtocol = a})++-- | OAuth access token.+pdfboAccessToken :: Lens' PartnersDevicesFindByOwner (Maybe Text)+pdfboAccessToken+  = lens _pdfboAccessToken+      (\ s a -> s{_pdfboAccessToken = a})++-- | Required. The ID of the reseller partner.+pdfboPartnerId :: Lens' PartnersDevicesFindByOwner Int64+pdfboPartnerId+  = lens _pdfboPartnerId+      (\ s a -> s{_pdfboPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdfboUploadType :: Lens' PartnersDevicesFindByOwner (Maybe Text)+pdfboUploadType+  = lens _pdfboUploadType+      (\ s a -> s{_pdfboUploadType = a})++-- | Multipart request metadata.+pdfboPayload :: Lens' PartnersDevicesFindByOwner FindDevicesByOwnerRequest+pdfboPayload+  = lens _pdfboPayload (\ s a -> s{_pdfboPayload = a})++-- | JSONP+pdfboCallback :: Lens' PartnersDevicesFindByOwner (Maybe Text)+pdfboCallback+  = lens _pdfboCallback+      (\ s a -> s{_pdfboCallback = a})++instance GoogleRequest PartnersDevicesFindByOwner+         where+        type Rs PartnersDevicesFindByOwner =+             FindDevicesByOwnerResponse+        type Scopes PartnersDevicesFindByOwner = '[]+        requestClient PartnersDevicesFindByOwner'{..}+          = go _pdfboPartnerId _pdfboXgafv _pdfboUploadProtocol+              _pdfboAccessToken+              _pdfboUploadType+              _pdfboCallback+              (Just AltJSON)+              _pdfboPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesFindByOwnerResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Get.hs view
@@ -0,0 +1,144 @@+{-# 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.AndroidDeviceProvisioning.Partners.Devices.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a device.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.get@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Get+    (+    -- * REST Resource+      PartnersDevicesGetResource++    -- * Creating a Request+    , partnersDevicesGet+    , PartnersDevicesGet++    -- * Request Lenses+    , pdgXgafv+    , pdgUploadProtocol+    , pdgAccessToken+    , pdgUploadType+    , pdgName+    , pdgCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.get@ method which the+-- 'PartnersDevicesGet' request conforms to.+type PartnersDevicesGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Device++-- | Gets a device.+--+-- /See:/ 'partnersDevicesGet' smart constructor.+data PartnersDevicesGet = PartnersDevicesGet'+    { _pdgXgafv          :: !(Maybe Xgafv)+    , _pdgUploadProtocol :: !(Maybe Text)+    , _pdgAccessToken    :: !(Maybe Text)+    , _pdgUploadType     :: !(Maybe Text)+    , _pdgName           :: !Text+    , _pdgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdgXgafv'+--+-- * 'pdgUploadProtocol'+--+-- * 'pdgAccessToken'+--+-- * 'pdgUploadType'+--+-- * 'pdgName'+--+-- * 'pdgCallback'+partnersDevicesGet+    :: Text -- ^ 'pdgName'+    -> PartnersDevicesGet+partnersDevicesGet pPdgName_ =+    PartnersDevicesGet'+    { _pdgXgafv = Nothing+    , _pdgUploadProtocol = Nothing+    , _pdgAccessToken = Nothing+    , _pdgUploadType = Nothing+    , _pdgName = pPdgName_+    , _pdgCallback = Nothing+    }++-- | V1 error format.+pdgXgafv :: Lens' PartnersDevicesGet (Maybe Xgafv)+pdgXgafv = lens _pdgXgafv (\ s a -> s{_pdgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdgUploadProtocol :: Lens' PartnersDevicesGet (Maybe Text)+pdgUploadProtocol+  = lens _pdgUploadProtocol+      (\ s a -> s{_pdgUploadProtocol = a})++-- | OAuth access token.+pdgAccessToken :: Lens' PartnersDevicesGet (Maybe Text)+pdgAccessToken+  = lens _pdgAccessToken+      (\ s a -> s{_pdgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdgUploadType :: Lens' PartnersDevicesGet (Maybe Text)+pdgUploadType+  = lens _pdgUploadType+      (\ s a -> s{_pdgUploadType = a})++-- | Required. The device API resource name in the format+-- \`partners\/[PARTNER_ID]\/devices\/[DEVICE_ID]\`.+pdgName :: Lens' PartnersDevicesGet Text+pdgName = lens _pdgName (\ s a -> s{_pdgName = a})++-- | JSONP+pdgCallback :: Lens' PartnersDevicesGet (Maybe Text)+pdgCallback+  = lens _pdgCallback (\ s a -> s{_pdgCallback = a})++instance GoogleRequest PartnersDevicesGet where+        type Rs PartnersDevicesGet = Device+        type Scopes PartnersDevicesGet = '[]+        requestClient PartnersDevicesGet'{..}+          = go _pdgName _pdgXgafv _pdgUploadProtocol+              _pdgAccessToken+              _pdgUploadType+              _pdgCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Metadata.hs view
@@ -0,0 +1,178 @@+{-# 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.AndroidDeviceProvisioning.Partners.Devices.Metadata+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates reseller metadata associated with the device.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.metadata@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Metadata+    (+    -- * REST Resource+      PartnersDevicesMetadataResource++    -- * Creating a Request+    , partnersDevicesMetadata+    , PartnersDevicesMetadata++    -- * Request Lenses+    , pdmXgafv+    , pdmUploadProtocol+    , pdmAccessToken+    , pdmUploadType+    , pdmPayload+    , pdmDeviceId+    , pdmCallback+    , pdmMetadataOwnerId+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.metadata@ method which the+-- 'PartnersDevicesMetadata' request conforms to.+type PartnersDevicesMetadataResource =+     "v1" :>+       "partners" :>+         Capture "metadataOwnerId" (Textual Int64) :>+           "devices" :>+             Capture "deviceId" (Textual Int64) :>+               "metadata" :>+                 QueryParam "$.xgafv" Xgafv :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] UpdateDeviceMetadataRequest :>+                               Post '[JSON] DeviceMetadata++-- | Updates reseller metadata associated with the device.+--+-- /See:/ 'partnersDevicesMetadata' smart constructor.+data PartnersDevicesMetadata = PartnersDevicesMetadata'+    { _pdmXgafv           :: !(Maybe Xgafv)+    , _pdmUploadProtocol  :: !(Maybe Text)+    , _pdmAccessToken     :: !(Maybe Text)+    , _pdmUploadType      :: !(Maybe Text)+    , _pdmPayload         :: !UpdateDeviceMetadataRequest+    , _pdmDeviceId        :: !(Textual Int64)+    , _pdmCallback        :: !(Maybe Text)+    , _pdmMetadataOwnerId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdmXgafv'+--+-- * 'pdmUploadProtocol'+--+-- * 'pdmAccessToken'+--+-- * 'pdmUploadType'+--+-- * 'pdmPayload'+--+-- * 'pdmDeviceId'+--+-- * 'pdmCallback'+--+-- * 'pdmMetadataOwnerId'+partnersDevicesMetadata+    :: UpdateDeviceMetadataRequest -- ^ 'pdmPayload'+    -> Int64 -- ^ 'pdmDeviceId'+    -> Int64 -- ^ 'pdmMetadataOwnerId'+    -> PartnersDevicesMetadata+partnersDevicesMetadata pPdmPayload_ pPdmDeviceId_ pPdmMetadataOwnerId_ =+    PartnersDevicesMetadata'+    { _pdmXgafv = Nothing+    , _pdmUploadProtocol = Nothing+    , _pdmAccessToken = Nothing+    , _pdmUploadType = Nothing+    , _pdmPayload = pPdmPayload_+    , _pdmDeviceId = _Coerce # pPdmDeviceId_+    , _pdmCallback = Nothing+    , _pdmMetadataOwnerId = _Coerce # pPdmMetadataOwnerId_+    }++-- | V1 error format.+pdmXgafv :: Lens' PartnersDevicesMetadata (Maybe Xgafv)+pdmXgafv = lens _pdmXgafv (\ s a -> s{_pdmXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdmUploadProtocol :: Lens' PartnersDevicesMetadata (Maybe Text)+pdmUploadProtocol+  = lens _pdmUploadProtocol+      (\ s a -> s{_pdmUploadProtocol = a})++-- | OAuth access token.+pdmAccessToken :: Lens' PartnersDevicesMetadata (Maybe Text)+pdmAccessToken+  = lens _pdmAccessToken+      (\ s a -> s{_pdmAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdmUploadType :: Lens' PartnersDevicesMetadata (Maybe Text)+pdmUploadType+  = lens _pdmUploadType+      (\ s a -> s{_pdmUploadType = a})++-- | Multipart request metadata.+pdmPayload :: Lens' PartnersDevicesMetadata UpdateDeviceMetadataRequest+pdmPayload+  = lens _pdmPayload (\ s a -> s{_pdmPayload = a})++-- | Required. The ID of the device.+pdmDeviceId :: Lens' PartnersDevicesMetadata Int64+pdmDeviceId+  = lens _pdmDeviceId (\ s a -> s{_pdmDeviceId = a}) .+      _Coerce++-- | JSONP+pdmCallback :: Lens' PartnersDevicesMetadata (Maybe Text)+pdmCallback+  = lens _pdmCallback (\ s a -> s{_pdmCallback = a})++-- | Required. The owner of the newly set metadata. Set this to the partner+-- ID.+pdmMetadataOwnerId :: Lens' PartnersDevicesMetadata Int64+pdmMetadataOwnerId+  = lens _pdmMetadataOwnerId+      (\ s a -> s{_pdmMetadataOwnerId = a})+      . _Coerce++instance GoogleRequest PartnersDevicesMetadata where+        type Rs PartnersDevicesMetadata = DeviceMetadata+        type Scopes PartnersDevicesMetadata = '[]+        requestClient PartnersDevicesMetadata'{..}+          = go _pdmMetadataOwnerId _pdmDeviceId _pdmXgafv+              _pdmUploadProtocol+              _pdmAccessToken+              _pdmUploadType+              _pdmCallback+              (Just AltJSON)+              _pdmPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesMetadataResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Unclaim.hs view
@@ -0,0 +1,163 @@+{-# 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.AndroidDeviceProvisioning.Partners.Devices.Unclaim+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Unclaims a device from a customer and removes it from zero-touch+-- enrollment.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.unclaim@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Unclaim+    (+    -- * REST Resource+      PartnersDevicesUnclaimResource++    -- * Creating a Request+    , partnersDevicesUnclaim+    , PartnersDevicesUnclaim++    -- * Request Lenses+    , pduXgafv+    , pduUploadProtocol+    , pduAccessToken+    , pduPartnerId+    , pduUploadType+    , pduPayload+    , pduCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.unclaim@ method which the+-- 'PartnersDevicesUnclaim' request conforms to.+type PartnersDevicesUnclaimResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:unclaim" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] UnclaimDeviceRequest :>+                           Post '[JSON] Empty++-- | Unclaims a device from a customer and removes it from zero-touch+-- enrollment.+--+-- /See:/ 'partnersDevicesUnclaim' smart constructor.+data PartnersDevicesUnclaim = PartnersDevicesUnclaim'+    { _pduXgafv          :: !(Maybe Xgafv)+    , _pduUploadProtocol :: !(Maybe Text)+    , _pduAccessToken    :: !(Maybe Text)+    , _pduPartnerId      :: !(Textual Int64)+    , _pduUploadType     :: !(Maybe Text)+    , _pduPayload        :: !UnclaimDeviceRequest+    , _pduCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesUnclaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pduXgafv'+--+-- * 'pduUploadProtocol'+--+-- * 'pduAccessToken'+--+-- * 'pduPartnerId'+--+-- * 'pduUploadType'+--+-- * 'pduPayload'+--+-- * 'pduCallback'+partnersDevicesUnclaim+    :: Int64 -- ^ 'pduPartnerId'+    -> UnclaimDeviceRequest -- ^ 'pduPayload'+    -> PartnersDevicesUnclaim+partnersDevicesUnclaim pPduPartnerId_ pPduPayload_ =+    PartnersDevicesUnclaim'+    { _pduXgafv = Nothing+    , _pduUploadProtocol = Nothing+    , _pduAccessToken = Nothing+    , _pduPartnerId = _Coerce # pPduPartnerId_+    , _pduUploadType = Nothing+    , _pduPayload = pPduPayload_+    , _pduCallback = Nothing+    }++-- | V1 error format.+pduXgafv :: Lens' PartnersDevicesUnclaim (Maybe Xgafv)+pduXgafv = lens _pduXgafv (\ s a -> s{_pduXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pduUploadProtocol :: Lens' PartnersDevicesUnclaim (Maybe Text)+pduUploadProtocol+  = lens _pduUploadProtocol+      (\ s a -> s{_pduUploadProtocol = a})++-- | OAuth access token.+pduAccessToken :: Lens' PartnersDevicesUnclaim (Maybe Text)+pduAccessToken+  = lens _pduAccessToken+      (\ s a -> s{_pduAccessToken = a})++-- | Required. The ID of the reseller partner.+pduPartnerId :: Lens' PartnersDevicesUnclaim Int64+pduPartnerId+  = lens _pduPartnerId (\ s a -> s{_pduPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pduUploadType :: Lens' PartnersDevicesUnclaim (Maybe Text)+pduUploadType+  = lens _pduUploadType+      (\ s a -> s{_pduUploadType = a})++-- | Multipart request metadata.+pduPayload :: Lens' PartnersDevicesUnclaim UnclaimDeviceRequest+pduPayload+  = lens _pduPayload (\ s a -> s{_pduPayload = a})++-- | JSONP+pduCallback :: Lens' PartnersDevicesUnclaim (Maybe Text)+pduCallback+  = lens _pduCallback (\ s a -> s{_pduCallback = a})++instance GoogleRequest PartnersDevicesUnclaim where+        type Rs PartnersDevicesUnclaim = Empty+        type Scopes PartnersDevicesUnclaim = '[]+        requestClient PartnersDevicesUnclaim'{..}+          = go _pduPartnerId _pduXgafv _pduUploadProtocol+              _pduAccessToken+              _pduUploadType+              _pduCallback+              (Just AltJSON)+              _pduPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesUnclaimResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/UnclaimAsync.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UnclaimAsync+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Unclaims a batch of devices for a customer asynchronously. Removes the+-- devices from zero-touch enrollment. To learn more, read [Long‑running+-- batch operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.unclaimAsync@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UnclaimAsync+    (+    -- * REST Resource+      PartnersDevicesUnclaimAsyncResource++    -- * Creating a Request+    , partnersDevicesUnclaimAsync+    , PartnersDevicesUnclaimAsync++    -- * Request Lenses+    , pduaXgafv+    , pduaUploadProtocol+    , pduaAccessToken+    , pduaPartnerId+    , pduaUploadType+    , pduaPayload+    , pduaCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.unclaimAsync@ method which the+-- 'PartnersDevicesUnclaimAsync' request conforms to.+type PartnersDevicesUnclaimAsyncResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:unclaimAsync" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] UnclaimDevicesRequest :>+                           Post '[JSON] Operation++-- | Unclaims a batch of devices for a customer asynchronously. Removes the+-- devices from zero-touch enrollment. To learn more, read [Long‑running+-- batch operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ 'partnersDevicesUnclaimAsync' smart constructor.+data PartnersDevicesUnclaimAsync = PartnersDevicesUnclaimAsync'+    { _pduaXgafv          :: !(Maybe Xgafv)+    , _pduaUploadProtocol :: !(Maybe Text)+    , _pduaAccessToken    :: !(Maybe Text)+    , _pduaPartnerId      :: !(Textual Int64)+    , _pduaUploadType     :: !(Maybe Text)+    , _pduaPayload        :: !UnclaimDevicesRequest+    , _pduaCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesUnclaimAsync' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pduaXgafv'+--+-- * 'pduaUploadProtocol'+--+-- * 'pduaAccessToken'+--+-- * 'pduaPartnerId'+--+-- * 'pduaUploadType'+--+-- * 'pduaPayload'+--+-- * 'pduaCallback'+partnersDevicesUnclaimAsync+    :: Int64 -- ^ 'pduaPartnerId'+    -> UnclaimDevicesRequest -- ^ 'pduaPayload'+    -> PartnersDevicesUnclaimAsync+partnersDevicesUnclaimAsync pPduaPartnerId_ pPduaPayload_ =+    PartnersDevicesUnclaimAsync'+    { _pduaXgafv = Nothing+    , _pduaUploadProtocol = Nothing+    , _pduaAccessToken = Nothing+    , _pduaPartnerId = _Coerce # pPduaPartnerId_+    , _pduaUploadType = Nothing+    , _pduaPayload = pPduaPayload_+    , _pduaCallback = Nothing+    }++-- | V1 error format.+pduaXgafv :: Lens' PartnersDevicesUnclaimAsync (Maybe Xgafv)+pduaXgafv+  = lens _pduaXgafv (\ s a -> s{_pduaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pduaUploadProtocol :: Lens' PartnersDevicesUnclaimAsync (Maybe Text)+pduaUploadProtocol+  = lens _pduaUploadProtocol+      (\ s a -> s{_pduaUploadProtocol = a})++-- | OAuth access token.+pduaAccessToken :: Lens' PartnersDevicesUnclaimAsync (Maybe Text)+pduaAccessToken+  = lens _pduaAccessToken+      (\ s a -> s{_pduaAccessToken = a})++-- | Required. The reseller partner ID.+pduaPartnerId :: Lens' PartnersDevicesUnclaimAsync Int64+pduaPartnerId+  = lens _pduaPartnerId+      (\ s a -> s{_pduaPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pduaUploadType :: Lens' PartnersDevicesUnclaimAsync (Maybe Text)+pduaUploadType+  = lens _pduaUploadType+      (\ s a -> s{_pduaUploadType = a})++-- | Multipart request metadata.+pduaPayload :: Lens' PartnersDevicesUnclaimAsync UnclaimDevicesRequest+pduaPayload+  = lens _pduaPayload (\ s a -> s{_pduaPayload = a})++-- | JSONP+pduaCallback :: Lens' PartnersDevicesUnclaimAsync (Maybe Text)+pduaCallback+  = lens _pduaCallback (\ s a -> s{_pduaCallback = a})++instance GoogleRequest PartnersDevicesUnclaimAsync+         where+        type Rs PartnersDevicesUnclaimAsync = Operation+        type Scopes PartnersDevicesUnclaimAsync = '[]+        requestClient PartnersDevicesUnclaimAsync'{..}+          = go _pduaPartnerId _pduaXgafv _pduaUploadProtocol+              _pduaAccessToken+              _pduaUploadType+              _pduaCallback+              (Just AltJSON)+              _pduaPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersDevicesUnclaimAsyncResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/UpdateMetadataAsync.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UpdateMetadataAsync+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the reseller metadata attached to a batch of devices. This+-- method updates devices asynchronously and returns an \`Operation\` that+-- can be used to track progress. Read [Long‑running batch+-- operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.devices.updateMetadataAsync@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UpdateMetadataAsync+    (+    -- * REST Resource+      PartnersDevicesUpdateMetadataAsyncResource++    -- * Creating a Request+    , partnersDevicesUpdateMetadataAsync+    , PartnersDevicesUpdateMetadataAsync++    -- * Request Lenses+    , pdumaXgafv+    , pdumaUploadProtocol+    , pdumaAccessToken+    , pdumaPartnerId+    , pdumaUploadType+    , pdumaPayload+    , pdumaCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.devices.updateMetadataAsync@ method which the+-- 'PartnersDevicesUpdateMetadataAsync' request conforms to.+type PartnersDevicesUpdateMetadataAsyncResource =+     "v1" :>+       "partners" :>+         Capture "partnerId" (Textual Int64) :>+           "devices:updateMetadataAsync" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] UpdateDeviceMetadataInBatchRequest :>+                           Post '[JSON] Operation++-- | Updates the reseller metadata attached to a batch of devices. This+-- method updates devices asynchronously and returns an \`Operation\` that+-- can be used to track progress. Read [Long‑running batch+-- operations](\/zero-touch\/guides\/how-it-works#operations).+--+-- /See:/ 'partnersDevicesUpdateMetadataAsync' smart constructor.+data PartnersDevicesUpdateMetadataAsync = PartnersDevicesUpdateMetadataAsync'+    { _pdumaXgafv          :: !(Maybe Xgafv)+    , _pdumaUploadProtocol :: !(Maybe Text)+    , _pdumaAccessToken    :: !(Maybe Text)+    , _pdumaPartnerId      :: !(Textual Int64)+    , _pdumaUploadType     :: !(Maybe Text)+    , _pdumaPayload        :: !UpdateDeviceMetadataInBatchRequest+    , _pdumaCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersDevicesUpdateMetadataAsync' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdumaXgafv'+--+-- * 'pdumaUploadProtocol'+--+-- * 'pdumaAccessToken'+--+-- * 'pdumaPartnerId'+--+-- * 'pdumaUploadType'+--+-- * 'pdumaPayload'+--+-- * 'pdumaCallback'+partnersDevicesUpdateMetadataAsync+    :: Int64 -- ^ 'pdumaPartnerId'+    -> UpdateDeviceMetadataInBatchRequest -- ^ 'pdumaPayload'+    -> PartnersDevicesUpdateMetadataAsync+partnersDevicesUpdateMetadataAsync pPdumaPartnerId_ pPdumaPayload_ =+    PartnersDevicesUpdateMetadataAsync'+    { _pdumaXgafv = Nothing+    , _pdumaUploadProtocol = Nothing+    , _pdumaAccessToken = Nothing+    , _pdumaPartnerId = _Coerce # pPdumaPartnerId_+    , _pdumaUploadType = Nothing+    , _pdumaPayload = pPdumaPayload_+    , _pdumaCallback = Nothing+    }++-- | V1 error format.+pdumaXgafv :: Lens' PartnersDevicesUpdateMetadataAsync (Maybe Xgafv)+pdumaXgafv+  = lens _pdumaXgafv (\ s a -> s{_pdumaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pdumaUploadProtocol :: Lens' PartnersDevicesUpdateMetadataAsync (Maybe Text)+pdumaUploadProtocol+  = lens _pdumaUploadProtocol+      (\ s a -> s{_pdumaUploadProtocol = a})++-- | OAuth access token.+pdumaAccessToken :: Lens' PartnersDevicesUpdateMetadataAsync (Maybe Text)+pdumaAccessToken+  = lens _pdumaAccessToken+      (\ s a -> s{_pdumaAccessToken = a})++-- | Required. The reseller partner ID.+pdumaPartnerId :: Lens' PartnersDevicesUpdateMetadataAsync Int64+pdumaPartnerId+  = lens _pdumaPartnerId+      (\ s a -> s{_pdumaPartnerId = a})+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pdumaUploadType :: Lens' PartnersDevicesUpdateMetadataAsync (Maybe Text)+pdumaUploadType+  = lens _pdumaUploadType+      (\ s a -> s{_pdumaUploadType = a})++-- | Multipart request metadata.+pdumaPayload :: Lens' PartnersDevicesUpdateMetadataAsync UpdateDeviceMetadataInBatchRequest+pdumaPayload+  = lens _pdumaPayload (\ s a -> s{_pdumaPayload = a})++-- | JSONP+pdumaCallback :: Lens' PartnersDevicesUpdateMetadataAsync (Maybe Text)+pdumaCallback+  = lens _pdumaCallback+      (\ s a -> s{_pdumaCallback = a})++instance GoogleRequest+         PartnersDevicesUpdateMetadataAsync where+        type Rs PartnersDevicesUpdateMetadataAsync =+             Operation+        type Scopes PartnersDevicesUpdateMetadataAsync = '[]+        requestClient PartnersDevicesUpdateMetadataAsync'{..}+          = go _pdumaPartnerId _pdumaXgafv _pdumaUploadProtocol+              _pdumaAccessToken+              _pdumaUploadType+              _pdumaCallback+              (Just AltJSON)+              _pdumaPayload+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy PartnersDevicesUpdateMetadataAsyncResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Vendors/Customers/List.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.Customers.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the customers of the vendor.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.vendors.customers.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.Customers.List+    (+    -- * REST Resource+      PartnersVendorsCustomersListResource++    -- * Creating a Request+    , partnersVendorsCustomersList+    , PartnersVendorsCustomersList++    -- * Request Lenses+    , pvclParent+    , pvclXgafv+    , pvclUploadProtocol+    , pvclAccessToken+    , pvclUploadType+    , pvclPageToken+    , pvclPageSize+    , pvclCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.vendors.customers.list@ method which the+-- 'PartnersVendorsCustomersList' request conforms to.+type PartnersVendorsCustomersListResource =+     "v1" :>+       Capture "parent" Text :>+         "customers" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListVendorCustomersResponse++-- | Lists the customers of the vendor.+--+-- /See:/ 'partnersVendorsCustomersList' smart constructor.+data PartnersVendorsCustomersList = PartnersVendorsCustomersList'+    { _pvclParent         :: !Text+    , _pvclXgafv          :: !(Maybe Xgafv)+    , _pvclUploadProtocol :: !(Maybe Text)+    , _pvclAccessToken    :: !(Maybe Text)+    , _pvclUploadType     :: !(Maybe Text)+    , _pvclPageToken      :: !(Maybe Text)+    , _pvclPageSize       :: !(Maybe (Textual Int32))+    , _pvclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersVendorsCustomersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvclParent'+--+-- * 'pvclXgafv'+--+-- * 'pvclUploadProtocol'+--+-- * 'pvclAccessToken'+--+-- * 'pvclUploadType'+--+-- * 'pvclPageToken'+--+-- * 'pvclPageSize'+--+-- * 'pvclCallback'+partnersVendorsCustomersList+    :: Text -- ^ 'pvclParent'+    -> PartnersVendorsCustomersList+partnersVendorsCustomersList pPvclParent_ =+    PartnersVendorsCustomersList'+    { _pvclParent = pPvclParent_+    , _pvclXgafv = Nothing+    , _pvclUploadProtocol = Nothing+    , _pvclAccessToken = Nothing+    , _pvclUploadType = Nothing+    , _pvclPageToken = Nothing+    , _pvclPageSize = Nothing+    , _pvclCallback = Nothing+    }++-- | Required. The resource name in the format+-- \`partners\/[PARTNER_ID]\/vendors\/[VENDOR_ID]\`.+pvclParent :: Lens' PartnersVendorsCustomersList Text+pvclParent+  = lens _pvclParent (\ s a -> s{_pvclParent = a})++-- | V1 error format.+pvclXgafv :: Lens' PartnersVendorsCustomersList (Maybe Xgafv)+pvclXgafv+  = lens _pvclXgafv (\ s a -> s{_pvclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pvclUploadProtocol :: Lens' PartnersVendorsCustomersList (Maybe Text)+pvclUploadProtocol+  = lens _pvclUploadProtocol+      (\ s a -> s{_pvclUploadProtocol = a})++-- | OAuth access token.+pvclAccessToken :: Lens' PartnersVendorsCustomersList (Maybe Text)+pvclAccessToken+  = lens _pvclAccessToken+      (\ s a -> s{_pvclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pvclUploadType :: Lens' PartnersVendorsCustomersList (Maybe Text)+pvclUploadType+  = lens _pvclUploadType+      (\ s a -> s{_pvclUploadType = a})++-- | A token identifying a page of results returned by the server.+pvclPageToken :: Lens' PartnersVendorsCustomersList (Maybe Text)+pvclPageToken+  = lens _pvclPageToken+      (\ s a -> s{_pvclPageToken = a})++-- | The maximum number of results to be returned.+pvclPageSize :: Lens' PartnersVendorsCustomersList (Maybe Int32)+pvclPageSize+  = lens _pvclPageSize (\ s a -> s{_pvclPageSize = a})+      . mapping _Coerce++-- | JSONP+pvclCallback :: Lens' PartnersVendorsCustomersList (Maybe Text)+pvclCallback+  = lens _pvclCallback (\ s a -> s{_pvclCallback = a})++instance GoogleRequest PartnersVendorsCustomersList+         where+        type Rs PartnersVendorsCustomersList =+             ListVendorCustomersResponse+        type Scopes PartnersVendorsCustomersList = '[]+        requestClient PartnersVendorsCustomersList'{..}+          = go _pvclParent _pvclXgafv _pvclUploadProtocol+              _pvclAccessToken+              _pvclUploadType+              _pvclPageToken+              _pvclPageSize+              _pvclCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersVendorsCustomersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Vendors/List.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the vendors of the partner.+--+-- /See:/ <https://developers.google.com/zero-touch/ Android Device Provisioning Partner API Reference> for @androiddeviceprovisioning.partners.vendors.list@.+module Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.List+    (+    -- * REST Resource+      PartnersVendorsListResource++    -- * Creating a Request+    , partnersVendorsList+    , PartnersVendorsList++    -- * Request Lenses+    , pvlParent+    , pvlXgafv+    , pvlUploadProtocol+    , pvlAccessToken+    , pvlUploadType+    , pvlPageToken+    , pvlPageSize+    , pvlCallback+    ) where++import           Network.Google.AndroidDeviceProvisioning.Types+import           Network.Google.Prelude++-- | A resource alias for @androiddeviceprovisioning.partners.vendors.list@ method which the+-- 'PartnersVendorsList' request conforms to.+type PartnersVendorsListResource =+     "v1" :>+       Capture "parent" Text :>+         "vendors" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListVendorsResponse++-- | Lists the vendors of the partner.+--+-- /See:/ 'partnersVendorsList' smart constructor.+data PartnersVendorsList = PartnersVendorsList'+    { _pvlParent         :: !Text+    , _pvlXgafv          :: !(Maybe Xgafv)+    , _pvlUploadProtocol :: !(Maybe Text)+    , _pvlAccessToken    :: !(Maybe Text)+    , _pvlUploadType     :: !(Maybe Text)+    , _pvlPageToken      :: !(Maybe Text)+    , _pvlPageSize       :: !(Maybe (Textual Int32))+    , _pvlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartnersVendorsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvlParent'+--+-- * 'pvlXgafv'+--+-- * 'pvlUploadProtocol'+--+-- * 'pvlAccessToken'+--+-- * 'pvlUploadType'+--+-- * 'pvlPageToken'+--+-- * 'pvlPageSize'+--+-- * 'pvlCallback'+partnersVendorsList+    :: Text -- ^ 'pvlParent'+    -> PartnersVendorsList+partnersVendorsList pPvlParent_ =+    PartnersVendorsList'+    { _pvlParent = pPvlParent_+    , _pvlXgafv = Nothing+    , _pvlUploadProtocol = Nothing+    , _pvlAccessToken = Nothing+    , _pvlUploadType = Nothing+    , _pvlPageToken = Nothing+    , _pvlPageSize = Nothing+    , _pvlCallback = Nothing+    }++-- | Required. The resource name in the format \`partners\/[PARTNER_ID]\`.+pvlParent :: Lens' PartnersVendorsList Text+pvlParent+  = lens _pvlParent (\ s a -> s{_pvlParent = a})++-- | V1 error format.+pvlXgafv :: Lens' PartnersVendorsList (Maybe Xgafv)+pvlXgafv = lens _pvlXgafv (\ s a -> s{_pvlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pvlUploadProtocol :: Lens' PartnersVendorsList (Maybe Text)+pvlUploadProtocol+  = lens _pvlUploadProtocol+      (\ s a -> s{_pvlUploadProtocol = a})++-- | OAuth access token.+pvlAccessToken :: Lens' PartnersVendorsList (Maybe Text)+pvlAccessToken+  = lens _pvlAccessToken+      (\ s a -> s{_pvlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pvlUploadType :: Lens' PartnersVendorsList (Maybe Text)+pvlUploadType+  = lens _pvlUploadType+      (\ s a -> s{_pvlUploadType = a})++-- | A token identifying a page of results returned by the server.+pvlPageToken :: Lens' PartnersVendorsList (Maybe Text)+pvlPageToken+  = lens _pvlPageToken (\ s a -> s{_pvlPageToken = a})++-- | The maximum number of results to be returned.+pvlPageSize :: Lens' PartnersVendorsList (Maybe Int32)+pvlPageSize+  = lens _pvlPageSize (\ s a -> s{_pvlPageSize = a}) .+      mapping _Coerce++-- | JSONP+pvlCallback :: Lens' PartnersVendorsList (Maybe Text)+pvlCallback+  = lens _pvlCallback (\ s a -> s{_pvlCallback = a})++instance GoogleRequest PartnersVendorsList where+        type Rs PartnersVendorsList = ListVendorsResponse+        type Scopes PartnersVendorsList = '[]+        requestClient PartnersVendorsList'{..}+          = go _pvlParent _pvlXgafv _pvlUploadProtocol+              _pvlAccessToken+              _pvlUploadType+              _pvlPageToken+              _pvlPageSize+              _pvlCallback+              (Just AltJSON)+              androidDeviceProvisioningService+          where go+                  = buildClient+                      (Proxy :: Proxy PartnersVendorsListResource)+                      mempty
+ gogol-androiddeviceprovisioning.cabal view
@@ -0,0 +1,72 @@+name:                  gogol-androiddeviceprovisioning+version:               0.4.0+synopsis:              Google Android Device Provisioning Partner SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Automates Android zero-touch enrollment for device resellers, customers,+    and EMMs.+    .+    /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.AndroidDeviceProvisioning+        , Network.Google.AndroidDeviceProvisioning.Types+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Create+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Delete+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Get+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Configurations.Patch+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.ApplyConfiguration+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Get+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.RemoveConfiguration+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Devices.Unclaim+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.Dpcs.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Customers.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Operations.Get+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.Create+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Customers.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Claim+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.ClaimAsync+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByIdentifier+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.FindByOwner+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Get+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Metadata+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.Unclaim+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UnclaimAsync+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Devices.UpdateMetadataAsync+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.Customers.List+        , Network.Google.Resource.AndroidDeviceProvisioning.Partners.Vendors.List++    other-modules:+          Network.Google.AndroidDeviceProvisioning.Types.Product+        , Network.Google.AndroidDeviceProvisioning.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view