gogol-androidmanagement 0.4.0 → 0.5.0
raw patch · 32 files changed
+7502/−5723 lines, 32 filesdep ~gogol-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
+ Network.Google.AndroidManagement: DisplayModeUnspecified :: WebAppDisplayMode
+ Network.Google.AndroidManagement: Error' :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement: FullScreen :: WebAppDisplayMode
+ Network.Google.AndroidManagement: Info :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement: MinimalUi :: WebAppDisplayMode
+ Network.Google.AndroidManagement: RequiredForSetup :: ApplicationPolicyInstallType
+ Network.Google.AndroidManagement: SeverityUnspecified :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement: Standalone :: WebAppDisplayMode
+ Network.Google.AndroidManagement: applicationReportingSettings :: ApplicationReportingSettings
+ Network.Google.AndroidManagement: arKeyedAppStates :: Lens' ApplicationReport [KeyedAppState]
+ Network.Google.AndroidManagement: arsIncludeRemovedApps :: Lens' ApplicationReportingSettings (Maybe Bool)
+ Network.Google.AndroidManagement: data ApplicationReportingSettings
+ Network.Google.AndroidManagement: data KeyedAppState
+ Network.Google.AndroidManagement: data KeyedAppStateSeverity
+ Network.Google.AndroidManagement: data LaunchAppAction
+ Network.Google.AndroidManagement: data ListWebAppsResponse
+ Network.Google.AndroidManagement: data SetupAction
+ Network.Google.AndroidManagement: data WebApp
+ Network.Google.AndroidManagement: data WebAppDisplayMode
+ Network.Google.AndroidManagement: data WebAppIcon
+ Network.Google.AndroidManagement: kasCreateTime :: Lens' KeyedAppState (Maybe UTCTime)
+ Network.Google.AndroidManagement: kasData :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement: kasKey :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement: kasLastUpdateTime :: Lens' KeyedAppState (Maybe UTCTime)
+ Network.Google.AndroidManagement: kasMessage :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement: kasSeverity :: Lens' KeyedAppState (Maybe KeyedAppStateSeverity)
+ Network.Google.AndroidManagement: keyedAppState :: KeyedAppState
+ Network.Google.AndroidManagement: laaPackageName :: Lens' LaunchAppAction (Maybe Text)
+ Network.Google.AndroidManagement: launchAppAction :: LaunchAppAction
+ Network.Google.AndroidManagement: listWebAppsResponse :: ListWebAppsResponse
+ Network.Google.AndroidManagement: lwarNextPageToken :: Lens' ListWebAppsResponse (Maybe Text)
+ Network.Google.AndroidManagement: lwarWebApps :: Lens' ListWebAppsResponse [WebApp]
+ Network.Google.AndroidManagement: pSetupActions :: Lens' Policy [SetupAction]
+ Network.Google.AndroidManagement: saDescription :: Lens' SetupAction (Maybe UserFacingMessage)
+ Network.Google.AndroidManagement: saLaunchApp :: Lens' SetupAction (Maybe LaunchAppAction)
+ Network.Google.AndroidManagement: saTitle :: Lens' SetupAction (Maybe UserFacingMessage)
+ Network.Google.AndroidManagement: setupAction :: SetupAction
+ Network.Google.AndroidManagement: srsApplicationReportingSettings :: Lens' StatusReportingSettings (Maybe ApplicationReportingSettings)
+ Network.Google.AndroidManagement: waDisplayMode :: Lens' WebApp (Maybe WebAppDisplayMode)
+ Network.Google.AndroidManagement: waIcons :: Lens' WebApp [WebAppIcon]
+ Network.Google.AndroidManagement: waName :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement: waStartURL :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement: waTitle :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement: waVersionCode :: Lens' WebApp (Maybe Int64)
+ Network.Google.AndroidManagement: waiImageData :: Lens' WebAppIcon (Maybe Text)
+ Network.Google.AndroidManagement: webApp :: WebApp
+ Network.Google.AndroidManagement: webAppIcon :: WebAppIcon
+ Network.Google.AndroidManagement.Types: DisplayModeUnspecified :: WebAppDisplayMode
+ Network.Google.AndroidManagement.Types: Error' :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement.Types: FullScreen :: WebAppDisplayMode
+ Network.Google.AndroidManagement.Types: Info :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement.Types: MinimalUi :: WebAppDisplayMode
+ Network.Google.AndroidManagement.Types: RequiredForSetup :: ApplicationPolicyInstallType
+ Network.Google.AndroidManagement.Types: SeverityUnspecified :: KeyedAppStateSeverity
+ Network.Google.AndroidManagement.Types: Standalone :: WebAppDisplayMode
+ Network.Google.AndroidManagement.Types: applicationReportingSettings :: ApplicationReportingSettings
+ Network.Google.AndroidManagement.Types: arKeyedAppStates :: Lens' ApplicationReport [KeyedAppState]
+ Network.Google.AndroidManagement.Types: arsIncludeRemovedApps :: Lens' ApplicationReportingSettings (Maybe Bool)
+ Network.Google.AndroidManagement.Types: data ApplicationReportingSettings
+ Network.Google.AndroidManagement.Types: data KeyedAppState
+ Network.Google.AndroidManagement.Types: data KeyedAppStateSeverity
+ Network.Google.AndroidManagement.Types: data LaunchAppAction
+ Network.Google.AndroidManagement.Types: data ListWebAppsResponse
+ Network.Google.AndroidManagement.Types: data SetupAction
+ Network.Google.AndroidManagement.Types: data WebApp
+ Network.Google.AndroidManagement.Types: data WebAppDisplayMode
+ Network.Google.AndroidManagement.Types: data WebAppIcon
+ Network.Google.AndroidManagement.Types: kasCreateTime :: Lens' KeyedAppState (Maybe UTCTime)
+ Network.Google.AndroidManagement.Types: kasData :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement.Types: kasKey :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement.Types: kasLastUpdateTime :: Lens' KeyedAppState (Maybe UTCTime)
+ Network.Google.AndroidManagement.Types: kasMessage :: Lens' KeyedAppState (Maybe Text)
+ Network.Google.AndroidManagement.Types: kasSeverity :: Lens' KeyedAppState (Maybe KeyedAppStateSeverity)
+ Network.Google.AndroidManagement.Types: keyedAppState :: KeyedAppState
+ Network.Google.AndroidManagement.Types: laaPackageName :: Lens' LaunchAppAction (Maybe Text)
+ Network.Google.AndroidManagement.Types: launchAppAction :: LaunchAppAction
+ Network.Google.AndroidManagement.Types: listWebAppsResponse :: ListWebAppsResponse
+ Network.Google.AndroidManagement.Types: lwarNextPageToken :: Lens' ListWebAppsResponse (Maybe Text)
+ Network.Google.AndroidManagement.Types: lwarWebApps :: Lens' ListWebAppsResponse [WebApp]
+ Network.Google.AndroidManagement.Types: pSetupActions :: Lens' Policy [SetupAction]
+ Network.Google.AndroidManagement.Types: saDescription :: Lens' SetupAction (Maybe UserFacingMessage)
+ Network.Google.AndroidManagement.Types: saLaunchApp :: Lens' SetupAction (Maybe LaunchAppAction)
+ Network.Google.AndroidManagement.Types: saTitle :: Lens' SetupAction (Maybe UserFacingMessage)
+ Network.Google.AndroidManagement.Types: setupAction :: SetupAction
+ Network.Google.AndroidManagement.Types: srsApplicationReportingSettings :: Lens' StatusReportingSettings (Maybe ApplicationReportingSettings)
+ Network.Google.AndroidManagement.Types: waDisplayMode :: Lens' WebApp (Maybe WebAppDisplayMode)
+ Network.Google.AndroidManagement.Types: waIcons :: Lens' WebApp [WebAppIcon]
+ Network.Google.AndroidManagement.Types: waName :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement.Types: waStartURL :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement.Types: waTitle :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidManagement.Types: waVersionCode :: Lens' WebApp (Maybe Int64)
+ Network.Google.AndroidManagement.Types: waiImageData :: Lens' WebAppIcon (Maybe Text)
+ Network.Google.AndroidManagement.Types: webApp :: WebApp
+ Network.Google.AndroidManagement.Types: webAppIcon :: WebAppIcon
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: data EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: enterprisesWebAppsCreate :: Text -> WebApp -> EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacAccessToken :: Lens' EnterprisesWebAppsCreate (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacCallback :: Lens' EnterprisesWebAppsCreate (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacParent :: Lens' EnterprisesWebAppsCreate Text
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacPayload :: Lens' EnterprisesWebAppsCreate WebApp
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacUploadProtocol :: Lens' EnterprisesWebAppsCreate (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacUploadType :: Lens' EnterprisesWebAppsCreate (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: ewacXgafv :: Lens' EnterprisesWebAppsCreate (Maybe Xgafv)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: instance Data.Data.Data Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create.EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: instance GHC.Classes.Eq Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create.EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: instance GHC.Generics.Generic Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create.EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: instance GHC.Show.Show Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create.EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create.EnterprisesWebAppsCreate
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create: type EnterprisesWebAppsCreateResource = "v1" :> Capture "parent" Text :> "webApps" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] WebApp :> Post '[JSON] WebApp
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: data EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: enterprisesWebAppsDelete :: Text -> EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadAccessToken :: Lens' EnterprisesWebAppsDelete (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadCallback :: Lens' EnterprisesWebAppsDelete (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadName :: Lens' EnterprisesWebAppsDelete Text
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadUploadProtocol :: Lens' EnterprisesWebAppsDelete (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadUploadType :: Lens' EnterprisesWebAppsDelete (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: ewadXgafv :: Lens' EnterprisesWebAppsDelete (Maybe Xgafv)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: instance Data.Data.Data Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete.EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: instance GHC.Classes.Eq Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete.EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: instance GHC.Generics.Generic Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete.EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: instance GHC.Show.Show Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete.EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete.EnterprisesWebAppsDelete
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete: type EnterprisesWebAppsDeleteResource = "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
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: data EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: enterprisesWebAppsGet :: Text -> EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagAccessToken :: Lens' EnterprisesWebAppsGet (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagCallback :: Lens' EnterprisesWebAppsGet (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagName :: Lens' EnterprisesWebAppsGet Text
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagUploadProtocol :: Lens' EnterprisesWebAppsGet (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagUploadType :: Lens' EnterprisesWebAppsGet (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: ewagXgafv :: Lens' EnterprisesWebAppsGet (Maybe Xgafv)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: instance Data.Data.Data Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get.EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: instance GHC.Classes.Eq Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get.EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: instance GHC.Generics.Generic Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get.EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: instance GHC.Show.Show Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get.EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get.EnterprisesWebAppsGet
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get: type EnterprisesWebAppsGetResource = "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] WebApp
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: data EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: enterprisesWebAppsList :: Text -> EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalAccessToken :: Lens' EnterprisesWebAppsList (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalCallback :: Lens' EnterprisesWebAppsList (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalPageSize :: Lens' EnterprisesWebAppsList (Maybe Int32)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalPageToken :: Lens' EnterprisesWebAppsList (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalParent :: Lens' EnterprisesWebAppsList Text
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalUploadProtocol :: Lens' EnterprisesWebAppsList (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalUploadType :: Lens' EnterprisesWebAppsList (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: ewalXgafv :: Lens' EnterprisesWebAppsList (Maybe Xgafv)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: instance Data.Data.Data Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List.EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: instance GHC.Classes.Eq Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List.EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: instance GHC.Generics.Generic Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List.EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: instance GHC.Show.Show Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List.EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List.EnterprisesWebAppsList
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List: type EnterprisesWebAppsListResource = "v1" :> Capture "parent" Text :> "webApps" :> 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] ListWebAppsResponse
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: data EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: enterprisesWebAppsPatch :: WebApp -> Text -> EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapAccessToken :: Lens' EnterprisesWebAppsPatch (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapCallback :: Lens' EnterprisesWebAppsPatch (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapName :: Lens' EnterprisesWebAppsPatch Text
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapPayload :: Lens' EnterprisesWebAppsPatch WebApp
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapUpdateMask :: Lens' EnterprisesWebAppsPatch (Maybe GFieldMask)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapUploadProtocol :: Lens' EnterprisesWebAppsPatch (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapUploadType :: Lens' EnterprisesWebAppsPatch (Maybe Text)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: ewapXgafv :: Lens' EnterprisesWebAppsPatch (Maybe Xgafv)
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: instance Data.Data.Data Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch.EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: instance GHC.Classes.Eq Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch.EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: instance GHC.Generics.Generic Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch.EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: instance GHC.Show.Show Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch.EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch.EnterprisesWebAppsPatch
+ Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch: type EnterprisesWebAppsPatchResource = "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] WebApp :> Patch '[JSON] WebApp
- Network.Google.AndroidManagement: type AndroidManagementAPI = EnterprisesEnrollmentTokensCreateResource :<|> EnterprisesEnrollmentTokensDeleteResource :<|> EnterprisesWebTokensCreateResource :<|> EnterprisesDevicesOperationsListResource :<|> EnterprisesDevicesOperationsGetResource :<|> EnterprisesDevicesOperationsCancelResource :<|> EnterprisesDevicesOperationsDeleteResource :<|> EnterprisesDevicesListResource :<|> EnterprisesDevicesPatchResource :<|> EnterprisesDevicesGetResource :<|> EnterprisesDevicesIssueCommandResource :<|> EnterprisesDevicesDeleteResource :<|> EnterprisesPoliciesListResource :<|> EnterprisesPoliciesPatchResource :<|> EnterprisesPoliciesGetResource :<|> EnterprisesPoliciesDeleteResource :<|> EnterprisesApplicationsGetResource :<|> EnterprisesPatchResource :<|> EnterprisesGetResource :<|> EnterprisesCreateResource :<|> SignupURLsCreateResource
+ Network.Google.AndroidManagement: type AndroidManagementAPI = EnterprisesEnrollmentTokensCreateResource :<|> EnterprisesEnrollmentTokensDeleteResource :<|> EnterprisesWebAppsListResource :<|> EnterprisesWebAppsPatchResource :<|> EnterprisesWebAppsGetResource :<|> EnterprisesWebAppsCreateResource :<|> EnterprisesWebAppsDeleteResource :<|> EnterprisesWebTokensCreateResource :<|> EnterprisesDevicesOperationsListResource :<|> EnterprisesDevicesOperationsGetResource :<|> EnterprisesDevicesOperationsCancelResource :<|> EnterprisesDevicesOperationsDeleteResource :<|> EnterprisesDevicesListResource :<|> EnterprisesDevicesPatchResource :<|> EnterprisesDevicesGetResource :<|> EnterprisesDevicesIssueCommandResource :<|> EnterprisesDevicesDeleteResource :<|> EnterprisesPoliciesListResource :<|> EnterprisesPoliciesPatchResource :<|> EnterprisesPoliciesGetResource :<|> EnterprisesPoliciesDeleteResource :<|> EnterprisesApplicationsGetResource :<|> EnterprisesPatchResource :<|> EnterprisesGetResource :<|> EnterprisesCreateResource :<|> SignupURLsCreateResource
Files
- README.md +1/−1
- gen/Network/Google/AndroidManagement.hs +82/−0
- gen/Network/Google/AndroidManagement/Types.hs +58/−1
- gen/Network/Google/AndroidManagement/Types/Product.hs +6288/−5649
- gen/Network/Google/AndroidManagement/Types/Sum.hs +87/−1
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Applications/Get.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Create.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Delete.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Get.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/IssueCommand.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/List.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Cancel.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Delete.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Get.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/List.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Patch.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Create.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Delete.hs +9/−4
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Get.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Patch.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Delete.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Get.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/List.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Patch.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Create.hs +164/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Delete.hs +150/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Get.hs +150/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/List.hs +179/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Patch.hs +177/−0
- gen/Network/Google/Resource/AndroidManagement/Enterprises/WebTokens/Create.hs +7/−3
- gen/Network/Google/Resource/AndroidManagement/SignupURLs/Create.hs +7/−3
- gogol-androidmanagement.cabal +7/−2
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.3.0`+`0.5.0` ## Description
gen/Network/Google/AndroidManagement.hs view
@@ -87,6 +87,21 @@ -- ** androidmanagement.enterprises.policies.patch , module Network.Google.Resource.AndroidManagement.Enterprises.Policies.Patch + -- ** androidmanagement.enterprises.webApps.create+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create++ -- ** androidmanagement.enterprises.webApps.delete+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete++ -- ** androidmanagement.enterprises.webApps.get+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get++ -- ** androidmanagement.enterprises.webApps.list+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List++ -- ** androidmanagement.enterprises.webApps.patch+ , module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch+ -- ** androidmanagement.enterprises.webTokens.create , module Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create @@ -167,6 +182,11 @@ , policyOpenNetworkConfiguration , poncAddtional + -- ** LaunchAppAction+ , LaunchAppAction+ , launchAppAction+ , laaPackageName+ -- ** CommandErrorCode , CommandErrorCode (..) @@ -319,6 +339,9 @@ , devEnrollmentTime , devDisplays + -- ** WebAppDisplayMode+ , WebAppDisplayMode (..)+ -- ** ApplicationReportApplicationSource , ApplicationReportApplicationSource (..) @@ -381,6 +404,7 @@ , arVersionName , arPackageName , arPackageSha256Hash+ , arKeyedAppStates , arApplicationSource , arEvents , arDisplayName@@ -421,6 +445,7 @@ , srsMemoryInfoEnabled , srsNetworkInfoEnabled , srsDeviceSettingsEnabled+ , srsApplicationReportingSettings -- ** CommandType , CommandType (..)@@ -428,6 +453,11 @@ -- ** ApplicationPolicyDefaultPermissionPolicy , ApplicationPolicyDefaultPermissionPolicy (..) + -- ** WebAppIcon+ , WebAppIcon+ , webAppIcon+ , waiImageData+ -- ** Xgafv , Xgafv (..) @@ -577,6 +607,7 @@ , pEnsureVerifyAppsEnabled , pSetWallpaperDisabled , pVPNConfigDisabled+ , pSetupActions , pOpenNetworkConfiguration , pModifyAccountsDisabled , pBlockApplicationsEnabled@@ -611,6 +642,16 @@ , ncdcNonComplianceReason , ncdcSettingName + -- ** KeyedAppState+ , KeyedAppState+ , keyedAppState+ , kasData+ , kasSeverity+ , kasKey+ , kasMessage+ , kasLastUpdateTime+ , kasCreateTime+ -- ** OperationMetadata , OperationMetadata , operationMetadata@@ -624,6 +665,9 @@ , wtName , wtPermissions + -- ** KeyedAppStateSeverity+ , KeyedAppStateSeverity (..)+ -- ** ComplianceRule , ComplianceRule , complianceRule@@ -632,6 +676,12 @@ , crPackageNamesToDisable , crNonComplianceDetailCondition + -- ** ListWebAppsResponse+ , ListWebAppsResponse+ , listWebAppsResponse+ , lwarNextPageToken+ , lwarWebApps+ -- ** PasswordRequirements , PasswordRequirements , passwordRequirements@@ -701,6 +751,11 @@ , siAndroidBuildNumber , siAndroidVersion + -- ** ApplicationReportingSettings+ , ApplicationReportingSettings+ , applicationReportingSettings+ , arsIncludeRemovedApps+ -- ** MemoryEventEventType , MemoryEventEventType (..) @@ -711,6 +766,23 @@ , apDescription , apPermissionId + -- ** SetupAction+ , SetupAction+ , setupAction+ , saLaunchApp+ , saTitle+ , saDescription++ -- ** WebApp+ , WebApp+ , webApp+ , waVersionCode+ , waIcons+ , waStartURL+ , waDisplayMode+ , waName+ , waTitle+ -- ** PasswordRequirementsPasswordQuality , PasswordRequirementsPasswordQuality (..) ) where@@ -736,6 +808,11 @@ 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.WebApps.Create+import Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete+import Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get+import Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List+import Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch import Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create import Network.Google.Resource.AndroidManagement.SignupURLs.Create @@ -747,6 +824,11 @@ type AndroidManagementAPI = EnterprisesEnrollmentTokensCreateResource :<|> EnterprisesEnrollmentTokensDeleteResource+ :<|> EnterprisesWebAppsListResource+ :<|> EnterprisesWebAppsPatchResource+ :<|> EnterprisesWebAppsGetResource+ :<|> EnterprisesWebAppsCreateResource+ :<|> EnterprisesWebAppsDeleteResource :<|> EnterprisesWebTokensCreateResource :<|> EnterprisesDevicesOperationsListResource :<|> EnterprisesDevicesOperationsGetResource
gen/Network/Google/AndroidManagement/Types.hs view
@@ -94,6 +94,11 @@ , policyOpenNetworkConfiguration , poncAddtional + -- * LaunchAppAction+ , LaunchAppAction+ , launchAppAction+ , laaPackageName+ -- * CommandErrorCode , CommandErrorCode (..) @@ -246,6 +251,9 @@ , devEnrollmentTime , devDisplays + -- * WebAppDisplayMode+ , WebAppDisplayMode (..)+ -- * ApplicationReportApplicationSource , ApplicationReportApplicationSource (..) @@ -308,6 +316,7 @@ , arVersionName , arPackageName , arPackageSha256Hash+ , arKeyedAppStates , arApplicationSource , arEvents , arDisplayName@@ -348,6 +357,7 @@ , srsMemoryInfoEnabled , srsNetworkInfoEnabled , srsDeviceSettingsEnabled+ , srsApplicationReportingSettings -- * CommandType , CommandType (..)@@ -355,6 +365,11 @@ -- * ApplicationPolicyDefaultPermissionPolicy , ApplicationPolicyDefaultPermissionPolicy (..) + -- * WebAppIcon+ , WebAppIcon+ , webAppIcon+ , waiImageData+ -- * Xgafv , Xgafv (..) @@ -504,6 +519,7 @@ , pEnsureVerifyAppsEnabled , pSetWallpaperDisabled , pVPNConfigDisabled+ , pSetupActions , pOpenNetworkConfiguration , pModifyAccountsDisabled , pBlockApplicationsEnabled@@ -538,6 +554,16 @@ , ncdcNonComplianceReason , ncdcSettingName + -- * KeyedAppState+ , KeyedAppState+ , keyedAppState+ , kasData+ , kasSeverity+ , kasKey+ , kasMessage+ , kasLastUpdateTime+ , kasCreateTime+ -- * OperationMetadata , OperationMetadata , operationMetadata@@ -551,6 +577,9 @@ , wtName , wtPermissions + -- * KeyedAppStateSeverity+ , KeyedAppStateSeverity (..)+ -- * ComplianceRule , ComplianceRule , complianceRule@@ -559,6 +588,12 @@ , crPackageNamesToDisable , crNonComplianceDetailCondition + -- * ListWebAppsResponse+ , ListWebAppsResponse+ , listWebAppsResponse+ , lwarNextPageToken+ , lwarWebApps+ -- * PasswordRequirements , PasswordRequirements , passwordRequirements@@ -628,6 +663,11 @@ , siAndroidBuildNumber , siAndroidVersion + -- * ApplicationReportingSettings+ , ApplicationReportingSettings+ , applicationReportingSettings+ , arsIncludeRemovedApps+ -- * MemoryEventEventType , MemoryEventEventType (..) @@ -638,6 +678,23 @@ , apDescription , apPermissionId + -- * SetupAction+ , SetupAction+ , setupAction+ , saLaunchApp+ , saTitle+ , saDescription++ -- * WebApp+ , WebApp+ , webApp+ , waVersionCode+ , waIcons+ , waStartURL+ , waDisplayMode+ , waName+ , waTitle+ -- * PasswordRequirementsPasswordQuality , PasswordRequirementsPasswordQuality (..) ) where@@ -654,4 +711,4 @@ -- | Manage Android devices and apps for your customers androidManagementScope :: Proxy '["https://www.googleapis.com/auth/androidmanagement"]-androidManagementScope = Proxy;+androidManagementScope = Proxy
gen/Network/Google/AndroidManagement/Types/Product.hs view
@@ -56,5652 +56,6291 @@ -- 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])+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++-- | An action to launch an app.+--+-- /See:/ 'launchAppAction' smart constructor.+newtype LaunchAppAction =+ LaunchAppAction'+ { _laaPackageName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LaunchAppAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'laaPackageName'+launchAppAction+ :: LaunchAppAction+launchAppAction = LaunchAppAction' {_laaPackageName = Nothing}+++-- | Package name of app to be launched+laaPackageName :: Lens' LaunchAppAction (Maybe Text)+laaPackageName+ = lens _laaPackageName+ (\ s a -> s{_laaPackageName = a})++instance FromJSON LaunchAppAction where+ parseJSON+ = withObject "LaunchAppAction"+ (\ o -> LaunchAppAction' <$> (o .:? "packageName"))++instance ToJSON LaunchAppAction where+ toJSON LaunchAppAction'{..}+ = object+ (catMaybes [("packageName" .=) <$> _laaPackageName])++-- | 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)+ , _arKeyedAppStates :: !(Maybe [KeyedAppState])+ , _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'+--+-- * 'arKeyedAppStates'+--+-- * 'arApplicationSource'+--+-- * 'arEvents'+--+-- * 'arDisplayName'+--+-- * 'arInstallerPackageName'+applicationReport+ :: ApplicationReport+applicationReport =+ ApplicationReport'+ { _arVersionCode = Nothing+ , _arSigningKeyCertFingerprints = Nothing+ , _arState = Nothing+ , _arVersionName = Nothing+ , _arPackageName = Nothing+ , _arPackageSha256Hash = Nothing+ , _arKeyedAppStates = 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})++-- | List of keyed app states reported by the app.+arKeyedAppStates :: Lens' ApplicationReport [KeyedAppState]+arKeyedAppStates+ = lens _arKeyedAppStates+ (\ s a -> s{_arKeyedAppStates = a})+ . _Default+ . _Coerce++-- | 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 .:? "keyedAppStates" .!= mempty)+ <*> (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,+ ("keyedAppStates" .=) <$> _arKeyedAppStates,+ ("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)+ , _srsApplicationReportingSettings :: !(Maybe ApplicationReportingSettings)+ }+ 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'+--+-- * 'srsApplicationReportingSettings'+statusReportingSettings+ :: StatusReportingSettings+statusReportingSettings =+ StatusReportingSettings'+ { _srsSoftwareInfoEnabled = Nothing+ , _srsHardwareStatusEnabled = Nothing+ , _srsPowerManagementEventsEnabled = Nothing+ , _srsDisplayInfoEnabled = Nothing+ , _srsApplicationReportsEnabled = Nothing+ , _srsMemoryInfoEnabled = Nothing+ , _srsNetworkInfoEnabled = Nothing+ , _srsDeviceSettingsEnabled = Nothing+ , _srsApplicationReportingSettings = 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})++-- | Application reporting settings. Only applicable if+-- application_reports_enabled is true.+srsApplicationReportingSettings :: Lens' StatusReportingSettings (Maybe ApplicationReportingSettings)+srsApplicationReportingSettings+ = lens _srsApplicationReportingSettings+ (\ s a -> s{_srsApplicationReportingSettings = 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")+ <*> (o .:? "applicationReportingSettings"))++instance ToJSON StatusReportingSettings where+ toJSON StatusReportingSettings'{..}+ = object+ (catMaybes+ [("softwareInfoEnabled" .=) <$>+ _srsSoftwareInfoEnabled,+ ("hardwareStatusEnabled" .=) <$>+ _srsHardwareStatusEnabled,+ ("powerManagementEventsEnabled" .=) <$>+ _srsPowerManagementEventsEnabled,+ ("displayInfoEnabled" .=) <$> _srsDisplayInfoEnabled,+ ("applicationReportsEnabled" .=) <$>+ _srsApplicationReportsEnabled,+ ("memoryInfoEnabled" .=) <$> _srsMemoryInfoEnabled,+ ("networkInfoEnabled" .=) <$> _srsNetworkInfoEnabled,+ ("deviceSettingsEnabled" .=) <$>+ _srsDeviceSettingsEnabled,+ ("applicationReportingSettings" .=) <$>+ _srsApplicationReportingSettings])++-- | An icon for a web app. Supported formats are: png, jpg and webp.+--+-- /See:/ 'webAppIcon' smart constructor.+newtype WebAppIcon =+ WebAppIcon'+ { _waiImageData :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WebAppIcon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'waiImageData'+webAppIcon+ :: WebAppIcon+webAppIcon = WebAppIcon' {_waiImageData = Nothing}+++-- | The actual bytes of the image in a base64url encoded string (c.f.+-- RFC4648, section 5 \"Base 64 Encoding with URL and Filename Safe+-- Alphabet\").+--+-- - The image type can be png or jpg.+-- - The image should ideally be square.+-- - The image should ideally have a size of 512x512.+waiImageData :: Lens' WebAppIcon (Maybe Text)+waiImageData+ = lens _waiImageData (\ s a -> s{_waiImageData = a})++instance FromJSON WebAppIcon where+ parseJSON+ = withObject "WebAppIcon"+ (\ o -> WebAppIcon' <$> (o .:? "imageData"))++instance ToJSON WebAppIcon where+ toJSON WebAppIcon'{..}+ = object+ (catMaybes [("imageData" .=) <$> _waiImageData])++-- | 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)+ , _pSetupActions :: !(Maybe [SetupAction])+ , _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'+--+-- * 'pSetupActions'+--+-- * '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+ , _pSetupActions = 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})++-- | DEPRECATED - Use wifi_config_disabled.+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})++-- | Actions to take during the setup process.+pSetupActions :: Lens' Policy [SetupAction]+pSetupActions+ = lens _pSetupActions+ (\ s a -> s{_pSetupActions = a})+ . _Default+ . _Coerce++-- | 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 .:? "setupActions" .!= mempty)+ <*> (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,+ ("setupActions" .=) <$> _pSetupActions,+ ("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])++-- | Keyed app state reported by the app.+--+-- /See:/ 'keyedAppState' smart constructor.+data KeyedAppState =+ KeyedAppState'+ { _kasData :: !(Maybe Text)+ , _kasSeverity :: !(Maybe KeyedAppStateSeverity)+ , _kasKey :: !(Maybe Text)+ , _kasMessage :: !(Maybe Text)+ , _kasLastUpdateTime :: !(Maybe DateTime')+ , _kasCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KeyedAppState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kasData'+--+-- * 'kasSeverity'+--+-- * 'kasKey'+--+-- * 'kasMessage'+--+-- * 'kasLastUpdateTime'+--+-- * 'kasCreateTime'+keyedAppState+ :: KeyedAppState+keyedAppState =+ KeyedAppState'+ { _kasData = Nothing+ , _kasSeverity = Nothing+ , _kasKey = Nothing+ , _kasMessage = Nothing+ , _kasLastUpdateTime = Nothing+ , _kasCreateTime = Nothing+ }+++-- | Optionally, a machine-readable value to be read by the EMM. For example,+-- setting values that the admin can choose to query against in the EMM+-- console (e.g. “notify me if the battery_warning data \< 10”).+kasData :: Lens' KeyedAppState (Maybe Text)+kasData = lens _kasData (\ s a -> s{_kasData = a})++-- | The severity of the app state.+kasSeverity :: Lens' KeyedAppState (Maybe KeyedAppStateSeverity)+kasSeverity+ = lens _kasSeverity (\ s a -> s{_kasSeverity = a})++-- | The key for the app state. Acts as a point of reference for what the app+-- is providing state for. For example, when providing managed+-- configuration feedback, this key could be the managed configuration key.+kasKey :: Lens' KeyedAppState (Maybe Text)+kasKey = lens _kasKey (\ s a -> s{_kasKey = a})++-- | Optionally, a free-form message string to explain the app state. If the+-- state was triggered by a particular value (e.g. a managed configuration+-- value), it should be included in the message.+kasMessage :: Lens' KeyedAppState (Maybe Text)+kasMessage+ = lens _kasMessage (\ s a -> s{_kasMessage = a})++-- | The time the app state was most recently updated.+kasLastUpdateTime :: Lens' KeyedAppState (Maybe UTCTime)+kasLastUpdateTime+ = lens _kasLastUpdateTime+ (\ s a -> s{_kasLastUpdateTime = a})+ . mapping _DateTime++-- | The creation time of the app state on the device.+kasCreateTime :: Lens' KeyedAppState (Maybe UTCTime)+kasCreateTime+ = lens _kasCreateTime+ (\ s a -> s{_kasCreateTime = a})+ . mapping _DateTime++instance FromJSON KeyedAppState where+ parseJSON+ = withObject "KeyedAppState"+ (\ o ->+ KeyedAppState' <$>+ (o .:? "data") <*> (o .:? "severity") <*>+ (o .:? "key")+ <*> (o .:? "message")+ <*> (o .:? "lastUpdateTime")+ <*> (o .:? "createTime"))++instance ToJSON KeyedAppState where+ toJSON KeyedAppState'{..}+ = object+ (catMaybes+ [("data" .=) <$> _kasData,+ ("severity" .=) <$> _kasSeverity,+ ("key" .=) <$> _kasKey,+ ("message" .=) <$> _kasMessage,+ ("lastUpdateTime" .=) <$> _kasLastUpdateTime,+ ("createTime" .=) <$> _kasCreateTime])++-- | 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])++-- | Response to a request to list web apps for a given enterprise.+--+-- /See:/ 'listWebAppsResponse' smart constructor.+data ListWebAppsResponse =+ ListWebAppsResponse'+ { _lwarNextPageToken :: !(Maybe Text)+ , _lwarWebApps :: !(Maybe [WebApp])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListWebAppsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lwarNextPageToken'+--+-- * 'lwarWebApps'+listWebAppsResponse+ :: ListWebAppsResponse+listWebAppsResponse =+ ListWebAppsResponse' {_lwarNextPageToken = Nothing, _lwarWebApps = Nothing}+++-- | If there are more results, a token to retrieve next page of results.+lwarNextPageToken :: Lens' ListWebAppsResponse (Maybe Text)+lwarNextPageToken+ = lens _lwarNextPageToken+ (\ s a -> s{_lwarNextPageToken = a})++-- | The list of web apps.+lwarWebApps :: Lens' ListWebAppsResponse [WebApp]+lwarWebApps+ = lens _lwarWebApps (\ s a -> s{_lwarWebApps = a}) .+ _Default+ . _Coerce++instance FromJSON ListWebAppsResponse where+ parseJSON+ = withObject "ListWebAppsResponse"+ (\ o ->+ ListWebAppsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "webApps" .!= mempty))++instance ToJSON ListWebAppsResponse where+ toJSON ListWebAppsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lwarNextPageToken,+ ("webApps" .=) <$> _lwarWebApps])++-- | 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])++-- | Settings controlling the behavior of application reports.+--+-- /See:/ 'applicationReportingSettings' smart constructor.+newtype ApplicationReportingSettings =+ ApplicationReportingSettings'+ { _arsIncludeRemovedApps :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ApplicationReportingSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsIncludeRemovedApps'+applicationReportingSettings+ :: ApplicationReportingSettings+applicationReportingSettings =+ ApplicationReportingSettings' {_arsIncludeRemovedApps = Nothing}+++-- | Whether removed apps are included in application reports.+arsIncludeRemovedApps :: Lens' ApplicationReportingSettings (Maybe Bool)+arsIncludeRemovedApps+ = lens _arsIncludeRemovedApps+ (\ s a -> s{_arsIncludeRemovedApps = a})++instance FromJSON ApplicationReportingSettings where+ parseJSON+ = withObject "ApplicationReportingSettings"+ (\ o ->+ ApplicationReportingSettings' <$>+ (o .:? "includeRemovedApps"))++instance ToJSON ApplicationReportingSettings where+ toJSON ApplicationReportingSettings'{..}+ = object+ (catMaybes+ [("includeRemovedApps" .=) <$>+ _arsIncludeRemovedApps])++-- | 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])++-- | An action executed during setup.+--+-- /See:/ 'setupAction' smart constructor.+data SetupAction =+ SetupAction'+ { _saLaunchApp :: !(Maybe LaunchAppAction)+ , _saTitle :: !(Maybe UserFacingMessage)+ , _saDescription :: !(Maybe UserFacingMessage)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetupAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saLaunchApp'+--+-- * 'saTitle'+--+-- * 'saDescription'+setupAction+ :: SetupAction+setupAction =+ SetupAction'+ {_saLaunchApp = Nothing, _saTitle = Nothing, _saDescription = Nothing}+++-- | An action to launch an app.+saLaunchApp :: Lens' SetupAction (Maybe LaunchAppAction)+saLaunchApp+ = lens _saLaunchApp (\ s a -> s{_saLaunchApp = a})++-- | Title of this action.+saTitle :: Lens' SetupAction (Maybe UserFacingMessage)+saTitle = lens _saTitle (\ s a -> s{_saTitle = a})++-- | Description of this action.+saDescription :: Lens' SetupAction (Maybe UserFacingMessage)+saDescription+ = lens _saDescription+ (\ s a -> s{_saDescription = a})++instance FromJSON SetupAction where+ parseJSON+ = withObject "SetupAction"+ (\ o ->+ SetupAction' <$>+ (o .:? "launchApp") <*> (o .:? "title") <*>+ (o .:? "description"))++instance ToJSON SetupAction where+ toJSON SetupAction'{..}+ = object+ (catMaybes+ [("launchApp" .=) <$> _saLaunchApp,+ ("title" .=) <$> _saTitle,+ ("description" .=) <$> _saDescription])++-- | A web app.+--+-- /See:/ 'webApp' smart constructor.+data WebApp =+ WebApp'+ { _waVersionCode :: !(Maybe (Textual Int64))+ , _waIcons :: !(Maybe [WebAppIcon])+ , _waStartURL :: !(Maybe Text)+ , _waDisplayMode :: !(Maybe WebAppDisplayMode)+ , _waName :: !(Maybe Text)+ , _waTitle :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WebApp' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'waVersionCode'+--+-- * 'waIcons'+--+-- * 'waStartURL'+--+-- * 'waDisplayMode'+--+-- * 'waName'+--+-- * 'waTitle'+webApp+ :: WebApp+webApp =+ WebApp'+ { _waVersionCode = Nothing+ , _waIcons = Nothing+ , _waStartURL = Nothing+ , _waDisplayMode = Nothing+ , _waName = Nothing+ , _waTitle = Nothing+ }+++-- | The current version of the app.+--+-- Note that the version can automatically increase during the lifetime of+-- the web app, while Google does internal housekeeping to keep the web app+-- up-to-date.+waVersionCode :: Lens' WebApp (Maybe Int64)+waVersionCode+ = lens _waVersionCode+ (\ s a -> s{_waVersionCode = a})+ . mapping _Coerce++-- | A list of icons for the web app. Must have at least one element.+waIcons :: Lens' WebApp [WebAppIcon]+waIcons+ = lens _waIcons (\ s a -> s{_waIcons = a}) . _Default+ . _Coerce++-- | The start URL, i.e. the URL that should load when the user opens the+-- application.+waStartURL :: Lens' WebApp (Maybe Text)+waStartURL+ = lens _waStartURL (\ s a -> s{_waStartURL = a})++-- | The display mode of the web app.+waDisplayMode :: Lens' WebApp (Maybe WebAppDisplayMode)+waDisplayMode+ = lens _waDisplayMode+ (\ s a -> s{_waDisplayMode = a})++-- | The name of the web app, which is generated by the server during+-- creation in the form+-- enterprises\/{enterpriseId}\/webApps\/{packageName}.+waName :: Lens' WebApp (Maybe Text)+waName = lens _waName (\ s a -> s{_waName = a})++-- | The title of the web app as displayed to the user (e.g., amongst a list+-- of other applications, or as a label for an icon).+waTitle :: Lens' WebApp (Maybe Text)+waTitle = lens _waTitle (\ s a -> s{_waTitle = a})++instance FromJSON WebApp where+ parseJSON+ = withObject "WebApp"+ (\ o ->+ WebApp' <$>+ (o .:? "versionCode") <*> (o .:? "icons" .!= mempty)+ <*> (o .:? "startUrl")+ <*> (o .:? "displayMode")+ <*> (o .:? "name")+ <*> (o .:? "title"))++instance ToJSON WebApp where+ toJSON WebApp'{..}+ = object+ (catMaybes+ [("versionCode" .=) <$> _waVersionCode,+ ("icons" .=) <$> _waIcons,+ ("startUrl" .=) <$> _waStartURL,+ ("displayMode" .=) <$> _waDisplayMode,+ ("name" .=) <$> _waName, ("title" .=) <$> _waTitle])
gen/Network/Google/AndroidManagement/Types/Sum.hs view
@@ -320,7 +320,7 @@ | 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.+ -- should be explicitly marked as \'BLOCKED\' in the applications policy. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable PolicyPlayStoreMode@@ -380,6 +380,51 @@ instance ToJSON DeviceManagementMode where toJSON = toJSONText +-- | The display mode of the web app.+data WebAppDisplayMode+ = DisplayModeUnspecified+ -- ^ @DISPLAY_MODE_UNSPECIFIED@+ -- Not used.+ | MinimalUi+ -- ^ @MINIMAL_UI@+ -- Opens the web app with a minimal set of browser UI elements for+ -- controlling navigation and viewing the page URL.+ | Standalone+ -- ^ @STANDALONE@+ -- Opens the web app to look and feel like a standalone native application.+ -- The browser UI elements and page URL are not visible, however the system+ -- status bar and back button are visible.+ | FullScreen+ -- ^ @FULL_SCREEN@+ -- Opens the web app in full screen without any visible controls. The+ -- browser UI elements, page URL, system status bar and back button are not+ -- visible, and the web app takes up the entirety of the available display+ -- area.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WebAppDisplayMode++instance FromHttpApiData WebAppDisplayMode where+ parseQueryParam = \case+ "DISPLAY_MODE_UNSPECIFIED" -> Right DisplayModeUnspecified+ "MINIMAL_UI" -> Right MinimalUi+ "STANDALONE" -> Right Standalone+ "FULL_SCREEN" -> Right FullScreen+ x -> Left ("Unable to parse WebAppDisplayMode from: " <> x)++instance ToHttpApiData WebAppDisplayMode where+ toQueryParam = \case+ DisplayModeUnspecified -> "DISPLAY_MODE_UNSPECIFIED"+ MinimalUi -> "MINIMAL_UI"+ Standalone -> "STANDALONE"+ FullScreen -> "FULL_SCREEN"++instance FromJSON WebAppDisplayMode where+ parseJSON = parseJSONText "WebAppDisplayMode"++instance ToJSON WebAppDisplayMode where+ toJSON = toJSONText+ -- | The source of the package. data ApplicationReportApplicationSource = ApplicationSourceUnspecified@@ -437,6 +482,10 @@ | Available -- ^ @AVAILABLE@ -- The app is available to install.+ | RequiredForSetup+ -- ^ @REQUIRED_FOR_SETUP@+ -- The app is automatically installed and can\'t be removed by the user and+ -- will prevent setup from completion until installation is complete. deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable ApplicationPolicyInstallType@@ -448,6 +497,7 @@ "FORCE_INSTALLED" -> Right ForceInstalled "BLOCKED" -> Right Blocked "AVAILABLE" -> Right Available+ "REQUIRED_FOR_SETUP" -> Right RequiredForSetup x -> Left ("Unable to parse ApplicationPolicyInstallType from: " <> x) instance ToHttpApiData ApplicationPolicyInstallType where@@ -457,6 +507,7 @@ ForceInstalled -> "FORCE_INSTALLED" Blocked -> "BLOCKED" Available -> "AVAILABLE"+ RequiredForSetup -> "REQUIRED_FOR_SETUP" instance FromJSON ApplicationPolicyInstallType where parseJSON = parseJSONText "ApplicationPolicyInstallType"@@ -1161,6 +1212,41 @@ parseJSON = parseJSONText "PolicyDefaultPermissionPolicy" instance ToJSON PolicyDefaultPermissionPolicy where+ toJSON = toJSONText++-- | The severity of the app state.+data KeyedAppStateSeverity+ = SeverityUnspecified+ -- ^ @SEVERITY_UNSPECIFIED@+ -- Unspecified severity level.+ | Info+ -- ^ @INFO@+ -- Information severity level.+ | Error'+ -- ^ @ERROR@+ -- Error severity level. This should only be set for genuine error+ -- conditions that a management organization needs to take action to fix.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable KeyedAppStateSeverity++instance FromHttpApiData KeyedAppStateSeverity where+ parseQueryParam = \case+ "SEVERITY_UNSPECIFIED" -> Right SeverityUnspecified+ "INFO" -> Right Info+ "ERROR" -> Right Error'+ x -> Left ("Unable to parse KeyedAppStateSeverity from: " <> x)++instance ToHttpApiData KeyedAppStateSeverity where+ toQueryParam = \case+ SeverityUnspecified -> "SEVERITY_UNSPECIFIED"+ Info -> "INFO"+ Error' -> "ERROR"++instance FromJSON KeyedAppStateSeverity where+ parseJSON = parseJSONText "KeyedAppStateSeverity"++instance ToJSON KeyedAppStateSeverity where toJSON = toJSONText -- | Application state.
gen/Network/Google/Resource/AndroidManagement/Enterprises/Applications/Get.hs view
@@ -61,7 +61,8 @@ -- | Gets info about an application. -- -- /See:/ 'enterprisesApplicationsGet' smart constructor.-data EnterprisesApplicationsGet = EnterprisesApplicationsGet'+data EnterprisesApplicationsGet =+ EnterprisesApplicationsGet' { _eagXgafv :: !(Maybe Xgafv) , _eagLanguageCode :: !(Maybe Text) , _eagUploadProtocol :: !(Maybe Text)@@ -69,8 +70,10 @@ , _eagUploadType :: !(Maybe Text) , _eagName :: !Text , _eagCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -92,7 +95,7 @@ :: Text -- ^ 'eagName' -> EnterprisesApplicationsGet enterprisesApplicationsGet pEagName_ =- EnterprisesApplicationsGet'+ EnterprisesApplicationsGet' { _eagXgafv = Nothing , _eagLanguageCode = Nothing , _eagUploadProtocol = Nothing@@ -101,6 +104,7 @@ , _eagName = pEagName_ , _eagCallback = Nothing }+ -- | V1 error format. eagXgafv :: Lens' EnterprisesApplicationsGet (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Create.hs view
@@ -68,7 +68,8 @@ -- flow. -- -- /See:/ 'enterprisesCreate' smart constructor.-data EnterprisesCreate = EnterprisesCreate'+data EnterprisesCreate =+ EnterprisesCreate' { _ecXgafv :: !(Maybe Xgafv) , _ecSignupURLName :: !(Maybe Text) , _ecUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@ , _ecProjectId :: !(Maybe Text) , _ecEnterpriseToken :: !(Maybe Text) , _ecCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -105,7 +108,7 @@ :: Enterprise -- ^ 'ecPayload' -> EnterprisesCreate enterprisesCreate pEcPayload_ =- EnterprisesCreate'+ EnterprisesCreate' { _ecXgafv = Nothing , _ecSignupURLName = Nothing , _ecUploadProtocol = Nothing@@ -116,6 +119,7 @@ , _ecEnterpriseToken = Nothing , _ecCallback = Nothing }+ -- | V1 error format. ecXgafv :: Lens' EnterprisesCreate (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Delete.hs view
@@ -61,7 +61,8 @@ -- | Deletes a device. This operation wipes the device. -- -- /See:/ 'enterprisesDevicesDelete' smart constructor.-data EnterprisesDevicesDelete = EnterprisesDevicesDelete'+data EnterprisesDevicesDelete =+ EnterprisesDevicesDelete' { _eddXgafv :: !(Maybe Xgafv) , _eddWipeDataFlags :: !(Maybe [Text]) , _eddUploadProtocol :: !(Maybe Text)@@ -69,8 +70,10 @@ , _eddUploadType :: !(Maybe Text) , _eddName :: !Text , _eddCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -92,7 +95,7 @@ :: Text -- ^ 'eddName' -> EnterprisesDevicesDelete enterprisesDevicesDelete pEddName_ =- EnterprisesDevicesDelete'+ EnterprisesDevicesDelete' { _eddXgafv = Nothing , _eddWipeDataFlags = Nothing , _eddUploadProtocol = Nothing@@ -101,6 +104,7 @@ , _eddName = pEddName_ , _eddCallback = Nothing }+ -- | V1 error format. eddXgafv :: Lens' EnterprisesDevicesDelete (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Get.hs view
@@ -59,15 +59,18 @@ -- | Gets a device. -- -- /See:/ 'enterprisesDevicesGet' smart constructor.-data EnterprisesDevicesGet = EnterprisesDevicesGet'+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)+ }+ 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:@@ -87,7 +90,7 @@ :: Text -- ^ 'edgName' -> EnterprisesDevicesGet enterprisesDevicesGet pEdgName_ =- EnterprisesDevicesGet'+ EnterprisesDevicesGet' { _edgXgafv = Nothing , _edgUploadProtocol = Nothing , _edgAccessToken = Nothing@@ -95,6 +98,7 @@ , _edgName = pEdgName_ , _edgCallback = Nothing }+ -- | V1 error format. edgXgafv :: Lens' EnterprisesDevicesGet (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/IssueCommand.hs view
@@ -65,7 +65,8 @@ -- status of the command. -- -- /See:/ 'enterprisesDevicesIssueCommand' smart constructor.-data EnterprisesDevicesIssueCommand = EnterprisesDevicesIssueCommand'+data EnterprisesDevicesIssueCommand =+ EnterprisesDevicesIssueCommand' { _edicXgafv :: !(Maybe Xgafv) , _edicUploadProtocol :: !(Maybe Text) , _edicAccessToken :: !(Maybe Text)@@ -73,8 +74,10 @@ , _edicPayload :: !Command , _edicName :: !Text , _edicCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -97,7 +100,7 @@ -> Text -- ^ 'edicName' -> EnterprisesDevicesIssueCommand enterprisesDevicesIssueCommand pEdicPayload_ pEdicName_ =- EnterprisesDevicesIssueCommand'+ EnterprisesDevicesIssueCommand' { _edicXgafv = Nothing , _edicUploadProtocol = Nothing , _edicAccessToken = Nothing@@ -106,6 +109,7 @@ , _edicName = pEdicName_ , _edicCallback = Nothing }+ -- | V1 error format. edicXgafv :: Lens' EnterprisesDevicesIssueCommand (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/List.hs view
@@ -65,7 +65,8 @@ -- | Lists devices for a given enterprise. -- -- /See:/ 'enterprisesDevicesList' smart constructor.-data EnterprisesDevicesList = EnterprisesDevicesList'+data EnterprisesDevicesList =+ EnterprisesDevicesList' { _edlParent :: !Text , _edlXgafv :: !(Maybe Xgafv) , _edlUploadProtocol :: !(Maybe Text)@@ -74,8 +75,10 @@ , _edlPageToken :: !(Maybe Text) , _edlPageSize :: !(Maybe (Textual Int32)) , _edlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -99,7 +102,7 @@ :: Text -- ^ 'edlParent' -> EnterprisesDevicesList enterprisesDevicesList pEdlParent_ =- EnterprisesDevicesList'+ EnterprisesDevicesList' { _edlParent = pEdlParent_ , _edlXgafv = Nothing , _edlUploadProtocol = Nothing@@ -109,6 +112,7 @@ , _edlPageSize = Nothing , _edlCallback = Nothing }+ -- | The name of the enterprise in the form enterprises\/{enterpriseId}. edlParent :: Lens' EnterprisesDevicesList Text
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Cancel.hs view
@@ -75,15 +75,18 @@ -- 1, corresponding to Code.CANCELLED. -- -- /See:/ 'enterprisesDevicesOperationsCancel' smart constructor.-data EnterprisesDevicesOperationsCancel = EnterprisesDevicesOperationsCancel'+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)+ }+ 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:@@ -103,7 +106,7 @@ :: Text -- ^ 'edocName' -> EnterprisesDevicesOperationsCancel enterprisesDevicesOperationsCancel pEdocName_ =- EnterprisesDevicesOperationsCancel'+ EnterprisesDevicesOperationsCancel' { _edocXgafv = Nothing , _edocUploadProtocol = Nothing , _edocAccessToken = Nothing@@ -112,6 +115,7 @@ , _edocCallback = Nothing } + -- | V1 error format. edocXgafv :: Lens' EnterprisesDevicesOperationsCancel (Maybe Xgafv) edocXgafv@@ -145,7 +149,8 @@ = lens _edocCallback (\ s a -> s{_edocCallback = a}) instance GoogleRequest- EnterprisesDevicesOperationsCancel where+ EnterprisesDevicesOperationsCancel+ where type Rs EnterprisesDevicesOperationsCancel = Empty type Scopes EnterprisesDevicesOperationsCancel = '["https://www.googleapis.com/auth/androidmanagement"]
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Delete.hs view
@@ -65,15 +65,18 @@ -- google.rpc.Code.UNIMPLEMENTED. -- -- /See:/ 'enterprisesDevicesOperationsDelete' smart constructor.-data EnterprisesDevicesOperationsDelete = EnterprisesDevicesOperationsDelete'+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)+ }+ 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:@@ -93,7 +96,7 @@ :: Text -- ^ 'edodName' -> EnterprisesDevicesOperationsDelete enterprisesDevicesOperationsDelete pEdodName_ =- EnterprisesDevicesOperationsDelete'+ EnterprisesDevicesOperationsDelete' { _edodXgafv = Nothing , _edodUploadProtocol = Nothing , _edodAccessToken = Nothing@@ -102,6 +105,7 @@ , _edodCallback = Nothing } + -- | V1 error format. edodXgafv :: Lens' EnterprisesDevicesOperationsDelete (Maybe Xgafv) edodXgafv@@ -135,7 +139,8 @@ = lens _edodCallback (\ s a -> s{_edodCallback = a}) instance GoogleRequest- EnterprisesDevicesOperationsDelete where+ EnterprisesDevicesOperationsDelete+ where type Rs EnterprisesDevicesOperationsDelete = Empty type Scopes EnterprisesDevicesOperationsDelete = '["https://www.googleapis.com/auth/androidmanagement"]
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Get.hs view
@@ -63,15 +63,18 @@ -- API service. -- -- /See:/ 'enterprisesDevicesOperationsGet' smart constructor.-data EnterprisesDevicesOperationsGet = EnterprisesDevicesOperationsGet'+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)+ }+ 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:@@ -91,7 +94,7 @@ :: Text -- ^ 'edogName' -> EnterprisesDevicesOperationsGet enterprisesDevicesOperationsGet pEdogName_ =- EnterprisesDevicesOperationsGet'+ EnterprisesDevicesOperationsGet' { _edogXgafv = Nothing , _edogUploadProtocol = Nothing , _edogAccessToken = Nothing@@ -100,6 +103,7 @@ , _edogCallback = Nothing } + -- | V1 error format. edogXgafv :: Lens' EnterprisesDevicesOperationsGet (Maybe Xgafv) edogXgafv@@ -133,7 +137,8 @@ = lens _edogCallback (\ s a -> s{_edogCallback = a}) instance GoogleRequest- EnterprisesDevicesOperationsGet where+ EnterprisesDevicesOperationsGet+ where type Rs EnterprisesDevicesOperationsGet = Operation type Scopes EnterprisesDevicesOperationsGet = '["https://www.googleapis.com/auth/androidmanagement"]
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/List.hs view
@@ -82,7 +82,8 @@ -- the parent resource, without the operations collection id. -- -- /See:/ 'enterprisesDevicesOperationsList' smart constructor.-data EnterprisesDevicesOperationsList = EnterprisesDevicesOperationsList'+data EnterprisesDevicesOperationsList =+ EnterprisesDevicesOperationsList' { _edolXgafv :: !(Maybe Xgafv) , _edolUploadProtocol :: !(Maybe Text) , _edolAccessToken :: !(Maybe Text)@@ -92,8 +93,10 @@ , _edolPageToken :: !(Maybe Text) , _edolPageSize :: !(Maybe (Textual Int32)) , _edolCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -119,7 +122,7 @@ :: Text -- ^ 'edolName' -> EnterprisesDevicesOperationsList enterprisesDevicesOperationsList pEdolName_ =- EnterprisesDevicesOperationsList'+ EnterprisesDevicesOperationsList' { _edolXgafv = Nothing , _edolUploadProtocol = Nothing , _edolAccessToken = Nothing@@ -131,6 +134,7 @@ , _edolCallback = Nothing } + -- | V1 error format. edolXgafv :: Lens' EnterprisesDevicesOperationsList (Maybe Xgafv) edolXgafv@@ -181,7 +185,8 @@ = lens _edolCallback (\ s a -> s{_edolCallback = a}) instance GoogleRequest- EnterprisesDevicesOperationsList where+ EnterprisesDevicesOperationsList+ where type Rs EnterprisesDevicesOperationsList = ListOperationsResponse type Scopes EnterprisesDevicesOperationsList =
gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Patch.hs view
@@ -63,7 +63,8 @@ -- | Updates a device. -- -- /See:/ 'enterprisesDevicesPatch' smart constructor.-data EnterprisesDevicesPatch = EnterprisesDevicesPatch'+data EnterprisesDevicesPatch =+ EnterprisesDevicesPatch' { _edpXgafv :: !(Maybe Xgafv) , _edpUploadProtocol :: !(Maybe Text) , _edpUpdateMask :: !(Maybe GFieldMask)@@ -72,8 +73,10 @@ , _edpPayload :: !Device , _edpName :: !Text , _edpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -98,7 +101,7 @@ -> Text -- ^ 'edpName' -> EnterprisesDevicesPatch enterprisesDevicesPatch pEdpPayload_ pEdpName_ =- EnterprisesDevicesPatch'+ EnterprisesDevicesPatch' { _edpXgafv = Nothing , _edpUploadProtocol = Nothing , _edpUpdateMask = Nothing@@ -108,6 +111,7 @@ , _edpName = pEdpName_ , _edpCallback = Nothing }+ -- | V1 error format. edpXgafv :: Lens' EnterprisesDevicesPatch (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Create.hs view
@@ -63,7 +63,8 @@ -- | Creates an enrollment token for a given enterprise. -- -- /See:/ 'enterprisesEnrollmentTokensCreate' smart constructor.-data EnterprisesEnrollmentTokensCreate = EnterprisesEnrollmentTokensCreate'+data EnterprisesEnrollmentTokensCreate =+ EnterprisesEnrollmentTokensCreate' { _eetcParent :: !Text , _eetcXgafv :: !(Maybe Xgafv) , _eetcUploadProtocol :: !(Maybe Text)@@ -71,8 +72,10 @@ , _eetcUploadType :: !(Maybe Text) , _eetcPayload :: !EnrollmentToken , _eetcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -95,7 +98,7 @@ -> EnrollmentToken -- ^ 'eetcPayload' -> EnterprisesEnrollmentTokensCreate enterprisesEnrollmentTokensCreate pEetcParent_ pEetcPayload_ =- EnterprisesEnrollmentTokensCreate'+ EnterprisesEnrollmentTokensCreate' { _eetcParent = pEetcParent_ , _eetcXgafv = Nothing , _eetcUploadProtocol = Nothing@@ -105,6 +108,7 @@ , _eetcCallback = Nothing } + -- | The name of the enterprise in the form enterprises\/{enterpriseId}. eetcParent :: Lens' EnterprisesEnrollmentTokensCreate Text eetcParent@@ -144,7 +148,8 @@ = lens _eetcCallback (\ s a -> s{_eetcCallback = a}) instance GoogleRequest- EnterprisesEnrollmentTokensCreate where+ EnterprisesEnrollmentTokensCreate+ where type Rs EnterprisesEnrollmentTokensCreate = EnrollmentToken type Scopes EnterprisesEnrollmentTokensCreate =
gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Delete.hs view
@@ -61,15 +61,18 @@ -- preventing its future use. -- -- /See:/ 'enterprisesEnrollmentTokensDelete' smart constructor.-data EnterprisesEnrollmentTokensDelete = EnterprisesEnrollmentTokensDelete'+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)+ }+ 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:@@ -89,7 +92,7 @@ :: Text -- ^ 'eetdName' -> EnterprisesEnrollmentTokensDelete enterprisesEnrollmentTokensDelete pEetdName_ =- EnterprisesEnrollmentTokensDelete'+ EnterprisesEnrollmentTokensDelete' { _eetdXgafv = Nothing , _eetdUploadProtocol = Nothing , _eetdAccessToken = Nothing@@ -98,6 +101,7 @@ , _eetdCallback = Nothing } + -- | V1 error format. eetdXgafv :: Lens' EnterprisesEnrollmentTokensDelete (Maybe Xgafv) eetdXgafv@@ -132,7 +136,8 @@ = lens _eetdCallback (\ s a -> s{_eetdCallback = a}) instance GoogleRequest- EnterprisesEnrollmentTokensDelete where+ EnterprisesEnrollmentTokensDelete+ where type Rs EnterprisesEnrollmentTokensDelete = Empty type Scopes EnterprisesEnrollmentTokensDelete = '["https://www.googleapis.com/auth/androidmanagement"]
gen/Network/Google/Resource/AndroidManagement/Enterprises/Get.hs view
@@ -59,15 +59,18 @@ -- | Gets an enterprise. -- -- /See:/ 'enterprisesGet' smart constructor.-data EnterprisesGet = EnterprisesGet'+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)+ }+ 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:@@ -87,7 +90,7 @@ :: Text -- ^ 'egName' -> EnterprisesGet enterprisesGet pEgName_ =- EnterprisesGet'+ EnterprisesGet' { _egXgafv = Nothing , _egUploadProtocol = Nothing , _egAccessToken = Nothing@@ -95,6 +98,7 @@ , _egName = pEgName_ , _egCallback = Nothing }+ -- | V1 error format. egXgafv :: Lens' EnterprisesGet (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Patch.hs view
@@ -64,7 +64,8 @@ -- | Updates an enterprise. -- -- /See:/ 'enterprisesPatch' smart constructor.-data EnterprisesPatch = EnterprisesPatch'+data EnterprisesPatch =+ EnterprisesPatch' { _epXgafv :: !(Maybe Xgafv) , _epUploadProtocol :: !(Maybe Text) , _epUpdateMask :: !(Maybe GFieldMask)@@ -73,8 +74,10 @@ , _epPayload :: !Enterprise , _epName :: !Text , _epCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -99,7 +102,7 @@ -> Text -- ^ 'epName' -> EnterprisesPatch enterprisesPatch pEpPayload_ pEpName_ =- EnterprisesPatch'+ EnterprisesPatch' { _epXgafv = Nothing , _epUploadProtocol = Nothing , _epUpdateMask = Nothing@@ -109,6 +112,7 @@ , _epName = pEpName_ , _epCallback = Nothing }+ -- | V1 error format. epXgafv :: Lens' EnterprisesPatch (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Delete.hs view
@@ -61,15 +61,18 @@ -- currently referencing the policy. -- -- /See:/ 'enterprisesPoliciesDelete' smart constructor.-data EnterprisesPoliciesDelete = EnterprisesPoliciesDelete'+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)+ }+ 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:@@ -89,7 +92,7 @@ :: Text -- ^ 'epdName' -> EnterprisesPoliciesDelete enterprisesPoliciesDelete pEpdName_ =- EnterprisesPoliciesDelete'+ EnterprisesPoliciesDelete' { _epdXgafv = Nothing , _epdUploadProtocol = Nothing , _epdAccessToken = Nothing@@ -97,6 +100,7 @@ , _epdName = pEpdName_ , _epdCallback = Nothing }+ -- | V1 error format. epdXgafv :: Lens' EnterprisesPoliciesDelete (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Get.hs view
@@ -59,15 +59,18 @@ -- | Gets a policy. -- -- /See:/ 'enterprisesPoliciesGet' smart constructor.-data EnterprisesPoliciesGet = EnterprisesPoliciesGet'+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)+ }+ 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:@@ -87,7 +90,7 @@ :: Text -- ^ 'epgName' -> EnterprisesPoliciesGet enterprisesPoliciesGet pEpgName_ =- EnterprisesPoliciesGet'+ EnterprisesPoliciesGet' { _epgXgafv = Nothing , _epgUploadProtocol = Nothing , _epgAccessToken = Nothing@@ -95,6 +98,7 @@ , _epgName = pEpgName_ , _epgCallback = Nothing }+ -- | V1 error format. epgXgafv :: Lens' EnterprisesPoliciesGet (Maybe Xgafv)
gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/List.hs view
@@ -65,7 +65,8 @@ -- | Lists policies for a given enterprise. -- -- /See:/ 'enterprisesPoliciesList' smart constructor.-data EnterprisesPoliciesList = EnterprisesPoliciesList'+data EnterprisesPoliciesList =+ EnterprisesPoliciesList' { _eplParent :: !Text , _eplXgafv :: !(Maybe Xgafv) , _eplUploadProtocol :: !(Maybe Text)@@ -74,8 +75,10 @@ , _eplPageToken :: !(Maybe Text) , _eplPageSize :: !(Maybe (Textual Int32)) , _eplCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -99,7 +102,7 @@ :: Text -- ^ 'eplParent' -> EnterprisesPoliciesList enterprisesPoliciesList pEplParent_ =- EnterprisesPoliciesList'+ EnterprisesPoliciesList' { _eplParent = pEplParent_ , _eplXgafv = Nothing , _eplUploadProtocol = Nothing@@ -109,6 +112,7 @@ , _eplPageSize = Nothing , _eplCallback = Nothing }+ -- | The name of the enterprise in the form enterprises\/{enterpriseId}. eplParent :: Lens' EnterprisesPoliciesList Text
gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Patch.hs view
@@ -63,7 +63,8 @@ -- | Updates or creates a policy. -- -- /See:/ 'enterprisesPoliciesPatch' smart constructor.-data EnterprisesPoliciesPatch = EnterprisesPoliciesPatch'+data EnterprisesPoliciesPatch =+ EnterprisesPoliciesPatch' { _eppXgafv :: !(Maybe Xgafv) , _eppUploadProtocol :: !(Maybe Text) , _eppUpdateMask :: !(Maybe GFieldMask)@@ -72,8 +73,10 @@ , _eppPayload :: !Policy , _eppName :: !Text , _eppCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -98,7 +101,7 @@ -> Text -- ^ 'eppName' -> EnterprisesPoliciesPatch enterprisesPoliciesPatch pEppPayload_ pEppName_ =- EnterprisesPoliciesPatch'+ EnterprisesPoliciesPatch' { _eppXgafv = Nothing , _eppUploadProtocol = Nothing , _eppUpdateMask = Nothing@@ -108,6 +111,7 @@ , _eppName = pEppName_ , _eppCallback = Nothing }+ -- | V1 error format. eppXgafv :: Lens' EnterprisesPoliciesPatch (Maybe Xgafv)
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/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.WebApps.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 app.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webApps.create@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Create+ (+ -- * REST Resource+ EnterprisesWebAppsCreateResource++ -- * Creating a Request+ , enterprisesWebAppsCreate+ , EnterprisesWebAppsCreate++ -- * Request Lenses+ , ewacParent+ , ewacXgafv+ , ewacUploadProtocol+ , ewacAccessToken+ , ewacUploadType+ , ewacPayload+ , ewacCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webApps.create@ method which the+-- 'EnterprisesWebAppsCreate' request conforms to.+type EnterprisesWebAppsCreateResource =+ "v1" :>+ Capture "parent" Text :>+ "webApps" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] WebApp :> Post '[JSON] WebApp++-- | Creates a web app.+--+-- /See:/ 'enterprisesWebAppsCreate' smart constructor.+data EnterprisesWebAppsCreate =+ EnterprisesWebAppsCreate'+ { _ewacParent :: !Text+ , _ewacXgafv :: !(Maybe Xgafv)+ , _ewacUploadProtocol :: !(Maybe Text)+ , _ewacAccessToken :: !(Maybe Text)+ , _ewacUploadType :: !(Maybe Text)+ , _ewacPayload :: !WebApp+ , _ewacCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnterprisesWebAppsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewacParent'+--+-- * 'ewacXgafv'+--+-- * 'ewacUploadProtocol'+--+-- * 'ewacAccessToken'+--+-- * 'ewacUploadType'+--+-- * 'ewacPayload'+--+-- * 'ewacCallback'+enterprisesWebAppsCreate+ :: Text -- ^ 'ewacParent'+ -> WebApp -- ^ 'ewacPayload'+ -> EnterprisesWebAppsCreate+enterprisesWebAppsCreate pEwacParent_ pEwacPayload_ =+ EnterprisesWebAppsCreate'+ { _ewacParent = pEwacParent_+ , _ewacXgafv = Nothing+ , _ewacUploadProtocol = Nothing+ , _ewacAccessToken = Nothing+ , _ewacUploadType = Nothing+ , _ewacPayload = pEwacPayload_+ , _ewacCallback = Nothing+ }+++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+ewacParent :: Lens' EnterprisesWebAppsCreate Text+ewacParent+ = lens _ewacParent (\ s a -> s{_ewacParent = a})++-- | V1 error format.+ewacXgafv :: Lens' EnterprisesWebAppsCreate (Maybe Xgafv)+ewacXgafv+ = lens _ewacXgafv (\ s a -> s{_ewacXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewacUploadProtocol :: Lens' EnterprisesWebAppsCreate (Maybe Text)+ewacUploadProtocol+ = lens _ewacUploadProtocol+ (\ s a -> s{_ewacUploadProtocol = a})++-- | OAuth access token.+ewacAccessToken :: Lens' EnterprisesWebAppsCreate (Maybe Text)+ewacAccessToken+ = lens _ewacAccessToken+ (\ s a -> s{_ewacAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewacUploadType :: Lens' EnterprisesWebAppsCreate (Maybe Text)+ewacUploadType+ = lens _ewacUploadType+ (\ s a -> s{_ewacUploadType = a})++-- | Multipart request metadata.+ewacPayload :: Lens' EnterprisesWebAppsCreate WebApp+ewacPayload+ = lens _ewacPayload (\ s a -> s{_ewacPayload = a})++-- | JSONP+ewacCallback :: Lens' EnterprisesWebAppsCreate (Maybe Text)+ewacCallback+ = lens _ewacCallback (\ s a -> s{_ewacCallback = a})++instance GoogleRequest EnterprisesWebAppsCreate where+ type Rs EnterprisesWebAppsCreate = WebApp+ type Scopes EnterprisesWebAppsCreate =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebAppsCreate'{..}+ = go _ewacParent _ewacXgafv _ewacUploadProtocol+ _ewacAccessToken+ _ewacUploadType+ _ewacCallback+ (Just AltJSON)+ _ewacPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebAppsCreateResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/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.WebApps.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 web app.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webApps.delete@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete+ (+ -- * REST Resource+ EnterprisesWebAppsDeleteResource++ -- * Creating a Request+ , enterprisesWebAppsDelete+ , EnterprisesWebAppsDelete++ -- * Request Lenses+ , ewadXgafv+ , ewadUploadProtocol+ , ewadAccessToken+ , ewadUploadType+ , ewadName+ , ewadCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webApps.delete@ method which the+-- 'EnterprisesWebAppsDelete' request conforms to.+type EnterprisesWebAppsDeleteResource =+ "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 web app.+--+-- /See:/ 'enterprisesWebAppsDelete' smart constructor.+data EnterprisesWebAppsDelete =+ EnterprisesWebAppsDelete'+ { _ewadXgafv :: !(Maybe Xgafv)+ , _ewadUploadProtocol :: !(Maybe Text)+ , _ewadAccessToken :: !(Maybe Text)+ , _ewadUploadType :: !(Maybe Text)+ , _ewadName :: !Text+ , _ewadCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnterprisesWebAppsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewadXgafv'+--+-- * 'ewadUploadProtocol'+--+-- * 'ewadAccessToken'+--+-- * 'ewadUploadType'+--+-- * 'ewadName'+--+-- * 'ewadCallback'+enterprisesWebAppsDelete+ :: Text -- ^ 'ewadName'+ -> EnterprisesWebAppsDelete+enterprisesWebAppsDelete pEwadName_ =+ EnterprisesWebAppsDelete'+ { _ewadXgafv = Nothing+ , _ewadUploadProtocol = Nothing+ , _ewadAccessToken = Nothing+ , _ewadUploadType = Nothing+ , _ewadName = pEwadName_+ , _ewadCallback = Nothing+ }+++-- | V1 error format.+ewadXgafv :: Lens' EnterprisesWebAppsDelete (Maybe Xgafv)+ewadXgafv+ = lens _ewadXgafv (\ s a -> s{_ewadXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewadUploadProtocol :: Lens' EnterprisesWebAppsDelete (Maybe Text)+ewadUploadProtocol+ = lens _ewadUploadProtocol+ (\ s a -> s{_ewadUploadProtocol = a})++-- | OAuth access token.+ewadAccessToken :: Lens' EnterprisesWebAppsDelete (Maybe Text)+ewadAccessToken+ = lens _ewadAccessToken+ (\ s a -> s{_ewadAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewadUploadType :: Lens' EnterprisesWebAppsDelete (Maybe Text)+ewadUploadType+ = lens _ewadUploadType+ (\ s a -> s{_ewadUploadType = a})++-- | The name of the web app in the form+-- enterprises\/{enterpriseId}\/webApps\/{packageName}.+ewadName :: Lens' EnterprisesWebAppsDelete Text+ewadName = lens _ewadName (\ s a -> s{_ewadName = a})++-- | JSONP+ewadCallback :: Lens' EnterprisesWebAppsDelete (Maybe Text)+ewadCallback+ = lens _ewadCallback (\ s a -> s{_ewadCallback = a})++instance GoogleRequest EnterprisesWebAppsDelete where+ type Rs EnterprisesWebAppsDelete = Empty+ type Scopes EnterprisesWebAppsDelete =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebAppsDelete'{..}+ = go _ewadName _ewadXgafv _ewadUploadProtocol+ _ewadAccessToken+ _ewadUploadType+ _ewadCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebAppsDeleteResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Get.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.WebApps.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 web app.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webApps.get@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get+ (+ -- * REST Resource+ EnterprisesWebAppsGetResource++ -- * Creating a Request+ , enterprisesWebAppsGet+ , EnterprisesWebAppsGet++ -- * Request Lenses+ , ewagXgafv+ , ewagUploadProtocol+ , ewagAccessToken+ , ewagUploadType+ , ewagName+ , ewagCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webApps.get@ method which the+-- 'EnterprisesWebAppsGet' request conforms to.+type EnterprisesWebAppsGetResource =+ "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] WebApp++-- | Gets a web app.+--+-- /See:/ 'enterprisesWebAppsGet' smart constructor.+data EnterprisesWebAppsGet =+ EnterprisesWebAppsGet'+ { _ewagXgafv :: !(Maybe Xgafv)+ , _ewagUploadProtocol :: !(Maybe Text)+ , _ewagAccessToken :: !(Maybe Text)+ , _ewagUploadType :: !(Maybe Text)+ , _ewagName :: !Text+ , _ewagCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnterprisesWebAppsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewagXgafv'+--+-- * 'ewagUploadProtocol'+--+-- * 'ewagAccessToken'+--+-- * 'ewagUploadType'+--+-- * 'ewagName'+--+-- * 'ewagCallback'+enterprisesWebAppsGet+ :: Text -- ^ 'ewagName'+ -> EnterprisesWebAppsGet+enterprisesWebAppsGet pEwagName_ =+ EnterprisesWebAppsGet'+ { _ewagXgafv = Nothing+ , _ewagUploadProtocol = Nothing+ , _ewagAccessToken = Nothing+ , _ewagUploadType = Nothing+ , _ewagName = pEwagName_+ , _ewagCallback = Nothing+ }+++-- | V1 error format.+ewagXgafv :: Lens' EnterprisesWebAppsGet (Maybe Xgafv)+ewagXgafv+ = lens _ewagXgafv (\ s a -> s{_ewagXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewagUploadProtocol :: Lens' EnterprisesWebAppsGet (Maybe Text)+ewagUploadProtocol+ = lens _ewagUploadProtocol+ (\ s a -> s{_ewagUploadProtocol = a})++-- | OAuth access token.+ewagAccessToken :: Lens' EnterprisesWebAppsGet (Maybe Text)+ewagAccessToken+ = lens _ewagAccessToken+ (\ s a -> s{_ewagAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewagUploadType :: Lens' EnterprisesWebAppsGet (Maybe Text)+ewagUploadType+ = lens _ewagUploadType+ (\ s a -> s{_ewagUploadType = a})++-- | The name of the web app in the form+-- enterprises\/{enterpriseId}\/webApp\/{packageName}.+ewagName :: Lens' EnterprisesWebAppsGet Text+ewagName = lens _ewagName (\ s a -> s{_ewagName = a})++-- | JSONP+ewagCallback :: Lens' EnterprisesWebAppsGet (Maybe Text)+ewagCallback+ = lens _ewagCallback (\ s a -> s{_ewagCallback = a})++instance GoogleRequest EnterprisesWebAppsGet where+ type Rs EnterprisesWebAppsGet = WebApp+ type Scopes EnterprisesWebAppsGet =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebAppsGet'{..}+ = go _ewagName _ewagXgafv _ewagUploadProtocol+ _ewagAccessToken+ _ewagUploadType+ _ewagCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebAppsGetResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/List.hs view
@@ -0,0 +1,179 @@+{-# 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.WebApps.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 web apps for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webApps.list@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List+ (+ -- * REST Resource+ EnterprisesWebAppsListResource++ -- * Creating a Request+ , enterprisesWebAppsList+ , EnterprisesWebAppsList++ -- * Request Lenses+ , ewalParent+ , ewalXgafv+ , ewalUploadProtocol+ , ewalAccessToken+ , ewalUploadType+ , ewalPageToken+ , ewalPageSize+ , ewalCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webApps.list@ method which the+-- 'EnterprisesWebAppsList' request conforms to.+type EnterprisesWebAppsListResource =+ "v1" :>+ Capture "parent" Text :>+ "webApps" :>+ 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] ListWebAppsResponse++-- | Lists web apps for a given enterprise.+--+-- /See:/ 'enterprisesWebAppsList' smart constructor.+data EnterprisesWebAppsList =+ EnterprisesWebAppsList'+ { _ewalParent :: !Text+ , _ewalXgafv :: !(Maybe Xgafv)+ , _ewalUploadProtocol :: !(Maybe Text)+ , _ewalAccessToken :: !(Maybe Text)+ , _ewalUploadType :: !(Maybe Text)+ , _ewalPageToken :: !(Maybe Text)+ , _ewalPageSize :: !(Maybe (Textual Int32))+ , _ewalCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnterprisesWebAppsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewalParent'+--+-- * 'ewalXgafv'+--+-- * 'ewalUploadProtocol'+--+-- * 'ewalAccessToken'+--+-- * 'ewalUploadType'+--+-- * 'ewalPageToken'+--+-- * 'ewalPageSize'+--+-- * 'ewalCallback'+enterprisesWebAppsList+ :: Text -- ^ 'ewalParent'+ -> EnterprisesWebAppsList+enterprisesWebAppsList pEwalParent_ =+ EnterprisesWebAppsList'+ { _ewalParent = pEwalParent_+ , _ewalXgafv = Nothing+ , _ewalUploadProtocol = Nothing+ , _ewalAccessToken = Nothing+ , _ewalUploadType = Nothing+ , _ewalPageToken = Nothing+ , _ewalPageSize = Nothing+ , _ewalCallback = Nothing+ }+++-- | The name of the enterprise in the form enterprises\/{enterpriseId}.+ewalParent :: Lens' EnterprisesWebAppsList Text+ewalParent+ = lens _ewalParent (\ s a -> s{_ewalParent = a})++-- | V1 error format.+ewalXgafv :: Lens' EnterprisesWebAppsList (Maybe Xgafv)+ewalXgafv+ = lens _ewalXgafv (\ s a -> s{_ewalXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewalUploadProtocol :: Lens' EnterprisesWebAppsList (Maybe Text)+ewalUploadProtocol+ = lens _ewalUploadProtocol+ (\ s a -> s{_ewalUploadProtocol = a})++-- | OAuth access token.+ewalAccessToken :: Lens' EnterprisesWebAppsList (Maybe Text)+ewalAccessToken+ = lens _ewalAccessToken+ (\ s a -> s{_ewalAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewalUploadType :: Lens' EnterprisesWebAppsList (Maybe Text)+ewalUploadType+ = lens _ewalUploadType+ (\ s a -> s{_ewalUploadType = a})++-- | A token identifying a page of results returned by the server.+ewalPageToken :: Lens' EnterprisesWebAppsList (Maybe Text)+ewalPageToken+ = lens _ewalPageToken+ (\ s a -> s{_ewalPageToken = a})++-- | The requested page size. The actual page size may be fixed to a min or+-- max value.+ewalPageSize :: Lens' EnterprisesWebAppsList (Maybe Int32)+ewalPageSize+ = lens _ewalPageSize (\ s a -> s{_ewalPageSize = a})+ . mapping _Coerce++-- | JSONP+ewalCallback :: Lens' EnterprisesWebAppsList (Maybe Text)+ewalCallback+ = lens _ewalCallback (\ s a -> s{_ewalCallback = a})++instance GoogleRequest EnterprisesWebAppsList where+ type Rs EnterprisesWebAppsList = ListWebAppsResponse+ type Scopes EnterprisesWebAppsList =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebAppsList'{..}+ = go _ewalParent _ewalXgafv _ewalUploadProtocol+ _ewalAccessToken+ _ewalUploadType+ _ewalPageToken+ _ewalPageSize+ _ewalCallback+ (Just AltJSON)+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebAppsListResource)+ mempty
+ gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Patch.hs view
@@ -0,0 +1,177 @@+{-# 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.WebApps.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 web app.+--+-- /See:/ <https://developers.google.com/android/management Android Management API Reference> for @androidmanagement.enterprises.webApps.patch@.+module Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch+ (+ -- * REST Resource+ EnterprisesWebAppsPatchResource++ -- * Creating a Request+ , enterprisesWebAppsPatch+ , EnterprisesWebAppsPatch++ -- * Request Lenses+ , ewapXgafv+ , ewapUploadProtocol+ , ewapUpdateMask+ , ewapAccessToken+ , ewapUploadType+ , ewapPayload+ , ewapName+ , ewapCallback+ ) where++import Network.Google.AndroidManagement.Types+import Network.Google.Prelude++-- | A resource alias for @androidmanagement.enterprises.webApps.patch@ method which the+-- 'EnterprisesWebAppsPatch' request conforms to.+type EnterprisesWebAppsPatchResource =+ "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] WebApp :> Patch '[JSON] WebApp++-- | Updates a web app.+--+-- /See:/ 'enterprisesWebAppsPatch' smart constructor.+data EnterprisesWebAppsPatch =+ EnterprisesWebAppsPatch'+ { _ewapXgafv :: !(Maybe Xgafv)+ , _ewapUploadProtocol :: !(Maybe Text)+ , _ewapUpdateMask :: !(Maybe GFieldMask)+ , _ewapAccessToken :: !(Maybe Text)+ , _ewapUploadType :: !(Maybe Text)+ , _ewapPayload :: !WebApp+ , _ewapName :: !Text+ , _ewapCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnterprisesWebAppsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewapXgafv'+--+-- * 'ewapUploadProtocol'+--+-- * 'ewapUpdateMask'+--+-- * 'ewapAccessToken'+--+-- * 'ewapUploadType'+--+-- * 'ewapPayload'+--+-- * 'ewapName'+--+-- * 'ewapCallback'+enterprisesWebAppsPatch+ :: WebApp -- ^ 'ewapPayload'+ -> Text -- ^ 'ewapName'+ -> EnterprisesWebAppsPatch+enterprisesWebAppsPatch pEwapPayload_ pEwapName_ =+ EnterprisesWebAppsPatch'+ { _ewapXgafv = Nothing+ , _ewapUploadProtocol = Nothing+ , _ewapUpdateMask = Nothing+ , _ewapAccessToken = Nothing+ , _ewapUploadType = Nothing+ , _ewapPayload = pEwapPayload_+ , _ewapName = pEwapName_+ , _ewapCallback = Nothing+ }+++-- | V1 error format.+ewapXgafv :: Lens' EnterprisesWebAppsPatch (Maybe Xgafv)+ewapXgafv+ = lens _ewapXgafv (\ s a -> s{_ewapXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ewapUploadProtocol :: Lens' EnterprisesWebAppsPatch (Maybe Text)+ewapUploadProtocol+ = lens _ewapUploadProtocol+ (\ s a -> s{_ewapUploadProtocol = a})++-- | The field mask indicating the fields to update. If not set, all+-- modifiable fields will be modified.+ewapUpdateMask :: Lens' EnterprisesWebAppsPatch (Maybe GFieldMask)+ewapUpdateMask+ = lens _ewapUpdateMask+ (\ s a -> s{_ewapUpdateMask = a})++-- | OAuth access token.+ewapAccessToken :: Lens' EnterprisesWebAppsPatch (Maybe Text)+ewapAccessToken+ = lens _ewapAccessToken+ (\ s a -> s{_ewapAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ewapUploadType :: Lens' EnterprisesWebAppsPatch (Maybe Text)+ewapUploadType+ = lens _ewapUploadType+ (\ s a -> s{_ewapUploadType = a})++-- | Multipart request metadata.+ewapPayload :: Lens' EnterprisesWebAppsPatch WebApp+ewapPayload+ = lens _ewapPayload (\ s a -> s{_ewapPayload = a})++-- | The name of the web app in the form+-- enterprises\/{enterpriseId}\/webApps\/{packageName}.+ewapName :: Lens' EnterprisesWebAppsPatch Text+ewapName = lens _ewapName (\ s a -> s{_ewapName = a})++-- | JSONP+ewapCallback :: Lens' EnterprisesWebAppsPatch (Maybe Text)+ewapCallback+ = lens _ewapCallback (\ s a -> s{_ewapCallback = a})++instance GoogleRequest EnterprisesWebAppsPatch where+ type Rs EnterprisesWebAppsPatch = WebApp+ type Scopes EnterprisesWebAppsPatch =+ '["https://www.googleapis.com/auth/androidmanagement"]+ requestClient EnterprisesWebAppsPatch'{..}+ = go _ewapName _ewapXgafv _ewapUploadProtocol+ _ewapUpdateMask+ _ewapAccessToken+ _ewapUploadType+ _ewapCallback+ (Just AltJSON)+ _ewapPayload+ androidManagementService+ where go+ = buildClient+ (Proxy :: Proxy EnterprisesWebAppsPatchResource)+ mempty
gen/Network/Google/Resource/AndroidManagement/Enterprises/WebTokens/Create.hs view
@@ -64,7 +64,8 @@ -- for a given enterprise. -- -- /See:/ 'enterprisesWebTokensCreate' smart constructor.-data EnterprisesWebTokensCreate = EnterprisesWebTokensCreate'+data EnterprisesWebTokensCreate =+ EnterprisesWebTokensCreate' { _ewtcParent :: !Text , _ewtcXgafv :: !(Maybe Xgafv) , _ewtcUploadProtocol :: !(Maybe Text)@@ -72,8 +73,10 @@ , _ewtcUploadType :: !(Maybe Text) , _ewtcPayload :: !WebToken , _ewtcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -96,7 +99,7 @@ -> WebToken -- ^ 'ewtcPayload' -> EnterprisesWebTokensCreate enterprisesWebTokensCreate pEwtcParent_ pEwtcPayload_ =- EnterprisesWebTokensCreate'+ EnterprisesWebTokensCreate' { _ewtcParent = pEwtcParent_ , _ewtcXgafv = Nothing , _ewtcUploadProtocol = Nothing@@ -105,6 +108,7 @@ , _ewtcPayload = pEwtcPayload_ , _ewtcCallback = Nothing }+ -- | The name of the enterprise in the form enterprises\/{enterpriseId}. ewtcParent :: Lens' EnterprisesWebTokensCreate Text
gen/Network/Google/Resource/AndroidManagement/SignupURLs/Create.hs view
@@ -62,7 +62,8 @@ -- | Creates an enterprise signup URL. -- -- /See:/ 'signupURLsCreate' smart constructor.-data SignupURLsCreate = SignupURLsCreate'+data SignupURLsCreate =+ SignupURLsCreate' { _sucXgafv :: !(Maybe Xgafv) , _sucUploadProtocol :: !(Maybe Text) , _sucCallbackURL :: !(Maybe Text)@@ -70,8 +71,10 @@ , _sucUploadType :: !(Maybe Text) , _sucProjectId :: !(Maybe Text) , _sucCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ 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:@@ -92,7 +95,7 @@ signupURLsCreate :: SignupURLsCreate signupURLsCreate =- SignupURLsCreate'+ SignupURLsCreate' { _sucXgafv = Nothing , _sucUploadProtocol = Nothing , _sucCallbackURL = Nothing@@ -101,6 +104,7 @@ , _sucProjectId = Nothing , _sucCallback = Nothing }+ -- | V1 error format. sucXgafv :: Lens' SignupURLsCreate (Maybe Xgafv)
gogol-androidmanagement.cabal view
@@ -1,5 +1,5 @@ name: gogol-androidmanagement-version: 0.4.0+version: 0.5.0 synopsis: Google Android Management SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -55,6 +55,11 @@ , 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.WebApps.Create+ , Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Delete+ , Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Get+ , Network.Google.Resource.AndroidManagement.Enterprises.WebApps.List+ , Network.Google.Resource.AndroidManagement.Enterprises.WebApps.Patch , Network.Google.Resource.AndroidManagement.Enterprises.WebTokens.Create , Network.Google.Resource.AndroidManagement.SignupURLs.Create @@ -63,5 +68,5 @@ , Network.Google.AndroidManagement.Types.Sum build-depends:- gogol-core == 0.4.0.*+ gogol-core == 0.5.0.* , base >= 4.7 && < 5