gogol-androidmanagement (empty) → 0.4.0
raw patch · 30 files changed
+12412/−0 lines, 30 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/AndroidManagement.hs +768/−0
- gen/Network/Google/AndroidManagement/Types.hs +657/−0
- gen/Network/Google/AndroidManagement/Types/Product.hs +5707/−0
- gen/Network/Google/AndroidManagement/Types/Sum.hs +1392/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Applications/Get.hs +161/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Create.hs +186/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Delete.hs +161/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Get.hs +145/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/IssueCommand.hs +165/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/List.hs +173/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Cancel.hs +163/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Delete.hs +153/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Get.hs +151/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/List.hs +203/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Patch.hs +172/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Create.hs +164/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Delete.hs +150/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Get.hs +142/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Patch.hs +169/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Delete.hs +148/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Get.hs +145/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/List.hs +174/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Patch.hs +172/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebTokens/Create.hs +163/−0
- gen/Network/Google/Resource/AndroidManagement/SignupURLs/Create.hs +164/−0
- gogol-androidmanagement.cabal +67/−0
- src/.gitkeep +0/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-androidmanagement++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Android Management.+++## 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-androidmanagement` 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/AndroidManagement.hs view
@@ -0,0 +1,768 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.AndroidManagement+-- 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)+--+-- The Android Management API provides remote enterprise management of+-- Android devices and apps.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference>+module Network.Google.AndroidManagement+ (+ -- * Service Configuration+ androidManagementService++ -- * OAuth Scopes+ , androidManagementScope++ -- * API Declaration+ , AndroidManagementAPI++ -- * Resources++ -- ** androidmanagement.enterprises.applications.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.Applications.Get++ -- ** androidmanagement.enterprises.create+ , module Network.Google.Resource.AndroidManagement.Enterprises.Create++ -- ** androidmanagement.enterprises.devices.delete+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Delete++ -- ** androidmanagement.enterprises.devices.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Get++ -- ** androidmanagement.enterprises.devices.issueCommand+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.IssueCommand++ -- ** androidmanagement.enterprises.devices.list+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.List++ -- ** androidmanagement.enterprises.devices.operations.cancel+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Cancel++ -- ** androidmanagement.enterprises.devices.operations.delete+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Delete++ -- ** androidmanagement.enterprises.devices.operations.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Get++ -- ** androidmanagement.enterprises.devices.operations.list+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.List++ -- ** androidmanagement.enterprises.devices.patch+ , module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Patch++ -- ** androidmanagement.enterprises.enrollmentTokens.create+ , module Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Create++ -- ** androidmanagement.enterprises.enrollmentTokens.delete+ , module Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Delete++ -- ** androidmanagement.enterprises.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.Get++ -- ** androidmanagement.enterprises.patch+ , module Network.Google.Resource.AndroidManagement.Enterprises.Patch++ -- ** androidmanagement.enterprises.policies.delete+ , module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Delete++ -- ** androidmanagement.enterprises.policies.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Get++ -- ** androidmanagement.enterprises.policies.list+ , module Network.Google.Resource.AndroidManagement.Enterprises.Policies.List++ -- ** androidmanagement.enterprises.policies.patch+ , module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Patch++ -- ** androidmanagement.enterprises.webTokens.create+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create++ -- ** androidmanagement.signupUrls.create+ , module Network.Google.Resource.AndroidManagement.SignupURLs.Create++ -- * Types++ -- ** PowerManagementEventEventType+ , PowerManagementEventEventType (..)++ -- ** Status+ , Status+ , status+ , sDetails+ , sCode+ , sMessage++ -- ** SystemUpdateType+ , SystemUpdateType (..)++ -- ** ListPoliciesResponse+ , ListPoliciesResponse+ , listPoliciesResponse+ , lprNextPageToken+ , lprPolicies++ -- ** MemoryInfo+ , MemoryInfo+ , memoryInfo+ , miTotalInternalStorage+ , miTotalRam++ -- ** DeviceState+ , DeviceState (..)++ -- ** PackageNameList+ , PackageNameList+ , packageNameList+ , pnlPackageNames++ -- ** Command+ , Command+ , command+ , cResetPasswordFlags+ , cNewPassword+ , cUserName+ , cErrorCode+ , cType+ , cDuration+ , cCreateTime++ -- ** ListOperationsResponse+ , ListOperationsResponse+ , listOperationsResponse+ , lorNextPageToken+ , lorOperations++ -- ** Display+ , Display+ , display+ , dHeight+ , dState+ , dWidth+ , dName+ , dRefreshRate+ , dDisplayId+ , dDensity++ -- ** AlwaysOnVPNPackage+ , AlwaysOnVPNPackage+ , alwaysOnVPNPackage+ , aovpLockdownEnabled+ , aovpPackageName++ -- ** PolicyOpenNetworkConfiguration+ , PolicyOpenNetworkConfiguration+ , policyOpenNetworkConfiguration+ , poncAddtional++ -- ** CommandErrorCode+ , CommandErrorCode (..)++ -- ** HardwareStatus+ , HardwareStatus+ , hardwareStatus+ , hsCPUTemperatures+ , hsBatteryTemperatures+ , hsGpuTemperatures+ , hsFanSpeeds+ , hsSkinTemperatures+ , hsCPUUsages+ , hsCreateTime++ -- ** Application+ , Application+ , application+ , aManagedProperties+ , aName+ , aPermissions+ , aTitle++ -- ** ManagedProperty+ , ManagedProperty+ , managedProperty+ , mpEntries+ , mpNestedProperties+ , mpKey+ , mpDefaultValue+ , mpTitle+ , mpType+ , mpDescription++ -- ** ProxyInfo+ , ProxyInfo+ , proxyInfo+ , piPacURI+ , piHost+ , piExcludedHosts+ , piPort++ -- ** PermissionGrantPolicy+ , PermissionGrantPolicy (..)++ -- ** PersistentPreferredActivity+ , PersistentPreferredActivity+ , persistentPreferredActivity+ , ppaActions+ , ppaCategories+ , ppaReceiverActivity++ -- ** Operation+ , Operation+ , operation+ , oDone+ , oError+ , oResponse+ , oName+ , oMetadata++ -- ** Empty+ , Empty+ , empty++ -- ** ExternalData+ , ExternalData+ , externalData+ , edURL+ , edSha256Hash++ -- ** DisplayState+ , DisplayState (..)++ -- ** APILevelCondition+ , APILevelCondition+ , apiLevelCondition+ , alcMinAPILevel++ -- ** DeviceSettings+ , DeviceSettings+ , deviceSettings+ , dsIsEncrypted+ , dsAdbEnabled+ , dsIsDeviceSecure+ , dsVerifyAppsEnabled+ , dsDevelopmentSettingsEnabled+ , dsEncryptionStatus+ , dsUnknownSourcesEnabled++ -- ** PolicyPlayStoreMode+ , PolicyPlayStoreMode (..)++ -- ** ManagedConfigurationTemplateConfigurationVariables+ , ManagedConfigurationTemplateConfigurationVariables+ , managedConfigurationTemplateConfigurationVariables+ , mctcvAddtional++ -- ** DeviceManagementMode+ , DeviceManagementMode (..)++ -- ** HardwareInfo+ , HardwareInfo+ , hardwareInfo+ , hiCPUThrottlingTemperatures+ , hiManufacturer+ , hiBrand+ , hiCPUShutdownTemperatures+ , hiBatteryThrottlingTemperatures+ , hiModel+ , hiBatteryShutdownTemperatures+ , hiSkinThrottlingTemperatures+ , hiGpuShutdownTemperatures+ , hiGpuThrottlingTemperatures+ , hiSkinShutdownTemperatures+ , hiSerialNumber+ , hiDeviceBasebandVersion+ , hiHardware++ -- ** Device+ , Device+ , device+ , devMemoryInfo+ , devPolicyCompliant+ , devApplicationReports+ , devPolicyName+ , devState+ , devAppliedPolicyName+ , devLastStatusReportTime+ , devDeviceSettings+ , devEnrollmentTokenName+ , devManagementMode+ , devHardwareInfo+ , devPowerManagementEvents+ , devUserName+ , devMemoryEvents+ , devAPILevel+ , devUser+ , devDisabledReason+ , devLastPolicyComplianceReportTime+ , devEnrollmentTokenData+ , devName+ , devAppliedPolicyVersion+ , devHardwareStatusSamples+ , devAppliedState+ , devPreviousDeviceNames+ , devLastPolicySyncTime+ , devNetworkInfo+ , devNonComplianceDetails+ , devSoftwareInfo+ , devEnrollmentTime+ , devDisplays++ -- ** ApplicationReportApplicationSource+ , ApplicationReportApplicationSource (..)++ -- ** StatusDetailsItem+ , StatusDetailsItem+ , statusDetailsItem+ , sdiAddtional++ -- ** ApplicationPolicyInstallType+ , ApplicationPolicyInstallType (..)++ -- ** NonComplianceDetailInstallationFailureReason+ , NonComplianceDetailInstallationFailureReason (..)++ -- ** PasswordRequirementsPasswordScope+ , PasswordRequirementsPasswordScope (..)++ -- ** ManagedPropertyEntry+ , ManagedPropertyEntry+ , managedPropertyEntry+ , mpeValue+ , mpeName++ -- ** DeviceSettingsEncryptionStatus+ , DeviceSettingsEncryptionStatus (..)++ -- ** PolicyLocationMode+ , PolicyLocationMode (..)++ -- ** ChoosePrivateKeyRule+ , ChoosePrivateKeyRule+ , choosePrivateKeyRule+ , cpkrPrivateKeyAlias+ , cpkrURLPattern+ , cpkrPackageNames++ -- ** UserFacingMessageLocalizedMessages+ , UserFacingMessageLocalizedMessages+ , userFacingMessageLocalizedMessages+ , ufmlmAddtional++ -- ** User+ , User+ , user+ , uAccountIdentifier++ -- ** SystemUpdate+ , SystemUpdate+ , systemUpdate+ , suEndMinutes+ , suStartMinutes+ , suType++ -- ** ApplicationReport+ , ApplicationReport+ , applicationReport+ , arVersionCode+ , arSigningKeyCertFingerprints+ , arState+ , arVersionName+ , arPackageName+ , arPackageSha256Hash+ , arApplicationSource+ , arEvents+ , arDisplayName+ , arInstallerPackageName++ -- ** PolicyAppAutoUpdatePolicy+ , PolicyAppAutoUpdatePolicy (..)++ -- ** EnrollmentToken+ , EnrollmentToken+ , enrollmentToken+ , etPolicyName+ , etValue+ , etQrCode+ , etAdditionalData+ , etUser+ , etName+ , etOneTimeOnly+ , etExpirationTimestamp+ , etDuration++ -- ** ApplicationPolicyManagedConfiguration+ , ApplicationPolicyManagedConfiguration+ , applicationPolicyManagedConfiguration+ , apmcAddtional++ -- ** PolicyEncryptionPolicy+ , PolicyEncryptionPolicy (..)++ -- ** StatusReportingSettings+ , StatusReportingSettings+ , statusReportingSettings+ , srsSoftwareInfoEnabled+ , srsHardwareStatusEnabled+ , srsPowerManagementEventsEnabled+ , srsDisplayInfoEnabled+ , srsApplicationReportsEnabled+ , srsMemoryInfoEnabled+ , srsNetworkInfoEnabled+ , srsDeviceSettingsEnabled++ -- ** CommandType+ , CommandType (..)++ -- ** ApplicationPolicyDefaultPermissionPolicy+ , ApplicationPolicyDefaultPermissionPolicy (..)++ -- ** Xgafv+ , Xgafv (..)++ -- ** ApplicationPolicy+ , ApplicationPolicy+ , applicationPolicy+ , apDelegatedScopes+ , apPackageName+ , apManagedConfiguration+ , apDefaultPermissionPolicy+ , apDisabled+ , apLockTaskAllowed+ , apPermissionGrants+ , apManagedConfigurationTemplate+ , apMinimumVersionCode+ , apInstallType++ -- ** ManagedPropertyType+ , ManagedPropertyType (..)++ -- ** DeviceAppliedState+ , DeviceAppliedState (..)++ -- ** ApplicationEventEventType+ , ApplicationEventEventType (..)++ -- ** ListDevicesResponse+ , ListDevicesResponse+ , listDevicesResponse+ , ldrNextPageToken+ , ldrDevices++ -- ** ManagedConfigurationTemplate+ , ManagedConfigurationTemplate+ , managedConfigurationTemplate+ , mctTemplateId+ , mctConfigurationVariables++ -- ** NonComplianceDetailNonComplianceReason+ , NonComplianceDetailNonComplianceReason (..)++ -- ** Enterprise+ , Enterprise+ , enterprise+ , eAppAutoApprovalEnabled+ , eEnabledNotificationTypes+ , eSigninDetails+ , eName+ , ePubsubTopic+ , eEnterpriseDisplayName+ , eLogo+ , eTermsAndConditions+ , ePrimaryColor++ -- ** MemoryEvent+ , MemoryEvent+ , memoryEvent+ , meByteCount+ , meEventType+ , meCreateTime++ -- ** PermissionGrant+ , PermissionGrant+ , permissionGrant+ , pgPolicy+ , pgPermission++ -- ** SigninDetail+ , SigninDetail+ , signinDetail+ , sdSigninURL+ , sdQrCode+ , sdSigninEnrollmentToken++ -- ** SignupURL+ , SignupURL+ , signupURL+ , suURL+ , suName++ -- ** PolicyDefaultPermissionPolicy+ , PolicyDefaultPermissionPolicy (..)++ -- ** NetworkInfo+ , NetworkInfo+ , networkInfo+ , niNetworkOperatorName+ , niMeid+ , niImei+ , niWifiMACAddress++ -- ** PowerManagementEvent+ , PowerManagementEvent+ , powerManagementEvent+ , pmeBatteryLevel+ , pmeEventType+ , pmeCreateTime++ -- ** Policy+ , Policy+ , policy+ , pBluetoothConfigDisabled+ , pUnmuteMicrophoneDisabled+ , pMountPhysicalMediaDisabled+ , pFrpAdminEmails+ , pAppAutoUpdatePolicy+ , pEncryptionPolicy+ , pAndroidDevicePolicyTracks+ , pSafeBootDisabled+ , pAlwaysOnVPNPackage+ , pChoosePrivateKeyRules+ , pCredentialsConfigDisabled+ , pRecommendedGlobalProxy+ , pKeyguardDisabled+ , pSkipFirstUseHintsEnabled+ , pAdjustVolumeDisabled+ , pDefaultPermissionPolicy+ , pUninstallAppsDisabled+ , pSetUserIconDisabled+ , pPermittedInputMethods+ , pScreenCaptureDisabled+ , pAddUserDisabled+ , pShareLocationDisabled+ , pAutoTimeRequired+ , pInstallAppsDisabled+ , pCreateWindowsDisabled+ , pNetworkResetDisabled+ , pBluetoothContactSharingDisabled+ , pPermissionGrants+ , pShortSupportMessage+ , pStayOnPluggedModes+ , pDataRoamingDisabled+ , pDebuggingFeaturesAllowed+ , pKioskCustomLauncherEnabled+ , pWifiConfigsLockdownEnabled+ , pUsbMassStorageEnabled+ , pNetworkEscapeHatchEnabled+ , pSystemUpdate+ , pInstallUnknownSourcesAllowed+ , pName+ , pPrivateKeySelectionEnabled+ , pOutgoingCallsDisabled+ , pStatusReportingSettings+ , pRemoveUserDisabled+ , pMobileNetworksConfigDisabled+ , pVersion+ , pEnsureVerifyAppsEnabled+ , pSetWallpaperDisabled+ , pVPNConfigDisabled+ , pOpenNetworkConfiguration+ , pModifyAccountsDisabled+ , pBlockApplicationsEnabled+ , pKeyguardDisabledFeatures+ , pFunDisabled+ , pSmsDisabled+ , pMaximumTimeToLock+ , pOutgoingBeamDisabled+ , pStatusBarDisabled+ , pCellBroadcastsConfigDisabled+ , pDeviceOwnerLockScreenInfo+ , pPlayStoreMode+ , pComplianceRules+ , pTetheringConfigDisabled+ , pAccountTypesWithManagementDisabled+ , pWifiConfigDisabled+ , pPersistentPreferredActivities+ , pPasswordRequirements+ , pLongSupportMessage+ , pLocationMode+ , pBluetoothDisabled+ , pUsbFileTransferDisabled+ , pCameraDisabled+ , pApplications+ , pPasswordPolicies+ , pFactoryResetDisabled++ -- ** NonComplianceDetailCondition+ , NonComplianceDetailCondition+ , nonComplianceDetailCondition+ , ncdcPackageName+ , ncdcNonComplianceReason+ , ncdcSettingName++ -- ** OperationMetadata+ , OperationMetadata+ , operationMetadata+ , omAddtional++ -- ** WebToken+ , WebToken+ , webToken+ , wtParentFrameURL+ , wtValue+ , wtName+ , wtPermissions++ -- ** ComplianceRule+ , ComplianceRule+ , complianceRule+ , crAPILevelCondition+ , crDisableApps+ , crPackageNamesToDisable+ , crNonComplianceDetailCondition++ -- ** PasswordRequirements+ , PasswordRequirements+ , passwordRequirements+ , prPasswordMinimumSymbols+ , prMaximumFailedPasswordsForWipe+ , prPasswordExpirationTimeout+ , prPasswordMinimumNonLetter+ , prPasswordHistoryLength+ , prPasswordMinimumLetters+ , prPasswordMinimumUpperCase+ , prPasswordMinimumNumeric+ , prPasswordQuality+ , prPasswordMinimumLength+ , prPasswordScope+ , prPasswordMinimumLowerCase++ -- ** ApplicationReportState+ , ApplicationReportState (..)++ -- ** NonComplianceDetail+ , NonComplianceDetail+ , nonComplianceDetail+ , ncdFieldPath+ , ncdPackageName+ , ncdInstallationFailureReason+ , ncdNonComplianceReason+ , ncdSettingName+ , ncdCurrentValue++ -- ** NonComplianceDetailConditionNonComplianceReason+ , NonComplianceDetailConditionNonComplianceReason (..)++ -- ** ApplicationEvent+ , ApplicationEvent+ , applicationEvent+ , aeEventType+ , aeCreateTime++ -- ** TermsAndConditions+ , TermsAndConditions+ , termsAndConditions+ , tacContent+ , tacHeader++ -- ** OperationResponse+ , OperationResponse+ , operationResponse+ , orAddtional++ -- ** UserFacingMessage+ , UserFacingMessage+ , userFacingMessage+ , ufmLocalizedMessages+ , ufmDefaultMessage++ -- ** SoftwareInfo+ , SoftwareInfo+ , softwareInfo+ , siSecurityPatchLevel+ , siAndroidDevicePolicyVersionName+ , siDeviceKernelVersion+ , siAndroidDevicePolicyVersionCode+ , siDeviceBuildSignature+ , siBootLoaderVersion+ , siAndroidBuildTime+ , siPrimaryLanguageCode+ , siAndroidBuildNumber+ , siAndroidVersion++ -- ** MemoryEventEventType+ , MemoryEventEventType (..)++ -- ** ApplicationPermission+ , ApplicationPermission+ , applicationPermission+ , apName+ , apDescription+ , apPermissionId++ -- ** PasswordRequirementsPasswordQuality+ , PasswordRequirementsPasswordQuality (..)+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude+import Network.Google.Resource.AndroidManagement.Enterprises.Applications.Get+import Network.Google.Resource.AndroidManagement.Enterprises.Create+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Delete+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Get+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.IssueCommand+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.List+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Cancel+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Delete+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Get+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.List+import Network.Google.Resource.AndroidManagement.Enterprises.Devices.Patch+import Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Create+import Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Delete+import Network.Google.Resource.AndroidManagement.Enterprises.Get+import Network.Google.Resource.AndroidManagement.Enterprises.Patch+import Network.Google.Resource.AndroidManagement.Enterprises.Policies.Delete+import Network.Google.Resource.AndroidManagement.Enterprises.Policies.Get+import Network.Google.Resource.AndroidManagement.Enterprises.Policies.List+import Network.Google.Resource.AndroidManagement.Enterprises.Policies.Patch+import Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create+import Network.Google.Resource.AndroidManagement.SignupURLs.Create++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Android Management API service.+type AndroidManagementAPI =+ EnterprisesEnrollmentTokensCreateResource :<|>+ EnterprisesEnrollmentTokensDeleteResource+ :<|> EnterprisesWebTokensCreateResource+ :<|> EnterprisesDevicesOperationsListResource+ :<|> EnterprisesDevicesOperationsGetResource+ :<|> EnterprisesDevicesOperationsCancelResource+ :<|> EnterprisesDevicesOperationsDeleteResource+ :<|> EnterprisesDevicesListResource+ :<|> EnterprisesDevicesPatchResource+ :<|> EnterprisesDevicesGetResource+ :<|> EnterprisesDevicesIssueCommandResource+ :<|> EnterprisesDevicesDeleteResource+ :<|> EnterprisesPoliciesListResource+ :<|> EnterprisesPoliciesPatchResource+ :<|> EnterprisesPoliciesGetResource+ :<|> EnterprisesPoliciesDeleteResource+ :<|> EnterprisesApplicationsGetResource+ :<|> EnterprisesPatchResource+ :<|> EnterprisesGetResource+ :<|> EnterprisesCreateResource+ :<|> SignupURLsCreateResource
+ gen/Network/Google/AndroidManagement/Types.hs view
@@ -0,0 +1,657 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.AndroidManagement.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.AndroidManagement.Types+ (+ -- * Service Configuration+ androidManagementService++ -- * OAuth Scopes+ , androidManagementScope++ -- * PowerManagementEventEventType+ , PowerManagementEventEventType (..)++ -- * Status+ , Status+ , status+ , sDetails+ , sCode+ , sMessage++ -- * SystemUpdateType+ , SystemUpdateType (..)++ -- * ListPoliciesResponse+ , ListPoliciesResponse+ , listPoliciesResponse+ , lprNextPageToken+ , lprPolicies++ -- * MemoryInfo+ , MemoryInfo+ , memoryInfo+ , miTotalInternalStorage+ , miTotalRam++ -- * DeviceState+ , DeviceState (..)++ -- * PackageNameList+ , PackageNameList+ , packageNameList+ , pnlPackageNames++ -- * Command+ , Command+ , command+ , cResetPasswordFlags+ , cNewPassword+ , cUserName+ , cErrorCode+ , cType+ , cDuration+ , cCreateTime++ -- * ListOperationsResponse+ , ListOperationsResponse+ , listOperationsResponse+ , lorNextPageToken+ , lorOperations++ -- * Display+ , Display+ , display+ , dHeight+ , dState+ , dWidth+ , dName+ , dRefreshRate+ , dDisplayId+ , dDensity++ -- * AlwaysOnVPNPackage+ , AlwaysOnVPNPackage+ , alwaysOnVPNPackage+ , aovpLockdownEnabled+ , aovpPackageName++ -- * PolicyOpenNetworkConfiguration+ , PolicyOpenNetworkConfiguration+ , policyOpenNetworkConfiguration+ , poncAddtional++ -- * CommandErrorCode+ , CommandErrorCode (..)++ -- * HardwareStatus+ , HardwareStatus+ , hardwareStatus+ , hsCPUTemperatures+ , hsBatteryTemperatures+ , hsGpuTemperatures+ , hsFanSpeeds+ , hsSkinTemperatures+ , hsCPUUsages+ , hsCreateTime++ -- * Application+ , Application+ , application+ , aManagedProperties+ , aName+ , aPermissions+ , aTitle++ -- * ManagedProperty+ , ManagedProperty+ , managedProperty+ , mpEntries+ , mpNestedProperties+ , mpKey+ , mpDefaultValue+ , mpTitle+ , mpType+ , mpDescription++ -- * ProxyInfo+ , ProxyInfo+ , proxyInfo+ , piPacURI+ , piHost+ , piExcludedHosts+ , piPort++ -- * PermissionGrantPolicy+ , PermissionGrantPolicy (..)++ -- * PersistentPreferredActivity+ , PersistentPreferredActivity+ , persistentPreferredActivity+ , ppaActions+ , ppaCategories+ , ppaReceiverActivity++ -- * Operation+ , Operation+ , operation+ , oDone+ , oError+ , oResponse+ , oName+ , oMetadata++ -- * Empty+ , Empty+ , empty++ -- * ExternalData+ , ExternalData+ , externalData+ , edURL+ , edSha256Hash++ -- * DisplayState+ , DisplayState (..)++ -- * APILevelCondition+ , APILevelCondition+ , apiLevelCondition+ , alcMinAPILevel++ -- * DeviceSettings+ , DeviceSettings+ , deviceSettings+ , dsIsEncrypted+ , dsAdbEnabled+ , dsIsDeviceSecure+ , dsVerifyAppsEnabled+ , dsDevelopmentSettingsEnabled+ , dsEncryptionStatus+ , dsUnknownSourcesEnabled++ -- * PolicyPlayStoreMode+ , PolicyPlayStoreMode (..)++ -- * ManagedConfigurationTemplateConfigurationVariables+ , ManagedConfigurationTemplateConfigurationVariables+ , managedConfigurationTemplateConfigurationVariables+ , mctcvAddtional++ -- * DeviceManagementMode+ , DeviceManagementMode (..)++ -- * HardwareInfo+ , HardwareInfo+ , hardwareInfo+ , hiCPUThrottlingTemperatures+ , hiManufacturer+ , hiBrand+ , hiCPUShutdownTemperatures+ , hiBatteryThrottlingTemperatures+ , hiModel+ , hiBatteryShutdownTemperatures+ , hiSkinThrottlingTemperatures+ , hiGpuShutdownTemperatures+ , hiGpuThrottlingTemperatures+ , hiSkinShutdownTemperatures+ , hiSerialNumber+ , hiDeviceBasebandVersion+ , hiHardware++ -- * Device+ , Device+ , device+ , devMemoryInfo+ , devPolicyCompliant+ , devApplicationReports+ , devPolicyName+ , devState+ , devAppliedPolicyName+ , devLastStatusReportTime+ , devDeviceSettings+ , devEnrollmentTokenName+ , devManagementMode+ , devHardwareInfo+ , devPowerManagementEvents+ , devUserName+ , devMemoryEvents+ , devAPILevel+ , devUser+ , devDisabledReason+ , devLastPolicyComplianceReportTime+ , devEnrollmentTokenData+ , devName+ , devAppliedPolicyVersion+ , devHardwareStatusSamples+ , devAppliedState+ , devPreviousDeviceNames+ , devLastPolicySyncTime+ , devNetworkInfo+ , devNonComplianceDetails+ , devSoftwareInfo+ , devEnrollmentTime+ , devDisplays++ -- * ApplicationReportApplicationSource+ , ApplicationReportApplicationSource (..)++ -- * StatusDetailsItem+ , StatusDetailsItem+ , statusDetailsItem+ , sdiAddtional++ -- * ApplicationPolicyInstallType+ , ApplicationPolicyInstallType (..)++ -- * NonComplianceDetailInstallationFailureReason+ , NonComplianceDetailInstallationFailureReason (..)++ -- * PasswordRequirementsPasswordScope+ , PasswordRequirementsPasswordScope (..)++ -- * ManagedPropertyEntry+ , ManagedPropertyEntry+ , managedPropertyEntry+ , mpeValue+ , mpeName++ -- * DeviceSettingsEncryptionStatus+ , DeviceSettingsEncryptionStatus (..)++ -- * PolicyLocationMode+ , PolicyLocationMode (..)++ -- * ChoosePrivateKeyRule+ , ChoosePrivateKeyRule+ , choosePrivateKeyRule+ , cpkrPrivateKeyAlias+ , cpkrURLPattern+ , cpkrPackageNames++ -- * UserFacingMessageLocalizedMessages+ , UserFacingMessageLocalizedMessages+ , userFacingMessageLocalizedMessages+ , ufmlmAddtional++ -- * User+ , User+ , user+ , uAccountIdentifier++ -- * SystemUpdate+ , SystemUpdate+ , systemUpdate+ , suEndMinutes+ , suStartMinutes+ , suType++ -- * ApplicationReport+ , ApplicationReport+ , applicationReport+ , arVersionCode+ , arSigningKeyCertFingerprints+ , arState+ , arVersionName+ , arPackageName+ , arPackageSha256Hash+ , arApplicationSource+ , arEvents+ , arDisplayName+ , arInstallerPackageName++ -- * PolicyAppAutoUpdatePolicy+ , PolicyAppAutoUpdatePolicy (..)++ -- * EnrollmentToken+ , EnrollmentToken+ , enrollmentToken+ , etPolicyName+ , etValue+ , etQrCode+ , etAdditionalData+ , etUser+ , etName+ , etOneTimeOnly+ , etExpirationTimestamp+ , etDuration++ -- * ApplicationPolicyManagedConfiguration+ , ApplicationPolicyManagedConfiguration+ , applicationPolicyManagedConfiguration+ , apmcAddtional++ -- * PolicyEncryptionPolicy+ , PolicyEncryptionPolicy (..)++ -- * StatusReportingSettings+ , StatusReportingSettings+ , statusReportingSettings+ , srsSoftwareInfoEnabled+ , srsHardwareStatusEnabled+ , srsPowerManagementEventsEnabled+ , srsDisplayInfoEnabled+ , srsApplicationReportsEnabled+ , srsMemoryInfoEnabled+ , srsNetworkInfoEnabled+ , srsDeviceSettingsEnabled++ -- * CommandType+ , CommandType (..)++ -- * ApplicationPolicyDefaultPermissionPolicy+ , ApplicationPolicyDefaultPermissionPolicy (..)++ -- * Xgafv+ , Xgafv (..)++ -- * ApplicationPolicy+ , ApplicationPolicy+ , applicationPolicy+ , apDelegatedScopes+ , apPackageName+ , apManagedConfiguration+ , apDefaultPermissionPolicy+ , apDisabled+ , apLockTaskAllowed+ , apPermissionGrants+ , apManagedConfigurationTemplate+ , apMinimumVersionCode+ , apInstallType++ -- * ManagedPropertyType+ , ManagedPropertyType (..)++ -- * DeviceAppliedState+ , DeviceAppliedState (..)++ -- * ApplicationEventEventType+ , ApplicationEventEventType (..)++ -- * ListDevicesResponse+ , ListDevicesResponse+ , listDevicesResponse+ , ldrNextPageToken+ , ldrDevices++ -- * ManagedConfigurationTemplate+ , ManagedConfigurationTemplate+ , managedConfigurationTemplate+ , mctTemplateId+ , mctConfigurationVariables++ -- * NonComplianceDetailNonComplianceReason+ , NonComplianceDetailNonComplianceReason (..)++ -- * Enterprise+ , Enterprise+ , enterprise+ , eAppAutoApprovalEnabled+ , eEnabledNotificationTypes+ , eSigninDetails+ , eName+ , ePubsubTopic+ , eEnterpriseDisplayName+ , eLogo+ , eTermsAndConditions+ , ePrimaryColor++ -- * MemoryEvent+ , MemoryEvent+ , memoryEvent+ , meByteCount+ , meEventType+ , meCreateTime++ -- * PermissionGrant+ , PermissionGrant+ , permissionGrant+ , pgPolicy+ , pgPermission++ -- * SigninDetail+ , SigninDetail+ , signinDetail+ , sdSigninURL+ , sdQrCode+ , sdSigninEnrollmentToken++ -- * SignupURL+ , SignupURL+ , signupURL+ , suURL+ , suName++ -- * PolicyDefaultPermissionPolicy+ , PolicyDefaultPermissionPolicy (..)++ -- * NetworkInfo+ , NetworkInfo+ , networkInfo+ , niNetworkOperatorName+ , niMeid+ , niImei+ , niWifiMACAddress++ -- * PowerManagementEvent+ , PowerManagementEvent+ , powerManagementEvent+ , pmeBatteryLevel+ , pmeEventType+ , pmeCreateTime++ -- * Policy+ , Policy+ , policy+ , pBluetoothConfigDisabled+ , pUnmuteMicrophoneDisabled+ , pMountPhysicalMediaDisabled+ , pFrpAdminEmails+ , pAppAutoUpdatePolicy+ , pEncryptionPolicy+ , pAndroidDevicePolicyTracks+ , pSafeBootDisabled+ , pAlwaysOnVPNPackage+ , pChoosePrivateKeyRules+ , pCredentialsConfigDisabled+ , pRecommendedGlobalProxy+ , pKeyguardDisabled+ , pSkipFirstUseHintsEnabled+ , pAdjustVolumeDisabled+ , pDefaultPermissionPolicy+ , pUninstallAppsDisabled+ , pSetUserIconDisabled+ , pPermittedInputMethods+ , pScreenCaptureDisabled+ , pAddUserDisabled+ , pShareLocationDisabled+ , pAutoTimeRequired+ , pInstallAppsDisabled+ , pCreateWindowsDisabled+ , pNetworkResetDisabled+ , pBluetoothContactSharingDisabled+ , pPermissionGrants+ , pShortSupportMessage+ , pStayOnPluggedModes+ , pDataRoamingDisabled+ , pDebuggingFeaturesAllowed+ , pKioskCustomLauncherEnabled+ , pWifiConfigsLockdownEnabled+ , pUsbMassStorageEnabled+ , pNetworkEscapeHatchEnabled+ , pSystemUpdate+ , pInstallUnknownSourcesAllowed+ , pName+ , pPrivateKeySelectionEnabled+ , pOutgoingCallsDisabled+ , pStatusReportingSettings+ , pRemoveUserDisabled+ , pMobileNetworksConfigDisabled+ , pVersion+ , pEnsureVerifyAppsEnabled+ , pSetWallpaperDisabled+ , pVPNConfigDisabled+ , pOpenNetworkConfiguration+ , pModifyAccountsDisabled+ , pBlockApplicationsEnabled+ , pKeyguardDisabledFeatures+ , pFunDisabled+ , pSmsDisabled+ , pMaximumTimeToLock+ , pOutgoingBeamDisabled+ , pStatusBarDisabled+ , pCellBroadcastsConfigDisabled+ , pDeviceOwnerLockScreenInfo+ , pPlayStoreMode+ , pComplianceRules+ , pTetheringConfigDisabled+ , pAccountTypesWithManagementDisabled+ , pWifiConfigDisabled+ , pPersistentPreferredActivities+ , pPasswordRequirements+ , pLongSupportMessage+ , pLocationMode+ , pBluetoothDisabled+ , pUsbFileTransferDisabled+ , pCameraDisabled+ , pApplications+ , pPasswordPolicies+ , pFactoryResetDisabled++ -- * NonComplianceDetailCondition+ , NonComplianceDetailCondition+ , nonComplianceDetailCondition+ , ncdcPackageName+ , ncdcNonComplianceReason+ , ncdcSettingName++ -- * OperationMetadata+ , OperationMetadata+ , operationMetadata+ , omAddtional++ -- * WebToken+ , WebToken+ , webToken+ , wtParentFrameURL+ , wtValue+ , wtName+ , wtPermissions++ -- * ComplianceRule+ , ComplianceRule+ , complianceRule+ , crAPILevelCondition+ , crDisableApps+ , crPackageNamesToDisable+ , crNonComplianceDetailCondition++ -- * PasswordRequirements+ , PasswordRequirements+ , passwordRequirements+ , prPasswordMinimumSymbols+ , prMaximumFailedPasswordsForWipe+ , prPasswordExpirationTimeout+ , prPasswordMinimumNonLetter+ , prPasswordHistoryLength+ , prPasswordMinimumLetters+ , prPasswordMinimumUpperCase+ , prPasswordMinimumNumeric+ , prPasswordQuality+ , prPasswordMinimumLength+ , prPasswordScope+ , prPasswordMinimumLowerCase++ -- * ApplicationReportState+ , ApplicationReportState (..)++ -- * NonComplianceDetail+ , NonComplianceDetail+ , nonComplianceDetail+ , ncdFieldPath+ , ncdPackageName+ , ncdInstallationFailureReason+ , ncdNonComplianceReason+ , ncdSettingName+ , ncdCurrentValue++ -- * NonComplianceDetailConditionNonComplianceReason+ , NonComplianceDetailConditionNonComplianceReason (..)++ -- * ApplicationEvent+ , ApplicationEvent+ , applicationEvent+ , aeEventType+ , aeCreateTime++ -- * TermsAndConditions+ , TermsAndConditions+ , termsAndConditions+ , tacContent+ , tacHeader++ -- * OperationResponse+ , OperationResponse+ , operationResponse+ , orAddtional++ -- * UserFacingMessage+ , UserFacingMessage+ , userFacingMessage+ , ufmLocalizedMessages+ , ufmDefaultMessage++ -- * SoftwareInfo+ , SoftwareInfo+ , softwareInfo+ , siSecurityPatchLevel+ , siAndroidDevicePolicyVersionName+ , siDeviceKernelVersion+ , siAndroidDevicePolicyVersionCode+ , siDeviceBuildSignature+ , siBootLoaderVersion+ , siAndroidBuildTime+ , siPrimaryLanguageCode+ , siAndroidBuildNumber+ , siAndroidVersion++ -- * MemoryEventEventType+ , MemoryEventEventType (..)++ -- * ApplicationPermission+ , ApplicationPermission+ , applicationPermission+ , apName+ , apDescription+ , apPermissionId++ -- * PasswordRequirementsPasswordQuality+ , PasswordRequirementsPasswordQuality (..)+ ) where++import Network.Google.AndroidManagement.Types.Product+import Network.Google.AndroidManagement.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1' of the Android Management API. This contains the host and root path used as a starting point for constructing service requests.+androidManagementService :: ServiceConfig+androidManagementService+ = defaultService (ServiceId "androidmanagement:v1")+ "androidmanagement.googleapis.com"++-- | Manage Android devices and apps for your customers+androidManagementScope :: Proxy '["https://www.googleapis.com/auth/androidmanagement"]+androidManagementScope = Proxy;
+ gen/Network/Google/AndroidManagement/Types/Product.hs view
@@ -0,0 +1,5707 @@+{-# 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.AndroidManagement.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.AndroidManagement.Types.Product where++import Network.Google.AndroidManagement.Types.Sum+import Network.Google.Prelude++-- | 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 needsOverviewThe 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+-- mappingThe 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 usesThe 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])++-- | Response to a request to list policies for a given enterprise.+--+-- /See:/ 'listPoliciesResponse' smart constructor.+data ListPoliciesResponse = ListPoliciesResponse'+ { _lprNextPageToken :: !(Maybe Text)+ , _lprPolicies :: !(Maybe [Policy])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPoliciesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprNextPageToken'+--+-- * 'lprPolicies'+listPoliciesResponse+ :: ListPoliciesResponse+listPoliciesResponse =+ ListPoliciesResponse'+ { _lprNextPageToken = Nothing+ , _lprPolicies = Nothing+ }++-- | If there are more results, a token to retrieve next page of results.+lprNextPageToken :: Lens' ListPoliciesResponse (Maybe Text)+lprNextPageToken+ = lens _lprNextPageToken+ (\ s a -> s{_lprNextPageToken = a})++-- | The list of policies.+lprPolicies :: Lens' ListPoliciesResponse [Policy]+lprPolicies+ = lens _lprPolicies (\ s a -> s{_lprPolicies = a}) .+ _Default+ . _Coerce++instance FromJSON ListPoliciesResponse where+ parseJSON+ = withObject "ListPoliciesResponse"+ (\ o ->+ ListPoliciesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "policies" .!= mempty))++instance ToJSON ListPoliciesResponse where+ toJSON ListPoliciesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lprNextPageToken,+ ("policies" .=) <$> _lprPolicies])++-- | Information about device memory and storage.+--+-- /See:/ 'memoryInfo' smart constructor.+data MemoryInfo = MemoryInfo'+ { _miTotalInternalStorage :: !(Maybe (Textual Int64))+ , _miTotalRam :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MemoryInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'miTotalInternalStorage'+--+-- * 'miTotalRam'+memoryInfo+ :: MemoryInfo+memoryInfo =+ MemoryInfo'+ { _miTotalInternalStorage = Nothing+ , _miTotalRam = Nothing+ }++-- | Total internal storage on device in bytes.+miTotalInternalStorage :: Lens' MemoryInfo (Maybe Int64)+miTotalInternalStorage+ = lens _miTotalInternalStorage+ (\ s a -> s{_miTotalInternalStorage = a})+ . mapping _Coerce++-- | Total RAM on device in bytes.+miTotalRam :: Lens' MemoryInfo (Maybe Int64)+miTotalRam+ = lens _miTotalRam (\ s a -> s{_miTotalRam = a}) .+ mapping _Coerce++instance FromJSON MemoryInfo where+ parseJSON+ = withObject "MemoryInfo"+ (\ o ->+ MemoryInfo' <$>+ (o .:? "totalInternalStorage") <*>+ (o .:? "totalRam"))++instance ToJSON MemoryInfo where+ toJSON MemoryInfo'{..}+ = object+ (catMaybes+ [("totalInternalStorage" .=) <$>+ _miTotalInternalStorage,+ ("totalRam" .=) <$> _miTotalRam])++-- | A list of package names.+--+-- /See:/ 'packageNameList' smart constructor.+newtype PackageNameList = PackageNameList'+ { _pnlPackageNames :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PackageNameList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnlPackageNames'+packageNameList+ :: PackageNameList+packageNameList =+ PackageNameList'+ { _pnlPackageNames = Nothing+ }++-- | A list of package names.+pnlPackageNames :: Lens' PackageNameList [Text]+pnlPackageNames+ = lens _pnlPackageNames+ (\ s a -> s{_pnlPackageNames = a})+ . _Default+ . _Coerce++instance FromJSON PackageNameList where+ parseJSON+ = withObject "PackageNameList"+ (\ o ->+ PackageNameList' <$>+ (o .:? "packageNames" .!= mempty))++instance ToJSON PackageNameList where+ toJSON PackageNameList'{..}+ = object+ (catMaybes+ [("packageNames" .=) <$> _pnlPackageNames])++-- | A command.+--+-- /See:/ 'command' smart constructor.+data Command = Command'+ { _cResetPasswordFlags :: !(Maybe [Text])+ , _cNewPassword :: !(Maybe Text)+ , _cUserName :: !(Maybe Text)+ , _cErrorCode :: !(Maybe CommandErrorCode)+ , _cType :: !(Maybe CommandType)+ , _cDuration :: !(Maybe GDuration)+ , _cCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Command' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResetPasswordFlags'+--+-- * 'cNewPassword'+--+-- * 'cUserName'+--+-- * 'cErrorCode'+--+-- * 'cType'+--+-- * 'cDuration'+--+-- * 'cCreateTime'+command+ :: Command+command =+ Command'+ { _cResetPasswordFlags = Nothing+ , _cNewPassword = Nothing+ , _cUserName = Nothing+ , _cErrorCode = Nothing+ , _cType = Nothing+ , _cDuration = Nothing+ , _cCreateTime = Nothing+ }++-- | For commands of type RESET_PASSWORD, optionally specifies flags.+cResetPasswordFlags :: Lens' Command [Text]+cResetPasswordFlags+ = lens _cResetPasswordFlags+ (\ s a -> s{_cResetPasswordFlags = a})+ . _Default+ . _Coerce++-- | For commands of type RESET_PASSWORD, optionally specifies the new+-- password.+cNewPassword :: Lens' Command (Maybe Text)+cNewPassword+ = lens _cNewPassword (\ s a -> s{_cNewPassword = a})++-- | The resource name of the user that owns the device in the form+-- enterprises\/{enterpriseId}\/users\/{userId}. This is automatically+-- generated by the server based on the device the command is sent to.+cUserName :: Lens' Command (Maybe Text)+cUserName+ = lens _cUserName (\ s a -> s{_cUserName = a})++-- | If the command failed, an error code explaining the failure. This is not+-- set when the command is cancelled by the caller.+cErrorCode :: Lens' Command (Maybe CommandErrorCode)+cErrorCode+ = lens _cErrorCode (\ s a -> s{_cErrorCode = a})++-- | The type of the command.+cType :: Lens' Command (Maybe CommandType)+cType = lens _cType (\ s a -> s{_cType = a})++-- | The duration for which the command is valid. The command will expire if+-- not executed by the device during this time. The default duration if+-- unspecified is ten minutes. There is no maximum duration.+cDuration :: Lens' Command (Maybe Scientific)+cDuration+ = lens _cDuration (\ s a -> s{_cDuration = a}) .+ mapping _GDuration++-- | The timestamp at which the command was created. The timestamp is+-- automatically generated by the server.+cCreateTime :: Lens' Command (Maybe UTCTime)+cCreateTime+ = lens _cCreateTime (\ s a -> s{_cCreateTime = a}) .+ mapping _DateTime++instance FromJSON Command where+ parseJSON+ = withObject "Command"+ (\ o ->+ Command' <$>+ (o .:? "resetPasswordFlags" .!= mempty) <*>+ (o .:? "newPassword")+ <*> (o .:? "userName")+ <*> (o .:? "errorCode")+ <*> (o .:? "type")+ <*> (o .:? "duration")+ <*> (o .:? "createTime"))++instance ToJSON Command where+ toJSON Command'{..}+ = object+ (catMaybes+ [("resetPasswordFlags" .=) <$> _cResetPasswordFlags,+ ("newPassword" .=) <$> _cNewPassword,+ ("userName" .=) <$> _cUserName,+ ("errorCode" .=) <$> _cErrorCode,+ ("type" .=) <$> _cType,+ ("duration" .=) <$> _cDuration,+ ("createTime" .=) <$> _cCreateTime])++-- | The response message for Operations.ListOperations.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+ { _lorNextPageToken :: !(Maybe Text)+ , _lorOperations :: !(Maybe [Operation])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+ :: ListOperationsResponse+listOperationsResponse =+ ListOperationsResponse'+ { _lorNextPageToken = Nothing+ , _lorOperations = Nothing+ }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+ = lens _lorNextPageToken+ (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+ = lens _lorOperations+ (\ s a -> s{_lorOperations = a})+ . _Default+ . _Coerce++instance FromJSON ListOperationsResponse where+ parseJSON+ = withObject "ListOperationsResponse"+ (\ o ->+ ListOperationsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+ toJSON ListOperationsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lorNextPageToken,+ ("operations" .=) <$> _lorOperations])++-- | Device display information.+--+-- /See:/ 'display' smart constructor.+data Display = Display'+ { _dHeight :: !(Maybe (Textual Int32))+ , _dState :: !(Maybe DisplayState)+ , _dWidth :: !(Maybe (Textual Int32))+ , _dName :: !(Maybe Text)+ , _dRefreshRate :: !(Maybe (Textual Int32))+ , _dDisplayId :: !(Maybe (Textual Int32))+ , _dDensity :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Display' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dHeight'+--+-- * 'dState'+--+-- * 'dWidth'+--+-- * 'dName'+--+-- * 'dRefreshRate'+--+-- * 'dDisplayId'+--+-- * 'dDensity'+display+ :: Display+display =+ Display'+ { _dHeight = Nothing+ , _dState = Nothing+ , _dWidth = Nothing+ , _dName = Nothing+ , _dRefreshRate = Nothing+ , _dDisplayId = Nothing+ , _dDensity = Nothing+ }++-- | Display height in pixels.+dHeight :: Lens' Display (Maybe Int32)+dHeight+ = lens _dHeight (\ s a -> s{_dHeight = a}) .+ mapping _Coerce++-- | State of the display.+dState :: Lens' Display (Maybe DisplayState)+dState = lens _dState (\ s a -> s{_dState = a})++-- | Display width in pixels.+dWidth :: Lens' Display (Maybe Int32)+dWidth+ = lens _dWidth (\ s a -> s{_dWidth = a}) .+ mapping _Coerce++-- | Name of the display.+dName :: Lens' Display (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | Refresh rate of the display in frames per second.+dRefreshRate :: Lens' Display (Maybe Int32)+dRefreshRate+ = lens _dRefreshRate (\ s a -> s{_dRefreshRate = a})+ . mapping _Coerce++-- | Unique display id.+dDisplayId :: Lens' Display (Maybe Int32)+dDisplayId+ = lens _dDisplayId (\ s a -> s{_dDisplayId = a}) .+ mapping _Coerce++-- | Display density expressed as dots-per-inch.+dDensity :: Lens' Display (Maybe Int32)+dDensity+ = lens _dDensity (\ s a -> s{_dDensity = a}) .+ mapping _Coerce++instance FromJSON Display where+ parseJSON+ = withObject "Display"+ (\ o ->+ Display' <$>+ (o .:? "height") <*> (o .:? "state") <*>+ (o .:? "width")+ <*> (o .:? "name")+ <*> (o .:? "refreshRate")+ <*> (o .:? "displayId")+ <*> (o .:? "density"))++instance ToJSON Display where+ toJSON Display'{..}+ = object+ (catMaybes+ [("height" .=) <$> _dHeight,+ ("state" .=) <$> _dState, ("width" .=) <$> _dWidth,+ ("name" .=) <$> _dName,+ ("refreshRate" .=) <$> _dRefreshRate,+ ("displayId" .=) <$> _dDisplayId,+ ("density" .=) <$> _dDensity])++-- | Configuration for an always-on VPN connection.+--+-- /See:/ 'alwaysOnVPNPackage' smart constructor.+data AlwaysOnVPNPackage = AlwaysOnVPNPackage'+ { _aovpLockdownEnabled :: !(Maybe Bool)+ , _aovpPackageName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AlwaysOnVPNPackage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aovpLockdownEnabled'+--+-- * 'aovpPackageName'+alwaysOnVPNPackage+ :: AlwaysOnVPNPackage+alwaysOnVPNPackage =+ AlwaysOnVPNPackage'+ { _aovpLockdownEnabled = Nothing+ , _aovpPackageName = Nothing+ }++-- | Disallows networking when the VPN is not connected.+aovpLockdownEnabled :: Lens' AlwaysOnVPNPackage (Maybe Bool)+aovpLockdownEnabled+ = lens _aovpLockdownEnabled+ (\ s a -> s{_aovpLockdownEnabled = a})++-- | The package name of the VPN app.+aovpPackageName :: Lens' AlwaysOnVPNPackage (Maybe Text)+aovpPackageName+ = lens _aovpPackageName+ (\ s a -> s{_aovpPackageName = a})++instance FromJSON AlwaysOnVPNPackage where+ parseJSON+ = withObject "AlwaysOnVPNPackage"+ (\ o ->+ AlwaysOnVPNPackage' <$>+ (o .:? "lockdownEnabled") <*> (o .:? "packageName"))++instance ToJSON AlwaysOnVPNPackage where+ toJSON AlwaysOnVPNPackage'{..}+ = object+ (catMaybes+ [("lockdownEnabled" .=) <$> _aovpLockdownEnabled,+ ("packageName" .=) <$> _aovpPackageName])++-- | Network configuration for the device. See configure networks for more+-- information.+--+-- /See:/ 'policyOpenNetworkConfiguration' smart constructor.+newtype PolicyOpenNetworkConfiguration = PolicyOpenNetworkConfiguration'+ { _poncAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PolicyOpenNetworkConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poncAddtional'+policyOpenNetworkConfiguration+ :: HashMap Text JSONValue -- ^ 'poncAddtional'+ -> PolicyOpenNetworkConfiguration+policyOpenNetworkConfiguration pPoncAddtional_ =+ PolicyOpenNetworkConfiguration'+ { _poncAddtional = _Coerce # pPoncAddtional_+ }++-- | Properties of the object.+poncAddtional :: Lens' PolicyOpenNetworkConfiguration (HashMap Text JSONValue)+poncAddtional+ = lens _poncAddtional+ (\ s a -> s{_poncAddtional = a})+ . _Coerce++instance FromJSON PolicyOpenNetworkConfiguration+ where+ parseJSON+ = withObject "PolicyOpenNetworkConfiguration"+ (\ o ->+ PolicyOpenNetworkConfiguration' <$>+ (parseJSONObject o))++instance ToJSON PolicyOpenNetworkConfiguration where+ toJSON = toJSON . _poncAddtional++-- | Hardware status. Temperatures may be compared to the temperature+-- thresholds available in hardwareInfo to determine hardware health.+--+-- /See:/ 'hardwareStatus' smart constructor.+data HardwareStatus = HardwareStatus'+ { _hsCPUTemperatures :: !(Maybe [Textual Double])+ , _hsBatteryTemperatures :: !(Maybe [Textual Double])+ , _hsGpuTemperatures :: !(Maybe [Textual Double])+ , _hsFanSpeeds :: !(Maybe [Textual Double])+ , _hsSkinTemperatures :: !(Maybe [Textual Double])+ , _hsCPUUsages :: !(Maybe [Textual Double])+ , _hsCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HardwareStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hsCPUTemperatures'+--+-- * 'hsBatteryTemperatures'+--+-- * 'hsGpuTemperatures'+--+-- * 'hsFanSpeeds'+--+-- * 'hsSkinTemperatures'+--+-- * 'hsCPUUsages'+--+-- * 'hsCreateTime'+hardwareStatus+ :: HardwareStatus+hardwareStatus =+ HardwareStatus'+ { _hsCPUTemperatures = Nothing+ , _hsBatteryTemperatures = Nothing+ , _hsGpuTemperatures = Nothing+ , _hsFanSpeeds = Nothing+ , _hsSkinTemperatures = Nothing+ , _hsCPUUsages = Nothing+ , _hsCreateTime = Nothing+ }++-- | Current CPU temperatures in Celsius for each CPU on the device.+hsCPUTemperatures :: Lens' HardwareStatus [Double]+hsCPUTemperatures+ = lens _hsCPUTemperatures+ (\ s a -> s{_hsCPUTemperatures = a})+ . _Default+ . _Coerce++-- | Current battery temperatures in Celsius for each battery on the device.+hsBatteryTemperatures :: Lens' HardwareStatus [Double]+hsBatteryTemperatures+ = lens _hsBatteryTemperatures+ (\ s a -> s{_hsBatteryTemperatures = a})+ . _Default+ . _Coerce++-- | Current GPU temperatures in Celsius for each GPU on the device.+hsGpuTemperatures :: Lens' HardwareStatus [Double]+hsGpuTemperatures+ = lens _hsGpuTemperatures+ (\ s a -> s{_hsGpuTemperatures = a})+ . _Default+ . _Coerce++-- | Fan speeds in RPM for each fan on the device. Empty array means that+-- there are no fans or fan speed is not supported on the system.+hsFanSpeeds :: Lens' HardwareStatus [Double]+hsFanSpeeds+ = lens _hsFanSpeeds (\ s a -> s{_hsFanSpeeds = a}) .+ _Default+ . _Coerce++-- | Current device skin temperatures in Celsius.+hsSkinTemperatures :: Lens' HardwareStatus [Double]+hsSkinTemperatures+ = lens _hsSkinTemperatures+ (\ s a -> s{_hsSkinTemperatures = a})+ . _Default+ . _Coerce++-- | CPU usages in percentage for each core available on the device. Usage is+-- 0 for each unplugged core. Empty array implies that CPU usage is not+-- supported in the system.+hsCPUUsages :: Lens' HardwareStatus [Double]+hsCPUUsages+ = lens _hsCPUUsages (\ s a -> s{_hsCPUUsages = a}) .+ _Default+ . _Coerce++-- | The time the measurements were taken.+hsCreateTime :: Lens' HardwareStatus (Maybe UTCTime)+hsCreateTime+ = lens _hsCreateTime (\ s a -> s{_hsCreateTime = a})+ . mapping _DateTime++instance FromJSON HardwareStatus where+ parseJSON+ = withObject "HardwareStatus"+ (\ o ->+ HardwareStatus' <$>+ (o .:? "cpuTemperatures" .!= mempty) <*>+ (o .:? "batteryTemperatures" .!= mempty)+ <*> (o .:? "gpuTemperatures" .!= mempty)+ <*> (o .:? "fanSpeeds" .!= mempty)+ <*> (o .:? "skinTemperatures" .!= mempty)+ <*> (o .:? "cpuUsages" .!= mempty)+ <*> (o .:? "createTime"))++instance ToJSON HardwareStatus where+ toJSON HardwareStatus'{..}+ = object+ (catMaybes+ [("cpuTemperatures" .=) <$> _hsCPUTemperatures,+ ("batteryTemperatures" .=) <$>+ _hsBatteryTemperatures,+ ("gpuTemperatures" .=) <$> _hsGpuTemperatures,+ ("fanSpeeds" .=) <$> _hsFanSpeeds,+ ("skinTemperatures" .=) <$> _hsSkinTemperatures,+ ("cpuUsages" .=) <$> _hsCPUUsages,+ ("createTime" .=) <$> _hsCreateTime])++-- | Information about an app.+--+-- /See:/ 'application' smart constructor.+data Application = Application'+ { _aManagedProperties :: !(Maybe [ManagedProperty])+ , _aName :: !(Maybe Text)+ , _aPermissions :: !(Maybe [ApplicationPermission])+ , _aTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Application' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aManagedProperties'+--+-- * 'aName'+--+-- * 'aPermissions'+--+-- * 'aTitle'+application+ :: Application+application =+ Application'+ { _aManagedProperties = Nothing+ , _aName = Nothing+ , _aPermissions = Nothing+ , _aTitle = Nothing+ }++-- | The set of managed properties available to be pre-configured for the+-- app.+aManagedProperties :: Lens' Application [ManagedProperty]+aManagedProperties+ = lens _aManagedProperties+ (\ s a -> s{_aManagedProperties = a})+ . _Default+ . _Coerce++-- | The name of the app in the form+-- enterprises\/{enterpriseId}\/applications\/{package_name}.+aName :: Lens' Application (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | The permissions required by the app.+aPermissions :: Lens' Application [ApplicationPermission]+aPermissions+ = lens _aPermissions (\ s a -> s{_aPermissions = a})+ . _Default+ . _Coerce++-- | The title of the app. Localized.+aTitle :: Lens' Application (Maybe Text)+aTitle = lens _aTitle (\ s a -> s{_aTitle = a})++instance FromJSON Application where+ parseJSON+ = withObject "Application"+ (\ o ->+ Application' <$>+ (o .:? "managedProperties" .!= mempty) <*>+ (o .:? "name")+ <*> (o .:? "permissions" .!= mempty)+ <*> (o .:? "title"))++instance ToJSON Application where+ toJSON Application'{..}+ = object+ (catMaybes+ [("managedProperties" .=) <$> _aManagedProperties,+ ("name" .=) <$> _aName,+ ("permissions" .=) <$> _aPermissions,+ ("title" .=) <$> _aTitle])++-- | Managed property.+--+-- /See:/ 'managedProperty' smart constructor.+data ManagedProperty = ManagedProperty'+ { _mpEntries :: !(Maybe [ManagedPropertyEntry])+ , _mpNestedProperties :: !(Maybe [ManagedProperty])+ , _mpKey :: !(Maybe Text)+ , _mpDefaultValue :: !(Maybe JSONValue)+ , _mpTitle :: !(Maybe Text)+ , _mpType :: !(Maybe ManagedPropertyType)+ , _mpDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpEntries'+--+-- * 'mpNestedProperties'+--+-- * 'mpKey'+--+-- * 'mpDefaultValue'+--+-- * 'mpTitle'+--+-- * 'mpType'+--+-- * 'mpDescription'+managedProperty+ :: ManagedProperty+managedProperty =+ ManagedProperty'+ { _mpEntries = Nothing+ , _mpNestedProperties = Nothing+ , _mpKey = Nothing+ , _mpDefaultValue = Nothing+ , _mpTitle = Nothing+ , _mpType = Nothing+ , _mpDescription = Nothing+ }++-- | For CHOICE or MULTISELECT properties, the list of possible entries.+mpEntries :: Lens' ManagedProperty [ManagedPropertyEntry]+mpEntries+ = lens _mpEntries (\ s a -> s{_mpEntries = a}) .+ _Default+ . _Coerce++-- | For BUNDLE_ARRAY properties, the list of nested properties. A+-- BUNDLE_ARRAY property is at most two levels deep.+mpNestedProperties :: Lens' ManagedProperty [ManagedProperty]+mpNestedProperties+ = lens _mpNestedProperties+ (\ s a -> s{_mpNestedProperties = a})+ . _Default+ . _Coerce++-- | The unique key that the app uses to identify the property, e.g.+-- \"com.google.android.gm.fieldname\".+mpKey :: Lens' ManagedProperty (Maybe Text)+mpKey = lens _mpKey (\ s a -> s{_mpKey = a})++-- | The default value of the property. BUNDLE_ARRAY properties don\'t have a+-- default value.+mpDefaultValue :: Lens' ManagedProperty (Maybe JSONValue)+mpDefaultValue+ = lens _mpDefaultValue+ (\ s a -> s{_mpDefaultValue = a})++-- | The name of the property. Localized.+mpTitle :: Lens' ManagedProperty (Maybe Text)+mpTitle = lens _mpTitle (\ s a -> s{_mpTitle = a})++-- | The type of the property.+mpType :: Lens' ManagedProperty (Maybe ManagedPropertyType)+mpType = lens _mpType (\ s a -> s{_mpType = a})++-- | A longer description of the property, providing more detail of what it+-- affects. Localized.+mpDescription :: Lens' ManagedProperty (Maybe Text)+mpDescription+ = lens _mpDescription+ (\ s a -> s{_mpDescription = a})++instance FromJSON ManagedProperty where+ parseJSON+ = withObject "ManagedProperty"+ (\ o ->+ ManagedProperty' <$>+ (o .:? "entries" .!= mempty) <*>+ (o .:? "nestedProperties" .!= mempty)+ <*> (o .:? "key")+ <*> (o .:? "defaultValue")+ <*> (o .:? "title")+ <*> (o .:? "type")+ <*> (o .:? "description"))++instance ToJSON ManagedProperty where+ toJSON ManagedProperty'{..}+ = object+ (catMaybes+ [("entries" .=) <$> _mpEntries,+ ("nestedProperties" .=) <$> _mpNestedProperties,+ ("key" .=) <$> _mpKey,+ ("defaultValue" .=) <$> _mpDefaultValue,+ ("title" .=) <$> _mpTitle, ("type" .=) <$> _mpType,+ ("description" .=) <$> _mpDescription])++-- | Configuration info for an HTTP proxy. For a direct proxy, set the host,+-- port, and excluded_hosts fields. For a PAC script proxy, set the pac_uri+-- field.+--+-- /See:/ 'proxyInfo' smart constructor.+data ProxyInfo = ProxyInfo'+ { _piPacURI :: !(Maybe Text)+ , _piHost :: !(Maybe Text)+ , _piExcludedHosts :: !(Maybe [Text])+ , _piPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProxyInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piPacURI'+--+-- * 'piHost'+--+-- * 'piExcludedHosts'+--+-- * 'piPort'+proxyInfo+ :: ProxyInfo+proxyInfo =+ ProxyInfo'+ { _piPacURI = Nothing+ , _piHost = Nothing+ , _piExcludedHosts = Nothing+ , _piPort = Nothing+ }++-- | The URI of the PAC script used to configure the proxy.+piPacURI :: Lens' ProxyInfo (Maybe Text)+piPacURI = lens _piPacURI (\ s a -> s{_piPacURI = a})++-- | The host of the direct proxy.+piHost :: Lens' ProxyInfo (Maybe Text)+piHost = lens _piHost (\ s a -> s{_piHost = a})++-- | For a direct proxy, the hosts for which the proxy is bypassed. The host+-- names may contain wildcards such as *.example.com.+piExcludedHosts :: Lens' ProxyInfo [Text]+piExcludedHosts+ = lens _piExcludedHosts+ (\ s a -> s{_piExcludedHosts = a})+ . _Default+ . _Coerce++-- | The port of the direct proxy.+piPort :: Lens' ProxyInfo (Maybe Int32)+piPort+ = lens _piPort (\ s a -> s{_piPort = a}) .+ mapping _Coerce++instance FromJSON ProxyInfo where+ parseJSON+ = withObject "ProxyInfo"+ (\ o ->+ ProxyInfo' <$>+ (o .:? "pacUri") <*> (o .:? "host") <*>+ (o .:? "excludedHosts" .!= mempty)+ <*> (o .:? "port"))++instance ToJSON ProxyInfo where+ toJSON ProxyInfo'{..}+ = object+ (catMaybes+ [("pacUri" .=) <$> _piPacURI,+ ("host" .=) <$> _piHost,+ ("excludedHosts" .=) <$> _piExcludedHosts,+ ("port" .=) <$> _piPort])++-- | A default activity for handling intents that match a particular intent+-- filter.+--+-- /See:/ 'persistentPreferredActivity' smart constructor.+data PersistentPreferredActivity = PersistentPreferredActivity'+ { _ppaActions :: !(Maybe [Text])+ , _ppaCategories :: !(Maybe [Text])+ , _ppaReceiverActivity :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PersistentPreferredActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppaActions'+--+-- * 'ppaCategories'+--+-- * 'ppaReceiverActivity'+persistentPreferredActivity+ :: PersistentPreferredActivity+persistentPreferredActivity =+ PersistentPreferredActivity'+ { _ppaActions = Nothing+ , _ppaCategories = Nothing+ , _ppaReceiverActivity = Nothing+ }++-- | The intent actions to match in the filter. If any actions are included+-- in the filter, then an intent\'s action must be one of those values for+-- it to match. If no actions are included, the intent action is ignored.+ppaActions :: Lens' PersistentPreferredActivity [Text]+ppaActions+ = lens _ppaActions (\ s a -> s{_ppaActions = a}) .+ _Default+ . _Coerce++-- | The intent categories to match in the filter. An intent includes the+-- categories that it requires, all of which must be included in the filter+-- in order to match. In other words, adding a category to the filter has+-- no impact on matching unless that category is specified in the intent.+ppaCategories :: Lens' PersistentPreferredActivity [Text]+ppaCategories+ = lens _ppaCategories+ (\ s a -> s{_ppaCategories = a})+ . _Default+ . _Coerce++-- | The activity that should be the default intent handler. This should be+-- an Android component name, e.g.+-- com.android.enterprise.app\/.MainActivity. Alternatively, the value may+-- be the package name of an app, which causes Android Device Policy to+-- choose an appropriate activity from the app to handle the intent.+ppaReceiverActivity :: Lens' PersistentPreferredActivity (Maybe Text)+ppaReceiverActivity+ = lens _ppaReceiverActivity+ (\ s a -> s{_ppaReceiverActivity = a})++instance FromJSON PersistentPreferredActivity where+ parseJSON+ = withObject "PersistentPreferredActivity"+ (\ o ->+ PersistentPreferredActivity' <$>+ (o .:? "actions" .!= mempty) <*>+ (o .:? "categories" .!= mempty)+ <*> (o .:? "receiverActivity"))++instance ToJSON PersistentPreferredActivity where+ toJSON PersistentPreferredActivity'{..}+ = object+ (catMaybes+ [("actions" .=) <$> _ppaActions,+ ("categories" .=) <$> _ppaCategories,+ ("receiverActivity" .=) <$> _ppaReceiverActivity])++-- | 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})++-- | The error result of the operation in case of failure or cancellation.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as Delete, the response is+-- google.protobuf.Empty. If the original method is standard+-- Get\/Create\/Update, the response should be the resource. For other+-- methods, the response should have the type XxxResponse, where Xxx is the+-- original method name. For example, if the original method name is+-- TakeSnapshot(), the inferred response type is TakeSnapshotResponse.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+ = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- name should have the format of operations\/some\/unique\/name.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe 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++-- | Data hosted at an external location. The data is to be downloaded by+-- Android Device Policy and verified against the hash.+--+-- /See:/ 'externalData' smart constructor.+data ExternalData = ExternalData'+ { _edURL :: !(Maybe Text)+ , _edSha256Hash :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExternalData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edURL'+--+-- * 'edSha256Hash'+externalData+ :: ExternalData+externalData =+ ExternalData'+ { _edURL = Nothing+ , _edSha256Hash = Nothing+ }++-- | The absolute URL to the data, which must use either the http or https+-- scheme. Android Device Policy doesn\'t provide any credentials in the+-- GET request, so the URL must be publicly accessible. Including a long,+-- random component in the URL may be used to prevent attackers from+-- discovering the URL.+edURL :: Lens' ExternalData (Maybe Text)+edURL = lens _edURL (\ s a -> s{_edURL = a})++-- | The base-64 encoded SHA-256 hash of the content hosted at url. If the+-- content doesn\'t match this hash, Android Device Policy won\'t use the+-- data.+edSha256Hash :: Lens' ExternalData (Maybe Text)+edSha256Hash+ = lens _edSha256Hash (\ s a -> s{_edSha256Hash = a})++instance FromJSON ExternalData where+ parseJSON+ = withObject "ExternalData"+ (\ o ->+ ExternalData' <$>+ (o .:? "url") <*> (o .:? "sha256Hash"))++instance ToJSON ExternalData where+ toJSON ExternalData'{..}+ = object+ (catMaybes+ [("url" .=) <$> _edURL,+ ("sha256Hash" .=) <$> _edSha256Hash])++-- | A compliance rule condition which is satisfied if the Android Framework+-- API level on the device doesn\'t meet a minimum requirement. There can+-- only be one rule with this type of condition per policy.+--+-- /See:/ 'apiLevelCondition' smart constructor.+newtype APILevelCondition = APILevelCondition'+ { _alcMinAPILevel :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'APILevelCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcMinAPILevel'+apiLevelCondition+ :: APILevelCondition+apiLevelCondition =+ APILevelCondition'+ { _alcMinAPILevel = Nothing+ }++-- | The minimum desired Android Framework API level. If the device doesn\'t+-- meet the minimum requirement, this condition is satisfied. Must be+-- greater than zero.+alcMinAPILevel :: Lens' APILevelCondition (Maybe Int32)+alcMinAPILevel+ = lens _alcMinAPILevel+ (\ s a -> s{_alcMinAPILevel = a})+ . mapping _Coerce++instance FromJSON APILevelCondition where+ parseJSON+ = withObject "APILevelCondition"+ (\ o -> APILevelCondition' <$> (o .:? "minApiLevel"))++instance ToJSON APILevelCondition where+ toJSON APILevelCondition'{..}+ = object+ (catMaybes [("minApiLevel" .=) <$> _alcMinAPILevel])++-- | Information about security related device settings on device.+--+-- /See:/ 'deviceSettings' smart constructor.+data DeviceSettings = DeviceSettings'+ { _dsIsEncrypted :: !(Maybe Bool)+ , _dsAdbEnabled :: !(Maybe Bool)+ , _dsIsDeviceSecure :: !(Maybe Bool)+ , _dsVerifyAppsEnabled :: !(Maybe Bool)+ , _dsDevelopmentSettingsEnabled :: !(Maybe Bool)+ , _dsEncryptionStatus :: !(Maybe DeviceSettingsEncryptionStatus)+ , _dsUnknownSourcesEnabled :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsIsEncrypted'+--+-- * 'dsAdbEnabled'+--+-- * 'dsIsDeviceSecure'+--+-- * 'dsVerifyAppsEnabled'+--+-- * 'dsDevelopmentSettingsEnabled'+--+-- * 'dsEncryptionStatus'+--+-- * 'dsUnknownSourcesEnabled'+deviceSettings+ :: DeviceSettings+deviceSettings =+ DeviceSettings'+ { _dsIsEncrypted = Nothing+ , _dsAdbEnabled = Nothing+ , _dsIsDeviceSecure = Nothing+ , _dsVerifyAppsEnabled = Nothing+ , _dsDevelopmentSettingsEnabled = Nothing+ , _dsEncryptionStatus = Nothing+ , _dsUnknownSourcesEnabled = Nothing+ }++-- | Whether the storage encryption is enabled.+dsIsEncrypted :: Lens' DeviceSettings (Maybe Bool)+dsIsEncrypted+ = lens _dsIsEncrypted+ (\ s a -> s{_dsIsEncrypted = a})++-- | Whether ADB+-- (https:\/\/developer.android.com\/studio\/command-line\/adb.html) is+-- enabled on the device.+dsAdbEnabled :: Lens' DeviceSettings (Maybe Bool)+dsAdbEnabled+ = lens _dsAdbEnabled (\ s a -> s{_dsAdbEnabled = a})++-- | Whether the device is secured with PIN\/password.+dsIsDeviceSecure :: Lens' DeviceSettings (Maybe Bool)+dsIsDeviceSecure+ = lens _dsIsDeviceSecure+ (\ s a -> s{_dsIsDeviceSecure = a})++-- | Whether Verify Apps (Google Play Protect+-- (https:\/\/support.google.com\/googleplay\/answer\/2812853)) is enabled+-- on the device.+dsVerifyAppsEnabled :: Lens' DeviceSettings (Maybe Bool)+dsVerifyAppsEnabled+ = lens _dsVerifyAppsEnabled+ (\ s a -> s{_dsVerifyAppsEnabled = a})++-- | Whether developer mode is enabled on the device.+dsDevelopmentSettingsEnabled :: Lens' DeviceSettings (Maybe Bool)+dsDevelopmentSettingsEnabled+ = lens _dsDevelopmentSettingsEnabled+ (\ s a -> s{_dsDevelopmentSettingsEnabled = a})++-- | Encryption status from DevicePolicyManager.+dsEncryptionStatus :: Lens' DeviceSettings (Maybe DeviceSettingsEncryptionStatus)+dsEncryptionStatus+ = lens _dsEncryptionStatus+ (\ s a -> s{_dsEncryptionStatus = a})++-- | Whether installing apps from unknown sources is enabled.+dsUnknownSourcesEnabled :: Lens' DeviceSettings (Maybe Bool)+dsUnknownSourcesEnabled+ = lens _dsUnknownSourcesEnabled+ (\ s a -> s{_dsUnknownSourcesEnabled = a})++instance FromJSON DeviceSettings where+ parseJSON+ = withObject "DeviceSettings"+ (\ o ->+ DeviceSettings' <$>+ (o .:? "isEncrypted") <*> (o .:? "adbEnabled") <*>+ (o .:? "isDeviceSecure")+ <*> (o .:? "verifyAppsEnabled")+ <*> (o .:? "developmentSettingsEnabled")+ <*> (o .:? "encryptionStatus")+ <*> (o .:? "unknownSourcesEnabled"))++instance ToJSON DeviceSettings where+ toJSON DeviceSettings'{..}+ = object+ (catMaybes+ [("isEncrypted" .=) <$> _dsIsEncrypted,+ ("adbEnabled" .=) <$> _dsAdbEnabled,+ ("isDeviceSecure" .=) <$> _dsIsDeviceSecure,+ ("verifyAppsEnabled" .=) <$> _dsVerifyAppsEnabled,+ ("developmentSettingsEnabled" .=) <$>+ _dsDevelopmentSettingsEnabled,+ ("encryptionStatus" .=) <$> _dsEncryptionStatus,+ ("unknownSourcesEnabled" .=) <$>+ _dsUnknownSourcesEnabled])++-- | Optional, a map containing configuration variables defined for the+-- configuration.+--+-- /See:/ 'managedConfigurationTemplateConfigurationVariables' smart constructor.+newtype ManagedConfigurationTemplateConfigurationVariables = ManagedConfigurationTemplateConfigurationVariables'+ { _mctcvAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationTemplateConfigurationVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mctcvAddtional'+managedConfigurationTemplateConfigurationVariables+ :: HashMap Text Text -- ^ 'mctcvAddtional'+ -> ManagedConfigurationTemplateConfigurationVariables+managedConfigurationTemplateConfigurationVariables pMctcvAddtional_ =+ ManagedConfigurationTemplateConfigurationVariables'+ { _mctcvAddtional = _Coerce # pMctcvAddtional_+ }++mctcvAddtional :: Lens' ManagedConfigurationTemplateConfigurationVariables (HashMap Text Text)+mctcvAddtional+ = lens _mctcvAddtional+ (\ s a -> s{_mctcvAddtional = a})+ . _Coerce++instance FromJSON+ ManagedConfigurationTemplateConfigurationVariables+ where+ parseJSON+ = withObject+ "ManagedConfigurationTemplateConfigurationVariables"+ (\ o ->+ ManagedConfigurationTemplateConfigurationVariables'+ <$> (parseJSONObject o))++instance ToJSON+ ManagedConfigurationTemplateConfigurationVariables+ where+ toJSON = toJSON . _mctcvAddtional++-- | Information about device hardware. The fields related to temperature+-- thresholds are only available if hardwareStatusEnabled is true in the+-- device\'s policy.+--+-- /See:/ 'hardwareInfo' smart constructor.+data HardwareInfo = HardwareInfo'+ { _hiCPUThrottlingTemperatures :: !(Maybe [Textual Double])+ , _hiManufacturer :: !(Maybe Text)+ , _hiBrand :: !(Maybe Text)+ , _hiCPUShutdownTemperatures :: !(Maybe [Textual Double])+ , _hiBatteryThrottlingTemperatures :: !(Maybe [Textual Double])+ , _hiModel :: !(Maybe Text)+ , _hiBatteryShutdownTemperatures :: !(Maybe [Textual Double])+ , _hiSkinThrottlingTemperatures :: !(Maybe [Textual Double])+ , _hiGpuShutdownTemperatures :: !(Maybe [Textual Double])+ , _hiGpuThrottlingTemperatures :: !(Maybe [Textual Double])+ , _hiSkinShutdownTemperatures :: !(Maybe [Textual Double])+ , _hiSerialNumber :: !(Maybe Text)+ , _hiDeviceBasebandVersion :: !(Maybe Text)+ , _hiHardware :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HardwareInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hiCPUThrottlingTemperatures'+--+-- * 'hiManufacturer'+--+-- * 'hiBrand'+--+-- * 'hiCPUShutdownTemperatures'+--+-- * 'hiBatteryThrottlingTemperatures'+--+-- * 'hiModel'+--+-- * 'hiBatteryShutdownTemperatures'+--+-- * 'hiSkinThrottlingTemperatures'+--+-- * 'hiGpuShutdownTemperatures'+--+-- * 'hiGpuThrottlingTemperatures'+--+-- * 'hiSkinShutdownTemperatures'+--+-- * 'hiSerialNumber'+--+-- * 'hiDeviceBasebandVersion'+--+-- * 'hiHardware'+hardwareInfo+ :: HardwareInfo+hardwareInfo =+ HardwareInfo'+ { _hiCPUThrottlingTemperatures = Nothing+ , _hiManufacturer = Nothing+ , _hiBrand = Nothing+ , _hiCPUShutdownTemperatures = Nothing+ , _hiBatteryThrottlingTemperatures = Nothing+ , _hiModel = Nothing+ , _hiBatteryShutdownTemperatures = Nothing+ , _hiSkinThrottlingTemperatures = Nothing+ , _hiGpuShutdownTemperatures = Nothing+ , _hiGpuThrottlingTemperatures = Nothing+ , _hiSkinShutdownTemperatures = Nothing+ , _hiSerialNumber = Nothing+ , _hiDeviceBasebandVersion = Nothing+ , _hiHardware = Nothing+ }++-- | CPU throttling temperature thresholds in Celsius for each CPU on the+-- device.+hiCPUThrottlingTemperatures :: Lens' HardwareInfo [Double]+hiCPUThrottlingTemperatures+ = lens _hiCPUThrottlingTemperatures+ (\ s a -> s{_hiCPUThrottlingTemperatures = a})+ . _Default+ . _Coerce++-- | Manufacturer. For example, Motorola.+hiManufacturer :: Lens' HardwareInfo (Maybe Text)+hiManufacturer+ = lens _hiManufacturer+ (\ s a -> s{_hiManufacturer = a})++-- | Brand of the device. For example, Google.+hiBrand :: Lens' HardwareInfo (Maybe Text)+hiBrand = lens _hiBrand (\ s a -> s{_hiBrand = a})++-- | CPU shutdown temperature thresholds in Celsius for each CPU on the+-- device.+hiCPUShutdownTemperatures :: Lens' HardwareInfo [Double]+hiCPUShutdownTemperatures+ = lens _hiCPUShutdownTemperatures+ (\ s a -> s{_hiCPUShutdownTemperatures = a})+ . _Default+ . _Coerce++-- | Battery throttling temperature thresholds in Celsius for each battery on+-- the device.+hiBatteryThrottlingTemperatures :: Lens' HardwareInfo [Double]+hiBatteryThrottlingTemperatures+ = lens _hiBatteryThrottlingTemperatures+ (\ s a -> s{_hiBatteryThrottlingTemperatures = a})+ . _Default+ . _Coerce++-- | The model of the device. For example, Asus Nexus 7.+hiModel :: Lens' HardwareInfo (Maybe Text)+hiModel = lens _hiModel (\ s a -> s{_hiModel = a})++-- | Battery shutdown temperature thresholds in Celsius for each battery on+-- the device.+hiBatteryShutdownTemperatures :: Lens' HardwareInfo [Double]+hiBatteryShutdownTemperatures+ = lens _hiBatteryShutdownTemperatures+ (\ s a -> s{_hiBatteryShutdownTemperatures = a})+ . _Default+ . _Coerce++-- | Device skin throttling temperature thresholds in Celsius.+hiSkinThrottlingTemperatures :: Lens' HardwareInfo [Double]+hiSkinThrottlingTemperatures+ = lens _hiSkinThrottlingTemperatures+ (\ s a -> s{_hiSkinThrottlingTemperatures = a})+ . _Default+ . _Coerce++-- | GPU shutdown temperature thresholds in Celsius for each GPU on the+-- device.+hiGpuShutdownTemperatures :: Lens' HardwareInfo [Double]+hiGpuShutdownTemperatures+ = lens _hiGpuShutdownTemperatures+ (\ s a -> s{_hiGpuShutdownTemperatures = a})+ . _Default+ . _Coerce++-- | GPU throttling temperature thresholds in Celsius for each GPU on the+-- device.+hiGpuThrottlingTemperatures :: Lens' HardwareInfo [Double]+hiGpuThrottlingTemperatures+ = lens _hiGpuThrottlingTemperatures+ (\ s a -> s{_hiGpuThrottlingTemperatures = a})+ . _Default+ . _Coerce++-- | Device skin shutdown temperature thresholds in Celsius.+hiSkinShutdownTemperatures :: Lens' HardwareInfo [Double]+hiSkinShutdownTemperatures+ = lens _hiSkinShutdownTemperatures+ (\ s a -> s{_hiSkinShutdownTemperatures = a})+ . _Default+ . _Coerce++-- | The device serial number.+hiSerialNumber :: Lens' HardwareInfo (Maybe Text)+hiSerialNumber+ = lens _hiSerialNumber+ (\ s a -> s{_hiSerialNumber = a})++-- | Baseband version. For example, MDM9625_104662.22.05.34p.+hiDeviceBasebandVersion :: Lens' HardwareInfo (Maybe Text)+hiDeviceBasebandVersion+ = lens _hiDeviceBasebandVersion+ (\ s a -> s{_hiDeviceBasebandVersion = a})++-- | Name of the hardware. For example, Angler.+hiHardware :: Lens' HardwareInfo (Maybe Text)+hiHardware+ = lens _hiHardware (\ s a -> s{_hiHardware = a})++instance FromJSON HardwareInfo where+ parseJSON+ = withObject "HardwareInfo"+ (\ o ->+ HardwareInfo' <$>+ (o .:? "cpuThrottlingTemperatures" .!= mempty) <*>+ (o .:? "manufacturer")+ <*> (o .:? "brand")+ <*> (o .:? "cpuShutdownTemperatures" .!= mempty)+ <*>+ (o .:? "batteryThrottlingTemperatures" .!= mempty)+ <*> (o .:? "model")+ <*> (o .:? "batteryShutdownTemperatures" .!= mempty)+ <*> (o .:? "skinThrottlingTemperatures" .!= mempty)+ <*> (o .:? "gpuShutdownTemperatures" .!= mempty)+ <*> (o .:? "gpuThrottlingTemperatures" .!= mempty)+ <*> (o .:? "skinShutdownTemperatures" .!= mempty)+ <*> (o .:? "serialNumber")+ <*> (o .:? "deviceBasebandVersion")+ <*> (o .:? "hardware"))++instance ToJSON HardwareInfo where+ toJSON HardwareInfo'{..}+ = object+ (catMaybes+ [("cpuThrottlingTemperatures" .=) <$>+ _hiCPUThrottlingTemperatures,+ ("manufacturer" .=) <$> _hiManufacturer,+ ("brand" .=) <$> _hiBrand,+ ("cpuShutdownTemperatures" .=) <$>+ _hiCPUShutdownTemperatures,+ ("batteryThrottlingTemperatures" .=) <$>+ _hiBatteryThrottlingTemperatures,+ ("model" .=) <$> _hiModel,+ ("batteryShutdownTemperatures" .=) <$>+ _hiBatteryShutdownTemperatures,+ ("skinThrottlingTemperatures" .=) <$>+ _hiSkinThrottlingTemperatures,+ ("gpuShutdownTemperatures" .=) <$>+ _hiGpuShutdownTemperatures,+ ("gpuThrottlingTemperatures" .=) <$>+ _hiGpuThrottlingTemperatures,+ ("skinShutdownTemperatures" .=) <$>+ _hiSkinShutdownTemperatures,+ ("serialNumber" .=) <$> _hiSerialNumber,+ ("deviceBasebandVersion" .=) <$>+ _hiDeviceBasebandVersion,+ ("hardware" .=) <$> _hiHardware])++-- | A device owned by an enterprise. Unless otherwise noted, all fields are+-- read-only and can\'t be modified by enterprises.devices.patch.+--+-- /See:/ 'device' smart constructor.+data Device = Device'+ { _devMemoryInfo :: !(Maybe MemoryInfo)+ , _devPolicyCompliant :: !(Maybe Bool)+ , _devApplicationReports :: !(Maybe [ApplicationReport])+ , _devPolicyName :: !(Maybe Text)+ , _devState :: !(Maybe DeviceState)+ , _devAppliedPolicyName :: !(Maybe Text)+ , _devLastStatusReportTime :: !(Maybe DateTime')+ , _devDeviceSettings :: !(Maybe DeviceSettings)+ , _devEnrollmentTokenName :: !(Maybe Text)+ , _devManagementMode :: !(Maybe DeviceManagementMode)+ , _devHardwareInfo :: !(Maybe HardwareInfo)+ , _devPowerManagementEvents :: !(Maybe [PowerManagementEvent])+ , _devUserName :: !(Maybe Text)+ , _devMemoryEvents :: !(Maybe [MemoryEvent])+ , _devAPILevel :: !(Maybe (Textual Int32))+ , _devUser :: !(Maybe User)+ , _devDisabledReason :: !(Maybe UserFacingMessage)+ , _devLastPolicyComplianceReportTime :: !(Maybe DateTime')+ , _devEnrollmentTokenData :: !(Maybe Text)+ , _devName :: !(Maybe Text)+ , _devAppliedPolicyVersion :: !(Maybe (Textual Int64))+ , _devHardwareStatusSamples :: !(Maybe [HardwareStatus])+ , _devAppliedState :: !(Maybe DeviceAppliedState)+ , _devPreviousDeviceNames :: !(Maybe [Text])+ , _devLastPolicySyncTime :: !(Maybe DateTime')+ , _devNetworkInfo :: !(Maybe NetworkInfo)+ , _devNonComplianceDetails :: !(Maybe [NonComplianceDetail])+ , _devSoftwareInfo :: !(Maybe SoftwareInfo)+ , _devEnrollmentTime :: !(Maybe DateTime')+ , _devDisplays :: !(Maybe [Display])+ } 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:+--+-- * 'devMemoryInfo'+--+-- * 'devPolicyCompliant'+--+-- * 'devApplicationReports'+--+-- * 'devPolicyName'+--+-- * 'devState'+--+-- * 'devAppliedPolicyName'+--+-- * 'devLastStatusReportTime'+--+-- * 'devDeviceSettings'+--+-- * 'devEnrollmentTokenName'+--+-- * 'devManagementMode'+--+-- * 'devHardwareInfo'+--+-- * 'devPowerManagementEvents'+--+-- * 'devUserName'+--+-- * 'devMemoryEvents'+--+-- * 'devAPILevel'+--+-- * 'devUser'+--+-- * 'devDisabledReason'+--+-- * 'devLastPolicyComplianceReportTime'+--+-- * 'devEnrollmentTokenData'+--+-- * 'devName'+--+-- * 'devAppliedPolicyVersion'+--+-- * 'devHardwareStatusSamples'+--+-- * 'devAppliedState'+--+-- * 'devPreviousDeviceNames'+--+-- * 'devLastPolicySyncTime'+--+-- * 'devNetworkInfo'+--+-- * 'devNonComplianceDetails'+--+-- * 'devSoftwareInfo'+--+-- * 'devEnrollmentTime'+--+-- * 'devDisplays'+device+ :: Device+device =+ Device'+ { _devMemoryInfo = Nothing+ , _devPolicyCompliant = Nothing+ , _devApplicationReports = Nothing+ , _devPolicyName = Nothing+ , _devState = Nothing+ , _devAppliedPolicyName = Nothing+ , _devLastStatusReportTime = Nothing+ , _devDeviceSettings = Nothing+ , _devEnrollmentTokenName = Nothing+ , _devManagementMode = Nothing+ , _devHardwareInfo = Nothing+ , _devPowerManagementEvents = Nothing+ , _devUserName = Nothing+ , _devMemoryEvents = Nothing+ , _devAPILevel = Nothing+ , _devUser = Nothing+ , _devDisabledReason = Nothing+ , _devLastPolicyComplianceReportTime = Nothing+ , _devEnrollmentTokenData = Nothing+ , _devName = Nothing+ , _devAppliedPolicyVersion = Nothing+ , _devHardwareStatusSamples = Nothing+ , _devAppliedState = Nothing+ , _devPreviousDeviceNames = Nothing+ , _devLastPolicySyncTime = Nothing+ , _devNetworkInfo = Nothing+ , _devNonComplianceDetails = Nothing+ , _devSoftwareInfo = Nothing+ , _devEnrollmentTime = Nothing+ , _devDisplays = Nothing+ }++-- | Memory information. This information is only available if+-- memoryInfoEnabled is true in the device\'s policy.+devMemoryInfo :: Lens' Device (Maybe MemoryInfo)+devMemoryInfo+ = lens _devMemoryInfo+ (\ s a -> s{_devMemoryInfo = a})++-- | Whether the device is compliant with its policy.+devPolicyCompliant :: Lens' Device (Maybe Bool)+devPolicyCompliant+ = lens _devPolicyCompliant+ (\ s a -> s{_devPolicyCompliant = a})++-- | Reports for apps installed on the device. This information is only+-- available when application_reports_enabled is true in the device\'s+-- policy.+devApplicationReports :: Lens' Device [ApplicationReport]+devApplicationReports+ = lens _devApplicationReports+ (\ s a -> s{_devApplicationReports = a})+ . _Default+ . _Coerce++-- | The name of the policy applied to the device, in the form+-- enterprises\/{enterpriseId}\/policies\/{policyId}. If not specified, the+-- policy_name for the device\'s user is applied. This field can be+-- modified by a patch request. You can specify only the policyId when+-- calling enterprises.devices.patch, as long as the policyId doesn’t+-- contain any slashes. The rest of the policy name is inferred.+devPolicyName :: Lens' Device (Maybe Text)+devPolicyName+ = lens _devPolicyName+ (\ s a -> s{_devPolicyName = a})++-- | The state to be applied to the device. This field can be modified by a+-- patch request. Note that when calling enterprises.devices.patch, ACTIVE+-- and DISABLED are the only allowable values. To enter the device into a+-- DELETED state, call enterprises.devices.delete.+devState :: Lens' Device (Maybe DeviceState)+devState = lens _devState (\ s a -> s{_devState = a})++-- | The name of the policy currently applied to the device.+devAppliedPolicyName :: Lens' Device (Maybe Text)+devAppliedPolicyName+ = lens _devAppliedPolicyName+ (\ s a -> s{_devAppliedPolicyName = a})++-- | The last time the device sent a status report.+devLastStatusReportTime :: Lens' Device (Maybe UTCTime)+devLastStatusReportTime+ = lens _devLastStatusReportTime+ (\ s a -> s{_devLastStatusReportTime = a})+ . mapping _DateTime++-- | Device settings information. This information is only available if+-- deviceSettingsEnabled is true in the device\'s policy.+devDeviceSettings :: Lens' Device (Maybe DeviceSettings)+devDeviceSettings+ = lens _devDeviceSettings+ (\ s a -> s{_devDeviceSettings = a})++-- | If the device was enrolled with an enrollment token, this field contains+-- the name of the token.+devEnrollmentTokenName :: Lens' Device (Maybe Text)+devEnrollmentTokenName+ = lens _devEnrollmentTokenName+ (\ s a -> s{_devEnrollmentTokenName = a})++-- | The type of management mode Android Device Policy takes on the device.+-- This influences which policy settings are supported.+devManagementMode :: Lens' Device (Maybe DeviceManagementMode)+devManagementMode+ = lens _devManagementMode+ (\ s a -> s{_devManagementMode = a})++-- | Detailed information about the device hardware.+devHardwareInfo :: Lens' Device (Maybe HardwareInfo)+devHardwareInfo+ = lens _devHardwareInfo+ (\ s a -> s{_devHardwareInfo = a})++-- | Power management events on the device in chronological order. This+-- information is only available if powerManagementEventsEnabled is true in+-- the device\'s policy.+devPowerManagementEvents :: Lens' Device [PowerManagementEvent]+devPowerManagementEvents+ = lens _devPowerManagementEvents+ (\ s a -> s{_devPowerManagementEvents = a})+ . _Default+ . _Coerce++-- | The resource name of the user that owns this device in the form+-- enterprises\/{enterpriseId}\/users\/{userId}.+devUserName :: Lens' Device (Maybe Text)+devUserName+ = lens _devUserName (\ s a -> s{_devUserName = a})++-- | Events related to memory and storage measurements in chronological+-- order. This information is only available if memoryInfoEnabled is true+-- in the device\'s policy.+devMemoryEvents :: Lens' Device [MemoryEvent]+devMemoryEvents+ = lens _devMemoryEvents+ (\ s a -> s{_devMemoryEvents = a})+ . _Default+ . _Coerce++-- | The API level of the Android platform version running on the device.+devAPILevel :: Lens' Device (Maybe Int32)+devAPILevel+ = lens _devAPILevel (\ s a -> s{_devAPILevel = a}) .+ mapping _Coerce++-- | The user who owns the device.+devUser :: Lens' Device (Maybe User)+devUser = lens _devUser (\ s a -> s{_devUser = a})++-- | If the device state is DISABLED, an optional message that is displayed+-- on the device indicating the reason the device is disabled. This field+-- can be modified by a patch request.+devDisabledReason :: Lens' Device (Maybe UserFacingMessage)+devDisabledReason+ = lens _devDisabledReason+ (\ s a -> s{_devDisabledReason = a})++-- | Deprecated.+devLastPolicyComplianceReportTime :: Lens' Device (Maybe UTCTime)+devLastPolicyComplianceReportTime+ = lens _devLastPolicyComplianceReportTime+ (\ s a -> s{_devLastPolicyComplianceReportTime = a})+ . mapping _DateTime++-- | If the device was enrolled with an enrollment token with additional data+-- provided, this field contains that data.+devEnrollmentTokenData :: Lens' Device (Maybe Text)+devEnrollmentTokenData+ = lens _devEnrollmentTokenData+ (\ s a -> s{_devEnrollmentTokenData = a})++-- | The name of the device in the form+-- enterprises\/{enterpriseId}\/devices\/{deviceId}.+devName :: Lens' Device (Maybe Text)+devName = lens _devName (\ s a -> s{_devName = a})++-- | The version of the policy currently applied to the device.+devAppliedPolicyVersion :: Lens' Device (Maybe Int64)+devAppliedPolicyVersion+ = lens _devAppliedPolicyVersion+ (\ s a -> s{_devAppliedPolicyVersion = a})+ . mapping _Coerce++-- | Hardware status samples in chronological order. This information is only+-- available if hardwareStatusEnabled is true in the device\'s policy.+devHardwareStatusSamples :: Lens' Device [HardwareStatus]+devHardwareStatusSamples+ = lens _devHardwareStatusSamples+ (\ s a -> s{_devHardwareStatusSamples = a})+ . _Default+ . _Coerce++-- | The state currently applied to the device.+devAppliedState :: Lens' Device (Maybe DeviceAppliedState)+devAppliedState+ = lens _devAppliedState+ (\ s a -> s{_devAppliedState = a})++-- | If the same physical device has been enrolled multiple times, this field+-- contains its previous device names. The serial number is used as the+-- unique identifier to determine if the same physical device has enrolled+-- previously. The names are in chronological order.+devPreviousDeviceNames :: Lens' Device [Text]+devPreviousDeviceNames+ = lens _devPreviousDeviceNames+ (\ s a -> s{_devPreviousDeviceNames = a})+ . _Default+ . _Coerce++-- | The last time the device fetched its policy.+devLastPolicySyncTime :: Lens' Device (Maybe UTCTime)+devLastPolicySyncTime+ = lens _devLastPolicySyncTime+ (\ s a -> s{_devLastPolicySyncTime = a})+ . mapping _DateTime++-- | Device network information. This information is only available if+-- networkInfoEnabled is true in the device\'s policy.+devNetworkInfo :: Lens' Device (Maybe NetworkInfo)+devNetworkInfo+ = lens _devNetworkInfo+ (\ s a -> s{_devNetworkInfo = a})++-- | Details about policy settings that the device is not compliant with.+devNonComplianceDetails :: Lens' Device [NonComplianceDetail]+devNonComplianceDetails+ = lens _devNonComplianceDetails+ (\ s a -> s{_devNonComplianceDetails = a})+ . _Default+ . _Coerce++-- | Detailed information about the device software. This information is only+-- available if softwareInfoEnabled is true in the device\'s policy.+devSoftwareInfo :: Lens' Device (Maybe SoftwareInfo)+devSoftwareInfo+ = lens _devSoftwareInfo+ (\ s a -> s{_devSoftwareInfo = a})++-- | The time of device enrollment.+devEnrollmentTime :: Lens' Device (Maybe UTCTime)+devEnrollmentTime+ = lens _devEnrollmentTime+ (\ s a -> s{_devEnrollmentTime = a})+ . mapping _DateTime++-- | Detailed information about displays on the device. This information is+-- only available if displayInfoEnabled is true in the device\'s policy.+devDisplays :: Lens' Device [Display]+devDisplays+ = lens _devDisplays (\ s a -> s{_devDisplays = a}) .+ _Default+ . _Coerce++instance FromJSON Device where+ parseJSON+ = withObject "Device"+ (\ o ->+ Device' <$>+ (o .:? "memoryInfo") <*> (o .:? "policyCompliant")+ <*> (o .:? "applicationReports" .!= mempty)+ <*> (o .:? "policyName")+ <*> (o .:? "state")+ <*> (o .:? "appliedPolicyName")+ <*> (o .:? "lastStatusReportTime")+ <*> (o .:? "deviceSettings")+ <*> (o .:? "enrollmentTokenName")+ <*> (o .:? "managementMode")+ <*> (o .:? "hardwareInfo")+ <*> (o .:? "powerManagementEvents" .!= mempty)+ <*> (o .:? "userName")+ <*> (o .:? "memoryEvents" .!= mempty)+ <*> (o .:? "apiLevel")+ <*> (o .:? "user")+ <*> (o .:? "disabledReason")+ <*> (o .:? "lastPolicyComplianceReportTime")+ <*> (o .:? "enrollmentTokenData")+ <*> (o .:? "name")+ <*> (o .:? "appliedPolicyVersion")+ <*> (o .:? "hardwareStatusSamples" .!= mempty)+ <*> (o .:? "appliedState")+ <*> (o .:? "previousDeviceNames" .!= mempty)+ <*> (o .:? "lastPolicySyncTime")+ <*> (o .:? "networkInfo")+ <*> (o .:? "nonComplianceDetails" .!= mempty)+ <*> (o .:? "softwareInfo")+ <*> (o .:? "enrollmentTime")+ <*> (o .:? "displays" .!= mempty))++instance ToJSON Device where+ toJSON Device'{..}+ = object+ (catMaybes+ [("memoryInfo" .=) <$> _devMemoryInfo,+ ("policyCompliant" .=) <$> _devPolicyCompliant,+ ("applicationReports" .=) <$> _devApplicationReports,+ ("policyName" .=) <$> _devPolicyName,+ ("state" .=) <$> _devState,+ ("appliedPolicyName" .=) <$> _devAppliedPolicyName,+ ("lastStatusReportTime" .=) <$>+ _devLastStatusReportTime,+ ("deviceSettings" .=) <$> _devDeviceSettings,+ ("enrollmentTokenName" .=) <$>+ _devEnrollmentTokenName,+ ("managementMode" .=) <$> _devManagementMode,+ ("hardwareInfo" .=) <$> _devHardwareInfo,+ ("powerManagementEvents" .=) <$>+ _devPowerManagementEvents,+ ("userName" .=) <$> _devUserName,+ ("memoryEvents" .=) <$> _devMemoryEvents,+ ("apiLevel" .=) <$> _devAPILevel,+ ("user" .=) <$> _devUser,+ ("disabledReason" .=) <$> _devDisabledReason,+ ("lastPolicyComplianceReportTime" .=) <$>+ _devLastPolicyComplianceReportTime,+ ("enrollmentTokenData" .=) <$>+ _devEnrollmentTokenData,+ ("name" .=) <$> _devName,+ ("appliedPolicyVersion" .=) <$>+ _devAppliedPolicyVersion,+ ("hardwareStatusSamples" .=) <$>+ _devHardwareStatusSamples,+ ("appliedState" .=) <$> _devAppliedState,+ ("previousDeviceNames" .=) <$>+ _devPreviousDeviceNames,+ ("lastPolicySyncTime" .=) <$> _devLastPolicySyncTime,+ ("networkInfo" .=) <$> _devNetworkInfo,+ ("nonComplianceDetails" .=) <$>+ _devNonComplianceDetails,+ ("softwareInfo" .=) <$> _devSoftwareInfo,+ ("enrollmentTime" .=) <$> _devEnrollmentTime,+ ("displays" .=) <$> _devDisplays])++--+-- /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++-- | An entry of a managed property.+--+-- /See:/ 'managedPropertyEntry' smart constructor.+data ManagedPropertyEntry = ManagedPropertyEntry'+ { _mpeValue :: !(Maybe Text)+ , _mpeName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedPropertyEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpeValue'+--+-- * 'mpeName'+managedPropertyEntry+ :: ManagedPropertyEntry+managedPropertyEntry =+ ManagedPropertyEntry'+ { _mpeValue = Nothing+ , _mpeName = Nothing+ }++-- | The machine-readable value of the entry, which should be used in the+-- configuration. Not localized.+mpeValue :: Lens' ManagedPropertyEntry (Maybe Text)+mpeValue = lens _mpeValue (\ s a -> s{_mpeValue = a})++-- | The human-readable name of the value. Localized.+mpeName :: Lens' ManagedPropertyEntry (Maybe Text)+mpeName = lens _mpeName (\ s a -> s{_mpeName = a})++instance FromJSON ManagedPropertyEntry where+ parseJSON+ = withObject "ManagedPropertyEntry"+ (\ o ->+ ManagedPropertyEntry' <$>+ (o .:? "value") <*> (o .:? "name"))++instance ToJSON ManagedPropertyEntry where+ toJSON ManagedPropertyEntry'{..}+ = object+ (catMaybes+ [("value" .=) <$> _mpeValue,+ ("name" .=) <$> _mpeName])++-- | A rule for automatically choosing a private key and certificate to+-- authenticate the device to a server.+--+-- /See:/ 'choosePrivateKeyRule' smart constructor.+data ChoosePrivateKeyRule = ChoosePrivateKeyRule'+ { _cpkrPrivateKeyAlias :: !(Maybe Text)+ , _cpkrURLPattern :: !(Maybe Text)+ , _cpkrPackageNames :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChoosePrivateKeyRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpkrPrivateKeyAlias'+--+-- * 'cpkrURLPattern'+--+-- * 'cpkrPackageNames'+choosePrivateKeyRule+ :: ChoosePrivateKeyRule+choosePrivateKeyRule =+ ChoosePrivateKeyRule'+ { _cpkrPrivateKeyAlias = Nothing+ , _cpkrURLPattern = Nothing+ , _cpkrPackageNames = Nothing+ }++-- | The alias of the private key to be used.+cpkrPrivateKeyAlias :: Lens' ChoosePrivateKeyRule (Maybe Text)+cpkrPrivateKeyAlias+ = lens _cpkrPrivateKeyAlias+ (\ s a -> s{_cpkrPrivateKeyAlias = a})++-- | The URL pattern to match against the URL of the outgoing request. The+-- pattern may contain asterisk (*) wildcards. Any URL is matched if+-- unspecified.+cpkrURLPattern :: Lens' ChoosePrivateKeyRule (Maybe Text)+cpkrURLPattern+ = lens _cpkrURLPattern+ (\ s a -> s{_cpkrURLPattern = a})++-- | The package names for which outgoing requests are subject to this rule.+-- If no package names are specified, then the rule applies to all+-- packages. For each package name listed, the rule applies to that package+-- and all other packages that shared the same Android UID. The SHA256 hash+-- of the signing key signatures of each package_name will be verified+-- against those provided by Play+cpkrPackageNames :: Lens' ChoosePrivateKeyRule [Text]+cpkrPackageNames+ = lens _cpkrPackageNames+ (\ s a -> s{_cpkrPackageNames = a})+ . _Default+ . _Coerce++instance FromJSON ChoosePrivateKeyRule where+ parseJSON+ = withObject "ChoosePrivateKeyRule"+ (\ o ->+ ChoosePrivateKeyRule' <$>+ (o .:? "privateKeyAlias") <*> (o .:? "urlPattern")+ <*> (o .:? "packageNames" .!= mempty))++instance ToJSON ChoosePrivateKeyRule where+ toJSON ChoosePrivateKeyRule'{..}+ = object+ (catMaybes+ [("privateKeyAlias" .=) <$> _cpkrPrivateKeyAlias,+ ("urlPattern" .=) <$> _cpkrURLPattern,+ ("packageNames" .=) <$> _cpkrPackageNames])++-- | A map containing pairs, where locale is a well-formed BCP 47 language+-- (https:\/\/www.w3.org\/International\/articles\/language-tags\/) code,+-- such as en-US, es-ES, or fr.+--+-- /See:/ 'userFacingMessageLocalizedMessages' smart constructor.+newtype UserFacingMessageLocalizedMessages = UserFacingMessageLocalizedMessages'+ { _ufmlmAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserFacingMessageLocalizedMessages' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufmlmAddtional'+userFacingMessageLocalizedMessages+ :: HashMap Text Text -- ^ 'ufmlmAddtional'+ -> UserFacingMessageLocalizedMessages+userFacingMessageLocalizedMessages pUfmlmAddtional_ =+ UserFacingMessageLocalizedMessages'+ { _ufmlmAddtional = _Coerce # pUfmlmAddtional_+ }++ufmlmAddtional :: Lens' UserFacingMessageLocalizedMessages (HashMap Text Text)+ufmlmAddtional+ = lens _ufmlmAddtional+ (\ s a -> s{_ufmlmAddtional = a})+ . _Coerce++instance FromJSON UserFacingMessageLocalizedMessages+ where+ parseJSON+ = withObject "UserFacingMessageLocalizedMessages"+ (\ o ->+ UserFacingMessageLocalizedMessages' <$>+ (parseJSONObject o))++instance ToJSON UserFacingMessageLocalizedMessages+ where+ toJSON = toJSON . _ufmlmAddtional++-- | A user belonging to an enterprise.+--+-- /See:/ 'user' smart constructor.+newtype User = User'+ { _uAccountIdentifier :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uAccountIdentifier'+user+ :: User+user =+ User'+ { _uAccountIdentifier = Nothing+ }++-- | A unique identifier you create for this user, such as user342 or+-- asset#44418. This field must be set when the user is created and can\'t+-- be updated. This field must not contain personally identifiable+-- information (PII). This identifier must be 1024 characters or less;+-- otherwise, the update policy request will fail.+uAccountIdentifier :: Lens' User (Maybe Text)+uAccountIdentifier+ = lens _uAccountIdentifier+ (\ s a -> s{_uAccountIdentifier = a})++instance FromJSON User where+ parseJSON+ = withObject "User"+ (\ o -> User' <$> (o .:? "accountIdentifier"))++instance ToJSON User where+ toJSON User'{..}+ = object+ (catMaybes+ [("accountIdentifier" .=) <$> _uAccountIdentifier])++-- | Configuration for managing system updates+--+-- /See:/ 'systemUpdate' smart constructor.+data SystemUpdate = SystemUpdate'+ { _suEndMinutes :: !(Maybe (Textual Int32))+ , _suStartMinutes :: !(Maybe (Textual Int32))+ , _suType :: !(Maybe SystemUpdateType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SystemUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'suEndMinutes'+--+-- * 'suStartMinutes'+--+-- * 'suType'+systemUpdate+ :: SystemUpdate+systemUpdate =+ SystemUpdate'+ { _suEndMinutes = Nothing+ , _suStartMinutes = Nothing+ , _suType = Nothing+ }++-- | If the type is WINDOWED, the end of the maintenance window, measured as+-- the number of minutes after midnight in device\'s local time. This value+-- must be between 0 and 1439, inclusive. If this value is less than+-- start_minutes, then the maintenance window spans midnight. If the+-- maintenance window specified is smaller than 30 minutes, the actual+-- window is extended to 30 minutes beyond the start time.+suEndMinutes :: Lens' SystemUpdate (Maybe Int32)+suEndMinutes+ = lens _suEndMinutes (\ s a -> s{_suEndMinutes = a})+ . mapping _Coerce++-- | If the type is WINDOWED, the start of the maintenance window, measured+-- as the number of minutes after midnight in the device\'s local time.+-- This value must be between 0 and 1439, inclusive.+suStartMinutes :: Lens' SystemUpdate (Maybe Int32)+suStartMinutes+ = lens _suStartMinutes+ (\ s a -> s{_suStartMinutes = a})+ . mapping _Coerce++-- | The type of system update to configure.+suType :: Lens' SystemUpdate (Maybe SystemUpdateType)+suType = lens _suType (\ s a -> s{_suType = a})++instance FromJSON SystemUpdate where+ parseJSON+ = withObject "SystemUpdate"+ (\ o ->+ SystemUpdate' <$>+ (o .:? "endMinutes") <*> (o .:? "startMinutes") <*>+ (o .:? "type"))++instance ToJSON SystemUpdate where+ toJSON SystemUpdate'{..}+ = object+ (catMaybes+ [("endMinutes" .=) <$> _suEndMinutes,+ ("startMinutes" .=) <$> _suStartMinutes,+ ("type" .=) <$> _suType])++-- | Information reported about an installed app.+--+-- /See:/ 'applicationReport' smart constructor.+data ApplicationReport = ApplicationReport'+ { _arVersionCode :: !(Maybe (Textual Int32))+ , _arSigningKeyCertFingerprints :: !(Maybe [Text])+ , _arState :: !(Maybe ApplicationReportState)+ , _arVersionName :: !(Maybe Text)+ , _arPackageName :: !(Maybe Text)+ , _arPackageSha256Hash :: !(Maybe Text)+ , _arApplicationSource :: !(Maybe ApplicationReportApplicationSource)+ , _arEvents :: !(Maybe [ApplicationEvent])+ , _arDisplayName :: !(Maybe Text)+ , _arInstallerPackageName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApplicationReport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arVersionCode'+--+-- * 'arSigningKeyCertFingerprints'+--+-- * 'arState'+--+-- * 'arVersionName'+--+-- * 'arPackageName'+--+-- * 'arPackageSha256Hash'+--+-- * 'arApplicationSource'+--+-- * 'arEvents'+--+-- * 'arDisplayName'+--+-- * 'arInstallerPackageName'+applicationReport+ :: ApplicationReport+applicationReport =+ ApplicationReport'+ { _arVersionCode = Nothing+ , _arSigningKeyCertFingerprints = Nothing+ , _arState = Nothing+ , _arVersionName = Nothing+ , _arPackageName = Nothing+ , _arPackageSha256Hash = Nothing+ , _arApplicationSource = Nothing+ , _arEvents = Nothing+ , _arDisplayName = Nothing+ , _arInstallerPackageName = Nothing+ }++-- | The app version code, which can be used to determine whether one version+-- is more recent than another.+arVersionCode :: Lens' ApplicationReport (Maybe Int32)+arVersionCode+ = lens _arVersionCode+ (\ s a -> s{_arVersionCode = a})+ . mapping _Coerce++-- | The SHA-1 hash of each android.content.pm.Signature+-- (https:\/\/developer.android.com\/reference\/android\/content\/pm\/Signature.html)+-- associated with the app package. Each byte of each hash value is+-- represented as a two-digit hexadecimal number.+arSigningKeyCertFingerprints :: Lens' ApplicationReport [Text]+arSigningKeyCertFingerprints+ = lens _arSigningKeyCertFingerprints+ (\ s a -> s{_arSigningKeyCertFingerprints = a})+ . _Default+ . _Coerce++-- | Application state.+arState :: Lens' ApplicationReport (Maybe ApplicationReportState)+arState = lens _arState (\ s a -> s{_arState = a})++-- | The app version as displayed to the user.+arVersionName :: Lens' ApplicationReport (Maybe Text)+arVersionName+ = lens _arVersionName+ (\ s a -> s{_arVersionName = a})++-- | Package name of the app.+arPackageName :: Lens' ApplicationReport (Maybe Text)+arPackageName+ = lens _arPackageName+ (\ s a -> s{_arPackageName = a})++-- | The SHA-256 hash of the app\'s APK file, which can be used to verify the+-- app hasn\'t been modified. Each byte of the hash value is represented as+-- a two-digit hexadecimal number.+arPackageSha256Hash :: Lens' ApplicationReport (Maybe Text)+arPackageSha256Hash+ = lens _arPackageSha256Hash+ (\ s a -> s{_arPackageSha256Hash = a})++-- | The source of the package.+arApplicationSource :: Lens' ApplicationReport (Maybe ApplicationReportApplicationSource)+arApplicationSource+ = lens _arApplicationSource+ (\ s a -> s{_arApplicationSource = a})++-- | List of app events. The most recent 20 events are stored in the list.+arEvents :: Lens' ApplicationReport [ApplicationEvent]+arEvents+ = lens _arEvents (\ s a -> s{_arEvents = a}) .+ _Default+ . _Coerce++-- | The display name of the app.+arDisplayName :: Lens' ApplicationReport (Maybe Text)+arDisplayName+ = lens _arDisplayName+ (\ s a -> s{_arDisplayName = a})++-- | The package name of the app that installed this app.+arInstallerPackageName :: Lens' ApplicationReport (Maybe Text)+arInstallerPackageName+ = lens _arInstallerPackageName+ (\ s a -> s{_arInstallerPackageName = a})++instance FromJSON ApplicationReport where+ parseJSON+ = withObject "ApplicationReport"+ (\ o ->+ ApplicationReport' <$>+ (o .:? "versionCode") <*>+ (o .:? "signingKeyCertFingerprints" .!= mempty)+ <*> (o .:? "state")+ <*> (o .:? "versionName")+ <*> (o .:? "packageName")+ <*> (o .:? "packageSha256Hash")+ <*> (o .:? "applicationSource")+ <*> (o .:? "events" .!= mempty)+ <*> (o .:? "displayName")+ <*> (o .:? "installerPackageName"))++instance ToJSON ApplicationReport where+ toJSON ApplicationReport'{..}+ = object+ (catMaybes+ [("versionCode" .=) <$> _arVersionCode,+ ("signingKeyCertFingerprints" .=) <$>+ _arSigningKeyCertFingerprints,+ ("state" .=) <$> _arState,+ ("versionName" .=) <$> _arVersionName,+ ("packageName" .=) <$> _arPackageName,+ ("packageSha256Hash" .=) <$> _arPackageSha256Hash,+ ("applicationSource" .=) <$> _arApplicationSource,+ ("events" .=) <$> _arEvents,+ ("displayName" .=) <$> _arDisplayName,+ ("installerPackageName" .=) <$>+ _arInstallerPackageName])++-- | An enrollment token.+--+-- /See:/ 'enrollmentToken' smart constructor.+data EnrollmentToken = EnrollmentToken'+ { _etPolicyName :: !(Maybe Text)+ , _etValue :: !(Maybe Text)+ , _etQrCode :: !(Maybe Text)+ , _etAdditionalData :: !(Maybe Text)+ , _etUser :: !(Maybe User)+ , _etName :: !(Maybe Text)+ , _etOneTimeOnly :: !(Maybe Bool)+ , _etExpirationTimestamp :: !(Maybe DateTime')+ , _etDuration :: !(Maybe GDuration)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnrollmentToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etPolicyName'+--+-- * 'etValue'+--+-- * 'etQrCode'+--+-- * 'etAdditionalData'+--+-- * 'etUser'+--+-- * 'etName'+--+-- * 'etOneTimeOnly'+--+-- * 'etExpirationTimestamp'+--+-- * 'etDuration'+enrollmentToken+ :: EnrollmentToken+enrollmentToken =+ EnrollmentToken'+ { _etPolicyName = Nothing+ , _etValue = Nothing+ , _etQrCode = Nothing+ , _etAdditionalData = Nothing+ , _etUser = Nothing+ , _etName = Nothing+ , _etOneTimeOnly = Nothing+ , _etExpirationTimestamp = Nothing+ , _etDuration = Nothing+ }++-- | The name of the policy initially applied to the enrolled device, in the+-- form enterprises\/{enterpriseId}\/policies\/{policyId}. If not+-- specified, the policy_name for the device’s user is applied. If+-- user_name is also not specified,+-- enterprises\/{enterpriseId}\/policies\/default is applied by default.+-- When updating this field, you can specify only the policyId as long as+-- the policyId doesn’t contain any slashes. The rest of the policy name+-- will be inferred.+etPolicyName :: Lens' EnrollmentToken (Maybe Text)+etPolicyName+ = lens _etPolicyName (\ s a -> s{_etPolicyName = a})++-- | The token value that\'s passed to the device and authorizes the device+-- to enroll. This is a read-only field generated by the server.+etValue :: Lens' EnrollmentToken (Maybe Text)+etValue = lens _etValue (\ s a -> s{_etValue = a})++-- | A JSON string whose UTF-8 representation can be used to generate a QR+-- code to enroll a device with this enrollment token. To enroll a device+-- using NFC, the NFC record must contain a serialized java.util.Properties+-- representation of the properties in the JSON.+etQrCode :: Lens' EnrollmentToken (Maybe Text)+etQrCode = lens _etQrCode (\ s a -> s{_etQrCode = a})++-- | Optional, arbitrary data associated with the enrollment token. This+-- could contain, for example, the ID of an org unit the device is assigned+-- to after enrollment. After a device enrolls with the token, this data+-- will be exposed in the enrollment_token_data field of the Device+-- resource. The data must be 1024 characters or less; otherwise, the+-- creation request will fail.+etAdditionalData :: Lens' EnrollmentToken (Maybe Text)+etAdditionalData+ = lens _etAdditionalData+ (\ s a -> s{_etAdditionalData = a})++-- | The user associated with this enrollment token. If it\'s specified when+-- the enrollment token is created and the user does not exist, the user+-- will be created. This field must not contain personally identifiable+-- information. Only the account_identifier field needs to be set.+etUser :: Lens' EnrollmentToken (Maybe User)+etUser = lens _etUser (\ s a -> s{_etUser = a})++-- | The name of the enrollment token, which is generated by the server+-- during creation, in the form+-- enterprises\/{enterpriseId}\/enrollmentTokens\/{enrollmentTokenId}.+etName :: Lens' EnrollmentToken (Maybe Text)+etName = lens _etName (\ s a -> s{_etName = a})++-- | Whether the enrollment token is for one time use only. If the flag is+-- set to true, only one device can use it for registration.+etOneTimeOnly :: Lens' EnrollmentToken (Maybe Bool)+etOneTimeOnly+ = lens _etOneTimeOnly+ (\ s a -> s{_etOneTimeOnly = a})++-- | The expiration time of the token. This is a read-only field generated by+-- the server.+etExpirationTimestamp :: Lens' EnrollmentToken (Maybe UTCTime)+etExpirationTimestamp+ = lens _etExpirationTimestamp+ (\ s a -> s{_etExpirationTimestamp = a})+ . mapping _DateTime++-- | The length of time the enrollment token is valid, ranging from 1 minute+-- to 30 days. If not specified, the default duration is 1 hour.+etDuration :: Lens' EnrollmentToken (Maybe Scientific)+etDuration+ = lens _etDuration (\ s a -> s{_etDuration = a}) .+ mapping _GDuration++instance FromJSON EnrollmentToken where+ parseJSON+ = withObject "EnrollmentToken"+ (\ o ->+ EnrollmentToken' <$>+ (o .:? "policyName") <*> (o .:? "value") <*>+ (o .:? "qrCode")+ <*> (o .:? "additionalData")+ <*> (o .:? "user")+ <*> (o .:? "name")+ <*> (o .:? "oneTimeOnly")+ <*> (o .:? "expirationTimestamp")+ <*> (o .:? "duration"))++instance ToJSON EnrollmentToken where+ toJSON EnrollmentToken'{..}+ = object+ (catMaybes+ [("policyName" .=) <$> _etPolicyName,+ ("value" .=) <$> _etValue,+ ("qrCode" .=) <$> _etQrCode,+ ("additionalData" .=) <$> _etAdditionalData,+ ("user" .=) <$> _etUser, ("name" .=) <$> _etName,+ ("oneTimeOnly" .=) <$> _etOneTimeOnly,+ ("expirationTimestamp" .=) <$>+ _etExpirationTimestamp,+ ("duration" .=) <$> _etDuration])++-- | Managed configuration applied to the app. The format for the+-- configuration is dictated by the ManagedProperty values supported by the+-- app. Each field name in the managed configuration must match the key+-- field of the ManagedProperty. The field value must be compatible with+-- the type of the ManagedProperty:+-- > -------------- ------------------+-- > /type/ /JSON value/+-- > BOOL true or false+-- > STRING string+-- > INTEGER number+-- > CHOICE string+-- > MULTISELECT array of strings+-- > HIDDEN string+-- > BUNDLE_ARRAY array of objects+-- > -------------- ------------------+--+-- /See:/ 'applicationPolicyManagedConfiguration' smart constructor.+newtype ApplicationPolicyManagedConfiguration = ApplicationPolicyManagedConfiguration'+ { _apmcAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApplicationPolicyManagedConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apmcAddtional'+applicationPolicyManagedConfiguration+ :: HashMap Text JSONValue -- ^ 'apmcAddtional'+ -> ApplicationPolicyManagedConfiguration+applicationPolicyManagedConfiguration pApmcAddtional_ =+ ApplicationPolicyManagedConfiguration'+ { _apmcAddtional = _Coerce # pApmcAddtional_+ }++-- | Properties of the object.+apmcAddtional :: Lens' ApplicationPolicyManagedConfiguration (HashMap Text JSONValue)+apmcAddtional+ = lens _apmcAddtional+ (\ s a -> s{_apmcAddtional = a})+ . _Coerce++instance FromJSON+ ApplicationPolicyManagedConfiguration where+ parseJSON+ = withObject "ApplicationPolicyManagedConfiguration"+ (\ o ->+ ApplicationPolicyManagedConfiguration' <$>+ (parseJSONObject o))++instance ToJSON ApplicationPolicyManagedConfiguration+ where+ toJSON = toJSON . _apmcAddtional++-- | Settings controlling the behavior of status reports.+--+-- /See:/ 'statusReportingSettings' smart constructor.+data StatusReportingSettings = StatusReportingSettings'+ { _srsSoftwareInfoEnabled :: !(Maybe Bool)+ , _srsHardwareStatusEnabled :: !(Maybe Bool)+ , _srsPowerManagementEventsEnabled :: !(Maybe Bool)+ , _srsDisplayInfoEnabled :: !(Maybe Bool)+ , _srsApplicationReportsEnabled :: !(Maybe Bool)+ , _srsMemoryInfoEnabled :: !(Maybe Bool)+ , _srsNetworkInfoEnabled :: !(Maybe Bool)+ , _srsDeviceSettingsEnabled :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusReportingSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsSoftwareInfoEnabled'+--+-- * 'srsHardwareStatusEnabled'+--+-- * 'srsPowerManagementEventsEnabled'+--+-- * 'srsDisplayInfoEnabled'+--+-- * 'srsApplicationReportsEnabled'+--+-- * 'srsMemoryInfoEnabled'+--+-- * 'srsNetworkInfoEnabled'+--+-- * 'srsDeviceSettingsEnabled'+statusReportingSettings+ :: StatusReportingSettings+statusReportingSettings =+ StatusReportingSettings'+ { _srsSoftwareInfoEnabled = Nothing+ , _srsHardwareStatusEnabled = Nothing+ , _srsPowerManagementEventsEnabled = Nothing+ , _srsDisplayInfoEnabled = Nothing+ , _srsApplicationReportsEnabled = Nothing+ , _srsMemoryInfoEnabled = Nothing+ , _srsNetworkInfoEnabled = Nothing+ , _srsDeviceSettingsEnabled = Nothing+ }++-- | Whether software info reporting is enabled.+srsSoftwareInfoEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsSoftwareInfoEnabled+ = lens _srsSoftwareInfoEnabled+ (\ s a -> s{_srsSoftwareInfoEnabled = a})++-- | Whether hardware status reporting is enabled.+srsHardwareStatusEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsHardwareStatusEnabled+ = lens _srsHardwareStatusEnabled+ (\ s a -> s{_srsHardwareStatusEnabled = a})++-- | Whether power management event reporting is enabled.+srsPowerManagementEventsEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsPowerManagementEventsEnabled+ = lens _srsPowerManagementEventsEnabled+ (\ s a -> s{_srsPowerManagementEventsEnabled = a})++-- | Whether displays reporting is enabled.+srsDisplayInfoEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsDisplayInfoEnabled+ = lens _srsDisplayInfoEnabled+ (\ s a -> s{_srsDisplayInfoEnabled = a})++-- | Whether app reports are enabled.+srsApplicationReportsEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsApplicationReportsEnabled+ = lens _srsApplicationReportsEnabled+ (\ s a -> s{_srsApplicationReportsEnabled = a})++-- | Whether memory reporting is enabled.+srsMemoryInfoEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsMemoryInfoEnabled+ = lens _srsMemoryInfoEnabled+ (\ s a -> s{_srsMemoryInfoEnabled = a})++-- | Whether network info reporting is enabled.+srsNetworkInfoEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsNetworkInfoEnabled+ = lens _srsNetworkInfoEnabled+ (\ s a -> s{_srsNetworkInfoEnabled = a})++-- | Whether device settings reporting is enabled.+srsDeviceSettingsEnabled :: Lens' StatusReportingSettings (Maybe Bool)+srsDeviceSettingsEnabled+ = lens _srsDeviceSettingsEnabled+ (\ s a -> s{_srsDeviceSettingsEnabled = a})++instance FromJSON StatusReportingSettings where+ parseJSON+ = withObject "StatusReportingSettings"+ (\ o ->+ StatusReportingSettings' <$>+ (o .:? "softwareInfoEnabled") <*>+ (o .:? "hardwareStatusEnabled")+ <*> (o .:? "powerManagementEventsEnabled")+ <*> (o .:? "displayInfoEnabled")+ <*> (o .:? "applicationReportsEnabled")+ <*> (o .:? "memoryInfoEnabled")+ <*> (o .:? "networkInfoEnabled")+ <*> (o .:? "deviceSettingsEnabled"))++instance ToJSON StatusReportingSettings where+ toJSON StatusReportingSettings'{..}+ = object+ (catMaybes+ [("softwareInfoEnabled" .=) <$>+ _srsSoftwareInfoEnabled,+ ("hardwareStatusEnabled" .=) <$>+ _srsHardwareStatusEnabled,+ ("powerManagementEventsEnabled" .=) <$>+ _srsPowerManagementEventsEnabled,+ ("displayInfoEnabled" .=) <$> _srsDisplayInfoEnabled,+ ("applicationReportsEnabled" .=) <$>+ _srsApplicationReportsEnabled,+ ("memoryInfoEnabled" .=) <$> _srsMemoryInfoEnabled,+ ("networkInfoEnabled" .=) <$> _srsNetworkInfoEnabled,+ ("deviceSettingsEnabled" .=) <$>+ _srsDeviceSettingsEnabled])++-- | Policy for an individual app.+--+-- /See:/ 'applicationPolicy' smart constructor.+data ApplicationPolicy = ApplicationPolicy'+ { _apDelegatedScopes :: !(Maybe [Text])+ , _apPackageName :: !(Maybe Text)+ , _apManagedConfiguration :: !(Maybe ApplicationPolicyManagedConfiguration)+ , _apDefaultPermissionPolicy :: !(Maybe ApplicationPolicyDefaultPermissionPolicy)+ , _apDisabled :: !(Maybe Bool)+ , _apLockTaskAllowed :: !(Maybe Bool)+ , _apPermissionGrants :: !(Maybe [PermissionGrant])+ , _apManagedConfigurationTemplate :: !(Maybe ManagedConfigurationTemplate)+ , _apMinimumVersionCode :: !(Maybe (Textual Int32))+ , _apInstallType :: !(Maybe ApplicationPolicyInstallType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApplicationPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apDelegatedScopes'+--+-- * 'apPackageName'+--+-- * 'apManagedConfiguration'+--+-- * 'apDefaultPermissionPolicy'+--+-- * 'apDisabled'+--+-- * 'apLockTaskAllowed'+--+-- * 'apPermissionGrants'+--+-- * 'apManagedConfigurationTemplate'+--+-- * 'apMinimumVersionCode'+--+-- * 'apInstallType'+applicationPolicy+ :: ApplicationPolicy+applicationPolicy =+ ApplicationPolicy'+ { _apDelegatedScopes = Nothing+ , _apPackageName = Nothing+ , _apManagedConfiguration = Nothing+ , _apDefaultPermissionPolicy = Nothing+ , _apDisabled = Nothing+ , _apLockTaskAllowed = Nothing+ , _apPermissionGrants = Nothing+ , _apManagedConfigurationTemplate = Nothing+ , _apMinimumVersionCode = Nothing+ , _apInstallType = Nothing+ }++-- | The scopes delegated to the app from Android Device Policy.+apDelegatedScopes :: Lens' ApplicationPolicy [Text]+apDelegatedScopes+ = lens _apDelegatedScopes+ (\ s a -> s{_apDelegatedScopes = a})+ . _Default+ . _Coerce++-- | The package name of the app. For example, com.google.android.youtube for+-- the YouTube app.+apPackageName :: Lens' ApplicationPolicy (Maybe Text)+apPackageName+ = lens _apPackageName+ (\ s a -> s{_apPackageName = a})++-- | Managed configuration applied to the app. The format for the+-- configuration is dictated by the ManagedProperty values supported by the+-- app. Each field name in the managed configuration must match the key+-- field of the ManagedProperty. The field value must be compatible with+-- the type of the ManagedProperty:+-- > -------------- ------------------+-- > /type/ /JSON value/+-- > BOOL true or false+-- > STRING string+-- > INTEGER number+-- > CHOICE string+-- > MULTISELECT array of strings+-- > HIDDEN string+-- > BUNDLE_ARRAY array of objects+-- > -------------- ------------------+apManagedConfiguration :: Lens' ApplicationPolicy (Maybe ApplicationPolicyManagedConfiguration)+apManagedConfiguration+ = lens _apManagedConfiguration+ (\ s a -> s{_apManagedConfiguration = a})++-- | The default policy for all permissions requested by the app. If+-- specified, this overrides the policy-level default_permission_policy+-- which applies to all apps. It does not override the permission_grants+-- which applies to all apps.+apDefaultPermissionPolicy :: Lens' ApplicationPolicy (Maybe ApplicationPolicyDefaultPermissionPolicy)+apDefaultPermissionPolicy+ = lens _apDefaultPermissionPolicy+ (\ s a -> s{_apDefaultPermissionPolicy = a})++-- | Whether the app is disabled. When disabled, the app data is still+-- preserved.+apDisabled :: Lens' ApplicationPolicy (Maybe Bool)+apDisabled+ = lens _apDisabled (\ s a -> s{_apDisabled = a})++-- | Whether the app is allowed to lock itself in full-screen mode.+apLockTaskAllowed :: Lens' ApplicationPolicy (Maybe Bool)+apLockTaskAllowed+ = lens _apLockTaskAllowed+ (\ s a -> s{_apLockTaskAllowed = a})++-- | Explicit permission grants or denials for the app. These values override+-- the default_permission_policy and permission_grants which apply to all+-- apps.+apPermissionGrants :: Lens' ApplicationPolicy [PermissionGrant]+apPermissionGrants+ = lens _apPermissionGrants+ (\ s a -> s{_apPermissionGrants = a})+ . _Default+ . _Coerce++-- | The managed configurations template for the app, saved from the managed+-- configurations iframe. This field is ignored if managed_configuration is+-- set.+apManagedConfigurationTemplate :: Lens' ApplicationPolicy (Maybe ManagedConfigurationTemplate)+apManagedConfigurationTemplate+ = lens _apManagedConfigurationTemplate+ (\ s a -> s{_apManagedConfigurationTemplate = a})++-- | The minimum version of the app that runs on the device. If set, the+-- device attempts to update the app to at least this version code. If the+-- app is not up-to-date, the device will contain a NonComplianceDetail+-- with non_compliance_reason set to APP_NOT_UPDATED. The app must already+-- be published to Google Play with a version code greater than or equal to+-- this value. At most 20 apps may specify a minimum version code per+-- policy.+apMinimumVersionCode :: Lens' ApplicationPolicy (Maybe Int32)+apMinimumVersionCode+ = lens _apMinimumVersionCode+ (\ s a -> s{_apMinimumVersionCode = a})+ . mapping _Coerce++-- | The type of installation to perform.+apInstallType :: Lens' ApplicationPolicy (Maybe ApplicationPolicyInstallType)+apInstallType+ = lens _apInstallType+ (\ s a -> s{_apInstallType = a})++instance FromJSON ApplicationPolicy where+ parseJSON+ = withObject "ApplicationPolicy"+ (\ o ->+ ApplicationPolicy' <$>+ (o .:? "delegatedScopes" .!= mempty) <*>+ (o .:? "packageName")+ <*> (o .:? "managedConfiguration")+ <*> (o .:? "defaultPermissionPolicy")+ <*> (o .:? "disabled")+ <*> (o .:? "lockTaskAllowed")+ <*> (o .:? "permissionGrants" .!= mempty)+ <*> (o .:? "managedConfigurationTemplate")+ <*> (o .:? "minimumVersionCode")+ <*> (o .:? "installType"))++instance ToJSON ApplicationPolicy where+ toJSON ApplicationPolicy'{..}+ = object+ (catMaybes+ [("delegatedScopes" .=) <$> _apDelegatedScopes,+ ("packageName" .=) <$> _apPackageName,+ ("managedConfiguration" .=) <$>+ _apManagedConfiguration,+ ("defaultPermissionPolicy" .=) <$>+ _apDefaultPermissionPolicy,+ ("disabled" .=) <$> _apDisabled,+ ("lockTaskAllowed" .=) <$> _apLockTaskAllowed,+ ("permissionGrants" .=) <$> _apPermissionGrants,+ ("managedConfigurationTemplate" .=) <$>+ _apManagedConfigurationTemplate,+ ("minimumVersionCode" .=) <$> _apMinimumVersionCode,+ ("installType" .=) <$> _apInstallType])++-- | Response to a request to list devices for a given enterprise.+--+-- /See:/ 'listDevicesResponse' smart constructor.+data ListDevicesResponse = ListDevicesResponse'+ { _ldrNextPageToken :: !(Maybe Text)+ , _ldrDevices :: !(Maybe [Device])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListDevicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrNextPageToken'+--+-- * 'ldrDevices'+listDevicesResponse+ :: ListDevicesResponse+listDevicesResponse =+ ListDevicesResponse'+ { _ldrNextPageToken = Nothing+ , _ldrDevices = Nothing+ }++-- | If there are more results, a token to retrieve next page of results.+ldrNextPageToken :: Lens' ListDevicesResponse (Maybe Text)+ldrNextPageToken+ = lens _ldrNextPageToken+ (\ s a -> s{_ldrNextPageToken = a})++-- | The list of devices.+ldrDevices :: Lens' ListDevicesResponse [Device]+ldrDevices+ = lens _ldrDevices (\ s a -> s{_ldrDevices = a}) .+ _Default+ . _Coerce++instance FromJSON ListDevicesResponse where+ parseJSON+ = withObject "ListDevicesResponse"+ (\ o ->+ ListDevicesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "devices" .!= mempty))++instance ToJSON ListDevicesResponse where+ toJSON ListDevicesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ldrNextPageToken,+ ("devices" .=) <$> _ldrDevices])++-- | The managed configurations template for the app, saved from the managed+-- configurations iframe.+--+-- /See:/ 'managedConfigurationTemplate' smart constructor.+data ManagedConfigurationTemplate = ManagedConfigurationTemplate'+ { _mctTemplateId :: !(Maybe Text)+ , _mctConfigurationVariables :: !(Maybe ManagedConfigurationTemplateConfigurationVariables)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mctTemplateId'+--+-- * 'mctConfigurationVariables'+managedConfigurationTemplate+ :: ManagedConfigurationTemplate+managedConfigurationTemplate =+ ManagedConfigurationTemplate'+ { _mctTemplateId = Nothing+ , _mctConfigurationVariables = Nothing+ }++-- | The ID of the managed configurations template.+mctTemplateId :: Lens' ManagedConfigurationTemplate (Maybe Text)+mctTemplateId+ = lens _mctTemplateId+ (\ s a -> s{_mctTemplateId = a})++-- | Optional, a map containing configuration variables defined for the+-- configuration.+mctConfigurationVariables :: Lens' ManagedConfigurationTemplate (Maybe ManagedConfigurationTemplateConfigurationVariables)+mctConfigurationVariables+ = lens _mctConfigurationVariables+ (\ s a -> s{_mctConfigurationVariables = a})++instance FromJSON ManagedConfigurationTemplate where+ parseJSON+ = withObject "ManagedConfigurationTemplate"+ (\ o ->+ ManagedConfigurationTemplate' <$>+ (o .:? "templateId") <*>+ (o .:? "configurationVariables"))++instance ToJSON ManagedConfigurationTemplate where+ toJSON ManagedConfigurationTemplate'{..}+ = object+ (catMaybes+ [("templateId" .=) <$> _mctTemplateId,+ ("configurationVariables" .=) <$>+ _mctConfigurationVariables])++-- | The configuration applied to an enterprise.+--+-- /See:/ 'enterprise' smart constructor.+data Enterprise = Enterprise'+ { _eAppAutoApprovalEnabled :: !(Maybe Bool)+ , _eEnabledNotificationTypes :: !(Maybe [Text])+ , _eSigninDetails :: !(Maybe [SigninDetail])+ , _eName :: !(Maybe Text)+ , _ePubsubTopic :: !(Maybe Text)+ , _eEnterpriseDisplayName :: !(Maybe Text)+ , _eLogo :: !(Maybe ExternalData)+ , _eTermsAndConditions :: !(Maybe [TermsAndConditions])+ , _ePrimaryColor :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Enterprise' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eAppAutoApprovalEnabled'+--+-- * 'eEnabledNotificationTypes'+--+-- * 'eSigninDetails'+--+-- * 'eName'+--+-- * 'ePubsubTopic'+--+-- * 'eEnterpriseDisplayName'+--+-- * 'eLogo'+--+-- * 'eTermsAndConditions'+--+-- * 'ePrimaryColor'+enterprise+ :: Enterprise+enterprise =+ Enterprise'+ { _eAppAutoApprovalEnabled = Nothing+ , _eEnabledNotificationTypes = Nothing+ , _eSigninDetails = Nothing+ , _eName = Nothing+ , _ePubsubTopic = Nothing+ , _eEnterpriseDisplayName = Nothing+ , _eLogo = Nothing+ , _eTermsAndConditions = Nothing+ , _ePrimaryColor = Nothing+ }++-- | Deprecated and unused.+eAppAutoApprovalEnabled :: Lens' Enterprise (Maybe Bool)+eAppAutoApprovalEnabled+ = lens _eAppAutoApprovalEnabled+ (\ s a -> s{_eAppAutoApprovalEnabled = a})++-- | The types of Google Pub\/Sub notifications enabled for the enterprise.+eEnabledNotificationTypes :: Lens' Enterprise [Text]+eEnabledNotificationTypes+ = lens _eEnabledNotificationTypes+ (\ s a -> s{_eEnabledNotificationTypes = a})+ . _Default+ . _Coerce++-- | Sign-in details of the enterprise. Maximum of 1 SigninDetail is+-- supported.+eSigninDetails :: Lens' Enterprise [SigninDetail]+eSigninDetails+ = lens _eSigninDetails+ (\ s a -> s{_eSigninDetails = a})+ . _Default+ . _Coerce++-- | The name of the enterprise which is generated by the server during+-- creation, in the form enterprises\/{enterpriseId}.+eName :: Lens' Enterprise (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a})++-- | The topic that Cloud Pub\/Sub notifications are published to, in the+-- form projects\/{project}\/topics\/{topic}. This field is only required+-- if Pub\/Sub notifications are enabled.+ePubsubTopic :: Lens' Enterprise (Maybe Text)+ePubsubTopic+ = lens _ePubsubTopic (\ s a -> s{_ePubsubTopic = a})++-- | The name of the enterprise displayed to users.+eEnterpriseDisplayName :: Lens' Enterprise (Maybe Text)+eEnterpriseDisplayName+ = lens _eEnterpriseDisplayName+ (\ s a -> s{_eEnterpriseDisplayName = a})++-- | An image displayed as a logo during device provisioning. Supported types+-- are: image\/bmp, image\/gif, image\/x-ico, image\/jpeg, image\/png,+-- image\/webp, image\/vnd.wap.wbmp, image\/x-adobe-dng.+eLogo :: Lens' Enterprise (Maybe ExternalData)+eLogo = lens _eLogo (\ s a -> s{_eLogo = a})++-- | Terms and conditions that must be accepted when provisioning a device+-- for this enterprise. A page of terms is generated for each value in this+-- list.+eTermsAndConditions :: Lens' Enterprise [TermsAndConditions]+eTermsAndConditions+ = lens _eTermsAndConditions+ (\ s a -> s{_eTermsAndConditions = a})+ . _Default+ . _Coerce++-- | A color in RGB format that indicates the predominant color to display in+-- the device management app UI. The color components are stored as+-- follows: (red \<\< 16) | (green \<\< 8) | blue, where the value of each+-- component is between 0 and 255, inclusive.+ePrimaryColor :: Lens' Enterprise (Maybe Int32)+ePrimaryColor+ = lens _ePrimaryColor+ (\ s a -> s{_ePrimaryColor = a})+ . mapping _Coerce++instance FromJSON Enterprise where+ parseJSON+ = withObject "Enterprise"+ (\ o ->+ Enterprise' <$>+ (o .:? "appAutoApprovalEnabled") <*>+ (o .:? "enabledNotificationTypes" .!= mempty)+ <*> (o .:? "signinDetails" .!= mempty)+ <*> (o .:? "name")+ <*> (o .:? "pubsubTopic")+ <*> (o .:? "enterpriseDisplayName")+ <*> (o .:? "logo")+ <*> (o .:? "termsAndConditions" .!= mempty)+ <*> (o .:? "primaryColor"))++instance ToJSON Enterprise where+ toJSON Enterprise'{..}+ = object+ (catMaybes+ [("appAutoApprovalEnabled" .=) <$>+ _eAppAutoApprovalEnabled,+ ("enabledNotificationTypes" .=) <$>+ _eEnabledNotificationTypes,+ ("signinDetails" .=) <$> _eSigninDetails,+ ("name" .=) <$> _eName,+ ("pubsubTopic" .=) <$> _ePubsubTopic,+ ("enterpriseDisplayName" .=) <$>+ _eEnterpriseDisplayName,+ ("logo" .=) <$> _eLogo,+ ("termsAndConditions" .=) <$> _eTermsAndConditions,+ ("primaryColor" .=) <$> _ePrimaryColor])++-- | An event related to memory and storage measurements.+--+-- /See:/ 'memoryEvent' smart constructor.+data MemoryEvent = MemoryEvent'+ { _meByteCount :: !(Maybe (Textual Int64))+ , _meEventType :: !(Maybe MemoryEventEventType)+ , _meCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MemoryEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'meByteCount'+--+-- * 'meEventType'+--+-- * 'meCreateTime'+memoryEvent+ :: MemoryEvent+memoryEvent =+ MemoryEvent'+ { _meByteCount = Nothing+ , _meEventType = Nothing+ , _meCreateTime = Nothing+ }++-- | The number of free bytes in the medium, or for+-- EXTERNAL_STORAGE_DETECTED, the total capacity in bytes of the storage+-- medium.+meByteCount :: Lens' MemoryEvent (Maybe Int64)+meByteCount+ = lens _meByteCount (\ s a -> s{_meByteCount = a}) .+ mapping _Coerce++-- | Event type.+meEventType :: Lens' MemoryEvent (Maybe MemoryEventEventType)+meEventType+ = lens _meEventType (\ s a -> s{_meEventType = a})++-- | The creation time of the event.+meCreateTime :: Lens' MemoryEvent (Maybe UTCTime)+meCreateTime+ = lens _meCreateTime (\ s a -> s{_meCreateTime = a})+ . mapping _DateTime++instance FromJSON MemoryEvent where+ parseJSON+ = withObject "MemoryEvent"+ (\ o ->+ MemoryEvent' <$>+ (o .:? "byteCount") <*> (o .:? "eventType") <*>+ (o .:? "createTime"))++instance ToJSON MemoryEvent where+ toJSON MemoryEvent'{..}+ = object+ (catMaybes+ [("byteCount" .=) <$> _meByteCount,+ ("eventType" .=) <$> _meEventType,+ ("createTime" .=) <$> _meCreateTime])++-- | Configuration for an Android permission and its grant state.+--+-- /See:/ 'permissionGrant' smart constructor.+data PermissionGrant = PermissionGrant'+ { _pgPolicy :: !(Maybe PermissionGrantPolicy)+ , _pgPermission :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionGrant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgPolicy'+--+-- * 'pgPermission'+permissionGrant+ :: PermissionGrant+permissionGrant =+ PermissionGrant'+ { _pgPolicy = Nothing+ , _pgPermission = Nothing+ }++-- | The policy for granting the permission.+pgPolicy :: Lens' PermissionGrant (Maybe PermissionGrantPolicy)+pgPolicy = lens _pgPolicy (\ s a -> s{_pgPolicy = a})++-- | The Android permission or group, e.g. android.permission.READ_CALENDAR+-- or android.permission_group.CALENDAR.+pgPermission :: Lens' PermissionGrant (Maybe Text)+pgPermission+ = lens _pgPermission (\ s a -> s{_pgPermission = a})++instance FromJSON PermissionGrant where+ parseJSON+ = withObject "PermissionGrant"+ (\ o ->+ PermissionGrant' <$>+ (o .:? "policy") <*> (o .:? "permission"))++instance ToJSON PermissionGrant where+ toJSON PermissionGrant'{..}+ = object+ (catMaybes+ [("policy" .=) <$> _pgPolicy,+ ("permission" .=) <$> _pgPermission])++-- | A resource containing sign in details for an enterprise.+--+-- /See:/ 'signinDetail' smart constructor.+data SigninDetail = SigninDetail'+ { _sdSigninURL :: !(Maybe Text)+ , _sdQrCode :: !(Maybe Text)+ , _sdSigninEnrollmentToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SigninDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdSigninURL'+--+-- * 'sdQrCode'+--+-- * 'sdSigninEnrollmentToken'+signinDetail+ :: SigninDetail+signinDetail =+ SigninDetail'+ { _sdSigninURL = Nothing+ , _sdQrCode = Nothing+ , _sdSigninEnrollmentToken = Nothing+ }++-- | Sign-in URL for authentication when device is provisioned with a sign-in+-- enrollment token. The sign-in endpoint should finish authentication flow+-- with a URL in the form of+-- https:\/\/enterprise.google.com\/android\/enroll?et= for a successful+-- login, or https:\/\/enterprise.google.com\/android\/enroll\/invalid for+-- a failed login.+sdSigninURL :: Lens' SigninDetail (Maybe Text)+sdSigninURL+ = lens _sdSigninURL (\ s a -> s{_sdSigninURL = a})++-- | A JSON string whose UTF-8 representation can be used to generate a QR+-- code to enroll a device with this enrollment token. To enroll a device+-- using NFC, the NFC record must contain a serialized java.util.Properties+-- representation of the properties in the JSON. This is a read-only field+-- generated by the server.+sdQrCode :: Lens' SigninDetail (Maybe Text)+sdQrCode = lens _sdQrCode (\ s a -> s{_sdQrCode = a})++-- | An enterprise wide enrollment token used to trigger custom sign-in flow.+-- This is a read-only field generated by the server.+sdSigninEnrollmentToken :: Lens' SigninDetail (Maybe Text)+sdSigninEnrollmentToken+ = lens _sdSigninEnrollmentToken+ (\ s a -> s{_sdSigninEnrollmentToken = a})++instance FromJSON SigninDetail where+ parseJSON+ = withObject "SigninDetail"+ (\ o ->+ SigninDetail' <$>+ (o .:? "signinUrl") <*> (o .:? "qrCode") <*>+ (o .:? "signinEnrollmentToken"))++instance ToJSON SigninDetail where+ toJSON SigninDetail'{..}+ = object+ (catMaybes+ [("signinUrl" .=) <$> _sdSigninURL,+ ("qrCode" .=) <$> _sdQrCode,+ ("signinEnrollmentToken" .=) <$>+ _sdSigninEnrollmentToken])++-- | An enterprise signup URL.+--+-- /See:/ 'signupURL' smart constructor.+data SignupURL = SignupURL'+ { _suURL :: !(Maybe Text)+ , _suName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SignupURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'suURL'+--+-- * 'suName'+signupURL+ :: SignupURL+signupURL =+ SignupURL'+ { _suURL = Nothing+ , _suName = Nothing+ }++-- | A URL where an enterprise admin can register their enterprise. The page+-- can\'t be rendered in an iframe.+suURL :: Lens' SignupURL (Maybe Text)+suURL = lens _suURL (\ s a -> s{_suURL = a})++-- | The name of the resource. Use this value in the signupUrl field when+-- calling enterprises.create to complete the enterprise signup flow.+suName :: Lens' SignupURL (Maybe Text)+suName = lens _suName (\ s a -> s{_suName = a})++instance FromJSON SignupURL where+ parseJSON+ = withObject "SignupURL"+ (\ o ->+ SignupURL' <$> (o .:? "url") <*> (o .:? "name"))++instance ToJSON SignupURL where+ toJSON SignupURL'{..}+ = object+ (catMaybes+ [("url" .=) <$> _suURL, ("name" .=) <$> _suName])++-- | Device network info.+--+-- /See:/ 'networkInfo' smart constructor.+data NetworkInfo = NetworkInfo'+ { _niNetworkOperatorName :: !(Maybe Text)+ , _niMeid :: !(Maybe Text)+ , _niImei :: !(Maybe Text)+ , _niWifiMACAddress :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niNetworkOperatorName'+--+-- * 'niMeid'+--+-- * 'niImei'+--+-- * 'niWifiMACAddress'+networkInfo+ :: NetworkInfo+networkInfo =+ NetworkInfo'+ { _niNetworkOperatorName = Nothing+ , _niMeid = Nothing+ , _niImei = Nothing+ , _niWifiMACAddress = Nothing+ }++-- | Alphabetic name of current registered operator. For example, Vodafone.+niNetworkOperatorName :: Lens' NetworkInfo (Maybe Text)+niNetworkOperatorName+ = lens _niNetworkOperatorName+ (\ s a -> s{_niNetworkOperatorName = a})++-- | MEID number of the CDMA device. For example, A00000292788E1.+niMeid :: Lens' NetworkInfo (Maybe Text)+niMeid = lens _niMeid (\ s a -> s{_niMeid = a})++-- | IMEI number of the GSM device. For example, A1000031212.+niImei :: Lens' NetworkInfo (Maybe Text)+niImei = lens _niImei (\ s a -> s{_niImei = a})++-- | Wi-Fi MAC address of the device. For example, 7c:11:11:11:11:11.+niWifiMACAddress :: Lens' NetworkInfo (Maybe Text)+niWifiMACAddress+ = lens _niWifiMACAddress+ (\ s a -> s{_niWifiMACAddress = a})++instance FromJSON NetworkInfo where+ parseJSON+ = withObject "NetworkInfo"+ (\ o ->+ NetworkInfo' <$>+ (o .:? "networkOperatorName") <*> (o .:? "meid") <*>+ (o .:? "imei")+ <*> (o .:? "wifiMacAddress"))++instance ToJSON NetworkInfo where+ toJSON NetworkInfo'{..}+ = object+ (catMaybes+ [("networkOperatorName" .=) <$>+ _niNetworkOperatorName,+ ("meid" .=) <$> _niMeid, ("imei" .=) <$> _niImei,+ ("wifiMacAddress" .=) <$> _niWifiMACAddress])++-- | A power management event.+--+-- /See:/ 'powerManagementEvent' smart constructor.+data PowerManagementEvent = PowerManagementEvent'+ { _pmeBatteryLevel :: !(Maybe (Textual Double))+ , _pmeEventType :: !(Maybe PowerManagementEventEventType)+ , _pmeCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PowerManagementEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmeBatteryLevel'+--+-- * 'pmeEventType'+--+-- * 'pmeCreateTime'+powerManagementEvent+ :: PowerManagementEvent+powerManagementEvent =+ PowerManagementEvent'+ { _pmeBatteryLevel = Nothing+ , _pmeEventType = Nothing+ , _pmeCreateTime = Nothing+ }++-- | For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage.+pmeBatteryLevel :: Lens' PowerManagementEvent (Maybe Double)+pmeBatteryLevel+ = lens _pmeBatteryLevel+ (\ s a -> s{_pmeBatteryLevel = a})+ . mapping _Coerce++-- | Event type.+pmeEventType :: Lens' PowerManagementEvent (Maybe PowerManagementEventEventType)+pmeEventType+ = lens _pmeEventType (\ s a -> s{_pmeEventType = a})++-- | The creation time of the event.+pmeCreateTime :: Lens' PowerManagementEvent (Maybe UTCTime)+pmeCreateTime+ = lens _pmeCreateTime+ (\ s a -> s{_pmeCreateTime = a})+ . mapping _DateTime++instance FromJSON PowerManagementEvent where+ parseJSON+ = withObject "PowerManagementEvent"+ (\ o ->+ PowerManagementEvent' <$>+ (o .:? "batteryLevel") <*> (o .:? "eventType") <*>+ (o .:? "createTime"))++instance ToJSON PowerManagementEvent where+ toJSON PowerManagementEvent'{..}+ = object+ (catMaybes+ [("batteryLevel" .=) <$> _pmeBatteryLevel,+ ("eventType" .=) <$> _pmeEventType,+ ("createTime" .=) <$> _pmeCreateTime])++-- | A policy resources represents a group settings that govern the behavior+-- of a managed device and the apps installed on it.+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+ { _pBluetoothConfigDisabled :: !(Maybe Bool)+ , _pUnmuteMicrophoneDisabled :: !(Maybe Bool)+ , _pMountPhysicalMediaDisabled :: !(Maybe Bool)+ , _pFrpAdminEmails :: !(Maybe [Text])+ , _pAppAutoUpdatePolicy :: !(Maybe PolicyAppAutoUpdatePolicy)+ , _pEncryptionPolicy :: !(Maybe PolicyEncryptionPolicy)+ , _pAndroidDevicePolicyTracks :: !(Maybe [Text])+ , _pSafeBootDisabled :: !(Maybe Bool)+ , _pAlwaysOnVPNPackage :: !(Maybe AlwaysOnVPNPackage)+ , _pChoosePrivateKeyRules :: !(Maybe [ChoosePrivateKeyRule])+ , _pCredentialsConfigDisabled :: !(Maybe Bool)+ , _pRecommendedGlobalProxy :: !(Maybe ProxyInfo)+ , _pKeyguardDisabled :: !(Maybe Bool)+ , _pSkipFirstUseHintsEnabled :: !(Maybe Bool)+ , _pAdjustVolumeDisabled :: !(Maybe Bool)+ , _pDefaultPermissionPolicy :: !(Maybe PolicyDefaultPermissionPolicy)+ , _pUninstallAppsDisabled :: !(Maybe Bool)+ , _pSetUserIconDisabled :: !(Maybe Bool)+ , _pPermittedInputMethods :: !(Maybe PackageNameList)+ , _pScreenCaptureDisabled :: !(Maybe Bool)+ , _pAddUserDisabled :: !(Maybe Bool)+ , _pShareLocationDisabled :: !(Maybe Bool)+ , _pAutoTimeRequired :: !(Maybe Bool)+ , _pInstallAppsDisabled :: !(Maybe Bool)+ , _pCreateWindowsDisabled :: !(Maybe Bool)+ , _pNetworkResetDisabled :: !(Maybe Bool)+ , _pBluetoothContactSharingDisabled :: !(Maybe Bool)+ , _pPermissionGrants :: !(Maybe [PermissionGrant])+ , _pShortSupportMessage :: !(Maybe UserFacingMessage)+ , _pStayOnPluggedModes :: !(Maybe [Text])+ , _pDataRoamingDisabled :: !(Maybe Bool)+ , _pDebuggingFeaturesAllowed :: !(Maybe Bool)+ , _pKioskCustomLauncherEnabled :: !(Maybe Bool)+ , _pWifiConfigsLockdownEnabled :: !(Maybe Bool)+ , _pUsbMassStorageEnabled :: !(Maybe Bool)+ , _pNetworkEscapeHatchEnabled :: !(Maybe Bool)+ , _pSystemUpdate :: !(Maybe SystemUpdate)+ , _pInstallUnknownSourcesAllowed :: !(Maybe Bool)+ , _pName :: !(Maybe Text)+ , _pPrivateKeySelectionEnabled :: !(Maybe Bool)+ , _pOutgoingCallsDisabled :: !(Maybe Bool)+ , _pStatusReportingSettings :: !(Maybe StatusReportingSettings)+ , _pRemoveUserDisabled :: !(Maybe Bool)+ , _pMobileNetworksConfigDisabled :: !(Maybe Bool)+ , _pVersion :: !(Maybe (Textual Int64))+ , _pEnsureVerifyAppsEnabled :: !(Maybe Bool)+ , _pSetWallpaperDisabled :: !(Maybe Bool)+ , _pVPNConfigDisabled :: !(Maybe Bool)+ , _pOpenNetworkConfiguration :: !(Maybe PolicyOpenNetworkConfiguration)+ , _pModifyAccountsDisabled :: !(Maybe Bool)+ , _pBlockApplicationsEnabled :: !(Maybe Bool)+ , _pKeyguardDisabledFeatures :: !(Maybe [Text])+ , _pFunDisabled :: !(Maybe Bool)+ , _pSmsDisabled :: !(Maybe Bool)+ , _pMaximumTimeToLock :: !(Maybe (Textual Int64))+ , _pOutgoingBeamDisabled :: !(Maybe Bool)+ , _pStatusBarDisabled :: !(Maybe Bool)+ , _pCellBroadcastsConfigDisabled :: !(Maybe Bool)+ , _pDeviceOwnerLockScreenInfo :: !(Maybe UserFacingMessage)+ , _pPlayStoreMode :: !(Maybe PolicyPlayStoreMode)+ , _pComplianceRules :: !(Maybe [ComplianceRule])+ , _pTetheringConfigDisabled :: !(Maybe Bool)+ , _pAccountTypesWithManagementDisabled :: !(Maybe [Text])+ , _pWifiConfigDisabled :: !(Maybe Bool)+ , _pPersistentPreferredActivities :: !(Maybe [PersistentPreferredActivity])+ , _pPasswordRequirements :: !(Maybe PasswordRequirements)+ , _pLongSupportMessage :: !(Maybe UserFacingMessage)+ , _pLocationMode :: !(Maybe PolicyLocationMode)+ , _pBluetoothDisabled :: !(Maybe Bool)+ , _pUsbFileTransferDisabled :: !(Maybe Bool)+ , _pCameraDisabled :: !(Maybe Bool)+ , _pApplications :: !(Maybe [ApplicationPolicy])+ , _pPasswordPolicies :: !(Maybe [PasswordRequirements])+ , _pFactoryResetDisabled :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pBluetoothConfigDisabled'+--+-- * 'pUnmuteMicrophoneDisabled'+--+-- * 'pMountPhysicalMediaDisabled'+--+-- * 'pFrpAdminEmails'+--+-- * 'pAppAutoUpdatePolicy'+--+-- * 'pEncryptionPolicy'+--+-- * 'pAndroidDevicePolicyTracks'+--+-- * 'pSafeBootDisabled'+--+-- * 'pAlwaysOnVPNPackage'+--+-- * 'pChoosePrivateKeyRules'+--+-- * 'pCredentialsConfigDisabled'+--+-- * 'pRecommendedGlobalProxy'+--+-- * 'pKeyguardDisabled'+--+-- * 'pSkipFirstUseHintsEnabled'+--+-- * 'pAdjustVolumeDisabled'+--+-- * 'pDefaultPermissionPolicy'+--+-- * 'pUninstallAppsDisabled'+--+-- * 'pSetUserIconDisabled'+--+-- * 'pPermittedInputMethods'+--+-- * 'pScreenCaptureDisabled'+--+-- * 'pAddUserDisabled'+--+-- * 'pShareLocationDisabled'+--+-- * 'pAutoTimeRequired'+--+-- * 'pInstallAppsDisabled'+--+-- * 'pCreateWindowsDisabled'+--+-- * 'pNetworkResetDisabled'+--+-- * 'pBluetoothContactSharingDisabled'+--+-- * 'pPermissionGrants'+--+-- * 'pShortSupportMessage'+--+-- * 'pStayOnPluggedModes'+--+-- * 'pDataRoamingDisabled'+--+-- * 'pDebuggingFeaturesAllowed'+--+-- * 'pKioskCustomLauncherEnabled'+--+-- * 'pWifiConfigsLockdownEnabled'+--+-- * 'pUsbMassStorageEnabled'+--+-- * 'pNetworkEscapeHatchEnabled'+--+-- * 'pSystemUpdate'+--+-- * 'pInstallUnknownSourcesAllowed'+--+-- * 'pName'+--+-- * 'pPrivateKeySelectionEnabled'+--+-- * 'pOutgoingCallsDisabled'+--+-- * 'pStatusReportingSettings'+--+-- * 'pRemoveUserDisabled'+--+-- * 'pMobileNetworksConfigDisabled'+--+-- * 'pVersion'+--+-- * 'pEnsureVerifyAppsEnabled'+--+-- * 'pSetWallpaperDisabled'+--+-- * 'pVPNConfigDisabled'+--+-- * 'pOpenNetworkConfiguration'+--+-- * 'pModifyAccountsDisabled'+--+-- * 'pBlockApplicationsEnabled'+--+-- * 'pKeyguardDisabledFeatures'+--+-- * 'pFunDisabled'+--+-- * 'pSmsDisabled'+--+-- * 'pMaximumTimeToLock'+--+-- * 'pOutgoingBeamDisabled'+--+-- * 'pStatusBarDisabled'+--+-- * 'pCellBroadcastsConfigDisabled'+--+-- * 'pDeviceOwnerLockScreenInfo'+--+-- * 'pPlayStoreMode'+--+-- * 'pComplianceRules'+--+-- * 'pTetheringConfigDisabled'+--+-- * 'pAccountTypesWithManagementDisabled'+--+-- * 'pWifiConfigDisabled'+--+-- * 'pPersistentPreferredActivities'+--+-- * 'pPasswordRequirements'+--+-- * 'pLongSupportMessage'+--+-- * 'pLocationMode'+--+-- * 'pBluetoothDisabled'+--+-- * 'pUsbFileTransferDisabled'+--+-- * 'pCameraDisabled'+--+-- * 'pApplications'+--+-- * 'pPasswordPolicies'+--+-- * 'pFactoryResetDisabled'+policy+ :: Policy+policy =+ Policy'+ { _pBluetoothConfigDisabled = Nothing+ , _pUnmuteMicrophoneDisabled = Nothing+ , _pMountPhysicalMediaDisabled = Nothing+ , _pFrpAdminEmails = Nothing+ , _pAppAutoUpdatePolicy = Nothing+ , _pEncryptionPolicy = Nothing+ , _pAndroidDevicePolicyTracks = Nothing+ , _pSafeBootDisabled = Nothing+ , _pAlwaysOnVPNPackage = Nothing+ , _pChoosePrivateKeyRules = Nothing+ , _pCredentialsConfigDisabled = Nothing+ , _pRecommendedGlobalProxy = Nothing+ , _pKeyguardDisabled = Nothing+ , _pSkipFirstUseHintsEnabled = Nothing+ , _pAdjustVolumeDisabled = Nothing+ , _pDefaultPermissionPolicy = Nothing+ , _pUninstallAppsDisabled = Nothing+ , _pSetUserIconDisabled = Nothing+ , _pPermittedInputMethods = Nothing+ , _pScreenCaptureDisabled = Nothing+ , _pAddUserDisabled = Nothing+ , _pShareLocationDisabled = Nothing+ , _pAutoTimeRequired = Nothing+ , _pInstallAppsDisabled = Nothing+ , _pCreateWindowsDisabled = Nothing+ , _pNetworkResetDisabled = Nothing+ , _pBluetoothContactSharingDisabled = Nothing+ , _pPermissionGrants = Nothing+ , _pShortSupportMessage = Nothing+ , _pStayOnPluggedModes = Nothing+ , _pDataRoamingDisabled = Nothing+ , _pDebuggingFeaturesAllowed = Nothing+ , _pKioskCustomLauncherEnabled = Nothing+ , _pWifiConfigsLockdownEnabled = Nothing+ , _pUsbMassStorageEnabled = Nothing+ , _pNetworkEscapeHatchEnabled = Nothing+ , _pSystemUpdate = Nothing+ , _pInstallUnknownSourcesAllowed = Nothing+ , _pName = Nothing+ , _pPrivateKeySelectionEnabled = Nothing+ , _pOutgoingCallsDisabled = Nothing+ , _pStatusReportingSettings = Nothing+ , _pRemoveUserDisabled = Nothing+ , _pMobileNetworksConfigDisabled = Nothing+ , _pVersion = Nothing+ , _pEnsureVerifyAppsEnabled = Nothing+ , _pSetWallpaperDisabled = Nothing+ , _pVPNConfigDisabled = Nothing+ , _pOpenNetworkConfiguration = Nothing+ , _pModifyAccountsDisabled = Nothing+ , _pBlockApplicationsEnabled = Nothing+ , _pKeyguardDisabledFeatures = Nothing+ , _pFunDisabled = Nothing+ , _pSmsDisabled = Nothing+ , _pMaximumTimeToLock = Nothing+ , _pOutgoingBeamDisabled = Nothing+ , _pStatusBarDisabled = Nothing+ , _pCellBroadcastsConfigDisabled = Nothing+ , _pDeviceOwnerLockScreenInfo = Nothing+ , _pPlayStoreMode = Nothing+ , _pComplianceRules = Nothing+ , _pTetheringConfigDisabled = Nothing+ , _pAccountTypesWithManagementDisabled = Nothing+ , _pWifiConfigDisabled = Nothing+ , _pPersistentPreferredActivities = Nothing+ , _pPasswordRequirements = Nothing+ , _pLongSupportMessage = Nothing+ , _pLocationMode = Nothing+ , _pBluetoothDisabled = Nothing+ , _pUsbFileTransferDisabled = Nothing+ , _pCameraDisabled = Nothing+ , _pApplications = Nothing+ , _pPasswordPolicies = Nothing+ , _pFactoryResetDisabled = Nothing+ }++-- | Whether configuring bluetooth is disabled.+pBluetoothConfigDisabled :: Lens' Policy (Maybe Bool)+pBluetoothConfigDisabled+ = lens _pBluetoothConfigDisabled+ (\ s a -> s{_pBluetoothConfigDisabled = a})++-- | Whether the microphone is muted and adjusting microphone volume is+-- disabled.+pUnmuteMicrophoneDisabled :: Lens' Policy (Maybe Bool)+pUnmuteMicrophoneDisabled+ = lens _pUnmuteMicrophoneDisabled+ (\ s a -> s{_pUnmuteMicrophoneDisabled = a})++-- | Whether the user mounting physical external media is disabled.+pMountPhysicalMediaDisabled :: Lens' Policy (Maybe Bool)+pMountPhysicalMediaDisabled+ = lens _pMountPhysicalMediaDisabled+ (\ s a -> s{_pMountPhysicalMediaDisabled = a})++-- | Email addresses of device administrators for factory reset protection.+-- When the device is factory reset, it will require one of these admins to+-- log in with the Google account email and password to unlock the device.+-- If no admins are specified, the device won\'t provide factory reset+-- protection.+pFrpAdminEmails :: Lens' Policy [Text]+pFrpAdminEmails+ = lens _pFrpAdminEmails+ (\ s a -> s{_pFrpAdminEmails = a})+ . _Default+ . _Coerce++-- | The app auto update policy, which controls when automatic app updates+-- can be applied.+pAppAutoUpdatePolicy :: Lens' Policy (Maybe PolicyAppAutoUpdatePolicy)+pAppAutoUpdatePolicy+ = lens _pAppAutoUpdatePolicy+ (\ s a -> s{_pAppAutoUpdatePolicy = a})++-- | Whether encryption is enabled+pEncryptionPolicy :: Lens' Policy (Maybe PolicyEncryptionPolicy)+pEncryptionPolicy+ = lens _pEncryptionPolicy+ (\ s a -> s{_pEncryptionPolicy = a})++-- | The app tracks for Android Device Policy the device can access. The+-- device receives the latest version among all accessible tracks. If no+-- tracks are specified, then the device only uses the production track.+pAndroidDevicePolicyTracks :: Lens' Policy [Text]+pAndroidDevicePolicyTracks+ = lens _pAndroidDevicePolicyTracks+ (\ s a -> s{_pAndroidDevicePolicyTracks = a})+ . _Default+ . _Coerce++-- | Whether rebooting the device into safe boot is disabled.+pSafeBootDisabled :: Lens' Policy (Maybe Bool)+pSafeBootDisabled+ = lens _pSafeBootDisabled+ (\ s a -> s{_pSafeBootDisabled = a})++-- | Configuration for an always-on VPN connection. Use with+-- vpn_config_disabled to prevent modification of this setting.+pAlwaysOnVPNPackage :: Lens' Policy (Maybe AlwaysOnVPNPackage)+pAlwaysOnVPNPackage+ = lens _pAlwaysOnVPNPackage+ (\ s a -> s{_pAlwaysOnVPNPackage = a})++-- | Rules for automatically choosing a private key and certificate to+-- authenticate the device to a server. The rules are ordered by increasing+-- precedence, so if an outgoing request matches more than one rule, the+-- last rule defines which private key to use.+pChoosePrivateKeyRules :: Lens' Policy [ChoosePrivateKeyRule]+pChoosePrivateKeyRules+ = lens _pChoosePrivateKeyRules+ (\ s a -> s{_pChoosePrivateKeyRules = a})+ . _Default+ . _Coerce++-- | Whether configuring user credentials is disabled.+pCredentialsConfigDisabled :: Lens' Policy (Maybe Bool)+pCredentialsConfigDisabled+ = lens _pCredentialsConfigDisabled+ (\ s a -> s{_pCredentialsConfigDisabled = a})++-- | The network-independent global HTTP proxy. Typically proxies should be+-- configured per-network in open_network_configuration. However for+-- unusual configurations like general internal filtering a global HTTP+-- proxy may be useful. If the proxy is not accessible, network access may+-- break. The global proxy is only a recommendation and some apps may+-- ignore it.+pRecommendedGlobalProxy :: Lens' Policy (Maybe ProxyInfo)+pRecommendedGlobalProxy+ = lens _pRecommendedGlobalProxy+ (\ s a -> s{_pRecommendedGlobalProxy = a})++-- | Whether the keyguard is disabled.+pKeyguardDisabled :: Lens' Policy (Maybe Bool)+pKeyguardDisabled+ = lens _pKeyguardDisabled+ (\ s a -> s{_pKeyguardDisabled = a})++-- | Flag to skip hints on the first use. Enterprise admin can enable the+-- system recommendation for apps to skip their user tutorial and other+-- introductory hints on first start-up.+pSkipFirstUseHintsEnabled :: Lens' Policy (Maybe Bool)+pSkipFirstUseHintsEnabled+ = lens _pSkipFirstUseHintsEnabled+ (\ s a -> s{_pSkipFirstUseHintsEnabled = a})++-- | Whether adjusting the master volume is disabled.+pAdjustVolumeDisabled :: Lens' Policy (Maybe Bool)+pAdjustVolumeDisabled+ = lens _pAdjustVolumeDisabled+ (\ s a -> s{_pAdjustVolumeDisabled = a})++-- | The default permission policy for runtime permission requests.+pDefaultPermissionPolicy :: Lens' Policy (Maybe PolicyDefaultPermissionPolicy)+pDefaultPermissionPolicy+ = lens _pDefaultPermissionPolicy+ (\ s a -> s{_pDefaultPermissionPolicy = a})++-- | Whether user uninstallation of applications is disabled.+pUninstallAppsDisabled :: Lens' Policy (Maybe Bool)+pUninstallAppsDisabled+ = lens _pUninstallAppsDisabled+ (\ s a -> s{_pUninstallAppsDisabled = a})++-- | Whether changing the user icon is disabled.+pSetUserIconDisabled :: Lens' Policy (Maybe Bool)+pSetUserIconDisabled+ = lens _pSetUserIconDisabled+ (\ s a -> s{_pSetUserIconDisabled = a})++-- | If present, only the input methods provided by packages in this list are+-- permitted. If this field is present, but the list is empty, then only+-- system input methods are permitted.+pPermittedInputMethods :: Lens' Policy (Maybe PackageNameList)+pPermittedInputMethods+ = lens _pPermittedInputMethods+ (\ s a -> s{_pPermittedInputMethods = a})++-- | Whether screen capture is disabled.+pScreenCaptureDisabled :: Lens' Policy (Maybe Bool)+pScreenCaptureDisabled+ = lens _pScreenCaptureDisabled+ (\ s a -> s{_pScreenCaptureDisabled = a})++-- | Whether adding new users and profiles is disabled.+pAddUserDisabled :: Lens' Policy (Maybe Bool)+pAddUserDisabled+ = lens _pAddUserDisabled+ (\ s a -> s{_pAddUserDisabled = a})++-- | Whether location sharing is disabled.+pShareLocationDisabled :: Lens' Policy (Maybe Bool)+pShareLocationDisabled+ = lens _pShareLocationDisabled+ (\ s a -> s{_pShareLocationDisabled = a})++-- | Whether auto time is required, which prevents the user from manually+-- setting the date and time.+pAutoTimeRequired :: Lens' Policy (Maybe Bool)+pAutoTimeRequired+ = lens _pAutoTimeRequired+ (\ s a -> s{_pAutoTimeRequired = a})++-- | Whether user installation of apps is disabled.+pInstallAppsDisabled :: Lens' Policy (Maybe Bool)+pInstallAppsDisabled+ = lens _pInstallAppsDisabled+ (\ s a -> s{_pInstallAppsDisabled = a})++-- | Whether creating windows besides app windows is disabled.+pCreateWindowsDisabled :: Lens' Policy (Maybe Bool)+pCreateWindowsDisabled+ = lens _pCreateWindowsDisabled+ (\ s a -> s{_pCreateWindowsDisabled = a})++-- | Whether resetting network settings is disabled.+pNetworkResetDisabled :: Lens' Policy (Maybe Bool)+pNetworkResetDisabled+ = lens _pNetworkResetDisabled+ (\ s a -> s{_pNetworkResetDisabled = a})++-- | Whether bluetooth contact sharing is disabled.+pBluetoothContactSharingDisabled :: Lens' Policy (Maybe Bool)+pBluetoothContactSharingDisabled+ = lens _pBluetoothContactSharingDisabled+ (\ s a -> s{_pBluetoothContactSharingDisabled = a})++-- | Explicit permission or group grants or denials for all apps. These+-- values override the default_permission_policy.+pPermissionGrants :: Lens' Policy [PermissionGrant]+pPermissionGrants+ = lens _pPermissionGrants+ (\ s a -> s{_pPermissionGrants = a})+ . _Default+ . _Coerce++-- | A message displayed to the user in the settings screen wherever+-- functionality has been disabled by the admin.+pShortSupportMessage :: Lens' Policy (Maybe UserFacingMessage)+pShortSupportMessage+ = lens _pShortSupportMessage+ (\ s a -> s{_pShortSupportMessage = a})++-- | The battery plugged in modes for which the device stays on. When using+-- this setting, it is recommended to clear maximum_time_to_lock so that+-- the device doesn\'t lock itself while it stays on.+pStayOnPluggedModes :: Lens' Policy [Text]+pStayOnPluggedModes+ = lens _pStayOnPluggedModes+ (\ s a -> s{_pStayOnPluggedModes = a})+ . _Default+ . _Coerce++-- | Whether roaming data services are disabled.+pDataRoamingDisabled :: Lens' Policy (Maybe Bool)+pDataRoamingDisabled+ = lens _pDataRoamingDisabled+ (\ s a -> s{_pDataRoamingDisabled = a})++-- | Whether the user is allowed to enable debugging features.+pDebuggingFeaturesAllowed :: Lens' Policy (Maybe Bool)+pDebuggingFeaturesAllowed+ = lens _pDebuggingFeaturesAllowed+ (\ s a -> s{_pDebuggingFeaturesAllowed = a})++-- | Whether the kiosk custom launcher is enabled. This replaces the home+-- screen with a launcher that locks down the device to the apps installed+-- via the applications setting. The apps appear on a single page in+-- alphabetical order. It is recommended to also use status_bar_disabled to+-- block access to device settings.+pKioskCustomLauncherEnabled :: Lens' Policy (Maybe Bool)+pKioskCustomLauncherEnabled+ = lens _pKioskCustomLauncherEnabled+ (\ s a -> s{_pKioskCustomLauncherEnabled = a})++-- | Whether Wi-Fi networks defined in Open Network Configuration are locked+-- so they can\'t be edited by the user.+pWifiConfigsLockdownEnabled :: Lens' Policy (Maybe Bool)+pWifiConfigsLockdownEnabled+ = lens _pWifiConfigsLockdownEnabled+ (\ s a -> s{_pWifiConfigsLockdownEnabled = a})++-- | Whether USB storage is enabled. Deprecated.+pUsbMassStorageEnabled :: Lens' Policy (Maybe Bool)+pUsbMassStorageEnabled+ = lens _pUsbMassStorageEnabled+ (\ s a -> s{_pUsbMassStorageEnabled = a})++-- | Whether the network escape hatch is enabled. If a network connection+-- can\'t be made at boot time, the escape hatch prompts the user to+-- temporarily connect to a network in order to refresh the device policy.+-- After applying policy, the temporary network will be forgotten and the+-- device will continue booting. This prevents being unable to connect to a+-- network if there is no suitable network in the last policy and the+-- device boots into an app in lock task mode, or the user is otherwise+-- unable to reach device settings.+pNetworkEscapeHatchEnabled :: Lens' Policy (Maybe Bool)+pNetworkEscapeHatchEnabled+ = lens _pNetworkEscapeHatchEnabled+ (\ s a -> s{_pNetworkEscapeHatchEnabled = a})++-- | The system update policy, which controls how OS updates are applied. If+-- the update type is WINDOWED, the update window will automatically apply+-- to Play app updates as well.+pSystemUpdate :: Lens' Policy (Maybe SystemUpdate)+pSystemUpdate+ = lens _pSystemUpdate+ (\ s a -> s{_pSystemUpdate = a})++-- | Whether the user is allowed to enable the \"Unknown Sources\" setting,+-- which allows installation of apps from unknown sources.+pInstallUnknownSourcesAllowed :: Lens' Policy (Maybe Bool)+pInstallUnknownSourcesAllowed+ = lens _pInstallUnknownSourcesAllowed+ (\ s a -> s{_pInstallUnknownSourcesAllowed = a})++-- | The name of the policy in the form+-- enterprises\/{enterpriseId}\/policies\/{policyId}.+pName :: Lens' Policy (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | Allows showing UI on a device for a user to choose a private key alias+-- if there are no matching rules in ChoosePrivateKeyRules. For devices+-- below Android P, setting this may leave enterprise keys vulnerable.+pPrivateKeySelectionEnabled :: Lens' Policy (Maybe Bool)+pPrivateKeySelectionEnabled+ = lens _pPrivateKeySelectionEnabled+ (\ s a -> s{_pPrivateKeySelectionEnabled = a})++-- | Whether outgoing calls are disabled.+pOutgoingCallsDisabled :: Lens' Policy (Maybe Bool)+pOutgoingCallsDisabled+ = lens _pOutgoingCallsDisabled+ (\ s a -> s{_pOutgoingCallsDisabled = a})++-- | Status reporting settings+pStatusReportingSettings :: Lens' Policy (Maybe StatusReportingSettings)+pStatusReportingSettings+ = lens _pStatusReportingSettings+ (\ s a -> s{_pStatusReportingSettings = a})++-- | Whether removing other users is disabled.+pRemoveUserDisabled :: Lens' Policy (Maybe Bool)+pRemoveUserDisabled+ = lens _pRemoveUserDisabled+ (\ s a -> s{_pRemoveUserDisabled = a})++-- | Whether configuring mobile networks is disabled.+pMobileNetworksConfigDisabled :: Lens' Policy (Maybe Bool)+pMobileNetworksConfigDisabled+ = lens _pMobileNetworksConfigDisabled+ (\ s a -> s{_pMobileNetworksConfigDisabled = a})++-- | The version of the policy. This is a read-only field. The version is+-- incremented each time the policy is updated.+pVersion :: Lens' Policy (Maybe Int64)+pVersion+ = lens _pVersion (\ s a -> s{_pVersion = a}) .+ mapping _Coerce++-- | Whether app verification is force-enabled.+pEnsureVerifyAppsEnabled :: Lens' Policy (Maybe Bool)+pEnsureVerifyAppsEnabled+ = lens _pEnsureVerifyAppsEnabled+ (\ s a -> s{_pEnsureVerifyAppsEnabled = a})++-- | Whether changing the wallpaper is disabled.+pSetWallpaperDisabled :: Lens' Policy (Maybe Bool)+pSetWallpaperDisabled+ = lens _pSetWallpaperDisabled+ (\ s a -> s{_pSetWallpaperDisabled = a})++-- | Whether configuring VPN is disabled.+pVPNConfigDisabled :: Lens' Policy (Maybe Bool)+pVPNConfigDisabled+ = lens _pVPNConfigDisabled+ (\ s a -> s{_pVPNConfigDisabled = a})++-- | Network configuration for the device. See configure networks for more+-- information.+pOpenNetworkConfiguration :: Lens' Policy (Maybe PolicyOpenNetworkConfiguration)+pOpenNetworkConfiguration+ = lens _pOpenNetworkConfiguration+ (\ s a -> s{_pOpenNetworkConfiguration = a})++-- | Whether adding or removing accounts is disabled.+pModifyAccountsDisabled :: Lens' Policy (Maybe Bool)+pModifyAccountsDisabled+ = lens _pModifyAccountsDisabled+ (\ s a -> s{_pModifyAccountsDisabled = a})++-- | Whether applications other than the ones configured in applications are+-- blocked from being installed. When set, applications that were installed+-- under a previous policy but no longer appear in the policy are+-- automatically uninstalled.+pBlockApplicationsEnabled :: Lens' Policy (Maybe Bool)+pBlockApplicationsEnabled+ = lens _pBlockApplicationsEnabled+ (\ s a -> s{_pBlockApplicationsEnabled = a})++-- | Disabled keyguard customizations, such as widgets.+pKeyguardDisabledFeatures :: Lens' Policy [Text]+pKeyguardDisabledFeatures+ = lens _pKeyguardDisabledFeatures+ (\ s a -> s{_pKeyguardDisabledFeatures = a})+ . _Default+ . _Coerce++-- | Whether the user is allowed to have fun. Controls whether the Easter egg+-- game in Settings is disabled.+pFunDisabled :: Lens' Policy (Maybe Bool)+pFunDisabled+ = lens _pFunDisabled (\ s a -> s{_pFunDisabled = a})++-- | Whether sending and receiving SMS messages is disabled.+pSmsDisabled :: Lens' Policy (Maybe Bool)+pSmsDisabled+ = lens _pSmsDisabled (\ s a -> s{_pSmsDisabled = a})++-- | Maximum time in milliseconds for user activity until the device locks. A+-- value of 0 means there is no restriction.+pMaximumTimeToLock :: Lens' Policy (Maybe Int64)+pMaximumTimeToLock+ = lens _pMaximumTimeToLock+ (\ s a -> s{_pMaximumTimeToLock = a})+ . mapping _Coerce++-- | Whether using NFC to beam data from apps is disabled.+pOutgoingBeamDisabled :: Lens' Policy (Maybe Bool)+pOutgoingBeamDisabled+ = lens _pOutgoingBeamDisabled+ (\ s a -> s{_pOutgoingBeamDisabled = a})++-- | Whether the status bar is disabled. This disables notifications, quick+-- settings, and other screen overlays that allow escape from full-screen+-- mode.+pStatusBarDisabled :: Lens' Policy (Maybe Bool)+pStatusBarDisabled+ = lens _pStatusBarDisabled+ (\ s a -> s{_pStatusBarDisabled = a})++-- | Whether configuring cell broadcast is disabled.+pCellBroadcastsConfigDisabled :: Lens' Policy (Maybe Bool)+pCellBroadcastsConfigDisabled+ = lens _pCellBroadcastsConfigDisabled+ (\ s a -> s{_pCellBroadcastsConfigDisabled = a})++-- | The device owner information to be shown on the lock screen.+pDeviceOwnerLockScreenInfo :: Lens' Policy (Maybe UserFacingMessage)+pDeviceOwnerLockScreenInfo+ = lens _pDeviceOwnerLockScreenInfo+ (\ s a -> s{_pDeviceOwnerLockScreenInfo = a})++-- | This mode controls which apps are available to the user in the Play+-- Store and the behavior on the device when apps are removed from the+-- policy.+pPlayStoreMode :: Lens' Policy (Maybe PolicyPlayStoreMode)+pPlayStoreMode+ = lens _pPlayStoreMode+ (\ s a -> s{_pPlayStoreMode = a})++-- | Rules declaring which mitigating actions to take when a device is not+-- compliant with its policy. When the conditions for multiple rules are+-- satisfied, all of the mitigating actions for the rules are taken. There+-- is a maximum limit of 100 rules.+pComplianceRules :: Lens' Policy [ComplianceRule]+pComplianceRules+ = lens _pComplianceRules+ (\ s a -> s{_pComplianceRules = a})+ . _Default+ . _Coerce++-- | Whether configuring tethering and portable hotspots is disabled.+pTetheringConfigDisabled :: Lens' Policy (Maybe Bool)+pTetheringConfigDisabled+ = lens _pTetheringConfigDisabled+ (\ s a -> s{_pTetheringConfigDisabled = a})++-- | Account types that can\'t be managed by the user.+pAccountTypesWithManagementDisabled :: Lens' Policy [Text]+pAccountTypesWithManagementDisabled+ = lens _pAccountTypesWithManagementDisabled+ (\ s a ->+ s{_pAccountTypesWithManagementDisabled = a})+ . _Default+ . _Coerce++-- | Whether configuring Wi-Fi access points is disabled.+pWifiConfigDisabled :: Lens' Policy (Maybe Bool)+pWifiConfigDisabled+ = lens _pWifiConfigDisabled+ (\ s a -> s{_pWifiConfigDisabled = a})++-- | Default intent handler activities.+pPersistentPreferredActivities :: Lens' Policy [PersistentPreferredActivity]+pPersistentPreferredActivities+ = lens _pPersistentPreferredActivities+ (\ s a -> s{_pPersistentPreferredActivities = a})+ . _Default+ . _Coerce++-- | Password requirements. DEPRECATED - Use password_policies+pPasswordRequirements :: Lens' Policy (Maybe PasswordRequirements)+pPasswordRequirements+ = lens _pPasswordRequirements+ (\ s a -> s{_pPasswordRequirements = a})++-- | A message displayed to the user in the device administators settings+-- screen.+pLongSupportMessage :: Lens' Policy (Maybe UserFacingMessage)+pLongSupportMessage+ = lens _pLongSupportMessage+ (\ s a -> s{_pLongSupportMessage = a})++-- | The degree of location detection enabled. The user may change the value+-- unless the user is otherwise blocked from accessing device settings.+pLocationMode :: Lens' Policy (Maybe PolicyLocationMode)+pLocationMode+ = lens _pLocationMode+ (\ s a -> s{_pLocationMode = a})++-- | Whether bluetooth is disabled. Prefer this setting over+-- bluetooth_config_disabled because bluetooth_config_disabled can be+-- bypassed by the user.+pBluetoothDisabled :: Lens' Policy (Maybe Bool)+pBluetoothDisabled+ = lens _pBluetoothDisabled+ (\ s a -> s{_pBluetoothDisabled = a})++-- | Whether transferring files over USB is disabled.+pUsbFileTransferDisabled :: Lens' Policy (Maybe Bool)+pUsbFileTransferDisabled+ = lens _pUsbFileTransferDisabled+ (\ s a -> s{_pUsbFileTransferDisabled = a})++-- | Whether all cameras on the device are disabled.+pCameraDisabled :: Lens' Policy (Maybe Bool)+pCameraDisabled+ = lens _pCameraDisabled+ (\ s a -> s{_pCameraDisabled = a})++-- | Policy applied to apps.+pApplications :: Lens' Policy [ApplicationPolicy]+pApplications+ = lens _pApplications+ (\ s a -> s{_pApplications = a})+ . _Default+ . _Coerce++-- | Password requirement policies. Different policies can be set for work+-- profile or fully managed devices by setting the password_scope field in+-- the policy.+pPasswordPolicies :: Lens' Policy [PasswordRequirements]+pPasswordPolicies+ = lens _pPasswordPolicies+ (\ s a -> s{_pPasswordPolicies = a})+ . _Default+ . _Coerce++-- | Whether factory resetting from settings is disabled.+pFactoryResetDisabled :: Lens' Policy (Maybe Bool)+pFactoryResetDisabled+ = lens _pFactoryResetDisabled+ (\ s a -> s{_pFactoryResetDisabled = a})++instance FromJSON Policy where+ parseJSON+ = withObject "Policy"+ (\ o ->+ Policy' <$>+ (o .:? "bluetoothConfigDisabled") <*>+ (o .:? "unmuteMicrophoneDisabled")+ <*> (o .:? "mountPhysicalMediaDisabled")+ <*> (o .:? "frpAdminEmails" .!= mempty)+ <*> (o .:? "appAutoUpdatePolicy")+ <*> (o .:? "encryptionPolicy")+ <*> (o .:? "androidDevicePolicyTracks" .!= mempty)+ <*> (o .:? "safeBootDisabled")+ <*> (o .:? "alwaysOnVpnPackage")+ <*> (o .:? "choosePrivateKeyRules" .!= mempty)+ <*> (o .:? "credentialsConfigDisabled")+ <*> (o .:? "recommendedGlobalProxy")+ <*> (o .:? "keyguardDisabled")+ <*> (o .:? "skipFirstUseHintsEnabled")+ <*> (o .:? "adjustVolumeDisabled")+ <*> (o .:? "defaultPermissionPolicy")+ <*> (o .:? "uninstallAppsDisabled")+ <*> (o .:? "setUserIconDisabled")+ <*> (o .:? "permittedInputMethods")+ <*> (o .:? "screenCaptureDisabled")+ <*> (o .:? "addUserDisabled")+ <*> (o .:? "shareLocationDisabled")+ <*> (o .:? "autoTimeRequired")+ <*> (o .:? "installAppsDisabled")+ <*> (o .:? "createWindowsDisabled")+ <*> (o .:? "networkResetDisabled")+ <*> (o .:? "bluetoothContactSharingDisabled")+ <*> (o .:? "permissionGrants" .!= mempty)+ <*> (o .:? "shortSupportMessage")+ <*> (o .:? "stayOnPluggedModes" .!= mempty)+ <*> (o .:? "dataRoamingDisabled")+ <*> (o .:? "debuggingFeaturesAllowed")+ <*> (o .:? "kioskCustomLauncherEnabled")+ <*> (o .:? "wifiConfigsLockdownEnabled")+ <*> (o .:? "usbMassStorageEnabled")+ <*> (o .:? "networkEscapeHatchEnabled")+ <*> (o .:? "systemUpdate")+ <*> (o .:? "installUnknownSourcesAllowed")+ <*> (o .:? "name")+ <*> (o .:? "privateKeySelectionEnabled")+ <*> (o .:? "outgoingCallsDisabled")+ <*> (o .:? "statusReportingSettings")+ <*> (o .:? "removeUserDisabled")+ <*> (o .:? "mobileNetworksConfigDisabled")+ <*> (o .:? "version")+ <*> (o .:? "ensureVerifyAppsEnabled")+ <*> (o .:? "setWallpaperDisabled")+ <*> (o .:? "vpnConfigDisabled")+ <*> (o .:? "openNetworkConfiguration")+ <*> (o .:? "modifyAccountsDisabled")+ <*> (o .:? "blockApplicationsEnabled")+ <*> (o .:? "keyguardDisabledFeatures" .!= mempty)+ <*> (o .:? "funDisabled")+ <*> (o .:? "smsDisabled")+ <*> (o .:? "maximumTimeToLock")+ <*> (o .:? "outgoingBeamDisabled")+ <*> (o .:? "statusBarDisabled")+ <*> (o .:? "cellBroadcastsConfigDisabled")+ <*> (o .:? "deviceOwnerLockScreenInfo")+ <*> (o .:? "playStoreMode")+ <*> (o .:? "complianceRules" .!= mempty)+ <*> (o .:? "tetheringConfigDisabled")+ <*>+ (o .:? "accountTypesWithManagementDisabled" .!=+ mempty)+ <*> (o .:? "wifiConfigDisabled")+ <*>+ (o .:? "persistentPreferredActivities" .!= mempty)+ <*> (o .:? "passwordRequirements")+ <*> (o .:? "longSupportMessage")+ <*> (o .:? "locationMode")+ <*> (o .:? "bluetoothDisabled")+ <*> (o .:? "usbFileTransferDisabled")+ <*> (o .:? "cameraDisabled")+ <*> (o .:? "applications" .!= mempty)+ <*> (o .:? "passwordPolicies" .!= mempty)+ <*> (o .:? "factoryResetDisabled"))++instance ToJSON Policy where+ toJSON Policy'{..}+ = object+ (catMaybes+ [("bluetoothConfigDisabled" .=) <$>+ _pBluetoothConfigDisabled,+ ("unmuteMicrophoneDisabled" .=) <$>+ _pUnmuteMicrophoneDisabled,+ ("mountPhysicalMediaDisabled" .=) <$>+ _pMountPhysicalMediaDisabled,+ ("frpAdminEmails" .=) <$> _pFrpAdminEmails,+ ("appAutoUpdatePolicy" .=) <$> _pAppAutoUpdatePolicy,+ ("encryptionPolicy" .=) <$> _pEncryptionPolicy,+ ("androidDevicePolicyTracks" .=) <$>+ _pAndroidDevicePolicyTracks,+ ("safeBootDisabled" .=) <$> _pSafeBootDisabled,+ ("alwaysOnVpnPackage" .=) <$> _pAlwaysOnVPNPackage,+ ("choosePrivateKeyRules" .=) <$>+ _pChoosePrivateKeyRules,+ ("credentialsConfigDisabled" .=) <$>+ _pCredentialsConfigDisabled,+ ("recommendedGlobalProxy" .=) <$>+ _pRecommendedGlobalProxy,+ ("keyguardDisabled" .=) <$> _pKeyguardDisabled,+ ("skipFirstUseHintsEnabled" .=) <$>+ _pSkipFirstUseHintsEnabled,+ ("adjustVolumeDisabled" .=) <$>+ _pAdjustVolumeDisabled,+ ("defaultPermissionPolicy" .=) <$>+ _pDefaultPermissionPolicy,+ ("uninstallAppsDisabled" .=) <$>+ _pUninstallAppsDisabled,+ ("setUserIconDisabled" .=) <$> _pSetUserIconDisabled,+ ("permittedInputMethods" .=) <$>+ _pPermittedInputMethods,+ ("screenCaptureDisabled" .=) <$>+ _pScreenCaptureDisabled,+ ("addUserDisabled" .=) <$> _pAddUserDisabled,+ ("shareLocationDisabled" .=) <$>+ _pShareLocationDisabled,+ ("autoTimeRequired" .=) <$> _pAutoTimeRequired,+ ("installAppsDisabled" .=) <$> _pInstallAppsDisabled,+ ("createWindowsDisabled" .=) <$>+ _pCreateWindowsDisabled,+ ("networkResetDisabled" .=) <$>+ _pNetworkResetDisabled,+ ("bluetoothContactSharingDisabled" .=) <$>+ _pBluetoothContactSharingDisabled,+ ("permissionGrants" .=) <$> _pPermissionGrants,+ ("shortSupportMessage" .=) <$> _pShortSupportMessage,+ ("stayOnPluggedModes" .=) <$> _pStayOnPluggedModes,+ ("dataRoamingDisabled" .=) <$> _pDataRoamingDisabled,+ ("debuggingFeaturesAllowed" .=) <$>+ _pDebuggingFeaturesAllowed,+ ("kioskCustomLauncherEnabled" .=) <$>+ _pKioskCustomLauncherEnabled,+ ("wifiConfigsLockdownEnabled" .=) <$>+ _pWifiConfigsLockdownEnabled,+ ("usbMassStorageEnabled" .=) <$>+ _pUsbMassStorageEnabled,+ ("networkEscapeHatchEnabled" .=) <$>+ _pNetworkEscapeHatchEnabled,+ ("systemUpdate" .=) <$> _pSystemUpdate,+ ("installUnknownSourcesAllowed" .=) <$>+ _pInstallUnknownSourcesAllowed,+ ("name" .=) <$> _pName,+ ("privateKeySelectionEnabled" .=) <$>+ _pPrivateKeySelectionEnabled,+ ("outgoingCallsDisabled" .=) <$>+ _pOutgoingCallsDisabled,+ ("statusReportingSettings" .=) <$>+ _pStatusReportingSettings,+ ("removeUserDisabled" .=) <$> _pRemoveUserDisabled,+ ("mobileNetworksConfigDisabled" .=) <$>+ _pMobileNetworksConfigDisabled,+ ("version" .=) <$> _pVersion,+ ("ensureVerifyAppsEnabled" .=) <$>+ _pEnsureVerifyAppsEnabled,+ ("setWallpaperDisabled" .=) <$>+ _pSetWallpaperDisabled,+ ("vpnConfigDisabled" .=) <$> _pVPNConfigDisabled,+ ("openNetworkConfiguration" .=) <$>+ _pOpenNetworkConfiguration,+ ("modifyAccountsDisabled" .=) <$>+ _pModifyAccountsDisabled,+ ("blockApplicationsEnabled" .=) <$>+ _pBlockApplicationsEnabled,+ ("keyguardDisabledFeatures" .=) <$>+ _pKeyguardDisabledFeatures,+ ("funDisabled" .=) <$> _pFunDisabled,+ ("smsDisabled" .=) <$> _pSmsDisabled,+ ("maximumTimeToLock" .=) <$> _pMaximumTimeToLock,+ ("outgoingBeamDisabled" .=) <$>+ _pOutgoingBeamDisabled,+ ("statusBarDisabled" .=) <$> _pStatusBarDisabled,+ ("cellBroadcastsConfigDisabled" .=) <$>+ _pCellBroadcastsConfigDisabled,+ ("deviceOwnerLockScreenInfo" .=) <$>+ _pDeviceOwnerLockScreenInfo,+ ("playStoreMode" .=) <$> _pPlayStoreMode,+ ("complianceRules" .=) <$> _pComplianceRules,+ ("tetheringConfigDisabled" .=) <$>+ _pTetheringConfigDisabled,+ ("accountTypesWithManagementDisabled" .=) <$>+ _pAccountTypesWithManagementDisabled,+ ("wifiConfigDisabled" .=) <$> _pWifiConfigDisabled,+ ("persistentPreferredActivities" .=) <$>+ _pPersistentPreferredActivities,+ ("passwordRequirements" .=) <$>+ _pPasswordRequirements,+ ("longSupportMessage" .=) <$> _pLongSupportMessage,+ ("locationMode" .=) <$> _pLocationMode,+ ("bluetoothDisabled" .=) <$> _pBluetoothDisabled,+ ("usbFileTransferDisabled" .=) <$>+ _pUsbFileTransferDisabled,+ ("cameraDisabled" .=) <$> _pCameraDisabled,+ ("applications" .=) <$> _pApplications,+ ("passwordPolicies" .=) <$> _pPasswordPolicies,+ ("factoryResetDisabled" .=) <$>+ _pFactoryResetDisabled])++-- | A compliance rule condition which is satisfied if there exists any+-- matching NonComplianceDetail for the device. A NonComplianceDetail+-- matches a NonComplianceDetailCondition if all the fields which are set+-- within the NonComplianceDetailCondition match the corresponding+-- NonComplianceDetail fields.+--+-- /See:/ 'nonComplianceDetailCondition' smart constructor.+data NonComplianceDetailCondition = NonComplianceDetailCondition'+ { _ncdcPackageName :: !(Maybe Text)+ , _ncdcNonComplianceReason :: !(Maybe NonComplianceDetailConditionNonComplianceReason)+ , _ncdcSettingName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NonComplianceDetailCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncdcPackageName'+--+-- * 'ncdcNonComplianceReason'+--+-- * 'ncdcSettingName'+nonComplianceDetailCondition+ :: NonComplianceDetailCondition+nonComplianceDetailCondition =+ NonComplianceDetailCondition'+ { _ncdcPackageName = Nothing+ , _ncdcNonComplianceReason = Nothing+ , _ncdcSettingName = Nothing+ }++-- | The package name of the app that\'s out of compliance. If not set, then+-- this condition matches any package name.+ncdcPackageName :: Lens' NonComplianceDetailCondition (Maybe Text)+ncdcPackageName+ = lens _ncdcPackageName+ (\ s a -> s{_ncdcPackageName = a})++-- | The reason the device is not in compliance with the setting. If not set,+-- then this condition matches any reason.+ncdcNonComplianceReason :: Lens' NonComplianceDetailCondition (Maybe NonComplianceDetailConditionNonComplianceReason)+ncdcNonComplianceReason+ = lens _ncdcNonComplianceReason+ (\ s a -> s{_ncdcNonComplianceReason = a})++-- | The name of the policy setting. This is the JSON field name of a+-- top-level Policy field. If not set, then this condition matches any+-- setting name.+ncdcSettingName :: Lens' NonComplianceDetailCondition (Maybe Text)+ncdcSettingName+ = lens _ncdcSettingName+ (\ s a -> s{_ncdcSettingName = a})++instance FromJSON NonComplianceDetailCondition where+ parseJSON+ = withObject "NonComplianceDetailCondition"+ (\ o ->+ NonComplianceDetailCondition' <$>+ (o .:? "packageName") <*>+ (o .:? "nonComplianceReason")+ <*> (o .:? "settingName"))++instance ToJSON NonComplianceDetailCondition where+ toJSON NonComplianceDetailCondition'{..}+ = object+ (catMaybes+ [("packageName" .=) <$> _ncdcPackageName,+ ("nonComplianceReason" .=) <$>+ _ncdcNonComplianceReason,+ ("settingName" .=) <$> _ncdcSettingName])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ '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++-- | A web token used to access the managed Google Play iframe.+--+-- /See:/ 'webToken' smart constructor.+data WebToken = WebToken'+ { _wtParentFrameURL :: !(Maybe Text)+ , _wtValue :: !(Maybe Text)+ , _wtName :: !(Maybe Text)+ , _wtPermissions :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wtParentFrameURL'+--+-- * 'wtValue'+--+-- * 'wtName'+--+-- * 'wtPermissions'+webToken+ :: WebToken+webToken =+ WebToken'+ { _wtParentFrameURL = Nothing+ , _wtValue = Nothing+ , _wtName = Nothing+ , _wtPermissions = Nothing+ }++-- | The URL of the parent frame hosting the iframe with the embedded UI. To+-- prevent XSS, the iframe may not be hosted at other URLs. The URL must+-- use the https scheme.+wtParentFrameURL :: Lens' WebToken (Maybe Text)+wtParentFrameURL+ = lens _wtParentFrameURL+ (\ s a -> s{_wtParentFrameURL = a})++-- | The token value which is used in the hosting page to generate the iframe+-- with the embedded UI. This is a read-only field generated by the server.+wtValue :: Lens' WebToken (Maybe Text)+wtValue = lens _wtValue (\ s a -> s{_wtValue = a})++-- | The name of the web token, which is generated by the server during+-- creation in the form+-- enterprises\/{enterpriseId}\/webTokens\/{webTokenId}.+wtName :: Lens' WebToken (Maybe Text)+wtName = lens _wtName (\ s a -> s{_wtName = a})++-- | Permissions available to an admin in the embedded UI. An admin must have+-- all of these permissions in order to view the UI.+wtPermissions :: Lens' WebToken [Text]+wtPermissions+ = lens _wtPermissions+ (\ s a -> s{_wtPermissions = a})+ . _Default+ . _Coerce++instance FromJSON WebToken where+ parseJSON+ = withObject "WebToken"+ (\ o ->+ WebToken' <$>+ (o .:? "parentFrameUrl") <*> (o .:? "value") <*>+ (o .:? "name")+ <*> (o .:? "permissions" .!= mempty))++instance ToJSON WebToken where+ toJSON WebToken'{..}+ = object+ (catMaybes+ [("parentFrameUrl" .=) <$> _wtParentFrameURL,+ ("value" .=) <$> _wtValue, ("name" .=) <$> _wtName,+ ("permissions" .=) <$> _wtPermissions])++-- | A rule declaring which mitigating actions to take when a device is not+-- compliant with its policy. For every rule, there is always an implicit+-- mitigating action to set policy_compliant to false for the Device+-- resource, and display a message on the device indicating that the device+-- is not compliant with its policy. Other mitigating actions may+-- optionally be taken as well, depending on the field values in the rule.+--+-- /See:/ 'complianceRule' smart constructor.+data ComplianceRule = ComplianceRule'+ { _crAPILevelCondition :: !(Maybe APILevelCondition)+ , _crDisableApps :: !(Maybe Bool)+ , _crPackageNamesToDisable :: !(Maybe [Text])+ , _crNonComplianceDetailCondition :: !(Maybe NonComplianceDetailCondition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ComplianceRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crAPILevelCondition'+--+-- * 'crDisableApps'+--+-- * 'crPackageNamesToDisable'+--+-- * 'crNonComplianceDetailCondition'+complianceRule+ :: ComplianceRule+complianceRule =+ ComplianceRule'+ { _crAPILevelCondition = Nothing+ , _crDisableApps = Nothing+ , _crPackageNamesToDisable = Nothing+ , _crNonComplianceDetailCondition = Nothing+ }++-- | A condition which is satisfied if the Android Framework API level on the+-- device doesn\'t meet a minimum requirement.+crAPILevelCondition :: Lens' ComplianceRule (Maybe APILevelCondition)+crAPILevelCondition+ = lens _crAPILevelCondition+ (\ s a -> s{_crAPILevelCondition = a})++-- | If set to true, the rule includes a mitigating action to disable apps so+-- that the device is effectively disabled, but app data is preserved. If+-- the device is running an app in locked task mode, the app will be closed+-- and a UI showing the reason for non-compliance will be displayed.+crDisableApps :: Lens' ComplianceRule (Maybe Bool)+crDisableApps+ = lens _crDisableApps+ (\ s a -> s{_crDisableApps = a})++-- | If set, the rule includes a mitigating action to disable apps specified+-- in the list, but app data is preserved.+crPackageNamesToDisable :: Lens' ComplianceRule [Text]+crPackageNamesToDisable+ = lens _crPackageNamesToDisable+ (\ s a -> s{_crPackageNamesToDisable = a})+ . _Default+ . _Coerce++-- | A condition which is satisfied if there exists any matching+-- NonComplianceDetail for the device.+crNonComplianceDetailCondition :: Lens' ComplianceRule (Maybe NonComplianceDetailCondition)+crNonComplianceDetailCondition+ = lens _crNonComplianceDetailCondition+ (\ s a -> s{_crNonComplianceDetailCondition = a})++instance FromJSON ComplianceRule where+ parseJSON+ = withObject "ComplianceRule"+ (\ o ->+ ComplianceRule' <$>+ (o .:? "apiLevelCondition") <*> (o .:? "disableApps")+ <*> (o .:? "packageNamesToDisable" .!= mempty)+ <*> (o .:? "nonComplianceDetailCondition"))++instance ToJSON ComplianceRule where+ toJSON ComplianceRule'{..}+ = object+ (catMaybes+ [("apiLevelCondition" .=) <$> _crAPILevelCondition,+ ("disableApps" .=) <$> _crDisableApps,+ ("packageNamesToDisable" .=) <$>+ _crPackageNamesToDisable,+ ("nonComplianceDetailCondition" .=) <$>+ _crNonComplianceDetailCondition])++-- | Requirements for the password used to unlock a device.+--+-- /See:/ 'passwordRequirements' smart constructor.+data PasswordRequirements = PasswordRequirements'+ { _prPasswordMinimumSymbols :: !(Maybe (Textual Int32))+ , _prMaximumFailedPasswordsForWipe :: !(Maybe (Textual Int32))+ , _prPasswordExpirationTimeout :: !(Maybe GDuration)+ , _prPasswordMinimumNonLetter :: !(Maybe (Textual Int32))+ , _prPasswordHistoryLength :: !(Maybe (Textual Int32))+ , _prPasswordMinimumLetters :: !(Maybe (Textual Int32))+ , _prPasswordMinimumUpperCase :: !(Maybe (Textual Int32))+ , _prPasswordMinimumNumeric :: !(Maybe (Textual Int32))+ , _prPasswordQuality :: !(Maybe PasswordRequirementsPasswordQuality)+ , _prPasswordMinimumLength :: !(Maybe (Textual Int32))+ , _prPasswordScope :: !(Maybe PasswordRequirementsPasswordScope)+ , _prPasswordMinimumLowerCase :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PasswordRequirements' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prPasswordMinimumSymbols'+--+-- * 'prMaximumFailedPasswordsForWipe'+--+-- * 'prPasswordExpirationTimeout'+--+-- * 'prPasswordMinimumNonLetter'+--+-- * 'prPasswordHistoryLength'+--+-- * 'prPasswordMinimumLetters'+--+-- * 'prPasswordMinimumUpperCase'+--+-- * 'prPasswordMinimumNumeric'+--+-- * 'prPasswordQuality'+--+-- * 'prPasswordMinimumLength'+--+-- * 'prPasswordScope'+--+-- * 'prPasswordMinimumLowerCase'+passwordRequirements+ :: PasswordRequirements+passwordRequirements =+ PasswordRequirements'+ { _prPasswordMinimumSymbols = Nothing+ , _prMaximumFailedPasswordsForWipe = Nothing+ , _prPasswordExpirationTimeout = Nothing+ , _prPasswordMinimumNonLetter = Nothing+ , _prPasswordHistoryLength = Nothing+ , _prPasswordMinimumLetters = Nothing+ , _prPasswordMinimumUpperCase = Nothing+ , _prPasswordMinimumNumeric = Nothing+ , _prPasswordQuality = Nothing+ , _prPasswordMinimumLength = Nothing+ , _prPasswordScope = Nothing+ , _prPasswordMinimumLowerCase = Nothing+ }++-- | Minimum number of symbols required in the password. Only enforced when+-- password_quality is COMPLEX.+prPasswordMinimumSymbols :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumSymbols+ = lens _prPasswordMinimumSymbols+ (\ s a -> s{_prPasswordMinimumSymbols = a})+ . mapping _Coerce++-- | Number of incorrect device-unlock passwords that can be entered before a+-- device is wiped. A value of 0 means there is no restriction.+prMaximumFailedPasswordsForWipe :: Lens' PasswordRequirements (Maybe Int32)+prMaximumFailedPasswordsForWipe+ = lens _prMaximumFailedPasswordsForWipe+ (\ s a -> s{_prMaximumFailedPasswordsForWipe = a})+ . mapping _Coerce++-- | Password expiration timeout.+prPasswordExpirationTimeout :: Lens' PasswordRequirements (Maybe Scientific)+prPasswordExpirationTimeout+ = lens _prPasswordExpirationTimeout+ (\ s a -> s{_prPasswordExpirationTimeout = a})+ . mapping _GDuration++-- | Minimum number of non-letter characters (numerical digits or symbols)+-- required in the password. Only enforced when password_quality is+-- COMPLEX.+prPasswordMinimumNonLetter :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumNonLetter+ = lens _prPasswordMinimumNonLetter+ (\ s a -> s{_prPasswordMinimumNonLetter = a})+ . mapping _Coerce++-- | The length of the password history. After setting this field, the user+-- won\'t be able to enter a new password that is the same as any password+-- in the history. A value of 0 means there is no restriction.+prPasswordHistoryLength :: Lens' PasswordRequirements (Maybe Int32)+prPasswordHistoryLength+ = lens _prPasswordHistoryLength+ (\ s a -> s{_prPasswordHistoryLength = a})+ . mapping _Coerce++-- | Minimum number of letters required in the password. Only enforced when+-- password_quality is COMPLEX.+prPasswordMinimumLetters :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumLetters+ = lens _prPasswordMinimumLetters+ (\ s a -> s{_prPasswordMinimumLetters = a})+ . mapping _Coerce++-- | Minimum number of upper case letters required in the password. Only+-- enforced when password_quality is COMPLEX.+prPasswordMinimumUpperCase :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumUpperCase+ = lens _prPasswordMinimumUpperCase+ (\ s a -> s{_prPasswordMinimumUpperCase = a})+ . mapping _Coerce++-- | Minimum number of numerical digits required in the password. Only+-- enforced when password_quality is COMPLEX.+prPasswordMinimumNumeric :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumNumeric+ = lens _prPasswordMinimumNumeric+ (\ s a -> s{_prPasswordMinimumNumeric = a})+ . mapping _Coerce++-- | The required password quality.+prPasswordQuality :: Lens' PasswordRequirements (Maybe PasswordRequirementsPasswordQuality)+prPasswordQuality+ = lens _prPasswordQuality+ (\ s a -> s{_prPasswordQuality = a})++-- | The minimum allowed password length. A value of 0 means there is no+-- restriction. Only enforced when password_quality is NUMERIC,+-- NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX.+prPasswordMinimumLength :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumLength+ = lens _prPasswordMinimumLength+ (\ s a -> s{_prPasswordMinimumLength = a})+ . mapping _Coerce++-- | The scope that the password requirement applies to.+prPasswordScope :: Lens' PasswordRequirements (Maybe PasswordRequirementsPasswordScope)+prPasswordScope+ = lens _prPasswordScope+ (\ s a -> s{_prPasswordScope = a})++-- | Minimum number of lower case letters required in the password. Only+-- enforced when password_quality is COMPLEX.+prPasswordMinimumLowerCase :: Lens' PasswordRequirements (Maybe Int32)+prPasswordMinimumLowerCase+ = lens _prPasswordMinimumLowerCase+ (\ s a -> s{_prPasswordMinimumLowerCase = a})+ . mapping _Coerce++instance FromJSON PasswordRequirements where+ parseJSON+ = withObject "PasswordRequirements"+ (\ o ->+ PasswordRequirements' <$>+ (o .:? "passwordMinimumSymbols") <*>+ (o .:? "maximumFailedPasswordsForWipe")+ <*> (o .:? "passwordExpirationTimeout")+ <*> (o .:? "passwordMinimumNonLetter")+ <*> (o .:? "passwordHistoryLength")+ <*> (o .:? "passwordMinimumLetters")+ <*> (o .:? "passwordMinimumUpperCase")+ <*> (o .:? "passwordMinimumNumeric")+ <*> (o .:? "passwordQuality")+ <*> (o .:? "passwordMinimumLength")+ <*> (o .:? "passwordScope")+ <*> (o .:? "passwordMinimumLowerCase"))++instance ToJSON PasswordRequirements where+ toJSON PasswordRequirements'{..}+ = object+ (catMaybes+ [("passwordMinimumSymbols" .=) <$>+ _prPasswordMinimumSymbols,+ ("maximumFailedPasswordsForWipe" .=) <$>+ _prMaximumFailedPasswordsForWipe,+ ("passwordExpirationTimeout" .=) <$>+ _prPasswordExpirationTimeout,+ ("passwordMinimumNonLetter" .=) <$>+ _prPasswordMinimumNonLetter,+ ("passwordHistoryLength" .=) <$>+ _prPasswordHistoryLength,+ ("passwordMinimumLetters" .=) <$>+ _prPasswordMinimumLetters,+ ("passwordMinimumUpperCase" .=) <$>+ _prPasswordMinimumUpperCase,+ ("passwordMinimumNumeric" .=) <$>+ _prPasswordMinimumNumeric,+ ("passwordQuality" .=) <$> _prPasswordQuality,+ ("passwordMinimumLength" .=) <$>+ _prPasswordMinimumLength,+ ("passwordScope" .=) <$> _prPasswordScope,+ ("passwordMinimumLowerCase" .=) <$>+ _prPasswordMinimumLowerCase])++-- | Provides detail about non-compliance with a policy setting.+--+-- /See:/ 'nonComplianceDetail' smart constructor.+data NonComplianceDetail = NonComplianceDetail'+ { _ncdFieldPath :: !(Maybe Text)+ , _ncdPackageName :: !(Maybe Text)+ , _ncdInstallationFailureReason :: !(Maybe NonComplianceDetailInstallationFailureReason)+ , _ncdNonComplianceReason :: !(Maybe NonComplianceDetailNonComplianceReason)+ , _ncdSettingName :: !(Maybe Text)+ , _ncdCurrentValue :: !(Maybe JSONValue)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NonComplianceDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncdFieldPath'+--+-- * 'ncdPackageName'+--+-- * 'ncdInstallationFailureReason'+--+-- * 'ncdNonComplianceReason'+--+-- * 'ncdSettingName'+--+-- * 'ncdCurrentValue'+nonComplianceDetail+ :: NonComplianceDetail+nonComplianceDetail =+ NonComplianceDetail'+ { _ncdFieldPath = Nothing+ , _ncdPackageName = Nothing+ , _ncdInstallationFailureReason = Nothing+ , _ncdNonComplianceReason = Nothing+ , _ncdSettingName = Nothing+ , _ncdCurrentValue = Nothing+ }++-- | For settings with nested fields, if a particular nested field is out of+-- compliance, this specifies the full path to the offending field. The+-- path is formatted in the same way the policy JSON field would be+-- referenced in JavaScript, that is: 1) For object-typed fields, the field+-- name is followed by a dot then by a subfield name. 2) For array-typed+-- fields, the field name is followed by the array index enclosed in+-- brackets. For example, to indicate a problem with the url field in the+-- externalData field in the 3rd application, the path would be+-- applications[2].externalData.url+ncdFieldPath :: Lens' NonComplianceDetail (Maybe Text)+ncdFieldPath+ = lens _ncdFieldPath (\ s a -> s{_ncdFieldPath = a})++-- | The package name indicating which app is out of compliance, if+-- applicable.+ncdPackageName :: Lens' NonComplianceDetail (Maybe Text)+ncdPackageName+ = lens _ncdPackageName+ (\ s a -> s{_ncdPackageName = a})++-- | If package_name is set and the non-compliance reason is+-- APP_NOT_INSTALLED or APP_NOT_UPDATED, the detailed reason the app can\'t+-- be installed or updated.+ncdInstallationFailureReason :: Lens' NonComplianceDetail (Maybe NonComplianceDetailInstallationFailureReason)+ncdInstallationFailureReason+ = lens _ncdInstallationFailureReason+ (\ s a -> s{_ncdInstallationFailureReason = a})++-- | The reason the device is not in compliance with the setting.+ncdNonComplianceReason :: Lens' NonComplianceDetail (Maybe NonComplianceDetailNonComplianceReason)+ncdNonComplianceReason+ = lens _ncdNonComplianceReason+ (\ s a -> s{_ncdNonComplianceReason = a})++-- | The name of the policy setting. This is the JSON field name of a+-- top-level Policy field.+ncdSettingName :: Lens' NonComplianceDetail (Maybe Text)+ncdSettingName+ = lens _ncdSettingName+ (\ s a -> s{_ncdSettingName = a})++-- | If the policy setting could not be applied, the current value of the+-- setting on the device.+ncdCurrentValue :: Lens' NonComplianceDetail (Maybe JSONValue)+ncdCurrentValue+ = lens _ncdCurrentValue+ (\ s a -> s{_ncdCurrentValue = a})++instance FromJSON NonComplianceDetail where+ parseJSON+ = withObject "NonComplianceDetail"+ (\ o ->+ NonComplianceDetail' <$>+ (o .:? "fieldPath") <*> (o .:? "packageName") <*>+ (o .:? "installationFailureReason")+ <*> (o .:? "nonComplianceReason")+ <*> (o .:? "settingName")+ <*> (o .:? "currentValue"))++instance ToJSON NonComplianceDetail where+ toJSON NonComplianceDetail'{..}+ = object+ (catMaybes+ [("fieldPath" .=) <$> _ncdFieldPath,+ ("packageName" .=) <$> _ncdPackageName,+ ("installationFailureReason" .=) <$>+ _ncdInstallationFailureReason,+ ("nonComplianceReason" .=) <$>+ _ncdNonComplianceReason,+ ("settingName" .=) <$> _ncdSettingName,+ ("currentValue" .=) <$> _ncdCurrentValue])++-- | An app-related event.+--+-- /See:/ 'applicationEvent' smart constructor.+data ApplicationEvent = ApplicationEvent'+ { _aeEventType :: !(Maybe ApplicationEventEventType)+ , _aeCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApplicationEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aeEventType'+--+-- * 'aeCreateTime'+applicationEvent+ :: ApplicationEvent+applicationEvent =+ ApplicationEvent'+ { _aeEventType = Nothing+ , _aeCreateTime = Nothing+ }++-- | App event type.+aeEventType :: Lens' ApplicationEvent (Maybe ApplicationEventEventType)+aeEventType+ = lens _aeEventType (\ s a -> s{_aeEventType = a})++-- | The creation time of the event.+aeCreateTime :: Lens' ApplicationEvent (Maybe UTCTime)+aeCreateTime+ = lens _aeCreateTime (\ s a -> s{_aeCreateTime = a})+ . mapping _DateTime++instance FromJSON ApplicationEvent where+ parseJSON+ = withObject "ApplicationEvent"+ (\ o ->+ ApplicationEvent' <$>+ (o .:? "eventType") <*> (o .:? "createTime"))++instance ToJSON ApplicationEvent where+ toJSON ApplicationEvent'{..}+ = object+ (catMaybes+ [("eventType" .=) <$> _aeEventType,+ ("createTime" .=) <$> _aeCreateTime])++-- | A terms and conditions page to be accepted during provisioning.+--+-- /See:/ 'termsAndConditions' smart constructor.+data TermsAndConditions = TermsAndConditions'+ { _tacContent :: !(Maybe UserFacingMessage)+ , _tacHeader :: !(Maybe UserFacingMessage)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TermsAndConditions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tacContent'+--+-- * 'tacHeader'+termsAndConditions+ :: TermsAndConditions+termsAndConditions =+ TermsAndConditions'+ { _tacContent = Nothing+ , _tacHeader = Nothing+ }++-- | A well-formatted HTML string. It will be parsed on the client with+-- android.text.Html#fromHtml.+tacContent :: Lens' TermsAndConditions (Maybe UserFacingMessage)+tacContent+ = lens _tacContent (\ s a -> s{_tacContent = a})++-- | A short header which appears above the HTML content.+tacHeader :: Lens' TermsAndConditions (Maybe UserFacingMessage)+tacHeader+ = lens _tacHeader (\ s a -> s{_tacHeader = a})++instance FromJSON TermsAndConditions where+ parseJSON+ = withObject "TermsAndConditions"+ (\ o ->+ TermsAndConditions' <$>+ (o .:? "content") <*> (o .:? "header"))++instance ToJSON TermsAndConditions where+ toJSON TermsAndConditions'{..}+ = object+ (catMaybes+ [("content" .=) <$> _tacContent,+ ("header" .=) <$> _tacHeader])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as Delete, the response is+-- google.protobuf.Empty. If the original method is standard+-- Get\/Create\/Update, the response should be the resource. For other+-- methods, the response should have the type XxxResponse, where Xxx is the+-- original method name. For example, if the original method name is+-- TakeSnapshot(), the inferred response type is TakeSnapshotResponse.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+ { _orAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+ :: HashMap Text JSONValue -- ^ 'orAddtional'+ -> OperationResponse+operationResponse pOrAddtional_ =+ OperationResponse'+ { _orAddtional = _Coerce # pOrAddtional_+ }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+ = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+ _Coerce++instance FromJSON OperationResponse where+ parseJSON+ = withObject "OperationResponse"+ (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+ toJSON = toJSON . _orAddtional++-- | Provides a user-facing message with locale info. The maximum message+-- length is 4096 characters.+--+-- /See:/ 'userFacingMessage' smart constructor.+data UserFacingMessage = UserFacingMessage'+ { _ufmLocalizedMessages :: !(Maybe UserFacingMessageLocalizedMessages)+ , _ufmDefaultMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserFacingMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufmLocalizedMessages'+--+-- * 'ufmDefaultMessage'+userFacingMessage+ :: UserFacingMessage+userFacingMessage =+ UserFacingMessage'+ { _ufmLocalizedMessages = Nothing+ , _ufmDefaultMessage = Nothing+ }++-- | A map containing pairs, where locale is a well-formed BCP 47 language+-- (https:\/\/www.w3.org\/International\/articles\/language-tags\/) code,+-- such as en-US, es-ES, or fr.+ufmLocalizedMessages :: Lens' UserFacingMessage (Maybe UserFacingMessageLocalizedMessages)+ufmLocalizedMessages+ = lens _ufmLocalizedMessages+ (\ s a -> s{_ufmLocalizedMessages = a})++-- | The default message displayed if no localized message is specified or+-- the user\'s locale doesn\'t match with any of the localized messages. A+-- default message must be provided if any localized messages are provided.+ufmDefaultMessage :: Lens' UserFacingMessage (Maybe Text)+ufmDefaultMessage+ = lens _ufmDefaultMessage+ (\ s a -> s{_ufmDefaultMessage = a})++instance FromJSON UserFacingMessage where+ parseJSON+ = withObject "UserFacingMessage"+ (\ o ->+ UserFacingMessage' <$>+ (o .:? "localizedMessages") <*>+ (o .:? "defaultMessage"))++instance ToJSON UserFacingMessage where+ toJSON UserFacingMessage'{..}+ = object+ (catMaybes+ [("localizedMessages" .=) <$> _ufmLocalizedMessages,+ ("defaultMessage" .=) <$> _ufmDefaultMessage])++-- | Information about device software.+--+-- /See:/ 'softwareInfo' smart constructor.+data SoftwareInfo = SoftwareInfo'+ { _siSecurityPatchLevel :: !(Maybe Text)+ , _siAndroidDevicePolicyVersionName :: !(Maybe Text)+ , _siDeviceKernelVersion :: !(Maybe Text)+ , _siAndroidDevicePolicyVersionCode :: !(Maybe (Textual Int32))+ , _siDeviceBuildSignature :: !(Maybe Text)+ , _siBootLoaderVersion :: !(Maybe Text)+ , _siAndroidBuildTime :: !(Maybe DateTime')+ , _siPrimaryLanguageCode :: !(Maybe Text)+ , _siAndroidBuildNumber :: !(Maybe Text)+ , _siAndroidVersion :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siSecurityPatchLevel'+--+-- * 'siAndroidDevicePolicyVersionName'+--+-- * 'siDeviceKernelVersion'+--+-- * 'siAndroidDevicePolicyVersionCode'+--+-- * 'siDeviceBuildSignature'+--+-- * 'siBootLoaderVersion'+--+-- * 'siAndroidBuildTime'+--+-- * 'siPrimaryLanguageCode'+--+-- * 'siAndroidBuildNumber'+--+-- * 'siAndroidVersion'+softwareInfo+ :: SoftwareInfo+softwareInfo =+ SoftwareInfo'+ { _siSecurityPatchLevel = Nothing+ , _siAndroidDevicePolicyVersionName = Nothing+ , _siDeviceKernelVersion = Nothing+ , _siAndroidDevicePolicyVersionCode = Nothing+ , _siDeviceBuildSignature = Nothing+ , _siBootLoaderVersion = Nothing+ , _siAndroidBuildTime = Nothing+ , _siPrimaryLanguageCode = Nothing+ , _siAndroidBuildNumber = Nothing+ , _siAndroidVersion = Nothing+ }++-- | Security patch level, e.g. 2016-05-01.+siSecurityPatchLevel :: Lens' SoftwareInfo (Maybe Text)+siSecurityPatchLevel+ = lens _siSecurityPatchLevel+ (\ s a -> s{_siSecurityPatchLevel = a})++-- | The Android Device Policy app version as displayed to the user.+siAndroidDevicePolicyVersionName :: Lens' SoftwareInfo (Maybe Text)+siAndroidDevicePolicyVersionName+ = lens _siAndroidDevicePolicyVersionName+ (\ s a -> s{_siAndroidDevicePolicyVersionName = a})++-- | Kernel version, for example, 2.6.32.9-g103d848.+siDeviceKernelVersion :: Lens' SoftwareInfo (Maybe Text)+siDeviceKernelVersion+ = lens _siDeviceKernelVersion+ (\ s a -> s{_siDeviceKernelVersion = a})++-- | The Android Device Policy app version code.+siAndroidDevicePolicyVersionCode :: Lens' SoftwareInfo (Maybe Int32)+siAndroidDevicePolicyVersionCode+ = lens _siAndroidDevicePolicyVersionCode+ (\ s a -> s{_siAndroidDevicePolicyVersionCode = a})+ . mapping _Coerce++-- | SHA-256 hash of android.content.pm.Signature+-- (https:\/\/developer.android.com\/reference\/android\/content\/pm\/Signature.html)+-- associated with the system package, which can be used to verify that the+-- system build hasn\'t been modified.+siDeviceBuildSignature :: Lens' SoftwareInfo (Maybe Text)+siDeviceBuildSignature+ = lens _siDeviceBuildSignature+ (\ s a -> s{_siDeviceBuildSignature = a})++-- | The system bootloader version number, e.g. 0.6.7.+siBootLoaderVersion :: Lens' SoftwareInfo (Maybe Text)+siBootLoaderVersion+ = lens _siBootLoaderVersion+ (\ s a -> s{_siBootLoaderVersion = a})++-- | Build time.+siAndroidBuildTime :: Lens' SoftwareInfo (Maybe UTCTime)+siAndroidBuildTime+ = lens _siAndroidBuildTime+ (\ s a -> s{_siAndroidBuildTime = a})+ . mapping _DateTime++-- | An IETF BCP 47 language code for the primary locale on the device.+siPrimaryLanguageCode :: Lens' SoftwareInfo (Maybe Text)+siPrimaryLanguageCode+ = lens _siPrimaryLanguageCode+ (\ s a -> s{_siPrimaryLanguageCode = a})++-- | Android build ID string meant for displaying to the user. For example,+-- shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.+siAndroidBuildNumber :: Lens' SoftwareInfo (Maybe Text)+siAndroidBuildNumber+ = lens _siAndroidBuildNumber+ (\ s a -> s{_siAndroidBuildNumber = a})++-- | The user-visible Android version string. For example, 6.0.1.+siAndroidVersion :: Lens' SoftwareInfo (Maybe Text)+siAndroidVersion+ = lens _siAndroidVersion+ (\ s a -> s{_siAndroidVersion = a})++instance FromJSON SoftwareInfo where+ parseJSON+ = withObject "SoftwareInfo"+ (\ o ->+ SoftwareInfo' <$>+ (o .:? "securityPatchLevel") <*>+ (o .:? "androidDevicePolicyVersionName")+ <*> (o .:? "deviceKernelVersion")+ <*> (o .:? "androidDevicePolicyVersionCode")+ <*> (o .:? "deviceBuildSignature")+ <*> (o .:? "bootloaderVersion")+ <*> (o .:? "androidBuildTime")+ <*> (o .:? "primaryLanguageCode")+ <*> (o .:? "androidBuildNumber")+ <*> (o .:? "androidVersion"))++instance ToJSON SoftwareInfo where+ toJSON SoftwareInfo'{..}+ = object+ (catMaybes+ [("securityPatchLevel" .=) <$> _siSecurityPatchLevel,+ ("androidDevicePolicyVersionName" .=) <$>+ _siAndroidDevicePolicyVersionName,+ ("deviceKernelVersion" .=) <$>+ _siDeviceKernelVersion,+ ("androidDevicePolicyVersionCode" .=) <$>+ _siAndroidDevicePolicyVersionCode,+ ("deviceBuildSignature" .=) <$>+ _siDeviceBuildSignature,+ ("bootloaderVersion" .=) <$> _siBootLoaderVersion,+ ("androidBuildTime" .=) <$> _siAndroidBuildTime,+ ("primaryLanguageCode" .=) <$>+ _siPrimaryLanguageCode,+ ("androidBuildNumber" .=) <$> _siAndroidBuildNumber,+ ("androidVersion" .=) <$> _siAndroidVersion])++-- | A permission required by the app.+--+-- /See:/ 'applicationPermission' smart constructor.+data ApplicationPermission = ApplicationPermission'+ { _apName :: !(Maybe Text)+ , _apDescription :: !(Maybe Text)+ , _apPermissionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApplicationPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apName'+--+-- * 'apDescription'+--+-- * 'apPermissionId'+applicationPermission+ :: ApplicationPermission+applicationPermission =+ ApplicationPermission'+ { _apName = Nothing+ , _apDescription = Nothing+ , _apPermissionId = Nothing+ }++-- | The name of the permission. Localized.+apName :: Lens' ApplicationPermission (Maybe Text)+apName = lens _apName (\ s a -> s{_apName = a})++-- | A longer description of the permission, providing more detail on what it+-- affects. Localized.+apDescription :: Lens' ApplicationPermission (Maybe Text)+apDescription+ = lens _apDescription+ (\ s a -> s{_apDescription = a})++-- | An opaque string uniquely identifying the permission. Not localized.+apPermissionId :: Lens' ApplicationPermission (Maybe Text)+apPermissionId+ = lens _apPermissionId+ (\ s a -> s{_apPermissionId = a})++instance FromJSON ApplicationPermission where+ parseJSON+ = withObject "ApplicationPermission"+ (\ o ->+ ApplicationPermission' <$>+ (o .:? "name") <*> (o .:? "description") <*>+ (o .:? "permissionId"))++instance ToJSON ApplicationPermission where+ toJSON ApplicationPermission'{..}+ = object+ (catMaybes+ [("name" .=) <$> _apName,+ ("description" .=) <$> _apDescription,+ ("permissionId" .=) <$> _apPermissionId])
+ gen/Network/Google/AndroidManagement/Types/Sum.hs view
@@ -0,0 +1,1392 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.AndroidManagement.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.AndroidManagement.Types.Sum where++import Network.Google.Prelude hiding (Bytes)++-- | Event type.+data PowerManagementEventEventType+ = PowerManagementEventTypeUnspecified+ -- ^ @POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED@+ -- Unspecified. No events have this type.+ | BatteryLevelCollected+ -- ^ @BATTERY_LEVEL_COLLECTED@+ -- Battery level was measured.+ | PowerConnected+ -- ^ @POWER_CONNECTED@+ -- The device started charging.+ | PowerDisconnected+ -- ^ @POWER_DISCONNECTED@+ -- The device stopped charging.+ | BatteryLow+ -- ^ @BATTERY_LOW@+ -- The device entered low-power mode.+ | BatteryOkay+ -- ^ @BATTERY_OKAY@+ -- The device exited low-power mode.+ | BootCompleted+ -- ^ @BOOT_COMPLETED@+ -- The device booted.+ | Shutdown+ -- ^ @SHUTDOWN@+ -- The device shut down.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PowerManagementEventEventType++instance FromHttpApiData PowerManagementEventEventType where+ parseQueryParam = \case+ "POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED" -> Right PowerManagementEventTypeUnspecified+ "BATTERY_LEVEL_COLLECTED" -> Right BatteryLevelCollected+ "POWER_CONNECTED" -> Right PowerConnected+ "POWER_DISCONNECTED" -> Right PowerDisconnected+ "BATTERY_LOW" -> Right BatteryLow+ "BATTERY_OKAY" -> Right BatteryOkay+ "BOOT_COMPLETED" -> Right BootCompleted+ "SHUTDOWN" -> Right Shutdown+ x -> Left ("Unable to parse PowerManagementEventEventType from: " <> x)++instance ToHttpApiData PowerManagementEventEventType where+ toQueryParam = \case+ PowerManagementEventTypeUnspecified -> "POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED"+ BatteryLevelCollected -> "BATTERY_LEVEL_COLLECTED"+ PowerConnected -> "POWER_CONNECTED"+ PowerDisconnected -> "POWER_DISCONNECTED"+ BatteryLow -> "BATTERY_LOW"+ BatteryOkay -> "BATTERY_OKAY"+ BootCompleted -> "BOOT_COMPLETED"+ Shutdown -> "SHUTDOWN"++instance FromJSON PowerManagementEventEventType where+ parseJSON = parseJSONText "PowerManagementEventEventType"++instance ToJSON PowerManagementEventEventType where+ toJSON = toJSONText++-- | The type of system update to configure.+data SystemUpdateType+ = SystemUpdateTypeUnspecified+ -- ^ @SYSTEM_UPDATE_TYPE_UNSPECIFIED@+ -- Follow the default update behavior for the device, which typically+ -- requires the user to accept system updates.+ | Automatic+ -- ^ @AUTOMATIC@+ -- Install automatically as soon as an update is available.+ | Windowed+ -- ^ @WINDOWED@+ -- Install automatically within a daily maintenance window. This also+ -- configures Play apps to be updated within the window. This is strongly+ -- recommended for kiosk devices because this is the only way apps+ -- persistently pinned to the foreground can be updated by Play.+ | Postpone+ -- ^ @POSTPONE@+ -- Postpone automatic install up to a maximum of 30 days.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SystemUpdateType++instance FromHttpApiData SystemUpdateType where+ parseQueryParam = \case+ "SYSTEM_UPDATE_TYPE_UNSPECIFIED" -> Right SystemUpdateTypeUnspecified+ "AUTOMATIC" -> Right Automatic+ "WINDOWED" -> Right Windowed+ "POSTPONE" -> Right Postpone+ x -> Left ("Unable to parse SystemUpdateType from: " <> x)++instance ToHttpApiData SystemUpdateType where+ toQueryParam = \case+ SystemUpdateTypeUnspecified -> "SYSTEM_UPDATE_TYPE_UNSPECIFIED"+ Automatic -> "AUTOMATIC"+ Windowed -> "WINDOWED"+ Postpone -> "POSTPONE"++instance FromJSON SystemUpdateType where+ parseJSON = parseJSONText "SystemUpdateType"++instance ToJSON SystemUpdateType where+ toJSON = toJSONText++-- | The state to be applied to the device. This field can be modified by a+-- patch request. Note that when calling enterprises.devices.patch, ACTIVE+-- and DISABLED are the only allowable values. To enter the device into a+-- DELETED state, call enterprises.devices.delete.+data DeviceState+ = DeviceStateUnspecified+ -- ^ @DEVICE_STATE_UNSPECIFIED@+ -- This value is disallowed.+ | Active+ -- ^ @ACTIVE@+ -- The device is active.+ | Disabled+ -- ^ @DISABLED@+ -- The device is disabled.+ | Deleted+ -- ^ @DELETED@+ -- The device was deleted. This state will never be returned by an API+ -- call, but is used in the final status report published to Cloud Pub\/Sub+ -- when the device acknowledges the deletion.+ | Provisioning+ -- ^ @PROVISIONING@+ -- The device is being provisioned. Newly enrolled devices are in this+ -- state until they have a policy applied.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeviceState++instance FromHttpApiData DeviceState where+ parseQueryParam = \case+ "DEVICE_STATE_UNSPECIFIED" -> Right DeviceStateUnspecified+ "ACTIVE" -> Right Active+ "DISABLED" -> Right Disabled+ "DELETED" -> Right Deleted+ "PROVISIONING" -> Right Provisioning+ x -> Left ("Unable to parse DeviceState from: " <> x)++instance ToHttpApiData DeviceState where+ toQueryParam = \case+ DeviceStateUnspecified -> "DEVICE_STATE_UNSPECIFIED"+ Active -> "ACTIVE"+ Disabled -> "DISABLED"+ Deleted -> "DELETED"+ Provisioning -> "PROVISIONING"++instance FromJSON DeviceState where+ parseJSON = parseJSONText "DeviceState"++instance ToJSON DeviceState where+ toJSON = toJSONText++-- | If the command failed, an error code explaining the failure. This is not+-- set when the command is cancelled by the caller.+data CommandErrorCode+ = CommandErrorCodeUnspecified+ -- ^ @COMMAND_ERROR_CODE_UNSPECIFIED@+ -- There was no error.+ | Unknown+ -- ^ @UNKNOWN@+ -- An unknown error occurred.+ | APILevel+ -- ^ @API_LEVEL@+ -- The API level of the device does not support this command.+ | ManagementMode+ -- ^ @MANAGEMENT_MODE@+ -- The management mode (profile owner, device owner, etc.) does not support+ -- the command.+ | InvalidValue+ -- ^ @INVALID_VALUE@+ -- The command has an invalid parameter value.+ | Unsupported+ -- ^ @UNSUPPORTED@+ -- The device doesn\'t support the command. Updating Android Device Policy+ -- to the latest version may resolve the issue.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CommandErrorCode++instance FromHttpApiData CommandErrorCode where+ parseQueryParam = \case+ "COMMAND_ERROR_CODE_UNSPECIFIED" -> Right CommandErrorCodeUnspecified+ "UNKNOWN" -> Right Unknown+ "API_LEVEL" -> Right APILevel+ "MANAGEMENT_MODE" -> Right ManagementMode+ "INVALID_VALUE" -> Right InvalidValue+ "UNSUPPORTED" -> Right Unsupported+ x -> Left ("Unable to parse CommandErrorCode from: " <> x)++instance ToHttpApiData CommandErrorCode where+ toQueryParam = \case+ CommandErrorCodeUnspecified -> "COMMAND_ERROR_CODE_UNSPECIFIED"+ Unknown -> "UNKNOWN"+ APILevel -> "API_LEVEL"+ ManagementMode -> "MANAGEMENT_MODE"+ InvalidValue -> "INVALID_VALUE"+ Unsupported -> "UNSUPPORTED"++instance FromJSON CommandErrorCode where+ parseJSON = parseJSONText "CommandErrorCode"++instance ToJSON CommandErrorCode where+ toJSON = toJSONText++-- | The policy for granting the permission.+data PermissionGrantPolicy+ = PermissionPolicyUnspecified+ -- ^ @PERMISSION_POLICY_UNSPECIFIED@+ -- Policy not specified. If no policy is specified for a permission at any+ -- level, then the PROMPT behavior is used by default.+ | Prompt+ -- ^ @PROMPT@+ -- Prompt the user to grant a permission.+ | Grant+ -- ^ @GRANT@+ -- Automatically grant a permission.+ | Deny+ -- ^ @DENY@+ -- Automatically deny a permission.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PermissionGrantPolicy++instance FromHttpApiData PermissionGrantPolicy where+ parseQueryParam = \case+ "PERMISSION_POLICY_UNSPECIFIED" -> Right PermissionPolicyUnspecified+ "PROMPT" -> Right Prompt+ "GRANT" -> Right Grant+ "DENY" -> Right Deny+ x -> Left ("Unable to parse PermissionGrantPolicy from: " <> x)++instance ToHttpApiData PermissionGrantPolicy where+ toQueryParam = \case+ PermissionPolicyUnspecified -> "PERMISSION_POLICY_UNSPECIFIED"+ Prompt -> "PROMPT"+ Grant -> "GRANT"+ Deny -> "DENY"++instance FromJSON PermissionGrantPolicy where+ parseJSON = parseJSONText "PermissionGrantPolicy"++instance ToJSON PermissionGrantPolicy where+ toJSON = toJSONText++-- | State of the display.+data DisplayState+ = DisplayStateUnspecified+ -- ^ @DISPLAY_STATE_UNSPECIFIED@+ -- This value is disallowed.+ | Off+ -- ^ @OFF@+ -- Display is off.+ | ON+ -- ^ @ON@+ -- Display is on.+ | Doze+ -- ^ @DOZE@+ -- Display is dozing in a low power state+ | Suspended+ -- ^ @SUSPENDED@+ -- Display is dozing in a suspended low power state.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DisplayState++instance FromHttpApiData DisplayState where+ parseQueryParam = \case+ "DISPLAY_STATE_UNSPECIFIED" -> Right DisplayStateUnspecified+ "OFF" -> Right Off+ "ON" -> Right ON+ "DOZE" -> Right Doze+ "SUSPENDED" -> Right Suspended+ x -> Left ("Unable to parse DisplayState from: " <> x)++instance ToHttpApiData DisplayState where+ toQueryParam = \case+ DisplayStateUnspecified -> "DISPLAY_STATE_UNSPECIFIED"+ Off -> "OFF"+ ON -> "ON"+ Doze -> "DOZE"+ Suspended -> "SUSPENDED"++instance FromJSON DisplayState where+ parseJSON = parseJSONText "DisplayState"++instance ToJSON DisplayState where+ toJSON = toJSONText++-- | This mode controls which apps are available to the user in the Play+-- Store and the behavior on the device when apps are removed from the+-- policy.+data PolicyPlayStoreMode+ = PlayStoreModeUnspecified+ -- ^ @PLAY_STORE_MODE_UNSPECIFIED@+ -- Unspecified. Defaults to WHITELIST.+ | WhiteList+ -- ^ @WHITELIST@+ -- Only apps that are in the policy are available and any app not in the+ -- policy will be automatically uninstalled from the device.+ | BlackList+ -- ^ @BLACKLIST@+ -- All apps are available and any app that should not be on the device+ -- should be explicitly markeds as \'BLOCKED\' in the applications policy.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PolicyPlayStoreMode++instance FromHttpApiData PolicyPlayStoreMode where+ parseQueryParam = \case+ "PLAY_STORE_MODE_UNSPECIFIED" -> Right PlayStoreModeUnspecified+ "WHITELIST" -> Right WhiteList+ "BLACKLIST" -> Right BlackList+ x -> Left ("Unable to parse PolicyPlayStoreMode from: " <> x)++instance ToHttpApiData PolicyPlayStoreMode where+ toQueryParam = \case+ PlayStoreModeUnspecified -> "PLAY_STORE_MODE_UNSPECIFIED"+ WhiteList -> "WHITELIST"+ BlackList -> "BLACKLIST"++instance FromJSON PolicyPlayStoreMode where+ parseJSON = parseJSONText "PolicyPlayStoreMode"++instance ToJSON PolicyPlayStoreMode where+ toJSON = toJSONText++-- | The type of management mode Android Device Policy takes on the device.+-- This influences which policy settings are supported.+data DeviceManagementMode+ = ManagementModeUnspecified+ -- ^ @MANAGEMENT_MODE_UNSPECIFIED@+ -- This value is disallowed.+ | DeviceOwner+ -- ^ @DEVICE_OWNER@+ -- Device owner. Android Device Policy has full control over the device.+ | ProFileOwner+ -- ^ @PROFILE_OWNER@+ -- Profile owner. Android Device Policy has control over a managed profile+ -- on the device.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeviceManagementMode++instance FromHttpApiData DeviceManagementMode where+ parseQueryParam = \case+ "MANAGEMENT_MODE_UNSPECIFIED" -> Right ManagementModeUnspecified+ "DEVICE_OWNER" -> Right DeviceOwner+ "PROFILE_OWNER" -> Right ProFileOwner+ x -> Left ("Unable to parse DeviceManagementMode from: " <> x)++instance ToHttpApiData DeviceManagementMode where+ toQueryParam = \case+ ManagementModeUnspecified -> "MANAGEMENT_MODE_UNSPECIFIED"+ DeviceOwner -> "DEVICE_OWNER"+ ProFileOwner -> "PROFILE_OWNER"++instance FromJSON DeviceManagementMode where+ parseJSON = parseJSONText "DeviceManagementMode"++instance ToJSON DeviceManagementMode where+ toJSON = toJSONText++-- | The source of the package.+data ApplicationReportApplicationSource+ = ApplicationSourceUnspecified+ -- ^ @APPLICATION_SOURCE_UNSPECIFIED@+ -- The app was sideloaded from an unspecified source.+ | SystemAppFactoryVersion+ -- ^ @SYSTEM_APP_FACTORY_VERSION@+ -- This is a system app from the device\'s factory image.+ | SystemAppUpdatedVersion+ -- ^ @SYSTEM_APP_UPDATED_VERSION@+ -- This is an updated system app.+ | InstalledFromPlayStore+ -- ^ @INSTALLED_FROM_PLAY_STORE@+ -- The app was installed from the Google Play Store.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ApplicationReportApplicationSource++instance FromHttpApiData ApplicationReportApplicationSource where+ parseQueryParam = \case+ "APPLICATION_SOURCE_UNSPECIFIED" -> Right ApplicationSourceUnspecified+ "SYSTEM_APP_FACTORY_VERSION" -> Right SystemAppFactoryVersion+ "SYSTEM_APP_UPDATED_VERSION" -> Right SystemAppUpdatedVersion+ "INSTALLED_FROM_PLAY_STORE" -> Right InstalledFromPlayStore+ x -> Left ("Unable to parse ApplicationReportApplicationSource from: " <> x)++instance ToHttpApiData ApplicationReportApplicationSource where+ toQueryParam = \case+ ApplicationSourceUnspecified -> "APPLICATION_SOURCE_UNSPECIFIED"+ SystemAppFactoryVersion -> "SYSTEM_APP_FACTORY_VERSION"+ SystemAppUpdatedVersion -> "SYSTEM_APP_UPDATED_VERSION"+ InstalledFromPlayStore -> "INSTALLED_FROM_PLAY_STORE"++instance FromJSON ApplicationReportApplicationSource where+ parseJSON = parseJSONText "ApplicationReportApplicationSource"++instance ToJSON ApplicationReportApplicationSource where+ toJSON = toJSONText++-- | The type of installation to perform.+data ApplicationPolicyInstallType+ = InstallTypeUnspecified+ -- ^ @INSTALL_TYPE_UNSPECIFIED@+ -- Unspecified. Defaults to AVAILABLE.+ | Preinstalled+ -- ^ @PREINSTALLED@+ -- The app is automatically installed and can be removed by the user.+ | ForceInstalled+ -- ^ @FORCE_INSTALLED@+ -- The app is automatically installed and can\'t be removed by the user.+ | Blocked+ -- ^ @BLOCKED@+ -- The app is blocked and can\'t be installed. If the app was installed+ -- under a previous policy, it will be uninstalled.+ | Available+ -- ^ @AVAILABLE@+ -- The app is available to install.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ApplicationPolicyInstallType++instance FromHttpApiData ApplicationPolicyInstallType where+ parseQueryParam = \case+ "INSTALL_TYPE_UNSPECIFIED" -> Right InstallTypeUnspecified+ "PREINSTALLED" -> Right Preinstalled+ "FORCE_INSTALLED" -> Right ForceInstalled+ "BLOCKED" -> Right Blocked+ "AVAILABLE" -> Right Available+ x -> Left ("Unable to parse ApplicationPolicyInstallType from: " <> x)++instance ToHttpApiData ApplicationPolicyInstallType where+ toQueryParam = \case+ InstallTypeUnspecified -> "INSTALL_TYPE_UNSPECIFIED"+ Preinstalled -> "PREINSTALLED"+ ForceInstalled -> "FORCE_INSTALLED"+ Blocked -> "BLOCKED"+ Available -> "AVAILABLE"++instance FromJSON ApplicationPolicyInstallType where+ parseJSON = parseJSONText "ApplicationPolicyInstallType"++instance ToJSON ApplicationPolicyInstallType where+ toJSON = toJSONText++-- | If package_name is set and the non-compliance reason is+-- APP_NOT_INSTALLED or APP_NOT_UPDATED, the detailed reason the app can\'t+-- be installed or updated.+data NonComplianceDetailInstallationFailureReason+ = InstallationFailureReasonUnspecified+ -- ^ @INSTALLATION_FAILURE_REASON_UNSPECIFIED@+ -- This value is disallowed.+ | InstallationFailureReasonUnknown+ -- ^ @INSTALLATION_FAILURE_REASON_UNKNOWN@+ -- An unknown condition is preventing the app from being installed. Some+ -- potential reasons are that the device doesn\'t have enough storage, the+ -- device network connection is unreliable, or the installation is taking+ -- longer than expected. The installation will be retried automatically.+ | InProgress+ -- ^ @IN_PROGRESS@+ -- The installation is still in progress.+ | NotFound+ -- ^ @NOT_FOUND@+ -- The app was not found in Play.+ | NotCompatibleWithDevice+ -- ^ @NOT_COMPATIBLE_WITH_DEVICE@+ -- The app is incompatible with the device.+ | NotApproved+ -- ^ @NOT_APPROVED@+ -- The app has not been approved by the admin.+ | PermissionsNotAccepted+ -- ^ @PERMISSIONS_NOT_ACCEPTED@+ -- The app has new permissions that have not been accepted by the admin.+ | NotAvailableInCountry+ -- ^ @NOT_AVAILABLE_IN_COUNTRY@+ -- The app is not available in the user\'s country.+ | NoLicensesRemaining+ -- ^ @NO_LICENSES_REMAINING@+ -- There are no licenses available to assign to the user.+ | NotEnrolled+ -- ^ @NOT_ENROLLED@+ -- The enterprise is no longer enrolled with managed Play or the admin has+ -- not accepted the latest managed Play terms of service.+ | UserInvalid+ -- ^ @USER_INVALID@+ -- The user is no longer valid. The user may have been deleted or disabled.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NonComplianceDetailInstallationFailureReason++instance FromHttpApiData NonComplianceDetailInstallationFailureReason where+ parseQueryParam = \case+ "INSTALLATION_FAILURE_REASON_UNSPECIFIED" -> Right InstallationFailureReasonUnspecified+ "INSTALLATION_FAILURE_REASON_UNKNOWN" -> Right InstallationFailureReasonUnknown+ "IN_PROGRESS" -> Right InProgress+ "NOT_FOUND" -> Right NotFound+ "NOT_COMPATIBLE_WITH_DEVICE" -> Right NotCompatibleWithDevice+ "NOT_APPROVED" -> Right NotApproved+ "PERMISSIONS_NOT_ACCEPTED" -> Right PermissionsNotAccepted+ "NOT_AVAILABLE_IN_COUNTRY" -> Right NotAvailableInCountry+ "NO_LICENSES_REMAINING" -> Right NoLicensesRemaining+ "NOT_ENROLLED" -> Right NotEnrolled+ "USER_INVALID" -> Right UserInvalid+ x -> Left ("Unable to parse NonComplianceDetailInstallationFailureReason from: " <> x)++instance ToHttpApiData NonComplianceDetailInstallationFailureReason where+ toQueryParam = \case+ InstallationFailureReasonUnspecified -> "INSTALLATION_FAILURE_REASON_UNSPECIFIED"+ InstallationFailureReasonUnknown -> "INSTALLATION_FAILURE_REASON_UNKNOWN"+ InProgress -> "IN_PROGRESS"+ NotFound -> "NOT_FOUND"+ NotCompatibleWithDevice -> "NOT_COMPATIBLE_WITH_DEVICE"+ NotApproved -> "NOT_APPROVED"+ PermissionsNotAccepted -> "PERMISSIONS_NOT_ACCEPTED"+ NotAvailableInCountry -> "NOT_AVAILABLE_IN_COUNTRY"+ NoLicensesRemaining -> "NO_LICENSES_REMAINING"+ NotEnrolled -> "NOT_ENROLLED"+ UserInvalid -> "USER_INVALID"++instance FromJSON NonComplianceDetailInstallationFailureReason where+ parseJSON = parseJSONText "NonComplianceDetailInstallationFailureReason"++instance ToJSON NonComplianceDetailInstallationFailureReason where+ toJSON = toJSONText++-- | The scope that the password requirement applies to.+data PasswordRequirementsPasswordScope+ = ScopeUnspecified+ -- ^ @SCOPE_UNSPECIFIED@+ -- The scope is unspecified. The password requirements are applied to the+ -- work profile for work profile devices and the whole device for fully+ -- managed or dedicated devices.+ | ScopeDevice+ -- ^ @SCOPE_DEVICE@+ -- The password requirements are only applied to the device.+ | ScopeProFile+ -- ^ @SCOPE_PROFILE@+ -- The password requirements are only applied to the work profile.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PasswordRequirementsPasswordScope++instance FromHttpApiData PasswordRequirementsPasswordScope where+ parseQueryParam = \case+ "SCOPE_UNSPECIFIED" -> Right ScopeUnspecified+ "SCOPE_DEVICE" -> Right ScopeDevice+ "SCOPE_PROFILE" -> Right ScopeProFile+ x -> Left ("Unable to parse PasswordRequirementsPasswordScope from: " <> x)++instance ToHttpApiData PasswordRequirementsPasswordScope where+ toQueryParam = \case+ ScopeUnspecified -> "SCOPE_UNSPECIFIED"+ ScopeDevice -> "SCOPE_DEVICE"+ ScopeProFile -> "SCOPE_PROFILE"++instance FromJSON PasswordRequirementsPasswordScope where+ parseJSON = parseJSONText "PasswordRequirementsPasswordScope"++instance ToJSON PasswordRequirementsPasswordScope where+ toJSON = toJSONText++-- | Encryption status from DevicePolicyManager.+data DeviceSettingsEncryptionStatus+ = DSESEncryptionStatusUnspecified+ -- ^ @ENCRYPTION_STATUS_UNSPECIFIED@+ -- Unspecified. No device should have this type.+ | DSESUnsupported+ -- ^ @UNSUPPORTED@+ -- Encryption is not supported by the device.+ | DSESInactive+ -- ^ @INACTIVE@+ -- Encryption is supported by the device, but is not currently active.+ | DSESActivating+ -- ^ @ACTIVATING@+ -- Encryption is not currently active, but is currently being activated.+ | DSESActive+ -- ^ @ACTIVE@+ -- Encryption is active.+ | DSESActiveDefaultKey+ -- ^ @ACTIVE_DEFAULT_KEY@+ -- Encryption is active, but an encryption key is not set by the user.+ | DSESActivePerUser+ -- ^ @ACTIVE_PER_USER@+ -- Encryption is active, and the encryption key is tied to the user+ -- profile.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeviceSettingsEncryptionStatus++instance FromHttpApiData DeviceSettingsEncryptionStatus where+ parseQueryParam = \case+ "ENCRYPTION_STATUS_UNSPECIFIED" -> Right DSESEncryptionStatusUnspecified+ "UNSUPPORTED" -> Right DSESUnsupported+ "INACTIVE" -> Right DSESInactive+ "ACTIVATING" -> Right DSESActivating+ "ACTIVE" -> Right DSESActive+ "ACTIVE_DEFAULT_KEY" -> Right DSESActiveDefaultKey+ "ACTIVE_PER_USER" -> Right DSESActivePerUser+ x -> Left ("Unable to parse DeviceSettingsEncryptionStatus from: " <> x)++instance ToHttpApiData DeviceSettingsEncryptionStatus where+ toQueryParam = \case+ DSESEncryptionStatusUnspecified -> "ENCRYPTION_STATUS_UNSPECIFIED"+ DSESUnsupported -> "UNSUPPORTED"+ DSESInactive -> "INACTIVE"+ DSESActivating -> "ACTIVATING"+ DSESActive -> "ACTIVE"+ DSESActiveDefaultKey -> "ACTIVE_DEFAULT_KEY"+ DSESActivePerUser -> "ACTIVE_PER_USER"++instance FromJSON DeviceSettingsEncryptionStatus where+ parseJSON = parseJSONText "DeviceSettingsEncryptionStatus"++instance ToJSON DeviceSettingsEncryptionStatus where+ toJSON = toJSONText++-- | The degree of location detection enabled. The user may change the value+-- unless the user is otherwise blocked from accessing device settings.+data PolicyLocationMode+ = PLMLocationModeUnspecified+ -- ^ @LOCATION_MODE_UNSPECIFIED@+ -- The current device value is not modified.+ | PLMHighAccuracy+ -- ^ @HIGH_ACCURACY@+ -- All location detection methods are enabled, including GPS, networks, and+ -- other sensors.+ | PLMSensorsOnly+ -- ^ @SENSORS_ONLY@+ -- Only GPS and other sensors are enabled.+ | PLMBatterySaving+ -- ^ @BATTERY_SAVING@+ -- Only the network location provider is enabled.+ | PLMOff+ -- ^ @OFF@+ -- Location detection is disabled.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PolicyLocationMode++instance FromHttpApiData PolicyLocationMode where+ parseQueryParam = \case+ "LOCATION_MODE_UNSPECIFIED" -> Right PLMLocationModeUnspecified+ "HIGH_ACCURACY" -> Right PLMHighAccuracy+ "SENSORS_ONLY" -> Right PLMSensorsOnly+ "BATTERY_SAVING" -> Right PLMBatterySaving+ "OFF" -> Right PLMOff+ x -> Left ("Unable to parse PolicyLocationMode from: " <> x)++instance ToHttpApiData PolicyLocationMode where+ toQueryParam = \case+ PLMLocationModeUnspecified -> "LOCATION_MODE_UNSPECIFIED"+ PLMHighAccuracy -> "HIGH_ACCURACY"+ PLMSensorsOnly -> "SENSORS_ONLY"+ PLMBatterySaving -> "BATTERY_SAVING"+ PLMOff -> "OFF"++instance FromJSON PolicyLocationMode where+ parseJSON = parseJSONText "PolicyLocationMode"++instance ToJSON PolicyLocationMode where+ toJSON = toJSONText++-- | The app auto update policy, which controls when automatic app updates+-- can be applied.+data PolicyAppAutoUpdatePolicy+ = AppAutoUpdatePolicyUnspecified+ -- ^ @APP_AUTO_UPDATE_POLICY_UNSPECIFIED@+ -- The auto-update policy is not set. Equivalent to CHOICE_TO_THE_USER.+ | ChoiceToTheUser+ -- ^ @CHOICE_TO_THE_USER@+ -- The user can control auto-updates.+ | Never+ -- ^ @NEVER@+ -- Apps are never auto-updated.+ | WifiOnly+ -- ^ @WIFI_ONLY@+ -- Apps are auto-updated over Wi-Fi only.+ | Always+ -- ^ @ALWAYS@+ -- Apps are auto-updated at any time. Data charges may apply.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PolicyAppAutoUpdatePolicy++instance FromHttpApiData PolicyAppAutoUpdatePolicy where+ parseQueryParam = \case+ "APP_AUTO_UPDATE_POLICY_UNSPECIFIED" -> Right AppAutoUpdatePolicyUnspecified+ "CHOICE_TO_THE_USER" -> Right ChoiceToTheUser+ "NEVER" -> Right Never+ "WIFI_ONLY" -> Right WifiOnly+ "ALWAYS" -> Right Always+ x -> Left ("Unable to parse PolicyAppAutoUpdatePolicy from: " <> x)++instance ToHttpApiData PolicyAppAutoUpdatePolicy where+ toQueryParam = \case+ AppAutoUpdatePolicyUnspecified -> "APP_AUTO_UPDATE_POLICY_UNSPECIFIED"+ ChoiceToTheUser -> "CHOICE_TO_THE_USER"+ Never -> "NEVER"+ WifiOnly -> "WIFI_ONLY"+ Always -> "ALWAYS"++instance FromJSON PolicyAppAutoUpdatePolicy where+ parseJSON = parseJSONText "PolicyAppAutoUpdatePolicy"++instance ToJSON PolicyAppAutoUpdatePolicy where+ toJSON = toJSONText++-- | Whether encryption is enabled+data PolicyEncryptionPolicy+ = EncryptionPolicyUnspecified+ -- ^ @ENCRYPTION_POLICY_UNSPECIFIED@+ -- This value is ignored, i.e. no encryption required+ | EnabledWithoutPassword+ -- ^ @ENABLED_WITHOUT_PASSWORD@+ -- Encryption required but no password required to boot+ | EnabledWithPassword+ -- ^ @ENABLED_WITH_PASSWORD@+ -- Encryption required with password required to boot+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PolicyEncryptionPolicy++instance FromHttpApiData PolicyEncryptionPolicy where+ parseQueryParam = \case+ "ENCRYPTION_POLICY_UNSPECIFIED" -> Right EncryptionPolicyUnspecified+ "ENABLED_WITHOUT_PASSWORD" -> Right EnabledWithoutPassword+ "ENABLED_WITH_PASSWORD" -> Right EnabledWithPassword+ x -> Left ("Unable to parse PolicyEncryptionPolicy from: " <> x)++instance ToHttpApiData PolicyEncryptionPolicy where+ toQueryParam = \case+ EncryptionPolicyUnspecified -> "ENCRYPTION_POLICY_UNSPECIFIED"+ EnabledWithoutPassword -> "ENABLED_WITHOUT_PASSWORD"+ EnabledWithPassword -> "ENABLED_WITH_PASSWORD"++instance FromJSON PolicyEncryptionPolicy where+ parseJSON = parseJSONText "PolicyEncryptionPolicy"++instance ToJSON PolicyEncryptionPolicy where+ toJSON = toJSONText++-- | The type of the command.+data CommandType+ = CommandTypeUnspecified+ -- ^ @COMMAND_TYPE_UNSPECIFIED@+ -- This value is disallowed.+ | Lock+ -- ^ @LOCK@+ -- Lock the device, as if the lock screen timeout had expired.+ | ResetPassword+ -- ^ @RESET_PASSWORD@+ -- Reset the user\'s password.+ | Reboot+ -- ^ @REBOOT@+ -- Reboot the device. Only supported on API level 24+.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CommandType++instance FromHttpApiData CommandType where+ parseQueryParam = \case+ "COMMAND_TYPE_UNSPECIFIED" -> Right CommandTypeUnspecified+ "LOCK" -> Right Lock+ "RESET_PASSWORD" -> Right ResetPassword+ "REBOOT" -> Right Reboot+ x -> Left ("Unable to parse CommandType from: " <> x)++instance ToHttpApiData CommandType where+ toQueryParam = \case+ CommandTypeUnspecified -> "COMMAND_TYPE_UNSPECIFIED"+ Lock -> "LOCK"+ ResetPassword -> "RESET_PASSWORD"+ Reboot -> "REBOOT"++instance FromJSON CommandType where+ parseJSON = parseJSONText "CommandType"++instance ToJSON CommandType where+ toJSON = toJSONText++-- | The default policy for all permissions requested by the app. If+-- specified, this overrides the policy-level default_permission_policy+-- which applies to all apps. It does not override the permission_grants+-- which applies to all apps.+data ApplicationPolicyDefaultPermissionPolicy+ = APDPPPermissionPolicyUnspecified+ -- ^ @PERMISSION_POLICY_UNSPECIFIED@+ -- Policy not specified. If no policy is specified for a permission at any+ -- level, then the PROMPT behavior is used by default.+ | APDPPPrompt+ -- ^ @PROMPT@+ -- Prompt the user to grant a permission.+ | APDPPGrant+ -- ^ @GRANT@+ -- Automatically grant a permission.+ | APDPPDeny+ -- ^ @DENY@+ -- Automatically deny a permission.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ApplicationPolicyDefaultPermissionPolicy++instance FromHttpApiData ApplicationPolicyDefaultPermissionPolicy where+ parseQueryParam = \case+ "PERMISSION_POLICY_UNSPECIFIED" -> Right APDPPPermissionPolicyUnspecified+ "PROMPT" -> Right APDPPPrompt+ "GRANT" -> Right APDPPGrant+ "DENY" -> Right APDPPDeny+ x -> Left ("Unable to parse ApplicationPolicyDefaultPermissionPolicy from: " <> x)++instance ToHttpApiData ApplicationPolicyDefaultPermissionPolicy where+ toQueryParam = \case+ APDPPPermissionPolicyUnspecified -> "PERMISSION_POLICY_UNSPECIFIED"+ APDPPPrompt -> "PROMPT"+ APDPPGrant -> "GRANT"+ APDPPDeny -> "DENY"++instance FromJSON ApplicationPolicyDefaultPermissionPolicy where+ parseJSON = parseJSONText "ApplicationPolicyDefaultPermissionPolicy"++instance ToJSON ApplicationPolicyDefaultPermissionPolicy 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++-- | The type of the property.+data ManagedPropertyType+ = ManagedPropertyTypeUnspecified+ -- ^ @MANAGED_PROPERTY_TYPE_UNSPECIFIED@+ -- Not used.+ | Bool+ -- ^ @BOOL@+ -- A property of boolean type.+ | String+ -- ^ @STRING@+ -- A property of string type.+ | Integer+ -- ^ @INTEGER@+ -- A property of integer type.+ | Choice+ -- ^ @CHOICE@+ -- A choice of one item from a set.+ | Multiselect+ -- ^ @MULTISELECT@+ -- A choice of multiple items from a set.+ | Hidden+ -- ^ @HIDDEN@+ -- A hidden restriction of string type (the default value can be used to+ -- pass along information that can\'t be modified, such as a version code).+ | BundleArray+ -- ^ @BUNDLE_ARRAY@+ -- An array of property bundles.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ManagedPropertyType++instance FromHttpApiData ManagedPropertyType where+ parseQueryParam = \case+ "MANAGED_PROPERTY_TYPE_UNSPECIFIED" -> Right ManagedPropertyTypeUnspecified+ "BOOL" -> Right Bool+ "STRING" -> Right String+ "INTEGER" -> Right Integer+ "CHOICE" -> Right Choice+ "MULTISELECT" -> Right Multiselect+ "HIDDEN" -> Right Hidden+ "BUNDLE_ARRAY" -> Right BundleArray+ x -> Left ("Unable to parse ManagedPropertyType from: " <> x)++instance ToHttpApiData ManagedPropertyType where+ toQueryParam = \case+ ManagedPropertyTypeUnspecified -> "MANAGED_PROPERTY_TYPE_UNSPECIFIED"+ Bool -> "BOOL"+ String -> "STRING"+ Integer -> "INTEGER"+ Choice -> "CHOICE"+ Multiselect -> "MULTISELECT"+ Hidden -> "HIDDEN"+ BundleArray -> "BUNDLE_ARRAY"++instance FromJSON ManagedPropertyType where+ parseJSON = parseJSONText "ManagedPropertyType"++instance ToJSON ManagedPropertyType where+ toJSON = toJSONText++-- | The state currently applied to the device.+data DeviceAppliedState+ = DASDeviceStateUnspecified+ -- ^ @DEVICE_STATE_UNSPECIFIED@+ -- This value is disallowed.+ | DASActive+ -- ^ @ACTIVE@+ -- The device is active.+ | DASDisabled+ -- ^ @DISABLED@+ -- The device is disabled.+ | DASDeleted+ -- ^ @DELETED@+ -- The device was deleted. This state will never be returned by an API+ -- call, but is used in the final status report published to Cloud Pub\/Sub+ -- when the device acknowledges the deletion.+ | DASProvisioning+ -- ^ @PROVISIONING@+ -- The device is being provisioned. Newly enrolled devices are in this+ -- state until they have a policy applied.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeviceAppliedState++instance FromHttpApiData DeviceAppliedState where+ parseQueryParam = \case+ "DEVICE_STATE_UNSPECIFIED" -> Right DASDeviceStateUnspecified+ "ACTIVE" -> Right DASActive+ "DISABLED" -> Right DASDisabled+ "DELETED" -> Right DASDeleted+ "PROVISIONING" -> Right DASProvisioning+ x -> Left ("Unable to parse DeviceAppliedState from: " <> x)++instance ToHttpApiData DeviceAppliedState where+ toQueryParam = \case+ DASDeviceStateUnspecified -> "DEVICE_STATE_UNSPECIFIED"+ DASActive -> "ACTIVE"+ DASDisabled -> "DISABLED"+ DASDeleted -> "DELETED"+ DASProvisioning -> "PROVISIONING"++instance FromJSON DeviceAppliedState where+ parseJSON = parseJSONText "DeviceAppliedState"++instance ToJSON DeviceAppliedState where+ toJSON = toJSONText++-- | App event type.+data ApplicationEventEventType+ = ApplicationEventTypeUnspecified+ -- ^ @APPLICATION_EVENT_TYPE_UNSPECIFIED@+ -- This value is disallowed.+ | Installed+ -- ^ @INSTALLED@+ -- The app was installed.+ | Changed+ -- ^ @CHANGED@+ -- The app was changed, for example, a component was enabled or disabled.+ | DataCleared+ -- ^ @DATA_CLEARED@+ -- The app data was cleared.+ | Removed+ -- ^ @REMOVED@+ -- The app was removed.+ | Replaced+ -- ^ @REPLACED@+ -- A new version of the app has been installed, replacing the old version.+ | Restarted+ -- ^ @RESTARTED@+ -- The app was restarted.+ | Pinned+ -- ^ @PINNED@+ -- The app was pinned to the foreground.+ | Unpinned+ -- ^ @UNPINNED@+ -- The app was unpinned.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ApplicationEventEventType++instance FromHttpApiData ApplicationEventEventType where+ parseQueryParam = \case+ "APPLICATION_EVENT_TYPE_UNSPECIFIED" -> Right ApplicationEventTypeUnspecified+ "INSTALLED" -> Right Installed+ "CHANGED" -> Right Changed+ "DATA_CLEARED" -> Right DataCleared+ "REMOVED" -> Right Removed+ "REPLACED" -> Right Replaced+ "RESTARTED" -> Right Restarted+ "PINNED" -> Right Pinned+ "UNPINNED" -> Right Unpinned+ x -> Left ("Unable to parse ApplicationEventEventType from: " <> x)++instance ToHttpApiData ApplicationEventEventType where+ toQueryParam = \case+ ApplicationEventTypeUnspecified -> "APPLICATION_EVENT_TYPE_UNSPECIFIED"+ Installed -> "INSTALLED"+ Changed -> "CHANGED"+ DataCleared -> "DATA_CLEARED"+ Removed -> "REMOVED"+ Replaced -> "REPLACED"+ Restarted -> "RESTARTED"+ Pinned -> "PINNED"+ Unpinned -> "UNPINNED"++instance FromJSON ApplicationEventEventType where+ parseJSON = parseJSONText "ApplicationEventEventType"++instance ToJSON ApplicationEventEventType where+ toJSON = toJSONText++-- | The reason the device is not in compliance with the setting.+data NonComplianceDetailNonComplianceReason+ = NCDNCRNonComplianceReasonUnspecified+ -- ^ @NON_COMPLIANCE_REASON_UNSPECIFIED@+ -- This value is disallowed.+ | NCDNCRAPILevel+ -- ^ @API_LEVEL@+ -- The setting is not supported in the API level of the Android version+ -- running on the device.+ | NCDNCRManagementMode+ -- ^ @MANAGEMENT_MODE@+ -- The management mode (profile owner, device owner, etc.) doesn\'t support+ -- the setting.+ | NCDNCRUserAction+ -- ^ @USER_ACTION@+ -- The user has not taken required action to comply with the setting.+ | NCDNCRInvalidValue+ -- ^ @INVALID_VALUE@+ -- The setting has an invalid value.+ | NCDNCRAppNotInstalled+ -- ^ @APP_NOT_INSTALLED@+ -- The app required to implement the policy is not installed.+ | NCDNCRUnsupported+ -- ^ @UNSUPPORTED@+ -- The policy is not supported by the version of Android Device Policy on+ -- the device.+ | NCDNCRAppInstalled+ -- ^ @APP_INSTALLED@+ -- A blocked app is installed.+ | NCDNCRPending+ -- ^ @PENDING@+ -- The setting hasn\'t been applied at the time of the report, but is+ -- expected to be applied shortly.+ | NCDNCRAppIncompatible+ -- ^ @APP_INCOMPATIBLE@+ -- The setting can\'t be applied to the app because the app doesn\'t+ -- support it, for example because its target SDK version is not high+ -- enough.+ | NCDNCRAppNotUpdated+ -- ^ @APP_NOT_UPDATED@+ -- The app is installed, but it hasn\'t been updated to the minimum version+ -- code specified by policy.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NonComplianceDetailNonComplianceReason++instance FromHttpApiData NonComplianceDetailNonComplianceReason where+ parseQueryParam = \case+ "NON_COMPLIANCE_REASON_UNSPECIFIED" -> Right NCDNCRNonComplianceReasonUnspecified+ "API_LEVEL" -> Right NCDNCRAPILevel+ "MANAGEMENT_MODE" -> Right NCDNCRManagementMode+ "USER_ACTION" -> Right NCDNCRUserAction+ "INVALID_VALUE" -> Right NCDNCRInvalidValue+ "APP_NOT_INSTALLED" -> Right NCDNCRAppNotInstalled+ "UNSUPPORTED" -> Right NCDNCRUnsupported+ "APP_INSTALLED" -> Right NCDNCRAppInstalled+ "PENDING" -> Right NCDNCRPending+ "APP_INCOMPATIBLE" -> Right NCDNCRAppIncompatible+ "APP_NOT_UPDATED" -> Right NCDNCRAppNotUpdated+ x -> Left ("Unable to parse NonComplianceDetailNonComplianceReason from: " <> x)++instance ToHttpApiData NonComplianceDetailNonComplianceReason where+ toQueryParam = \case+ NCDNCRNonComplianceReasonUnspecified -> "NON_COMPLIANCE_REASON_UNSPECIFIED"+ NCDNCRAPILevel -> "API_LEVEL"+ NCDNCRManagementMode -> "MANAGEMENT_MODE"+ NCDNCRUserAction -> "USER_ACTION"+ NCDNCRInvalidValue -> "INVALID_VALUE"+ NCDNCRAppNotInstalled -> "APP_NOT_INSTALLED"+ NCDNCRUnsupported -> "UNSUPPORTED"+ NCDNCRAppInstalled -> "APP_INSTALLED"+ NCDNCRPending -> "PENDING"+ NCDNCRAppIncompatible -> "APP_INCOMPATIBLE"+ NCDNCRAppNotUpdated -> "APP_NOT_UPDATED"++instance FromJSON NonComplianceDetailNonComplianceReason where+ parseJSON = parseJSONText "NonComplianceDetailNonComplianceReason"++instance ToJSON NonComplianceDetailNonComplianceReason where+ toJSON = toJSONText++-- | The default permission policy for runtime permission requests.+data PolicyDefaultPermissionPolicy+ = PDPPPermissionPolicyUnspecified+ -- ^ @PERMISSION_POLICY_UNSPECIFIED@+ -- Policy not specified. If no policy is specified for a permission at any+ -- level, then the PROMPT behavior is used by default.+ | PDPPPrompt+ -- ^ @PROMPT@+ -- Prompt the user to grant a permission.+ | PDPPGrant+ -- ^ @GRANT@+ -- Automatically grant a permission.+ | PDPPDeny+ -- ^ @DENY@+ -- Automatically deny a permission.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PolicyDefaultPermissionPolicy++instance FromHttpApiData PolicyDefaultPermissionPolicy where+ parseQueryParam = \case+ "PERMISSION_POLICY_UNSPECIFIED" -> Right PDPPPermissionPolicyUnspecified+ "PROMPT" -> Right PDPPPrompt+ "GRANT" -> Right PDPPGrant+ "DENY" -> Right PDPPDeny+ x -> Left ("Unable to parse PolicyDefaultPermissionPolicy from: " <> x)++instance ToHttpApiData PolicyDefaultPermissionPolicy where+ toQueryParam = \case+ PDPPPermissionPolicyUnspecified -> "PERMISSION_POLICY_UNSPECIFIED"+ PDPPPrompt -> "PROMPT"+ PDPPGrant -> "GRANT"+ PDPPDeny -> "DENY"++instance FromJSON PolicyDefaultPermissionPolicy where+ parseJSON = parseJSONText "PolicyDefaultPermissionPolicy"++instance ToJSON PolicyDefaultPermissionPolicy where+ toJSON = toJSONText++-- | Application state.+data ApplicationReportState+ = ARSInstalled+ -- ^ @INSTALLED@+ -- App is installed on the device+ | ARSRemoved+ -- ^ @REMOVED@+ -- App was removed from the device+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ApplicationReportState++instance FromHttpApiData ApplicationReportState where+ parseQueryParam = \case+ "INSTALLED" -> Right ARSInstalled+ "REMOVED" -> Right ARSRemoved+ x -> Left ("Unable to parse ApplicationReportState from: " <> x)++instance ToHttpApiData ApplicationReportState where+ toQueryParam = \case+ ARSInstalled -> "INSTALLED"+ ARSRemoved -> "REMOVED"++instance FromJSON ApplicationReportState where+ parseJSON = parseJSONText "ApplicationReportState"++instance ToJSON ApplicationReportState where+ toJSON = toJSONText++-- | The reason the device is not in compliance with the setting. If not set,+-- then this condition matches any reason.+data NonComplianceDetailConditionNonComplianceReason+ = NCDCNCRNonComplianceReasonUnspecified+ -- ^ @NON_COMPLIANCE_REASON_UNSPECIFIED@+ -- This value is disallowed.+ | NCDCNCRAPILevel+ -- ^ @API_LEVEL@+ -- The setting is not supported in the API level of the Android version+ -- running on the device.+ | NCDCNCRManagementMode+ -- ^ @MANAGEMENT_MODE@+ -- The management mode (profile owner, device owner, etc.) doesn\'t support+ -- the setting.+ | NCDCNCRUserAction+ -- ^ @USER_ACTION@+ -- The user has not taken required action to comply with the setting.+ | NCDCNCRInvalidValue+ -- ^ @INVALID_VALUE@+ -- The setting has an invalid value.+ | NCDCNCRAppNotInstalled+ -- ^ @APP_NOT_INSTALLED@+ -- The app required to implement the policy is not installed.+ | NCDCNCRUnsupported+ -- ^ @UNSUPPORTED@+ -- The policy is not supported by the version of Android Device Policy on+ -- the device.+ | NCDCNCRAppInstalled+ -- ^ @APP_INSTALLED@+ -- A blocked app is installed.+ | NCDCNCRPending+ -- ^ @PENDING@+ -- The setting hasn\'t been applied at the time of the report, but is+ -- expected to be applied shortly.+ | NCDCNCRAppIncompatible+ -- ^ @APP_INCOMPATIBLE@+ -- The setting can\'t be applied to the app because the app doesn\'t+ -- support it, for example because its target SDK version is not high+ -- enough.+ | NCDCNCRAppNotUpdated+ -- ^ @APP_NOT_UPDATED@+ -- The app is installed, but it hasn\'t been updated to the minimum version+ -- code specified by policy.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NonComplianceDetailConditionNonComplianceReason++instance FromHttpApiData NonComplianceDetailConditionNonComplianceReason where+ parseQueryParam = \case+ "NON_COMPLIANCE_REASON_UNSPECIFIED" -> Right NCDCNCRNonComplianceReasonUnspecified+ "API_LEVEL" -> Right NCDCNCRAPILevel+ "MANAGEMENT_MODE" -> Right NCDCNCRManagementMode+ "USER_ACTION" -> Right NCDCNCRUserAction+ "INVALID_VALUE" -> Right NCDCNCRInvalidValue+ "APP_NOT_INSTALLED" -> Right NCDCNCRAppNotInstalled+ "UNSUPPORTED" -> Right NCDCNCRUnsupported+ "APP_INSTALLED" -> Right NCDCNCRAppInstalled+ "PENDING" -> Right NCDCNCRPending+ "APP_INCOMPATIBLE" -> Right NCDCNCRAppIncompatible+ "APP_NOT_UPDATED" -> Right NCDCNCRAppNotUpdated+ x -> Left ("Unable to parse NonComplianceDetailConditionNonComplianceReason from: " <> x)++instance ToHttpApiData NonComplianceDetailConditionNonComplianceReason where+ toQueryParam = \case+ NCDCNCRNonComplianceReasonUnspecified -> "NON_COMPLIANCE_REASON_UNSPECIFIED"+ NCDCNCRAPILevel -> "API_LEVEL"+ NCDCNCRManagementMode -> "MANAGEMENT_MODE"+ NCDCNCRUserAction -> "USER_ACTION"+ NCDCNCRInvalidValue -> "INVALID_VALUE"+ NCDCNCRAppNotInstalled -> "APP_NOT_INSTALLED"+ NCDCNCRUnsupported -> "UNSUPPORTED"+ NCDCNCRAppInstalled -> "APP_INSTALLED"+ NCDCNCRPending -> "PENDING"+ NCDCNCRAppIncompatible -> "APP_INCOMPATIBLE"+ NCDCNCRAppNotUpdated -> "APP_NOT_UPDATED"++instance FromJSON NonComplianceDetailConditionNonComplianceReason where+ parseJSON = parseJSONText "NonComplianceDetailConditionNonComplianceReason"++instance ToJSON NonComplianceDetailConditionNonComplianceReason where+ toJSON = toJSONText++-- | Event type.+data MemoryEventEventType+ = MemoryEventTypeUnspecified+ -- ^ @MEMORY_EVENT_TYPE_UNSPECIFIED@+ -- Unspecified. No events have this type.+ | RamMeasured+ -- ^ @RAM_MEASURED@+ -- Free space in RAM was measured.+ | InternalStorageMeasured+ -- ^ @INTERNAL_STORAGE_MEASURED@+ -- Free space in internal storage was measured.+ | ExternalStorageDetected+ -- ^ @EXTERNAL_STORAGE_DETECTED@+ -- A new external storage medium was detected. The reported byte count is+ -- the total capacity of the storage medium.+ | ExternalStorageRemoved+ -- ^ @EXTERNAL_STORAGE_REMOVED@+ -- An external storage medium was removed. The reported byte count is zero.+ | ExternalStorageMeasured+ -- ^ @EXTERNAL_STORAGE_MEASURED@+ -- Free space in an external storage medium was measured.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable MemoryEventEventType++instance FromHttpApiData MemoryEventEventType where+ parseQueryParam = \case+ "MEMORY_EVENT_TYPE_UNSPECIFIED" -> Right MemoryEventTypeUnspecified+ "RAM_MEASURED" -> Right RamMeasured+ "INTERNAL_STORAGE_MEASURED" -> Right InternalStorageMeasured+ "EXTERNAL_STORAGE_DETECTED" -> Right ExternalStorageDetected+ "EXTERNAL_STORAGE_REMOVED" -> Right ExternalStorageRemoved+ "EXTERNAL_STORAGE_MEASURED" -> Right ExternalStorageMeasured+ x -> Left ("Unable to parse MemoryEventEventType from: " <> x)++instance ToHttpApiData MemoryEventEventType where+ toQueryParam = \case+ MemoryEventTypeUnspecified -> "MEMORY_EVENT_TYPE_UNSPECIFIED"+ RamMeasured -> "RAM_MEASURED"+ InternalStorageMeasured -> "INTERNAL_STORAGE_MEASURED"+ ExternalStorageDetected -> "EXTERNAL_STORAGE_DETECTED"+ ExternalStorageRemoved -> "EXTERNAL_STORAGE_REMOVED"+ ExternalStorageMeasured -> "EXTERNAL_STORAGE_MEASURED"++instance FromJSON MemoryEventEventType where+ parseJSON = parseJSONText "MemoryEventEventType"++instance ToJSON MemoryEventEventType where+ toJSON = toJSONText++-- | The required password quality.+data PasswordRequirementsPasswordQuality+ = PasswordQualityUnspecified+ -- ^ @PASSWORD_QUALITY_UNSPECIFIED@+ -- There are no password requirements.+ | BiometricWeak+ -- ^ @BIOMETRIC_WEAK@+ -- The device must be secured with a low-security biometric recognition+ -- technology, at minimum. This includes technologies that can recognize+ -- the identity of an individual that are roughly equivalent to a 3-digit+ -- PIN (false detection is less than 1 in 1,000).+ | Something+ -- ^ @SOMETHING@+ -- A password is required, but there are no restrictions on what the+ -- password must contain.+ | Numeric+ -- ^ @NUMERIC@+ -- The password must contain numeric characters.+ | NumericComplex+ -- ^ @NUMERIC_COMPLEX@+ -- The password must contain numeric characters with no repeating (4444) or+ -- ordered (1234, 4321, 2468) sequences.+ | Alphabetic+ -- ^ @ALPHABETIC@+ -- The password must contain alphabetic (or symbol) characters.+ | Alphanumeric+ -- ^ @ALPHANUMERIC@+ -- The password must contain both numeric and alphabetic (or symbol)+ -- characters.+ | Complex+ -- ^ @COMPLEX@+ -- The password must contain at least a letter, a numerical digit and a+ -- special symbol. Other password constraints, for example,+ -- password_minimum_letters are enforced.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PasswordRequirementsPasswordQuality++instance FromHttpApiData PasswordRequirementsPasswordQuality where+ parseQueryParam = \case+ "PASSWORD_QUALITY_UNSPECIFIED" -> Right PasswordQualityUnspecified+ "BIOMETRIC_WEAK" -> Right BiometricWeak+ "SOMETHING" -> Right Something+ "NUMERIC" -> Right Numeric+ "NUMERIC_COMPLEX" -> Right NumericComplex+ "ALPHABETIC" -> Right Alphabetic+ "ALPHANUMERIC" -> Right Alphanumeric+ "COMPLEX" -> Right Complex+ x -> Left ("Unable to parse PasswordRequirementsPasswordQuality from: " <> x)++instance ToHttpApiData PasswordRequirementsPasswordQuality where+ toQueryParam = \case+ PasswordQualityUnspecified -> "PASSWORD_QUALITY_UNSPECIFIED"+ BiometricWeak -> "BIOMETRIC_WEAK"+ Something -> "SOMETHING"+ Numeric -> "NUMERIC"+ NumericComplex -> "NUMERIC_COMPLEX"+ Alphabetic -> "ALPHABETIC"+ Alphanumeric -> "ALPHANUMERIC"+ Complex -> "COMPLEX"++instance FromJSON PasswordRequirementsPasswordQuality where+ parseJSON = parseJSONText "PasswordRequirementsPasswordQuality"++instance ToJSON PasswordRequirementsPasswordQuality where+ toJSON = toJSONText
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Applications/Get.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.Applications.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 info about an application.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.applications.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.Applications.Get+ (+ -- * REST Resource+ EnterprisesApplicationsGetResource++ -- * Creating a Request+ , enterprisesApplicationsGet+ , EnterprisesApplicationsGet++ -- * Request Lenses+ , eagXgafv+ , eagLanguageCode+ , eagUploadProtocol+ , eagAccessToken+ , eagUploadType+ , eagName+ , eagCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.applications.get@ method which the+-- 'EnterprisesApplicationsGet' request conforms to.+type EnterprisesApplicationsGetResource =+ "v1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "languageCode" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Application++-- | Gets info about an application.+--+-- /See:/ 'enterprisesApplicationsGet' smart constructor.+data EnterprisesApplicationsGet = EnterprisesApplicationsGet'+ { _eagXgafv :: !(Maybe Xgafv)+ , _eagLanguageCode :: !(Maybe Text)+ , _eagUploadProtocol :: !(Maybe Text)+ , _eagAccessToken :: !(Maybe Text)+ , _eagUploadType :: !(Maybe Text)+ , _eagName :: !Text+ , _eagCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesApplicationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eagXgafv'+--+-- * 'eagLanguageCode'+--+-- * 'eagUploadProtocol'+--+-- * 'eagAccessToken'+--+-- * 'eagUploadType'+--+-- * 'eagName'+--+-- * 'eagCallback'+enterprisesApplicationsGet+ :: Text -- ^ 'eagName'+ -> EnterprisesApplicationsGet+enterprisesApplicationsGet pEagName_ =+ EnterprisesApplicationsGet'+ { _eagXgafv = Nothing+ , _eagLanguageCode = Nothing+ , _eagUploadProtocol = Nothing+ , _eagAccessToken = Nothing+ , _eagUploadType = Nothing+ , _eagName = pEagName_+ , _eagCallback = Nothing+ }++-- | V1 error format.+eagXgafv :: Lens' EnterprisesApplicationsGet (Maybe Xgafv)+eagXgafv = lens _eagXgafv (\ s a -> s{_eagXgafv = a})++-- | The preferred language for localized application info, as a BCP47 tag+-- (e.g. \"en-US\", \"de\"). If not specified the default language of the+-- application will be used.+eagLanguageCode :: Lens' EnterprisesApplicationsGet (Maybe Text)+eagLanguageCode+ = lens _eagLanguageCode+ (\ s a -> s{_eagLanguageCode = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eagUploadProtocol :: Lens' EnterprisesApplicationsGet (Maybe Text)+eagUploadProtocol+ = lens _eagUploadProtocol+ (\ s a -> s{_eagUploadProtocol = a})++-- | OAuth access token.+eagAccessToken :: Lens' EnterprisesApplicationsGet (Maybe Text)+eagAccessToken+ = lens _eagAccessToken+ (\ s a -> s{_eagAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eagUploadType :: Lens' EnterprisesApplicationsGet (Maybe Text)+eagUploadType+ = lens _eagUploadType+ (\ s a -> s{_eagUploadType = a})++-- | The name of the application in the form+-- enterprises\/{enterpriseId}\/applications\/{package_name}.+eagName :: Lens' EnterprisesApplicationsGet Text+eagName = lens _eagName (\ s a -> s{_eagName = a})++-- | JSONP+eagCallback :: Lens' EnterprisesApplicationsGet (Maybe Text)+eagCallback+ = lens _eagCallback (\ s a -> s{_eagCallback = a})++instance GoogleRequest EnterprisesApplicationsGet+ where+ type Rs EnterprisesApplicationsGet = Application+ type Scopes EnterprisesApplicationsGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesApplicationsGet'{..}+ = go _eagName _eagXgafv _eagLanguageCode+ _eagUploadProtocol+ _eagAccessToken+ _eagUploadType+ _eagCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesApplicationsGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Create.hs view
@@ -0,0 +1,186 @@+{-# 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.AndroidManagement.Enterprises.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 an enterprise. This is the last step in the enterprise signup+-- flow.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.create@.+module Network.Google.Resource.AndroidManagement.Enterprises.Create+ (+ -- * REST Resource+ EnterprisesCreateResource++ -- * Creating a Request+ , enterprisesCreate+ , EnterprisesCreate++ -- * Request Lenses+ , ecXgafv+ , ecSignupURLName+ , ecUploadProtocol+ , ecAccessToken+ , ecUploadType+ , ecPayload+ , ecProjectId+ , ecEnterpriseToken+ , ecCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.create@ method which the+-- 'EnterprisesCreate' request conforms to.+type EnterprisesCreateResource =+ "v1" :>+ "enterprises" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "signupUrlName" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "projectId" Text :>+ QueryParam "enterpriseToken" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise++-- | Creates an enterprise. This is the last step in the enterprise signup+-- flow.+--+-- /See:/ 'enterprisesCreate' smart constructor.+data EnterprisesCreate = EnterprisesCreate'+ { _ecXgafv :: !(Maybe Xgafv)+ , _ecSignupURLName :: !(Maybe Text)+ , _ecUploadProtocol :: !(Maybe Text)+ , _ecAccessToken :: !(Maybe Text)+ , _ecUploadType :: !(Maybe Text)+ , _ecPayload :: !Enterprise+ , _ecProjectId :: !(Maybe Text)+ , _ecEnterpriseToken :: !(Maybe Text)+ , _ecCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecXgafv'+--+-- * 'ecSignupURLName'+--+-- * 'ecUploadProtocol'+--+-- * 'ecAccessToken'+--+-- * 'ecUploadType'+--+-- * 'ecPayload'+--+-- * 'ecProjectId'+--+-- * 'ecEnterpriseToken'+--+-- * 'ecCallback'+enterprisesCreate+ :: Enterprise -- ^ 'ecPayload'+ -> EnterprisesCreate+enterprisesCreate pEcPayload_ =+ EnterprisesCreate'+ { _ecXgafv = Nothing+ , _ecSignupURLName = Nothing+ , _ecUploadProtocol = Nothing+ , _ecAccessToken = Nothing+ , _ecUploadType = Nothing+ , _ecPayload = pEcPayload_+ , _ecProjectId = Nothing+ , _ecEnterpriseToken = Nothing+ , _ecCallback = Nothing+ }++-- | V1 error format.+ecXgafv :: Lens' EnterprisesCreate (Maybe Xgafv)+ecXgafv = lens _ecXgafv (\ s a -> s{_ecXgafv = a})++-- | The name of the SignupUrl used to sign up for the enterprise.+ecSignupURLName :: Lens' EnterprisesCreate (Maybe Text)+ecSignupURLName+ = lens _ecSignupURLName+ (\ s a -> s{_ecSignupURLName = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ecUploadProtocol :: Lens' EnterprisesCreate (Maybe Text)+ecUploadProtocol+ = lens _ecUploadProtocol+ (\ s a -> s{_ecUploadProtocol = a})++-- | OAuth access token.+ecAccessToken :: Lens' EnterprisesCreate (Maybe Text)+ecAccessToken+ = lens _ecAccessToken+ (\ s a -> s{_ecAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ecUploadType :: Lens' EnterprisesCreate (Maybe Text)+ecUploadType+ = lens _ecUploadType (\ s a -> s{_ecUploadType = a})++-- | Multipart request metadata.+ecPayload :: Lens' EnterprisesCreate Enterprise+ecPayload+ = lens _ecPayload (\ s a -> s{_ecPayload = a})++-- | The ID of the Google Cloud Platform project which will own the+-- enterprise.+ecProjectId :: Lens' EnterprisesCreate (Maybe Text)+ecProjectId+ = lens _ecProjectId (\ s a -> s{_ecProjectId = a})++-- | The enterprise token appended to the callback URL.+ecEnterpriseToken :: Lens' EnterprisesCreate (Maybe Text)+ecEnterpriseToken+ = lens _ecEnterpriseToken+ (\ s a -> s{_ecEnterpriseToken = a})++-- | JSONP+ecCallback :: Lens' EnterprisesCreate (Maybe Text)+ecCallback+ = lens _ecCallback (\ s a -> s{_ecCallback = a})++instance GoogleRequest EnterprisesCreate where+ type Rs EnterprisesCreate = Enterprise+ type Scopes EnterprisesCreate =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesCreate'{..}+ = go _ecXgafv _ecSignupURLName _ecUploadProtocol+ _ecAccessToken+ _ecUploadType+ _ecProjectId+ _ecEnterpriseToken+ _ecCallback+ (Just AltJSON)+ _ecPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesCreateResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Delete.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.Devices.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a device. This operation wipes the device.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.delete@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Delete+ (+ -- * REST Resource+ EnterprisesDevicesDeleteResource++ -- * Creating a Request+ , enterprisesDevicesDelete+ , EnterprisesDevicesDelete++ -- * Request Lenses+ , eddXgafv+ , eddWipeDataFlags+ , eddUploadProtocol+ , eddAccessToken+ , eddUploadType+ , eddName+ , eddCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.delete@ method which the+-- 'EnterprisesDevicesDelete' request conforms to.+type EnterprisesDevicesDeleteResource =+ "v1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParams "wipeDataFlags" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a device. This operation wipes the device.+--+-- /See:/ 'enterprisesDevicesDelete' smart constructor.+data EnterprisesDevicesDelete = EnterprisesDevicesDelete'+ { _eddXgafv :: !(Maybe Xgafv)+ , _eddWipeDataFlags :: !(Maybe [Text])+ , _eddUploadProtocol :: !(Maybe Text)+ , _eddAccessToken :: !(Maybe Text)+ , _eddUploadType :: !(Maybe Text)+ , _eddName :: !Text+ , _eddCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eddXgafv'+--+-- * 'eddWipeDataFlags'+--+-- * 'eddUploadProtocol'+--+-- * 'eddAccessToken'+--+-- * 'eddUploadType'+--+-- * 'eddName'+--+-- * 'eddCallback'+enterprisesDevicesDelete+ :: Text -- ^ 'eddName'+ -> EnterprisesDevicesDelete+enterprisesDevicesDelete pEddName_ =+ EnterprisesDevicesDelete'+ { _eddXgafv = Nothing+ , _eddWipeDataFlags = Nothing+ , _eddUploadProtocol = Nothing+ , _eddAccessToken = Nothing+ , _eddUploadType = Nothing+ , _eddName = pEddName_+ , _eddCallback = Nothing+ }++-- | V1 error format.+eddXgafv :: Lens' EnterprisesDevicesDelete (Maybe Xgafv)+eddXgafv = lens _eddXgafv (\ s a -> s{_eddXgafv = a})++-- | Optional flags that control the device wiping behavior.+eddWipeDataFlags :: Lens' EnterprisesDevicesDelete [Text]+eddWipeDataFlags+ = lens _eddWipeDataFlags+ (\ s a -> s{_eddWipeDataFlags = a})+ . _Default+ . _Coerce++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eddUploadProtocol :: Lens' EnterprisesDevicesDelete (Maybe Text)+eddUploadProtocol+ = lens _eddUploadProtocol+ (\ s a -> s{_eddUploadProtocol = a})++-- | OAuth access token.+eddAccessToken :: Lens' EnterprisesDevicesDelete (Maybe Text)+eddAccessToken+ = lens _eddAccessToken+ (\ s a -> s{_eddAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eddUploadType :: Lens' EnterprisesDevicesDelete (Maybe Text)+eddUploadType+ = lens _eddUploadType+ (\ s a -> s{_eddUploadType = a})++-- | The name of the device in the form+-- enterprises\/{enterpriseId}\/devices\/{deviceId}.+eddName :: Lens' EnterprisesDevicesDelete Text+eddName = lens _eddName (\ s a -> s{_eddName = a})++-- | JSONP+eddCallback :: Lens' EnterprisesDevicesDelete (Maybe Text)+eddCallback+ = lens _eddCallback (\ s a -> s{_eddCallback = a})++instance GoogleRequest EnterprisesDevicesDelete where+ type Rs EnterprisesDevicesDelete = Empty+ type Scopes EnterprisesDevicesDelete =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesDelete'{..}+ = go _eddName _eddXgafv+ (_eddWipeDataFlags ^. _Default)+ _eddUploadProtocol+ _eddAccessToken+ _eddUploadType+ _eddCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesDevicesDeleteResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/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.AndroidManagement.Enterprises.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/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Get+ (+ -- * REST Resource+ EnterprisesDevicesGetResource++ -- * Creating a Request+ , enterprisesDevicesGet+ , EnterprisesDevicesGet++ -- * Request Lenses+ , edgXgafv+ , edgUploadProtocol+ , edgAccessToken+ , edgUploadType+ , edgName+ , edgCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.get@ method which the+-- 'EnterprisesDevicesGet' request conforms to.+type EnterprisesDevicesGetResource =+ "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:/ 'enterprisesDevicesGet' smart constructor.+data EnterprisesDevicesGet = EnterprisesDevicesGet'+ { _edgXgafv :: !(Maybe Xgafv)+ , _edgUploadProtocol :: !(Maybe Text)+ , _edgAccessToken :: !(Maybe Text)+ , _edgUploadType :: !(Maybe Text)+ , _edgName :: !Text+ , _edgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edgXgafv'+--+-- * 'edgUploadProtocol'+--+-- * 'edgAccessToken'+--+-- * 'edgUploadType'+--+-- * 'edgName'+--+-- * 'edgCallback'+enterprisesDevicesGet+ :: Text -- ^ 'edgName'+ -> EnterprisesDevicesGet+enterprisesDevicesGet pEdgName_ =+ EnterprisesDevicesGet'+ { _edgXgafv = Nothing+ , _edgUploadProtocol = Nothing+ , _edgAccessToken = Nothing+ , _edgUploadType = Nothing+ , _edgName = pEdgName_+ , _edgCallback = Nothing+ }++-- | V1 error format.+edgXgafv :: Lens' EnterprisesDevicesGet (Maybe Xgafv)+edgXgafv = lens _edgXgafv (\ s a -> s{_edgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edgUploadProtocol :: Lens' EnterprisesDevicesGet (Maybe Text)+edgUploadProtocol+ = lens _edgUploadProtocol+ (\ s a -> s{_edgUploadProtocol = a})++-- | OAuth access token.+edgAccessToken :: Lens' EnterprisesDevicesGet (Maybe Text)+edgAccessToken+ = lens _edgAccessToken+ (\ s a -> s{_edgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edgUploadType :: Lens' EnterprisesDevicesGet (Maybe Text)+edgUploadType+ = lens _edgUploadType+ (\ s a -> s{_edgUploadType = a})++-- | The name of the device in the form+-- enterprises\/{enterpriseId}\/devices\/{deviceId}.+edgName :: Lens' EnterprisesDevicesGet Text+edgName = lens _edgName (\ s a -> s{_edgName = a})++-- | JSONP+edgCallback :: Lens' EnterprisesDevicesGet (Maybe Text)+edgCallback+ = lens _edgCallback (\ s a -> s{_edgCallback = a})++instance GoogleRequest EnterprisesDevicesGet where+ type Rs EnterprisesDevicesGet = Device+ type Scopes EnterprisesDevicesGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesGet'{..}+ = go _edgName _edgXgafv _edgUploadProtocol+ _edgAccessToken+ _edgUploadType+ _edgCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesDevicesGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/IssueCommand.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.AndroidManagement.Enterprises.Devices.IssueCommand+-- 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)+--+-- Issues a command to a device. The Operation resource returned contains a+-- Command in its metadata field. Use the get operation method to get the+-- status of the command.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.issueCommand@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.IssueCommand+ (+ -- * REST Resource+ EnterprisesDevicesIssueCommandResource++ -- * Creating a Request+ , enterprisesDevicesIssueCommand+ , EnterprisesDevicesIssueCommand++ -- * Request Lenses+ , edicXgafv+ , edicUploadProtocol+ , edicAccessToken+ , edicUploadType+ , edicPayload+ , edicName+ , edicCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.issueCommand@ method which the+-- 'EnterprisesDevicesIssueCommand' request conforms to.+type EnterprisesDevicesIssueCommandResource =+ "v1" :>+ CaptureMode "name" "issueCommand" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Command :> Post '[JSON] Operation++-- | Issues a command to a device. The Operation resource returned contains a+-- Command in its metadata field. Use the get operation method to get the+-- status of the command.+--+-- /See:/ 'enterprisesDevicesIssueCommand' smart constructor.+data EnterprisesDevicesIssueCommand = EnterprisesDevicesIssueCommand'+ { _edicXgafv :: !(Maybe Xgafv)+ , _edicUploadProtocol :: !(Maybe Text)+ , _edicAccessToken :: !(Maybe Text)+ , _edicUploadType :: !(Maybe Text)+ , _edicPayload :: !Command+ , _edicName :: !Text+ , _edicCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesIssueCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edicXgafv'+--+-- * 'edicUploadProtocol'+--+-- * 'edicAccessToken'+--+-- * 'edicUploadType'+--+-- * 'edicPayload'+--+-- * 'edicName'+--+-- * 'edicCallback'+enterprisesDevicesIssueCommand+ :: Command -- ^ 'edicPayload'+ -> Text -- ^ 'edicName'+ -> EnterprisesDevicesIssueCommand+enterprisesDevicesIssueCommand pEdicPayload_ pEdicName_ =+ EnterprisesDevicesIssueCommand'+ { _edicXgafv = Nothing+ , _edicUploadProtocol = Nothing+ , _edicAccessToken = Nothing+ , _edicUploadType = Nothing+ , _edicPayload = pEdicPayload_+ , _edicName = pEdicName_+ , _edicCallback = Nothing+ }++-- | V1 error format.+edicXgafv :: Lens' EnterprisesDevicesIssueCommand (Maybe Xgafv)+edicXgafv+ = lens _edicXgafv (\ s a -> s{_edicXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edicUploadProtocol :: Lens' EnterprisesDevicesIssueCommand (Maybe Text)+edicUploadProtocol+ = lens _edicUploadProtocol+ (\ s a -> s{_edicUploadProtocol = a})++-- | OAuth access token.+edicAccessToken :: Lens' EnterprisesDevicesIssueCommand (Maybe Text)+edicAccessToken+ = lens _edicAccessToken+ (\ s a -> s{_edicAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edicUploadType :: Lens' EnterprisesDevicesIssueCommand (Maybe Text)+edicUploadType+ = lens _edicUploadType+ (\ s a -> s{_edicUploadType = a})++-- | Multipart request metadata.+edicPayload :: Lens' EnterprisesDevicesIssueCommand Command+edicPayload+ = lens _edicPayload (\ s a -> s{_edicPayload = a})++-- | The name of the device in the form+-- enterprises\/{enterpriseId}\/devices\/{deviceId}.+edicName :: Lens' EnterprisesDevicesIssueCommand Text+edicName = lens _edicName (\ s a -> s{_edicName = a})++-- | JSONP+edicCallback :: Lens' EnterprisesDevicesIssueCommand (Maybe Text)+edicCallback+ = lens _edicCallback (\ s a -> s{_edicCallback = a})++instance GoogleRequest EnterprisesDevicesIssueCommand+ where+ type Rs EnterprisesDevicesIssueCommand = Operation+ type Scopes EnterprisesDevicesIssueCommand =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesIssueCommand'{..}+ = go _edicName _edicXgafv _edicUploadProtocol+ _edicAccessToken+ _edicUploadType+ _edicCallback+ (Just AltJSON)+ _edicPayload+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesDevicesIssueCommandResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/List.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.AndroidManagement.Enterprises.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 devices for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.list@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.List+ (+ -- * REST Resource+ EnterprisesDevicesListResource++ -- * Creating a Request+ , enterprisesDevicesList+ , EnterprisesDevicesList++ -- * Request Lenses+ , edlParent+ , edlXgafv+ , edlUploadProtocol+ , edlAccessToken+ , edlUploadType+ , edlPageToken+ , edlPageSize+ , edlCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.list@ method which the+-- 'EnterprisesDevicesList' request conforms to.+type EnterprisesDevicesListResource =+ "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 Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListDevicesResponse++-- | Lists devices for a given enterprise.+--+-- /See:/ 'enterprisesDevicesList' smart constructor.+data EnterprisesDevicesList = EnterprisesDevicesList'+ { _edlParent :: !Text+ , _edlXgafv :: !(Maybe Xgafv)+ , _edlUploadProtocol :: !(Maybe Text)+ , _edlAccessToken :: !(Maybe Text)+ , _edlUploadType :: !(Maybe Text)+ , _edlPageToken :: !(Maybe Text)+ , _edlPageSize :: !(Maybe (Textual Int32))+ , _edlCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edlParent'+--+-- * 'edlXgafv'+--+-- * 'edlUploadProtocol'+--+-- * 'edlAccessToken'+--+-- * 'edlUploadType'+--+-- * 'edlPageToken'+--+-- * 'edlPageSize'+--+-- * 'edlCallback'+enterprisesDevicesList+ :: Text -- ^ 'edlParent'+ -> EnterprisesDevicesList+enterprisesDevicesList pEdlParent_ =+ EnterprisesDevicesList'+ { _edlParent = pEdlParent_+ , _edlXgafv = Nothing+ , _edlUploadProtocol = Nothing+ , _edlAccessToken = Nothing+ , _edlUploadType = Nothing+ , _edlPageToken = Nothing+ , _edlPageSize = Nothing+ , _edlCallback = Nothing+ }++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+edlParent :: Lens' EnterprisesDevicesList Text+edlParent+ = lens _edlParent (\ s a -> s{_edlParent = a})++-- | V1 error format.+edlXgafv :: Lens' EnterprisesDevicesList (Maybe Xgafv)+edlXgafv = lens _edlXgafv (\ s a -> s{_edlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edlUploadProtocol :: Lens' EnterprisesDevicesList (Maybe Text)+edlUploadProtocol+ = lens _edlUploadProtocol+ (\ s a -> s{_edlUploadProtocol = a})++-- | OAuth access token.+edlAccessToken :: Lens' EnterprisesDevicesList (Maybe Text)+edlAccessToken+ = lens _edlAccessToken+ (\ s a -> s{_edlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edlUploadType :: Lens' EnterprisesDevicesList (Maybe Text)+edlUploadType+ = lens _edlUploadType+ (\ s a -> s{_edlUploadType = a})++-- | A token identifying a page of results returned by the server.+edlPageToken :: Lens' EnterprisesDevicesList (Maybe Text)+edlPageToken+ = lens _edlPageToken (\ s a -> s{_edlPageToken = a})++-- | The requested page size. The actual page size may be fixed to a min or+-- max value.+edlPageSize :: Lens' EnterprisesDevicesList (Maybe Int32)+edlPageSize+ = lens _edlPageSize (\ s a -> s{_edlPageSize = a}) .+ mapping _Coerce++-- | JSONP+edlCallback :: Lens' EnterprisesDevicesList (Maybe Text)+edlCallback+ = lens _edlCallback (\ s a -> s{_edlCallback = a})++instance GoogleRequest EnterprisesDevicesList where+ type Rs EnterprisesDevicesList = ListDevicesResponse+ type Scopes EnterprisesDevicesList =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesList'{..}+ = go _edlParent _edlXgafv _edlUploadProtocol+ _edlAccessToken+ _edlUploadType+ _edlPageToken+ _edlPageSize+ _edlCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesDevicesListResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Cancel.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.AndroidManagement.Enterprises.Devices.Operations.Cancel+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation+-- or other methods to check whether the cancellation succeeded or whether+-- the operation completed despite cancellation. On successful+-- cancellation, the operation is not deleted; instead, it becomes an+-- operation with an Operation.error value with a google.rpc.Status.code of+-- 1, corresponding to Code.CANCELLED.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.operations.cancel@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Cancel+ (+ -- * REST Resource+ EnterprisesDevicesOperationsCancelResource++ -- * Creating a Request+ , enterprisesDevicesOperationsCancel+ , EnterprisesDevicesOperationsCancel++ -- * Request Lenses+ , edocXgafv+ , edocUploadProtocol+ , edocAccessToken+ , edocUploadType+ , edocName+ , edocCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.operations.cancel@ method which the+-- 'EnterprisesDevicesOperationsCancel' request conforms to.+type EnterprisesDevicesOperationsCancelResource =+ "v1" :>+ CaptureMode "name" "cancel" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] Empty++-- | Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation+-- or other methods to check whether the cancellation succeeded or whether+-- the operation completed despite cancellation. On successful+-- cancellation, the operation is not deleted; instead, it becomes an+-- operation with an Operation.error value with a google.rpc.Status.code of+-- 1, corresponding to Code.CANCELLED.+--+-- /See:/ 'enterprisesDevicesOperationsCancel' smart constructor.+data EnterprisesDevicesOperationsCancel = EnterprisesDevicesOperationsCancel'+ { _edocXgafv :: !(Maybe Xgafv)+ , _edocUploadProtocol :: !(Maybe Text)+ , _edocAccessToken :: !(Maybe Text)+ , _edocUploadType :: !(Maybe Text)+ , _edocName :: !Text+ , _edocCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesOperationsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edocXgafv'+--+-- * 'edocUploadProtocol'+--+-- * 'edocAccessToken'+--+-- * 'edocUploadType'+--+-- * 'edocName'+--+-- * 'edocCallback'+enterprisesDevicesOperationsCancel+ :: Text -- ^ 'edocName'+ -> EnterprisesDevicesOperationsCancel+enterprisesDevicesOperationsCancel pEdocName_ =+ EnterprisesDevicesOperationsCancel'+ { _edocXgafv = Nothing+ , _edocUploadProtocol = Nothing+ , _edocAccessToken = Nothing+ , _edocUploadType = Nothing+ , _edocName = pEdocName_+ , _edocCallback = Nothing+ }++-- | V1 error format.+edocXgafv :: Lens' EnterprisesDevicesOperationsCancel (Maybe Xgafv)+edocXgafv+ = lens _edocXgafv (\ s a -> s{_edocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edocUploadProtocol :: Lens' EnterprisesDevicesOperationsCancel (Maybe Text)+edocUploadProtocol+ = lens _edocUploadProtocol+ (\ s a -> s{_edocUploadProtocol = a})++-- | OAuth access token.+edocAccessToken :: Lens' EnterprisesDevicesOperationsCancel (Maybe Text)+edocAccessToken+ = lens _edocAccessToken+ (\ s a -> s{_edocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edocUploadType :: Lens' EnterprisesDevicesOperationsCancel (Maybe Text)+edocUploadType+ = lens _edocUploadType+ (\ s a -> s{_edocUploadType = a})++-- | The name of the operation resource to be cancelled.+edocName :: Lens' EnterprisesDevicesOperationsCancel Text+edocName = lens _edocName (\ s a -> s{_edocName = a})++-- | JSONP+edocCallback :: Lens' EnterprisesDevicesOperationsCancel (Maybe Text)+edocCallback+ = lens _edocCallback (\ s a -> s{_edocCallback = a})++instance GoogleRequest+ EnterprisesDevicesOperationsCancel where+ type Rs EnterprisesDevicesOperationsCancel = Empty+ type Scopes EnterprisesDevicesOperationsCancel =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesOperationsCancel'{..}+ = go _edocName _edocXgafv _edocUploadProtocol+ _edocAccessToken+ _edocUploadType+ _edocCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesDevicesOperationsCancelResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Delete.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- google.rpc.Code.UNIMPLEMENTED.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.operations.delete@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Delete+ (+ -- * REST Resource+ EnterprisesDevicesOperationsDeleteResource++ -- * Creating a Request+ , enterprisesDevicesOperationsDelete+ , EnterprisesDevicesOperationsDelete++ -- * Request Lenses+ , edodXgafv+ , edodUploadProtocol+ , edodAccessToken+ , edodUploadType+ , edodName+ , edodCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.operations.delete@ method which the+-- 'EnterprisesDevicesOperationsDelete' request conforms to.+type EnterprisesDevicesOperationsDeleteResource =+ "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 a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- google.rpc.Code.UNIMPLEMENTED.+--+-- /See:/ 'enterprisesDevicesOperationsDelete' smart constructor.+data EnterprisesDevicesOperationsDelete = EnterprisesDevicesOperationsDelete'+ { _edodXgafv :: !(Maybe Xgafv)+ , _edodUploadProtocol :: !(Maybe Text)+ , _edodAccessToken :: !(Maybe Text)+ , _edodUploadType :: !(Maybe Text)+ , _edodName :: !Text+ , _edodCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edodXgafv'+--+-- * 'edodUploadProtocol'+--+-- * 'edodAccessToken'+--+-- * 'edodUploadType'+--+-- * 'edodName'+--+-- * 'edodCallback'+enterprisesDevicesOperationsDelete+ :: Text -- ^ 'edodName'+ -> EnterprisesDevicesOperationsDelete+enterprisesDevicesOperationsDelete pEdodName_ =+ EnterprisesDevicesOperationsDelete'+ { _edodXgafv = Nothing+ , _edodUploadProtocol = Nothing+ , _edodAccessToken = Nothing+ , _edodUploadType = Nothing+ , _edodName = pEdodName_+ , _edodCallback = Nothing+ }++-- | V1 error format.+edodXgafv :: Lens' EnterprisesDevicesOperationsDelete (Maybe Xgafv)+edodXgafv+ = lens _edodXgafv (\ s a -> s{_edodXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edodUploadProtocol :: Lens' EnterprisesDevicesOperationsDelete (Maybe Text)+edodUploadProtocol+ = lens _edodUploadProtocol+ (\ s a -> s{_edodUploadProtocol = a})++-- | OAuth access token.+edodAccessToken :: Lens' EnterprisesDevicesOperationsDelete (Maybe Text)+edodAccessToken+ = lens _edodAccessToken+ (\ s a -> s{_edodAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edodUploadType :: Lens' EnterprisesDevicesOperationsDelete (Maybe Text)+edodUploadType+ = lens _edodUploadType+ (\ s a -> s{_edodUploadType = a})++-- | The name of the operation resource to be deleted.+edodName :: Lens' EnterprisesDevicesOperationsDelete Text+edodName = lens _edodName (\ s a -> s{_edodName = a})++-- | JSONP+edodCallback :: Lens' EnterprisesDevicesOperationsDelete (Maybe Text)+edodCallback+ = lens _edodCallback (\ s a -> s{_edodCallback = a})++instance GoogleRequest+ EnterprisesDevicesOperationsDelete where+ type Rs EnterprisesDevicesOperationsDelete = Empty+ type Scopes EnterprisesDevicesOperationsDelete =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesOperationsDelete'{..}+ = go _edodName _edodXgafv _edodUploadProtocol+ _edodAccessToken+ _edodUploadType+ _edodCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesDevicesOperationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Get.hs view
@@ -0,0 +1,151 @@+{-# 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.AndroidManagement.Enterprises.Devices.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/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.operations.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Get+ (+ -- * REST Resource+ EnterprisesDevicesOperationsGetResource++ -- * Creating a Request+ , enterprisesDevicesOperationsGet+ , EnterprisesDevicesOperationsGet++ -- * Request Lenses+ , edogXgafv+ , edogUploadProtocol+ , edogAccessToken+ , edogUploadType+ , edogName+ , edogCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.operations.get@ method which the+-- 'EnterprisesDevicesOperationsGet' request conforms to.+type EnterprisesDevicesOperationsGetResource =+ "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:/ 'enterprisesDevicesOperationsGet' smart constructor.+data EnterprisesDevicesOperationsGet = EnterprisesDevicesOperationsGet'+ { _edogXgafv :: !(Maybe Xgafv)+ , _edogUploadProtocol :: !(Maybe Text)+ , _edogAccessToken :: !(Maybe Text)+ , _edogUploadType :: !(Maybe Text)+ , _edogName :: !Text+ , _edogCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edogXgafv'+--+-- * 'edogUploadProtocol'+--+-- * 'edogAccessToken'+--+-- * 'edogUploadType'+--+-- * 'edogName'+--+-- * 'edogCallback'+enterprisesDevicesOperationsGet+ :: Text -- ^ 'edogName'+ -> EnterprisesDevicesOperationsGet+enterprisesDevicesOperationsGet pEdogName_ =+ EnterprisesDevicesOperationsGet'+ { _edogXgafv = Nothing+ , _edogUploadProtocol = Nothing+ , _edogAccessToken = Nothing+ , _edogUploadType = Nothing+ , _edogName = pEdogName_+ , _edogCallback = Nothing+ }++-- | V1 error format.+edogXgafv :: Lens' EnterprisesDevicesOperationsGet (Maybe Xgafv)+edogXgafv+ = lens _edogXgafv (\ s a -> s{_edogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edogUploadProtocol :: Lens' EnterprisesDevicesOperationsGet (Maybe Text)+edogUploadProtocol+ = lens _edogUploadProtocol+ (\ s a -> s{_edogUploadProtocol = a})++-- | OAuth access token.+edogAccessToken :: Lens' EnterprisesDevicesOperationsGet (Maybe Text)+edogAccessToken+ = lens _edogAccessToken+ (\ s a -> s{_edogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edogUploadType :: Lens' EnterprisesDevicesOperationsGet (Maybe Text)+edogUploadType+ = lens _edogUploadType+ (\ s a -> s{_edogUploadType = a})++-- | The name of the operation resource.+edogName :: Lens' EnterprisesDevicesOperationsGet Text+edogName = lens _edogName (\ s a -> s{_edogName = a})++-- | JSONP+edogCallback :: Lens' EnterprisesDevicesOperationsGet (Maybe Text)+edogCallback+ = lens _edogCallback (\ s a -> s{_edogCallback = a})++instance GoogleRequest+ EnterprisesDevicesOperationsGet where+ type Rs EnterprisesDevicesOperationsGet = Operation+ type Scopes EnterprisesDevicesOperationsGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesOperationsGet'{..}+ = go _edogName _edogXgafv _edogUploadProtocol+ _edogAccessToken+ _edogUploadType+ _edogCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesDevicesOperationsGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/List.hs view
@@ -0,0 +1,203 @@+{-# 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.AndroidManagement.Enterprises.Devices.Operations.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns UNIMPLEMENTED.NOTE: the+-- name binding allows API services to override the binding to use+-- different resource name schemes, such as users\/*\/operations. To+-- override the binding, API services can add a binding such as+-- \"\/v1\/{name=users\/*}\/operations\" to their service configuration.+-- For backwards compatibility, the default name includes the operations+-- collection id, however overriding users must ensure the name binding is+-- the parent resource, without the operations collection id.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.operations.list@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.List+ (+ -- * REST Resource+ EnterprisesDevicesOperationsListResource++ -- * Creating a Request+ , enterprisesDevicesOperationsList+ , EnterprisesDevicesOperationsList++ -- * Request Lenses+ , edolXgafv+ , edolUploadProtocol+ , edolAccessToken+ , edolUploadType+ , edolName+ , edolFilter+ , edolPageToken+ , edolPageSize+ , edolCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.operations.list@ method which the+-- 'EnterprisesDevicesOperationsList' request conforms to.+type EnterprisesDevicesOperationsListResource =+ "v1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns UNIMPLEMENTED.NOTE: the+-- name binding allows API services to override the binding to use+-- different resource name schemes, such as users\/*\/operations. To+-- override the binding, API services can add a binding such as+-- \"\/v1\/{name=users\/*}\/operations\" to their service configuration.+-- For backwards compatibility, the default name includes the operations+-- collection id, however overriding users must ensure the name binding is+-- the parent resource, without the operations collection id.+--+-- /See:/ 'enterprisesDevicesOperationsList' smart constructor.+data EnterprisesDevicesOperationsList = EnterprisesDevicesOperationsList'+ { _edolXgafv :: !(Maybe Xgafv)+ , _edolUploadProtocol :: !(Maybe Text)+ , _edolAccessToken :: !(Maybe Text)+ , _edolUploadType :: !(Maybe Text)+ , _edolName :: !Text+ , _edolFilter :: !(Maybe Text)+ , _edolPageToken :: !(Maybe Text)+ , _edolPageSize :: !(Maybe (Textual Int32))+ , _edolCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edolXgafv'+--+-- * 'edolUploadProtocol'+--+-- * 'edolAccessToken'+--+-- * 'edolUploadType'+--+-- * 'edolName'+--+-- * 'edolFilter'+--+-- * 'edolPageToken'+--+-- * 'edolPageSize'+--+-- * 'edolCallback'+enterprisesDevicesOperationsList+ :: Text -- ^ 'edolName'+ -> EnterprisesDevicesOperationsList+enterprisesDevicesOperationsList pEdolName_ =+ EnterprisesDevicesOperationsList'+ { _edolXgafv = Nothing+ , _edolUploadProtocol = Nothing+ , _edolAccessToken = Nothing+ , _edolUploadType = Nothing+ , _edolName = pEdolName_+ , _edolFilter = Nothing+ , _edolPageToken = Nothing+ , _edolPageSize = Nothing+ , _edolCallback = Nothing+ }++-- | V1 error format.+edolXgafv :: Lens' EnterprisesDevicesOperationsList (Maybe Xgafv)+edolXgafv+ = lens _edolXgafv (\ s a -> s{_edolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edolUploadProtocol :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolUploadProtocol+ = lens _edolUploadProtocol+ (\ s a -> s{_edolUploadProtocol = a})++-- | OAuth access token.+edolAccessToken :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolAccessToken+ = lens _edolAccessToken+ (\ s a -> s{_edolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edolUploadType :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolUploadType+ = lens _edolUploadType+ (\ s a -> s{_edolUploadType = a})++-- | The name of the operation\'s parent resource.+edolName :: Lens' EnterprisesDevicesOperationsList Text+edolName = lens _edolName (\ s a -> s{_edolName = a})++-- | The standard list filter.+edolFilter :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolFilter+ = lens _edolFilter (\ s a -> s{_edolFilter = a})++-- | The standard list page token.+edolPageToken :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolPageToken+ = lens _edolPageToken+ (\ s a -> s{_edolPageToken = a})++-- | The standard list page size.+edolPageSize :: Lens' EnterprisesDevicesOperationsList (Maybe Int32)+edolPageSize+ = lens _edolPageSize (\ s a -> s{_edolPageSize = a})+ . mapping _Coerce++-- | JSONP+edolCallback :: Lens' EnterprisesDevicesOperationsList (Maybe Text)+edolCallback+ = lens _edolCallback (\ s a -> s{_edolCallback = a})++instance GoogleRequest+ EnterprisesDevicesOperationsList where+ type Rs EnterprisesDevicesOperationsList =+ ListOperationsResponse+ type Scopes EnterprisesDevicesOperationsList =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesOperationsList'{..}+ = go _edolName _edolXgafv _edolUploadProtocol+ _edolAccessToken+ _edolUploadType+ _edolFilter+ _edolPageToken+ _edolPageSize+ _edolCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesDevicesOperationsListResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Patch.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.AndroidManagement.Enterprises.Devices.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 device.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.devices.patch@.+module Network.Google.Resource.AndroidManagement.Enterprises.Devices.Patch+ (+ -- * REST Resource+ EnterprisesDevicesPatchResource++ -- * Creating a Request+ , enterprisesDevicesPatch+ , EnterprisesDevicesPatch++ -- * Request Lenses+ , edpXgafv+ , edpUploadProtocol+ , edpUpdateMask+ , edpAccessToken+ , edpUploadType+ , edpPayload+ , edpName+ , edpCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.devices.patch@ method which the+-- 'EnterprisesDevicesPatch' request conforms to.+type EnterprisesDevicesPatchResource =+ "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] Device :> Patch '[JSON] Device++-- | Updates a device.+--+-- /See:/ 'enterprisesDevicesPatch' smart constructor.+data EnterprisesDevicesPatch = EnterprisesDevicesPatch'+ { _edpXgafv :: !(Maybe Xgafv)+ , _edpUploadProtocol :: !(Maybe Text)+ , _edpUpdateMask :: !(Maybe GFieldMask)+ , _edpAccessToken :: !(Maybe Text)+ , _edpUploadType :: !(Maybe Text)+ , _edpPayload :: !Device+ , _edpName :: !Text+ , _edpCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDevicesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edpXgafv'+--+-- * 'edpUploadProtocol'+--+-- * 'edpUpdateMask'+--+-- * 'edpAccessToken'+--+-- * 'edpUploadType'+--+-- * 'edpPayload'+--+-- * 'edpName'+--+-- * 'edpCallback'+enterprisesDevicesPatch+ :: Device -- ^ 'edpPayload'+ -> Text -- ^ 'edpName'+ -> EnterprisesDevicesPatch+enterprisesDevicesPatch pEdpPayload_ pEdpName_ =+ EnterprisesDevicesPatch'+ { _edpXgafv = Nothing+ , _edpUploadProtocol = Nothing+ , _edpUpdateMask = Nothing+ , _edpAccessToken = Nothing+ , _edpUploadType = Nothing+ , _edpPayload = pEdpPayload_+ , _edpName = pEdpName_+ , _edpCallback = Nothing+ }++-- | V1 error format.+edpXgafv :: Lens' EnterprisesDevicesPatch (Maybe Xgafv)+edpXgafv = lens _edpXgafv (\ s a -> s{_edpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+edpUploadProtocol :: Lens' EnterprisesDevicesPatch (Maybe Text)+edpUploadProtocol+ = lens _edpUploadProtocol+ (\ s a -> s{_edpUploadProtocol = a})++-- | The field mask indicating the fields to update. If not set, all+-- modifiable fields will be modified.+edpUpdateMask :: Lens' EnterprisesDevicesPatch (Maybe GFieldMask)+edpUpdateMask+ = lens _edpUpdateMask+ (\ s a -> s{_edpUpdateMask = a})++-- | OAuth access token.+edpAccessToken :: Lens' EnterprisesDevicesPatch (Maybe Text)+edpAccessToken+ = lens _edpAccessToken+ (\ s a -> s{_edpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+edpUploadType :: Lens' EnterprisesDevicesPatch (Maybe Text)+edpUploadType+ = lens _edpUploadType+ (\ s a -> s{_edpUploadType = a})++-- | Multipart request metadata.+edpPayload :: Lens' EnterprisesDevicesPatch Device+edpPayload+ = lens _edpPayload (\ s a -> s{_edpPayload = a})++-- | The name of the device in the form+-- enterprises\/{enterpriseId}\/devices\/{deviceId}.+edpName :: Lens' EnterprisesDevicesPatch Text+edpName = lens _edpName (\ s a -> s{_edpName = a})++-- | JSONP+edpCallback :: Lens' EnterprisesDevicesPatch (Maybe Text)+edpCallback+ = lens _edpCallback (\ s a -> s{_edpCallback = a})++instance GoogleRequest EnterprisesDevicesPatch where+ type Rs EnterprisesDevicesPatch = Device+ type Scopes EnterprisesDevicesPatch =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesDevicesPatch'{..}+ = go _edpName _edpXgafv _edpUploadProtocol+ _edpUpdateMask+ _edpAccessToken+ _edpUploadType+ _edpCallback+ (Just AltJSON)+ _edpPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesDevicesPatchResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/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.AndroidManagement.Enterprises.EnrollmentTokens.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 an enrollment token for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.enrollmentTokens.create@.+module Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Create+ (+ -- * REST Resource+ EnterprisesEnrollmentTokensCreateResource++ -- * Creating a Request+ , enterprisesEnrollmentTokensCreate+ , EnterprisesEnrollmentTokensCreate++ -- * Request Lenses+ , eetcParent+ , eetcXgafv+ , eetcUploadProtocol+ , eetcAccessToken+ , eetcUploadType+ , eetcPayload+ , eetcCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.enrollmentTokens.create@ method which the+-- 'EnterprisesEnrollmentTokensCreate' request conforms to.+type EnterprisesEnrollmentTokensCreateResource =+ "v1" :>+ Capture "parent" Text :>+ "enrollmentTokens" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] EnrollmentToken :>+ Post '[JSON] EnrollmentToken++-- | Creates an enrollment token for a given enterprise.+--+-- /See:/ 'enterprisesEnrollmentTokensCreate' smart constructor.+data EnterprisesEnrollmentTokensCreate = EnterprisesEnrollmentTokensCreate'+ { _eetcParent :: !Text+ , _eetcXgafv :: !(Maybe Xgafv)+ , _eetcUploadProtocol :: !(Maybe Text)+ , _eetcAccessToken :: !(Maybe Text)+ , _eetcUploadType :: !(Maybe Text)+ , _eetcPayload :: !EnrollmentToken+ , _eetcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesEnrollmentTokensCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eetcParent'+--+-- * 'eetcXgafv'+--+-- * 'eetcUploadProtocol'+--+-- * 'eetcAccessToken'+--+-- * 'eetcUploadType'+--+-- * 'eetcPayload'+--+-- * 'eetcCallback'+enterprisesEnrollmentTokensCreate+ :: Text -- ^ 'eetcParent'+ -> EnrollmentToken -- ^ 'eetcPayload'+ -> EnterprisesEnrollmentTokensCreate+enterprisesEnrollmentTokensCreate pEetcParent_ pEetcPayload_ =+ EnterprisesEnrollmentTokensCreate'+ { _eetcParent = pEetcParent_+ , _eetcXgafv = Nothing+ , _eetcUploadProtocol = Nothing+ , _eetcAccessToken = Nothing+ , _eetcUploadType = Nothing+ , _eetcPayload = pEetcPayload_+ , _eetcCallback = Nothing+ }++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+eetcParent :: Lens' EnterprisesEnrollmentTokensCreate Text+eetcParent+ = lens _eetcParent (\ s a -> s{_eetcParent = a})++-- | V1 error format.+eetcXgafv :: Lens' EnterprisesEnrollmentTokensCreate (Maybe Xgafv)+eetcXgafv+ = lens _eetcXgafv (\ s a -> s{_eetcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eetcUploadProtocol :: Lens' EnterprisesEnrollmentTokensCreate (Maybe Text)+eetcUploadProtocol+ = lens _eetcUploadProtocol+ (\ s a -> s{_eetcUploadProtocol = a})++-- | OAuth access token.+eetcAccessToken :: Lens' EnterprisesEnrollmentTokensCreate (Maybe Text)+eetcAccessToken+ = lens _eetcAccessToken+ (\ s a -> s{_eetcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eetcUploadType :: Lens' EnterprisesEnrollmentTokensCreate (Maybe Text)+eetcUploadType+ = lens _eetcUploadType+ (\ s a -> s{_eetcUploadType = a})++-- | Multipart request metadata.+eetcPayload :: Lens' EnterprisesEnrollmentTokensCreate EnrollmentToken+eetcPayload+ = lens _eetcPayload (\ s a -> s{_eetcPayload = a})++-- | JSONP+eetcCallback :: Lens' EnterprisesEnrollmentTokensCreate (Maybe Text)+eetcCallback+ = lens _eetcCallback (\ s a -> s{_eetcCallback = a})++instance GoogleRequest+ EnterprisesEnrollmentTokensCreate where+ type Rs EnterprisesEnrollmentTokensCreate =+ EnrollmentToken+ type Scopes EnterprisesEnrollmentTokensCreate =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesEnrollmentTokensCreate'{..}+ = go _eetcParent _eetcXgafv _eetcUploadProtocol+ _eetcAccessToken+ _eetcUploadType+ _eetcCallback+ (Just AltJSON)+ _eetcPayload+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesEnrollmentTokensCreateResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Delete.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.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 enrollment token. This operation invalidates the token,+-- preventing its future use.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.enrollmentTokens.delete@.+module Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Delete+ (+ -- * REST Resource+ EnterprisesEnrollmentTokensDeleteResource++ -- * Creating a Request+ , enterprisesEnrollmentTokensDelete+ , EnterprisesEnrollmentTokensDelete++ -- * Request Lenses+ , eetdXgafv+ , eetdUploadProtocol+ , eetdAccessToken+ , eetdUploadType+ , eetdName+ , eetdCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.enrollmentTokens.delete@ method which the+-- 'EnterprisesEnrollmentTokensDelete' request conforms to.+type EnterprisesEnrollmentTokensDeleteResource =+ "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 enrollment token. This operation invalidates the token,+-- preventing its future use.+--+-- /See:/ 'enterprisesEnrollmentTokensDelete' smart constructor.+data EnterprisesEnrollmentTokensDelete = EnterprisesEnrollmentTokensDelete'+ { _eetdXgafv :: !(Maybe Xgafv)+ , _eetdUploadProtocol :: !(Maybe Text)+ , _eetdAccessToken :: !(Maybe Text)+ , _eetdUploadType :: !(Maybe Text)+ , _eetdName :: !Text+ , _eetdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesEnrollmentTokensDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eetdXgafv'+--+-- * 'eetdUploadProtocol'+--+-- * 'eetdAccessToken'+--+-- * 'eetdUploadType'+--+-- * 'eetdName'+--+-- * 'eetdCallback'+enterprisesEnrollmentTokensDelete+ :: Text -- ^ 'eetdName'+ -> EnterprisesEnrollmentTokensDelete+enterprisesEnrollmentTokensDelete pEetdName_ =+ EnterprisesEnrollmentTokensDelete'+ { _eetdXgafv = Nothing+ , _eetdUploadProtocol = Nothing+ , _eetdAccessToken = Nothing+ , _eetdUploadType = Nothing+ , _eetdName = pEetdName_+ , _eetdCallback = Nothing+ }++-- | V1 error format.+eetdXgafv :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Xgafv)+eetdXgafv+ = lens _eetdXgafv (\ s a -> s{_eetdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eetdUploadProtocol :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Text)+eetdUploadProtocol+ = lens _eetdUploadProtocol+ (\ s a -> s{_eetdUploadProtocol = a})++-- | OAuth access token.+eetdAccessToken :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Text)+eetdAccessToken+ = lens _eetdAccessToken+ (\ s a -> s{_eetdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eetdUploadType :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Text)+eetdUploadType+ = lens _eetdUploadType+ (\ s a -> s{_eetdUploadType = a})++-- | The name of the enrollment token in the form+-- enterprises\/{enterpriseId}\/enrollmentTokens\/{enrollmentTokenId}.+eetdName :: Lens' EnterprisesEnrollmentTokensDelete Text+eetdName = lens _eetdName (\ s a -> s{_eetdName = a})++-- | JSONP+eetdCallback :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Text)+eetdCallback+ = lens _eetdCallback (\ s a -> s{_eetdCallback = a})++instance GoogleRequest+ EnterprisesEnrollmentTokensDelete where+ type Rs EnterprisesEnrollmentTokensDelete = Empty+ type Scopes EnterprisesEnrollmentTokensDelete =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesEnrollmentTokensDelete'{..}+ = go _eetdName _eetdXgafv _eetdUploadProtocol+ _eetdAccessToken+ _eetdUploadType+ _eetdCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy ::+ Proxy EnterprisesEnrollmentTokensDeleteResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Get.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.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 an enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.Get+ (+ -- * REST Resource+ EnterprisesGetResource++ -- * Creating a Request+ , enterprisesGet+ , EnterprisesGet++ -- * Request Lenses+ , egXgafv+ , egUploadProtocol+ , egAccessToken+ , egUploadType+ , egName+ , egCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.get@ method which the+-- 'EnterprisesGet' request conforms to.+type EnterprisesGetResource =+ "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] Enterprise++-- | Gets an enterprise.+--+-- /See:/ 'enterprisesGet' smart constructor.+data EnterprisesGet = EnterprisesGet'+ { _egXgafv :: !(Maybe Xgafv)+ , _egUploadProtocol :: !(Maybe Text)+ , _egAccessToken :: !(Maybe Text)+ , _egUploadType :: !(Maybe Text)+ , _egName :: !Text+ , _egCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egXgafv'+--+-- * 'egUploadProtocol'+--+-- * 'egAccessToken'+--+-- * 'egUploadType'+--+-- * 'egName'+--+-- * 'egCallback'+enterprisesGet+ :: Text -- ^ 'egName'+ -> EnterprisesGet+enterprisesGet pEgName_ =+ EnterprisesGet'+ { _egXgafv = Nothing+ , _egUploadProtocol = Nothing+ , _egAccessToken = Nothing+ , _egUploadType = Nothing+ , _egName = pEgName_+ , _egCallback = Nothing+ }++-- | V1 error format.+egXgafv :: Lens' EnterprisesGet (Maybe Xgafv)+egXgafv = lens _egXgafv (\ s a -> s{_egXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+egUploadProtocol :: Lens' EnterprisesGet (Maybe Text)+egUploadProtocol+ = lens _egUploadProtocol+ (\ s a -> s{_egUploadProtocol = a})++-- | OAuth access token.+egAccessToken :: Lens' EnterprisesGet (Maybe Text)+egAccessToken+ = lens _egAccessToken+ (\ s a -> s{_egAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+egUploadType :: Lens' EnterprisesGet (Maybe Text)+egUploadType+ = lens _egUploadType (\ s a -> s{_egUploadType = a})++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+egName :: Lens' EnterprisesGet Text+egName = lens _egName (\ s a -> s{_egName = a})++-- | JSONP+egCallback :: Lens' EnterprisesGet (Maybe Text)+egCallback+ = lens _egCallback (\ s a -> s{_egCallback = a})++instance GoogleRequest EnterprisesGet where+ type Rs EnterprisesGet = Enterprise+ type Scopes EnterprisesGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesGet'{..}+ = go _egName _egXgafv _egUploadProtocol+ _egAccessToken+ _egUploadType+ _egCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient (Proxy :: Proxy EnterprisesGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Patch.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.AndroidManagement.Enterprises.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 an enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.patch@.+module Network.Google.Resource.AndroidManagement.Enterprises.Patch+ (+ -- * REST Resource+ EnterprisesPatchResource++ -- * Creating a Request+ , enterprisesPatch+ , EnterprisesPatch++ -- * Request Lenses+ , epXgafv+ , epUploadProtocol+ , epUpdateMask+ , epAccessToken+ , epUploadType+ , epPayload+ , epName+ , epCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.patch@ method which the+-- 'EnterprisesPatch' request conforms to.+type EnterprisesPatchResource =+ "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] Enterprise :>+ Patch '[JSON] Enterprise++-- | Updates an enterprise.+--+-- /See:/ 'enterprisesPatch' smart constructor.+data EnterprisesPatch = EnterprisesPatch'+ { _epXgafv :: !(Maybe Xgafv)+ , _epUploadProtocol :: !(Maybe Text)+ , _epUpdateMask :: !(Maybe GFieldMask)+ , _epAccessToken :: !(Maybe Text)+ , _epUploadType :: !(Maybe Text)+ , _epPayload :: !Enterprise+ , _epName :: !Text+ , _epCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epXgafv'+--+-- * 'epUploadProtocol'+--+-- * 'epUpdateMask'+--+-- * 'epAccessToken'+--+-- * 'epUploadType'+--+-- * 'epPayload'+--+-- * 'epName'+--+-- * 'epCallback'+enterprisesPatch+ :: Enterprise -- ^ 'epPayload'+ -> Text -- ^ 'epName'+ -> EnterprisesPatch+enterprisesPatch pEpPayload_ pEpName_ =+ EnterprisesPatch'+ { _epXgafv = Nothing+ , _epUploadProtocol = Nothing+ , _epUpdateMask = Nothing+ , _epAccessToken = Nothing+ , _epUploadType = Nothing+ , _epPayload = pEpPayload_+ , _epName = pEpName_+ , _epCallback = Nothing+ }++-- | V1 error format.+epXgafv :: Lens' EnterprisesPatch (Maybe Xgafv)+epXgafv = lens _epXgafv (\ s a -> s{_epXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+epUploadProtocol :: Lens' EnterprisesPatch (Maybe Text)+epUploadProtocol+ = lens _epUploadProtocol+ (\ s a -> s{_epUploadProtocol = a})++-- | The field mask indicating the fields to update. If not set, all+-- modifiable fields will be modified.+epUpdateMask :: Lens' EnterprisesPatch (Maybe GFieldMask)+epUpdateMask+ = lens _epUpdateMask (\ s a -> s{_epUpdateMask = a})++-- | OAuth access token.+epAccessToken :: Lens' EnterprisesPatch (Maybe Text)+epAccessToken+ = lens _epAccessToken+ (\ s a -> s{_epAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+epUploadType :: Lens' EnterprisesPatch (Maybe Text)+epUploadType+ = lens _epUploadType (\ s a -> s{_epUploadType = a})++-- | Multipart request metadata.+epPayload :: Lens' EnterprisesPatch Enterprise+epPayload+ = lens _epPayload (\ s a -> s{_epPayload = a})++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+epName :: Lens' EnterprisesPatch Text+epName = lens _epName (\ s a -> s{_epName = a})++-- | JSONP+epCallback :: Lens' EnterprisesPatch (Maybe Text)+epCallback+ = lens _epCallback (\ s a -> s{_epCallback = a})++instance GoogleRequest EnterprisesPatch where+ type Rs EnterprisesPatch = Enterprise+ type Scopes EnterprisesPatch =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesPatch'{..}+ = go _epName _epXgafv _epUploadProtocol _epUpdateMask+ _epAccessToken+ _epUploadType+ _epCallback+ (Just AltJSON)+ _epPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesPatchResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Delete.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.AndroidManagement.Enterprises.Policies.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a policy. This operation is only permitted if no devices are+-- currently referencing the policy.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.policies.delete@.+module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Delete+ (+ -- * REST Resource+ EnterprisesPoliciesDeleteResource++ -- * Creating a Request+ , enterprisesPoliciesDelete+ , EnterprisesPoliciesDelete++ -- * Request Lenses+ , epdXgafv+ , epdUploadProtocol+ , epdAccessToken+ , epdUploadType+ , epdName+ , epdCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.policies.delete@ method which the+-- 'EnterprisesPoliciesDelete' request conforms to.+type EnterprisesPoliciesDeleteResource =+ "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 a policy. This operation is only permitted if no devices are+-- currently referencing the policy.+--+-- /See:/ 'enterprisesPoliciesDelete' smart constructor.+data EnterprisesPoliciesDelete = EnterprisesPoliciesDelete'+ { _epdXgafv :: !(Maybe Xgafv)+ , _epdUploadProtocol :: !(Maybe Text)+ , _epdAccessToken :: !(Maybe Text)+ , _epdUploadType :: !(Maybe Text)+ , _epdName :: !Text+ , _epdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesPoliciesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epdXgafv'+--+-- * 'epdUploadProtocol'+--+-- * 'epdAccessToken'+--+-- * 'epdUploadType'+--+-- * 'epdName'+--+-- * 'epdCallback'+enterprisesPoliciesDelete+ :: Text -- ^ 'epdName'+ -> EnterprisesPoliciesDelete+enterprisesPoliciesDelete pEpdName_ =+ EnterprisesPoliciesDelete'+ { _epdXgafv = Nothing+ , _epdUploadProtocol = Nothing+ , _epdAccessToken = Nothing+ , _epdUploadType = Nothing+ , _epdName = pEpdName_+ , _epdCallback = Nothing+ }++-- | V1 error format.+epdXgafv :: Lens' EnterprisesPoliciesDelete (Maybe Xgafv)+epdXgafv = lens _epdXgafv (\ s a -> s{_epdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+epdUploadProtocol :: Lens' EnterprisesPoliciesDelete (Maybe Text)+epdUploadProtocol+ = lens _epdUploadProtocol+ (\ s a -> s{_epdUploadProtocol = a})++-- | OAuth access token.+epdAccessToken :: Lens' EnterprisesPoliciesDelete (Maybe Text)+epdAccessToken+ = lens _epdAccessToken+ (\ s a -> s{_epdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+epdUploadType :: Lens' EnterprisesPoliciesDelete (Maybe Text)+epdUploadType+ = lens _epdUploadType+ (\ s a -> s{_epdUploadType = a})++-- | The name of the policy in the form+-- enterprises\/{enterpriseId}\/policies\/{policyId}.+epdName :: Lens' EnterprisesPoliciesDelete Text+epdName = lens _epdName (\ s a -> s{_epdName = a})++-- | JSONP+epdCallback :: Lens' EnterprisesPoliciesDelete (Maybe Text)+epdCallback+ = lens _epdCallback (\ s a -> s{_epdCallback = a})++instance GoogleRequest EnterprisesPoliciesDelete+ where+ type Rs EnterprisesPoliciesDelete = Empty+ type Scopes EnterprisesPoliciesDelete =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesPoliciesDelete'{..}+ = go _epdName _epdXgafv _epdUploadProtocol+ _epdAccessToken+ _epdUploadType+ _epdCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesPoliciesDeleteResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/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.AndroidManagement.Enterprises.Policies.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 policy.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.policies.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Get+ (+ -- * REST Resource+ EnterprisesPoliciesGetResource++ -- * Creating a Request+ , enterprisesPoliciesGet+ , EnterprisesPoliciesGet++ -- * Request Lenses+ , epgXgafv+ , epgUploadProtocol+ , epgAccessToken+ , epgUploadType+ , epgName+ , epgCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.policies.get@ method which the+-- 'EnterprisesPoliciesGet' request conforms to.+type EnterprisesPoliciesGetResource =+ "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] Policy++-- | Gets a policy.+--+-- /See:/ 'enterprisesPoliciesGet' smart constructor.+data EnterprisesPoliciesGet = EnterprisesPoliciesGet'+ { _epgXgafv :: !(Maybe Xgafv)+ , _epgUploadProtocol :: !(Maybe Text)+ , _epgAccessToken :: !(Maybe Text)+ , _epgUploadType :: !(Maybe Text)+ , _epgName :: !Text+ , _epgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesPoliciesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epgXgafv'+--+-- * 'epgUploadProtocol'+--+-- * 'epgAccessToken'+--+-- * 'epgUploadType'+--+-- * 'epgName'+--+-- * 'epgCallback'+enterprisesPoliciesGet+ :: Text -- ^ 'epgName'+ -> EnterprisesPoliciesGet+enterprisesPoliciesGet pEpgName_ =+ EnterprisesPoliciesGet'+ { _epgXgafv = Nothing+ , _epgUploadProtocol = Nothing+ , _epgAccessToken = Nothing+ , _epgUploadType = Nothing+ , _epgName = pEpgName_+ , _epgCallback = Nothing+ }++-- | V1 error format.+epgXgafv :: Lens' EnterprisesPoliciesGet (Maybe Xgafv)+epgXgafv = lens _epgXgafv (\ s a -> s{_epgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+epgUploadProtocol :: Lens' EnterprisesPoliciesGet (Maybe Text)+epgUploadProtocol+ = lens _epgUploadProtocol+ (\ s a -> s{_epgUploadProtocol = a})++-- | OAuth access token.+epgAccessToken :: Lens' EnterprisesPoliciesGet (Maybe Text)+epgAccessToken+ = lens _epgAccessToken+ (\ s a -> s{_epgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+epgUploadType :: Lens' EnterprisesPoliciesGet (Maybe Text)+epgUploadType+ = lens _epgUploadType+ (\ s a -> s{_epgUploadType = a})++-- | The name of the policy in the form+-- enterprises\/{enterpriseId}\/policies\/{policyId}.+epgName :: Lens' EnterprisesPoliciesGet Text+epgName = lens _epgName (\ s a -> s{_epgName = a})++-- | JSONP+epgCallback :: Lens' EnterprisesPoliciesGet (Maybe Text)+epgCallback+ = lens _epgCallback (\ s a -> s{_epgCallback = a})++instance GoogleRequest EnterprisesPoliciesGet where+ type Rs EnterprisesPoliciesGet = Policy+ type Scopes EnterprisesPoliciesGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesPoliciesGet'{..}+ = go _epgName _epgXgafv _epgUploadProtocol+ _epgAccessToken+ _epgUploadType+ _epgCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesPoliciesGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/List.hs view
@@ -0,0 +1,174 @@+{-# 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.AndroidManagement.Enterprises.Policies.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 policies for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.policies.list@.+module Network.Google.Resource.AndroidManagement.Enterprises.Policies.List+ (+ -- * REST Resource+ EnterprisesPoliciesListResource++ -- * Creating a Request+ , enterprisesPoliciesList+ , EnterprisesPoliciesList++ -- * Request Lenses+ , eplParent+ , eplXgafv+ , eplUploadProtocol+ , eplAccessToken+ , eplUploadType+ , eplPageToken+ , eplPageSize+ , eplCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.policies.list@ method which the+-- 'EnterprisesPoliciesList' request conforms to.+type EnterprisesPoliciesListResource =+ "v1" :>+ Capture "parent" Text :>+ "policies" :>+ 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] ListPoliciesResponse++-- | Lists policies for a given enterprise.+--+-- /See:/ 'enterprisesPoliciesList' smart constructor.+data EnterprisesPoliciesList = EnterprisesPoliciesList'+ { _eplParent :: !Text+ , _eplXgafv :: !(Maybe Xgafv)+ , _eplUploadProtocol :: !(Maybe Text)+ , _eplAccessToken :: !(Maybe Text)+ , _eplUploadType :: !(Maybe Text)+ , _eplPageToken :: !(Maybe Text)+ , _eplPageSize :: !(Maybe (Textual Int32))+ , _eplCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesPoliciesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eplParent'+--+-- * 'eplXgafv'+--+-- * 'eplUploadProtocol'+--+-- * 'eplAccessToken'+--+-- * 'eplUploadType'+--+-- * 'eplPageToken'+--+-- * 'eplPageSize'+--+-- * 'eplCallback'+enterprisesPoliciesList+ :: Text -- ^ 'eplParent'+ -> EnterprisesPoliciesList+enterprisesPoliciesList pEplParent_ =+ EnterprisesPoliciesList'+ { _eplParent = pEplParent_+ , _eplXgafv = Nothing+ , _eplUploadProtocol = Nothing+ , _eplAccessToken = Nothing+ , _eplUploadType = Nothing+ , _eplPageToken = Nothing+ , _eplPageSize = Nothing+ , _eplCallback = Nothing+ }++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+eplParent :: Lens' EnterprisesPoliciesList Text+eplParent+ = lens _eplParent (\ s a -> s{_eplParent = a})++-- | V1 error format.+eplXgafv :: Lens' EnterprisesPoliciesList (Maybe Xgafv)+eplXgafv = lens _eplXgafv (\ s a -> s{_eplXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eplUploadProtocol :: Lens' EnterprisesPoliciesList (Maybe Text)+eplUploadProtocol+ = lens _eplUploadProtocol+ (\ s a -> s{_eplUploadProtocol = a})++-- | OAuth access token.+eplAccessToken :: Lens' EnterprisesPoliciesList (Maybe Text)+eplAccessToken+ = lens _eplAccessToken+ (\ s a -> s{_eplAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eplUploadType :: Lens' EnterprisesPoliciesList (Maybe Text)+eplUploadType+ = lens _eplUploadType+ (\ s a -> s{_eplUploadType = a})++-- | A token identifying a page of results returned by the server.+eplPageToken :: Lens' EnterprisesPoliciesList (Maybe Text)+eplPageToken+ = lens _eplPageToken (\ s a -> s{_eplPageToken = a})++-- | The requested page size. The actual page size may be fixed to a min or+-- max value.+eplPageSize :: Lens' EnterprisesPoliciesList (Maybe Int32)+eplPageSize+ = lens _eplPageSize (\ s a -> s{_eplPageSize = a}) .+ mapping _Coerce++-- | JSONP+eplCallback :: Lens' EnterprisesPoliciesList (Maybe Text)+eplCallback+ = lens _eplCallback (\ s a -> s{_eplCallback = a})++instance GoogleRequest EnterprisesPoliciesList where+ type Rs EnterprisesPoliciesList =+ ListPoliciesResponse+ type Scopes EnterprisesPoliciesList =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesPoliciesList'{..}+ = go _eplParent _eplXgafv _eplUploadProtocol+ _eplAccessToken+ _eplUploadType+ _eplPageToken+ _eplPageSize+ _eplCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesPoliciesListResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Patch.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.AndroidManagement.Enterprises.Policies.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 or creates a policy.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.policies.patch@.+module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Patch+ (+ -- * REST Resource+ EnterprisesPoliciesPatchResource++ -- * Creating a Request+ , enterprisesPoliciesPatch+ , EnterprisesPoliciesPatch++ -- * Request Lenses+ , eppXgafv+ , eppUploadProtocol+ , eppUpdateMask+ , eppAccessToken+ , eppUploadType+ , eppPayload+ , eppName+ , eppCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.policies.patch@ method which the+-- 'EnterprisesPoliciesPatch' request conforms to.+type EnterprisesPoliciesPatchResource =+ "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] Policy :> Patch '[JSON] Policy++-- | Updates or creates a policy.+--+-- /See:/ 'enterprisesPoliciesPatch' smart constructor.+data EnterprisesPoliciesPatch = EnterprisesPoliciesPatch'+ { _eppXgafv :: !(Maybe Xgafv)+ , _eppUploadProtocol :: !(Maybe Text)+ , _eppUpdateMask :: !(Maybe GFieldMask)+ , _eppAccessToken :: !(Maybe Text)+ , _eppUploadType :: !(Maybe Text)+ , _eppPayload :: !Policy+ , _eppName :: !Text+ , _eppCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesPoliciesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eppXgafv'+--+-- * 'eppUploadProtocol'+--+-- * 'eppUpdateMask'+--+-- * 'eppAccessToken'+--+-- * 'eppUploadType'+--+-- * 'eppPayload'+--+-- * 'eppName'+--+-- * 'eppCallback'+enterprisesPoliciesPatch+ :: Policy -- ^ 'eppPayload'+ -> Text -- ^ 'eppName'+ -> EnterprisesPoliciesPatch+enterprisesPoliciesPatch pEppPayload_ pEppName_ =+ EnterprisesPoliciesPatch'+ { _eppXgafv = Nothing+ , _eppUploadProtocol = Nothing+ , _eppUpdateMask = Nothing+ , _eppAccessToken = Nothing+ , _eppUploadType = Nothing+ , _eppPayload = pEppPayload_+ , _eppName = pEppName_+ , _eppCallback = Nothing+ }++-- | V1 error format.+eppXgafv :: Lens' EnterprisesPoliciesPatch (Maybe Xgafv)+eppXgafv = lens _eppXgafv (\ s a -> s{_eppXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+eppUploadProtocol :: Lens' EnterprisesPoliciesPatch (Maybe Text)+eppUploadProtocol+ = lens _eppUploadProtocol+ (\ s a -> s{_eppUploadProtocol = a})++-- | The field mask indicating the fields to update. If not set, all+-- modifiable fields will be modified.+eppUpdateMask :: Lens' EnterprisesPoliciesPatch (Maybe GFieldMask)+eppUpdateMask+ = lens _eppUpdateMask+ (\ s a -> s{_eppUpdateMask = a})++-- | OAuth access token.+eppAccessToken :: Lens' EnterprisesPoliciesPatch (Maybe Text)+eppAccessToken+ = lens _eppAccessToken+ (\ s a -> s{_eppAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+eppUploadType :: Lens' EnterprisesPoliciesPatch (Maybe Text)+eppUploadType+ = lens _eppUploadType+ (\ s a -> s{_eppUploadType = a})++-- | Multipart request metadata.+eppPayload :: Lens' EnterprisesPoliciesPatch Policy+eppPayload+ = lens _eppPayload (\ s a -> s{_eppPayload = a})++-- | The name of the policy in the form+-- enterprises\/{enterpriseId}\/policies\/{policyId}.+eppName :: Lens' EnterprisesPoliciesPatch Text+eppName = lens _eppName (\ s a -> s{_eppName = a})++-- | JSONP+eppCallback :: Lens' EnterprisesPoliciesPatch (Maybe Text)+eppCallback+ = lens _eppCallback (\ s a -> s{_eppCallback = a})++instance GoogleRequest EnterprisesPoliciesPatch where+ type Rs EnterprisesPoliciesPatch = Policy+ type Scopes EnterprisesPoliciesPatch =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesPoliciesPatch'{..}+ = go _eppName _eppXgafv _eppUploadProtocol+ _eppUpdateMask+ _eppAccessToken+ _eppUploadType+ _eppCallback+ (Just AltJSON)+ _eppPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesPoliciesPatchResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebTokens/Create.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.AndroidManagement.Enterprises.WebTokens.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 web token to access an embeddable managed Google Play web UI+-- for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webTokens.create@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create+ (+ -- * REST Resource+ EnterprisesWebTokensCreateResource++ -- * Creating a Request+ , enterprisesWebTokensCreate+ , EnterprisesWebTokensCreate++ -- * Request Lenses+ , ewtcParent+ , ewtcXgafv+ , ewtcUploadProtocol+ , ewtcAccessToken+ , ewtcUploadType+ , ewtcPayload+ , ewtcCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webTokens.create@ method which the+-- 'EnterprisesWebTokensCreate' request conforms to.+type EnterprisesWebTokensCreateResource =+ "v1" :>+ Capture "parent" Text :>+ "webTokens" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] WebToken :> Post '[JSON] WebToken++-- | Creates a web token to access an embeddable managed Google Play web UI+-- for a given enterprise.+--+-- /See:/ 'enterprisesWebTokensCreate' smart constructor.+data EnterprisesWebTokensCreate = EnterprisesWebTokensCreate'+ { _ewtcParent :: !Text+ , _ewtcXgafv :: !(Maybe Xgafv)+ , _ewtcUploadProtocol :: !(Maybe Text)+ , _ewtcAccessToken :: !(Maybe Text)+ , _ewtcUploadType :: !(Maybe Text)+ , _ewtcPayload :: !WebToken+ , _ewtcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesWebTokensCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewtcParent'+--+-- * 'ewtcXgafv'+--+-- * 'ewtcUploadProtocol'+--+-- * 'ewtcAccessToken'+--+-- * 'ewtcUploadType'+--+-- * 'ewtcPayload'+--+-- * 'ewtcCallback'+enterprisesWebTokensCreate+ :: Text -- ^ 'ewtcParent'+ -> WebToken -- ^ 'ewtcPayload'+ -> EnterprisesWebTokensCreate+enterprisesWebTokensCreate pEwtcParent_ pEwtcPayload_ =+ EnterprisesWebTokensCreate'+ { _ewtcParent = pEwtcParent_+ , _ewtcXgafv = Nothing+ , _ewtcUploadProtocol = Nothing+ , _ewtcAccessToken = Nothing+ , _ewtcUploadType = Nothing+ , _ewtcPayload = pEwtcPayload_+ , _ewtcCallback = Nothing+ }++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+ewtcParent :: Lens' EnterprisesWebTokensCreate Text+ewtcParent+ = lens _ewtcParent (\ s a -> s{_ewtcParent = a})++-- | V1 error format.+ewtcXgafv :: Lens' EnterprisesWebTokensCreate (Maybe Xgafv)+ewtcXgafv+ = lens _ewtcXgafv (\ s a -> s{_ewtcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewtcUploadProtocol :: Lens' EnterprisesWebTokensCreate (Maybe Text)+ewtcUploadProtocol+ = lens _ewtcUploadProtocol+ (\ s a -> s{_ewtcUploadProtocol = a})++-- | OAuth access token.+ewtcAccessToken :: Lens' EnterprisesWebTokensCreate (Maybe Text)+ewtcAccessToken+ = lens _ewtcAccessToken+ (\ s a -> s{_ewtcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewtcUploadType :: Lens' EnterprisesWebTokensCreate (Maybe Text)+ewtcUploadType+ = lens _ewtcUploadType+ (\ s a -> s{_ewtcUploadType = a})++-- | Multipart request metadata.+ewtcPayload :: Lens' EnterprisesWebTokensCreate WebToken+ewtcPayload+ = lens _ewtcPayload (\ s a -> s{_ewtcPayload = a})++-- | JSONP+ewtcCallback :: Lens' EnterprisesWebTokensCreate (Maybe Text)+ewtcCallback+ = lens _ewtcCallback (\ s a -> s{_ewtcCallback = a})++instance GoogleRequest EnterprisesWebTokensCreate+ where+ type Rs EnterprisesWebTokensCreate = WebToken+ type Scopes EnterprisesWebTokensCreate =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebTokensCreate'{..}+ = go _ewtcParent _ewtcXgafv _ewtcUploadProtocol+ _ewtcAccessToken+ _ewtcUploadType+ _ewtcCallback+ (Just AltJSON)+ _ewtcPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebTokensCreateResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/SignupURLs/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.AndroidManagement.SignupURLs.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 an enterprise signup URL.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.signupUrls.create@.+module Network.Google.Resource.AndroidManagement.SignupURLs.Create+ (+ -- * REST Resource+ SignupURLsCreateResource++ -- * Creating a Request+ , signupURLsCreate+ , SignupURLsCreate++ -- * Request Lenses+ , sucXgafv+ , sucUploadProtocol+ , sucCallbackURL+ , sucAccessToken+ , sucUploadType+ , sucProjectId+ , sucCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.signupUrls.create@ method which the+-- 'SignupURLsCreate' request conforms to.+type SignupURLsCreateResource =+ "v1" :>+ "signupUrls" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "callbackUrl" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "projectId" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] SignupURL++-- | Creates an enterprise signup URL.+--+-- /See:/ 'signupURLsCreate' smart constructor.+data SignupURLsCreate = SignupURLsCreate'+ { _sucXgafv :: !(Maybe Xgafv)+ , _sucUploadProtocol :: !(Maybe Text)+ , _sucCallbackURL :: !(Maybe Text)+ , _sucAccessToken :: !(Maybe Text)+ , _sucUploadType :: !(Maybe Text)+ , _sucProjectId :: !(Maybe Text)+ , _sucCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SignupURLsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sucXgafv'+--+-- * 'sucUploadProtocol'+--+-- * 'sucCallbackURL'+--+-- * 'sucAccessToken'+--+-- * 'sucUploadType'+--+-- * 'sucProjectId'+--+-- * 'sucCallback'+signupURLsCreate+ :: SignupURLsCreate+signupURLsCreate =+ SignupURLsCreate'+ { _sucXgafv = Nothing+ , _sucUploadProtocol = Nothing+ , _sucCallbackURL = Nothing+ , _sucAccessToken = Nothing+ , _sucUploadType = Nothing+ , _sucProjectId = Nothing+ , _sucCallback = Nothing+ }++-- | V1 error format.+sucXgafv :: Lens' SignupURLsCreate (Maybe Xgafv)+sucXgafv = lens _sucXgafv (\ s a -> s{_sucXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sucUploadProtocol :: Lens' SignupURLsCreate (Maybe Text)+sucUploadProtocol+ = lens _sucUploadProtocol+ (\ s a -> s{_sucUploadProtocol = a})++-- | The callback URL that the admin will be redirected to after successfully+-- creating an enterprise. Before redirecting there the system will add a+-- query parameter to this URL named enterpriseToken which will contain an+-- opaque token to be used for the create enterprise request. The URL will+-- be parsed then reformatted in order to add the enterpriseToken+-- parameter, so there may be some minor formatting changes.+sucCallbackURL :: Lens' SignupURLsCreate (Maybe Text)+sucCallbackURL+ = lens _sucCallbackURL+ (\ s a -> s{_sucCallbackURL = a})++-- | OAuth access token.+sucAccessToken :: Lens' SignupURLsCreate (Maybe Text)+sucAccessToken+ = lens _sucAccessToken+ (\ s a -> s{_sucAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sucUploadType :: Lens' SignupURLsCreate (Maybe Text)+sucUploadType+ = lens _sucUploadType+ (\ s a -> s{_sucUploadType = a})++-- | The ID of the Google Cloud Platform project which will own the+-- enterprise.+sucProjectId :: Lens' SignupURLsCreate (Maybe Text)+sucProjectId+ = lens _sucProjectId (\ s a -> s{_sucProjectId = a})++-- | JSONP+sucCallback :: Lens' SignupURLsCreate (Maybe Text)+sucCallback+ = lens _sucCallback (\ s a -> s{_sucCallback = a})++instance GoogleRequest SignupURLsCreate where+ type Rs SignupURLsCreate = SignupURL+ type Scopes SignupURLsCreate =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient SignupURLsCreate'{..}+ = go _sucXgafv _sucUploadProtocol _sucCallbackURL+ _sucAccessToken+ _sucUploadType+ _sucProjectId+ _sucCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy SignupURLsCreateResource)+ mempty
+ gogol-androidmanagement.cabal view
@@ -0,0 +1,67 @@+name: gogol-androidmanagement+version: 0.4.0+synopsis: Google Android Management 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:+ The Android Management API provides remote enterprise management of+ Android devices and apps.+ .+ /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.AndroidManagement+ , Network.Google.AndroidManagement.Types+ , Network.Google.Resource.AndroidManagement.Enterprises.Applications.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.Create+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Delete+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.IssueCommand+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.List+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Cancel+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Delete+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Operations.List+ , Network.Google.Resource.AndroidManagement.Enterprises.Devices.Patch+ , Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Create+ , Network.Google.Resource.AndroidManagement.Enterprises.EnrollmentTokens.Delete+ , Network.Google.Resource.AndroidManagement.Enterprises.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.Patch+ , Network.Google.Resource.AndroidManagement.Enterprises.Policies.Delete+ , Network.Google.Resource.AndroidManagement.Enterprises.Policies.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.Policies.List+ , Network.Google.Resource.AndroidManagement.Enterprises.Policies.Patch+ , Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create+ , Network.Google.Resource.AndroidManagement.SignupURLs.Create++ other-modules:+ Network.Google.AndroidManagement.Types.Product+ , Network.Google.AndroidManagement.Types.Sum++ build-depends:+ gogol-core == 0.4.0.*+ , base >= 4.7 && < 5
+ src/.gitkeep view