packages feed

gogol-android-enterprise 0.3.0 → 0.4.0

raw patch · 34 files changed

+7426/−4360 lines, 34 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google.AndroidEnterprise: ppKind :: Lens' ProductPermissions Text
- Network.Google.AndroidEnterprise: ppPermission :: Lens' ProductPermissions [ProductPermission]
- Network.Google.AndroidEnterprise.Types: ppKind :: Lens' ProductPermissions Text
- Network.Google.AndroidEnterprise.Types: ppPermission :: Lens' ProductPermissions [ProductPermission]
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: data EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: edEnterpriseId :: Lens' EnterprisesDelete Text
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: enterprisesDelete :: Text -> EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Enterprises.Delete.EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Enterprises.Delete.EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Enterprises.Delete.EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Enterprises.Delete.EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Enterprises.Delete.EnterprisesDelete
- Network.Google.Resource.AndroidEnterprise.Enterprises.Delete: type EnterprisesDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: data EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: eiPayload :: Lens' EnterprisesInsert Enterprise
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: eiToken :: Lens' EnterprisesInsert Text
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: enterprisesInsert :: Text -> Enterprise -> EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Enterprises.Insert.EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Enterprises.Insert.EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Enterprises.Insert.EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Enterprises.Insert.EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Enterprises.Insert.EnterprisesInsert
- Network.Google.Resource.AndroidEnterprise.Enterprises.Insert: type EnterprisesInsertResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (QueryParam "token" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise)))))
- Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll: euuEnterpriseId :: Lens' EnterprisesUnenroll Text
- Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: entEnterpriseId :: Lens' EntitlementsDelete Text
- Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: entEntitlementId :: Lens' EntitlementsDelete Text
- Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: entUserId :: Lens' EntitlementsDelete Text
+ Network.Google.AndroidEnterprise: administratorWebTokenSpecPlaySearch :: AdministratorWebTokenSpecPlaySearch
+ Network.Google.AndroidEnterprise: administratorWebTokenSpecPrivateApps :: AdministratorWebTokenSpecPrivateApps
+ Network.Google.AndroidEnterprise: administratorWebTokenSpecStoreBuilder :: AdministratorWebTokenSpecStoreBuilder
+ Network.Google.AndroidEnterprise: administratorWebTokenSpecWebApps :: AdministratorWebTokenSpecWebApps
+ Network.Google.AndroidEnterprise: adpcKind :: Lens' AndroidDevicePolicyConfig Text
+ Network.Google.AndroidEnterprise: adpcState :: Lens' AndroidDevicePolicyConfig (Maybe Text)
+ Network.Google.AndroidEnterprise: aicChargingStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise: aicDeviceIdleStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise: aicNetworkTypeConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise: aipAutoInstallConstraint :: Lens' AutoInstallPolicy [AutoInstallConstraint]
+ Network.Google.AndroidEnterprise: aipAutoInstallMode :: Lens' AutoInstallPolicy (Maybe Text)
+ Network.Google.AndroidEnterprise: aipAutoInstallPriority :: Lens' AutoInstallPolicy (Maybe Int32)
+ Network.Google.AndroidEnterprise: aipMinimumVersionCode :: Lens' AutoInstallPolicy (Maybe Int32)
+ Network.Google.AndroidEnterprise: androidDevicePolicyConfig :: AndroidDevicePolicyConfig
+ Network.Google.AndroidEnterprise: autoInstallConstraint :: AutoInstallConstraint
+ Network.Google.AndroidEnterprise: autoInstallPolicy :: AutoInstallPolicy
+ Network.Google.AndroidEnterprise: avIsProduction :: Lens' AppVersion (Maybe Bool)
+ Network.Google.AndroidEnterprise: avTrack :: Lens' AppVersion (Maybe Text)
+ Network.Google.AndroidEnterprise: avTrackId :: Lens' AppVersion [Text]
+ Network.Google.AndroidEnterprise: awtsPlaySearch :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPlaySearch)
+ Network.Google.AndroidEnterprise: awtsPrivateApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPrivateApps)
+ Network.Google.AndroidEnterprise: awtsStoreBuilder :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecStoreBuilder)
+ Network.Google.AndroidEnterprise: awtsWebApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecWebApps)
+ Network.Google.AndroidEnterprise: awtspaEnabled :: Lens' AdministratorWebTokenSpecPrivateApps (Maybe Bool)
+ Network.Google.AndroidEnterprise: awtspsApproveApps :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)
+ Network.Google.AndroidEnterprise: awtspsEnabled :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)
+ Network.Google.AndroidEnterprise: awtssbEnabled :: Lens' AdministratorWebTokenSpecStoreBuilder (Maybe Bool)
+ Network.Google.AndroidEnterprise: awtswaEnabled :: Lens' AdministratorWebTokenSpecWebApps (Maybe Bool)
+ Network.Google.AndroidEnterprise: configurationVariables :: ConfigurationVariables
+ Network.Google.AndroidEnterprise: cvKind :: Lens' ConfigurationVariables Text
+ Network.Google.AndroidEnterprise: cvMcmId :: Lens' ConfigurationVariables (Maybe Text)
+ Network.Google.AndroidEnterprise: cvVariableSet :: Lens' ConfigurationVariables [VariableSet]
+ Network.Google.AndroidEnterprise: dPolicy :: Lens' Device (Maybe Policy)
+ Network.Google.AndroidEnterprise: data AdministratorWebTokenSpecPlaySearch
+ Network.Google.AndroidEnterprise: data AdministratorWebTokenSpecPrivateApps
+ Network.Google.AndroidEnterprise: data AdministratorWebTokenSpecStoreBuilder
+ Network.Google.AndroidEnterprise: data AdministratorWebTokenSpecWebApps
+ Network.Google.AndroidEnterprise: data AndroidDevicePolicyConfig
+ Network.Google.AndroidEnterprise: data AutoInstallConstraint
+ Network.Google.AndroidEnterprise: data AutoInstallPolicy
+ Network.Google.AndroidEnterprise: data ConfigurationVariables
+ Network.Google.AndroidEnterprise: data MaintenanceWindow
+ Network.Google.AndroidEnterprise: data ManagedConfigurationsSettings
+ Network.Google.AndroidEnterprise: data ManagedConfigurationsSettingsListResponse
+ Network.Google.AndroidEnterprise: data Policy
+ Network.Google.AndroidEnterprise: data ProductPolicy
+ Network.Google.AndroidEnterprise: data ProductSigningCertificate
+ Network.Google.AndroidEnterprise: data ProductVisibility
+ Network.Google.AndroidEnterprise: data TrackInfo
+ Network.Google.AndroidEnterprise: data VariableSet
+ Network.Google.AndroidEnterprise: data WebApp
+ Network.Google.AndroidEnterprise: data WebAppIcon
+ Network.Google.AndroidEnterprise: data WebAppsListResponse
+ Network.Google.AndroidEnterprise: glPermissions :: Lens' GroupLicense (Maybe Text)
+ Network.Google.AndroidEnterprise: maintenanceWindow :: MaintenanceWindow
+ Network.Google.AndroidEnterprise: managedConfigurationsSettings :: ManagedConfigurationsSettings
+ Network.Google.AndroidEnterprise: managedConfigurationsSettingsListResponse :: ManagedConfigurationsSettingsListResponse
+ Network.Google.AndroidEnterprise: mcConfigurationVariables :: Lens' ManagedConfiguration (Maybe ConfigurationVariables)
+ Network.Google.AndroidEnterprise: mcsKind :: Lens' ManagedConfigurationsSettings Text
+ Network.Google.AndroidEnterprise: mcsLastUpdatedTimestampMillis :: Lens' ManagedConfigurationsSettings (Maybe Int64)
+ Network.Google.AndroidEnterprise: mcsManagedProperty :: Lens' ManagedConfigurationsSettings [ManagedProperty]
+ Network.Google.AndroidEnterprise: mcsMcmId :: Lens' ManagedConfigurationsSettings (Maybe Text)
+ Network.Google.AndroidEnterprise: mcsName :: Lens' ManagedConfigurationsSettings (Maybe Text)
+ Network.Google.AndroidEnterprise: mcslrKind :: Lens' ManagedConfigurationsSettingsListResponse Text
+ Network.Google.AndroidEnterprise: mcslrManagedConfigurationsSettings :: Lens' ManagedConfigurationsSettingsListResponse [ManagedConfigurationsSettings]
+ Network.Google.AndroidEnterprise: mwDurationMs :: Lens' MaintenanceWindow (Maybe Int64)
+ Network.Google.AndroidEnterprise: mwStartTimeAfterMidnightMs :: Lens' MaintenanceWindow (Maybe Int64)
+ Network.Google.AndroidEnterprise: nNotificationType :: Lens' Notification (Maybe Text)
+ Network.Google.AndroidEnterprise: ndeDpcPackageName :: Lens' NewDeviceEvent (Maybe Text)
+ Network.Google.AndroidEnterprise: pAppTracks :: Lens' Product [TrackInfo]
+ Network.Google.AndroidEnterprise: pAutoUpdatePolicy :: Lens' Policy (Maybe Text)
+ Network.Google.AndroidEnterprise: pAvailableCountries :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise: pAvailableTracks :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise: pCategory :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise: pContentRating :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise: pDescription :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise: pLastUpdatedTimestampMillis :: Lens' Product (Maybe Int64)
+ Network.Google.AndroidEnterprise: pMaintenanceWindow :: Lens' Policy (Maybe MaintenanceWindow)
+ Network.Google.AndroidEnterprise: pMinAndroidSdkVersion :: Lens' Product (Maybe Int32)
+ Network.Google.AndroidEnterprise: pPermissions :: Lens' Product [ProductPermission]
+ Network.Google.AndroidEnterprise: pProductAvailabilityPolicy :: Lens' Policy (Maybe Text)
+ Network.Google.AndroidEnterprise: pProductPolicy :: Lens' Policy [ProductPolicy]
+ Network.Google.AndroidEnterprise: pRecentChanges :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise: pScreenshotURLs :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise: pSigningCertificate :: Lens' Product (Maybe ProductSigningCertificate)
+ Network.Google.AndroidEnterprise: parApprovedPermissions :: Lens' ProductsApproveRequest (Maybe Text)
+ Network.Google.AndroidEnterprise: policy :: Policy
+ Network.Google.AndroidEnterprise: ppAutoInstallPolicy :: Lens' ProductPolicy (Maybe AutoInstallPolicy)
+ Network.Google.AndroidEnterprise: ppTrackIds :: Lens' ProductPolicy [Text]
+ Network.Google.AndroidEnterprise: ppTracks :: Lens' ProductPolicy [Text]
+ Network.Google.AndroidEnterprise: ppsKind :: Lens' ProductPermissions Text
+ Network.Google.AndroidEnterprise: ppsPermission :: Lens' ProductPermissions [ProductPermission]
+ Network.Google.AndroidEnterprise: ppsProductId :: Lens' ProductPermissions (Maybe Text)
+ Network.Google.AndroidEnterprise: productPolicy :: ProductPolicy
+ Network.Google.AndroidEnterprise: productSigningCertificate :: ProductSigningCertificate
+ Network.Google.AndroidEnterprise: productVisibility :: ProductVisibility
+ Network.Google.AndroidEnterprise: psProductVisibility :: Lens' ProductSet [ProductVisibility]
+ Network.Google.AndroidEnterprise: pscCertificateHashSha1 :: Lens' ProductSigningCertificate (Maybe Text)
+ Network.Google.AndroidEnterprise: pscCertificateHashSha256 :: Lens' ProductSigningCertificate (Maybe Text)
+ Network.Google.AndroidEnterprise: pvProductId :: Lens' ProductVisibility (Maybe Text)
+ Network.Google.AndroidEnterprise: pvTrackIds :: Lens' ProductVisibility [Text]
+ Network.Google.AndroidEnterprise: pvTracks :: Lens' ProductVisibility [Text]
+ Network.Google.AndroidEnterprise: tiTrackAlias :: Lens' TrackInfo (Maybe Text)
+ Network.Google.AndroidEnterprise: tiTrackId :: Lens' TrackInfo (Maybe Text)
+ Network.Google.AndroidEnterprise: trackInfo :: TrackInfo
+ Network.Google.AndroidEnterprise: variableSet :: VariableSet
+ Network.Google.AndroidEnterprise: vsKind :: Lens' VariableSet Text
+ Network.Google.AndroidEnterprise: vsPlaceholder :: Lens' VariableSet (Maybe Text)
+ Network.Google.AndroidEnterprise: vsUserValue :: Lens' VariableSet (Maybe Text)
+ Network.Google.AndroidEnterprise: waDisplayMode :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise: waIcons :: Lens' WebApp [WebAppIcon]
+ Network.Google.AndroidEnterprise: waIsPublished :: Lens' WebApp (Maybe Bool)
+ Network.Google.AndroidEnterprise: waStartURL :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise: waTitle :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise: waVersionCode :: Lens' WebApp (Maybe Int64)
+ Network.Google.AndroidEnterprise: waWebAppId :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise: waiImageData :: Lens' WebAppIcon (Maybe Text)
+ Network.Google.AndroidEnterprise: walrKind :: Lens' WebAppsListResponse Text
+ Network.Google.AndroidEnterprise: walrWebApp :: Lens' WebAppsListResponse [WebApp]
+ Network.Google.AndroidEnterprise: webApp :: WebApp
+ Network.Google.AndroidEnterprise: webAppIcon :: WebAppIcon
+ Network.Google.AndroidEnterprise: webAppsListResponse :: WebAppsListResponse
+ Network.Google.AndroidEnterprise.Types: administratorWebTokenSpecPlaySearch :: AdministratorWebTokenSpecPlaySearch
+ Network.Google.AndroidEnterprise.Types: administratorWebTokenSpecPrivateApps :: AdministratorWebTokenSpecPrivateApps
+ Network.Google.AndroidEnterprise.Types: administratorWebTokenSpecStoreBuilder :: AdministratorWebTokenSpecStoreBuilder
+ Network.Google.AndroidEnterprise.Types: administratorWebTokenSpecWebApps :: AdministratorWebTokenSpecWebApps
+ Network.Google.AndroidEnterprise.Types: adpcKind :: Lens' AndroidDevicePolicyConfig Text
+ Network.Google.AndroidEnterprise.Types: adpcState :: Lens' AndroidDevicePolicyConfig (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: aicChargingStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: aicDeviceIdleStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: aicNetworkTypeConstraint :: Lens' AutoInstallConstraint (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: aipAutoInstallConstraint :: Lens' AutoInstallPolicy [AutoInstallConstraint]
+ Network.Google.AndroidEnterprise.Types: aipAutoInstallMode :: Lens' AutoInstallPolicy (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: aipAutoInstallPriority :: Lens' AutoInstallPolicy (Maybe Int32)
+ Network.Google.AndroidEnterprise.Types: aipMinimumVersionCode :: Lens' AutoInstallPolicy (Maybe Int32)
+ Network.Google.AndroidEnterprise.Types: androidDevicePolicyConfig :: AndroidDevicePolicyConfig
+ Network.Google.AndroidEnterprise.Types: autoInstallConstraint :: AutoInstallConstraint
+ Network.Google.AndroidEnterprise.Types: autoInstallPolicy :: AutoInstallPolicy
+ Network.Google.AndroidEnterprise.Types: avIsProduction :: Lens' AppVersion (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: avTrack :: Lens' AppVersion (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: avTrackId :: Lens' AppVersion [Text]
+ Network.Google.AndroidEnterprise.Types: awtsPlaySearch :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPlaySearch)
+ Network.Google.AndroidEnterprise.Types: awtsPrivateApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPrivateApps)
+ Network.Google.AndroidEnterprise.Types: awtsStoreBuilder :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecStoreBuilder)
+ Network.Google.AndroidEnterprise.Types: awtsWebApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecWebApps)
+ Network.Google.AndroidEnterprise.Types: awtspaEnabled :: Lens' AdministratorWebTokenSpecPrivateApps (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: awtspsApproveApps :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: awtspsEnabled :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: awtssbEnabled :: Lens' AdministratorWebTokenSpecStoreBuilder (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: awtswaEnabled :: Lens' AdministratorWebTokenSpecWebApps (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: configurationVariables :: ConfigurationVariables
+ Network.Google.AndroidEnterprise.Types: cvKind :: Lens' ConfigurationVariables Text
+ Network.Google.AndroidEnterprise.Types: cvMcmId :: Lens' ConfigurationVariables (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: cvVariableSet :: Lens' ConfigurationVariables [VariableSet]
+ Network.Google.AndroidEnterprise.Types: dPolicy :: Lens' Device (Maybe Policy)
+ Network.Google.AndroidEnterprise.Types: data AdministratorWebTokenSpecPlaySearch
+ Network.Google.AndroidEnterprise.Types: data AdministratorWebTokenSpecPrivateApps
+ Network.Google.AndroidEnterprise.Types: data AdministratorWebTokenSpecStoreBuilder
+ Network.Google.AndroidEnterprise.Types: data AdministratorWebTokenSpecWebApps
+ Network.Google.AndroidEnterprise.Types: data AndroidDevicePolicyConfig
+ Network.Google.AndroidEnterprise.Types: data AutoInstallConstraint
+ Network.Google.AndroidEnterprise.Types: data AutoInstallPolicy
+ Network.Google.AndroidEnterprise.Types: data ConfigurationVariables
+ Network.Google.AndroidEnterprise.Types: data MaintenanceWindow
+ Network.Google.AndroidEnterprise.Types: data ManagedConfigurationsSettings
+ Network.Google.AndroidEnterprise.Types: data ManagedConfigurationsSettingsListResponse
+ Network.Google.AndroidEnterprise.Types: data Policy
+ Network.Google.AndroidEnterprise.Types: data ProductPolicy
+ Network.Google.AndroidEnterprise.Types: data ProductSigningCertificate
+ Network.Google.AndroidEnterprise.Types: data ProductVisibility
+ Network.Google.AndroidEnterprise.Types: data TrackInfo
+ Network.Google.AndroidEnterprise.Types: data VariableSet
+ Network.Google.AndroidEnterprise.Types: data WebApp
+ Network.Google.AndroidEnterprise.Types: data WebAppIcon
+ Network.Google.AndroidEnterprise.Types: data WebAppsListResponse
+ Network.Google.AndroidEnterprise.Types: glPermissions :: Lens' GroupLicense (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: maintenanceWindow :: MaintenanceWindow
+ Network.Google.AndroidEnterprise.Types: managedConfigurationsSettings :: ManagedConfigurationsSettings
+ Network.Google.AndroidEnterprise.Types: managedConfigurationsSettingsListResponse :: ManagedConfigurationsSettingsListResponse
+ Network.Google.AndroidEnterprise.Types: mcConfigurationVariables :: Lens' ManagedConfiguration (Maybe ConfigurationVariables)
+ Network.Google.AndroidEnterprise.Types: mcsKind :: Lens' ManagedConfigurationsSettings Text
+ Network.Google.AndroidEnterprise.Types: mcsLastUpdatedTimestampMillis :: Lens' ManagedConfigurationsSettings (Maybe Int64)
+ Network.Google.AndroidEnterprise.Types: mcsManagedProperty :: Lens' ManagedConfigurationsSettings [ManagedProperty]
+ Network.Google.AndroidEnterprise.Types: mcsMcmId :: Lens' ManagedConfigurationsSettings (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: mcsName :: Lens' ManagedConfigurationsSettings (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: mcslrKind :: Lens' ManagedConfigurationsSettingsListResponse Text
+ Network.Google.AndroidEnterprise.Types: mcslrManagedConfigurationsSettings :: Lens' ManagedConfigurationsSettingsListResponse [ManagedConfigurationsSettings]
+ Network.Google.AndroidEnterprise.Types: mwDurationMs :: Lens' MaintenanceWindow (Maybe Int64)
+ Network.Google.AndroidEnterprise.Types: mwStartTimeAfterMidnightMs :: Lens' MaintenanceWindow (Maybe Int64)
+ Network.Google.AndroidEnterprise.Types: nNotificationType :: Lens' Notification (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: ndeDpcPackageName :: Lens' NewDeviceEvent (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pAppTracks :: Lens' Product [TrackInfo]
+ Network.Google.AndroidEnterprise.Types: pAutoUpdatePolicy :: Lens' Policy (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pAvailableCountries :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise.Types: pAvailableTracks :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise.Types: pCategory :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pContentRating :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pDescription :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pLastUpdatedTimestampMillis :: Lens' Product (Maybe Int64)
+ Network.Google.AndroidEnterprise.Types: pMaintenanceWindow :: Lens' Policy (Maybe MaintenanceWindow)
+ Network.Google.AndroidEnterprise.Types: pMinAndroidSdkVersion :: Lens' Product (Maybe Int32)
+ Network.Google.AndroidEnterprise.Types: pPermissions :: Lens' Product [ProductPermission]
+ Network.Google.AndroidEnterprise.Types: pProductAvailabilityPolicy :: Lens' Policy (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pProductPolicy :: Lens' Policy [ProductPolicy]
+ Network.Google.AndroidEnterprise.Types: pRecentChanges :: Lens' Product (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pScreenshotURLs :: Lens' Product [Text]
+ Network.Google.AndroidEnterprise.Types: pSigningCertificate :: Lens' Product (Maybe ProductSigningCertificate)
+ Network.Google.AndroidEnterprise.Types: parApprovedPermissions :: Lens' ProductsApproveRequest (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: policy :: Policy
+ Network.Google.AndroidEnterprise.Types: ppAutoInstallPolicy :: Lens' ProductPolicy (Maybe AutoInstallPolicy)
+ Network.Google.AndroidEnterprise.Types: ppTrackIds :: Lens' ProductPolicy [Text]
+ Network.Google.AndroidEnterprise.Types: ppTracks :: Lens' ProductPolicy [Text]
+ Network.Google.AndroidEnterprise.Types: ppsKind :: Lens' ProductPermissions Text
+ Network.Google.AndroidEnterprise.Types: ppsPermission :: Lens' ProductPermissions [ProductPermission]
+ Network.Google.AndroidEnterprise.Types: ppsProductId :: Lens' ProductPermissions (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: productPolicy :: ProductPolicy
+ Network.Google.AndroidEnterprise.Types: productSigningCertificate :: ProductSigningCertificate
+ Network.Google.AndroidEnterprise.Types: productVisibility :: ProductVisibility
+ Network.Google.AndroidEnterprise.Types: psProductVisibility :: Lens' ProductSet [ProductVisibility]
+ Network.Google.AndroidEnterprise.Types: pscCertificateHashSha1 :: Lens' ProductSigningCertificate (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pscCertificateHashSha256 :: Lens' ProductSigningCertificate (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pvProductId :: Lens' ProductVisibility (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: pvTrackIds :: Lens' ProductVisibility [Text]
+ Network.Google.AndroidEnterprise.Types: pvTracks :: Lens' ProductVisibility [Text]
+ Network.Google.AndroidEnterprise.Types: tiTrackAlias :: Lens' TrackInfo (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: tiTrackId :: Lens' TrackInfo (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: trackInfo :: TrackInfo
+ Network.Google.AndroidEnterprise.Types: variableSet :: VariableSet
+ Network.Google.AndroidEnterprise.Types: vsKind :: Lens' VariableSet Text
+ Network.Google.AndroidEnterprise.Types: vsPlaceholder :: Lens' VariableSet (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: vsUserValue :: Lens' VariableSet (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: waDisplayMode :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: waIcons :: Lens' WebApp [WebAppIcon]
+ Network.Google.AndroidEnterprise.Types: waIsPublished :: Lens' WebApp (Maybe Bool)
+ Network.Google.AndroidEnterprise.Types: waStartURL :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: waTitle :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: waVersionCode :: Lens' WebApp (Maybe Int64)
+ Network.Google.AndroidEnterprise.Types: waWebAppId :: Lens' WebApp (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: waiImageData :: Lens' WebAppIcon (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: walrKind :: Lens' WebAppsListResponse Text
+ Network.Google.AndroidEnterprise.Types: walrWebApp :: Lens' WebAppsListResponse [WebApp]
+ Network.Google.AndroidEnterprise.Types: webApp :: WebApp
+ Network.Google.AndroidEnterprise.Types: webAppIcon :: WebAppIcon
+ Network.Google.AndroidEnterprise.Types: webAppsListResponse :: WebAppsListResponse
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: data DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: devicesPatch :: Text -> Device -> Text -> Text -> DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: dpDeviceId :: Lens' DevicesPatch Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: dpEnterpriseId :: Lens' DevicesPatch Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: dpPayload :: Lens' DevicesPatch Device
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: dpUpdateMask :: Lens' DevicesPatch (Maybe Text)
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: dpUserId :: Lens' DevicesPatch Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Devices.Patch.DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Devices.Patch.DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Devices.Patch.DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Devices.Patch.DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Devices.Patch.DevicesPatch
+ Network.Google.Resource.AndroidEnterprise.Devices.Patch: type DevicesPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> QueryParam "updateMask" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Device :> Patch '[JSON] Device
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: data DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: devicesUpdate :: Text -> Device -> Text -> Text -> DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: duDeviceId :: Lens' DevicesUpdate Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: duEnterpriseId :: Lens' DevicesUpdate Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: duPayload :: Lens' DevicesUpdate Device
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: duUpdateMask :: Lens' DevicesUpdate (Maybe Text)
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: duUserId :: Lens' DevicesUpdate Text
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Devices.Update.DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Devices.Update.DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Devices.Update.DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Devices.Update.DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Devices.Update.DevicesUpdate
+ Network.Google.Resource.AndroidEnterprise.Devices.Update: type DevicesUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> QueryParam "updateMask" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Device :> Put '[JSON] Device
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: data EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: egadpcEnterpriseId :: Lens' EnterprisesGetAndroidDevicePolicyConfig Text
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: enterprisesGetAndroidDevicePolicyConfig :: Text -> EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig.EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig.EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig.EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig.EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig.EnterprisesGetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig: type EnterprisesGetAndroidDevicePolicyConfigResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "androidDevicePolicyConfig" :> QueryParam "alt" AltJSON :> Get '[JSON] AndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: data EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: enterprisesSetAndroidDevicePolicyConfig :: Text -> AndroidDevicePolicyConfig -> EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: esadpcEnterpriseId :: Lens' EnterprisesSetAndroidDevicePolicyConfig Text
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: esadpcPayload :: Lens' EnterprisesSetAndroidDevicePolicyConfig AndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig.EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig.EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig.EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig.EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig.EnterprisesSetAndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig: type EnterprisesSetAndroidDevicePolicyConfigResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "androidDevicePolicyConfig" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] AndroidDevicePolicyConfig :> Put '[JSON] AndroidDevicePolicyConfig
+ Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll: entEnterpriseId :: Lens' EnterprisesUnenroll Text
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: edEnterpriseId :: Lens' EntitlementsDelete Text
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: edEntitlementId :: Lens' EntitlementsDelete Text
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: edUserId :: Lens' EntitlementsDelete Text
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: data ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List.ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List.ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List.ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List.ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List.ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: managedConfigurationssettingsList :: Text -> Text -> ManagedConfigurationssettingsList
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: mclEnterpriseId :: Lens' ManagedConfigurationssettingsList Text
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: mclProductId :: Lens' ManagedConfigurationssettingsList Text
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List: type ManagedConfigurationssettingsListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "managedConfigurationsSettings" :> QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfigurationsSettingsListResponse
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: data UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess.UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess.UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess.UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess.UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess.UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: type UsersRevokeDeviceAccessResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "deviceAccess" :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: urdaEnterpriseId :: Lens' UsersRevokeDeviceAccess Text
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: urdaUserId :: Lens' UsersRevokeDeviceAccess Text
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess: usersRevokeDeviceAccess :: Text -> Text -> UsersRevokeDeviceAccess
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: data WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.Delete.WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.Delete.WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.Delete.WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.Delete.WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.Delete.WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: type WebAppsDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> Capture "webAppId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: wadEnterpriseId :: Lens' WebAppsDelete Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: wadWebAppId :: Lens' WebAppsDelete Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Delete: webAppsDelete :: Text -> Text -> WebAppsDelete
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: data WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.Get.WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.Get.WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.Get.WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.Get.WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.Get.WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: type WebAppsGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> Capture "webAppId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: wagEnterpriseId :: Lens' WebAppsGet Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: wagWebAppId :: Lens' WebAppsGet Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Get: webAppsGet :: Text -> Text -> WebAppsGet
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: data WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.Insert.WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.Insert.WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.Insert.WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.Insert.WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.Insert.WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: type WebAppsInsertResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] WebApp :> Post '[JSON] WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: waiEnterpriseId :: Lens' WebAppsInsert Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: waiPayload :: Lens' WebAppsInsert WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Insert: webAppsInsert :: Text -> WebApp -> WebAppsInsert
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: data WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.List.WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.List.WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.List.WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.List.WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.List.WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: type WebAppsListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> QueryParam "alt" AltJSON :> Get '[JSON] WebAppsListResponse
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: walEnterpriseId :: Lens' WebAppsList Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.List: webAppsList :: Text -> WebAppsList
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: data WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.Patch.WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.Patch.WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.Patch.WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.Patch.WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.Patch.WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: type WebAppsPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> Capture "webAppId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] WebApp :> Patch '[JSON] WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: wapEnterpriseId :: Lens' WebAppsPatch Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: wapPayload :: Lens' WebAppsPatch WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: wapWebAppId :: Lens' WebAppsPatch Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Patch: webAppsPatch :: Text -> Text -> WebApp -> WebAppsPatch
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: data WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: instance Data.Data.Data Network.Google.Resource.AndroidEnterprise.WebApps.Update.WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: instance GHC.Classes.Eq Network.Google.Resource.AndroidEnterprise.WebApps.Update.WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: instance GHC.Generics.Generic Network.Google.Resource.AndroidEnterprise.WebApps.Update.WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: instance GHC.Show.Show Network.Google.Resource.AndroidEnterprise.WebApps.Update.WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidEnterprise.WebApps.Update.WebAppsUpdate
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: type WebAppsUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "webApps" :> Capture "webAppId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] WebApp :> Put '[JSON] WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: wauEnterpriseId :: Lens' WebAppsUpdate Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: wauPayload :: Lens' WebAppsUpdate WebApp
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: wauWebAppId :: Lens' WebAppsUpdate Text
+ Network.Google.Resource.AndroidEnterprise.WebApps.Update: webAppsUpdate :: Text -> Text -> WebApp -> WebAppsUpdate
- Network.Google.AndroidEnterprise: ppProductId :: Lens' ProductPermissions (Maybe Text)
+ Network.Google.AndroidEnterprise: ppProductId :: Lens' ProductPolicy (Maybe Text)
- Network.Google.AndroidEnterprise: type AndroidEnterpriseAPI = StorelayoutclustersInsertResource :<|> (StorelayoutclustersListResource :<|> (StorelayoutclustersPatchResource :<|> (StorelayoutclustersGetResource :<|> (StorelayoutclustersDeleteResource :<|> (StorelayoutclustersUpdateResource :<|> (UsersInsertResource :<|> (UsersListResource :<|> (UsersGenerateTokenResource :<|> (UsersGenerateAuthenticationTokenResource :<|> (UsersPatchResource :<|> (UsersGetResource :<|> (UsersSetAvailableProductSetResource :<|> (UsersRevokeTokenResource :<|> (UsersGetAvailableProductSetResource :<|> (UsersDeleteResource :<|> (UsersUpdateResource :<|> (InstallsListResource :<|> (InstallsPatchResource :<|> (InstallsGetResource :<|> (InstallsDeleteResource :<|> (InstallsUpdateResource :<|> (StorelayoutpagesInsertResource :<|> (StorelayoutpagesListResource :<|> (StorelayoutpagesPatchResource :<|> (StorelayoutpagesGetResource :<|> (StorelayoutpagesDeleteResource :<|> (StorelayoutpagesUpdateResource :<|> (ServiceAccountkeysInsertResource :<|> (ServiceAccountkeysListResource :<|> (ServiceAccountkeysDeleteResource :<|> (EnterprisesCompleteSignupResource :<|> (EnterprisesCreateWebTokenResource :<|> (EnterprisesInsertResource :<|> (EnterprisesGetServiceAccountResource :<|> (EnterprisesListResource :<|> (EnterprisesUnenrollResource :<|> (EnterprisesGetStoreLayoutResource :<|> (EnterprisesSetAccountResource :<|> (EnterprisesEnrollResource :<|> (EnterprisesGetResource :<|> (EnterprisesGenerateSignupURLResource :<|> (EnterprisesSendTestPushNotificationResource :<|> (EnterprisesSetStoreLayoutResource :<|> (EnterprisesAcknowledgeNotificationSetResource :<|> (EnterprisesPullNotificationSetResource :<|> (EnterprisesDeleteResource :<|> (ManagedConfigurationsforUserListResource :<|> (ManagedConfigurationsforUserPatchResource :<|> (ManagedConfigurationsforUserGetResource :<|> (ManagedConfigurationsforUserDeleteResource :<|> (ManagedConfigurationsforUserUpdateResource :<|> (GrouplicensesListResource :<|> (GrouplicensesGetResource :<|> (EntitlementsListResource :<|> (EntitlementsPatchResource :<|> (EntitlementsGetResource :<|> (EntitlementsDeleteResource :<|> (EntitlementsUpdateResource :<|> (ManagedConfigurationsforDeviceListResource :<|> (ManagedConfigurationsforDevicePatchResource :<|> (ManagedConfigurationsforDeviceGetResource :<|> (ManagedConfigurationsforDeviceDeleteResource :<|> (ManagedConfigurationsforDeviceUpdateResource :<|> (PermissionsGetResource :<|> (ProductsGenerateApprovalURLResource :<|> (ProductsListResource :<|> (ProductsGetResource :<|> (ProductsGetAppRestrictionsSchemaResource :<|> (ProductsUnApproveResource :<|> (ProductsApproveResource :<|> (ProductsGetPermissionsResource :<|> (DevicesListResource :<|> (DevicesSetStateResource :<|> (DevicesGetResource :<|> (DevicesGetStateResource :<|> GrouplicenseUsersListResource)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ Network.Google.AndroidEnterprise: type AndroidEnterpriseAPI = StorelayoutclustersInsertResource :<|> StorelayoutclustersListResource :<|> StorelayoutclustersPatchResource :<|> StorelayoutclustersGetResource :<|> StorelayoutclustersDeleteResource :<|> StorelayoutclustersUpdateResource :<|> UsersInsertResource :<|> UsersListResource :<|> UsersGenerateTokenResource :<|> UsersGenerateAuthenticationTokenResource :<|> UsersPatchResource :<|> UsersGetResource :<|> UsersRevokeDeviceAccessResource :<|> UsersSetAvailableProductSetResource :<|> UsersRevokeTokenResource :<|> UsersGetAvailableProductSetResource :<|> UsersDeleteResource :<|> UsersUpdateResource :<|> InstallsListResource :<|> InstallsPatchResource :<|> InstallsGetResource :<|> InstallsDeleteResource :<|> InstallsUpdateResource :<|> StorelayoutpagesInsertResource :<|> StorelayoutpagesListResource :<|> StorelayoutpagesPatchResource :<|> StorelayoutpagesGetResource :<|> StorelayoutpagesDeleteResource :<|> StorelayoutpagesUpdateResource :<|> ServiceAccountkeysInsertResource :<|> ServiceAccountkeysListResource :<|> ServiceAccountkeysDeleteResource :<|> ManagedConfigurationssettingsListResource :<|> EnterprisesCompleteSignupResource :<|> EnterprisesCreateWebTokenResource :<|> EnterprisesGetServiceAccountResource :<|> EnterprisesListResource :<|> EnterprisesUnenrollResource :<|> EnterprisesGetStoreLayoutResource :<|> EnterprisesSetAndroidDevicePolicyConfigResource :<|> EnterprisesSetAccountResource :<|> EnterprisesEnrollResource :<|> EnterprisesGetResource :<|> EnterprisesGenerateSignupURLResource :<|> EnterprisesSendTestPushNotificationResource :<|> EnterprisesSetStoreLayoutResource :<|> EnterprisesGetAndroidDevicePolicyConfigResource :<|> EnterprisesAcknowledgeNotificationSetResource :<|> EnterprisesPullNotificationSetResource :<|> ManagedConfigurationsforUserListResource :<|> ManagedConfigurationsforUserPatchResource :<|> ManagedConfigurationsforUserGetResource :<|> ManagedConfigurationsforUserDeleteResource :<|> ManagedConfigurationsforUserUpdateResource :<|> GrouplicensesListResource :<|> GrouplicensesGetResource :<|> WebAppsInsertResource :<|> WebAppsListResource :<|> WebAppsPatchResource :<|> WebAppsGetResource :<|> WebAppsDeleteResource :<|> WebAppsUpdateResource :<|> EntitlementsListResource :<|> EntitlementsPatchResource :<|> EntitlementsGetResource :<|> EntitlementsDeleteResource :<|> EntitlementsUpdateResource :<|> ManagedConfigurationsforDeviceListResource :<|> ManagedConfigurationsforDevicePatchResource :<|> ManagedConfigurationsforDeviceGetResource :<|> ManagedConfigurationsforDeviceDeleteResource :<|> ManagedConfigurationsforDeviceUpdateResource :<|> PermissionsGetResource :<|> ProductsGenerateApprovalURLResource :<|> ProductsListResource :<|> ProductsGetResource :<|> ProductsGetAppRestrictionsSchemaResource :<|> ProductsUnApproveResource :<|> ProductsApproveResource :<|> ProductsGetPermissionsResource :<|> DevicesListResource :<|> DevicesSetStateResource :<|> DevicesPatchResource :<|> DevicesGetResource :<|> DevicesGetStateResource :<|> DevicesUpdateResource :<|> GrouplicenseUsersListResource
- Network.Google.AndroidEnterprise.Types: ppProductId :: Lens' ProductPermissions (Maybe Text)
+ Network.Google.AndroidEnterprise.Types: ppProductId :: Lens' ProductPolicy (Maybe Text)
- Network.Google.Resource.AndroidEnterprise.Devices.Get: type DevicesGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Device))))))))
+ Network.Google.Resource.AndroidEnterprise.Devices.Get: type DevicesGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Device
- Network.Google.Resource.AndroidEnterprise.Devices.GetState: type DevicesGetStateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("state" :> (QueryParam "alt" AltJSON :> Get '[JSON] DeviceState)))))))))
+ Network.Google.Resource.AndroidEnterprise.Devices.GetState: type DevicesGetStateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "state" :> QueryParam "alt" AltJSON :> Get '[JSON] DeviceState
- Network.Google.Resource.AndroidEnterprise.Devices.List: type DevicesListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (QueryParam "alt" AltJSON :> Get '[JSON] DevicesListResponse)))))))
+ Network.Google.Resource.AndroidEnterprise.Devices.List: type DevicesListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> QueryParam "alt" AltJSON :> Get '[JSON] DevicesListResponse
- Network.Google.Resource.AndroidEnterprise.Devices.SetState: type DevicesSetStateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("state" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DeviceState :> Put '[JSON] DeviceState))))))))))
+ Network.Google.Resource.AndroidEnterprise.Devices.SetState: type DevicesSetStateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "state" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] DeviceState :> Put '[JSON] DeviceState
- Network.Google.Resource.AndroidEnterprise.Enterprises.AcknowledgeNotificationSet: type EnterprisesAcknowledgeNotificationSetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> ("acknowledgeNotificationSet" :> (QueryParam "notificationSetId" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.AcknowledgeNotificationSet: type EnterprisesAcknowledgeNotificationSetResource = "androidenterprise" :> "v1" :> "enterprises" :> "acknowledgeNotificationSet" :> QueryParam "notificationSetId" Text :> QueryParam "alt" AltJSON :> Post '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Enterprises.CompleteSignup: type EnterprisesCompleteSignupResource = "androidenterprise" :> ("v1" :> ("enterprises" :> ("completeSignup" :> (QueryParam "completionToken" Text :> (QueryParam "enterpriseToken" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] Enterprise))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.CompleteSignup: type EnterprisesCompleteSignupResource = "androidenterprise" :> "v1" :> "enterprises" :> "completeSignup" :> QueryParam "completionToken" Text :> QueryParam "enterpriseToken" Text :> QueryParam "alt" AltJSON :> Post '[JSON] Enterprise
- Network.Google.Resource.AndroidEnterprise.Enterprises.CreateWebToken: type EnterprisesCreateWebTokenResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("createWebToken" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdministratorWebTokenSpec :> Post '[JSON] AdministratorWebToken))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.CreateWebToken: type EnterprisesCreateWebTokenResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "createWebToken" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] AdministratorWebTokenSpec :> Post '[JSON] AdministratorWebToken
- Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll: type EnterprisesEnrollResource = "androidenterprise" :> ("v1" :> ("enterprises" :> ("enroll" :> (QueryParam "token" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll: type EnterprisesEnrollResource = "androidenterprise" :> "v1" :> "enterprises" :> "enroll" :> QueryParam "token" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise
- Network.Google.Resource.AndroidEnterprise.Enterprises.GenerateSignupURL: type EnterprisesGenerateSignupURLResource = "androidenterprise" :> ("v1" :> ("enterprises" :> ("signupUrl" :> (QueryParam "callbackUrl" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] SignupInfo)))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GenerateSignupURL: type EnterprisesGenerateSignupURLResource = "androidenterprise" :> "v1" :> "enterprises" :> "signupUrl" :> QueryParam "callbackUrl" Text :> QueryParam "alt" AltJSON :> Post '[JSON] SignupInfo
- Network.Google.Resource.AndroidEnterprise.Enterprises.Get: type EnterprisesGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Enterprise))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.Get: type EnterprisesGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Enterprise
- Network.Google.Resource.AndroidEnterprise.Enterprises.GetServiceAccount: type EnterprisesGetServiceAccountResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("serviceAccount" :> (QueryParam "keyType" EnterprisesGetServiceAccountKeyType :> (QueryParam "alt" AltJSON :> Get '[JSON] ServiceAccount))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetServiceAccount: type EnterprisesGetServiceAccountResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "serviceAccount" :> QueryParam "keyType" EnterprisesGetServiceAccountKeyType :> QueryParam "alt" AltJSON :> Get '[JSON] ServiceAccount
- Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout: type EnterprisesGetStoreLayoutResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> (QueryParam "alt" AltJSON :> Get '[JSON] StoreLayout)))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout: type EnterprisesGetStoreLayoutResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> QueryParam "alt" AltJSON :> Get '[JSON] StoreLayout
- Network.Google.Resource.AndroidEnterprise.Enterprises.List: type EnterprisesListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (QueryParam "domain" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] EnterprisesListResponse))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.List: type EnterprisesListResource = "androidenterprise" :> "v1" :> "enterprises" :> QueryParam "domain" Text :> QueryParam "alt" AltJSON :> Get '[JSON] EnterprisesListResponse
- Network.Google.Resource.AndroidEnterprise.Enterprises.PullNotificationSet: type EnterprisesPullNotificationSetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> ("pullNotificationSet" :> (QueryParam "requestMode" EnterprisesPullNotificationSetRequestMode :> (QueryParam "alt" AltJSON :> Post '[JSON] NotificationSet)))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.PullNotificationSet: type EnterprisesPullNotificationSetResource = "androidenterprise" :> "v1" :> "enterprises" :> "pullNotificationSet" :> QueryParam "requestMode" EnterprisesPullNotificationSetRequestMode :> QueryParam "alt" AltJSON :> Post '[JSON] NotificationSet
- Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification: type EnterprisesSendTestPushNotificationResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("sendTestPushNotification" :> (QueryParam "alt" AltJSON :> Post '[JSON] EnterprisesSendTestPushNotificationResponse)))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification: type EnterprisesSendTestPushNotificationResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "sendTestPushNotification" :> QueryParam "alt" AltJSON :> Post '[JSON] EnterprisesSendTestPushNotificationResponse
- Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount: type EnterprisesSetAccountResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("account" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EnterpriseAccount :> Put '[JSON] EnterpriseAccount))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount: type EnterprisesSetAccountResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "account" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] EnterpriseAccount :> Put '[JSON] EnterpriseAccount
- Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout: type EnterprisesSetStoreLayoutResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StoreLayout :> Put '[JSON] StoreLayout))))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout: type EnterprisesSetStoreLayoutResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StoreLayout :> Put '[JSON] StoreLayout
- Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll: type EnterprisesUnenrollResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("unenroll" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))
+ Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll: type EnterprisesUnenrollResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "unenroll" :> QueryParam "alt" AltJSON :> Post '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: type EntitlementsDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("entitlements" :> (Capture "entitlementId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Delete: type EntitlementsDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "entitlements" :> Capture "entitlementId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Entitlements.Get: type EntitlementsGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("entitlements" :> (Capture "entitlementId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Entitlement))))))))
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Get: type EntitlementsGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "entitlements" :> Capture "entitlementId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Entitlement
- Network.Google.Resource.AndroidEnterprise.Entitlements.List: type EntitlementsListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("entitlements" :> (QueryParam "alt" AltJSON :> Get '[JSON] EntitlementsListResponse)))))))
+ Network.Google.Resource.AndroidEnterprise.Entitlements.List: type EntitlementsListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "entitlements" :> QueryParam "alt" AltJSON :> Get '[JSON] EntitlementsListResponse
- Network.Google.Resource.AndroidEnterprise.Entitlements.Patch: type EntitlementsPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("entitlements" :> (Capture "entitlementId" Text :> (QueryParam "install" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Entitlement :> Patch '[JSON] Entitlement))))))))))
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Patch: type EntitlementsPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "entitlements" :> Capture "entitlementId" Text :> QueryParam "install" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Entitlement :> Patch '[JSON] Entitlement
- Network.Google.Resource.AndroidEnterprise.Entitlements.Update: type EntitlementsUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("entitlements" :> (Capture "entitlementId" Text :> (QueryParam "install" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Entitlement :> Put '[JSON] Entitlement))))))))))
+ Network.Google.Resource.AndroidEnterprise.Entitlements.Update: type EntitlementsUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "entitlements" :> Capture "entitlementId" Text :> QueryParam "install" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Entitlement :> Put '[JSON] Entitlement
- Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List: type GrouplicenseUsersListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("groupLicenses" :> (Capture "groupLicenseId" Text :> ("users" :> (QueryParam "alt" AltJSON :> Get '[JSON] GroupLicenseUsersListResponse)))))))
+ Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List: type GrouplicenseUsersListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "groupLicenses" :> Capture "groupLicenseId" Text :> "users" :> QueryParam "alt" AltJSON :> Get '[JSON] GroupLicenseUsersListResponse
- Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get: type GrouplicensesGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("groupLicenses" :> (Capture "groupLicenseId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GroupLicense))))))
+ Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get: type GrouplicensesGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "groupLicenses" :> Capture "groupLicenseId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GroupLicense
- Network.Google.Resource.AndroidEnterprise.Grouplicenses.List: type GrouplicensesListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("groupLicenses" :> (QueryParam "alt" AltJSON :> Get '[JSON] GroupLicensesListResponse)))))
+ Network.Google.Resource.AndroidEnterprise.Grouplicenses.List: type GrouplicensesListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "groupLicenses" :> QueryParam "alt" AltJSON :> Get '[JSON] GroupLicensesListResponse
- Network.Google.Resource.AndroidEnterprise.Installs.Delete: type InstallsDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("installs" :> (Capture "installId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))))
+ Network.Google.Resource.AndroidEnterprise.Installs.Delete: type InstallsDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "installs" :> Capture "installId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Installs.Get: type InstallsGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("installs" :> (Capture "installId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Install))))))))))
+ Network.Google.Resource.AndroidEnterprise.Installs.Get: type InstallsGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "installs" :> Capture "installId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Install
- Network.Google.Resource.AndroidEnterprise.Installs.List: type InstallsListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("installs" :> (QueryParam "alt" AltJSON :> Get '[JSON] InstallsListResponse)))))))))
+ Network.Google.Resource.AndroidEnterprise.Installs.List: type InstallsListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "installs" :> QueryParam "alt" AltJSON :> Get '[JSON] InstallsListResponse
- Network.Google.Resource.AndroidEnterprise.Installs.Patch: type InstallsPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("installs" :> (Capture "installId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Install :> Patch '[JSON] Install)))))))))))
+ Network.Google.Resource.AndroidEnterprise.Installs.Patch: type InstallsPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "installs" :> Capture "installId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Install :> Patch '[JSON] Install
- Network.Google.Resource.AndroidEnterprise.Installs.Update: type InstallsUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("installs" :> (Capture "installId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Install :> Put '[JSON] Install)))))))))))
+ Network.Google.Resource.AndroidEnterprise.Installs.Update: type InstallsUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "installs" :> Capture "installId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Install :> Put '[JSON] Install
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Delete: type ManagedConfigurationsforDeviceDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("managedConfigurationsForDevice" :> (Capture "managedConfigurationForDeviceId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Delete: type ManagedConfigurationsforDeviceDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "managedConfigurationsForDevice" :> Capture "managedConfigurationForDeviceId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Get: type ManagedConfigurationsforDeviceGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("managedConfigurationsForDevice" :> (Capture "managedConfigurationForDeviceId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfiguration))))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Get: type ManagedConfigurationsforDeviceGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "managedConfigurationsForDevice" :> Capture "managedConfigurationForDeviceId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.List: type ManagedConfigurationsforDeviceListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("managedConfigurationsForDevice" :> (QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfigurationsForDeviceListResponse)))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.List: type ManagedConfigurationsforDeviceListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "managedConfigurationsForDevice" :> QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfigurationsForDeviceListResponse
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Patch: type ManagedConfigurationsforDevicePatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("managedConfigurationsForDevice" :> (Capture "managedConfigurationForDeviceId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ManagedConfiguration :> Patch '[JSON] ManagedConfiguration)))))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Patch: type ManagedConfigurationsforDevicePatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "managedConfigurationsForDevice" :> Capture "managedConfigurationForDeviceId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ManagedConfiguration :> Patch '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Update: type ManagedConfigurationsforDeviceUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("devices" :> (Capture "deviceId" Text :> ("managedConfigurationsForDevice" :> (Capture "managedConfigurationForDeviceId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ManagedConfiguration :> Put '[JSON] ManagedConfiguration)))))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforDevice.Update: type ManagedConfigurationsforDeviceUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "devices" :> Capture "deviceId" Text :> "managedConfigurationsForDevice" :> Capture "managedConfigurationForDeviceId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ManagedConfiguration :> Put '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Delete: type ManagedConfigurationsforUserDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("managedConfigurationsForUser" :> (Capture "managedConfigurationForUserId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Delete: type ManagedConfigurationsforUserDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "managedConfigurationsForUser" :> Capture "managedConfigurationForUserId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Get: type ManagedConfigurationsforUserGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("managedConfigurationsForUser" :> (Capture "managedConfigurationForUserId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfiguration))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Get: type ManagedConfigurationsforUserGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "managedConfigurationsForUser" :> Capture "managedConfigurationForUserId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.List: type ManagedConfigurationsforUserListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("managedConfigurationsForUser" :> (QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfigurationsForUserListResponse)))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.List: type ManagedConfigurationsforUserListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "managedConfigurationsForUser" :> QueryParam "alt" AltJSON :> Get '[JSON] ManagedConfigurationsForUserListResponse
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Patch: type ManagedConfigurationsforUserPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("managedConfigurationsForUser" :> (Capture "managedConfigurationForUserId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ManagedConfiguration :> Patch '[JSON] ManagedConfiguration)))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Patch: type ManagedConfigurationsforUserPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "managedConfigurationsForUser" :> Capture "managedConfigurationForUserId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ManagedConfiguration :> Patch '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update: type ManagedConfigurationsforUserUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("managedConfigurationsForUser" :> (Capture "managedConfigurationForUserId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ManagedConfiguration :> Put '[JSON] ManagedConfiguration)))))))))
+ Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update: type ManagedConfigurationsforUserUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "managedConfigurationsForUser" :> Capture "managedConfigurationForUserId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ManagedConfiguration :> Put '[JSON] ManagedConfiguration
- Network.Google.Resource.AndroidEnterprise.Permissions.Get: type PermissionsGetResource = "androidenterprise" :> ("v1" :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "language" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Permission)))))
+ Network.Google.Resource.AndroidEnterprise.Permissions.Get: type PermissionsGetResource = "androidenterprise" :> "v1" :> "permissions" :> Capture "permissionId" Text :> QueryParam "language" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Permission
- Network.Google.Resource.AndroidEnterprise.Products.Approve: type ProductsApproveResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> ("approve" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProductsApproveRequest :> Post '[JSON] ()))))))))
+ Network.Google.Resource.AndroidEnterprise.Products.Approve: type ProductsApproveResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "approve" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ProductsApproveRequest :> Post '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL: type ProductsGenerateApprovalURLResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> ("generateApprovalUrl" :> (QueryParam "languageCode" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ProductsGenerateApprovalURLResponse))))))))
+ Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL: type ProductsGenerateApprovalURLResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "generateApprovalUrl" :> QueryParam "languageCode" Text :> QueryParam "alt" AltJSON :> Post '[JSON] ProductsGenerateApprovalURLResponse
- Network.Google.Resource.AndroidEnterprise.Products.Get: type ProductsGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> (QueryParam "language" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Product)))))))
+ Network.Google.Resource.AndroidEnterprise.Products.Get: type ProductsGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> QueryParam "language" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Product
- Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema: type ProductsGetAppRestrictionsSchemaResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> ("appRestrictionsSchema" :> (QueryParam "language" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AppRestrictionsSchema))))))))
+ Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema: type ProductsGetAppRestrictionsSchemaResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "appRestrictionsSchema" :> QueryParam "language" Text :> QueryParam "alt" AltJSON :> Get '[JSON] AppRestrictionsSchema
- Network.Google.Resource.AndroidEnterprise.Products.GetPermissions: type ProductsGetPermissionsResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> ("permissions" :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductPermissions)))))))
+ Network.Google.Resource.AndroidEnterprise.Products.GetPermissions: type ProductsGetPermissionsResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "permissions" :> QueryParam "alt" AltJSON :> Get '[JSON] ProductPermissions
- Network.Google.Resource.AndroidEnterprise.Products.List: type ProductsListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (QueryParam "token" Text :> (QueryParam "query" Text :> (QueryParam "language" Text :> (QueryParam "approved" Bool :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductsListResponse))))))))))
+ Network.Google.Resource.AndroidEnterprise.Products.List: type ProductsListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> QueryParam "token" Text :> QueryParam "query" Text :> QueryParam "language" Text :> QueryParam "approved" Bool :> QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] ProductsListResponse
- Network.Google.Resource.AndroidEnterprise.Products.UnApprove: type ProductsUnApproveResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("products" :> (Capture "productId" Text :> ("unapprove" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))
+ Network.Google.Resource.AndroidEnterprise.Products.UnApprove: type ProductsUnApproveResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "products" :> Capture "productId" Text :> "unapprove" :> QueryParam "alt" AltJSON :> Post '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.Delete: type ServiceAccountkeysDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("serviceAccountKeys" :> (Capture "keyId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.Delete: type ServiceAccountkeysDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "serviceAccountKeys" :> Capture "keyId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.Insert: type ServiceAccountkeysInsertResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("serviceAccountKeys" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ServiceAccountKey :> Post '[JSON] ServiceAccountKey))))))
+ Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.Insert: type ServiceAccountkeysInsertResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "serviceAccountKeys" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ServiceAccountKey :> Post '[JSON] ServiceAccountKey
- Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.List: type ServiceAccountkeysListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("serviceAccountKeys" :> (QueryParam "alt" AltJSON :> Get '[JSON] ServiceAccountKeysListResponse)))))
+ Network.Google.Resource.AndroidEnterprise.ServiceAccountkeys.List: type ServiceAccountkeysListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "serviceAccountKeys" :> QueryParam "alt" AltJSON :> Get '[JSON] ServiceAccountKeysListResponse
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Delete: type StorelayoutclustersDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (Capture "clusterId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Delete: type StorelayoutclustersDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> Capture "clusterId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Get: type StorelayoutclustersGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (Capture "clusterId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] StoreCluster)))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Get: type StorelayoutclustersGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> Capture "clusterId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] StoreCluster
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Insert: type StorelayoutclustersInsertResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StoreCluster :> Post '[JSON] StoreCluster)))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Insert: type StorelayoutclustersInsertResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StoreCluster :> Post '[JSON] StoreCluster
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.List: type StorelayoutclustersListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (QueryParam "alt" AltJSON :> Get '[JSON] StoreLayoutClustersListResponse))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.List: type StorelayoutclustersListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> QueryParam "alt" AltJSON :> Get '[JSON] StoreLayoutClustersListResponse
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Patch: type StorelayoutclustersPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (Capture "clusterId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StoreCluster :> Patch '[JSON] StoreCluster))))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Patch: type StorelayoutclustersPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> Capture "clusterId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StoreCluster :> Patch '[JSON] StoreCluster
- Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Update: type StorelayoutclustersUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> ("clusters" :> (Capture "clusterId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StoreCluster :> Put '[JSON] StoreCluster))))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutclusters.Update: type StorelayoutclustersUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> "clusters" :> Capture "clusterId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StoreCluster :> Put '[JSON] StoreCluster
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Delete: type StorelayoutpagesDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Delete: type StorelayoutpagesDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Get: type StorelayoutpagesGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] StorePage)))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Get: type StorelayoutpagesGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] StorePage
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Insert: type StorelayoutpagesInsertResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StorePage :> Post '[JSON] StorePage)))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Insert: type StorelayoutpagesInsertResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StorePage :> Post '[JSON] StorePage
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.List: type StorelayoutpagesListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (QueryParam "alt" AltJSON :> Get '[JSON] StoreLayoutPagesListResponse))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.List: type StorelayoutpagesListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> QueryParam "alt" AltJSON :> Get '[JSON] StoreLayoutPagesListResponse
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Patch: type StorelayoutpagesPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StorePage :> Patch '[JSON] StorePage))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Patch: type StorelayoutpagesPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StorePage :> Patch '[JSON] StorePage
- Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Update: type StorelayoutpagesUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("storeLayout" :> ("pages" :> (Capture "pageId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] StorePage :> Put '[JSON] StorePage))))))))
+ Network.Google.Resource.AndroidEnterprise.Storelayoutpages.Update: type StorelayoutpagesUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "storeLayout" :> "pages" :> Capture "pageId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] StorePage :> Put '[JSON] StorePage
- Network.Google.Resource.AndroidEnterprise.Users.Delete: type UsersDeleteResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.AndroidEnterprise.Users.Delete: type UsersDeleteResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Users.GenerateAuthenticationToken: type UsersGenerateAuthenticationTokenResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("authenticationToken" :> (QueryParam "alt" AltJSON :> Post '[JSON] AuthenticationToken)))))))
+ Network.Google.Resource.AndroidEnterprise.Users.GenerateAuthenticationToken: type UsersGenerateAuthenticationTokenResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "authenticationToken" :> QueryParam "alt" AltJSON :> Post '[JSON] AuthenticationToken
- Network.Google.Resource.AndroidEnterprise.Users.GenerateToken: type UsersGenerateTokenResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("token" :> (QueryParam "alt" AltJSON :> Post '[JSON] UserToken)))))))
+ Network.Google.Resource.AndroidEnterprise.Users.GenerateToken: type UsersGenerateTokenResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "token" :> QueryParam "alt" AltJSON :> Post '[JSON] UserToken
- Network.Google.Resource.AndroidEnterprise.Users.Get: type UsersGetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] User))))))
+ Network.Google.Resource.AndroidEnterprise.Users.Get: type UsersGetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] User
- Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet: type UsersGetAvailableProductSetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("availableProductSet" :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductSet)))))))
+ Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet: type UsersGetAvailableProductSetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "availableProductSet" :> QueryParam "alt" AltJSON :> Get '[JSON] ProductSet
- Network.Google.Resource.AndroidEnterprise.Users.Insert: type UsersInsertResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] User :> Post '[JSON] User))))))
+ Network.Google.Resource.AndroidEnterprise.Users.Insert: type UsersInsertResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] User :> Post '[JSON] User
- Network.Google.Resource.AndroidEnterprise.Users.List: type UsersListResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (QueryParam "email" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] UsersListResponse))))))
+ Network.Google.Resource.AndroidEnterprise.Users.List: type UsersListResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> QueryParam "email" Text :> QueryParam "alt" AltJSON :> Get '[JSON] UsersListResponse
- Network.Google.Resource.AndroidEnterprise.Users.Patch: type UsersPatchResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] User :> Patch '[JSON] User)))))))
+ Network.Google.Resource.AndroidEnterprise.Users.Patch: type UsersPatchResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] User :> Patch '[JSON] User
- Network.Google.Resource.AndroidEnterprise.Users.RevokeToken: type UsersRevokeTokenResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("token" :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))
+ Network.Google.Resource.AndroidEnterprise.Users.RevokeToken: type UsersRevokeTokenResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "token" :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet: type UsersSetAvailableProductSetResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> ("availableProductSet" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProductSet :> Put '[JSON] ProductSet))))))))
+ Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet: type UsersSetAvailableProductSetResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> "availableProductSet" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ProductSet :> Put '[JSON] ProductSet
- Network.Google.Resource.AndroidEnterprise.Users.Update: type UsersUpdateResource = "androidenterprise" :> ("v1" :> ("enterprises" :> (Capture "enterpriseId" Text :> ("users" :> (Capture "userId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] User :> Put '[JSON] User)))))))
+ Network.Google.Resource.AndroidEnterprise.Users.Update: type UsersUpdateResource = "androidenterprise" :> "v1" :> "enterprises" :> Capture "enterpriseId" Text :> "users" :> Capture "userId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] User :> Put '[JSON] User

Files

gen/Network/Google/AndroidEnterprise.hs view
@@ -38,9 +38,15 @@     -- ** androidenterprise.devices.list     , module Network.Google.Resource.AndroidEnterprise.Devices.List +    -- ** androidenterprise.devices.patch+    , module Network.Google.Resource.AndroidEnterprise.Devices.Patch+     -- ** androidenterprise.devices.setState     , module Network.Google.Resource.AndroidEnterprise.Devices.SetState +    -- ** androidenterprise.devices.update+    , module Network.Google.Resource.AndroidEnterprise.Devices.Update+     -- ** androidenterprise.enterprises.acknowledgeNotificationSet     , module Network.Google.Resource.AndroidEnterprise.Enterprises.AcknowledgeNotificationSet @@ -50,9 +56,6 @@     -- ** androidenterprise.enterprises.createWebToken     , module Network.Google.Resource.AndroidEnterprise.Enterprises.CreateWebToken -    -- ** androidenterprise.enterprises.delete-    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Delete-     -- ** androidenterprise.enterprises.enroll     , module Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll @@ -62,15 +65,15 @@     -- ** androidenterprise.enterprises.get     , module Network.Google.Resource.AndroidEnterprise.Enterprises.Get +    -- ** androidenterprise.enterprises.getAndroidDevicePolicyConfig+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig+     -- ** androidenterprise.enterprises.getServiceAccount     , module Network.Google.Resource.AndroidEnterprise.Enterprises.GetServiceAccount      -- ** androidenterprise.enterprises.getStoreLayout     , module Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout -    -- ** androidenterprise.enterprises.insert-    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Insert-     -- ** androidenterprise.enterprises.list     , module Network.Google.Resource.AndroidEnterprise.Enterprises.List @@ -83,6 +86,9 @@     -- ** androidenterprise.enterprises.setAccount     , module Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount +    -- ** androidenterprise.enterprises.setAndroidDevicePolicyConfig+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig+     -- ** androidenterprise.enterprises.setStoreLayout     , module Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout @@ -158,6 +164,9 @@     -- ** androidenterprise.managedconfigurationsforuser.update     , module Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update +    -- ** androidenterprise.managedconfigurationssettings.list+    , module Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List+     -- ** androidenterprise.permissions.get     , module Network.Google.Resource.AndroidEnterprise.Permissions.Get @@ -251,6 +260,9 @@     -- ** androidenterprise.users.patch     , module Network.Google.Resource.AndroidEnterprise.Users.Patch +    -- ** androidenterprise.users.revokeDeviceAccess+    , module Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess+     -- ** androidenterprise.users.revokeToken     , module Network.Google.Resource.AndroidEnterprise.Users.RevokeToken @@ -260,6 +272,24 @@     -- ** androidenterprise.users.update     , module Network.Google.Resource.AndroidEnterprise.Users.Update +    -- ** androidenterprise.webapps.delete+    , module Network.Google.Resource.AndroidEnterprise.WebApps.Delete++    -- ** androidenterprise.webapps.get+    , module Network.Google.Resource.AndroidEnterprise.WebApps.Get++    -- ** androidenterprise.webapps.insert+    , module Network.Google.Resource.AndroidEnterprise.WebApps.Insert++    -- ** androidenterprise.webapps.list+    , module Network.Google.Resource.AndroidEnterprise.WebApps.List++    -- ** androidenterprise.webapps.patch+    , module Network.Google.Resource.AndroidEnterprise.WebApps.Patch++    -- ** androidenterprise.webapps.update+    , module Network.Google.Resource.AndroidEnterprise.WebApps.Update+     -- * Types      -- ** GroupLicense@@ -269,6 +299,7 @@     , glNumProvisioned     , glNumPurchased     , glApproval+    , glPermissions     , glProductId     , glAcquisitionKind @@ -293,6 +324,12 @@     , arsrrvType     , arsrrvValueString +    -- ** AdministratorWebTokenSpecPlaySearch+    , AdministratorWebTokenSpecPlaySearch+    , administratorWebTokenSpecPlaySearch+    , awtspsEnabled+    , awtspsApproveApps+     -- ** DeviceState     , DeviceState     , deviceState@@ -311,12 +348,23 @@     , tpNextPageToken     , tpPreviousPageToken +    -- ** AdministratorWebTokenSpecWebApps+    , AdministratorWebTokenSpecWebApps+    , administratorWebTokenSpecWebApps+    , awtswaEnabled+     -- ** ApprovalURLInfo     , ApprovalURLInfo     , approvalURLInfo     , auiApprovalURL     , auiKind +    -- ** ManagedConfigurationsSettingsListResponse+    , ManagedConfigurationsSettingsListResponse+    , managedConfigurationsSettingsListResponse+    , mcslrKind+    , mcslrManagedConfigurationsSettings+     -- ** ManagedProperty     , ManagedProperty     , managedProperty@@ -339,6 +387,7 @@     , managedConfiguration     , mcManagedProperty     , mcKind+    , mcConfigurationVariables     , mcProductId      -- ** StoreCluster@@ -354,9 +403,20 @@     , AdministratorWebTokenSpec     , administratorWebTokenSpec     , awtsParent+    , awtsPrivateApps+    , awtsPlaySearch     , awtsKind+    , awtsWebApps     , awtsPermission+    , awtsStoreBuilder +    -- ** ProductVisibility+    , ProductVisibility+    , productVisibility+    , pvTracks+    , pvTrackIds+    , pvProductId+     -- ** Notification     , Notification     , notification@@ -366,6 +426,7 @@     , nProductAvailabilityChangeEvent     , nAppUpdateEvent     , nInstallFailureEvent+    , nNotificationType     , nAppRestrictionsSchemaChangeEvent     , nNewDeviceEvent     , nTimestampMillis@@ -406,9 +467,17 @@     , Device     , device     , dKind+    , dPolicy     , dManagementType     , dAndroidId +    -- ** AutoInstallConstraint+    , AutoInstallConstraint+    , autoInstallConstraint+    , aicChargingStateConstraint+    , aicDeviceIdleStateConstraint+    , aicNetworkTypeConstraint+     -- ** ServiceAccountKey     , ServiceAccountKey     , serviceAccountKey@@ -436,6 +505,14 @@     , arsrDescription     , arsrNestedRestriction +    -- ** ProductPolicy+    , ProductPolicy+    , productPolicy+    , ppTracks+    , ppTrackIds+    , ppAutoInstallPolicy+    , ppProductId+     -- ** Administrator     , Administrator     , administrator@@ -447,17 +524,34 @@     , ulrKind     , ulrUser +    -- ** AdministratorWebTokenSpecStoreBuilder+    , AdministratorWebTokenSpecStoreBuilder+    , administratorWebTokenSpecStoreBuilder+    , awtssbEnabled+     -- ** AuthenticationToken     , AuthenticationToken     , authenticationToken     , atKind     , atToken +    -- ** ManagedConfigurationsSettings+    , ManagedConfigurationsSettings+    , managedConfigurationsSettings+    , mcsLastUpdatedTimestampMillis+    , mcsManagedProperty+    , mcsKind+    , mcsMcmId+    , mcsName+     -- ** AppVersion     , AppVersion     , appVersion+    , avTrack     , avVersionCode     , avVersionString+    , avTrackId+    , avIsProduction      -- ** EnterprisesPullNotificationSetRequestMode     , EnterprisesPullNotificationSetRequestMode (..)@@ -473,9 +567,16 @@     , gllrGroupLicense     , gllrKind +    -- ** AndroidDevicePolicyConfig+    , AndroidDevicePolicyConfig+    , androidDevicePolicyConfig+    , adpcState+    , adpcKind+     -- ** ProductSet     , ProductSet     , productSet+    , psProductVisibility     , psKind     , psProductSetBehavior     , psProductId@@ -488,11 +589,23 @@     , iInstallState     , iProductId +    -- ** MaintenanceWindow+    , MaintenanceWindow+    , maintenanceWindow+    , mwDurationMs+    , mwStartTimeAfterMidnightMs+     -- ** ServiceAccountKeysListResponse     , ServiceAccountKeysListResponse     , serviceAccountKeysListResponse     , saklrServiceAccountKey +    -- ** TrackInfo+    , TrackInfo+    , trackInfo+    , tiTrackAlias+    , tiTrackId+     -- ** User     , User     , user@@ -536,6 +649,13 @@     , saKey     , saName +    -- ** VariableSet+    , VariableSet+    , variableSet+    , vsKind+    , vsUserValue+    , vsPlaceholder+     -- ** AppUpdateEvent     , AppUpdateEvent     , appUpdateEvent@@ -560,6 +680,11 @@     , arsKind     , arsRestrictions +    -- ** WebAppIcon+    , WebAppIcon+    , webAppIcon+    , waiImageData+     -- ** LocalizedText     , LocalizedText     , localizedText@@ -573,12 +698,23 @@     , utToken     , utUserId +    -- ** AdministratorWebTokenSpecPrivateApps+    , AdministratorWebTokenSpecPrivateApps+    , administratorWebTokenSpecPrivateApps+    , awtspaEnabled+     -- ** DevicesListResponse     , DevicesListResponse     , devicesListResponse     , dlrKind     , dlrDevice +    -- ** ProductSigningCertificate+    , ProductSigningCertificate+    , productSigningCertificate+    , pscCertificateHashSha256+    , pscCertificateHashSha1+     -- ** Enterprise     , Enterprise     , enterprise@@ -603,6 +739,13 @@     , mcfulrManagedConfigurationForUser     , mcfulrKind +    -- ** ConfigurationVariables+    , ConfigurationVariables+    , configurationVariables+    , cvKind+    , cvMcmId+    , cvVariableSet+     -- ** StoreLayout     , StoreLayout     , storeLayout@@ -619,9 +762,18 @@     , NewDeviceEvent     , newDeviceEvent     , ndeUserId+    , ndeDpcPackageName     , ndeDeviceId     , ndeManagementType +    -- ** Policy+    , Policy+    , policy+    , pProductAvailabilityPolicy+    , pProductPolicy+    , pMaintenanceWindow+    , pAutoUpdatePolicy+     -- ** AdministratorWebToken     , AdministratorWebToken     , administratorWebToken@@ -638,17 +790,29 @@     -- ** Product     , Product     , product+    , pScreenshotURLs+    , pLastUpdatedTimestampMillis     , pSmallIconURL     , pAuthorName+    , pAppTracks     , pKind     , pWorkDetailsURL     , pRequiresContainerApp+    , pCategory     , pAppVersion     , pProductPricing     , pDistributionChannel+    , pMinAndroidSdkVersion+    , pAvailableCountries+    , pAvailableTracks     , pIconURL+    , pPermissions     , pTitle+    , pSigningCertificate+    , pContentRating     , pProductId+    , pRecentChanges+    , pDescription     , pDetailsURL      -- ** EntitlementsListResponse@@ -663,9 +827,9 @@     -- ** ProductPermissions     , ProductPermissions     , productPermissions-    , ppKind-    , ppPermission-    , ppProductId+    , ppsKind+    , ppsPermission+    , ppsProductId      -- ** Permission     , Permission@@ -675,11 +839,26 @@     , perDescription     , perPermissionId +    -- ** WebAppsListResponse+    , WebAppsListResponse+    , webAppsListResponse+    , walrKind+    , walrWebApp+     -- ** ProductsApproveRequest     , ProductsApproveRequest     , productsApproveRequest     , parApprovalURLInfo+    , parApprovedPermissions +    -- ** AutoInstallPolicy+    , AutoInstallPolicy+    , autoInstallPolicy+    , aipAutoInstallConstraint+    , aipAutoInstallPriority+    , aipAutoInstallMode+    , aipMinimumVersionCode+     -- ** Entitlement     , Entitlement     , entitlement@@ -694,6 +873,17 @@     , plrPageInfo     , plrKind     , plrProduct++    -- ** WebApp+    , WebApp+    , webApp+    , waWebAppId+    , waVersionCode+    , waIcons+    , waStartURL+    , waDisplayMode+    , waIsPublished+    , waTitle     ) where  import           Network.Google.AndroidEnterprise.Types@@ -701,21 +891,23 @@ import           Network.Google.Resource.AndroidEnterprise.Devices.Get import           Network.Google.Resource.AndroidEnterprise.Devices.GetState import           Network.Google.Resource.AndroidEnterprise.Devices.List+import           Network.Google.Resource.AndroidEnterprise.Devices.Patch import           Network.Google.Resource.AndroidEnterprise.Devices.SetState+import           Network.Google.Resource.AndroidEnterprise.Devices.Update import           Network.Google.Resource.AndroidEnterprise.Enterprises.AcknowledgeNotificationSet import           Network.Google.Resource.AndroidEnterprise.Enterprises.CompleteSignup import           Network.Google.Resource.AndroidEnterprise.Enterprises.CreateWebToken-import           Network.Google.Resource.AndroidEnterprise.Enterprises.Delete import           Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll import           Network.Google.Resource.AndroidEnterprise.Enterprises.GenerateSignupURL import           Network.Google.Resource.AndroidEnterprise.Enterprises.Get+import           Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig import           Network.Google.Resource.AndroidEnterprise.Enterprises.GetServiceAccount import           Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout-import           Network.Google.Resource.AndroidEnterprise.Enterprises.Insert import           Network.Google.Resource.AndroidEnterprise.Enterprises.List import           Network.Google.Resource.AndroidEnterprise.Enterprises.PullNotificationSet import           Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification import           Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount+import           Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig import           Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout import           Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll import           Network.Google.Resource.AndroidEnterprise.Entitlements.Delete@@ -741,6 +933,7 @@ import           Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.List import           Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Patch import           Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update+import           Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List import           Network.Google.Resource.AndroidEnterprise.Permissions.Get import           Network.Google.Resource.AndroidEnterprise.Products.Approve import           Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL@@ -772,9 +965,16 @@ import           Network.Google.Resource.AndroidEnterprise.Users.Insert import           Network.Google.Resource.AndroidEnterprise.Users.List import           Network.Google.Resource.AndroidEnterprise.Users.Patch+import           Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess import           Network.Google.Resource.AndroidEnterprise.Users.RevokeToken import           Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet import           Network.Google.Resource.AndroidEnterprise.Users.Update+import           Network.Google.Resource.AndroidEnterprise.WebApps.Delete+import           Network.Google.Resource.AndroidEnterprise.WebApps.Get+import           Network.Google.Resource.AndroidEnterprise.WebApps.Insert+import           Network.Google.Resource.AndroidEnterprise.WebApps.List+import           Network.Google.Resource.AndroidEnterprise.WebApps.Patch+import           Network.Google.Resource.AndroidEnterprise.WebApps.Update  {- $resources TODO@@ -794,6 +994,7 @@        :<|> UsersGenerateAuthenticationTokenResource        :<|> UsersPatchResource        :<|> UsersGetResource+       :<|> UsersRevokeDeviceAccessResource        :<|> UsersSetAvailableProductSetResource        :<|> UsersRevokeTokenResource        :<|> UsersGetAvailableProductSetResource@@ -813,22 +1014,23 @@        :<|> ServiceAccountkeysInsertResource        :<|> ServiceAccountkeysListResource        :<|> ServiceAccountkeysDeleteResource+       :<|> ManagedConfigurationssettingsListResource        :<|> EnterprisesCompleteSignupResource        :<|> EnterprisesCreateWebTokenResource-       :<|> EnterprisesInsertResource        :<|> EnterprisesGetServiceAccountResource        :<|> EnterprisesListResource        :<|> EnterprisesUnenrollResource        :<|> EnterprisesGetStoreLayoutResource+       :<|> EnterprisesSetAndroidDevicePolicyConfigResource        :<|> EnterprisesSetAccountResource        :<|> EnterprisesEnrollResource        :<|> EnterprisesGetResource        :<|> EnterprisesGenerateSignupURLResource        :<|> EnterprisesSendTestPushNotificationResource        :<|> EnterprisesSetStoreLayoutResource+       :<|> EnterprisesGetAndroidDevicePolicyConfigResource        :<|> EnterprisesAcknowledgeNotificationSetResource        :<|> EnterprisesPullNotificationSetResource-       :<|> EnterprisesDeleteResource        :<|> ManagedConfigurationsforUserListResource        :<|> ManagedConfigurationsforUserPatchResource        :<|> ManagedConfigurationsforUserGetResource@@ -836,6 +1038,12 @@        :<|> ManagedConfigurationsforUserUpdateResource        :<|> GrouplicensesListResource        :<|> GrouplicensesGetResource+       :<|> WebAppsInsertResource+       :<|> WebAppsListResource+       :<|> WebAppsPatchResource+       :<|> WebAppsGetResource+       :<|> WebAppsDeleteResource+       :<|> WebAppsUpdateResource        :<|> EntitlementsListResource        :<|> EntitlementsPatchResource        :<|> EntitlementsGetResource@@ -856,6 +1064,8 @@        :<|> ProductsGetPermissionsResource        :<|> DevicesListResource        :<|> DevicesSetStateResource+       :<|> DevicesPatchResource        :<|> DevicesGetResource        :<|> DevicesGetStateResource+       :<|> DevicesUpdateResource        :<|> GrouplicenseUsersListResource
gen/Network/Google/AndroidEnterprise/Types.hs view
@@ -29,6 +29,7 @@     , glNumProvisioned     , glNumPurchased     , glApproval+    , glPermissions     , glProductId     , glAcquisitionKind @@ -53,6 +54,12 @@     , arsrrvType     , arsrrvValueString +    -- * AdministratorWebTokenSpecPlaySearch+    , AdministratorWebTokenSpecPlaySearch+    , administratorWebTokenSpecPlaySearch+    , awtspsEnabled+    , awtspsApproveApps+     -- * DeviceState     , DeviceState     , deviceState@@ -71,12 +78,23 @@     , tpNextPageToken     , tpPreviousPageToken +    -- * AdministratorWebTokenSpecWebApps+    , AdministratorWebTokenSpecWebApps+    , administratorWebTokenSpecWebApps+    , awtswaEnabled+     -- * ApprovalURLInfo     , ApprovalURLInfo     , approvalURLInfo     , auiApprovalURL     , auiKind +    -- * ManagedConfigurationsSettingsListResponse+    , ManagedConfigurationsSettingsListResponse+    , managedConfigurationsSettingsListResponse+    , mcslrKind+    , mcslrManagedConfigurationsSettings+     -- * ManagedProperty     , ManagedProperty     , managedProperty@@ -99,6 +117,7 @@     , managedConfiguration     , mcManagedProperty     , mcKind+    , mcConfigurationVariables     , mcProductId      -- * StoreCluster@@ -114,9 +133,20 @@     , AdministratorWebTokenSpec     , administratorWebTokenSpec     , awtsParent+    , awtsPrivateApps+    , awtsPlaySearch     , awtsKind+    , awtsWebApps     , awtsPermission+    , awtsStoreBuilder +    -- * ProductVisibility+    , ProductVisibility+    , productVisibility+    , pvTracks+    , pvTrackIds+    , pvProductId+     -- * Notification     , Notification     , notification@@ -126,6 +156,7 @@     , nProductAvailabilityChangeEvent     , nAppUpdateEvent     , nInstallFailureEvent+    , nNotificationType     , nAppRestrictionsSchemaChangeEvent     , nNewDeviceEvent     , nTimestampMillis@@ -166,9 +197,17 @@     , Device     , device     , dKind+    , dPolicy     , dManagementType     , dAndroidId +    -- * AutoInstallConstraint+    , AutoInstallConstraint+    , autoInstallConstraint+    , aicChargingStateConstraint+    , aicDeviceIdleStateConstraint+    , aicNetworkTypeConstraint+     -- * ServiceAccountKey     , ServiceAccountKey     , serviceAccountKey@@ -196,6 +235,14 @@     , arsrDescription     , arsrNestedRestriction +    -- * ProductPolicy+    , ProductPolicy+    , productPolicy+    , ppTracks+    , ppTrackIds+    , ppAutoInstallPolicy+    , ppProductId+     -- * Administrator     , Administrator     , administrator@@ -207,17 +254,34 @@     , ulrKind     , ulrUser +    -- * AdministratorWebTokenSpecStoreBuilder+    , AdministratorWebTokenSpecStoreBuilder+    , administratorWebTokenSpecStoreBuilder+    , awtssbEnabled+     -- * AuthenticationToken     , AuthenticationToken     , authenticationToken     , atKind     , atToken +    -- * ManagedConfigurationsSettings+    , ManagedConfigurationsSettings+    , managedConfigurationsSettings+    , mcsLastUpdatedTimestampMillis+    , mcsManagedProperty+    , mcsKind+    , mcsMcmId+    , mcsName+     -- * AppVersion     , AppVersion     , appVersion+    , avTrack     , avVersionCode     , avVersionString+    , avTrackId+    , avIsProduction      -- * EnterprisesPullNotificationSetRequestMode     , EnterprisesPullNotificationSetRequestMode (..)@@ -233,9 +297,16 @@     , gllrGroupLicense     , gllrKind +    -- * AndroidDevicePolicyConfig+    , AndroidDevicePolicyConfig+    , androidDevicePolicyConfig+    , adpcState+    , adpcKind+     -- * ProductSet     , ProductSet     , productSet+    , psProductVisibility     , psKind     , psProductSetBehavior     , psProductId@@ -248,11 +319,23 @@     , iInstallState     , iProductId +    -- * MaintenanceWindow+    , MaintenanceWindow+    , maintenanceWindow+    , mwDurationMs+    , mwStartTimeAfterMidnightMs+     -- * ServiceAccountKeysListResponse     , ServiceAccountKeysListResponse     , serviceAccountKeysListResponse     , saklrServiceAccountKey +    -- * TrackInfo+    , TrackInfo+    , trackInfo+    , tiTrackAlias+    , tiTrackId+     -- * User     , User     , user@@ -296,6 +379,13 @@     , saKey     , saName +    -- * VariableSet+    , VariableSet+    , variableSet+    , vsKind+    , vsUserValue+    , vsPlaceholder+     -- * AppUpdateEvent     , AppUpdateEvent     , appUpdateEvent@@ -320,6 +410,11 @@     , arsKind     , arsRestrictions +    -- * WebAppIcon+    , WebAppIcon+    , webAppIcon+    , waiImageData+     -- * LocalizedText     , LocalizedText     , localizedText@@ -333,12 +428,23 @@     , utToken     , utUserId +    -- * AdministratorWebTokenSpecPrivateApps+    , AdministratorWebTokenSpecPrivateApps+    , administratorWebTokenSpecPrivateApps+    , awtspaEnabled+     -- * DevicesListResponse     , DevicesListResponse     , devicesListResponse     , dlrKind     , dlrDevice +    -- * ProductSigningCertificate+    , ProductSigningCertificate+    , productSigningCertificate+    , pscCertificateHashSha256+    , pscCertificateHashSha1+     -- * Enterprise     , Enterprise     , enterprise@@ -363,6 +469,13 @@     , mcfulrManagedConfigurationForUser     , mcfulrKind +    -- * ConfigurationVariables+    , ConfigurationVariables+    , configurationVariables+    , cvKind+    , cvMcmId+    , cvVariableSet+     -- * StoreLayout     , StoreLayout     , storeLayout@@ -379,9 +492,18 @@     , NewDeviceEvent     , newDeviceEvent     , ndeUserId+    , ndeDpcPackageName     , ndeDeviceId     , ndeManagementType +    -- * Policy+    , Policy+    , policy+    , pProductAvailabilityPolicy+    , pProductPolicy+    , pMaintenanceWindow+    , pAutoUpdatePolicy+     -- * AdministratorWebToken     , AdministratorWebToken     , administratorWebToken@@ -398,17 +520,29 @@     -- * Product     , Product     , product+    , pScreenshotURLs+    , pLastUpdatedTimestampMillis     , pSmallIconURL     , pAuthorName+    , pAppTracks     , pKind     , pWorkDetailsURL     , pRequiresContainerApp+    , pCategory     , pAppVersion     , pProductPricing     , pDistributionChannel+    , pMinAndroidSdkVersion+    , pAvailableCountries+    , pAvailableTracks     , pIconURL+    , pPermissions     , pTitle+    , pSigningCertificate+    , pContentRating     , pProductId+    , pRecentChanges+    , pDescription     , pDetailsURL      -- * EntitlementsListResponse@@ -423,9 +557,9 @@     -- * ProductPermissions     , ProductPermissions     , productPermissions-    , ppKind-    , ppPermission-    , ppProductId+    , ppsKind+    , ppsPermission+    , ppsProductId      -- * Permission     , Permission@@ -435,11 +569,26 @@     , perDescription     , perPermissionId +    -- * WebAppsListResponse+    , WebAppsListResponse+    , webAppsListResponse+    , walrKind+    , walrWebApp+     -- * ProductsApproveRequest     , ProductsApproveRequest     , productsApproveRequest     , parApprovalURLInfo+    , parApprovedPermissions +    -- * AutoInstallPolicy+    , AutoInstallPolicy+    , autoInstallPolicy+    , aipAutoInstallConstraint+    , aipAutoInstallPriority+    , aipAutoInstallMode+    , aipMinimumVersionCode+     -- * Entitlement     , Entitlement     , entitlement@@ -454,6 +603,17 @@     , plrPageInfo     , plrKind     , plrProduct++    -- * WebApp+    , WebApp+    , webApp+    , waWebAppId+    , waVersionCode+    , waIcons+    , waStartURL+    , waDisplayMode+    , waIsPublished+    , waTitle     ) where  import           Network.Google.AndroidEnterprise.Types.Product
gen/Network/Google/AndroidEnterprise/Types/Product.hs view
@@ -20,4074 +20,5627 @@ import           Network.Google.AndroidEnterprise.Types.Sum import           Network.Google.Prelude --- | A group license object indicates a product that an enterprise admin has--- approved for use in the enterprise. The product may be free or paid. For--- free products, a group license object is created in these cases: if the--- enterprise admin approves a product in Google Play, if the product is--- added to a collection, or if an entitlement for the product is created--- for a user via the API. For paid products, a group license object is--- only created as part of the first bulk purchase of that product in--- Google Play by the enterprise admin. The API can be used to query group--- licenses; the available information includes the total number of--- licenses purchased (for paid products) and the total number of licenses--- that have been provisioned, that is, the total number of user--- entitlements in existence for the product. Group license objects are--- never deleted. If, for example, a free app is added to a collection and--- then removed, the group license will remain, allowing the enterprise--- admin to keep track of any remaining entitlements. An enterprise admin--- may indicate they are no longer interested in the group license by--- marking it as unapproved in Google Play.------ /See:/ 'groupLicense' smart constructor.-data GroupLicense = GroupLicense'-    { _glKind            :: !Text-    , _glNumProvisioned  :: !(Maybe (Textual Int32))-    , _glNumPurchased    :: !(Maybe (Textual Int32))-    , _glApproval        :: !(Maybe Text)-    , _glProductId       :: !(Maybe Text)-    , _glAcquisitionKind :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GroupLicense' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'glKind'------ * 'glNumProvisioned'------ * 'glNumPurchased'------ * 'glApproval'------ * 'glProductId'------ * 'glAcquisitionKind'-groupLicense-    :: GroupLicense-groupLicense =-    GroupLicense'-    { _glKind = "androidenterprise#groupLicense"-    , _glNumProvisioned = Nothing-    , _glNumPurchased = Nothing-    , _glApproval = Nothing-    , _glProductId = Nothing-    , _glAcquisitionKind = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#groupLicense\".-glKind :: Lens' GroupLicense Text-glKind = lens _glKind (\ s a -> s{_glKind = a})---- | The total number of provisioned licenses for this product. Returned by--- read operations, but ignored in write operations.-glNumProvisioned :: Lens' GroupLicense (Maybe Int32)-glNumProvisioned-  = lens _glNumProvisioned-      (\ s a -> s{_glNumProvisioned = a})-      . mapping _Coerce---- | The number of purchased licenses (possibly in multiple purchases). If--- this field is omitted then there is no limit on the number of licenses--- that can be provisioned (e.g. if the acquisition kind is \"free\").-glNumPurchased :: Lens' GroupLicense (Maybe Int32)-glNumPurchased-  = lens _glNumPurchased-      (\ s a -> s{_glNumPurchased = a})-      . mapping _Coerce---- | Whether the product to which this group license relates is currently--- approved by the enterprise, as either \"approved\" or \"unapproved\".--- Products are approved when a group license is first created, but this--- approval may be revoked by an enterprise admin via Google Play.--- Unapproved products will not be visible to end users in collections and--- new entitlements to them should not normally be created.-glApproval :: Lens' GroupLicense (Maybe Text)-glApproval-  = lens _glApproval (\ s a -> s{_glApproval = a})---- | The ID of the product that the license is for, e.g.--- \"app:com.google.android.gm\".-glProductId :: Lens' GroupLicense (Maybe Text)-glProductId-  = lens _glProductId (\ s a -> s{_glProductId = a})---- | How this group license was acquired. \"bulkPurchase\" means that this--- group license object was created because the enterprise purchased--- licenses for this product; this is \"free\" otherwise (for free--- products).-glAcquisitionKind :: Lens' GroupLicense (Maybe Text)-glAcquisitionKind-  = lens _glAcquisitionKind-      (\ s a -> s{_glAcquisitionKind = a})--instance FromJSON GroupLicense where-        parseJSON-          = withObject "GroupLicense"-              (\ o ->-                 GroupLicense' <$>-                   (o .:? "kind" .!= "androidenterprise#groupLicense")-                     <*> (o .:? "numProvisioned")-                     <*> (o .:? "numPurchased")-                     <*> (o .:? "approval")-                     <*> (o .:? "productId")-                     <*> (o .:? "acquisitionKind"))--instance ToJSON GroupLicense where-        toJSON GroupLicense'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _glKind),-                  ("numProvisioned" .=) <$> _glNumProvisioned,-                  ("numPurchased" .=) <$> _glNumPurchased,-                  ("approval" .=) <$> _glApproval,-                  ("productId" .=) <$> _glProductId,-                  ("acquisitionKind" .=) <$> _glAcquisitionKind])---- | The store page resources for the enterprise.------ /See:/ 'storeLayoutPagesListResponse' smart constructor.-data StoreLayoutPagesListResponse = StoreLayoutPagesListResponse'-    { _slplrKind :: !Text-    , _slplrPage :: !(Maybe [StorePage])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StoreLayoutPagesListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slplrKind'------ * 'slplrPage'-storeLayoutPagesListResponse-    :: StoreLayoutPagesListResponse-storeLayoutPagesListResponse =-    StoreLayoutPagesListResponse'-    { _slplrKind = "androidenterprise#storeLayoutPagesListResponse"-    , _slplrPage = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#storeLayoutPagesListResponse\".-slplrKind :: Lens' StoreLayoutPagesListResponse Text-slplrKind-  = lens _slplrKind (\ s a -> s{_slplrKind = a})---- | A store page of an enterprise.-slplrPage :: Lens' StoreLayoutPagesListResponse [StorePage]-slplrPage-  = lens _slplrPage (\ s a -> s{_slplrPage = a}) .-      _Default-      . _Coerce--instance FromJSON StoreLayoutPagesListResponse where-        parseJSON-          = withObject "StoreLayoutPagesListResponse"-              (\ o ->-                 StoreLayoutPagesListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#storeLayoutPagesListResponse")-                     <*> (o .:? "page" .!= mempty))--instance ToJSON StoreLayoutPagesListResponse where-        toJSON StoreLayoutPagesListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _slplrKind),-                  ("page" .=) <$> _slplrPage])---- | A service account that can be used to authenticate as the enterprise to--- API calls that require such authentication.------ /See:/ 'enterpriseAccount' smart constructor.-data EnterpriseAccount = EnterpriseAccount'-    { _eaKind         :: !Text-    , _eaAccountEmail :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnterpriseAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eaKind'------ * 'eaAccountEmail'-enterpriseAccount-    :: EnterpriseAccount-enterpriseAccount =-    EnterpriseAccount'-    { _eaKind = "androidenterprise#enterpriseAccount"-    , _eaAccountEmail = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#enterpriseAccount\".-eaKind :: Lens' EnterpriseAccount Text-eaKind = lens _eaKind (\ s a -> s{_eaKind = a})---- | The email address of the service account.-eaAccountEmail :: Lens' EnterpriseAccount (Maybe Text)-eaAccountEmail-  = lens _eaAccountEmail-      (\ s a -> s{_eaAccountEmail = a})--instance FromJSON EnterpriseAccount where-        parseJSON-          = withObject "EnterpriseAccount"-              (\ o ->-                 EnterpriseAccount' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#enterpriseAccount")-                     <*> (o .:? "accountEmail"))--instance ToJSON EnterpriseAccount where-        toJSON EnterpriseAccount'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _eaKind),-                  ("accountEmail" .=) <$> _eaAccountEmail])---- | A typed value for the restriction.------ /See:/ 'appRestrictionsSchemaRestrictionRestrictionValue' smart constructor.-data AppRestrictionsSchemaRestrictionRestrictionValue = AppRestrictionsSchemaRestrictionRestrictionValue'-    { _arsrrvValueMultiselect :: !(Maybe [Text])-    , _arsrrvValueBool        :: !(Maybe Bool)-    , _arsrrvValueInteger     :: !(Maybe (Textual Int32))-    , _arsrrvType             :: !(Maybe Text)-    , _arsrrvValueString      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppRestrictionsSchemaRestrictionRestrictionValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arsrrvValueMultiselect'------ * 'arsrrvValueBool'------ * 'arsrrvValueInteger'------ * 'arsrrvType'------ * 'arsrrvValueString'-appRestrictionsSchemaRestrictionRestrictionValue-    :: AppRestrictionsSchemaRestrictionRestrictionValue-appRestrictionsSchemaRestrictionRestrictionValue =-    AppRestrictionsSchemaRestrictionRestrictionValue'-    { _arsrrvValueMultiselect = Nothing-    , _arsrrvValueBool = Nothing-    , _arsrrvValueInteger = Nothing-    , _arsrrvType = Nothing-    , _arsrrvValueString = Nothing-    }---- | The list of string values - this will only be present if type is--- multiselect.-arsrrvValueMultiselect :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue [Text]-arsrrvValueMultiselect-  = lens _arsrrvValueMultiselect-      (\ s a -> s{_arsrrvValueMultiselect = a})-      . _Default-      . _Coerce---- | The boolean value - this will only be present if type is bool.-arsrrvValueBool :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Bool)-arsrrvValueBool-  = lens _arsrrvValueBool-      (\ s a -> s{_arsrrvValueBool = a})---- | The integer value - this will only be present if type is integer.-arsrrvValueInteger :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Int32)-arsrrvValueInteger-  = lens _arsrrvValueInteger-      (\ s a -> s{_arsrrvValueInteger = a})-      . mapping _Coerce---- | The type of the value being provided.-arsrrvType :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)-arsrrvType-  = lens _arsrrvType (\ s a -> s{_arsrrvType = a})---- | The string value - this will be present for types string, choice and--- hidden.-arsrrvValueString :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)-arsrrvValueString-  = lens _arsrrvValueString-      (\ s a -> s{_arsrrvValueString = a})--instance FromJSON-         AppRestrictionsSchemaRestrictionRestrictionValue-         where-        parseJSON-          = withObject-              "AppRestrictionsSchemaRestrictionRestrictionValue"-              (\ o ->-                 AppRestrictionsSchemaRestrictionRestrictionValue' <$>-                   (o .:? "valueMultiselect" .!= mempty) <*>-                     (o .:? "valueBool")-                     <*> (o .:? "valueInteger")-                     <*> (o .:? "type")-                     <*> (o .:? "valueString"))--instance ToJSON-         AppRestrictionsSchemaRestrictionRestrictionValue-         where-        toJSON-          AppRestrictionsSchemaRestrictionRestrictionValue'{..}-          = object-              (catMaybes-                 [("valueMultiselect" .=) <$> _arsrrvValueMultiselect,-                  ("valueBool" .=) <$> _arsrrvValueBool,-                  ("valueInteger" .=) <$> _arsrrvValueInteger,-                  ("type" .=) <$> _arsrrvType,-                  ("valueString" .=) <$> _arsrrvValueString])---- | The state of a user\'s device, as accessed by the getState and setState--- methods on device resources.------ /See:/ 'deviceState' smart constructor.-data DeviceState = DeviceState'-    { _dsKind         :: !Text-    , _dsAccountState :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeviceState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsKind'------ * 'dsAccountState'-deviceState-    :: DeviceState-deviceState =-    DeviceState'-    { _dsKind = "androidenterprise#deviceState"-    , _dsAccountState = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#deviceState\".-dsKind :: Lens' DeviceState Text-dsKind = lens _dsKind (\ s a -> s{_dsKind = a})---- | The state of the Google account on the device. \"enabled\" indicates--- that the Google account on the device can be used to access Google--- services (including Google Play), while \"disabled\" means that it--- cannot. A new device is initially in the \"disabled\" state.-dsAccountState :: Lens' DeviceState (Maybe Text)-dsAccountState-  = lens _dsAccountState-      (\ s a -> s{_dsAccountState = a})--instance FromJSON DeviceState where-        parseJSON-          = withObject "DeviceState"-              (\ o ->-                 DeviceState' <$>-                   (o .:? "kind" .!= "androidenterprise#deviceState")-                     <*> (o .:? "accountState"))--instance ToJSON DeviceState where-        toJSON DeviceState'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _dsKind),-                  ("accountState" .=) <$> _dsAccountState])---- | The user resources for the group license.------ /See:/ 'groupLicenseUsersListResponse' smart constructor.-data GroupLicenseUsersListResponse = GroupLicenseUsersListResponse'-    { _glulrKind :: !Text-    , _glulrUser :: !(Maybe [User])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GroupLicenseUsersListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'glulrKind'------ * 'glulrUser'-groupLicenseUsersListResponse-    :: GroupLicenseUsersListResponse-groupLicenseUsersListResponse =-    GroupLicenseUsersListResponse'-    { _glulrKind = "androidenterprise#groupLicenseUsersListResponse"-    , _glulrUser = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#groupLicenseUsersListResponse\".-glulrKind :: Lens' GroupLicenseUsersListResponse Text-glulrKind-  = lens _glulrKind (\ s a -> s{_glulrKind = a})---- | A user of an enterprise.-glulrUser :: Lens' GroupLicenseUsersListResponse [User]-glulrUser-  = lens _glulrUser (\ s a -> s{_glulrUser = a}) .-      _Default-      . _Coerce--instance FromJSON GroupLicenseUsersListResponse where-        parseJSON-          = withObject "GroupLicenseUsersListResponse"-              (\ o ->-                 GroupLicenseUsersListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#groupLicenseUsersListResponse")-                     <*> (o .:? "user" .!= mempty))--instance ToJSON GroupLicenseUsersListResponse where-        toJSON GroupLicenseUsersListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _glulrKind),-                  ("user" .=) <$> _glulrUser])------- /See:/ 'tokenPagination' smart constructor.-data TokenPagination = TokenPagination'-    { _tpNextPageToken     :: !(Maybe Text)-    , _tpPreviousPageToken :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TokenPagination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpNextPageToken'------ * 'tpPreviousPageToken'-tokenPagination-    :: TokenPagination-tokenPagination =-    TokenPagination'-    { _tpNextPageToken = Nothing-    , _tpPreviousPageToken = Nothing-    }--tpNextPageToken :: Lens' TokenPagination (Maybe Text)-tpNextPageToken-  = lens _tpNextPageToken-      (\ s a -> s{_tpNextPageToken = a})--tpPreviousPageToken :: Lens' TokenPagination (Maybe Text)-tpPreviousPageToken-  = lens _tpPreviousPageToken-      (\ s a -> s{_tpPreviousPageToken = a})--instance FromJSON TokenPagination where-        parseJSON-          = withObject "TokenPagination"-              (\ o ->-                 TokenPagination' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "previousPageToken"))--instance ToJSON TokenPagination where-        toJSON TokenPagination'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _tpNextPageToken,-                  ("previousPageToken" .=) <$> _tpPreviousPageToken])---- | Information on an approval URL.------ /See:/ 'approvalURLInfo' smart constructor.-data ApprovalURLInfo = ApprovalURLInfo'-    { _auiApprovalURL :: !(Maybe Text)-    , _auiKind        :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ApprovalURLInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'auiApprovalURL'------ * 'auiKind'-approvalURLInfo-    :: ApprovalURLInfo-approvalURLInfo =-    ApprovalURLInfo'-    { _auiApprovalURL = Nothing-    , _auiKind = "androidenterprise#approvalUrlInfo"-    }---- | A URL that displays a product\'s permissions and that can also be used--- to approve the product with the Products.approve call.-auiApprovalURL :: Lens' ApprovalURLInfo (Maybe Text)-auiApprovalURL-  = lens _auiApprovalURL-      (\ s a -> s{_auiApprovalURL = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#approvalUrlInfo\".-auiKind :: Lens' ApprovalURLInfo Text-auiKind = lens _auiKind (\ s a -> s{_auiKind = a})--instance FromJSON ApprovalURLInfo where-        parseJSON-          = withObject "ApprovalURLInfo"-              (\ o ->-                 ApprovalURLInfo' <$>-                   (o .:? "approvalUrl") <*>-                     (o .:? "kind" .!=-                        "androidenterprise#approvalUrlInfo"))--instance ToJSON ApprovalURLInfo where-        toJSON ApprovalURLInfo'{..}-          = object-              (catMaybes-                 [("approvalUrl" .=) <$> _auiApprovalURL,-                  Just ("kind" .= _auiKind)])---- | A managed property of a managed configuration. The property must match--- one of the properties in the app restrictions schema of the product.--- Exactly one of the value fields must be populated, and it must match the--- property\'s type in the app restrictions schema.------ /See:/ 'managedProperty' smart constructor.-data ManagedProperty = ManagedProperty'-    { _mpValueStringArray :: !(Maybe [Text])-    , _mpValueBool        :: !(Maybe Bool)-    , _mpKey              :: !(Maybe Text)-    , _mpValueBundle      :: !(Maybe ManagedPropertyBundle)-    , _mpValueInteger     :: !(Maybe (Textual Int32))-    , _mpValueBundleArray :: !(Maybe [ManagedPropertyBundle])-    , _mpValueString      :: !(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:------ * 'mpValueStringArray'------ * 'mpValueBool'------ * 'mpKey'------ * 'mpValueBundle'------ * 'mpValueInteger'------ * 'mpValueBundleArray'------ * 'mpValueString'-managedProperty-    :: ManagedProperty-managedProperty =-    ManagedProperty'-    { _mpValueStringArray = Nothing-    , _mpValueBool = Nothing-    , _mpKey = Nothing-    , _mpValueBundle = Nothing-    , _mpValueInteger = Nothing-    , _mpValueBundleArray = Nothing-    , _mpValueString = Nothing-    }---- | The list of string values - this will only be present if type of the--- property is multiselect.-mpValueStringArray :: Lens' ManagedProperty [Text]-mpValueStringArray-  = lens _mpValueStringArray-      (\ s a -> s{_mpValueStringArray = a})-      . _Default-      . _Coerce---- | The boolean value - this will only be present if type of the property is--- bool.-mpValueBool :: Lens' ManagedProperty (Maybe Bool)-mpValueBool-  = lens _mpValueBool (\ s a -> s{_mpValueBool = a})---- | The unique key that identifies the property.-mpKey :: Lens' ManagedProperty (Maybe Text)-mpKey = lens _mpKey (\ s a -> s{_mpKey = a})---- | The bundle of managed properties - this will only be present if type of--- the property is bundle.-mpValueBundle :: Lens' ManagedProperty (Maybe ManagedPropertyBundle)-mpValueBundle-  = lens _mpValueBundle-      (\ s a -> s{_mpValueBundle = a})---- | The integer value - this will only be present if type of the property is--- integer.-mpValueInteger :: Lens' ManagedProperty (Maybe Int32)-mpValueInteger-  = lens _mpValueInteger-      (\ s a -> s{_mpValueInteger = a})-      . mapping _Coerce---- | The list of bundles of properties - this will only be present if type of--- the property is bundle_array.-mpValueBundleArray :: Lens' ManagedProperty [ManagedPropertyBundle]-mpValueBundleArray-  = lens _mpValueBundleArray-      (\ s a -> s{_mpValueBundleArray = a})-      . _Default-      . _Coerce---- | The string value - this will only be present if type of the property is--- string, choice or hidden.-mpValueString :: Lens' ManagedProperty (Maybe Text)-mpValueString-  = lens _mpValueString-      (\ s a -> s{_mpValueString = a})--instance FromJSON ManagedProperty where-        parseJSON-          = withObject "ManagedProperty"-              (\ o ->-                 ManagedProperty' <$>-                   (o .:? "valueStringArray" .!= mempty) <*>-                     (o .:? "valueBool")-                     <*> (o .:? "key")-                     <*> (o .:? "valueBundle")-                     <*> (o .:? "valueInteger")-                     <*> (o .:? "valueBundleArray" .!= mempty)-                     <*> (o .:? "valueString"))--instance ToJSON ManagedProperty where-        toJSON ManagedProperty'{..}-          = object-              (catMaybes-                 [("valueStringArray" .=) <$> _mpValueStringArray,-                  ("valueBool" .=) <$> _mpValueBool,-                  ("key" .=) <$> _mpKey,-                  ("valueBundle" .=) <$> _mpValueBundle,-                  ("valueInteger" .=) <$> _mpValueInteger,-                  ("valueBundleArray" .=) <$> _mpValueBundleArray,-                  ("valueString" .=) <$> _mpValueString])---- | The store page resources for the enterprise.------ /See:/ 'storeLayoutClustersListResponse' smart constructor.-data StoreLayoutClustersListResponse = StoreLayoutClustersListResponse'-    { _slclrCluster :: !(Maybe [StoreCluster])-    , _slclrKind    :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StoreLayoutClustersListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slclrCluster'------ * 'slclrKind'-storeLayoutClustersListResponse-    :: StoreLayoutClustersListResponse-storeLayoutClustersListResponse =-    StoreLayoutClustersListResponse'-    { _slclrCluster = Nothing-    , _slclrKind = "androidenterprise#storeLayoutClustersListResponse"-    }---- | A store cluster of an enterprise.-slclrCluster :: Lens' StoreLayoutClustersListResponse [StoreCluster]-slclrCluster-  = lens _slclrCluster (\ s a -> s{_slclrCluster = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#storeLayoutClustersListResponse\".-slclrKind :: Lens' StoreLayoutClustersListResponse Text-slclrKind-  = lens _slclrKind (\ s a -> s{_slclrKind = a})--instance FromJSON StoreLayoutClustersListResponse-         where-        parseJSON-          = withObject "StoreLayoutClustersListResponse"-              (\ o ->-                 StoreLayoutClustersListResponse' <$>-                   (o .:? "cluster" .!= mempty) <*>-                     (o .:? "kind" .!=-                        "androidenterprise#storeLayoutClustersListResponse"))--instance ToJSON StoreLayoutClustersListResponse where-        toJSON StoreLayoutClustersListResponse'{..}-          = object-              (catMaybes-                 [("cluster" .=) <$> _slclrCluster,-                  Just ("kind" .= _slclrKind)])---- | A managed configuration resource contains the set of managed properties--- that have been configured for an Android app. The app\'s developer would--- have defined configurable properties in the managed configurations--- schema.------ /See:/ 'managedConfiguration' smart constructor.-data ManagedConfiguration = ManagedConfiguration'-    { _mcManagedProperty :: !(Maybe [ManagedProperty])-    , _mcKind            :: !Text-    , _mcProductId       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcManagedProperty'------ * 'mcKind'------ * 'mcProductId'-managedConfiguration-    :: ManagedConfiguration-managedConfiguration =-    ManagedConfiguration'-    { _mcManagedProperty = Nothing-    , _mcKind = "androidenterprise#managedConfiguration"-    , _mcProductId = Nothing-    }---- | The set of managed properties for this configuration.-mcManagedProperty :: Lens' ManagedConfiguration [ManagedProperty]-mcManagedProperty-  = lens _mcManagedProperty-      (\ s a -> s{_mcManagedProperty = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#managedConfiguration\".-mcKind :: Lens' ManagedConfiguration Text-mcKind = lens _mcKind (\ s a -> s{_mcKind = a})---- | The ID of the product that the managed configuration is for, e.g.--- \"app:com.google.android.gm\".-mcProductId :: Lens' ManagedConfiguration (Maybe Text)-mcProductId-  = lens _mcProductId (\ s a -> s{_mcProductId = a})--instance FromJSON ManagedConfiguration where-        parseJSON-          = withObject "ManagedConfiguration"-              (\ o ->-                 ManagedConfiguration' <$>-                   (o .:? "managedProperty" .!= mempty) <*>-                     (o .:? "kind" .!=-                        "androidenterprise#managedConfiguration")-                     <*> (o .:? "productId"))--instance ToJSON ManagedConfiguration where-        toJSON ManagedConfiguration'{..}-          = object-              (catMaybes-                 [("managedProperty" .=) <$> _mcManagedProperty,-                  Just ("kind" .= _mcKind),-                  ("productId" .=) <$> _mcProductId])---- | Definition of a managed Google Play store cluster, a list of products--- displayed as part of a store page.------ /See:/ 'storeCluster' smart constructor.-data StoreCluster = StoreCluster'-    { _scKind        :: !Text-    , _scName        :: !(Maybe [LocalizedText])-    , _scOrderInPage :: !(Maybe Text)-    , _scId          :: !(Maybe Text)-    , _scProductId   :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StoreCluster' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scKind'------ * 'scName'------ * 'scOrderInPage'------ * 'scId'------ * 'scProductId'-storeCluster-    :: StoreCluster-storeCluster =-    StoreCluster'-    { _scKind = "androidenterprise#storeCluster"-    , _scName = Nothing-    , _scOrderInPage = Nothing-    , _scId = Nothing-    , _scProductId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#storeCluster\".-scKind :: Lens' StoreCluster Text-scKind = lens _scKind (\ s a -> s{_scKind = a})---- | Ordered list of localized strings giving the name of this page. The text--- displayed is the one that best matches the user locale, or the first--- entry if there is no good match. There needs to be at least one entry.-scName :: Lens' StoreCluster [LocalizedText]-scName-  = lens _scName (\ s a -> s{_scName = a}) . _Default .-      _Coerce---- | String (US-ASCII only) used to determine order of this cluster within--- the parent page\'s elements. Page elements are sorted in lexicographic--- order of this field. Duplicated values are allowed, but ordering between--- elements with duplicate order is undefined. The value of this field is--- never visible to a user, it is used solely for the purpose of defining--- an ordering. Maximum length is 256 characters.-scOrderInPage :: Lens' StoreCluster (Maybe Text)-scOrderInPage-  = lens _scOrderInPage-      (\ s a -> s{_scOrderInPage = a})---- | Unique ID of this cluster. Assigned by the server. Immutable once--- assigned.-scId :: Lens' StoreCluster (Maybe Text)-scId = lens _scId (\ s a -> s{_scId = a})---- | List of products in the order they are displayed in the cluster. There--- should not be duplicates within a cluster.-scProductId :: Lens' StoreCluster [Text]-scProductId-  = lens _scProductId (\ s a -> s{_scProductId = a}) .-      _Default-      . _Coerce--instance FromJSON StoreCluster where-        parseJSON-          = withObject "StoreCluster"-              (\ o ->-                 StoreCluster' <$>-                   (o .:? "kind" .!= "androidenterprise#storeCluster")-                     <*> (o .:? "name" .!= mempty)-                     <*> (o .:? "orderInPage")-                     <*> (o .:? "id")-                     <*> (o .:? "productId" .!= mempty))--instance ToJSON StoreCluster where-        toJSON StoreCluster'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _scKind), ("name" .=) <$> _scName,-                  ("orderInPage" .=) <$> _scOrderInPage,-                  ("id" .=) <$> _scId,-                  ("productId" .=) <$> _scProductId])---- | Specification for a token used to generate iframes. The token specifies--- what data the admin is allowed to modify and the URI the iframe is--- allowed to communiate with.------ /See:/ 'administratorWebTokenSpec' smart constructor.-data AdministratorWebTokenSpec = AdministratorWebTokenSpec'-    { _awtsParent     :: !(Maybe Text)-    , _awtsKind       :: !Text-    , _awtsPermission :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AdministratorWebTokenSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'awtsParent'------ * 'awtsKind'------ * 'awtsPermission'-administratorWebTokenSpec-    :: AdministratorWebTokenSpec-administratorWebTokenSpec =-    AdministratorWebTokenSpec'-    { _awtsParent = Nothing-    , _awtsKind = "androidenterprise#administratorWebTokenSpec"-    , _awtsPermission = Nothing-    }---- | The URI of the parent frame hosting the iframe. To prevent XSS, the--- iframe may not be hosted at other URIs. This URI must be https.-awtsParent :: Lens' AdministratorWebTokenSpec (Maybe Text)-awtsParent-  = lens _awtsParent (\ s a -> s{_awtsParent = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#administratorWebTokenSpec\".-awtsKind :: Lens' AdministratorWebTokenSpec Text-awtsKind = lens _awtsKind (\ s a -> s{_awtsKind = a})---- | The list of permissions the admin is granted within the iframe. The--- admin will only be allowed to view an iframe if they have all of the--- permissions associated with it. The only valid value is \"approveApps\"--- that will allow the admin to access the iframe in \"approve\" mode.-awtsPermission :: Lens' AdministratorWebTokenSpec [Text]-awtsPermission-  = lens _awtsPermission-      (\ s a -> s{_awtsPermission = a})-      . _Default-      . _Coerce--instance FromJSON AdministratorWebTokenSpec where-        parseJSON-          = withObject "AdministratorWebTokenSpec"-              (\ o ->-                 AdministratorWebTokenSpec' <$>-                   (o .:? "parent") <*>-                     (o .:? "kind" .!=-                        "androidenterprise#administratorWebTokenSpec")-                     <*> (o .:? "permission" .!= mempty))--instance ToJSON AdministratorWebTokenSpec where-        toJSON AdministratorWebTokenSpec'{..}-          = object-              (catMaybes-                 [("parent" .=) <$> _awtsParent,-                  Just ("kind" .= _awtsKind),-                  ("permission" .=) <$> _awtsPermission])---- | A notification of one event relating to an enterprise.------ /See:/ 'notification' smart constructor.-data Notification = Notification'-    { _nEnterpriseId                     :: !(Maybe Text)-    , _nNewPermissionsEvent              :: !(Maybe NewPermissionsEvent)-    , _nProductApprovalEvent             :: !(Maybe ProductApprovalEvent)-    , _nProductAvailabilityChangeEvent   :: !(Maybe ProductAvailabilityChangeEvent)-    , _nAppUpdateEvent                   :: !(Maybe AppUpdateEvent)-    , _nInstallFailureEvent              :: !(Maybe InstallFailureEvent)-    , _nAppRestrictionsSchemaChangeEvent :: !(Maybe AppRestrictionsSchemaChangeEvent)-    , _nNewDeviceEvent                   :: !(Maybe NewDeviceEvent)-    , _nTimestampMillis                  :: !(Maybe (Textual Int64))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Notification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nEnterpriseId'------ * 'nNewPermissionsEvent'------ * 'nProductApprovalEvent'------ * 'nProductAvailabilityChangeEvent'------ * 'nAppUpdateEvent'------ * 'nInstallFailureEvent'------ * 'nAppRestrictionsSchemaChangeEvent'------ * 'nNewDeviceEvent'------ * 'nTimestampMillis'-notification-    :: Notification-notification =-    Notification'-    { _nEnterpriseId = Nothing-    , _nNewPermissionsEvent = Nothing-    , _nProductApprovalEvent = Nothing-    , _nProductAvailabilityChangeEvent = Nothing-    , _nAppUpdateEvent = Nothing-    , _nInstallFailureEvent = Nothing-    , _nAppRestrictionsSchemaChangeEvent = Nothing-    , _nNewDeviceEvent = Nothing-    , _nTimestampMillis = Nothing-    }---- | The ID of the enterprise for which the notification is sent. This will--- always be present.-nEnterpriseId :: Lens' Notification (Maybe Text)-nEnterpriseId-  = lens _nEnterpriseId-      (\ s a -> s{_nEnterpriseId = a})---- | Notifications about new app permissions.-nNewPermissionsEvent :: Lens' Notification (Maybe NewPermissionsEvent)-nNewPermissionsEvent-  = lens _nNewPermissionsEvent-      (\ s a -> s{_nNewPermissionsEvent = a})---- | Notifications about changes to a product\'s approval status.-nProductApprovalEvent :: Lens' Notification (Maybe ProductApprovalEvent)-nProductApprovalEvent-  = lens _nProductApprovalEvent-      (\ s a -> s{_nProductApprovalEvent = a})---- | Notifications about product availability changes.-nProductAvailabilityChangeEvent :: Lens' Notification (Maybe ProductAvailabilityChangeEvent)-nProductAvailabilityChangeEvent-  = lens _nProductAvailabilityChangeEvent-      (\ s a -> s{_nProductAvailabilityChangeEvent = a})---- | Notifications about app updates.-nAppUpdateEvent :: Lens' Notification (Maybe AppUpdateEvent)-nAppUpdateEvent-  = lens _nAppUpdateEvent-      (\ s a -> s{_nAppUpdateEvent = a})---- | Notifications about an app installation failure.-nInstallFailureEvent :: Lens' Notification (Maybe InstallFailureEvent)-nInstallFailureEvent-  = lens _nInstallFailureEvent-      (\ s a -> s{_nInstallFailureEvent = a})---- | Notifications about new app restrictions schema changes.-nAppRestrictionsSchemaChangeEvent :: Lens' Notification (Maybe AppRestrictionsSchemaChangeEvent)-nAppRestrictionsSchemaChangeEvent-  = lens _nAppRestrictionsSchemaChangeEvent-      (\ s a -> s{_nAppRestrictionsSchemaChangeEvent = a})---- | Notifications about new devices.-nNewDeviceEvent :: Lens' Notification (Maybe NewDeviceEvent)-nNewDeviceEvent-  = lens _nNewDeviceEvent-      (\ s a -> s{_nNewDeviceEvent = a})---- | The time when the notification was published in milliseconds since--- 1970-01-01T00:00:00Z. This will always be present.-nTimestampMillis :: Lens' Notification (Maybe Int64)-nTimestampMillis-  = lens _nTimestampMillis-      (\ s a -> s{_nTimestampMillis = a})-      . mapping _Coerce--instance FromJSON Notification where-        parseJSON-          = withObject "Notification"-              (\ o ->-                 Notification' <$>-                   (o .:? "enterpriseId") <*>-                     (o .:? "newPermissionsEvent")-                     <*> (o .:? "productApprovalEvent")-                     <*> (o .:? "productAvailabilityChangeEvent")-                     <*> (o .:? "appUpdateEvent")-                     <*> (o .:? "installFailureEvent")-                     <*> (o .:? "appRestrictionsSchemaChangeEvent")-                     <*> (o .:? "newDeviceEvent")-                     <*> (o .:? "timestampMillis"))--instance ToJSON Notification where-        toJSON Notification'{..}-          = object-              (catMaybes-                 [("enterpriseId" .=) <$> _nEnterpriseId,-                  ("newPermissionsEvent" .=) <$> _nNewPermissionsEvent,-                  ("productApprovalEvent" .=) <$>-                    _nProductApprovalEvent,-                  ("productAvailabilityChangeEvent" .=) <$>-                    _nProductAvailabilityChangeEvent,-                  ("appUpdateEvent" .=) <$> _nAppUpdateEvent,-                  ("installFailureEvent" .=) <$> _nInstallFailureEvent,-                  ("appRestrictionsSchemaChangeEvent" .=) <$>-                    _nAppRestrictionsSchemaChangeEvent,-                  ("newDeviceEvent" .=) <$> _nNewDeviceEvent,-                  ("timestampMillis" .=) <$> _nTimestampMillis])------- /See:/ 'pageInfo' smart constructor.-data PageInfo = PageInfo'-    { _piResultPerPage :: !(Maybe (Textual Int32))-    , _piTotalResults  :: !(Maybe (Textual Int32))-    , _piStartIndex    :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PageInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piResultPerPage'------ * 'piTotalResults'------ * 'piStartIndex'-pageInfo-    :: PageInfo-pageInfo =-    PageInfo'-    { _piResultPerPage = Nothing-    , _piTotalResults = Nothing-    , _piStartIndex = Nothing-    }--piResultPerPage :: Lens' PageInfo (Maybe Int32)-piResultPerPage-  = lens _piResultPerPage-      (\ s a -> s{_piResultPerPage = a})-      . mapping _Coerce--piTotalResults :: Lens' PageInfo (Maybe Int32)-piTotalResults-  = lens _piTotalResults-      (\ s a -> s{_piTotalResults = a})-      . mapping _Coerce--piStartIndex :: Lens' PageInfo (Maybe Int32)-piStartIndex-  = lens _piStartIndex (\ s a -> s{_piStartIndex = a})-      . mapping _Coerce--instance FromJSON PageInfo where-        parseJSON-          = withObject "PageInfo"-              (\ o ->-                 PageInfo' <$>-                   (o .:? "resultPerPage") <*> (o .:? "totalResults")-                     <*> (o .:? "startIndex"))--instance ToJSON PageInfo where-        toJSON PageInfo'{..}-          = object-              (catMaybes-                 [("resultPerPage" .=) <$> _piResultPerPage,-                  ("totalResults" .=) <$> _piTotalResults,-                  ("startIndex" .=) <$> _piStartIndex])---- | A product permissions resource represents the set of permissions--- required by a specific app and whether or not they have been accepted by--- an enterprise admin. The API can be used to read the set of permissions,--- and also to update the set to indicate that permissions have been--- accepted.------ /See:/ 'productPermission' smart constructor.-data ProductPermission = ProductPermission'-    { _ppState        :: !(Maybe Text)-    , _ppPermissionId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductPermission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppState'------ * 'ppPermissionId'-productPermission-    :: ProductPermission-productPermission =-    ProductPermission'-    { _ppState = Nothing-    , _ppPermissionId = Nothing-    }---- | Whether the permission has been accepted or not.-ppState :: Lens' ProductPermission (Maybe Text)-ppState = lens _ppState (\ s a -> s{_ppState = a})---- | An opaque string uniquely identifying the permission.-ppPermissionId :: Lens' ProductPermission (Maybe Text)-ppPermissionId-  = lens _ppPermissionId-      (\ s a -> s{_ppPermissionId = a})--instance FromJSON ProductPermission where-        parseJSON-          = withObject "ProductPermission"-              (\ o ->-                 ProductPermission' <$>-                   (o .:? "state") <*> (o .:? "permissionId"))--instance ToJSON ProductPermission where-        toJSON ProductPermission'{..}-          = object-              (catMaybes-                 [("state" .=) <$> _ppState,-                  ("permissionId" .=) <$> _ppPermissionId])---- | An event generated when new permissions are added to an app.------ /See:/ 'newPermissionsEvent' smart constructor.-data NewPermissionsEvent = NewPermissionsEvent'-    { _npeRequestedPermissions :: !(Maybe [Text])-    , _npeApprovedPermissions  :: !(Maybe [Text])-    , _npeProductId            :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NewPermissionsEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npeRequestedPermissions'------ * 'npeApprovedPermissions'------ * 'npeProductId'-newPermissionsEvent-    :: NewPermissionsEvent-newPermissionsEvent =-    NewPermissionsEvent'-    { _npeRequestedPermissions = Nothing-    , _npeApprovedPermissions = Nothing-    , _npeProductId = Nothing-    }---- | The set of permissions that the app is currently requesting. Use--- Permissions.Get on the EMM API to retrieve details about these--- permissions.-npeRequestedPermissions :: Lens' NewPermissionsEvent [Text]-npeRequestedPermissions-  = lens _npeRequestedPermissions-      (\ s a -> s{_npeRequestedPermissions = a})-      . _Default-      . _Coerce---- | The set of permissions that the enterprise admin has already approved--- for this application. Use Permissions.Get on the EMM API to retrieve--- details about these permissions.-npeApprovedPermissions :: Lens' NewPermissionsEvent [Text]-npeApprovedPermissions-  = lens _npeApprovedPermissions-      (\ s a -> s{_npeApprovedPermissions = a})-      . _Default-      . _Coerce---- | The id of the product (e.g. \"app:com.google.android.gm\") for which new--- permissions were added. This field will always be present.-npeProductId :: Lens' NewPermissionsEvent (Maybe Text)-npeProductId-  = lens _npeProductId (\ s a -> s{_npeProductId = a})--instance FromJSON NewPermissionsEvent where-        parseJSON-          = withObject "NewPermissionsEvent"-              (\ o ->-                 NewPermissionsEvent' <$>-                   (o .:? "requestedPermissions" .!= mempty) <*>-                     (o .:? "approvedPermissions" .!= mempty)-                     <*> (o .:? "productId"))--instance ToJSON NewPermissionsEvent where-        toJSON NewPermissionsEvent'{..}-          = object-              (catMaybes-                 [("requestedPermissions" .=) <$>-                    _npeRequestedPermissions,-                  ("approvedPermissions" .=) <$>-                    _npeApprovedPermissions,-                  ("productId" .=) <$> _npeProductId])---- | An event generated whenever a product\'s availability changes.------ /See:/ 'productAvailabilityChangeEvent' smart constructor.-data ProductAvailabilityChangeEvent = ProductAvailabilityChangeEvent'-    { _paceAvailabilityStatus :: !(Maybe Text)-    , _paceProductId          :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductAvailabilityChangeEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'paceAvailabilityStatus'------ * 'paceProductId'-productAvailabilityChangeEvent-    :: ProductAvailabilityChangeEvent-productAvailabilityChangeEvent =-    ProductAvailabilityChangeEvent'-    { _paceAvailabilityStatus = Nothing-    , _paceProductId = Nothing-    }---- | The new state of the product. This field will always be present.-paceAvailabilityStatus :: Lens' ProductAvailabilityChangeEvent (Maybe Text)-paceAvailabilityStatus-  = lens _paceAvailabilityStatus-      (\ s a -> s{_paceAvailabilityStatus = a})---- | The id of the product (e.g. \"app:com.google.android.gm\") for which the--- product availability changed. This field will always be present.-paceProductId :: Lens' ProductAvailabilityChangeEvent (Maybe Text)-paceProductId-  = lens _paceProductId-      (\ s a -> s{_paceProductId = a})--instance FromJSON ProductAvailabilityChangeEvent-         where-        parseJSON-          = withObject "ProductAvailabilityChangeEvent"-              (\ o ->-                 ProductAvailabilityChangeEvent' <$>-                   (o .:? "availabilityStatus") <*> (o .:? "productId"))--instance ToJSON ProductAvailabilityChangeEvent where-        toJSON ProductAvailabilityChangeEvent'{..}-          = object-              (catMaybes-                 [("availabilityStatus" .=) <$>-                    _paceAvailabilityStatus,-                  ("productId" .=) <$> _paceProductId])---- | An event generated when a product\'s approval status is changed.------ /See:/ 'productApprovalEvent' smart constructor.-data ProductApprovalEvent = ProductApprovalEvent'-    { _paeApproved  :: !(Maybe Text)-    , _paeProductId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductApprovalEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'paeApproved'------ * 'paeProductId'-productApprovalEvent-    :: ProductApprovalEvent-productApprovalEvent =-    ProductApprovalEvent'-    { _paeApproved = Nothing-    , _paeProductId = Nothing-    }---- | Whether the product was approved or unapproved. This field will always--- be present.-paeApproved :: Lens' ProductApprovalEvent (Maybe Text)-paeApproved-  = lens _paeApproved (\ s a -> s{_paeApproved = a})---- | The id of the product (e.g. \"app:com.google.android.gm\") for which the--- approval status has changed. This field will always be present.-paeProductId :: Lens' ProductApprovalEvent (Maybe Text)-paeProductId-  = lens _paeProductId (\ s a -> s{_paeProductId = a})--instance FromJSON ProductApprovalEvent where-        parseJSON-          = withObject "ProductApprovalEvent"-              (\ o ->-                 ProductApprovalEvent' <$>-                   (o .:? "approved") <*> (o .:? "productId"))--instance ToJSON ProductApprovalEvent where-        toJSON ProductApprovalEvent'{..}-          = object-              (catMaybes-                 [("approved" .=) <$> _paeApproved,-                  ("productId" .=) <$> _paeProductId])---- | A device resource represents a mobile device managed by the EMM and--- belonging to a specific enterprise user. This collection cannot be--- modified via the API; it is automatically populated as devices are set--- up to be managed.------ /See:/ 'device' smart constructor.-data Device = Device'-    { _dKind           :: !Text-    , _dManagementType :: !(Maybe Text)-    , _dAndroidId      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Device' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dKind'------ * 'dManagementType'------ * 'dAndroidId'-device-    :: Device-device =-    Device'-    { _dKind = "androidenterprise#device"-    , _dManagementType = Nothing-    , _dAndroidId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#device\".-dKind :: Lens' Device Text-dKind = lens _dKind (\ s a -> s{_dKind = a})---- | Identifies the extent to which the device is controlled by a managed--- Google Play EMM in various deployment configurations. Possible values--- include: - \"managedDevice\", a device that has the EMM\'s device policy--- controller (DPC) as the device owner, - \"managedProfile\", a device--- that has a profile managed by the DPC (DPC is profile owner) in addition--- to a separate, personal profile that is unavailable to the DPC, ---- \"containerApp\", a device running the container App. The container App--- is managed by the DPC, - \"unmanagedProfile\", a device that has been--- allowed (by the domain\'s admin, using the Admin Console to enable the--- privilege) to use managed Google Play, but the profile is itself not--- owned by a DPC.-dManagementType :: Lens' Device (Maybe Text)-dManagementType-  = lens _dManagementType-      (\ s a -> s{_dManagementType = a})---- | The Google Play Services Android ID for the device encoded as a--- lowercase hex string, e.g. \"123456789abcdef0\".-dAndroidId :: Lens' Device (Maybe Text)-dAndroidId-  = lens _dAndroidId (\ s a -> s{_dAndroidId = a})--instance FromJSON Device where-        parseJSON-          = withObject "Device"-              (\ o ->-                 Device' <$>-                   (o .:? "kind" .!= "androidenterprise#device") <*>-                     (o .:? "managementType")-                     <*> (o .:? "androidId"))--instance ToJSON Device where-        toJSON Device'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _dKind),-                  ("managementType" .=) <$> _dManagementType,-                  ("androidId" .=) <$> _dAndroidId])---- | Credentials that can be used to authenticate as a service account.------ /See:/ 'serviceAccountKey' smart constructor.-data ServiceAccountKey = ServiceAccountKey'-    { _sakKind       :: !Text-    , _sakData       :: !(Maybe Text)-    , _sakId         :: !(Maybe Text)-    , _sakType       :: !(Maybe Text)-    , _sakPublicData :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ServiceAccountKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sakKind'------ * 'sakData'------ * 'sakId'------ * 'sakType'------ * 'sakPublicData'-serviceAccountKey-    :: ServiceAccountKey-serviceAccountKey =-    ServiceAccountKey'-    { _sakKind = "androidenterprise#serviceAccountKey"-    , _sakData = Nothing-    , _sakId = Nothing-    , _sakType = Nothing-    , _sakPublicData = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#serviceAccountKey\".-sakKind :: Lens' ServiceAccountKey Text-sakKind = lens _sakKind (\ s a -> s{_sakKind = a})---- | The body of the private key credentials file, in string format. This is--- only populated when the ServiceAccountKey is created, and is not stored--- by Google.-sakData :: Lens' ServiceAccountKey (Maybe Text)-sakData = lens _sakData (\ s a -> s{_sakData = a})---- | An opaque, unique identifier for this ServiceAccountKey. Assigned by the--- server.-sakId :: Lens' ServiceAccountKey (Maybe Text)-sakId = lens _sakId (\ s a -> s{_sakId = a})---- | The file format of the generated key data.-sakType :: Lens' ServiceAccountKey (Maybe Text)-sakType = lens _sakType (\ s a -> s{_sakType = a})---- | Public key data for the credentials file. This is an X.509 cert. If you--- are using the googleCredentials key type, this is identical to the cert--- that can be retrieved by using the X.509 cert url inside of the--- credentials file.-sakPublicData :: Lens' ServiceAccountKey (Maybe Text)-sakPublicData-  = lens _sakPublicData-      (\ s a -> s{_sakPublicData = a})--instance FromJSON ServiceAccountKey where-        parseJSON-          = withObject "ServiceAccountKey"-              (\ o ->-                 ServiceAccountKey' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#serviceAccountKey")-                     <*> (o .:? "data")-                     <*> (o .:? "id")-                     <*> (o .:? "type")-                     <*> (o .:? "publicData"))--instance ToJSON ServiceAccountKey where-        toJSON ServiceAccountKey'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _sakKind), ("data" .=) <$> _sakData,-                  ("id" .=) <$> _sakId, ("type" .=) <$> _sakType,-                  ("publicData" .=) <$> _sakPublicData])---- | The install resources for the device.------ /See:/ 'installsListResponse' smart constructor.-data InstallsListResponse = InstallsListResponse'-    { _ilrKind    :: !Text-    , _ilrInstall :: !(Maybe [Install])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstallsListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ilrKind'------ * 'ilrInstall'-installsListResponse-    :: InstallsListResponse-installsListResponse =-    InstallsListResponse'-    { _ilrKind = "androidenterprise#installsListResponse"-    , _ilrInstall = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#installsListResponse\".-ilrKind :: Lens' InstallsListResponse Text-ilrKind = lens _ilrKind (\ s a -> s{_ilrKind = a})---- | An installation of an app for a user on a specific device. The existence--- of an install implies that the user must have an entitlement to the app.-ilrInstall :: Lens' InstallsListResponse [Install]-ilrInstall-  = lens _ilrInstall (\ s a -> s{_ilrInstall = a}) .-      _Default-      . _Coerce--instance FromJSON InstallsListResponse where-        parseJSON-          = withObject "InstallsListResponse"-              (\ o ->-                 InstallsListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#installsListResponse")-                     <*> (o .:? "install" .!= mempty))--instance ToJSON InstallsListResponse where-        toJSON InstallsListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _ilrKind),-                  ("install" .=) <$> _ilrInstall])---- | A restriction in the App Restriction Schema represents a piece of--- configuration that may be pre-applied.------ /See:/ 'appRestrictionsSchemaRestriction' smart constructor.-data AppRestrictionsSchemaRestriction = AppRestrictionsSchemaRestriction'-    { _arsrRestrictionType   :: !(Maybe Text)-    , _arsrEntry             :: !(Maybe [Text])-    , _arsrKey               :: !(Maybe Text)-    , _arsrEntryValue        :: !(Maybe [Text])-    , _arsrDefaultValue      :: !(Maybe AppRestrictionsSchemaRestrictionRestrictionValue)-    , _arsrTitle             :: !(Maybe Text)-    , _arsrDescription       :: !(Maybe Text)-    , _arsrNestedRestriction :: !(Maybe [AppRestrictionsSchemaRestriction])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppRestrictionsSchemaRestriction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arsrRestrictionType'------ * 'arsrEntry'------ * 'arsrKey'------ * 'arsrEntryValue'------ * 'arsrDefaultValue'------ * 'arsrTitle'------ * 'arsrDescription'------ * 'arsrNestedRestriction'-appRestrictionsSchemaRestriction-    :: AppRestrictionsSchemaRestriction-appRestrictionsSchemaRestriction =-    AppRestrictionsSchemaRestriction'-    { _arsrRestrictionType = Nothing-    , _arsrEntry = Nothing-    , _arsrKey = Nothing-    , _arsrEntryValue = Nothing-    , _arsrDefaultValue = Nothing-    , _arsrTitle = Nothing-    , _arsrDescription = Nothing-    , _arsrNestedRestriction = Nothing-    }---- | The type of the restriction.-arsrRestrictionType :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)-arsrRestrictionType-  = lens _arsrRestrictionType-      (\ s a -> s{_arsrRestrictionType = a})---- | For choice or multiselect restrictions, the list of possible entries\'--- human-readable names.-arsrEntry :: Lens' AppRestrictionsSchemaRestriction [Text]-arsrEntry-  = lens _arsrEntry (\ s a -> s{_arsrEntry = a}) .-      _Default-      . _Coerce---- | The unique key that the product uses to identify the restriction, e.g.--- \"com.google.android.gm.fieldname\".-arsrKey :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)-arsrKey = lens _arsrKey (\ s a -> s{_arsrKey = a})---- | For choice or multiselect restrictions, the list of possible entries\'--- machine-readable values. These values should be used in the--- configuration, either as a single string value for a choice restriction--- or in a stringArray for a multiselect restriction.-arsrEntryValue :: Lens' AppRestrictionsSchemaRestriction [Text]-arsrEntryValue-  = lens _arsrEntryValue-      (\ s a -> s{_arsrEntryValue = a})-      . _Default-      . _Coerce---- | The default value of the restriction. bundle and bundleArray--- restrictions never have a default value.-arsrDefaultValue :: Lens' AppRestrictionsSchemaRestriction (Maybe AppRestrictionsSchemaRestrictionRestrictionValue)-arsrDefaultValue-  = lens _arsrDefaultValue-      (\ s a -> s{_arsrDefaultValue = a})---- | The name of the restriction.-arsrTitle :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)-arsrTitle-  = lens _arsrTitle (\ s a -> s{_arsrTitle = a})---- | A longer description of the restriction, giving more detail of what it--- affects.-arsrDescription :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)-arsrDescription-  = lens _arsrDescription-      (\ s a -> s{_arsrDescription = a})---- | For bundle or bundleArray restrictions, the list of nested restrictions.--- A bundle restriction is always nested within a bundleArray restriction,--- and a bundleArray restriction is at most two levels deep.-arsrNestedRestriction :: Lens' AppRestrictionsSchemaRestriction [AppRestrictionsSchemaRestriction]-arsrNestedRestriction-  = lens _arsrNestedRestriction-      (\ s a -> s{_arsrNestedRestriction = a})-      . _Default-      . _Coerce--instance FromJSON AppRestrictionsSchemaRestriction-         where-        parseJSON-          = withObject "AppRestrictionsSchemaRestriction"-              (\ o ->-                 AppRestrictionsSchemaRestriction' <$>-                   (o .:? "restrictionType") <*>-                     (o .:? "entry" .!= mempty)-                     <*> (o .:? "key")-                     <*> (o .:? "entryValue" .!= mempty)-                     <*> (o .:? "defaultValue")-                     <*> (o .:? "title")-                     <*> (o .:? "description")-                     <*> (o .:? "nestedRestriction" .!= mempty))--instance ToJSON AppRestrictionsSchemaRestriction-         where-        toJSON AppRestrictionsSchemaRestriction'{..}-          = object-              (catMaybes-                 [("restrictionType" .=) <$> _arsrRestrictionType,-                  ("entry" .=) <$> _arsrEntry, ("key" .=) <$> _arsrKey,-                  ("entryValue" .=) <$> _arsrEntryValue,-                  ("defaultValue" .=) <$> _arsrDefaultValue,-                  ("title" .=) <$> _arsrTitle,-                  ("description" .=) <$> _arsrDescription,-                  ("nestedRestriction" .=) <$> _arsrNestedRestriction])---- | This represents an enterprise admin who can manage the enterprise in the--- managed Google Play store.------ /See:/ 'administrator' smart constructor.-newtype Administrator = Administrator'-    { _aEmail :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Administrator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aEmail'-administrator-    :: Administrator-administrator =-    Administrator'-    { _aEmail = Nothing-    }---- | The admin\'s email address.-aEmail :: Lens' Administrator (Maybe Text)-aEmail = lens _aEmail (\ s a -> s{_aEmail = a})--instance FromJSON Administrator where-        parseJSON-          = withObject "Administrator"-              (\ o -> Administrator' <$> (o .:? "email"))--instance ToJSON Administrator where-        toJSON Administrator'{..}-          = object (catMaybes [("email" .=) <$> _aEmail])---- | The matching user resources.------ /See:/ 'usersListResponse' smart constructor.-data UsersListResponse = UsersListResponse'-    { _ulrKind :: !Text-    , _ulrUser :: !(Maybe [User])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UsersListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ulrKind'------ * 'ulrUser'-usersListResponse-    :: UsersListResponse-usersListResponse =-    UsersListResponse'-    { _ulrKind = "androidenterprise#usersListResponse"-    , _ulrUser = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#usersListResponse\".-ulrKind :: Lens' UsersListResponse Text-ulrKind = lens _ulrKind (\ s a -> s{_ulrKind = a})---- | A user of an enterprise.-ulrUser :: Lens' UsersListResponse [User]-ulrUser-  = lens _ulrUser (\ s a -> s{_ulrUser = a}) . _Default-      . _Coerce--instance FromJSON UsersListResponse where-        parseJSON-          = withObject "UsersListResponse"-              (\ o ->-                 UsersListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#usersListResponse")-                     <*> (o .:? "user" .!= mempty))--instance ToJSON UsersListResponse where-        toJSON UsersListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _ulrKind),-                  ("user" .=) <$> _ulrUser])---- | An AuthenticationToken is used by the EMM\'s device policy client on a--- device to provision the given EMM-managed user on that device.------ /See:/ 'authenticationToken' smart constructor.-data AuthenticationToken = AuthenticationToken'-    { _atKind  :: !Text-    , _atToken :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AuthenticationToken' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'atKind'------ * 'atToken'-authenticationToken-    :: AuthenticationToken-authenticationToken =-    AuthenticationToken'-    { _atKind = "androidenterprise#authenticationToken"-    , _atToken = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#authenticationToken\".-atKind :: Lens' AuthenticationToken Text-atKind = lens _atKind (\ s a -> s{_atKind = a})---- | The authentication token to be passed to the device policy client on the--- device where it can be used to provision the account for which this--- token was generated.-atToken :: Lens' AuthenticationToken (Maybe Text)-atToken = lens _atToken (\ s a -> s{_atToken = a})--instance FromJSON AuthenticationToken where-        parseJSON-          = withObject "AuthenticationToken"-              (\ o ->-                 AuthenticationToken' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#authenticationToken")-                     <*> (o .:? "token"))--instance ToJSON AuthenticationToken where-        toJSON AuthenticationToken'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _atKind),-                  ("token" .=) <$> _atToken])---- | This represents a single version of the app.------ /See:/ 'appVersion' smart constructor.-data AppVersion = AppVersion'-    { _avVersionCode   :: !(Maybe (Textual Int32))-    , _avVersionString :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avVersionCode'------ * 'avVersionString'-appVersion-    :: AppVersion-appVersion =-    AppVersion'-    { _avVersionCode = Nothing-    , _avVersionString = Nothing-    }---- | Unique increasing identifier for the app version.-avVersionCode :: Lens' AppVersion (Maybe Int32)-avVersionCode-  = lens _avVersionCode-      (\ s a -> s{_avVersionCode = a})-      . mapping _Coerce---- | The string used in the Play store by the app developer to identify the--- version. The string is not necessarily unique or localized (for example,--- the string could be \"1.4\").-avVersionString :: Lens' AppVersion (Maybe Text)-avVersionString-  = lens _avVersionString-      (\ s a -> s{_avVersionString = a})--instance FromJSON AppVersion where-        parseJSON-          = withObject "AppVersion"-              (\ o ->-                 AppVersion' <$>-                   (o .:? "versionCode") <*> (o .:? "versionString"))--instance ToJSON AppVersion where-        toJSON AppVersion'{..}-          = object-              (catMaybes-                 [("versionCode" .=) <$> _avVersionCode,-                  ("versionString" .=) <$> _avVersionString])---- | A bundle of managed properties.------ /See:/ 'managedPropertyBundle' smart constructor.-newtype ManagedPropertyBundle = ManagedPropertyBundle'-    { _mpbManagedProperty :: Maybe [ManagedProperty]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedPropertyBundle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mpbManagedProperty'-managedPropertyBundle-    :: ManagedPropertyBundle-managedPropertyBundle =-    ManagedPropertyBundle'-    { _mpbManagedProperty = Nothing-    }---- | The list of managed properties.-mpbManagedProperty :: Lens' ManagedPropertyBundle [ManagedProperty]-mpbManagedProperty-  = lens _mpbManagedProperty-      (\ s a -> s{_mpbManagedProperty = a})-      . _Default-      . _Coerce--instance FromJSON ManagedPropertyBundle where-        parseJSON-          = withObject "ManagedPropertyBundle"-              (\ o ->-                 ManagedPropertyBundle' <$>-                   (o .:? "managedProperty" .!= mempty))--instance ToJSON ManagedPropertyBundle where-        toJSON ManagedPropertyBundle'{..}-          = object-              (catMaybes-                 [("managedProperty" .=) <$> _mpbManagedProperty])---- | The grouplicense resources for the enterprise.------ /See:/ 'groupLicensesListResponse' smart constructor.-data GroupLicensesListResponse = GroupLicensesListResponse'-    { _gllrGroupLicense :: !(Maybe [GroupLicense])-    , _gllrKind         :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GroupLicensesListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gllrGroupLicense'------ * 'gllrKind'-groupLicensesListResponse-    :: GroupLicensesListResponse-groupLicensesListResponse =-    GroupLicensesListResponse'-    { _gllrGroupLicense = Nothing-    , _gllrKind = "androidenterprise#groupLicensesListResponse"-    }---- | A group license for a product approved for use in the enterprise.-gllrGroupLicense :: Lens' GroupLicensesListResponse [GroupLicense]-gllrGroupLicense-  = lens _gllrGroupLicense-      (\ s a -> s{_gllrGroupLicense = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#groupLicensesListResponse\".-gllrKind :: Lens' GroupLicensesListResponse Text-gllrKind = lens _gllrKind (\ s a -> s{_gllrKind = a})--instance FromJSON GroupLicensesListResponse where-        parseJSON-          = withObject "GroupLicensesListResponse"-              (\ o ->-                 GroupLicensesListResponse' <$>-                   (o .:? "groupLicense" .!= mempty) <*>-                     (o .:? "kind" .!=-                        "androidenterprise#groupLicensesListResponse"))--instance ToJSON GroupLicensesListResponse where-        toJSON GroupLicensesListResponse'{..}-          = object-              (catMaybes-                 [("groupLicense" .=) <$> _gllrGroupLicense,-                  Just ("kind" .= _gllrKind)])---- | A set of products.------ /See:/ 'productSet' smart constructor.-data ProductSet = ProductSet'-    { _psKind               :: !Text-    , _psProductSetBehavior :: !(Maybe Text)-    , _psProductId          :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psKind'------ * 'psProductSetBehavior'------ * 'psProductId'-productSet-    :: ProductSet-productSet =-    ProductSet'-    { _psKind = "androidenterprise#productSet"-    , _psProductSetBehavior = Nothing-    , _psProductId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#productSet\".-psKind :: Lens' ProductSet Text-psKind = lens _psKind (\ s a -> s{_psKind = a})---- | The interpretation of this product set. \"unknown\" should never be sent--- and ignored if received. \"whitelist\" means that this product set--- constitutes a whitelist. \"includeAll\" means that all products are--- accessible, including products that are approved, not approved, and even--- products where approval has been revoked. If the value is--- \"includeAll\", the value of the productId field is therefore ignored.--- If a value is not supplied, it is interpreted to be \"whitelist\" for--- backwards compatibility.-psProductSetBehavior :: Lens' ProductSet (Maybe Text)-psProductSetBehavior-  = lens _psProductSetBehavior-      (\ s a -> s{_psProductSetBehavior = a})---- | The list of product IDs making up the set of products.-psProductId :: Lens' ProductSet [Text]-psProductId-  = lens _psProductId (\ s a -> s{_psProductId = a}) .-      _Default-      . _Coerce--instance FromJSON ProductSet where-        parseJSON-          = withObject "ProductSet"-              (\ o ->-                 ProductSet' <$>-                   (o .:? "kind" .!= "androidenterprise#productSet") <*>-                     (o .:? "productSetBehavior")-                     <*> (o .:? "productId" .!= mempty))--instance ToJSON ProductSet where-        toJSON ProductSet'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _psKind),-                  ("productSetBehavior" .=) <$> _psProductSetBehavior,-                  ("productId" .=) <$> _psProductId])---- | The existence of an install resource indicates that an app is installed--- on a particular device (or that an install is pending). The API can be--- used to create an install resource using the update method. This--- triggers the actual install of the app on the device. If the user does--- not already have an entitlement for the app then an attempt is made to--- create one. If this fails (e.g. because the app is not free and there is--- no available license) then the creation of the install fails. The API--- can also be used to update an installed app. If the update method is--- used on an existing install then the app will be updated to the latest--- available version. Note that it is not possible to force the--- installation of a specific version of an app; the version code is--- read-only. If a user installs an app themselves (as permitted by the--- enterprise), then again an install resource and possibly an entitlement--- resource are automatically created. The API can also be used to delete--- an install resource, which triggers the removal of the app from the--- device. Note that deleting an install does not automatically remove the--- corresponding entitlement, even if there are no remaining installs. The--- install resource will also be deleted if the user uninstalls the app--- themselves.------ /See:/ 'install' smart constructor.-data Install = Install'-    { _iVersionCode  :: !(Maybe (Textual Int32))-    , _iKind         :: !Text-    , _iInstallState :: !(Maybe Text)-    , _iProductId    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Install' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iVersionCode'------ * 'iKind'------ * 'iInstallState'------ * 'iProductId'-install-    :: Install-install =-    Install'-    { _iVersionCode = Nothing-    , _iKind = "androidenterprise#install"-    , _iInstallState = Nothing-    , _iProductId = Nothing-    }---- | The version of the installed product. Guaranteed to be set only if the--- install state is \"installed\".-iVersionCode :: Lens' Install (Maybe Int32)-iVersionCode-  = lens _iVersionCode (\ s a -> s{_iVersionCode = a})-      . mapping _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#install\".-iKind :: Lens' Install Text-iKind = lens _iKind (\ s a -> s{_iKind = a})---- | Install state. The state \"installPending\" means that an install--- request has recently been made and download to the device is in--- progress. The state \"installed\" means that the app has been installed.--- This field is read-only.-iInstallState :: Lens' Install (Maybe Text)-iInstallState-  = lens _iInstallState-      (\ s a -> s{_iInstallState = a})---- | The ID of the product that the install is for, e.g.--- \"app:com.google.android.gm\".-iProductId :: Lens' Install (Maybe Text)-iProductId-  = lens _iProductId (\ s a -> s{_iProductId = a})--instance FromJSON Install where-        parseJSON-          = withObject "Install"-              (\ o ->-                 Install' <$>-                   (o .:? "versionCode") <*>-                     (o .:? "kind" .!= "androidenterprise#install")-                     <*> (o .:? "installState")-                     <*> (o .:? "productId"))--instance ToJSON Install where-        toJSON Install'{..}-          = object-              (catMaybes-                 [("versionCode" .=) <$> _iVersionCode,-                  Just ("kind" .= _iKind),-                  ("installState" .=) <$> _iInstallState,-                  ("productId" .=) <$> _iProductId])------- /See:/ 'serviceAccountKeysListResponse' smart constructor.-newtype ServiceAccountKeysListResponse = ServiceAccountKeysListResponse'-    { _saklrServiceAccountKey :: Maybe [ServiceAccountKey]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ServiceAccountKeysListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'saklrServiceAccountKey'-serviceAccountKeysListResponse-    :: ServiceAccountKeysListResponse-serviceAccountKeysListResponse =-    ServiceAccountKeysListResponse'-    { _saklrServiceAccountKey = Nothing-    }---- | The service account credentials.-saklrServiceAccountKey :: Lens' ServiceAccountKeysListResponse [ServiceAccountKey]-saklrServiceAccountKey-  = lens _saklrServiceAccountKey-      (\ s a -> s{_saklrServiceAccountKey = a})-      . _Default-      . _Coerce--instance FromJSON ServiceAccountKeysListResponse-         where-        parseJSON-          = withObject "ServiceAccountKeysListResponse"-              (\ o ->-                 ServiceAccountKeysListResponse' <$>-                   (o .:? "serviceAccountKey" .!= mempty))--instance ToJSON ServiceAccountKeysListResponse where-        toJSON ServiceAccountKeysListResponse'{..}-          = object-              (catMaybes-                 [("serviceAccountKey" .=) <$>-                    _saklrServiceAccountKey])---- | A Users resource represents an account associated with an enterprise.--- The account may be specific to a device or to an individual user (who--- can then use the account across multiple devices). The account may--- provide access to managed Google Play only, or to other Google services,--- depending on the identity model: - The Google managed domain identity--- model requires synchronization to Google account sources (via--- primaryEmail). - The managed Google Play Accounts identity model--- provides a dynamic means for enterprises to create user or device--- accounts as needed. These accounts provide access to managed Google--- Play.------ /See:/ 'user' smart constructor.-data User = User'-    { _uAccountIdentifier :: !(Maybe Text)-    , _uKind              :: !Text-    , _uDisplayName       :: !(Maybe Text)-    , _uId                :: !(Maybe Text)-    , _uPrimaryEmail      :: !(Maybe Text)-    , _uManagementType    :: !(Maybe Text)-    , _uAccountType       :: !(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'------ * 'uKind'------ * 'uDisplayName'------ * 'uId'------ * 'uPrimaryEmail'------ * 'uManagementType'------ * 'uAccountType'-user-    :: User-user =-    User'-    { _uAccountIdentifier = Nothing-    , _uKind = "androidenterprise#user"-    , _uDisplayName = Nothing-    , _uId = Nothing-    , _uPrimaryEmail = Nothing-    , _uManagementType = Nothing-    , _uAccountType = Nothing-    }---- | A unique identifier you create for this user, such as \"user342\" or--- \"asset#44418\". Do not use personally identifiable information (PII)--- for this property. Must always be set for EMM-managed users. Not set for--- Google-managed users.-uAccountIdentifier :: Lens' User (Maybe Text)-uAccountIdentifier-  = lens _uAccountIdentifier-      (\ s a -> s{_uAccountIdentifier = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#user\".-uKind :: Lens' User Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | The name that will appear in user interfaces. Setting this property is--- optional when creating EMM-managed users. If you do set this property,--- use something generic about the organization (such as \"Example, Inc.\")--- or your name (as EMM). Not used for Google-managed user accounts.-uDisplayName :: Lens' User (Maybe Text)-uDisplayName-  = lens _uDisplayName (\ s a -> s{_uDisplayName = a})---- | The unique ID for the user.-uId :: Lens' User (Maybe Text)-uId = lens _uId (\ s a -> s{_uId = a})---- | The user\'s primary email address, for example, \"jsmith\'example.com\".--- Will always be set for Google managed users and not set for EMM managed--- users.-uPrimaryEmail :: Lens' User (Maybe Text)-uPrimaryEmail-  = lens _uPrimaryEmail-      (\ s a -> s{_uPrimaryEmail = a})---- | The entity that manages the user. With googleManaged users, the source--- of truth is Google so EMMs have to make sure a Google Account exists for--- the user. With emmManaged users, the EMM is in charge.-uManagementType :: Lens' User (Maybe Text)-uManagementType-  = lens _uManagementType-      (\ s a -> s{_uManagementType = a})---- | The type of account that this user represents. A userAccount can be--- installed on multiple devices, but a deviceAccount is specific to a--- single device. An EMM-managed user (emmManaged) can be either type--- (userAccount, deviceAccount), but a Google-managed user (googleManaged)--- is always a userAccount.-uAccountType :: Lens' User (Maybe Text)-uAccountType-  = lens _uAccountType (\ s a -> s{_uAccountType = a})--instance FromJSON User where-        parseJSON-          = withObject "User"-              (\ o ->-                 User' <$>-                   (o .:? "accountIdentifier") <*>-                     (o .:? "kind" .!= "androidenterprise#user")-                     <*> (o .:? "displayName")-                     <*> (o .:? "id")-                     <*> (o .:? "primaryEmail")-                     <*> (o .:? "managementType")-                     <*> (o .:? "accountType"))--instance ToJSON User where-        toJSON User'{..}-          = object-              (catMaybes-                 [("accountIdentifier" .=) <$> _uAccountIdentifier,-                  Just ("kind" .= _uKind),-                  ("displayName" .=) <$> _uDisplayName,-                  ("id" .=) <$> _uId,-                  ("primaryEmail" .=) <$> _uPrimaryEmail,-                  ("managementType" .=) <$> _uManagementType,-                  ("accountType" .=) <$> _uAccountType])---- | The managed configuration resources for the device.------ /See:/ 'managedConfigurationsForDeviceListResponse' smart constructor.-data ManagedConfigurationsForDeviceListResponse = ManagedConfigurationsForDeviceListResponse'-    { _mcfdlrKind                          :: !Text-    , _mcfdlrManagedConfigurationForDevice :: !(Maybe [ManagedConfiguration])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedConfigurationsForDeviceListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcfdlrKind'------ * 'mcfdlrManagedConfigurationForDevice'-managedConfigurationsForDeviceListResponse-    :: ManagedConfigurationsForDeviceListResponse-managedConfigurationsForDeviceListResponse =-    ManagedConfigurationsForDeviceListResponse'-    { _mcfdlrKind = "androidenterprise#managedConfigurationsForDeviceListResponse"-    , _mcfdlrManagedConfigurationForDevice = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#managedConfigurationsForDeviceListResponse\".-mcfdlrKind :: Lens' ManagedConfigurationsForDeviceListResponse Text-mcfdlrKind-  = lens _mcfdlrKind (\ s a -> s{_mcfdlrKind = a})---- | A managed configuration for an app on a specific device.-mcfdlrManagedConfigurationForDevice :: Lens' ManagedConfigurationsForDeviceListResponse [ManagedConfiguration]-mcfdlrManagedConfigurationForDevice-  = lens _mcfdlrManagedConfigurationForDevice-      (\ s a ->-         s{_mcfdlrManagedConfigurationForDevice = a})-      . _Default-      . _Coerce--instance FromJSON-         ManagedConfigurationsForDeviceListResponse where-        parseJSON-          = withObject-              "ManagedConfigurationsForDeviceListResponse"-              (\ o ->-                 ManagedConfigurationsForDeviceListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#managedConfigurationsForDeviceListResponse")-                     <*>-                     (o .:? "managedConfigurationForDevice" .!= mempty))--instance ToJSON-         ManagedConfigurationsForDeviceListResponse where-        toJSON-          ManagedConfigurationsForDeviceListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _mcfdlrKind),-                  ("managedConfigurationForDevice" .=) <$>-                    _mcfdlrManagedConfigurationForDevice])------- /See:/ 'productsGenerateApprovalURLResponse' smart constructor.-newtype ProductsGenerateApprovalURLResponse = ProductsGenerateApprovalURLResponse'-    { _pgaurURL :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductsGenerateApprovalURLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgaurURL'-productsGenerateApprovalURLResponse-    :: ProductsGenerateApprovalURLResponse-productsGenerateApprovalURLResponse =-    ProductsGenerateApprovalURLResponse'-    { _pgaurURL = Nothing-    }---- | A URL that can be rendered in an iframe to display the permissions (if--- any) of a product. This URL can be used to approve the product only once--- and only within 24 hours of being generated, using the Products.approve--- call. If the product is currently unapproved and has no permissions,--- this URL will point to an empty page. If the product is currently--- approved, a URL will only be generated if that product has added--- permissions since it was last approved, and the URL will only display--- those new permissions that have not yet been accepted.-pgaurURL :: Lens' ProductsGenerateApprovalURLResponse (Maybe Text)-pgaurURL = lens _pgaurURL (\ s a -> s{_pgaurURL = a})--instance FromJSON ProductsGenerateApprovalURLResponse-         where-        parseJSON-          = withObject "ProductsGenerateApprovalURLResponse"-              (\ o ->-                 ProductsGenerateApprovalURLResponse' <$>-                   (o .:? "url"))--instance ToJSON ProductsGenerateApprovalURLResponse-         where-        toJSON ProductsGenerateApprovalURLResponse'{..}-          = object (catMaybes [("url" .=) <$> _pgaurURL])---- | Definition of a managed Google Play store page, made of a localized name--- and links to other pages. A page also contains clusters defined as a--- subcollection.------ /See:/ 'storePage' smart constructor.-data StorePage = StorePage'-    { _spKind :: !Text-    , _spLink :: !(Maybe [Text])-    , _spName :: !(Maybe [LocalizedText])-    , _spId   :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StorePage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spKind'------ * 'spLink'------ * 'spName'------ * 'spId'-storePage-    :: StorePage-storePage =-    StorePage'-    { _spKind = "androidenterprise#storePage"-    , _spLink = Nothing-    , _spName = Nothing-    , _spId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#storePage\".-spKind :: Lens' StorePage Text-spKind = lens _spKind (\ s a -> s{_spKind = a})---- | Ordered list of pages a user should be able to reach from this page. The--- pages must exist, must not be this page, and once a link is created the--- page linked to cannot be deleted until all links to it are removed. It--- is recommended that the basic pages are created first, before adding the--- links between pages. No attempt is made to verify that all pages are--- reachable from the homepage.-spLink :: Lens' StorePage [Text]-spLink-  = lens _spLink (\ s a -> s{_spLink = a}) . _Default .-      _Coerce---- | Ordered list of localized strings giving the name of this page. The text--- displayed is the one that best matches the user locale, or the first--- entry if there is no good match. There needs to be at least one entry.-spName :: Lens' StorePage [LocalizedText]-spName-  = lens _spName (\ s a -> s{_spName = a}) . _Default .-      _Coerce---- | Unique ID of this page. Assigned by the server. Immutable once assigned.-spId :: Lens' StorePage (Maybe Text)-spId = lens _spId (\ s a -> s{_spId = a})--instance FromJSON StorePage where-        parseJSON-          = withObject "StorePage"-              (\ o ->-                 StorePage' <$>-                   (o .:? "kind" .!= "androidenterprise#storePage") <*>-                     (o .:? "link" .!= mempty)-                     <*> (o .:? "name" .!= mempty)-                     <*> (o .:? "id"))--instance ToJSON StorePage where-        toJSON StorePage'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _spKind), ("link" .=) <$> _spLink,-                  ("name" .=) <$> _spName, ("id" .=) <$> _spId])------- /See:/ 'enterprisesSendTestPushNotificationResponse' smart constructor.-data EnterprisesSendTestPushNotificationResponse = EnterprisesSendTestPushNotificationResponse'-    { _estpnrTopicName :: !(Maybe Text)-    , _estpnrMessageId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnterprisesSendTestPushNotificationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'estpnrTopicName'------ * 'estpnrMessageId'-enterprisesSendTestPushNotificationResponse-    :: EnterprisesSendTestPushNotificationResponse-enterprisesSendTestPushNotificationResponse =-    EnterprisesSendTestPushNotificationResponse'-    { _estpnrTopicName = Nothing-    , _estpnrMessageId = Nothing-    }---- | The name of the Cloud Pub\/Sub topic to which notifications for this--- enterprise\'s enrolled account will be sent.-estpnrTopicName :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)-estpnrTopicName-  = lens _estpnrTopicName-      (\ s a -> s{_estpnrTopicName = a})---- | The message ID of the test push notification that was sent.-estpnrMessageId :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)-estpnrMessageId-  = lens _estpnrMessageId-      (\ s a -> s{_estpnrMessageId = a})--instance FromJSON-         EnterprisesSendTestPushNotificationResponse where-        parseJSON-          = withObject-              "EnterprisesSendTestPushNotificationResponse"-              (\ o ->-                 EnterprisesSendTestPushNotificationResponse' <$>-                   (o .:? "topicName") <*> (o .:? "messageId"))--instance ToJSON-         EnterprisesSendTestPushNotificationResponse where-        toJSON-          EnterprisesSendTestPushNotificationResponse'{..}-          = object-              (catMaybes-                 [("topicName" .=) <$> _estpnrTopicName,-                  ("messageId" .=) <$> _estpnrMessageId])---- | A service account identity, including the name and credentials that can--- be used to authenticate as the service account.------ /See:/ 'serviceAccount' smart constructor.-data ServiceAccount = ServiceAccount'-    { _saKind :: !Text-    , _saKey  :: !(Maybe ServiceAccountKey)-    , _saName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ServiceAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'saKind'------ * 'saKey'------ * 'saName'-serviceAccount-    :: ServiceAccount-serviceAccount =-    ServiceAccount'-    { _saKind = "androidenterprise#serviceAccount"-    , _saKey = Nothing-    , _saName = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#serviceAccount\".-saKind :: Lens' ServiceAccount Text-saKind = lens _saKind (\ s a -> s{_saKind = a})---- | Credentials that can be used to authenticate as this ServiceAccount.-saKey :: Lens' ServiceAccount (Maybe ServiceAccountKey)-saKey = lens _saKey (\ s a -> s{_saKey = a})---- | The account name of the service account, in the form of an email--- address. Assigned by the server.-saName :: Lens' ServiceAccount (Maybe Text)-saName = lens _saName (\ s a -> s{_saName = a})--instance FromJSON ServiceAccount where-        parseJSON-          = withObject "ServiceAccount"-              (\ o ->-                 ServiceAccount' <$>-                   (o .:? "kind" .!= "androidenterprise#serviceAccount")-                     <*> (o .:? "key")-                     <*> (o .:? "name"))--instance ToJSON ServiceAccount where-        toJSON ServiceAccount'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _saKind), ("key" .=) <$> _saKey,-                  ("name" .=) <$> _saName])---- | An event generated when a new version of an app is uploaded to Google--- Play. Notifications are sent for new public versions only: alpha, beta,--- or canary versions do not generate this event. To fetch up-to-date--- version history for an app, use Products.Get on the EMM API.------ /See:/ 'appUpdateEvent' smart constructor.-newtype AppUpdateEvent = AppUpdateEvent'-    { _aueProductId :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppUpdateEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aueProductId'-appUpdateEvent-    :: AppUpdateEvent-appUpdateEvent =-    AppUpdateEvent'-    { _aueProductId = Nothing-    }---- | The id of the product (e.g. \"app:com.google.android.gm\") that was--- updated. This field will always be present.-aueProductId :: Lens' AppUpdateEvent (Maybe Text)-aueProductId-  = lens _aueProductId (\ s a -> s{_aueProductId = a})--instance FromJSON AppUpdateEvent where-        parseJSON-          = withObject "AppUpdateEvent"-              (\ o -> AppUpdateEvent' <$> (o .:? "productId"))--instance ToJSON AppUpdateEvent where-        toJSON AppUpdateEvent'{..}-          = object-              (catMaybes [("productId" .=) <$> _aueProductId])---- | The matching enterprise resources.------ /See:/ 'enterprisesListResponse' smart constructor.-data EnterprisesListResponse = EnterprisesListResponse'-    { _elrKind       :: !Text-    , _elrEnterprise :: !(Maybe [Enterprise])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnterprisesListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'elrKind'------ * 'elrEnterprise'-enterprisesListResponse-    :: EnterprisesListResponse-enterprisesListResponse =-    EnterprisesListResponse'-    { _elrKind = "androidenterprise#enterprisesListResponse"-    , _elrEnterprise = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#enterprisesListResponse\".-elrKind :: Lens' EnterprisesListResponse Text-elrKind = lens _elrKind (\ s a -> s{_elrKind = a})---- | An enterprise.-elrEnterprise :: Lens' EnterprisesListResponse [Enterprise]-elrEnterprise-  = lens _elrEnterprise-      (\ s a -> s{_elrEnterprise = a})-      . _Default-      . _Coerce--instance FromJSON EnterprisesListResponse where-        parseJSON-          = withObject "EnterprisesListResponse"-              (\ o ->-                 EnterprisesListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#enterprisesListResponse")-                     <*> (o .:? "enterprise" .!= mempty))--instance ToJSON EnterprisesListResponse where-        toJSON EnterprisesListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _elrKind),-                  ("enterprise" .=) <$> _elrEnterprise])---- | A resource returned by the PullNotificationSet API, which contains a--- collection of notifications for enterprises associated with the service--- account authenticated for the request.------ /See:/ 'notificationSet' smart constructor.-data NotificationSet = NotificationSet'-    { _nsNotificationSetId :: !(Maybe Text)-    , _nsNotification      :: !(Maybe [Notification])-    , _nsKind              :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NotificationSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nsNotificationSetId'------ * 'nsNotification'------ * 'nsKind'-notificationSet-    :: NotificationSet-notificationSet =-    NotificationSet'-    { _nsNotificationSetId = Nothing-    , _nsNotification = Nothing-    , _nsKind = "androidenterprise#notificationSet"-    }---- | The notification set ID, required to mark the notification as received--- with the Enterprises.AcknowledgeNotification API. This will be omitted--- if no notifications are present.-nsNotificationSetId :: Lens' NotificationSet (Maybe Text)-nsNotificationSetId-  = lens _nsNotificationSetId-      (\ s a -> s{_nsNotificationSetId = a})---- | The notifications received, or empty if no notifications are present.-nsNotification :: Lens' NotificationSet [Notification]-nsNotification-  = lens _nsNotification-      (\ s a -> s{_nsNotification = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#notificationSet\".-nsKind :: Lens' NotificationSet Text-nsKind = lens _nsKind (\ s a -> s{_nsKind = a})--instance FromJSON NotificationSet where-        parseJSON-          = withObject "NotificationSet"-              (\ o ->-                 NotificationSet' <$>-                   (o .:? "notificationSetId") <*>-                     (o .:? "notification" .!= mempty)-                     <*>-                     (o .:? "kind" .!=-                        "androidenterprise#notificationSet"))--instance ToJSON NotificationSet where-        toJSON NotificationSet'{..}-          = object-              (catMaybes-                 [("notificationSetId" .=) <$> _nsNotificationSetId,-                  ("notification" .=) <$> _nsNotification,-                  Just ("kind" .= _nsKind)])---- | Represents the list of app restrictions available to be pre-configured--- for the product.------ /See:/ 'appRestrictionsSchema' smart constructor.-data AppRestrictionsSchema = AppRestrictionsSchema'-    { _arsKind         :: !Text-    , _arsRestrictions :: !(Maybe [AppRestrictionsSchemaRestriction])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppRestrictionsSchema' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arsKind'------ * 'arsRestrictions'-appRestrictionsSchema-    :: AppRestrictionsSchema-appRestrictionsSchema =-    AppRestrictionsSchema'-    { _arsKind = "androidenterprise#appRestrictionsSchema"-    , _arsRestrictions = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#appRestrictionsSchema\".-arsKind :: Lens' AppRestrictionsSchema Text-arsKind = lens _arsKind (\ s a -> s{_arsKind = a})---- | The set of restrictions that make up this schema.-arsRestrictions :: Lens' AppRestrictionsSchema [AppRestrictionsSchemaRestriction]-arsRestrictions-  = lens _arsRestrictions-      (\ s a -> s{_arsRestrictions = a})-      . _Default-      . _Coerce--instance FromJSON AppRestrictionsSchema where-        parseJSON-          = withObject "AppRestrictionsSchema"-              (\ o ->-                 AppRestrictionsSchema' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#appRestrictionsSchema")-                     <*> (o .:? "restrictions" .!= mempty))--instance ToJSON AppRestrictionsSchema where-        toJSON AppRestrictionsSchema'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _arsKind),-                  ("restrictions" .=) <$> _arsRestrictions])---- | A localized string with its locale.------ /See:/ 'localizedText' smart constructor.-data LocalizedText = LocalizedText'-    { _ltText   :: !(Maybe Text)-    , _ltLocale :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'LocalizedText' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ltText'------ * 'ltLocale'-localizedText-    :: LocalizedText-localizedText =-    LocalizedText'-    { _ltText = Nothing-    , _ltLocale = Nothing-    }---- | The text localized in the associated locale.-ltText :: Lens' LocalizedText (Maybe Text)-ltText = lens _ltText (\ s a -> s{_ltText = a})---- | The BCP47 tag for a locale. (e.g. \"en-US\", \"de\").-ltLocale :: Lens' LocalizedText (Maybe Text)-ltLocale = lens _ltLocale (\ s a -> s{_ltLocale = a})--instance FromJSON LocalizedText where-        parseJSON-          = withObject "LocalizedText"-              (\ o ->-                 LocalizedText' <$>-                   (o .:? "text") <*> (o .:? "locale"))--instance ToJSON LocalizedText where-        toJSON LocalizedText'{..}-          = object-              (catMaybes-                 [("text" .=) <$> _ltText,-                  ("locale" .=) <$> _ltLocale])---- | A UserToken is used by a user when setting up a managed device or--- profile with their managed Google Play account on a device. When the--- user enters their email address and token (activation code) the--- appropriate EMM app can be automatically downloaded.------ /See:/ 'userToken' smart constructor.-data UserToken = UserToken'-    { _utKind   :: !Text-    , _utToken  :: !(Maybe Text)-    , _utUserId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserToken' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'utKind'------ * 'utToken'------ * 'utUserId'-userToken-    :: UserToken-userToken =-    UserToken'-    { _utKind = "androidenterprise#userToken"-    , _utToken = Nothing-    , _utUserId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#userToken\".-utKind :: Lens' UserToken Text-utKind = lens _utKind (\ s a -> s{_utKind = a})---- | The token (activation code) to be entered by the user. This consists of--- a sequence of decimal digits. Note that the leading digit may be 0.-utToken :: Lens' UserToken (Maybe Text)-utToken = lens _utToken (\ s a -> s{_utToken = a})---- | The unique ID for the user.-utUserId :: Lens' UserToken (Maybe Text)-utUserId = lens _utUserId (\ s a -> s{_utUserId = a})--instance FromJSON UserToken where-        parseJSON-          = withObject "UserToken"-              (\ o ->-                 UserToken' <$>-                   (o .:? "kind" .!= "androidenterprise#userToken") <*>-                     (o .:? "token")-                     <*> (o .:? "userId"))--instance ToJSON UserToken where-        toJSON UserToken'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _utKind), ("token" .=) <$> _utToken,-                  ("userId" .=) <$> _utUserId])---- | The device resources for the user.------ /See:/ 'devicesListResponse' smart constructor.-data DevicesListResponse = DevicesListResponse'-    { _dlrKind   :: !Text-    , _dlrDevice :: !(Maybe [Device])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DevicesListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dlrKind'------ * 'dlrDevice'-devicesListResponse-    :: DevicesListResponse-devicesListResponse =-    DevicesListResponse'-    { _dlrKind = "androidenterprise#devicesListResponse"-    , _dlrDevice = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#devicesListResponse\".-dlrKind :: Lens' DevicesListResponse Text-dlrKind = lens _dlrKind (\ s a -> s{_dlrKind = a})---- | A managed device.-dlrDevice :: Lens' DevicesListResponse [Device]-dlrDevice-  = lens _dlrDevice (\ s a -> s{_dlrDevice = a}) .-      _Default-      . _Coerce--instance FromJSON DevicesListResponse where-        parseJSON-          = withObject "DevicesListResponse"-              (\ o ->-                 DevicesListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#devicesListResponse")-                     <*> (o .:? "device" .!= mempty))--instance ToJSON DevicesListResponse where-        toJSON DevicesListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _dlrKind),-                  ("device" .=) <$> _dlrDevice])---- | An Enterprises resource represents the binding between an EMM and a--- specific organization. That binding can be instantiated in one of two--- different ways using this API as follows: - For Google managed domain--- customers, the process involves using Enterprises.enroll and--- Enterprises.setAccount (in conjunction with artifacts obtained from the--- Admin console and the Google API Console) and submitted to the EMM--- through a more-or-less manual process. - For managed Google Play--- Accounts customers, the process involves using--- Enterprises.generateSignupUrl and Enterprises.completeSignup in--- conjunction with the managed Google Play sign-up UI (Google-provided--- mechanism) to create the binding without manual steps. As an EMM, you--- can support either or both approaches in your EMM console. See Create an--- Enterprise for details.------ /See:/ 'enterprise' smart constructor.-data Enterprise = Enterprise'-    { _eKind          :: !Text-    , _eAdministrator :: !(Maybe [Administrator])-    , _ePrimaryDomain :: !(Maybe Text)-    , _eName          :: !(Maybe Text)-    , _eId            :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Enterprise' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eKind'------ * 'eAdministrator'------ * 'ePrimaryDomain'------ * 'eName'------ * 'eId'-enterprise-    :: Enterprise-enterprise =-    Enterprise'-    { _eKind = "androidenterprise#enterprise"-    , _eAdministrator = Nothing-    , _ePrimaryDomain = Nothing-    , _eName = Nothing-    , _eId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#enterprise\".-eKind :: Lens' Enterprise Text-eKind = lens _eKind (\ s a -> s{_eKind = a})---- | Admins of the enterprise. This is only supported for enterprises created--- via the EMM-initiated flow.-eAdministrator :: Lens' Enterprise [Administrator]-eAdministrator-  = lens _eAdministrator-      (\ s a -> s{_eAdministrator = a})-      . _Default-      . _Coerce---- | The enterprise\'s primary domain, such as \"example.com\".-ePrimaryDomain :: Lens' Enterprise (Maybe Text)-ePrimaryDomain-  = lens _ePrimaryDomain-      (\ s a -> s{_ePrimaryDomain = a})---- | The name of the enterprise, for example, \"Example, Inc\".-eName :: Lens' Enterprise (Maybe Text)-eName = lens _eName (\ s a -> s{_eName = a})---- | The unique ID for the enterprise.-eId :: Lens' Enterprise (Maybe Text)-eId = lens _eId (\ s a -> s{_eId = a})--instance FromJSON Enterprise where-        parseJSON-          = withObject "Enterprise"-              (\ o ->-                 Enterprise' <$>-                   (o .:? "kind" .!= "androidenterprise#enterprise") <*>-                     (o .:? "administrator" .!= mempty)-                     <*> (o .:? "primaryDomain")-                     <*> (o .:? "name")-                     <*> (o .:? "id"))--instance ToJSON Enterprise where-        toJSON Enterprise'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _eKind),-                  ("administrator" .=) <$> _eAdministrator,-                  ("primaryDomain" .=) <$> _ePrimaryDomain,-                  ("name" .=) <$> _eName, ("id" .=) <$> _eId])---- | An event generated when an app installation failed on a device------ /See:/ 'installFailureEvent' smart constructor.-data InstallFailureEvent = InstallFailureEvent'-    { _ifeFailureReason  :: !(Maybe Text)-    , _ifeFailureDetails :: !(Maybe Text)-    , _ifeUserId         :: !(Maybe Text)-    , _ifeDeviceId       :: !(Maybe Text)-    , _ifeProductId      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstallFailureEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ifeFailureReason'------ * 'ifeFailureDetails'------ * 'ifeUserId'------ * 'ifeDeviceId'------ * 'ifeProductId'-installFailureEvent-    :: InstallFailureEvent-installFailureEvent =-    InstallFailureEvent'-    { _ifeFailureReason = Nothing-    , _ifeFailureDetails = Nothing-    , _ifeUserId = Nothing-    , _ifeDeviceId = Nothing-    , _ifeProductId = Nothing-    }---- | The reason for the installation failure. This field will always be--- present.-ifeFailureReason :: Lens' InstallFailureEvent (Maybe Text)-ifeFailureReason-  = lens _ifeFailureReason-      (\ s a -> s{_ifeFailureReason = a})---- | Additional details on the failure if applicable.-ifeFailureDetails :: Lens' InstallFailureEvent (Maybe Text)-ifeFailureDetails-  = lens _ifeFailureDetails-      (\ s a -> s{_ifeFailureDetails = a})---- | The ID of the user. This field will always be present.-ifeUserId :: Lens' InstallFailureEvent (Maybe Text)-ifeUserId-  = lens _ifeUserId (\ s a -> s{_ifeUserId = a})---- | The Android ID of the device. This field will always be present.-ifeDeviceId :: Lens' InstallFailureEvent (Maybe Text)-ifeDeviceId-  = lens _ifeDeviceId (\ s a -> s{_ifeDeviceId = a})---- | The id of the product (e.g. \"app:com.google.android.gm\") for which the--- install failure event occured. This field will always be present.-ifeProductId :: Lens' InstallFailureEvent (Maybe Text)-ifeProductId-  = lens _ifeProductId (\ s a -> s{_ifeProductId = a})--instance FromJSON InstallFailureEvent where-        parseJSON-          = withObject "InstallFailureEvent"-              (\ o ->-                 InstallFailureEvent' <$>-                   (o .:? "failureReason") <*> (o .:? "failureDetails")-                     <*> (o .:? "userId")-                     <*> (o .:? "deviceId")-                     <*> (o .:? "productId"))--instance ToJSON InstallFailureEvent where-        toJSON InstallFailureEvent'{..}-          = object-              (catMaybes-                 [("failureReason" .=) <$> _ifeFailureReason,-                  ("failureDetails" .=) <$> _ifeFailureDetails,-                  ("userId" .=) <$> _ifeUserId,-                  ("deviceId" .=) <$> _ifeDeviceId,-                  ("productId" .=) <$> _ifeProductId])---- | The managed configuration resources for the user.------ /See:/ 'managedConfigurationsForUserListResponse' smart constructor.-data ManagedConfigurationsForUserListResponse = ManagedConfigurationsForUserListResponse'-    { _mcfulrManagedConfigurationForUser :: !(Maybe [ManagedConfiguration])-    , _mcfulrKind                        :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedConfigurationsForUserListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcfulrManagedConfigurationForUser'------ * 'mcfulrKind'-managedConfigurationsForUserListResponse-    :: ManagedConfigurationsForUserListResponse-managedConfigurationsForUserListResponse =-    ManagedConfigurationsForUserListResponse'-    { _mcfulrManagedConfigurationForUser = Nothing-    , _mcfulrKind = "androidenterprise#managedConfigurationsForUserListResponse"-    }---- | A managed configuration for an app for a specific user.-mcfulrManagedConfigurationForUser :: Lens' ManagedConfigurationsForUserListResponse [ManagedConfiguration]-mcfulrManagedConfigurationForUser-  = lens _mcfulrManagedConfigurationForUser-      (\ s a -> s{_mcfulrManagedConfigurationForUser = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#managedConfigurationsForUserListResponse\".-mcfulrKind :: Lens' ManagedConfigurationsForUserListResponse Text-mcfulrKind-  = lens _mcfulrKind (\ s a -> s{_mcfulrKind = a})--instance FromJSON-         ManagedConfigurationsForUserListResponse where-        parseJSON-          = withObject-              "ManagedConfigurationsForUserListResponse"-              (\ o ->-                 ManagedConfigurationsForUserListResponse' <$>-                   (o .:? "managedConfigurationForUser" .!= mempty) <*>-                     (o .:? "kind" .!=-                        "androidenterprise#managedConfigurationsForUserListResponse"))--instance ToJSON-         ManagedConfigurationsForUserListResponse where-        toJSON ManagedConfigurationsForUserListResponse'{..}-          = object-              (catMaybes-                 [("managedConfigurationForUser" .=) <$>-                    _mcfulrManagedConfigurationForUser,-                  Just ("kind" .= _mcfulrKind)])---- | General setting for the managed Google Play store layout, currently only--- specifying the page to display the first time the store is opened.------ /See:/ 'storeLayout' smart constructor.-data StoreLayout = StoreLayout'-    { _slStoreLayoutType :: !(Maybe Text)-    , _slKind            :: !Text-    , _slHomepageId      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StoreLayout' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slStoreLayoutType'------ * 'slKind'------ * 'slHomepageId'-storeLayout-    :: StoreLayout-storeLayout =-    StoreLayout'-    { _slStoreLayoutType = Nothing-    , _slKind = "androidenterprise#storeLayout"-    , _slHomepageId = Nothing-    }---- | The store layout type. By default, this value is set to \"basic\". If--- set to \"custom\", \"homepageId\" must be specified. If set to--- \"basic\", the layout will consist of all approved apps accessible by--- the user, split in pages of 100 each; in this case, \"homepageId\" must--- not be specified. The \"basic\" setting takes precedence over any--- existing collections setup for this enterprise (if any). Should the--- enterprise use collectionViewers for controlling access rights, these--- will still be respected.-slStoreLayoutType :: Lens' StoreLayout (Maybe Text)-slStoreLayoutType-  = lens _slStoreLayoutType-      (\ s a -> s{_slStoreLayoutType = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#storeLayout\".-slKind :: Lens' StoreLayout Text-slKind = lens _slKind (\ s a -> s{_slKind = a})---- | The ID of the store page to be used as the homepage. The homepage will--- be used as the first page shown in the managed Google Play store. If a--- homepage has not been set, the Play store shown on devices will be--- empty. Not specifying a homepage on a store layout effectively empties--- the store. If there exists at least one page, this field must be set to--- the ID of a valid page.-slHomepageId :: Lens' StoreLayout (Maybe Text)-slHomepageId-  = lens _slHomepageId (\ s a -> s{_slHomepageId = a})--instance FromJSON StoreLayout where-        parseJSON-          = withObject "StoreLayout"-              (\ o ->-                 StoreLayout' <$>-                   (o .:? "storeLayoutType") <*>-                     (o .:? "kind" .!= "androidenterprise#storeLayout")-                     <*> (o .:? "homepageId"))--instance ToJSON StoreLayout where-        toJSON StoreLayout'{..}-          = object-              (catMaybes-                 [("storeLayoutType" .=) <$> _slStoreLayoutType,-                  Just ("kind" .= _slKind),-                  ("homepageId" .=) <$> _slHomepageId])---- | An event generated when a new app version is uploaded to Google Play and--- its app restrictions schema changed. To fetch the app restrictions--- schema for an app, use Products.getAppRestrictionsSchema on the EMM API.------ /See:/ 'appRestrictionsSchemaChangeEvent' smart constructor.-newtype AppRestrictionsSchemaChangeEvent = AppRestrictionsSchemaChangeEvent'-    { _arsceProductId :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppRestrictionsSchemaChangeEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arsceProductId'-appRestrictionsSchemaChangeEvent-    :: AppRestrictionsSchemaChangeEvent-appRestrictionsSchemaChangeEvent =-    AppRestrictionsSchemaChangeEvent'-    { _arsceProductId = Nothing-    }---- | The id of the product (e.g. \"app:com.google.android.gm\") for which the--- app restriction schema changed. This field will always be present.-arsceProductId :: Lens' AppRestrictionsSchemaChangeEvent (Maybe Text)-arsceProductId-  = lens _arsceProductId-      (\ s a -> s{_arsceProductId = a})--instance FromJSON AppRestrictionsSchemaChangeEvent-         where-        parseJSON-          = withObject "AppRestrictionsSchemaChangeEvent"-              (\ o ->-                 AppRestrictionsSchemaChangeEvent' <$>-                   (o .:? "productId"))--instance ToJSON AppRestrictionsSchemaChangeEvent-         where-        toJSON AppRestrictionsSchemaChangeEvent'{..}-          = object-              (catMaybes [("productId" .=) <$> _arsceProductId])---- | An event generated when a new device is ready to be managed.------ /See:/ 'newDeviceEvent' smart constructor.-data NewDeviceEvent = NewDeviceEvent'-    { _ndeUserId         :: !(Maybe Text)-    , _ndeDeviceId       :: !(Maybe Text)-    , _ndeManagementType :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NewDeviceEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ndeUserId'------ * 'ndeDeviceId'------ * 'ndeManagementType'-newDeviceEvent-    :: NewDeviceEvent-newDeviceEvent =-    NewDeviceEvent'-    { _ndeUserId = Nothing-    , _ndeDeviceId = Nothing-    , _ndeManagementType = Nothing-    }---- | The ID of the user. This field will always be present.-ndeUserId :: Lens' NewDeviceEvent (Maybe Text)-ndeUserId-  = lens _ndeUserId (\ s a -> s{_ndeUserId = a})---- | The Android ID of the device. This field will always be present.-ndeDeviceId :: Lens' NewDeviceEvent (Maybe Text)-ndeDeviceId-  = lens _ndeDeviceId (\ s a -> s{_ndeDeviceId = a})---- | Identifies the extent to which the device is controlled by an Android--- for Work EMM in various deployment configurations. Possible values--- include: - \"managedDevice\", a device that has the EMM\'s device policy--- controller (DPC) as the device owner, - \"managedProfile\", a device--- that has a work profile managed by the DPC (DPC is profile owner) in--- addition to a separate, personal profile that is unavailable to the DPC,-ndeManagementType :: Lens' NewDeviceEvent (Maybe Text)-ndeManagementType-  = lens _ndeManagementType-      (\ s a -> s{_ndeManagementType = a})--instance FromJSON NewDeviceEvent where-        parseJSON-          = withObject "NewDeviceEvent"-              (\ o ->-                 NewDeviceEvent' <$>-                   (o .:? "userId") <*> (o .:? "deviceId") <*>-                     (o .:? "managementType"))--instance ToJSON NewDeviceEvent where-        toJSON NewDeviceEvent'{..}-          = object-              (catMaybes-                 [("userId" .=) <$> _ndeUserId,-                  ("deviceId" .=) <$> _ndeDeviceId,-                  ("managementType" .=) <$> _ndeManagementType])---- | A token authorizing an admin to access an iframe.------ /See:/ 'administratorWebToken' smart constructor.-data AdministratorWebToken = AdministratorWebToken'-    { _awtKind  :: !Text-    , _awtToken :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AdministratorWebToken' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'awtKind'------ * 'awtToken'-administratorWebToken-    :: AdministratorWebToken-administratorWebToken =-    AdministratorWebToken'-    { _awtKind = "androidenterprise#administratorWebToken"-    , _awtToken = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#administratorWebToken\".-awtKind :: Lens' AdministratorWebToken Text-awtKind = lens _awtKind (\ s a -> s{_awtKind = a})---- | An opaque token to be passed to the Play front-end to generate an--- iframe.-awtToken :: Lens' AdministratorWebToken (Maybe Text)-awtToken = lens _awtToken (\ s a -> s{_awtToken = a})--instance FromJSON AdministratorWebToken where-        parseJSON-          = withObject "AdministratorWebToken"-              (\ o ->-                 AdministratorWebToken' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#administratorWebToken")-                     <*> (o .:? "token"))--instance ToJSON AdministratorWebToken where-        toJSON AdministratorWebToken'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _awtKind),-                  ("token" .=) <$> _awtToken])---- | A resource returned by the GenerateSignupUrl API, which contains the--- Signup URL and Completion Token.------ /See:/ 'signupInfo' smart constructor.-data SignupInfo = SignupInfo'-    { _siCompletionToken :: !(Maybe Text)-    , _siKind            :: !Text-    , _siURL             :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SignupInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siCompletionToken'------ * 'siKind'------ * 'siURL'-signupInfo-    :: SignupInfo-signupInfo =-    SignupInfo'-    { _siCompletionToken = Nothing-    , _siKind = "androidenterprise#signupInfo"-    , _siURL = Nothing-    }---- | An opaque token that will be required, along with the Enterprise Token,--- for obtaining the enterprise resource from CompleteSignup.-siCompletionToken :: Lens' SignupInfo (Maybe Text)-siCompletionToken-  = lens _siCompletionToken-      (\ s a -> s{_siCompletionToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#signupInfo\".-siKind :: Lens' SignupInfo Text-siKind = lens _siKind (\ s a -> s{_siKind = a})---- | A URL under which the Admin can sign up for an enterprise. The page--- pointed to cannot be rendered in an iframe.-siURL :: Lens' SignupInfo (Maybe Text)-siURL = lens _siURL (\ s a -> s{_siURL = a})--instance FromJSON SignupInfo where-        parseJSON-          = withObject "SignupInfo"-              (\ o ->-                 SignupInfo' <$>-                   (o .:? "completionToken") <*>-                     (o .:? "kind" .!= "androidenterprise#signupInfo")-                     <*> (o .:? "url"))--instance ToJSON SignupInfo where-        toJSON SignupInfo'{..}-          = object-              (catMaybes-                 [("completionToken" .=) <$> _siCompletionToken,-                  Just ("kind" .= _siKind), ("url" .=) <$> _siURL])---- | A Products resource represents an app in the Google Play store that is--- available to at least some users in the enterprise. (Some apps are--- restricted to a single enterprise, and no information about them is made--- available outside that enterprise.) The information provided for each--- product (localized name, icon, link to the full Google Play details--- page) is intended to allow a basic representation of the product within--- an EMM user interface.------ /See:/ 'product' smart constructor.-data Product = Product'-    { _pSmallIconURL         :: !(Maybe Text)-    , _pAuthorName           :: !(Maybe Text)-    , _pKind                 :: !Text-    , _pWorkDetailsURL       :: !(Maybe Text)-    , _pRequiresContainerApp :: !(Maybe Bool)-    , _pAppVersion           :: !(Maybe [AppVersion])-    , _pProductPricing       :: !(Maybe Text)-    , _pDistributionChannel  :: !(Maybe Text)-    , _pIconURL              :: !(Maybe Text)-    , _pTitle                :: !(Maybe Text)-    , _pProductId            :: !(Maybe Text)-    , _pDetailsURL           :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Product' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pSmallIconURL'------ * 'pAuthorName'------ * 'pKind'------ * 'pWorkDetailsURL'------ * 'pRequiresContainerApp'------ * 'pAppVersion'------ * 'pProductPricing'------ * 'pDistributionChannel'------ * 'pIconURL'------ * 'pTitle'------ * 'pProductId'------ * 'pDetailsURL'-product-    :: Product-product =-    Product'-    { _pSmallIconURL = Nothing-    , _pAuthorName = Nothing-    , _pKind = "androidenterprise#product"-    , _pWorkDetailsURL = Nothing-    , _pRequiresContainerApp = Nothing-    , _pAppVersion = Nothing-    , _pProductPricing = Nothing-    , _pDistributionChannel = Nothing-    , _pIconURL = Nothing-    , _pTitle = Nothing-    , _pProductId = Nothing-    , _pDetailsURL = Nothing-    }---- | A link to a smaller image that can be used as an icon for the product.--- This image is suitable for use at up to 128px x 128px.-pSmallIconURL :: Lens' Product (Maybe Text)-pSmallIconURL-  = lens _pSmallIconURL-      (\ s a -> s{_pSmallIconURL = a})---- | The name of the author of the product (e.g. the app developer).-pAuthorName :: Lens' Product (Maybe Text)-pAuthorName-  = lens _pAuthorName (\ s a -> s{_pAuthorName = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#product\".-pKind :: Lens' Product Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | A link to the managed Google Play details page for the product, for use--- by an Enterprise admin.-pWorkDetailsURL :: Lens' Product (Maybe Text)-pWorkDetailsURL-  = lens _pWorkDetailsURL-      (\ s a -> s{_pWorkDetailsURL = a})---- | Whether this app can only be installed on devices using the Android--- container app.-pRequiresContainerApp :: Lens' Product (Maybe Bool)-pRequiresContainerApp-  = lens _pRequiresContainerApp-      (\ s a -> s{_pRequiresContainerApp = a})---- | App versions currently available for this product. The returned list--- contains only public versions. Alpha and beta versions are not included.-pAppVersion :: Lens' Product [AppVersion]-pAppVersion-  = lens _pAppVersion (\ s a -> s{_pAppVersion = a}) .-      _Default-      . _Coerce---- | Whether this product is free, free with in-app purchases, or paid. If--- the pricing is unknown, this means the product is not generally--- available anymore (even though it might still be available to people who--- own it).-pProductPricing :: Lens' Product (Maybe Text)-pProductPricing-  = lens _pProductPricing-      (\ s a -> s{_pProductPricing = a})---- | How and to whom the package is made available. The value--- publicGoogleHosted means that the package is available through the Play--- store and not restricted to a specific enterprise. The value--- privateGoogleHosted means that the package is a private app (restricted--- to an enterprise) but hosted by Google. The value privateSelfHosted--- means that the package is a private app (restricted to an enterprise)--- and is privately hosted.-pDistributionChannel :: Lens' Product (Maybe Text)-pDistributionChannel-  = lens _pDistributionChannel-      (\ s a -> s{_pDistributionChannel = a})---- | A link to an image that can be used as an icon for the product. This--- image is suitable for use at up to 512px x 512px.-pIconURL :: Lens' Product (Maybe Text)-pIconURL = lens _pIconURL (\ s a -> s{_pIconURL = a})---- | The name of the product.-pTitle :: Lens' Product (Maybe Text)-pTitle = lens _pTitle (\ s a -> s{_pTitle = a})---- | A string of the form app:. For example, app:com.google.android.gm--- represents the Gmail app.-pProductId :: Lens' Product (Maybe Text)-pProductId-  = lens _pProductId (\ s a -> s{_pProductId = a})---- | A link to the (consumer) Google Play details page for the product.-pDetailsURL :: Lens' Product (Maybe Text)-pDetailsURL-  = lens _pDetailsURL (\ s a -> s{_pDetailsURL = a})--instance FromJSON Product where-        parseJSON-          = withObject "Product"-              (\ o ->-                 Product' <$>-                   (o .:? "smallIconUrl") <*> (o .:? "authorName") <*>-                     (o .:? "kind" .!= "androidenterprise#product")-                     <*> (o .:? "workDetailsUrl")-                     <*> (o .:? "requiresContainerApp")-                     <*> (o .:? "appVersion" .!= mempty)-                     <*> (o .:? "productPricing")-                     <*> (o .:? "distributionChannel")-                     <*> (o .:? "iconUrl")-                     <*> (o .:? "title")-                     <*> (o .:? "productId")-                     <*> (o .:? "detailsUrl"))--instance ToJSON Product where-        toJSON Product'{..}-          = object-              (catMaybes-                 [("smallIconUrl" .=) <$> _pSmallIconURL,-                  ("authorName" .=) <$> _pAuthorName,-                  Just ("kind" .= _pKind),-                  ("workDetailsUrl" .=) <$> _pWorkDetailsURL,-                  ("requiresContainerApp" .=) <$>-                    _pRequiresContainerApp,-                  ("appVersion" .=) <$> _pAppVersion,-                  ("productPricing" .=) <$> _pProductPricing,-                  ("distributionChannel" .=) <$> _pDistributionChannel,-                  ("iconUrl" .=) <$> _pIconURL,-                  ("title" .=) <$> _pTitle,-                  ("productId" .=) <$> _pProductId,-                  ("detailsUrl" .=) <$> _pDetailsURL])---- | The entitlement resources for the user.------ /See:/ 'entitlementsListResponse' smart constructor.-data EntitlementsListResponse = EntitlementsListResponse'-    { _entKind        :: !Text-    , _entEntitlement :: !(Maybe [Entitlement])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EntitlementsListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'entKind'------ * 'entEntitlement'-entitlementsListResponse-    :: EntitlementsListResponse-entitlementsListResponse =-    EntitlementsListResponse'-    { _entKind = "androidenterprise#entitlementsListResponse"-    , _entEntitlement = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#entitlementsListResponse\".-entKind :: Lens' EntitlementsListResponse Text-entKind = lens _entKind (\ s a -> s{_entKind = a})---- | An entitlement of a user to a product (e.g. an app). For example, a free--- app that they have installed, or a paid app that they have been--- allocated a license to.-entEntitlement :: Lens' EntitlementsListResponse [Entitlement]-entEntitlement-  = lens _entEntitlement-      (\ s a -> s{_entEntitlement = a})-      . _Default-      . _Coerce--instance FromJSON EntitlementsListResponse where-        parseJSON-          = withObject "EntitlementsListResponse"-              (\ o ->-                 EntitlementsListResponse' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#entitlementsListResponse")-                     <*> (o .:? "entitlement" .!= mempty))--instance ToJSON EntitlementsListResponse where-        toJSON EntitlementsListResponse'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _entKind),-                  ("entitlement" .=) <$> _entEntitlement])---- | Information about the permissions required by a specific app and whether--- they have been accepted by the enterprise.------ /See:/ 'productPermissions' smart constructor.-data ProductPermissions = ProductPermissions'-    { _ppKind       :: !Text-    , _ppPermission :: !(Maybe [ProductPermission])-    , _ppProductId  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductPermissions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppKind'------ * 'ppPermission'------ * 'ppProductId'-productPermissions-    :: ProductPermissions-productPermissions =-    ProductPermissions'-    { _ppKind = "androidenterprise#productPermissions"-    , _ppPermission = Nothing-    , _ppProductId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#productPermissions\".-ppKind :: Lens' ProductPermissions Text-ppKind = lens _ppKind (\ s a -> s{_ppKind = a})---- | The permissions required by the app.-ppPermission :: Lens' ProductPermissions [ProductPermission]-ppPermission-  = lens _ppPermission (\ s a -> s{_ppPermission = a})-      . _Default-      . _Coerce---- | The ID of the app that the permissions relate to, e.g.--- \"app:com.google.android.gm\".-ppProductId :: Lens' ProductPermissions (Maybe Text)-ppProductId-  = lens _ppProductId (\ s a -> s{_ppProductId = a})--instance FromJSON ProductPermissions where-        parseJSON-          = withObject "ProductPermissions"-              (\ o ->-                 ProductPermissions' <$>-                   (o .:? "kind" .!=-                      "androidenterprise#productPermissions")-                     <*> (o .:? "permission" .!= mempty)-                     <*> (o .:? "productId"))--instance ToJSON ProductPermissions where-        toJSON ProductPermissions'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _ppKind),-                  ("permission" .=) <$> _ppPermission,-                  ("productId" .=) <$> _ppProductId])---- | A permission represents some extra capability, to be granted to an--- Android app, which requires explicit consent. An enterprise admin must--- consent to these permissions on behalf of their users before an--- entitlement for the app can be created. The permissions collection is--- read-only. The information provided for each permission (localized name--- and description) is intended to be used in the EMM user interface when--- obtaining consent from the enterprise.------ /See:/ 'permission' smart constructor.-data Permission = Permission'-    { _perKind         :: !Text-    , _perName         :: !(Maybe Text)-    , _perDescription  :: !(Maybe Text)-    , _perPermissionId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Permission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'perKind'------ * 'perName'------ * 'perDescription'------ * 'perPermissionId'-permission-    :: Permission-permission =-    Permission'-    { _perKind = "androidenterprise#permission"-    , _perName = Nothing-    , _perDescription = Nothing-    , _perPermissionId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#permission\".-perKind :: Lens' Permission Text-perKind = lens _perKind (\ s a -> s{_perKind = a})---- | The name of the permission.-perName :: Lens' Permission (Maybe Text)-perName = lens _perName (\ s a -> s{_perName = a})---- | A longer description of the permissions giving more details of what it--- affects.-perDescription :: Lens' Permission (Maybe Text)-perDescription-  = lens _perDescription-      (\ s a -> s{_perDescription = a})---- | An opaque string uniquely identifying the permission.-perPermissionId :: Lens' Permission (Maybe Text)-perPermissionId-  = lens _perPermissionId-      (\ s a -> s{_perPermissionId = a})--instance FromJSON Permission where-        parseJSON-          = withObject "Permission"-              (\ o ->-                 Permission' <$>-                   (o .:? "kind" .!= "androidenterprise#permission") <*>-                     (o .:? "name")-                     <*> (o .:? "description")-                     <*> (o .:? "permissionId"))--instance ToJSON Permission where-        toJSON Permission'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _perKind), ("name" .=) <$> _perName,-                  ("description" .=) <$> _perDescription,-                  ("permissionId" .=) <$> _perPermissionId])------- /See:/ 'productsApproveRequest' smart constructor.-newtype ProductsApproveRequest = ProductsApproveRequest'-    { _parApprovalURLInfo :: Maybe ApprovalURLInfo-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductsApproveRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'parApprovalURLInfo'-productsApproveRequest-    :: ProductsApproveRequest-productsApproveRequest =-    ProductsApproveRequest'-    { _parApprovalURLInfo = Nothing-    }---- | The approval URL that was shown to the user. Only the permissions shown--- to the user with that URL will be accepted, which may not be the--- product\'s entire set of permissions. For example, the URL may only--- display new permissions from an update after the product was approved,--- or not include new permissions if the product was updated since the URL--- was generated.-parApprovalURLInfo :: Lens' ProductsApproveRequest (Maybe ApprovalURLInfo)-parApprovalURLInfo-  = lens _parApprovalURLInfo-      (\ s a -> s{_parApprovalURLInfo = a})--instance FromJSON ProductsApproveRequest where-        parseJSON-          = withObject "ProductsApproveRequest"-              (\ o ->-                 ProductsApproveRequest' <$>-                   (o .:? "approvalUrlInfo"))--instance ToJSON ProductsApproveRequest where-        toJSON ProductsApproveRequest'{..}-          = object-              (catMaybes-                 [("approvalUrlInfo" .=) <$> _parApprovalURLInfo])---- | The existence of an entitlement resource means that a user has the right--- to use a particular app on any of their devices. This might be because--- the app is free or because they have been allocated a license to the app--- from a group license purchased by the enterprise. It should always be--- true that a user has an app installed on one of their devices only if--- they have an entitlement to it. So if an entitlement is deleted, the app--- will be uninstalled from all devices. Similarly if the user installs an--- app (and is permitted to do so), or the EMM triggers an install of the--- app, an entitlement to that app is automatically created. If this is--- impossible - e.g. the enterprise has not purchased sufficient licenses ---- then installation fails. Note that entitlements are always user--- specific, not device specific; a user may have an entitlement even--- though they have not installed the app anywhere. Once they have an--- entitlement they can install the app on multiple devices. The API can be--- used to create an entitlement. If the app is a free app, a group license--- for that app is created. If it\'s a paid app, creating the entitlement--- consumes one license; it remains consumed until the entitlement is--- removed. Optionally an installation of the app on all the user\'s--- managed devices can be triggered at the time the entitlement is created.--- An entitlement cannot be created for an app if the app requires--- permissions that the enterprise has not yet accepted. Entitlements for--- paid apps that are due to purchases by the user on a non-managed profile--- will have \"userPurchase\" as entitlement reason; those entitlements--- cannot be removed via the API.------ /See:/ 'entitlement' smart constructor.-data Entitlement = Entitlement'-    { _eeKind      :: !Text-    , _eeReason    :: !(Maybe Text)-    , _eeProductId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Entitlement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eeKind'------ * 'eeReason'------ * 'eeProductId'-entitlement-    :: Entitlement-entitlement =-    Entitlement'-    { _eeKind = "androidenterprise#entitlement"-    , _eeReason = Nothing-    , _eeProductId = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#entitlement\".-eeKind :: Lens' Entitlement Text-eeKind = lens _eeKind (\ s a -> s{_eeKind = a})---- | The reason for the entitlement, e.g. \"free\" for free apps. This is--- temporary, it will be replaced by the acquisition kind field of group--- licenses.-eeReason :: Lens' Entitlement (Maybe Text)-eeReason = lens _eeReason (\ s a -> s{_eeReason = a})---- | The ID of the product that the entitlement is for, e.g.--- \"app:com.google.android.gm\".-eeProductId :: Lens' Entitlement (Maybe Text)-eeProductId-  = lens _eeProductId (\ s a -> s{_eeProductId = a})--instance FromJSON Entitlement where-        parseJSON-          = withObject "Entitlement"-              (\ o ->-                 Entitlement' <$>-                   (o .:? "kind" .!= "androidenterprise#entitlement")-                     <*> (o .:? "reason")-                     <*> (o .:? "productId"))--instance ToJSON Entitlement where-        toJSON Entitlement'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _eeKind),-                  ("reason" .=) <$> _eeReason,-                  ("productId" .=) <$> _eeProductId])---- | The matching products.------ /See:/ 'productsListResponse' smart constructor.-data ProductsListResponse = ProductsListResponse'-    { _plrTokenPagination :: !(Maybe TokenPagination)-    , _plrPageInfo        :: !(Maybe PageInfo)-    , _plrKind            :: !Text-    , _plrProduct         :: !(Maybe [Product])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProductsListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plrTokenPagination'------ * 'plrPageInfo'------ * 'plrKind'------ * 'plrProduct'-productsListResponse-    :: ProductsListResponse-productsListResponse =-    ProductsListResponse'-    { _plrTokenPagination = Nothing-    , _plrPageInfo = Nothing-    , _plrKind = "androidenterprise#productsListResponse"-    , _plrProduct = Nothing-    }---- | Pagination information for token pagination.-plrTokenPagination :: Lens' ProductsListResponse (Maybe TokenPagination)-plrTokenPagination-  = lens _plrTokenPagination-      (\ s a -> s{_plrTokenPagination = a})---- | General pagination information.-plrPageInfo :: Lens' ProductsListResponse (Maybe PageInfo)-plrPageInfo-  = lens _plrPageInfo (\ s a -> s{_plrPageInfo = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"androidenterprise#productsListResponse\".-plrKind :: Lens' ProductsListResponse Text-plrKind = lens _plrKind (\ s a -> s{_plrKind = a})---- | Information about a product (e.g. an app) in the Google Play store, for--- display to an enterprise admin.-plrProduct :: Lens' ProductsListResponse [Product]-plrProduct-  = lens _plrProduct (\ s a -> s{_plrProduct = a}) .-      _Default-      . _Coerce--instance FromJSON ProductsListResponse where-        parseJSON-          = withObject "ProductsListResponse"-              (\ o ->-                 ProductsListResponse' <$>-                   (o .:? "tokenPagination") <*> (o .:? "pageInfo") <*>-                     (o .:? "kind" .!=-                        "androidenterprise#productsListResponse")-                     <*> (o .:? "product" .!= mempty))--instance ToJSON ProductsListResponse where-        toJSON ProductsListResponse'{..}-          = object-              (catMaybes-                 [("tokenPagination" .=) <$> _plrTokenPagination,-                  ("pageInfo" .=) <$> _plrPageInfo,-                  Just ("kind" .= _plrKind),-                  ("product" .=) <$> _plrProduct])+-- | Group license objects allow you to keep track of licenses (called+-- entitlements) for both free and paid apps. For a free app, a group+-- license is created when an enterprise admin first approves the product+-- in Google Play or when the first entitlement for the product is created+-- for a user via the API. For a paid app, a group license object is only+-- created when an enterprise admin purchases the product in Google Play+-- for the first time. Use the API to query group licenses. A Grouplicenses+-- resource includes the total number of licenses purchased (paid apps+-- only) and the total number of licenses currently in use. In other words,+-- the total number of Entitlements that exist for the product. Only one+-- group license object is created per product and group license objects+-- are never deleted. If a product is unapproved, its group license+-- remains. This allows enterprise admins to keep track of any remaining+-- entitlements for the product.+--+-- /See:/ 'groupLicense' smart constructor.+data GroupLicense = GroupLicense'+    { _glKind            :: !Text+    , _glNumProvisioned  :: !(Maybe (Textual Int32))+    , _glNumPurchased    :: !(Maybe (Textual Int32))+    , _glApproval        :: !(Maybe Text)+    , _glPermissions     :: !(Maybe Text)+    , _glProductId       :: !(Maybe Text)+    , _glAcquisitionKind :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicense' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glKind'+--+-- * 'glNumProvisioned'+--+-- * 'glNumPurchased'+--+-- * 'glApproval'+--+-- * 'glPermissions'+--+-- * 'glProductId'+--+-- * 'glAcquisitionKind'+groupLicense+    :: GroupLicense+groupLicense =+    GroupLicense'+    { _glKind = "androidenterprise#groupLicense"+    , _glNumProvisioned = Nothing+    , _glNumPurchased = Nothing+    , _glApproval = Nothing+    , _glPermissions = Nothing+    , _glProductId = Nothing+    , _glAcquisitionKind = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicense\".+glKind :: Lens' GroupLicense Text+glKind = lens _glKind (\ s a -> s{_glKind = a})++-- | The total number of provisioned licenses for this product. Returned by+-- read operations, but ignored in write operations.+glNumProvisioned :: Lens' GroupLicense (Maybe Int32)+glNumProvisioned+  = lens _glNumProvisioned+      (\ s a -> s{_glNumProvisioned = a})+      . mapping _Coerce++-- | The number of purchased licenses (possibly in multiple purchases). If+-- this field is omitted, then there is no limit on the number of licenses+-- that can be provisioned (for example, if the acquisition kind is+-- \"free\").+glNumPurchased :: Lens' GroupLicense (Maybe Int32)+glNumPurchased+  = lens _glNumPurchased+      (\ s a -> s{_glNumPurchased = a})+      . mapping _Coerce++-- | Whether the product to which this group license relates is currently+-- approved by the enterprise. Products are approved when a group license+-- is first created, but this approval may be revoked by an enterprise+-- admin via Google Play. Unapproved products will not be visible to end+-- users in collections, and new entitlements to them should not normally+-- be created.+glApproval :: Lens' GroupLicense (Maybe Text)+glApproval+  = lens _glApproval (\ s a -> s{_glApproval = a})++-- | The permission approval status of the product. This field is only set if+-- the product is approved. Possible states are: - \"currentApproved\", the+-- current set of permissions is approved, but additional permissions will+-- require the administrator to reapprove the product (If the product was+-- approved without specifying the approved permissions setting, then this+-- is the default behavior.), - \"needsReapproval\", the product has+-- unapproved permissions. No additional product licenses can be assigned+-- until the product is reapproved, - \"allCurrentAndFutureApproved\", the+-- current permissions are approved and any future permission updates will+-- be automatically approved without administrator review.+glPermissions :: Lens' GroupLicense (Maybe Text)+glPermissions+  = lens _glPermissions+      (\ s a -> s{_glPermissions = a})++-- | The ID of the product that the license is for. For example,+-- \"app:com.google.android.gm\".+glProductId :: Lens' GroupLicense (Maybe Text)+glProductId+  = lens _glProductId (\ s a -> s{_glProductId = a})++-- | How this group license was acquired. \"bulkPurchase\" means that this+-- Grouplicenses resource was created because the enterprise purchased+-- licenses for this product; otherwise, the value is \"free\" (for free+-- products).+glAcquisitionKind :: Lens' GroupLicense (Maybe Text)+glAcquisitionKind+  = lens _glAcquisitionKind+      (\ s a -> s{_glAcquisitionKind = a})++instance FromJSON GroupLicense where+        parseJSON+          = withObject "GroupLicense"+              (\ o ->+                 GroupLicense' <$>+                   (o .:? "kind" .!= "androidenterprise#groupLicense")+                     <*> (o .:? "numProvisioned")+                     <*> (o .:? "numPurchased")+                     <*> (o .:? "approval")+                     <*> (o .:? "permissions")+                     <*> (o .:? "productId")+                     <*> (o .:? "acquisitionKind"))++instance ToJSON GroupLicense where+        toJSON GroupLicense'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _glKind),+                  ("numProvisioned" .=) <$> _glNumProvisioned,+                  ("numPurchased" .=) <$> _glNumPurchased,+                  ("approval" .=) <$> _glApproval,+                  ("permissions" .=) <$> _glPermissions,+                  ("productId" .=) <$> _glProductId,+                  ("acquisitionKind" .=) <$> _glAcquisitionKind])++-- | The store page resources for the enterprise.+--+-- /See:/ 'storeLayoutPagesListResponse' smart constructor.+data StoreLayoutPagesListResponse = StoreLayoutPagesListResponse'+    { _slplrKind :: !Text+    , _slplrPage :: !(Maybe [StorePage])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StoreLayoutPagesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slplrKind'+--+-- * 'slplrPage'+storeLayoutPagesListResponse+    :: StoreLayoutPagesListResponse+storeLayoutPagesListResponse =+    StoreLayoutPagesListResponse'+    { _slplrKind = "androidenterprise#storeLayoutPagesListResponse"+    , _slplrPage = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#storeLayoutPagesListResponse\".+slplrKind :: Lens' StoreLayoutPagesListResponse Text+slplrKind+  = lens _slplrKind (\ s a -> s{_slplrKind = a})++-- | A store page of an enterprise.+slplrPage :: Lens' StoreLayoutPagesListResponse [StorePage]+slplrPage+  = lens _slplrPage (\ s a -> s{_slplrPage = a}) .+      _Default+      . _Coerce++instance FromJSON StoreLayoutPagesListResponse where+        parseJSON+          = withObject "StoreLayoutPagesListResponse"+              (\ o ->+                 StoreLayoutPagesListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#storeLayoutPagesListResponse")+                     <*> (o .:? "page" .!= mempty))++instance ToJSON StoreLayoutPagesListResponse where+        toJSON StoreLayoutPagesListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _slplrKind),+                  ("page" .=) <$> _slplrPage])++-- | A service account that can be used to authenticate as the enterprise to+-- API calls that require such authentication.+--+-- /See:/ 'enterpriseAccount' smart constructor.+data EnterpriseAccount = EnterpriseAccount'+    { _eaKind         :: !Text+    , _eaAccountEmail :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterpriseAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eaKind'+--+-- * 'eaAccountEmail'+enterpriseAccount+    :: EnterpriseAccount+enterpriseAccount =+    EnterpriseAccount'+    { _eaKind = "androidenterprise#enterpriseAccount"+    , _eaAccountEmail = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterpriseAccount\".+eaKind :: Lens' EnterpriseAccount Text+eaKind = lens _eaKind (\ s a -> s{_eaKind = a})++-- | The email address of the service account.+eaAccountEmail :: Lens' EnterpriseAccount (Maybe Text)+eaAccountEmail+  = lens _eaAccountEmail+      (\ s a -> s{_eaAccountEmail = a})++instance FromJSON EnterpriseAccount where+        parseJSON+          = withObject "EnterpriseAccount"+              (\ o ->+                 EnterpriseAccount' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#enterpriseAccount")+                     <*> (o .:? "accountEmail"))++instance ToJSON EnterpriseAccount where+        toJSON EnterpriseAccount'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eaKind),+                  ("accountEmail" .=) <$> _eaAccountEmail])++-- | A typed value for the restriction.+--+-- /See:/ 'appRestrictionsSchemaRestrictionRestrictionValue' smart constructor.+data AppRestrictionsSchemaRestrictionRestrictionValue = AppRestrictionsSchemaRestrictionRestrictionValue'+    { _arsrrvValueMultiselect :: !(Maybe [Text])+    , _arsrrvValueBool        :: !(Maybe Bool)+    , _arsrrvValueInteger     :: !(Maybe (Textual Int32))+    , _arsrrvType             :: !(Maybe Text)+    , _arsrrvValueString      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchemaRestrictionRestrictionValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsrrvValueMultiselect'+--+-- * 'arsrrvValueBool'+--+-- * 'arsrrvValueInteger'+--+-- * 'arsrrvType'+--+-- * 'arsrrvValueString'+appRestrictionsSchemaRestrictionRestrictionValue+    :: AppRestrictionsSchemaRestrictionRestrictionValue+appRestrictionsSchemaRestrictionRestrictionValue =+    AppRestrictionsSchemaRestrictionRestrictionValue'+    { _arsrrvValueMultiselect = Nothing+    , _arsrrvValueBool = Nothing+    , _arsrrvValueInteger = Nothing+    , _arsrrvType = Nothing+    , _arsrrvValueString = Nothing+    }++-- | The list of string values - this will only be present if type is+-- multiselect.+arsrrvValueMultiselect :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue [Text]+arsrrvValueMultiselect+  = lens _arsrrvValueMultiselect+      (\ s a -> s{_arsrrvValueMultiselect = a})+      . _Default+      . _Coerce++-- | The boolean value - this will only be present if type is bool.+arsrrvValueBool :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Bool)+arsrrvValueBool+  = lens _arsrrvValueBool+      (\ s a -> s{_arsrrvValueBool = a})++-- | The integer value - this will only be present if type is integer.+arsrrvValueInteger :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Int32)+arsrrvValueInteger+  = lens _arsrrvValueInteger+      (\ s a -> s{_arsrrvValueInteger = a})+      . mapping _Coerce++-- | The type of the value being provided.+arsrrvType :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)+arsrrvType+  = lens _arsrrvType (\ s a -> s{_arsrrvType = a})++-- | The string value - this will be present for types string, choice and+-- hidden.+arsrrvValueString :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)+arsrrvValueString+  = lens _arsrrvValueString+      (\ s a -> s{_arsrrvValueString = a})++instance FromJSON+         AppRestrictionsSchemaRestrictionRestrictionValue+         where+        parseJSON+          = withObject+              "AppRestrictionsSchemaRestrictionRestrictionValue"+              (\ o ->+                 AppRestrictionsSchemaRestrictionRestrictionValue' <$>+                   (o .:? "valueMultiselect" .!= mempty) <*>+                     (o .:? "valueBool")+                     <*> (o .:? "valueInteger")+                     <*> (o .:? "type")+                     <*> (o .:? "valueString"))++instance ToJSON+         AppRestrictionsSchemaRestrictionRestrictionValue+         where+        toJSON+          AppRestrictionsSchemaRestrictionRestrictionValue'{..}+          = object+              (catMaybes+                 [("valueMultiselect" .=) <$> _arsrrvValueMultiselect,+                  ("valueBool" .=) <$> _arsrrvValueBool,+                  ("valueInteger" .=) <$> _arsrrvValueInteger,+                  ("type" .=) <$> _arsrrvType,+                  ("valueString" .=) <$> _arsrrvValueString])++--+-- /See:/ 'administratorWebTokenSpecPlaySearch' smart constructor.+data AdministratorWebTokenSpecPlaySearch = AdministratorWebTokenSpecPlaySearch'+    { _awtspsEnabled     :: !(Maybe Bool)+    , _awtspsApproveApps :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebTokenSpecPlaySearch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtspsEnabled'+--+-- * 'awtspsApproveApps'+administratorWebTokenSpecPlaySearch+    :: AdministratorWebTokenSpecPlaySearch+administratorWebTokenSpecPlaySearch =+    AdministratorWebTokenSpecPlaySearch'+    { _awtspsEnabled = Nothing+    , _awtspsApproveApps = Nothing+    }++-- | Whether the managed Play Search apps page is displayed. Default is true.+awtspsEnabled :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)+awtspsEnabled+  = lens _awtspsEnabled+      (\ s a -> s{_awtspsEnabled = a})++-- | Allow access to the iframe in approve mode. Default is false.+awtspsApproveApps :: Lens' AdministratorWebTokenSpecPlaySearch (Maybe Bool)+awtspsApproveApps+  = lens _awtspsApproveApps+      (\ s a -> s{_awtspsApproveApps = a})++instance FromJSON AdministratorWebTokenSpecPlaySearch+         where+        parseJSON+          = withObject "AdministratorWebTokenSpecPlaySearch"+              (\ o ->+                 AdministratorWebTokenSpecPlaySearch' <$>+                   (o .:? "enabled") <*> (o .:? "approveApps"))++instance ToJSON AdministratorWebTokenSpecPlaySearch+         where+        toJSON AdministratorWebTokenSpecPlaySearch'{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _awtspsEnabled,+                  ("approveApps" .=) <$> _awtspsApproveApps])++-- | The state of a user\'s device, as accessed by the getState and setState+-- methods on device resources.+--+-- /See:/ 'deviceState' smart constructor.+data DeviceState = DeviceState'+    { _dsKind         :: !Text+    , _dsAccountState :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsKind'+--+-- * 'dsAccountState'+deviceState+    :: DeviceState+deviceState =+    DeviceState'+    { _dsKind = "androidenterprise#deviceState"+    , _dsAccountState = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#deviceState\".+dsKind :: Lens' DeviceState Text+dsKind = lens _dsKind (\ s a -> s{_dsKind = a})++-- | The state of the Google account on the device. \"enabled\" indicates+-- that the Google account on the device can be used to access Google+-- services (including Google Play), while \"disabled\" means that it+-- cannot. A new device is initially in the \"disabled\" state.+dsAccountState :: Lens' DeviceState (Maybe Text)+dsAccountState+  = lens _dsAccountState+      (\ s a -> s{_dsAccountState = a})++instance FromJSON DeviceState where+        parseJSON+          = withObject "DeviceState"+              (\ o ->+                 DeviceState' <$>+                   (o .:? "kind" .!= "androidenterprise#deviceState")+                     <*> (o .:? "accountState"))++instance ToJSON DeviceState where+        toJSON DeviceState'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dsKind),+                  ("accountState" .=) <$> _dsAccountState])++-- | The user resources for the group license.+--+-- /See:/ 'groupLicenseUsersListResponse' smart constructor.+data GroupLicenseUsersListResponse = GroupLicenseUsersListResponse'+    { _glulrKind :: !Text+    , _glulrUser :: !(Maybe [User])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicenseUsersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glulrKind'+--+-- * 'glulrUser'+groupLicenseUsersListResponse+    :: GroupLicenseUsersListResponse+groupLicenseUsersListResponse =+    GroupLicenseUsersListResponse'+    { _glulrKind = "androidenterprise#groupLicenseUsersListResponse"+    , _glulrUser = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicenseUsersListResponse\".+glulrKind :: Lens' GroupLicenseUsersListResponse Text+glulrKind+  = lens _glulrKind (\ s a -> s{_glulrKind = a})++-- | A user of an enterprise.+glulrUser :: Lens' GroupLicenseUsersListResponse [User]+glulrUser+  = lens _glulrUser (\ s a -> s{_glulrUser = a}) .+      _Default+      . _Coerce++instance FromJSON GroupLicenseUsersListResponse where+        parseJSON+          = withObject "GroupLicenseUsersListResponse"+              (\ o ->+                 GroupLicenseUsersListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#groupLicenseUsersListResponse")+                     <*> (o .:? "user" .!= mempty))++instance ToJSON GroupLicenseUsersListResponse where+        toJSON GroupLicenseUsersListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _glulrKind),+                  ("user" .=) <$> _glulrUser])++--+-- /See:/ 'tokenPagination' smart constructor.+data TokenPagination = TokenPagination'+    { _tpNextPageToken     :: !(Maybe Text)+    , _tpPreviousPageToken :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TokenPagination' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpNextPageToken'+--+-- * 'tpPreviousPageToken'+tokenPagination+    :: TokenPagination+tokenPagination =+    TokenPagination'+    { _tpNextPageToken = Nothing+    , _tpPreviousPageToken = Nothing+    }++tpNextPageToken :: Lens' TokenPagination (Maybe Text)+tpNextPageToken+  = lens _tpNextPageToken+      (\ s a -> s{_tpNextPageToken = a})++tpPreviousPageToken :: Lens' TokenPagination (Maybe Text)+tpPreviousPageToken+  = lens _tpPreviousPageToken+      (\ s a -> s{_tpPreviousPageToken = a})++instance FromJSON TokenPagination where+        parseJSON+          = withObject "TokenPagination"+              (\ o ->+                 TokenPagination' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "previousPageToken"))++instance ToJSON TokenPagination where+        toJSON TokenPagination'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _tpNextPageToken,+                  ("previousPageToken" .=) <$> _tpPreviousPageToken])++--+-- /See:/ 'administratorWebTokenSpecWebApps' smart constructor.+newtype AdministratorWebTokenSpecWebApps = AdministratorWebTokenSpecWebApps'+    { _awtswaEnabled :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebTokenSpecWebApps' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtswaEnabled'+administratorWebTokenSpecWebApps+    :: AdministratorWebTokenSpecWebApps+administratorWebTokenSpecWebApps =+    AdministratorWebTokenSpecWebApps'+    { _awtswaEnabled = Nothing+    }++-- | Whether the Web Apps page is displayed. Default is true.+awtswaEnabled :: Lens' AdministratorWebTokenSpecWebApps (Maybe Bool)+awtswaEnabled+  = lens _awtswaEnabled+      (\ s a -> s{_awtswaEnabled = a})++instance FromJSON AdministratorWebTokenSpecWebApps+         where+        parseJSON+          = withObject "AdministratorWebTokenSpecWebApps"+              (\ o ->+                 AdministratorWebTokenSpecWebApps' <$>+                   (o .:? "enabled"))++instance ToJSON AdministratorWebTokenSpecWebApps+         where+        toJSON AdministratorWebTokenSpecWebApps'{..}+          = object+              (catMaybes [("enabled" .=) <$> _awtswaEnabled])++-- | Information on an approval URL.+--+-- /See:/ 'approvalURLInfo' smart constructor.+data ApprovalURLInfo = ApprovalURLInfo'+    { _auiApprovalURL :: !(Maybe Text)+    , _auiKind        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApprovalURLInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auiApprovalURL'+--+-- * 'auiKind'+approvalURLInfo+    :: ApprovalURLInfo+approvalURLInfo =+    ApprovalURLInfo'+    { _auiApprovalURL = Nothing+    , _auiKind = "androidenterprise#approvalUrlInfo"+    }++-- | A URL that displays a product\'s permissions and that can also be used+-- to approve the product with the Products.approve call.+auiApprovalURL :: Lens' ApprovalURLInfo (Maybe Text)+auiApprovalURL+  = lens _auiApprovalURL+      (\ s a -> s{_auiApprovalURL = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#approvalUrlInfo\".+auiKind :: Lens' ApprovalURLInfo Text+auiKind = lens _auiKind (\ s a -> s{_auiKind = a})++instance FromJSON ApprovalURLInfo where+        parseJSON+          = withObject "ApprovalURLInfo"+              (\ o ->+                 ApprovalURLInfo' <$>+                   (o .:? "approvalUrl") <*>+                     (o .:? "kind" .!=+                        "androidenterprise#approvalUrlInfo"))++instance ToJSON ApprovalURLInfo where+        toJSON ApprovalURLInfo'{..}+          = object+              (catMaybes+                 [("approvalUrl" .=) <$> _auiApprovalURL,+                  Just ("kind" .= _auiKind)])++-- | The managed configurations settings for a product.+--+-- /See:/ 'managedConfigurationsSettingsListResponse' smart constructor.+data ManagedConfigurationsSettingsListResponse = ManagedConfigurationsSettingsListResponse'+    { _mcslrKind                          :: !Text+    , _mcslrManagedConfigurationsSettings :: !(Maybe [ManagedConfigurationsSettings])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationsSettingsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcslrKind'+--+-- * 'mcslrManagedConfigurationsSettings'+managedConfigurationsSettingsListResponse+    :: ManagedConfigurationsSettingsListResponse+managedConfigurationsSettingsListResponse =+    ManagedConfigurationsSettingsListResponse'+    { _mcslrKind = "androidenterprise#managedConfigurationsSettingsListResponse"+    , _mcslrManagedConfigurationsSettings = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#managedConfigurationsSettingsListResponse\".+mcslrKind :: Lens' ManagedConfigurationsSettingsListResponse Text+mcslrKind+  = lens _mcslrKind (\ s a -> s{_mcslrKind = a})++-- | A managed configurations settings for an app that may be assigned to a+-- group of users in an enterprise.+mcslrManagedConfigurationsSettings :: Lens' ManagedConfigurationsSettingsListResponse [ManagedConfigurationsSettings]+mcslrManagedConfigurationsSettings+  = lens _mcslrManagedConfigurationsSettings+      (\ s a -> s{_mcslrManagedConfigurationsSettings = a})+      . _Default+      . _Coerce++instance FromJSON+         ManagedConfigurationsSettingsListResponse where+        parseJSON+          = withObject+              "ManagedConfigurationsSettingsListResponse"+              (\ o ->+                 ManagedConfigurationsSettingsListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#managedConfigurationsSettingsListResponse")+                     <*>+                     (o .:? "managedConfigurationsSettings" .!= mempty))++instance ToJSON+         ManagedConfigurationsSettingsListResponse where+        toJSON ManagedConfigurationsSettingsListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mcslrKind),+                  ("managedConfigurationsSettings" .=) <$>+                    _mcslrManagedConfigurationsSettings])++-- | A managed property of a managed configuration. The property must match+-- one of the properties in the app restrictions schema of the product.+-- Exactly one of the value fields must be populated, and it must match the+-- property\'s type in the app restrictions schema.+--+-- /See:/ 'managedProperty' smart constructor.+data ManagedProperty = ManagedProperty'+    { _mpValueStringArray :: !(Maybe [Text])+    , _mpValueBool        :: !(Maybe Bool)+    , _mpKey              :: !(Maybe Text)+    , _mpValueBundle      :: !(Maybe ManagedPropertyBundle)+    , _mpValueInteger     :: !(Maybe (Textual Int32))+    , _mpValueBundleArray :: !(Maybe [ManagedPropertyBundle])+    , _mpValueString      :: !(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:+--+-- * 'mpValueStringArray'+--+-- * 'mpValueBool'+--+-- * 'mpKey'+--+-- * 'mpValueBundle'+--+-- * 'mpValueInteger'+--+-- * 'mpValueBundleArray'+--+-- * 'mpValueString'+managedProperty+    :: ManagedProperty+managedProperty =+    ManagedProperty'+    { _mpValueStringArray = Nothing+    , _mpValueBool = Nothing+    , _mpKey = Nothing+    , _mpValueBundle = Nothing+    , _mpValueInteger = Nothing+    , _mpValueBundleArray = Nothing+    , _mpValueString = Nothing+    }++-- | The list of string values - this will only be present if type of the+-- property is multiselect.+mpValueStringArray :: Lens' ManagedProperty [Text]+mpValueStringArray+  = lens _mpValueStringArray+      (\ s a -> s{_mpValueStringArray = a})+      . _Default+      . _Coerce++-- | The boolean value - this will only be present if type of the property is+-- bool.+mpValueBool :: Lens' ManagedProperty (Maybe Bool)+mpValueBool+  = lens _mpValueBool (\ s a -> s{_mpValueBool = a})++-- | The unique key that identifies the property.+mpKey :: Lens' ManagedProperty (Maybe Text)+mpKey = lens _mpKey (\ s a -> s{_mpKey = a})++-- | The bundle of managed properties - this will only be present if type of+-- the property is bundle.+mpValueBundle :: Lens' ManagedProperty (Maybe ManagedPropertyBundle)+mpValueBundle+  = lens _mpValueBundle+      (\ s a -> s{_mpValueBundle = a})++-- | The integer value - this will only be present if type of the property is+-- integer.+mpValueInteger :: Lens' ManagedProperty (Maybe Int32)+mpValueInteger+  = lens _mpValueInteger+      (\ s a -> s{_mpValueInteger = a})+      . mapping _Coerce++-- | The list of bundles of properties - this will only be present if type of+-- the property is bundle_array.+mpValueBundleArray :: Lens' ManagedProperty [ManagedPropertyBundle]+mpValueBundleArray+  = lens _mpValueBundleArray+      (\ s a -> s{_mpValueBundleArray = a})+      . _Default+      . _Coerce++-- | The string value - this will only be present if type of the property is+-- string, choice or hidden.+mpValueString :: Lens' ManagedProperty (Maybe Text)+mpValueString+  = lens _mpValueString+      (\ s a -> s{_mpValueString = a})++instance FromJSON ManagedProperty where+        parseJSON+          = withObject "ManagedProperty"+              (\ o ->+                 ManagedProperty' <$>+                   (o .:? "valueStringArray" .!= mempty) <*>+                     (o .:? "valueBool")+                     <*> (o .:? "key")+                     <*> (o .:? "valueBundle")+                     <*> (o .:? "valueInteger")+                     <*> (o .:? "valueBundleArray" .!= mempty)+                     <*> (o .:? "valueString"))++instance ToJSON ManagedProperty where+        toJSON ManagedProperty'{..}+          = object+              (catMaybes+                 [("valueStringArray" .=) <$> _mpValueStringArray,+                  ("valueBool" .=) <$> _mpValueBool,+                  ("key" .=) <$> _mpKey,+                  ("valueBundle" .=) <$> _mpValueBundle,+                  ("valueInteger" .=) <$> _mpValueInteger,+                  ("valueBundleArray" .=) <$> _mpValueBundleArray,+                  ("valueString" .=) <$> _mpValueString])++-- | The store page resources for the enterprise.+--+-- /See:/ 'storeLayoutClustersListResponse' smart constructor.+data StoreLayoutClustersListResponse = StoreLayoutClustersListResponse'+    { _slclrCluster :: !(Maybe [StoreCluster])+    , _slclrKind    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StoreLayoutClustersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slclrCluster'+--+-- * 'slclrKind'+storeLayoutClustersListResponse+    :: StoreLayoutClustersListResponse+storeLayoutClustersListResponse =+    StoreLayoutClustersListResponse'+    { _slclrCluster = Nothing+    , _slclrKind = "androidenterprise#storeLayoutClustersListResponse"+    }++-- | A store cluster of an enterprise.+slclrCluster :: Lens' StoreLayoutClustersListResponse [StoreCluster]+slclrCluster+  = lens _slclrCluster (\ s a -> s{_slclrCluster = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#storeLayoutClustersListResponse\".+slclrKind :: Lens' StoreLayoutClustersListResponse Text+slclrKind+  = lens _slclrKind (\ s a -> s{_slclrKind = a})++instance FromJSON StoreLayoutClustersListResponse+         where+        parseJSON+          = withObject "StoreLayoutClustersListResponse"+              (\ o ->+                 StoreLayoutClustersListResponse' <$>+                   (o .:? "cluster" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "androidenterprise#storeLayoutClustersListResponse"))++instance ToJSON StoreLayoutClustersListResponse where+        toJSON StoreLayoutClustersListResponse'{..}+          = object+              (catMaybes+                 [("cluster" .=) <$> _slclrCluster,+                  Just ("kind" .= _slclrKind)])++-- | A managed configuration resource contains the set of managed properties+-- defined by the app developer in the app\'s managed configurations+-- schema, as well as any configuration variables defined for the user.+--+-- /See:/ 'managedConfiguration' smart constructor.+data ManagedConfiguration = ManagedConfiguration'+    { _mcManagedProperty        :: !(Maybe [ManagedProperty])+    , _mcKind                   :: !Text+    , _mcConfigurationVariables :: !(Maybe ConfigurationVariables)+    , _mcProductId              :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcManagedProperty'+--+-- * 'mcKind'+--+-- * 'mcConfigurationVariables'+--+-- * 'mcProductId'+managedConfiguration+    :: ManagedConfiguration+managedConfiguration =+    ManagedConfiguration'+    { _mcManagedProperty = Nothing+    , _mcKind = "androidenterprise#managedConfiguration"+    , _mcConfigurationVariables = Nothing+    , _mcProductId = Nothing+    }++-- | The set of managed properties for this configuration.+mcManagedProperty :: Lens' ManagedConfiguration [ManagedProperty]+mcManagedProperty+  = lens _mcManagedProperty+      (\ s a -> s{_mcManagedProperty = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#managedConfiguration\".+mcKind :: Lens' ManagedConfiguration Text+mcKind = lens _mcKind (\ s a -> s{_mcKind = a})++-- | Contains the ID of the managed configuration profile and the set of+-- configuration variables (if any) defined for the user.+mcConfigurationVariables :: Lens' ManagedConfiguration (Maybe ConfigurationVariables)+mcConfigurationVariables+  = lens _mcConfigurationVariables+      (\ s a -> s{_mcConfigurationVariables = a})++-- | The ID of the product that the managed configuration is for, e.g.+-- \"app:com.google.android.gm\".+mcProductId :: Lens' ManagedConfiguration (Maybe Text)+mcProductId+  = lens _mcProductId (\ s a -> s{_mcProductId = a})++instance FromJSON ManagedConfiguration where+        parseJSON+          = withObject "ManagedConfiguration"+              (\ o ->+                 ManagedConfiguration' <$>+                   (o .:? "managedProperty" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "androidenterprise#managedConfiguration")+                     <*> (o .:? "configurationVariables")+                     <*> (o .:? "productId"))++instance ToJSON ManagedConfiguration where+        toJSON ManagedConfiguration'{..}+          = object+              (catMaybes+                 [("managedProperty" .=) <$> _mcManagedProperty,+                  Just ("kind" .= _mcKind),+                  ("configurationVariables" .=) <$>+                    _mcConfigurationVariables,+                  ("productId" .=) <$> _mcProductId])++-- | Definition of a managed Google Play store cluster, a list of products+-- displayed as part of a store page.+--+-- /See:/ 'storeCluster' smart constructor.+data StoreCluster = StoreCluster'+    { _scKind        :: !Text+    , _scName        :: !(Maybe [LocalizedText])+    , _scOrderInPage :: !(Maybe Text)+    , _scId          :: !(Maybe Text)+    , _scProductId   :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StoreCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scKind'+--+-- * 'scName'+--+-- * 'scOrderInPage'+--+-- * 'scId'+--+-- * 'scProductId'+storeCluster+    :: StoreCluster+storeCluster =+    StoreCluster'+    { _scKind = "androidenterprise#storeCluster"+    , _scName = Nothing+    , _scOrderInPage = Nothing+    , _scId = Nothing+    , _scProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#storeCluster\".+scKind :: Lens' StoreCluster Text+scKind = lens _scKind (\ s a -> s{_scKind = a})++-- | Ordered list of localized strings giving the name of this page. The text+-- displayed is the one that best matches the user locale, or the first+-- entry if there is no good match. There needs to be at least one entry.+scName :: Lens' StoreCluster [LocalizedText]+scName+  = lens _scName (\ s a -> s{_scName = a}) . _Default .+      _Coerce++-- | String (US-ASCII only) used to determine order of this cluster within+-- the parent page\'s elements. Page elements are sorted in lexicographic+-- order of this field. Duplicated values are allowed, but ordering between+-- elements with duplicate order is undefined. The value of this field is+-- never visible to a user, it is used solely for the purpose of defining+-- an ordering. Maximum length is 256 characters.+scOrderInPage :: Lens' StoreCluster (Maybe Text)+scOrderInPage+  = lens _scOrderInPage+      (\ s a -> s{_scOrderInPage = a})++-- | Unique ID of this cluster. Assigned by the server. Immutable once+-- assigned.+scId :: Lens' StoreCluster (Maybe Text)+scId = lens _scId (\ s a -> s{_scId = a})++-- | List of products in the order they are displayed in the cluster. There+-- should not be duplicates within a cluster.+scProductId :: Lens' StoreCluster [Text]+scProductId+  = lens _scProductId (\ s a -> s{_scProductId = a}) .+      _Default+      . _Coerce++instance FromJSON StoreCluster where+        parseJSON+          = withObject "StoreCluster"+              (\ o ->+                 StoreCluster' <$>+                   (o .:? "kind" .!= "androidenterprise#storeCluster")+                     <*> (o .:? "name" .!= mempty)+                     <*> (o .:? "orderInPage")+                     <*> (o .:? "id")+                     <*> (o .:? "productId" .!= mempty))++instance ToJSON StoreCluster where+        toJSON StoreCluster'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _scKind), ("name" .=) <$> _scName,+                  ("orderInPage" .=) <$> _scOrderInPage,+                  ("id" .=) <$> _scId,+                  ("productId" .=) <$> _scProductId])++-- | Specification for a token used to generate iframes. The token specifies+-- what data the admin is allowed to modify and the URI the iframe is+-- allowed to communiate with.+--+-- /See:/ 'administratorWebTokenSpec' smart constructor.+data AdministratorWebTokenSpec = AdministratorWebTokenSpec'+    { _awtsParent       :: !(Maybe Text)+    , _awtsPrivateApps  :: !(Maybe AdministratorWebTokenSpecPrivateApps)+    , _awtsPlaySearch   :: !(Maybe AdministratorWebTokenSpecPlaySearch)+    , _awtsKind         :: !Text+    , _awtsWebApps      :: !(Maybe AdministratorWebTokenSpecWebApps)+    , _awtsPermission   :: !(Maybe [Text])+    , _awtsStoreBuilder :: !(Maybe AdministratorWebTokenSpecStoreBuilder)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebTokenSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtsParent'+--+-- * 'awtsPrivateApps'+--+-- * 'awtsPlaySearch'+--+-- * 'awtsKind'+--+-- * 'awtsWebApps'+--+-- * 'awtsPermission'+--+-- * 'awtsStoreBuilder'+administratorWebTokenSpec+    :: AdministratorWebTokenSpec+administratorWebTokenSpec =+    AdministratorWebTokenSpec'+    { _awtsParent = Nothing+    , _awtsPrivateApps = Nothing+    , _awtsPlaySearch = Nothing+    , _awtsKind = "androidenterprise#administratorWebTokenSpec"+    , _awtsWebApps = Nothing+    , _awtsPermission = Nothing+    , _awtsStoreBuilder = Nothing+    }++-- | The URI of the parent frame hosting the iframe. To prevent XSS, the+-- iframe may not be hosted at other URIs. This URI must be https.+awtsParent :: Lens' AdministratorWebTokenSpec (Maybe Text)+awtsParent+  = lens _awtsParent (\ s a -> s{_awtsParent = a})++-- | Options for displaying the Private Apps page.+awtsPrivateApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPrivateApps)+awtsPrivateApps+  = lens _awtsPrivateApps+      (\ s a -> s{_awtsPrivateApps = a})++-- | Options for displaying the managed Play Search apps page.+awtsPlaySearch :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecPlaySearch)+awtsPlaySearch+  = lens _awtsPlaySearch+      (\ s a -> s{_awtsPlaySearch = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#administratorWebTokenSpec\".+awtsKind :: Lens' AdministratorWebTokenSpec Text+awtsKind = lens _awtsKind (\ s a -> s{_awtsKind = a})++-- | Options for displaying the Web Apps page.+awtsWebApps :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecWebApps)+awtsWebApps+  = lens _awtsWebApps (\ s a -> s{_awtsWebApps = a})++-- | Deprecated. Use PlaySearch.approveApps.+awtsPermission :: Lens' AdministratorWebTokenSpec [Text]+awtsPermission+  = lens _awtsPermission+      (\ s a -> s{_awtsPermission = a})+      . _Default+      . _Coerce++-- | Options for displaying the Organize apps page.+awtsStoreBuilder :: Lens' AdministratorWebTokenSpec (Maybe AdministratorWebTokenSpecStoreBuilder)+awtsStoreBuilder+  = lens _awtsStoreBuilder+      (\ s a -> s{_awtsStoreBuilder = a})++instance FromJSON AdministratorWebTokenSpec where+        parseJSON+          = withObject "AdministratorWebTokenSpec"+              (\ o ->+                 AdministratorWebTokenSpec' <$>+                   (o .:? "parent") <*> (o .:? "privateApps") <*>+                     (o .:? "playSearch")+                     <*>+                     (o .:? "kind" .!=+                        "androidenterprise#administratorWebTokenSpec")+                     <*> (o .:? "webApps")+                     <*> (o .:? "permission" .!= mempty)+                     <*> (o .:? "storeBuilder"))++instance ToJSON AdministratorWebTokenSpec where+        toJSON AdministratorWebTokenSpec'{..}+          = object+              (catMaybes+                 [("parent" .=) <$> _awtsParent,+                  ("privateApps" .=) <$> _awtsPrivateApps,+                  ("playSearch" .=) <$> _awtsPlaySearch,+                  Just ("kind" .= _awtsKind),+                  ("webApps" .=) <$> _awtsWebApps,+                  ("permission" .=) <$> _awtsPermission,+                  ("storeBuilder" .=) <$> _awtsStoreBuilder])++-- | A product to be made visible to a user.+--+-- /See:/ 'productVisibility' smart constructor.+data ProductVisibility = ProductVisibility'+    { _pvTracks    :: !(Maybe [Text])+    , _pvTrackIds  :: !(Maybe [Text])+    , _pvProductId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductVisibility' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvTracks'+--+-- * 'pvTrackIds'+--+-- * 'pvProductId'+productVisibility+    :: ProductVisibility+productVisibility =+    ProductVisibility'+    { _pvTracks = Nothing+    , _pvTrackIds = Nothing+    , _pvProductId = Nothing+    }++-- | Deprecated. Use trackIds instead.+pvTracks :: Lens' ProductVisibility [Text]+pvTracks+  = lens _pvTracks (\ s a -> s{_pvTracks = a}) .+      _Default+      . _Coerce++-- | Grants the user visibility to the specified product track(s), identified+-- by trackIds.+pvTrackIds :: Lens' ProductVisibility [Text]+pvTrackIds+  = lens _pvTrackIds (\ s a -> s{_pvTrackIds = a}) .+      _Default+      . _Coerce++-- | The product ID to make visible to the user. Required for each item in+-- the productVisibility list.+pvProductId :: Lens' ProductVisibility (Maybe Text)+pvProductId+  = lens _pvProductId (\ s a -> s{_pvProductId = a})++instance FromJSON ProductVisibility where+        parseJSON+          = withObject "ProductVisibility"+              (\ o ->+                 ProductVisibility' <$>+                   (o .:? "tracks" .!= mempty) <*>+                     (o .:? "trackIds" .!= mempty)+                     <*> (o .:? "productId"))++instance ToJSON ProductVisibility where+        toJSON ProductVisibility'{..}+          = object+              (catMaybes+                 [("tracks" .=) <$> _pvTracks,+                  ("trackIds" .=) <$> _pvTrackIds,+                  ("productId" .=) <$> _pvProductId])++-- | A notification of one event relating to an enterprise.+--+-- /See:/ 'notification' smart constructor.+data Notification = Notification'+    { _nEnterpriseId                     :: !(Maybe Text)+    , _nNewPermissionsEvent              :: !(Maybe NewPermissionsEvent)+    , _nProductApprovalEvent             :: !(Maybe ProductApprovalEvent)+    , _nProductAvailabilityChangeEvent   :: !(Maybe ProductAvailabilityChangeEvent)+    , _nAppUpdateEvent                   :: !(Maybe AppUpdateEvent)+    , _nInstallFailureEvent              :: !(Maybe InstallFailureEvent)+    , _nNotificationType                 :: !(Maybe Text)+    , _nAppRestrictionsSchemaChangeEvent :: !(Maybe AppRestrictionsSchemaChangeEvent)+    , _nNewDeviceEvent                   :: !(Maybe NewDeviceEvent)+    , _nTimestampMillis                  :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Notification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nEnterpriseId'+--+-- * 'nNewPermissionsEvent'+--+-- * 'nProductApprovalEvent'+--+-- * 'nProductAvailabilityChangeEvent'+--+-- * 'nAppUpdateEvent'+--+-- * 'nInstallFailureEvent'+--+-- * 'nNotificationType'+--+-- * 'nAppRestrictionsSchemaChangeEvent'+--+-- * 'nNewDeviceEvent'+--+-- * 'nTimestampMillis'+notification+    :: Notification+notification =+    Notification'+    { _nEnterpriseId = Nothing+    , _nNewPermissionsEvent = Nothing+    , _nProductApprovalEvent = Nothing+    , _nProductAvailabilityChangeEvent = Nothing+    , _nAppUpdateEvent = Nothing+    , _nInstallFailureEvent = Nothing+    , _nNotificationType = Nothing+    , _nAppRestrictionsSchemaChangeEvent = Nothing+    , _nNewDeviceEvent = Nothing+    , _nTimestampMillis = Nothing+    }++-- | The ID of the enterprise for which the notification is sent. This will+-- always be present.+nEnterpriseId :: Lens' Notification (Maybe Text)+nEnterpriseId+  = lens _nEnterpriseId+      (\ s a -> s{_nEnterpriseId = a})++-- | Notifications about new app permissions.+nNewPermissionsEvent :: Lens' Notification (Maybe NewPermissionsEvent)+nNewPermissionsEvent+  = lens _nNewPermissionsEvent+      (\ s a -> s{_nNewPermissionsEvent = a})++-- | Notifications about changes to a product\'s approval status.+nProductApprovalEvent :: Lens' Notification (Maybe ProductApprovalEvent)+nProductApprovalEvent+  = lens _nProductApprovalEvent+      (\ s a -> s{_nProductApprovalEvent = a})++-- | Notifications about product availability changes.+nProductAvailabilityChangeEvent :: Lens' Notification (Maybe ProductAvailabilityChangeEvent)+nProductAvailabilityChangeEvent+  = lens _nProductAvailabilityChangeEvent+      (\ s a -> s{_nProductAvailabilityChangeEvent = a})++-- | Notifications about app updates.+nAppUpdateEvent :: Lens' Notification (Maybe AppUpdateEvent)+nAppUpdateEvent+  = lens _nAppUpdateEvent+      (\ s a -> s{_nAppUpdateEvent = a})++-- | Notifications about an app installation failure.+nInstallFailureEvent :: Lens' Notification (Maybe InstallFailureEvent)+nInstallFailureEvent+  = lens _nInstallFailureEvent+      (\ s a -> s{_nInstallFailureEvent = a})++-- | Type of the notification.+nNotificationType :: Lens' Notification (Maybe Text)+nNotificationType+  = lens _nNotificationType+      (\ s a -> s{_nNotificationType = a})++-- | Notifications about new app restrictions schema changes.+nAppRestrictionsSchemaChangeEvent :: Lens' Notification (Maybe AppRestrictionsSchemaChangeEvent)+nAppRestrictionsSchemaChangeEvent+  = lens _nAppRestrictionsSchemaChangeEvent+      (\ s a -> s{_nAppRestrictionsSchemaChangeEvent = a})++-- | Notifications about new devices.+nNewDeviceEvent :: Lens' Notification (Maybe NewDeviceEvent)+nNewDeviceEvent+  = lens _nNewDeviceEvent+      (\ s a -> s{_nNewDeviceEvent = a})++-- | The time when the notification was published in milliseconds since+-- 1970-01-01T00:00:00Z. This will always be present.+nTimestampMillis :: Lens' Notification (Maybe Int64)+nTimestampMillis+  = lens _nTimestampMillis+      (\ s a -> s{_nTimestampMillis = a})+      . mapping _Coerce++instance FromJSON Notification where+        parseJSON+          = withObject "Notification"+              (\ o ->+                 Notification' <$>+                   (o .:? "enterpriseId") <*>+                     (o .:? "newPermissionsEvent")+                     <*> (o .:? "productApprovalEvent")+                     <*> (o .:? "productAvailabilityChangeEvent")+                     <*> (o .:? "appUpdateEvent")+                     <*> (o .:? "installFailureEvent")+                     <*> (o .:? "notificationType")+                     <*> (o .:? "appRestrictionsSchemaChangeEvent")+                     <*> (o .:? "newDeviceEvent")+                     <*> (o .:? "timestampMillis"))++instance ToJSON Notification where+        toJSON Notification'{..}+          = object+              (catMaybes+                 [("enterpriseId" .=) <$> _nEnterpriseId,+                  ("newPermissionsEvent" .=) <$> _nNewPermissionsEvent,+                  ("productApprovalEvent" .=) <$>+                    _nProductApprovalEvent,+                  ("productAvailabilityChangeEvent" .=) <$>+                    _nProductAvailabilityChangeEvent,+                  ("appUpdateEvent" .=) <$> _nAppUpdateEvent,+                  ("installFailureEvent" .=) <$> _nInstallFailureEvent,+                  ("notificationType" .=) <$> _nNotificationType,+                  ("appRestrictionsSchemaChangeEvent" .=) <$>+                    _nAppRestrictionsSchemaChangeEvent,+                  ("newDeviceEvent" .=) <$> _nNewDeviceEvent,+                  ("timestampMillis" .=) <$> _nTimestampMillis])++--+-- /See:/ 'pageInfo' smart constructor.+data PageInfo = PageInfo'+    { _piResultPerPage :: !(Maybe (Textual Int32))+    , _piTotalResults  :: !(Maybe (Textual Int32))+    , _piStartIndex    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piResultPerPage'+--+-- * 'piTotalResults'+--+-- * 'piStartIndex'+pageInfo+    :: PageInfo+pageInfo =+    PageInfo'+    { _piResultPerPage = Nothing+    , _piTotalResults = Nothing+    , _piStartIndex = Nothing+    }++piResultPerPage :: Lens' PageInfo (Maybe Int32)+piResultPerPage+  = lens _piResultPerPage+      (\ s a -> s{_piResultPerPage = a})+      . mapping _Coerce++piTotalResults :: Lens' PageInfo (Maybe Int32)+piTotalResults+  = lens _piTotalResults+      (\ s a -> s{_piTotalResults = a})+      . mapping _Coerce++piStartIndex :: Lens' PageInfo (Maybe Int32)+piStartIndex+  = lens _piStartIndex (\ s a -> s{_piStartIndex = a})+      . mapping _Coerce++instance FromJSON PageInfo where+        parseJSON+          = withObject "PageInfo"+              (\ o ->+                 PageInfo' <$>+                   (o .:? "resultPerPage") <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex"))++instance ToJSON PageInfo where+        toJSON PageInfo'{..}+          = object+              (catMaybes+                 [("resultPerPage" .=) <$> _piResultPerPage,+                  ("totalResults" .=) <$> _piTotalResults,+                  ("startIndex" .=) <$> _piStartIndex])++-- | A product permissions resource represents the set of permissions+-- required by a specific app and whether or not they have been accepted by+-- an enterprise admin. The API can be used to read the set of permissions,+-- and also to update the set to indicate that permissions have been+-- accepted.+--+-- /See:/ 'productPermission' smart constructor.+data ProductPermission = ProductPermission'+    { _ppState        :: !(Maybe Text)+    , _ppPermissionId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppState'+--+-- * 'ppPermissionId'+productPermission+    :: ProductPermission+productPermission =+    ProductPermission'+    { _ppState = Nothing+    , _ppPermissionId = Nothing+    }++-- | Whether the permission has been accepted or not.+ppState :: Lens' ProductPermission (Maybe Text)+ppState = lens _ppState (\ s a -> s{_ppState = a})++-- | An opaque string uniquely identifying the permission.+ppPermissionId :: Lens' ProductPermission (Maybe Text)+ppPermissionId+  = lens _ppPermissionId+      (\ s a -> s{_ppPermissionId = a})++instance FromJSON ProductPermission where+        parseJSON+          = withObject "ProductPermission"+              (\ o ->+                 ProductPermission' <$>+                   (o .:? "state") <*> (o .:? "permissionId"))++instance ToJSON ProductPermission where+        toJSON ProductPermission'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _ppState,+                  ("permissionId" .=) <$> _ppPermissionId])++-- | An event generated when new permissions are added to an app.+--+-- /See:/ 'newPermissionsEvent' smart constructor.+data NewPermissionsEvent = NewPermissionsEvent'+    { _npeRequestedPermissions :: !(Maybe [Text])+    , _npeApprovedPermissions  :: !(Maybe [Text])+    , _npeProductId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NewPermissionsEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npeRequestedPermissions'+--+-- * 'npeApprovedPermissions'+--+-- * 'npeProductId'+newPermissionsEvent+    :: NewPermissionsEvent+newPermissionsEvent =+    NewPermissionsEvent'+    { _npeRequestedPermissions = Nothing+    , _npeApprovedPermissions = Nothing+    , _npeProductId = Nothing+    }++-- | The set of permissions that the app is currently requesting. Use+-- Permissions.Get on the EMM API to retrieve details about these+-- permissions.+npeRequestedPermissions :: Lens' NewPermissionsEvent [Text]+npeRequestedPermissions+  = lens _npeRequestedPermissions+      (\ s a -> s{_npeRequestedPermissions = a})+      . _Default+      . _Coerce++-- | The set of permissions that the enterprise admin has already approved+-- for this application. Use Permissions.Get on the EMM API to retrieve+-- details about these permissions.+npeApprovedPermissions :: Lens' NewPermissionsEvent [Text]+npeApprovedPermissions+  = lens _npeApprovedPermissions+      (\ s a -> s{_npeApprovedPermissions = a})+      . _Default+      . _Coerce++-- | The id of the product (e.g. \"app:com.google.android.gm\") for which new+-- permissions were added. This field will always be present.+npeProductId :: Lens' NewPermissionsEvent (Maybe Text)+npeProductId+  = lens _npeProductId (\ s a -> s{_npeProductId = a})++instance FromJSON NewPermissionsEvent where+        parseJSON+          = withObject "NewPermissionsEvent"+              (\ o ->+                 NewPermissionsEvent' <$>+                   (o .:? "requestedPermissions" .!= mempty) <*>+                     (o .:? "approvedPermissions" .!= mempty)+                     <*> (o .:? "productId"))++instance ToJSON NewPermissionsEvent where+        toJSON NewPermissionsEvent'{..}+          = object+              (catMaybes+                 [("requestedPermissions" .=) <$>+                    _npeRequestedPermissions,+                  ("approvedPermissions" .=) <$>+                    _npeApprovedPermissions,+                  ("productId" .=) <$> _npeProductId])++-- | An event generated whenever a product\'s availability changes.+--+-- /See:/ 'productAvailabilityChangeEvent' smart constructor.+data ProductAvailabilityChangeEvent = ProductAvailabilityChangeEvent'+    { _paceAvailabilityStatus :: !(Maybe Text)+    , _paceProductId          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductAvailabilityChangeEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paceAvailabilityStatus'+--+-- * 'paceProductId'+productAvailabilityChangeEvent+    :: ProductAvailabilityChangeEvent+productAvailabilityChangeEvent =+    ProductAvailabilityChangeEvent'+    { _paceAvailabilityStatus = Nothing+    , _paceProductId = Nothing+    }++-- | The new state of the product. This field will always be present.+paceAvailabilityStatus :: Lens' ProductAvailabilityChangeEvent (Maybe Text)+paceAvailabilityStatus+  = lens _paceAvailabilityStatus+      (\ s a -> s{_paceAvailabilityStatus = a})++-- | The id of the product (e.g. \"app:com.google.android.gm\") for which the+-- product availability changed. This field will always be present.+paceProductId :: Lens' ProductAvailabilityChangeEvent (Maybe Text)+paceProductId+  = lens _paceProductId+      (\ s a -> s{_paceProductId = a})++instance FromJSON ProductAvailabilityChangeEvent+         where+        parseJSON+          = withObject "ProductAvailabilityChangeEvent"+              (\ o ->+                 ProductAvailabilityChangeEvent' <$>+                   (o .:? "availabilityStatus") <*> (o .:? "productId"))++instance ToJSON ProductAvailabilityChangeEvent where+        toJSON ProductAvailabilityChangeEvent'{..}+          = object+              (catMaybes+                 [("availabilityStatus" .=) <$>+                    _paceAvailabilityStatus,+                  ("productId" .=) <$> _paceProductId])++-- | An event generated when a product\'s approval status is changed.+--+-- /See:/ 'productApprovalEvent' smart constructor.+data ProductApprovalEvent = ProductApprovalEvent'+    { _paeApproved  :: !(Maybe Text)+    , _paeProductId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductApprovalEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paeApproved'+--+-- * 'paeProductId'+productApprovalEvent+    :: ProductApprovalEvent+productApprovalEvent =+    ProductApprovalEvent'+    { _paeApproved = Nothing+    , _paeProductId = Nothing+    }++-- | Whether the product was approved or unapproved. This field will always+-- be present.+paeApproved :: Lens' ProductApprovalEvent (Maybe Text)+paeApproved+  = lens _paeApproved (\ s a -> s{_paeApproved = a})++-- | The id of the product (e.g. \"app:com.google.android.gm\") for which the+-- approval status has changed. This field will always be present.+paeProductId :: Lens' ProductApprovalEvent (Maybe Text)+paeProductId+  = lens _paeProductId (\ s a -> s{_paeProductId = a})++instance FromJSON ProductApprovalEvent where+        parseJSON+          = withObject "ProductApprovalEvent"+              (\ o ->+                 ProductApprovalEvent' <$>+                   (o .:? "approved") <*> (o .:? "productId"))++instance ToJSON ProductApprovalEvent where+        toJSON ProductApprovalEvent'{..}+          = object+              (catMaybes+                 [("approved" .=) <$> _paeApproved,+                  ("productId" .=) <$> _paeProductId])++-- | A Devices resource represents a mobile device managed by the EMM and+-- belonging to a specific enterprise user.+--+-- /See:/ 'device' smart constructor.+data Device = Device'+    { _dKind           :: !Text+    , _dPolicy         :: !(Maybe Policy)+    , _dManagementType :: !(Maybe Text)+    , _dAndroidId      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Device' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dKind'+--+-- * 'dPolicy'+--+-- * 'dManagementType'+--+-- * 'dAndroidId'+device+    :: Device+device =+    Device'+    { _dKind = "androidenterprise#device"+    , _dPolicy = Nothing+    , _dManagementType = Nothing+    , _dAndroidId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#device\".+dKind :: Lens' Device Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | The policy enforced on the device.+dPolicy :: Lens' Device (Maybe Policy)+dPolicy = lens _dPolicy (\ s a -> s{_dPolicy = a})++-- | Identifies the extent to which the device is controlled by a managed+-- Google Play EMM in various deployment configurations. Possible values+-- include: - \"managedDevice\", a device that has the EMM\'s device policy+-- controller (DPC) as the device owner. - \"managedProfile\", a device+-- that has a profile managed by the DPC (DPC is profile owner) in addition+-- to a separate, personal profile that is unavailable to the DPC. -+-- \"containerApp\", no longer used (deprecated). - \"unmanagedProfile\", a+-- device that has been allowed (by the domain\'s admin, using the Admin+-- Console to enable the privilege) to use managed Google Play, but the+-- profile is itself not owned by a DPC.+dManagementType :: Lens' Device (Maybe Text)+dManagementType+  = lens _dManagementType+      (\ s a -> s{_dManagementType = a})++-- | The Google Play Services Android ID for the device encoded as a+-- lowercase hex string. For example, \"123456789abcdef0\".+dAndroidId :: Lens' Device (Maybe Text)+dAndroidId+  = lens _dAndroidId (\ s a -> s{_dAndroidId = a})++instance FromJSON Device where+        parseJSON+          = withObject "Device"+              (\ o ->+                 Device' <$>+                   (o .:? "kind" .!= "androidenterprise#device") <*>+                     (o .:? "policy")+                     <*> (o .:? "managementType")+                     <*> (o .:? "androidId"))++instance ToJSON Device where+        toJSON Device'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dKind), ("policy" .=) <$> _dPolicy,+                  ("managementType" .=) <$> _dManagementType,+                  ("androidId" .=) <$> _dAndroidId])++-- | The Auto install constraint. Defines a set of restrictions for+-- installation. At least one of the fields must be set.+--+-- /See:/ 'autoInstallConstraint' smart constructor.+data AutoInstallConstraint = AutoInstallConstraint'+    { _aicChargingStateConstraint   :: !(Maybe Text)+    , _aicDeviceIdleStateConstraint :: !(Maybe Text)+    , _aicNetworkTypeConstraint     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoInstallConstraint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aicChargingStateConstraint'+--+-- * 'aicDeviceIdleStateConstraint'+--+-- * 'aicNetworkTypeConstraint'+autoInstallConstraint+    :: AutoInstallConstraint+autoInstallConstraint =+    AutoInstallConstraint'+    { _aicChargingStateConstraint = Nothing+    , _aicDeviceIdleStateConstraint = Nothing+    , _aicNetworkTypeConstraint = Nothing+    }++-- | Charging state to constrain on.+aicChargingStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)+aicChargingStateConstraint+  = lens _aicChargingStateConstraint+      (\ s a -> s{_aicChargingStateConstraint = a})++-- | The idle state of the device to constrain on.+aicDeviceIdleStateConstraint :: Lens' AutoInstallConstraint (Maybe Text)+aicDeviceIdleStateConstraint+  = lens _aicDeviceIdleStateConstraint+      (\ s a -> s{_aicDeviceIdleStateConstraint = a})++-- | Network type to constrain on.+aicNetworkTypeConstraint :: Lens' AutoInstallConstraint (Maybe Text)+aicNetworkTypeConstraint+  = lens _aicNetworkTypeConstraint+      (\ s a -> s{_aicNetworkTypeConstraint = a})++instance FromJSON AutoInstallConstraint where+        parseJSON+          = withObject "AutoInstallConstraint"+              (\ o ->+                 AutoInstallConstraint' <$>+                   (o .:? "chargingStateConstraint") <*>+                     (o .:? "deviceIdleStateConstraint")+                     <*> (o .:? "networkTypeConstraint"))++instance ToJSON AutoInstallConstraint where+        toJSON AutoInstallConstraint'{..}+          = object+              (catMaybes+                 [("chargingStateConstraint" .=) <$>+                    _aicChargingStateConstraint,+                  ("deviceIdleStateConstraint" .=) <$>+                    _aicDeviceIdleStateConstraint,+                  ("networkTypeConstraint" .=) <$>+                    _aicNetworkTypeConstraint])++-- | Credentials that can be used to authenticate as a service account.+--+-- /See:/ 'serviceAccountKey' smart constructor.+data ServiceAccountKey = ServiceAccountKey'+    { _sakKind       :: !Text+    , _sakData       :: !(Maybe Text)+    , _sakId         :: !(Maybe Text)+    , _sakType       :: !(Maybe Text)+    , _sakPublicData :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServiceAccountKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sakKind'+--+-- * 'sakData'+--+-- * 'sakId'+--+-- * 'sakType'+--+-- * 'sakPublicData'+serviceAccountKey+    :: ServiceAccountKey+serviceAccountKey =+    ServiceAccountKey'+    { _sakKind = "androidenterprise#serviceAccountKey"+    , _sakData = Nothing+    , _sakId = Nothing+    , _sakType = Nothing+    , _sakPublicData = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#serviceAccountKey\".+sakKind :: Lens' ServiceAccountKey Text+sakKind = lens _sakKind (\ s a -> s{_sakKind = a})++-- | The body of the private key credentials file, in string format. This is+-- only populated when the ServiceAccountKey is created, and is not stored+-- by Google.+sakData :: Lens' ServiceAccountKey (Maybe Text)+sakData = lens _sakData (\ s a -> s{_sakData = a})++-- | An opaque, unique identifier for this ServiceAccountKey. Assigned by the+-- server.+sakId :: Lens' ServiceAccountKey (Maybe Text)+sakId = lens _sakId (\ s a -> s{_sakId = a})++-- | The file format of the generated key data.+sakType :: Lens' ServiceAccountKey (Maybe Text)+sakType = lens _sakType (\ s a -> s{_sakType = a})++-- | Public key data for the credentials file. This is an X.509 cert. If you+-- are using the googleCredentials key type, this is identical to the cert+-- that can be retrieved by using the X.509 cert url inside of the+-- credentials file.+sakPublicData :: Lens' ServiceAccountKey (Maybe Text)+sakPublicData+  = lens _sakPublicData+      (\ s a -> s{_sakPublicData = a})++instance FromJSON ServiceAccountKey where+        parseJSON+          = withObject "ServiceAccountKey"+              (\ o ->+                 ServiceAccountKey' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#serviceAccountKey")+                     <*> (o .:? "data")+                     <*> (o .:? "id")+                     <*> (o .:? "type")+                     <*> (o .:? "publicData"))++instance ToJSON ServiceAccountKey where+        toJSON ServiceAccountKey'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _sakKind), ("data" .=) <$> _sakData,+                  ("id" .=) <$> _sakId, ("type" .=) <$> _sakType,+                  ("publicData" .=) <$> _sakPublicData])++-- | The install resources for the device.+--+-- /See:/ 'installsListResponse' smart constructor.+data InstallsListResponse = InstallsListResponse'+    { _ilrKind    :: !Text+    , _ilrInstall :: !(Maybe [Install])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilrKind'+--+-- * 'ilrInstall'+installsListResponse+    :: InstallsListResponse+installsListResponse =+    InstallsListResponse'+    { _ilrKind = "androidenterprise#installsListResponse"+    , _ilrInstall = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#installsListResponse\".+ilrKind :: Lens' InstallsListResponse Text+ilrKind = lens _ilrKind (\ s a -> s{_ilrKind = a})++-- | An installation of an app for a user on a specific device. The existence+-- of an install implies that the user must have an entitlement to the app.+ilrInstall :: Lens' InstallsListResponse [Install]+ilrInstall+  = lens _ilrInstall (\ s a -> s{_ilrInstall = a}) .+      _Default+      . _Coerce++instance FromJSON InstallsListResponse where+        parseJSON+          = withObject "InstallsListResponse"+              (\ o ->+                 InstallsListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#installsListResponse")+                     <*> (o .:? "install" .!= mempty))++instance ToJSON InstallsListResponse where+        toJSON InstallsListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ilrKind),+                  ("install" .=) <$> _ilrInstall])++-- | A restriction in the App Restriction Schema represents a piece of+-- configuration that may be pre-applied.+--+-- /See:/ 'appRestrictionsSchemaRestriction' smart constructor.+data AppRestrictionsSchemaRestriction = AppRestrictionsSchemaRestriction'+    { _arsrRestrictionType   :: !(Maybe Text)+    , _arsrEntry             :: !(Maybe [Text])+    , _arsrKey               :: !(Maybe Text)+    , _arsrEntryValue        :: !(Maybe [Text])+    , _arsrDefaultValue      :: !(Maybe AppRestrictionsSchemaRestrictionRestrictionValue)+    , _arsrTitle             :: !(Maybe Text)+    , _arsrDescription       :: !(Maybe Text)+    , _arsrNestedRestriction :: !(Maybe [AppRestrictionsSchemaRestriction])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchemaRestriction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsrRestrictionType'+--+-- * 'arsrEntry'+--+-- * 'arsrKey'+--+-- * 'arsrEntryValue'+--+-- * 'arsrDefaultValue'+--+-- * 'arsrTitle'+--+-- * 'arsrDescription'+--+-- * 'arsrNestedRestriction'+appRestrictionsSchemaRestriction+    :: AppRestrictionsSchemaRestriction+appRestrictionsSchemaRestriction =+    AppRestrictionsSchemaRestriction'+    { _arsrRestrictionType = Nothing+    , _arsrEntry = Nothing+    , _arsrKey = Nothing+    , _arsrEntryValue = Nothing+    , _arsrDefaultValue = Nothing+    , _arsrTitle = Nothing+    , _arsrDescription = Nothing+    , _arsrNestedRestriction = Nothing+    }++-- | The type of the restriction.+arsrRestrictionType :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrRestrictionType+  = lens _arsrRestrictionType+      (\ s a -> s{_arsrRestrictionType = a})++-- | For choice or multiselect restrictions, the list of possible entries\'+-- human-readable names.+arsrEntry :: Lens' AppRestrictionsSchemaRestriction [Text]+arsrEntry+  = lens _arsrEntry (\ s a -> s{_arsrEntry = a}) .+      _Default+      . _Coerce++-- | The unique key that the product uses to identify the restriction, e.g.+-- \"com.google.android.gm.fieldname\".+arsrKey :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrKey = lens _arsrKey (\ s a -> s{_arsrKey = a})++-- | For choice or multiselect restrictions, the list of possible entries\'+-- machine-readable values. These values should be used in the+-- configuration, either as a single string value for a choice restriction+-- or in a stringArray for a multiselect restriction.+arsrEntryValue :: Lens' AppRestrictionsSchemaRestriction [Text]+arsrEntryValue+  = lens _arsrEntryValue+      (\ s a -> s{_arsrEntryValue = a})+      . _Default+      . _Coerce++-- | The default value of the restriction. bundle and bundleArray+-- restrictions never have a default value.+arsrDefaultValue :: Lens' AppRestrictionsSchemaRestriction (Maybe AppRestrictionsSchemaRestrictionRestrictionValue)+arsrDefaultValue+  = lens _arsrDefaultValue+      (\ s a -> s{_arsrDefaultValue = a})++-- | The name of the restriction.+arsrTitle :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrTitle+  = lens _arsrTitle (\ s a -> s{_arsrTitle = a})++-- | A longer description of the restriction, giving more detail of what it+-- affects.+arsrDescription :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrDescription+  = lens _arsrDescription+      (\ s a -> s{_arsrDescription = a})++-- | For bundle or bundleArray restrictions, the list of nested restrictions.+-- A bundle restriction is always nested within a bundleArray restriction,+-- and a bundleArray restriction is at most two levels deep.+arsrNestedRestriction :: Lens' AppRestrictionsSchemaRestriction [AppRestrictionsSchemaRestriction]+arsrNestedRestriction+  = lens _arsrNestedRestriction+      (\ s a -> s{_arsrNestedRestriction = a})+      . _Default+      . _Coerce++instance FromJSON AppRestrictionsSchemaRestriction+         where+        parseJSON+          = withObject "AppRestrictionsSchemaRestriction"+              (\ o ->+                 AppRestrictionsSchemaRestriction' <$>+                   (o .:? "restrictionType") <*>+                     (o .:? "entry" .!= mempty)+                     <*> (o .:? "key")+                     <*> (o .:? "entryValue" .!= mempty)+                     <*> (o .:? "defaultValue")+                     <*> (o .:? "title")+                     <*> (o .:? "description")+                     <*> (o .:? "nestedRestriction" .!= mempty))++instance ToJSON AppRestrictionsSchemaRestriction+         where+        toJSON AppRestrictionsSchemaRestriction'{..}+          = object+              (catMaybes+                 [("restrictionType" .=) <$> _arsrRestrictionType,+                  ("entry" .=) <$> _arsrEntry, ("key" .=) <$> _arsrKey,+                  ("entryValue" .=) <$> _arsrEntryValue,+                  ("defaultValue" .=) <$> _arsrDefaultValue,+                  ("title" .=) <$> _arsrTitle,+                  ("description" .=) <$> _arsrDescription,+                  ("nestedRestriction" .=) <$> _arsrNestedRestriction])++-- | The policy for a product.+--+-- /See:/ 'productPolicy' smart constructor.+data ProductPolicy = ProductPolicy'+    { _ppTracks            :: !(Maybe [Text])+    , _ppTrackIds          :: !(Maybe [Text])+    , _ppAutoInstallPolicy :: !(Maybe AutoInstallPolicy)+    , _ppProductId         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppTracks'+--+-- * 'ppTrackIds'+--+-- * 'ppAutoInstallPolicy'+--+-- * 'ppProductId'+productPolicy+    :: ProductPolicy+productPolicy =+    ProductPolicy'+    { _ppTracks = Nothing+    , _ppTrackIds = Nothing+    , _ppAutoInstallPolicy = Nothing+    , _ppProductId = Nothing+    }++-- | Deprecated. Use trackIds instead.+ppTracks :: Lens' ProductPolicy [Text]+ppTracks+  = lens _ppTracks (\ s a -> s{_ppTracks = a}) .+      _Default+      . _Coerce++-- | Grants the device visibility to the specified product release track(s),+-- identified by trackIds. The list of release tracks of a product can be+-- obtained by calling Products.Get.+ppTrackIds :: Lens' ProductPolicy [Text]+ppTrackIds+  = lens _ppTrackIds (\ s a -> s{_ppTrackIds = a}) .+      _Default+      . _Coerce++-- | The auto install policy for the product.+ppAutoInstallPolicy :: Lens' ProductPolicy (Maybe AutoInstallPolicy)+ppAutoInstallPolicy+  = lens _ppAutoInstallPolicy+      (\ s a -> s{_ppAutoInstallPolicy = a})++-- | The ID of the product. For example, \"app:com.google.android.gm\".+ppProductId :: Lens' ProductPolicy (Maybe Text)+ppProductId+  = lens _ppProductId (\ s a -> s{_ppProductId = a})++instance FromJSON ProductPolicy where+        parseJSON+          = withObject "ProductPolicy"+              (\ o ->+                 ProductPolicy' <$>+                   (o .:? "tracks" .!= mempty) <*>+                     (o .:? "trackIds" .!= mempty)+                     <*> (o .:? "autoInstallPolicy")+                     <*> (o .:? "productId"))++instance ToJSON ProductPolicy where+        toJSON ProductPolicy'{..}+          = object+              (catMaybes+                 [("tracks" .=) <$> _ppTracks,+                  ("trackIds" .=) <$> _ppTrackIds,+                  ("autoInstallPolicy" .=) <$> _ppAutoInstallPolicy,+                  ("productId" .=) <$> _ppProductId])++-- | This represents an enterprise admin who can manage the enterprise in the+-- managed Google Play store.+--+-- /See:/ 'administrator' smart constructor.+newtype Administrator = Administrator'+    { _aEmail :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Administrator' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aEmail'+administrator+    :: Administrator+administrator =+    Administrator'+    { _aEmail = Nothing+    }++-- | The admin\'s email address.+aEmail :: Lens' Administrator (Maybe Text)+aEmail = lens _aEmail (\ s a -> s{_aEmail = a})++instance FromJSON Administrator where+        parseJSON+          = withObject "Administrator"+              (\ o -> Administrator' <$> (o .:? "email"))++instance ToJSON Administrator where+        toJSON Administrator'{..}+          = object (catMaybes [("email" .=) <$> _aEmail])++-- | The matching user resources.+--+-- /See:/ 'usersListResponse' smart constructor.+data UsersListResponse = UsersListResponse'+    { _ulrKind :: !Text+    , _ulrUser :: !(Maybe [User])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulrKind'+--+-- * 'ulrUser'+usersListResponse+    :: UsersListResponse+usersListResponse =+    UsersListResponse'+    { _ulrKind = "androidenterprise#usersListResponse"+    , _ulrUser = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#usersListResponse\".+ulrKind :: Lens' UsersListResponse Text+ulrKind = lens _ulrKind (\ s a -> s{_ulrKind = a})++-- | A user of an enterprise.+ulrUser :: Lens' UsersListResponse [User]+ulrUser+  = lens _ulrUser (\ s a -> s{_ulrUser = a}) . _Default+      . _Coerce++instance FromJSON UsersListResponse where+        parseJSON+          = withObject "UsersListResponse"+              (\ o ->+                 UsersListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#usersListResponse")+                     <*> (o .:? "user" .!= mempty))++instance ToJSON UsersListResponse where+        toJSON UsersListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ulrKind),+                  ("user" .=) <$> _ulrUser])++--+-- /See:/ 'administratorWebTokenSpecStoreBuilder' smart constructor.+newtype AdministratorWebTokenSpecStoreBuilder = AdministratorWebTokenSpecStoreBuilder'+    { _awtssbEnabled :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebTokenSpecStoreBuilder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtssbEnabled'+administratorWebTokenSpecStoreBuilder+    :: AdministratorWebTokenSpecStoreBuilder+administratorWebTokenSpecStoreBuilder =+    AdministratorWebTokenSpecStoreBuilder'+    { _awtssbEnabled = Nothing+    }++-- | Whether the Organize apps page is displayed. Default is true.+awtssbEnabled :: Lens' AdministratorWebTokenSpecStoreBuilder (Maybe Bool)+awtssbEnabled+  = lens _awtssbEnabled+      (\ s a -> s{_awtssbEnabled = a})++instance FromJSON+         AdministratorWebTokenSpecStoreBuilder where+        parseJSON+          = withObject "AdministratorWebTokenSpecStoreBuilder"+              (\ o ->+                 AdministratorWebTokenSpecStoreBuilder' <$>+                   (o .:? "enabled"))++instance ToJSON AdministratorWebTokenSpecStoreBuilder+         where+        toJSON AdministratorWebTokenSpecStoreBuilder'{..}+          = object+              (catMaybes [("enabled" .=) <$> _awtssbEnabled])++-- | An AuthenticationToken is used by the EMM\'s device policy client on a+-- device to provision the given EMM-managed user on that device.+--+-- /See:/ 'authenticationToken' smart constructor.+data AuthenticationToken = AuthenticationToken'+    { _atKind  :: !Text+    , _atToken :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuthenticationToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atKind'+--+-- * 'atToken'+authenticationToken+    :: AuthenticationToken+authenticationToken =+    AuthenticationToken'+    { _atKind = "androidenterprise#authenticationToken"+    , _atToken = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#authenticationToken\".+atKind :: Lens' AuthenticationToken Text+atKind = lens _atKind (\ s a -> s{_atKind = a})++-- | The authentication token to be passed to the device policy client on the+-- device where it can be used to provision the account for which this+-- token was generated.+atToken :: Lens' AuthenticationToken (Maybe Text)+atToken = lens _atToken (\ s a -> s{_atToken = a})++instance FromJSON AuthenticationToken where+        parseJSON+          = withObject "AuthenticationToken"+              (\ o ->+                 AuthenticationToken' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#authenticationToken")+                     <*> (o .:? "token"))++instance ToJSON AuthenticationToken where+        toJSON AuthenticationToken'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _atKind),+                  ("token" .=) <$> _atToken])++-- | A managed configurations settings resource contains the set of managed+-- properties that have been configured for an Android app to be applied to+-- a set of users. The app\'s developer would have defined configurable+-- properties in the managed configurations schema.+--+-- /See:/ 'managedConfigurationsSettings' smart constructor.+data ManagedConfigurationsSettings = ManagedConfigurationsSettings'+    { _mcsLastUpdatedTimestampMillis :: !(Maybe (Textual Int64))+    , _mcsManagedProperty            :: !(Maybe [ManagedProperty])+    , _mcsKind                       :: !Text+    , _mcsMcmId                      :: !(Maybe Text)+    , _mcsName                       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationsSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcsLastUpdatedTimestampMillis'+--+-- * 'mcsManagedProperty'+--+-- * 'mcsKind'+--+-- * 'mcsMcmId'+--+-- * 'mcsName'+managedConfigurationsSettings+    :: ManagedConfigurationsSettings+managedConfigurationsSettings =+    ManagedConfigurationsSettings'+    { _mcsLastUpdatedTimestampMillis = Nothing+    , _mcsManagedProperty = Nothing+    , _mcsKind = "androidenterprise#managedConfigurationsSettings"+    , _mcsMcmId = Nothing+    , _mcsName = Nothing+    }++-- | The last updated time of the managed configuration settings in+-- milliseconds since 1970-01-01T00:00:00Z.+mcsLastUpdatedTimestampMillis :: Lens' ManagedConfigurationsSettings (Maybe Int64)+mcsLastUpdatedTimestampMillis+  = lens _mcsLastUpdatedTimestampMillis+      (\ s a -> s{_mcsLastUpdatedTimestampMillis = a})+      . mapping _Coerce++-- | The set of managed properties for this configuration.+mcsManagedProperty :: Lens' ManagedConfigurationsSettings [ManagedProperty]+mcsManagedProperty+  = lens _mcsManagedProperty+      (\ s a -> s{_mcsManagedProperty = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#managedConfigurationsSettings\".+mcsKind :: Lens' ManagedConfigurationsSettings Text+mcsKind = lens _mcsKind (\ s a -> s{_mcsKind = a})++-- | The ID of the managed configurations settings.+mcsMcmId :: Lens' ManagedConfigurationsSettings (Maybe Text)+mcsMcmId = lens _mcsMcmId (\ s a -> s{_mcsMcmId = a})++-- | The name of the managed configurations settings.+mcsName :: Lens' ManagedConfigurationsSettings (Maybe Text)+mcsName = lens _mcsName (\ s a -> s{_mcsName = a})++instance FromJSON ManagedConfigurationsSettings where+        parseJSON+          = withObject "ManagedConfigurationsSettings"+              (\ o ->+                 ManagedConfigurationsSettings' <$>+                   (o .:? "lastUpdatedTimestampMillis") <*>+                     (o .:? "managedProperty" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "androidenterprise#managedConfigurationsSettings")+                     <*> (o .:? "mcmId")+                     <*> (o .:? "name"))++instance ToJSON ManagedConfigurationsSettings where+        toJSON ManagedConfigurationsSettings'{..}+          = object+              (catMaybes+                 [("lastUpdatedTimestampMillis" .=) <$>+                    _mcsLastUpdatedTimestampMillis,+                  ("managedProperty" .=) <$> _mcsManagedProperty,+                  Just ("kind" .= _mcsKind),+                  ("mcmId" .=) <$> _mcsMcmId,+                  ("name" .=) <$> _mcsName])++-- | This represents a single version of the app.+--+-- /See:/ 'appVersion' smart constructor.+data AppVersion = AppVersion'+    { _avTrack         :: !(Maybe Text)+    , _avVersionCode   :: !(Maybe (Textual Int32))+    , _avVersionString :: !(Maybe Text)+    , _avTrackId       :: !(Maybe [Text])+    , _avIsProduction  :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avTrack'+--+-- * 'avVersionCode'+--+-- * 'avVersionString'+--+-- * 'avTrackId'+--+-- * 'avIsProduction'+appVersion+    :: AppVersion+appVersion =+    AppVersion'+    { _avTrack = Nothing+    , _avVersionCode = Nothing+    , _avVersionString = Nothing+    , _avTrackId = Nothing+    , _avIsProduction = Nothing+    }++-- | Deprecated, use trackId instead.+avTrack :: Lens' AppVersion (Maybe Text)+avTrack = lens _avTrack (\ s a -> s{_avTrack = a})++-- | Unique increasing identifier for the app version.+avVersionCode :: Lens' AppVersion (Maybe Int32)+avVersionCode+  = lens _avVersionCode+      (\ s a -> s{_avVersionCode = a})+      . mapping _Coerce++-- | The string used in the Play store by the app developer to identify the+-- version. The string is not necessarily unique or localized (for example,+-- the string could be \"1.4\").+avVersionString :: Lens' AppVersion (Maybe Text)+avVersionString+  = lens _avVersionString+      (\ s a -> s{_avVersionString = a})++-- | Track ids that the app version is published in. Replaces the track field+-- (deprecated), but doesn\'t include the production track (see+-- isProduction instead).+avTrackId :: Lens' AppVersion [Text]+avTrackId+  = lens _avTrackId (\ s a -> s{_avTrackId = a}) .+      _Default+      . _Coerce++-- | True if this version is a production APK.+avIsProduction :: Lens' AppVersion (Maybe Bool)+avIsProduction+  = lens _avIsProduction+      (\ s a -> s{_avIsProduction = a})++instance FromJSON AppVersion where+        parseJSON+          = withObject "AppVersion"+              (\ o ->+                 AppVersion' <$>+                   (o .:? "track") <*> (o .:? "versionCode") <*>+                     (o .:? "versionString")+                     <*> (o .:? "trackId" .!= mempty)+                     <*> (o .:? "isProduction"))++instance ToJSON AppVersion where+        toJSON AppVersion'{..}+          = object+              (catMaybes+                 [("track" .=) <$> _avTrack,+                  ("versionCode" .=) <$> _avVersionCode,+                  ("versionString" .=) <$> _avVersionString,+                  ("trackId" .=) <$> _avTrackId,+                  ("isProduction" .=) <$> _avIsProduction])++-- | A bundle of managed properties.+--+-- /See:/ 'managedPropertyBundle' smart constructor.+newtype ManagedPropertyBundle = ManagedPropertyBundle'+    { _mpbManagedProperty :: Maybe [ManagedProperty]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedPropertyBundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpbManagedProperty'+managedPropertyBundle+    :: ManagedPropertyBundle+managedPropertyBundle =+    ManagedPropertyBundle'+    { _mpbManagedProperty = Nothing+    }++-- | The list of managed properties.+mpbManagedProperty :: Lens' ManagedPropertyBundle [ManagedProperty]+mpbManagedProperty+  = lens _mpbManagedProperty+      (\ s a -> s{_mpbManagedProperty = a})+      . _Default+      . _Coerce++instance FromJSON ManagedPropertyBundle where+        parseJSON+          = withObject "ManagedPropertyBundle"+              (\ o ->+                 ManagedPropertyBundle' <$>+                   (o .:? "managedProperty" .!= mempty))++instance ToJSON ManagedPropertyBundle where+        toJSON ManagedPropertyBundle'{..}+          = object+              (catMaybes+                 [("managedProperty" .=) <$> _mpbManagedProperty])++-- | The grouplicense resources for the enterprise.+--+-- /See:/ 'groupLicensesListResponse' smart constructor.+data GroupLicensesListResponse = GroupLicensesListResponse'+    { _gllrGroupLicense :: !(Maybe [GroupLicense])+    , _gllrKind         :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicensesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gllrGroupLicense'+--+-- * 'gllrKind'+groupLicensesListResponse+    :: GroupLicensesListResponse+groupLicensesListResponse =+    GroupLicensesListResponse'+    { _gllrGroupLicense = Nothing+    , _gllrKind = "androidenterprise#groupLicensesListResponse"+    }++-- | A group license for a product approved for use in the enterprise.+gllrGroupLicense :: Lens' GroupLicensesListResponse [GroupLicense]+gllrGroupLicense+  = lens _gllrGroupLicense+      (\ s a -> s{_gllrGroupLicense = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicensesListResponse\".+gllrKind :: Lens' GroupLicensesListResponse Text+gllrKind = lens _gllrKind (\ s a -> s{_gllrKind = a})++instance FromJSON GroupLicensesListResponse where+        parseJSON+          = withObject "GroupLicensesListResponse"+              (\ o ->+                 GroupLicensesListResponse' <$>+                   (o .:? "groupLicense" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "androidenterprise#groupLicensesListResponse"))++instance ToJSON GroupLicensesListResponse where+        toJSON GroupLicensesListResponse'{..}+          = object+              (catMaybes+                 [("groupLicense" .=) <$> _gllrGroupLicense,+                  Just ("kind" .= _gllrKind)])++-- | Deprecated and unused.+--+-- /See:/ 'androidDevicePolicyConfig' smart constructor.+data AndroidDevicePolicyConfig = AndroidDevicePolicyConfig'+    { _adpcState :: !(Maybe Text)+    , _adpcKind  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AndroidDevicePolicyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adpcState'+--+-- * 'adpcKind'+androidDevicePolicyConfig+    :: AndroidDevicePolicyConfig+androidDevicePolicyConfig =+    AndroidDevicePolicyConfig'+    { _adpcState = Nothing+    , _adpcKind = "androidenterprise#androidDevicePolicyConfig"+    }++-- | Deprecated and unused.+adpcState :: Lens' AndroidDevicePolicyConfig (Maybe Text)+adpcState+  = lens _adpcState (\ s a -> s{_adpcState = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#androidDevicePolicyConfig\".+adpcKind :: Lens' AndroidDevicePolicyConfig Text+adpcKind = lens _adpcKind (\ s a -> s{_adpcKind = a})++instance FromJSON AndroidDevicePolicyConfig where+        parseJSON+          = withObject "AndroidDevicePolicyConfig"+              (\ o ->+                 AndroidDevicePolicyConfig' <$>+                   (o .:? "state") <*>+                     (o .:? "kind" .!=+                        "androidenterprise#androidDevicePolicyConfig"))++instance ToJSON AndroidDevicePolicyConfig where+        toJSON AndroidDevicePolicyConfig'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _adpcState,+                  Just ("kind" .= _adpcKind)])++-- | A set of products.+--+-- /See:/ 'productSet' smart constructor.+data ProductSet = ProductSet'+    { _psProductVisibility  :: !(Maybe [ProductVisibility])+    , _psKind               :: !Text+    , _psProductSetBehavior :: !(Maybe Text)+    , _psProductId          :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psProductVisibility'+--+-- * 'psKind'+--+-- * 'psProductSetBehavior'+--+-- * 'psProductId'+productSet+    :: ProductSet+productSet =+    ProductSet'+    { _psProductVisibility = Nothing+    , _psKind = "androidenterprise#productSet"+    , _psProductSetBehavior = Nothing+    , _psProductId = Nothing+    }++-- | Additional list of product IDs making up the product set. Unlike the+-- productID array, in this list It\'s possible to specify which tracks+-- (alpha, beta, production) of a product are visible to the user. See+-- ProductVisibility and its fields for more information. Specifying the+-- same product ID both here and in the productId array is not allowed and+-- it will result in an error.+psProductVisibility :: Lens' ProductSet [ProductVisibility]+psProductVisibility+  = lens _psProductVisibility+      (\ s a -> s{_psProductVisibility = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#productSet\".+psKind :: Lens' ProductSet Text+psKind = lens _psKind (\ s a -> s{_psKind = a})++-- | The interpretation of this product set. \"unknown\" should never be sent+-- and is ignored if received. \"whitelist\" means that the user is+-- entitled to access the product set. \"includeAll\" means that all+-- products are accessible, including products that are approved, products+-- with revoked approval, and products that have never been approved.+-- \"allApproved\" means that the user is entitled to access all products+-- that are approved for the enterprise. If the value is \"allApproved\" or+-- \"includeAll\", the productId field is ignored. If no value is provided,+-- it is interpreted as \"whitelist\" for backwards compatibility. Further+-- \"allApproved\" or \"includeAll\" does not enable automatic visibility+-- of \"alpha\" or \"beta\" tracks for Android app. Use ProductVisibility+-- to enable \"alpha\" or \"beta\" tracks per user.+psProductSetBehavior :: Lens' ProductSet (Maybe Text)+psProductSetBehavior+  = lens _psProductSetBehavior+      (\ s a -> s{_psProductSetBehavior = a})++-- | The list of product IDs making up the set of products.+psProductId :: Lens' ProductSet [Text]+psProductId+  = lens _psProductId (\ s a -> s{_psProductId = a}) .+      _Default+      . _Coerce++instance FromJSON ProductSet where+        parseJSON+          = withObject "ProductSet"+              (\ o ->+                 ProductSet' <$>+                   (o .:? "productVisibility" .!= mempty) <*>+                     (o .:? "kind" .!= "androidenterprise#productSet")+                     <*> (o .:? "productSetBehavior")+                     <*> (o .:? "productId" .!= mempty))++instance ToJSON ProductSet where+        toJSON ProductSet'{..}+          = object+              (catMaybes+                 [("productVisibility" .=) <$> _psProductVisibility,+                  Just ("kind" .= _psKind),+                  ("productSetBehavior" .=) <$> _psProductSetBehavior,+                  ("productId" .=) <$> _psProductId])++-- | The existence of an Installs resource indicates that an app is installed+-- on a particular device (or that an install is pending). The API can be+-- used to create an install resource using the update method. This+-- triggers the actual install of the app on the device. If the user does+-- not already have an entitlement for the app, then an attempt is made to+-- create one. If this fails (for example, because the app is not free and+-- there is no available license), then the creation of the install fails.+-- The API can also be used to update an installed app. If+-- the update method is used on an existing install, then the app will be+-- updated to the latest available version. Note that it is not possible to+-- force the installation of a specific version of an app: the version code+-- is read-only. If a user installs an app themselves (as permitted by the+-- enterprise), then again an install resource and possibly an entitlement+-- resource are automatically created. The API can also be used to delete+-- an install resource, which triggers the removal of the app from the+-- device. Note that deleting an install does not automatically remove the+-- corresponding entitlement, even if there are no remaining installs. The+-- install resource will also be deleted if the user uninstalls the app+-- themselves.+--+-- /See:/ 'install' smart constructor.+data Install = Install'+    { _iVersionCode  :: !(Maybe (Textual Int32))+    , _iKind         :: !Text+    , _iInstallState :: !(Maybe Text)+    , _iProductId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Install' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iVersionCode'+--+-- * 'iKind'+--+-- * 'iInstallState'+--+-- * 'iProductId'+install+    :: Install+install =+    Install'+    { _iVersionCode = Nothing+    , _iKind = "androidenterprise#install"+    , _iInstallState = Nothing+    , _iProductId = Nothing+    }++-- | The version of the installed product. Guaranteed to be set only if the+-- install state is \"installed\".+iVersionCode :: Lens' Install (Maybe Int32)+iVersionCode+  = lens _iVersionCode (\ s a -> s{_iVersionCode = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#install\".+iKind :: Lens' Install Text+iKind = lens _iKind (\ s a -> s{_iKind = a})++-- | Install state. The state \"installPending\" means that an install+-- request has recently been made and download to the device is in+-- progress. The state \"installed\" means that the app has been installed.+-- This field is read-only.+iInstallState :: Lens' Install (Maybe Text)+iInstallState+  = lens _iInstallState+      (\ s a -> s{_iInstallState = a})++-- | The ID of the product that the install is for. For example,+-- \"app:com.google.android.gm\".+iProductId :: Lens' Install (Maybe Text)+iProductId+  = lens _iProductId (\ s a -> s{_iProductId = a})++instance FromJSON Install where+        parseJSON+          = withObject "Install"+              (\ o ->+                 Install' <$>+                   (o .:? "versionCode") <*>+                     (o .:? "kind" .!= "androidenterprise#install")+                     <*> (o .:? "installState")+                     <*> (o .:? "productId"))++instance ToJSON Install where+        toJSON Install'{..}+          = object+              (catMaybes+                 [("versionCode" .=) <$> _iVersionCode,+                  Just ("kind" .= _iKind),+                  ("installState" .=) <$> _iInstallState,+                  ("productId" .=) <$> _iProductId])++-- | Maintenance window for managed Google Play Accounts. This allows Play+-- store to update the apps on the foreground in the designated window.+--+-- /See:/ 'maintenanceWindow' smart constructor.+data MaintenanceWindow = MaintenanceWindow'+    { _mwDurationMs               :: !(Maybe (Textual Int64))+    , _mwStartTimeAfterMidnightMs :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MaintenanceWindow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwDurationMs'+--+-- * 'mwStartTimeAfterMidnightMs'+maintenanceWindow+    :: MaintenanceWindow+maintenanceWindow =+    MaintenanceWindow'+    { _mwDurationMs = Nothing+    , _mwStartTimeAfterMidnightMs = Nothing+    }++-- | Duration of the maintenance window, in milliseconds. The duration must+-- be between 30 minutes and 24 hours (inclusive).+mwDurationMs :: Lens' MaintenanceWindow (Maybe Int64)+mwDurationMs+  = lens _mwDurationMs (\ s a -> s{_mwDurationMs = a})+      . mapping _Coerce++-- | Start time of the maintenance window, in milliseconds after midnight on+-- the device. Windows can span midnight.+mwStartTimeAfterMidnightMs :: Lens' MaintenanceWindow (Maybe Int64)+mwStartTimeAfterMidnightMs+  = lens _mwStartTimeAfterMidnightMs+      (\ s a -> s{_mwStartTimeAfterMidnightMs = a})+      . mapping _Coerce++instance FromJSON MaintenanceWindow where+        parseJSON+          = withObject "MaintenanceWindow"+              (\ o ->+                 MaintenanceWindow' <$>+                   (o .:? "durationMs") <*>+                     (o .:? "startTimeAfterMidnightMs"))++instance ToJSON MaintenanceWindow where+        toJSON MaintenanceWindow'{..}+          = object+              (catMaybes+                 [("durationMs" .=) <$> _mwDurationMs,+                  ("startTimeAfterMidnightMs" .=) <$>+                    _mwStartTimeAfterMidnightMs])++--+-- /See:/ 'serviceAccountKeysListResponse' smart constructor.+newtype ServiceAccountKeysListResponse = ServiceAccountKeysListResponse'+    { _saklrServiceAccountKey :: Maybe [ServiceAccountKey]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServiceAccountKeysListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saklrServiceAccountKey'+serviceAccountKeysListResponse+    :: ServiceAccountKeysListResponse+serviceAccountKeysListResponse =+    ServiceAccountKeysListResponse'+    { _saklrServiceAccountKey = Nothing+    }++-- | The service account credentials.+saklrServiceAccountKey :: Lens' ServiceAccountKeysListResponse [ServiceAccountKey]+saklrServiceAccountKey+  = lens _saklrServiceAccountKey+      (\ s a -> s{_saklrServiceAccountKey = a})+      . _Default+      . _Coerce++instance FromJSON ServiceAccountKeysListResponse+         where+        parseJSON+          = withObject "ServiceAccountKeysListResponse"+              (\ o ->+                 ServiceAccountKeysListResponse' <$>+                   (o .:? "serviceAccountKey" .!= mempty))++instance ToJSON ServiceAccountKeysListResponse where+        toJSON ServiceAccountKeysListResponse'{..}+          = object+              (catMaybes+                 [("serviceAccountKey" .=) <$>+                    _saklrServiceAccountKey])++-- | Id to name association of a track.+--+-- /See:/ 'trackInfo' smart constructor.+data TrackInfo = TrackInfo'+    { _tiTrackAlias :: !(Maybe Text)+    , _tiTrackId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TrackInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiTrackAlias'+--+-- * 'tiTrackId'+trackInfo+    :: TrackInfo+trackInfo =+    TrackInfo'+    { _tiTrackAlias = Nothing+    , _tiTrackId = Nothing+    }++-- | A modifiable name for a track. This is the visible name in the play+-- developer console.+tiTrackAlias :: Lens' TrackInfo (Maybe Text)+tiTrackAlias+  = lens _tiTrackAlias (\ s a -> s{_tiTrackAlias = a})++-- | Unmodifiable, unique track identifier. This identifier is the+-- releaseTrackId in the url of the play developer console page that+-- displays the track information.+tiTrackId :: Lens' TrackInfo (Maybe Text)+tiTrackId+  = lens _tiTrackId (\ s a -> s{_tiTrackId = a})++instance FromJSON TrackInfo where+        parseJSON+          = withObject "TrackInfo"+              (\ o ->+                 TrackInfo' <$>+                   (o .:? "trackAlias") <*> (o .:? "trackId"))++instance ToJSON TrackInfo where+        toJSON TrackInfo'{..}+          = object+              (catMaybes+                 [("trackAlias" .=) <$> _tiTrackAlias,+                  ("trackId" .=) <$> _tiTrackId])++-- | A Users resource represents an account associated with an enterprise.+-- The account may be specific to a device or to an individual user (who+-- can then use the account across multiple devices). The account may+-- provide access to managed Google Play only, or to other Google services,+-- depending on the identity model: - The Google managed domain identity+-- model requires synchronization to Google account sources (via+-- primaryEmail). - The managed Google Play Accounts identity model+-- provides a dynamic means for enterprises to create user or device+-- accounts as needed. These accounts provide access to managed Google+-- Play.+--+-- /See:/ 'user' smart constructor.+data User = User'+    { _uAccountIdentifier :: !(Maybe Text)+    , _uKind              :: !Text+    , _uDisplayName       :: !(Maybe Text)+    , _uId                :: !(Maybe Text)+    , _uPrimaryEmail      :: !(Maybe Text)+    , _uManagementType    :: !(Maybe Text)+    , _uAccountType       :: !(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'+--+-- * 'uKind'+--+-- * 'uDisplayName'+--+-- * 'uId'+--+-- * 'uPrimaryEmail'+--+-- * 'uManagementType'+--+-- * 'uAccountType'+user+    :: User+user =+    User'+    { _uAccountIdentifier = Nothing+    , _uKind = "androidenterprise#user"+    , _uDisplayName = Nothing+    , _uId = Nothing+    , _uPrimaryEmail = Nothing+    , _uManagementType = Nothing+    , _uAccountType = Nothing+    }++-- | A unique identifier you create for this user, such as \"user342\" or+-- \"asset#44418\". Do not use personally identifiable information (PII)+-- for this property. Must always be set for EMM-managed users. Not set for+-- Google-managed users.+uAccountIdentifier :: Lens' User (Maybe Text)+uAccountIdentifier+  = lens _uAccountIdentifier+      (\ s a -> s{_uAccountIdentifier = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#user\".+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The name that will appear in user interfaces. Setting this property is+-- optional when creating EMM-managed users. If you do set this property,+-- use something generic about the organization (such as \"Example, Inc.\")+-- or your name (as EMM). Not used for Google-managed user accounts.+uDisplayName :: Lens' User (Maybe Text)+uDisplayName+  = lens _uDisplayName (\ s a -> s{_uDisplayName = a})++-- | The unique ID for the user.+uId :: Lens' User (Maybe Text)+uId = lens _uId (\ s a -> s{_uId = a})++-- | The user\'s primary email address, for example, \"jsmith\'example.com\".+-- Will always be set for Google managed users and not set for EMM managed+-- users.+uPrimaryEmail :: Lens' User (Maybe Text)+uPrimaryEmail+  = lens _uPrimaryEmail+      (\ s a -> s{_uPrimaryEmail = a})++-- | The entity that manages the user. With googleManaged users, the source+-- of truth is Google so EMMs have to make sure a Google Account exists for+-- the user. With emmManaged users, the EMM is in charge.+uManagementType :: Lens' User (Maybe Text)+uManagementType+  = lens _uManagementType+      (\ s a -> s{_uManagementType = a})++-- | The type of account that this user represents. A userAccount can be+-- installed on multiple devices, but a deviceAccount is specific to a+-- single device. An EMM-managed user (emmManaged) can be either type+-- (userAccount, deviceAccount), but a Google-managed user (googleManaged)+-- is always a userAccount.+uAccountType :: Lens' User (Maybe Text)+uAccountType+  = lens _uAccountType (\ s a -> s{_uAccountType = a})++instance FromJSON User where+        parseJSON+          = withObject "User"+              (\ o ->+                 User' <$>+                   (o .:? "accountIdentifier") <*>+                     (o .:? "kind" .!= "androidenterprise#user")+                     <*> (o .:? "displayName")+                     <*> (o .:? "id")+                     <*> (o .:? "primaryEmail")+                     <*> (o .:? "managementType")+                     <*> (o .:? "accountType"))++instance ToJSON User where+        toJSON User'{..}+          = object+              (catMaybes+                 [("accountIdentifier" .=) <$> _uAccountIdentifier,+                  Just ("kind" .= _uKind),+                  ("displayName" .=) <$> _uDisplayName,+                  ("id" .=) <$> _uId,+                  ("primaryEmail" .=) <$> _uPrimaryEmail,+                  ("managementType" .=) <$> _uManagementType,+                  ("accountType" .=) <$> _uAccountType])++-- | The managed configuration resources for the device.+--+-- /See:/ 'managedConfigurationsForDeviceListResponse' smart constructor.+data ManagedConfigurationsForDeviceListResponse = ManagedConfigurationsForDeviceListResponse'+    { _mcfdlrKind                          :: !Text+    , _mcfdlrManagedConfigurationForDevice :: !(Maybe [ManagedConfiguration])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationsForDeviceListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcfdlrKind'+--+-- * 'mcfdlrManagedConfigurationForDevice'+managedConfigurationsForDeviceListResponse+    :: ManagedConfigurationsForDeviceListResponse+managedConfigurationsForDeviceListResponse =+    ManagedConfigurationsForDeviceListResponse'+    { _mcfdlrKind = "androidenterprise#managedConfigurationsForDeviceListResponse"+    , _mcfdlrManagedConfigurationForDevice = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#managedConfigurationsForDeviceListResponse\".+mcfdlrKind :: Lens' ManagedConfigurationsForDeviceListResponse Text+mcfdlrKind+  = lens _mcfdlrKind (\ s a -> s{_mcfdlrKind = a})++-- | A managed configuration for an app on a specific device.+mcfdlrManagedConfigurationForDevice :: Lens' ManagedConfigurationsForDeviceListResponse [ManagedConfiguration]+mcfdlrManagedConfigurationForDevice+  = lens _mcfdlrManagedConfigurationForDevice+      (\ s a ->+         s{_mcfdlrManagedConfigurationForDevice = a})+      . _Default+      . _Coerce++instance FromJSON+         ManagedConfigurationsForDeviceListResponse where+        parseJSON+          = withObject+              "ManagedConfigurationsForDeviceListResponse"+              (\ o ->+                 ManagedConfigurationsForDeviceListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#managedConfigurationsForDeviceListResponse")+                     <*>+                     (o .:? "managedConfigurationForDevice" .!= mempty))++instance ToJSON+         ManagedConfigurationsForDeviceListResponse where+        toJSON+          ManagedConfigurationsForDeviceListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mcfdlrKind),+                  ("managedConfigurationForDevice" .=) <$>+                    _mcfdlrManagedConfigurationForDevice])++--+-- /See:/ 'productsGenerateApprovalURLResponse' smart constructor.+newtype ProductsGenerateApprovalURLResponse = ProductsGenerateApprovalURLResponse'+    { _pgaurURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGenerateApprovalURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgaurURL'+productsGenerateApprovalURLResponse+    :: ProductsGenerateApprovalURLResponse+productsGenerateApprovalURLResponse =+    ProductsGenerateApprovalURLResponse'+    { _pgaurURL = Nothing+    }++-- | A URL that can be rendered in an iframe to display the permissions (if+-- any) of a product. This URL can be used to approve the product only once+-- and only within 24 hours of being generated, using the Products.approve+-- call. If the product is currently unapproved and has no permissions,+-- this URL will point to an empty page. If the product is currently+-- approved, a URL will only be generated if that product has added+-- permissions since it was last approved, and the URL will only display+-- those new permissions that have not yet been accepted.+pgaurURL :: Lens' ProductsGenerateApprovalURLResponse (Maybe Text)+pgaurURL = lens _pgaurURL (\ s a -> s{_pgaurURL = a})++instance FromJSON ProductsGenerateApprovalURLResponse+         where+        parseJSON+          = withObject "ProductsGenerateApprovalURLResponse"+              (\ o ->+                 ProductsGenerateApprovalURLResponse' <$>+                   (o .:? "url"))++instance ToJSON ProductsGenerateApprovalURLResponse+         where+        toJSON ProductsGenerateApprovalURLResponse'{..}+          = object (catMaybes [("url" .=) <$> _pgaurURL])++-- | Definition of a managed Google Play store page, made of a localized name+-- and links to other pages. A page also contains clusters defined as a+-- subcollection.+--+-- /See:/ 'storePage' smart constructor.+data StorePage = StorePage'+    { _spKind :: !Text+    , _spLink :: !(Maybe [Text])+    , _spName :: !(Maybe [LocalizedText])+    , _spId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StorePage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spKind'+--+-- * 'spLink'+--+-- * 'spName'+--+-- * 'spId'+storePage+    :: StorePage+storePage =+    StorePage'+    { _spKind = "androidenterprise#storePage"+    , _spLink = Nothing+    , _spName = Nothing+    , _spId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#storePage\".+spKind :: Lens' StorePage Text+spKind = lens _spKind (\ s a -> s{_spKind = a})++-- | Ordered list of pages a user should be able to reach from this page. The+-- list can\'t include this page. It is recommended that the basic pages+-- are created first, before adding the links between pages. The API+-- doesn\'t verify that the pages exist or the pages are reachable.+spLink :: Lens' StorePage [Text]+spLink+  = lens _spLink (\ s a -> s{_spLink = a}) . _Default .+      _Coerce++-- | Ordered list of localized strings giving the name of this page. The text+-- displayed is the one that best matches the user locale, or the first+-- entry if there is no good match. There needs to be at least one entry.+spName :: Lens' StorePage [LocalizedText]+spName+  = lens _spName (\ s a -> s{_spName = a}) . _Default .+      _Coerce++-- | Unique ID of this page. Assigned by the server. Immutable once assigned.+spId :: Lens' StorePage (Maybe Text)+spId = lens _spId (\ s a -> s{_spId = a})++instance FromJSON StorePage where+        parseJSON+          = withObject "StorePage"+              (\ o ->+                 StorePage' <$>+                   (o .:? "kind" .!= "androidenterprise#storePage") <*>+                     (o .:? "link" .!= mempty)+                     <*> (o .:? "name" .!= mempty)+                     <*> (o .:? "id"))++instance ToJSON StorePage where+        toJSON StorePage'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _spKind), ("link" .=) <$> _spLink,+                  ("name" .=) <$> _spName, ("id" .=) <$> _spId])++--+-- /See:/ 'enterprisesSendTestPushNotificationResponse' smart constructor.+data EnterprisesSendTestPushNotificationResponse = EnterprisesSendTestPushNotificationResponse'+    { _estpnrTopicName :: !(Maybe Text)+    , _estpnrMessageId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesSendTestPushNotificationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'estpnrTopicName'+--+-- * 'estpnrMessageId'+enterprisesSendTestPushNotificationResponse+    :: EnterprisesSendTestPushNotificationResponse+enterprisesSendTestPushNotificationResponse =+    EnterprisesSendTestPushNotificationResponse'+    { _estpnrTopicName = Nothing+    , _estpnrMessageId = Nothing+    }++-- | The name of the Cloud Pub\/Sub topic to which notifications for this+-- enterprise\'s enrolled account will be sent.+estpnrTopicName :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)+estpnrTopicName+  = lens _estpnrTopicName+      (\ s a -> s{_estpnrTopicName = a})++-- | The message ID of the test push notification that was sent.+estpnrMessageId :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)+estpnrMessageId+  = lens _estpnrMessageId+      (\ s a -> s{_estpnrMessageId = a})++instance FromJSON+         EnterprisesSendTestPushNotificationResponse where+        parseJSON+          = withObject+              "EnterprisesSendTestPushNotificationResponse"+              (\ o ->+                 EnterprisesSendTestPushNotificationResponse' <$>+                   (o .:? "topicName") <*> (o .:? "messageId"))++instance ToJSON+         EnterprisesSendTestPushNotificationResponse where+        toJSON+          EnterprisesSendTestPushNotificationResponse'{..}+          = object+              (catMaybes+                 [("topicName" .=) <$> _estpnrTopicName,+                  ("messageId" .=) <$> _estpnrMessageId])++-- | A service account identity, including the name and credentials that can+-- be used to authenticate as the service account.+--+-- /See:/ 'serviceAccount' smart constructor.+data ServiceAccount = ServiceAccount'+    { _saKind :: !Text+    , _saKey  :: !(Maybe ServiceAccountKey)+    , _saName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServiceAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saKind'+--+-- * 'saKey'+--+-- * 'saName'+serviceAccount+    :: ServiceAccount+serviceAccount =+    ServiceAccount'+    { _saKind = "androidenterprise#serviceAccount"+    , _saKey = Nothing+    , _saName = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#serviceAccount\".+saKind :: Lens' ServiceAccount Text+saKind = lens _saKind (\ s a -> s{_saKind = a})++-- | Credentials that can be used to authenticate as this ServiceAccount.+saKey :: Lens' ServiceAccount (Maybe ServiceAccountKey)+saKey = lens _saKey (\ s a -> s{_saKey = a})++-- | The account name of the service account, in the form of an email+-- address. Assigned by the server.+saName :: Lens' ServiceAccount (Maybe Text)+saName = lens _saName (\ s a -> s{_saName = a})++instance FromJSON ServiceAccount where+        parseJSON+          = withObject "ServiceAccount"+              (\ o ->+                 ServiceAccount' <$>+                   (o .:? "kind" .!= "androidenterprise#serviceAccount")+                     <*> (o .:? "key")+                     <*> (o .:? "name"))++instance ToJSON ServiceAccount where+        toJSON ServiceAccount'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _saKind), ("key" .=) <$> _saKey,+                  ("name" .=) <$> _saName])++-- | A variable set is a key-value pair of EMM-provided placeholders and its+-- corresponding value, which is attributed to a user. For example,+-- /F//I//R//S//T//N//A//M//E//c//o//u//l//d//b//e//a//p//l//a//c//e//h//o//l//d//e//r/, /a//n//d//i//t//s//v//a//l//u//e//c//o//u//l//d//b//e//A//l//i//c//e/./P//l//a//c//e//h//o//l//d//e//r//s//s//h//o//u//l//d//s//t//a//r//t//w//i//t//h//a/′\'+-- sign and should be alphanumeric only.+--+-- /See:/ 'variableSet' smart constructor.+data VariableSet = VariableSet'+    { _vsKind        :: !Text+    , _vsUserValue   :: !(Maybe Text)+    , _vsPlaceholder :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VariableSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsKind'+--+-- * 'vsUserValue'+--+-- * 'vsPlaceholder'+variableSet+    :: VariableSet+variableSet =+    VariableSet'+    { _vsKind = "androidenterprise#variableSet"+    , _vsUserValue = Nothing+    , _vsPlaceholder = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#variableSet\".+vsKind :: Lens' VariableSet Text+vsKind = lens _vsKind (\ s a -> s{_vsKind = a})++-- | The value of the placeholder, specific to the user.+vsUserValue :: Lens' VariableSet (Maybe Text)+vsUserValue+  = lens _vsUserValue (\ s a -> s{_vsUserValue = a})++-- | The placeholder string; defined by EMM.+vsPlaceholder :: Lens' VariableSet (Maybe Text)+vsPlaceholder+  = lens _vsPlaceholder+      (\ s a -> s{_vsPlaceholder = a})++instance FromJSON VariableSet where+        parseJSON+          = withObject "VariableSet"+              (\ o ->+                 VariableSet' <$>+                   (o .:? "kind" .!= "androidenterprise#variableSet")+                     <*> (o .:? "userValue")+                     <*> (o .:? "placeholder"))++instance ToJSON VariableSet where+        toJSON VariableSet'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _vsKind),+                  ("userValue" .=) <$> _vsUserValue,+                  ("placeholder" .=) <$> _vsPlaceholder])++-- | An event generated when a new version of an app is uploaded to Google+-- Play. Notifications are sent for new public versions only: alpha, beta,+-- or canary versions do not generate this event. To fetch up-to-date+-- version history for an app, use Products.Get on the EMM API.+--+-- /See:/ 'appUpdateEvent' smart constructor.+newtype AppUpdateEvent = AppUpdateEvent'+    { _aueProductId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppUpdateEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aueProductId'+appUpdateEvent+    :: AppUpdateEvent+appUpdateEvent =+    AppUpdateEvent'+    { _aueProductId = Nothing+    }++-- | The id of the product (e.g. \"app:com.google.android.gm\") that was+-- updated. This field will always be present.+aueProductId :: Lens' AppUpdateEvent (Maybe Text)+aueProductId+  = lens _aueProductId (\ s a -> s{_aueProductId = a})++instance FromJSON AppUpdateEvent where+        parseJSON+          = withObject "AppUpdateEvent"+              (\ o -> AppUpdateEvent' <$> (o .:? "productId"))++instance ToJSON AppUpdateEvent where+        toJSON AppUpdateEvent'{..}+          = object+              (catMaybes [("productId" .=) <$> _aueProductId])++-- | The matching enterprise resources.+--+-- /See:/ 'enterprisesListResponse' smart constructor.+data EnterprisesListResponse = EnterprisesListResponse'+    { _elrKind       :: !Text+    , _elrEnterprise :: !(Maybe [Enterprise])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elrKind'+--+-- * 'elrEnterprise'+enterprisesListResponse+    :: EnterprisesListResponse+enterprisesListResponse =+    EnterprisesListResponse'+    { _elrKind = "androidenterprise#enterprisesListResponse"+    , _elrEnterprise = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterprisesListResponse\".+elrKind :: Lens' EnterprisesListResponse Text+elrKind = lens _elrKind (\ s a -> s{_elrKind = a})++-- | An enterprise.+elrEnterprise :: Lens' EnterprisesListResponse [Enterprise]+elrEnterprise+  = lens _elrEnterprise+      (\ s a -> s{_elrEnterprise = a})+      . _Default+      . _Coerce++instance FromJSON EnterprisesListResponse where+        parseJSON+          = withObject "EnterprisesListResponse"+              (\ o ->+                 EnterprisesListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#enterprisesListResponse")+                     <*> (o .:? "enterprise" .!= mempty))++instance ToJSON EnterprisesListResponse where+        toJSON EnterprisesListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _elrKind),+                  ("enterprise" .=) <$> _elrEnterprise])++-- | A resource returned by the PullNotificationSet API, which contains a+-- collection of notifications for enterprises associated with the service+-- account authenticated for the request.+--+-- /See:/ 'notificationSet' smart constructor.+data NotificationSet = NotificationSet'+    { _nsNotificationSetId :: !(Maybe Text)+    , _nsNotification      :: !(Maybe [Notification])+    , _nsKind              :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NotificationSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nsNotificationSetId'+--+-- * 'nsNotification'+--+-- * 'nsKind'+notificationSet+    :: NotificationSet+notificationSet =+    NotificationSet'+    { _nsNotificationSetId = Nothing+    , _nsNotification = Nothing+    , _nsKind = "androidenterprise#notificationSet"+    }++-- | The notification set ID, required to mark the notification as received+-- with the Enterprises.AcknowledgeNotification API. This will be omitted+-- if no notifications are present.+nsNotificationSetId :: Lens' NotificationSet (Maybe Text)+nsNotificationSetId+  = lens _nsNotificationSetId+      (\ s a -> s{_nsNotificationSetId = a})++-- | The notifications received, or empty if no notifications are present.+nsNotification :: Lens' NotificationSet [Notification]+nsNotification+  = lens _nsNotification+      (\ s a -> s{_nsNotification = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#notificationSet\".+nsKind :: Lens' NotificationSet Text+nsKind = lens _nsKind (\ s a -> s{_nsKind = a})++instance FromJSON NotificationSet where+        parseJSON+          = withObject "NotificationSet"+              (\ o ->+                 NotificationSet' <$>+                   (o .:? "notificationSetId") <*>+                     (o .:? "notification" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "androidenterprise#notificationSet"))++instance ToJSON NotificationSet where+        toJSON NotificationSet'{..}+          = object+              (catMaybes+                 [("notificationSetId" .=) <$> _nsNotificationSetId,+                  ("notification" .=) <$> _nsNotification,+                  Just ("kind" .= _nsKind)])++-- | Represents the list of app restrictions available to be pre-configured+-- for the product.+--+-- /See:/ 'appRestrictionsSchema' smart constructor.+data AppRestrictionsSchema = AppRestrictionsSchema'+    { _arsKind         :: !Text+    , _arsRestrictions :: !(Maybe [AppRestrictionsSchemaRestriction])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsKind'+--+-- * 'arsRestrictions'+appRestrictionsSchema+    :: AppRestrictionsSchema+appRestrictionsSchema =+    AppRestrictionsSchema'+    { _arsKind = "androidenterprise#appRestrictionsSchema"+    , _arsRestrictions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#appRestrictionsSchema\".+arsKind :: Lens' AppRestrictionsSchema Text+arsKind = lens _arsKind (\ s a -> s{_arsKind = a})++-- | The set of restrictions that make up this schema.+arsRestrictions :: Lens' AppRestrictionsSchema [AppRestrictionsSchemaRestriction]+arsRestrictions+  = lens _arsRestrictions+      (\ s a -> s{_arsRestrictions = a})+      . _Default+      . _Coerce++instance FromJSON AppRestrictionsSchema where+        parseJSON+          = withObject "AppRestrictionsSchema"+              (\ o ->+                 AppRestrictionsSchema' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#appRestrictionsSchema")+                     <*> (o .:? "restrictions" .!= mempty))++instance ToJSON AppRestrictionsSchema where+        toJSON AppRestrictionsSchema'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _arsKind),+                  ("restrictions" .=) <$> _arsRestrictions])++-- | Icon for a web app.+--+-- /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])++-- | A localized string with its locale.+--+-- /See:/ 'localizedText' smart constructor.+data LocalizedText = LocalizedText'+    { _ltText   :: !(Maybe Text)+    , _ltLocale :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LocalizedText' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltText'+--+-- * 'ltLocale'+localizedText+    :: LocalizedText+localizedText =+    LocalizedText'+    { _ltText = Nothing+    , _ltLocale = Nothing+    }++-- | The text localized in the associated locale.+ltText :: Lens' LocalizedText (Maybe Text)+ltText = lens _ltText (\ s a -> s{_ltText = a})++-- | The BCP47 tag for a locale. (e.g. \"en-US\", \"de\").+ltLocale :: Lens' LocalizedText (Maybe Text)+ltLocale = lens _ltLocale (\ s a -> s{_ltLocale = a})++instance FromJSON LocalizedText where+        parseJSON+          = withObject "LocalizedText"+              (\ o ->+                 LocalizedText' <$>+                   (o .:? "text") <*> (o .:? "locale"))++instance ToJSON LocalizedText where+        toJSON LocalizedText'{..}+          = object+              (catMaybes+                 [("text" .=) <$> _ltText,+                  ("locale" .=) <$> _ltLocale])++-- | A UserToken is used by a user when setting up a managed device or+-- profile with their managed Google Play account on a device. When the+-- user enters their email address and token (activation code) the+-- appropriate EMM app can be automatically downloaded.+--+-- /See:/ 'userToken' smart constructor.+data UserToken = UserToken'+    { _utKind   :: !Text+    , _utToken  :: !(Maybe Text)+    , _utUserId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utKind'+--+-- * 'utToken'+--+-- * 'utUserId'+userToken+    :: UserToken+userToken =+    UserToken'+    { _utKind = "androidenterprise#userToken"+    , _utToken = Nothing+    , _utUserId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#userToken\".+utKind :: Lens' UserToken Text+utKind = lens _utKind (\ s a -> s{_utKind = a})++-- | The token (activation code) to be entered by the user. This consists of+-- a sequence of decimal digits. Note that the leading digit may be 0.+utToken :: Lens' UserToken (Maybe Text)+utToken = lens _utToken (\ s a -> s{_utToken = a})++-- | The unique ID for the user.+utUserId :: Lens' UserToken (Maybe Text)+utUserId = lens _utUserId (\ s a -> s{_utUserId = a})++instance FromJSON UserToken where+        parseJSON+          = withObject "UserToken"+              (\ o ->+                 UserToken' <$>+                   (o .:? "kind" .!= "androidenterprise#userToken") <*>+                     (o .:? "token")+                     <*> (o .:? "userId"))++instance ToJSON UserToken where+        toJSON UserToken'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _utKind), ("token" .=) <$> _utToken,+                  ("userId" .=) <$> _utUserId])++--+-- /See:/ 'administratorWebTokenSpecPrivateApps' smart constructor.+newtype AdministratorWebTokenSpecPrivateApps = AdministratorWebTokenSpecPrivateApps'+    { _awtspaEnabled :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebTokenSpecPrivateApps' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtspaEnabled'+administratorWebTokenSpecPrivateApps+    :: AdministratorWebTokenSpecPrivateApps+administratorWebTokenSpecPrivateApps =+    AdministratorWebTokenSpecPrivateApps'+    { _awtspaEnabled = Nothing+    }++-- | Whether the Private Apps page is displayed. Default is true.+awtspaEnabled :: Lens' AdministratorWebTokenSpecPrivateApps (Maybe Bool)+awtspaEnabled+  = lens _awtspaEnabled+      (\ s a -> s{_awtspaEnabled = a})++instance FromJSON+         AdministratorWebTokenSpecPrivateApps where+        parseJSON+          = withObject "AdministratorWebTokenSpecPrivateApps"+              (\ o ->+                 AdministratorWebTokenSpecPrivateApps' <$>+                   (o .:? "enabled"))++instance ToJSON AdministratorWebTokenSpecPrivateApps+         where+        toJSON AdministratorWebTokenSpecPrivateApps'{..}+          = object+              (catMaybes [("enabled" .=) <$> _awtspaEnabled])++-- | The device resources for the user.+--+-- /See:/ 'devicesListResponse' smart constructor.+data DevicesListResponse = DevicesListResponse'+    { _dlrKind   :: !Text+    , _dlrDevice :: !(Maybe [Device])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlrKind'+--+-- * 'dlrDevice'+devicesListResponse+    :: DevicesListResponse+devicesListResponse =+    DevicesListResponse'+    { _dlrKind = "androidenterprise#devicesListResponse"+    , _dlrDevice = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#devicesListResponse\".+dlrKind :: Lens' DevicesListResponse Text+dlrKind = lens _dlrKind (\ s a -> s{_dlrKind = a})++-- | A managed device.+dlrDevice :: Lens' DevicesListResponse [Device]+dlrDevice+  = lens _dlrDevice (\ s a -> s{_dlrDevice = a}) .+      _Default+      . _Coerce++instance FromJSON DevicesListResponse where+        parseJSON+          = withObject "DevicesListResponse"+              (\ o ->+                 DevicesListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#devicesListResponse")+                     <*> (o .:? "device" .!= mempty))++instance ToJSON DevicesListResponse where+        toJSON DevicesListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dlrKind),+                  ("device" .=) <$> _dlrDevice])++--+-- /See:/ 'productSigningCertificate' smart constructor.+data ProductSigningCertificate = ProductSigningCertificate'+    { _pscCertificateHashSha256 :: !(Maybe Text)+    , _pscCertificateHashSha1   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductSigningCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pscCertificateHashSha256'+--+-- * 'pscCertificateHashSha1'+productSigningCertificate+    :: ProductSigningCertificate+productSigningCertificate =+    ProductSigningCertificate'+    { _pscCertificateHashSha256 = Nothing+    , _pscCertificateHashSha1 = Nothing+    }++-- | The base64 urlsafe encoded SHA2-256 hash of the certificate.+pscCertificateHashSha256 :: Lens' ProductSigningCertificate (Maybe Text)+pscCertificateHashSha256+  = lens _pscCertificateHashSha256+      (\ s a -> s{_pscCertificateHashSha256 = a})++-- | The base64 urlsafe encoded SHA1 hash of the certificate. (This field is+-- deprecated in favor of SHA2-256. It should not be used and may be+-- removed at any time.)+pscCertificateHashSha1 :: Lens' ProductSigningCertificate (Maybe Text)+pscCertificateHashSha1+  = lens _pscCertificateHashSha1+      (\ s a -> s{_pscCertificateHashSha1 = a})++instance FromJSON ProductSigningCertificate where+        parseJSON+          = withObject "ProductSigningCertificate"+              (\ o ->+                 ProductSigningCertificate' <$>+                   (o .:? "certificateHashSha256") <*>+                     (o .:? "certificateHashSha1"))++instance ToJSON ProductSigningCertificate where+        toJSON ProductSigningCertificate'{..}+          = object+              (catMaybes+                 [("certificateHashSha256" .=) <$>+                    _pscCertificateHashSha256,+                  ("certificateHashSha1" .=) <$>+                    _pscCertificateHashSha1])++-- | An Enterprises resource represents the binding between an EMM and a+-- specific organization. That binding can be instantiated in one of two+-- different ways using this API as follows: - For Google managed domain+-- customers, the process involves using Enterprises.enroll and+-- Enterprises.setAccount (in conjunction with artifacts obtained from the+-- Admin console and the Google API Console) and submitted to the EMM+-- through a more-or-less manual process. - For managed Google Play+-- Accounts customers, the process involves using+-- Enterprises.generateSignupUrl and Enterprises.completeSignup in+-- conjunction with the managed Google Play sign-up UI (Google-provided+-- mechanism) to create the binding without manual steps. As an EMM, you+-- can support either or both approaches in your EMM console. See Create an+-- Enterprise for details.+--+-- /See:/ 'enterprise' smart constructor.+data Enterprise = Enterprise'+    { _eKind          :: !Text+    , _eAdministrator :: !(Maybe [Administrator])+    , _ePrimaryDomain :: !(Maybe Text)+    , _eName          :: !(Maybe Text)+    , _eId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Enterprise' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eKind'+--+-- * 'eAdministrator'+--+-- * 'ePrimaryDomain'+--+-- * 'eName'+--+-- * 'eId'+enterprise+    :: Enterprise+enterprise =+    Enterprise'+    { _eKind = "androidenterprise#enterprise"+    , _eAdministrator = Nothing+    , _ePrimaryDomain = Nothing+    , _eName = Nothing+    , _eId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterprise\".+eKind :: Lens' Enterprise Text+eKind = lens _eKind (\ s a -> s{_eKind = a})++-- | Admins of the enterprise. This is only supported for enterprises created+-- via the EMM-initiated flow.+eAdministrator :: Lens' Enterprise [Administrator]+eAdministrator+  = lens _eAdministrator+      (\ s a -> s{_eAdministrator = a})+      . _Default+      . _Coerce++-- | The enterprise\'s primary domain, such as \"example.com\".+ePrimaryDomain :: Lens' Enterprise (Maybe Text)+ePrimaryDomain+  = lens _ePrimaryDomain+      (\ s a -> s{_ePrimaryDomain = a})++-- | The name of the enterprise, for example, \"Example, Inc\".+eName :: Lens' Enterprise (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a})++-- | The unique ID for the enterprise.+eId :: Lens' Enterprise (Maybe Text)+eId = lens _eId (\ s a -> s{_eId = a})++instance FromJSON Enterprise where+        parseJSON+          = withObject "Enterprise"+              (\ o ->+                 Enterprise' <$>+                   (o .:? "kind" .!= "androidenterprise#enterprise") <*>+                     (o .:? "administrator" .!= mempty)+                     <*> (o .:? "primaryDomain")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON Enterprise where+        toJSON Enterprise'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eKind),+                  ("administrator" .=) <$> _eAdministrator,+                  ("primaryDomain" .=) <$> _ePrimaryDomain,+                  ("name" .=) <$> _eName, ("id" .=) <$> _eId])++-- | An event generated when an app installation failed on a device+--+-- /See:/ 'installFailureEvent' smart constructor.+data InstallFailureEvent = InstallFailureEvent'+    { _ifeFailureReason  :: !(Maybe Text)+    , _ifeFailureDetails :: !(Maybe Text)+    , _ifeUserId         :: !(Maybe Text)+    , _ifeDeviceId       :: !(Maybe Text)+    , _ifeProductId      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallFailureEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ifeFailureReason'+--+-- * 'ifeFailureDetails'+--+-- * 'ifeUserId'+--+-- * 'ifeDeviceId'+--+-- * 'ifeProductId'+installFailureEvent+    :: InstallFailureEvent+installFailureEvent =+    InstallFailureEvent'+    { _ifeFailureReason = Nothing+    , _ifeFailureDetails = Nothing+    , _ifeUserId = Nothing+    , _ifeDeviceId = Nothing+    , _ifeProductId = Nothing+    }++-- | The reason for the installation failure. This field will always be+-- present.+ifeFailureReason :: Lens' InstallFailureEvent (Maybe Text)+ifeFailureReason+  = lens _ifeFailureReason+      (\ s a -> s{_ifeFailureReason = a})++-- | Additional details on the failure if applicable.+ifeFailureDetails :: Lens' InstallFailureEvent (Maybe Text)+ifeFailureDetails+  = lens _ifeFailureDetails+      (\ s a -> s{_ifeFailureDetails = a})++-- | The ID of the user. This field will always be present.+ifeUserId :: Lens' InstallFailureEvent (Maybe Text)+ifeUserId+  = lens _ifeUserId (\ s a -> s{_ifeUserId = a})++-- | The Android ID of the device. This field will always be present.+ifeDeviceId :: Lens' InstallFailureEvent (Maybe Text)+ifeDeviceId+  = lens _ifeDeviceId (\ s a -> s{_ifeDeviceId = a})++-- | The id of the product (e.g. \"app:com.google.android.gm\") for which the+-- install failure event occured. This field will always be present.+ifeProductId :: Lens' InstallFailureEvent (Maybe Text)+ifeProductId+  = lens _ifeProductId (\ s a -> s{_ifeProductId = a})++instance FromJSON InstallFailureEvent where+        parseJSON+          = withObject "InstallFailureEvent"+              (\ o ->+                 InstallFailureEvent' <$>+                   (o .:? "failureReason") <*> (o .:? "failureDetails")+                     <*> (o .:? "userId")+                     <*> (o .:? "deviceId")+                     <*> (o .:? "productId"))++instance ToJSON InstallFailureEvent where+        toJSON InstallFailureEvent'{..}+          = object+              (catMaybes+                 [("failureReason" .=) <$> _ifeFailureReason,+                  ("failureDetails" .=) <$> _ifeFailureDetails,+                  ("userId" .=) <$> _ifeUserId,+                  ("deviceId" .=) <$> _ifeDeviceId,+                  ("productId" .=) <$> _ifeProductId])++-- | The managed configuration resources for the user.+--+-- /See:/ 'managedConfigurationsForUserListResponse' smart constructor.+data ManagedConfigurationsForUserListResponse = ManagedConfigurationsForUserListResponse'+    { _mcfulrManagedConfigurationForUser :: !(Maybe [ManagedConfiguration])+    , _mcfulrKind                        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationsForUserListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcfulrManagedConfigurationForUser'+--+-- * 'mcfulrKind'+managedConfigurationsForUserListResponse+    :: ManagedConfigurationsForUserListResponse+managedConfigurationsForUserListResponse =+    ManagedConfigurationsForUserListResponse'+    { _mcfulrManagedConfigurationForUser = Nothing+    , _mcfulrKind = "androidenterprise#managedConfigurationsForUserListResponse"+    }++-- | A managed configuration for an app for a specific user.+mcfulrManagedConfigurationForUser :: Lens' ManagedConfigurationsForUserListResponse [ManagedConfiguration]+mcfulrManagedConfigurationForUser+  = lens _mcfulrManagedConfigurationForUser+      (\ s a -> s{_mcfulrManagedConfigurationForUser = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#managedConfigurationsForUserListResponse\".+mcfulrKind :: Lens' ManagedConfigurationsForUserListResponse Text+mcfulrKind+  = lens _mcfulrKind (\ s a -> s{_mcfulrKind = a})++instance FromJSON+         ManagedConfigurationsForUserListResponse where+        parseJSON+          = withObject+              "ManagedConfigurationsForUserListResponse"+              (\ o ->+                 ManagedConfigurationsForUserListResponse' <$>+                   (o .:? "managedConfigurationForUser" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "androidenterprise#managedConfigurationsForUserListResponse"))++instance ToJSON+         ManagedConfigurationsForUserListResponse where+        toJSON ManagedConfigurationsForUserListResponse'{..}+          = object+              (catMaybes+                 [("managedConfigurationForUser" .=) <$>+                    _mcfulrManagedConfigurationForUser,+                  Just ("kind" .= _mcfulrKind)])++-- | A configuration variables resource contains the managed configuration+-- settings ID to be applied to a single user, as well as the variable set+-- that is attributed to the user. The variable set will be used to replace+-- placeholders in the managed configuration settings.+--+-- /See:/ 'configurationVariables' smart constructor.+data ConfigurationVariables = ConfigurationVariables'+    { _cvKind        :: !Text+    , _cvMcmId       :: !(Maybe Text)+    , _cvVariableSet :: !(Maybe [VariableSet])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConfigurationVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvKind'+--+-- * 'cvMcmId'+--+-- * 'cvVariableSet'+configurationVariables+    :: ConfigurationVariables+configurationVariables =+    ConfigurationVariables'+    { _cvKind = "androidenterprise#configurationVariables"+    , _cvMcmId = Nothing+    , _cvVariableSet = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#configurationVariables\".+cvKind :: Lens' ConfigurationVariables Text+cvKind = lens _cvKind (\ s a -> s{_cvKind = a})++-- | The ID of the managed configurations settings.+cvMcmId :: Lens' ConfigurationVariables (Maybe Text)+cvMcmId = lens _cvMcmId (\ s a -> s{_cvMcmId = a})++-- | The variable set that is attributed to the user.+cvVariableSet :: Lens' ConfigurationVariables [VariableSet]+cvVariableSet+  = lens _cvVariableSet+      (\ s a -> s{_cvVariableSet = a})+      . _Default+      . _Coerce++instance FromJSON ConfigurationVariables where+        parseJSON+          = withObject "ConfigurationVariables"+              (\ o ->+                 ConfigurationVariables' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#configurationVariables")+                     <*> (o .:? "mcmId")+                     <*> (o .:? "variableSet" .!= mempty))++instance ToJSON ConfigurationVariables where+        toJSON ConfigurationVariables'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cvKind), ("mcmId" .=) <$> _cvMcmId,+                  ("variableSet" .=) <$> _cvVariableSet])++-- | General setting for the managed Google Play store layout, currently only+-- specifying the page to display the first time the store is opened.+--+-- /See:/ 'storeLayout' smart constructor.+data StoreLayout = StoreLayout'+    { _slStoreLayoutType :: !(Maybe Text)+    , _slKind            :: !Text+    , _slHomepageId      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StoreLayout' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slStoreLayoutType'+--+-- * 'slKind'+--+-- * 'slHomepageId'+storeLayout+    :: StoreLayout+storeLayout =+    StoreLayout'+    { _slStoreLayoutType = Nothing+    , _slKind = "androidenterprise#storeLayout"+    , _slHomepageId = Nothing+    }++-- | The store layout type. By default, this value is set to \"basic\" if the+-- homepageId field is not set, and to \"custom\" otherwise. If set to+-- \"basic\", the layout will consist of all approved apps that have been+-- whitelisted for the user.+slStoreLayoutType :: Lens' StoreLayout (Maybe Text)+slStoreLayoutType+  = lens _slStoreLayoutType+      (\ s a -> s{_slStoreLayoutType = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#storeLayout\".+slKind :: Lens' StoreLayout Text+slKind = lens _slKind (\ s a -> s{_slKind = a})++-- | The ID of the store page to be used as the homepage. The homepage is the+-- first page shown in the managed Google Play Store. Not specifying a+-- homepage is equivalent to setting the store layout type to \"basic\".+slHomepageId :: Lens' StoreLayout (Maybe Text)+slHomepageId+  = lens _slHomepageId (\ s a -> s{_slHomepageId = a})++instance FromJSON StoreLayout where+        parseJSON+          = withObject "StoreLayout"+              (\ o ->+                 StoreLayout' <$>+                   (o .:? "storeLayoutType") <*>+                     (o .:? "kind" .!= "androidenterprise#storeLayout")+                     <*> (o .:? "homepageId"))++instance ToJSON StoreLayout where+        toJSON StoreLayout'{..}+          = object+              (catMaybes+                 [("storeLayoutType" .=) <$> _slStoreLayoutType,+                  Just ("kind" .= _slKind),+                  ("homepageId" .=) <$> _slHomepageId])++-- | An event generated when a new app version is uploaded to Google Play and+-- its app restrictions schema changed. To fetch the app restrictions+-- schema for an app, use Products.getAppRestrictionsSchema on the EMM API.+--+-- /See:/ 'appRestrictionsSchemaChangeEvent' smart constructor.+newtype AppRestrictionsSchemaChangeEvent = AppRestrictionsSchemaChangeEvent'+    { _arsceProductId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchemaChangeEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsceProductId'+appRestrictionsSchemaChangeEvent+    :: AppRestrictionsSchemaChangeEvent+appRestrictionsSchemaChangeEvent =+    AppRestrictionsSchemaChangeEvent'+    { _arsceProductId = Nothing+    }++-- | The id of the product (e.g. \"app:com.google.android.gm\") for which the+-- app restriction schema changed. This field will always be present.+arsceProductId :: Lens' AppRestrictionsSchemaChangeEvent (Maybe Text)+arsceProductId+  = lens _arsceProductId+      (\ s a -> s{_arsceProductId = a})++instance FromJSON AppRestrictionsSchemaChangeEvent+         where+        parseJSON+          = withObject "AppRestrictionsSchemaChangeEvent"+              (\ o ->+                 AppRestrictionsSchemaChangeEvent' <$>+                   (o .:? "productId"))++instance ToJSON AppRestrictionsSchemaChangeEvent+         where+        toJSON AppRestrictionsSchemaChangeEvent'{..}+          = object+              (catMaybes [("productId" .=) <$> _arsceProductId])++-- | An event generated when a new device is ready to be managed.+--+-- /See:/ 'newDeviceEvent' smart constructor.+data NewDeviceEvent = NewDeviceEvent'+    { _ndeUserId         :: !(Maybe Text)+    , _ndeDpcPackageName :: !(Maybe Text)+    , _ndeDeviceId       :: !(Maybe Text)+    , _ndeManagementType :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NewDeviceEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ndeUserId'+--+-- * 'ndeDpcPackageName'+--+-- * 'ndeDeviceId'+--+-- * 'ndeManagementType'+newDeviceEvent+    :: NewDeviceEvent+newDeviceEvent =+    NewDeviceEvent'+    { _ndeUserId = Nothing+    , _ndeDpcPackageName = Nothing+    , _ndeDeviceId = Nothing+    , _ndeManagementType = Nothing+    }++-- | The ID of the user. This field will always be present.+ndeUserId :: Lens' NewDeviceEvent (Maybe Text)+ndeUserId+  = lens _ndeUserId (\ s a -> s{_ndeUserId = a})++-- | Policy app on the device.+ndeDpcPackageName :: Lens' NewDeviceEvent (Maybe Text)+ndeDpcPackageName+  = lens _ndeDpcPackageName+      (\ s a -> s{_ndeDpcPackageName = a})++-- | The Android ID of the device. This field will always be present.+ndeDeviceId :: Lens' NewDeviceEvent (Maybe Text)+ndeDeviceId+  = lens _ndeDeviceId (\ s a -> s{_ndeDeviceId = a})++-- | Identifies the extent to which the device is controlled by an Android+-- EMM in various deployment configurations. Possible values include: -+-- \"managedDevice\", a device where the DPC is set as device owner, -+-- \"managedProfile\", a device where the DPC is set as profile owner.+ndeManagementType :: Lens' NewDeviceEvent (Maybe Text)+ndeManagementType+  = lens _ndeManagementType+      (\ s a -> s{_ndeManagementType = a})++instance FromJSON NewDeviceEvent where+        parseJSON+          = withObject "NewDeviceEvent"+              (\ o ->+                 NewDeviceEvent' <$>+                   (o .:? "userId") <*> (o .:? "dpcPackageName") <*>+                     (o .:? "deviceId")+                     <*> (o .:? "managementType"))++instance ToJSON NewDeviceEvent where+        toJSON NewDeviceEvent'{..}+          = object+              (catMaybes+                 [("userId" .=) <$> _ndeUserId,+                  ("dpcPackageName" .=) <$> _ndeDpcPackageName,+                  ("deviceId" .=) <$> _ndeDeviceId,+                  ("managementType" .=) <$> _ndeManagementType])++-- | The device policy for a given managed device.+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+    { _pProductAvailabilityPolicy :: !(Maybe Text)+    , _pProductPolicy             :: !(Maybe [ProductPolicy])+    , _pMaintenanceWindow         :: !(Maybe MaintenanceWindow)+    , _pAutoUpdatePolicy          :: !(Maybe Text)+    } 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:+--+-- * 'pProductAvailabilityPolicy'+--+-- * 'pProductPolicy'+--+-- * 'pMaintenanceWindow'+--+-- * 'pAutoUpdatePolicy'+policy+    :: Policy+policy =+    Policy'+    { _pProductAvailabilityPolicy = Nothing+    , _pProductPolicy = Nothing+    , _pMaintenanceWindow = Nothing+    , _pAutoUpdatePolicy = Nothing+    }++-- | The availability granted to the device for the specified products.+-- \"all\" gives the device access to all products, regardless of approval+-- status. \"all\" does not enable automatic visibility of \"alpha\" or+-- \"beta\" tracks. \"whitelist\" grants the device access the products+-- specified in productPolicy[]. Only products that are approved or+-- products that were previously approved (products with revoked approval)+-- by the enterprise can be whitelisted. If no value is provided, the+-- availability set at the user level is applied by default.+pProductAvailabilityPolicy :: Lens' Policy (Maybe Text)+pProductAvailabilityPolicy+  = lens _pProductAvailabilityPolicy+      (\ s a -> s{_pProductAvailabilityPolicy = a})++-- | The list of product policies.+pProductPolicy :: Lens' Policy [ProductPolicy]+pProductPolicy+  = lens _pProductPolicy+      (\ s a -> s{_pProductPolicy = a})+      . _Default+      . _Coerce++-- | The maintenance window defining when apps running in the foreground+-- should be updated.+pMaintenanceWindow :: Lens' Policy (Maybe MaintenanceWindow)+pMaintenanceWindow+  = lens _pMaintenanceWindow+      (\ s a -> s{_pMaintenanceWindow = a})++-- | The auto-update policy for apps installed on the device.+-- \"choiceToTheUser\" allows the device\'s user to configure the app+-- update policy. \"always\" enables auto updates. \"never\" disables auto+-- updates. \"wifiOnly\" enables auto updates only when the device is+-- connected to wifi.+pAutoUpdatePolicy :: Lens' Policy (Maybe Text)+pAutoUpdatePolicy+  = lens _pAutoUpdatePolicy+      (\ s a -> s{_pAutoUpdatePolicy = a})++instance FromJSON Policy where+        parseJSON+          = withObject "Policy"+              (\ o ->+                 Policy' <$>+                   (o .:? "productAvailabilityPolicy") <*>+                     (o .:? "productPolicy" .!= mempty)+                     <*> (o .:? "maintenanceWindow")+                     <*> (o .:? "autoUpdatePolicy"))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("productAvailabilityPolicy" .=) <$>+                    _pProductAvailabilityPolicy,+                  ("productPolicy" .=) <$> _pProductPolicy,+                  ("maintenanceWindow" .=) <$> _pMaintenanceWindow,+                  ("autoUpdatePolicy" .=) <$> _pAutoUpdatePolicy])++-- | A token authorizing an admin to access an iframe.+--+-- /See:/ 'administratorWebToken' smart constructor.+data AdministratorWebToken = AdministratorWebToken'+    { _awtKind  :: !Text+    , _awtToken :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdministratorWebToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awtKind'+--+-- * 'awtToken'+administratorWebToken+    :: AdministratorWebToken+administratorWebToken =+    AdministratorWebToken'+    { _awtKind = "androidenterprise#administratorWebToken"+    , _awtToken = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#administratorWebToken\".+awtKind :: Lens' AdministratorWebToken Text+awtKind = lens _awtKind (\ s a -> s{_awtKind = a})++-- | An opaque token to be passed to the Play front-end to generate an+-- iframe.+awtToken :: Lens' AdministratorWebToken (Maybe Text)+awtToken = lens _awtToken (\ s a -> s{_awtToken = a})++instance FromJSON AdministratorWebToken where+        parseJSON+          = withObject "AdministratorWebToken"+              (\ o ->+                 AdministratorWebToken' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#administratorWebToken")+                     <*> (o .:? "token"))++instance ToJSON AdministratorWebToken where+        toJSON AdministratorWebToken'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _awtKind),+                  ("token" .=) <$> _awtToken])++-- | A resource returned by the GenerateSignupUrl API, which contains the+-- Signup URL and Completion Token.+--+-- /See:/ 'signupInfo' smart constructor.+data SignupInfo = SignupInfo'+    { _siCompletionToken :: !(Maybe Text)+    , _siKind            :: !Text+    , _siURL             :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SignupInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siCompletionToken'+--+-- * 'siKind'+--+-- * 'siURL'+signupInfo+    :: SignupInfo+signupInfo =+    SignupInfo'+    { _siCompletionToken = Nothing+    , _siKind = "androidenterprise#signupInfo"+    , _siURL = Nothing+    }++-- | An opaque token that will be required, along with the Enterprise Token,+-- for obtaining the enterprise resource from CompleteSignup.+siCompletionToken :: Lens' SignupInfo (Maybe Text)+siCompletionToken+  = lens _siCompletionToken+      (\ s a -> s{_siCompletionToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#signupInfo\".+siKind :: Lens' SignupInfo Text+siKind = lens _siKind (\ s a -> s{_siKind = a})++-- | A URL under which the Admin can sign up for an enterprise. The page+-- pointed to cannot be rendered in an iframe.+siURL :: Lens' SignupInfo (Maybe Text)+siURL = lens _siURL (\ s a -> s{_siURL = a})++instance FromJSON SignupInfo where+        parseJSON+          = withObject "SignupInfo"+              (\ o ->+                 SignupInfo' <$>+                   (o .:? "completionToken") <*>+                     (o .:? "kind" .!= "androidenterprise#signupInfo")+                     <*> (o .:? "url"))++instance ToJSON SignupInfo where+        toJSON SignupInfo'{..}+          = object+              (catMaybes+                 [("completionToken" .=) <$> _siCompletionToken,+                  Just ("kind" .= _siKind), ("url" .=) <$> _siURL])++-- | A Products resource represents an app in the Google Play store that is+-- available to at least some users in the enterprise. (Some apps are+-- restricted to a single enterprise, and no information about them is made+-- available outside that enterprise.) The information provided for each+-- product (localized name, icon, link to the full Google Play details+-- page) is intended to allow a basic representation of the product within+-- an EMM user interface.+--+-- /See:/ 'product' smart constructor.+data Product = Product'+    { _pScreenshotURLs             :: !(Maybe [Text])+    , _pLastUpdatedTimestampMillis :: !(Maybe (Textual Int64))+    , _pSmallIconURL               :: !(Maybe Text)+    , _pAuthorName                 :: !(Maybe Text)+    , _pAppTracks                  :: !(Maybe [TrackInfo])+    , _pKind                       :: !Text+    , _pWorkDetailsURL             :: !(Maybe Text)+    , _pRequiresContainerApp       :: !(Maybe Bool)+    , _pCategory                   :: !(Maybe Text)+    , _pAppVersion                 :: !(Maybe [AppVersion])+    , _pProductPricing             :: !(Maybe Text)+    , _pDistributionChannel        :: !(Maybe Text)+    , _pMinAndroidSdkVersion       :: !(Maybe (Textual Int32))+    , _pAvailableCountries         :: !(Maybe [Text])+    , _pAvailableTracks            :: !(Maybe [Text])+    , _pIconURL                    :: !(Maybe Text)+    , _pPermissions                :: !(Maybe [ProductPermission])+    , _pTitle                      :: !(Maybe Text)+    , _pSigningCertificate         :: !(Maybe ProductSigningCertificate)+    , _pContentRating              :: !(Maybe Text)+    , _pProductId                  :: !(Maybe Text)+    , _pRecentChanges              :: !(Maybe Text)+    , _pDescription                :: !(Maybe Text)+    , _pDetailsURL                 :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Product' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pScreenshotURLs'+--+-- * 'pLastUpdatedTimestampMillis'+--+-- * 'pSmallIconURL'+--+-- * 'pAuthorName'+--+-- * 'pAppTracks'+--+-- * 'pKind'+--+-- * 'pWorkDetailsURL'+--+-- * 'pRequiresContainerApp'+--+-- * 'pCategory'+--+-- * 'pAppVersion'+--+-- * 'pProductPricing'+--+-- * 'pDistributionChannel'+--+-- * 'pMinAndroidSdkVersion'+--+-- * 'pAvailableCountries'+--+-- * 'pAvailableTracks'+--+-- * 'pIconURL'+--+-- * 'pPermissions'+--+-- * 'pTitle'+--+-- * 'pSigningCertificate'+--+-- * 'pContentRating'+--+-- * 'pProductId'+--+-- * 'pRecentChanges'+--+-- * 'pDescription'+--+-- * 'pDetailsURL'+product+    :: Product+product =+    Product'+    { _pScreenshotURLs = Nothing+    , _pLastUpdatedTimestampMillis = Nothing+    , _pSmallIconURL = Nothing+    , _pAuthorName = Nothing+    , _pAppTracks = Nothing+    , _pKind = "androidenterprise#product"+    , _pWorkDetailsURL = Nothing+    , _pRequiresContainerApp = Nothing+    , _pCategory = Nothing+    , _pAppVersion = Nothing+    , _pProductPricing = Nothing+    , _pDistributionChannel = Nothing+    , _pMinAndroidSdkVersion = Nothing+    , _pAvailableCountries = Nothing+    , _pAvailableTracks = Nothing+    , _pIconURL = Nothing+    , _pPermissions = Nothing+    , _pTitle = Nothing+    , _pSigningCertificate = Nothing+    , _pContentRating = Nothing+    , _pProductId = Nothing+    , _pRecentChanges = Nothing+    , _pDescription = Nothing+    , _pDetailsURL = Nothing+    }++-- | A list of screenshot links representing the app.+pScreenshotURLs :: Lens' Product [Text]+pScreenshotURLs+  = lens _pScreenshotURLs+      (\ s a -> s{_pScreenshotURLs = a})+      . _Default+      . _Coerce++-- | The approximate time (within 7 days) the app was last published,+-- expressed in milliseconds since epoch.+pLastUpdatedTimestampMillis :: Lens' Product (Maybe Int64)+pLastUpdatedTimestampMillis+  = lens _pLastUpdatedTimestampMillis+      (\ s a -> s{_pLastUpdatedTimestampMillis = a})+      . mapping _Coerce++-- | A link to a smaller image that can be used as an icon for the product.+-- This image is suitable for use at up to 128px x 128px.+pSmallIconURL :: Lens' Product (Maybe Text)+pSmallIconURL+  = lens _pSmallIconURL+      (\ s a -> s{_pSmallIconURL = a})++-- | The name of the author of the product (for example, the app developer).+pAuthorName :: Lens' Product (Maybe Text)+pAuthorName+  = lens _pAuthorName (\ s a -> s{_pAuthorName = a})++-- | The tracks visible to the enterprise.+pAppTracks :: Lens' Product [TrackInfo]+pAppTracks+  = lens _pAppTracks (\ s a -> s{_pAppTracks = a}) .+      _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#product\".+pKind :: Lens' Product Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | A link to the managed Google Play details page for the product, for use+-- by an Enterprise admin.+pWorkDetailsURL :: Lens' Product (Maybe Text)+pWorkDetailsURL+  = lens _pWorkDetailsURL+      (\ s a -> s{_pWorkDetailsURL = a})++-- | Deprecated.+pRequiresContainerApp :: Lens' Product (Maybe Bool)+pRequiresContainerApp+  = lens _pRequiresContainerApp+      (\ s a -> s{_pRequiresContainerApp = a})++-- | The app category (e.g. RACING, SOCIAL, etc.)+pCategory :: Lens' Product (Maybe Text)+pCategory+  = lens _pCategory (\ s a -> s{_pCategory = a})++-- | App versions currently available for this product.+pAppVersion :: Lens' Product [AppVersion]+pAppVersion+  = lens _pAppVersion (\ s a -> s{_pAppVersion = a}) .+      _Default+      . _Coerce++-- | Whether this product is free, free with in-app purchases, or paid. If+-- the pricing is unknown, this means the product is not generally+-- available anymore (even though it might still be available to people who+-- own it).+pProductPricing :: Lens' Product (Maybe Text)+pProductPricing+  = lens _pProductPricing+      (\ s a -> s{_pProductPricing = a})++-- | How and to whom the package is made available. The value+-- publicGoogleHosted means that the package is available through the Play+-- store and not restricted to a specific enterprise. The value+-- privateGoogleHosted means that the package is a private app (restricted+-- to an enterprise) but hosted by Google. The value privateSelfHosted+-- means that the package is a private app (restricted to an enterprise)+-- and is privately hosted.+pDistributionChannel :: Lens' Product (Maybe Text)+pDistributionChannel+  = lens _pDistributionChannel+      (\ s a -> s{_pDistributionChannel = a})++-- | The minimum Android SDK necessary to run the app.+pMinAndroidSdkVersion :: Lens' Product (Maybe Int32)+pMinAndroidSdkVersion+  = lens _pMinAndroidSdkVersion+      (\ s a -> s{_pMinAndroidSdkVersion = a})+      . mapping _Coerce++-- | The countries which this app is available in.+pAvailableCountries :: Lens' Product [Text]+pAvailableCountries+  = lens _pAvailableCountries+      (\ s a -> s{_pAvailableCountries = a})+      . _Default+      . _Coerce++-- | Deprecated, use appTracks instead.+pAvailableTracks :: Lens' Product [Text]+pAvailableTracks+  = lens _pAvailableTracks+      (\ s a -> s{_pAvailableTracks = a})+      . _Default+      . _Coerce++-- | A link to an image that can be used as an icon for the product. This+-- image is suitable for use at up to 512px x 512px.+pIconURL :: Lens' Product (Maybe Text)+pIconURL = lens _pIconURL (\ s a -> s{_pIconURL = a})++-- | A list of permissions required by the app.+pPermissions :: Lens' Product [ProductPermission]+pPermissions+  = lens _pPermissions (\ s a -> s{_pPermissions = a})+      . _Default+      . _Coerce++-- | The name of the product.+pTitle :: Lens' Product (Maybe Text)+pTitle = lens _pTitle (\ s a -> s{_pTitle = a})++-- | The certificate used to sign this product.+pSigningCertificate :: Lens' Product (Maybe ProductSigningCertificate)+pSigningCertificate+  = lens _pSigningCertificate+      (\ s a -> s{_pSigningCertificate = a})++-- | The content rating for this app.+pContentRating :: Lens' Product (Maybe Text)+pContentRating+  = lens _pContentRating+      (\ s a -> s{_pContentRating = a})++-- | A string of the form app:. For example, app:com.google.android.gm+-- represents the Gmail app.+pProductId :: Lens' Product (Maybe Text)+pProductId+  = lens _pProductId (\ s a -> s{_pProductId = a})++-- | A description of the recent changes made to the app.+pRecentChanges :: Lens' Product (Maybe Text)+pRecentChanges+  = lens _pRecentChanges+      (\ s a -> s{_pRecentChanges = a})++-- | The localized promotional description, if available.+pDescription :: Lens' Product (Maybe Text)+pDescription+  = lens _pDescription (\ s a -> s{_pDescription = a})++-- | A link to the (consumer) Google Play details page for the product.+pDetailsURL :: Lens' Product (Maybe Text)+pDetailsURL+  = lens _pDetailsURL (\ s a -> s{_pDetailsURL = a})++instance FromJSON Product where+        parseJSON+          = withObject "Product"+              (\ o ->+                 Product' <$>+                   (o .:? "screenshotUrls" .!= mempty) <*>+                     (o .:? "lastUpdatedTimestampMillis")+                     <*> (o .:? "smallIconUrl")+                     <*> (o .:? "authorName")+                     <*> (o .:? "appTracks" .!= mempty)+                     <*> (o .:? "kind" .!= "androidenterprise#product")+                     <*> (o .:? "workDetailsUrl")+                     <*> (o .:? "requiresContainerApp")+                     <*> (o .:? "category")+                     <*> (o .:? "appVersion" .!= mempty)+                     <*> (o .:? "productPricing")+                     <*> (o .:? "distributionChannel")+                     <*> (o .:? "minAndroidSdkVersion")+                     <*> (o .:? "availableCountries" .!= mempty)+                     <*> (o .:? "availableTracks" .!= mempty)+                     <*> (o .:? "iconUrl")+                     <*> (o .:? "permissions" .!= mempty)+                     <*> (o .:? "title")+                     <*> (o .:? "signingCertificate")+                     <*> (o .:? "contentRating")+                     <*> (o .:? "productId")+                     <*> (o .:? "recentChanges")+                     <*> (o .:? "description")+                     <*> (o .:? "detailsUrl"))++instance ToJSON Product where+        toJSON Product'{..}+          = object+              (catMaybes+                 [("screenshotUrls" .=) <$> _pScreenshotURLs,+                  ("lastUpdatedTimestampMillis" .=) <$>+                    _pLastUpdatedTimestampMillis,+                  ("smallIconUrl" .=) <$> _pSmallIconURL,+                  ("authorName" .=) <$> _pAuthorName,+                  ("appTracks" .=) <$> _pAppTracks,+                  Just ("kind" .= _pKind),+                  ("workDetailsUrl" .=) <$> _pWorkDetailsURL,+                  ("requiresContainerApp" .=) <$>+                    _pRequiresContainerApp,+                  ("category" .=) <$> _pCategory,+                  ("appVersion" .=) <$> _pAppVersion,+                  ("productPricing" .=) <$> _pProductPricing,+                  ("distributionChannel" .=) <$> _pDistributionChannel,+                  ("minAndroidSdkVersion" .=) <$>+                    _pMinAndroidSdkVersion,+                  ("availableCountries" .=) <$> _pAvailableCountries,+                  ("availableTracks" .=) <$> _pAvailableTracks,+                  ("iconUrl" .=) <$> _pIconURL,+                  ("permissions" .=) <$> _pPermissions,+                  ("title" .=) <$> _pTitle,+                  ("signingCertificate" .=) <$> _pSigningCertificate,+                  ("contentRating" .=) <$> _pContentRating,+                  ("productId" .=) <$> _pProductId,+                  ("recentChanges" .=) <$> _pRecentChanges,+                  ("description" .=) <$> _pDescription,+                  ("detailsUrl" .=) <$> _pDetailsURL])++-- | The entitlement resources for the user.+--+-- /See:/ 'entitlementsListResponse' smart constructor.+data EntitlementsListResponse = EntitlementsListResponse'+    { _entKind        :: !Text+    , _entEntitlement :: !(Maybe [Entitlement])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'entKind'+--+-- * 'entEntitlement'+entitlementsListResponse+    :: EntitlementsListResponse+entitlementsListResponse =+    EntitlementsListResponse'+    { _entKind = "androidenterprise#entitlementsListResponse"+    , _entEntitlement = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#entitlementsListResponse\".+entKind :: Lens' EntitlementsListResponse Text+entKind = lens _entKind (\ s a -> s{_entKind = a})++-- | An entitlement of a user to a product (e.g. an app). For example, a free+-- app that they have installed, or a paid app that they have been+-- allocated a license to.+entEntitlement :: Lens' EntitlementsListResponse [Entitlement]+entEntitlement+  = lens _entEntitlement+      (\ s a -> s{_entEntitlement = a})+      . _Default+      . _Coerce++instance FromJSON EntitlementsListResponse where+        parseJSON+          = withObject "EntitlementsListResponse"+              (\ o ->+                 EntitlementsListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#entitlementsListResponse")+                     <*> (o .:? "entitlement" .!= mempty))++instance ToJSON EntitlementsListResponse where+        toJSON EntitlementsListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _entKind),+                  ("entitlement" .=) <$> _entEntitlement])++-- | Information about the permissions required by a specific app and whether+-- they have been accepted by the enterprise.+--+-- /See:/ 'productPermissions' smart constructor.+data ProductPermissions = ProductPermissions'+    { _ppsKind       :: !Text+    , _ppsPermission :: !(Maybe [ProductPermission])+    , _ppsProductId  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppsKind'+--+-- * 'ppsPermission'+--+-- * 'ppsProductId'+productPermissions+    :: ProductPermissions+productPermissions =+    ProductPermissions'+    { _ppsKind = "androidenterprise#productPermissions"+    , _ppsPermission = Nothing+    , _ppsProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#productPermissions\".+ppsKind :: Lens' ProductPermissions Text+ppsKind = lens _ppsKind (\ s a -> s{_ppsKind = a})++-- | The permissions required by the app.+ppsPermission :: Lens' ProductPermissions [ProductPermission]+ppsPermission+  = lens _ppsPermission+      (\ s a -> s{_ppsPermission = a})+      . _Default+      . _Coerce++-- | The ID of the app that the permissions relate to, e.g.+-- \"app:com.google.android.gm\".+ppsProductId :: Lens' ProductPermissions (Maybe Text)+ppsProductId+  = lens _ppsProductId (\ s a -> s{_ppsProductId = a})++instance FromJSON ProductPermissions where+        parseJSON+          = withObject "ProductPermissions"+              (\ o ->+                 ProductPermissions' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#productPermissions")+                     <*> (o .:? "permission" .!= mempty)+                     <*> (o .:? "productId"))++instance ToJSON ProductPermissions where+        toJSON ProductPermissions'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ppsKind),+                  ("permission" .=) <$> _ppsPermission,+                  ("productId" .=) <$> _ppsProductId])++-- | A Permissions resource represents some extra capability, to be granted+-- to an Android app, which requires explicit consent. An enterprise admin+-- must consent to these permissions on behalf of their users before an+-- entitlement for the app can be created. The permissions collection is+-- read-only. The information provided for each permission (localized name+-- and description) is intended to be used in the MDM user interface when+-- obtaining consent from the enterprise.+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission'+    { _perKind         :: !Text+    , _perName         :: !(Maybe Text)+    , _perDescription  :: !(Maybe Text)+    , _perPermissionId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'perKind'+--+-- * 'perName'+--+-- * 'perDescription'+--+-- * 'perPermissionId'+permission+    :: Permission+permission =+    Permission'+    { _perKind = "androidenterprise#permission"+    , _perName = Nothing+    , _perDescription = Nothing+    , _perPermissionId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#permission\".+perKind :: Lens' Permission Text+perKind = lens _perKind (\ s a -> s{_perKind = a})++-- | The name of the permission.+perName :: Lens' Permission (Maybe Text)+perName = lens _perName (\ s a -> s{_perName = a})++-- | A longer description of the Permissions resource, giving more details of+-- what it affects.+perDescription :: Lens' Permission (Maybe Text)+perDescription+  = lens _perDescription+      (\ s a -> s{_perDescription = a})++-- | An opaque string uniquely identifying the permission.+perPermissionId :: Lens' Permission (Maybe Text)+perPermissionId+  = lens _perPermissionId+      (\ s a -> s{_perPermissionId = a})++instance FromJSON Permission where+        parseJSON+          = withObject "Permission"+              (\ o ->+                 Permission' <$>+                   (o .:? "kind" .!= "androidenterprise#permission") <*>+                     (o .:? "name")+                     <*> (o .:? "description")+                     <*> (o .:? "permissionId"))++instance ToJSON Permission where+        toJSON Permission'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _perKind), ("name" .=) <$> _perName,+                  ("description" .=) <$> _perDescription,+                  ("permissionId" .=) <$> _perPermissionId])++-- | The web app details for an enterprise.+--+-- /See:/ 'webAppsListResponse' smart constructor.+data WebAppsListResponse = WebAppsListResponse'+    { _walrKind   :: !Text+    , _walrWebApp :: !(Maybe [WebApp])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'walrKind'+--+-- * 'walrWebApp'+webAppsListResponse+    :: WebAppsListResponse+webAppsListResponse =+    WebAppsListResponse'+    { _walrKind = "androidenterprise#webAppsListResponse"+    , _walrWebApp = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#webAppsListResponse\".+walrKind :: Lens' WebAppsListResponse Text+walrKind = lens _walrKind (\ s a -> s{_walrKind = a})++-- | The manifest describing a web app.+walrWebApp :: Lens' WebAppsListResponse [WebApp]+walrWebApp+  = lens _walrWebApp (\ s a -> s{_walrWebApp = a}) .+      _Default+      . _Coerce++instance FromJSON WebAppsListResponse where+        parseJSON+          = withObject "WebAppsListResponse"+              (\ o ->+                 WebAppsListResponse' <$>+                   (o .:? "kind" .!=+                      "androidenterprise#webAppsListResponse")+                     <*> (o .:? "webApp" .!= mempty))++instance ToJSON WebAppsListResponse where+        toJSON WebAppsListResponse'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _walrKind),+                  ("webApp" .=) <$> _walrWebApp])++--+-- /See:/ 'productsApproveRequest' smart constructor.+data ProductsApproveRequest = ProductsApproveRequest'+    { _parApprovalURLInfo     :: !(Maybe ApprovalURLInfo)+    , _parApprovedPermissions :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsApproveRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parApprovalURLInfo'+--+-- * 'parApprovedPermissions'+productsApproveRequest+    :: ProductsApproveRequest+productsApproveRequest =+    ProductsApproveRequest'+    { _parApprovalURLInfo = Nothing+    , _parApprovedPermissions = Nothing+    }++-- | The approval URL that was shown to the user. Only the permissions shown+-- to the user with that URL will be accepted, which may not be the+-- product\'s entire set of permissions. For example, the URL may only+-- display new permissions from an update after the product was approved,+-- or not include new permissions if the product was updated since the URL+-- was generated.+parApprovalURLInfo :: Lens' ProductsApproveRequest (Maybe ApprovalURLInfo)+parApprovalURLInfo+  = lens _parApprovalURLInfo+      (\ s a -> s{_parApprovalURLInfo = a})++-- | Sets how new permission requests for the product are handled.+-- \"allPermissions\" automatically approves all current and future+-- permissions for the product. \"currentPermissionsOnly\" approves the+-- current set of permissions for the product, but any future permissions+-- added through updates will require manual reapproval. If not specified,+-- only the current set of permissions will be approved.+parApprovedPermissions :: Lens' ProductsApproveRequest (Maybe Text)+parApprovedPermissions+  = lens _parApprovedPermissions+      (\ s a -> s{_parApprovedPermissions = a})++instance FromJSON ProductsApproveRequest where+        parseJSON+          = withObject "ProductsApproveRequest"+              (\ o ->+                 ProductsApproveRequest' <$>+                   (o .:? "approvalUrlInfo") <*>+                     (o .:? "approvedPermissions"))++instance ToJSON ProductsApproveRequest where+        toJSON ProductsApproveRequest'{..}+          = object+              (catMaybes+                 [("approvalUrlInfo" .=) <$> _parApprovalURLInfo,+                  ("approvedPermissions" .=) <$>+                    _parApprovedPermissions])++--+-- /See:/ 'autoInstallPolicy' smart constructor.+data AutoInstallPolicy = AutoInstallPolicy'+    { _aipAutoInstallConstraint :: !(Maybe [AutoInstallConstraint])+    , _aipAutoInstallPriority   :: !(Maybe (Textual Int32))+    , _aipAutoInstallMode       :: !(Maybe Text)+    , _aipMinimumVersionCode    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoInstallPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aipAutoInstallConstraint'+--+-- * 'aipAutoInstallPriority'+--+-- * 'aipAutoInstallMode'+--+-- * 'aipMinimumVersionCode'+autoInstallPolicy+    :: AutoInstallPolicy+autoInstallPolicy =+    AutoInstallPolicy'+    { _aipAutoInstallConstraint = Nothing+    , _aipAutoInstallPriority = Nothing+    , _aipAutoInstallMode = Nothing+    , _aipMinimumVersionCode = Nothing+    }++-- | The constraints for the install. Currently there can be at most one+-- constraint.+aipAutoInstallConstraint :: Lens' AutoInstallPolicy [AutoInstallConstraint]+aipAutoInstallConstraint+  = lens _aipAutoInstallConstraint+      (\ s a -> s{_aipAutoInstallConstraint = a})+      . _Default+      . _Coerce++-- | The priority of the install, as an unsigned integer. Lower number means+-- higher priority.+aipAutoInstallPriority :: Lens' AutoInstallPolicy (Maybe Int32)+aipAutoInstallPriority+  = lens _aipAutoInstallPriority+      (\ s a -> s{_aipAutoInstallPriority = a})+      . mapping _Coerce++-- | The auto install mode. If unset defaults to AVAILABLE.+aipAutoInstallMode :: Lens' AutoInstallPolicy (Maybe Text)+aipAutoInstallMode+  = lens _aipAutoInstallMode+      (\ s a -> s{_aipAutoInstallMode = a})++-- | The minimum version of the app. If a lower version of the app is+-- installed then the app will be auto-updated according to the+-- auto-install constraints, instead of waiting for the regular+-- auto-update.+aipMinimumVersionCode :: Lens' AutoInstallPolicy (Maybe Int32)+aipMinimumVersionCode+  = lens _aipMinimumVersionCode+      (\ s a -> s{_aipMinimumVersionCode = a})+      . mapping _Coerce++instance FromJSON AutoInstallPolicy where+        parseJSON+          = withObject "AutoInstallPolicy"+              (\ o ->+                 AutoInstallPolicy' <$>+                   (o .:? "autoInstallConstraint" .!= mempty) <*>+                     (o .:? "autoInstallPriority")+                     <*> (o .:? "autoInstallMode")+                     <*> (o .:? "minimumVersionCode"))++instance ToJSON AutoInstallPolicy where+        toJSON AutoInstallPolicy'{..}+          = object+              (catMaybes+                 [("autoInstallConstraint" .=) <$>+                    _aipAutoInstallConstraint,+                  ("autoInstallPriority" .=) <$>+                    _aipAutoInstallPriority,+                  ("autoInstallMode" .=) <$> _aipAutoInstallMode,+                  ("minimumVersionCode" .=) <$>+                    _aipMinimumVersionCode])++-- | The presence of an Entitlements resource indicates that a user has the+-- right to use a particular app. Entitlements are user specific, not+-- device specific. This allows a user with an entitlement to an app to+-- install the app on all their devices. It\'s also possible for a user to+-- hold an entitlement to an app without installing the app on any device.+-- The API can be used to create an entitlement. As an option, you can also+-- use the API to trigger the installation of an app on all a user\'s+-- managed devices at the same time the entitlement is created. If the app+-- is free, creating the entitlement also creates a group license for that+-- app. For paid apps, creating the entitlement consumes one license, and+-- that license remains consumed until the entitlement is removed. If the+-- enterprise hasn\'t purchased enough licenses, then no entitlement is+-- created and the installation fails. An entitlement is also not created+-- for an app if the app requires permissions that the enterprise hasn\'t+-- accepted. If an entitlement is deleted, the app may be uninstalled from+-- a user\'s device. As a best practice, uninstall the app by calling+-- Installs.delete() before deleting the entitlement. Entitlements for apps+-- that a user pays for on an unmanaged profile have \"userPurchase\" as+-- the entitlement reason. These entitlements cannot be removed via the+-- API.+--+-- /See:/ 'entitlement' smart constructor.+data Entitlement = Entitlement'+    { _eeKind      :: !Text+    , _eeReason    :: !(Maybe Text)+    , _eeProductId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Entitlement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eeKind'+--+-- * 'eeReason'+--+-- * 'eeProductId'+entitlement+    :: Entitlement+entitlement =+    Entitlement'+    { _eeKind = "androidenterprise#entitlement"+    , _eeReason = Nothing+    , _eeProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#entitlement\".+eeKind :: Lens' Entitlement Text+eeKind = lens _eeKind (\ s a -> s{_eeKind = a})++-- | The reason for the entitlement. For example, \"free\" for free apps.+-- This property is temporary: it will be replaced by the acquisition kind+-- field of group licenses.+eeReason :: Lens' Entitlement (Maybe Text)+eeReason = lens _eeReason (\ s a -> s{_eeReason = a})++-- | The ID of the product that the entitlement is for. For example,+-- \"app:com.google.android.gm\".+eeProductId :: Lens' Entitlement (Maybe Text)+eeProductId+  = lens _eeProductId (\ s a -> s{_eeProductId = a})++instance FromJSON Entitlement where+        parseJSON+          = withObject "Entitlement"+              (\ o ->+                 Entitlement' <$>+                   (o .:? "kind" .!= "androidenterprise#entitlement")+                     <*> (o .:? "reason")+                     <*> (o .:? "productId"))++instance ToJSON Entitlement where+        toJSON Entitlement'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eeKind),+                  ("reason" .=) <$> _eeReason,+                  ("productId" .=) <$> _eeProductId])++-- | The matching products.+--+-- /See:/ 'productsListResponse' smart constructor.+data ProductsListResponse = ProductsListResponse'+    { _plrTokenPagination :: !(Maybe TokenPagination)+    , _plrPageInfo        :: !(Maybe PageInfo)+    , _plrKind            :: !Text+    , _plrProduct         :: !(Maybe [Product])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plrTokenPagination'+--+-- * 'plrPageInfo'+--+-- * 'plrKind'+--+-- * 'plrProduct'+productsListResponse+    :: ProductsListResponse+productsListResponse =+    ProductsListResponse'+    { _plrTokenPagination = Nothing+    , _plrPageInfo = Nothing+    , _plrKind = "androidenterprise#productsListResponse"+    , _plrProduct = Nothing+    }++-- | Pagination information for token pagination.+plrTokenPagination :: Lens' ProductsListResponse (Maybe TokenPagination)+plrTokenPagination+  = lens _plrTokenPagination+      (\ s a -> s{_plrTokenPagination = a})++-- | General pagination information.+plrPageInfo :: Lens' ProductsListResponse (Maybe PageInfo)+plrPageInfo+  = lens _plrPageInfo (\ s a -> s{_plrPageInfo = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#productsListResponse\".+plrKind :: Lens' ProductsListResponse Text+plrKind = lens _plrKind (\ s a -> s{_plrKind = a})++-- | Information about a product (e.g. an app) in the Google Play store, for+-- display to an enterprise admin.+plrProduct :: Lens' ProductsListResponse [Product]+plrProduct+  = lens _plrProduct (\ s a -> s{_plrProduct = a}) .+      _Default+      . _Coerce++instance FromJSON ProductsListResponse where+        parseJSON+          = withObject "ProductsListResponse"+              (\ o ->+                 ProductsListResponse' <$>+                   (o .:? "tokenPagination") <*> (o .:? "pageInfo") <*>+                     (o .:? "kind" .!=+                        "androidenterprise#productsListResponse")+                     <*> (o .:? "product" .!= mempty))++instance ToJSON ProductsListResponse where+        toJSON ProductsListResponse'{..}+          = object+              (catMaybes+                 [("tokenPagination" .=) <$> _plrTokenPagination,+                  ("pageInfo" .=) <$> _plrPageInfo,+                  Just ("kind" .= _plrKind),+                  ("product" .=) <$> _plrProduct])++-- | WebApp resource info.+--+-- /See:/ 'webApp' smart constructor.+data WebApp = WebApp'+    { _waWebAppId    :: !(Maybe Text)+    , _waVersionCode :: !(Maybe (Textual Int64))+    , _waIcons       :: !(Maybe [WebAppIcon])+    , _waStartURL    :: !(Maybe Text)+    , _waDisplayMode :: !(Maybe Text)+    , _waIsPublished :: !(Maybe Bool)+    , _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:+--+-- * 'waWebAppId'+--+-- * 'waVersionCode'+--+-- * 'waIcons'+--+-- * 'waStartURL'+--+-- * 'waDisplayMode'+--+-- * 'waIsPublished'+--+-- * 'waTitle'+webApp+    :: WebApp+webApp =+    WebApp'+    { _waWebAppId = Nothing+    , _waVersionCode = Nothing+    , _waIcons = Nothing+    , _waStartURL = Nothing+    , _waDisplayMode = Nothing+    , _waIsPublished = Nothing+    , _waTitle = Nothing+    }++-- | The ID of the application.+waWebAppId :: Lens' WebApp (Maybe Text)+waWebAppId+  = lens _waWebAppId (\ s a -> s{_waWebAppId = a})++-- | 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 representing this website. 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 Text)+waDisplayMode+  = lens _waDisplayMode+      (\ s a -> s{_waDisplayMode = a})++-- | A flag whether the app has been published to the Play store yet.+waIsPublished :: Lens' WebApp (Maybe Bool)+waIsPublished+  = lens _waIsPublished+      (\ s a -> s{_waIsPublished = a})++-- | The title of the web application 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 .:? "webAppId") <*> (o .:? "versionCode") <*>+                     (o .:? "icons" .!= mempty)+                     <*> (o .:? "startUrl")+                     <*> (o .:? "displayMode")+                     <*> (o .:? "isPublished")+                     <*> (o .:? "title"))++instance ToJSON WebApp where+        toJSON WebApp'{..}+          = object+              (catMaybes+                 [("webAppId" .=) <$> _waWebAppId,+                  ("versionCode" .=) <$> _waVersionCode,+                  ("icons" .=) <$> _waIcons,+                  ("startUrl" .=) <$> _waStartURL,+                  ("displayMode" .=) <$> _waDisplayMode,+                  ("isPublished" .=) <$> _waIsPublished,+                  ("title" .=) <$> _waTitle])
gen/Network/Google/AndroidEnterprise/Types/Sum.hs view
@@ -16,7 +16,7 @@ -- module Network.Google.AndroidEnterprise.Types.Sum where -import           Network.Google.Prelude+import           Network.Google.Prelude hiding (Bytes)  -- | The request mode for pulling notifications. Specifying -- waitForNotifications will cause the request to block and wait until one
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/Patch.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Devices.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 the device policy. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.devices.patch@.+module Network.Google.Resource.AndroidEnterprise.Devices.Patch+    (+    -- * REST Resource+      DevicesPatchResource++    -- * Creating a Request+    , devicesPatch+    , DevicesPatch++    -- * Request Lenses+    , dpUpdateMask+    , dpEnterpriseId+    , dpPayload+    , dpUserId+    , dpDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.patch@ method which the+-- 'DevicesPatch' request conforms to.+type DevicesPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     QueryParam "updateMask" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Device :> Patch '[JSON] Device++-- | Updates the device policy. This method supports patch semantics.+--+-- /See:/ 'devicesPatch' smart constructor.+data DevicesPatch = DevicesPatch'+    { _dpUpdateMask   :: !(Maybe Text)+    , _dpEnterpriseId :: !Text+    , _dpPayload      :: !Device+    , _dpUserId       :: !Text+    , _dpDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpUpdateMask'+--+-- * 'dpEnterpriseId'+--+-- * 'dpPayload'+--+-- * 'dpUserId'+--+-- * 'dpDeviceId'+devicesPatch+    :: Text -- ^ 'dpEnterpriseId'+    -> Device -- ^ 'dpPayload'+    -> Text -- ^ 'dpUserId'+    -> Text -- ^ 'dpDeviceId'+    -> DevicesPatch+devicesPatch pDpEnterpriseId_ pDpPayload_ pDpUserId_ pDpDeviceId_ =+    DevicesPatch'+    { _dpUpdateMask = Nothing+    , _dpEnterpriseId = pDpEnterpriseId_+    , _dpPayload = pDpPayload_+    , _dpUserId = pDpUserId_+    , _dpDeviceId = pDpDeviceId_+    }++-- | Mask that identifies which fields to update. If not set, all modifiable+-- fields will be modified. When set in a query parameter, this field+-- should be specified as updateMask=,,...+dpUpdateMask :: Lens' DevicesPatch (Maybe Text)+dpUpdateMask+  = lens _dpUpdateMask (\ s a -> s{_dpUpdateMask = a})++-- | The ID of the enterprise.+dpEnterpriseId :: Lens' DevicesPatch Text+dpEnterpriseId+  = lens _dpEnterpriseId+      (\ s a -> s{_dpEnterpriseId = a})++-- | Multipart request metadata.+dpPayload :: Lens' DevicesPatch Device+dpPayload+  = lens _dpPayload (\ s a -> s{_dpPayload = a})++-- | The ID of the user.+dpUserId :: Lens' DevicesPatch Text+dpUserId = lens _dpUserId (\ s a -> s{_dpUserId = a})++-- | The ID of the device.+dpDeviceId :: Lens' DevicesPatch Text+dpDeviceId+  = lens _dpDeviceId (\ s a -> s{_dpDeviceId = a})++instance GoogleRequest DevicesPatch where+        type Rs DevicesPatch = Device+        type Scopes DevicesPatch =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient DevicesPatch'{..}+          = go _dpEnterpriseId _dpUserId _dpDeviceId+              _dpUpdateMask+              (Just AltJSON)+              _dpPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy DevicesPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/Update.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Devices.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the device policy+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.devices.update@.+module Network.Google.Resource.AndroidEnterprise.Devices.Update+    (+    -- * REST Resource+      DevicesUpdateResource++    -- * Creating a Request+    , devicesUpdate+    , DevicesUpdate++    -- * Request Lenses+    , duUpdateMask+    , duEnterpriseId+    , duPayload+    , duUserId+    , duDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.update@ method which the+-- 'DevicesUpdate' request conforms to.+type DevicesUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     QueryParam "updateMask" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Device :> Put '[JSON] Device++-- | Updates the device policy+--+-- /See:/ 'devicesUpdate' smart constructor.+data DevicesUpdate = DevicesUpdate'+    { _duUpdateMask   :: !(Maybe Text)+    , _duEnterpriseId :: !Text+    , _duPayload      :: !Device+    , _duUserId       :: !Text+    , _duDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'duUpdateMask'+--+-- * 'duEnterpriseId'+--+-- * 'duPayload'+--+-- * 'duUserId'+--+-- * 'duDeviceId'+devicesUpdate+    :: Text -- ^ 'duEnterpriseId'+    -> Device -- ^ 'duPayload'+    -> Text -- ^ 'duUserId'+    -> Text -- ^ 'duDeviceId'+    -> DevicesUpdate+devicesUpdate pDuEnterpriseId_ pDuPayload_ pDuUserId_ pDuDeviceId_ =+    DevicesUpdate'+    { _duUpdateMask = Nothing+    , _duEnterpriseId = pDuEnterpriseId_+    , _duPayload = pDuPayload_+    , _duUserId = pDuUserId_+    , _duDeviceId = pDuDeviceId_+    }++-- | Mask that identifies which fields to update. If not set, all modifiable+-- fields will be modified. When set in a query parameter, this field+-- should be specified as updateMask=,,...+duUpdateMask :: Lens' DevicesUpdate (Maybe Text)+duUpdateMask+  = lens _duUpdateMask (\ s a -> s{_duUpdateMask = a})++-- | The ID of the enterprise.+duEnterpriseId :: Lens' DevicesUpdate Text+duEnterpriseId+  = lens _duEnterpriseId+      (\ s a -> s{_duEnterpriseId = a})++-- | Multipart request metadata.+duPayload :: Lens' DevicesUpdate Device+duPayload+  = lens _duPayload (\ s a -> s{_duPayload = a})++-- | The ID of the user.+duUserId :: Lens' DevicesUpdate Text+duUserId = lens _duUserId (\ s a -> s{_duUserId = a})++-- | The ID of the device.+duDeviceId :: Lens' DevicesUpdate Text+duDeviceId+  = lens _duDeviceId (\ s a -> s{_duDeviceId = a})++instance GoogleRequest DevicesUpdate where+        type Rs DevicesUpdate = Device+        type Scopes DevicesUpdate =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient DevicesUpdate'{..}+          = go _duEnterpriseId _duUserId _duDeviceId+              _duUpdateMask+              (Just AltJSON)+              _duPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy DevicesUpdateResource)+                      mempty
− gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Delete.hs
@@ -1,93 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.AndroidEnterprise.Enterprises.Delete--- Copyright   : (c) 2015-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 the binding between the EMM and enterprise. This is now--- deprecated; use this to unenroll customers that were previously enrolled--- with the \'insert\' call, then enroll them again with the \'enroll\'--- call.------ /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.delete@.-module Network.Google.Resource.AndroidEnterprise.Enterprises.Delete-    (-    -- * REST Resource-      EnterprisesDeleteResource--    -- * Creating a Request-    , enterprisesDelete-    , EnterprisesDelete--    -- * Request Lenses-    , edEnterpriseId-    ) where--import           Network.Google.AndroidEnterprise.Types-import           Network.Google.Prelude---- | A resource alias for @androidenterprise.enterprises.delete@ method which the--- 'EnterprisesDelete' request conforms to.-type EnterprisesDeleteResource =-     "androidenterprise" :>-       "v1" :>-         "enterprises" :>-           Capture "enterpriseId" Text :>-             QueryParam "alt" AltJSON :> Delete '[JSON] ()---- | Deletes the binding between the EMM and enterprise. This is now--- deprecated; use this to unenroll customers that were previously enrolled--- with the \'insert\' call, then enroll them again with the \'enroll\'--- call.------ /See:/ 'enterprisesDelete' smart constructor.-newtype EnterprisesDelete = EnterprisesDelete'-    { _edEnterpriseId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnterprisesDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'edEnterpriseId'-enterprisesDelete-    :: Text -- ^ 'edEnterpriseId'-    -> EnterprisesDelete-enterprisesDelete pEdEnterpriseId_ =-    EnterprisesDelete'-    { _edEnterpriseId = pEdEnterpriseId_-    }---- | The ID of the enterprise.-edEnterpriseId :: Lens' EnterprisesDelete Text-edEnterpriseId-  = lens _edEnterpriseId-      (\ s a -> s{_edEnterpriseId = a})--instance GoogleRequest EnterprisesDelete where-        type Rs EnterprisesDelete = ()-        type Scopes EnterprisesDelete =-             '["https://www.googleapis.com/auth/androidenterprise"]-        requestClient EnterprisesDelete'{..}-          = go _edEnterpriseId (Just AltJSON)-              androidEnterpriseService-          where go-                  = buildClient-                      (Proxy :: Proxy EnterprisesDeleteResource)-                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetAndroidDevicePolicyConfig.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig+-- 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)+--+-- Deprecated and unused.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.getAndroidDevicePolicyConfig@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig+    (+    -- * REST Resource+      EnterprisesGetAndroidDevicePolicyConfigResource++    -- * Creating a Request+    , enterprisesGetAndroidDevicePolicyConfig+    , EnterprisesGetAndroidDevicePolicyConfig++    -- * Request Lenses+    , egadpcEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.getAndroidDevicePolicyConfig@ method which the+-- 'EnterprisesGetAndroidDevicePolicyConfig' request conforms to.+type EnterprisesGetAndroidDevicePolicyConfigResource+     =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "androidDevicePolicyConfig" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] AndroidDevicePolicyConfig++-- | Deprecated and unused.+--+-- /See:/ 'enterprisesGetAndroidDevicePolicyConfig' smart constructor.+newtype EnterprisesGetAndroidDevicePolicyConfig = EnterprisesGetAndroidDevicePolicyConfig'+    { _egadpcEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesGetAndroidDevicePolicyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egadpcEnterpriseId'+enterprisesGetAndroidDevicePolicyConfig+    :: Text -- ^ 'egadpcEnterpriseId'+    -> EnterprisesGetAndroidDevicePolicyConfig+enterprisesGetAndroidDevicePolicyConfig pEgadpcEnterpriseId_ =+    EnterprisesGetAndroidDevicePolicyConfig'+    { _egadpcEnterpriseId = pEgadpcEnterpriseId_+    }++-- | The ID of the enterprise.+egadpcEnterpriseId :: Lens' EnterprisesGetAndroidDevicePolicyConfig Text+egadpcEnterpriseId+  = lens _egadpcEnterpriseId+      (\ s a -> s{_egadpcEnterpriseId = a})++instance GoogleRequest+         EnterprisesGetAndroidDevicePolicyConfig where+        type Rs EnterprisesGetAndroidDevicePolicyConfig =+             AndroidDevicePolicyConfig+        type Scopes EnterprisesGetAndroidDevicePolicyConfig =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient+          EnterprisesGetAndroidDevicePolicyConfig'{..}+          = go _egadpcEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           EnterprisesGetAndroidDevicePolicyConfigResource)+                      mempty
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetStoreLayout.hs view
@@ -21,8 +21,7 @@ -- Portability : non-portable (GHC extensions) -- -- Returns the store layout for the enterprise. If the store layout has not--- been set, or if the store layout has no homepageId set, returns a--- NOT_FOUND error.+-- been set, returns \"basic\" as the store layout type and no homepage. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.getStoreLayout@. module Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout@@ -52,8 +51,7 @@                QueryParam "alt" AltJSON :> Get '[JSON] StoreLayout  -- | Returns the store layout for the enterprise. If the store layout has not--- been set, or if the store layout has no homepageId set, returns a--- NOT_FOUND error.+-- been set, returns \"basic\" as the store layout type and no homepage. -- -- /See:/ 'enterprisesGetStoreLayout' smart constructor. newtype EnterprisesGetStoreLayout = EnterprisesGetStoreLayout'
− gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Insert.hs
@@ -1,99 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.AndroidEnterprise.Enterprises.Insert--- Copyright   : (c) 2015-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)------ Establishes the binding between the EMM and an enterprise. This is now--- deprecated; use enroll instead.------ /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.insert@.-module Network.Google.Resource.AndroidEnterprise.Enterprises.Insert-    (-    -- * REST Resource-      EnterprisesInsertResource--    -- * Creating a Request-    , enterprisesInsert-    , EnterprisesInsert--    -- * Request Lenses-    , eiToken-    , eiPayload-    ) where--import           Network.Google.AndroidEnterprise.Types-import           Network.Google.Prelude---- | A resource alias for @androidenterprise.enterprises.insert@ method which the--- 'EnterprisesInsert' request conforms to.-type EnterprisesInsertResource =-     "androidenterprise" :>-       "v1" :>-         "enterprises" :>-           QueryParam "token" Text :>-             QueryParam "alt" AltJSON :>-               ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise---- | Establishes the binding between the EMM and an enterprise. This is now--- deprecated; use enroll instead.------ /See:/ 'enterprisesInsert' smart constructor.-data EnterprisesInsert = EnterprisesInsert'-    { _eiToken   :: !Text-    , _eiPayload :: !Enterprise-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EnterprisesInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eiToken'------ * 'eiPayload'-enterprisesInsert-    :: Text -- ^ 'eiToken'-    -> Enterprise -- ^ 'eiPayload'-    -> EnterprisesInsert-enterprisesInsert pEiToken_ pEiPayload_ =-    EnterprisesInsert'-    { _eiToken = pEiToken_-    , _eiPayload = pEiPayload_-    }---- | The token provided by the enterprise to register the EMM.-eiToken :: Lens' EnterprisesInsert Text-eiToken = lens _eiToken (\ s a -> s{_eiToken = a})---- | Multipart request metadata.-eiPayload :: Lens' EnterprisesInsert Enterprise-eiPayload-  = lens _eiPayload (\ s a -> s{_eiPayload = a})--instance GoogleRequest EnterprisesInsert where-        type Rs EnterprisesInsert = Enterprise-        type Scopes EnterprisesInsert =-             '["https://www.googleapis.com/auth/androidenterprise"]-        requestClient EnterprisesInsert'{..}-          = go (Just _eiToken) (Just AltJSON) _eiPayload-              androidEnterpriseService-          where go-                  = buildClient-                      (Proxy :: Proxy EnterprisesInsertResource)-                      mempty
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/PullNotificationSet.hs view
@@ -24,7 +24,7 @@ -- the service account authenticated for the request. The notification set -- may be empty if no notification are pending. A notification set returned -- needs to be acknowledged within 20 seconds by calling--- Enterprises​.AcknowledgeNotificationSet, unless the notification set is+-- Enterprises.AcknowledgeNotificationSet, unless the notification set is -- empty. Notifications that are not acknowledged within the 20 seconds -- will eventually be included again in the response to another -- PullNotificationSet request, and those that are never acknowledged will@@ -69,7 +69,7 @@ -- the service account authenticated for the request. The notification set -- may be empty if no notification are pending. A notification set returned -- needs to be acknowledged within 20 seconds by calling--- Enterprises​.AcknowledgeNotificationSet, unless the notification set is+-- Enterprises.AcknowledgeNotificationSet, unless the notification set is -- empty. Notifications that are not acknowledged within the 20 seconds -- will eventually be included again in the response to another -- PullNotificationSet request, and those that are never acknowledged will
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SendTestPushNotification.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Sends a test push notification to validate the EMM integration with the+-- Sends a test notification to validate the EMM integration with the -- Google Cloud Pub\/Sub service for this enterprise. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.sendTestPushNotification@.@@ -52,7 +52,7 @@                  Post '[JSON]                    EnterprisesSendTestPushNotificationResponse --- | Sends a test push notification to validate the EMM integration with the+-- | Sends a test notification to validate the EMM integration with the -- Google Cloud Pub\/Sub service for this enterprise. -- -- /See:/ 'enterprisesSendTestPushNotification' smart constructor.
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetAccount.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Set the account that will be used to authenticate to the API as the+-- Sets the account that will be used to authenticate to the API as the -- enterprise. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.setAccount@.@@ -53,7 +53,7 @@                  ReqBody '[JSON] EnterpriseAccount :>                    Put '[JSON] EnterpriseAccount --- | Set the account that will be used to authenticate to the API as the+-- | Sets the account that will be used to authenticate to the API as the -- enterprise. -- -- /See:/ 'enterprisesSetAccount' smart constructor.
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetAndroidDevicePolicyConfig.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig+-- 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)+--+-- Deprecated and unused.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.setAndroidDevicePolicyConfig@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig+    (+    -- * REST Resource+      EnterprisesSetAndroidDevicePolicyConfigResource++    -- * Creating a Request+    , enterprisesSetAndroidDevicePolicyConfig+    , EnterprisesSetAndroidDevicePolicyConfig++    -- * Request Lenses+    , esadpcEnterpriseId+    , esadpcPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.setAndroidDevicePolicyConfig@ method which the+-- 'EnterprisesSetAndroidDevicePolicyConfig' request conforms to.+type EnterprisesSetAndroidDevicePolicyConfigResource+     =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "androidDevicePolicyConfig" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] AndroidDevicePolicyConfig :>+                   Put '[JSON] AndroidDevicePolicyConfig++-- | Deprecated and unused.+--+-- /See:/ 'enterprisesSetAndroidDevicePolicyConfig' smart constructor.+data EnterprisesSetAndroidDevicePolicyConfig = EnterprisesSetAndroidDevicePolicyConfig'+    { _esadpcEnterpriseId :: !Text+    , _esadpcPayload      :: !AndroidDevicePolicyConfig+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesSetAndroidDevicePolicyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esadpcEnterpriseId'+--+-- * 'esadpcPayload'+enterprisesSetAndroidDevicePolicyConfig+    :: Text -- ^ 'esadpcEnterpriseId'+    -> AndroidDevicePolicyConfig -- ^ 'esadpcPayload'+    -> EnterprisesSetAndroidDevicePolicyConfig+enterprisesSetAndroidDevicePolicyConfig pEsadpcEnterpriseId_ pEsadpcPayload_ =+    EnterprisesSetAndroidDevicePolicyConfig'+    { _esadpcEnterpriseId = pEsadpcEnterpriseId_+    , _esadpcPayload = pEsadpcPayload_+    }++-- | The ID of the enterprise.+esadpcEnterpriseId :: Lens' EnterprisesSetAndroidDevicePolicyConfig Text+esadpcEnterpriseId+  = lens _esadpcEnterpriseId+      (\ s a -> s{_esadpcEnterpriseId = a})++-- | Multipart request metadata.+esadpcPayload :: Lens' EnterprisesSetAndroidDevicePolicyConfig AndroidDevicePolicyConfig+esadpcPayload+  = lens _esadpcPayload+      (\ s a -> s{_esadpcPayload = a})++instance GoogleRequest+         EnterprisesSetAndroidDevicePolicyConfig where+        type Rs EnterprisesSetAndroidDevicePolicyConfig =+             AndroidDevicePolicyConfig+        type Scopes EnterprisesSetAndroidDevicePolicyConfig =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient+          EnterprisesSetAndroidDevicePolicyConfig'{..}+          = go _esadpcEnterpriseId (Just AltJSON)+              _esadpcPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           EnterprisesSetAndroidDevicePolicyConfigResource)+                      mempty
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetStoreLayout.hs view
@@ -26,7 +26,7 @@ -- the available product set for a user (using the setAvailableProductSet -- call). Apps on the page are sorted in order of their product ID value. -- If you create a custom store layout (by setting storeLayoutType =--- \"custom\"), the basic store layout is disabled.+-- \"custom\" and setting a homepage), the basic store layout is disabled. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.enterprises.setStoreLayout@. module Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout@@ -64,7 +64,7 @@ -- the available product set for a user (using the setAvailableProductSet -- call). Apps on the page are sorted in order of their product ID value. -- If you create a custom store layout (by setting storeLayoutType =--- \"custom\"), the basic store layout is disabled.+-- \"custom\" and setting a homepage), the basic store layout is disabled. -- -- /See:/ 'enterprisesSetStoreLayout' smart constructor. data EnterprisesSetStoreLayout = EnterprisesSetStoreLayout'
gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Unenroll.hs view
@@ -33,7 +33,7 @@     , EnterprisesUnenroll      -- * Request Lenses-    , euuEnterpriseId+    , entEnterpriseId     ) where  import           Network.Google.AndroidEnterprise.Types@@ -53,34 +53,34 @@ -- -- /See:/ 'enterprisesUnenroll' smart constructor. newtype EnterprisesUnenroll = EnterprisesUnenroll'-    { _euuEnterpriseId :: Text+    { _entEnterpriseId :: Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'EnterprisesUnenroll' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'euuEnterpriseId'+-- * 'entEnterpriseId' enterprisesUnenroll-    :: Text -- ^ 'euuEnterpriseId'+    :: Text -- ^ 'entEnterpriseId'     -> EnterprisesUnenroll-enterprisesUnenroll pEuuEnterpriseId_ =+enterprisesUnenroll pEntEnterpriseId_ =     EnterprisesUnenroll'-    { _euuEnterpriseId = pEuuEnterpriseId_+    { _entEnterpriseId = pEntEnterpriseId_     }  -- | The ID of the enterprise.-euuEnterpriseId :: Lens' EnterprisesUnenroll Text-euuEnterpriseId-  = lens _euuEnterpriseId-      (\ s a -> s{_euuEnterpriseId = a})+entEnterpriseId :: Lens' EnterprisesUnenroll Text+entEnterpriseId+  = lens _entEnterpriseId+      (\ s a -> s{_entEnterpriseId = a})  instance GoogleRequest EnterprisesUnenroll where         type Rs EnterprisesUnenroll = ()         type Scopes EnterprisesUnenroll =              '["https://www.googleapis.com/auth/androidenterprise"]         requestClient EnterprisesUnenroll'{..}-          = go _euuEnterpriseId (Just AltJSON)+          = go _entEnterpriseId (Just AltJSON)               androidEnterpriseService           where go                   = buildClient
gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Delete.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Removes an entitlement to an app for a user and uninstalls it.+-- Removes an entitlement to an app for a user. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.entitlements.delete@. module Network.Google.Resource.AndroidEnterprise.Entitlements.Delete@@ -33,9 +33,9 @@     , EntitlementsDelete      -- * Request Lenses-    , entEntitlementId-    , entEnterpriseId-    , entUserId+    , edEntitlementId+    , edEnterpriseId+    , edUserId     ) where  import           Network.Google.AndroidEnterprise.Types@@ -54,60 +54,59 @@                    Capture "entitlementId" Text :>                      QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Removes an entitlement to an app for a user and uninstalls it.+-- | Removes an entitlement to an app for a user. -- -- /See:/ 'entitlementsDelete' smart constructor. data EntitlementsDelete = EntitlementsDelete'-    { _entEntitlementId :: !Text-    , _entEnterpriseId  :: !Text-    , _entUserId        :: !Text+    { _edEntitlementId :: !Text+    , _edEnterpriseId  :: !Text+    , _edUserId        :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'EntitlementsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'entEntitlementId'+-- * 'edEntitlementId' ----- * 'entEnterpriseId'+-- * 'edEnterpriseId' ----- * 'entUserId'+-- * 'edUserId' entitlementsDelete-    :: Text -- ^ 'entEntitlementId'-    -> Text -- ^ 'entEnterpriseId'-    -> Text -- ^ 'entUserId'+    :: Text -- ^ 'edEntitlementId'+    -> Text -- ^ 'edEnterpriseId'+    -> Text -- ^ 'edUserId'     -> EntitlementsDelete-entitlementsDelete pEntEntitlementId_ pEntEnterpriseId_ pEntUserId_ =+entitlementsDelete pEdEntitlementId_ pEdEnterpriseId_ pEdUserId_ =     EntitlementsDelete'-    { _entEntitlementId = pEntEntitlementId_-    , _entEnterpriseId = pEntEnterpriseId_-    , _entUserId = pEntUserId_+    { _edEntitlementId = pEdEntitlementId_+    , _edEnterpriseId = pEdEnterpriseId_+    , _edUserId = pEdUserId_     }  -- | The ID of the entitlement (a product ID), e.g. -- \"app:com.google.android.gm\".-entEntitlementId :: Lens' EntitlementsDelete Text-entEntitlementId-  = lens _entEntitlementId-      (\ s a -> s{_entEntitlementId = a})+edEntitlementId :: Lens' EntitlementsDelete Text+edEntitlementId+  = lens _edEntitlementId+      (\ s a -> s{_edEntitlementId = a})  -- | The ID of the enterprise.-entEnterpriseId :: Lens' EntitlementsDelete Text-entEnterpriseId-  = lens _entEnterpriseId-      (\ s a -> s{_entEnterpriseId = a})+edEnterpriseId :: Lens' EntitlementsDelete Text+edEnterpriseId+  = lens _edEnterpriseId+      (\ s a -> s{_edEnterpriseId = a})  -- | The ID of the user.-entUserId :: Lens' EntitlementsDelete Text-entUserId-  = lens _entUserId (\ s a -> s{_entUserId = a})+edUserId :: Lens' EntitlementsDelete Text+edUserId = lens _edUserId (\ s a -> s{_edUserId = a})  instance GoogleRequest EntitlementsDelete where         type Rs EntitlementsDelete = ()         type Scopes EntitlementsDelete =              '["https://www.googleapis.com/auth/androidenterprise"]         requestClient EntitlementsDelete'{..}-          = go _entEnterpriseId _entUserId _entEntitlementId+          = go _edEnterpriseId _edUserId _edEntitlementId               (Just AltJSON)               androidEnterpriseService           where go
gen/Network/Google/Resource/AndroidEnterprise/Entitlements/List.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- List of all entitlements for the specified user. Only the ID is set.+-- Lists all entitlements for the specified user. Only the ID is set. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.entitlements.list@. module Network.Google.Resource.AndroidEnterprise.Entitlements.List@@ -53,7 +53,7 @@                    QueryParam "alt" AltJSON :>                      Get '[JSON] EntitlementsListResponse --- | List of all entitlements for the specified user. Only the ID is set.+-- | Lists all entitlements for the specified user. Only the ID is set. -- -- /See:/ 'entitlementsList' smart constructor. data EntitlementsList = EntitlementsList'
gen/Network/Google/Resource/AndroidEnterprise/Installs/Patch.hs view
@@ -21,7 +21,7 @@ -- Portability : non-portable (GHC extensions) -- -- Requests to install the latest version of an app to a device. If the app--- is already installed then it is updated to the latest version if+-- is already installed, then it is updated to the latest version if -- necessary. This method supports patch semantics. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.installs.patch@.@@ -62,7 +62,7 @@                            ReqBody '[JSON] Install :> Patch '[JSON] Install  -- | Requests to install the latest version of an app to a device. If the app--- is already installed then it is updated to the latest version if+-- is already installed, then it is updated to the latest version if -- necessary. This method supports patch semantics. -- -- /See:/ 'installsPatch' smart constructor.
gen/Network/Google/Resource/AndroidEnterprise/Installs/Update.hs view
@@ -21,7 +21,7 @@ -- Portability : non-portable (GHC extensions) -- -- Requests to install the latest version of an app to a device. If the app--- is already installed then it is updated to the latest version if+-- is already installed, then it is updated to the latest version if -- necessary. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.installs.update@.@@ -62,7 +62,7 @@                            ReqBody '[JSON] Install :> Put '[JSON] Install  -- | Requests to install the latest version of an app to a device. If the app--- is already installed then it is updated to the latest version if+-- is already installed, then it is updated to the latest version if -- necessary. -- -- /See:/ 'installsUpdate' smart constructor.
gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Patch.hs view
@@ -20,8 +20,12 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Adds or updates a per-user managed configuration for an app for the--- specified user. This method supports patch semantics.+-- Adds or updates the managed configuration settings for an app for the+-- specified user. If you support the Managed configurations iframe, you+-- can apply managed configurations to a user by specifying an mcmId and+-- its associated configuration variables (if any) in the request.+-- Alternatively, all EMMs can apply managed configurations by passing a+-- list of managed properties. This method supports patch semantics. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.managedconfigurationsforuser.patch@. module Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Patch@@ -58,8 +62,12 @@                        ReqBody '[JSON] ManagedConfiguration :>                          Patch '[JSON] ManagedConfiguration --- | Adds or updates a per-user managed configuration for an app for the--- specified user. This method supports patch semantics.+-- | Adds or updates the managed configuration settings for an app for the+-- specified user. If you support the Managed configurations iframe, you+-- can apply managed configurations to a user by specifying an mcmId and+-- its associated configuration variables (if any) in the request.+-- Alternatively, all EMMs can apply managed configurations by passing a+-- list of managed properties. This method supports patch semantics. -- -- /See:/ 'managedConfigurationsforUserPatch' smart constructor. data ManagedConfigurationsforUserPatch = ManagedConfigurationsforUserPatch'
gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Update.hs view
@@ -20,8 +20,12 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Adds or updates a per-user managed configuration for an app for the--- specified user.+-- Adds or updates the managed configuration settings for an app for the+-- specified user. If you support the Managed configurations iframe, you+-- can apply managed configurations to a user by specifying an mcmId and+-- its associated configuration variables (if any) in the request.+-- Alternatively, all EMMs can apply managed configurations by passing a+-- list of managed properties. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.managedconfigurationsforuser.update@. module Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update@@ -58,8 +62,12 @@                        ReqBody '[JSON] ManagedConfiguration :>                          Put '[JSON] ManagedConfiguration --- | Adds or updates a per-user managed configuration for an app for the--- specified user.+-- | Adds or updates the managed configuration settings for an app for the+-- specified user. If you support the Managed configurations iframe, you+-- can apply managed configurations to a user by specifying an mcmId and+-- its associated configuration variables (if any) in the request.+-- Alternatively, all EMMs can apply managed configurations by passing a+-- list of managed properties. -- -- /See:/ 'managedConfigurationsforUserUpdate' smart constructor. data ManagedConfigurationsforUserUpdate = ManagedConfigurationsforUserUpdate'
+ gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationssettings/List.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.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 all the managed configurations settings for the specified app.+-- Only the ID and the name is set.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.managedconfigurationssettings.list@.+module Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List+    (+    -- * REST Resource+      ManagedConfigurationssettingsListResource++    -- * Creating a Request+    , managedConfigurationssettingsList+    , ManagedConfigurationssettingsList++    -- * Request Lenses+    , mclEnterpriseId+    , mclProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.managedconfigurationssettings.list@ method which the+-- 'ManagedConfigurationssettingsList' request conforms to.+type ManagedConfigurationssettingsListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "managedConfigurationsSettings" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ManagedConfigurationsSettingsListResponse++-- | Lists all the managed configurations settings for the specified app.+-- Only the ID and the name is set.+--+-- /See:/ 'managedConfigurationssettingsList' smart constructor.+data ManagedConfigurationssettingsList = ManagedConfigurationssettingsList'+    { _mclEnterpriseId :: !Text+    , _mclProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedConfigurationssettingsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mclEnterpriseId'+--+-- * 'mclProductId'+managedConfigurationssettingsList+    :: Text -- ^ 'mclEnterpriseId'+    -> Text -- ^ 'mclProductId'+    -> ManagedConfigurationssettingsList+managedConfigurationssettingsList pMclEnterpriseId_ pMclProductId_ =+    ManagedConfigurationssettingsList'+    { _mclEnterpriseId = pMclEnterpriseId_+    , _mclProductId = pMclProductId_+    }++-- | The ID of the enterprise.+mclEnterpriseId :: Lens' ManagedConfigurationssettingsList Text+mclEnterpriseId+  = lens _mclEnterpriseId+      (\ s a -> s{_mclEnterpriseId = a})++-- | The ID of the product for which the managed configurations settings+-- applies to.+mclProductId :: Lens' ManagedConfigurationssettingsList Text+mclProductId+  = lens _mclProductId (\ s a -> s{_mclProductId = a})++instance GoogleRequest+         ManagedConfigurationssettingsList where+        type Rs ManagedConfigurationssettingsList =+             ManagedConfigurationsSettingsListResponse+        type Scopes ManagedConfigurationssettingsList =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient ManagedConfigurationssettingsList'{..}+          = go _mclEnterpriseId _mclProductId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagedConfigurationssettingsListResource)+                      mempty
gen/Network/Google/Resource/AndroidEnterprise/Products/List.hs view
@@ -108,9 +108,9 @@   = lens _plEnterpriseId       (\ s a -> s{_plEnterpriseId = a}) --- | A pagination token is contained in a request’s response when there are--- more products. The token can be used in a subsequent request to obtain--- more products, and so forth. This parameter cannot be used in the+-- | A pagination token is contained in a request\'\'s response when there+-- are more products. The token can be used in a subsequent request to+-- obtain more products, and so forth. This parameter cannot be used in the -- initial request. plToken :: Lens' ProductsList (Maybe Text) plToken = lens _plToken (\ s a -> s{_plToken = a})
gen/Network/Google/Resource/AndroidEnterprise/Users/GenerateAuthenticationToken.hs view
@@ -22,8 +22,9 @@ -- -- Generates an authentication token which the device policy client can use -- to provision the given EMM-managed user account on a device. The--- generated token is single-use and expires after a few minutes. This call--- only works with EMM-managed accounts.+-- generated token is single-use and expires after a few minutes. You can+-- provision a maximum of 10 devices per user. This call only works with+-- EMM-managed accounts. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.users.generateAuthenticationToken@. module Network.Google.Resource.AndroidEnterprise.Users.GenerateAuthenticationToken@@ -58,8 +59,9 @@  -- | Generates an authentication token which the device policy client can use -- to provision the given EMM-managed user account on a device. The--- generated token is single-use and expires after a few minutes. This call--- only works with EMM-managed accounts.+-- generated token is single-use and expires after a few minutes. You can+-- provision a maximum of 10 devices per user. This call only works with+-- EMM-managed accounts. -- -- /See:/ 'usersGenerateAuthenticationToken' smart constructor. data UsersGenerateAuthenticationToken = UsersGenerateAuthenticationToken'
+ gen/Network/Google/Resource/AndroidEnterprise/Users/RevokeDeviceAccess.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess+-- 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)+--+-- Revokes access to all devices currently provisioned to the user. The+-- user will no longer be able to use the managed Play store on any of+-- their managed devices. This call only works with EMM-managed accounts.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.users.revokeDeviceAccess@.+module Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess+    (+    -- * REST Resource+      UsersRevokeDeviceAccessResource++    -- * Creating a Request+    , usersRevokeDeviceAccess+    , UsersRevokeDeviceAccess++    -- * Request Lenses+    , urdaEnterpriseId+    , urdaUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.revokeDeviceAccess@ method which the+-- 'UsersRevokeDeviceAccess' request conforms to.+type UsersRevokeDeviceAccessResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "deviceAccess" :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Revokes access to all devices currently provisioned to the user. The+-- user will no longer be able to use the managed Play store on any of+-- their managed devices. This call only works with EMM-managed accounts.+--+-- /See:/ 'usersRevokeDeviceAccess' smart constructor.+data UsersRevokeDeviceAccess = UsersRevokeDeviceAccess'+    { _urdaEnterpriseId :: !Text+    , _urdaUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersRevokeDeviceAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urdaEnterpriseId'+--+-- * 'urdaUserId'+usersRevokeDeviceAccess+    :: Text -- ^ 'urdaEnterpriseId'+    -> Text -- ^ 'urdaUserId'+    -> UsersRevokeDeviceAccess+usersRevokeDeviceAccess pUrdaEnterpriseId_ pUrdaUserId_ =+    UsersRevokeDeviceAccess'+    { _urdaEnterpriseId = pUrdaEnterpriseId_+    , _urdaUserId = pUrdaUserId_+    }++-- | The ID of the enterprise.+urdaEnterpriseId :: Lens' UsersRevokeDeviceAccess Text+urdaEnterpriseId+  = lens _urdaEnterpriseId+      (\ s a -> s{_urdaEnterpriseId = a})++-- | The ID of the user.+urdaUserId :: Lens' UsersRevokeDeviceAccess Text+urdaUserId+  = lens _urdaUserId (\ s a -> s{_urdaUserId = a})++instance GoogleRequest UsersRevokeDeviceAccess where+        type Rs UsersRevokeDeviceAccess = ()+        type Scopes UsersRevokeDeviceAccess =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient UsersRevokeDeviceAccess'{..}+          = go _urdaEnterpriseId _urdaUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersRevokeDeviceAccessResource)+                      mempty
gen/Network/Google/Resource/AndroidEnterprise/Users/SetAvailableProductSet.hs view
@@ -20,7 +20,10 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Modifies the set of products a user is entitled to access.+-- Modifies the set of products that a user is entitled to access (referred+-- to as whitelisted products). Only products that are approved or products+-- that were previously approved (products with revoked approval) can be+-- whitelisted. -- -- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.users.setAvailableProductSet@. module Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet@@ -54,7 +57,10 @@                    QueryParam "alt" AltJSON :>                      ReqBody '[JSON] ProductSet :> Put '[JSON] ProductSet --- | Modifies the set of products a user is entitled to access.+-- | Modifies the set of products that a user is entitled to access (referred+-- to as whitelisted products). Only products that are approved or products+-- that were previously approved (products with revoked approval) can be+-- whitelisted. -- -- /See:/ 'usersSetAvailableProductSet' smart constructor. data UsersSetAvailableProductSet = UsersSetAvailableProductSet'
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/Delete.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.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 an existing web app.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.delete@.+module Network.Google.Resource.AndroidEnterprise.WebApps.Delete+    (+    -- * REST Resource+      WebAppsDeleteResource++    -- * Creating a Request+    , webAppsDelete+    , WebAppsDelete++    -- * Request Lenses+    , wadWebAppId+    , wadEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.delete@ method which the+-- 'WebAppsDelete' request conforms to.+type WebAppsDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               Capture "webAppId" Text :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing web app.+--+-- /See:/ 'webAppsDelete' smart constructor.+data WebAppsDelete = WebAppsDelete'+    { _wadWebAppId     :: !Text+    , _wadEnterpriseId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wadWebAppId'+--+-- * 'wadEnterpriseId'+webAppsDelete+    :: Text -- ^ 'wadWebAppId'+    -> Text -- ^ 'wadEnterpriseId'+    -> WebAppsDelete+webAppsDelete pWadWebAppId_ pWadEnterpriseId_ =+    WebAppsDelete'+    { _wadWebAppId = pWadWebAppId_+    , _wadEnterpriseId = pWadEnterpriseId_+    }++-- | The ID of the web app.+wadWebAppId :: Lens' WebAppsDelete Text+wadWebAppId+  = lens _wadWebAppId (\ s a -> s{_wadWebAppId = a})++-- | The ID of the enterprise.+wadEnterpriseId :: Lens' WebAppsDelete Text+wadEnterpriseId+  = lens _wadEnterpriseId+      (\ s a -> s{_wadEnterpriseId = a})++instance GoogleRequest WebAppsDelete where+        type Rs WebAppsDelete = ()+        type Scopes WebAppsDelete =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsDelete'{..}+          = go _wadEnterpriseId _wadWebAppId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/Get.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.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 an existing web app.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.get@.+module Network.Google.Resource.AndroidEnterprise.WebApps.Get+    (+    -- * REST Resource+      WebAppsGetResource++    -- * Creating a Request+    , webAppsGet+    , WebAppsGet++    -- * Request Lenses+    , wagWebAppId+    , wagEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.get@ method which the+-- 'WebAppsGet' request conforms to.+type WebAppsGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               Capture "webAppId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] WebApp++-- | Gets an existing web app.+--+-- /See:/ 'webAppsGet' smart constructor.+data WebAppsGet = WebAppsGet'+    { _wagWebAppId     :: !Text+    , _wagEnterpriseId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wagWebAppId'+--+-- * 'wagEnterpriseId'+webAppsGet+    :: Text -- ^ 'wagWebAppId'+    -> Text -- ^ 'wagEnterpriseId'+    -> WebAppsGet+webAppsGet pWagWebAppId_ pWagEnterpriseId_ =+    WebAppsGet'+    { _wagWebAppId = pWagWebAppId_+    , _wagEnterpriseId = pWagEnterpriseId_+    }++-- | The ID of the web app.+wagWebAppId :: Lens' WebAppsGet Text+wagWebAppId+  = lens _wagWebAppId (\ s a -> s{_wagWebAppId = a})++-- | The ID of the enterprise.+wagEnterpriseId :: Lens' WebAppsGet Text+wagEnterpriseId+  = lens _wagEnterpriseId+      (\ s a -> s{_wagEnterpriseId = a})++instance GoogleRequest WebAppsGet where+        type Rs WebAppsGet = WebApp+        type Scopes WebAppsGet =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsGet'{..}+          = go _wagEnterpriseId _wagWebAppId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/Insert.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.WebApps.Insert+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new web app for the enterprise.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.insert@.+module Network.Google.Resource.AndroidEnterprise.WebApps.Insert+    (+    -- * REST Resource+      WebAppsInsertResource++    -- * Creating a Request+    , webAppsInsert+    , WebAppsInsert++    -- * Request Lenses+    , waiEnterpriseId+    , waiPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.insert@ method which the+-- 'WebAppsInsert' request conforms to.+type WebAppsInsertResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] WebApp :> Post '[JSON] WebApp++-- | Creates a new web app for the enterprise.+--+-- /See:/ 'webAppsInsert' smart constructor.+data WebAppsInsert = WebAppsInsert'+    { _waiEnterpriseId :: !Text+    , _waiPayload      :: !WebApp+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'waiEnterpriseId'+--+-- * 'waiPayload'+webAppsInsert+    :: Text -- ^ 'waiEnterpriseId'+    -> WebApp -- ^ 'waiPayload'+    -> WebAppsInsert+webAppsInsert pWaiEnterpriseId_ pWaiPayload_ =+    WebAppsInsert'+    { _waiEnterpriseId = pWaiEnterpriseId_+    , _waiPayload = pWaiPayload_+    }++-- | The ID of the enterprise.+waiEnterpriseId :: Lens' WebAppsInsert Text+waiEnterpriseId+  = lens _waiEnterpriseId+      (\ s a -> s{_waiEnterpriseId = a})++-- | Multipart request metadata.+waiPayload :: Lens' WebAppsInsert WebApp+waiPayload+  = lens _waiPayload (\ s a -> s{_waiPayload = a})++instance GoogleRequest WebAppsInsert where+        type Rs WebAppsInsert = WebApp+        type Scopes WebAppsInsert =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsInsert'{..}+          = go _waiEnterpriseId (Just AltJSON) _waiPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsInsertResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/List.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.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)+--+-- Retrieves the details of all web apps for a given enterprise.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.list@.+module Network.Google.Resource.AndroidEnterprise.WebApps.List+    (+    -- * REST Resource+      WebAppsListResource++    -- * Creating a Request+    , webAppsList+    , WebAppsList++    -- * Request Lenses+    , walEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.list@ method which the+-- 'WebAppsList' request conforms to.+type WebAppsListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] WebAppsListResponse++-- | Retrieves the details of all web apps for a given enterprise.+--+-- /See:/ 'webAppsList' smart constructor.+newtype WebAppsList = WebAppsList'+    { _walEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'walEnterpriseId'+webAppsList+    :: Text -- ^ 'walEnterpriseId'+    -> WebAppsList+webAppsList pWalEnterpriseId_ =+    WebAppsList'+    { _walEnterpriseId = pWalEnterpriseId_+    }++-- | The ID of the enterprise.+walEnterpriseId :: Lens' WebAppsList Text+walEnterpriseId+  = lens _walEnterpriseId+      (\ s a -> s{_walEnterpriseId = a})++instance GoogleRequest WebAppsList where+        type Rs WebAppsList = WebAppsListResponse+        type Scopes WebAppsList =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsList'{..}+          = go _walEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/Patch.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.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 an existing web app. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.patch@.+module Network.Google.Resource.AndroidEnterprise.WebApps.Patch+    (+    -- * REST Resource+      WebAppsPatchResource++    -- * Creating a Request+    , webAppsPatch+    , WebAppsPatch++    -- * Request Lenses+    , wapWebAppId+    , wapEnterpriseId+    , wapPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.patch@ method which the+-- 'WebAppsPatch' request conforms to.+type WebAppsPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               Capture "webAppId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] WebApp :> Patch '[JSON] WebApp++-- | Updates an existing web app. This method supports patch semantics.+--+-- /See:/ 'webAppsPatch' smart constructor.+data WebAppsPatch = WebAppsPatch'+    { _wapWebAppId     :: !Text+    , _wapEnterpriseId :: !Text+    , _wapPayload      :: !WebApp+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wapWebAppId'+--+-- * 'wapEnterpriseId'+--+-- * 'wapPayload'+webAppsPatch+    :: Text -- ^ 'wapWebAppId'+    -> Text -- ^ 'wapEnterpriseId'+    -> WebApp -- ^ 'wapPayload'+    -> WebAppsPatch+webAppsPatch pWapWebAppId_ pWapEnterpriseId_ pWapPayload_ =+    WebAppsPatch'+    { _wapWebAppId = pWapWebAppId_+    , _wapEnterpriseId = pWapEnterpriseId_+    , _wapPayload = pWapPayload_+    }++-- | The ID of the web app.+wapWebAppId :: Lens' WebAppsPatch Text+wapWebAppId+  = lens _wapWebAppId (\ s a -> s{_wapWebAppId = a})++-- | The ID of the enterprise.+wapEnterpriseId :: Lens' WebAppsPatch Text+wapEnterpriseId+  = lens _wapEnterpriseId+      (\ s a -> s{_wapEnterpriseId = a})++-- | Multipart request metadata.+wapPayload :: Lens' WebAppsPatch WebApp+wapPayload+  = lens _wapPayload (\ s a -> s{_wapPayload = a})++instance GoogleRequest WebAppsPatch where+        type Rs WebAppsPatch = WebApp+        type Scopes WebAppsPatch =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsPatch'{..}+          = go _wapEnterpriseId _wapWebAppId (Just AltJSON)+              _wapPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/WebApps/Update.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.WebApps.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing web app.+--+-- /See:/ <https://developers.google.com/android/work/play/emm-api Google Play EMM API Reference> for @androidenterprise.webapps.update@.+module Network.Google.Resource.AndroidEnterprise.WebApps.Update+    (+    -- * REST Resource+      WebAppsUpdateResource++    -- * Creating a Request+    , webAppsUpdate+    , WebAppsUpdate++    -- * Request Lenses+    , wauWebAppId+    , wauEnterpriseId+    , wauPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.webapps.update@ method which the+-- 'WebAppsUpdate' request conforms to.+type WebAppsUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "webApps" :>+               Capture "webAppId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] WebApp :> Put '[JSON] WebApp++-- | Updates an existing web app.+--+-- /See:/ 'webAppsUpdate' smart constructor.+data WebAppsUpdate = WebAppsUpdate'+    { _wauWebAppId     :: !Text+    , _wauEnterpriseId :: !Text+    , _wauPayload      :: !WebApp+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebAppsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wauWebAppId'+--+-- * 'wauEnterpriseId'+--+-- * 'wauPayload'+webAppsUpdate+    :: Text -- ^ 'wauWebAppId'+    -> Text -- ^ 'wauEnterpriseId'+    -> WebApp -- ^ 'wauPayload'+    -> WebAppsUpdate+webAppsUpdate pWauWebAppId_ pWauEnterpriseId_ pWauPayload_ =+    WebAppsUpdate'+    { _wauWebAppId = pWauWebAppId_+    , _wauEnterpriseId = pWauEnterpriseId_+    , _wauPayload = pWauPayload_+    }++-- | The ID of the web app.+wauWebAppId :: Lens' WebAppsUpdate Text+wauWebAppId+  = lens _wauWebAppId (\ s a -> s{_wauWebAppId = a})++-- | The ID of the enterprise.+wauEnterpriseId :: Lens' WebAppsUpdate Text+wauEnterpriseId+  = lens _wauEnterpriseId+      (\ s a -> s{_wauEnterpriseId = a})++-- | Multipart request metadata.+wauPayload :: Lens' WebAppsUpdate WebApp+wauPayload+  = lens _wauPayload (\ s a -> s{_wauPayload = a})++instance GoogleRequest WebAppsUpdate where+        type Rs WebAppsUpdate = WebApp+        type Scopes WebAppsUpdate =+             '["https://www.googleapis.com/auth/androidenterprise"]+        requestClient WebAppsUpdate'{..}+          = go _wauEnterpriseId _wauWebAppId (Just AltJSON)+              _wauPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy WebAppsUpdateResource)+                      mempty
gogol-android-enterprise.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-android-enterprise-version:               0.3.0+version:               0.4.0 synopsis:              Google Play EMM SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -38,21 +38,23 @@         , Network.Google.Resource.AndroidEnterprise.Devices.Get         , Network.Google.Resource.AndroidEnterprise.Devices.GetState         , Network.Google.Resource.AndroidEnterprise.Devices.List+        , Network.Google.Resource.AndroidEnterprise.Devices.Patch         , Network.Google.Resource.AndroidEnterprise.Devices.SetState+        , Network.Google.Resource.AndroidEnterprise.Devices.Update         , Network.Google.Resource.AndroidEnterprise.Enterprises.AcknowledgeNotificationSet         , Network.Google.Resource.AndroidEnterprise.Enterprises.CompleteSignup         , Network.Google.Resource.AndroidEnterprise.Enterprises.CreateWebToken-        , Network.Google.Resource.AndroidEnterprise.Enterprises.Delete         , Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll         , Network.Google.Resource.AndroidEnterprise.Enterprises.GenerateSignupURL         , Network.Google.Resource.AndroidEnterprise.Enterprises.Get+        , Network.Google.Resource.AndroidEnterprise.Enterprises.GetAndroidDevicePolicyConfig         , Network.Google.Resource.AndroidEnterprise.Enterprises.GetServiceAccount         , Network.Google.Resource.AndroidEnterprise.Enterprises.GetStoreLayout-        , Network.Google.Resource.AndroidEnterprise.Enterprises.Insert         , Network.Google.Resource.AndroidEnterprise.Enterprises.List         , Network.Google.Resource.AndroidEnterprise.Enterprises.PullNotificationSet         , Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification         , Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount+        , Network.Google.Resource.AndroidEnterprise.Enterprises.SetAndroidDevicePolicyConfig         , Network.Google.Resource.AndroidEnterprise.Enterprises.SetStoreLayout         , Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll         , Network.Google.Resource.AndroidEnterprise.Entitlements.Delete@@ -78,6 +80,7 @@         , Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.List         , Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Patch         , Network.Google.Resource.AndroidEnterprise.ManagedConfigurationsforUser.Update+        , Network.Google.Resource.AndroidEnterprise.ManagedConfigurationssettings.List         , Network.Google.Resource.AndroidEnterprise.Permissions.Get         , Network.Google.Resource.AndroidEnterprise.Products.Approve         , Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL@@ -109,14 +112,21 @@         , Network.Google.Resource.AndroidEnterprise.Users.Insert         , Network.Google.Resource.AndroidEnterprise.Users.List         , Network.Google.Resource.AndroidEnterprise.Users.Patch+        , Network.Google.Resource.AndroidEnterprise.Users.RevokeDeviceAccess         , Network.Google.Resource.AndroidEnterprise.Users.RevokeToken         , Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet         , Network.Google.Resource.AndroidEnterprise.Users.Update+        , Network.Google.Resource.AndroidEnterprise.WebApps.Delete+        , Network.Google.Resource.AndroidEnterprise.WebApps.Get+        , Network.Google.Resource.AndroidEnterprise.WebApps.Insert+        , Network.Google.Resource.AndroidEnterprise.WebApps.List+        , Network.Google.Resource.AndroidEnterprise.WebApps.Patch+        , Network.Google.Resource.AndroidEnterprise.WebApps.Update      other-modules:           Network.Google.AndroidEnterprise.Types.Product         , Network.Google.AndroidEnterprise.Types.Sum      build-depends:-          gogol-core == 0.3.0.*+          gogol-core == 0.4.0.*         , base       >= 4.7 && < 5