gogol-admin-directory 0.4.0 → 0.5.0
raw patch · 119 files changed
+9481/−8612 lines, 119 filesdep ~gogol-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
+ Network.Google.Directory: ClientSpecified :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory: RBICSClientSpecified :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory: RBICSResolvedFromAddress :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory: RBICSSourceUnspecified :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory: RBUCSClientSpecified :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory: RBUCSResolvedFromAddress :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory: RBUCSSourceUnspecified :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory: ResolvedFromAddress :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory: SourceUnspecified :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory: baAddressLines :: Lens' BuildingAddress [Text]
+ Network.Google.Directory: baAdministrativeArea :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: baLanguageCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: baLocality :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: baPostalCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: baRegionCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: baSublocality :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory: buiAddress :: Lens' Building (Maybe BuildingAddress)
+ Network.Google.Directory: buildingAddress :: BuildingAddress
+ Network.Google.Directory: data BuildingAddress
+ Network.Google.Directory: data ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory: data ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory: data ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory.Types: ClientSpecified :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory.Types: RBICSClientSpecified :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory.Types: RBICSResolvedFromAddress :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory.Types: RBICSSourceUnspecified :: ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory.Types: RBUCSClientSpecified :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory.Types: RBUCSResolvedFromAddress :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory.Types: RBUCSSourceUnspecified :: ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Directory.Types: ResolvedFromAddress :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory.Types: SourceUnspecified :: ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory.Types: baAddressLines :: Lens' BuildingAddress [Text]
+ Network.Google.Directory.Types: baAdministrativeArea :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: baLanguageCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: baLocality :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: baPostalCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: baRegionCode :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: baSublocality :: Lens' BuildingAddress (Maybe Text)
+ Network.Google.Directory.Types: buiAddress :: Lens' Building (Maybe BuildingAddress)
+ Network.Google.Directory.Types: buildingAddress :: BuildingAddress
+ Network.Google.Directory.Types: data BuildingAddress
+ Network.Google.Directory.Types: data ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Directory.Types: data ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Directory.Types: data ResourcesBuildingsUpdateCoordinatesSource
+ Network.Google.Resource.Directory.Resources.Buildings.Insert: rbiCoordinatesSource :: Lens' ResourcesBuildingsInsert ResourcesBuildingsInsertCoordinatesSource
+ Network.Google.Resource.Directory.Resources.Buildings.Patch: rbpCoordinatesSource :: Lens' ResourcesBuildingsPatch ResourcesBuildingsPatchCoordinatesSource
+ Network.Google.Resource.Directory.Resources.Buildings.Update: rbuCoordinatesSource :: Lens' ResourcesBuildingsUpdate ResourcesBuildingsUpdateCoordinatesSource
- Network.Google.Resource.Directory.Resources.Buildings.Insert: type ResourcesBuildingsInsertResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Post '[JSON] Building
+ Network.Google.Resource.Directory.Resources.Buildings.Insert: type ResourcesBuildingsInsertResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> QueryParam "coordinatesSource" ResourcesBuildingsInsertCoordinatesSource :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Post '[JSON] Building
- Network.Google.Resource.Directory.Resources.Buildings.Patch: type ResourcesBuildingsPatchResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> Capture "buildingId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Patch '[JSON] Building
+ Network.Google.Resource.Directory.Resources.Buildings.Patch: type ResourcesBuildingsPatchResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> Capture "buildingId" Text :> QueryParam "coordinatesSource" ResourcesBuildingsPatchCoordinatesSource :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Patch '[JSON] Building
- Network.Google.Resource.Directory.Resources.Buildings.Update: type ResourcesBuildingsUpdateResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> Capture "buildingId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Put '[JSON] Building
+ Network.Google.Resource.Directory.Resources.Buildings.Update: type ResourcesBuildingsUpdateResource = "admin" :> "directory" :> "v1" :> "customer" :> Capture "customer" Text :> "resources" :> "buildings" :> Capture "buildingId" Text :> QueryParam "coordinatesSource" ResourcesBuildingsUpdateCoordinatesSource :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Building :> Put '[JSON] Building
Files
- README.md +1/−1
- gen/Network/Google/Directory.hs +21/−0
- gen/Network/Google/Directory/Types.hs +48/−27
- gen/Network/Google/Directory/Types/Product.hs +8427/−8024
- gen/Network/Google/Directory/Types/Sum.hs +108/−0
- gen/Network/Google/Resource/Admin/Channels/Stop.hs +7/−6
- gen/Network/Google/Resource/Directory/Asps/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Asps/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Asps/List.hs +7/−6
- gen/Network/Google/Resource/Directory/ChromeosDevices/Action.hs +7/−3
- gen/Network/Google/Resource/Directory/ChromeosDevices/Get.hs +7/−3
- gen/Network/Google/Resource/Directory/ChromeosDevices/List.hs +7/−3
- gen/Network/Google/Resource/Directory/ChromeosDevices/MoveDevicesToOu.hs +7/−3
- gen/Network/Google/Resource/Directory/ChromeosDevices/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/ChromeosDevices/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/Customers/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Customers/Patch.hs +7/−6
- gen/Network/Google/Resource/Directory/Customers/Update.hs +7/−6
- gen/Network/Google/Resource/Directory/DomainAliases/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/DomainAliases/Get.hs +8/−6
- gen/Network/Google/Resource/Directory/DomainAliases/Insert.hs +8/−6
- gen/Network/Google/Resource/Directory/DomainAliases/List.hs +8/−6
- gen/Network/Google/Resource/Directory/Domains/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Domains/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Domains/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Domains/List.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/Aliases/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/Aliases/Insert.hs +8/−6
- gen/Network/Google/Resource/Directory/Groups/Aliases/List.hs +7/−5
- gen/Network/Google/Resource/Directory/Groups/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Groups/Patch.hs +7/−6
- gen/Network/Google/Resource/Directory/Groups/Update.hs +7/−6
- gen/Network/Google/Resource/Directory/Members/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Members/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Members/HasMember.hs +8/−6
- gen/Network/Google/Resource/Directory/Members/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Members/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Members/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Members/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/MobileDevices/Action.hs +7/−3
- gen/Network/Google/Resource/Directory/MobileDevices/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/MobileDevices/Get.hs +7/−3
- gen/Network/Google/Resource/Directory/MobileDevices/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Notifications/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/Notifications/Get.hs +8/−6
- gen/Network/Google/Resource/Directory/Notifications/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Notifications/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Notifications/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/OrgUnits/Delete.hs +7/−3
- gen/Network/Google/Resource/Directory/OrgUnits/Get.hs +7/−3
- gen/Network/Google/Resource/Directory/OrgUnits/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/OrgUnits/List.hs +8/−7
- gen/Network/Google/Resource/Directory/OrgUnits/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/OrgUnits/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/Privileges/List.hs +7/−6
- gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/GetSettings.hs +6/−3
- gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/ListTrustedApps.hs +7/−4
- gen/Network/Google/Resource/Directory/Resources/Buildings/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Buildings/Get.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Buildings/Insert.hs +28/−8
- gen/Network/Google/Resource/Directory/Resources/Buildings/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Buildings/Patch.hs +29/−9
- gen/Network/Google/Resource/Directory/Resources/Buildings/Update.hs +29/−9
- gen/Network/Google/Resource/Directory/Resources/Calendars/Delete.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Calendars/Get.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Calendars/Insert.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Calendars/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Calendars/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Calendars/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Features/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Features/Get.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Features/Insert.hs +8/−6
- gen/Network/Google/Resource/Directory/Resources/Features/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Features/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Features/Rename.hs +7/−3
- gen/Network/Google/Resource/Directory/Resources/Features/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/RoleAssignments/Delete.hs +8/−6
- gen/Network/Google/Resource/Directory/RoleAssignments/Get.hs +8/−6
- gen/Network/Google/Resource/Directory/RoleAssignments/Insert.hs +8/−6
- gen/Network/Google/Resource/Directory/RoleAssignments/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Roles/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Roles/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Roles/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Roles/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Roles/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Roles/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/Schemas/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Schemas/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Schemas/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Schemas/List.hs +7/−6
- gen/Network/Google/Resource/Directory/Schemas/Patch.hs +7/−3
- gen/Network/Google/Resource/Directory/Schemas/Update.hs +7/−3
- gen/Network/Google/Resource/Directory/Tokens/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Tokens/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Tokens/List.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Aliases/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Aliases/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Aliases/List.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Aliases/Watch.hs +7/−3
- gen/Network/Google/Resource/Directory/Users/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Get.hs +7/−3
- gen/Network/Google/Resource/Directory/Users/Insert.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/List.hs +7/−3
- gen/Network/Google/Resource/Directory/Users/MakeAdmin.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Patch.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Photos/Delete.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Photos/Get.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Photos/Patch.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Photos/Update.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Undelete.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Update.hs +7/−6
- gen/Network/Google/Resource/Directory/Users/Watch.hs +7/−3
- gen/Network/Google/Resource/Directory/VerificationCodes/Generate.hs +7/−5
- gen/Network/Google/Resource/Directory/VerificationCodes/Invalidate.hs +7/−5
- gen/Network/Google/Resource/Directory/VerificationCodes/List.hs +7/−5
- gogol-admin-directory.cabal +2/−2
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.3.0`+`0.5.0` ## Description
gen/Network/Google/Directory.hs view
@@ -679,6 +679,17 @@ -- ** UsersListOrderBy , UsersListOrderBy (..) + -- ** BuildingAddress+ , BuildingAddress+ , buildingAddress+ , baLanguageCode+ , baRegionCode+ , baSublocality+ , baPostalCode+ , baLocality+ , baAdministrativeArea+ , baAddressLines+ -- ** Tokens , Tokens , tokens@@ -781,6 +792,9 @@ , tokAnonymous , tokUserKey + -- ** ResourcesBuildingsPatchCoordinatesSource+ , ResourcesBuildingsPatchCoordinatesSource (..)+ -- ** UserName , UserName , userName@@ -797,6 +811,7 @@ , buiEtags , buiKind , buiBuildingId+ , buiAddress , buiCoordinates , buiBuildingName , buiFloorNames@@ -852,6 +867,9 @@ , chromeOSMoveDevicesToOu , comdtoDeviceIds + -- ** ResourcesBuildingsUpdateCoordinatesSource+ , ResourcesBuildingsUpdateCoordinatesSource (..)+ -- ** User , User , user@@ -960,6 +978,9 @@ -- ** UsersListSortOrder , UsersListSortOrder (..)++ -- ** ResourcesBuildingsInsertCoordinatesSource+ , ResourcesBuildingsInsertCoordinatesSource (..) -- ** OrgUnits , OrgUnits
gen/Network/Google/Directory/Types.hs view
@@ -330,6 +330,17 @@ -- * UsersListOrderBy , UsersListOrderBy (..) + -- * BuildingAddress+ , BuildingAddress+ , buildingAddress+ , baLanguageCode+ , baRegionCode+ , baSublocality+ , baPostalCode+ , baLocality+ , baAdministrativeArea+ , baAddressLines+ -- * Tokens , Tokens , tokens@@ -432,6 +443,9 @@ , tokAnonymous , tokUserKey + -- * ResourcesBuildingsPatchCoordinatesSource+ , ResourcesBuildingsPatchCoordinatesSource (..)+ -- * UserName , UserName , userName@@ -448,6 +462,7 @@ , buiEtags , buiKind , buiBuildingId+ , buiAddress , buiCoordinates , buiBuildingName , buiFloorNames@@ -503,6 +518,9 @@ , chromeOSMoveDevicesToOu , comdtoDeviceIds + -- * ResourcesBuildingsUpdateCoordinatesSource+ , ResourcesBuildingsUpdateCoordinatesSource (..)+ -- * User , User , user@@ -612,6 +630,9 @@ -- * UsersListSortOrder , UsersListSortOrder (..) + -- * ResourcesBuildingsInsertCoordinatesSource+ , ResourcesBuildingsInsertCoordinatesSource (..)+ -- * OrgUnits , OrgUnits , orgUnits@@ -1000,108 +1021,108 @@ -- | View delegated admin roles for your domain adminDirectoryRoleManagementReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly"]-adminDirectoryRoleManagementReadOnlyScope = Proxy;+adminDirectoryRoleManagementReadOnlyScope = Proxy -- | View groups on your domain adminDirectoryGroupReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.group.readonly"]-adminDirectoryGroupReadOnlyScope = Proxy;+adminDirectoryGroupReadOnlyScope = Proxy -- | View your Chrome OS devices\' metadata adminDirectoryDeviceChromeosReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"]-adminDirectoryDeviceChromeosReadOnlyScope = Proxy;+adminDirectoryDeviceChromeosReadOnlyScope = Proxy -- | View and manage your Chrome OS devices\' metadata adminDirectoryDeviceChromeosScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.device.chromeos"]-adminDirectoryDeviceChromeosScope = Proxy;+adminDirectoryDeviceChromeosScope = Proxy -- | View and manage the provisioning of users on your domain adminDirectoryUserScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.user"]-adminDirectoryUserScope = Proxy;+adminDirectoryUserScope = Proxy -- | View group subscriptions on your domain adminDirectoryGroupMemberReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.group.member.readonly"]-adminDirectoryGroupMemberReadOnlyScope = Proxy;+adminDirectoryGroupMemberReadOnlyScope = Proxy -- | View and manage user aliases on your domain adminDirectoryUserAliasScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.user.alias"]-adminDirectoryUserAliasScope = Proxy;+adminDirectoryUserAliasScope = Proxy -- | View and manage the provisioning of calendar resources on your domain adminDirectoryResourceCalendarScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.resource.calendar"]-adminDirectoryResourceCalendarScope = Proxy;+adminDirectoryResourceCalendarScope = Proxy -- | Manage your mobile devices by performing administrative tasks adminDirectoryDeviceMobileActionScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.device.mobile.action"]-adminDirectoryDeviceMobileActionScope = Proxy;+adminDirectoryDeviceMobileActionScope = Proxy -- | View calendar resources on your domain adminDirectoryResourceCalendarReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly"]-adminDirectoryResourceCalendarReadOnlyScope = Proxy;+adminDirectoryResourceCalendarReadOnlyScope = Proxy -- | View domains related to your customers adminDirectoryDomainReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.domain.readonly"]-adminDirectoryDomainReadOnlyScope = Proxy;+adminDirectoryDomainReadOnlyScope = Proxy -- | View and manage the provisioning of user schemas on your domain adminDirectoryUserschemaScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.userschema"]-adminDirectoryUserschemaScope = Proxy;+adminDirectoryUserschemaScope = Proxy -- | View user schemas on your domain adminDirectoryUserschemaReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.userschema.readonly"]-adminDirectoryUserschemaReadOnlyScope = Proxy;+adminDirectoryUserschemaReadOnlyScope = Proxy -- | View and manage the provisioning of domains for your customers adminDirectoryDomainScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.domain"]-adminDirectoryDomainScope = Proxy;+adminDirectoryDomainScope = Proxy -- | Manage delegated admin roles for your domain adminDirectoryRoleManagementScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.rolemanagement"]-adminDirectoryRoleManagementScope = Proxy;+adminDirectoryRoleManagementScope = Proxy -- | View and manage the provisioning of groups on your domain adminDirectoryGroupScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.group"]-adminDirectoryGroupScope = Proxy;+adminDirectoryGroupScope = Proxy -- | View organization units on your domain adminDirectoryOrgUnitReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.orgunit.readonly"]-adminDirectoryOrgUnitReadOnlyScope = Proxy;+adminDirectoryOrgUnitReadOnlyScope = Proxy -- | View and manage customer related information adminDirectoryCustomerScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.customer"]-adminDirectoryCustomerScope = Proxy;+adminDirectoryCustomerScope = Proxy -- | View customer related information adminDirectoryCustomerReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.customer.readonly"]-adminDirectoryCustomerReadOnlyScope = Proxy;+adminDirectoryCustomerReadOnlyScope = Proxy -- | View and manage organization units on your domain adminDirectoryOrgUnitScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.orgunit"]-adminDirectoryOrgUnitScope = Proxy;+adminDirectoryOrgUnitScope = Proxy -- | View users on your domain adminDirectoryUserReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.user.readonly"]-adminDirectoryUserReadOnlyScope = Proxy;+adminDirectoryUserReadOnlyScope = Proxy -- | View user aliases on your domain adminDirectoryUserAliasReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.user.alias.readonly"]-adminDirectoryUserAliasReadOnlyScope = Proxy;+adminDirectoryUserAliasReadOnlyScope = Proxy -- | Manage data access permissions for users on your domain adminDirectoryUserSecurityScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.user.security"]-adminDirectoryUserSecurityScope = Proxy;+adminDirectoryUserSecurityScope = Proxy -- | View and manage group subscriptions on your domain adminDirectoryGroupMemberScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.group.member"]-adminDirectoryGroupMemberScope = Proxy;+adminDirectoryGroupMemberScope = Proxy -- | View and manage notifications received on your domain adminDirectoryNotificationsScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.notifications"]-adminDirectoryNotificationsScope = Proxy;+adminDirectoryNotificationsScope = Proxy -- | View and manage your mobile devices\' metadata adminDirectoryDeviceMobileScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.device.mobile"]-adminDirectoryDeviceMobileScope = Proxy;+adminDirectoryDeviceMobileScope = Proxy -- | View your mobile devices\' metadata adminDirectoryDeviceMobileReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"]-adminDirectoryDeviceMobileReadOnlyScope = Proxy;+adminDirectoryDeviceMobileReadOnlyScope = Proxy
gen/Network/Google/Directory/Types/Product.hs view
@@ -23,8030 +23,8433 @@ -- | JSON template for a location entry. -- -- /See:/ 'userLocation' smart constructor.-data UserLocation = UserLocation'- { _ulArea :: !(Maybe Text)- , _ulBuildingId :: !(Maybe Text)- , _ulDeskCode :: !(Maybe Text)- , _ulFloorName :: !(Maybe Text)- , _ulType :: !(Maybe Text)- , _ulCustomType :: !(Maybe Text)- , _ulFloorSection :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ulArea'------ * 'ulBuildingId'------ * 'ulDeskCode'------ * 'ulFloorName'------ * 'ulType'------ * 'ulCustomType'------ * 'ulFloorSection'-userLocation- :: UserLocation-userLocation =- UserLocation'- { _ulArea = Nothing- , _ulBuildingId = Nothing- , _ulDeskCode = Nothing- , _ulFloorName = Nothing- , _ulType = Nothing- , _ulCustomType = Nothing- , _ulFloorSection = Nothing- }---- | Textual location. This is most useful for display purposes to concisely--- describe the location. For example, \"Mountain View, CA\", \"Near--- Seattle\", \"US-NYC-9TH 9A209A\".-ulArea :: Lens' UserLocation (Maybe Text)-ulArea = lens _ulArea (\ s a -> s{_ulArea = a})---- | Building Identifier.-ulBuildingId :: Lens' UserLocation (Maybe Text)-ulBuildingId- = lens _ulBuildingId (\ s a -> s{_ulBuildingId = a})---- | Most specific textual code of individual desk location.-ulDeskCode :: Lens' UserLocation (Maybe Text)-ulDeskCode- = lens _ulDeskCode (\ s a -> s{_ulDeskCode = a})---- | Floor name\/number.-ulFloorName :: Lens' UserLocation (Maybe Text)-ulFloorName- = lens _ulFloorName (\ s a -> s{_ulFloorName = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example location could be of types default and desk. In addition to--- standard type, an entry can have a custom type and can give it any name.--- Such types should have \"custom\" as type and also have a customType--- value.-ulType :: Lens' UserLocation (Maybe Text)-ulType = lens _ulType (\ s a -> s{_ulType = a})---- | Custom Type.-ulCustomType :: Lens' UserLocation (Maybe Text)-ulCustomType- = lens _ulCustomType (\ s a -> s{_ulCustomType = a})---- | Floor section. More specific location within the floor. For example, if--- a floor is divided into sections \"A\", \"B\", and \"C\", this field--- would identify one of those values.-ulFloorSection :: Lens' UserLocation (Maybe Text)-ulFloorSection- = lens _ulFloorSection- (\ s a -> s{_ulFloorSection = a})--instance FromJSON UserLocation where- parseJSON- = withObject "UserLocation"- (\ o ->- UserLocation' <$>- (o .:? "area") <*> (o .:? "buildingId") <*>- (o .:? "deskCode")- <*> (o .:? "floorName")- <*> (o .:? "type")- <*> (o .:? "customType")- <*> (o .:? "floorSection"))--instance ToJSON UserLocation where- toJSON UserLocation'{..}- = object- (catMaybes- [("area" .=) <$> _ulArea,- ("buildingId" .=) <$> _ulBuildingId,- ("deskCode" .=) <$> _ulDeskCode,- ("floorName" .=) <$> _ulFloorName,- ("type" .=) <$> _ulType,- ("customType" .=) <$> _ulCustomType,- ("floorSection" .=) <$> _ulFloorSection])---- | JSON template for verification codes in Directory API.------ /See:/ 'verificationCode' smart constructor.-data VerificationCode = VerificationCode'- { _vcVerificationCode :: !(Maybe Text)- , _vcEtag :: !(Maybe Text)- , _vcKind :: !Text- , _vcUserId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VerificationCode' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcVerificationCode'------ * 'vcEtag'------ * 'vcKind'------ * 'vcUserId'-verificationCode- :: VerificationCode-verificationCode =- VerificationCode'- { _vcVerificationCode = Nothing- , _vcEtag = Nothing- , _vcKind = "admin#directory#verificationCode"- , _vcUserId = Nothing- }---- | A current verification code for the user. Invalidated or used--- verification codes are not returned as part of the result.-vcVerificationCode :: Lens' VerificationCode (Maybe Text)-vcVerificationCode- = lens _vcVerificationCode- (\ s a -> s{_vcVerificationCode = a})---- | ETag of the resource.-vcEtag :: Lens' VerificationCode (Maybe Text)-vcEtag = lens _vcEtag (\ s a -> s{_vcEtag = a})---- | The type of the resource. This is always--- admin#directory#verificationCode.-vcKind :: Lens' VerificationCode Text-vcKind = lens _vcKind (\ s a -> s{_vcKind = a})---- | The obfuscated unique ID of the user.-vcUserId :: Lens' VerificationCode (Maybe Text)-vcUserId = lens _vcUserId (\ s a -> s{_vcUserId = a})--instance FromJSON VerificationCode where- parseJSON- = withObject "VerificationCode"- (\ o ->- VerificationCode' <$>- (o .:? "verificationCode") <*> (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#verificationCode")- <*> (o .:? "userId"))--instance ToJSON VerificationCode where- toJSON VerificationCode'{..}- = object- (catMaybes- [("verificationCode" .=) <$> _vcVerificationCode,- ("etag" .=) <$> _vcEtag, Just ("kind" .= _vcKind),- ("userId" .=) <$> _vcUserId])---- | JSON template for Feature object in Directory API.------ /See:/ 'feature' smart constructor.-data Feature = Feature'- { _fEtags :: !(Maybe Text)- , _fKind :: !Text- , _fName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Feature' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fEtags'------ * 'fKind'------ * 'fName'-feature- :: Feature-feature =- Feature'- { _fEtags = Nothing- , _fKind = "admin#directory#resources#features#Feature"- , _fName = Nothing- }---- | ETag of the resource.-fEtags :: Lens' Feature (Maybe Text)-fEtags = lens _fEtags (\ s a -> s{_fEtags = a})---- | Kind of resource this is.-fKind :: Lens' Feature Text-fKind = lens _fKind (\ s a -> s{_fKind = a})---- | The name of the feature.-fName :: Lens' Feature (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = a})--instance FromJSON Feature where- parseJSON- = withObject "Feature"- (\ o ->- Feature' <$>- (o .:? "etags") <*>- (o .:? "kind" .!=- "admin#directory#resources#features#Feature")- <*> (o .:? "name"))--instance ToJSON Feature where- toJSON Feature'{..}- = object- (catMaybes- [("etags" .=) <$> _fEtags, Just ("kind" .= _fKind),- ("name" .=) <$> _fName])---- | JSON template for Org Unit resource in Directory API.------ /See:/ 'orgUnit' smart constructor.-data OrgUnit = OrgUnit'- { _ouEtag :: !(Maybe Text)- , _ouParentOrgUnitPath :: !(Maybe Text)- , _ouKind :: !Text- , _ouOrgUnitPath :: !(Maybe Text)- , _ouName :: !(Maybe Text)- , _ouBlockInheritance :: !(Maybe Bool)- , _ouParentOrgUnitId :: !(Maybe Text)- , _ouDescription :: !(Maybe Text)- , _ouOrgUnitId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OrgUnit' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ouEtag'------ * 'ouParentOrgUnitPath'------ * 'ouKind'------ * 'ouOrgUnitPath'------ * 'ouName'------ * 'ouBlockInheritance'------ * 'ouParentOrgUnitId'------ * 'ouDescription'------ * 'ouOrgUnitId'-orgUnit- :: OrgUnit-orgUnit =- OrgUnit'- { _ouEtag = Nothing- , _ouParentOrgUnitPath = Nothing- , _ouKind = "admin#directory#orgUnit"- , _ouOrgUnitPath = Nothing- , _ouName = Nothing- , _ouBlockInheritance = Nothing- , _ouParentOrgUnitId = Nothing- , _ouDescription = Nothing- , _ouOrgUnitId = Nothing- }---- | ETag of the resource.-ouEtag :: Lens' OrgUnit (Maybe Text)-ouEtag = lens _ouEtag (\ s a -> s{_ouEtag = a})---- | Path of parent OrgUnit-ouParentOrgUnitPath :: Lens' OrgUnit (Maybe Text)-ouParentOrgUnitPath- = lens _ouParentOrgUnitPath- (\ s a -> s{_ouParentOrgUnitPath = a})---- | Kind of resource this is.-ouKind :: Lens' OrgUnit Text-ouKind = lens _ouKind (\ s a -> s{_ouKind = a})---- | Path of OrgUnit-ouOrgUnitPath :: Lens' OrgUnit (Maybe Text)-ouOrgUnitPath- = lens _ouOrgUnitPath- (\ s a -> s{_ouOrgUnitPath = a})---- | Name of OrgUnit-ouName :: Lens' OrgUnit (Maybe Text)-ouName = lens _ouName (\ s a -> s{_ouName = a})---- | Should block inheritance-ouBlockInheritance :: Lens' OrgUnit (Maybe Bool)-ouBlockInheritance- = lens _ouBlockInheritance- (\ s a -> s{_ouBlockInheritance = a})---- | Id of parent OrgUnit-ouParentOrgUnitId :: Lens' OrgUnit (Maybe Text)-ouParentOrgUnitId- = lens _ouParentOrgUnitId- (\ s a -> s{_ouParentOrgUnitId = a})---- | Description of OrgUnit-ouDescription :: Lens' OrgUnit (Maybe Text)-ouDescription- = lens _ouDescription- (\ s a -> s{_ouDescription = a})---- | Id of OrgUnit-ouOrgUnitId :: Lens' OrgUnit (Maybe Text)-ouOrgUnitId- = lens _ouOrgUnitId (\ s a -> s{_ouOrgUnitId = a})--instance FromJSON OrgUnit where- parseJSON- = withObject "OrgUnit"- (\ o ->- OrgUnit' <$>- (o .:? "etag") <*> (o .:? "parentOrgUnitPath") <*>- (o .:? "kind" .!= "admin#directory#orgUnit")- <*> (o .:? "orgUnitPath")- <*> (o .:? "name")- <*> (o .:? "blockInheritance")- <*> (o .:? "parentOrgUnitId")- <*> (o .:? "description")- <*> (o .:? "orgUnitId"))--instance ToJSON OrgUnit where- toJSON OrgUnit'{..}- = object- (catMaybes- [("etag" .=) <$> _ouEtag,- ("parentOrgUnitPath" .=) <$> _ouParentOrgUnitPath,- Just ("kind" .= _ouKind),- ("orgUnitPath" .=) <$> _ouOrgUnitPath,- ("name" .=) <$> _ouName,- ("blockInheritance" .=) <$> _ouBlockInheritance,- ("parentOrgUnitId" .=) <$> _ouParentOrgUnitId,- ("description" .=) <$> _ouDescription,- ("orgUnitId" .=) <$> _ouOrgUnitId])---- | JSON request template for setting\/revoking admin status of a user in--- Directory API.------ /See:/ 'userMakeAdmin' smart constructor.-newtype UserMakeAdmin = UserMakeAdmin'- { _umaStatus :: Maybe Bool- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserMakeAdmin' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umaStatus'-userMakeAdmin- :: UserMakeAdmin-userMakeAdmin =- UserMakeAdmin'- { _umaStatus = Nothing- }---- | Boolean indicating new admin status of the user-umaStatus :: Lens' UserMakeAdmin (Maybe Bool)-umaStatus- = lens _umaStatus (\ s a -> s{_umaStatus = a})--instance FromJSON UserMakeAdmin where- parseJSON- = withObject "UserMakeAdmin"- (\ o -> UserMakeAdmin' <$> (o .:? "status"))--instance ToJSON UserMakeAdmin where- toJSON UserMakeAdmin'{..}- = object (catMaybes [("status" .=) <$> _umaStatus])---- | JSON template for About (notes) of a user in Directory API.------ /See:/ 'userAbout' smart constructor.-data UserAbout = UserAbout'- { _uaValue :: !(Maybe Text)- , _uaContentType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserAbout' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uaValue'------ * 'uaContentType'-userAbout- :: UserAbout-userAbout =- UserAbout'- { _uaValue = Nothing- , _uaContentType = Nothing- }---- | Actual value of notes.-uaValue :: Lens' UserAbout (Maybe Text)-uaValue = lens _uaValue (\ s a -> s{_uaValue = a})---- | About entry can have a type which indicates the content type. It can--- either be plain or html. By default, notes contents are assumed to--- contain plain text.-uaContentType :: Lens' UserAbout (Maybe Text)-uaContentType- = lens _uaContentType- (\ s a -> s{_uaContentType = a})--instance FromJSON UserAbout where- parseJSON- = withObject "UserAbout"- (\ o ->- UserAbout' <$>- (o .:? "value") <*> (o .:? "contentType"))--instance ToJSON UserAbout where- toJSON UserAbout'{..}- = object- (catMaybes- [("value" .=) <$> _uaValue,- ("contentType" .=) <$> _uaContentType])---- | JSON response template for List privileges operation in Directory API.------ /See:/ 'privileges' smart constructor.-data Privileges = Privileges'- { _pEtag :: !(Maybe Text)- , _pKind :: !Text- , _pItems :: !(Maybe [Privilege])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Privileges' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pEtag'------ * 'pKind'------ * 'pItems'-privileges- :: Privileges-privileges =- Privileges'- { _pEtag = Nothing- , _pKind = "admin#directory#privileges"- , _pItems = Nothing- }---- | ETag of the resource.-pEtag :: Lens' Privileges (Maybe Text)-pEtag = lens _pEtag (\ s a -> s{_pEtag = a})---- | The type of the API resource. This is always admin#directory#privileges.-pKind :: Lens' Privileges Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | A list of Privilege resources.-pItems :: Lens' Privileges [Privilege]-pItems- = lens _pItems (\ s a -> s{_pItems = a}) . _Default .- _Coerce--instance FromJSON Privileges where- parseJSON- = withObject "Privileges"- (\ o ->- Privileges' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#privileges")- <*> (o .:? "items" .!= mempty))--instance ToJSON Privileges where- toJSON Privileges'{..}- = object- (catMaybes- [("etag" .=) <$> _pEtag, Just ("kind" .= _pKind),- ("items" .=) <$> _pItems])---- | JSON response template for List Groups operation in Directory API.------ /See:/ 'groups' smart constructor.-data Groups = Groups'- { _gGroups :: !(Maybe [Group])- , _gEtag :: !(Maybe Text)- , _gNextPageToken :: !(Maybe Text)- , _gKind :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Groups' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gGroups'------ * 'gEtag'------ * 'gNextPageToken'------ * 'gKind'-groups- :: Groups-groups =- Groups'- { _gGroups = Nothing- , _gEtag = Nothing- , _gNextPageToken = Nothing- , _gKind = "admin#directory#groups"- }---- | List of group objects.-gGroups :: Lens' Groups [Group]-gGroups- = lens _gGroups (\ s a -> s{_gGroups = a}) . _Default- . _Coerce---- | ETag of the resource.-gEtag :: Lens' Groups (Maybe Text)-gEtag = lens _gEtag (\ s a -> s{_gEtag = a})---- | Token used to access next page of this result.-gNextPageToken :: Lens' Groups (Maybe Text)-gNextPageToken- = lens _gNextPageToken- (\ s a -> s{_gNextPageToken = a})---- | Kind of resource this is.-gKind :: Lens' Groups Text-gKind = lens _gKind (\ s a -> s{_gKind = a})--instance FromJSON Groups where- parseJSON- = withObject "Groups"- (\ o ->- Groups' <$>- (o .:? "groups" .!= mempty) <*> (o .:? "etag") <*>- (o .:? "nextPageToken")- <*> (o .:? "kind" .!= "admin#directory#groups"))--instance ToJSON Groups where- toJSON Groups'{..}- = object- (catMaybes- [("groups" .=) <$> _gGroups, ("etag" .=) <$> _gEtag,- ("nextPageToken" .=) <$> _gNextPageToken,- Just ("kind" .= _gKind)])---- | JSON response template for List roleAssignments operation in Directory--- API.------ /See:/ 'roleAssignments' smart constructor.-data RoleAssignments = RoleAssignments'- { _raEtag :: !(Maybe Text)- , _raNextPageToken :: !(Maybe Text)- , _raKind :: !Text- , _raItems :: !(Maybe [RoleAssignment])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RoleAssignments' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'raEtag'------ * 'raNextPageToken'------ * 'raKind'------ * 'raItems'-roleAssignments- :: RoleAssignments-roleAssignments =- RoleAssignments'- { _raEtag = Nothing- , _raNextPageToken = Nothing- , _raKind = "admin#directory#roleAssignments"- , _raItems = Nothing- }---- | ETag of the resource.-raEtag :: Lens' RoleAssignments (Maybe Text)-raEtag = lens _raEtag (\ s a -> s{_raEtag = a})--raNextPageToken :: Lens' RoleAssignments (Maybe Text)-raNextPageToken- = lens _raNextPageToken- (\ s a -> s{_raNextPageToken = a})---- | The type of the API resource. This is always--- admin#directory#roleAssignments.-raKind :: Lens' RoleAssignments Text-raKind = lens _raKind (\ s a -> s{_raKind = a})---- | A list of RoleAssignment resources.-raItems :: Lens' RoleAssignments [RoleAssignment]-raItems- = lens _raItems (\ s a -> s{_raItems = a}) . _Default- . _Coerce--instance FromJSON RoleAssignments where- parseJSON- = withObject "RoleAssignments"- (\ o ->- RoleAssignments' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#roleAssignments")- <*> (o .:? "items" .!= mempty))--instance ToJSON RoleAssignments where- toJSON RoleAssignments'{..}- = object- (catMaybes- [("etag" .=) <$> _raEtag,- ("nextPageToken" .=) <$> _raNextPageToken,- Just ("kind" .= _raKind), ("items" .=) <$> _raItems])---- | JSON template for privilege resource in Directory API.------ /See:/ 'privilege' smart constructor.-data Privilege = Privilege'- { _priEtag :: !(Maybe Text)- , _priIsOuScopable :: !(Maybe Bool)- , _priKind :: !Text- , _priServiceName :: !(Maybe Text)- , _priServiceId :: !(Maybe Text)- , _priPrivilegeName :: !(Maybe Text)- , _priChildPrivileges :: !(Maybe [Privilege])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Privilege' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'priEtag'------ * 'priIsOuScopable'------ * 'priKind'------ * 'priServiceName'------ * 'priServiceId'------ * 'priPrivilegeName'------ * 'priChildPrivileges'-privilege- :: Privilege-privilege =- Privilege'- { _priEtag = Nothing- , _priIsOuScopable = Nothing- , _priKind = "admin#directory#privilege"- , _priServiceName = Nothing- , _priServiceId = Nothing- , _priPrivilegeName = Nothing- , _priChildPrivileges = Nothing- }---- | ETag of the resource.-priEtag :: Lens' Privilege (Maybe Text)-priEtag = lens _priEtag (\ s a -> s{_priEtag = a})---- | If the privilege can be restricted to an organization unit.-priIsOuScopable :: Lens' Privilege (Maybe Bool)-priIsOuScopable- = lens _priIsOuScopable- (\ s a -> s{_priIsOuScopable = a})---- | The type of the API resource. This is always admin#directory#privilege.-priKind :: Lens' Privilege Text-priKind = lens _priKind (\ s a -> s{_priKind = a})---- | The name of the service this privilege is for.-priServiceName :: Lens' Privilege (Maybe Text)-priServiceName- = lens _priServiceName- (\ s a -> s{_priServiceName = a})---- | The obfuscated ID of the service this privilege is for.-priServiceId :: Lens' Privilege (Maybe Text)-priServiceId- = lens _priServiceId (\ s a -> s{_priServiceId = a})---- | The name of the privilege.-priPrivilegeName :: Lens' Privilege (Maybe Text)-priPrivilegeName- = lens _priPrivilegeName- (\ s a -> s{_priPrivilegeName = a})---- | A list of child privileges. Privileges for a service form a tree. Each--- privilege can have a list of child privileges; this list is empty for a--- leaf privilege.-priChildPrivileges :: Lens' Privilege [Privilege]-priChildPrivileges- = lens _priChildPrivileges- (\ s a -> s{_priChildPrivileges = a})- . _Default- . _Coerce--instance FromJSON Privilege where- parseJSON- = withObject "Privilege"- (\ o ->- Privilege' <$>- (o .:? "etag") <*> (o .:? "isOuScopable") <*>- (o .:? "kind" .!= "admin#directory#privilege")- <*> (o .:? "serviceName")- <*> (o .:? "serviceId")- <*> (o .:? "privilegeName")- <*> (o .:? "childPrivileges" .!= mempty))--instance ToJSON Privilege where- toJSON Privilege'{..}- = object- (catMaybes- [("etag" .=) <$> _priEtag,- ("isOuScopable" .=) <$> _priIsOuScopable,- Just ("kind" .= _priKind),- ("serviceName" .=) <$> _priServiceName,- ("serviceId" .=) <$> _priServiceId,- ("privilegeName" .=) <$> _priPrivilegeName,- ("childPrivileges" .=) <$> _priChildPrivileges])---- | JSON response template for List roles operation in Directory API.------ /See:/ 'roles' smart constructor.-data Roles = Roles'- { _rEtag :: !(Maybe Text)- , _rNextPageToken :: !(Maybe Text)- , _rKind :: !Text- , _rItems :: !(Maybe [Role])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Roles' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rEtag'------ * 'rNextPageToken'------ * 'rKind'------ * 'rItems'-roles- :: Roles-roles =- Roles'- { _rEtag = Nothing- , _rNextPageToken = Nothing- , _rKind = "admin#directory#roles"- , _rItems = Nothing- }---- | ETag of the resource.-rEtag :: Lens' Roles (Maybe Text)-rEtag = lens _rEtag (\ s a -> s{_rEtag = a})--rNextPageToken :: Lens' Roles (Maybe Text)-rNextPageToken- = lens _rNextPageToken- (\ s a -> s{_rNextPageToken = a})---- | The type of the API resource. This is always admin#directory#roles.-rKind :: Lens' Roles Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | A list of Role resources.-rItems :: Lens' Roles [Role]-rItems- = lens _rItems (\ s a -> s{_rItems = a}) . _Default .- _Coerce--instance FromJSON Roles where- parseJSON- = withObject "Roles"- (\ o ->- Roles' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#roles")- <*> (o .:? "items" .!= mempty))--instance ToJSON Roles where- toJSON Roles'{..}- = object- (catMaybes- [("etag" .=) <$> _rEtag,- ("nextPageToken" .=) <$> _rNextPageToken,- Just ("kind" .= _rKind), ("items" .=) <$> _rItems])------- /See:/ 'chromeOSDeviceDiskVolumeReportsItem' smart constructor.-newtype ChromeOSDeviceDiskVolumeReportsItem = ChromeOSDeviceDiskVolumeReportsItem'- { _coddvriVolumeInfo :: Maybe [ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceDiskVolumeReportsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'coddvriVolumeInfo'-chromeOSDeviceDiskVolumeReportsItem- :: ChromeOSDeviceDiskVolumeReportsItem-chromeOSDeviceDiskVolumeReportsItem =- ChromeOSDeviceDiskVolumeReportsItem'- { _coddvriVolumeInfo = Nothing- }---- | Disk volumes-coddvriVolumeInfo :: Lens' ChromeOSDeviceDiskVolumeReportsItem [ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem]-coddvriVolumeInfo- = lens _coddvriVolumeInfo- (\ s a -> s{_coddvriVolumeInfo = a})- . _Default- . _Coerce--instance FromJSON ChromeOSDeviceDiskVolumeReportsItem- where- parseJSON- = withObject "ChromeOSDeviceDiskVolumeReportsItem"- (\ o ->- ChromeOSDeviceDiskVolumeReportsItem' <$>- (o .:? "volumeInfo" .!= mempty))--instance ToJSON ChromeOSDeviceDiskVolumeReportsItem- where- toJSON ChromeOSDeviceDiskVolumeReportsItem'{..}- = object- (catMaybes- [("volumeInfo" .=) <$> _coddvriVolumeInfo])---- | JSON template for address.------ /See:/ 'userAddress' smart constructor.-data UserAddress = UserAddress'- { _uaStreetAddress :: !(Maybe Text)- , _uaPoBox :: !(Maybe Text)- , _uaCountry :: !(Maybe Text)- , _uaPostalCode :: !(Maybe Text)- , _uaFormatted :: !(Maybe Text)- , _uaExtendedAddress :: !(Maybe Text)- , _uaLocality :: !(Maybe Text)- , _uaPrimary :: !(Maybe Bool)- , _uaCountryCode :: !(Maybe Text)- , _uaRegion :: !(Maybe Text)- , _uaType :: !(Maybe Text)- , _uaCustomType :: !(Maybe Text)- , _uaSourceIsStructured :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uaStreetAddress'------ * 'uaPoBox'------ * 'uaCountry'------ * 'uaPostalCode'------ * 'uaFormatted'------ * 'uaExtendedAddress'------ * 'uaLocality'------ * 'uaPrimary'------ * 'uaCountryCode'------ * 'uaRegion'------ * 'uaType'------ * 'uaCustomType'------ * 'uaSourceIsStructured'-userAddress- :: UserAddress-userAddress =- UserAddress'- { _uaStreetAddress = Nothing- , _uaPoBox = Nothing- , _uaCountry = Nothing- , _uaPostalCode = Nothing- , _uaFormatted = Nothing- , _uaExtendedAddress = Nothing- , _uaLocality = Nothing- , _uaPrimary = Nothing- , _uaCountryCode = Nothing- , _uaRegion = Nothing- , _uaType = Nothing- , _uaCustomType = Nothing- , _uaSourceIsStructured = Nothing- }---- | Street.-uaStreetAddress :: Lens' UserAddress (Maybe Text)-uaStreetAddress- = lens _uaStreetAddress- (\ s a -> s{_uaStreetAddress = a})---- | Other parts of address.-uaPoBox :: Lens' UserAddress (Maybe Text)-uaPoBox = lens _uaPoBox (\ s a -> s{_uaPoBox = a})---- | Country.-uaCountry :: Lens' UserAddress (Maybe Text)-uaCountry- = lens _uaCountry (\ s a -> s{_uaCountry = a})---- | Postal code.-uaPostalCode :: Lens' UserAddress (Maybe Text)-uaPostalCode- = lens _uaPostalCode (\ s a -> s{_uaPostalCode = a})---- | Formatted address.-uaFormatted :: Lens' UserAddress (Maybe Text)-uaFormatted- = lens _uaFormatted (\ s a -> s{_uaFormatted = a})---- | Extended Address.-uaExtendedAddress :: Lens' UserAddress (Maybe Text)-uaExtendedAddress- = lens _uaExtendedAddress- (\ s a -> s{_uaExtendedAddress = a})---- | Locality.-uaLocality :: Lens' UserAddress (Maybe Text)-uaLocality- = lens _uaLocality (\ s a -> s{_uaLocality = a})---- | If this is user\'s primary address. Only one entry could be marked as--- primary.-uaPrimary :: Lens' UserAddress (Maybe Bool)-uaPrimary- = lens _uaPrimary (\ s a -> s{_uaPrimary = a})---- | Country code.-uaCountryCode :: Lens' UserAddress (Maybe Text)-uaCountryCode- = lens _uaCountryCode- (\ s a -> s{_uaCountryCode = a})---- | Region.-uaRegion :: Lens' UserAddress (Maybe Text)-uaRegion = lens _uaRegion (\ s a -> s{_uaRegion = a})---- | Each entry can have a type which indicates standard values of that--- entry. For example address could be of home, work etc. In addition to--- the standard type, an entry can have a custom type and can take any--- value. Such type should have the CUSTOM value as type and also have a--- customType value.-uaType :: Lens' UserAddress (Maybe Text)-uaType = lens _uaType (\ s a -> s{_uaType = a})---- | Custom type.-uaCustomType :: Lens' UserAddress (Maybe Text)-uaCustomType- = lens _uaCustomType (\ s a -> s{_uaCustomType = a})---- | User supplied address was structured. Structured addresses are NOT--- supported at this time. You might be able to write structured addresses,--- but any values will eventually be clobbered.-uaSourceIsStructured :: Lens' UserAddress (Maybe Bool)-uaSourceIsStructured- = lens _uaSourceIsStructured- (\ s a -> s{_uaSourceIsStructured = a})--instance FromJSON UserAddress where- parseJSON- = withObject "UserAddress"- (\ o ->- UserAddress' <$>- (o .:? "streetAddress") <*> (o .:? "poBox") <*>- (o .:? "country")- <*> (o .:? "postalCode")- <*> (o .:? "formatted")- <*> (o .:? "extendedAddress")- <*> (o .:? "locality")- <*> (o .:? "primary")- <*> (o .:? "countryCode")- <*> (o .:? "region")- <*> (o .:? "type")- <*> (o .:? "customType")- <*> (o .:? "sourceIsStructured"))--instance ToJSON UserAddress where- toJSON UserAddress'{..}- = object- (catMaybes- [("streetAddress" .=) <$> _uaStreetAddress,- ("poBox" .=) <$> _uaPoBox,- ("country" .=) <$> _uaCountry,- ("postalCode" .=) <$> _uaPostalCode,- ("formatted" .=) <$> _uaFormatted,- ("extendedAddress" .=) <$> _uaExtendedAddress,- ("locality" .=) <$> _uaLocality,- ("primary" .=) <$> _uaPrimary,- ("countryCode" .=) <$> _uaCountryCode,- ("region" .=) <$> _uaRegion, ("type" .=) <$> _uaType,- ("customType" .=) <$> _uaCustomType,- ("sourceIsStructured" .=) <$> _uaSourceIsStructured])---- | JSON template for postal address of a customer.------ /See:/ 'customerPostalAddress' smart constructor.-data CustomerPostalAddress = CustomerPostalAddress'- { _cpaOrganizationName :: !(Maybe Text)- , _cpaPostalCode :: !(Maybe Text)- , _cpaAddressLine1 :: !(Maybe Text)- , _cpaLocality :: !(Maybe Text)- , _cpaContactName :: !(Maybe Text)- , _cpaAddressLine2 :: !(Maybe Text)- , _cpaCountryCode :: !(Maybe Text)- , _cpaRegion :: !(Maybe Text)- , _cpaAddressLine3 :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CustomerPostalAddress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpaOrganizationName'------ * 'cpaPostalCode'------ * 'cpaAddressLine1'------ * 'cpaLocality'------ * 'cpaContactName'------ * 'cpaAddressLine2'------ * 'cpaCountryCode'------ * 'cpaRegion'------ * 'cpaAddressLine3'-customerPostalAddress- :: CustomerPostalAddress-customerPostalAddress =- CustomerPostalAddress'- { _cpaOrganizationName = Nothing- , _cpaPostalCode = Nothing- , _cpaAddressLine1 = Nothing- , _cpaLocality = Nothing- , _cpaContactName = Nothing- , _cpaAddressLine2 = Nothing- , _cpaCountryCode = Nothing- , _cpaRegion = Nothing- , _cpaAddressLine3 = Nothing- }---- | The company or company division name.-cpaOrganizationName :: Lens' CustomerPostalAddress (Maybe Text)-cpaOrganizationName- = lens _cpaOrganizationName- (\ s a -> s{_cpaOrganizationName = a})---- | The postal code. A postalCode example is a postal zip code such as--- 10009. This is in accordance with ---- http:\/\/portablecontacts.net\/draft-spec.html#address_element.-cpaPostalCode :: Lens' CustomerPostalAddress (Maybe Text)-cpaPostalCode- = lens _cpaPostalCode- (\ s a -> s{_cpaPostalCode = a})---- | A customer\'s physical address. The address can be composed of one to--- three lines.-cpaAddressLine1 :: Lens' CustomerPostalAddress (Maybe Text)-cpaAddressLine1- = lens _cpaAddressLine1- (\ s a -> s{_cpaAddressLine1 = a})---- | Name of the locality. An example of a locality value is the city of San--- Francisco.-cpaLocality :: Lens' CustomerPostalAddress (Maybe Text)-cpaLocality- = lens _cpaLocality (\ s a -> s{_cpaLocality = a})---- | The customer contact\'s name.-cpaContactName :: Lens' CustomerPostalAddress (Maybe Text)-cpaContactName- = lens _cpaContactName- (\ s a -> s{_cpaContactName = a})---- | Address line 2 of the address.-cpaAddressLine2 :: Lens' CustomerPostalAddress (Maybe Text)-cpaAddressLine2- = lens _cpaAddressLine2- (\ s a -> s{_cpaAddressLine2 = a})---- | This is a required property. For countryCode information see the ISO--- 3166 country code elements.-cpaCountryCode :: Lens' CustomerPostalAddress (Maybe Text)-cpaCountryCode- = lens _cpaCountryCode- (\ s a -> s{_cpaCountryCode = a})---- | Name of the region. An example of a region value is NY for the state of--- New York.-cpaRegion :: Lens' CustomerPostalAddress (Maybe Text)-cpaRegion- = lens _cpaRegion (\ s a -> s{_cpaRegion = a})---- | Address line 3 of the address.-cpaAddressLine3 :: Lens' CustomerPostalAddress (Maybe Text)-cpaAddressLine3- = lens _cpaAddressLine3- (\ s a -> s{_cpaAddressLine3 = a})--instance FromJSON CustomerPostalAddress where- parseJSON- = withObject "CustomerPostalAddress"- (\ o ->- CustomerPostalAddress' <$>- (o .:? "organizationName") <*> (o .:? "postalCode")- <*> (o .:? "addressLine1")- <*> (o .:? "locality")- <*> (o .:? "contactName")- <*> (o .:? "addressLine2")- <*> (o .:? "countryCode")- <*> (o .:? "region")- <*> (o .:? "addressLine3"))--instance ToJSON CustomerPostalAddress where- toJSON CustomerPostalAddress'{..}- = object- (catMaybes- [("organizationName" .=) <$> _cpaOrganizationName,- ("postalCode" .=) <$> _cpaPostalCode,- ("addressLine1" .=) <$> _cpaAddressLine1,- ("locality" .=) <$> _cpaLocality,- ("contactName" .=) <$> _cpaContactName,- ("addressLine2" .=) <$> _cpaAddressLine2,- ("countryCode" .=) <$> _cpaCountryCode,- ("region" .=) <$> _cpaRegion,- ("addressLine3" .=) <$> _cpaAddressLine3])---- | JSON template for roleAssignment resource in Directory API.------ /See:/ 'roleAssignment' smart constructor.-data RoleAssignment = RoleAssignment'- { _rolEtag :: !(Maybe Text)- , _rolScopeType :: !(Maybe Text)- , _rolKind :: !Text- , _rolAssignedTo :: !(Maybe Text)- , _rolRoleId :: !(Maybe (Textual Int64))- , _rolRoleAssignmentId :: !(Maybe (Textual Int64))- , _rolOrgUnitId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RoleAssignment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rolEtag'------ * 'rolScopeType'------ * 'rolKind'------ * 'rolAssignedTo'------ * 'rolRoleId'------ * 'rolRoleAssignmentId'------ * 'rolOrgUnitId'-roleAssignment- :: RoleAssignment-roleAssignment =- RoleAssignment'- { _rolEtag = Nothing- , _rolScopeType = Nothing- , _rolKind = "admin#directory#roleAssignment"- , _rolAssignedTo = Nothing- , _rolRoleId = Nothing- , _rolRoleAssignmentId = Nothing- , _rolOrgUnitId = Nothing- }---- | ETag of the resource.-rolEtag :: Lens' RoleAssignment (Maybe Text)-rolEtag = lens _rolEtag (\ s a -> s{_rolEtag = a})---- | The scope in which this role is assigned. Possible values are: ---- CUSTOMER - ORG_UNIT-rolScopeType :: Lens' RoleAssignment (Maybe Text)-rolScopeType- = lens _rolScopeType (\ s a -> s{_rolScopeType = a})---- | The type of the API resource. This is always--- admin#directory#roleAssignment.-rolKind :: Lens' RoleAssignment Text-rolKind = lens _rolKind (\ s a -> s{_rolKind = a})---- | The unique ID of the user this role is assigned to.-rolAssignedTo :: Lens' RoleAssignment (Maybe Text)-rolAssignedTo- = lens _rolAssignedTo- (\ s a -> s{_rolAssignedTo = a})---- | The ID of the role that is assigned.-rolRoleId :: Lens' RoleAssignment (Maybe Int64)-rolRoleId- = lens _rolRoleId (\ s a -> s{_rolRoleId = a}) .- mapping _Coerce---- | ID of this roleAssignment.-rolRoleAssignmentId :: Lens' RoleAssignment (Maybe Int64)-rolRoleAssignmentId- = lens _rolRoleAssignmentId- (\ s a -> s{_rolRoleAssignmentId = a})- . mapping _Coerce---- | If the role is restricted to an organization unit, this contains the ID--- for the organization unit the exercise of this role is restricted to.-rolOrgUnitId :: Lens' RoleAssignment (Maybe Text)-rolOrgUnitId- = lens _rolOrgUnitId (\ s a -> s{_rolOrgUnitId = a})--instance FromJSON RoleAssignment where- parseJSON- = withObject "RoleAssignment"- (\ o ->- RoleAssignment' <$>- (o .:? "etag") <*> (o .:? "scopeType") <*>- (o .:? "kind" .!= "admin#directory#roleAssignment")- <*> (o .:? "assignedTo")- <*> (o .:? "roleId")- <*> (o .:? "roleAssignmentId")- <*> (o .:? "orgUnitId"))--instance ToJSON RoleAssignment where- toJSON RoleAssignment'{..}- = object- (catMaybes- [("etag" .=) <$> _rolEtag,- ("scopeType" .=) <$> _rolScopeType,- Just ("kind" .= _rolKind),- ("assignedTo" .=) <$> _rolAssignedTo,- ("roleId" .=) <$> _rolRoleId,- ("roleAssignmentId" .=) <$> _rolRoleAssignmentId,- ("orgUnitId" .=) <$> _rolOrgUnitId])---- | JSON template for Group resource in Directory API.------ /See:/ 'group'' smart constructor.-data Group = Group'- { _groEmail :: !(Maybe Text)- , _groEtag :: !(Maybe Text)- , _groDirectMembersCount :: !(Maybe (Textual Int64))- , _groKind :: !Text- , _groAliases :: !(Maybe [Text])- , _groNonEditableAliases :: !(Maybe [Text])- , _groName :: !(Maybe Text)- , _groAdminCreated :: !(Maybe Bool)- , _groId :: !(Maybe Text)- , _groDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Group' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'groEmail'------ * 'groEtag'------ * 'groDirectMembersCount'------ * 'groKind'------ * 'groAliases'------ * 'groNonEditableAliases'------ * 'groName'------ * 'groAdminCreated'------ * 'groId'------ * 'groDescription'-group'- :: Group-group' =- Group'- { _groEmail = Nothing- , _groEtag = Nothing- , _groDirectMembersCount = Nothing- , _groKind = "admin#directory#group"- , _groAliases = Nothing- , _groNonEditableAliases = Nothing- , _groName = Nothing- , _groAdminCreated = Nothing- , _groId = Nothing- , _groDescription = Nothing- }---- | Email of Group-groEmail :: Lens' Group (Maybe Text)-groEmail = lens _groEmail (\ s a -> s{_groEmail = a})---- | ETag of the resource.-groEtag :: Lens' Group (Maybe Text)-groEtag = lens _groEtag (\ s a -> s{_groEtag = a})---- | Group direct members count-groDirectMembersCount :: Lens' Group (Maybe Int64)-groDirectMembersCount- = lens _groDirectMembersCount- (\ s a -> s{_groDirectMembersCount = a})- . mapping _Coerce---- | Kind of resource this is.-groKind :: Lens' Group Text-groKind = lens _groKind (\ s a -> s{_groKind = a})---- | List of aliases (Read-only)-groAliases :: Lens' Group [Text]-groAliases- = lens _groAliases (\ s a -> s{_groAliases = a}) .- _Default- . _Coerce---- | List of non editable aliases (Read-only)-groNonEditableAliases :: Lens' Group [Text]-groNonEditableAliases- = lens _groNonEditableAliases- (\ s a -> s{_groNonEditableAliases = a})- . _Default- . _Coerce---- | Group name-groName :: Lens' Group (Maybe Text)-groName = lens _groName (\ s a -> s{_groName = a})---- | Is the group created by admin (Read-only) *-groAdminCreated :: Lens' Group (Maybe Bool)-groAdminCreated- = lens _groAdminCreated- (\ s a -> s{_groAdminCreated = a})---- | Unique identifier of Group (Read-only)-groId :: Lens' Group (Maybe Text)-groId = lens _groId (\ s a -> s{_groId = a})---- | Description of the group-groDescription :: Lens' Group (Maybe Text)-groDescription- = lens _groDescription- (\ s a -> s{_groDescription = a})--instance FromJSON Group where- parseJSON- = withObject "Group"- (\ o ->- Group' <$>- (o .:? "email") <*> (o .:? "etag") <*>- (o .:? "directMembersCount")- <*> (o .:? "kind" .!= "admin#directory#group")- <*> (o .:? "aliases" .!= mempty)- <*> (o .:? "nonEditableAliases" .!= mempty)- <*> (o .:? "name")- <*> (o .:? "adminCreated")- <*> (o .:? "id")- <*> (o .:? "description"))--instance ToJSON Group where- toJSON Group'{..}- = object- (catMaybes- [("email" .=) <$> _groEmail,- ("etag" .=) <$> _groEtag,- ("directMembersCount" .=) <$> _groDirectMembersCount,- Just ("kind" .= _groKind),- ("aliases" .=) <$> _groAliases,- ("nonEditableAliases" .=) <$> _groNonEditableAliases,- ("name" .=) <$> _groName,- ("adminCreated" .=) <$> _groAdminCreated,- ("id" .=) <$> _groId,- ("description" .=) <$> _groDescription])---- | JSON template for Chrome Os Device resource in Directory API.------ /See:/ 'chromeOSDevice' smart constructor.-data ChromeOSDevice = ChromeOSDevice'- { _codStatus :: !(Maybe Text)- , _codEtag :: !(Maybe Text)- , _codCPUStatusReports :: !(Maybe [ChromeOSDeviceCPUStatusReportsItem])- , _codAnnotatedUser :: !(Maybe Text)- , _codSystemRamFreeReports :: !(Maybe [ChromeOSDeviceSystemRamFreeReportsItem])- , _codPlatformVersion :: !(Maybe Text)- , _codLastSync :: !(Maybe DateTime')- , _codActiveTimeRanges :: !(Maybe [ChromeOSDeviceActiveTimeRangesItem])- , _codKind :: !Text- , _codEthernetMACAddress :: !(Maybe Text)- , _codLastEnrollmentTime :: !(Maybe DateTime')- , _codAnnotatedLocation :: !(Maybe Text)- , _codMACAddress :: !(Maybe Text)- , _codOrgUnitPath :: !(Maybe Text)- , _codRecentUsers :: !(Maybe [ChromeOSDeviceRecentUsersItem])- , _codSupportEndDate :: !(Maybe DateTime')- , _codModel :: !(Maybe Text)- , _codWillAutoRenew :: !(Maybe Bool)- , _codMeid :: !(Maybe Text)- , _codDeviceFiles :: !(Maybe [ChromeOSDeviceDeviceFilesItem])- , _codDeviceId :: !(Maybe Text)- , _codBootMode :: !(Maybe Text)- , _codTpmVersionInfo :: !(Maybe ChromeOSDeviceTpmVersionInfo)- , _codOrderNumber :: !(Maybe Text)- , _codDiskVolumeReports :: !(Maybe [ChromeOSDeviceDiskVolumeReportsItem])- , _codAnnotatedAssetId :: !(Maybe Text)- , _codNotes :: !(Maybe Text)- , _codSerialNumber :: !(Maybe Text)- , _codFirmwareVersion :: !(Maybe Text)- , _codOSVersion :: !(Maybe Text)- , _codSystemRamTotal :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codStatus'------ * 'codEtag'------ * 'codCPUStatusReports'------ * 'codAnnotatedUser'------ * 'codSystemRamFreeReports'------ * 'codPlatformVersion'------ * 'codLastSync'------ * 'codActiveTimeRanges'------ * 'codKind'------ * 'codEthernetMACAddress'------ * 'codLastEnrollmentTime'------ * 'codAnnotatedLocation'------ * 'codMACAddress'------ * 'codOrgUnitPath'------ * 'codRecentUsers'------ * 'codSupportEndDate'------ * 'codModel'------ * 'codWillAutoRenew'------ * 'codMeid'------ * 'codDeviceFiles'------ * 'codDeviceId'------ * 'codBootMode'------ * 'codTpmVersionInfo'------ * 'codOrderNumber'------ * 'codDiskVolumeReports'------ * 'codAnnotatedAssetId'------ * 'codNotes'------ * 'codSerialNumber'------ * 'codFirmwareVersion'------ * 'codOSVersion'------ * 'codSystemRamTotal'-chromeOSDevice- :: ChromeOSDevice-chromeOSDevice =- ChromeOSDevice'- { _codStatus = Nothing- , _codEtag = Nothing- , _codCPUStatusReports = Nothing- , _codAnnotatedUser = Nothing- , _codSystemRamFreeReports = Nothing- , _codPlatformVersion = Nothing- , _codLastSync = Nothing- , _codActiveTimeRanges = Nothing- , _codKind = "admin#directory#chromeosdevice"- , _codEthernetMACAddress = Nothing- , _codLastEnrollmentTime = Nothing- , _codAnnotatedLocation = Nothing- , _codMACAddress = Nothing- , _codOrgUnitPath = Nothing- , _codRecentUsers = Nothing- , _codSupportEndDate = Nothing- , _codModel = Nothing- , _codWillAutoRenew = Nothing- , _codMeid = Nothing- , _codDeviceFiles = Nothing- , _codDeviceId = Nothing- , _codBootMode = Nothing- , _codTpmVersionInfo = Nothing- , _codOrderNumber = Nothing- , _codDiskVolumeReports = Nothing- , _codAnnotatedAssetId = Nothing- , _codNotes = Nothing- , _codSerialNumber = Nothing- , _codFirmwareVersion = Nothing- , _codOSVersion = Nothing- , _codSystemRamTotal = Nothing- }---- | status of the device (Read-only)-codStatus :: Lens' ChromeOSDevice (Maybe Text)-codStatus- = lens _codStatus (\ s a -> s{_codStatus = a})---- | ETag of the resource.-codEtag :: Lens' ChromeOSDevice (Maybe Text)-codEtag = lens _codEtag (\ s a -> s{_codEtag = a})---- | Reports of CPU utilization and temperature (Read-only)-codCPUStatusReports :: Lens' ChromeOSDevice [ChromeOSDeviceCPUStatusReportsItem]-codCPUStatusReports- = lens _codCPUStatusReports- (\ s a -> s{_codCPUStatusReports = a})- . _Default- . _Coerce---- | User of the device-codAnnotatedUser :: Lens' ChromeOSDevice (Maybe Text)-codAnnotatedUser- = lens _codAnnotatedUser- (\ s a -> s{_codAnnotatedUser = a})---- | Reports of amounts of available RAM memory (Read-only)-codSystemRamFreeReports :: Lens' ChromeOSDevice [ChromeOSDeviceSystemRamFreeReportsItem]-codSystemRamFreeReports- = lens _codSystemRamFreeReports- (\ s a -> s{_codSystemRamFreeReports = a})- . _Default- . _Coerce---- | Chromebook platform version (Read-only)-codPlatformVersion :: Lens' ChromeOSDevice (Maybe Text)-codPlatformVersion- = lens _codPlatformVersion- (\ s a -> s{_codPlatformVersion = a})---- | Date and time the device was last synchronized with the policy settings--- in the G Suite administrator control panel (Read-only)-codLastSync :: Lens' ChromeOSDevice (Maybe UTCTime)-codLastSync- = lens _codLastSync (\ s a -> s{_codLastSync = a}) .- mapping _DateTime---- | List of active time ranges (Read-only)-codActiveTimeRanges :: Lens' ChromeOSDevice [ChromeOSDeviceActiveTimeRangesItem]-codActiveTimeRanges- = lens _codActiveTimeRanges- (\ s a -> s{_codActiveTimeRanges = a})- . _Default- . _Coerce---- | Kind of resource this is.-codKind :: Lens' ChromeOSDevice Text-codKind = lens _codKind (\ s a -> s{_codKind = a})---- | Chromebook Mac Address on ethernet network interface (Read-only)-codEthernetMACAddress :: Lens' ChromeOSDevice (Maybe Text)-codEthernetMACAddress- = lens _codEthernetMACAddress- (\ s a -> s{_codEthernetMACAddress = a})---- | Date and time the device was last enrolled (Read-only)-codLastEnrollmentTime :: Lens' ChromeOSDevice (Maybe UTCTime)-codLastEnrollmentTime- = lens _codLastEnrollmentTime- (\ s a -> s{_codLastEnrollmentTime = a})- . mapping _DateTime---- | Address or location of the device as noted by the administrator-codAnnotatedLocation :: Lens' ChromeOSDevice (Maybe Text)-codAnnotatedLocation- = lens _codAnnotatedLocation- (\ s a -> s{_codAnnotatedLocation = a})---- | Chromebook Mac Address on wifi network interface (Read-only)-codMACAddress :: Lens' ChromeOSDevice (Maybe Text)-codMACAddress- = lens _codMACAddress- (\ s a -> s{_codMACAddress = a})---- | OrgUnit of the device-codOrgUnitPath :: Lens' ChromeOSDevice (Maybe Text)-codOrgUnitPath- = lens _codOrgUnitPath- (\ s a -> s{_codOrgUnitPath = a})---- | List of recent device users, in descending order by last login time--- (Read-only)-codRecentUsers :: Lens' ChromeOSDevice [ChromeOSDeviceRecentUsersItem]-codRecentUsers- = lens _codRecentUsers- (\ s a -> s{_codRecentUsers = a})- . _Default- . _Coerce---- | Final date the device will be supported (Read-only)-codSupportEndDate :: Lens' ChromeOSDevice (Maybe UTCTime)-codSupportEndDate- = lens _codSupportEndDate- (\ s a -> s{_codSupportEndDate = a})- . mapping _DateTime---- | Chromebook Model (Read-only)-codModel :: Lens' ChromeOSDevice (Maybe Text)-codModel = lens _codModel (\ s a -> s{_codModel = a})---- | Will Chromebook auto renew after support end date (Read-only)-codWillAutoRenew :: Lens' ChromeOSDevice (Maybe Bool)-codWillAutoRenew- = lens _codWillAutoRenew- (\ s a -> s{_codWillAutoRenew = a})---- | Mobile Equipment identifier for the 3G mobile card in the Chromebook--- (Read-only)-codMeid :: Lens' ChromeOSDevice (Maybe Text)-codMeid = lens _codMeid (\ s a -> s{_codMeid = a})---- | List of device files to download (Read-only)-codDeviceFiles :: Lens' ChromeOSDevice [ChromeOSDeviceDeviceFilesItem]-codDeviceFiles- = lens _codDeviceFiles- (\ s a -> s{_codDeviceFiles = a})- . _Default- . _Coerce---- | Unique identifier of Chrome OS Device (Read-only)-codDeviceId :: Lens' ChromeOSDevice (Maybe Text)-codDeviceId- = lens _codDeviceId (\ s a -> s{_codDeviceId = a})---- | Chromebook boot mode (Read-only)-codBootMode :: Lens' ChromeOSDevice (Maybe Text)-codBootMode- = lens _codBootMode (\ s a -> s{_codBootMode = a})---- | Trusted Platform Module (TPM) (Read-only)-codTpmVersionInfo :: Lens' ChromeOSDevice (Maybe ChromeOSDeviceTpmVersionInfo)-codTpmVersionInfo- = lens _codTpmVersionInfo- (\ s a -> s{_codTpmVersionInfo = a})---- | Chromebook order number (Read-only)-codOrderNumber :: Lens' ChromeOSDevice (Maybe Text)-codOrderNumber- = lens _codOrderNumber- (\ s a -> s{_codOrderNumber = a})---- | Reports of disk space and other info about mounted\/connected volumes.-codDiskVolumeReports :: Lens' ChromeOSDevice [ChromeOSDeviceDiskVolumeReportsItem]-codDiskVolumeReports- = lens _codDiskVolumeReports- (\ s a -> s{_codDiskVolumeReports = a})- . _Default- . _Coerce---- | AssetId specified during enrollment or through later annotation-codAnnotatedAssetId :: Lens' ChromeOSDevice (Maybe Text)-codAnnotatedAssetId- = lens _codAnnotatedAssetId- (\ s a -> s{_codAnnotatedAssetId = a})---- | Notes added by the administrator-codNotes :: Lens' ChromeOSDevice (Maybe Text)-codNotes = lens _codNotes (\ s a -> s{_codNotes = a})---- | Chromebook serial number (Read-only)-codSerialNumber :: Lens' ChromeOSDevice (Maybe Text)-codSerialNumber- = lens _codSerialNumber- (\ s a -> s{_codSerialNumber = a})---- | Chromebook firmware version (Read-only)-codFirmwareVersion :: Lens' ChromeOSDevice (Maybe Text)-codFirmwareVersion- = lens _codFirmwareVersion- (\ s a -> s{_codFirmwareVersion = a})---- | Chromebook Os Version (Read-only)-codOSVersion :: Lens' ChromeOSDevice (Maybe Text)-codOSVersion- = lens _codOSVersion (\ s a -> s{_codOSVersion = a})---- | Total RAM on the device [in bytes] (Read-only)-codSystemRamTotal :: Lens' ChromeOSDevice (Maybe Int64)-codSystemRamTotal- = lens _codSystemRamTotal- (\ s a -> s{_codSystemRamTotal = a})- . mapping _Coerce--instance FromJSON ChromeOSDevice where- parseJSON- = withObject "ChromeOSDevice"- (\ o ->- ChromeOSDevice' <$>- (o .:? "status") <*> (o .:? "etag") <*>- (o .:? "cpuStatusReports" .!= mempty)- <*> (o .:? "annotatedUser")- <*> (o .:? "systemRamFreeReports" .!= mempty)- <*> (o .:? "platformVersion")- <*> (o .:? "lastSync")- <*> (o .:? "activeTimeRanges" .!= mempty)- <*>- (o .:? "kind" .!= "admin#directory#chromeosdevice")- <*> (o .:? "ethernetMacAddress")- <*> (o .:? "lastEnrollmentTime")- <*> (o .:? "annotatedLocation")- <*> (o .:? "macAddress")- <*> (o .:? "orgUnitPath")- <*> (o .:? "recentUsers" .!= mempty)- <*> (o .:? "supportEndDate")- <*> (o .:? "model")- <*> (o .:? "willAutoRenew")- <*> (o .:? "meid")- <*> (o .:? "deviceFiles" .!= mempty)- <*> (o .:? "deviceId")- <*> (o .:? "bootMode")- <*> (o .:? "tpmVersionInfo")- <*> (o .:? "orderNumber")- <*> (o .:? "diskVolumeReports" .!= mempty)- <*> (o .:? "annotatedAssetId")- <*> (o .:? "notes")- <*> (o .:? "serialNumber")- <*> (o .:? "firmwareVersion")- <*> (o .:? "osVersion")- <*> (o .:? "systemRamTotal"))--instance ToJSON ChromeOSDevice where- toJSON ChromeOSDevice'{..}- = object- (catMaybes- [("status" .=) <$> _codStatus,- ("etag" .=) <$> _codEtag,- ("cpuStatusReports" .=) <$> _codCPUStatusReports,- ("annotatedUser" .=) <$> _codAnnotatedUser,- ("systemRamFreeReports" .=) <$>- _codSystemRamFreeReports,- ("platformVersion" .=) <$> _codPlatformVersion,- ("lastSync" .=) <$> _codLastSync,- ("activeTimeRanges" .=) <$> _codActiveTimeRanges,- Just ("kind" .= _codKind),- ("ethernetMacAddress" .=) <$> _codEthernetMACAddress,- ("lastEnrollmentTime" .=) <$> _codLastEnrollmentTime,- ("annotatedLocation" .=) <$> _codAnnotatedLocation,- ("macAddress" .=) <$> _codMACAddress,- ("orgUnitPath" .=) <$> _codOrgUnitPath,- ("recentUsers" .=) <$> _codRecentUsers,- ("supportEndDate" .=) <$> _codSupportEndDate,- ("model" .=) <$> _codModel,- ("willAutoRenew" .=) <$> _codWillAutoRenew,- ("meid" .=) <$> _codMeid,- ("deviceFiles" .=) <$> _codDeviceFiles,- ("deviceId" .=) <$> _codDeviceId,- ("bootMode" .=) <$> _codBootMode,- ("tpmVersionInfo" .=) <$> _codTpmVersionInfo,- ("orderNumber" .=) <$> _codOrderNumber,- ("diskVolumeReports" .=) <$> _codDiskVolumeReports,- ("annotatedAssetId" .=) <$> _codAnnotatedAssetId,- ("notes" .=) <$> _codNotes,- ("serialNumber" .=) <$> _codSerialNumber,- ("firmwareVersion" .=) <$> _codFirmwareVersion,- ("osVersion" .=) <$> _codOSVersion,- ("systemRamTotal" .=) <$> _codSystemRamTotal])---- | JSON response template for List Users operation in Apps Directory API.------ /See:/ 'users' smart constructor.-data Users = Users'- { _uEtag :: !(Maybe Text)- , _uNextPageToken :: !(Maybe Text)- , _uUsers :: !(Maybe [User])- , _uKind :: !Text- , _uTriggerEvent :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Users' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uEtag'------ * 'uNextPageToken'------ * 'uUsers'------ * 'uKind'------ * 'uTriggerEvent'-users- :: Users-users =- Users'- { _uEtag = Nothing- , _uNextPageToken = Nothing- , _uUsers = Nothing- , _uKind = "admin#directory#users"- , _uTriggerEvent = Nothing- }---- | ETag of the resource.-uEtag :: Lens' Users (Maybe Text)-uEtag = lens _uEtag (\ s a -> s{_uEtag = a})---- | Token used to access next page of this result.-uNextPageToken :: Lens' Users (Maybe Text)-uNextPageToken- = lens _uNextPageToken- (\ s a -> s{_uNextPageToken = a})---- | List of user objects.-uUsers :: Lens' Users [User]-uUsers- = lens _uUsers (\ s a -> s{_uUsers = a}) . _Default .- _Coerce---- | Kind of resource this is.-uKind :: Lens' Users Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | Event that triggered this response (only used in case of Push Response)-uTriggerEvent :: Lens' Users (Maybe Text)-uTriggerEvent- = lens _uTriggerEvent- (\ s a -> s{_uTriggerEvent = a})--instance FromJSON Users where- parseJSON- = withObject "Users"- (\ o ->- Users' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "users" .!= mempty)- <*> (o .:? "kind" .!= "admin#directory#users")- <*> (o .:? "trigger_event"))--instance ToJSON Users where- toJSON Users'{..}- = object- (catMaybes- [("etag" .=) <$> _uEtag,- ("nextPageToken" .=) <$> _uNextPageToken,- ("users" .=) <$> _uUsers, Just ("kind" .= _uKind),- ("trigger_event" .=) <$> _uTriggerEvent])---- | The template that returns individual ASP (Access Code) data.------ /See:/ 'asp' smart constructor.-data Asp = Asp'- { _aCreationTime :: !(Maybe (Textual Int64))- , _aEtag :: !(Maybe Text)- , _aCodeId :: !(Maybe (Textual Int32))- , _aKind :: !Text- , _aName :: !(Maybe Text)- , _aLastTimeUsed :: !(Maybe (Textual Int64))- , _aUserKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Asp' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aCreationTime'------ * 'aEtag'------ * 'aCodeId'------ * 'aKind'------ * 'aName'------ * 'aLastTimeUsed'------ * 'aUserKey'-asp- :: Asp-asp =- Asp'- { _aCreationTime = Nothing- , _aEtag = Nothing- , _aCodeId = Nothing- , _aKind = "admin#directory#asp"- , _aName = Nothing- , _aLastTimeUsed = Nothing- , _aUserKey = Nothing- }---- | The time when the ASP was created. Expressed in Unix time format.-aCreationTime :: Lens' Asp (Maybe Int64)-aCreationTime- = lens _aCreationTime- (\ s a -> s{_aCreationTime = a})- . mapping _Coerce---- | ETag of the ASP.-aEtag :: Lens' Asp (Maybe Text)-aEtag = lens _aEtag (\ s a -> s{_aEtag = a})---- | The unique ID of the ASP.-aCodeId :: Lens' Asp (Maybe Int32)-aCodeId- = lens _aCodeId (\ s a -> s{_aCodeId = a}) .- mapping _Coerce---- | The type of the API resource. This is always admin#directory#asp.-aKind :: Lens' Asp Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | The name of the application that the user, represented by their userId,--- entered when the ASP was created.-aName :: Lens' Asp (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a})---- | The time when the ASP was last used. Expressed in Unix time format.-aLastTimeUsed :: Lens' Asp (Maybe Int64)-aLastTimeUsed- = lens _aLastTimeUsed- (\ s a -> s{_aLastTimeUsed = a})- . mapping _Coerce---- | The unique ID of the user who issued the ASP.-aUserKey :: Lens' Asp (Maybe Text)-aUserKey = lens _aUserKey (\ s a -> s{_aUserKey = a})--instance FromJSON Asp where- parseJSON- = withObject "Asp"- (\ o ->- Asp' <$>- (o .:? "creationTime") <*> (o .:? "etag") <*>- (o .:? "codeId")- <*> (o .:? "kind" .!= "admin#directory#asp")- <*> (o .:? "name")- <*> (o .:? "lastTimeUsed")- <*> (o .:? "userKey"))--instance ToJSON Asp where- toJSON Asp'{..}- = object- (catMaybes- [("creationTime" .=) <$> _aCreationTime,- ("etag" .=) <$> _aEtag, ("codeId" .=) <$> _aCodeId,- Just ("kind" .= _aKind), ("name" .=) <$> _aName,- ("lastTimeUsed" .=) <$> _aLastTimeUsed,- ("userKey" .=) <$> _aUserKey])---- | JSON response template for List Schema operation in Directory API.------ /See:/ 'schemas' smart constructor.-data Schemas = Schemas'- { _sEtag :: !(Maybe Text)- , _sSchemas :: !(Maybe [Schema])- , _sKind :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Schemas' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sEtag'------ * 'sSchemas'------ * 'sKind'-schemas- :: Schemas-schemas =- Schemas'- { _sEtag = Nothing- , _sSchemas = Nothing- , _sKind = "admin#directory#schemas"- }---- | ETag of the resource.-sEtag :: Lens' Schemas (Maybe Text)-sEtag = lens _sEtag (\ s a -> s{_sEtag = a})---- | List of UserSchema objects.-sSchemas :: Lens' Schemas [Schema]-sSchemas- = lens _sSchemas (\ s a -> s{_sSchemas = a}) .- _Default- . _Coerce---- | Kind of resource this is.-sKind :: Lens' Schemas Text-sKind = lens _sKind (\ s a -> s{_sKind = a})--instance FromJSON Schemas where- parseJSON- = withObject "Schemas"- (\ o ->- Schemas' <$>- (o .:? "etag") <*> (o .:? "schemas" .!= mempty) <*>- (o .:? "kind" .!= "admin#directory#schemas"))--instance ToJSON Schemas where- toJSON Schemas'{..}- = object- (catMaybes- [("etag" .=) <$> _sEtag,- ("schemas" .=) <$> _sSchemas,- Just ("kind" .= _sKind)])------- /See:/ 'chromeOSDeviceDeviceFilesItem' smart constructor.-data ChromeOSDeviceDeviceFilesItem = ChromeOSDeviceDeviceFilesItem'- { _coddfiName :: !(Maybe Text)- , _coddfiDownloadURL :: !(Maybe Text)- , _coddfiType :: !(Maybe Text)- , _coddfiCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceDeviceFilesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'coddfiName'------ * 'coddfiDownloadURL'------ * 'coddfiType'------ * 'coddfiCreateTime'-chromeOSDeviceDeviceFilesItem- :: ChromeOSDeviceDeviceFilesItem-chromeOSDeviceDeviceFilesItem =- ChromeOSDeviceDeviceFilesItem'- { _coddfiName = Nothing- , _coddfiDownloadURL = Nothing- , _coddfiType = Nothing- , _coddfiCreateTime = Nothing- }---- | File name-coddfiName :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)-coddfiName- = lens _coddfiName (\ s a -> s{_coddfiName = a})---- | File download URL-coddfiDownloadURL :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)-coddfiDownloadURL- = lens _coddfiDownloadURL- (\ s a -> s{_coddfiDownloadURL = a})---- | File type-coddfiType :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)-coddfiType- = lens _coddfiType (\ s a -> s{_coddfiType = a})---- | Date and time the file was created-coddfiCreateTime :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe UTCTime)-coddfiCreateTime- = lens _coddfiCreateTime- (\ s a -> s{_coddfiCreateTime = a})- . mapping _DateTime--instance FromJSON ChromeOSDeviceDeviceFilesItem where- parseJSON- = withObject "ChromeOSDeviceDeviceFilesItem"- (\ o ->- ChromeOSDeviceDeviceFilesItem' <$>- (o .:? "name") <*> (o .:? "downloadUrl") <*>- (o .:? "type")- <*> (o .:? "createTime"))--instance ToJSON ChromeOSDeviceDeviceFilesItem where- toJSON ChromeOSDeviceDeviceFilesItem'{..}- = object- (catMaybes- [("name" .=) <$> _coddfiName,- ("downloadUrl" .=) <$> _coddfiDownloadURL,- ("type" .=) <$> _coddfiType,- ("createTime" .=) <$> _coddfiCreateTime])---- | JSON template for Building List Response object in Directory API.------ /See:/ 'buildings' smart constructor.-data Buildings = Buildings'- { _bEtag :: !(Maybe Text)- , _bNextPageToken :: !(Maybe Text)- , _bBuildings :: !(Maybe [Building])- , _bKind :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Buildings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bEtag'------ * 'bNextPageToken'------ * 'bBuildings'------ * 'bKind'-buildings- :: Buildings-buildings =- Buildings'- { _bEtag = Nothing- , _bNextPageToken = Nothing- , _bBuildings = Nothing- , _bKind = "admin#directory#resources#buildings#buildingsList"- }---- | ETag of the resource.-bEtag :: Lens' Buildings (Maybe Text)-bEtag = lens _bEtag (\ s a -> s{_bEtag = a})---- | The continuation token, used to page through large result sets. Provide--- this value in a subsequent request to return the next page of results.-bNextPageToken :: Lens' Buildings (Maybe Text)-bNextPageToken- = lens _bNextPageToken- (\ s a -> s{_bNextPageToken = a})---- | The Buildings in this page of results.-bBuildings :: Lens' Buildings [Building]-bBuildings- = lens _bBuildings (\ s a -> s{_bBuildings = a}) .- _Default- . _Coerce---- | Kind of resource this is.-bKind :: Lens' Buildings Text-bKind = lens _bKind (\ s a -> s{_bKind = a})--instance FromJSON Buildings where- parseJSON- = withObject "Buildings"- (\ o ->- Buildings' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "buildings" .!= mempty)- <*>- (o .:? "kind" .!=- "admin#directory#resources#buildings#buildingsList"))--instance ToJSON Buildings where- toJSON Buildings'{..}- = object- (catMaybes- [("etag" .=) <$> _bEtag,- ("nextPageToken" .=) <$> _bNextPageToken,- ("buildings" .=) <$> _bBuildings,- Just ("kind" .= _bKind)])---- | Template for a notification resource.------ /See:/ 'notification' smart constructor.-data Notification = Notification'- { _nSubject :: !(Maybe Text)- , _nEtag :: !(Maybe Text)- , _nKind :: !Text- , _nBody :: !(Maybe Text)- , _nFromAddress :: !(Maybe Text)- , _nIsUnread :: !(Maybe Bool)- , _nNotificationId :: !(Maybe Text)- , _nSendTime :: !(Maybe DateTime')- } 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:------ * 'nSubject'------ * 'nEtag'------ * 'nKind'------ * 'nBody'------ * 'nFromAddress'------ * 'nIsUnread'------ * 'nNotificationId'------ * 'nSendTime'-notification- :: Notification-notification =- Notification'- { _nSubject = Nothing- , _nEtag = Nothing- , _nKind = "admin#directory#notification"- , _nBody = Nothing- , _nFromAddress = Nothing- , _nIsUnread = Nothing- , _nNotificationId = Nothing- , _nSendTime = Nothing- }---- | Subject of the notification (Read-only)-nSubject :: Lens' Notification (Maybe Text)-nSubject = lens _nSubject (\ s a -> s{_nSubject = a})---- | ETag of the resource.-nEtag :: Lens' Notification (Maybe Text)-nEtag = lens _nEtag (\ s a -> s{_nEtag = a})---- | The type of the resource.-nKind :: Lens' Notification Text-nKind = lens _nKind (\ s a -> s{_nKind = a})---- | Body of the notification (Read-only)-nBody :: Lens' Notification (Maybe Text)-nBody = lens _nBody (\ s a -> s{_nBody = a})---- | Address from which the notification is received (Read-only)-nFromAddress :: Lens' Notification (Maybe Text)-nFromAddress- = lens _nFromAddress (\ s a -> s{_nFromAddress = a})---- | Boolean indicating whether the notification is unread or not.-nIsUnread :: Lens' Notification (Maybe Bool)-nIsUnread- = lens _nIsUnread (\ s a -> s{_nIsUnread = a})--nNotificationId :: Lens' Notification (Maybe Text)-nNotificationId- = lens _nNotificationId- (\ s a -> s{_nNotificationId = a})---- | Time at which notification was sent (Read-only)-nSendTime :: Lens' Notification (Maybe UTCTime)-nSendTime- = lens _nSendTime (\ s a -> s{_nSendTime = a}) .- mapping _DateTime--instance FromJSON Notification where- parseJSON- = withObject "Notification"- (\ o ->- Notification' <$>- (o .:? "subject") <*> (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#notification")- <*> (o .:? "body")- <*> (o .:? "fromAddress")- <*> (o .:? "isUnread")- <*> (o .:? "notificationId")- <*> (o .:? "sendTime"))--instance ToJSON Notification where- toJSON Notification'{..}- = object- (catMaybes- [("subject" .=) <$> _nSubject,- ("etag" .=) <$> _nEtag, Just ("kind" .= _nKind),- ("body" .=) <$> _nBody,- ("fromAddress" .=) <$> _nFromAddress,- ("isUnread" .=) <$> _nIsUnread,- ("notificationId" .=) <$> _nNotificationId,- ("sendTime" .=) <$> _nSendTime])---- | JSON template for instant messenger of an user.------ /See:/ 'userIm' smart constructor.-data UserIm = UserIm'- { _uiIm :: !(Maybe Text)- , _uiProtocol :: !(Maybe Text)- , _uiPrimary :: !(Maybe Bool)- , _uiCustomProtocol :: !(Maybe Text)- , _uiType :: !(Maybe Text)- , _uiCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserIm' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uiIm'------ * 'uiProtocol'------ * 'uiPrimary'------ * 'uiCustomProtocol'------ * 'uiType'------ * 'uiCustomType'-userIm- :: UserIm-userIm =- UserIm'- { _uiIm = Nothing- , _uiProtocol = Nothing- , _uiPrimary = Nothing- , _uiCustomProtocol = Nothing- , _uiType = Nothing- , _uiCustomType = Nothing- }---- | Instant messenger id.-uiIm :: Lens' UserIm (Maybe Text)-uiIm = lens _uiIm (\ s a -> s{_uiIm = a})---- | Protocol used in the instant messenger. It should be one of the values--- from ImProtocolTypes map. Similar to type, it can take a CUSTOM value--- and specify the custom name in customProtocol field.-uiProtocol :: Lens' UserIm (Maybe Text)-uiProtocol- = lens _uiProtocol (\ s a -> s{_uiProtocol = a})---- | If this is user\'s primary im. Only one entry could be marked as--- primary.-uiPrimary :: Lens' UserIm (Maybe Bool)-uiPrimary- = lens _uiPrimary (\ s a -> s{_uiPrimary = a})---- | Custom protocol.-uiCustomProtocol :: Lens' UserIm (Maybe Text)-uiCustomProtocol- = lens _uiCustomProtocol- (\ s a -> s{_uiCustomProtocol = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example instant messengers could be of home, work etc. In addition--- to the standard type, an entry can have a custom type and can take any--- value. Such types should have the CUSTOM value as type and also have a--- customType value.-uiType :: Lens' UserIm (Maybe Text)-uiType = lens _uiType (\ s a -> s{_uiType = a})---- | Custom type.-uiCustomType :: Lens' UserIm (Maybe Text)-uiCustomType- = lens _uiCustomType (\ s a -> s{_uiCustomType = a})--instance FromJSON UserIm where- parseJSON- = withObject "UserIm"- (\ o ->- UserIm' <$>- (o .:? "im") <*> (o .:? "protocol") <*>- (o .:? "primary")- <*> (o .:? "customProtocol")- <*> (o .:? "type")- <*> (o .:? "customType"))--instance ToJSON UserIm where- toJSON UserIm'{..}- = object- (catMaybes- [("im" .=) <$> _uiIm,- ("protocol" .=) <$> _uiProtocol,- ("primary" .=) <$> _uiPrimary,- ("customProtocol" .=) <$> _uiCustomProtocol,- ("type" .=) <$> _uiType,- ("customType" .=) <$> _uiCustomType])---- | JSON response template for List tokens operation in Directory API.------ /See:/ 'tokens' smart constructor.-data Tokens = Tokens'- { _tEtag :: !(Maybe Text)- , _tKind :: !Text- , _tItems :: !(Maybe [Token])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Tokens' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tEtag'------ * 'tKind'------ * 'tItems'-tokens- :: Tokens-tokens =- Tokens'- { _tEtag = Nothing- , _tKind = "admin#directory#tokenList"- , _tItems = Nothing- }---- | ETag of the resource.-tEtag :: Lens' Tokens (Maybe Text)-tEtag = lens _tEtag (\ s a -> s{_tEtag = a})---- | The type of the API resource. This is always admin#directory#tokenList.-tKind :: Lens' Tokens Text-tKind = lens _tKind (\ s a -> s{_tKind = a})---- | A list of Token resources.-tItems :: Lens' Tokens [Token]-tItems- = lens _tItems (\ s a -> s{_tItems = a}) . _Default .- _Coerce--instance FromJSON Tokens where- parseJSON- = withObject "Tokens"- (\ o ->- Tokens' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#tokenList")- <*> (o .:? "items" .!= mempty))--instance ToJSON Tokens where- toJSON Tokens'{..}- = object- (catMaybes- [("etag" .=) <$> _tEtag, Just ("kind" .= _tKind),- ("items" .=) <$> _tItems])---- | Custom fields of the user.------ /See:/ 'userCustomSchemas' smart constructor.-newtype UserCustomSchemas = UserCustomSchemas'- { _ucsAddtional :: HashMap Text UserCustomProperties- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserCustomSchemas' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucsAddtional'-userCustomSchemas- :: HashMap Text UserCustomProperties -- ^ 'ucsAddtional'- -> UserCustomSchemas-userCustomSchemas pUcsAddtional_ =- UserCustomSchemas'- { _ucsAddtional = _Coerce # pUcsAddtional_- }--ucsAddtional :: Lens' UserCustomSchemas (HashMap Text UserCustomProperties)-ucsAddtional- = lens _ucsAddtional (\ s a -> s{_ucsAddtional = a})- . _Coerce--instance FromJSON UserCustomSchemas where- parseJSON- = withObject "UserCustomSchemas"- (\ o -> UserCustomSchemas' <$> (parseJSONObject o))--instance ToJSON UserCustomSchemas where- toJSON = toJSON . _ucsAddtional---- | JSON template for a keyword entry.------ /See:/ 'userKeyword' smart constructor.-data UserKeyword = UserKeyword'- { _ukValue :: !(Maybe Text)- , _ukType :: !(Maybe Text)- , _ukCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserKeyword' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ukValue'------ * 'ukType'------ * 'ukCustomType'-userKeyword- :: UserKeyword-userKeyword =- UserKeyword'- { _ukValue = Nothing- , _ukType = Nothing- , _ukCustomType = Nothing- }---- | Keyword.-ukValue :: Lens' UserKeyword (Maybe Text)-ukValue = lens _ukValue (\ s a -> s{_ukValue = a})---- | Each entry can have a type which indicates standard type of that entry.--- For example, keyword could be of type occupation or outlook. In addition--- to the standard type, an entry can have a custom type and can give it--- any name. Such types should have the CUSTOM value as type and also have--- a customType value.-ukType :: Lens' UserKeyword (Maybe Text)-ukType = lens _ukType (\ s a -> s{_ukType = a})---- | Custom Type.-ukCustomType :: Lens' UserKeyword (Maybe Text)-ukCustomType- = lens _ukCustomType (\ s a -> s{_ukCustomType = a})--instance FromJSON UserKeyword where- parseJSON- = withObject "UserKeyword"- (\ o ->- UserKeyword' <$>- (o .:? "value") <*> (o .:? "type") <*>- (o .:? "customType"))--instance ToJSON UserKeyword where- toJSON UserKeyword'{..}- = object- (catMaybes- [("value" .=) <$> _ukValue, ("type" .=) <$> _ukType,- ("customType" .=) <$> _ukCustomType])---- | JSON response template to list domain aliases in Directory API.------ /See:/ 'domainAliases' smart constructor.-data DomainAliases = DomainAliases'- { _daEtag :: !(Maybe Text)- , _daKind :: !Text- , _daDomainAliases :: !(Maybe [DomainAlias])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DomainAliases' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'daEtag'------ * 'daKind'------ * 'daDomainAliases'-domainAliases- :: DomainAliases-domainAliases =- DomainAliases'- { _daEtag = Nothing- , _daKind = "admin#directory#domainAliases"- , _daDomainAliases = Nothing- }---- | ETag of the resource.-daEtag :: Lens' DomainAliases (Maybe Text)-daEtag = lens _daEtag (\ s a -> s{_daEtag = a})---- | Kind of resource this is.-daKind :: Lens' DomainAliases Text-daKind = lens _daKind (\ s a -> s{_daKind = a})---- | List of domain alias objects.-daDomainAliases :: Lens' DomainAliases [DomainAlias]-daDomainAliases- = lens _daDomainAliases- (\ s a -> s{_daDomainAliases = a})- . _Default- . _Coerce--instance FromJSON DomainAliases where- parseJSON- = withObject "DomainAliases"- (\ o ->- DomainAliases' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#domainAliases")- <*> (o .:? "domainAliases" .!= mempty))--instance ToJSON DomainAliases where- toJSON DomainAliases'{..}- = object- (catMaybes- [("etag" .=) <$> _daEtag, Just ("kind" .= _daKind),- ("domainAliases" .=) <$> _daDomainAliases])---- | JSON response template to list aliases in Directory API.------ /See:/ 'aliases' smart constructor.-data Aliases = Aliases'- { _aliEtag :: !(Maybe Text)- , _aliKind :: !Text- , _aliAliases :: !(Maybe [JSONValue])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Aliases' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aliEtag'------ * 'aliKind'------ * 'aliAliases'-aliases- :: Aliases-aliases =- Aliases'- { _aliEtag = Nothing- , _aliKind = "admin#directory#aliases"- , _aliAliases = Nothing- }---- | ETag of the resource.-aliEtag :: Lens' Aliases (Maybe Text)-aliEtag = lens _aliEtag (\ s a -> s{_aliEtag = a})---- | Kind of resource this is.-aliKind :: Lens' Aliases Text-aliKind = lens _aliKind (\ s a -> s{_aliKind = a})---- | List of alias objects.-aliAliases :: Lens' Aliases [JSONValue]-aliAliases- = lens _aliAliases (\ s a -> s{_aliAliases = a}) .- _Default- . _Coerce--instance FromJSON Aliases where- parseJSON- = withObject "Aliases"- (\ o ->- Aliases' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#aliases")- <*> (o .:? "aliases" .!= mempty))--instance ToJSON Aliases where- toJSON Aliases'{..}- = object- (catMaybes- [("etag" .=) <$> _aliEtag, Just ("kind" .= _aliKind),- ("aliases" .=) <$> _aliAliases])---- | JSON template for Calendar Resource object in Directory API.------ /See:/ 'calendarResource' smart constructor.-data CalendarResource = CalendarResource'- { _crEtags :: !(Maybe Text)- , _crResourceId :: !(Maybe Text)- , _crResourceType :: !(Maybe Text)- , _crResourceName :: !(Maybe Text)- , _crKind :: !Text- , _crBuildingId :: !(Maybe Text)- , _crFeatureInstances :: !(Maybe JSONValue)- , _crResourceEmail :: !(Maybe Text)- , _crCapacity :: !(Maybe (Textual Int32))- , _crResourceDescription :: !(Maybe Text)- , _crFloorName :: !(Maybe Text)- , _crGeneratedResourceName :: !(Maybe Text)- , _crResourceCategory :: !(Maybe Text)- , _crFloorSection :: !(Maybe Text)- , _crUserVisibleDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CalendarResource' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crEtags'------ * 'crResourceId'------ * 'crResourceType'------ * 'crResourceName'------ * 'crKind'------ * 'crBuildingId'------ * 'crFeatureInstances'------ * 'crResourceEmail'------ * 'crCapacity'------ * 'crResourceDescription'------ * 'crFloorName'------ * 'crGeneratedResourceName'------ * 'crResourceCategory'------ * 'crFloorSection'------ * 'crUserVisibleDescription'-calendarResource- :: CalendarResource-calendarResource =- CalendarResource'- { _crEtags = Nothing- , _crResourceId = Nothing- , _crResourceType = Nothing- , _crResourceName = Nothing- , _crKind = "admin#directory#resources#calendars#CalendarResource"- , _crBuildingId = Nothing- , _crFeatureInstances = Nothing- , _crResourceEmail = Nothing- , _crCapacity = Nothing- , _crResourceDescription = Nothing- , _crFloorName = Nothing- , _crGeneratedResourceName = Nothing- , _crResourceCategory = Nothing- , _crFloorSection = Nothing- , _crUserVisibleDescription = Nothing- }---- | ETag of the resource.-crEtags :: Lens' CalendarResource (Maybe Text)-crEtags = lens _crEtags (\ s a -> s{_crEtags = a})---- | The unique ID for the calendar resource.-crResourceId :: Lens' CalendarResource (Maybe Text)-crResourceId- = lens _crResourceId (\ s a -> s{_crResourceId = a})---- | The type of the calendar resource, intended for non-room resources.-crResourceType :: Lens' CalendarResource (Maybe Text)-crResourceType- = lens _crResourceType- (\ s a -> s{_crResourceType = a})---- | The name of the calendar resource. For example, \"Training Room 1A\".-crResourceName :: Lens' CalendarResource (Maybe Text)-crResourceName- = lens _crResourceName- (\ s a -> s{_crResourceName = a})---- | The type of the resource. For calendar resources, the value is--- admin#directory#resources#calendars#CalendarResource.-crKind :: Lens' CalendarResource Text-crKind = lens _crKind (\ s a -> s{_crKind = a})---- | Unique ID for the building a resource is located in.-crBuildingId :: Lens' CalendarResource (Maybe Text)-crBuildingId- = lens _crBuildingId (\ s a -> s{_crBuildingId = a})--crFeatureInstances :: Lens' CalendarResource (Maybe JSONValue)-crFeatureInstances- = lens _crFeatureInstances- (\ s a -> s{_crFeatureInstances = a})---- | The read-only email for the calendar resource. Generated as part of--- creating a new calendar resource.-crResourceEmail :: Lens' CalendarResource (Maybe Text)-crResourceEmail- = lens _crResourceEmail- (\ s a -> s{_crResourceEmail = a})---- | Capacity of a resource, number of seats in a room.-crCapacity :: Lens' CalendarResource (Maybe Int32)-crCapacity- = lens _crCapacity (\ s a -> s{_crCapacity = a}) .- mapping _Coerce---- | Description of the resource, visible only to admins.-crResourceDescription :: Lens' CalendarResource (Maybe Text)-crResourceDescription- = lens _crResourceDescription- (\ s a -> s{_crResourceDescription = a})---- | Name of the floor a resource is located on.-crFloorName :: Lens' CalendarResource (Maybe Text)-crFloorName- = lens _crFloorName (\ s a -> s{_crFloorName = a})---- | The read-only auto-generated name of the calendar resource which--- includes metadata about the resource such as building name, floor,--- capacity, etc. For example, \"NYC-2-Training Room 1A (16)\".-crGeneratedResourceName :: Lens' CalendarResource (Maybe Text)-crGeneratedResourceName- = lens _crGeneratedResourceName- (\ s a -> s{_crGeneratedResourceName = a})---- | The category of the calendar resource. Either CONFERENCE_ROOM or OTHER.--- Legacy data is set to CATEGORY_UNKNOWN.-crResourceCategory :: Lens' CalendarResource (Maybe Text)-crResourceCategory- = lens _crResourceCategory- (\ s a -> s{_crResourceCategory = a})---- | Name of the section within a floor a resource is located in.-crFloorSection :: Lens' CalendarResource (Maybe Text)-crFloorSection- = lens _crFloorSection- (\ s a -> s{_crFloorSection = a})---- | Description of the resource, visible to users and admins.-crUserVisibleDescription :: Lens' CalendarResource (Maybe Text)-crUserVisibleDescription- = lens _crUserVisibleDescription- (\ s a -> s{_crUserVisibleDescription = a})--instance FromJSON CalendarResource where- parseJSON- = withObject "CalendarResource"- (\ o ->- CalendarResource' <$>- (o .:? "etags") <*> (o .:? "resourceId") <*>- (o .:? "resourceType")- <*> (o .:? "resourceName")- <*>- (o .:? "kind" .!=- "admin#directory#resources#calendars#CalendarResource")- <*> (o .:? "buildingId")- <*> (o .:? "featureInstances")- <*> (o .:? "resourceEmail")- <*> (o .:? "capacity")- <*> (o .:? "resourceDescription")- <*> (o .:? "floorName")- <*> (o .:? "generatedResourceName")- <*> (o .:? "resourceCategory")- <*> (o .:? "floorSection")- <*> (o .:? "userVisibleDescription"))--instance ToJSON CalendarResource where- toJSON CalendarResource'{..}- = object- (catMaybes- [("etags" .=) <$> _crEtags,- ("resourceId" .=) <$> _crResourceId,- ("resourceType" .=) <$> _crResourceType,- ("resourceName" .=) <$> _crResourceName,- Just ("kind" .= _crKind),- ("buildingId" .=) <$> _crBuildingId,- ("featureInstances" .=) <$> _crFeatureInstances,- ("resourceEmail" .=) <$> _crResourceEmail,- ("capacity" .=) <$> _crCapacity,- ("resourceDescription" .=) <$>- _crResourceDescription,- ("floorName" .=) <$> _crFloorName,- ("generatedResourceName" .=) <$>- _crGeneratedResourceName,- ("resourceCategory" .=) <$> _crResourceCategory,- ("floorSection" .=) <$> _crFloorSection,- ("userVisibleDescription" .=) <$>- _crUserVisibleDescription])---- | JSON request template to undelete a user in Directory API.------ /See:/ 'userUndelete' smart constructor.-newtype UserUndelete = UserUndelete'- { _uuOrgUnitPath :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserUndelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uuOrgUnitPath'-userUndelete- :: UserUndelete-userUndelete =- UserUndelete'- { _uuOrgUnitPath = Nothing- }---- | OrgUnit of User-uuOrgUnitPath :: Lens' UserUndelete (Maybe Text)-uuOrgUnitPath- = lens _uuOrgUnitPath- (\ s a -> s{_uuOrgUnitPath = a})--instance FromJSON UserUndelete where- parseJSON- = withObject "UserUndelete"- (\ o -> UserUndelete' <$> (o .:? "orgUnitPath"))--instance ToJSON UserUndelete where- toJSON UserUndelete'{..}- = object- (catMaybes [("orgUnitPath" .=) <$> _uuOrgUnitPath])---- | JSON response template for List Members operation in Directory API.------ /See:/ 'members' smart constructor.-data Members = Members'- { _mEtag :: !(Maybe Text)- , _mNextPageToken :: !(Maybe Text)- , _mKind :: !Text- , _mMembers :: !(Maybe [Member])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Members' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mEtag'------ * 'mNextPageToken'------ * 'mKind'------ * 'mMembers'-members- :: Members-members =- Members'- { _mEtag = Nothing- , _mNextPageToken = Nothing- , _mKind = "admin#directory#members"- , _mMembers = Nothing- }---- | ETag of the resource.-mEtag :: Lens' Members (Maybe Text)-mEtag = lens _mEtag (\ s a -> s{_mEtag = a})---- | Token used to access next page of this result.-mNextPageToken :: Lens' Members (Maybe Text)-mNextPageToken- = lens _mNextPageToken- (\ s a -> s{_mNextPageToken = a})---- | Kind of resource this is.-mKind :: Lens' Members Text-mKind = lens _mKind (\ s a -> s{_mKind = a})---- | List of member objects.-mMembers :: Lens' Members [Member]-mMembers- = lens _mMembers (\ s a -> s{_mMembers = a}) .- _Default- . _Coerce--instance FromJSON Members where- parseJSON- = withObject "Members"- (\ o ->- Members' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#members")- <*> (o .:? "members" .!= mempty))--instance ToJSON Members where- toJSON Members'{..}- = object- (catMaybes- [("etag" .=) <$> _mEtag,- ("nextPageToken" .=) <$> _mNextPageToken,- Just ("kind" .= _mKind),- ("members" .=) <$> _mMembers])---- | An notification channel used to watch for resource changes.------ /See:/ 'channel' smart constructor.-data Channel = Channel'- { _cResourceURI :: !(Maybe Text)- , _cResourceId :: !(Maybe Text)- , _cKind :: !Text- , _cExpiration :: !(Maybe (Textual Int64))- , _cToken :: !(Maybe Text)- , _cAddress :: !(Maybe Text)- , _cPayload :: !(Maybe Bool)- , _cParams :: !(Maybe ChannelParams)- , _cId :: !(Maybe Text)- , _cType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Channel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cResourceURI'------ * 'cResourceId'------ * 'cKind'------ * 'cExpiration'------ * 'cToken'------ * 'cAddress'------ * 'cPayload'------ * 'cParams'------ * 'cId'------ * 'cType'-channel- :: Channel-channel =- Channel'- { _cResourceURI = Nothing- , _cResourceId = Nothing- , _cKind = "api#channel"- , _cExpiration = Nothing- , _cToken = Nothing- , _cAddress = Nothing- , _cPayload = Nothing- , _cParams = Nothing- , _cId = Nothing- , _cType = Nothing- }---- | A version-specific identifier for the watched resource.-cResourceURI :: Lens' Channel (Maybe Text)-cResourceURI- = lens _cResourceURI (\ s a -> s{_cResourceURI = a})---- | An opaque ID that identifies the resource being watched on this channel.--- Stable across different API versions.-cResourceId :: Lens' Channel (Maybe Text)-cResourceId- = lens _cResourceId (\ s a -> s{_cResourceId = a})---- | Identifies this as a notification channel used to watch for changes to a--- resource. Value: the fixed string \"api#channel\".-cKind :: Lens' Channel Text-cKind = lens _cKind (\ s a -> s{_cKind = a})---- | Date and time of notification channel expiration, expressed as a Unix--- timestamp, in milliseconds. Optional.-cExpiration :: Lens' Channel (Maybe Int64)-cExpiration- = lens _cExpiration (\ s a -> s{_cExpiration = a}) .- mapping _Coerce---- | An arbitrary string delivered to the target address with each--- notification delivered over this channel. Optional.-cToken :: Lens' Channel (Maybe Text)-cToken = lens _cToken (\ s a -> s{_cToken = a})---- | The address where notifications are delivered for this channel.-cAddress :: Lens' Channel (Maybe Text)-cAddress = lens _cAddress (\ s a -> s{_cAddress = a})---- | A Boolean value to indicate whether payload is wanted. Optional.-cPayload :: Lens' Channel (Maybe Bool)-cPayload = lens _cPayload (\ s a -> s{_cPayload = a})---- | Additional parameters controlling delivery channel behavior. Optional.-cParams :: Lens' Channel (Maybe ChannelParams)-cParams = lens _cParams (\ s a -> s{_cParams = a})---- | A UUID or similar unique string that identifies this channel.-cId :: Lens' Channel (Maybe Text)-cId = lens _cId (\ s a -> s{_cId = a})---- | The type of delivery mechanism used for this channel.-cType :: Lens' Channel (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a})--instance FromJSON Channel where- parseJSON- = withObject "Channel"- (\ o ->- Channel' <$>- (o .:? "resourceUri") <*> (o .:? "resourceId") <*>- (o .:? "kind" .!= "api#channel")- <*> (o .:? "expiration")- <*> (o .:? "token")- <*> (o .:? "address")- <*> (o .:? "payload")- <*> (o .:? "params")- <*> (o .:? "id")- <*> (o .:? "type"))--instance ToJSON Channel where- toJSON Channel'{..}- = object- (catMaybes- [("resourceUri" .=) <$> _cResourceURI,- ("resourceId" .=) <$> _cResourceId,- Just ("kind" .= _cKind),- ("expiration" .=) <$> _cExpiration,- ("token" .=) <$> _cToken,- ("address" .=) <$> _cAddress,- ("payload" .=) <$> _cPayload,- ("params" .=) <$> _cParams, ("id" .=) <$> _cId,- ("type" .=) <$> _cType])---- | JSON response template for List Mobile Devices operation in Directory--- API.------ /See:/ 'mobileDevices' smart constructor.-data MobileDevices = MobileDevices'- { _mdEtag :: !(Maybe Text)- , _mdNextPageToken :: !(Maybe Text)- , _mdKind :: !Text- , _mdMobileDevices :: !(Maybe [MobileDevice])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MobileDevices' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdEtag'------ * 'mdNextPageToken'------ * 'mdKind'------ * 'mdMobileDevices'-mobileDevices- :: MobileDevices-mobileDevices =- MobileDevices'- { _mdEtag = Nothing- , _mdNextPageToken = Nothing- , _mdKind = "admin#directory#mobiledevices"- , _mdMobileDevices = Nothing- }---- | ETag of the resource.-mdEtag :: Lens' MobileDevices (Maybe Text)-mdEtag = lens _mdEtag (\ s a -> s{_mdEtag = a})---- | Token used to access next page of this result.-mdNextPageToken :: Lens' MobileDevices (Maybe Text)-mdNextPageToken- = lens _mdNextPageToken- (\ s a -> s{_mdNextPageToken = a})---- | Kind of resource this is.-mdKind :: Lens' MobileDevices Text-mdKind = lens _mdKind (\ s a -> s{_mdKind = a})---- | List of Mobile Device objects.-mdMobileDevices :: Lens' MobileDevices [MobileDevice]-mdMobileDevices- = lens _mdMobileDevices- (\ s a -> s{_mdMobileDevices = a})- . _Default- . _Coerce--instance FromJSON MobileDevices where- parseJSON- = withObject "MobileDevices"- (\ o ->- MobileDevices' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#mobiledevices")- <*> (o .:? "mobiledevices" .!= mempty))--instance ToJSON MobileDevices where- toJSON MobileDevices'{..}- = object- (catMaybes- [("etag" .=) <$> _mdEtag,- ("nextPageToken" .=) <$> _mdNextPageToken,- Just ("kind" .= _mdKind),- ("mobiledevices" .=) <$> _mdMobileDevices])---- | JSON template for token resource in Directory API.------ /See:/ 'token' smart constructor.-data Token = Token'- { _tokClientId :: !(Maybe Text)- , _tokEtag :: !(Maybe Text)- , _tokDisplayText :: !(Maybe Text)- , _tokKind :: !Text- , _tokScopes :: !(Maybe [Text])- , _tokNATiveApp :: !(Maybe Bool)- , _tokAnonymous :: !(Maybe Bool)- , _tokUserKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Token' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tokClientId'------ * 'tokEtag'------ * 'tokDisplayText'------ * 'tokKind'------ * 'tokScopes'------ * 'tokNATiveApp'------ * 'tokAnonymous'------ * 'tokUserKey'-token- :: Token-token =- Token'- { _tokClientId = Nothing- , _tokEtag = Nothing- , _tokDisplayText = Nothing- , _tokKind = "admin#directory#token"- , _tokScopes = Nothing- , _tokNATiveApp = Nothing- , _tokAnonymous = Nothing- , _tokUserKey = Nothing- }---- | The Client ID of the application the token is issued to.-tokClientId :: Lens' Token (Maybe Text)-tokClientId- = lens _tokClientId (\ s a -> s{_tokClientId = a})---- | ETag of the resource.-tokEtag :: Lens' Token (Maybe Text)-tokEtag = lens _tokEtag (\ s a -> s{_tokEtag = a})---- | The displayable name of the application the token is issued to.-tokDisplayText :: Lens' Token (Maybe Text)-tokDisplayText- = lens _tokDisplayText- (\ s a -> s{_tokDisplayText = a})---- | The type of the API resource. This is always admin#directory#token.-tokKind :: Lens' Token Text-tokKind = lens _tokKind (\ s a -> s{_tokKind = a})---- | A list of authorization scopes the application is granted.-tokScopes :: Lens' Token [Text]-tokScopes- = lens _tokScopes (\ s a -> s{_tokScopes = a}) .- _Default- . _Coerce---- | Whether the token is issued to an installed application. The value is--- true if the application is installed to a desktop or mobile device.-tokNATiveApp :: Lens' Token (Maybe Bool)-tokNATiveApp- = lens _tokNATiveApp (\ s a -> s{_tokNATiveApp = a})---- | Whether the application is registered with Google. The value is true if--- the application has an anonymous Client ID.-tokAnonymous :: Lens' Token (Maybe Bool)-tokAnonymous- = lens _tokAnonymous (\ s a -> s{_tokAnonymous = a})---- | The unique ID of the user that issued the token.-tokUserKey :: Lens' Token (Maybe Text)-tokUserKey- = lens _tokUserKey (\ s a -> s{_tokUserKey = a})--instance FromJSON Token where- parseJSON- = withObject "Token"- (\ o ->- Token' <$>- (o .:? "clientId") <*> (o .:? "etag") <*>- (o .:? "displayText")- <*> (o .:? "kind" .!= "admin#directory#token")- <*> (o .:? "scopes" .!= mempty)- <*> (o .:? "nativeApp")- <*> (o .:? "anonymous")- <*> (o .:? "userKey"))--instance ToJSON Token where- toJSON Token'{..}- = object- (catMaybes- [("clientId" .=) <$> _tokClientId,- ("etag" .=) <$> _tokEtag,- ("displayText" .=) <$> _tokDisplayText,- Just ("kind" .= _tokKind),- ("scopes" .=) <$> _tokScopes,- ("nativeApp" .=) <$> _tokNATiveApp,- ("anonymous" .=) <$> _tokAnonymous,- ("userKey" .=) <$> _tokUserKey])---- | JSON template for name of a user in Directory API.------ /See:/ 'userName' smart constructor.-data UserName = UserName'- { _unGivenName :: !(Maybe Text)- , _unFullName :: !(Maybe Text)- , _unFamilyName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserName' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'unGivenName'------ * 'unFullName'------ * 'unFamilyName'-userName- :: UserName-userName =- UserName'- { _unGivenName = Nothing- , _unFullName = Nothing- , _unFamilyName = Nothing- }---- | First Name-unGivenName :: Lens' UserName (Maybe Text)-unGivenName- = lens _unGivenName (\ s a -> s{_unGivenName = a})---- | Full Name-unFullName :: Lens' UserName (Maybe Text)-unFullName- = lens _unFullName (\ s a -> s{_unFullName = a})---- | Last Name-unFamilyName :: Lens' UserName (Maybe Text)-unFamilyName- = lens _unFamilyName (\ s a -> s{_unFamilyName = a})--instance FromJSON UserName where- parseJSON- = withObject "UserName"- (\ o ->- UserName' <$>- (o .:? "givenName") <*> (o .:? "fullName") <*>- (o .:? "familyName"))--instance ToJSON UserName where- toJSON UserName'{..}- = object- (catMaybes- [("givenName" .=) <$> _unGivenName,- ("fullName" .=) <$> _unFullName,- ("familyName" .=) <$> _unFamilyName])---- | JSON template for Building object in Directory API.------ /See:/ 'building' smart constructor.-data Building = Building'- { _buiEtags :: !(Maybe Text)- , _buiKind :: !Text- , _buiBuildingId :: !(Maybe Text)- , _buiCoordinates :: !(Maybe BuildingCoordinates)- , _buiBuildingName :: !(Maybe Text)- , _buiFloorNames :: !(Maybe [Text])- , _buiDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Building' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'buiEtags'------ * 'buiKind'------ * 'buiBuildingId'------ * 'buiCoordinates'------ * 'buiBuildingName'------ * 'buiFloorNames'------ * 'buiDescription'-building- :: Building-building =- Building'- { _buiEtags = Nothing- , _buiKind = "admin#directory#resources#buildings#Building"- , _buiBuildingId = Nothing- , _buiCoordinates = Nothing- , _buiBuildingName = Nothing- , _buiFloorNames = Nothing- , _buiDescription = Nothing- }---- | ETag of the resource.-buiEtags :: Lens' Building (Maybe Text)-buiEtags = lens _buiEtags (\ s a -> s{_buiEtags = a})---- | Kind of resource this is.-buiKind :: Lens' Building Text-buiKind = lens _buiKind (\ s a -> s{_buiKind = a})---- | Unique identifier for the building. The maximum length is 100--- characters.-buiBuildingId :: Lens' Building (Maybe Text)-buiBuildingId- = lens _buiBuildingId- (\ s a -> s{_buiBuildingId = a})---- | The geographic coordinates of the center of the building, expressed as--- latitude and longitude in decimal degrees.-buiCoordinates :: Lens' Building (Maybe BuildingCoordinates)-buiCoordinates- = lens _buiCoordinates- (\ s a -> s{_buiCoordinates = a})---- | The building name as seen by users in Calendar. Must be unique for the--- customer. For example, \"NYC-CHEL\". The maximum length is 100--- characters.-buiBuildingName :: Lens' Building (Maybe Text)-buiBuildingName- = lens _buiBuildingName- (\ s a -> s{_buiBuildingName = a})---- | The display names for all floors in this building. The floors are--- expected to be sorted in ascending order, from lowest floor to highest--- floor. For example, [\"B2\", \"B1\", \"L\", \"1\", \"2\", \"2M\", \"3\",--- \"PH\"] Must contain at least one entry.-buiFloorNames :: Lens' Building [Text]-buiFloorNames- = lens _buiFloorNames- (\ s a -> s{_buiFloorNames = a})- . _Default- . _Coerce---- | A brief description of the building. For example, \"Chelsea Market\".-buiDescription :: Lens' Building (Maybe Text)-buiDescription- = lens _buiDescription- (\ s a -> s{_buiDescription = a})--instance FromJSON Building where- parseJSON- = withObject "Building"- (\ o ->- Building' <$>- (o .:? "etags") <*>- (o .:? "kind" .!=- "admin#directory#resources#buildings#Building")- <*> (o .:? "buildingId")- <*> (o .:? "coordinates")- <*> (o .:? "buildingName")- <*> (o .:? "floorNames" .!= mempty)- <*> (o .:? "description"))--instance ToJSON Building where- toJSON Building'{..}- = object- (catMaybes- [("etags" .=) <$> _buiEtags,- Just ("kind" .= _buiKind),- ("buildingId" .=) <$> _buiBuildingId,- ("coordinates" .=) <$> _buiCoordinates,- ("buildingName" .=) <$> _buiBuildingName,- ("floorNames" .=) <$> _buiFloorNames,- ("description" .=) <$> _buiDescription])------- /See:/ 'chromeOSDeviceRecentUsersItem' smart constructor.-data ChromeOSDeviceRecentUsersItem = ChromeOSDeviceRecentUsersItem'- { _codruiEmail :: !(Maybe Text)- , _codruiType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceRecentUsersItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codruiEmail'------ * 'codruiType'-chromeOSDeviceRecentUsersItem- :: ChromeOSDeviceRecentUsersItem-chromeOSDeviceRecentUsersItem =- ChromeOSDeviceRecentUsersItem'- { _codruiEmail = Nothing- , _codruiType = Nothing- }---- | Email address of the user. Present only if the user type is managed-codruiEmail :: Lens' ChromeOSDeviceRecentUsersItem (Maybe Text)-codruiEmail- = lens _codruiEmail (\ s a -> s{_codruiEmail = a})---- | The type of the user-codruiType :: Lens' ChromeOSDeviceRecentUsersItem (Maybe Text)-codruiType- = lens _codruiType (\ s a -> s{_codruiType = a})--instance FromJSON ChromeOSDeviceRecentUsersItem where- parseJSON- = withObject "ChromeOSDeviceRecentUsersItem"- (\ o ->- ChromeOSDeviceRecentUsersItem' <$>- (o .:? "email") <*> (o .:? "type"))--instance ToJSON ChromeOSDeviceRecentUsersItem where- toJSON ChromeOSDeviceRecentUsersItem'{..}- = object- (catMaybes- [("email" .=) <$> _codruiEmail,- ("type" .=) <$> _codruiType])---- | JSON template for Domain Alias object in Directory API.------ /See:/ 'domainAlias' smart constructor.-data DomainAlias = DomainAlias'- { _dCreationTime :: !(Maybe (Textual Int64))- , _dEtag :: !(Maybe Text)- , _dKind :: !Text- , _dVerified :: !(Maybe Bool)- , _dDomainAliasName :: !(Maybe Text)- , _dParentDomainName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DomainAlias' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dCreationTime'------ * 'dEtag'------ * 'dKind'------ * 'dVerified'------ * 'dDomainAliasName'------ * 'dParentDomainName'-domainAlias- :: DomainAlias-domainAlias =- DomainAlias'- { _dCreationTime = Nothing- , _dEtag = Nothing- , _dKind = "admin#directory#domainAlias"- , _dVerified = Nothing- , _dDomainAliasName = Nothing- , _dParentDomainName = Nothing- }---- | The creation time of the domain alias. (Read-only).-dCreationTime :: Lens' DomainAlias (Maybe Int64)-dCreationTime- = lens _dCreationTime- (\ s a -> s{_dCreationTime = a})- . mapping _Coerce---- | ETag of the resource.-dEtag :: Lens' DomainAlias (Maybe Text)-dEtag = lens _dEtag (\ s a -> s{_dEtag = a})---- | Kind of resource this is.-dKind :: Lens' DomainAlias Text-dKind = lens _dKind (\ s a -> s{_dKind = a})---- | Indicates the verification state of a domain alias. (Read-only)-dVerified :: Lens' DomainAlias (Maybe Bool)-dVerified- = lens _dVerified (\ s a -> s{_dVerified = a})---- | The domain alias name.-dDomainAliasName :: Lens' DomainAlias (Maybe Text)-dDomainAliasName- = lens _dDomainAliasName- (\ s a -> s{_dDomainAliasName = a})---- | The parent domain name that the domain alias is associated with. This--- can either be a primary or secondary domain name within a customer.-dParentDomainName :: Lens' DomainAlias (Maybe Text)-dParentDomainName- = lens _dParentDomainName- (\ s a -> s{_dParentDomainName = a})--instance FromJSON DomainAlias where- parseJSON- = withObject "DomainAlias"- (\ o ->- DomainAlias' <$>- (o .:? "creationTime") <*> (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#domainAlias")- <*> (o .:? "verified")- <*> (o .:? "domainAliasName")- <*> (o .:? "parentDomainName"))--instance ToJSON DomainAlias where- toJSON DomainAlias'{..}- = object- (catMaybes- [("creationTime" .=) <$> _dCreationTime,- ("etag" .=) <$> _dEtag, Just ("kind" .= _dKind),- ("verified" .=) <$> _dVerified,- ("domainAliasName" .=) <$> _dDomainAliasName,- ("parentDomainName" .=) <$> _dParentDomainName])------- /See:/ 'userGender' smart constructor.-data UserGender = UserGender'- { _ugAddressMeAs :: !(Maybe Text)- , _ugCustomGender :: !(Maybe Text)- , _ugType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserGender' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ugAddressMeAs'------ * 'ugCustomGender'------ * 'ugType'-userGender- :: UserGender-userGender =- UserGender'- { _ugAddressMeAs = Nothing- , _ugCustomGender = Nothing- , _ugType = Nothing- }---- | AddressMeAs. A human-readable string containing the proper way to refer--- to the profile owner by humans, for example \"he\/him\/his\" or--- \"they\/them\/their\".-ugAddressMeAs :: Lens' UserGender (Maybe Text)-ugAddressMeAs- = lens _ugAddressMeAs- (\ s a -> s{_ugAddressMeAs = a})---- | Custom gender.-ugCustomGender :: Lens' UserGender (Maybe Text)-ugCustomGender- = lens _ugCustomGender- (\ s a -> s{_ugCustomGender = a})---- | Gender.-ugType :: Lens' UserGender (Maybe Text)-ugType = lens _ugType (\ s a -> s{_ugType = a})--instance FromJSON UserGender where- parseJSON- = withObject "UserGender"- (\ o ->- UserGender' <$>- (o .:? "addressMeAs") <*> (o .:? "customGender") <*>- (o .:? "type"))--instance ToJSON UserGender where- toJSON UserGender'{..}- = object- (catMaybes- [("addressMeAs" .=) <$> _ugAddressMeAs,- ("customGender" .=) <$> _ugCustomGender,- ("type" .=) <$> _ugType])---- | JSON template for Alias object in Directory API.------ /See:/ 'alias' smart constructor.-data Alias = Alias'- { _aaEtag :: !(Maybe Text)- , _aaKind :: !Text- , _aaAlias :: !(Maybe Text)- , _aaId :: !(Maybe Text)- , _aaPrimaryEmail :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Alias' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaEtag'------ * 'aaKind'------ * 'aaAlias'------ * 'aaId'------ * 'aaPrimaryEmail'-alias- :: Alias-alias =- Alias'- { _aaEtag = Nothing- , _aaKind = "admin#directory#alias"- , _aaAlias = Nothing- , _aaId = Nothing- , _aaPrimaryEmail = Nothing- }---- | ETag of the resource.-aaEtag :: Lens' Alias (Maybe Text)-aaEtag = lens _aaEtag (\ s a -> s{_aaEtag = a})---- | Kind of resource this is.-aaKind :: Lens' Alias Text-aaKind = lens _aaKind (\ s a -> s{_aaKind = a})---- | A alias email-aaAlias :: Lens' Alias (Maybe Text)-aaAlias = lens _aaAlias (\ s a -> s{_aaAlias = a})---- | Unique id of the group (Read-only) Unique id of the user (Read-only)-aaId :: Lens' Alias (Maybe Text)-aaId = lens _aaId (\ s a -> s{_aaId = a})---- | Group\'s primary email (Read-only) User\'s primary email (Read-only)-aaPrimaryEmail :: Lens' Alias (Maybe Text)-aaPrimaryEmail- = lens _aaPrimaryEmail- (\ s a -> s{_aaPrimaryEmail = a})--instance FromJSON Alias where- parseJSON- = withObject "Alias"- (\ o ->- Alias' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#alias")- <*> (o .:? "alias")- <*> (o .:? "id")- <*> (o .:? "primaryEmail"))--instance ToJSON Alias where- toJSON Alias'{..}- = object- (catMaybes- [("etag" .=) <$> _aaEtag, Just ("kind" .= _aaKind),- ("alias" .=) <$> _aaAlias, ("id" .=) <$> _aaId,- ("primaryEmail" .=) <$> _aaPrimaryEmail])---- | JSON template for Schema resource in Directory API.------ /See:/ 'schema' smart constructor.-data Schema = Schema'- { _schEtag :: !(Maybe Text)- , _schKind :: !Text- , _schSchemaName :: !(Maybe Text)- , _schSchemaId :: !(Maybe Text)- , _schDisplayName :: !(Maybe Text)- , _schFields :: !(Maybe [SchemaFieldSpec])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Schema' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'schEtag'------ * 'schKind'------ * 'schSchemaName'------ * 'schSchemaId'------ * 'schDisplayName'------ * 'schFields'-schema- :: Schema-schema =- Schema'- { _schEtag = Nothing- , _schKind = "admin#directory#schema"- , _schSchemaName = Nothing- , _schSchemaId = Nothing- , _schDisplayName = Nothing- , _schFields = Nothing- }---- | ETag of the resource.-schEtag :: Lens' Schema (Maybe Text)-schEtag = lens _schEtag (\ s a -> s{_schEtag = a})---- | Kind of resource this is.-schKind :: Lens' Schema Text-schKind = lens _schKind (\ s a -> s{_schKind = a})---- | Schema name-schSchemaName :: Lens' Schema (Maybe Text)-schSchemaName- = lens _schSchemaName- (\ s a -> s{_schSchemaName = a})---- | Unique identifier of Schema (Read-only)-schSchemaId :: Lens' Schema (Maybe Text)-schSchemaId- = lens _schSchemaId (\ s a -> s{_schSchemaId = a})---- | Display name for the schema.-schDisplayName :: Lens' Schema (Maybe Text)-schDisplayName- = lens _schDisplayName- (\ s a -> s{_schDisplayName = a})---- | Fields of Schema-schFields :: Lens' Schema [SchemaFieldSpec]-schFields- = lens _schFields (\ s a -> s{_schFields = a}) .- _Default- . _Coerce--instance FromJSON Schema where- parseJSON- = withObject "Schema"- (\ o ->- Schema' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#schema")- <*> (o .:? "schemaName")- <*> (o .:? "schemaId")- <*> (o .:? "displayName")- <*> (o .:? "fields" .!= mempty))--instance ToJSON Schema where- toJSON Schema'{..}- = object- (catMaybes- [("etag" .=) <$> _schEtag, Just ("kind" .= _schKind),- ("schemaName" .=) <$> _schSchemaName,- ("schemaId" .=) <$> _schSchemaId,- ("displayName" .=) <$> _schDisplayName,- ("fields" .=) <$> _schFields])---- | JSON request template for moving ChromeOs Device to given OU in--- Directory Devices API.------ /See:/ 'chromeOSMoveDevicesToOu' smart constructor.-newtype ChromeOSMoveDevicesToOu = ChromeOSMoveDevicesToOu'- { _comdtoDeviceIds :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSMoveDevicesToOu' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comdtoDeviceIds'-chromeOSMoveDevicesToOu- :: ChromeOSMoveDevicesToOu-chromeOSMoveDevicesToOu =- ChromeOSMoveDevicesToOu'- { _comdtoDeviceIds = Nothing- }---- | ChromeOs Devices to be moved to OU-comdtoDeviceIds :: Lens' ChromeOSMoveDevicesToOu [Text]-comdtoDeviceIds- = lens _comdtoDeviceIds- (\ s a -> s{_comdtoDeviceIds = a})- . _Default- . _Coerce--instance FromJSON ChromeOSMoveDevicesToOu where- parseJSON- = withObject "ChromeOSMoveDevicesToOu"- (\ o ->- ChromeOSMoveDevicesToOu' <$>- (o .:? "deviceIds" .!= mempty))--instance ToJSON ChromeOSMoveDevicesToOu where- toJSON ChromeOSMoveDevicesToOu'{..}- = object- (catMaybes [("deviceIds" .=) <$> _comdtoDeviceIds])---- | JSON template for User object in Directory API.------ /See:/ 'user' smart constructor.-data User = User'- { _useCreationTime :: !(Maybe DateTime')- , _useLastLoginTime :: !(Maybe DateTime')- , _useThumbnailPhotoEtag :: !(Maybe Text)- , _useEtag :: !(Maybe Text)- , _usePosixAccounts :: !(Maybe JSONValue)- , _useIPWhiteListed :: !(Maybe Bool)- , _useRelations :: !(Maybe JSONValue)- , _useSSHPublicKeys :: !(Maybe JSONValue)- , _useHashFunction :: !(Maybe Text)- , _useKind :: !Text- , _useChangePasswordAtNextLogin :: !(Maybe Bool)- , _useWebsites :: !(Maybe JSONValue)- , _useAddresses :: !(Maybe JSONValue)- , _useAliases :: !(Maybe [Text])- , _useThumbnailPhotoURL :: !(Maybe Text)- , _useExternalIds :: !(Maybe JSONValue)- , _useSuspended :: !(Maybe Bool)- , _useAgreedToTerms :: !(Maybe Bool)- , _useDeletionTime :: !(Maybe DateTime')- , _useNonEditableAliases :: !(Maybe [Text])- , _useOrgUnitPath :: !(Maybe Text)- , _useCustomerId :: !(Maybe Text)- , _useLanguages :: !(Maybe JSONValue)- , _useIncludeInGlobalAddressList :: !(Maybe Bool)- , _useGender :: !(Maybe JSONValue)- , _usePhones :: !(Maybe JSONValue)- , _useName :: !(Maybe UserName)- , _usePassword :: !(Maybe Text)- , _useEmails :: !(Maybe JSONValue)- , _useIms :: !(Maybe JSONValue)- , _useKeywords :: !(Maybe JSONValue)- , _useIsAdmin :: !(Maybe Bool)- , _useIsEnrolledIn2Sv :: !(Maybe Bool)- , _useId :: !(Maybe Text)- , _useOrganizations :: !(Maybe JSONValue)- , _usePrimaryEmail :: !(Maybe Text)- , _useIsEnforcedIn2Sv :: !(Maybe Bool)- , _useNotes :: !(Maybe JSONValue)- , _useIsDelegatedAdmin :: !(Maybe Bool)- , _useLocations :: !(Maybe JSONValue)- , _useArchived :: !(Maybe Bool)- , _useIsMailboxSetup :: !(Maybe Bool)- , _useCustomSchemas :: !(Maybe UserCustomSchemas)- , _useSuspensionReason :: !(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:------ * 'useCreationTime'------ * 'useLastLoginTime'------ * 'useThumbnailPhotoEtag'------ * 'useEtag'------ * 'usePosixAccounts'------ * 'useIPWhiteListed'------ * 'useRelations'------ * 'useSSHPublicKeys'------ * 'useHashFunction'------ * 'useKind'------ * 'useChangePasswordAtNextLogin'------ * 'useWebsites'------ * 'useAddresses'------ * 'useAliases'------ * 'useThumbnailPhotoURL'------ * 'useExternalIds'------ * 'useSuspended'------ * 'useAgreedToTerms'------ * 'useDeletionTime'------ * 'useNonEditableAliases'------ * 'useOrgUnitPath'------ * 'useCustomerId'------ * 'useLanguages'------ * 'useIncludeInGlobalAddressList'------ * 'useGender'------ * 'usePhones'------ * 'useName'------ * 'usePassword'------ * 'useEmails'------ * 'useIms'------ * 'useKeywords'------ * 'useIsAdmin'------ * 'useIsEnrolledIn2Sv'------ * 'useId'------ * 'useOrganizations'------ * 'usePrimaryEmail'------ * 'useIsEnforcedIn2Sv'------ * 'useNotes'------ * 'useIsDelegatedAdmin'------ * 'useLocations'------ * 'useArchived'------ * 'useIsMailboxSetup'------ * 'useCustomSchemas'------ * 'useSuspensionReason'-user- :: User-user =- User'- { _useCreationTime = Nothing- , _useLastLoginTime = Nothing- , _useThumbnailPhotoEtag = Nothing- , _useEtag = Nothing- , _usePosixAccounts = Nothing- , _useIPWhiteListed = Nothing- , _useRelations = Nothing- , _useSSHPublicKeys = Nothing- , _useHashFunction = Nothing- , _useKind = "admin#directory#user"- , _useChangePasswordAtNextLogin = Nothing- , _useWebsites = Nothing- , _useAddresses = Nothing- , _useAliases = Nothing- , _useThumbnailPhotoURL = Nothing- , _useExternalIds = Nothing- , _useSuspended = Nothing- , _useAgreedToTerms = Nothing- , _useDeletionTime = Nothing- , _useNonEditableAliases = Nothing- , _useOrgUnitPath = Nothing- , _useCustomerId = Nothing- , _useLanguages = Nothing- , _useIncludeInGlobalAddressList = Nothing- , _useGender = Nothing- , _usePhones = Nothing- , _useName = Nothing- , _usePassword = Nothing- , _useEmails = Nothing- , _useIms = Nothing- , _useKeywords = Nothing- , _useIsAdmin = Nothing- , _useIsEnrolledIn2Sv = Nothing- , _useId = Nothing- , _useOrganizations = Nothing- , _usePrimaryEmail = Nothing- , _useIsEnforcedIn2Sv = Nothing- , _useNotes = Nothing- , _useIsDelegatedAdmin = Nothing- , _useLocations = Nothing- , _useArchived = Nothing- , _useIsMailboxSetup = Nothing- , _useCustomSchemas = Nothing- , _useSuspensionReason = Nothing- }---- | User\'s G Suite account creation time. (Read-only)-useCreationTime :: Lens' User (Maybe UTCTime)-useCreationTime- = lens _useCreationTime- (\ s a -> s{_useCreationTime = a})- . mapping _DateTime---- | User\'s last login time. (Read-only)-useLastLoginTime :: Lens' User (Maybe UTCTime)-useLastLoginTime- = lens _useLastLoginTime- (\ s a -> s{_useLastLoginTime = a})- . mapping _DateTime---- | ETag of the user\'s photo (Read-only)-useThumbnailPhotoEtag :: Lens' User (Maybe Text)-useThumbnailPhotoEtag- = lens _useThumbnailPhotoEtag- (\ s a -> s{_useThumbnailPhotoEtag = a})---- | ETag of the resource.-useEtag :: Lens' User (Maybe Text)-useEtag = lens _useEtag (\ s a -> s{_useEtag = a})--usePosixAccounts :: Lens' User (Maybe JSONValue)-usePosixAccounts- = lens _usePosixAccounts- (\ s a -> s{_usePosixAccounts = a})---- | Boolean indicating if ip is whitelisted-useIPWhiteListed :: Lens' User (Maybe Bool)-useIPWhiteListed- = lens _useIPWhiteListed- (\ s a -> s{_useIPWhiteListed = a})--useRelations :: Lens' User (Maybe JSONValue)-useRelations- = lens _useRelations (\ s a -> s{_useRelations = a})--useSSHPublicKeys :: Lens' User (Maybe JSONValue)-useSSHPublicKeys- = lens _useSSHPublicKeys- (\ s a -> s{_useSSHPublicKeys = a})---- | Hash function name for password. Supported are MD5, SHA-1 and crypt-useHashFunction :: Lens' User (Maybe Text)-useHashFunction- = lens _useHashFunction- (\ s a -> s{_useHashFunction = a})---- | Kind of resource this is.-useKind :: Lens' User Text-useKind = lens _useKind (\ s a -> s{_useKind = a})---- | Boolean indicating if the user should change password in next login-useChangePasswordAtNextLogin :: Lens' User (Maybe Bool)-useChangePasswordAtNextLogin- = lens _useChangePasswordAtNextLogin- (\ s a -> s{_useChangePasswordAtNextLogin = a})--useWebsites :: Lens' User (Maybe JSONValue)-useWebsites- = lens _useWebsites (\ s a -> s{_useWebsites = a})--useAddresses :: Lens' User (Maybe JSONValue)-useAddresses- = lens _useAddresses (\ s a -> s{_useAddresses = a})---- | List of aliases (Read-only)-useAliases :: Lens' User [Text]-useAliases- = lens _useAliases (\ s a -> s{_useAliases = a}) .- _Default- . _Coerce---- | Photo Url of the user (Read-only)-useThumbnailPhotoURL :: Lens' User (Maybe Text)-useThumbnailPhotoURL- = lens _useThumbnailPhotoURL- (\ s a -> s{_useThumbnailPhotoURL = a})--useExternalIds :: Lens' User (Maybe JSONValue)-useExternalIds- = lens _useExternalIds- (\ s a -> s{_useExternalIds = a})---- | Indicates if user is suspended.-useSuspended :: Lens' User (Maybe Bool)-useSuspended- = lens _useSuspended (\ s a -> s{_useSuspended = a})---- | Indicates if user has agreed to terms (Read-only)-useAgreedToTerms :: Lens' User (Maybe Bool)-useAgreedToTerms- = lens _useAgreedToTerms- (\ s a -> s{_useAgreedToTerms = a})--useDeletionTime :: Lens' User (Maybe UTCTime)-useDeletionTime- = lens _useDeletionTime- (\ s a -> s{_useDeletionTime = a})- . mapping _DateTime---- | List of non editable aliases (Read-only)-useNonEditableAliases :: Lens' User [Text]-useNonEditableAliases- = lens _useNonEditableAliases- (\ s a -> s{_useNonEditableAliases = a})- . _Default- . _Coerce---- | OrgUnit of User-useOrgUnitPath :: Lens' User (Maybe Text)-useOrgUnitPath- = lens _useOrgUnitPath- (\ s a -> s{_useOrgUnitPath = a})---- | CustomerId of User (Read-only)-useCustomerId :: Lens' User (Maybe Text)-useCustomerId- = lens _useCustomerId- (\ s a -> s{_useCustomerId = a})--useLanguages :: Lens' User (Maybe JSONValue)-useLanguages- = lens _useLanguages (\ s a -> s{_useLanguages = a})---- | Boolean indicating if user is included in Global Address List-useIncludeInGlobalAddressList :: Lens' User (Maybe Bool)-useIncludeInGlobalAddressList- = lens _useIncludeInGlobalAddressList- (\ s a -> s{_useIncludeInGlobalAddressList = a})--useGender :: Lens' User (Maybe JSONValue)-useGender- = lens _useGender (\ s a -> s{_useGender = a})--usePhones :: Lens' User (Maybe JSONValue)-usePhones- = lens _usePhones (\ s a -> s{_usePhones = a})---- | User\'s name-useName :: Lens' User (Maybe UserName)-useName = lens _useName (\ s a -> s{_useName = a})---- | User\'s password-usePassword :: Lens' User (Maybe Text)-usePassword- = lens _usePassword (\ s a -> s{_usePassword = a})--useEmails :: Lens' User (Maybe JSONValue)-useEmails- = lens _useEmails (\ s a -> s{_useEmails = a})--useIms :: Lens' User (Maybe JSONValue)-useIms = lens _useIms (\ s a -> s{_useIms = a})--useKeywords :: Lens' User (Maybe JSONValue)-useKeywords- = lens _useKeywords (\ s a -> s{_useKeywords = a})---- | Boolean indicating if the user is admin (Read-only)-useIsAdmin :: Lens' User (Maybe Bool)-useIsAdmin- = lens _useIsAdmin (\ s a -> s{_useIsAdmin = a})---- | Is enrolled in 2-step verification (Read-only)-useIsEnrolledIn2Sv :: Lens' User (Maybe Bool)-useIsEnrolledIn2Sv- = lens _useIsEnrolledIn2Sv- (\ s a -> s{_useIsEnrolledIn2Sv = a})---- | Unique identifier of User (Read-only)-useId :: Lens' User (Maybe Text)-useId = lens _useId (\ s a -> s{_useId = a})--useOrganizations :: Lens' User (Maybe JSONValue)-useOrganizations- = lens _useOrganizations- (\ s a -> s{_useOrganizations = a})---- | username of User-usePrimaryEmail :: Lens' User (Maybe Text)-usePrimaryEmail- = lens _usePrimaryEmail- (\ s a -> s{_usePrimaryEmail = a})---- | Is 2-step verification enforced (Read-only)-useIsEnforcedIn2Sv :: Lens' User (Maybe Bool)-useIsEnforcedIn2Sv- = lens _useIsEnforcedIn2Sv- (\ s a -> s{_useIsEnforcedIn2Sv = a})--useNotes :: Lens' User (Maybe JSONValue)-useNotes = lens _useNotes (\ s a -> s{_useNotes = a})---- | Boolean indicating if the user is delegated admin (Read-only)-useIsDelegatedAdmin :: Lens' User (Maybe Bool)-useIsDelegatedAdmin- = lens _useIsDelegatedAdmin- (\ s a -> s{_useIsDelegatedAdmin = a})--useLocations :: Lens' User (Maybe JSONValue)-useLocations- = lens _useLocations (\ s a -> s{_useLocations = a})---- | Indicates if user is archived.-useArchived :: Lens' User (Maybe Bool)-useArchived- = lens _useArchived (\ s a -> s{_useArchived = a})---- | Is mailbox setup (Read-only)-useIsMailboxSetup :: Lens' User (Maybe Bool)-useIsMailboxSetup- = lens _useIsMailboxSetup- (\ s a -> s{_useIsMailboxSetup = a})---- | Custom fields of the user.-useCustomSchemas :: Lens' User (Maybe UserCustomSchemas)-useCustomSchemas- = lens _useCustomSchemas- (\ s a -> s{_useCustomSchemas = a})---- | Suspension reason if user is suspended (Read-only)-useSuspensionReason :: Lens' User (Maybe Text)-useSuspensionReason- = lens _useSuspensionReason- (\ s a -> s{_useSuspensionReason = a})--instance FromJSON User where- parseJSON- = withObject "User"- (\ o ->- User' <$>- (o .:? "creationTime") <*> (o .:? "lastLoginTime")- <*> (o .:? "thumbnailPhotoEtag")- <*> (o .:? "etag")- <*> (o .:? "posixAccounts")- <*> (o .:? "ipWhitelisted")- <*> (o .:? "relations")- <*> (o .:? "sshPublicKeys")- <*> (o .:? "hashFunction")- <*> (o .:? "kind" .!= "admin#directory#user")- <*> (o .:? "changePasswordAtNextLogin")- <*> (o .:? "websites")- <*> (o .:? "addresses")- <*> (o .:? "aliases" .!= mempty)- <*> (o .:? "thumbnailPhotoUrl")- <*> (o .:? "externalIds")- <*> (o .:? "suspended")- <*> (o .:? "agreedToTerms")- <*> (o .:? "deletionTime")- <*> (o .:? "nonEditableAliases" .!= mempty)- <*> (o .:? "orgUnitPath")- <*> (o .:? "customerId")- <*> (o .:? "languages")- <*> (o .:? "includeInGlobalAddressList")- <*> (o .:? "gender")- <*> (o .:? "phones")- <*> (o .:? "name")- <*> (o .:? "password")- <*> (o .:? "emails")- <*> (o .:? "ims")- <*> (o .:? "keywords")- <*> (o .:? "isAdmin")- <*> (o .:? "isEnrolledIn2Sv")- <*> (o .:? "id")- <*> (o .:? "organizations")- <*> (o .:? "primaryEmail")- <*> (o .:? "isEnforcedIn2Sv")- <*> (o .:? "notes")- <*> (o .:? "isDelegatedAdmin")- <*> (o .:? "locations")- <*> (o .:? "archived")- <*> (o .:? "isMailboxSetup")- <*> (o .:? "customSchemas")- <*> (o .:? "suspensionReason"))--instance ToJSON User where- toJSON User'{..}- = object- (catMaybes- [("creationTime" .=) <$> _useCreationTime,- ("lastLoginTime" .=) <$> _useLastLoginTime,- ("thumbnailPhotoEtag" .=) <$> _useThumbnailPhotoEtag,- ("etag" .=) <$> _useEtag,- ("posixAccounts" .=) <$> _usePosixAccounts,- ("ipWhitelisted" .=) <$> _useIPWhiteListed,- ("relations" .=) <$> _useRelations,- ("sshPublicKeys" .=) <$> _useSSHPublicKeys,- ("hashFunction" .=) <$> _useHashFunction,- Just ("kind" .= _useKind),- ("changePasswordAtNextLogin" .=) <$>- _useChangePasswordAtNextLogin,- ("websites" .=) <$> _useWebsites,- ("addresses" .=) <$> _useAddresses,- ("aliases" .=) <$> _useAliases,- ("thumbnailPhotoUrl" .=) <$> _useThumbnailPhotoURL,- ("externalIds" .=) <$> _useExternalIds,- ("suspended" .=) <$> _useSuspended,- ("agreedToTerms" .=) <$> _useAgreedToTerms,- ("deletionTime" .=) <$> _useDeletionTime,- ("nonEditableAliases" .=) <$> _useNonEditableAliases,- ("orgUnitPath" .=) <$> _useOrgUnitPath,- ("customerId" .=) <$> _useCustomerId,- ("languages" .=) <$> _useLanguages,- ("includeInGlobalAddressList" .=) <$>- _useIncludeInGlobalAddressList,- ("gender" .=) <$> _useGender,- ("phones" .=) <$> _usePhones,- ("name" .=) <$> _useName,- ("password" .=) <$> _usePassword,- ("emails" .=) <$> _useEmails, ("ims" .=) <$> _useIms,- ("keywords" .=) <$> _useKeywords,- ("isAdmin" .=) <$> _useIsAdmin,- ("isEnrolledIn2Sv" .=) <$> _useIsEnrolledIn2Sv,- ("id" .=) <$> _useId,- ("organizations" .=) <$> _useOrganizations,- ("primaryEmail" .=) <$> _usePrimaryEmail,- ("isEnforcedIn2Sv" .=) <$> _useIsEnforcedIn2Sv,- ("notes" .=) <$> _useNotes,- ("isDelegatedAdmin" .=) <$> _useIsDelegatedAdmin,- ("locations" .=) <$> _useLocations,- ("archived" .=) <$> _useArchived,- ("isMailboxSetup" .=) <$> _useIsMailboxSetup,- ("customSchemas" .=) <$> _useCustomSchemas,- ("suspensionReason" .=) <$> _useSuspensionReason])---- | JSON request template for firing actions on ChromeOs Device in Directory--- Devices API.------ /See:/ 'chromeOSDeviceAction' smart constructor.-data ChromeOSDeviceAction = ChromeOSDeviceAction'- { _codaAction :: !(Maybe Text)- , _codaDeprovisionReason :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codaAction'------ * 'codaDeprovisionReason'-chromeOSDeviceAction- :: ChromeOSDeviceAction-chromeOSDeviceAction =- ChromeOSDeviceAction'- { _codaAction = Nothing- , _codaDeprovisionReason = Nothing- }---- | Action to be taken on the ChromeOs Device-codaAction :: Lens' ChromeOSDeviceAction (Maybe Text)-codaAction- = lens _codaAction (\ s a -> s{_codaAction = a})--codaDeprovisionReason :: Lens' ChromeOSDeviceAction (Maybe Text)-codaDeprovisionReason- = lens _codaDeprovisionReason- (\ s a -> s{_codaDeprovisionReason = a})--instance FromJSON ChromeOSDeviceAction where- parseJSON- = withObject "ChromeOSDeviceAction"- (\ o ->- ChromeOSDeviceAction' <$>- (o .:? "action") <*> (o .:? "deprovisionReason"))--instance ToJSON ChromeOSDeviceAction where- toJSON ChromeOSDeviceAction'{..}- = object- (catMaybes- [("action" .=) <$> _codaAction,- ("deprovisionReason" .=) <$> _codaDeprovisionReason])---- | JSON request template for renaming a feature.------ /See:/ 'featureRename' smart constructor.-newtype FeatureRename = FeatureRename'- { _frNewName :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FeatureRename' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frNewName'-featureRename- :: FeatureRename-featureRename =- FeatureRename'- { _frNewName = Nothing- }---- | New name of the feature.-frNewName :: Lens' FeatureRename (Maybe Text)-frNewName- = lens _frNewName (\ s a -> s{_frNewName = a})--instance FromJSON FeatureRename where- parseJSON- = withObject "FeatureRename"- (\ o -> FeatureRename' <$> (o .:? "newName"))--instance ToJSON FeatureRename where- toJSON FeatureRename'{..}- = object (catMaybes [("newName" .=) <$> _frNewName])---- | JSON template for role resource in Directory API.------ /See:/ 'role'' smart constructor.-data Role = Role'- { _rrEtag :: !(Maybe Text)- , _rrKind :: !Text- , _rrRoleName :: !(Maybe Text)- , _rrIsSystemRole :: !(Maybe Bool)- , _rrRoleId :: !(Maybe (Textual Int64))- , _rrRoleDescription :: !(Maybe Text)- , _rrIsSuperAdminRole :: !(Maybe Bool)- , _rrRolePrivileges :: !(Maybe [RoleRolePrivilegesItem])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Role' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrEtag'------ * 'rrKind'------ * 'rrRoleName'------ * 'rrIsSystemRole'------ * 'rrRoleId'------ * 'rrRoleDescription'------ * 'rrIsSuperAdminRole'------ * 'rrRolePrivileges'-role'- :: Role-role' =- Role'- { _rrEtag = Nothing- , _rrKind = "admin#directory#role"- , _rrRoleName = Nothing- , _rrIsSystemRole = Nothing- , _rrRoleId = Nothing- , _rrRoleDescription = Nothing- , _rrIsSuperAdminRole = Nothing- , _rrRolePrivileges = Nothing- }---- | ETag of the resource.-rrEtag :: Lens' Role (Maybe Text)-rrEtag = lens _rrEtag (\ s a -> s{_rrEtag = a})---- | The type of the API resource. This is always admin#directory#role.-rrKind :: Lens' Role Text-rrKind = lens _rrKind (\ s a -> s{_rrKind = a})---- | Name of the role.-rrRoleName :: Lens' Role (Maybe Text)-rrRoleName- = lens _rrRoleName (\ s a -> s{_rrRoleName = a})---- | Returns true if this is a pre-defined system role.-rrIsSystemRole :: Lens' Role (Maybe Bool)-rrIsSystemRole- = lens _rrIsSystemRole- (\ s a -> s{_rrIsSystemRole = a})---- | ID of the role.-rrRoleId :: Lens' Role (Maybe Int64)-rrRoleId- = lens _rrRoleId (\ s a -> s{_rrRoleId = a}) .- mapping _Coerce---- | A short description of the role.-rrRoleDescription :: Lens' Role (Maybe Text)-rrRoleDescription- = lens _rrRoleDescription- (\ s a -> s{_rrRoleDescription = a})---- | Returns true if the role is a super admin role.-rrIsSuperAdminRole :: Lens' Role (Maybe Bool)-rrIsSuperAdminRole- = lens _rrIsSuperAdminRole- (\ s a -> s{_rrIsSuperAdminRole = a})---- | The set of privileges that are granted to this role.-rrRolePrivileges :: Lens' Role [RoleRolePrivilegesItem]-rrRolePrivileges- = lens _rrRolePrivileges- (\ s a -> s{_rrRolePrivileges = a})- . _Default- . _Coerce--instance FromJSON Role where- parseJSON- = withObject "Role"- (\ o ->- Role' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#role")- <*> (o .:? "roleName")- <*> (o .:? "isSystemRole")- <*> (o .:? "roleId")- <*> (o .:? "roleDescription")- <*> (o .:? "isSuperAdminRole")- <*> (o .:? "rolePrivileges" .!= mempty))--instance ToJSON Role where- toJSON Role'{..}- = object- (catMaybes- [("etag" .=) <$> _rrEtag, Just ("kind" .= _rrKind),- ("roleName" .=) <$> _rrRoleName,- ("isSystemRole" .=) <$> _rrIsSystemRole,- ("roleId" .=) <$> _rrRoleId,- ("roleDescription" .=) <$> _rrRoleDescription,- ("isSuperAdminRole" .=) <$> _rrIsSuperAdminRole,- ("rolePrivileges" .=) <$> _rrRolePrivileges])---- | JSON template for Customer Resource object in Directory API.------ /See:/ 'customer' smart constructor.-data Customer = Customer'- { _cusEtag :: !(Maybe Text)- , _cusKind :: !Text- , _cusAlternateEmail :: !(Maybe Text)- , _cusCustomerDomain :: !(Maybe Text)- , _cusPhoneNumber :: !(Maybe Text)- , _cusLanguage :: !(Maybe Text)- , _cusId :: !(Maybe Text)- , _cusCustomerCreationTime :: !(Maybe DateTime')- , _cusPostalAddress :: !(Maybe CustomerPostalAddress)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Customer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cusEtag'------ * 'cusKind'------ * 'cusAlternateEmail'------ * 'cusCustomerDomain'------ * 'cusPhoneNumber'------ * 'cusLanguage'------ * 'cusId'------ * 'cusCustomerCreationTime'------ * 'cusPostalAddress'-customer- :: Customer-customer =- Customer'- { _cusEtag = Nothing- , _cusKind = "admin#directory#customer"- , _cusAlternateEmail = Nothing- , _cusCustomerDomain = Nothing- , _cusPhoneNumber = Nothing- , _cusLanguage = Nothing- , _cusId = Nothing- , _cusCustomerCreationTime = Nothing- , _cusPostalAddress = Nothing- }---- | ETag of the resource.-cusEtag :: Lens' Customer (Maybe Text)-cusEtag = lens _cusEtag (\ s a -> s{_cusEtag = a})---- | Identifies the resource as a customer. Value: admin#directory#customer-cusKind :: Lens' Customer Text-cusKind = lens _cusKind (\ s a -> s{_cusKind = a})---- | The customer\'s secondary contact email address. This email address--- cannot be on the same domain as the customerDomain-cusAlternateEmail :: Lens' Customer (Maybe Text)-cusAlternateEmail- = lens _cusAlternateEmail- (\ s a -> s{_cusAlternateEmail = a})---- | The customer\'s primary domain name string. Do not include the www--- prefix when creating a new customer.-cusCustomerDomain :: Lens' Customer (Maybe Text)-cusCustomerDomain- = lens _cusCustomerDomain- (\ s a -> s{_cusCustomerDomain = a})---- | The customer\'s contact phone number in E.164 format.-cusPhoneNumber :: Lens' Customer (Maybe Text)-cusPhoneNumber- = lens _cusPhoneNumber- (\ s a -> s{_cusPhoneNumber = a})---- | The customer\'s ISO 639-2 language code. The default value is en-US-cusLanguage :: Lens' Customer (Maybe Text)-cusLanguage- = lens _cusLanguage (\ s a -> s{_cusLanguage = a})---- | The unique ID for the customer\'s G Suite account. (Readonly)-cusId :: Lens' Customer (Maybe Text)-cusId = lens _cusId (\ s a -> s{_cusId = a})---- | The customer\'s creation time (Readonly)-cusCustomerCreationTime :: Lens' Customer (Maybe UTCTime)-cusCustomerCreationTime- = lens _cusCustomerCreationTime- (\ s a -> s{_cusCustomerCreationTime = a})- . mapping _DateTime---- | The customer\'s postal address information.-cusPostalAddress :: Lens' Customer (Maybe CustomerPostalAddress)-cusPostalAddress- = lens _cusPostalAddress- (\ s a -> s{_cusPostalAddress = a})--instance FromJSON Customer where- parseJSON- = withObject "Customer"- (\ o ->- Customer' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#customer")- <*> (o .:? "alternateEmail")- <*> (o .:? "customerDomain")- <*> (o .:? "phoneNumber")- <*> (o .:? "language")- <*> (o .:? "id")- <*> (o .:? "customerCreationTime")- <*> (o .:? "postalAddress"))--instance ToJSON Customer where- toJSON Customer'{..}- = object- (catMaybes- [("etag" .=) <$> _cusEtag, Just ("kind" .= _cusKind),- ("alternateEmail" .=) <$> _cusAlternateEmail,- ("customerDomain" .=) <$> _cusCustomerDomain,- ("phoneNumber" .=) <$> _cusPhoneNumber,- ("language" .=) <$> _cusLanguage,- ("id" .=) <$> _cusId,- ("customerCreationTime" .=) <$>- _cusCustomerCreationTime,- ("postalAddress" .=) <$> _cusPostalAddress])------- /See:/ 'mobileDeviceApplicationsItem' smart constructor.-data MobileDeviceApplicationsItem = MobileDeviceApplicationsItem'- { _mdaiVersionCode :: !(Maybe (Textual Int32))- , _mdaiVersionName :: !(Maybe Text)- , _mdaiPackageName :: !(Maybe Text)- , _mdaiDisplayName :: !(Maybe Text)- , _mdaiPermission :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MobileDeviceApplicationsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdaiVersionCode'------ * 'mdaiVersionName'------ * 'mdaiPackageName'------ * 'mdaiDisplayName'------ * 'mdaiPermission'-mobileDeviceApplicationsItem- :: MobileDeviceApplicationsItem-mobileDeviceApplicationsItem =- MobileDeviceApplicationsItem'- { _mdaiVersionCode = Nothing- , _mdaiVersionName = Nothing- , _mdaiPackageName = Nothing- , _mdaiDisplayName = Nothing- , _mdaiPermission = Nothing- }---- | Version code of application-mdaiVersionCode :: Lens' MobileDeviceApplicationsItem (Maybe Int32)-mdaiVersionCode- = lens _mdaiVersionCode- (\ s a -> s{_mdaiVersionCode = a})- . mapping _Coerce---- | Version name of application-mdaiVersionName :: Lens' MobileDeviceApplicationsItem (Maybe Text)-mdaiVersionName- = lens _mdaiVersionName- (\ s a -> s{_mdaiVersionName = a})---- | Package name of application-mdaiPackageName :: Lens' MobileDeviceApplicationsItem (Maybe Text)-mdaiPackageName- = lens _mdaiPackageName- (\ s a -> s{_mdaiPackageName = a})---- | Display name of application-mdaiDisplayName :: Lens' MobileDeviceApplicationsItem (Maybe Text)-mdaiDisplayName- = lens _mdaiDisplayName- (\ s a -> s{_mdaiDisplayName = a})---- | List of Permissions for application-mdaiPermission :: Lens' MobileDeviceApplicationsItem [Text]-mdaiPermission- = lens _mdaiPermission- (\ s a -> s{_mdaiPermission = a})- . _Default- . _Coerce--instance FromJSON MobileDeviceApplicationsItem where- parseJSON- = withObject "MobileDeviceApplicationsItem"- (\ o ->- MobileDeviceApplicationsItem' <$>- (o .:? "versionCode") <*> (o .:? "versionName") <*>- (o .:? "packageName")- <*> (o .:? "displayName")- <*> (o .:? "permission" .!= mempty))--instance ToJSON MobileDeviceApplicationsItem where- toJSON MobileDeviceApplicationsItem'{..}- = object- (catMaybes- [("versionCode" .=) <$> _mdaiVersionCode,- ("versionName" .=) <$> _mdaiVersionName,- ("packageName" .=) <$> _mdaiPackageName,- ("displayName" .=) <$> _mdaiDisplayName,- ("permission" .=) <$> _mdaiPermission])------- /See:/ 'chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem' smart constructor.-data ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem = ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'- { _coddvriviiStorageFree :: !(Maybe (Textual Int64))- , _coddvriviiStorageTotal :: !(Maybe (Textual Int64))- , _coddvriviiVolumeId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'coddvriviiStorageFree'------ * 'coddvriviiStorageTotal'------ * 'coddvriviiVolumeId'-chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem- :: ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem-chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem =- ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'- { _coddvriviiStorageFree = Nothing- , _coddvriviiStorageTotal = Nothing- , _coddvriviiVolumeId = Nothing- }---- | Free disk space [in bytes]-coddvriviiStorageFree :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Int64)-coddvriviiStorageFree- = lens _coddvriviiStorageFree- (\ s a -> s{_coddvriviiStorageFree = a})- . mapping _Coerce---- | Total disk space [in bytes]-coddvriviiStorageTotal :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Int64)-coddvriviiStorageTotal- = lens _coddvriviiStorageTotal- (\ s a -> s{_coddvriviiStorageTotal = a})- . mapping _Coerce---- | Volume id-coddvriviiVolumeId :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Text)-coddvriviiVolumeId- = lens _coddvriviiVolumeId- (\ s a -> s{_coddvriviiVolumeId = a})--instance FromJSON- ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem- where- parseJSON- = withObject- "ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem"- (\ o ->- ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'- <$>- (o .:? "storageFree") <*> (o .:? "storageTotal") <*>- (o .:? "volumeId"))--instance ToJSON- ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem- where- toJSON- ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'{..}- = object- (catMaybes- [("storageFree" .=) <$> _coddvriviiStorageFree,- ("storageTotal" .=) <$> _coddvriviiStorageTotal,- ("volumeId" .=) <$> _coddvriviiVolumeId])---- | JSON response template for List Organization Units operation in--- Directory API.------ /See:/ 'orgUnits' smart constructor.-data OrgUnits = OrgUnits'- { _oEtag :: !(Maybe Text)- , _oKind :: !Text- , _oOrganizationUnits :: !(Maybe [OrgUnit])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OrgUnits' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oEtag'------ * 'oKind'------ * 'oOrganizationUnits'-orgUnits- :: OrgUnits-orgUnits =- OrgUnits'- { _oEtag = Nothing- , _oKind = "admin#directory#orgUnits"- , _oOrganizationUnits = Nothing- }---- | ETag of the resource.-oEtag :: Lens' OrgUnits (Maybe Text)-oEtag = lens _oEtag (\ s a -> s{_oEtag = a})---- | Kind of resource this is.-oKind :: Lens' OrgUnits Text-oKind = lens _oKind (\ s a -> s{_oKind = a})---- | List of user objects.-oOrganizationUnits :: Lens' OrgUnits [OrgUnit]-oOrganizationUnits- = lens _oOrganizationUnits- (\ s a -> s{_oOrganizationUnits = a})- . _Default- . _Coerce--instance FromJSON OrgUnits where- parseJSON- = withObject "OrgUnits"- (\ o ->- OrgUnits' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#orgUnits")- <*> (o .:? "organizationUnits" .!= mempty))--instance ToJSON OrgUnits where- toJSON OrgUnits'{..}- = object- (catMaybes- [("etag" .=) <$> _oEtag, Just ("kind" .= _oKind),- ("organizationUnits" .=) <$> _oOrganizationUnits])---- | JSON template for a POSIX account entry.------ /See:/ 'userSSHPublicKey' smart constructor.-data UserSSHPublicKey = UserSSHPublicKey'- { _uspkFingerprint :: !(Maybe Text)- , _uspkKey :: !(Maybe Text)- , _uspkExpirationTimeUsec :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserSSHPublicKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uspkFingerprint'------ * 'uspkKey'------ * 'uspkExpirationTimeUsec'-userSSHPublicKey- :: UserSSHPublicKey-userSSHPublicKey =- UserSSHPublicKey'- { _uspkFingerprint = Nothing- , _uspkKey = Nothing- , _uspkExpirationTimeUsec = Nothing- }---- | A SHA-256 fingerprint of the SSH public key. (Read-only)-uspkFingerprint :: Lens' UserSSHPublicKey (Maybe Text)-uspkFingerprint- = lens _uspkFingerprint- (\ s a -> s{_uspkFingerprint = a})---- | An SSH public key.-uspkKey :: Lens' UserSSHPublicKey (Maybe Text)-uspkKey = lens _uspkKey (\ s a -> s{_uspkKey = a})---- | An expiration time in microseconds since epoch.-uspkExpirationTimeUsec :: Lens' UserSSHPublicKey (Maybe Int64)-uspkExpirationTimeUsec- = lens _uspkExpirationTimeUsec- (\ s a -> s{_uspkExpirationTimeUsec = a})- . mapping _Coerce--instance FromJSON UserSSHPublicKey where- parseJSON- = withObject "UserSSHPublicKey"- (\ o ->- UserSSHPublicKey' <$>- (o .:? "fingerprint") <*> (o .:? "key") <*>- (o .:? "expirationTimeUsec"))--instance ToJSON UserSSHPublicKey where- toJSON UserSSHPublicKey'{..}- = object- (catMaybes- [("fingerprint" .=) <$> _uspkFingerprint,- ("key" .=) <$> _uspkKey,- ("expirationTimeUsec" .=) <$>- _uspkExpirationTimeUsec])---- | JSON response template for List verification codes operation in--- Directory API.------ /See:/ 'verificationCodes' smart constructor.-data VerificationCodes = VerificationCodes'- { _vEtag :: !(Maybe Text)- , _vKind :: !Text- , _vItems :: !(Maybe [VerificationCode])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VerificationCodes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vEtag'------ * 'vKind'------ * 'vItems'-verificationCodes- :: VerificationCodes-verificationCodes =- VerificationCodes'- { _vEtag = Nothing- , _vKind = "admin#directory#verificationCodesList"- , _vItems = Nothing- }---- | ETag of the resource.-vEtag :: Lens' VerificationCodes (Maybe Text)-vEtag = lens _vEtag (\ s a -> s{_vEtag = a})---- | The type of the resource. This is always--- admin#directory#verificationCodesList.-vKind :: Lens' VerificationCodes Text-vKind = lens _vKind (\ s a -> s{_vKind = a})---- | A list of verification code resources.-vItems :: Lens' VerificationCodes [VerificationCode]-vItems- = lens _vItems (\ s a -> s{_vItems = a}) . _Default .- _Coerce--instance FromJSON VerificationCodes where- parseJSON- = withObject "VerificationCodes"- (\ o ->- VerificationCodes' <$>- (o .:? "etag") <*>- (o .:? "kind" .!=- "admin#directory#verificationCodesList")- <*> (o .:? "items" .!= mempty))--instance ToJSON VerificationCodes where- toJSON VerificationCodes'{..}- = object- (catMaybes- [("etag" .=) <$> _vEtag, Just ("kind" .= _vKind),- ("items" .=) <$> _vItems])---- | JSON template for coordinates of a building in Directory API.------ /See:/ 'buildingCoordinates' smart constructor.-data BuildingCoordinates = BuildingCoordinates'- { _bcLatitude :: !(Maybe (Textual Double))- , _bcLongitude :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BuildingCoordinates' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcLatitude'------ * 'bcLongitude'-buildingCoordinates- :: BuildingCoordinates-buildingCoordinates =- BuildingCoordinates'- { _bcLatitude = Nothing- , _bcLongitude = Nothing- }---- | Latitude in decimal degrees.-bcLatitude :: Lens' BuildingCoordinates (Maybe Double)-bcLatitude- = lens _bcLatitude (\ s a -> s{_bcLatitude = a}) .- mapping _Coerce---- | Longitude in decimal degrees.-bcLongitude :: Lens' BuildingCoordinates (Maybe Double)-bcLongitude- = lens _bcLongitude (\ s a -> s{_bcLongitude = a}) .- mapping _Coerce--instance FromJSON BuildingCoordinates where- parseJSON- = withObject "BuildingCoordinates"- (\ o ->- BuildingCoordinates' <$>- (o .:? "latitude") <*> (o .:? "longitude"))--instance ToJSON BuildingCoordinates where- toJSON BuildingCoordinates'{..}- = object- (catMaybes- [("latitude" .=) <$> _bcLatitude,- ("longitude" .=) <$> _bcLongitude])---- | JSON template for a relation entry.------ /See:/ 'userRelation' smart constructor.-data UserRelation = UserRelation'- { _urValue :: !(Maybe Text)- , _urType :: !(Maybe Text)- , _urCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserRelation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urValue'------ * 'urType'------ * 'urCustomType'-userRelation- :: UserRelation-userRelation =- UserRelation'- { _urValue = Nothing- , _urType = Nothing- , _urCustomType = Nothing- }---- | The name of the relation.-urValue :: Lens' UserRelation (Maybe Text)-urValue = lens _urValue (\ s a -> s{_urValue = a})---- | The relation of the user. Some of the possible values are mother,--- father, sister, brother, manager, assistant, partner.-urType :: Lens' UserRelation (Maybe Text)-urType = lens _urType (\ s a -> s{_urType = a})---- | Custom Type.-urCustomType :: Lens' UserRelation (Maybe Text)-urCustomType- = lens _urCustomType (\ s a -> s{_urCustomType = a})--instance FromJSON UserRelation where- parseJSON- = withObject "UserRelation"- (\ o ->- UserRelation' <$>- (o .:? "value") <*> (o .:? "type") <*>- (o .:? "customType"))--instance ToJSON UserRelation where- toJSON UserRelation'{..}- = object- (catMaybes- [("value" .=) <$> _urValue, ("type" .=) <$> _urType,- ("customType" .=) <$> _urCustomType])---- | JSON template for Trusted Apps response object of a user in Directory--- API.------ /See:/ 'trustedApps' smart constructor.-data TrustedApps = TrustedApps'- { _taEtag :: !(Maybe Text)- , _taNextPageToken :: !(Maybe Text)- , _taKind :: !Text- , _taTrustedApps :: !(Maybe [TrustedAppId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TrustedApps' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'taEtag'------ * 'taNextPageToken'------ * 'taKind'------ * 'taTrustedApps'-trustedApps- :: TrustedApps-trustedApps =- TrustedApps'- { _taEtag = Nothing- , _taNextPageToken = Nothing- , _taKind = "admin#directory#trustedapplist"- , _taTrustedApps = Nothing- }---- | ETag of the resource.-taEtag :: Lens' TrustedApps (Maybe Text)-taEtag = lens _taEtag (\ s a -> s{_taEtag = a})--taNextPageToken :: Lens' TrustedApps (Maybe Text)-taNextPageToken- = lens _taNextPageToken- (\ s a -> s{_taNextPageToken = a})---- | Identifies the resource as trusted apps response.-taKind :: Lens' TrustedApps Text-taKind = lens _taKind (\ s a -> s{_taKind = a})---- | Trusted Apps list.-taTrustedApps :: Lens' TrustedApps [TrustedAppId]-taTrustedApps- = lens _taTrustedApps- (\ s a -> s{_taTrustedApps = a})- . _Default- . _Coerce--instance FromJSON TrustedApps where- parseJSON- = withObject "TrustedApps"- (\ o ->- TrustedApps' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#trustedapplist")- <*> (o .:? "trustedApps" .!= mempty))--instance ToJSON TrustedApps where- toJSON TrustedApps'{..}- = object- (catMaybes- [("etag" .=) <$> _taEtag,- ("nextPageToken" .=) <$> _taNextPageToken,- Just ("kind" .= _taKind),- ("trustedApps" .=) <$> _taTrustedApps])---- | JSON template for Feature List Response object in Directory API.------ /See:/ 'features' smart constructor.-data Features = Features'- { _feaEtag :: !(Maybe Text)- , _feaNextPageToken :: !(Maybe Text)- , _feaKind :: !Text- , _feaFeatures :: !(Maybe [Feature])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Features' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'feaEtag'------ * 'feaNextPageToken'------ * 'feaKind'------ * 'feaFeatures'-features- :: Features-features =- Features'- { _feaEtag = Nothing- , _feaNextPageToken = Nothing- , _feaKind = "admin#directory#resources#features#featuresList"- , _feaFeatures = Nothing- }---- | ETag of the resource.-feaEtag :: Lens' Features (Maybe Text)-feaEtag = lens _feaEtag (\ s a -> s{_feaEtag = a})---- | The continuation token, used to page through large result sets. Provide--- this value in a subsequent request to return the next page of results.-feaNextPageToken :: Lens' Features (Maybe Text)-feaNextPageToken- = lens _feaNextPageToken- (\ s a -> s{_feaNextPageToken = a})---- | Kind of resource this is.-feaKind :: Lens' Features Text-feaKind = lens _feaKind (\ s a -> s{_feaKind = a})---- | The Features in this page of results.-feaFeatures :: Lens' Features [Feature]-feaFeatures- = lens _feaFeatures (\ s a -> s{_feaFeatures = a}) .- _Default- . _Coerce--instance FromJSON Features where- parseJSON- = withObject "Features"- (\ o ->- Features' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "admin#directory#resources#features#featuresList")- <*> (o .:? "features" .!= mempty))--instance ToJSON Features where- toJSON Features'{..}- = object- (catMaybes- [("etag" .=) <$> _feaEtag,- ("nextPageToken" .=) <$> _feaNextPageToken,- Just ("kind" .= _feaKind),- ("features" .=) <$> _feaFeatures])---- | Additional parameters controlling delivery channel behavior. Optional.------ /See:/ 'channelParams' smart constructor.-newtype ChannelParams = ChannelParams'- { _cpAddtional :: HashMap Text Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpAddtional'-channelParams- :: HashMap Text Text -- ^ 'cpAddtional'- -> ChannelParams-channelParams pCpAddtional_ =- ChannelParams'- { _cpAddtional = _Coerce # pCpAddtional_- }---- | Declares a new parameter by name.-cpAddtional :: Lens' ChannelParams (HashMap Text Text)-cpAddtional- = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .- _Coerce--instance FromJSON ChannelParams where- parseJSON- = withObject "ChannelParams"- (\ o -> ChannelParams' <$> (parseJSONObject o))--instance ToJSON ChannelParams where- toJSON = toJSON . _cpAddtional---- | Trusted Platform Module (TPM) (Read-only)------ /See:/ 'chromeOSDeviceTpmVersionInfo' smart constructor.-data ChromeOSDeviceTpmVersionInfo = ChromeOSDeviceTpmVersionInfo'- { _codtviVendorSpecific :: !(Maybe Text)- , _codtviManufacturer :: !(Maybe Text)- , _codtviSpecLevel :: !(Maybe Text)- , _codtviTpmModel :: !(Maybe Text)- , _codtviFamily :: !(Maybe Text)- , _codtviFirmwareVersion :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceTpmVersionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codtviVendorSpecific'------ * 'codtviManufacturer'------ * 'codtviSpecLevel'------ * 'codtviTpmModel'------ * 'codtviFamily'------ * 'codtviFirmwareVersion'-chromeOSDeviceTpmVersionInfo- :: ChromeOSDeviceTpmVersionInfo-chromeOSDeviceTpmVersionInfo =- ChromeOSDeviceTpmVersionInfo'- { _codtviVendorSpecific = Nothing- , _codtviManufacturer = Nothing- , _codtviSpecLevel = Nothing- , _codtviTpmModel = Nothing- , _codtviFamily = Nothing- , _codtviFirmwareVersion = Nothing- }---- | Vendor-specific information such as Vendor ID.-codtviVendorSpecific :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviVendorSpecific- = lens _codtviVendorSpecific- (\ s a -> s{_codtviVendorSpecific = a})---- | TPM manufacturer code.-codtviManufacturer :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviManufacturer- = lens _codtviManufacturer- (\ s a -> s{_codtviManufacturer = a})---- | TPM specification level.-codtviSpecLevel :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviSpecLevel- = lens _codtviSpecLevel- (\ s a -> s{_codtviSpecLevel = a})---- | TPM model number.-codtviTpmModel :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviTpmModel- = lens _codtviTpmModel- (\ s a -> s{_codtviTpmModel = a})---- | TPM family.-codtviFamily :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviFamily- = lens _codtviFamily (\ s a -> s{_codtviFamily = a})---- | TPM firmware version.-codtviFirmwareVersion :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)-codtviFirmwareVersion- = lens _codtviFirmwareVersion- (\ s a -> s{_codtviFirmwareVersion = a})--instance FromJSON ChromeOSDeviceTpmVersionInfo where- parseJSON- = withObject "ChromeOSDeviceTpmVersionInfo"- (\ o ->- ChromeOSDeviceTpmVersionInfo' <$>- (o .:? "vendorSpecific") <*> (o .:? "manufacturer")- <*> (o .:? "specLevel")- <*> (o .:? "tpmModel")- <*> (o .:? "family")- <*> (o .:? "firmwareVersion"))--instance ToJSON ChromeOSDeviceTpmVersionInfo where- toJSON ChromeOSDeviceTpmVersionInfo'{..}- = object- (catMaybes- [("vendorSpecific" .=) <$> _codtviVendorSpecific,- ("manufacturer" .=) <$> _codtviManufacturer,- ("specLevel" .=) <$> _codtviSpecLevel,- ("tpmModel" .=) <$> _codtviTpmModel,- ("family" .=) <$> _codtviFamily,- ("firmwareVersion" .=) <$> _codtviFirmwareVersion])---- | JSON template for an organization entry.------ /See:/ 'userOrganization' smart constructor.-data UserOrganization = UserOrganization'- { _uoDePartment :: !(Maybe Text)- , _uoLocation :: !(Maybe Text)- , _uoCostCenter :: !(Maybe Text)- , _uoDomain :: !(Maybe Text)- , _uoSymbol :: !(Maybe Text)- , _uoPrimary :: !(Maybe Bool)- , _uoName :: !(Maybe Text)- , _uoFullTimeEquivalent :: !(Maybe (Textual Int32))- , _uoTitle :: !(Maybe Text)- , _uoType :: !(Maybe Text)- , _uoCustomType :: !(Maybe Text)- , _uoDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserOrganization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uoDePartment'------ * 'uoLocation'------ * 'uoCostCenter'------ * 'uoDomain'------ * 'uoSymbol'------ * 'uoPrimary'------ * 'uoName'------ * 'uoFullTimeEquivalent'------ * 'uoTitle'------ * 'uoType'------ * 'uoCustomType'------ * 'uoDescription'-userOrganization- :: UserOrganization-userOrganization =- UserOrganization'- { _uoDePartment = Nothing- , _uoLocation = Nothing- , _uoCostCenter = Nothing- , _uoDomain = Nothing- , _uoSymbol = Nothing- , _uoPrimary = Nothing- , _uoName = Nothing- , _uoFullTimeEquivalent = Nothing- , _uoTitle = Nothing- , _uoType = Nothing- , _uoCustomType = Nothing- , _uoDescription = Nothing- }---- | Department within the organization.-uoDePartment :: Lens' UserOrganization (Maybe Text)-uoDePartment- = lens _uoDePartment (\ s a -> s{_uoDePartment = a})---- | Location of the organization. This need not be fully qualified address.-uoLocation :: Lens' UserOrganization (Maybe Text)-uoLocation- = lens _uoLocation (\ s a -> s{_uoLocation = a})---- | The cost center of the users department.-uoCostCenter :: Lens' UserOrganization (Maybe Text)-uoCostCenter- = lens _uoCostCenter (\ s a -> s{_uoCostCenter = a})---- | The domain to which the organization belongs to.-uoDomain :: Lens' UserOrganization (Maybe Text)-uoDomain = lens _uoDomain (\ s a -> s{_uoDomain = a})---- | Symbol of the organization.-uoSymbol :: Lens' UserOrganization (Maybe Text)-uoSymbol = lens _uoSymbol (\ s a -> s{_uoSymbol = a})---- | If it user\'s primary organization.-uoPrimary :: Lens' UserOrganization (Maybe Bool)-uoPrimary- = lens _uoPrimary (\ s a -> s{_uoPrimary = a})---- | Name of the organization-uoName :: Lens' UserOrganization (Maybe Text)-uoName = lens _uoName (\ s a -> s{_uoName = a})---- | The full-time equivalent percent within the organization (100000 =--- 100%).-uoFullTimeEquivalent :: Lens' UserOrganization (Maybe Int32)-uoFullTimeEquivalent- = lens _uoFullTimeEquivalent- (\ s a -> s{_uoFullTimeEquivalent = a})- . mapping _Coerce---- | Title (designation) of the user in the organization.-uoTitle :: Lens' UserOrganization (Maybe Text)-uoTitle = lens _uoTitle (\ s a -> s{_uoTitle = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example organization could be of school, work etc. In addition to--- the standard type, an entry can have a custom type and can give it any--- name. Such types should have the CUSTOM value as type and also have a--- CustomType value.-uoType :: Lens' UserOrganization (Maybe Text)-uoType = lens _uoType (\ s a -> s{_uoType = a})---- | Custom type.-uoCustomType :: Lens' UserOrganization (Maybe Text)-uoCustomType- = lens _uoCustomType (\ s a -> s{_uoCustomType = a})---- | Description of the organization.-uoDescription :: Lens' UserOrganization (Maybe Text)-uoDescription- = lens _uoDescription- (\ s a -> s{_uoDescription = a})--instance FromJSON UserOrganization where- parseJSON- = withObject "UserOrganization"- (\ o ->- UserOrganization' <$>- (o .:? "department") <*> (o .:? "location") <*>- (o .:? "costCenter")- <*> (o .:? "domain")- <*> (o .:? "symbol")- <*> (o .:? "primary")- <*> (o .:? "name")- <*> (o .:? "fullTimeEquivalent")- <*> (o .:? "title")- <*> (o .:? "type")- <*> (o .:? "customType")- <*> (o .:? "description"))--instance ToJSON UserOrganization where- toJSON UserOrganization'{..}- = object- (catMaybes- [("department" .=) <$> _uoDePartment,- ("location" .=) <$> _uoLocation,- ("costCenter" .=) <$> _uoCostCenter,- ("domain" .=) <$> _uoDomain,- ("symbol" .=) <$> _uoSymbol,- ("primary" .=) <$> _uoPrimary,- ("name" .=) <$> _uoName,- ("fullTimeEquivalent" .=) <$> _uoFullTimeEquivalent,- ("title" .=) <$> _uoTitle, ("type" .=) <$> _uoType,- ("customType" .=) <$> _uoCustomType,- ("description" .=) <$> _uoDescription])---- | JSON template for a website entry.------ /See:/ 'userWebsite' smart constructor.-data UserWebsite = UserWebsite'- { _uwValue :: !(Maybe Text)- , _uwPrimary :: !(Maybe Bool)- , _uwType :: !(Maybe Text)- , _uwCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserWebsite' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uwValue'------ * 'uwPrimary'------ * 'uwType'------ * 'uwCustomType'-userWebsite- :: UserWebsite-userWebsite =- UserWebsite'- { _uwValue = Nothing- , _uwPrimary = Nothing- , _uwType = Nothing- , _uwCustomType = Nothing- }---- | Website.-uwValue :: Lens' UserWebsite (Maybe Text)-uwValue = lens _uwValue (\ s a -> s{_uwValue = a})---- | If this is user\'s primary website or not.-uwPrimary :: Lens' UserWebsite (Maybe Bool)-uwPrimary- = lens _uwPrimary (\ s a -> s{_uwPrimary = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example website could be of home, work, blog etc. In addition to the--- standard type, an entry can have a custom type and can give it any name.--- Such types should have the CUSTOM value as type and also have a--- customType value.-uwType :: Lens' UserWebsite (Maybe Text)-uwType = lens _uwType (\ s a -> s{_uwType = a})---- | Custom Type.-uwCustomType :: Lens' UserWebsite (Maybe Text)-uwCustomType- = lens _uwCustomType (\ s a -> s{_uwCustomType = a})--instance FromJSON UserWebsite where- parseJSON- = withObject "UserWebsite"- (\ o ->- UserWebsite' <$>- (o .:? "value") <*> (o .:? "primary") <*>- (o .:? "type")- <*> (o .:? "customType"))--instance ToJSON UserWebsite where- toJSON UserWebsite'{..}- = object- (catMaybes- [("value" .=) <$> _uwValue,- ("primary" .=) <$> _uwPrimary,- ("type" .=) <$> _uwType,- ("customType" .=) <$> _uwCustomType])------- /See:/ 'chromeOSDeviceActiveTimeRangesItem' smart constructor.-data ChromeOSDeviceActiveTimeRangesItem = ChromeOSDeviceActiveTimeRangesItem'- { _codatriDate :: !(Maybe Date')- , _codatriActiveTime :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceActiveTimeRangesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codatriDate'------ * 'codatriActiveTime'-chromeOSDeviceActiveTimeRangesItem- :: ChromeOSDeviceActiveTimeRangesItem-chromeOSDeviceActiveTimeRangesItem =- ChromeOSDeviceActiveTimeRangesItem'- { _codatriDate = Nothing- , _codatriActiveTime = Nothing- }---- | Date of usage-codatriDate :: Lens' ChromeOSDeviceActiveTimeRangesItem (Maybe Day)-codatriDate- = lens _codatriDate (\ s a -> s{_codatriDate = a}) .- mapping _Date---- | Duration in milliseconds-codatriActiveTime :: Lens' ChromeOSDeviceActiveTimeRangesItem (Maybe Int32)-codatriActiveTime- = lens _codatriActiveTime- (\ s a -> s{_codatriActiveTime = a})- . mapping _Coerce--instance FromJSON ChromeOSDeviceActiveTimeRangesItem- where- parseJSON- = withObject "ChromeOSDeviceActiveTimeRangesItem"- (\ o ->- ChromeOSDeviceActiveTimeRangesItem' <$>- (o .:? "date") <*> (o .:? "activeTime"))--instance ToJSON ChromeOSDeviceActiveTimeRangesItem- where- toJSON ChromeOSDeviceActiveTimeRangesItem'{..}- = object- (catMaybes- [("date" .=) <$> _codatriDate,- ("activeTime" .=) <$> _codatriActiveTime])---- | JSON template for an email.------ /See:/ 'userEmail' smart constructor.-data UserEmail = UserEmail'- { _ueAddress :: !(Maybe Text)- , _uePrimary :: !(Maybe Bool)- , _ueType :: !(Maybe Text)- , _ueCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserEmail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ueAddress'------ * 'uePrimary'------ * 'ueType'------ * 'ueCustomType'-userEmail- :: UserEmail-userEmail =- UserEmail'- { _ueAddress = Nothing- , _uePrimary = Nothing- , _ueType = Nothing- , _ueCustomType = Nothing- }---- | Email id of the user.-ueAddress :: Lens' UserEmail (Maybe Text)-ueAddress- = lens _ueAddress (\ s a -> s{_ueAddress = a})---- | If this is user\'s primary email. Only one entry could be marked as--- primary.-uePrimary :: Lens' UserEmail (Maybe Bool)-uePrimary- = lens _uePrimary (\ s a -> s{_uePrimary = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example email could be of home, work etc. In addition to the--- standard type, an entry can have a custom type and can take any value--- Such types should have the CUSTOM value as type and also have a--- customType value.-ueType :: Lens' UserEmail (Maybe Text)-ueType = lens _ueType (\ s a -> s{_ueType = a})---- | Custom Type.-ueCustomType :: Lens' UserEmail (Maybe Text)-ueCustomType- = lens _ueCustomType (\ s a -> s{_ueCustomType = a})--instance FromJSON UserEmail where- parseJSON- = withObject "UserEmail"- (\ o ->- UserEmail' <$>- (o .:? "address") <*> (o .:? "primary") <*>- (o .:? "type")- <*> (o .:? "customType"))--instance ToJSON UserEmail where- toJSON UserEmail'{..}- = object- (catMaybes- [("address" .=) <$> _ueAddress,- ("primary" .=) <$> _uePrimary,- ("type" .=) <$> _ueType,- ("customType" .=) <$> _ueCustomType])---- | JSON template for a phone entry.------ /See:/ 'userPhone' smart constructor.-data UserPhone = UserPhone'- { _upValue :: !(Maybe Text)- , _upPrimary :: !(Maybe Bool)- , _upType :: !(Maybe Text)- , _upCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserPhone' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upValue'------ * 'upPrimary'------ * 'upType'------ * 'upCustomType'-userPhone- :: UserPhone-userPhone =- UserPhone'- { _upValue = Nothing- , _upPrimary = Nothing- , _upType = Nothing- , _upCustomType = Nothing- }---- | Phone number.-upValue :: Lens' UserPhone (Maybe Text)-upValue = lens _upValue (\ s a -> s{_upValue = a})---- | If this is user\'s primary phone or not.-upPrimary :: Lens' UserPhone (Maybe Bool)-upPrimary- = lens _upPrimary (\ s a -> s{_upPrimary = a})---- | Each entry can have a type which indicates standard types of that entry.--- For example phone could be of home_fax, work, mobile etc. In addition to--- the standard type, an entry can have a custom type and can give it any--- name. Such types should have the CUSTOM value as type and also have a--- customType value.-upType :: Lens' UserPhone (Maybe Text)-upType = lens _upType (\ s a -> s{_upType = a})---- | Custom Type.-upCustomType :: Lens' UserPhone (Maybe Text)-upCustomType- = lens _upCustomType (\ s a -> s{_upCustomType = a})--instance FromJSON UserPhone where- parseJSON- = withObject "UserPhone"- (\ o ->- UserPhone' <$>- (o .:? "value") <*> (o .:? "primary") <*>- (o .:? "type")- <*> (o .:? "customType"))--instance ToJSON UserPhone where- toJSON UserPhone'{..}- = object- (catMaybes- [("value" .=) <$> _upValue,- ("primary" .=) <$> _upPrimary,- ("type" .=) <$> _upType,- ("customType" .=) <$> _upCustomType])---- | JSON template for Photo object in Directory API.------ /See:/ 'userPhoto' smart constructor.-data UserPhoto = UserPhoto'- { _upPhotoData :: !(Maybe Bytes)- , _upEtag :: !(Maybe Text)- , _upHeight :: !(Maybe (Textual Int32))- , _upKind :: !Text- , _upWidth :: !(Maybe (Textual Int32))- , _upMimeType :: !(Maybe Text)- , _upId :: !(Maybe Text)- , _upPrimaryEmail :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserPhoto' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upPhotoData'------ * 'upEtag'------ * 'upHeight'------ * 'upKind'------ * 'upWidth'------ * 'upMimeType'------ * 'upId'------ * 'upPrimaryEmail'-userPhoto- :: UserPhoto-userPhoto =- UserPhoto'- { _upPhotoData = Nothing- , _upEtag = Nothing- , _upHeight = Nothing- , _upKind = "admin#directory#user#photo"- , _upWidth = Nothing- , _upMimeType = Nothing- , _upId = Nothing- , _upPrimaryEmail = Nothing- }---- | Base64 encoded photo data-upPhotoData :: Lens' UserPhoto (Maybe ByteString)-upPhotoData- = lens _upPhotoData (\ s a -> s{_upPhotoData = a}) .- mapping _Bytes---- | ETag of the resource.-upEtag :: Lens' UserPhoto (Maybe Text)-upEtag = lens _upEtag (\ s a -> s{_upEtag = a})---- | Height in pixels of the photo-upHeight :: Lens' UserPhoto (Maybe Int32)-upHeight- = lens _upHeight (\ s a -> s{_upHeight = a}) .- mapping _Coerce---- | Kind of resource this is.-upKind :: Lens' UserPhoto Text-upKind = lens _upKind (\ s a -> s{_upKind = a})---- | Width in pixels of the photo-upWidth :: Lens' UserPhoto (Maybe Int32)-upWidth- = lens _upWidth (\ s a -> s{_upWidth = a}) .- mapping _Coerce---- | Mime Type of the photo-upMimeType :: Lens' UserPhoto (Maybe Text)-upMimeType- = lens _upMimeType (\ s a -> s{_upMimeType = a})---- | Unique identifier of User (Read-only)-upId :: Lens' UserPhoto (Maybe Text)-upId = lens _upId (\ s a -> s{_upId = a})---- | Primary email of User (Read-only)-upPrimaryEmail :: Lens' UserPhoto (Maybe Text)-upPrimaryEmail- = lens _upPrimaryEmail- (\ s a -> s{_upPrimaryEmail = a})--instance FromJSON UserPhoto where- parseJSON- = withObject "UserPhoto"- (\ o ->- UserPhoto' <$>- (o .:? "photoData") <*> (o .:? "etag") <*>- (o .:? "height")- <*> (o .:? "kind" .!= "admin#directory#user#photo")- <*> (o .:? "width")- <*> (o .:? "mimeType")- <*> (o .:? "id")- <*> (o .:? "primaryEmail"))--instance ToJSON UserPhoto where- toJSON UserPhoto'{..}- = object- (catMaybes- [("photoData" .=) <$> _upPhotoData,- ("etag" .=) <$> _upEtag, ("height" .=) <$> _upHeight,- Just ("kind" .= _upKind), ("width" .=) <$> _upWidth,- ("mimeType" .=) <$> _upMimeType, ("id" .=) <$> _upId,- ("primaryEmail" .=) <$> _upPrimaryEmail])------- /See:/ 'chromeOSDeviceSystemRamFreeReportsItem' smart constructor.-data ChromeOSDeviceSystemRamFreeReportsItem = ChromeOSDeviceSystemRamFreeReportsItem'- { _codsrfriReportTime :: !(Maybe DateTime')- , _codsrfriSystemRamFreeInfo :: !(Maybe [Textual Int64])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceSystemRamFreeReportsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codsrfriReportTime'------ * 'codsrfriSystemRamFreeInfo'-chromeOSDeviceSystemRamFreeReportsItem- :: ChromeOSDeviceSystemRamFreeReportsItem-chromeOSDeviceSystemRamFreeReportsItem =- ChromeOSDeviceSystemRamFreeReportsItem'- { _codsrfriReportTime = Nothing- , _codsrfriSystemRamFreeInfo = Nothing- }---- | Date and time the report was received.-codsrfriReportTime :: Lens' ChromeOSDeviceSystemRamFreeReportsItem (Maybe UTCTime)-codsrfriReportTime- = lens _codsrfriReportTime- (\ s a -> s{_codsrfriReportTime = a})- . mapping _DateTime--codsrfriSystemRamFreeInfo :: Lens' ChromeOSDeviceSystemRamFreeReportsItem [Int64]-codsrfriSystemRamFreeInfo- = lens _codsrfriSystemRamFreeInfo- (\ s a -> s{_codsrfriSystemRamFreeInfo = a})- . _Default- . _Coerce--instance FromJSON- ChromeOSDeviceSystemRamFreeReportsItem where- parseJSON- = withObject "ChromeOSDeviceSystemRamFreeReportsItem"- (\ o ->- ChromeOSDeviceSystemRamFreeReportsItem' <$>- (o .:? "reportTime") <*>- (o .:? "systemRamFreeInfo" .!= mempty))--instance ToJSON- ChromeOSDeviceSystemRamFreeReportsItem where- toJSON ChromeOSDeviceSystemRamFreeReportsItem'{..}- = object- (catMaybes- [("reportTime" .=) <$> _codsrfriReportTime,- ("systemRamFreeInfo" .=) <$>- _codsrfriSystemRamFreeInfo])---- | JSON template for a POSIX account entry. Description of the field--- family: go\/fbs-posix.------ /See:/ 'userPosixAccount' smart constructor.-data UserPosixAccount = UserPosixAccount'- { _upaGecos :: !(Maybe Text)- , _upaUid :: !(Maybe (Textual Word64))- , _upaUsername :: !(Maybe Text)- , _upaShell :: !(Maybe Text)- , _upaPrimary :: !(Maybe Bool)- , _upaAccountId :: !(Maybe Text)- , _upaGid :: !(Maybe (Textual Word64))- , _upaOperatingSystemType :: !(Maybe Text)- , _upaSystemId :: !(Maybe Text)- , _upaHomeDirectory :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserPosixAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upaGecos'------ * 'upaUid'------ * 'upaUsername'------ * 'upaShell'------ * 'upaPrimary'------ * 'upaAccountId'------ * 'upaGid'------ * 'upaOperatingSystemType'------ * 'upaSystemId'------ * 'upaHomeDirectory'-userPosixAccount- :: UserPosixAccount-userPosixAccount =- UserPosixAccount'- { _upaGecos = Nothing- , _upaUid = Nothing- , _upaUsername = Nothing- , _upaShell = Nothing- , _upaPrimary = Nothing- , _upaAccountId = Nothing- , _upaGid = Nothing- , _upaOperatingSystemType = Nothing- , _upaSystemId = Nothing- , _upaHomeDirectory = Nothing- }---- | The GECOS (user information) for this account.-upaGecos :: Lens' UserPosixAccount (Maybe Text)-upaGecos = lens _upaGecos (\ s a -> s{_upaGecos = a})---- | The POSIX compliant user ID.-upaUid :: Lens' UserPosixAccount (Maybe Word64)-upaUid- = lens _upaUid (\ s a -> s{_upaUid = a}) .- mapping _Coerce---- | The username of the account.-upaUsername :: Lens' UserPosixAccount (Maybe Text)-upaUsername- = lens _upaUsername (\ s a -> s{_upaUsername = a})---- | The path to the login shell for this account.-upaShell :: Lens' UserPosixAccount (Maybe Text)-upaShell = lens _upaShell (\ s a -> s{_upaShell = a})---- | If this is user\'s primary account within the SystemId.-upaPrimary :: Lens' UserPosixAccount (Maybe Bool)-upaPrimary- = lens _upaPrimary (\ s a -> s{_upaPrimary = a})---- | A POSIX account field identifier. (Read-only)-upaAccountId :: Lens' UserPosixAccount (Maybe Text)-upaAccountId- = lens _upaAccountId (\ s a -> s{_upaAccountId = a})---- | The default group ID.-upaGid :: Lens' UserPosixAccount (Maybe Word64)-upaGid- = lens _upaGid (\ s a -> s{_upaGid = a}) .- mapping _Coerce---- | The operating system type for this account.-upaOperatingSystemType :: Lens' UserPosixAccount (Maybe Text)-upaOperatingSystemType- = lens _upaOperatingSystemType- (\ s a -> s{_upaOperatingSystemType = a})---- | System identifier for which account Username or Uid apply to.-upaSystemId :: Lens' UserPosixAccount (Maybe Text)-upaSystemId- = lens _upaSystemId (\ s a -> s{_upaSystemId = a})---- | The path to the home directory for this account.-upaHomeDirectory :: Lens' UserPosixAccount (Maybe Text)-upaHomeDirectory- = lens _upaHomeDirectory- (\ s a -> s{_upaHomeDirectory = a})--instance FromJSON UserPosixAccount where- parseJSON- = withObject "UserPosixAccount"- (\ o ->- UserPosixAccount' <$>- (o .:? "gecos") <*> (o .:? "uid") <*>- (o .:? "username")- <*> (o .:? "shell")- <*> (o .:? "primary")- <*> (o .:? "accountId")- <*> (o .:? "gid")- <*> (o .:? "operatingSystemType")- <*> (o .:? "systemId")- <*> (o .:? "homeDirectory"))--instance ToJSON UserPosixAccount where- toJSON UserPosixAccount'{..}- = object- (catMaybes- [("gecos" .=) <$> _upaGecos, ("uid" .=) <$> _upaUid,- ("username" .=) <$> _upaUsername,- ("shell" .=) <$> _upaShell,- ("primary" .=) <$> _upaPrimary,- ("accountId" .=) <$> _upaAccountId,- ("gid" .=) <$> _upaGid,- ("operatingSystemType" .=) <$>- _upaOperatingSystemType,- ("systemId" .=) <$> _upaSystemId,- ("homeDirectory" .=) <$> _upaHomeDirectory])---- | JSON template for a \"feature instance\".------ /See:/ 'featureInstance' smart constructor.-newtype FeatureInstance = FeatureInstance'- { _fiFeature :: Maybe Feature- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FeatureInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fiFeature'-featureInstance- :: FeatureInstance-featureInstance =- FeatureInstance'- { _fiFeature = Nothing- }---- | The feature that this is an instance of. A calendar resource may have--- multiple instances of a feature.-fiFeature :: Lens' FeatureInstance (Maybe Feature)-fiFeature- = lens _fiFeature (\ s a -> s{_fiFeature = a})--instance FromJSON FeatureInstance where- parseJSON- = withObject "FeatureInstance"- (\ o -> FeatureInstance' <$> (o .:? "feature"))--instance ToJSON FeatureInstance where- toJSON FeatureInstance'{..}- = object (catMaybes [("feature" .=) <$> _fiFeature])---- | JSON template for Mobile Device resource in Directory API.------ /See:/ 'mobileDevice' smart constructor.-data MobileDevice = MobileDevice'- { _mobEmail :: !(Maybe [Text])- , _mobStatus :: !(Maybe Text)- , _mobPrivilege :: !(Maybe Text)- , _mobEtag :: !(Maybe Text)- , _mobResourceId :: !(Maybe Text)- , _mobManufacturer :: !(Maybe Text)- , _mobBuildNumber :: !(Maybe Text)- , _mobManagedAccountIsOnOwnerProFile :: !(Maybe Bool)- , _mobLastSync :: !(Maybe DateTime')- , _mobOtherAccountsInfo :: !(Maybe [Text])- , _mobKind :: !Text- , _mobAdbStatus :: !(Maybe Bool)- , _mobReleaseVersion :: !(Maybe Text)- , _mobBrand :: !(Maybe Text)- , _mobSecurityPatchLevel :: !(Maybe (Textual Int64))- , _mobNetworkOperator :: !(Maybe Text)- , _mobKernelVersion :: !(Maybe Text)- , _mobOS :: !(Maybe Text)- , _mobName :: !(Maybe [Text])- , _mobModel :: !(Maybe Text)- , _mobDeveloperOptionsStatus :: !(Maybe Bool)- , _mobUnknownSourcesStatus :: !(Maybe Bool)- , _mobMeid :: !(Maybe Text)- , _mobBootLoaderVersion :: !(Maybe Text)- , _mobDeviceId :: !(Maybe Text)- , _mobFirstSync :: !(Maybe DateTime')- , _mobUserAgent :: !(Maybe Text)- , _mobImei :: !(Maybe Text)- , _mobType :: !(Maybe Text)- , _mobWifiMACAddress :: !(Maybe Text)- , _mobEncryptionStatus :: !(Maybe Text)- , _mobSerialNumber :: !(Maybe Text)- , _mobDevicePasswordStatus :: !(Maybe Text)- , _mobHardwareId :: !(Maybe Text)- , _mobBasebandVersion :: !(Maybe Text)- , _mobSupportsWorkProFile :: !(Maybe Bool)- , _mobHardware :: !(Maybe Text)- , _mobDeviceCompromisedStatus :: !(Maybe Text)- , _mobApplications :: !(Maybe [MobileDeviceApplicationsItem])- , _mobDefaultLanguage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MobileDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mobEmail'------ * 'mobStatus'------ * 'mobPrivilege'------ * 'mobEtag'------ * 'mobResourceId'------ * 'mobManufacturer'------ * 'mobBuildNumber'------ * 'mobManagedAccountIsOnOwnerProFile'------ * 'mobLastSync'------ * 'mobOtherAccountsInfo'------ * 'mobKind'------ * 'mobAdbStatus'------ * 'mobReleaseVersion'------ * 'mobBrand'------ * 'mobSecurityPatchLevel'------ * 'mobNetworkOperator'------ * 'mobKernelVersion'------ * 'mobOS'------ * 'mobName'------ * 'mobModel'------ * 'mobDeveloperOptionsStatus'------ * 'mobUnknownSourcesStatus'------ * 'mobMeid'------ * 'mobBootLoaderVersion'------ * 'mobDeviceId'------ * 'mobFirstSync'------ * 'mobUserAgent'------ * 'mobImei'------ * 'mobType'------ * 'mobWifiMACAddress'------ * 'mobEncryptionStatus'------ * 'mobSerialNumber'------ * 'mobDevicePasswordStatus'------ * 'mobHardwareId'------ * 'mobBasebandVersion'------ * 'mobSupportsWorkProFile'------ * 'mobHardware'------ * 'mobDeviceCompromisedStatus'------ * 'mobApplications'------ * 'mobDefaultLanguage'-mobileDevice- :: MobileDevice-mobileDevice =- MobileDevice'- { _mobEmail = Nothing- , _mobStatus = Nothing- , _mobPrivilege = Nothing- , _mobEtag = Nothing- , _mobResourceId = Nothing- , _mobManufacturer = Nothing- , _mobBuildNumber = Nothing- , _mobManagedAccountIsOnOwnerProFile = Nothing- , _mobLastSync = Nothing- , _mobOtherAccountsInfo = Nothing- , _mobKind = "admin#directory#mobiledevice"- , _mobAdbStatus = Nothing- , _mobReleaseVersion = Nothing- , _mobBrand = Nothing- , _mobSecurityPatchLevel = Nothing- , _mobNetworkOperator = Nothing- , _mobKernelVersion = Nothing- , _mobOS = Nothing- , _mobName = Nothing- , _mobModel = Nothing- , _mobDeveloperOptionsStatus = Nothing- , _mobUnknownSourcesStatus = Nothing- , _mobMeid = Nothing- , _mobBootLoaderVersion = Nothing- , _mobDeviceId = Nothing- , _mobFirstSync = Nothing- , _mobUserAgent = Nothing- , _mobImei = Nothing- , _mobType = Nothing- , _mobWifiMACAddress = Nothing- , _mobEncryptionStatus = Nothing- , _mobSerialNumber = Nothing- , _mobDevicePasswordStatus = Nothing- , _mobHardwareId = Nothing- , _mobBasebandVersion = Nothing- , _mobSupportsWorkProFile = Nothing- , _mobHardware = Nothing- , _mobDeviceCompromisedStatus = Nothing- , _mobApplications = Nothing- , _mobDefaultLanguage = Nothing- }---- | List of owner user\'s email addresses (Read-only)-mobEmail :: Lens' MobileDevice [Text]-mobEmail- = lens _mobEmail (\ s a -> s{_mobEmail = a}) .- _Default- . _Coerce---- | Status of the device (Read-only)-mobStatus :: Lens' MobileDevice (Maybe Text)-mobStatus- = lens _mobStatus (\ s a -> s{_mobStatus = a})---- | DMAgentPermission (Read-only)-mobPrivilege :: Lens' MobileDevice (Maybe Text)-mobPrivilege- = lens _mobPrivilege (\ s a -> s{_mobPrivilege = a})---- | ETag of the resource.-mobEtag :: Lens' MobileDevice (Maybe Text)-mobEtag = lens _mobEtag (\ s a -> s{_mobEtag = a})---- | Unique identifier of Mobile Device (Read-only)-mobResourceId :: Lens' MobileDevice (Maybe Text)-mobResourceId- = lens _mobResourceId- (\ s a -> s{_mobResourceId = a})---- | Mobile Device manufacturer (Read-only)-mobManufacturer :: Lens' MobileDevice (Maybe Text)-mobManufacturer- = lens _mobManufacturer- (\ s a -> s{_mobManufacturer = a})---- | Mobile Device Build number (Read-only)-mobBuildNumber :: Lens' MobileDevice (Maybe Text)-mobBuildNumber- = lens _mobBuildNumber- (\ s a -> s{_mobBuildNumber = a})---- | Boolean indicating if this account is on owner\/primary profile or not--- (Read-only)-mobManagedAccountIsOnOwnerProFile :: Lens' MobileDevice (Maybe Bool)-mobManagedAccountIsOnOwnerProFile- = lens _mobManagedAccountIsOnOwnerProFile- (\ s a -> s{_mobManagedAccountIsOnOwnerProFile = a})---- | Date and time the device was last synchronized with the policy settings--- in the G Suite administrator control panel (Read-only)-mobLastSync :: Lens' MobileDevice (Maybe UTCTime)-mobLastSync- = lens _mobLastSync (\ s a -> s{_mobLastSync = a}) .- mapping _DateTime---- | List of accounts added on device (Read-only)-mobOtherAccountsInfo :: Lens' MobileDevice [Text]-mobOtherAccountsInfo- = lens _mobOtherAccountsInfo- (\ s a -> s{_mobOtherAccountsInfo = a})- . _Default- . _Coerce---- | Kind of resource this is.-mobKind :: Lens' MobileDevice Text-mobKind = lens _mobKind (\ s a -> s{_mobKind = a})---- | Adb (USB debugging) enabled or disabled on device (Read-only)-mobAdbStatus :: Lens' MobileDevice (Maybe Bool)-mobAdbStatus- = lens _mobAdbStatus (\ s a -> s{_mobAdbStatus = a})---- | Mobile Device release version version (Read-only)-mobReleaseVersion :: Lens' MobileDevice (Maybe Text)-mobReleaseVersion- = lens _mobReleaseVersion- (\ s a -> s{_mobReleaseVersion = a})---- | Mobile Device Brand (Read-only)-mobBrand :: Lens' MobileDevice (Maybe Text)-mobBrand = lens _mobBrand (\ s a -> s{_mobBrand = a})---- | Mobile Device Security patch level (Read-only)-mobSecurityPatchLevel :: Lens' MobileDevice (Maybe Int64)-mobSecurityPatchLevel- = lens _mobSecurityPatchLevel- (\ s a -> s{_mobSecurityPatchLevel = a})- . mapping _Coerce---- | Mobile Device mobile or network operator (if available) (Read-only)-mobNetworkOperator :: Lens' MobileDevice (Maybe Text)-mobNetworkOperator- = lens _mobNetworkOperator- (\ s a -> s{_mobNetworkOperator = a})---- | Mobile Device Kernel version (Read-only)-mobKernelVersion :: Lens' MobileDevice (Maybe Text)-mobKernelVersion- = lens _mobKernelVersion- (\ s a -> s{_mobKernelVersion = a})---- | Name of the mobile operating system-mobOS :: Lens' MobileDevice (Maybe Text)-mobOS = lens _mobOS (\ s a -> s{_mobOS = a})---- | List of owner user\'s names (Read-only)-mobName :: Lens' MobileDevice [Text]-mobName- = lens _mobName (\ s a -> s{_mobName = a}) . _Default- . _Coerce---- | Name of the model of the device-mobModel :: Lens' MobileDevice (Maybe Text)-mobModel = lens _mobModel (\ s a -> s{_mobModel = a})---- | Developer options enabled or disabled on device (Read-only)-mobDeveloperOptionsStatus :: Lens' MobileDevice (Maybe Bool)-mobDeveloperOptionsStatus- = lens _mobDeveloperOptionsStatus- (\ s a -> s{_mobDeveloperOptionsStatus = a})---- | Unknown sources enabled or disabled on device (Read-only)-mobUnknownSourcesStatus :: Lens' MobileDevice (Maybe Bool)-mobUnknownSourcesStatus- = lens _mobUnknownSourcesStatus- (\ s a -> s{_mobUnknownSourcesStatus = a})---- | Mobile Device MEID number (Read-only)-mobMeid :: Lens' MobileDevice (Maybe Text)-mobMeid = lens _mobMeid (\ s a -> s{_mobMeid = a})---- | Mobile Device Bootloader version (Read-only)-mobBootLoaderVersion :: Lens' MobileDevice (Maybe Text)-mobBootLoaderVersion- = lens _mobBootLoaderVersion- (\ s a -> s{_mobBootLoaderVersion = a})---- | Mobile Device serial number (Read-only)-mobDeviceId :: Lens' MobileDevice (Maybe Text)-mobDeviceId- = lens _mobDeviceId (\ s a -> s{_mobDeviceId = a})---- | Date and time the device was first synchronized with the policy settings--- in the G Suite administrator control panel (Read-only)-mobFirstSync :: Lens' MobileDevice (Maybe UTCTime)-mobFirstSync- = lens _mobFirstSync (\ s a -> s{_mobFirstSync = a})- . mapping _DateTime---- | Mobile Device user agent-mobUserAgent :: Lens' MobileDevice (Maybe Text)-mobUserAgent- = lens _mobUserAgent (\ s a -> s{_mobUserAgent = a})---- | Mobile Device IMEI number (Read-only)-mobImei :: Lens' MobileDevice (Maybe Text)-mobImei = lens _mobImei (\ s a -> s{_mobImei = a})---- | The type of device (Read-only)-mobType :: Lens' MobileDevice (Maybe Text)-mobType = lens _mobType (\ s a -> s{_mobType = a})---- | Mobile Device WiFi MAC address (Read-only)-mobWifiMACAddress :: Lens' MobileDevice (Maybe Text)-mobWifiMACAddress- = lens _mobWifiMACAddress- (\ s a -> s{_mobWifiMACAddress = a})---- | Mobile Device Encryption Status (Read-only)-mobEncryptionStatus :: Lens' MobileDevice (Maybe Text)-mobEncryptionStatus- = lens _mobEncryptionStatus- (\ s a -> s{_mobEncryptionStatus = a})---- | Mobile Device SSN or Serial Number (Read-only)-mobSerialNumber :: Lens' MobileDevice (Maybe Text)-mobSerialNumber- = lens _mobSerialNumber- (\ s a -> s{_mobSerialNumber = a})---- | DevicePasswordStatus (Read-only)-mobDevicePasswordStatus :: Lens' MobileDevice (Maybe Text)-mobDevicePasswordStatus- = lens _mobDevicePasswordStatus- (\ s a -> s{_mobDevicePasswordStatus = a})---- | Mobile Device Hardware Id (Read-only)-mobHardwareId :: Lens' MobileDevice (Maybe Text)-mobHardwareId- = lens _mobHardwareId- (\ s a -> s{_mobHardwareId = a})---- | Mobile Device Baseband version (Read-only)-mobBasebandVersion :: Lens' MobileDevice (Maybe Text)-mobBasebandVersion- = lens _mobBasebandVersion- (\ s a -> s{_mobBasebandVersion = a})---- | Work profile supported on device (Read-only)-mobSupportsWorkProFile :: Lens' MobileDevice (Maybe Bool)-mobSupportsWorkProFile- = lens _mobSupportsWorkProFile- (\ s a -> s{_mobSupportsWorkProFile = a})---- | Mobile Device Hardware (Read-only)-mobHardware :: Lens' MobileDevice (Maybe Text)-mobHardware- = lens _mobHardware (\ s a -> s{_mobHardware = a})---- | Mobile Device compromised status (Read-only)-mobDeviceCompromisedStatus :: Lens' MobileDevice (Maybe Text)-mobDeviceCompromisedStatus- = lens _mobDeviceCompromisedStatus- (\ s a -> s{_mobDeviceCompromisedStatus = a})---- | List of applications installed on Mobile Device-mobApplications :: Lens' MobileDevice [MobileDeviceApplicationsItem]-mobApplications- = lens _mobApplications- (\ s a -> s{_mobApplications = a})- . _Default- . _Coerce---- | The default locale used on the Mobile Device (Read-only)-mobDefaultLanguage :: Lens' MobileDevice (Maybe Text)-mobDefaultLanguage- = lens _mobDefaultLanguage- (\ s a -> s{_mobDefaultLanguage = a})--instance FromJSON MobileDevice where- parseJSON- = withObject "MobileDevice"- (\ o ->- MobileDevice' <$>- (o .:? "email" .!= mempty) <*> (o .:? "status") <*>- (o .:? "privilege")- <*> (o .:? "etag")- <*> (o .:? "resourceId")- <*> (o .:? "manufacturer")- <*> (o .:? "buildNumber")- <*> (o .:? "managedAccountIsOnOwnerProfile")- <*> (o .:? "lastSync")- <*> (o .:? "otherAccountsInfo" .!= mempty)- <*> (o .:? "kind" .!= "admin#directory#mobiledevice")- <*> (o .:? "adbStatus")- <*> (o .:? "releaseVersion")- <*> (o .:? "brand")- <*> (o .:? "securityPatchLevel")- <*> (o .:? "networkOperator")- <*> (o .:? "kernelVersion")- <*> (o .:? "os")- <*> (o .:? "name" .!= mempty)- <*> (o .:? "model")- <*> (o .:? "developerOptionsStatus")- <*> (o .:? "unknownSourcesStatus")- <*> (o .:? "meid")- <*> (o .:? "bootloaderVersion")- <*> (o .:? "deviceId")- <*> (o .:? "firstSync")- <*> (o .:? "userAgent")- <*> (o .:? "imei")- <*> (o .:? "type")- <*> (o .:? "wifiMacAddress")- <*> (o .:? "encryptionStatus")- <*> (o .:? "serialNumber")- <*> (o .:? "devicePasswordStatus")- <*> (o .:? "hardwareId")- <*> (o .:? "basebandVersion")- <*> (o .:? "supportsWorkProfile")- <*> (o .:? "hardware")- <*> (o .:? "deviceCompromisedStatus")- <*> (o .:? "applications" .!= mempty)- <*> (o .:? "defaultLanguage"))--instance ToJSON MobileDevice where- toJSON MobileDevice'{..}- = object- (catMaybes- [("email" .=) <$> _mobEmail,- ("status" .=) <$> _mobStatus,- ("privilege" .=) <$> _mobPrivilege,- ("etag" .=) <$> _mobEtag,- ("resourceId" .=) <$> _mobResourceId,- ("manufacturer" .=) <$> _mobManufacturer,- ("buildNumber" .=) <$> _mobBuildNumber,- ("managedAccountIsOnOwnerProfile" .=) <$>- _mobManagedAccountIsOnOwnerProFile,- ("lastSync" .=) <$> _mobLastSync,- ("otherAccountsInfo" .=) <$> _mobOtherAccountsInfo,- Just ("kind" .= _mobKind),- ("adbStatus" .=) <$> _mobAdbStatus,- ("releaseVersion" .=) <$> _mobReleaseVersion,- ("brand" .=) <$> _mobBrand,- ("securityPatchLevel" .=) <$> _mobSecurityPatchLevel,- ("networkOperator" .=) <$> _mobNetworkOperator,- ("kernelVersion" .=) <$> _mobKernelVersion,- ("os" .=) <$> _mobOS, ("name" .=) <$> _mobName,- ("model" .=) <$> _mobModel,- ("developerOptionsStatus" .=) <$>- _mobDeveloperOptionsStatus,- ("unknownSourcesStatus" .=) <$>- _mobUnknownSourcesStatus,- ("meid" .=) <$> _mobMeid,- ("bootloaderVersion" .=) <$> _mobBootLoaderVersion,- ("deviceId" .=) <$> _mobDeviceId,- ("firstSync" .=) <$> _mobFirstSync,- ("userAgent" .=) <$> _mobUserAgent,- ("imei" .=) <$> _mobImei, ("type" .=) <$> _mobType,- ("wifiMacAddress" .=) <$> _mobWifiMACAddress,- ("encryptionStatus" .=) <$> _mobEncryptionStatus,- ("serialNumber" .=) <$> _mobSerialNumber,- ("devicePasswordStatus" .=) <$>- _mobDevicePasswordStatus,- ("hardwareId" .=) <$> _mobHardwareId,- ("basebandVersion" .=) <$> _mobBasebandVersion,- ("supportsWorkProfile" .=) <$>- _mobSupportsWorkProFile,- ("hardware" .=) <$> _mobHardware,- ("deviceCompromisedStatus" .=) <$>- _mobDeviceCompromisedStatus,- ("applications" .=) <$> _mobApplications,- ("defaultLanguage" .=) <$> _mobDefaultLanguage])------- /See:/ 'chromeOSDeviceCPUStatusReportsItem' smart constructor.-data ChromeOSDeviceCPUStatusReportsItem = ChromeOSDeviceCPUStatusReportsItem'- { _codcsriCPUUtilizationPercentageInfo :: !(Maybe [Textual Int32])- , _codcsriCPUTemperatureInfo :: !(Maybe [ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem])- , _codcsriReportTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceCPUStatusReportsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codcsriCPUUtilizationPercentageInfo'------ * 'codcsriCPUTemperatureInfo'------ * 'codcsriReportTime'-chromeOSDeviceCPUStatusReportsItem- :: ChromeOSDeviceCPUStatusReportsItem-chromeOSDeviceCPUStatusReportsItem =- ChromeOSDeviceCPUStatusReportsItem'- { _codcsriCPUUtilizationPercentageInfo = Nothing- , _codcsriCPUTemperatureInfo = Nothing- , _codcsriReportTime = Nothing- }--codcsriCPUUtilizationPercentageInfo :: Lens' ChromeOSDeviceCPUStatusReportsItem [Int32]-codcsriCPUUtilizationPercentageInfo- = lens _codcsriCPUUtilizationPercentageInfo- (\ s a ->- s{_codcsriCPUUtilizationPercentageInfo = a})- . _Default- . _Coerce---- | List of CPU temperature samples.-codcsriCPUTemperatureInfo :: Lens' ChromeOSDeviceCPUStatusReportsItem [ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem]-codcsriCPUTemperatureInfo- = lens _codcsriCPUTemperatureInfo- (\ s a -> s{_codcsriCPUTemperatureInfo = a})- . _Default- . _Coerce---- | Date and time the report was received.-codcsriReportTime :: Lens' ChromeOSDeviceCPUStatusReportsItem (Maybe UTCTime)-codcsriReportTime- = lens _codcsriReportTime- (\ s a -> s{_codcsriReportTime = a})- . mapping _DateTime--instance FromJSON ChromeOSDeviceCPUStatusReportsItem- where- parseJSON- = withObject "ChromeOSDeviceCPUStatusReportsItem"- (\ o ->- ChromeOSDeviceCPUStatusReportsItem' <$>- (o .:? "cpuUtilizationPercentageInfo" .!= mempty) <*>- (o .:? "cpuTemperatureInfo" .!= mempty)- <*> (o .:? "reportTime"))--instance ToJSON ChromeOSDeviceCPUStatusReportsItem- where- toJSON ChromeOSDeviceCPUStatusReportsItem'{..}- = object- (catMaybes- [("cpuUtilizationPercentageInfo" .=) <$>- _codcsriCPUUtilizationPercentageInfo,- ("cpuTemperatureInfo" .=) <$>- _codcsriCPUTemperatureInfo,- ("reportTime" .=) <$> _codcsriReportTime])---- | JSON template for Member resource in Directory API.------ /See:/ 'member' smart constructor.-data Member = Member'- { _memEmail :: !(Maybe Text)- , _memStatus :: !(Maybe Text)- , _memEtag :: !(Maybe Text)- , _memKind :: !Text- , _memDeliverySettings :: !(Maybe Text)- , _memRole :: !(Maybe Text)- , _memId :: !(Maybe Text)- , _memType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Member' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'memEmail'------ * 'memStatus'------ * 'memEtag'------ * 'memKind'------ * 'memDeliverySettings'------ * 'memRole'------ * 'memId'------ * 'memType'-member- :: Member-member =- Member'- { _memEmail = Nothing- , _memStatus = Nothing- , _memEtag = Nothing- , _memKind = "admin#directory#member"- , _memDeliverySettings = Nothing- , _memRole = Nothing- , _memId = Nothing- , _memType = Nothing- }---- | Email of member (Read-only)-memEmail :: Lens' Member (Maybe Text)-memEmail = lens _memEmail (\ s a -> s{_memEmail = a})---- | Status of member (Immutable)-memStatus :: Lens' Member (Maybe Text)-memStatus- = lens _memStatus (\ s a -> s{_memStatus = a})---- | ETag of the resource.-memEtag :: Lens' Member (Maybe Text)-memEtag = lens _memEtag (\ s a -> s{_memEtag = a})---- | Kind of resource this is.-memKind :: Lens' Member Text-memKind = lens _memKind (\ s a -> s{_memKind = a})---- | Delivery settings of member-memDeliverySettings :: Lens' Member (Maybe Text)-memDeliverySettings- = lens _memDeliverySettings- (\ s a -> s{_memDeliverySettings = a})---- | Role of member-memRole :: Lens' Member (Maybe Text)-memRole = lens _memRole (\ s a -> s{_memRole = a})---- | Unique identifier of customer member (Read-only) Unique identifier of--- group (Read-only) Unique identifier of member (Read-only)-memId :: Lens' Member (Maybe Text)-memId = lens _memId (\ s a -> s{_memId = a})---- | Type of member (Immutable)-memType :: Lens' Member (Maybe Text)-memType = lens _memType (\ s a -> s{_memType = a})--instance FromJSON Member where- parseJSON- = withObject "Member"- (\ o ->- Member' <$>- (o .:? "email") <*> (o .:? "status") <*>- (o .:? "etag")- <*> (o .:? "kind" .!= "admin#directory#member")- <*> (o .:? "delivery_settings")- <*> (o .:? "role")- <*> (o .:? "id")- <*> (o .:? "type"))--instance ToJSON Member where- toJSON Member'{..}- = object- (catMaybes- [("email" .=) <$> _memEmail,- ("status" .=) <$> _memStatus,- ("etag" .=) <$> _memEtag, Just ("kind" .= _memKind),- ("delivery_settings" .=) <$> _memDeliverySettings,- ("role" .=) <$> _memRole, ("id" .=) <$> _memId,- ("type" .=) <$> _memType])---- | JSON template for App Access Collections Resource object in Directory--- API.------ /See:/ 'appAccessCollections' smart constructor.-data AppAccessCollections = AppAccessCollections'- { _aacEtag :: !(Maybe Text)- , _aacResourceId :: !(Maybe (Textual Int64))- , _aacEnforceSettingsForAndroidDrive :: !(Maybe Bool)- , _aacResourceName :: !(Maybe Text)- , _aacKind :: !Text- , _aacTrustDomainOwnedApps :: !(Maybe Bool)- , _aacBlockedAPIAccessBuckets :: !(Maybe [Text])- , _aacErrorMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppAccessCollections' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aacEtag'------ * 'aacResourceId'------ * 'aacEnforceSettingsForAndroidDrive'------ * 'aacResourceName'------ * 'aacKind'------ * 'aacTrustDomainOwnedApps'------ * 'aacBlockedAPIAccessBuckets'------ * 'aacErrorMessage'-appAccessCollections- :: AppAccessCollections-appAccessCollections =- AppAccessCollections'- { _aacEtag = Nothing- , _aacResourceId = Nothing- , _aacEnforceSettingsForAndroidDrive = Nothing- , _aacResourceName = Nothing- , _aacKind = "admin#directory#appaccesscollection"- , _aacTrustDomainOwnedApps = Nothing- , _aacBlockedAPIAccessBuckets = Nothing- , _aacErrorMessage = Nothing- }---- | ETag of the resource.-aacEtag :: Lens' AppAccessCollections (Maybe Text)-aacEtag = lens _aacEtag (\ s a -> s{_aacEtag = a})---- | Unique ID of app access collection. (Readonly)-aacResourceId :: Lens' AppAccessCollections (Maybe Int64)-aacResourceId- = lens _aacResourceId- (\ s a -> s{_aacResourceId = a})- . mapping _Coerce---- | Boolean to indicate whether to enforce app access settings on Android--- Drive or not.-aacEnforceSettingsForAndroidDrive :: Lens' AppAccessCollections (Maybe Bool)-aacEnforceSettingsForAndroidDrive- = lens _aacEnforceSettingsForAndroidDrive- (\ s a -> s{_aacEnforceSettingsForAndroidDrive = a})---- | Resource name given by the customer while creating\/updating. Should be--- unique under given customer.-aacResourceName :: Lens' AppAccessCollections (Maybe Text)-aacResourceName- = lens _aacResourceName- (\ s a -> s{_aacResourceName = a})---- | Identifies the resource as an app access collection. Value:--- admin#directory#appaccesscollection-aacKind :: Lens' AppAccessCollections Text-aacKind = lens _aacKind (\ s a -> s{_aacKind = a})---- | Boolean that indicates whether to trust domain owned apps.-aacTrustDomainOwnedApps :: Lens' AppAccessCollections (Maybe Bool)-aacTrustDomainOwnedApps- = lens _aacTrustDomainOwnedApps- (\ s a -> s{_aacTrustDomainOwnedApps = a})---- | List of blocked api access buckets.-aacBlockedAPIAccessBuckets :: Lens' AppAccessCollections [Text]-aacBlockedAPIAccessBuckets- = lens _aacBlockedAPIAccessBuckets- (\ s a -> s{_aacBlockedAPIAccessBuckets = a})- . _Default- . _Coerce---- | Error message provided by the Admin that will be shown to the user when--- an app is blocked.-aacErrorMessage :: Lens' AppAccessCollections (Maybe Text)-aacErrorMessage- = lens _aacErrorMessage- (\ s a -> s{_aacErrorMessage = a})--instance FromJSON AppAccessCollections where- parseJSON- = withObject "AppAccessCollections"- (\ o ->- AppAccessCollections' <$>- (o .:? "etag") <*> (o .:? "resourceId") <*>- (o .:? "enforceSettingsForAndroidDrive")- <*> (o .:? "resourceName")- <*>- (o .:? "kind" .!=- "admin#directory#appaccesscollection")- <*> (o .:? "trustDomainOwnedApps")- <*> (o .:? "blockedApiAccessBuckets" .!= mempty)- <*> (o .:? "errorMessage"))--instance ToJSON AppAccessCollections where- toJSON AppAccessCollections'{..}- = object- (catMaybes- [("etag" .=) <$> _aacEtag,- ("resourceId" .=) <$> _aacResourceId,- ("enforceSettingsForAndroidDrive" .=) <$>- _aacEnforceSettingsForAndroidDrive,- ("resourceName" .=) <$> _aacResourceName,- Just ("kind" .= _aacKind),- ("trustDomainOwnedApps" .=) <$>- _aacTrustDomainOwnedApps,- ("blockedApiAccessBuckets" .=) <$>- _aacBlockedAPIAccessBuckets,- ("errorMessage" .=) <$> _aacErrorMessage])---- | JSON template for a set of custom properties (i.e. all fields in a--- particular schema)------ /See:/ 'userCustomProperties' smart constructor.-newtype UserCustomProperties = UserCustomProperties'- { _ucpAddtional :: HashMap Text JSONValue- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserCustomProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucpAddtional'-userCustomProperties- :: HashMap Text JSONValue -- ^ 'ucpAddtional'- -> UserCustomProperties-userCustomProperties pUcpAddtional_ =- UserCustomProperties'- { _ucpAddtional = _Coerce # pUcpAddtional_- }--ucpAddtional :: Lens' UserCustomProperties (HashMap Text JSONValue)-ucpAddtional- = lens _ucpAddtional (\ s a -> s{_ucpAddtional = a})- . _Coerce--instance FromJSON UserCustomProperties where- parseJSON- = withObject "UserCustomProperties"- (\ o ->- UserCustomProperties' <$> (parseJSONObject o))--instance ToJSON UserCustomProperties where- toJSON = toJSON . _ucpAddtional---- | JSON template for a language entry.------ /See:/ 'userLanguage' smart constructor.-data UserLanguage = UserLanguage'- { _ulLanguageCode :: !(Maybe Text)- , _ulCustomLanguage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserLanguage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ulLanguageCode'------ * 'ulCustomLanguage'-userLanguage- :: UserLanguage-userLanguage =- UserLanguage'- { _ulLanguageCode = Nothing- , _ulCustomLanguage = Nothing- }---- | Language Code. Should be used for storing Google III LanguageCode string--- representation for language. Illegal values cause SchemaException.-ulLanguageCode :: Lens' UserLanguage (Maybe Text)-ulLanguageCode- = lens _ulLanguageCode- (\ s a -> s{_ulLanguageCode = a})---- | Other language. User can provide own language name if there is no--- corresponding Google III language code. If this is set LanguageCode--- can\'t be set-ulCustomLanguage :: Lens' UserLanguage (Maybe Text)-ulCustomLanguage- = lens _ulCustomLanguage- (\ s a -> s{_ulCustomLanguage = a})--instance FromJSON UserLanguage where- parseJSON- = withObject "UserLanguage"- (\ o ->- UserLanguage' <$>- (o .:? "languageCode") <*> (o .:? "customLanguage"))--instance ToJSON UserLanguage where- toJSON UserLanguage'{..}- = object- (catMaybes- [("languageCode" .=) <$> _ulLanguageCode,- ("customLanguage" .=) <$> _ulCustomLanguage])---- | JSON template for Domain object in Directory API.------ /See:/ 'domains' smart constructor.-data Domains = Domains'- { _domCreationTime :: !(Maybe (Textual Int64))- , _domEtag :: !(Maybe Text)- , _domKind :: !Text- , _domDomainAliases :: !(Maybe [DomainAlias])- , _domVerified :: !(Maybe Bool)- , _domDomainName :: !(Maybe Text)- , _domIsPrimary :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Domains' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'domCreationTime'------ * 'domEtag'------ * 'domKind'------ * 'domDomainAliases'------ * 'domVerified'------ * 'domDomainName'------ * 'domIsPrimary'-domains- :: Domains-domains =- Domains'- { _domCreationTime = Nothing- , _domEtag = Nothing- , _domKind = "admin#directory#domain"- , _domDomainAliases = Nothing- , _domVerified = Nothing- , _domDomainName = Nothing- , _domIsPrimary = Nothing- }---- | Creation time of the domain. (Read-only).-domCreationTime :: Lens' Domains (Maybe Int64)-domCreationTime- = lens _domCreationTime- (\ s a -> s{_domCreationTime = a})- . mapping _Coerce---- | ETag of the resource.-domEtag :: Lens' Domains (Maybe Text)-domEtag = lens _domEtag (\ s a -> s{_domEtag = a})---- | Kind of resource this is.-domKind :: Lens' Domains Text-domKind = lens _domKind (\ s a -> s{_domKind = a})---- | List of domain alias objects. (Read-only)-domDomainAliases :: Lens' Domains [DomainAlias]-domDomainAliases- = lens _domDomainAliases- (\ s a -> s{_domDomainAliases = a})- . _Default- . _Coerce---- | Indicates the verification state of a domain. (Read-only).-domVerified :: Lens' Domains (Maybe Bool)-domVerified- = lens _domVerified (\ s a -> s{_domVerified = a})---- | The domain name of the customer.-domDomainName :: Lens' Domains (Maybe Text)-domDomainName- = lens _domDomainName- (\ s a -> s{_domDomainName = a})---- | Indicates if the domain is a primary domain (Read-only).-domIsPrimary :: Lens' Domains (Maybe Bool)-domIsPrimary- = lens _domIsPrimary (\ s a -> s{_domIsPrimary = a})--instance FromJSON Domains where- parseJSON- = withObject "Domains"- (\ o ->- Domains' <$>- (o .:? "creationTime") <*> (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#domain")- <*> (o .:? "domainAliases" .!= mempty)- <*> (o .:? "verified")- <*> (o .:? "domainName")- <*> (o .:? "isPrimary"))--instance ToJSON Domains where- toJSON Domains'{..}- = object- (catMaybes- [("creationTime" .=) <$> _domCreationTime,- ("etag" .=) <$> _domEtag, Just ("kind" .= _domKind),- ("domainAliases" .=) <$> _domDomainAliases,- ("verified" .=) <$> _domVerified,- ("domainName" .=) <$> _domDomainName,- ("isPrimary" .=) <$> _domIsPrimary])---- | JSON template for Calendar Resource List Response object in Directory--- API.------ /See:/ 'calendarResources' smart constructor.-data CalendarResources = CalendarResources'- { _crsEtag :: !(Maybe Text)- , _crsNextPageToken :: !(Maybe Text)- , _crsKind :: !Text- , _crsItems :: !(Maybe [CalendarResource])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CalendarResources' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crsEtag'------ * 'crsNextPageToken'------ * 'crsKind'------ * 'crsItems'-calendarResources- :: CalendarResources-calendarResources =- CalendarResources'- { _crsEtag = Nothing- , _crsNextPageToken = Nothing- , _crsKind = "admin#directory#resources#calendars#calendarResourcesList"- , _crsItems = Nothing- }---- | ETag of the resource.-crsEtag :: Lens' CalendarResources (Maybe Text)-crsEtag = lens _crsEtag (\ s a -> s{_crsEtag = a})---- | The continuation token, used to page through large result sets. Provide--- this value in a subsequent request to return the next page of results.-crsNextPageToken :: Lens' CalendarResources (Maybe Text)-crsNextPageToken- = lens _crsNextPageToken- (\ s a -> s{_crsNextPageToken = a})---- | Identifies this as a collection of CalendarResources. This is always--- admin#directory#resources#calendars#calendarResourcesList.-crsKind :: Lens' CalendarResources Text-crsKind = lens _crsKind (\ s a -> s{_crsKind = a})---- | The CalendarResources in this page of results.-crsItems :: Lens' CalendarResources [CalendarResource]-crsItems- = lens _crsItems (\ s a -> s{_crsItems = a}) .- _Default- . _Coerce--instance FromJSON CalendarResources where- parseJSON- = withObject "CalendarResources"- (\ o ->- CalendarResources' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "admin#directory#resources#calendars#calendarResourcesList")- <*> (o .:? "items" .!= mempty))--instance ToJSON CalendarResources where- toJSON CalendarResources'{..}- = object- (catMaybes- [("etag" .=) <$> _crsEtag,- ("nextPageToken" .=) <$> _crsNextPageToken,- Just ("kind" .= _crsKind),- ("items" .=) <$> _crsItems])---- | Template for notifications list response.------ /See:/ 'notifications' smart constructor.-data Notifications = Notifications'- { _notEtag :: !(Maybe Text)- , _notNextPageToken :: !(Maybe Text)- , _notKind :: !Text- , _notItems :: !(Maybe [Notification])- , _notUnreadNotificationsCount :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Notifications' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'notEtag'------ * 'notNextPageToken'------ * 'notKind'------ * 'notItems'------ * 'notUnreadNotificationsCount'-notifications- :: Notifications-notifications =- Notifications'- { _notEtag = Nothing- , _notNextPageToken = Nothing- , _notKind = "admin#directory#notifications"- , _notItems = Nothing- , _notUnreadNotificationsCount = Nothing- }---- | ETag of the resource.-notEtag :: Lens' Notifications (Maybe Text)-notEtag = lens _notEtag (\ s a -> s{_notEtag = a})---- | Token for fetching the next page of notifications.-notNextPageToken :: Lens' Notifications (Maybe Text)-notNextPageToken- = lens _notNextPageToken- (\ s a -> s{_notNextPageToken = a})---- | The type of the resource.-notKind :: Lens' Notifications Text-notKind = lens _notKind (\ s a -> s{_notKind = a})---- | List of notifications in this page.-notItems :: Lens' Notifications [Notification]-notItems- = lens _notItems (\ s a -> s{_notItems = a}) .- _Default- . _Coerce---- | Number of unread notification for the domain.-notUnreadNotificationsCount :: Lens' Notifications (Maybe Int32)-notUnreadNotificationsCount- = lens _notUnreadNotificationsCount- (\ s a -> s{_notUnreadNotificationsCount = a})- . mapping _Coerce--instance FromJSON Notifications where- parseJSON- = withObject "Notifications"- (\ o ->- Notifications' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#notifications")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "unreadNotificationsCount"))--instance ToJSON Notifications where- toJSON Notifications'{..}- = object- (catMaybes- [("etag" .=) <$> _notEtag,- ("nextPageToken" .=) <$> _notNextPageToken,- Just ("kind" .= _notKind),- ("items" .=) <$> _notItems,- ("unreadNotificationsCount" .=) <$>- _notUnreadNotificationsCount])---- | Indexing spec for a numeric field. By default, only exact match queries--- will be supported for numeric fields. Setting the numericIndexingSpec--- allows range queries to be supported.------ /See:/ 'schemaFieldSpecNumericIndexingSpec' smart constructor.-data SchemaFieldSpecNumericIndexingSpec = SchemaFieldSpecNumericIndexingSpec'- { _sfsnisMaxValue :: !(Maybe (Textual Double))- , _sfsnisMinValue :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SchemaFieldSpecNumericIndexingSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfsnisMaxValue'------ * 'sfsnisMinValue'-schemaFieldSpecNumericIndexingSpec- :: SchemaFieldSpecNumericIndexingSpec-schemaFieldSpecNumericIndexingSpec =- SchemaFieldSpecNumericIndexingSpec'- { _sfsnisMaxValue = Nothing- , _sfsnisMinValue = Nothing- }---- | Maximum value of this field. This is meant to be indicative rather than--- enforced. Values outside this range will still be indexed, but search--- may not be as performant.-sfsnisMaxValue :: Lens' SchemaFieldSpecNumericIndexingSpec (Maybe Double)-sfsnisMaxValue- = lens _sfsnisMaxValue- (\ s a -> s{_sfsnisMaxValue = a})- . mapping _Coerce---- | Minimum value of this field. This is meant to be indicative rather than--- enforced. Values outside this range will still be indexed, but search--- may not be as performant.-sfsnisMinValue :: Lens' SchemaFieldSpecNumericIndexingSpec (Maybe Double)-sfsnisMinValue- = lens _sfsnisMinValue- (\ s a -> s{_sfsnisMinValue = a})- . mapping _Coerce--instance FromJSON SchemaFieldSpecNumericIndexingSpec- where- parseJSON- = withObject "SchemaFieldSpecNumericIndexingSpec"- (\ o ->- SchemaFieldSpecNumericIndexingSpec' <$>- (o .:? "maxValue") <*> (o .:? "minValue"))--instance ToJSON SchemaFieldSpecNumericIndexingSpec- where- toJSON SchemaFieldSpecNumericIndexingSpec'{..}- = object- (catMaybes- [("maxValue" .=) <$> _sfsnisMaxValue,- ("minValue" .=) <$> _sfsnisMinValue])---- | JSON request template for firing commands on Mobile Device in Directory--- Devices API.------ /See:/ 'mobileDeviceAction' smart constructor.-newtype MobileDeviceAction = MobileDeviceAction'- { _mdaAction :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MobileDeviceAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdaAction'-mobileDeviceAction- :: MobileDeviceAction-mobileDeviceAction =- MobileDeviceAction'- { _mdaAction = Nothing- }---- | Action to be taken on the Mobile Device-mdaAction :: Lens' MobileDeviceAction (Maybe Text)-mdaAction- = lens _mdaAction (\ s a -> s{_mdaAction = a})--instance FromJSON MobileDeviceAction where- parseJSON- = withObject "MobileDeviceAction"- (\ o -> MobileDeviceAction' <$> (o .:? "action"))--instance ToJSON MobileDeviceAction where- toJSON MobileDeviceAction'{..}- = object (catMaybes [("action" .=) <$> _mdaAction])---- | JSON template for FieldSpec resource for Schemas in Directory API.------ /See:/ 'schemaFieldSpec' smart constructor.-data SchemaFieldSpec = SchemaFieldSpec'- { _sfsEtag :: !(Maybe Text)- , _sfsKind :: !Text- , _sfsNumericIndexingSpec :: !(Maybe SchemaFieldSpecNumericIndexingSpec)- , _sfsReadAccessType :: !Text- , _sfsFieldId :: !(Maybe Text)- , _sfsIndexed :: !Bool- , _sfsFieldType :: !(Maybe Text)- , _sfsFieldName :: !(Maybe Text)- , _sfsDisplayName :: !(Maybe Text)- , _sfsMultiValued :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SchemaFieldSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfsEtag'------ * 'sfsKind'------ * 'sfsNumericIndexingSpec'------ * 'sfsReadAccessType'------ * 'sfsFieldId'------ * 'sfsIndexed'------ * 'sfsFieldType'------ * 'sfsFieldName'------ * 'sfsDisplayName'------ * 'sfsMultiValued'-schemaFieldSpec- :: SchemaFieldSpec-schemaFieldSpec =- SchemaFieldSpec'- { _sfsEtag = Nothing- , _sfsKind = "admin#directory#schema#fieldspec"- , _sfsNumericIndexingSpec = Nothing- , _sfsReadAccessType = "ALL_DOMAIN_USERS"- , _sfsFieldId = Nothing- , _sfsIndexed = True- , _sfsFieldType = Nothing- , _sfsFieldName = Nothing- , _sfsDisplayName = Nothing- , _sfsMultiValued = Nothing- }---- | ETag of the resource.-sfsEtag :: Lens' SchemaFieldSpec (Maybe Text)-sfsEtag = lens _sfsEtag (\ s a -> s{_sfsEtag = a})---- | Kind of resource this is.-sfsKind :: Lens' SchemaFieldSpec Text-sfsKind = lens _sfsKind (\ s a -> s{_sfsKind = a})---- | Indexing spec for a numeric field. By default, only exact match queries--- will be supported for numeric fields. Setting the numericIndexingSpec--- allows range queries to be supported.-sfsNumericIndexingSpec :: Lens' SchemaFieldSpec (Maybe SchemaFieldSpecNumericIndexingSpec)-sfsNumericIndexingSpec- = lens _sfsNumericIndexingSpec- (\ s a -> s{_sfsNumericIndexingSpec = a})---- | Read ACLs on the field specifying who can view values of this field.--- Valid values are \"ALL_DOMAIN_USERS\" and \"ADMINS_AND_SELF\".-sfsReadAccessType :: Lens' SchemaFieldSpec Text-sfsReadAccessType- = lens _sfsReadAccessType- (\ s a -> s{_sfsReadAccessType = a})---- | Unique identifier of Field (Read-only)-sfsFieldId :: Lens' SchemaFieldSpec (Maybe Text)-sfsFieldId- = lens _sfsFieldId (\ s a -> s{_sfsFieldId = a})---- | Boolean specifying whether the field is indexed or not.-sfsIndexed :: Lens' SchemaFieldSpec Bool-sfsIndexed- = lens _sfsIndexed (\ s a -> s{_sfsIndexed = a})---- | Type of the field.-sfsFieldType :: Lens' SchemaFieldSpec (Maybe Text)-sfsFieldType- = lens _sfsFieldType (\ s a -> s{_sfsFieldType = a})---- | Name of the field.-sfsFieldName :: Lens' SchemaFieldSpec (Maybe Text)-sfsFieldName- = lens _sfsFieldName (\ s a -> s{_sfsFieldName = a})---- | Display Name of the field.-sfsDisplayName :: Lens' SchemaFieldSpec (Maybe Text)-sfsDisplayName- = lens _sfsDisplayName- (\ s a -> s{_sfsDisplayName = a})---- | Boolean specifying whether this is a multi-valued field or not.-sfsMultiValued :: Lens' SchemaFieldSpec (Maybe Bool)-sfsMultiValued- = lens _sfsMultiValued- (\ s a -> s{_sfsMultiValued = a})--instance FromJSON SchemaFieldSpec where- parseJSON- = withObject "SchemaFieldSpec"- (\ o ->- SchemaFieldSpec' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#schema#fieldspec")- <*> (o .:? "numericIndexingSpec")- <*> (o .:? "readAccessType" .!= "ALL_DOMAIN_USERS")- <*> (o .:? "fieldId")- <*> (o .:? "indexed" .!= True)- <*> (o .:? "fieldType")- <*> (o .:? "fieldName")- <*> (o .:? "displayName")- <*> (o .:? "multiValued"))--instance ToJSON SchemaFieldSpec where- toJSON SchemaFieldSpec'{..}- = object- (catMaybes- [("etag" .=) <$> _sfsEtag, Just ("kind" .= _sfsKind),- ("numericIndexingSpec" .=) <$>- _sfsNumericIndexingSpec,- Just ("readAccessType" .= _sfsReadAccessType),- ("fieldId" .=) <$> _sfsFieldId,- Just ("indexed" .= _sfsIndexed),- ("fieldType" .=) <$> _sfsFieldType,- ("fieldName" .=) <$> _sfsFieldName,- ("displayName" .=) <$> _sfsDisplayName,- ("multiValued" .=) <$> _sfsMultiValued])---- | JSON response template for List Chrome OS Devices operation in Directory--- API.------ /See:/ 'chromeOSDevices' smart constructor.-data ChromeOSDevices = ChromeOSDevices'- { _cosdEtag :: !(Maybe Text)- , _cosdNextPageToken :: !(Maybe Text)- , _cosdKind :: !Text- , _cosdChromeosDevices :: !(Maybe [ChromeOSDevice])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDevices' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cosdEtag'------ * 'cosdNextPageToken'------ * 'cosdKind'------ * 'cosdChromeosDevices'-chromeOSDevices- :: ChromeOSDevices-chromeOSDevices =- ChromeOSDevices'- { _cosdEtag = Nothing- , _cosdNextPageToken = Nothing- , _cosdKind = "admin#directory#chromeosdevices"- , _cosdChromeosDevices = Nothing- }---- | ETag of the resource.-cosdEtag :: Lens' ChromeOSDevices (Maybe Text)-cosdEtag = lens _cosdEtag (\ s a -> s{_cosdEtag = a})---- | Token used to access next page of this result.-cosdNextPageToken :: Lens' ChromeOSDevices (Maybe Text)-cosdNextPageToken- = lens _cosdNextPageToken- (\ s a -> s{_cosdNextPageToken = a})---- | Kind of resource this is.-cosdKind :: Lens' ChromeOSDevices Text-cosdKind = lens _cosdKind (\ s a -> s{_cosdKind = a})---- | List of Chrome OS Device objects.-cosdChromeosDevices :: Lens' ChromeOSDevices [ChromeOSDevice]-cosdChromeosDevices- = lens _cosdChromeosDevices- (\ s a -> s{_cosdChromeosDevices = a})- . _Default- . _Coerce--instance FromJSON ChromeOSDevices where- parseJSON- = withObject "ChromeOSDevices"- (\ o ->- ChromeOSDevices' <$>- (o .:? "etag") <*> (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "admin#directory#chromeosdevices")- <*> (o .:? "chromeosdevices" .!= mempty))--instance ToJSON ChromeOSDevices where- toJSON ChromeOSDevices'{..}- = object- (catMaybes- [("etag" .=) <$> _cosdEtag,- ("nextPageToken" .=) <$> _cosdNextPageToken,- Just ("kind" .= _cosdKind),- ("chromeosdevices" .=) <$> _cosdChromeosDevices])---- | JSON template for Has Member response in Directory API.------ /See:/ 'membersHasMember' smart constructor.-newtype MembersHasMember = MembersHasMember'- { _mhmIsMember :: Maybe Bool- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MembersHasMember' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mhmIsMember'-membersHasMember- :: MembersHasMember-membersHasMember =- MembersHasMember'- { _mhmIsMember = Nothing- }---- | Identifies whether the given user is a member of the group. Membership--- can be direct or nested.-mhmIsMember :: Lens' MembersHasMember (Maybe Bool)-mhmIsMember- = lens _mhmIsMember (\ s a -> s{_mhmIsMember = a})--instance FromJSON MembersHasMember where- parseJSON- = withObject "MembersHasMember"- (\ o -> MembersHasMember' <$> (o .:? "isMember"))--instance ToJSON MembersHasMember where- toJSON MembersHasMember'{..}- = object- (catMaybes [("isMember" .=) <$> _mhmIsMember])---- | JSON template for Trusted App Ids Resource object in Directory API.------ /See:/ 'trustedAppId' smart constructor.-data TrustedAppId = TrustedAppId'- { _taiCertificateHashSHA256 :: !(Maybe Text)- , _taiEtag :: !(Maybe Text)- , _taiKind :: !Text- , _taiCertificateHashSHA1 :: !(Maybe Text)- , _taiAndroidPackageName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TrustedAppId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'taiCertificateHashSHA256'------ * 'taiEtag'------ * 'taiKind'------ * 'taiCertificateHashSHA1'------ * 'taiAndroidPackageName'-trustedAppId- :: TrustedAppId-trustedAppId =- TrustedAppId'- { _taiCertificateHashSHA256 = Nothing- , _taiEtag = Nothing- , _taiKind = "admin#directory#trustedappid"- , _taiCertificateHashSHA1 = Nothing- , _taiAndroidPackageName = Nothing- }---- | SHA256 signature of the app certificate.-taiCertificateHashSHA256 :: Lens' TrustedAppId (Maybe Text)-taiCertificateHashSHA256- = lens _taiCertificateHashSHA256- (\ s a -> s{_taiCertificateHashSHA256 = a})--taiEtag :: Lens' TrustedAppId (Maybe Text)-taiEtag = lens _taiEtag (\ s a -> s{_taiEtag = a})---- | Identifies the resource as a trusted AppId.-taiKind :: Lens' TrustedAppId Text-taiKind = lens _taiKind (\ s a -> s{_taiKind = a})---- | SHA1 signature of the app certificate.-taiCertificateHashSHA1 :: Lens' TrustedAppId (Maybe Text)-taiCertificateHashSHA1- = lens _taiCertificateHashSHA1- (\ s a -> s{_taiCertificateHashSHA1 = a})---- | Android package name.-taiAndroidPackageName :: Lens' TrustedAppId (Maybe Text)-taiAndroidPackageName- = lens _taiAndroidPackageName- (\ s a -> s{_taiAndroidPackageName = a})--instance FromJSON TrustedAppId where- parseJSON- = withObject "TrustedAppId"- (\ o ->- TrustedAppId' <$>- (o .:? "certificateHashSHA256") <*> (o .:? "etag")- <*> (o .:? "kind" .!= "admin#directory#trustedappid")- <*> (o .:? "certificateHashSHA1")- <*> (o .:? "androidPackageName"))--instance ToJSON TrustedAppId where- toJSON TrustedAppId'{..}- = object- (catMaybes- [("certificateHashSHA256" .=) <$>- _taiCertificateHashSHA256,- ("etag" .=) <$> _taiEtag, Just ("kind" .= _taiKind),- ("certificateHashSHA1" .=) <$>- _taiCertificateHashSHA1,- ("androidPackageName" .=) <$>- _taiAndroidPackageName])---- | JSON template for an externalId entry.------ /See:/ 'userExternalId' smart constructor.-data UserExternalId = UserExternalId'- { _ueiValue :: !(Maybe Text)- , _ueiType :: !(Maybe Text)- , _ueiCustomType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserExternalId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ueiValue'------ * 'ueiType'------ * 'ueiCustomType'-userExternalId- :: UserExternalId-userExternalId =- UserExternalId'- { _ueiValue = Nothing- , _ueiType = Nothing- , _ueiCustomType = Nothing- }---- | The value of the id.-ueiValue :: Lens' UserExternalId (Maybe Text)-ueiValue = lens _ueiValue (\ s a -> s{_ueiValue = a})---- | The type of the Id.-ueiType :: Lens' UserExternalId (Maybe Text)-ueiType = lens _ueiType (\ s a -> s{_ueiType = a})---- | Custom type.-ueiCustomType :: Lens' UserExternalId (Maybe Text)-ueiCustomType- = lens _ueiCustomType- (\ s a -> s{_ueiCustomType = a})--instance FromJSON UserExternalId where- parseJSON- = withObject "UserExternalId"- (\ o ->- UserExternalId' <$>- (o .:? "value") <*> (o .:? "type") <*>- (o .:? "customType"))--instance ToJSON UserExternalId where- toJSON UserExternalId'{..}- = object- (catMaybes- [("value" .=) <$> _ueiValue,- ("type" .=) <$> _ueiType,- ("customType" .=) <$> _ueiCustomType])------- /See:/ 'asps' smart constructor.-data Asps = Asps'- { _aspEtag :: !(Maybe Text)- , _aspKind :: !Text- , _aspItems :: !(Maybe [Asp])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Asps' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aspEtag'------ * 'aspKind'------ * 'aspItems'-asps- :: Asps-asps =- Asps'- { _aspEtag = Nothing- , _aspKind = "admin#directory#aspList"- , _aspItems = Nothing- }---- | ETag of the resource.-aspEtag :: Lens' Asps (Maybe Text)-aspEtag = lens _aspEtag (\ s a -> s{_aspEtag = a})---- | The type of the API resource. This is always admin#directory#aspList.-aspKind :: Lens' Asps Text-aspKind = lens _aspKind (\ s a -> s{_aspKind = a})---- | A list of ASP resources.-aspItems :: Lens' Asps [Asp]-aspItems- = lens _aspItems (\ s a -> s{_aspItems = a}) .- _Default- . _Coerce--instance FromJSON Asps where- parseJSON- = withObject "Asps"- (\ o ->- Asps' <$>- (o .:? "etag") <*>- (o .:? "kind" .!= "admin#directory#aspList")- <*> (o .:? "items" .!= mempty))--instance ToJSON Asps where- toJSON Asps'{..}- = object- (catMaybes- [("etag" .=) <$> _aspEtag, Just ("kind" .= _aspKind),- ("items" .=) <$> _aspItems])------- /See:/ 'chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem' smart constructor.-data ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem = ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'- { _codcsrictiiTemperature :: !(Maybe (Textual Int32))- , _codcsrictiiLabel :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'codcsrictiiTemperature'------ * 'codcsrictiiLabel'-chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem- :: ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem-chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem =- ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'- { _codcsrictiiTemperature = Nothing- , _codcsrictiiLabel = Nothing- }---- | Temperature in Celsius degrees.-codcsrictiiTemperature :: Lens' ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem (Maybe Int32)-codcsrictiiTemperature- = lens _codcsrictiiTemperature- (\ s a -> s{_codcsrictiiTemperature = a})- . mapping _Coerce---- | CPU label-codcsrictiiLabel :: Lens' ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem (Maybe Text)-codcsrictiiLabel- = lens _codcsrictiiLabel- (\ s a -> s{_codcsrictiiLabel = a})--instance FromJSON- ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem- where- parseJSON- = withObject- "ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem"- (\ o ->- ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'- <$> (o .:? "temperature") <*> (o .:? "label"))--instance ToJSON- ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem- where- toJSON- ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'{..}- = object- (catMaybes- [("temperature" .=) <$> _codcsrictiiTemperature,- ("label" .=) <$> _codcsrictiiLabel])------- /See:/ 'roleRolePrivilegesItem' smart constructor.-data RoleRolePrivilegesItem = RoleRolePrivilegesItem'- { _rrpiServiceId :: !(Maybe Text)- , _rrpiPrivilegeName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RoleRolePrivilegesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrpiServiceId'------ * 'rrpiPrivilegeName'-roleRolePrivilegesItem- :: RoleRolePrivilegesItem-roleRolePrivilegesItem =- RoleRolePrivilegesItem'- { _rrpiServiceId = Nothing- , _rrpiPrivilegeName = Nothing- }---- | The obfuscated ID of the service this privilege is for.-rrpiServiceId :: Lens' RoleRolePrivilegesItem (Maybe Text)-rrpiServiceId- = lens _rrpiServiceId- (\ s a -> s{_rrpiServiceId = a})---- | The name of the privilege.-rrpiPrivilegeName :: Lens' RoleRolePrivilegesItem (Maybe Text)-rrpiPrivilegeName- = lens _rrpiPrivilegeName- (\ s a -> s{_rrpiPrivilegeName = a})--instance FromJSON RoleRolePrivilegesItem where- parseJSON- = withObject "RoleRolePrivilegesItem"- (\ o ->- RoleRolePrivilegesItem' <$>- (o .:? "serviceId") <*> (o .:? "privilegeName"))--instance ToJSON RoleRolePrivilegesItem where- toJSON RoleRolePrivilegesItem'{..}- = object- (catMaybes- [("serviceId" .=) <$> _rrpiServiceId,- ("privilegeName" .=) <$> _rrpiPrivilegeName])---- | JSON response template to list Domains in Directory API.------ /See:/ 'domains2' smart constructor.-data Domains2 = Domains2'- { _ddEtag :: !(Maybe Text)- , _ddKind :: !Text- , _ddDomains :: !(Maybe [Domains])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Domains2' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ddEtag'------ * 'ddKind'------ * 'ddDomains'-domains2- :: Domains2-domains2 =- Domains2'- { _ddEtag = Nothing- , _ddKind = "admin#directory#domains"- , _ddDomains = Nothing- }+data UserLocation =+ UserLocation'+ { _ulArea :: !(Maybe Text)+ , _ulBuildingId :: !(Maybe Text)+ , _ulDeskCode :: !(Maybe Text)+ , _ulFloorName :: !(Maybe Text)+ , _ulType :: !(Maybe Text)+ , _ulCustomType :: !(Maybe Text)+ , _ulFloorSection :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulArea'+--+-- * 'ulBuildingId'+--+-- * 'ulDeskCode'+--+-- * 'ulFloorName'+--+-- * 'ulType'+--+-- * 'ulCustomType'+--+-- * 'ulFloorSection'+userLocation+ :: UserLocation+userLocation =+ UserLocation'+ { _ulArea = Nothing+ , _ulBuildingId = Nothing+ , _ulDeskCode = Nothing+ , _ulFloorName = Nothing+ , _ulType = Nothing+ , _ulCustomType = Nothing+ , _ulFloorSection = Nothing+ }+++-- | Textual location. This is most useful for display purposes to concisely+-- describe the location. For example, \"Mountain View, CA\", \"Near+-- Seattle\", \"US-NYC-9TH 9A209A\".+ulArea :: Lens' UserLocation (Maybe Text)+ulArea = lens _ulArea (\ s a -> s{_ulArea = a})++-- | Building Identifier.+ulBuildingId :: Lens' UserLocation (Maybe Text)+ulBuildingId+ = lens _ulBuildingId (\ s a -> s{_ulBuildingId = a})++-- | Most specific textual code of individual desk location.+ulDeskCode :: Lens' UserLocation (Maybe Text)+ulDeskCode+ = lens _ulDeskCode (\ s a -> s{_ulDeskCode = a})++-- | Floor name\/number.+ulFloorName :: Lens' UserLocation (Maybe Text)+ulFloorName+ = lens _ulFloorName (\ s a -> s{_ulFloorName = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example location could be of types default and desk. In addition to+-- standard type, an entry can have a custom type and can give it any name.+-- Such types should have \"custom\" as type and also have a customType+-- value.+ulType :: Lens' UserLocation (Maybe Text)+ulType = lens _ulType (\ s a -> s{_ulType = a})++-- | Custom Type.+ulCustomType :: Lens' UserLocation (Maybe Text)+ulCustomType+ = lens _ulCustomType (\ s a -> s{_ulCustomType = a})++-- | Floor section. More specific location within the floor. For example, if+-- a floor is divided into sections \"A\", \"B\", and \"C\", this field+-- would identify one of those values.+ulFloorSection :: Lens' UserLocation (Maybe Text)+ulFloorSection+ = lens _ulFloorSection+ (\ s a -> s{_ulFloorSection = a})++instance FromJSON UserLocation where+ parseJSON+ = withObject "UserLocation"+ (\ o ->+ UserLocation' <$>+ (o .:? "area") <*> (o .:? "buildingId") <*>+ (o .:? "deskCode")+ <*> (o .:? "floorName")+ <*> (o .:? "type")+ <*> (o .:? "customType")+ <*> (o .:? "floorSection"))++instance ToJSON UserLocation where+ toJSON UserLocation'{..}+ = object+ (catMaybes+ [("area" .=) <$> _ulArea,+ ("buildingId" .=) <$> _ulBuildingId,+ ("deskCode" .=) <$> _ulDeskCode,+ ("floorName" .=) <$> _ulFloorName,+ ("type" .=) <$> _ulType,+ ("customType" .=) <$> _ulCustomType,+ ("floorSection" .=) <$> _ulFloorSection])++-- | JSON template for verification codes in Directory API.+--+-- /See:/ 'verificationCode' smart constructor.+data VerificationCode =+ VerificationCode'+ { _vcVerificationCode :: !(Maybe Text)+ , _vcEtag :: !(Maybe Text)+ , _vcKind :: !Text+ , _vcUserId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VerificationCode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcVerificationCode'+--+-- * 'vcEtag'+--+-- * 'vcKind'+--+-- * 'vcUserId'+verificationCode+ :: VerificationCode+verificationCode =+ VerificationCode'+ { _vcVerificationCode = Nothing+ , _vcEtag = Nothing+ , _vcKind = "admin#directory#verificationCode"+ , _vcUserId = Nothing+ }+++-- | A current verification code for the user. Invalidated or used+-- verification codes are not returned as part of the result.+vcVerificationCode :: Lens' VerificationCode (Maybe Text)+vcVerificationCode+ = lens _vcVerificationCode+ (\ s a -> s{_vcVerificationCode = a})++-- | ETag of the resource.+vcEtag :: Lens' VerificationCode (Maybe Text)+vcEtag = lens _vcEtag (\ s a -> s{_vcEtag = a})++-- | The type of the resource. This is always+-- admin#directory#verificationCode.+vcKind :: Lens' VerificationCode Text+vcKind = lens _vcKind (\ s a -> s{_vcKind = a})++-- | The obfuscated unique ID of the user.+vcUserId :: Lens' VerificationCode (Maybe Text)+vcUserId = lens _vcUserId (\ s a -> s{_vcUserId = a})++instance FromJSON VerificationCode where+ parseJSON+ = withObject "VerificationCode"+ (\ o ->+ VerificationCode' <$>+ (o .:? "verificationCode") <*> (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#verificationCode")+ <*> (o .:? "userId"))++instance ToJSON VerificationCode where+ toJSON VerificationCode'{..}+ = object+ (catMaybes+ [("verificationCode" .=) <$> _vcVerificationCode,+ ("etag" .=) <$> _vcEtag, Just ("kind" .= _vcKind),+ ("userId" .=) <$> _vcUserId])++-- | JSON template for Feature object in Directory API.+--+-- /See:/ 'feature' smart constructor.+data Feature =+ Feature'+ { _fEtags :: !(Maybe Text)+ , _fKind :: !Text+ , _fName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Feature' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fEtags'+--+-- * 'fKind'+--+-- * 'fName'+feature+ :: Feature+feature =+ Feature'+ { _fEtags = Nothing+ , _fKind = "admin#directory#resources#features#Feature"+ , _fName = Nothing+ }+++-- | ETag of the resource.+fEtags :: Lens' Feature (Maybe Text)+fEtags = lens _fEtags (\ s a -> s{_fEtags = a})++-- | Kind of resource this is.+fKind :: Lens' Feature Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | The name of the feature.+fName :: Lens' Feature (Maybe Text)+fName = lens _fName (\ s a -> s{_fName = a})++instance FromJSON Feature where+ parseJSON+ = withObject "Feature"+ (\ o ->+ Feature' <$>+ (o .:? "etags") <*>+ (o .:? "kind" .!=+ "admin#directory#resources#features#Feature")+ <*> (o .:? "name"))++instance ToJSON Feature where+ toJSON Feature'{..}+ = object+ (catMaybes+ [("etags" .=) <$> _fEtags, Just ("kind" .= _fKind),+ ("name" .=) <$> _fName])++-- | JSON template for Org Unit resource in Directory API.+--+-- /See:/ 'orgUnit' smart constructor.+data OrgUnit =+ OrgUnit'+ { _ouEtag :: !(Maybe Text)+ , _ouParentOrgUnitPath :: !(Maybe Text)+ , _ouKind :: !Text+ , _ouOrgUnitPath :: !(Maybe Text)+ , _ouName :: !(Maybe Text)+ , _ouBlockInheritance :: !(Maybe Bool)+ , _ouParentOrgUnitId :: !(Maybe Text)+ , _ouDescription :: !(Maybe Text)+ , _ouOrgUnitId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OrgUnit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ouEtag'+--+-- * 'ouParentOrgUnitPath'+--+-- * 'ouKind'+--+-- * 'ouOrgUnitPath'+--+-- * 'ouName'+--+-- * 'ouBlockInheritance'+--+-- * 'ouParentOrgUnitId'+--+-- * 'ouDescription'+--+-- * 'ouOrgUnitId'+orgUnit+ :: OrgUnit+orgUnit =+ OrgUnit'+ { _ouEtag = Nothing+ , _ouParentOrgUnitPath = Nothing+ , _ouKind = "admin#directory#orgUnit"+ , _ouOrgUnitPath = Nothing+ , _ouName = Nothing+ , _ouBlockInheritance = Nothing+ , _ouParentOrgUnitId = Nothing+ , _ouDescription = Nothing+ , _ouOrgUnitId = Nothing+ }+++-- | ETag of the resource.+ouEtag :: Lens' OrgUnit (Maybe Text)+ouEtag = lens _ouEtag (\ s a -> s{_ouEtag = a})++-- | Path of parent OrgUnit+ouParentOrgUnitPath :: Lens' OrgUnit (Maybe Text)+ouParentOrgUnitPath+ = lens _ouParentOrgUnitPath+ (\ s a -> s{_ouParentOrgUnitPath = a})++-- | Kind of resource this is.+ouKind :: Lens' OrgUnit Text+ouKind = lens _ouKind (\ s a -> s{_ouKind = a})++-- | Path of OrgUnit+ouOrgUnitPath :: Lens' OrgUnit (Maybe Text)+ouOrgUnitPath+ = lens _ouOrgUnitPath+ (\ s a -> s{_ouOrgUnitPath = a})++-- | Name of OrgUnit+ouName :: Lens' OrgUnit (Maybe Text)+ouName = lens _ouName (\ s a -> s{_ouName = a})++-- | Should block inheritance+ouBlockInheritance :: Lens' OrgUnit (Maybe Bool)+ouBlockInheritance+ = lens _ouBlockInheritance+ (\ s a -> s{_ouBlockInheritance = a})++-- | Id of parent OrgUnit+ouParentOrgUnitId :: Lens' OrgUnit (Maybe Text)+ouParentOrgUnitId+ = lens _ouParentOrgUnitId+ (\ s a -> s{_ouParentOrgUnitId = a})++-- | Description of OrgUnit+ouDescription :: Lens' OrgUnit (Maybe Text)+ouDescription+ = lens _ouDescription+ (\ s a -> s{_ouDescription = a})++-- | Id of OrgUnit+ouOrgUnitId :: Lens' OrgUnit (Maybe Text)+ouOrgUnitId+ = lens _ouOrgUnitId (\ s a -> s{_ouOrgUnitId = a})++instance FromJSON OrgUnit where+ parseJSON+ = withObject "OrgUnit"+ (\ o ->+ OrgUnit' <$>+ (o .:? "etag") <*> (o .:? "parentOrgUnitPath") <*>+ (o .:? "kind" .!= "admin#directory#orgUnit")+ <*> (o .:? "orgUnitPath")+ <*> (o .:? "name")+ <*> (o .:? "blockInheritance")+ <*> (o .:? "parentOrgUnitId")+ <*> (o .:? "description")+ <*> (o .:? "orgUnitId"))++instance ToJSON OrgUnit where+ toJSON OrgUnit'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _ouEtag,+ ("parentOrgUnitPath" .=) <$> _ouParentOrgUnitPath,+ Just ("kind" .= _ouKind),+ ("orgUnitPath" .=) <$> _ouOrgUnitPath,+ ("name" .=) <$> _ouName,+ ("blockInheritance" .=) <$> _ouBlockInheritance,+ ("parentOrgUnitId" .=) <$> _ouParentOrgUnitId,+ ("description" .=) <$> _ouDescription,+ ("orgUnitId" .=) <$> _ouOrgUnitId])++-- | JSON request template for setting\/revoking admin status of a user in+-- Directory API.+--+-- /See:/ 'userMakeAdmin' smart constructor.+newtype UserMakeAdmin =+ UserMakeAdmin'+ { _umaStatus :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserMakeAdmin' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umaStatus'+userMakeAdmin+ :: UserMakeAdmin+userMakeAdmin = UserMakeAdmin' {_umaStatus = Nothing}+++-- | Boolean indicating new admin status of the user+umaStatus :: Lens' UserMakeAdmin (Maybe Bool)+umaStatus+ = lens _umaStatus (\ s a -> s{_umaStatus = a})++instance FromJSON UserMakeAdmin where+ parseJSON+ = withObject "UserMakeAdmin"+ (\ o -> UserMakeAdmin' <$> (o .:? "status"))++instance ToJSON UserMakeAdmin where+ toJSON UserMakeAdmin'{..}+ = object (catMaybes [("status" .=) <$> _umaStatus])++-- | JSON template for About (notes) of a user in Directory API.+--+-- /See:/ 'userAbout' smart constructor.+data UserAbout =+ UserAbout'+ { _uaValue :: !(Maybe Text)+ , _uaContentType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserAbout' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uaValue'+--+-- * 'uaContentType'+userAbout+ :: UserAbout+userAbout = UserAbout' {_uaValue = Nothing, _uaContentType = Nothing}+++-- | Actual value of notes.+uaValue :: Lens' UserAbout (Maybe Text)+uaValue = lens _uaValue (\ s a -> s{_uaValue = a})++-- | About entry can have a type which indicates the content type. It can+-- either be plain or html. By default, notes contents are assumed to+-- contain plain text.+uaContentType :: Lens' UserAbout (Maybe Text)+uaContentType+ = lens _uaContentType+ (\ s a -> s{_uaContentType = a})++instance FromJSON UserAbout where+ parseJSON+ = withObject "UserAbout"+ (\ o ->+ UserAbout' <$>+ (o .:? "value") <*> (o .:? "contentType"))++instance ToJSON UserAbout where+ toJSON UserAbout'{..}+ = object+ (catMaybes+ [("value" .=) <$> _uaValue,+ ("contentType" .=) <$> _uaContentType])++-- | JSON response template for List privileges operation in Directory API.+--+-- /See:/ 'privileges' smart constructor.+data Privileges =+ Privileges'+ { _pEtag :: !(Maybe Text)+ , _pKind :: !Text+ , _pItems :: !(Maybe [Privilege])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Privileges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pEtag'+--+-- * 'pKind'+--+-- * 'pItems'+privileges+ :: Privileges+privileges =+ Privileges'+ {_pEtag = Nothing, _pKind = "admin#directory#privileges", _pItems = Nothing}+++-- | ETag of the resource.+pEtag :: Lens' Privileges (Maybe Text)+pEtag = lens _pEtag (\ s a -> s{_pEtag = a})++-- | The type of the API resource. This is always admin#directory#privileges.+pKind :: Lens' Privileges Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | A list of Privilege resources.+pItems :: Lens' Privileges [Privilege]+pItems+ = lens _pItems (\ s a -> s{_pItems = a}) . _Default .+ _Coerce++instance FromJSON Privileges where+ parseJSON+ = withObject "Privileges"+ (\ o ->+ Privileges' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#privileges")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Privileges where+ toJSON Privileges'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _pEtag, Just ("kind" .= _pKind),+ ("items" .=) <$> _pItems])++-- | JSON response template for List Groups operation in Directory API.+--+-- /See:/ 'groups' smart constructor.+data Groups =+ Groups'+ { _gGroups :: !(Maybe [Group])+ , _gEtag :: !(Maybe Text)+ , _gNextPageToken :: !(Maybe Text)+ , _gKind :: !Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Groups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gGroups'+--+-- * 'gEtag'+--+-- * 'gNextPageToken'+--+-- * 'gKind'+groups+ :: Groups+groups =+ Groups'+ { _gGroups = Nothing+ , _gEtag = Nothing+ , _gNextPageToken = Nothing+ , _gKind = "admin#directory#groups"+ }+++-- | List of group objects.+gGroups :: Lens' Groups [Group]+gGroups+ = lens _gGroups (\ s a -> s{_gGroups = a}) . _Default+ . _Coerce++-- | ETag of the resource.+gEtag :: Lens' Groups (Maybe Text)+gEtag = lens _gEtag (\ s a -> s{_gEtag = a})++-- | Token used to access next page of this result.+gNextPageToken :: Lens' Groups (Maybe Text)+gNextPageToken+ = lens _gNextPageToken+ (\ s a -> s{_gNextPageToken = a})++-- | Kind of resource this is.+gKind :: Lens' Groups Text+gKind = lens _gKind (\ s a -> s{_gKind = a})++instance FromJSON Groups where+ parseJSON+ = withObject "Groups"+ (\ o ->+ Groups' <$>+ (o .:? "groups" .!= mempty) <*> (o .:? "etag") <*>+ (o .:? "nextPageToken")+ <*> (o .:? "kind" .!= "admin#directory#groups"))++instance ToJSON Groups where+ toJSON Groups'{..}+ = object+ (catMaybes+ [("groups" .=) <$> _gGroups, ("etag" .=) <$> _gEtag,+ ("nextPageToken" .=) <$> _gNextPageToken,+ Just ("kind" .= _gKind)])++-- | JSON response template for List roleAssignments operation in Directory+-- API.+--+-- /See:/ 'roleAssignments' smart constructor.+data RoleAssignments =+ RoleAssignments'+ { _raEtag :: !(Maybe Text)+ , _raNextPageToken :: !(Maybe Text)+ , _raKind :: !Text+ , _raItems :: !(Maybe [RoleAssignment])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RoleAssignments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raEtag'+--+-- * 'raNextPageToken'+--+-- * 'raKind'+--+-- * 'raItems'+roleAssignments+ :: RoleAssignments+roleAssignments =+ RoleAssignments'+ { _raEtag = Nothing+ , _raNextPageToken = Nothing+ , _raKind = "admin#directory#roleAssignments"+ , _raItems = Nothing+ }+++-- | ETag of the resource.+raEtag :: Lens' RoleAssignments (Maybe Text)+raEtag = lens _raEtag (\ s a -> s{_raEtag = a})++raNextPageToken :: Lens' RoleAssignments (Maybe Text)+raNextPageToken+ = lens _raNextPageToken+ (\ s a -> s{_raNextPageToken = a})++-- | The type of the API resource. This is always+-- admin#directory#roleAssignments.+raKind :: Lens' RoleAssignments Text+raKind = lens _raKind (\ s a -> s{_raKind = a})++-- | A list of RoleAssignment resources.+raItems :: Lens' RoleAssignments [RoleAssignment]+raItems+ = lens _raItems (\ s a -> s{_raItems = a}) . _Default+ . _Coerce++instance FromJSON RoleAssignments where+ parseJSON+ = withObject "RoleAssignments"+ (\ o ->+ RoleAssignments' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#roleAssignments")+ <*> (o .:? "items" .!= mempty))++instance ToJSON RoleAssignments where+ toJSON RoleAssignments'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _raEtag,+ ("nextPageToken" .=) <$> _raNextPageToken,+ Just ("kind" .= _raKind), ("items" .=) <$> _raItems])++-- | JSON template for privilege resource in Directory API.+--+-- /See:/ 'privilege' smart constructor.+data Privilege =+ Privilege'+ { _priEtag :: !(Maybe Text)+ , _priIsOuScopable :: !(Maybe Bool)+ , _priKind :: !Text+ , _priServiceName :: !(Maybe Text)+ , _priServiceId :: !(Maybe Text)+ , _priPrivilegeName :: !(Maybe Text)+ , _priChildPrivileges :: !(Maybe [Privilege])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Privilege' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'priEtag'+--+-- * 'priIsOuScopable'+--+-- * 'priKind'+--+-- * 'priServiceName'+--+-- * 'priServiceId'+--+-- * 'priPrivilegeName'+--+-- * 'priChildPrivileges'+privilege+ :: Privilege+privilege =+ Privilege'+ { _priEtag = Nothing+ , _priIsOuScopable = Nothing+ , _priKind = "admin#directory#privilege"+ , _priServiceName = Nothing+ , _priServiceId = Nothing+ , _priPrivilegeName = Nothing+ , _priChildPrivileges = Nothing+ }+++-- | ETag of the resource.+priEtag :: Lens' Privilege (Maybe Text)+priEtag = lens _priEtag (\ s a -> s{_priEtag = a})++-- | If the privilege can be restricted to an organization unit.+priIsOuScopable :: Lens' Privilege (Maybe Bool)+priIsOuScopable+ = lens _priIsOuScopable+ (\ s a -> s{_priIsOuScopable = a})++-- | The type of the API resource. This is always admin#directory#privilege.+priKind :: Lens' Privilege Text+priKind = lens _priKind (\ s a -> s{_priKind = a})++-- | The name of the service this privilege is for.+priServiceName :: Lens' Privilege (Maybe Text)+priServiceName+ = lens _priServiceName+ (\ s a -> s{_priServiceName = a})++-- | The obfuscated ID of the service this privilege is for.+priServiceId :: Lens' Privilege (Maybe Text)+priServiceId+ = lens _priServiceId (\ s a -> s{_priServiceId = a})++-- | The name of the privilege.+priPrivilegeName :: Lens' Privilege (Maybe Text)+priPrivilegeName+ = lens _priPrivilegeName+ (\ s a -> s{_priPrivilegeName = a})++-- | A list of child privileges. Privileges for a service form a tree. Each+-- privilege can have a list of child privileges; this list is empty for a+-- leaf privilege.+priChildPrivileges :: Lens' Privilege [Privilege]+priChildPrivileges+ = lens _priChildPrivileges+ (\ s a -> s{_priChildPrivileges = a})+ . _Default+ . _Coerce++instance FromJSON Privilege where+ parseJSON+ = withObject "Privilege"+ (\ o ->+ Privilege' <$>+ (o .:? "etag") <*> (o .:? "isOuScopable") <*>+ (o .:? "kind" .!= "admin#directory#privilege")+ <*> (o .:? "serviceName")+ <*> (o .:? "serviceId")+ <*> (o .:? "privilegeName")+ <*> (o .:? "childPrivileges" .!= mempty))++instance ToJSON Privilege where+ toJSON Privilege'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _priEtag,+ ("isOuScopable" .=) <$> _priIsOuScopable,+ Just ("kind" .= _priKind),+ ("serviceName" .=) <$> _priServiceName,+ ("serviceId" .=) <$> _priServiceId,+ ("privilegeName" .=) <$> _priPrivilegeName,+ ("childPrivileges" .=) <$> _priChildPrivileges])++-- | JSON response template for List roles operation in Directory API.+--+-- /See:/ 'roles' smart constructor.+data Roles =+ Roles'+ { _rEtag :: !(Maybe Text)+ , _rNextPageToken :: !(Maybe Text)+ , _rKind :: !Text+ , _rItems :: !(Maybe [Role])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Roles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rEtag'+--+-- * 'rNextPageToken'+--+-- * 'rKind'+--+-- * 'rItems'+roles+ :: Roles+roles =+ Roles'+ { _rEtag = Nothing+ , _rNextPageToken = Nothing+ , _rKind = "admin#directory#roles"+ , _rItems = Nothing+ }+++-- | ETag of the resource.+rEtag :: Lens' Roles (Maybe Text)+rEtag = lens _rEtag (\ s a -> s{_rEtag = a})++rNextPageToken :: Lens' Roles (Maybe Text)+rNextPageToken+ = lens _rNextPageToken+ (\ s a -> s{_rNextPageToken = a})++-- | The type of the API resource. This is always admin#directory#roles.+rKind :: Lens' Roles Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | A list of Role resources.+rItems :: Lens' Roles [Role]+rItems+ = lens _rItems (\ s a -> s{_rItems = a}) . _Default .+ _Coerce++instance FromJSON Roles where+ parseJSON+ = withObject "Roles"+ (\ o ->+ Roles' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#roles")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Roles where+ toJSON Roles'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _rEtag,+ ("nextPageToken" .=) <$> _rNextPageToken,+ Just ("kind" .= _rKind), ("items" .=) <$> _rItems])++--+-- /See:/ 'chromeOSDeviceDiskVolumeReportsItem' smart constructor.+newtype ChromeOSDeviceDiskVolumeReportsItem =+ ChromeOSDeviceDiskVolumeReportsItem'+ { _coddvriVolumeInfo :: Maybe [ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceDiskVolumeReportsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coddvriVolumeInfo'+chromeOSDeviceDiskVolumeReportsItem+ :: ChromeOSDeviceDiskVolumeReportsItem+chromeOSDeviceDiskVolumeReportsItem =+ ChromeOSDeviceDiskVolumeReportsItem' {_coddvriVolumeInfo = Nothing}+++-- | Disk volumes+coddvriVolumeInfo :: Lens' ChromeOSDeviceDiskVolumeReportsItem [ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem]+coddvriVolumeInfo+ = lens _coddvriVolumeInfo+ (\ s a -> s{_coddvriVolumeInfo = a})+ . _Default+ . _Coerce++instance FromJSON ChromeOSDeviceDiskVolumeReportsItem+ where+ parseJSON+ = withObject "ChromeOSDeviceDiskVolumeReportsItem"+ (\ o ->+ ChromeOSDeviceDiskVolumeReportsItem' <$>+ (o .:? "volumeInfo" .!= mempty))++instance ToJSON ChromeOSDeviceDiskVolumeReportsItem+ where+ toJSON ChromeOSDeviceDiskVolumeReportsItem'{..}+ = object+ (catMaybes+ [("volumeInfo" .=) <$> _coddvriVolumeInfo])++-- | JSON template for address.+--+-- /See:/ 'userAddress' smart constructor.+data UserAddress =+ UserAddress'+ { _uaStreetAddress :: !(Maybe Text)+ , _uaPoBox :: !(Maybe Text)+ , _uaCountry :: !(Maybe Text)+ , _uaPostalCode :: !(Maybe Text)+ , _uaFormatted :: !(Maybe Text)+ , _uaExtendedAddress :: !(Maybe Text)+ , _uaLocality :: !(Maybe Text)+ , _uaPrimary :: !(Maybe Bool)+ , _uaCountryCode :: !(Maybe Text)+ , _uaRegion :: !(Maybe Text)+ , _uaType :: !(Maybe Text)+ , _uaCustomType :: !(Maybe Text)+ , _uaSourceIsStructured :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uaStreetAddress'+--+-- * 'uaPoBox'+--+-- * 'uaCountry'+--+-- * 'uaPostalCode'+--+-- * 'uaFormatted'+--+-- * 'uaExtendedAddress'+--+-- * 'uaLocality'+--+-- * 'uaPrimary'+--+-- * 'uaCountryCode'+--+-- * 'uaRegion'+--+-- * 'uaType'+--+-- * 'uaCustomType'+--+-- * 'uaSourceIsStructured'+userAddress+ :: UserAddress+userAddress =+ UserAddress'+ { _uaStreetAddress = Nothing+ , _uaPoBox = Nothing+ , _uaCountry = Nothing+ , _uaPostalCode = Nothing+ , _uaFormatted = Nothing+ , _uaExtendedAddress = Nothing+ , _uaLocality = Nothing+ , _uaPrimary = Nothing+ , _uaCountryCode = Nothing+ , _uaRegion = Nothing+ , _uaType = Nothing+ , _uaCustomType = Nothing+ , _uaSourceIsStructured = Nothing+ }+++-- | Street.+uaStreetAddress :: Lens' UserAddress (Maybe Text)+uaStreetAddress+ = lens _uaStreetAddress+ (\ s a -> s{_uaStreetAddress = a})++-- | Other parts of address.+uaPoBox :: Lens' UserAddress (Maybe Text)+uaPoBox = lens _uaPoBox (\ s a -> s{_uaPoBox = a})++-- | Country.+uaCountry :: Lens' UserAddress (Maybe Text)+uaCountry+ = lens _uaCountry (\ s a -> s{_uaCountry = a})++-- | Postal code.+uaPostalCode :: Lens' UserAddress (Maybe Text)+uaPostalCode+ = lens _uaPostalCode (\ s a -> s{_uaPostalCode = a})++-- | Formatted address.+uaFormatted :: Lens' UserAddress (Maybe Text)+uaFormatted+ = lens _uaFormatted (\ s a -> s{_uaFormatted = a})++-- | Extended Address.+uaExtendedAddress :: Lens' UserAddress (Maybe Text)+uaExtendedAddress+ = lens _uaExtendedAddress+ (\ s a -> s{_uaExtendedAddress = a})++-- | Locality.+uaLocality :: Lens' UserAddress (Maybe Text)+uaLocality+ = lens _uaLocality (\ s a -> s{_uaLocality = a})++-- | If this is user\'s primary address. Only one entry could be marked as+-- primary.+uaPrimary :: Lens' UserAddress (Maybe Bool)+uaPrimary+ = lens _uaPrimary (\ s a -> s{_uaPrimary = a})++-- | Country code.+uaCountryCode :: Lens' UserAddress (Maybe Text)+uaCountryCode+ = lens _uaCountryCode+ (\ s a -> s{_uaCountryCode = a})++-- | Region.+uaRegion :: Lens' UserAddress (Maybe Text)+uaRegion = lens _uaRegion (\ s a -> s{_uaRegion = a})++-- | Each entry can have a type which indicates standard values of that+-- entry. For example address could be of home, work etc. In addition to+-- the standard type, an entry can have a custom type and can take any+-- value. Such type should have the CUSTOM value as type and also have a+-- customType value.+uaType :: Lens' UserAddress (Maybe Text)+uaType = lens _uaType (\ s a -> s{_uaType = a})++-- | Custom type.+uaCustomType :: Lens' UserAddress (Maybe Text)+uaCustomType+ = lens _uaCustomType (\ s a -> s{_uaCustomType = a})++-- | User supplied address was structured. Structured addresses are NOT+-- supported at this time. You might be able to write structured addresses,+-- but any values will eventually be clobbered.+uaSourceIsStructured :: Lens' UserAddress (Maybe Bool)+uaSourceIsStructured+ = lens _uaSourceIsStructured+ (\ s a -> s{_uaSourceIsStructured = a})++instance FromJSON UserAddress where+ parseJSON+ = withObject "UserAddress"+ (\ o ->+ UserAddress' <$>+ (o .:? "streetAddress") <*> (o .:? "poBox") <*>+ (o .:? "country")+ <*> (o .:? "postalCode")+ <*> (o .:? "formatted")+ <*> (o .:? "extendedAddress")+ <*> (o .:? "locality")+ <*> (o .:? "primary")+ <*> (o .:? "countryCode")+ <*> (o .:? "region")+ <*> (o .:? "type")+ <*> (o .:? "customType")+ <*> (o .:? "sourceIsStructured"))++instance ToJSON UserAddress where+ toJSON UserAddress'{..}+ = object+ (catMaybes+ [("streetAddress" .=) <$> _uaStreetAddress,+ ("poBox" .=) <$> _uaPoBox,+ ("country" .=) <$> _uaCountry,+ ("postalCode" .=) <$> _uaPostalCode,+ ("formatted" .=) <$> _uaFormatted,+ ("extendedAddress" .=) <$> _uaExtendedAddress,+ ("locality" .=) <$> _uaLocality,+ ("primary" .=) <$> _uaPrimary,+ ("countryCode" .=) <$> _uaCountryCode,+ ("region" .=) <$> _uaRegion, ("type" .=) <$> _uaType,+ ("customType" .=) <$> _uaCustomType,+ ("sourceIsStructured" .=) <$> _uaSourceIsStructured])++-- | JSON template for postal address of a customer.+--+-- /See:/ 'customerPostalAddress' smart constructor.+data CustomerPostalAddress =+ CustomerPostalAddress'+ { _cpaOrganizationName :: !(Maybe Text)+ , _cpaPostalCode :: !(Maybe Text)+ , _cpaAddressLine1 :: !(Maybe Text)+ , _cpaLocality :: !(Maybe Text)+ , _cpaContactName :: !(Maybe Text)+ , _cpaAddressLine2 :: !(Maybe Text)+ , _cpaCountryCode :: !(Maybe Text)+ , _cpaRegion :: !(Maybe Text)+ , _cpaAddressLine3 :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CustomerPostalAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpaOrganizationName'+--+-- * 'cpaPostalCode'+--+-- * 'cpaAddressLine1'+--+-- * 'cpaLocality'+--+-- * 'cpaContactName'+--+-- * 'cpaAddressLine2'+--+-- * 'cpaCountryCode'+--+-- * 'cpaRegion'+--+-- * 'cpaAddressLine3'+customerPostalAddress+ :: CustomerPostalAddress+customerPostalAddress =+ CustomerPostalAddress'+ { _cpaOrganizationName = Nothing+ , _cpaPostalCode = Nothing+ , _cpaAddressLine1 = Nothing+ , _cpaLocality = Nothing+ , _cpaContactName = Nothing+ , _cpaAddressLine2 = Nothing+ , _cpaCountryCode = Nothing+ , _cpaRegion = Nothing+ , _cpaAddressLine3 = Nothing+ }+++-- | The company or company division name.+cpaOrganizationName :: Lens' CustomerPostalAddress (Maybe Text)+cpaOrganizationName+ = lens _cpaOrganizationName+ (\ s a -> s{_cpaOrganizationName = a})++-- | The postal code. A postalCode example is a postal zip code such as+-- 10009. This is in accordance with -+-- http:\/\/portablecontacts.net\/draft-spec.html#address_element.+cpaPostalCode :: Lens' CustomerPostalAddress (Maybe Text)+cpaPostalCode+ = lens _cpaPostalCode+ (\ s a -> s{_cpaPostalCode = a})++-- | A customer\'s physical address. The address can be composed of one to+-- three lines.+cpaAddressLine1 :: Lens' CustomerPostalAddress (Maybe Text)+cpaAddressLine1+ = lens _cpaAddressLine1+ (\ s a -> s{_cpaAddressLine1 = a})++-- | Name of the locality. An example of a locality value is the city of San+-- Francisco.+cpaLocality :: Lens' CustomerPostalAddress (Maybe Text)+cpaLocality+ = lens _cpaLocality (\ s a -> s{_cpaLocality = a})++-- | The customer contact\'s name.+cpaContactName :: Lens' CustomerPostalAddress (Maybe Text)+cpaContactName+ = lens _cpaContactName+ (\ s a -> s{_cpaContactName = a})++-- | Address line 2 of the address.+cpaAddressLine2 :: Lens' CustomerPostalAddress (Maybe Text)+cpaAddressLine2+ = lens _cpaAddressLine2+ (\ s a -> s{_cpaAddressLine2 = a})++-- | This is a required property. For countryCode information see the ISO+-- 3166 country code elements.+cpaCountryCode :: Lens' CustomerPostalAddress (Maybe Text)+cpaCountryCode+ = lens _cpaCountryCode+ (\ s a -> s{_cpaCountryCode = a})++-- | Name of the region. An example of a region value is NY for the state of+-- New York.+cpaRegion :: Lens' CustomerPostalAddress (Maybe Text)+cpaRegion+ = lens _cpaRegion (\ s a -> s{_cpaRegion = a})++-- | Address line 3 of the address.+cpaAddressLine3 :: Lens' CustomerPostalAddress (Maybe Text)+cpaAddressLine3+ = lens _cpaAddressLine3+ (\ s a -> s{_cpaAddressLine3 = a})++instance FromJSON CustomerPostalAddress where+ parseJSON+ = withObject "CustomerPostalAddress"+ (\ o ->+ CustomerPostalAddress' <$>+ (o .:? "organizationName") <*> (o .:? "postalCode")+ <*> (o .:? "addressLine1")+ <*> (o .:? "locality")+ <*> (o .:? "contactName")+ <*> (o .:? "addressLine2")+ <*> (o .:? "countryCode")+ <*> (o .:? "region")+ <*> (o .:? "addressLine3"))++instance ToJSON CustomerPostalAddress where+ toJSON CustomerPostalAddress'{..}+ = object+ (catMaybes+ [("organizationName" .=) <$> _cpaOrganizationName,+ ("postalCode" .=) <$> _cpaPostalCode,+ ("addressLine1" .=) <$> _cpaAddressLine1,+ ("locality" .=) <$> _cpaLocality,+ ("contactName" .=) <$> _cpaContactName,+ ("addressLine2" .=) <$> _cpaAddressLine2,+ ("countryCode" .=) <$> _cpaCountryCode,+ ("region" .=) <$> _cpaRegion,+ ("addressLine3" .=) <$> _cpaAddressLine3])++-- | JSON template for roleAssignment resource in Directory API.+--+-- /See:/ 'roleAssignment' smart constructor.+data RoleAssignment =+ RoleAssignment'+ { _rolEtag :: !(Maybe Text)+ , _rolScopeType :: !(Maybe Text)+ , _rolKind :: !Text+ , _rolAssignedTo :: !(Maybe Text)+ , _rolRoleId :: !(Maybe (Textual Int64))+ , _rolRoleAssignmentId :: !(Maybe (Textual Int64))+ , _rolOrgUnitId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RoleAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rolEtag'+--+-- * 'rolScopeType'+--+-- * 'rolKind'+--+-- * 'rolAssignedTo'+--+-- * 'rolRoleId'+--+-- * 'rolRoleAssignmentId'+--+-- * 'rolOrgUnitId'+roleAssignment+ :: RoleAssignment+roleAssignment =+ RoleAssignment'+ { _rolEtag = Nothing+ , _rolScopeType = Nothing+ , _rolKind = "admin#directory#roleAssignment"+ , _rolAssignedTo = Nothing+ , _rolRoleId = Nothing+ , _rolRoleAssignmentId = Nothing+ , _rolOrgUnitId = Nothing+ }+++-- | ETag of the resource.+rolEtag :: Lens' RoleAssignment (Maybe Text)+rolEtag = lens _rolEtag (\ s a -> s{_rolEtag = a})++-- | The scope in which this role is assigned. Possible values are: -+-- CUSTOMER - ORG_UNIT+rolScopeType :: Lens' RoleAssignment (Maybe Text)+rolScopeType+ = lens _rolScopeType (\ s a -> s{_rolScopeType = a})++-- | The type of the API resource. This is always+-- admin#directory#roleAssignment.+rolKind :: Lens' RoleAssignment Text+rolKind = lens _rolKind (\ s a -> s{_rolKind = a})++-- | The unique ID of the user this role is assigned to.+rolAssignedTo :: Lens' RoleAssignment (Maybe Text)+rolAssignedTo+ = lens _rolAssignedTo+ (\ s a -> s{_rolAssignedTo = a})++-- | The ID of the role that is assigned.+rolRoleId :: Lens' RoleAssignment (Maybe Int64)+rolRoleId+ = lens _rolRoleId (\ s a -> s{_rolRoleId = a}) .+ mapping _Coerce++-- | ID of this roleAssignment.+rolRoleAssignmentId :: Lens' RoleAssignment (Maybe Int64)+rolRoleAssignmentId+ = lens _rolRoleAssignmentId+ (\ s a -> s{_rolRoleAssignmentId = a})+ . mapping _Coerce++-- | If the role is restricted to an organization unit, this contains the ID+-- for the organization unit the exercise of this role is restricted to.+rolOrgUnitId :: Lens' RoleAssignment (Maybe Text)+rolOrgUnitId+ = lens _rolOrgUnitId (\ s a -> s{_rolOrgUnitId = a})++instance FromJSON RoleAssignment where+ parseJSON+ = withObject "RoleAssignment"+ (\ o ->+ RoleAssignment' <$>+ (o .:? "etag") <*> (o .:? "scopeType") <*>+ (o .:? "kind" .!= "admin#directory#roleAssignment")+ <*> (o .:? "assignedTo")+ <*> (o .:? "roleId")+ <*> (o .:? "roleAssignmentId")+ <*> (o .:? "orgUnitId"))++instance ToJSON RoleAssignment where+ toJSON RoleAssignment'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _rolEtag,+ ("scopeType" .=) <$> _rolScopeType,+ Just ("kind" .= _rolKind),+ ("assignedTo" .=) <$> _rolAssignedTo,+ ("roleId" .=) <$> _rolRoleId,+ ("roleAssignmentId" .=) <$> _rolRoleAssignmentId,+ ("orgUnitId" .=) <$> _rolOrgUnitId])++-- | JSON template for Group resource in Directory API.+--+-- /See:/ 'group'' smart constructor.+data Group =+ Group'+ { _groEmail :: !(Maybe Text)+ , _groEtag :: !(Maybe Text)+ , _groDirectMembersCount :: !(Maybe (Textual Int64))+ , _groKind :: !Text+ , _groAliases :: !(Maybe [Text])+ , _groNonEditableAliases :: !(Maybe [Text])+ , _groName :: !(Maybe Text)+ , _groAdminCreated :: !(Maybe Bool)+ , _groId :: !(Maybe Text)+ , _groDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Group' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'groEmail'+--+-- * 'groEtag'+--+-- * 'groDirectMembersCount'+--+-- * 'groKind'+--+-- * 'groAliases'+--+-- * 'groNonEditableAliases'+--+-- * 'groName'+--+-- * 'groAdminCreated'+--+-- * 'groId'+--+-- * 'groDescription'+group'+ :: Group+group' =+ Group'+ { _groEmail = Nothing+ , _groEtag = Nothing+ , _groDirectMembersCount = Nothing+ , _groKind = "admin#directory#group"+ , _groAliases = Nothing+ , _groNonEditableAliases = Nothing+ , _groName = Nothing+ , _groAdminCreated = Nothing+ , _groId = Nothing+ , _groDescription = Nothing+ }+++-- | Email of Group+groEmail :: Lens' Group (Maybe Text)+groEmail = lens _groEmail (\ s a -> s{_groEmail = a})++-- | ETag of the resource.+groEtag :: Lens' Group (Maybe Text)+groEtag = lens _groEtag (\ s a -> s{_groEtag = a})++-- | Group direct members count+groDirectMembersCount :: Lens' Group (Maybe Int64)+groDirectMembersCount+ = lens _groDirectMembersCount+ (\ s a -> s{_groDirectMembersCount = a})+ . mapping _Coerce++-- | Kind of resource this is.+groKind :: Lens' Group Text+groKind = lens _groKind (\ s a -> s{_groKind = a})++-- | List of aliases (Read-only)+groAliases :: Lens' Group [Text]+groAliases+ = lens _groAliases (\ s a -> s{_groAliases = a}) .+ _Default+ . _Coerce++-- | List of non editable aliases (Read-only)+groNonEditableAliases :: Lens' Group [Text]+groNonEditableAliases+ = lens _groNonEditableAliases+ (\ s a -> s{_groNonEditableAliases = a})+ . _Default+ . _Coerce++-- | Group name+groName :: Lens' Group (Maybe Text)+groName = lens _groName (\ s a -> s{_groName = a})++-- | Is the group created by admin (Read-only) *+groAdminCreated :: Lens' Group (Maybe Bool)+groAdminCreated+ = lens _groAdminCreated+ (\ s a -> s{_groAdminCreated = a})++-- | Unique identifier of Group (Read-only)+groId :: Lens' Group (Maybe Text)+groId = lens _groId (\ s a -> s{_groId = a})++-- | Description of the group+groDescription :: Lens' Group (Maybe Text)+groDescription+ = lens _groDescription+ (\ s a -> s{_groDescription = a})++instance FromJSON Group where+ parseJSON+ = withObject "Group"+ (\ o ->+ Group' <$>+ (o .:? "email") <*> (o .:? "etag") <*>+ (o .:? "directMembersCount")+ <*> (o .:? "kind" .!= "admin#directory#group")+ <*> (o .:? "aliases" .!= mempty)+ <*> (o .:? "nonEditableAliases" .!= mempty)+ <*> (o .:? "name")+ <*> (o .:? "adminCreated")+ <*> (o .:? "id")+ <*> (o .:? "description"))++instance ToJSON Group where+ toJSON Group'{..}+ = object+ (catMaybes+ [("email" .=) <$> _groEmail,+ ("etag" .=) <$> _groEtag,+ ("directMembersCount" .=) <$> _groDirectMembersCount,+ Just ("kind" .= _groKind),+ ("aliases" .=) <$> _groAliases,+ ("nonEditableAliases" .=) <$> _groNonEditableAliases,+ ("name" .=) <$> _groName,+ ("adminCreated" .=) <$> _groAdminCreated,+ ("id" .=) <$> _groId,+ ("description" .=) <$> _groDescription])++-- | JSON template for Chrome Os Device resource in Directory API.+--+-- /See:/ 'chromeOSDevice' smart constructor.+data ChromeOSDevice =+ ChromeOSDevice'+ { _codStatus :: !(Maybe Text)+ , _codEtag :: !(Maybe Text)+ , _codCPUStatusReports :: !(Maybe [ChromeOSDeviceCPUStatusReportsItem])+ , _codAnnotatedUser :: !(Maybe Text)+ , _codSystemRamFreeReports :: !(Maybe [ChromeOSDeviceSystemRamFreeReportsItem])+ , _codPlatformVersion :: !(Maybe Text)+ , _codLastSync :: !(Maybe DateTime')+ , _codActiveTimeRanges :: !(Maybe [ChromeOSDeviceActiveTimeRangesItem])+ , _codKind :: !Text+ , _codEthernetMACAddress :: !(Maybe Text)+ , _codLastEnrollmentTime :: !(Maybe DateTime')+ , _codAnnotatedLocation :: !(Maybe Text)+ , _codMACAddress :: !(Maybe Text)+ , _codOrgUnitPath :: !(Maybe Text)+ , _codRecentUsers :: !(Maybe [ChromeOSDeviceRecentUsersItem])+ , _codSupportEndDate :: !(Maybe DateTime')+ , _codModel :: !(Maybe Text)+ , _codWillAutoRenew :: !(Maybe Bool)+ , _codMeid :: !(Maybe Text)+ , _codDeviceFiles :: !(Maybe [ChromeOSDeviceDeviceFilesItem])+ , _codDeviceId :: !(Maybe Text)+ , _codBootMode :: !(Maybe Text)+ , _codTpmVersionInfo :: !(Maybe ChromeOSDeviceTpmVersionInfo)+ , _codOrderNumber :: !(Maybe Text)+ , _codDiskVolumeReports :: !(Maybe [ChromeOSDeviceDiskVolumeReportsItem])+ , _codAnnotatedAssetId :: !(Maybe Text)+ , _codNotes :: !(Maybe Text)+ , _codSerialNumber :: !(Maybe Text)+ , _codFirmwareVersion :: !(Maybe Text)+ , _codOSVersion :: !(Maybe Text)+ , _codSystemRamTotal :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codStatus'+--+-- * 'codEtag'+--+-- * 'codCPUStatusReports'+--+-- * 'codAnnotatedUser'+--+-- * 'codSystemRamFreeReports'+--+-- * 'codPlatformVersion'+--+-- * 'codLastSync'+--+-- * 'codActiveTimeRanges'+--+-- * 'codKind'+--+-- * 'codEthernetMACAddress'+--+-- * 'codLastEnrollmentTime'+--+-- * 'codAnnotatedLocation'+--+-- * 'codMACAddress'+--+-- * 'codOrgUnitPath'+--+-- * 'codRecentUsers'+--+-- * 'codSupportEndDate'+--+-- * 'codModel'+--+-- * 'codWillAutoRenew'+--+-- * 'codMeid'+--+-- * 'codDeviceFiles'+--+-- * 'codDeviceId'+--+-- * 'codBootMode'+--+-- * 'codTpmVersionInfo'+--+-- * 'codOrderNumber'+--+-- * 'codDiskVolumeReports'+--+-- * 'codAnnotatedAssetId'+--+-- * 'codNotes'+--+-- * 'codSerialNumber'+--+-- * 'codFirmwareVersion'+--+-- * 'codOSVersion'+--+-- * 'codSystemRamTotal'+chromeOSDevice+ :: ChromeOSDevice+chromeOSDevice =+ ChromeOSDevice'+ { _codStatus = Nothing+ , _codEtag = Nothing+ , _codCPUStatusReports = Nothing+ , _codAnnotatedUser = Nothing+ , _codSystemRamFreeReports = Nothing+ , _codPlatformVersion = Nothing+ , _codLastSync = Nothing+ , _codActiveTimeRanges = Nothing+ , _codKind = "admin#directory#chromeosdevice"+ , _codEthernetMACAddress = Nothing+ , _codLastEnrollmentTime = Nothing+ , _codAnnotatedLocation = Nothing+ , _codMACAddress = Nothing+ , _codOrgUnitPath = Nothing+ , _codRecentUsers = Nothing+ , _codSupportEndDate = Nothing+ , _codModel = Nothing+ , _codWillAutoRenew = Nothing+ , _codMeid = Nothing+ , _codDeviceFiles = Nothing+ , _codDeviceId = Nothing+ , _codBootMode = Nothing+ , _codTpmVersionInfo = Nothing+ , _codOrderNumber = Nothing+ , _codDiskVolumeReports = Nothing+ , _codAnnotatedAssetId = Nothing+ , _codNotes = Nothing+ , _codSerialNumber = Nothing+ , _codFirmwareVersion = Nothing+ , _codOSVersion = Nothing+ , _codSystemRamTotal = Nothing+ }+++-- | status of the device (Read-only)+codStatus :: Lens' ChromeOSDevice (Maybe Text)+codStatus+ = lens _codStatus (\ s a -> s{_codStatus = a})++-- | ETag of the resource.+codEtag :: Lens' ChromeOSDevice (Maybe Text)+codEtag = lens _codEtag (\ s a -> s{_codEtag = a})++-- | Reports of CPU utilization and temperature (Read-only)+codCPUStatusReports :: Lens' ChromeOSDevice [ChromeOSDeviceCPUStatusReportsItem]+codCPUStatusReports+ = lens _codCPUStatusReports+ (\ s a -> s{_codCPUStatusReports = a})+ . _Default+ . _Coerce++-- | User of the device+codAnnotatedUser :: Lens' ChromeOSDevice (Maybe Text)+codAnnotatedUser+ = lens _codAnnotatedUser+ (\ s a -> s{_codAnnotatedUser = a})++-- | Reports of amounts of available RAM memory (Read-only)+codSystemRamFreeReports :: Lens' ChromeOSDevice [ChromeOSDeviceSystemRamFreeReportsItem]+codSystemRamFreeReports+ = lens _codSystemRamFreeReports+ (\ s a -> s{_codSystemRamFreeReports = a})+ . _Default+ . _Coerce++-- | Chromebook platform version (Read-only)+codPlatformVersion :: Lens' ChromeOSDevice (Maybe Text)+codPlatformVersion+ = lens _codPlatformVersion+ (\ s a -> s{_codPlatformVersion = a})++-- | Date and time the device was last synchronized with the policy settings+-- in the G Suite administrator control panel (Read-only)+codLastSync :: Lens' ChromeOSDevice (Maybe UTCTime)+codLastSync+ = lens _codLastSync (\ s a -> s{_codLastSync = a}) .+ mapping _DateTime++-- | List of active time ranges (Read-only)+codActiveTimeRanges :: Lens' ChromeOSDevice [ChromeOSDeviceActiveTimeRangesItem]+codActiveTimeRanges+ = lens _codActiveTimeRanges+ (\ s a -> s{_codActiveTimeRanges = a})+ . _Default+ . _Coerce++-- | Kind of resource this is.+codKind :: Lens' ChromeOSDevice Text+codKind = lens _codKind (\ s a -> s{_codKind = a})++-- | Chromebook Mac Address on ethernet network interface (Read-only)+codEthernetMACAddress :: Lens' ChromeOSDevice (Maybe Text)+codEthernetMACAddress+ = lens _codEthernetMACAddress+ (\ s a -> s{_codEthernetMACAddress = a})++-- | Date and time the device was last enrolled (Read-only)+codLastEnrollmentTime :: Lens' ChromeOSDevice (Maybe UTCTime)+codLastEnrollmentTime+ = lens _codLastEnrollmentTime+ (\ s a -> s{_codLastEnrollmentTime = a})+ . mapping _DateTime++-- | Address or location of the device as noted by the administrator+codAnnotatedLocation :: Lens' ChromeOSDevice (Maybe Text)+codAnnotatedLocation+ = lens _codAnnotatedLocation+ (\ s a -> s{_codAnnotatedLocation = a})++-- | Chromebook Mac Address on wifi network interface (Read-only)+codMACAddress :: Lens' ChromeOSDevice (Maybe Text)+codMACAddress+ = lens _codMACAddress+ (\ s a -> s{_codMACAddress = a})++-- | OrgUnit of the device+codOrgUnitPath :: Lens' ChromeOSDevice (Maybe Text)+codOrgUnitPath+ = lens _codOrgUnitPath+ (\ s a -> s{_codOrgUnitPath = a})++-- | List of recent device users, in descending order by last login time+-- (Read-only)+codRecentUsers :: Lens' ChromeOSDevice [ChromeOSDeviceRecentUsersItem]+codRecentUsers+ = lens _codRecentUsers+ (\ s a -> s{_codRecentUsers = a})+ . _Default+ . _Coerce++-- | Final date the device will be supported (Read-only)+codSupportEndDate :: Lens' ChromeOSDevice (Maybe UTCTime)+codSupportEndDate+ = lens _codSupportEndDate+ (\ s a -> s{_codSupportEndDate = a})+ . mapping _DateTime++-- | Chromebook Model (Read-only)+codModel :: Lens' ChromeOSDevice (Maybe Text)+codModel = lens _codModel (\ s a -> s{_codModel = a})++-- | Will Chromebook auto renew after support end date (Read-only)+codWillAutoRenew :: Lens' ChromeOSDevice (Maybe Bool)+codWillAutoRenew+ = lens _codWillAutoRenew+ (\ s a -> s{_codWillAutoRenew = a})++-- | Mobile Equipment identifier for the 3G mobile card in the Chromebook+-- (Read-only)+codMeid :: Lens' ChromeOSDevice (Maybe Text)+codMeid = lens _codMeid (\ s a -> s{_codMeid = a})++-- | List of device files to download (Read-only)+codDeviceFiles :: Lens' ChromeOSDevice [ChromeOSDeviceDeviceFilesItem]+codDeviceFiles+ = lens _codDeviceFiles+ (\ s a -> s{_codDeviceFiles = a})+ . _Default+ . _Coerce++-- | Unique identifier of Chrome OS Device (Read-only)+codDeviceId :: Lens' ChromeOSDevice (Maybe Text)+codDeviceId+ = lens _codDeviceId (\ s a -> s{_codDeviceId = a})++-- | Chromebook boot mode (Read-only)+codBootMode :: Lens' ChromeOSDevice (Maybe Text)+codBootMode+ = lens _codBootMode (\ s a -> s{_codBootMode = a})++-- | Trusted Platform Module (TPM) (Read-only)+codTpmVersionInfo :: Lens' ChromeOSDevice (Maybe ChromeOSDeviceTpmVersionInfo)+codTpmVersionInfo+ = lens _codTpmVersionInfo+ (\ s a -> s{_codTpmVersionInfo = a})++-- | Chromebook order number (Read-only)+codOrderNumber :: Lens' ChromeOSDevice (Maybe Text)+codOrderNumber+ = lens _codOrderNumber+ (\ s a -> s{_codOrderNumber = a})++-- | Reports of disk space and other info about mounted\/connected volumes.+codDiskVolumeReports :: Lens' ChromeOSDevice [ChromeOSDeviceDiskVolumeReportsItem]+codDiskVolumeReports+ = lens _codDiskVolumeReports+ (\ s a -> s{_codDiskVolumeReports = a})+ . _Default+ . _Coerce++-- | AssetId specified during enrollment or through later annotation+codAnnotatedAssetId :: Lens' ChromeOSDevice (Maybe Text)+codAnnotatedAssetId+ = lens _codAnnotatedAssetId+ (\ s a -> s{_codAnnotatedAssetId = a})++-- | Notes added by the administrator+codNotes :: Lens' ChromeOSDevice (Maybe Text)+codNotes = lens _codNotes (\ s a -> s{_codNotes = a})++-- | Chromebook serial number (Read-only)+codSerialNumber :: Lens' ChromeOSDevice (Maybe Text)+codSerialNumber+ = lens _codSerialNumber+ (\ s a -> s{_codSerialNumber = a})++-- | Chromebook firmware version (Read-only)+codFirmwareVersion :: Lens' ChromeOSDevice (Maybe Text)+codFirmwareVersion+ = lens _codFirmwareVersion+ (\ s a -> s{_codFirmwareVersion = a})++-- | Chromebook Os Version (Read-only)+codOSVersion :: Lens' ChromeOSDevice (Maybe Text)+codOSVersion+ = lens _codOSVersion (\ s a -> s{_codOSVersion = a})++-- | Total RAM on the device [in bytes] (Read-only)+codSystemRamTotal :: Lens' ChromeOSDevice (Maybe Int64)+codSystemRamTotal+ = lens _codSystemRamTotal+ (\ s a -> s{_codSystemRamTotal = a})+ . mapping _Coerce++instance FromJSON ChromeOSDevice where+ parseJSON+ = withObject "ChromeOSDevice"+ (\ o ->+ ChromeOSDevice' <$>+ (o .:? "status") <*> (o .:? "etag") <*>+ (o .:? "cpuStatusReports" .!= mempty)+ <*> (o .:? "annotatedUser")+ <*> (o .:? "systemRamFreeReports" .!= mempty)+ <*> (o .:? "platformVersion")+ <*> (o .:? "lastSync")+ <*> (o .:? "activeTimeRanges" .!= mempty)+ <*>+ (o .:? "kind" .!= "admin#directory#chromeosdevice")+ <*> (o .:? "ethernetMacAddress")+ <*> (o .:? "lastEnrollmentTime")+ <*> (o .:? "annotatedLocation")+ <*> (o .:? "macAddress")+ <*> (o .:? "orgUnitPath")+ <*> (o .:? "recentUsers" .!= mempty)+ <*> (o .:? "supportEndDate")+ <*> (o .:? "model")+ <*> (o .:? "willAutoRenew")+ <*> (o .:? "meid")+ <*> (o .:? "deviceFiles" .!= mempty)+ <*> (o .:? "deviceId")+ <*> (o .:? "bootMode")+ <*> (o .:? "tpmVersionInfo")+ <*> (o .:? "orderNumber")+ <*> (o .:? "diskVolumeReports" .!= mempty)+ <*> (o .:? "annotatedAssetId")+ <*> (o .:? "notes")+ <*> (o .:? "serialNumber")+ <*> (o .:? "firmwareVersion")+ <*> (o .:? "osVersion")+ <*> (o .:? "systemRamTotal"))++instance ToJSON ChromeOSDevice where+ toJSON ChromeOSDevice'{..}+ = object+ (catMaybes+ [("status" .=) <$> _codStatus,+ ("etag" .=) <$> _codEtag,+ ("cpuStatusReports" .=) <$> _codCPUStatusReports,+ ("annotatedUser" .=) <$> _codAnnotatedUser,+ ("systemRamFreeReports" .=) <$>+ _codSystemRamFreeReports,+ ("platformVersion" .=) <$> _codPlatformVersion,+ ("lastSync" .=) <$> _codLastSync,+ ("activeTimeRanges" .=) <$> _codActiveTimeRanges,+ Just ("kind" .= _codKind),+ ("ethernetMacAddress" .=) <$> _codEthernetMACAddress,+ ("lastEnrollmentTime" .=) <$> _codLastEnrollmentTime,+ ("annotatedLocation" .=) <$> _codAnnotatedLocation,+ ("macAddress" .=) <$> _codMACAddress,+ ("orgUnitPath" .=) <$> _codOrgUnitPath,+ ("recentUsers" .=) <$> _codRecentUsers,+ ("supportEndDate" .=) <$> _codSupportEndDate,+ ("model" .=) <$> _codModel,+ ("willAutoRenew" .=) <$> _codWillAutoRenew,+ ("meid" .=) <$> _codMeid,+ ("deviceFiles" .=) <$> _codDeviceFiles,+ ("deviceId" .=) <$> _codDeviceId,+ ("bootMode" .=) <$> _codBootMode,+ ("tpmVersionInfo" .=) <$> _codTpmVersionInfo,+ ("orderNumber" .=) <$> _codOrderNumber,+ ("diskVolumeReports" .=) <$> _codDiskVolumeReports,+ ("annotatedAssetId" .=) <$> _codAnnotatedAssetId,+ ("notes" .=) <$> _codNotes,+ ("serialNumber" .=) <$> _codSerialNumber,+ ("firmwareVersion" .=) <$> _codFirmwareVersion,+ ("osVersion" .=) <$> _codOSVersion,+ ("systemRamTotal" .=) <$> _codSystemRamTotal])++-- | JSON response template for List Users operation in Apps Directory API.+--+-- /See:/ 'users' smart constructor.+data Users =+ Users'+ { _uEtag :: !(Maybe Text)+ , _uNextPageToken :: !(Maybe Text)+ , _uUsers :: !(Maybe [User])+ , _uKind :: !Text+ , _uTriggerEvent :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Users' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uEtag'+--+-- * 'uNextPageToken'+--+-- * 'uUsers'+--+-- * 'uKind'+--+-- * 'uTriggerEvent'+users+ :: Users+users =+ Users'+ { _uEtag = Nothing+ , _uNextPageToken = Nothing+ , _uUsers = Nothing+ , _uKind = "admin#directory#users"+ , _uTriggerEvent = Nothing+ }+++-- | ETag of the resource.+uEtag :: Lens' Users (Maybe Text)+uEtag = lens _uEtag (\ s a -> s{_uEtag = a})++-- | Token used to access next page of this result.+uNextPageToken :: Lens' Users (Maybe Text)+uNextPageToken+ = lens _uNextPageToken+ (\ s a -> s{_uNextPageToken = a})++-- | List of user objects.+uUsers :: Lens' Users [User]+uUsers+ = lens _uUsers (\ s a -> s{_uUsers = a}) . _Default .+ _Coerce++-- | Kind of resource this is.+uKind :: Lens' Users Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | Event that triggered this response (only used in case of Push Response)+uTriggerEvent :: Lens' Users (Maybe Text)+uTriggerEvent+ = lens _uTriggerEvent+ (\ s a -> s{_uTriggerEvent = a})++instance FromJSON Users where+ parseJSON+ = withObject "Users"+ (\ o ->+ Users' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "users" .!= mempty)+ <*> (o .:? "kind" .!= "admin#directory#users")+ <*> (o .:? "trigger_event"))++instance ToJSON Users where+ toJSON Users'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _uEtag,+ ("nextPageToken" .=) <$> _uNextPageToken,+ ("users" .=) <$> _uUsers, Just ("kind" .= _uKind),+ ("trigger_event" .=) <$> _uTriggerEvent])++-- | The template that returns individual ASP (Access Code) data.+--+-- /See:/ 'asp' smart constructor.+data Asp =+ Asp'+ { _aCreationTime :: !(Maybe (Textual Int64))+ , _aEtag :: !(Maybe Text)+ , _aCodeId :: !(Maybe (Textual Int32))+ , _aKind :: !Text+ , _aName :: !(Maybe Text)+ , _aLastTimeUsed :: !(Maybe (Textual Int64))+ , _aUserKey :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Asp' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aCreationTime'+--+-- * 'aEtag'+--+-- * 'aCodeId'+--+-- * 'aKind'+--+-- * 'aName'+--+-- * 'aLastTimeUsed'+--+-- * 'aUserKey'+asp+ :: Asp+asp =+ Asp'+ { _aCreationTime = Nothing+ , _aEtag = Nothing+ , _aCodeId = Nothing+ , _aKind = "admin#directory#asp"+ , _aName = Nothing+ , _aLastTimeUsed = Nothing+ , _aUserKey = Nothing+ }+++-- | The time when the ASP was created. Expressed in Unix time format.+aCreationTime :: Lens' Asp (Maybe Int64)+aCreationTime+ = lens _aCreationTime+ (\ s a -> s{_aCreationTime = a})+ . mapping _Coerce++-- | ETag of the ASP.+aEtag :: Lens' Asp (Maybe Text)+aEtag = lens _aEtag (\ s a -> s{_aEtag = a})++-- | The unique ID of the ASP.+aCodeId :: Lens' Asp (Maybe Int32)+aCodeId+ = lens _aCodeId (\ s a -> s{_aCodeId = a}) .+ mapping _Coerce++-- | The type of the API resource. This is always admin#directory#asp.+aKind :: Lens' Asp Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | The name of the application that the user, represented by their userId,+-- entered when the ASP was created.+aName :: Lens' Asp (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | The time when the ASP was last used. Expressed in Unix time format.+aLastTimeUsed :: Lens' Asp (Maybe Int64)+aLastTimeUsed+ = lens _aLastTimeUsed+ (\ s a -> s{_aLastTimeUsed = a})+ . mapping _Coerce++-- | The unique ID of the user who issued the ASP.+aUserKey :: Lens' Asp (Maybe Text)+aUserKey = lens _aUserKey (\ s a -> s{_aUserKey = a})++instance FromJSON Asp where+ parseJSON+ = withObject "Asp"+ (\ o ->+ Asp' <$>+ (o .:? "creationTime") <*> (o .:? "etag") <*>+ (o .:? "codeId")+ <*> (o .:? "kind" .!= "admin#directory#asp")+ <*> (o .:? "name")+ <*> (o .:? "lastTimeUsed")+ <*> (o .:? "userKey"))++instance ToJSON Asp where+ toJSON Asp'{..}+ = object+ (catMaybes+ [("creationTime" .=) <$> _aCreationTime,+ ("etag" .=) <$> _aEtag, ("codeId" .=) <$> _aCodeId,+ Just ("kind" .= _aKind), ("name" .=) <$> _aName,+ ("lastTimeUsed" .=) <$> _aLastTimeUsed,+ ("userKey" .=) <$> _aUserKey])++-- | JSON response template for List Schema operation in Directory API.+--+-- /See:/ 'schemas' smart constructor.+data Schemas =+ Schemas'+ { _sEtag :: !(Maybe Text)+ , _sSchemas :: !(Maybe [Schema])+ , _sKind :: !Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Schemas' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sEtag'+--+-- * 'sSchemas'+--+-- * 'sKind'+schemas+ :: Schemas+schemas =+ Schemas'+ {_sEtag = Nothing, _sSchemas = Nothing, _sKind = "admin#directory#schemas"}+++-- | ETag of the resource.+sEtag :: Lens' Schemas (Maybe Text)+sEtag = lens _sEtag (\ s a -> s{_sEtag = a})++-- | List of UserSchema objects.+sSchemas :: Lens' Schemas [Schema]+sSchemas+ = lens _sSchemas (\ s a -> s{_sSchemas = a}) .+ _Default+ . _Coerce++-- | Kind of resource this is.+sKind :: Lens' Schemas Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++instance FromJSON Schemas where+ parseJSON+ = withObject "Schemas"+ (\ o ->+ Schemas' <$>+ (o .:? "etag") <*> (o .:? "schemas" .!= mempty) <*>+ (o .:? "kind" .!= "admin#directory#schemas"))++instance ToJSON Schemas where+ toJSON Schemas'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _sEtag,+ ("schemas" .=) <$> _sSchemas,+ Just ("kind" .= _sKind)])++--+-- /See:/ 'chromeOSDeviceDeviceFilesItem' smart constructor.+data ChromeOSDeviceDeviceFilesItem =+ ChromeOSDeviceDeviceFilesItem'+ { _coddfiName :: !(Maybe Text)+ , _coddfiDownloadURL :: !(Maybe Text)+ , _coddfiType :: !(Maybe Text)+ , _coddfiCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceDeviceFilesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coddfiName'+--+-- * 'coddfiDownloadURL'+--+-- * 'coddfiType'+--+-- * 'coddfiCreateTime'+chromeOSDeviceDeviceFilesItem+ :: ChromeOSDeviceDeviceFilesItem+chromeOSDeviceDeviceFilesItem =+ ChromeOSDeviceDeviceFilesItem'+ { _coddfiName = Nothing+ , _coddfiDownloadURL = Nothing+ , _coddfiType = Nothing+ , _coddfiCreateTime = Nothing+ }+++-- | File name+coddfiName :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)+coddfiName+ = lens _coddfiName (\ s a -> s{_coddfiName = a})++-- | File download URL+coddfiDownloadURL :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)+coddfiDownloadURL+ = lens _coddfiDownloadURL+ (\ s a -> s{_coddfiDownloadURL = a})++-- | File type+coddfiType :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe Text)+coddfiType+ = lens _coddfiType (\ s a -> s{_coddfiType = a})++-- | Date and time the file was created+coddfiCreateTime :: Lens' ChromeOSDeviceDeviceFilesItem (Maybe UTCTime)+coddfiCreateTime+ = lens _coddfiCreateTime+ (\ s a -> s{_coddfiCreateTime = a})+ . mapping _DateTime++instance FromJSON ChromeOSDeviceDeviceFilesItem where+ parseJSON+ = withObject "ChromeOSDeviceDeviceFilesItem"+ (\ o ->+ ChromeOSDeviceDeviceFilesItem' <$>+ (o .:? "name") <*> (o .:? "downloadUrl") <*>+ (o .:? "type")+ <*> (o .:? "createTime"))++instance ToJSON ChromeOSDeviceDeviceFilesItem where+ toJSON ChromeOSDeviceDeviceFilesItem'{..}+ = object+ (catMaybes+ [("name" .=) <$> _coddfiName,+ ("downloadUrl" .=) <$> _coddfiDownloadURL,+ ("type" .=) <$> _coddfiType,+ ("createTime" .=) <$> _coddfiCreateTime])++-- | JSON template for Building List Response object in Directory API.+--+-- /See:/ 'buildings' smart constructor.+data Buildings =+ Buildings'+ { _bEtag :: !(Maybe Text)+ , _bNextPageToken :: !(Maybe Text)+ , _bBuildings :: !(Maybe [Building])+ , _bKind :: !Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Buildings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bEtag'+--+-- * 'bNextPageToken'+--+-- * 'bBuildings'+--+-- * 'bKind'+buildings+ :: Buildings+buildings =+ Buildings'+ { _bEtag = Nothing+ , _bNextPageToken = Nothing+ , _bBuildings = Nothing+ , _bKind = "admin#directory#resources#buildings#buildingsList"+ }+++-- | ETag of the resource.+bEtag :: Lens' Buildings (Maybe Text)+bEtag = lens _bEtag (\ s a -> s{_bEtag = a})++-- | The continuation token, used to page through large result sets. Provide+-- this value in a subsequent request to return the next page of results.+bNextPageToken :: Lens' Buildings (Maybe Text)+bNextPageToken+ = lens _bNextPageToken+ (\ s a -> s{_bNextPageToken = a})++-- | The Buildings in this page of results.+bBuildings :: Lens' Buildings [Building]+bBuildings+ = lens _bBuildings (\ s a -> s{_bBuildings = a}) .+ _Default+ . _Coerce++-- | Kind of resource this is.+bKind :: Lens' Buildings Text+bKind = lens _bKind (\ s a -> s{_bKind = a})++instance FromJSON Buildings where+ parseJSON+ = withObject "Buildings"+ (\ o ->+ Buildings' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "buildings" .!= mempty)+ <*>+ (o .:? "kind" .!=+ "admin#directory#resources#buildings#buildingsList"))++instance ToJSON Buildings where+ toJSON Buildings'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _bEtag,+ ("nextPageToken" .=) <$> _bNextPageToken,+ ("buildings" .=) <$> _bBuildings,+ Just ("kind" .= _bKind)])++-- | Template for a notification resource.+--+-- /See:/ 'notification' smart constructor.+data Notification =+ Notification'+ { _nSubject :: !(Maybe Text)+ , _nEtag :: !(Maybe Text)+ , _nKind :: !Text+ , _nBody :: !(Maybe Text)+ , _nFromAddress :: !(Maybe Text)+ , _nIsUnread :: !(Maybe Bool)+ , _nNotificationId :: !(Maybe Text)+ , _nSendTime :: !(Maybe DateTime')+ }+ 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:+--+-- * 'nSubject'+--+-- * 'nEtag'+--+-- * 'nKind'+--+-- * 'nBody'+--+-- * 'nFromAddress'+--+-- * 'nIsUnread'+--+-- * 'nNotificationId'+--+-- * 'nSendTime'+notification+ :: Notification+notification =+ Notification'+ { _nSubject = Nothing+ , _nEtag = Nothing+ , _nKind = "admin#directory#notification"+ , _nBody = Nothing+ , _nFromAddress = Nothing+ , _nIsUnread = Nothing+ , _nNotificationId = Nothing+ , _nSendTime = Nothing+ }+++-- | Subject of the notification (Read-only)+nSubject :: Lens' Notification (Maybe Text)+nSubject = lens _nSubject (\ s a -> s{_nSubject = a})++-- | ETag of the resource.+nEtag :: Lens' Notification (Maybe Text)+nEtag = lens _nEtag (\ s a -> s{_nEtag = a})++-- | The type of the resource.+nKind :: Lens' Notification Text+nKind = lens _nKind (\ s a -> s{_nKind = a})++-- | Body of the notification (Read-only)+nBody :: Lens' Notification (Maybe Text)+nBody = lens _nBody (\ s a -> s{_nBody = a})++-- | Address from which the notification is received (Read-only)+nFromAddress :: Lens' Notification (Maybe Text)+nFromAddress+ = lens _nFromAddress (\ s a -> s{_nFromAddress = a})++-- | Boolean indicating whether the notification is unread or not.+nIsUnread :: Lens' Notification (Maybe Bool)+nIsUnread+ = lens _nIsUnread (\ s a -> s{_nIsUnread = a})++nNotificationId :: Lens' Notification (Maybe Text)+nNotificationId+ = lens _nNotificationId+ (\ s a -> s{_nNotificationId = a})++-- | Time at which notification was sent (Read-only)+nSendTime :: Lens' Notification (Maybe UTCTime)+nSendTime+ = lens _nSendTime (\ s a -> s{_nSendTime = a}) .+ mapping _DateTime++instance FromJSON Notification where+ parseJSON+ = withObject "Notification"+ (\ o ->+ Notification' <$>+ (o .:? "subject") <*> (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#notification")+ <*> (o .:? "body")+ <*> (o .:? "fromAddress")+ <*> (o .:? "isUnread")+ <*> (o .:? "notificationId")+ <*> (o .:? "sendTime"))++instance ToJSON Notification where+ toJSON Notification'{..}+ = object+ (catMaybes+ [("subject" .=) <$> _nSubject,+ ("etag" .=) <$> _nEtag, Just ("kind" .= _nKind),+ ("body" .=) <$> _nBody,+ ("fromAddress" .=) <$> _nFromAddress,+ ("isUnread" .=) <$> _nIsUnread,+ ("notificationId" .=) <$> _nNotificationId,+ ("sendTime" .=) <$> _nSendTime])++-- | JSON template for instant messenger of an user.+--+-- /See:/ 'userIm' smart constructor.+data UserIm =+ UserIm'+ { _uiIm :: !(Maybe Text)+ , _uiProtocol :: !(Maybe Text)+ , _uiPrimary :: !(Maybe Bool)+ , _uiCustomProtocol :: !(Maybe Text)+ , _uiType :: !(Maybe Text)+ , _uiCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserIm' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uiIm'+--+-- * 'uiProtocol'+--+-- * 'uiPrimary'+--+-- * 'uiCustomProtocol'+--+-- * 'uiType'+--+-- * 'uiCustomType'+userIm+ :: UserIm+userIm =+ UserIm'+ { _uiIm = Nothing+ , _uiProtocol = Nothing+ , _uiPrimary = Nothing+ , _uiCustomProtocol = Nothing+ , _uiType = Nothing+ , _uiCustomType = Nothing+ }+++-- | Instant messenger id.+uiIm :: Lens' UserIm (Maybe Text)+uiIm = lens _uiIm (\ s a -> s{_uiIm = a})++-- | Protocol used in the instant messenger. It should be one of the values+-- from ImProtocolTypes map. Similar to type, it can take a CUSTOM value+-- and specify the custom name in customProtocol field.+uiProtocol :: Lens' UserIm (Maybe Text)+uiProtocol+ = lens _uiProtocol (\ s a -> s{_uiProtocol = a})++-- | If this is user\'s primary im. Only one entry could be marked as+-- primary.+uiPrimary :: Lens' UserIm (Maybe Bool)+uiPrimary+ = lens _uiPrimary (\ s a -> s{_uiPrimary = a})++-- | Custom protocol.+uiCustomProtocol :: Lens' UserIm (Maybe Text)+uiCustomProtocol+ = lens _uiCustomProtocol+ (\ s a -> s{_uiCustomProtocol = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example instant messengers could be of home, work etc. In addition+-- to the standard type, an entry can have a custom type and can take any+-- value. Such types should have the CUSTOM value as type and also have a+-- customType value.+uiType :: Lens' UserIm (Maybe Text)+uiType = lens _uiType (\ s a -> s{_uiType = a})++-- | Custom type.+uiCustomType :: Lens' UserIm (Maybe Text)+uiCustomType+ = lens _uiCustomType (\ s a -> s{_uiCustomType = a})++instance FromJSON UserIm where+ parseJSON+ = withObject "UserIm"+ (\ o ->+ UserIm' <$>+ (o .:? "im") <*> (o .:? "protocol") <*>+ (o .:? "primary")+ <*> (o .:? "customProtocol")+ <*> (o .:? "type")+ <*> (o .:? "customType"))++instance ToJSON UserIm where+ toJSON UserIm'{..}+ = object+ (catMaybes+ [("im" .=) <$> _uiIm,+ ("protocol" .=) <$> _uiProtocol,+ ("primary" .=) <$> _uiPrimary,+ ("customProtocol" .=) <$> _uiCustomProtocol,+ ("type" .=) <$> _uiType,+ ("customType" .=) <$> _uiCustomType])++-- | JSON template for the postal address of a building in Directory API.+--+-- /See:/ 'buildingAddress' smart constructor.+data BuildingAddress =+ BuildingAddress'+ { _baLanguageCode :: !(Maybe Text)+ , _baRegionCode :: !(Maybe Text)+ , _baSublocality :: !(Maybe Text)+ , _baPostalCode :: !(Maybe Text)+ , _baLocality :: !(Maybe Text)+ , _baAdministrativeArea :: !(Maybe Text)+ , _baAddressLines :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BuildingAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baLanguageCode'+--+-- * 'baRegionCode'+--+-- * 'baSublocality'+--+-- * 'baPostalCode'+--+-- * 'baLocality'+--+-- * 'baAdministrativeArea'+--+-- * 'baAddressLines'+buildingAddress+ :: BuildingAddress+buildingAddress =+ BuildingAddress'+ { _baLanguageCode = Nothing+ , _baRegionCode = Nothing+ , _baSublocality = Nothing+ , _baPostalCode = Nothing+ , _baLocality = Nothing+ , _baAdministrativeArea = Nothing+ , _baAddressLines = Nothing+ }+++-- | Optional. BCP-47 language code of the contents of this address (if+-- known).+baLanguageCode :: Lens' BuildingAddress (Maybe Text)+baLanguageCode+ = lens _baLanguageCode+ (\ s a -> s{_baLanguageCode = a})++-- | Required. CLDR region code of the country\/region of the address.+baRegionCode :: Lens' BuildingAddress (Maybe Text)+baRegionCode+ = lens _baRegionCode (\ s a -> s{_baRegionCode = a})++-- | Optional. Sublocality of the address.+baSublocality :: Lens' BuildingAddress (Maybe Text)+baSublocality+ = lens _baSublocality+ (\ s a -> s{_baSublocality = a})++-- | Optional. Postal code of the address.+baPostalCode :: Lens' BuildingAddress (Maybe Text)+baPostalCode+ = lens _baPostalCode (\ s a -> s{_baPostalCode = a})++-- | Optional. Generally refers to the city\/town portion of the address.+-- Examples: US city, IT comune, UK post town. In regions of the world+-- where localities are not well defined or do not fit into this structure+-- well, leave locality empty and use addressLines.+baLocality :: Lens' BuildingAddress (Maybe Text)+baLocality+ = lens _baLocality (\ s a -> s{_baLocality = a})++-- | Optional. Highest administrative subdivision which is used for postal+-- addresses of a country or region.+baAdministrativeArea :: Lens' BuildingAddress (Maybe Text)+baAdministrativeArea+ = lens _baAdministrativeArea+ (\ s a -> s{_baAdministrativeArea = a})++-- | Unstructured address lines describing the lower levels of an address.+baAddressLines :: Lens' BuildingAddress [Text]+baAddressLines+ = lens _baAddressLines+ (\ s a -> s{_baAddressLines = a})+ . _Default+ . _Coerce++instance FromJSON BuildingAddress where+ parseJSON+ = withObject "BuildingAddress"+ (\ o ->+ BuildingAddress' <$>+ (o .:? "languageCode") <*> (o .:? "regionCode") <*>+ (o .:? "sublocality")+ <*> (o .:? "postalCode")+ <*> (o .:? "locality")+ <*> (o .:? "administrativeArea")+ <*> (o .:? "addressLines" .!= mempty))++instance ToJSON BuildingAddress where+ toJSON BuildingAddress'{..}+ = object+ (catMaybes+ [("languageCode" .=) <$> _baLanguageCode,+ ("regionCode" .=) <$> _baRegionCode,+ ("sublocality" .=) <$> _baSublocality,+ ("postalCode" .=) <$> _baPostalCode,+ ("locality" .=) <$> _baLocality,+ ("administrativeArea" .=) <$> _baAdministrativeArea,+ ("addressLines" .=) <$> _baAddressLines])++-- | JSON response template for List tokens operation in Directory API.+--+-- /See:/ 'tokens' smart constructor.+data Tokens =+ Tokens'+ { _tEtag :: !(Maybe Text)+ , _tKind :: !Text+ , _tItems :: !(Maybe [Token])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Tokens' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tEtag'+--+-- * 'tKind'+--+-- * 'tItems'+tokens+ :: Tokens+tokens =+ Tokens'+ {_tEtag = Nothing, _tKind = "admin#directory#tokenList", _tItems = Nothing}+++-- | ETag of the resource.+tEtag :: Lens' Tokens (Maybe Text)+tEtag = lens _tEtag (\ s a -> s{_tEtag = a})++-- | The type of the API resource. This is always admin#directory#tokenList.+tKind :: Lens' Tokens Text+tKind = lens _tKind (\ s a -> s{_tKind = a})++-- | A list of Token resources.+tItems :: Lens' Tokens [Token]+tItems+ = lens _tItems (\ s a -> s{_tItems = a}) . _Default .+ _Coerce++instance FromJSON Tokens where+ parseJSON+ = withObject "Tokens"+ (\ o ->+ Tokens' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#tokenList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Tokens where+ toJSON Tokens'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _tEtag, Just ("kind" .= _tKind),+ ("items" .=) <$> _tItems])++-- | Custom fields of the user.+--+-- /See:/ 'userCustomSchemas' smart constructor.+newtype UserCustomSchemas =+ UserCustomSchemas'+ { _ucsAddtional :: HashMap Text UserCustomProperties+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserCustomSchemas' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucsAddtional'+userCustomSchemas+ :: HashMap Text UserCustomProperties -- ^ 'ucsAddtional'+ -> UserCustomSchemas+userCustomSchemas pUcsAddtional_ =+ UserCustomSchemas' {_ucsAddtional = _Coerce # pUcsAddtional_}+++ucsAddtional :: Lens' UserCustomSchemas (HashMap Text UserCustomProperties)+ucsAddtional+ = lens _ucsAddtional (\ s a -> s{_ucsAddtional = a})+ . _Coerce++instance FromJSON UserCustomSchemas where+ parseJSON+ = withObject "UserCustomSchemas"+ (\ o -> UserCustomSchemas' <$> (parseJSONObject o))++instance ToJSON UserCustomSchemas where+ toJSON = toJSON . _ucsAddtional++-- | JSON template for a keyword entry.+--+-- /See:/ 'userKeyword' smart constructor.+data UserKeyword =+ UserKeyword'+ { _ukValue :: !(Maybe Text)+ , _ukType :: !(Maybe Text)+ , _ukCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserKeyword' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ukValue'+--+-- * 'ukType'+--+-- * 'ukCustomType'+userKeyword+ :: UserKeyword+userKeyword =+ UserKeyword' {_ukValue = Nothing, _ukType = Nothing, _ukCustomType = Nothing}+++-- | Keyword.+ukValue :: Lens' UserKeyword (Maybe Text)+ukValue = lens _ukValue (\ s a -> s{_ukValue = a})++-- | Each entry can have a type which indicates standard type of that entry.+-- For example, keyword could be of type occupation or outlook. In addition+-- to the standard type, an entry can have a custom type and can give it+-- any name. Such types should have the CUSTOM value as type and also have+-- a customType value.+ukType :: Lens' UserKeyword (Maybe Text)+ukType = lens _ukType (\ s a -> s{_ukType = a})++-- | Custom Type.+ukCustomType :: Lens' UserKeyword (Maybe Text)+ukCustomType+ = lens _ukCustomType (\ s a -> s{_ukCustomType = a})++instance FromJSON UserKeyword where+ parseJSON+ = withObject "UserKeyword"+ (\ o ->+ UserKeyword' <$>+ (o .:? "value") <*> (o .:? "type") <*>+ (o .:? "customType"))++instance ToJSON UserKeyword where+ toJSON UserKeyword'{..}+ = object+ (catMaybes+ [("value" .=) <$> _ukValue, ("type" .=) <$> _ukType,+ ("customType" .=) <$> _ukCustomType])++-- | JSON response template to list domain aliases in Directory API.+--+-- /See:/ 'domainAliases' smart constructor.+data DomainAliases =+ DomainAliases'+ { _daEtag :: !(Maybe Text)+ , _daKind :: !Text+ , _daDomainAliases :: !(Maybe [DomainAlias])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DomainAliases' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daEtag'+--+-- * 'daKind'+--+-- * 'daDomainAliases'+domainAliases+ :: DomainAliases+domainAliases =+ DomainAliases'+ { _daEtag = Nothing+ , _daKind = "admin#directory#domainAliases"+ , _daDomainAliases = Nothing+ }+++-- | ETag of the resource.+daEtag :: Lens' DomainAliases (Maybe Text)+daEtag = lens _daEtag (\ s a -> s{_daEtag = a})++-- | Kind of resource this is.+daKind :: Lens' DomainAliases Text+daKind = lens _daKind (\ s a -> s{_daKind = a})++-- | List of domain alias objects.+daDomainAliases :: Lens' DomainAliases [DomainAlias]+daDomainAliases+ = lens _daDomainAliases+ (\ s a -> s{_daDomainAliases = a})+ . _Default+ . _Coerce++instance FromJSON DomainAliases where+ parseJSON+ = withObject "DomainAliases"+ (\ o ->+ DomainAliases' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#domainAliases")+ <*> (o .:? "domainAliases" .!= mempty))++instance ToJSON DomainAliases where+ toJSON DomainAliases'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _daEtag, Just ("kind" .= _daKind),+ ("domainAliases" .=) <$> _daDomainAliases])++-- | JSON response template to list aliases in Directory API.+--+-- /See:/ 'aliases' smart constructor.+data Aliases =+ Aliases'+ { _aliEtag :: !(Maybe Text)+ , _aliKind :: !Text+ , _aliAliases :: !(Maybe [JSONValue])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Aliases' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aliEtag'+--+-- * 'aliKind'+--+-- * 'aliAliases'+aliases+ :: Aliases+aliases =+ Aliases'+ { _aliEtag = Nothing+ , _aliKind = "admin#directory#aliases"+ , _aliAliases = Nothing+ }+++-- | ETag of the resource.+aliEtag :: Lens' Aliases (Maybe Text)+aliEtag = lens _aliEtag (\ s a -> s{_aliEtag = a})++-- | Kind of resource this is.+aliKind :: Lens' Aliases Text+aliKind = lens _aliKind (\ s a -> s{_aliKind = a})++-- | List of alias objects.+aliAliases :: Lens' Aliases [JSONValue]+aliAliases+ = lens _aliAliases (\ s a -> s{_aliAliases = a}) .+ _Default+ . _Coerce++instance FromJSON Aliases where+ parseJSON+ = withObject "Aliases"+ (\ o ->+ Aliases' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#aliases")+ <*> (o .:? "aliases" .!= mempty))++instance ToJSON Aliases where+ toJSON Aliases'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _aliEtag, Just ("kind" .= _aliKind),+ ("aliases" .=) <$> _aliAliases])++-- | JSON template for Calendar Resource object in Directory API.+--+-- /See:/ 'calendarResource' smart constructor.+data CalendarResource =+ CalendarResource'+ { _crEtags :: !(Maybe Text)+ , _crResourceId :: !(Maybe Text)+ , _crResourceType :: !(Maybe Text)+ , _crResourceName :: !(Maybe Text)+ , _crKind :: !Text+ , _crBuildingId :: !(Maybe Text)+ , _crFeatureInstances :: !(Maybe JSONValue)+ , _crResourceEmail :: !(Maybe Text)+ , _crCapacity :: !(Maybe (Textual Int32))+ , _crResourceDescription :: !(Maybe Text)+ , _crFloorName :: !(Maybe Text)+ , _crGeneratedResourceName :: !(Maybe Text)+ , _crResourceCategory :: !(Maybe Text)+ , _crFloorSection :: !(Maybe Text)+ , _crUserVisibleDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CalendarResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crEtags'+--+-- * 'crResourceId'+--+-- * 'crResourceType'+--+-- * 'crResourceName'+--+-- * 'crKind'+--+-- * 'crBuildingId'+--+-- * 'crFeatureInstances'+--+-- * 'crResourceEmail'+--+-- * 'crCapacity'+--+-- * 'crResourceDescription'+--+-- * 'crFloorName'+--+-- * 'crGeneratedResourceName'+--+-- * 'crResourceCategory'+--+-- * 'crFloorSection'+--+-- * 'crUserVisibleDescription'+calendarResource+ :: CalendarResource+calendarResource =+ CalendarResource'+ { _crEtags = Nothing+ , _crResourceId = Nothing+ , _crResourceType = Nothing+ , _crResourceName = Nothing+ , _crKind = "admin#directory#resources#calendars#CalendarResource"+ , _crBuildingId = Nothing+ , _crFeatureInstances = Nothing+ , _crResourceEmail = Nothing+ , _crCapacity = Nothing+ , _crResourceDescription = Nothing+ , _crFloorName = Nothing+ , _crGeneratedResourceName = Nothing+ , _crResourceCategory = Nothing+ , _crFloorSection = Nothing+ , _crUserVisibleDescription = Nothing+ }+++-- | ETag of the resource.+crEtags :: Lens' CalendarResource (Maybe Text)+crEtags = lens _crEtags (\ s a -> s{_crEtags = a})++-- | The unique ID for the calendar resource.+crResourceId :: Lens' CalendarResource (Maybe Text)+crResourceId+ = lens _crResourceId (\ s a -> s{_crResourceId = a})++-- | The type of the calendar resource, intended for non-room resources.+crResourceType :: Lens' CalendarResource (Maybe Text)+crResourceType+ = lens _crResourceType+ (\ s a -> s{_crResourceType = a})++-- | The name of the calendar resource. For example, \"Training Room 1A\".+crResourceName :: Lens' CalendarResource (Maybe Text)+crResourceName+ = lens _crResourceName+ (\ s a -> s{_crResourceName = a})++-- | The type of the resource. For calendar resources, the value is+-- admin#directory#resources#calendars#CalendarResource.+crKind :: Lens' CalendarResource Text+crKind = lens _crKind (\ s a -> s{_crKind = a})++-- | Unique ID for the building a resource is located in.+crBuildingId :: Lens' CalendarResource (Maybe Text)+crBuildingId+ = lens _crBuildingId (\ s a -> s{_crBuildingId = a})++crFeatureInstances :: Lens' CalendarResource (Maybe JSONValue)+crFeatureInstances+ = lens _crFeatureInstances+ (\ s a -> s{_crFeatureInstances = a})++-- | The read-only email for the calendar resource. Generated as part of+-- creating a new calendar resource.+crResourceEmail :: Lens' CalendarResource (Maybe Text)+crResourceEmail+ = lens _crResourceEmail+ (\ s a -> s{_crResourceEmail = a})++-- | Capacity of a resource, number of seats in a room.+crCapacity :: Lens' CalendarResource (Maybe Int32)+crCapacity+ = lens _crCapacity (\ s a -> s{_crCapacity = a}) .+ mapping _Coerce++-- | Description of the resource, visible only to admins.+crResourceDescription :: Lens' CalendarResource (Maybe Text)+crResourceDescription+ = lens _crResourceDescription+ (\ s a -> s{_crResourceDescription = a})++-- | Name of the floor a resource is located on.+crFloorName :: Lens' CalendarResource (Maybe Text)+crFloorName+ = lens _crFloorName (\ s a -> s{_crFloorName = a})++-- | The read-only auto-generated name of the calendar resource which+-- includes metadata about the resource such as building name, floor,+-- capacity, etc. For example, \"NYC-2-Training Room 1A (16)\".+crGeneratedResourceName :: Lens' CalendarResource (Maybe Text)+crGeneratedResourceName+ = lens _crGeneratedResourceName+ (\ s a -> s{_crGeneratedResourceName = a})++-- | The category of the calendar resource. Either CONFERENCE_ROOM or OTHER.+-- Legacy data is set to CATEGORY_UNKNOWN.+crResourceCategory :: Lens' CalendarResource (Maybe Text)+crResourceCategory+ = lens _crResourceCategory+ (\ s a -> s{_crResourceCategory = a})++-- | Name of the section within a floor a resource is located in.+crFloorSection :: Lens' CalendarResource (Maybe Text)+crFloorSection+ = lens _crFloorSection+ (\ s a -> s{_crFloorSection = a})++-- | Description of the resource, visible to users and admins.+crUserVisibleDescription :: Lens' CalendarResource (Maybe Text)+crUserVisibleDescription+ = lens _crUserVisibleDescription+ (\ s a -> s{_crUserVisibleDescription = a})++instance FromJSON CalendarResource where+ parseJSON+ = withObject "CalendarResource"+ (\ o ->+ CalendarResource' <$>+ (o .:? "etags") <*> (o .:? "resourceId") <*>+ (o .:? "resourceType")+ <*> (o .:? "resourceName")+ <*>+ (o .:? "kind" .!=+ "admin#directory#resources#calendars#CalendarResource")+ <*> (o .:? "buildingId")+ <*> (o .:? "featureInstances")+ <*> (o .:? "resourceEmail")+ <*> (o .:? "capacity")+ <*> (o .:? "resourceDescription")+ <*> (o .:? "floorName")+ <*> (o .:? "generatedResourceName")+ <*> (o .:? "resourceCategory")+ <*> (o .:? "floorSection")+ <*> (o .:? "userVisibleDescription"))++instance ToJSON CalendarResource where+ toJSON CalendarResource'{..}+ = object+ (catMaybes+ [("etags" .=) <$> _crEtags,+ ("resourceId" .=) <$> _crResourceId,+ ("resourceType" .=) <$> _crResourceType,+ ("resourceName" .=) <$> _crResourceName,+ Just ("kind" .= _crKind),+ ("buildingId" .=) <$> _crBuildingId,+ ("featureInstances" .=) <$> _crFeatureInstances,+ ("resourceEmail" .=) <$> _crResourceEmail,+ ("capacity" .=) <$> _crCapacity,+ ("resourceDescription" .=) <$>+ _crResourceDescription,+ ("floorName" .=) <$> _crFloorName,+ ("generatedResourceName" .=) <$>+ _crGeneratedResourceName,+ ("resourceCategory" .=) <$> _crResourceCategory,+ ("floorSection" .=) <$> _crFloorSection,+ ("userVisibleDescription" .=) <$>+ _crUserVisibleDescription])++-- | JSON request template to undelete a user in Directory API.+--+-- /See:/ 'userUndelete' smart constructor.+newtype UserUndelete =+ UserUndelete'+ { _uuOrgUnitPath :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserUndelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uuOrgUnitPath'+userUndelete+ :: UserUndelete+userUndelete = UserUndelete' {_uuOrgUnitPath = Nothing}+++-- | OrgUnit of User+uuOrgUnitPath :: Lens' UserUndelete (Maybe Text)+uuOrgUnitPath+ = lens _uuOrgUnitPath+ (\ s a -> s{_uuOrgUnitPath = a})++instance FromJSON UserUndelete where+ parseJSON+ = withObject "UserUndelete"+ (\ o -> UserUndelete' <$> (o .:? "orgUnitPath"))++instance ToJSON UserUndelete where+ toJSON UserUndelete'{..}+ = object+ (catMaybes [("orgUnitPath" .=) <$> _uuOrgUnitPath])++-- | JSON response template for List Members operation in Directory API.+--+-- /See:/ 'members' smart constructor.+data Members =+ Members'+ { _mEtag :: !(Maybe Text)+ , _mNextPageToken :: !(Maybe Text)+ , _mKind :: !Text+ , _mMembers :: !(Maybe [Member])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Members' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mEtag'+--+-- * 'mNextPageToken'+--+-- * 'mKind'+--+-- * 'mMembers'+members+ :: Members+members =+ Members'+ { _mEtag = Nothing+ , _mNextPageToken = Nothing+ , _mKind = "admin#directory#members"+ , _mMembers = Nothing+ }+++-- | ETag of the resource.+mEtag :: Lens' Members (Maybe Text)+mEtag = lens _mEtag (\ s a -> s{_mEtag = a})++-- | Token used to access next page of this result.+mNextPageToken :: Lens' Members (Maybe Text)+mNextPageToken+ = lens _mNextPageToken+ (\ s a -> s{_mNextPageToken = a})++-- | Kind of resource this is.+mKind :: Lens' Members Text+mKind = lens _mKind (\ s a -> s{_mKind = a})++-- | List of member objects.+mMembers :: Lens' Members [Member]+mMembers+ = lens _mMembers (\ s a -> s{_mMembers = a}) .+ _Default+ . _Coerce++instance FromJSON Members where+ parseJSON+ = withObject "Members"+ (\ o ->+ Members' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#members")+ <*> (o .:? "members" .!= mempty))++instance ToJSON Members where+ toJSON Members'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _mEtag,+ ("nextPageToken" .=) <$> _mNextPageToken,+ Just ("kind" .= _mKind),+ ("members" .=) <$> _mMembers])++-- | An notification channel used to watch for resource changes.+--+-- /See:/ 'channel' smart constructor.+data Channel =+ Channel'+ { _cResourceURI :: !(Maybe Text)+ , _cResourceId :: !(Maybe Text)+ , _cKind :: !Text+ , _cExpiration :: !(Maybe (Textual Int64))+ , _cToken :: !(Maybe Text)+ , _cAddress :: !(Maybe Text)+ , _cPayload :: !(Maybe Bool)+ , _cParams :: !(Maybe ChannelParams)+ , _cId :: !(Maybe Text)+ , _cType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResourceURI'+--+-- * 'cResourceId'+--+-- * 'cKind'+--+-- * 'cExpiration'+--+-- * 'cToken'+--+-- * 'cAddress'+--+-- * 'cPayload'+--+-- * 'cParams'+--+-- * 'cId'+--+-- * 'cType'+channel+ :: Channel+channel =+ Channel'+ { _cResourceURI = Nothing+ , _cResourceId = Nothing+ , _cKind = "api#channel"+ , _cExpiration = Nothing+ , _cToken = Nothing+ , _cAddress = Nothing+ , _cPayload = Nothing+ , _cParams = Nothing+ , _cId = Nothing+ , _cType = Nothing+ }+++-- | A version-specific identifier for the watched resource.+cResourceURI :: Lens' Channel (Maybe Text)+cResourceURI+ = lens _cResourceURI (\ s a -> s{_cResourceURI = a})++-- | An opaque ID that identifies the resource being watched on this channel.+-- Stable across different API versions.+cResourceId :: Lens' Channel (Maybe Text)+cResourceId+ = lens _cResourceId (\ s a -> s{_cResourceId = a})++-- | Identifies this as a notification channel used to watch for changes to a+-- resource. Value: the fixed string \"api#channel\".+cKind :: Lens' Channel Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Date and time of notification channel expiration, expressed as a Unix+-- timestamp, in milliseconds. Optional.+cExpiration :: Lens' Channel (Maybe Int64)+cExpiration+ = lens _cExpiration (\ s a -> s{_cExpiration = a}) .+ mapping _Coerce++-- | An arbitrary string delivered to the target address with each+-- notification delivered over this channel. Optional.+cToken :: Lens' Channel (Maybe Text)+cToken = lens _cToken (\ s a -> s{_cToken = a})++-- | The address where notifications are delivered for this channel.+cAddress :: Lens' Channel (Maybe Text)+cAddress = lens _cAddress (\ s a -> s{_cAddress = a})++-- | A Boolean value to indicate whether payload is wanted. Optional.+cPayload :: Lens' Channel (Maybe Bool)+cPayload = lens _cPayload (\ s a -> s{_cPayload = a})++-- | Additional parameters controlling delivery channel behavior. Optional.+cParams :: Lens' Channel (Maybe ChannelParams)+cParams = lens _cParams (\ s a -> s{_cParams = a})++-- | A UUID or similar unique string that identifies this channel.+cId :: Lens' Channel (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | The type of delivery mechanism used for this channel.+cType :: Lens' Channel (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++instance FromJSON Channel where+ parseJSON+ = withObject "Channel"+ (\ o ->+ Channel' <$>+ (o .:? "resourceUri") <*> (o .:? "resourceId") <*>+ (o .:? "kind" .!= "api#channel")+ <*> (o .:? "expiration")+ <*> (o .:? "token")+ <*> (o .:? "address")+ <*> (o .:? "payload")+ <*> (o .:? "params")+ <*> (o .:? "id")+ <*> (o .:? "type"))++instance ToJSON Channel where+ toJSON Channel'{..}+ = object+ (catMaybes+ [("resourceUri" .=) <$> _cResourceURI,+ ("resourceId" .=) <$> _cResourceId,+ Just ("kind" .= _cKind),+ ("expiration" .=) <$> _cExpiration,+ ("token" .=) <$> _cToken,+ ("address" .=) <$> _cAddress,+ ("payload" .=) <$> _cPayload,+ ("params" .=) <$> _cParams, ("id" .=) <$> _cId,+ ("type" .=) <$> _cType])++-- | JSON response template for List Mobile Devices operation in Directory+-- API.+--+-- /See:/ 'mobileDevices' smart constructor.+data MobileDevices =+ MobileDevices'+ { _mdEtag :: !(Maybe Text)+ , _mdNextPageToken :: !(Maybe Text)+ , _mdKind :: !Text+ , _mdMobileDevices :: !(Maybe [MobileDevice])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MobileDevices' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdEtag'+--+-- * 'mdNextPageToken'+--+-- * 'mdKind'+--+-- * 'mdMobileDevices'+mobileDevices+ :: MobileDevices+mobileDevices =+ MobileDevices'+ { _mdEtag = Nothing+ , _mdNextPageToken = Nothing+ , _mdKind = "admin#directory#mobiledevices"+ , _mdMobileDevices = Nothing+ }+++-- | ETag of the resource.+mdEtag :: Lens' MobileDevices (Maybe Text)+mdEtag = lens _mdEtag (\ s a -> s{_mdEtag = a})++-- | Token used to access next page of this result.+mdNextPageToken :: Lens' MobileDevices (Maybe Text)+mdNextPageToken+ = lens _mdNextPageToken+ (\ s a -> s{_mdNextPageToken = a})++-- | Kind of resource this is.+mdKind :: Lens' MobileDevices Text+mdKind = lens _mdKind (\ s a -> s{_mdKind = a})++-- | List of Mobile Device objects.+mdMobileDevices :: Lens' MobileDevices [MobileDevice]+mdMobileDevices+ = lens _mdMobileDevices+ (\ s a -> s{_mdMobileDevices = a})+ . _Default+ . _Coerce++instance FromJSON MobileDevices where+ parseJSON+ = withObject "MobileDevices"+ (\ o ->+ MobileDevices' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#mobiledevices")+ <*> (o .:? "mobiledevices" .!= mempty))++instance ToJSON MobileDevices where+ toJSON MobileDevices'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _mdEtag,+ ("nextPageToken" .=) <$> _mdNextPageToken,+ Just ("kind" .= _mdKind),+ ("mobiledevices" .=) <$> _mdMobileDevices])++-- | JSON template for token resource in Directory API.+--+-- /See:/ 'token' smart constructor.+data Token =+ Token'+ { _tokClientId :: !(Maybe Text)+ , _tokEtag :: !(Maybe Text)+ , _tokDisplayText :: !(Maybe Text)+ , _tokKind :: !Text+ , _tokScopes :: !(Maybe [Text])+ , _tokNATiveApp :: !(Maybe Bool)+ , _tokAnonymous :: !(Maybe Bool)+ , _tokUserKey :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Token' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tokClientId'+--+-- * 'tokEtag'+--+-- * 'tokDisplayText'+--+-- * 'tokKind'+--+-- * 'tokScopes'+--+-- * 'tokNATiveApp'+--+-- * 'tokAnonymous'+--+-- * 'tokUserKey'+token+ :: Token+token =+ Token'+ { _tokClientId = Nothing+ , _tokEtag = Nothing+ , _tokDisplayText = Nothing+ , _tokKind = "admin#directory#token"+ , _tokScopes = Nothing+ , _tokNATiveApp = Nothing+ , _tokAnonymous = Nothing+ , _tokUserKey = Nothing+ }+++-- | The Client ID of the application the token is issued to.+tokClientId :: Lens' Token (Maybe Text)+tokClientId+ = lens _tokClientId (\ s a -> s{_tokClientId = a})++-- | ETag of the resource.+tokEtag :: Lens' Token (Maybe Text)+tokEtag = lens _tokEtag (\ s a -> s{_tokEtag = a})++-- | The displayable name of the application the token is issued to.+tokDisplayText :: Lens' Token (Maybe Text)+tokDisplayText+ = lens _tokDisplayText+ (\ s a -> s{_tokDisplayText = a})++-- | The type of the API resource. This is always admin#directory#token.+tokKind :: Lens' Token Text+tokKind = lens _tokKind (\ s a -> s{_tokKind = a})++-- | A list of authorization scopes the application is granted.+tokScopes :: Lens' Token [Text]+tokScopes+ = lens _tokScopes (\ s a -> s{_tokScopes = a}) .+ _Default+ . _Coerce++-- | Whether the token is issued to an installed application. The value is+-- true if the application is installed to a desktop or mobile device.+tokNATiveApp :: Lens' Token (Maybe Bool)+tokNATiveApp+ = lens _tokNATiveApp (\ s a -> s{_tokNATiveApp = a})++-- | Whether the application is registered with Google. The value is true if+-- the application has an anonymous Client ID.+tokAnonymous :: Lens' Token (Maybe Bool)+tokAnonymous+ = lens _tokAnonymous (\ s a -> s{_tokAnonymous = a})++-- | The unique ID of the user that issued the token.+tokUserKey :: Lens' Token (Maybe Text)+tokUserKey+ = lens _tokUserKey (\ s a -> s{_tokUserKey = a})++instance FromJSON Token where+ parseJSON+ = withObject "Token"+ (\ o ->+ Token' <$>+ (o .:? "clientId") <*> (o .:? "etag") <*>+ (o .:? "displayText")+ <*> (o .:? "kind" .!= "admin#directory#token")+ <*> (o .:? "scopes" .!= mempty)+ <*> (o .:? "nativeApp")+ <*> (o .:? "anonymous")+ <*> (o .:? "userKey"))++instance ToJSON Token where+ toJSON Token'{..}+ = object+ (catMaybes+ [("clientId" .=) <$> _tokClientId,+ ("etag" .=) <$> _tokEtag,+ ("displayText" .=) <$> _tokDisplayText,+ Just ("kind" .= _tokKind),+ ("scopes" .=) <$> _tokScopes,+ ("nativeApp" .=) <$> _tokNATiveApp,+ ("anonymous" .=) <$> _tokAnonymous,+ ("userKey" .=) <$> _tokUserKey])++-- | JSON template for name of a user in Directory API.+--+-- /See:/ 'userName' smart constructor.+data UserName =+ UserName'+ { _unGivenName :: !(Maybe Text)+ , _unFullName :: !(Maybe Text)+ , _unFamilyName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'unGivenName'+--+-- * 'unFullName'+--+-- * 'unFamilyName'+userName+ :: UserName+userName =+ UserName'+ {_unGivenName = Nothing, _unFullName = Nothing, _unFamilyName = Nothing}+++-- | First Name+unGivenName :: Lens' UserName (Maybe Text)+unGivenName+ = lens _unGivenName (\ s a -> s{_unGivenName = a})++-- | Full Name+unFullName :: Lens' UserName (Maybe Text)+unFullName+ = lens _unFullName (\ s a -> s{_unFullName = a})++-- | Last Name+unFamilyName :: Lens' UserName (Maybe Text)+unFamilyName+ = lens _unFamilyName (\ s a -> s{_unFamilyName = a})++instance FromJSON UserName where+ parseJSON+ = withObject "UserName"+ (\ o ->+ UserName' <$>+ (o .:? "givenName") <*> (o .:? "fullName") <*>+ (o .:? "familyName"))++instance ToJSON UserName where+ toJSON UserName'{..}+ = object+ (catMaybes+ [("givenName" .=) <$> _unGivenName,+ ("fullName" .=) <$> _unFullName,+ ("familyName" .=) <$> _unFamilyName])++-- | JSON template for Building object in Directory API.+--+-- /See:/ 'building' smart constructor.+data Building =+ Building'+ { _buiEtags :: !(Maybe Text)+ , _buiKind :: !Text+ , _buiBuildingId :: !(Maybe Text)+ , _buiAddress :: !(Maybe BuildingAddress)+ , _buiCoordinates :: !(Maybe BuildingCoordinates)+ , _buiBuildingName :: !(Maybe Text)+ , _buiFloorNames :: !(Maybe [Text])+ , _buiDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Building' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buiEtags'+--+-- * 'buiKind'+--+-- * 'buiBuildingId'+--+-- * 'buiAddress'+--+-- * 'buiCoordinates'+--+-- * 'buiBuildingName'+--+-- * 'buiFloorNames'+--+-- * 'buiDescription'+building+ :: Building+building =+ Building'+ { _buiEtags = Nothing+ , _buiKind = "admin#directory#resources#buildings#Building"+ , _buiBuildingId = Nothing+ , _buiAddress = Nothing+ , _buiCoordinates = Nothing+ , _buiBuildingName = Nothing+ , _buiFloorNames = Nothing+ , _buiDescription = Nothing+ }+++-- | ETag of the resource.+buiEtags :: Lens' Building (Maybe Text)+buiEtags = lens _buiEtags (\ s a -> s{_buiEtags = a})++-- | Kind of resource this is.+buiKind :: Lens' Building Text+buiKind = lens _buiKind (\ s a -> s{_buiKind = a})++-- | Unique identifier for the building. The maximum length is 100+-- characters.+buiBuildingId :: Lens' Building (Maybe Text)+buiBuildingId+ = lens _buiBuildingId+ (\ s a -> s{_buiBuildingId = a})++-- | The postal address of the building. See PostalAddress for details. Note+-- that only a single address line and region code are required.+buiAddress :: Lens' Building (Maybe BuildingAddress)+buiAddress+ = lens _buiAddress (\ s a -> s{_buiAddress = a})++-- | The geographic coordinates of the center of the building, expressed as+-- latitude and longitude in decimal degrees.+buiCoordinates :: Lens' Building (Maybe BuildingCoordinates)+buiCoordinates+ = lens _buiCoordinates+ (\ s a -> s{_buiCoordinates = a})++-- | The building name as seen by users in Calendar. Must be unique for the+-- customer. For example, \"NYC-CHEL\". The maximum length is 100+-- characters.+buiBuildingName :: Lens' Building (Maybe Text)+buiBuildingName+ = lens _buiBuildingName+ (\ s a -> s{_buiBuildingName = a})++-- | The display names for all floors in this building. The floors are+-- expected to be sorted in ascending order, from lowest floor to highest+-- floor. For example, [\"B2\", \"B1\", \"L\", \"1\", \"2\", \"2M\", \"3\",+-- \"PH\"] Must contain at least one entry.+buiFloorNames :: Lens' Building [Text]+buiFloorNames+ = lens _buiFloorNames+ (\ s a -> s{_buiFloorNames = a})+ . _Default+ . _Coerce++-- | A brief description of the building. For example, \"Chelsea Market\".+buiDescription :: Lens' Building (Maybe Text)+buiDescription+ = lens _buiDescription+ (\ s a -> s{_buiDescription = a})++instance FromJSON Building where+ parseJSON+ = withObject "Building"+ (\ o ->+ Building' <$>+ (o .:? "etags") <*>+ (o .:? "kind" .!=+ "admin#directory#resources#buildings#Building")+ <*> (o .:? "buildingId")+ <*> (o .:? "address")+ <*> (o .:? "coordinates")+ <*> (o .:? "buildingName")+ <*> (o .:? "floorNames" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON Building where+ toJSON Building'{..}+ = object+ (catMaybes+ [("etags" .=) <$> _buiEtags,+ Just ("kind" .= _buiKind),+ ("buildingId" .=) <$> _buiBuildingId,+ ("address" .=) <$> _buiAddress,+ ("coordinates" .=) <$> _buiCoordinates,+ ("buildingName" .=) <$> _buiBuildingName,+ ("floorNames" .=) <$> _buiFloorNames,+ ("description" .=) <$> _buiDescription])++--+-- /See:/ 'chromeOSDeviceRecentUsersItem' smart constructor.+data ChromeOSDeviceRecentUsersItem =+ ChromeOSDeviceRecentUsersItem'+ { _codruiEmail :: !(Maybe Text)+ , _codruiType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceRecentUsersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codruiEmail'+--+-- * 'codruiType'+chromeOSDeviceRecentUsersItem+ :: ChromeOSDeviceRecentUsersItem+chromeOSDeviceRecentUsersItem =+ ChromeOSDeviceRecentUsersItem' {_codruiEmail = Nothing, _codruiType = Nothing}+++-- | Email address of the user. Present only if the user type is managed+codruiEmail :: Lens' ChromeOSDeviceRecentUsersItem (Maybe Text)+codruiEmail+ = lens _codruiEmail (\ s a -> s{_codruiEmail = a})++-- | The type of the user+codruiType :: Lens' ChromeOSDeviceRecentUsersItem (Maybe Text)+codruiType+ = lens _codruiType (\ s a -> s{_codruiType = a})++instance FromJSON ChromeOSDeviceRecentUsersItem where+ parseJSON+ = withObject "ChromeOSDeviceRecentUsersItem"+ (\ o ->+ ChromeOSDeviceRecentUsersItem' <$>+ (o .:? "email") <*> (o .:? "type"))++instance ToJSON ChromeOSDeviceRecentUsersItem where+ toJSON ChromeOSDeviceRecentUsersItem'{..}+ = object+ (catMaybes+ [("email" .=) <$> _codruiEmail,+ ("type" .=) <$> _codruiType])++-- | JSON template for Domain Alias object in Directory API.+--+-- /See:/ 'domainAlias' smart constructor.+data DomainAlias =+ DomainAlias'+ { _dCreationTime :: !(Maybe (Textual Int64))+ , _dEtag :: !(Maybe Text)+ , _dKind :: !Text+ , _dVerified :: !(Maybe Bool)+ , _dDomainAliasName :: !(Maybe Text)+ , _dParentDomainName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DomainAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dCreationTime'+--+-- * 'dEtag'+--+-- * 'dKind'+--+-- * 'dVerified'+--+-- * 'dDomainAliasName'+--+-- * 'dParentDomainName'+domainAlias+ :: DomainAlias+domainAlias =+ DomainAlias'+ { _dCreationTime = Nothing+ , _dEtag = Nothing+ , _dKind = "admin#directory#domainAlias"+ , _dVerified = Nothing+ , _dDomainAliasName = Nothing+ , _dParentDomainName = Nothing+ }+++-- | The creation time of the domain alias. (Read-only).+dCreationTime :: Lens' DomainAlias (Maybe Int64)+dCreationTime+ = lens _dCreationTime+ (\ s a -> s{_dCreationTime = a})+ . mapping _Coerce++-- | ETag of the resource.+dEtag :: Lens' DomainAlias (Maybe Text)+dEtag = lens _dEtag (\ s a -> s{_dEtag = a})++-- | Kind of resource this is.+dKind :: Lens' DomainAlias Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | Indicates the verification state of a domain alias. (Read-only)+dVerified :: Lens' DomainAlias (Maybe Bool)+dVerified+ = lens _dVerified (\ s a -> s{_dVerified = a})++-- | The domain alias name.+dDomainAliasName :: Lens' DomainAlias (Maybe Text)+dDomainAliasName+ = lens _dDomainAliasName+ (\ s a -> s{_dDomainAliasName = a})++-- | The parent domain name that the domain alias is associated with. This+-- can either be a primary or secondary domain name within a customer.+dParentDomainName :: Lens' DomainAlias (Maybe Text)+dParentDomainName+ = lens _dParentDomainName+ (\ s a -> s{_dParentDomainName = a})++instance FromJSON DomainAlias where+ parseJSON+ = withObject "DomainAlias"+ (\ o ->+ DomainAlias' <$>+ (o .:? "creationTime") <*> (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#domainAlias")+ <*> (o .:? "verified")+ <*> (o .:? "domainAliasName")+ <*> (o .:? "parentDomainName"))++instance ToJSON DomainAlias where+ toJSON DomainAlias'{..}+ = object+ (catMaybes+ [("creationTime" .=) <$> _dCreationTime,+ ("etag" .=) <$> _dEtag, Just ("kind" .= _dKind),+ ("verified" .=) <$> _dVerified,+ ("domainAliasName" .=) <$> _dDomainAliasName,+ ("parentDomainName" .=) <$> _dParentDomainName])++--+-- /See:/ 'userGender' smart constructor.+data UserGender =+ UserGender'+ { _ugAddressMeAs :: !(Maybe Text)+ , _ugCustomGender :: !(Maybe Text)+ , _ugType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserGender' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugAddressMeAs'+--+-- * 'ugCustomGender'+--+-- * 'ugType'+userGender+ :: UserGender+userGender =+ UserGender'+ {_ugAddressMeAs = Nothing, _ugCustomGender = Nothing, _ugType = Nothing}+++-- | AddressMeAs. A human-readable string containing the proper way to refer+-- to the profile owner by humans, for example \"he\/him\/his\" or+-- \"they\/them\/their\".+ugAddressMeAs :: Lens' UserGender (Maybe Text)+ugAddressMeAs+ = lens _ugAddressMeAs+ (\ s a -> s{_ugAddressMeAs = a})++-- | Custom gender.+ugCustomGender :: Lens' UserGender (Maybe Text)+ugCustomGender+ = lens _ugCustomGender+ (\ s a -> s{_ugCustomGender = a})++-- | Gender.+ugType :: Lens' UserGender (Maybe Text)+ugType = lens _ugType (\ s a -> s{_ugType = a})++instance FromJSON UserGender where+ parseJSON+ = withObject "UserGender"+ (\ o ->+ UserGender' <$>+ (o .:? "addressMeAs") <*> (o .:? "customGender") <*>+ (o .:? "type"))++instance ToJSON UserGender where+ toJSON UserGender'{..}+ = object+ (catMaybes+ [("addressMeAs" .=) <$> _ugAddressMeAs,+ ("customGender" .=) <$> _ugCustomGender,+ ("type" .=) <$> _ugType])++-- | JSON template for Alias object in Directory API.+--+-- /See:/ 'alias' smart constructor.+data Alias =+ Alias'+ { _aaEtag :: !(Maybe Text)+ , _aaKind :: !Text+ , _aaAlias :: !(Maybe Text)+ , _aaId :: !(Maybe Text)+ , _aaPrimaryEmail :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Alias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaEtag'+--+-- * 'aaKind'+--+-- * 'aaAlias'+--+-- * 'aaId'+--+-- * 'aaPrimaryEmail'+alias+ :: Alias+alias =+ Alias'+ { _aaEtag = Nothing+ , _aaKind = "admin#directory#alias"+ , _aaAlias = Nothing+ , _aaId = Nothing+ , _aaPrimaryEmail = Nothing+ }+++-- | ETag of the resource.+aaEtag :: Lens' Alias (Maybe Text)+aaEtag = lens _aaEtag (\ s a -> s{_aaEtag = a})++-- | Kind of resource this is.+aaKind :: Lens' Alias Text+aaKind = lens _aaKind (\ s a -> s{_aaKind = a})++-- | A alias email+aaAlias :: Lens' Alias (Maybe Text)+aaAlias = lens _aaAlias (\ s a -> s{_aaAlias = a})++-- | Unique id of the group (Read-only) Unique id of the user (Read-only)+aaId :: Lens' Alias (Maybe Text)+aaId = lens _aaId (\ s a -> s{_aaId = a})++-- | Group\'s primary email (Read-only) User\'s primary email (Read-only)+aaPrimaryEmail :: Lens' Alias (Maybe Text)+aaPrimaryEmail+ = lens _aaPrimaryEmail+ (\ s a -> s{_aaPrimaryEmail = a})++instance FromJSON Alias where+ parseJSON+ = withObject "Alias"+ (\ o ->+ Alias' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#alias")+ <*> (o .:? "alias")+ <*> (o .:? "id")+ <*> (o .:? "primaryEmail"))++instance ToJSON Alias where+ toJSON Alias'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _aaEtag, Just ("kind" .= _aaKind),+ ("alias" .=) <$> _aaAlias, ("id" .=) <$> _aaId,+ ("primaryEmail" .=) <$> _aaPrimaryEmail])++-- | JSON template for Schema resource in Directory API.+--+-- /See:/ 'schema' smart constructor.+data Schema =+ Schema'+ { _schEtag :: !(Maybe Text)+ , _schKind :: !Text+ , _schSchemaName :: !(Maybe Text)+ , _schSchemaId :: !(Maybe Text)+ , _schDisplayName :: !(Maybe Text)+ , _schFields :: !(Maybe [SchemaFieldSpec])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Schema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'schEtag'+--+-- * 'schKind'+--+-- * 'schSchemaName'+--+-- * 'schSchemaId'+--+-- * 'schDisplayName'+--+-- * 'schFields'+schema+ :: Schema+schema =+ Schema'+ { _schEtag = Nothing+ , _schKind = "admin#directory#schema"+ , _schSchemaName = Nothing+ , _schSchemaId = Nothing+ , _schDisplayName = Nothing+ , _schFields = Nothing+ }+++-- | ETag of the resource.+schEtag :: Lens' Schema (Maybe Text)+schEtag = lens _schEtag (\ s a -> s{_schEtag = a})++-- | Kind of resource this is.+schKind :: Lens' Schema Text+schKind = lens _schKind (\ s a -> s{_schKind = a})++-- | Schema name+schSchemaName :: Lens' Schema (Maybe Text)+schSchemaName+ = lens _schSchemaName+ (\ s a -> s{_schSchemaName = a})++-- | Unique identifier of Schema (Read-only)+schSchemaId :: Lens' Schema (Maybe Text)+schSchemaId+ = lens _schSchemaId (\ s a -> s{_schSchemaId = a})++-- | Display name for the schema.+schDisplayName :: Lens' Schema (Maybe Text)+schDisplayName+ = lens _schDisplayName+ (\ s a -> s{_schDisplayName = a})++-- | Fields of Schema+schFields :: Lens' Schema [SchemaFieldSpec]+schFields+ = lens _schFields (\ s a -> s{_schFields = a}) .+ _Default+ . _Coerce++instance FromJSON Schema where+ parseJSON+ = withObject "Schema"+ (\ o ->+ Schema' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#schema")+ <*> (o .:? "schemaName")+ <*> (o .:? "schemaId")+ <*> (o .:? "displayName")+ <*> (o .:? "fields" .!= mempty))++instance ToJSON Schema where+ toJSON Schema'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _schEtag, Just ("kind" .= _schKind),+ ("schemaName" .=) <$> _schSchemaName,+ ("schemaId" .=) <$> _schSchemaId,+ ("displayName" .=) <$> _schDisplayName,+ ("fields" .=) <$> _schFields])++-- | JSON request template for moving ChromeOs Device to given OU in+-- Directory Devices API.+--+-- /See:/ 'chromeOSMoveDevicesToOu' smart constructor.+newtype ChromeOSMoveDevicesToOu =+ ChromeOSMoveDevicesToOu'+ { _comdtoDeviceIds :: Maybe [Text]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSMoveDevicesToOu' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comdtoDeviceIds'+chromeOSMoveDevicesToOu+ :: ChromeOSMoveDevicesToOu+chromeOSMoveDevicesToOu = ChromeOSMoveDevicesToOu' {_comdtoDeviceIds = Nothing}+++-- | ChromeOs Devices to be moved to OU+comdtoDeviceIds :: Lens' ChromeOSMoveDevicesToOu [Text]+comdtoDeviceIds+ = lens _comdtoDeviceIds+ (\ s a -> s{_comdtoDeviceIds = a})+ . _Default+ . _Coerce++instance FromJSON ChromeOSMoveDevicesToOu where+ parseJSON+ = withObject "ChromeOSMoveDevicesToOu"+ (\ o ->+ ChromeOSMoveDevicesToOu' <$>+ (o .:? "deviceIds" .!= mempty))++instance ToJSON ChromeOSMoveDevicesToOu where+ toJSON ChromeOSMoveDevicesToOu'{..}+ = object+ (catMaybes [("deviceIds" .=) <$> _comdtoDeviceIds])++-- | JSON template for User object in Directory API.+--+-- /See:/ 'user' smart constructor.+data User =+ User'+ { _useCreationTime :: !(Maybe DateTime')+ , _useLastLoginTime :: !(Maybe DateTime')+ , _useThumbnailPhotoEtag :: !(Maybe Text)+ , _useEtag :: !(Maybe Text)+ , _usePosixAccounts :: !(Maybe JSONValue)+ , _useIPWhiteListed :: !(Maybe Bool)+ , _useRelations :: !(Maybe JSONValue)+ , _useSSHPublicKeys :: !(Maybe JSONValue)+ , _useHashFunction :: !(Maybe Text)+ , _useKind :: !Text+ , _useChangePasswordAtNextLogin :: !(Maybe Bool)+ , _useWebsites :: !(Maybe JSONValue)+ , _useAddresses :: !(Maybe JSONValue)+ , _useAliases :: !(Maybe [Text])+ , _useThumbnailPhotoURL :: !(Maybe Text)+ , _useExternalIds :: !(Maybe JSONValue)+ , _useSuspended :: !(Maybe Bool)+ , _useAgreedToTerms :: !(Maybe Bool)+ , _useDeletionTime :: !(Maybe DateTime')+ , _useNonEditableAliases :: !(Maybe [Text])+ , _useOrgUnitPath :: !(Maybe Text)+ , _useCustomerId :: !(Maybe Text)+ , _useLanguages :: !(Maybe JSONValue)+ , _useIncludeInGlobalAddressList :: !(Maybe Bool)+ , _useGender :: !(Maybe JSONValue)+ , _usePhones :: !(Maybe JSONValue)+ , _useName :: !(Maybe UserName)+ , _usePassword :: !(Maybe Text)+ , _useEmails :: !(Maybe JSONValue)+ , _useIms :: !(Maybe JSONValue)+ , _useKeywords :: !(Maybe JSONValue)+ , _useIsAdmin :: !(Maybe Bool)+ , _useIsEnrolledIn2Sv :: !(Maybe Bool)+ , _useId :: !(Maybe Text)+ , _useOrganizations :: !(Maybe JSONValue)+ , _usePrimaryEmail :: !(Maybe Text)+ , _useIsEnforcedIn2Sv :: !(Maybe Bool)+ , _useNotes :: !(Maybe JSONValue)+ , _useIsDelegatedAdmin :: !(Maybe Bool)+ , _useLocations :: !(Maybe JSONValue)+ , _useArchived :: !(Maybe Bool)+ , _useIsMailboxSetup :: !(Maybe Bool)+ , _useCustomSchemas :: !(Maybe UserCustomSchemas)+ , _useSuspensionReason :: !(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:+--+-- * 'useCreationTime'+--+-- * 'useLastLoginTime'+--+-- * 'useThumbnailPhotoEtag'+--+-- * 'useEtag'+--+-- * 'usePosixAccounts'+--+-- * 'useIPWhiteListed'+--+-- * 'useRelations'+--+-- * 'useSSHPublicKeys'+--+-- * 'useHashFunction'+--+-- * 'useKind'+--+-- * 'useChangePasswordAtNextLogin'+--+-- * 'useWebsites'+--+-- * 'useAddresses'+--+-- * 'useAliases'+--+-- * 'useThumbnailPhotoURL'+--+-- * 'useExternalIds'+--+-- * 'useSuspended'+--+-- * 'useAgreedToTerms'+--+-- * 'useDeletionTime'+--+-- * 'useNonEditableAliases'+--+-- * 'useOrgUnitPath'+--+-- * 'useCustomerId'+--+-- * 'useLanguages'+--+-- * 'useIncludeInGlobalAddressList'+--+-- * 'useGender'+--+-- * 'usePhones'+--+-- * 'useName'+--+-- * 'usePassword'+--+-- * 'useEmails'+--+-- * 'useIms'+--+-- * 'useKeywords'+--+-- * 'useIsAdmin'+--+-- * 'useIsEnrolledIn2Sv'+--+-- * 'useId'+--+-- * 'useOrganizations'+--+-- * 'usePrimaryEmail'+--+-- * 'useIsEnforcedIn2Sv'+--+-- * 'useNotes'+--+-- * 'useIsDelegatedAdmin'+--+-- * 'useLocations'+--+-- * 'useArchived'+--+-- * 'useIsMailboxSetup'+--+-- * 'useCustomSchemas'+--+-- * 'useSuspensionReason'+user+ :: User+user =+ User'+ { _useCreationTime = Nothing+ , _useLastLoginTime = Nothing+ , _useThumbnailPhotoEtag = Nothing+ , _useEtag = Nothing+ , _usePosixAccounts = Nothing+ , _useIPWhiteListed = Nothing+ , _useRelations = Nothing+ , _useSSHPublicKeys = Nothing+ , _useHashFunction = Nothing+ , _useKind = "admin#directory#user"+ , _useChangePasswordAtNextLogin = Nothing+ , _useWebsites = Nothing+ , _useAddresses = Nothing+ , _useAliases = Nothing+ , _useThumbnailPhotoURL = Nothing+ , _useExternalIds = Nothing+ , _useSuspended = Nothing+ , _useAgreedToTerms = Nothing+ , _useDeletionTime = Nothing+ , _useNonEditableAliases = Nothing+ , _useOrgUnitPath = Nothing+ , _useCustomerId = Nothing+ , _useLanguages = Nothing+ , _useIncludeInGlobalAddressList = Nothing+ , _useGender = Nothing+ , _usePhones = Nothing+ , _useName = Nothing+ , _usePassword = Nothing+ , _useEmails = Nothing+ , _useIms = Nothing+ , _useKeywords = Nothing+ , _useIsAdmin = Nothing+ , _useIsEnrolledIn2Sv = Nothing+ , _useId = Nothing+ , _useOrganizations = Nothing+ , _usePrimaryEmail = Nothing+ , _useIsEnforcedIn2Sv = Nothing+ , _useNotes = Nothing+ , _useIsDelegatedAdmin = Nothing+ , _useLocations = Nothing+ , _useArchived = Nothing+ , _useIsMailboxSetup = Nothing+ , _useCustomSchemas = Nothing+ , _useSuspensionReason = Nothing+ }+++-- | User\'s G Suite account creation time. (Read-only)+useCreationTime :: Lens' User (Maybe UTCTime)+useCreationTime+ = lens _useCreationTime+ (\ s a -> s{_useCreationTime = a})+ . mapping _DateTime++-- | User\'s last login time. (Read-only)+useLastLoginTime :: Lens' User (Maybe UTCTime)+useLastLoginTime+ = lens _useLastLoginTime+ (\ s a -> s{_useLastLoginTime = a})+ . mapping _DateTime++-- | ETag of the user\'s photo (Read-only)+useThumbnailPhotoEtag :: Lens' User (Maybe Text)+useThumbnailPhotoEtag+ = lens _useThumbnailPhotoEtag+ (\ s a -> s{_useThumbnailPhotoEtag = a})++-- | ETag of the resource.+useEtag :: Lens' User (Maybe Text)+useEtag = lens _useEtag (\ s a -> s{_useEtag = a})++usePosixAccounts :: Lens' User (Maybe JSONValue)+usePosixAccounts+ = lens _usePosixAccounts+ (\ s a -> s{_usePosixAccounts = a})++-- | Boolean indicating if ip is whitelisted+useIPWhiteListed :: Lens' User (Maybe Bool)+useIPWhiteListed+ = lens _useIPWhiteListed+ (\ s a -> s{_useIPWhiteListed = a})++useRelations :: Lens' User (Maybe JSONValue)+useRelations+ = lens _useRelations (\ s a -> s{_useRelations = a})++useSSHPublicKeys :: Lens' User (Maybe JSONValue)+useSSHPublicKeys+ = lens _useSSHPublicKeys+ (\ s a -> s{_useSSHPublicKeys = a})++-- | Hash function name for password. Supported are MD5, SHA-1 and crypt+useHashFunction :: Lens' User (Maybe Text)+useHashFunction+ = lens _useHashFunction+ (\ s a -> s{_useHashFunction = a})++-- | Kind of resource this is.+useKind :: Lens' User Text+useKind = lens _useKind (\ s a -> s{_useKind = a})++-- | Boolean indicating if the user should change password in next login+useChangePasswordAtNextLogin :: Lens' User (Maybe Bool)+useChangePasswordAtNextLogin+ = lens _useChangePasswordAtNextLogin+ (\ s a -> s{_useChangePasswordAtNextLogin = a})++useWebsites :: Lens' User (Maybe JSONValue)+useWebsites+ = lens _useWebsites (\ s a -> s{_useWebsites = a})++useAddresses :: Lens' User (Maybe JSONValue)+useAddresses+ = lens _useAddresses (\ s a -> s{_useAddresses = a})++-- | List of aliases (Read-only)+useAliases :: Lens' User [Text]+useAliases+ = lens _useAliases (\ s a -> s{_useAliases = a}) .+ _Default+ . _Coerce++-- | Photo Url of the user (Read-only)+useThumbnailPhotoURL :: Lens' User (Maybe Text)+useThumbnailPhotoURL+ = lens _useThumbnailPhotoURL+ (\ s a -> s{_useThumbnailPhotoURL = a})++useExternalIds :: Lens' User (Maybe JSONValue)+useExternalIds+ = lens _useExternalIds+ (\ s a -> s{_useExternalIds = a})++-- | Indicates if user is suspended.+useSuspended :: Lens' User (Maybe Bool)+useSuspended+ = lens _useSuspended (\ s a -> s{_useSuspended = a})++-- | Indicates if user has agreed to terms (Read-only)+useAgreedToTerms :: Lens' User (Maybe Bool)+useAgreedToTerms+ = lens _useAgreedToTerms+ (\ s a -> s{_useAgreedToTerms = a})++useDeletionTime :: Lens' User (Maybe UTCTime)+useDeletionTime+ = lens _useDeletionTime+ (\ s a -> s{_useDeletionTime = a})+ . mapping _DateTime++-- | List of non editable aliases (Read-only)+useNonEditableAliases :: Lens' User [Text]+useNonEditableAliases+ = lens _useNonEditableAliases+ (\ s a -> s{_useNonEditableAliases = a})+ . _Default+ . _Coerce++-- | OrgUnit of User+useOrgUnitPath :: Lens' User (Maybe Text)+useOrgUnitPath+ = lens _useOrgUnitPath+ (\ s a -> s{_useOrgUnitPath = a})++-- | CustomerId of User (Read-only)+useCustomerId :: Lens' User (Maybe Text)+useCustomerId+ = lens _useCustomerId+ (\ s a -> s{_useCustomerId = a})++useLanguages :: Lens' User (Maybe JSONValue)+useLanguages+ = lens _useLanguages (\ s a -> s{_useLanguages = a})++-- | Boolean indicating if user is included in Global Address List+useIncludeInGlobalAddressList :: Lens' User (Maybe Bool)+useIncludeInGlobalAddressList+ = lens _useIncludeInGlobalAddressList+ (\ s a -> s{_useIncludeInGlobalAddressList = a})++useGender :: Lens' User (Maybe JSONValue)+useGender+ = lens _useGender (\ s a -> s{_useGender = a})++usePhones :: Lens' User (Maybe JSONValue)+usePhones+ = lens _usePhones (\ s a -> s{_usePhones = a})++-- | User\'s name+useName :: Lens' User (Maybe UserName)+useName = lens _useName (\ s a -> s{_useName = a})++-- | User\'s password+usePassword :: Lens' User (Maybe Text)+usePassword+ = lens _usePassword (\ s a -> s{_usePassword = a})++useEmails :: Lens' User (Maybe JSONValue)+useEmails+ = lens _useEmails (\ s a -> s{_useEmails = a})++useIms :: Lens' User (Maybe JSONValue)+useIms = lens _useIms (\ s a -> s{_useIms = a})++useKeywords :: Lens' User (Maybe JSONValue)+useKeywords+ = lens _useKeywords (\ s a -> s{_useKeywords = a})++-- | Boolean indicating if the user is admin (Read-only)+useIsAdmin :: Lens' User (Maybe Bool)+useIsAdmin+ = lens _useIsAdmin (\ s a -> s{_useIsAdmin = a})++-- | Is enrolled in 2-step verification (Read-only)+useIsEnrolledIn2Sv :: Lens' User (Maybe Bool)+useIsEnrolledIn2Sv+ = lens _useIsEnrolledIn2Sv+ (\ s a -> s{_useIsEnrolledIn2Sv = a})++-- | Unique identifier of User (Read-only)+useId :: Lens' User (Maybe Text)+useId = lens _useId (\ s a -> s{_useId = a})++useOrganizations :: Lens' User (Maybe JSONValue)+useOrganizations+ = lens _useOrganizations+ (\ s a -> s{_useOrganizations = a})++-- | username of User+usePrimaryEmail :: Lens' User (Maybe Text)+usePrimaryEmail+ = lens _usePrimaryEmail+ (\ s a -> s{_usePrimaryEmail = a})++-- | Is 2-step verification enforced (Read-only)+useIsEnforcedIn2Sv :: Lens' User (Maybe Bool)+useIsEnforcedIn2Sv+ = lens _useIsEnforcedIn2Sv+ (\ s a -> s{_useIsEnforcedIn2Sv = a})++useNotes :: Lens' User (Maybe JSONValue)+useNotes = lens _useNotes (\ s a -> s{_useNotes = a})++-- | Boolean indicating if the user is delegated admin (Read-only)+useIsDelegatedAdmin :: Lens' User (Maybe Bool)+useIsDelegatedAdmin+ = lens _useIsDelegatedAdmin+ (\ s a -> s{_useIsDelegatedAdmin = a})++useLocations :: Lens' User (Maybe JSONValue)+useLocations+ = lens _useLocations (\ s a -> s{_useLocations = a})++-- | Indicates if user is archived.+useArchived :: Lens' User (Maybe Bool)+useArchived+ = lens _useArchived (\ s a -> s{_useArchived = a})++-- | Is mailbox setup (Read-only)+useIsMailboxSetup :: Lens' User (Maybe Bool)+useIsMailboxSetup+ = lens _useIsMailboxSetup+ (\ s a -> s{_useIsMailboxSetup = a})++-- | Custom fields of the user.+useCustomSchemas :: Lens' User (Maybe UserCustomSchemas)+useCustomSchemas+ = lens _useCustomSchemas+ (\ s a -> s{_useCustomSchemas = a})++-- | Suspension reason if user is suspended (Read-only)+useSuspensionReason :: Lens' User (Maybe Text)+useSuspensionReason+ = lens _useSuspensionReason+ (\ s a -> s{_useSuspensionReason = a})++instance FromJSON User where+ parseJSON+ = withObject "User"+ (\ o ->+ User' <$>+ (o .:? "creationTime") <*> (o .:? "lastLoginTime")+ <*> (o .:? "thumbnailPhotoEtag")+ <*> (o .:? "etag")+ <*> (o .:? "posixAccounts")+ <*> (o .:? "ipWhitelisted")+ <*> (o .:? "relations")+ <*> (o .:? "sshPublicKeys")+ <*> (o .:? "hashFunction")+ <*> (o .:? "kind" .!= "admin#directory#user")+ <*> (o .:? "changePasswordAtNextLogin")+ <*> (o .:? "websites")+ <*> (o .:? "addresses")+ <*> (o .:? "aliases" .!= mempty)+ <*> (o .:? "thumbnailPhotoUrl")+ <*> (o .:? "externalIds")+ <*> (o .:? "suspended")+ <*> (o .:? "agreedToTerms")+ <*> (o .:? "deletionTime")+ <*> (o .:? "nonEditableAliases" .!= mempty)+ <*> (o .:? "orgUnitPath")+ <*> (o .:? "customerId")+ <*> (o .:? "languages")+ <*> (o .:? "includeInGlobalAddressList")+ <*> (o .:? "gender")+ <*> (o .:? "phones")+ <*> (o .:? "name")+ <*> (o .:? "password")+ <*> (o .:? "emails")+ <*> (o .:? "ims")+ <*> (o .:? "keywords")+ <*> (o .:? "isAdmin")+ <*> (o .:? "isEnrolledIn2Sv")+ <*> (o .:? "id")+ <*> (o .:? "organizations")+ <*> (o .:? "primaryEmail")+ <*> (o .:? "isEnforcedIn2Sv")+ <*> (o .:? "notes")+ <*> (o .:? "isDelegatedAdmin")+ <*> (o .:? "locations")+ <*> (o .:? "archived")+ <*> (o .:? "isMailboxSetup")+ <*> (o .:? "customSchemas")+ <*> (o .:? "suspensionReason"))++instance ToJSON User where+ toJSON User'{..}+ = object+ (catMaybes+ [("creationTime" .=) <$> _useCreationTime,+ ("lastLoginTime" .=) <$> _useLastLoginTime,+ ("thumbnailPhotoEtag" .=) <$> _useThumbnailPhotoEtag,+ ("etag" .=) <$> _useEtag,+ ("posixAccounts" .=) <$> _usePosixAccounts,+ ("ipWhitelisted" .=) <$> _useIPWhiteListed,+ ("relations" .=) <$> _useRelations,+ ("sshPublicKeys" .=) <$> _useSSHPublicKeys,+ ("hashFunction" .=) <$> _useHashFunction,+ Just ("kind" .= _useKind),+ ("changePasswordAtNextLogin" .=) <$>+ _useChangePasswordAtNextLogin,+ ("websites" .=) <$> _useWebsites,+ ("addresses" .=) <$> _useAddresses,+ ("aliases" .=) <$> _useAliases,+ ("thumbnailPhotoUrl" .=) <$> _useThumbnailPhotoURL,+ ("externalIds" .=) <$> _useExternalIds,+ ("suspended" .=) <$> _useSuspended,+ ("agreedToTerms" .=) <$> _useAgreedToTerms,+ ("deletionTime" .=) <$> _useDeletionTime,+ ("nonEditableAliases" .=) <$> _useNonEditableAliases,+ ("orgUnitPath" .=) <$> _useOrgUnitPath,+ ("customerId" .=) <$> _useCustomerId,+ ("languages" .=) <$> _useLanguages,+ ("includeInGlobalAddressList" .=) <$>+ _useIncludeInGlobalAddressList,+ ("gender" .=) <$> _useGender,+ ("phones" .=) <$> _usePhones,+ ("name" .=) <$> _useName,+ ("password" .=) <$> _usePassword,+ ("emails" .=) <$> _useEmails, ("ims" .=) <$> _useIms,+ ("keywords" .=) <$> _useKeywords,+ ("isAdmin" .=) <$> _useIsAdmin,+ ("isEnrolledIn2Sv" .=) <$> _useIsEnrolledIn2Sv,+ ("id" .=) <$> _useId,+ ("organizations" .=) <$> _useOrganizations,+ ("primaryEmail" .=) <$> _usePrimaryEmail,+ ("isEnforcedIn2Sv" .=) <$> _useIsEnforcedIn2Sv,+ ("notes" .=) <$> _useNotes,+ ("isDelegatedAdmin" .=) <$> _useIsDelegatedAdmin,+ ("locations" .=) <$> _useLocations,+ ("archived" .=) <$> _useArchived,+ ("isMailboxSetup" .=) <$> _useIsMailboxSetup,+ ("customSchemas" .=) <$> _useCustomSchemas,+ ("suspensionReason" .=) <$> _useSuspensionReason])++-- | JSON request template for firing actions on ChromeOs Device in Directory+-- Devices API.+--+-- /See:/ 'chromeOSDeviceAction' smart constructor.+data ChromeOSDeviceAction =+ ChromeOSDeviceAction'+ { _codaAction :: !(Maybe Text)+ , _codaDeprovisionReason :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codaAction'+--+-- * 'codaDeprovisionReason'+chromeOSDeviceAction+ :: ChromeOSDeviceAction+chromeOSDeviceAction =+ ChromeOSDeviceAction'+ {_codaAction = Nothing, _codaDeprovisionReason = Nothing}+++-- | Action to be taken on the ChromeOs Device+codaAction :: Lens' ChromeOSDeviceAction (Maybe Text)+codaAction+ = lens _codaAction (\ s a -> s{_codaAction = a})++codaDeprovisionReason :: Lens' ChromeOSDeviceAction (Maybe Text)+codaDeprovisionReason+ = lens _codaDeprovisionReason+ (\ s a -> s{_codaDeprovisionReason = a})++instance FromJSON ChromeOSDeviceAction where+ parseJSON+ = withObject "ChromeOSDeviceAction"+ (\ o ->+ ChromeOSDeviceAction' <$>+ (o .:? "action") <*> (o .:? "deprovisionReason"))++instance ToJSON ChromeOSDeviceAction where+ toJSON ChromeOSDeviceAction'{..}+ = object+ (catMaybes+ [("action" .=) <$> _codaAction,+ ("deprovisionReason" .=) <$> _codaDeprovisionReason])++-- | JSON request template for renaming a feature.+--+-- /See:/ 'featureRename' smart constructor.+newtype FeatureRename =+ FeatureRename'+ { _frNewName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FeatureRename' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frNewName'+featureRename+ :: FeatureRename+featureRename = FeatureRename' {_frNewName = Nothing}+++-- | New name of the feature.+frNewName :: Lens' FeatureRename (Maybe Text)+frNewName+ = lens _frNewName (\ s a -> s{_frNewName = a})++instance FromJSON FeatureRename where+ parseJSON+ = withObject "FeatureRename"+ (\ o -> FeatureRename' <$> (o .:? "newName"))++instance ToJSON FeatureRename where+ toJSON FeatureRename'{..}+ = object (catMaybes [("newName" .=) <$> _frNewName])++-- | JSON template for role resource in Directory API.+--+-- /See:/ 'role'' smart constructor.+data Role =+ Role'+ { _rrEtag :: !(Maybe Text)+ , _rrKind :: !Text+ , _rrRoleName :: !(Maybe Text)+ , _rrIsSystemRole :: !(Maybe Bool)+ , _rrRoleId :: !(Maybe (Textual Int64))+ , _rrRoleDescription :: !(Maybe Text)+ , _rrIsSuperAdminRole :: !(Maybe Bool)+ , _rrRolePrivileges :: !(Maybe [RoleRolePrivilegesItem])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Role' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrEtag'+--+-- * 'rrKind'+--+-- * 'rrRoleName'+--+-- * 'rrIsSystemRole'+--+-- * 'rrRoleId'+--+-- * 'rrRoleDescription'+--+-- * 'rrIsSuperAdminRole'+--+-- * 'rrRolePrivileges'+role'+ :: Role+role' =+ Role'+ { _rrEtag = Nothing+ , _rrKind = "admin#directory#role"+ , _rrRoleName = Nothing+ , _rrIsSystemRole = Nothing+ , _rrRoleId = Nothing+ , _rrRoleDescription = Nothing+ , _rrIsSuperAdminRole = Nothing+ , _rrRolePrivileges = Nothing+ }+++-- | ETag of the resource.+rrEtag :: Lens' Role (Maybe Text)+rrEtag = lens _rrEtag (\ s a -> s{_rrEtag = a})++-- | The type of the API resource. This is always admin#directory#role.+rrKind :: Lens' Role Text+rrKind = lens _rrKind (\ s a -> s{_rrKind = a})++-- | Name of the role.+rrRoleName :: Lens' Role (Maybe Text)+rrRoleName+ = lens _rrRoleName (\ s a -> s{_rrRoleName = a})++-- | Returns true if this is a pre-defined system role.+rrIsSystemRole :: Lens' Role (Maybe Bool)+rrIsSystemRole+ = lens _rrIsSystemRole+ (\ s a -> s{_rrIsSystemRole = a})++-- | ID of the role.+rrRoleId :: Lens' Role (Maybe Int64)+rrRoleId+ = lens _rrRoleId (\ s a -> s{_rrRoleId = a}) .+ mapping _Coerce++-- | A short description of the role.+rrRoleDescription :: Lens' Role (Maybe Text)+rrRoleDescription+ = lens _rrRoleDescription+ (\ s a -> s{_rrRoleDescription = a})++-- | Returns true if the role is a super admin role.+rrIsSuperAdminRole :: Lens' Role (Maybe Bool)+rrIsSuperAdminRole+ = lens _rrIsSuperAdminRole+ (\ s a -> s{_rrIsSuperAdminRole = a})++-- | The set of privileges that are granted to this role.+rrRolePrivileges :: Lens' Role [RoleRolePrivilegesItem]+rrRolePrivileges+ = lens _rrRolePrivileges+ (\ s a -> s{_rrRolePrivileges = a})+ . _Default+ . _Coerce++instance FromJSON Role where+ parseJSON+ = withObject "Role"+ (\ o ->+ Role' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#role")+ <*> (o .:? "roleName")+ <*> (o .:? "isSystemRole")+ <*> (o .:? "roleId")+ <*> (o .:? "roleDescription")+ <*> (o .:? "isSuperAdminRole")+ <*> (o .:? "rolePrivileges" .!= mempty))++instance ToJSON Role where+ toJSON Role'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _rrEtag, Just ("kind" .= _rrKind),+ ("roleName" .=) <$> _rrRoleName,+ ("isSystemRole" .=) <$> _rrIsSystemRole,+ ("roleId" .=) <$> _rrRoleId,+ ("roleDescription" .=) <$> _rrRoleDescription,+ ("isSuperAdminRole" .=) <$> _rrIsSuperAdminRole,+ ("rolePrivileges" .=) <$> _rrRolePrivileges])++-- | JSON template for Customer Resource object in Directory API.+--+-- /See:/ 'customer' smart constructor.+data Customer =+ Customer'+ { _cusEtag :: !(Maybe Text)+ , _cusKind :: !Text+ , _cusAlternateEmail :: !(Maybe Text)+ , _cusCustomerDomain :: !(Maybe Text)+ , _cusPhoneNumber :: !(Maybe Text)+ , _cusLanguage :: !(Maybe Text)+ , _cusId :: !(Maybe Text)+ , _cusCustomerCreationTime :: !(Maybe DateTime')+ , _cusPostalAddress :: !(Maybe CustomerPostalAddress)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Customer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cusEtag'+--+-- * 'cusKind'+--+-- * 'cusAlternateEmail'+--+-- * 'cusCustomerDomain'+--+-- * 'cusPhoneNumber'+--+-- * 'cusLanguage'+--+-- * 'cusId'+--+-- * 'cusCustomerCreationTime'+--+-- * 'cusPostalAddress'+customer+ :: Customer+customer =+ Customer'+ { _cusEtag = Nothing+ , _cusKind = "admin#directory#customer"+ , _cusAlternateEmail = Nothing+ , _cusCustomerDomain = Nothing+ , _cusPhoneNumber = Nothing+ , _cusLanguage = Nothing+ , _cusId = Nothing+ , _cusCustomerCreationTime = Nothing+ , _cusPostalAddress = Nothing+ }+++-- | ETag of the resource.+cusEtag :: Lens' Customer (Maybe Text)+cusEtag = lens _cusEtag (\ s a -> s{_cusEtag = a})++-- | Identifies the resource as a customer. Value: admin#directory#customer+cusKind :: Lens' Customer Text+cusKind = lens _cusKind (\ s a -> s{_cusKind = a})++-- | The customer\'s secondary contact email address. This email address+-- cannot be on the same domain as the customerDomain+cusAlternateEmail :: Lens' Customer (Maybe Text)+cusAlternateEmail+ = lens _cusAlternateEmail+ (\ s a -> s{_cusAlternateEmail = a})++-- | The customer\'s primary domain name string. Do not include the www+-- prefix when creating a new customer.+cusCustomerDomain :: Lens' Customer (Maybe Text)+cusCustomerDomain+ = lens _cusCustomerDomain+ (\ s a -> s{_cusCustomerDomain = a})++-- | The customer\'s contact phone number in E.164 format.+cusPhoneNumber :: Lens' Customer (Maybe Text)+cusPhoneNumber+ = lens _cusPhoneNumber+ (\ s a -> s{_cusPhoneNumber = a})++-- | The customer\'s ISO 639-2 language code. The default value is en-US+cusLanguage :: Lens' Customer (Maybe Text)+cusLanguage+ = lens _cusLanguage (\ s a -> s{_cusLanguage = a})++-- | The unique ID for the customer\'s G Suite account. (Readonly)+cusId :: Lens' Customer (Maybe Text)+cusId = lens _cusId (\ s a -> s{_cusId = a})++-- | The customer\'s creation time (Readonly)+cusCustomerCreationTime :: Lens' Customer (Maybe UTCTime)+cusCustomerCreationTime+ = lens _cusCustomerCreationTime+ (\ s a -> s{_cusCustomerCreationTime = a})+ . mapping _DateTime++-- | The customer\'s postal address information.+cusPostalAddress :: Lens' Customer (Maybe CustomerPostalAddress)+cusPostalAddress+ = lens _cusPostalAddress+ (\ s a -> s{_cusPostalAddress = a})++instance FromJSON Customer where+ parseJSON+ = withObject "Customer"+ (\ o ->+ Customer' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#customer")+ <*> (o .:? "alternateEmail")+ <*> (o .:? "customerDomain")+ <*> (o .:? "phoneNumber")+ <*> (o .:? "language")+ <*> (o .:? "id")+ <*> (o .:? "customerCreationTime")+ <*> (o .:? "postalAddress"))++instance ToJSON Customer where+ toJSON Customer'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _cusEtag, Just ("kind" .= _cusKind),+ ("alternateEmail" .=) <$> _cusAlternateEmail,+ ("customerDomain" .=) <$> _cusCustomerDomain,+ ("phoneNumber" .=) <$> _cusPhoneNumber,+ ("language" .=) <$> _cusLanguage,+ ("id" .=) <$> _cusId,+ ("customerCreationTime" .=) <$>+ _cusCustomerCreationTime,+ ("postalAddress" .=) <$> _cusPostalAddress])++--+-- /See:/ 'mobileDeviceApplicationsItem' smart constructor.+data MobileDeviceApplicationsItem =+ MobileDeviceApplicationsItem'+ { _mdaiVersionCode :: !(Maybe (Textual Int32))+ , _mdaiVersionName :: !(Maybe Text)+ , _mdaiPackageName :: !(Maybe Text)+ , _mdaiDisplayName :: !(Maybe Text)+ , _mdaiPermission :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MobileDeviceApplicationsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdaiVersionCode'+--+-- * 'mdaiVersionName'+--+-- * 'mdaiPackageName'+--+-- * 'mdaiDisplayName'+--+-- * 'mdaiPermission'+mobileDeviceApplicationsItem+ :: MobileDeviceApplicationsItem+mobileDeviceApplicationsItem =+ MobileDeviceApplicationsItem'+ { _mdaiVersionCode = Nothing+ , _mdaiVersionName = Nothing+ , _mdaiPackageName = Nothing+ , _mdaiDisplayName = Nothing+ , _mdaiPermission = Nothing+ }+++-- | Version code of application+mdaiVersionCode :: Lens' MobileDeviceApplicationsItem (Maybe Int32)+mdaiVersionCode+ = lens _mdaiVersionCode+ (\ s a -> s{_mdaiVersionCode = a})+ . mapping _Coerce++-- | Version name of application+mdaiVersionName :: Lens' MobileDeviceApplicationsItem (Maybe Text)+mdaiVersionName+ = lens _mdaiVersionName+ (\ s a -> s{_mdaiVersionName = a})++-- | Package name of application+mdaiPackageName :: Lens' MobileDeviceApplicationsItem (Maybe Text)+mdaiPackageName+ = lens _mdaiPackageName+ (\ s a -> s{_mdaiPackageName = a})++-- | Display name of application+mdaiDisplayName :: Lens' MobileDeviceApplicationsItem (Maybe Text)+mdaiDisplayName+ = lens _mdaiDisplayName+ (\ s a -> s{_mdaiDisplayName = a})++-- | List of Permissions for application+mdaiPermission :: Lens' MobileDeviceApplicationsItem [Text]+mdaiPermission+ = lens _mdaiPermission+ (\ s a -> s{_mdaiPermission = a})+ . _Default+ . _Coerce++instance FromJSON MobileDeviceApplicationsItem where+ parseJSON+ = withObject "MobileDeviceApplicationsItem"+ (\ o ->+ MobileDeviceApplicationsItem' <$>+ (o .:? "versionCode") <*> (o .:? "versionName") <*>+ (o .:? "packageName")+ <*> (o .:? "displayName")+ <*> (o .:? "permission" .!= mempty))++instance ToJSON MobileDeviceApplicationsItem where+ toJSON MobileDeviceApplicationsItem'{..}+ = object+ (catMaybes+ [("versionCode" .=) <$> _mdaiVersionCode,+ ("versionName" .=) <$> _mdaiVersionName,+ ("packageName" .=) <$> _mdaiPackageName,+ ("displayName" .=) <$> _mdaiDisplayName,+ ("permission" .=) <$> _mdaiPermission])++--+-- /See:/ 'chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem' smart constructor.+data ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem =+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'+ { _coddvriviiStorageFree :: !(Maybe (Textual Int64))+ , _coddvriviiStorageTotal :: !(Maybe (Textual Int64))+ , _coddvriviiVolumeId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coddvriviiStorageFree'+--+-- * 'coddvriviiStorageTotal'+--+-- * 'coddvriviiVolumeId'+chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem+ :: ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem+chromeOSDeviceDiskVolumeReportsItemVolumeInfoItem =+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'+ { _coddvriviiStorageFree = Nothing+ , _coddvriviiStorageTotal = Nothing+ , _coddvriviiVolumeId = Nothing+ }+++-- | Free disk space [in bytes]+coddvriviiStorageFree :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Int64)+coddvriviiStorageFree+ = lens _coddvriviiStorageFree+ (\ s a -> s{_coddvriviiStorageFree = a})+ . mapping _Coerce++-- | Total disk space [in bytes]+coddvriviiStorageTotal :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Int64)+coddvriviiStorageTotal+ = lens _coddvriviiStorageTotal+ (\ s a -> s{_coddvriviiStorageTotal = a})+ . mapping _Coerce++-- | Volume id+coddvriviiVolumeId :: Lens' ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem (Maybe Text)+coddvriviiVolumeId+ = lens _coddvriviiVolumeId+ (\ s a -> s{_coddvriviiVolumeId = a})++instance FromJSON+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem+ where+ parseJSON+ = withObject+ "ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem"+ (\ o ->+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'+ <$>+ (o .:? "storageFree") <*> (o .:? "storageTotal") <*>+ (o .:? "volumeId"))++instance ToJSON+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem+ where+ toJSON+ ChromeOSDeviceDiskVolumeReportsItemVolumeInfoItem'{..}+ = object+ (catMaybes+ [("storageFree" .=) <$> _coddvriviiStorageFree,+ ("storageTotal" .=) <$> _coddvriviiStorageTotal,+ ("volumeId" .=) <$> _coddvriviiVolumeId])++-- | JSON response template for List Organization Units operation in+-- Directory API.+--+-- /See:/ 'orgUnits' smart constructor.+data OrgUnits =+ OrgUnits'+ { _oEtag :: !(Maybe Text)+ , _oKind :: !Text+ , _oOrganizationUnits :: !(Maybe [OrgUnit])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OrgUnits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oEtag'+--+-- * 'oKind'+--+-- * 'oOrganizationUnits'+orgUnits+ :: OrgUnits+orgUnits =+ OrgUnits'+ { _oEtag = Nothing+ , _oKind = "admin#directory#orgUnits"+ , _oOrganizationUnits = Nothing+ }+++-- | ETag of the resource.+oEtag :: Lens' OrgUnits (Maybe Text)+oEtag = lens _oEtag (\ s a -> s{_oEtag = a})++-- | Kind of resource this is.+oKind :: Lens' OrgUnits Text+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | List of user objects.+oOrganizationUnits :: Lens' OrgUnits [OrgUnit]+oOrganizationUnits+ = lens _oOrganizationUnits+ (\ s a -> s{_oOrganizationUnits = a})+ . _Default+ . _Coerce++instance FromJSON OrgUnits where+ parseJSON+ = withObject "OrgUnits"+ (\ o ->+ OrgUnits' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#orgUnits")+ <*> (o .:? "organizationUnits" .!= mempty))++instance ToJSON OrgUnits where+ toJSON OrgUnits'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _oEtag, Just ("kind" .= _oKind),+ ("organizationUnits" .=) <$> _oOrganizationUnits])++-- | JSON template for a POSIX account entry.+--+-- /See:/ 'userSSHPublicKey' smart constructor.+data UserSSHPublicKey =+ UserSSHPublicKey'+ { _uspkFingerprint :: !(Maybe Text)+ , _uspkKey :: !(Maybe Text)+ , _uspkExpirationTimeUsec :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserSSHPublicKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uspkFingerprint'+--+-- * 'uspkKey'+--+-- * 'uspkExpirationTimeUsec'+userSSHPublicKey+ :: UserSSHPublicKey+userSSHPublicKey =+ UserSSHPublicKey'+ { _uspkFingerprint = Nothing+ , _uspkKey = Nothing+ , _uspkExpirationTimeUsec = Nothing+ }+++-- | A SHA-256 fingerprint of the SSH public key. (Read-only)+uspkFingerprint :: Lens' UserSSHPublicKey (Maybe Text)+uspkFingerprint+ = lens _uspkFingerprint+ (\ s a -> s{_uspkFingerprint = a})++-- | An SSH public key.+uspkKey :: Lens' UserSSHPublicKey (Maybe Text)+uspkKey = lens _uspkKey (\ s a -> s{_uspkKey = a})++-- | An expiration time in microseconds since epoch.+uspkExpirationTimeUsec :: Lens' UserSSHPublicKey (Maybe Int64)+uspkExpirationTimeUsec+ = lens _uspkExpirationTimeUsec+ (\ s a -> s{_uspkExpirationTimeUsec = a})+ . mapping _Coerce++instance FromJSON UserSSHPublicKey where+ parseJSON+ = withObject "UserSSHPublicKey"+ (\ o ->+ UserSSHPublicKey' <$>+ (o .:? "fingerprint") <*> (o .:? "key") <*>+ (o .:? "expirationTimeUsec"))++instance ToJSON UserSSHPublicKey where+ toJSON UserSSHPublicKey'{..}+ = object+ (catMaybes+ [("fingerprint" .=) <$> _uspkFingerprint,+ ("key" .=) <$> _uspkKey,+ ("expirationTimeUsec" .=) <$>+ _uspkExpirationTimeUsec])++-- | JSON response template for List verification codes operation in+-- Directory API.+--+-- /See:/ 'verificationCodes' smart constructor.+data VerificationCodes =+ VerificationCodes'+ { _vEtag :: !(Maybe Text)+ , _vKind :: !Text+ , _vItems :: !(Maybe [VerificationCode])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VerificationCodes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vEtag'+--+-- * 'vKind'+--+-- * 'vItems'+verificationCodes+ :: VerificationCodes+verificationCodes =+ VerificationCodes'+ { _vEtag = Nothing+ , _vKind = "admin#directory#verificationCodesList"+ , _vItems = Nothing+ }+++-- | ETag of the resource.+vEtag :: Lens' VerificationCodes (Maybe Text)+vEtag = lens _vEtag (\ s a -> s{_vEtag = a})++-- | The type of the resource. This is always+-- admin#directory#verificationCodesList.+vKind :: Lens' VerificationCodes Text+vKind = lens _vKind (\ s a -> s{_vKind = a})++-- | A list of verification code resources.+vItems :: Lens' VerificationCodes [VerificationCode]+vItems+ = lens _vItems (\ s a -> s{_vItems = a}) . _Default .+ _Coerce++instance FromJSON VerificationCodes where+ parseJSON+ = withObject "VerificationCodes"+ (\ o ->+ VerificationCodes' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!=+ "admin#directory#verificationCodesList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON VerificationCodes where+ toJSON VerificationCodes'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _vEtag, Just ("kind" .= _vKind),+ ("items" .=) <$> _vItems])++-- | JSON template for coordinates of a building in Directory API.+--+-- /See:/ 'buildingCoordinates' smart constructor.+data BuildingCoordinates =+ BuildingCoordinates'+ { _bcLatitude :: !(Maybe (Textual Double))+ , _bcLongitude :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BuildingCoordinates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcLatitude'+--+-- * 'bcLongitude'+buildingCoordinates+ :: BuildingCoordinates+buildingCoordinates =+ BuildingCoordinates' {_bcLatitude = Nothing, _bcLongitude = Nothing}+++-- | Latitude in decimal degrees.+bcLatitude :: Lens' BuildingCoordinates (Maybe Double)+bcLatitude+ = lens _bcLatitude (\ s a -> s{_bcLatitude = a}) .+ mapping _Coerce++-- | Longitude in decimal degrees.+bcLongitude :: Lens' BuildingCoordinates (Maybe Double)+bcLongitude+ = lens _bcLongitude (\ s a -> s{_bcLongitude = a}) .+ mapping _Coerce++instance FromJSON BuildingCoordinates where+ parseJSON+ = withObject "BuildingCoordinates"+ (\ o ->+ BuildingCoordinates' <$>+ (o .:? "latitude") <*> (o .:? "longitude"))++instance ToJSON BuildingCoordinates where+ toJSON BuildingCoordinates'{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _bcLatitude,+ ("longitude" .=) <$> _bcLongitude])++-- | JSON template for a relation entry.+--+-- /See:/ 'userRelation' smart constructor.+data UserRelation =+ UserRelation'+ { _urValue :: !(Maybe Text)+ , _urType :: !(Maybe Text)+ , _urCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserRelation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urValue'+--+-- * 'urType'+--+-- * 'urCustomType'+userRelation+ :: UserRelation+userRelation =+ UserRelation' {_urValue = Nothing, _urType = Nothing, _urCustomType = Nothing}+++-- | The name of the relation.+urValue :: Lens' UserRelation (Maybe Text)+urValue = lens _urValue (\ s a -> s{_urValue = a})++-- | The relation of the user. Some of the possible values are mother,+-- father, sister, brother, manager, assistant, partner.+urType :: Lens' UserRelation (Maybe Text)+urType = lens _urType (\ s a -> s{_urType = a})++-- | Custom Type.+urCustomType :: Lens' UserRelation (Maybe Text)+urCustomType+ = lens _urCustomType (\ s a -> s{_urCustomType = a})++instance FromJSON UserRelation where+ parseJSON+ = withObject "UserRelation"+ (\ o ->+ UserRelation' <$>+ (o .:? "value") <*> (o .:? "type") <*>+ (o .:? "customType"))++instance ToJSON UserRelation where+ toJSON UserRelation'{..}+ = object+ (catMaybes+ [("value" .=) <$> _urValue, ("type" .=) <$> _urType,+ ("customType" .=) <$> _urCustomType])++-- | JSON template for Trusted Apps response object of a user in Directory+-- API.+--+-- /See:/ 'trustedApps' smart constructor.+data TrustedApps =+ TrustedApps'+ { _taEtag :: !(Maybe Text)+ , _taNextPageToken :: !(Maybe Text)+ , _taKind :: !Text+ , _taTrustedApps :: !(Maybe [TrustedAppId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TrustedApps' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'taEtag'+--+-- * 'taNextPageToken'+--+-- * 'taKind'+--+-- * 'taTrustedApps'+trustedApps+ :: TrustedApps+trustedApps =+ TrustedApps'+ { _taEtag = Nothing+ , _taNextPageToken = Nothing+ , _taKind = "admin#directory#trustedapplist"+ , _taTrustedApps = Nothing+ }+++-- | ETag of the resource.+taEtag :: Lens' TrustedApps (Maybe Text)+taEtag = lens _taEtag (\ s a -> s{_taEtag = a})++taNextPageToken :: Lens' TrustedApps (Maybe Text)+taNextPageToken+ = lens _taNextPageToken+ (\ s a -> s{_taNextPageToken = a})++-- | Identifies the resource as trusted apps response.+taKind :: Lens' TrustedApps Text+taKind = lens _taKind (\ s a -> s{_taKind = a})++-- | Trusted Apps list.+taTrustedApps :: Lens' TrustedApps [TrustedAppId]+taTrustedApps+ = lens _taTrustedApps+ (\ s a -> s{_taTrustedApps = a})+ . _Default+ . _Coerce++instance FromJSON TrustedApps where+ parseJSON+ = withObject "TrustedApps"+ (\ o ->+ TrustedApps' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#trustedapplist")+ <*> (o .:? "trustedApps" .!= mempty))++instance ToJSON TrustedApps where+ toJSON TrustedApps'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _taEtag,+ ("nextPageToken" .=) <$> _taNextPageToken,+ Just ("kind" .= _taKind),+ ("trustedApps" .=) <$> _taTrustedApps])++-- | JSON template for Feature List Response object in Directory API.+--+-- /See:/ 'features' smart constructor.+data Features =+ Features'+ { _feaEtag :: !(Maybe Text)+ , _feaNextPageToken :: !(Maybe Text)+ , _feaKind :: !Text+ , _feaFeatures :: !(Maybe [Feature])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Features' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'feaEtag'+--+-- * 'feaNextPageToken'+--+-- * 'feaKind'+--+-- * 'feaFeatures'+features+ :: Features+features =+ Features'+ { _feaEtag = Nothing+ , _feaNextPageToken = Nothing+ , _feaKind = "admin#directory#resources#features#featuresList"+ , _feaFeatures = Nothing+ }+++-- | ETag of the resource.+feaEtag :: Lens' Features (Maybe Text)+feaEtag = lens _feaEtag (\ s a -> s{_feaEtag = a})++-- | The continuation token, used to page through large result sets. Provide+-- this value in a subsequent request to return the next page of results.+feaNextPageToken :: Lens' Features (Maybe Text)+feaNextPageToken+ = lens _feaNextPageToken+ (\ s a -> s{_feaNextPageToken = a})++-- | Kind of resource this is.+feaKind :: Lens' Features Text+feaKind = lens _feaKind (\ s a -> s{_feaKind = a})++-- | The Features in this page of results.+feaFeatures :: Lens' Features [Feature]+feaFeatures+ = lens _feaFeatures (\ s a -> s{_feaFeatures = a}) .+ _Default+ . _Coerce++instance FromJSON Features where+ parseJSON+ = withObject "Features"+ (\ o ->+ Features' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "admin#directory#resources#features#featuresList")+ <*> (o .:? "features" .!= mempty))++instance ToJSON Features where+ toJSON Features'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _feaEtag,+ ("nextPageToken" .=) <$> _feaNextPageToken,+ Just ("kind" .= _feaKind),+ ("features" .=) <$> _feaFeatures])++-- | Additional parameters controlling delivery channel behavior. Optional.+--+-- /See:/ 'channelParams' smart constructor.+newtype ChannelParams =+ ChannelParams'+ { _cpAddtional :: HashMap Text Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpAddtional'+channelParams+ :: HashMap Text Text -- ^ 'cpAddtional'+ -> ChannelParams+channelParams pCpAddtional_ =+ ChannelParams' {_cpAddtional = _Coerce # pCpAddtional_}+++-- | Declares a new parameter by name.+cpAddtional :: Lens' ChannelParams (HashMap Text Text)+cpAddtional+ = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .+ _Coerce++instance FromJSON ChannelParams where+ parseJSON+ = withObject "ChannelParams"+ (\ o -> ChannelParams' <$> (parseJSONObject o))++instance ToJSON ChannelParams where+ toJSON = toJSON . _cpAddtional++-- | Trusted Platform Module (TPM) (Read-only)+--+-- /See:/ 'chromeOSDeviceTpmVersionInfo' smart constructor.+data ChromeOSDeviceTpmVersionInfo =+ ChromeOSDeviceTpmVersionInfo'+ { _codtviVendorSpecific :: !(Maybe Text)+ , _codtviManufacturer :: !(Maybe Text)+ , _codtviSpecLevel :: !(Maybe Text)+ , _codtviTpmModel :: !(Maybe Text)+ , _codtviFamily :: !(Maybe Text)+ , _codtviFirmwareVersion :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceTpmVersionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codtviVendorSpecific'+--+-- * 'codtviManufacturer'+--+-- * 'codtviSpecLevel'+--+-- * 'codtviTpmModel'+--+-- * 'codtviFamily'+--+-- * 'codtviFirmwareVersion'+chromeOSDeviceTpmVersionInfo+ :: ChromeOSDeviceTpmVersionInfo+chromeOSDeviceTpmVersionInfo =+ ChromeOSDeviceTpmVersionInfo'+ { _codtviVendorSpecific = Nothing+ , _codtviManufacturer = Nothing+ , _codtviSpecLevel = Nothing+ , _codtviTpmModel = Nothing+ , _codtviFamily = Nothing+ , _codtviFirmwareVersion = Nothing+ }+++-- | Vendor-specific information such as Vendor ID.+codtviVendorSpecific :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviVendorSpecific+ = lens _codtviVendorSpecific+ (\ s a -> s{_codtviVendorSpecific = a})++-- | TPM manufacturer code.+codtviManufacturer :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviManufacturer+ = lens _codtviManufacturer+ (\ s a -> s{_codtviManufacturer = a})++-- | TPM specification level.+codtviSpecLevel :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviSpecLevel+ = lens _codtviSpecLevel+ (\ s a -> s{_codtviSpecLevel = a})++-- | TPM model number.+codtviTpmModel :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviTpmModel+ = lens _codtviTpmModel+ (\ s a -> s{_codtviTpmModel = a})++-- | TPM family.+codtviFamily :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviFamily+ = lens _codtviFamily (\ s a -> s{_codtviFamily = a})++-- | TPM firmware version.+codtviFirmwareVersion :: Lens' ChromeOSDeviceTpmVersionInfo (Maybe Text)+codtviFirmwareVersion+ = lens _codtviFirmwareVersion+ (\ s a -> s{_codtviFirmwareVersion = a})++instance FromJSON ChromeOSDeviceTpmVersionInfo where+ parseJSON+ = withObject "ChromeOSDeviceTpmVersionInfo"+ (\ o ->+ ChromeOSDeviceTpmVersionInfo' <$>+ (o .:? "vendorSpecific") <*> (o .:? "manufacturer")+ <*> (o .:? "specLevel")+ <*> (o .:? "tpmModel")+ <*> (o .:? "family")+ <*> (o .:? "firmwareVersion"))++instance ToJSON ChromeOSDeviceTpmVersionInfo where+ toJSON ChromeOSDeviceTpmVersionInfo'{..}+ = object+ (catMaybes+ [("vendorSpecific" .=) <$> _codtviVendorSpecific,+ ("manufacturer" .=) <$> _codtviManufacturer,+ ("specLevel" .=) <$> _codtviSpecLevel,+ ("tpmModel" .=) <$> _codtviTpmModel,+ ("family" .=) <$> _codtviFamily,+ ("firmwareVersion" .=) <$> _codtviFirmwareVersion])++-- | JSON template for an organization entry.+--+-- /See:/ 'userOrganization' smart constructor.+data UserOrganization =+ UserOrganization'+ { _uoDePartment :: !(Maybe Text)+ , _uoLocation :: !(Maybe Text)+ , _uoCostCenter :: !(Maybe Text)+ , _uoDomain :: !(Maybe Text)+ , _uoSymbol :: !(Maybe Text)+ , _uoPrimary :: !(Maybe Bool)+ , _uoName :: !(Maybe Text)+ , _uoFullTimeEquivalent :: !(Maybe (Textual Int32))+ , _uoTitle :: !(Maybe Text)+ , _uoType :: !(Maybe Text)+ , _uoCustomType :: !(Maybe Text)+ , _uoDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserOrganization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uoDePartment'+--+-- * 'uoLocation'+--+-- * 'uoCostCenter'+--+-- * 'uoDomain'+--+-- * 'uoSymbol'+--+-- * 'uoPrimary'+--+-- * 'uoName'+--+-- * 'uoFullTimeEquivalent'+--+-- * 'uoTitle'+--+-- * 'uoType'+--+-- * 'uoCustomType'+--+-- * 'uoDescription'+userOrganization+ :: UserOrganization+userOrganization =+ UserOrganization'+ { _uoDePartment = Nothing+ , _uoLocation = Nothing+ , _uoCostCenter = Nothing+ , _uoDomain = Nothing+ , _uoSymbol = Nothing+ , _uoPrimary = Nothing+ , _uoName = Nothing+ , _uoFullTimeEquivalent = Nothing+ , _uoTitle = Nothing+ , _uoType = Nothing+ , _uoCustomType = Nothing+ , _uoDescription = Nothing+ }+++-- | Department within the organization.+uoDePartment :: Lens' UserOrganization (Maybe Text)+uoDePartment+ = lens _uoDePartment (\ s a -> s{_uoDePartment = a})++-- | Location of the organization. This need not be fully qualified address.+uoLocation :: Lens' UserOrganization (Maybe Text)+uoLocation+ = lens _uoLocation (\ s a -> s{_uoLocation = a})++-- | The cost center of the users department.+uoCostCenter :: Lens' UserOrganization (Maybe Text)+uoCostCenter+ = lens _uoCostCenter (\ s a -> s{_uoCostCenter = a})++-- | The domain to which the organization belongs to.+uoDomain :: Lens' UserOrganization (Maybe Text)+uoDomain = lens _uoDomain (\ s a -> s{_uoDomain = a})++-- | Symbol of the organization.+uoSymbol :: Lens' UserOrganization (Maybe Text)+uoSymbol = lens _uoSymbol (\ s a -> s{_uoSymbol = a})++-- | If it user\'s primary organization.+uoPrimary :: Lens' UserOrganization (Maybe Bool)+uoPrimary+ = lens _uoPrimary (\ s a -> s{_uoPrimary = a})++-- | Name of the organization+uoName :: Lens' UserOrganization (Maybe Text)+uoName = lens _uoName (\ s a -> s{_uoName = a})++-- | The full-time equivalent percent within the organization (100000 =+-- 100%).+uoFullTimeEquivalent :: Lens' UserOrganization (Maybe Int32)+uoFullTimeEquivalent+ = lens _uoFullTimeEquivalent+ (\ s a -> s{_uoFullTimeEquivalent = a})+ . mapping _Coerce++-- | Title (designation) of the user in the organization.+uoTitle :: Lens' UserOrganization (Maybe Text)+uoTitle = lens _uoTitle (\ s a -> s{_uoTitle = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example organization could be of school, work etc. In addition to+-- the standard type, an entry can have a custom type and can give it any+-- name. Such types should have the CUSTOM value as type and also have a+-- CustomType value.+uoType :: Lens' UserOrganization (Maybe Text)+uoType = lens _uoType (\ s a -> s{_uoType = a})++-- | Custom type.+uoCustomType :: Lens' UserOrganization (Maybe Text)+uoCustomType+ = lens _uoCustomType (\ s a -> s{_uoCustomType = a})++-- | Description of the organization.+uoDescription :: Lens' UserOrganization (Maybe Text)+uoDescription+ = lens _uoDescription+ (\ s a -> s{_uoDescription = a})++instance FromJSON UserOrganization where+ parseJSON+ = withObject "UserOrganization"+ (\ o ->+ UserOrganization' <$>+ (o .:? "department") <*> (o .:? "location") <*>+ (o .:? "costCenter")+ <*> (o .:? "domain")+ <*> (o .:? "symbol")+ <*> (o .:? "primary")+ <*> (o .:? "name")+ <*> (o .:? "fullTimeEquivalent")+ <*> (o .:? "title")+ <*> (o .:? "type")+ <*> (o .:? "customType")+ <*> (o .:? "description"))++instance ToJSON UserOrganization where+ toJSON UserOrganization'{..}+ = object+ (catMaybes+ [("department" .=) <$> _uoDePartment,+ ("location" .=) <$> _uoLocation,+ ("costCenter" .=) <$> _uoCostCenter,+ ("domain" .=) <$> _uoDomain,+ ("symbol" .=) <$> _uoSymbol,+ ("primary" .=) <$> _uoPrimary,+ ("name" .=) <$> _uoName,+ ("fullTimeEquivalent" .=) <$> _uoFullTimeEquivalent,+ ("title" .=) <$> _uoTitle, ("type" .=) <$> _uoType,+ ("customType" .=) <$> _uoCustomType,+ ("description" .=) <$> _uoDescription])++-- | JSON template for a website entry.+--+-- /See:/ 'userWebsite' smart constructor.+data UserWebsite =+ UserWebsite'+ { _uwValue :: !(Maybe Text)+ , _uwPrimary :: !(Maybe Bool)+ , _uwType :: !(Maybe Text)+ , _uwCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserWebsite' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uwValue'+--+-- * 'uwPrimary'+--+-- * 'uwType'+--+-- * 'uwCustomType'+userWebsite+ :: UserWebsite+userWebsite =+ UserWebsite'+ { _uwValue = Nothing+ , _uwPrimary = Nothing+ , _uwType = Nothing+ , _uwCustomType = Nothing+ }+++-- | Website.+uwValue :: Lens' UserWebsite (Maybe Text)+uwValue = lens _uwValue (\ s a -> s{_uwValue = a})++-- | If this is user\'s primary website or not.+uwPrimary :: Lens' UserWebsite (Maybe Bool)+uwPrimary+ = lens _uwPrimary (\ s a -> s{_uwPrimary = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example website could be of home, work, blog etc. In addition to the+-- standard type, an entry can have a custom type and can give it any name.+-- Such types should have the CUSTOM value as type and also have a+-- customType value.+uwType :: Lens' UserWebsite (Maybe Text)+uwType = lens _uwType (\ s a -> s{_uwType = a})++-- | Custom Type.+uwCustomType :: Lens' UserWebsite (Maybe Text)+uwCustomType+ = lens _uwCustomType (\ s a -> s{_uwCustomType = a})++instance FromJSON UserWebsite where+ parseJSON+ = withObject "UserWebsite"+ (\ o ->+ UserWebsite' <$>+ (o .:? "value") <*> (o .:? "primary") <*>+ (o .:? "type")+ <*> (o .:? "customType"))++instance ToJSON UserWebsite where+ toJSON UserWebsite'{..}+ = object+ (catMaybes+ [("value" .=) <$> _uwValue,+ ("primary" .=) <$> _uwPrimary,+ ("type" .=) <$> _uwType,+ ("customType" .=) <$> _uwCustomType])++--+-- /See:/ 'chromeOSDeviceActiveTimeRangesItem' smart constructor.+data ChromeOSDeviceActiveTimeRangesItem =+ ChromeOSDeviceActiveTimeRangesItem'+ { _codatriDate :: !(Maybe Date')+ , _codatriActiveTime :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceActiveTimeRangesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codatriDate'+--+-- * 'codatriActiveTime'+chromeOSDeviceActiveTimeRangesItem+ :: ChromeOSDeviceActiveTimeRangesItem+chromeOSDeviceActiveTimeRangesItem =+ ChromeOSDeviceActiveTimeRangesItem'+ {_codatriDate = Nothing, _codatriActiveTime = Nothing}+++-- | Date of usage+codatriDate :: Lens' ChromeOSDeviceActiveTimeRangesItem (Maybe Day)+codatriDate+ = lens _codatriDate (\ s a -> s{_codatriDate = a}) .+ mapping _Date++-- | Duration in milliseconds+codatriActiveTime :: Lens' ChromeOSDeviceActiveTimeRangesItem (Maybe Int32)+codatriActiveTime+ = lens _codatriActiveTime+ (\ s a -> s{_codatriActiveTime = a})+ . mapping _Coerce++instance FromJSON ChromeOSDeviceActiveTimeRangesItem+ where+ parseJSON+ = withObject "ChromeOSDeviceActiveTimeRangesItem"+ (\ o ->+ ChromeOSDeviceActiveTimeRangesItem' <$>+ (o .:? "date") <*> (o .:? "activeTime"))++instance ToJSON ChromeOSDeviceActiveTimeRangesItem+ where+ toJSON ChromeOSDeviceActiveTimeRangesItem'{..}+ = object+ (catMaybes+ [("date" .=) <$> _codatriDate,+ ("activeTime" .=) <$> _codatriActiveTime])++-- | JSON template for an email.+--+-- /See:/ 'userEmail' smart constructor.+data UserEmail =+ UserEmail'+ { _ueAddress :: !(Maybe Text)+ , _uePrimary :: !(Maybe Bool)+ , _ueType :: !(Maybe Text)+ , _ueCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserEmail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ueAddress'+--+-- * 'uePrimary'+--+-- * 'ueType'+--+-- * 'ueCustomType'+userEmail+ :: UserEmail+userEmail =+ UserEmail'+ { _ueAddress = Nothing+ , _uePrimary = Nothing+ , _ueType = Nothing+ , _ueCustomType = Nothing+ }+++-- | Email id of the user.+ueAddress :: Lens' UserEmail (Maybe Text)+ueAddress+ = lens _ueAddress (\ s a -> s{_ueAddress = a})++-- | If this is user\'s primary email. Only one entry could be marked as+-- primary.+uePrimary :: Lens' UserEmail (Maybe Bool)+uePrimary+ = lens _uePrimary (\ s a -> s{_uePrimary = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example email could be of home, work etc. In addition to the+-- standard type, an entry can have a custom type and can take any value+-- Such types should have the CUSTOM value as type and also have a+-- customType value.+ueType :: Lens' UserEmail (Maybe Text)+ueType = lens _ueType (\ s a -> s{_ueType = a})++-- | Custom Type.+ueCustomType :: Lens' UserEmail (Maybe Text)+ueCustomType+ = lens _ueCustomType (\ s a -> s{_ueCustomType = a})++instance FromJSON UserEmail where+ parseJSON+ = withObject "UserEmail"+ (\ o ->+ UserEmail' <$>+ (o .:? "address") <*> (o .:? "primary") <*>+ (o .:? "type")+ <*> (o .:? "customType"))++instance ToJSON UserEmail where+ toJSON UserEmail'{..}+ = object+ (catMaybes+ [("address" .=) <$> _ueAddress,+ ("primary" .=) <$> _uePrimary,+ ("type" .=) <$> _ueType,+ ("customType" .=) <$> _ueCustomType])++-- | JSON template for a phone entry.+--+-- /See:/ 'userPhone' smart constructor.+data UserPhone =+ UserPhone'+ { _upValue :: !(Maybe Text)+ , _upPrimary :: !(Maybe Bool)+ , _upType :: !(Maybe Text)+ , _upCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserPhone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upValue'+--+-- * 'upPrimary'+--+-- * 'upType'+--+-- * 'upCustomType'+userPhone+ :: UserPhone+userPhone =+ UserPhone'+ { _upValue = Nothing+ , _upPrimary = Nothing+ , _upType = Nothing+ , _upCustomType = Nothing+ }+++-- | Phone number.+upValue :: Lens' UserPhone (Maybe Text)+upValue = lens _upValue (\ s a -> s{_upValue = a})++-- | If this is user\'s primary phone or not.+upPrimary :: Lens' UserPhone (Maybe Bool)+upPrimary+ = lens _upPrimary (\ s a -> s{_upPrimary = a})++-- | Each entry can have a type which indicates standard types of that entry.+-- For example phone could be of home_fax, work, mobile etc. In addition to+-- the standard type, an entry can have a custom type and can give it any+-- name. Such types should have the CUSTOM value as type and also have a+-- customType value.+upType :: Lens' UserPhone (Maybe Text)+upType = lens _upType (\ s a -> s{_upType = a})++-- | Custom Type.+upCustomType :: Lens' UserPhone (Maybe Text)+upCustomType+ = lens _upCustomType (\ s a -> s{_upCustomType = a})++instance FromJSON UserPhone where+ parseJSON+ = withObject "UserPhone"+ (\ o ->+ UserPhone' <$>+ (o .:? "value") <*> (o .:? "primary") <*>+ (o .:? "type")+ <*> (o .:? "customType"))++instance ToJSON UserPhone where+ toJSON UserPhone'{..}+ = object+ (catMaybes+ [("value" .=) <$> _upValue,+ ("primary" .=) <$> _upPrimary,+ ("type" .=) <$> _upType,+ ("customType" .=) <$> _upCustomType])++-- | JSON template for Photo object in Directory API.+--+-- /See:/ 'userPhoto' smart constructor.+data UserPhoto =+ UserPhoto'+ { _upPhotoData :: !(Maybe Bytes)+ , _upEtag :: !(Maybe Text)+ , _upHeight :: !(Maybe (Textual Int32))+ , _upKind :: !Text+ , _upWidth :: !(Maybe (Textual Int32))+ , _upMimeType :: !(Maybe Text)+ , _upId :: !(Maybe Text)+ , _upPrimaryEmail :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserPhoto' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upPhotoData'+--+-- * 'upEtag'+--+-- * 'upHeight'+--+-- * 'upKind'+--+-- * 'upWidth'+--+-- * 'upMimeType'+--+-- * 'upId'+--+-- * 'upPrimaryEmail'+userPhoto+ :: UserPhoto+userPhoto =+ UserPhoto'+ { _upPhotoData = Nothing+ , _upEtag = Nothing+ , _upHeight = Nothing+ , _upKind = "admin#directory#user#photo"+ , _upWidth = Nothing+ , _upMimeType = Nothing+ , _upId = Nothing+ , _upPrimaryEmail = Nothing+ }+++-- | Base64 encoded photo data+upPhotoData :: Lens' UserPhoto (Maybe ByteString)+upPhotoData+ = lens _upPhotoData (\ s a -> s{_upPhotoData = a}) .+ mapping _Bytes++-- | ETag of the resource.+upEtag :: Lens' UserPhoto (Maybe Text)+upEtag = lens _upEtag (\ s a -> s{_upEtag = a})++-- | Height in pixels of the photo+upHeight :: Lens' UserPhoto (Maybe Int32)+upHeight+ = lens _upHeight (\ s a -> s{_upHeight = a}) .+ mapping _Coerce++-- | Kind of resource this is.+upKind :: Lens' UserPhoto Text+upKind = lens _upKind (\ s a -> s{_upKind = a})++-- | Width in pixels of the photo+upWidth :: Lens' UserPhoto (Maybe Int32)+upWidth+ = lens _upWidth (\ s a -> s{_upWidth = a}) .+ mapping _Coerce++-- | Mime Type of the photo+upMimeType :: Lens' UserPhoto (Maybe Text)+upMimeType+ = lens _upMimeType (\ s a -> s{_upMimeType = a})++-- | Unique identifier of User (Read-only)+upId :: Lens' UserPhoto (Maybe Text)+upId = lens _upId (\ s a -> s{_upId = a})++-- | Primary email of User (Read-only)+upPrimaryEmail :: Lens' UserPhoto (Maybe Text)+upPrimaryEmail+ = lens _upPrimaryEmail+ (\ s a -> s{_upPrimaryEmail = a})++instance FromJSON UserPhoto where+ parseJSON+ = withObject "UserPhoto"+ (\ o ->+ UserPhoto' <$>+ (o .:? "photoData") <*> (o .:? "etag") <*>+ (o .:? "height")+ <*> (o .:? "kind" .!= "admin#directory#user#photo")+ <*> (o .:? "width")+ <*> (o .:? "mimeType")+ <*> (o .:? "id")+ <*> (o .:? "primaryEmail"))++instance ToJSON UserPhoto where+ toJSON UserPhoto'{..}+ = object+ (catMaybes+ [("photoData" .=) <$> _upPhotoData,+ ("etag" .=) <$> _upEtag, ("height" .=) <$> _upHeight,+ Just ("kind" .= _upKind), ("width" .=) <$> _upWidth,+ ("mimeType" .=) <$> _upMimeType, ("id" .=) <$> _upId,+ ("primaryEmail" .=) <$> _upPrimaryEmail])++--+-- /See:/ 'chromeOSDeviceSystemRamFreeReportsItem' smart constructor.+data ChromeOSDeviceSystemRamFreeReportsItem =+ ChromeOSDeviceSystemRamFreeReportsItem'+ { _codsrfriReportTime :: !(Maybe DateTime')+ , _codsrfriSystemRamFreeInfo :: !(Maybe [Textual Int64])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceSystemRamFreeReportsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codsrfriReportTime'+--+-- * 'codsrfriSystemRamFreeInfo'+chromeOSDeviceSystemRamFreeReportsItem+ :: ChromeOSDeviceSystemRamFreeReportsItem+chromeOSDeviceSystemRamFreeReportsItem =+ ChromeOSDeviceSystemRamFreeReportsItem'+ {_codsrfriReportTime = Nothing, _codsrfriSystemRamFreeInfo = Nothing}+++-- | Date and time the report was received.+codsrfriReportTime :: Lens' ChromeOSDeviceSystemRamFreeReportsItem (Maybe UTCTime)+codsrfriReportTime+ = lens _codsrfriReportTime+ (\ s a -> s{_codsrfriReportTime = a})+ . mapping _DateTime++codsrfriSystemRamFreeInfo :: Lens' ChromeOSDeviceSystemRamFreeReportsItem [Int64]+codsrfriSystemRamFreeInfo+ = lens _codsrfriSystemRamFreeInfo+ (\ s a -> s{_codsrfriSystemRamFreeInfo = a})+ . _Default+ . _Coerce++instance FromJSON+ ChromeOSDeviceSystemRamFreeReportsItem+ where+ parseJSON+ = withObject "ChromeOSDeviceSystemRamFreeReportsItem"+ (\ o ->+ ChromeOSDeviceSystemRamFreeReportsItem' <$>+ (o .:? "reportTime") <*>+ (o .:? "systemRamFreeInfo" .!= mempty))++instance ToJSON+ ChromeOSDeviceSystemRamFreeReportsItem+ where+ toJSON ChromeOSDeviceSystemRamFreeReportsItem'{..}+ = object+ (catMaybes+ [("reportTime" .=) <$> _codsrfriReportTime,+ ("systemRamFreeInfo" .=) <$>+ _codsrfriSystemRamFreeInfo])++-- | JSON template for a POSIX account entry. Description of the field+-- family: go\/fbs-posix.+--+-- /See:/ 'userPosixAccount' smart constructor.+data UserPosixAccount =+ UserPosixAccount'+ { _upaGecos :: !(Maybe Text)+ , _upaUid :: !(Maybe (Textual Word64))+ , _upaUsername :: !(Maybe Text)+ , _upaShell :: !(Maybe Text)+ , _upaPrimary :: !(Maybe Bool)+ , _upaAccountId :: !(Maybe Text)+ , _upaGid :: !(Maybe (Textual Word64))+ , _upaOperatingSystemType :: !(Maybe Text)+ , _upaSystemId :: !(Maybe Text)+ , _upaHomeDirectory :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserPosixAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upaGecos'+--+-- * 'upaUid'+--+-- * 'upaUsername'+--+-- * 'upaShell'+--+-- * 'upaPrimary'+--+-- * 'upaAccountId'+--+-- * 'upaGid'+--+-- * 'upaOperatingSystemType'+--+-- * 'upaSystemId'+--+-- * 'upaHomeDirectory'+userPosixAccount+ :: UserPosixAccount+userPosixAccount =+ UserPosixAccount'+ { _upaGecos = Nothing+ , _upaUid = Nothing+ , _upaUsername = Nothing+ , _upaShell = Nothing+ , _upaPrimary = Nothing+ , _upaAccountId = Nothing+ , _upaGid = Nothing+ , _upaOperatingSystemType = Nothing+ , _upaSystemId = Nothing+ , _upaHomeDirectory = Nothing+ }+++-- | The GECOS (user information) for this account.+upaGecos :: Lens' UserPosixAccount (Maybe Text)+upaGecos = lens _upaGecos (\ s a -> s{_upaGecos = a})++-- | The POSIX compliant user ID.+upaUid :: Lens' UserPosixAccount (Maybe Word64)+upaUid+ = lens _upaUid (\ s a -> s{_upaUid = a}) .+ mapping _Coerce++-- | The username of the account.+upaUsername :: Lens' UserPosixAccount (Maybe Text)+upaUsername+ = lens _upaUsername (\ s a -> s{_upaUsername = a})++-- | The path to the login shell for this account.+upaShell :: Lens' UserPosixAccount (Maybe Text)+upaShell = lens _upaShell (\ s a -> s{_upaShell = a})++-- | If this is user\'s primary account within the SystemId.+upaPrimary :: Lens' UserPosixAccount (Maybe Bool)+upaPrimary+ = lens _upaPrimary (\ s a -> s{_upaPrimary = a})++-- | A POSIX account field identifier.+upaAccountId :: Lens' UserPosixAccount (Maybe Text)+upaAccountId+ = lens _upaAccountId (\ s a -> s{_upaAccountId = a})++-- | The default group ID.+upaGid :: Lens' UserPosixAccount (Maybe Word64)+upaGid+ = lens _upaGid (\ s a -> s{_upaGid = a}) .+ mapping _Coerce++-- | The operating system type for this account.+upaOperatingSystemType :: Lens' UserPosixAccount (Maybe Text)+upaOperatingSystemType+ = lens _upaOperatingSystemType+ (\ s a -> s{_upaOperatingSystemType = a})++-- | System identifier for which account Username or Uid apply to.+upaSystemId :: Lens' UserPosixAccount (Maybe Text)+upaSystemId+ = lens _upaSystemId (\ s a -> s{_upaSystemId = a})++-- | The path to the home directory for this account.+upaHomeDirectory :: Lens' UserPosixAccount (Maybe Text)+upaHomeDirectory+ = lens _upaHomeDirectory+ (\ s a -> s{_upaHomeDirectory = a})++instance FromJSON UserPosixAccount where+ parseJSON+ = withObject "UserPosixAccount"+ (\ o ->+ UserPosixAccount' <$>+ (o .:? "gecos") <*> (o .:? "uid") <*>+ (o .:? "username")+ <*> (o .:? "shell")+ <*> (o .:? "primary")+ <*> (o .:? "accountId")+ <*> (o .:? "gid")+ <*> (o .:? "operatingSystemType")+ <*> (o .:? "systemId")+ <*> (o .:? "homeDirectory"))++instance ToJSON UserPosixAccount where+ toJSON UserPosixAccount'{..}+ = object+ (catMaybes+ [("gecos" .=) <$> _upaGecos, ("uid" .=) <$> _upaUid,+ ("username" .=) <$> _upaUsername,+ ("shell" .=) <$> _upaShell,+ ("primary" .=) <$> _upaPrimary,+ ("accountId" .=) <$> _upaAccountId,+ ("gid" .=) <$> _upaGid,+ ("operatingSystemType" .=) <$>+ _upaOperatingSystemType,+ ("systemId" .=) <$> _upaSystemId,+ ("homeDirectory" .=) <$> _upaHomeDirectory])++-- | JSON template for a \"feature instance\".+--+-- /See:/ 'featureInstance' smart constructor.+newtype FeatureInstance =+ FeatureInstance'+ { _fiFeature :: Maybe Feature+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FeatureInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiFeature'+featureInstance+ :: FeatureInstance+featureInstance = FeatureInstance' {_fiFeature = Nothing}+++-- | The feature that this is an instance of. A calendar resource may have+-- multiple instances of a feature.+fiFeature :: Lens' FeatureInstance (Maybe Feature)+fiFeature+ = lens _fiFeature (\ s a -> s{_fiFeature = a})++instance FromJSON FeatureInstance where+ parseJSON+ = withObject "FeatureInstance"+ (\ o -> FeatureInstance' <$> (o .:? "feature"))++instance ToJSON FeatureInstance where+ toJSON FeatureInstance'{..}+ = object (catMaybes [("feature" .=) <$> _fiFeature])++-- | JSON template for Mobile Device resource in Directory API.+--+-- /See:/ 'mobileDevice' smart constructor.+data MobileDevice =+ MobileDevice'+ { _mobEmail :: !(Maybe [Text])+ , _mobStatus :: !(Maybe Text)+ , _mobPrivilege :: !(Maybe Text)+ , _mobEtag :: !(Maybe Text)+ , _mobResourceId :: !(Maybe Text)+ , _mobManufacturer :: !(Maybe Text)+ , _mobBuildNumber :: !(Maybe Text)+ , _mobManagedAccountIsOnOwnerProFile :: !(Maybe Bool)+ , _mobLastSync :: !(Maybe DateTime')+ , _mobOtherAccountsInfo :: !(Maybe [Text])+ , _mobKind :: !Text+ , _mobAdbStatus :: !(Maybe Bool)+ , _mobReleaseVersion :: !(Maybe Text)+ , _mobBrand :: !(Maybe Text)+ , _mobSecurityPatchLevel :: !(Maybe (Textual Int64))+ , _mobNetworkOperator :: !(Maybe Text)+ , _mobKernelVersion :: !(Maybe Text)+ , _mobOS :: !(Maybe Text)+ , _mobName :: !(Maybe [Text])+ , _mobModel :: !(Maybe Text)+ , _mobDeveloperOptionsStatus :: !(Maybe Bool)+ , _mobUnknownSourcesStatus :: !(Maybe Bool)+ , _mobMeid :: !(Maybe Text)+ , _mobBootLoaderVersion :: !(Maybe Text)+ , _mobDeviceId :: !(Maybe Text)+ , _mobFirstSync :: !(Maybe DateTime')+ , _mobUserAgent :: !(Maybe Text)+ , _mobImei :: !(Maybe Text)+ , _mobType :: !(Maybe Text)+ , _mobWifiMACAddress :: !(Maybe Text)+ , _mobEncryptionStatus :: !(Maybe Text)+ , _mobSerialNumber :: !(Maybe Text)+ , _mobDevicePasswordStatus :: !(Maybe Text)+ , _mobHardwareId :: !(Maybe Text)+ , _mobBasebandVersion :: !(Maybe Text)+ , _mobSupportsWorkProFile :: !(Maybe Bool)+ , _mobHardware :: !(Maybe Text)+ , _mobDeviceCompromisedStatus :: !(Maybe Text)+ , _mobApplications :: !(Maybe [MobileDeviceApplicationsItem])+ , _mobDefaultLanguage :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MobileDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mobEmail'+--+-- * 'mobStatus'+--+-- * 'mobPrivilege'+--+-- * 'mobEtag'+--+-- * 'mobResourceId'+--+-- * 'mobManufacturer'+--+-- * 'mobBuildNumber'+--+-- * 'mobManagedAccountIsOnOwnerProFile'+--+-- * 'mobLastSync'+--+-- * 'mobOtherAccountsInfo'+--+-- * 'mobKind'+--+-- * 'mobAdbStatus'+--+-- * 'mobReleaseVersion'+--+-- * 'mobBrand'+--+-- * 'mobSecurityPatchLevel'+--+-- * 'mobNetworkOperator'+--+-- * 'mobKernelVersion'+--+-- * 'mobOS'+--+-- * 'mobName'+--+-- * 'mobModel'+--+-- * 'mobDeveloperOptionsStatus'+--+-- * 'mobUnknownSourcesStatus'+--+-- * 'mobMeid'+--+-- * 'mobBootLoaderVersion'+--+-- * 'mobDeviceId'+--+-- * 'mobFirstSync'+--+-- * 'mobUserAgent'+--+-- * 'mobImei'+--+-- * 'mobType'+--+-- * 'mobWifiMACAddress'+--+-- * 'mobEncryptionStatus'+--+-- * 'mobSerialNumber'+--+-- * 'mobDevicePasswordStatus'+--+-- * 'mobHardwareId'+--+-- * 'mobBasebandVersion'+--+-- * 'mobSupportsWorkProFile'+--+-- * 'mobHardware'+--+-- * 'mobDeviceCompromisedStatus'+--+-- * 'mobApplications'+--+-- * 'mobDefaultLanguage'+mobileDevice+ :: MobileDevice+mobileDevice =+ MobileDevice'+ { _mobEmail = Nothing+ , _mobStatus = Nothing+ , _mobPrivilege = Nothing+ , _mobEtag = Nothing+ , _mobResourceId = Nothing+ , _mobManufacturer = Nothing+ , _mobBuildNumber = Nothing+ , _mobManagedAccountIsOnOwnerProFile = Nothing+ , _mobLastSync = Nothing+ , _mobOtherAccountsInfo = Nothing+ , _mobKind = "admin#directory#mobiledevice"+ , _mobAdbStatus = Nothing+ , _mobReleaseVersion = Nothing+ , _mobBrand = Nothing+ , _mobSecurityPatchLevel = Nothing+ , _mobNetworkOperator = Nothing+ , _mobKernelVersion = Nothing+ , _mobOS = Nothing+ , _mobName = Nothing+ , _mobModel = Nothing+ , _mobDeveloperOptionsStatus = Nothing+ , _mobUnknownSourcesStatus = Nothing+ , _mobMeid = Nothing+ , _mobBootLoaderVersion = Nothing+ , _mobDeviceId = Nothing+ , _mobFirstSync = Nothing+ , _mobUserAgent = Nothing+ , _mobImei = Nothing+ , _mobType = Nothing+ , _mobWifiMACAddress = Nothing+ , _mobEncryptionStatus = Nothing+ , _mobSerialNumber = Nothing+ , _mobDevicePasswordStatus = Nothing+ , _mobHardwareId = Nothing+ , _mobBasebandVersion = Nothing+ , _mobSupportsWorkProFile = Nothing+ , _mobHardware = Nothing+ , _mobDeviceCompromisedStatus = Nothing+ , _mobApplications = Nothing+ , _mobDefaultLanguage = Nothing+ }+++-- | List of owner user\'s email addresses (Read-only)+mobEmail :: Lens' MobileDevice [Text]+mobEmail+ = lens _mobEmail (\ s a -> s{_mobEmail = a}) .+ _Default+ . _Coerce++-- | Status of the device (Read-only)+mobStatus :: Lens' MobileDevice (Maybe Text)+mobStatus+ = lens _mobStatus (\ s a -> s{_mobStatus = a})++-- | DMAgentPermission (Read-only)+mobPrivilege :: Lens' MobileDevice (Maybe Text)+mobPrivilege+ = lens _mobPrivilege (\ s a -> s{_mobPrivilege = a})++-- | ETag of the resource.+mobEtag :: Lens' MobileDevice (Maybe Text)+mobEtag = lens _mobEtag (\ s a -> s{_mobEtag = a})++-- | Unique identifier of Mobile Device (Read-only)+mobResourceId :: Lens' MobileDevice (Maybe Text)+mobResourceId+ = lens _mobResourceId+ (\ s a -> s{_mobResourceId = a})++-- | Mobile Device manufacturer (Read-only)+mobManufacturer :: Lens' MobileDevice (Maybe Text)+mobManufacturer+ = lens _mobManufacturer+ (\ s a -> s{_mobManufacturer = a})++-- | Mobile Device Build number (Read-only)+mobBuildNumber :: Lens' MobileDevice (Maybe Text)+mobBuildNumber+ = lens _mobBuildNumber+ (\ s a -> s{_mobBuildNumber = a})++-- | Boolean indicating if this account is on owner\/primary profile or not+-- (Read-only)+mobManagedAccountIsOnOwnerProFile :: Lens' MobileDevice (Maybe Bool)+mobManagedAccountIsOnOwnerProFile+ = lens _mobManagedAccountIsOnOwnerProFile+ (\ s a -> s{_mobManagedAccountIsOnOwnerProFile = a})++-- | Date and time the device was last synchronized with the policy settings+-- in the G Suite administrator control panel (Read-only)+mobLastSync :: Lens' MobileDevice (Maybe UTCTime)+mobLastSync+ = lens _mobLastSync (\ s a -> s{_mobLastSync = a}) .+ mapping _DateTime++-- | List of accounts added on device (Read-only)+mobOtherAccountsInfo :: Lens' MobileDevice [Text]+mobOtherAccountsInfo+ = lens _mobOtherAccountsInfo+ (\ s a -> s{_mobOtherAccountsInfo = a})+ . _Default+ . _Coerce++-- | Kind of resource this is.+mobKind :: Lens' MobileDevice Text+mobKind = lens _mobKind (\ s a -> s{_mobKind = a})++-- | Adb (USB debugging) enabled or disabled on device (Read-only)+mobAdbStatus :: Lens' MobileDevice (Maybe Bool)+mobAdbStatus+ = lens _mobAdbStatus (\ s a -> s{_mobAdbStatus = a})++-- | Mobile Device release version version (Read-only)+mobReleaseVersion :: Lens' MobileDevice (Maybe Text)+mobReleaseVersion+ = lens _mobReleaseVersion+ (\ s a -> s{_mobReleaseVersion = a})++-- | Mobile Device Brand (Read-only)+mobBrand :: Lens' MobileDevice (Maybe Text)+mobBrand = lens _mobBrand (\ s a -> s{_mobBrand = a})++-- | Mobile Device Security patch level (Read-only)+mobSecurityPatchLevel :: Lens' MobileDevice (Maybe Int64)+mobSecurityPatchLevel+ = lens _mobSecurityPatchLevel+ (\ s a -> s{_mobSecurityPatchLevel = a})+ . mapping _Coerce++-- | Mobile Device mobile or network operator (if available) (Read-only)+mobNetworkOperator :: Lens' MobileDevice (Maybe Text)+mobNetworkOperator+ = lens _mobNetworkOperator+ (\ s a -> s{_mobNetworkOperator = a})++-- | Mobile Device Kernel version (Read-only)+mobKernelVersion :: Lens' MobileDevice (Maybe Text)+mobKernelVersion+ = lens _mobKernelVersion+ (\ s a -> s{_mobKernelVersion = a})++-- | Name of the mobile operating system+mobOS :: Lens' MobileDevice (Maybe Text)+mobOS = lens _mobOS (\ s a -> s{_mobOS = a})++-- | List of owner user\'s names (Read-only)+mobName :: Lens' MobileDevice [Text]+mobName+ = lens _mobName (\ s a -> s{_mobName = a}) . _Default+ . _Coerce++-- | Name of the model of the device+mobModel :: Lens' MobileDevice (Maybe Text)+mobModel = lens _mobModel (\ s a -> s{_mobModel = a})++-- | Developer options enabled or disabled on device (Read-only)+mobDeveloperOptionsStatus :: Lens' MobileDevice (Maybe Bool)+mobDeveloperOptionsStatus+ = lens _mobDeveloperOptionsStatus+ (\ s a -> s{_mobDeveloperOptionsStatus = a})++-- | Unknown sources enabled or disabled on device (Read-only)+mobUnknownSourcesStatus :: Lens' MobileDevice (Maybe Bool)+mobUnknownSourcesStatus+ = lens _mobUnknownSourcesStatus+ (\ s a -> s{_mobUnknownSourcesStatus = a})++-- | Mobile Device MEID number (Read-only)+mobMeid :: Lens' MobileDevice (Maybe Text)+mobMeid = lens _mobMeid (\ s a -> s{_mobMeid = a})++-- | Mobile Device Bootloader version (Read-only)+mobBootLoaderVersion :: Lens' MobileDevice (Maybe Text)+mobBootLoaderVersion+ = lens _mobBootLoaderVersion+ (\ s a -> s{_mobBootLoaderVersion = a})++-- | Mobile Device serial number (Read-only)+mobDeviceId :: Lens' MobileDevice (Maybe Text)+mobDeviceId+ = lens _mobDeviceId (\ s a -> s{_mobDeviceId = a})++-- | Date and time the device was first synchronized with the policy settings+-- in the G Suite administrator control panel (Read-only)+mobFirstSync :: Lens' MobileDevice (Maybe UTCTime)+mobFirstSync+ = lens _mobFirstSync (\ s a -> s{_mobFirstSync = a})+ . mapping _DateTime++-- | Mobile Device user agent+mobUserAgent :: Lens' MobileDevice (Maybe Text)+mobUserAgent+ = lens _mobUserAgent (\ s a -> s{_mobUserAgent = a})++-- | Mobile Device IMEI number (Read-only)+mobImei :: Lens' MobileDevice (Maybe Text)+mobImei = lens _mobImei (\ s a -> s{_mobImei = a})++-- | The type of device (Read-only)+mobType :: Lens' MobileDevice (Maybe Text)+mobType = lens _mobType (\ s a -> s{_mobType = a})++-- | Mobile Device WiFi MAC address (Read-only)+mobWifiMACAddress :: Lens' MobileDevice (Maybe Text)+mobWifiMACAddress+ = lens _mobWifiMACAddress+ (\ s a -> s{_mobWifiMACAddress = a})++-- | Mobile Device Encryption Status (Read-only)+mobEncryptionStatus :: Lens' MobileDevice (Maybe Text)+mobEncryptionStatus+ = lens _mobEncryptionStatus+ (\ s a -> s{_mobEncryptionStatus = a})++-- | Mobile Device SSN or Serial Number (Read-only)+mobSerialNumber :: Lens' MobileDevice (Maybe Text)+mobSerialNumber+ = lens _mobSerialNumber+ (\ s a -> s{_mobSerialNumber = a})++-- | DevicePasswordStatus (Read-only)+mobDevicePasswordStatus :: Lens' MobileDevice (Maybe Text)+mobDevicePasswordStatus+ = lens _mobDevicePasswordStatus+ (\ s a -> s{_mobDevicePasswordStatus = a})++-- | Mobile Device Hardware Id (Read-only)+mobHardwareId :: Lens' MobileDevice (Maybe Text)+mobHardwareId+ = lens _mobHardwareId+ (\ s a -> s{_mobHardwareId = a})++-- | Mobile Device Baseband version (Read-only)+mobBasebandVersion :: Lens' MobileDevice (Maybe Text)+mobBasebandVersion+ = lens _mobBasebandVersion+ (\ s a -> s{_mobBasebandVersion = a})++-- | Work profile supported on device (Read-only)+mobSupportsWorkProFile :: Lens' MobileDevice (Maybe Bool)+mobSupportsWorkProFile+ = lens _mobSupportsWorkProFile+ (\ s a -> s{_mobSupportsWorkProFile = a})++-- | Mobile Device Hardware (Read-only)+mobHardware :: Lens' MobileDevice (Maybe Text)+mobHardware+ = lens _mobHardware (\ s a -> s{_mobHardware = a})++-- | Mobile Device compromised status (Read-only)+mobDeviceCompromisedStatus :: Lens' MobileDevice (Maybe Text)+mobDeviceCompromisedStatus+ = lens _mobDeviceCompromisedStatus+ (\ s a -> s{_mobDeviceCompromisedStatus = a})++-- | List of applications installed on Mobile Device+mobApplications :: Lens' MobileDevice [MobileDeviceApplicationsItem]+mobApplications+ = lens _mobApplications+ (\ s a -> s{_mobApplications = a})+ . _Default+ . _Coerce++-- | The default locale used on the Mobile Device (Read-only)+mobDefaultLanguage :: Lens' MobileDevice (Maybe Text)+mobDefaultLanguage+ = lens _mobDefaultLanguage+ (\ s a -> s{_mobDefaultLanguage = a})++instance FromJSON MobileDevice where+ parseJSON+ = withObject "MobileDevice"+ (\ o ->+ MobileDevice' <$>+ (o .:? "email" .!= mempty) <*> (o .:? "status") <*>+ (o .:? "privilege")+ <*> (o .:? "etag")+ <*> (o .:? "resourceId")+ <*> (o .:? "manufacturer")+ <*> (o .:? "buildNumber")+ <*> (o .:? "managedAccountIsOnOwnerProfile")+ <*> (o .:? "lastSync")+ <*> (o .:? "otherAccountsInfo" .!= mempty)+ <*> (o .:? "kind" .!= "admin#directory#mobiledevice")+ <*> (o .:? "adbStatus")+ <*> (o .:? "releaseVersion")+ <*> (o .:? "brand")+ <*> (o .:? "securityPatchLevel")+ <*> (o .:? "networkOperator")+ <*> (o .:? "kernelVersion")+ <*> (o .:? "os")+ <*> (o .:? "name" .!= mempty)+ <*> (o .:? "model")+ <*> (o .:? "developerOptionsStatus")+ <*> (o .:? "unknownSourcesStatus")+ <*> (o .:? "meid")+ <*> (o .:? "bootloaderVersion")+ <*> (o .:? "deviceId")+ <*> (o .:? "firstSync")+ <*> (o .:? "userAgent")+ <*> (o .:? "imei")+ <*> (o .:? "type")+ <*> (o .:? "wifiMacAddress")+ <*> (o .:? "encryptionStatus")+ <*> (o .:? "serialNumber")+ <*> (o .:? "devicePasswordStatus")+ <*> (o .:? "hardwareId")+ <*> (o .:? "basebandVersion")+ <*> (o .:? "supportsWorkProfile")+ <*> (o .:? "hardware")+ <*> (o .:? "deviceCompromisedStatus")+ <*> (o .:? "applications" .!= mempty)+ <*> (o .:? "defaultLanguage"))++instance ToJSON MobileDevice where+ toJSON MobileDevice'{..}+ = object+ (catMaybes+ [("email" .=) <$> _mobEmail,+ ("status" .=) <$> _mobStatus,+ ("privilege" .=) <$> _mobPrivilege,+ ("etag" .=) <$> _mobEtag,+ ("resourceId" .=) <$> _mobResourceId,+ ("manufacturer" .=) <$> _mobManufacturer,+ ("buildNumber" .=) <$> _mobBuildNumber,+ ("managedAccountIsOnOwnerProfile" .=) <$>+ _mobManagedAccountIsOnOwnerProFile,+ ("lastSync" .=) <$> _mobLastSync,+ ("otherAccountsInfo" .=) <$> _mobOtherAccountsInfo,+ Just ("kind" .= _mobKind),+ ("adbStatus" .=) <$> _mobAdbStatus,+ ("releaseVersion" .=) <$> _mobReleaseVersion,+ ("brand" .=) <$> _mobBrand,+ ("securityPatchLevel" .=) <$> _mobSecurityPatchLevel,+ ("networkOperator" .=) <$> _mobNetworkOperator,+ ("kernelVersion" .=) <$> _mobKernelVersion,+ ("os" .=) <$> _mobOS, ("name" .=) <$> _mobName,+ ("model" .=) <$> _mobModel,+ ("developerOptionsStatus" .=) <$>+ _mobDeveloperOptionsStatus,+ ("unknownSourcesStatus" .=) <$>+ _mobUnknownSourcesStatus,+ ("meid" .=) <$> _mobMeid,+ ("bootloaderVersion" .=) <$> _mobBootLoaderVersion,+ ("deviceId" .=) <$> _mobDeviceId,+ ("firstSync" .=) <$> _mobFirstSync,+ ("userAgent" .=) <$> _mobUserAgent,+ ("imei" .=) <$> _mobImei, ("type" .=) <$> _mobType,+ ("wifiMacAddress" .=) <$> _mobWifiMACAddress,+ ("encryptionStatus" .=) <$> _mobEncryptionStatus,+ ("serialNumber" .=) <$> _mobSerialNumber,+ ("devicePasswordStatus" .=) <$>+ _mobDevicePasswordStatus,+ ("hardwareId" .=) <$> _mobHardwareId,+ ("basebandVersion" .=) <$> _mobBasebandVersion,+ ("supportsWorkProfile" .=) <$>+ _mobSupportsWorkProFile,+ ("hardware" .=) <$> _mobHardware,+ ("deviceCompromisedStatus" .=) <$>+ _mobDeviceCompromisedStatus,+ ("applications" .=) <$> _mobApplications,+ ("defaultLanguage" .=) <$> _mobDefaultLanguage])++--+-- /See:/ 'chromeOSDeviceCPUStatusReportsItem' smart constructor.+data ChromeOSDeviceCPUStatusReportsItem =+ ChromeOSDeviceCPUStatusReportsItem'+ { _codcsriCPUUtilizationPercentageInfo :: !(Maybe [Textual Int32])+ , _codcsriCPUTemperatureInfo :: !(Maybe [ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem])+ , _codcsriReportTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceCPUStatusReportsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codcsriCPUUtilizationPercentageInfo'+--+-- * 'codcsriCPUTemperatureInfo'+--+-- * 'codcsriReportTime'+chromeOSDeviceCPUStatusReportsItem+ :: ChromeOSDeviceCPUStatusReportsItem+chromeOSDeviceCPUStatusReportsItem =+ ChromeOSDeviceCPUStatusReportsItem'+ { _codcsriCPUUtilizationPercentageInfo = Nothing+ , _codcsriCPUTemperatureInfo = Nothing+ , _codcsriReportTime = Nothing+ }+++codcsriCPUUtilizationPercentageInfo :: Lens' ChromeOSDeviceCPUStatusReportsItem [Int32]+codcsriCPUUtilizationPercentageInfo+ = lens _codcsriCPUUtilizationPercentageInfo+ (\ s a ->+ s{_codcsriCPUUtilizationPercentageInfo = a})+ . _Default+ . _Coerce++-- | List of CPU temperature samples.+codcsriCPUTemperatureInfo :: Lens' ChromeOSDeviceCPUStatusReportsItem [ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem]+codcsriCPUTemperatureInfo+ = lens _codcsriCPUTemperatureInfo+ (\ s a -> s{_codcsriCPUTemperatureInfo = a})+ . _Default+ . _Coerce++-- | Date and time the report was received.+codcsriReportTime :: Lens' ChromeOSDeviceCPUStatusReportsItem (Maybe UTCTime)+codcsriReportTime+ = lens _codcsriReportTime+ (\ s a -> s{_codcsriReportTime = a})+ . mapping _DateTime++instance FromJSON ChromeOSDeviceCPUStatusReportsItem+ where+ parseJSON+ = withObject "ChromeOSDeviceCPUStatusReportsItem"+ (\ o ->+ ChromeOSDeviceCPUStatusReportsItem' <$>+ (o .:? "cpuUtilizationPercentageInfo" .!= mempty) <*>+ (o .:? "cpuTemperatureInfo" .!= mempty)+ <*> (o .:? "reportTime"))++instance ToJSON ChromeOSDeviceCPUStatusReportsItem+ where+ toJSON ChromeOSDeviceCPUStatusReportsItem'{..}+ = object+ (catMaybes+ [("cpuUtilizationPercentageInfo" .=) <$>+ _codcsriCPUUtilizationPercentageInfo,+ ("cpuTemperatureInfo" .=) <$>+ _codcsriCPUTemperatureInfo,+ ("reportTime" .=) <$> _codcsriReportTime])++-- | JSON template for Member resource in Directory API.+--+-- /See:/ 'member' smart constructor.+data Member =+ Member'+ { _memEmail :: !(Maybe Text)+ , _memStatus :: !(Maybe Text)+ , _memEtag :: !(Maybe Text)+ , _memKind :: !Text+ , _memDeliverySettings :: !(Maybe Text)+ , _memRole :: !(Maybe Text)+ , _memId :: !(Maybe Text)+ , _memType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Member' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'memEmail'+--+-- * 'memStatus'+--+-- * 'memEtag'+--+-- * 'memKind'+--+-- * 'memDeliverySettings'+--+-- * 'memRole'+--+-- * 'memId'+--+-- * 'memType'+member+ :: Member+member =+ Member'+ { _memEmail = Nothing+ , _memStatus = Nothing+ , _memEtag = Nothing+ , _memKind = "admin#directory#member"+ , _memDeliverySettings = Nothing+ , _memRole = Nothing+ , _memId = Nothing+ , _memType = Nothing+ }+++-- | Email of member (Read-only)+memEmail :: Lens' Member (Maybe Text)+memEmail = lens _memEmail (\ s a -> s{_memEmail = a})++-- | Status of member (Immutable)+memStatus :: Lens' Member (Maybe Text)+memStatus+ = lens _memStatus (\ s a -> s{_memStatus = a})++-- | ETag of the resource.+memEtag :: Lens' Member (Maybe Text)+memEtag = lens _memEtag (\ s a -> s{_memEtag = a})++-- | Kind of resource this is.+memKind :: Lens' Member Text+memKind = lens _memKind (\ s a -> s{_memKind = a})++-- | Delivery settings of member+memDeliverySettings :: Lens' Member (Maybe Text)+memDeliverySettings+ = lens _memDeliverySettings+ (\ s a -> s{_memDeliverySettings = a})++-- | Role of member+memRole :: Lens' Member (Maybe Text)+memRole = lens _memRole (\ s a -> s{_memRole = a})++-- | Unique identifier of customer member (Read-only) Unique identifier of+-- group (Read-only) Unique identifier of member (Read-only)+memId :: Lens' Member (Maybe Text)+memId = lens _memId (\ s a -> s{_memId = a})++-- | Type of member (Immutable)+memType :: Lens' Member (Maybe Text)+memType = lens _memType (\ s a -> s{_memType = a})++instance FromJSON Member where+ parseJSON+ = withObject "Member"+ (\ o ->+ Member' <$>+ (o .:? "email") <*> (o .:? "status") <*>+ (o .:? "etag")+ <*> (o .:? "kind" .!= "admin#directory#member")+ <*> (o .:? "delivery_settings")+ <*> (o .:? "role")+ <*> (o .:? "id")+ <*> (o .:? "type"))++instance ToJSON Member where+ toJSON Member'{..}+ = object+ (catMaybes+ [("email" .=) <$> _memEmail,+ ("status" .=) <$> _memStatus,+ ("etag" .=) <$> _memEtag, Just ("kind" .= _memKind),+ ("delivery_settings" .=) <$> _memDeliverySettings,+ ("role" .=) <$> _memRole, ("id" .=) <$> _memId,+ ("type" .=) <$> _memType])++-- | JSON template for App Access Collections Resource object in Directory+-- API.+--+-- /See:/ 'appAccessCollections' smart constructor.+data AppAccessCollections =+ AppAccessCollections'+ { _aacEtag :: !(Maybe Text)+ , _aacResourceId :: !(Maybe (Textual Int64))+ , _aacEnforceSettingsForAndroidDrive :: !(Maybe Bool)+ , _aacResourceName :: !(Maybe Text)+ , _aacKind :: !Text+ , _aacTrustDomainOwnedApps :: !(Maybe Bool)+ , _aacBlockedAPIAccessBuckets :: !(Maybe [Text])+ , _aacErrorMessage :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AppAccessCollections' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aacEtag'+--+-- * 'aacResourceId'+--+-- * 'aacEnforceSettingsForAndroidDrive'+--+-- * 'aacResourceName'+--+-- * 'aacKind'+--+-- * 'aacTrustDomainOwnedApps'+--+-- * 'aacBlockedAPIAccessBuckets'+--+-- * 'aacErrorMessage'+appAccessCollections+ :: AppAccessCollections+appAccessCollections =+ AppAccessCollections'+ { _aacEtag = Nothing+ , _aacResourceId = Nothing+ , _aacEnforceSettingsForAndroidDrive = Nothing+ , _aacResourceName = Nothing+ , _aacKind = "admin#directory#appaccesscollection"+ , _aacTrustDomainOwnedApps = Nothing+ , _aacBlockedAPIAccessBuckets = Nothing+ , _aacErrorMessage = Nothing+ }+++-- | ETag of the resource.+aacEtag :: Lens' AppAccessCollections (Maybe Text)+aacEtag = lens _aacEtag (\ s a -> s{_aacEtag = a})++-- | Unique ID of app access collection. (Readonly)+aacResourceId :: Lens' AppAccessCollections (Maybe Int64)+aacResourceId+ = lens _aacResourceId+ (\ s a -> s{_aacResourceId = a})+ . mapping _Coerce++-- | Boolean to indicate whether to enforce app access settings on Android+-- Drive or not.+aacEnforceSettingsForAndroidDrive :: Lens' AppAccessCollections (Maybe Bool)+aacEnforceSettingsForAndroidDrive+ = lens _aacEnforceSettingsForAndroidDrive+ (\ s a -> s{_aacEnforceSettingsForAndroidDrive = a})++-- | Resource name given by the customer while creating\/updating. Should be+-- unique under given customer.+aacResourceName :: Lens' AppAccessCollections (Maybe Text)+aacResourceName+ = lens _aacResourceName+ (\ s a -> s{_aacResourceName = a})++-- | Identifies the resource as an app access collection. Value:+-- admin#directory#appaccesscollection+aacKind :: Lens' AppAccessCollections Text+aacKind = lens _aacKind (\ s a -> s{_aacKind = a})++-- | Boolean that indicates whether to trust domain owned apps.+aacTrustDomainOwnedApps :: Lens' AppAccessCollections (Maybe Bool)+aacTrustDomainOwnedApps+ = lens _aacTrustDomainOwnedApps+ (\ s a -> s{_aacTrustDomainOwnedApps = a})++-- | List of blocked api access buckets.+aacBlockedAPIAccessBuckets :: Lens' AppAccessCollections [Text]+aacBlockedAPIAccessBuckets+ = lens _aacBlockedAPIAccessBuckets+ (\ s a -> s{_aacBlockedAPIAccessBuckets = a})+ . _Default+ . _Coerce++-- | Error message provided by the Admin that will be shown to the user when+-- an app is blocked.+aacErrorMessage :: Lens' AppAccessCollections (Maybe Text)+aacErrorMessage+ = lens _aacErrorMessage+ (\ s a -> s{_aacErrorMessage = a})++instance FromJSON AppAccessCollections where+ parseJSON+ = withObject "AppAccessCollections"+ (\ o ->+ AppAccessCollections' <$>+ (o .:? "etag") <*> (o .:? "resourceId") <*>+ (o .:? "enforceSettingsForAndroidDrive")+ <*> (o .:? "resourceName")+ <*>+ (o .:? "kind" .!=+ "admin#directory#appaccesscollection")+ <*> (o .:? "trustDomainOwnedApps")+ <*> (o .:? "blockedApiAccessBuckets" .!= mempty)+ <*> (o .:? "errorMessage"))++instance ToJSON AppAccessCollections where+ toJSON AppAccessCollections'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _aacEtag,+ ("resourceId" .=) <$> _aacResourceId,+ ("enforceSettingsForAndroidDrive" .=) <$>+ _aacEnforceSettingsForAndroidDrive,+ ("resourceName" .=) <$> _aacResourceName,+ Just ("kind" .= _aacKind),+ ("trustDomainOwnedApps" .=) <$>+ _aacTrustDomainOwnedApps,+ ("blockedApiAccessBuckets" .=) <$>+ _aacBlockedAPIAccessBuckets,+ ("errorMessage" .=) <$> _aacErrorMessage])++-- | JSON template for a set of custom properties (i.e. all fields in a+-- particular schema)+--+-- /See:/ 'userCustomProperties' smart constructor.+newtype UserCustomProperties =+ UserCustomProperties'+ { _ucpAddtional :: HashMap Text JSONValue+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserCustomProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucpAddtional'+userCustomProperties+ :: HashMap Text JSONValue -- ^ 'ucpAddtional'+ -> UserCustomProperties+userCustomProperties pUcpAddtional_ =+ UserCustomProperties' {_ucpAddtional = _Coerce # pUcpAddtional_}+++ucpAddtional :: Lens' UserCustomProperties (HashMap Text JSONValue)+ucpAddtional+ = lens _ucpAddtional (\ s a -> s{_ucpAddtional = a})+ . _Coerce++instance FromJSON UserCustomProperties where+ parseJSON+ = withObject "UserCustomProperties"+ (\ o ->+ UserCustomProperties' <$> (parseJSONObject o))++instance ToJSON UserCustomProperties where+ toJSON = toJSON . _ucpAddtional++-- | JSON template for a language entry.+--+-- /See:/ 'userLanguage' smart constructor.+data UserLanguage =+ UserLanguage'+ { _ulLanguageCode :: !(Maybe Text)+ , _ulCustomLanguage :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserLanguage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulLanguageCode'+--+-- * 'ulCustomLanguage'+userLanguage+ :: UserLanguage+userLanguage =+ UserLanguage' {_ulLanguageCode = Nothing, _ulCustomLanguage = Nothing}+++-- | Language Code. Should be used for storing Google III LanguageCode string+-- representation for language. Illegal values cause SchemaException.+ulLanguageCode :: Lens' UserLanguage (Maybe Text)+ulLanguageCode+ = lens _ulLanguageCode+ (\ s a -> s{_ulLanguageCode = a})++-- | Other language. User can provide own language name if there is no+-- corresponding Google III language code. If this is set LanguageCode+-- can\'t be set+ulCustomLanguage :: Lens' UserLanguage (Maybe Text)+ulCustomLanguage+ = lens _ulCustomLanguage+ (\ s a -> s{_ulCustomLanguage = a})++instance FromJSON UserLanguage where+ parseJSON+ = withObject "UserLanguage"+ (\ o ->+ UserLanguage' <$>+ (o .:? "languageCode") <*> (o .:? "customLanguage"))++instance ToJSON UserLanguage where+ toJSON UserLanguage'{..}+ = object+ (catMaybes+ [("languageCode" .=) <$> _ulLanguageCode,+ ("customLanguage" .=) <$> _ulCustomLanguage])++-- | JSON template for Domain object in Directory API.+--+-- /See:/ 'domains' smart constructor.+data Domains =+ Domains'+ { _domCreationTime :: !(Maybe (Textual Int64))+ , _domEtag :: !(Maybe Text)+ , _domKind :: !Text+ , _domDomainAliases :: !(Maybe [DomainAlias])+ , _domVerified :: !(Maybe Bool)+ , _domDomainName :: !(Maybe Text)+ , _domIsPrimary :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Domains' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'domCreationTime'+--+-- * 'domEtag'+--+-- * 'domKind'+--+-- * 'domDomainAliases'+--+-- * 'domVerified'+--+-- * 'domDomainName'+--+-- * 'domIsPrimary'+domains+ :: Domains+domains =+ Domains'+ { _domCreationTime = Nothing+ , _domEtag = Nothing+ , _domKind = "admin#directory#domain"+ , _domDomainAliases = Nothing+ , _domVerified = Nothing+ , _domDomainName = Nothing+ , _domIsPrimary = Nothing+ }+++-- | Creation time of the domain. (Read-only).+domCreationTime :: Lens' Domains (Maybe Int64)+domCreationTime+ = lens _domCreationTime+ (\ s a -> s{_domCreationTime = a})+ . mapping _Coerce++-- | ETag of the resource.+domEtag :: Lens' Domains (Maybe Text)+domEtag = lens _domEtag (\ s a -> s{_domEtag = a})++-- | Kind of resource this is.+domKind :: Lens' Domains Text+domKind = lens _domKind (\ s a -> s{_domKind = a})++-- | List of domain alias objects. (Read-only)+domDomainAliases :: Lens' Domains [DomainAlias]+domDomainAliases+ = lens _domDomainAliases+ (\ s a -> s{_domDomainAliases = a})+ . _Default+ . _Coerce++-- | Indicates the verification state of a domain. (Read-only).+domVerified :: Lens' Domains (Maybe Bool)+domVerified+ = lens _domVerified (\ s a -> s{_domVerified = a})++-- | The domain name of the customer.+domDomainName :: Lens' Domains (Maybe Text)+domDomainName+ = lens _domDomainName+ (\ s a -> s{_domDomainName = a})++-- | Indicates if the domain is a primary domain (Read-only).+domIsPrimary :: Lens' Domains (Maybe Bool)+domIsPrimary+ = lens _domIsPrimary (\ s a -> s{_domIsPrimary = a})++instance FromJSON Domains where+ parseJSON+ = withObject "Domains"+ (\ o ->+ Domains' <$>+ (o .:? "creationTime") <*> (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#domain")+ <*> (o .:? "domainAliases" .!= mempty)+ <*> (o .:? "verified")+ <*> (o .:? "domainName")+ <*> (o .:? "isPrimary"))++instance ToJSON Domains where+ toJSON Domains'{..}+ = object+ (catMaybes+ [("creationTime" .=) <$> _domCreationTime,+ ("etag" .=) <$> _domEtag, Just ("kind" .= _domKind),+ ("domainAliases" .=) <$> _domDomainAliases,+ ("verified" .=) <$> _domVerified,+ ("domainName" .=) <$> _domDomainName,+ ("isPrimary" .=) <$> _domIsPrimary])++-- | JSON template for Calendar Resource List Response object in Directory+-- API.+--+-- /See:/ 'calendarResources' smart constructor.+data CalendarResources =+ CalendarResources'+ { _crsEtag :: !(Maybe Text)+ , _crsNextPageToken :: !(Maybe Text)+ , _crsKind :: !Text+ , _crsItems :: !(Maybe [CalendarResource])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CalendarResources' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsEtag'+--+-- * 'crsNextPageToken'+--+-- * 'crsKind'+--+-- * 'crsItems'+calendarResources+ :: CalendarResources+calendarResources =+ CalendarResources'+ { _crsEtag = Nothing+ , _crsNextPageToken = Nothing+ , _crsKind = "admin#directory#resources#calendars#calendarResourcesList"+ , _crsItems = Nothing+ }+++-- | ETag of the resource.+crsEtag :: Lens' CalendarResources (Maybe Text)+crsEtag = lens _crsEtag (\ s a -> s{_crsEtag = a})++-- | The continuation token, used to page through large result sets. Provide+-- this value in a subsequent request to return the next page of results.+crsNextPageToken :: Lens' CalendarResources (Maybe Text)+crsNextPageToken+ = lens _crsNextPageToken+ (\ s a -> s{_crsNextPageToken = a})++-- | Identifies this as a collection of CalendarResources. This is always+-- admin#directory#resources#calendars#calendarResourcesList.+crsKind :: Lens' CalendarResources Text+crsKind = lens _crsKind (\ s a -> s{_crsKind = a})++-- | The CalendarResources in this page of results.+crsItems :: Lens' CalendarResources [CalendarResource]+crsItems+ = lens _crsItems (\ s a -> s{_crsItems = a}) .+ _Default+ . _Coerce++instance FromJSON CalendarResources where+ parseJSON+ = withObject "CalendarResources"+ (\ o ->+ CalendarResources' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "admin#directory#resources#calendars#calendarResourcesList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON CalendarResources where+ toJSON CalendarResources'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _crsEtag,+ ("nextPageToken" .=) <$> _crsNextPageToken,+ Just ("kind" .= _crsKind),+ ("items" .=) <$> _crsItems])++-- | Template for notifications list response.+--+-- /See:/ 'notifications' smart constructor.+data Notifications =+ Notifications'+ { _notEtag :: !(Maybe Text)+ , _notNextPageToken :: !(Maybe Text)+ , _notKind :: !Text+ , _notItems :: !(Maybe [Notification])+ , _notUnreadNotificationsCount :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Notifications' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'notEtag'+--+-- * 'notNextPageToken'+--+-- * 'notKind'+--+-- * 'notItems'+--+-- * 'notUnreadNotificationsCount'+notifications+ :: Notifications+notifications =+ Notifications'+ { _notEtag = Nothing+ , _notNextPageToken = Nothing+ , _notKind = "admin#directory#notifications"+ , _notItems = Nothing+ , _notUnreadNotificationsCount = Nothing+ }+++-- | ETag of the resource.+notEtag :: Lens' Notifications (Maybe Text)+notEtag = lens _notEtag (\ s a -> s{_notEtag = a})++-- | Token for fetching the next page of notifications.+notNextPageToken :: Lens' Notifications (Maybe Text)+notNextPageToken+ = lens _notNextPageToken+ (\ s a -> s{_notNextPageToken = a})++-- | The type of the resource.+notKind :: Lens' Notifications Text+notKind = lens _notKind (\ s a -> s{_notKind = a})++-- | List of notifications in this page.+notItems :: Lens' Notifications [Notification]+notItems+ = lens _notItems (\ s a -> s{_notItems = a}) .+ _Default+ . _Coerce++-- | Number of unread notification for the domain.+notUnreadNotificationsCount :: Lens' Notifications (Maybe Int32)+notUnreadNotificationsCount+ = lens _notUnreadNotificationsCount+ (\ s a -> s{_notUnreadNotificationsCount = a})+ . mapping _Coerce++instance FromJSON Notifications where+ parseJSON+ = withObject "Notifications"+ (\ o ->+ Notifications' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#notifications")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "unreadNotificationsCount"))++instance ToJSON Notifications where+ toJSON Notifications'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _notEtag,+ ("nextPageToken" .=) <$> _notNextPageToken,+ Just ("kind" .= _notKind),+ ("items" .=) <$> _notItems,+ ("unreadNotificationsCount" .=) <$>+ _notUnreadNotificationsCount])++-- | Indexing spec for a numeric field. By default, only exact match queries+-- will be supported for numeric fields. Setting the numericIndexingSpec+-- allows range queries to be supported.+--+-- /See:/ 'schemaFieldSpecNumericIndexingSpec' smart constructor.+data SchemaFieldSpecNumericIndexingSpec =+ SchemaFieldSpecNumericIndexingSpec'+ { _sfsnisMaxValue :: !(Maybe (Textual Double))+ , _sfsnisMinValue :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SchemaFieldSpecNumericIndexingSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfsnisMaxValue'+--+-- * 'sfsnisMinValue'+schemaFieldSpecNumericIndexingSpec+ :: SchemaFieldSpecNumericIndexingSpec+schemaFieldSpecNumericIndexingSpec =+ SchemaFieldSpecNumericIndexingSpec'+ {_sfsnisMaxValue = Nothing, _sfsnisMinValue = Nothing}+++-- | Maximum value of this field. This is meant to be indicative rather than+-- enforced. Values outside this range will still be indexed, but search+-- may not be as performant.+sfsnisMaxValue :: Lens' SchemaFieldSpecNumericIndexingSpec (Maybe Double)+sfsnisMaxValue+ = lens _sfsnisMaxValue+ (\ s a -> s{_sfsnisMaxValue = a})+ . mapping _Coerce++-- | Minimum value of this field. This is meant to be indicative rather than+-- enforced. Values outside this range will still be indexed, but search+-- may not be as performant.+sfsnisMinValue :: Lens' SchemaFieldSpecNumericIndexingSpec (Maybe Double)+sfsnisMinValue+ = lens _sfsnisMinValue+ (\ s a -> s{_sfsnisMinValue = a})+ . mapping _Coerce++instance FromJSON SchemaFieldSpecNumericIndexingSpec+ where+ parseJSON+ = withObject "SchemaFieldSpecNumericIndexingSpec"+ (\ o ->+ SchemaFieldSpecNumericIndexingSpec' <$>+ (o .:? "maxValue") <*> (o .:? "minValue"))++instance ToJSON SchemaFieldSpecNumericIndexingSpec+ where+ toJSON SchemaFieldSpecNumericIndexingSpec'{..}+ = object+ (catMaybes+ [("maxValue" .=) <$> _sfsnisMaxValue,+ ("minValue" .=) <$> _sfsnisMinValue])++-- | JSON request template for firing commands on Mobile Device in Directory+-- Devices API.+--+-- /See:/ 'mobileDeviceAction' smart constructor.+newtype MobileDeviceAction =+ MobileDeviceAction'+ { _mdaAction :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MobileDeviceAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdaAction'+mobileDeviceAction+ :: MobileDeviceAction+mobileDeviceAction = MobileDeviceAction' {_mdaAction = Nothing}+++-- | Action to be taken on the Mobile Device+mdaAction :: Lens' MobileDeviceAction (Maybe Text)+mdaAction+ = lens _mdaAction (\ s a -> s{_mdaAction = a})++instance FromJSON MobileDeviceAction where+ parseJSON+ = withObject "MobileDeviceAction"+ (\ o -> MobileDeviceAction' <$> (o .:? "action"))++instance ToJSON MobileDeviceAction where+ toJSON MobileDeviceAction'{..}+ = object (catMaybes [("action" .=) <$> _mdaAction])++-- | JSON template for FieldSpec resource for Schemas in Directory API.+--+-- /See:/ 'schemaFieldSpec' smart constructor.+data SchemaFieldSpec =+ SchemaFieldSpec'+ { _sfsEtag :: !(Maybe Text)+ , _sfsKind :: !Text+ , _sfsNumericIndexingSpec :: !(Maybe SchemaFieldSpecNumericIndexingSpec)+ , _sfsReadAccessType :: !Text+ , _sfsFieldId :: !(Maybe Text)+ , _sfsIndexed :: !Bool+ , _sfsFieldType :: !(Maybe Text)+ , _sfsFieldName :: !(Maybe Text)+ , _sfsDisplayName :: !(Maybe Text)+ , _sfsMultiValued :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SchemaFieldSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfsEtag'+--+-- * 'sfsKind'+--+-- * 'sfsNumericIndexingSpec'+--+-- * 'sfsReadAccessType'+--+-- * 'sfsFieldId'+--+-- * 'sfsIndexed'+--+-- * 'sfsFieldType'+--+-- * 'sfsFieldName'+--+-- * 'sfsDisplayName'+--+-- * 'sfsMultiValued'+schemaFieldSpec+ :: SchemaFieldSpec+schemaFieldSpec =+ SchemaFieldSpec'+ { _sfsEtag = Nothing+ , _sfsKind = "admin#directory#schema#fieldspec"+ , _sfsNumericIndexingSpec = Nothing+ , _sfsReadAccessType = "ALL_DOMAIN_USERS"+ , _sfsFieldId = Nothing+ , _sfsIndexed = True+ , _sfsFieldType = Nothing+ , _sfsFieldName = Nothing+ , _sfsDisplayName = Nothing+ , _sfsMultiValued = Nothing+ }+++-- | ETag of the resource.+sfsEtag :: Lens' SchemaFieldSpec (Maybe Text)+sfsEtag = lens _sfsEtag (\ s a -> s{_sfsEtag = a})++-- | Kind of resource this is.+sfsKind :: Lens' SchemaFieldSpec Text+sfsKind = lens _sfsKind (\ s a -> s{_sfsKind = a})++-- | Indexing spec for a numeric field. By default, only exact match queries+-- will be supported for numeric fields. Setting the numericIndexingSpec+-- allows range queries to be supported.+sfsNumericIndexingSpec :: Lens' SchemaFieldSpec (Maybe SchemaFieldSpecNumericIndexingSpec)+sfsNumericIndexingSpec+ = lens _sfsNumericIndexingSpec+ (\ s a -> s{_sfsNumericIndexingSpec = a})++-- | Read ACLs on the field specifying who can view values of this field.+-- Valid values are \"ALL_DOMAIN_USERS\" and \"ADMINS_AND_SELF\".+sfsReadAccessType :: Lens' SchemaFieldSpec Text+sfsReadAccessType+ = lens _sfsReadAccessType+ (\ s a -> s{_sfsReadAccessType = a})++-- | Unique identifier of Field (Read-only)+sfsFieldId :: Lens' SchemaFieldSpec (Maybe Text)+sfsFieldId+ = lens _sfsFieldId (\ s a -> s{_sfsFieldId = a})++-- | Boolean specifying whether the field is indexed or not.+sfsIndexed :: Lens' SchemaFieldSpec Bool+sfsIndexed+ = lens _sfsIndexed (\ s a -> s{_sfsIndexed = a})++-- | Type of the field.+sfsFieldType :: Lens' SchemaFieldSpec (Maybe Text)+sfsFieldType+ = lens _sfsFieldType (\ s a -> s{_sfsFieldType = a})++-- | Name of the field.+sfsFieldName :: Lens' SchemaFieldSpec (Maybe Text)+sfsFieldName+ = lens _sfsFieldName (\ s a -> s{_sfsFieldName = a})++-- | Display Name of the field.+sfsDisplayName :: Lens' SchemaFieldSpec (Maybe Text)+sfsDisplayName+ = lens _sfsDisplayName+ (\ s a -> s{_sfsDisplayName = a})++-- | Boolean specifying whether this is a multi-valued field or not.+sfsMultiValued :: Lens' SchemaFieldSpec (Maybe Bool)+sfsMultiValued+ = lens _sfsMultiValued+ (\ s a -> s{_sfsMultiValued = a})++instance FromJSON SchemaFieldSpec where+ parseJSON+ = withObject "SchemaFieldSpec"+ (\ o ->+ SchemaFieldSpec' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#schema#fieldspec")+ <*> (o .:? "numericIndexingSpec")+ <*> (o .:? "readAccessType" .!= "ALL_DOMAIN_USERS")+ <*> (o .:? "fieldId")+ <*> (o .:? "indexed" .!= True)+ <*> (o .:? "fieldType")+ <*> (o .:? "fieldName")+ <*> (o .:? "displayName")+ <*> (o .:? "multiValued"))++instance ToJSON SchemaFieldSpec where+ toJSON SchemaFieldSpec'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _sfsEtag, Just ("kind" .= _sfsKind),+ ("numericIndexingSpec" .=) <$>+ _sfsNumericIndexingSpec,+ Just ("readAccessType" .= _sfsReadAccessType),+ ("fieldId" .=) <$> _sfsFieldId,+ Just ("indexed" .= _sfsIndexed),+ ("fieldType" .=) <$> _sfsFieldType,+ ("fieldName" .=) <$> _sfsFieldName,+ ("displayName" .=) <$> _sfsDisplayName,+ ("multiValued" .=) <$> _sfsMultiValued])++-- | JSON response template for List Chrome OS Devices operation in Directory+-- API.+--+-- /See:/ 'chromeOSDevices' smart constructor.+data ChromeOSDevices =+ ChromeOSDevices'+ { _cosdEtag :: !(Maybe Text)+ , _cosdNextPageToken :: !(Maybe Text)+ , _cosdKind :: !Text+ , _cosdChromeosDevices :: !(Maybe [ChromeOSDevice])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDevices' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cosdEtag'+--+-- * 'cosdNextPageToken'+--+-- * 'cosdKind'+--+-- * 'cosdChromeosDevices'+chromeOSDevices+ :: ChromeOSDevices+chromeOSDevices =+ ChromeOSDevices'+ { _cosdEtag = Nothing+ , _cosdNextPageToken = Nothing+ , _cosdKind = "admin#directory#chromeosdevices"+ , _cosdChromeosDevices = Nothing+ }+++-- | ETag of the resource.+cosdEtag :: Lens' ChromeOSDevices (Maybe Text)+cosdEtag = lens _cosdEtag (\ s a -> s{_cosdEtag = a})++-- | Token used to access next page of this result.+cosdNextPageToken :: Lens' ChromeOSDevices (Maybe Text)+cosdNextPageToken+ = lens _cosdNextPageToken+ (\ s a -> s{_cosdNextPageToken = a})++-- | Kind of resource this is.+cosdKind :: Lens' ChromeOSDevices Text+cosdKind = lens _cosdKind (\ s a -> s{_cosdKind = a})++-- | List of Chrome OS Device objects.+cosdChromeosDevices :: Lens' ChromeOSDevices [ChromeOSDevice]+cosdChromeosDevices+ = lens _cosdChromeosDevices+ (\ s a -> s{_cosdChromeosDevices = a})+ . _Default+ . _Coerce++instance FromJSON ChromeOSDevices where+ parseJSON+ = withObject "ChromeOSDevices"+ (\ o ->+ ChromeOSDevices' <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "admin#directory#chromeosdevices")+ <*> (o .:? "chromeosdevices" .!= mempty))++instance ToJSON ChromeOSDevices where+ toJSON ChromeOSDevices'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _cosdEtag,+ ("nextPageToken" .=) <$> _cosdNextPageToken,+ Just ("kind" .= _cosdKind),+ ("chromeosdevices" .=) <$> _cosdChromeosDevices])++-- | JSON template for Has Member response in Directory API.+--+-- /See:/ 'membersHasMember' smart constructor.+newtype MembersHasMember =+ MembersHasMember'+ { _mhmIsMember :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MembersHasMember' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mhmIsMember'+membersHasMember+ :: MembersHasMember+membersHasMember = MembersHasMember' {_mhmIsMember = Nothing}+++-- | Identifies whether the given user is a member of the group. Membership+-- can be direct or nested.+mhmIsMember :: Lens' MembersHasMember (Maybe Bool)+mhmIsMember+ = lens _mhmIsMember (\ s a -> s{_mhmIsMember = a})++instance FromJSON MembersHasMember where+ parseJSON+ = withObject "MembersHasMember"+ (\ o -> MembersHasMember' <$> (o .:? "isMember"))++instance ToJSON MembersHasMember where+ toJSON MembersHasMember'{..}+ = object+ (catMaybes [("isMember" .=) <$> _mhmIsMember])++-- | JSON template for Trusted App Ids Resource object in Directory API.+--+-- /See:/ 'trustedAppId' smart constructor.+data TrustedAppId =+ TrustedAppId'+ { _taiCertificateHashSHA256 :: !(Maybe Text)+ , _taiEtag :: !(Maybe Text)+ , _taiKind :: !Text+ , _taiCertificateHashSHA1 :: !(Maybe Text)+ , _taiAndroidPackageName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TrustedAppId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'taiCertificateHashSHA256'+--+-- * 'taiEtag'+--+-- * 'taiKind'+--+-- * 'taiCertificateHashSHA1'+--+-- * 'taiAndroidPackageName'+trustedAppId+ :: TrustedAppId+trustedAppId =+ TrustedAppId'+ { _taiCertificateHashSHA256 = Nothing+ , _taiEtag = Nothing+ , _taiKind = "admin#directory#trustedappid"+ , _taiCertificateHashSHA1 = Nothing+ , _taiAndroidPackageName = Nothing+ }+++-- | SHA256 signature of the app certificate.+taiCertificateHashSHA256 :: Lens' TrustedAppId (Maybe Text)+taiCertificateHashSHA256+ = lens _taiCertificateHashSHA256+ (\ s a -> s{_taiCertificateHashSHA256 = a})++taiEtag :: Lens' TrustedAppId (Maybe Text)+taiEtag = lens _taiEtag (\ s a -> s{_taiEtag = a})++-- | Identifies the resource as a trusted AppId.+taiKind :: Lens' TrustedAppId Text+taiKind = lens _taiKind (\ s a -> s{_taiKind = a})++-- | SHA1 signature of the app certificate.+taiCertificateHashSHA1 :: Lens' TrustedAppId (Maybe Text)+taiCertificateHashSHA1+ = lens _taiCertificateHashSHA1+ (\ s a -> s{_taiCertificateHashSHA1 = a})++-- | Android package name.+taiAndroidPackageName :: Lens' TrustedAppId (Maybe Text)+taiAndroidPackageName+ = lens _taiAndroidPackageName+ (\ s a -> s{_taiAndroidPackageName = a})++instance FromJSON TrustedAppId where+ parseJSON+ = withObject "TrustedAppId"+ (\ o ->+ TrustedAppId' <$>+ (o .:? "certificateHashSHA256") <*> (o .:? "etag")+ <*> (o .:? "kind" .!= "admin#directory#trustedappid")+ <*> (o .:? "certificateHashSHA1")+ <*> (o .:? "androidPackageName"))++instance ToJSON TrustedAppId where+ toJSON TrustedAppId'{..}+ = object+ (catMaybes+ [("certificateHashSHA256" .=) <$>+ _taiCertificateHashSHA256,+ ("etag" .=) <$> _taiEtag, Just ("kind" .= _taiKind),+ ("certificateHashSHA1" .=) <$>+ _taiCertificateHashSHA1,+ ("androidPackageName" .=) <$>+ _taiAndroidPackageName])++-- | JSON template for an externalId entry.+--+-- /See:/ 'userExternalId' smart constructor.+data UserExternalId =+ UserExternalId'+ { _ueiValue :: !(Maybe Text)+ , _ueiType :: !(Maybe Text)+ , _ueiCustomType :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserExternalId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ueiValue'+--+-- * 'ueiType'+--+-- * 'ueiCustomType'+userExternalId+ :: UserExternalId+userExternalId =+ UserExternalId'+ {_ueiValue = Nothing, _ueiType = Nothing, _ueiCustomType = Nothing}+++-- | The value of the id.+ueiValue :: Lens' UserExternalId (Maybe Text)+ueiValue = lens _ueiValue (\ s a -> s{_ueiValue = a})++-- | The type of the Id.+ueiType :: Lens' UserExternalId (Maybe Text)+ueiType = lens _ueiType (\ s a -> s{_ueiType = a})++-- | Custom type.+ueiCustomType :: Lens' UserExternalId (Maybe Text)+ueiCustomType+ = lens _ueiCustomType+ (\ s a -> s{_ueiCustomType = a})++instance FromJSON UserExternalId where+ parseJSON+ = withObject "UserExternalId"+ (\ o ->+ UserExternalId' <$>+ (o .:? "value") <*> (o .:? "type") <*>+ (o .:? "customType"))++instance ToJSON UserExternalId where+ toJSON UserExternalId'{..}+ = object+ (catMaybes+ [("value" .=) <$> _ueiValue,+ ("type" .=) <$> _ueiType,+ ("customType" .=) <$> _ueiCustomType])++--+-- /See:/ 'asps' smart constructor.+data Asps =+ Asps'+ { _aspEtag :: !(Maybe Text)+ , _aspKind :: !Text+ , _aspItems :: !(Maybe [Asp])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Asps' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aspEtag'+--+-- * 'aspKind'+--+-- * 'aspItems'+asps+ :: Asps+asps =+ Asps'+ { _aspEtag = Nothing+ , _aspKind = "admin#directory#aspList"+ , _aspItems = Nothing+ }+++-- | ETag of the resource.+aspEtag :: Lens' Asps (Maybe Text)+aspEtag = lens _aspEtag (\ s a -> s{_aspEtag = a})++-- | The type of the API resource. This is always admin#directory#aspList.+aspKind :: Lens' Asps Text+aspKind = lens _aspKind (\ s a -> s{_aspKind = a})++-- | A list of ASP resources.+aspItems :: Lens' Asps [Asp]+aspItems+ = lens _aspItems (\ s a -> s{_aspItems = a}) .+ _Default+ . _Coerce++instance FromJSON Asps where+ parseJSON+ = withObject "Asps"+ (\ o ->+ Asps' <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "admin#directory#aspList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Asps where+ toJSON Asps'{..}+ = object+ (catMaybes+ [("etag" .=) <$> _aspEtag, Just ("kind" .= _aspKind),+ ("items" .=) <$> _aspItems])++--+-- /See:/ 'chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem' smart constructor.+data ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem =+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'+ { _codcsrictiiTemperature :: !(Maybe (Textual Int32))+ , _codcsrictiiLabel :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'codcsrictiiTemperature'+--+-- * 'codcsrictiiLabel'+chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem+ :: ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem+chromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem =+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'+ {_codcsrictiiTemperature = Nothing, _codcsrictiiLabel = Nothing}+++-- | Temperature in Celsius degrees.+codcsrictiiTemperature :: Lens' ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem (Maybe Int32)+codcsrictiiTemperature+ = lens _codcsrictiiTemperature+ (\ s a -> s{_codcsrictiiTemperature = a})+ . mapping _Coerce++-- | CPU label+codcsrictiiLabel :: Lens' ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem (Maybe Text)+codcsrictiiLabel+ = lens _codcsrictiiLabel+ (\ s a -> s{_codcsrictiiLabel = a})++instance FromJSON+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem+ where+ parseJSON+ = withObject+ "ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem"+ (\ o ->+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'+ <$> (o .:? "temperature") <*> (o .:? "label"))++instance ToJSON+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem+ where+ toJSON+ ChromeOSDeviceCPUStatusReportsItemCPUTemperatureInfoItem'{..}+ = object+ (catMaybes+ [("temperature" .=) <$> _codcsrictiiTemperature,+ ("label" .=) <$> _codcsrictiiLabel])++--+-- /See:/ 'roleRolePrivilegesItem' smart constructor.+data RoleRolePrivilegesItem =+ RoleRolePrivilegesItem'+ { _rrpiServiceId :: !(Maybe Text)+ , _rrpiPrivilegeName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RoleRolePrivilegesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrpiServiceId'+--+-- * 'rrpiPrivilegeName'+roleRolePrivilegesItem+ :: RoleRolePrivilegesItem+roleRolePrivilegesItem =+ RoleRolePrivilegesItem'+ {_rrpiServiceId = Nothing, _rrpiPrivilegeName = Nothing}+++-- | The obfuscated ID of the service this privilege is for.+rrpiServiceId :: Lens' RoleRolePrivilegesItem (Maybe Text)+rrpiServiceId+ = lens _rrpiServiceId+ (\ s a -> s{_rrpiServiceId = a})++-- | The name of the privilege.+rrpiPrivilegeName :: Lens' RoleRolePrivilegesItem (Maybe Text)+rrpiPrivilegeName+ = lens _rrpiPrivilegeName+ (\ s a -> s{_rrpiPrivilegeName = a})++instance FromJSON RoleRolePrivilegesItem where+ parseJSON+ = withObject "RoleRolePrivilegesItem"+ (\ o ->+ RoleRolePrivilegesItem' <$>+ (o .:? "serviceId") <*> (o .:? "privilegeName"))++instance ToJSON RoleRolePrivilegesItem where+ toJSON RoleRolePrivilegesItem'{..}+ = object+ (catMaybes+ [("serviceId" .=) <$> _rrpiServiceId,+ ("privilegeName" .=) <$> _rrpiPrivilegeName])++-- | JSON response template to list Domains in Directory API.+--+-- /See:/ 'domains2' smart constructor.+data Domains2 =+ Domains2'+ { _ddEtag :: !(Maybe Text)+ , _ddKind :: !Text+ , _ddDomains :: !(Maybe [Domains])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Domains2' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddEtag'+--+-- * 'ddKind'+--+-- * 'ddDomains'+domains2+ :: Domains2+domains2 =+ Domains2'+ { _ddEtag = Nothing+ , _ddKind = "admin#directory#domains"+ , _ddDomains = Nothing+ }+ -- | ETag of the resource. ddEtag :: Lens' Domains2 (Maybe Text)
gen/Network/Google/Directory/Types/Sum.hs view
@@ -370,6 +370,42 @@ instance ToJSON GroupsListOrderBy where toJSON = toJSONText +-- | Source from which Building.coordinates are derived.+data ResourcesBuildingsPatchCoordinatesSource+ = ClientSpecified+ -- ^ @CLIENT_SPECIFIED@+ -- Building.coordinates are set to the coordinates included in the request.+ | ResolvedFromAddress+ -- ^ @RESOLVED_FROM_ADDRESS@+ -- Building.coordinates are automatically populated based on the postal+ -- address.+ | SourceUnspecified+ -- ^ @SOURCE_UNSPECIFIED@+ -- Defaults to RESOLVED_FROM_ADDRESS if postal address is provided.+ -- Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ResourcesBuildingsPatchCoordinatesSource++instance FromHttpApiData ResourcesBuildingsPatchCoordinatesSource where+ parseQueryParam = \case+ "CLIENT_SPECIFIED" -> Right ClientSpecified+ "RESOLVED_FROM_ADDRESS" -> Right ResolvedFromAddress+ "SOURCE_UNSPECIFIED" -> Right SourceUnspecified+ x -> Left ("Unable to parse ResourcesBuildingsPatchCoordinatesSource from: " <> x)++instance ToHttpApiData ResourcesBuildingsPatchCoordinatesSource where+ toQueryParam = \case+ ClientSpecified -> "CLIENT_SPECIFIED"+ ResolvedFromAddress -> "RESOLVED_FROM_ADDRESS"+ SourceUnspecified -> "SOURCE_UNSPECIFIED"++instance FromJSON ResourcesBuildingsPatchCoordinatesSource where+ parseJSON = parseJSONText "ResourcesBuildingsPatchCoordinatesSource"++instance ToJSON ResourcesBuildingsPatchCoordinatesSource where+ toJSON = toJSONText+ -- | Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. data UsersWatchViewType = UWVTAdminView@@ -433,6 +469,42 @@ instance ToJSON UsersGetProjection where toJSON = toJSONText +-- | Source from which Building.coordinates are derived.+data ResourcesBuildingsUpdateCoordinatesSource+ = RBUCSClientSpecified+ -- ^ @CLIENT_SPECIFIED@+ -- Building.coordinates are set to the coordinates included in the request.+ | RBUCSResolvedFromAddress+ -- ^ @RESOLVED_FROM_ADDRESS@+ -- Building.coordinates are automatically populated based on the postal+ -- address.+ | RBUCSSourceUnspecified+ -- ^ @SOURCE_UNSPECIFIED@+ -- Defaults to RESOLVED_FROM_ADDRESS if postal address is provided.+ -- Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ResourcesBuildingsUpdateCoordinatesSource++instance FromHttpApiData ResourcesBuildingsUpdateCoordinatesSource where+ parseQueryParam = \case+ "CLIENT_SPECIFIED" -> Right RBUCSClientSpecified+ "RESOLVED_FROM_ADDRESS" -> Right RBUCSResolvedFromAddress+ "SOURCE_UNSPECIFIED" -> Right RBUCSSourceUnspecified+ x -> Left ("Unable to parse ResourcesBuildingsUpdateCoordinatesSource from: " <> x)++instance ToHttpApiData ResourcesBuildingsUpdateCoordinatesSource where+ toQueryParam = \case+ RBUCSClientSpecified -> "CLIENT_SPECIFIED"+ RBUCSResolvedFromAddress -> "RESOLVED_FROM_ADDRESS"+ RBUCSSourceUnspecified -> "SOURCE_UNSPECIFIED"++instance FromJSON ResourcesBuildingsUpdateCoordinatesSource where+ parseJSON = parseJSONText "ResourcesBuildingsUpdateCoordinatesSource"++instance ToJSON ResourcesBuildingsUpdateCoordinatesSource where+ toJSON = toJSONText+ -- | Restrict information returned to a set of selected fields. data MobileDevicesListProjection = MDLPBasic@@ -549,6 +621,42 @@ parseJSON = parseJSONText "UsersListSortOrder" instance ToJSON UsersListSortOrder where+ toJSON = toJSONText++-- | Source from which Building.coordinates are derived.+data ResourcesBuildingsInsertCoordinatesSource+ = RBICSClientSpecified+ -- ^ @CLIENT_SPECIFIED@+ -- Building.coordinates are set to the coordinates included in the request.+ | RBICSResolvedFromAddress+ -- ^ @RESOLVED_FROM_ADDRESS@+ -- Building.coordinates are automatically populated based on the postal+ -- address.+ | RBICSSourceUnspecified+ -- ^ @SOURCE_UNSPECIFIED@+ -- Defaults to RESOLVED_FROM_ADDRESS if postal address is provided.+ -- Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ResourcesBuildingsInsertCoordinatesSource++instance FromHttpApiData ResourcesBuildingsInsertCoordinatesSource where+ parseQueryParam = \case+ "CLIENT_SPECIFIED" -> Right RBICSClientSpecified+ "RESOLVED_FROM_ADDRESS" -> Right RBICSResolvedFromAddress+ "SOURCE_UNSPECIFIED" -> Right RBICSSourceUnspecified+ x -> Left ("Unable to parse ResourcesBuildingsInsertCoordinatesSource from: " <> x)++instance ToHttpApiData ResourcesBuildingsInsertCoordinatesSource where+ toQueryParam = \case+ RBICSClientSpecified -> "CLIENT_SPECIFIED"+ RBICSResolvedFromAddress -> "RESOLVED_FROM_ADDRESS"+ RBICSSourceUnspecified -> "SOURCE_UNSPECIFIED"++instance FromJSON ResourcesBuildingsInsertCoordinatesSource where+ parseJSON = parseJSONText "ResourcesBuildingsInsertCoordinatesSource"++instance ToJSON ResourcesBuildingsInsertCoordinatesSource where toJSON = toJSONText -- | Whether to return results in ascending or descending order. Only of use
gen/Network/Google/Resource/Admin/Channels/Stop.hs view
@@ -55,10 +55,13 @@ -- | Stop watching resources through this channel -- -- /See:/ 'channelsStop' smart constructor.-newtype ChannelsStop = ChannelsStop'+newtype ChannelsStop =+ ChannelsStop' { _csPayload :: Channel- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChannelsStop' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,10 +70,8 @@ channelsStop :: Channel -- ^ 'csPayload' -> ChannelsStop-channelsStop pCsPayload_ =- ChannelsStop'- { _csPayload = pCsPayload_- }+channelsStop pCsPayload_ = ChannelsStop' {_csPayload = pCsPayload_}+ -- | Multipart request metadata. csPayload :: Lens' ChannelsStop Channel
gen/Network/Google/Resource/Directory/Asps/Delete.hs view
@@ -55,11 +55,14 @@ -- | Delete an ASP issued by a user. -- -- /See:/ 'aspsDelete' smart constructor.-data AspsDelete = AspsDelete'+data AspsDelete =+ AspsDelete' { _adCodeId :: !(Textual Int32) , _adUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'AspsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'adUserKey' -> AspsDelete aspsDelete pAdCodeId_ pAdUserKey_ =- AspsDelete'- { _adCodeId = _Coerce # pAdCodeId_- , _adUserKey = pAdUserKey_- }+ AspsDelete' {_adCodeId = _Coerce # pAdCodeId_, _adUserKey = pAdUserKey_}+ -- | The unique ID of the ASP to be deleted. adCodeId :: Lens' AspsDelete Int32
gen/Network/Google/Resource/Directory/Asps/Get.hs view
@@ -55,11 +55,14 @@ -- | Get information about an ASP issued by a user. -- -- /See:/ 'aspsGet' smart constructor.-data AspsGet = AspsGet'+data AspsGet =+ AspsGet' { _agCodeId :: !(Textual Int32) , _agUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'AspsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'agUserKey' -> AspsGet aspsGet pAgCodeId_ pAgUserKey_ =- AspsGet'- { _agCodeId = _Coerce # pAgCodeId_- , _agUserKey = pAgUserKey_- }+ AspsGet' {_agCodeId = _Coerce # pAgCodeId_, _agUserKey = pAgUserKey_}+ -- | The unique ID of the ASP. agCodeId :: Lens' AspsGet Int32
gen/Network/Google/Resource/Directory/Asps/List.hs view
@@ -53,10 +53,13 @@ -- | List the ASPs issued by a user. -- -- /See:/ 'aspsList' smart constructor.-newtype AspsList = AspsList'+newtype AspsList =+ AspsList' { _alUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'AspsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,10 +68,8 @@ aspsList :: Text -- ^ 'alUserKey' -> AspsList-aspsList pAlUserKey_ =- AspsList'- { _alUserKey = pAlUserKey_- }+aspsList pAlUserKey_ = AspsList' {_alUserKey = pAlUserKey_}+ -- | Identifies the user in the API request. The value can be the user\'s -- primary email address, alias email address, or unique user ID.
gen/Network/Google/Resource/Directory/ChromeosDevices/Action.hs view
@@ -60,12 +60,15 @@ -- | Take action on Chrome OS Device -- -- /See:/ 'chromeosDevicesAction' smart constructor.-data ChromeosDevicesAction = ChromeosDevicesAction'+data ChromeosDevicesAction =+ ChromeosDevicesAction' { _cdaResourceId :: !Text , _cdaPayload :: !ChromeOSDeviceAction , _cdaCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesAction' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -81,11 +84,12 @@ -> Text -- ^ 'cdaCustomerId' -> ChromeosDevicesAction chromeosDevicesAction pCdaResourceId_ pCdaPayload_ pCdaCustomerId_ =- ChromeosDevicesAction'+ ChromeosDevicesAction' { _cdaResourceId = pCdaResourceId_ , _cdaPayload = pCdaPayload_ , _cdaCustomerId = pCdaCustomerId_ }+ -- | Immutable ID of Chrome OS Device cdaResourceId :: Lens' ChromeosDevicesAction Text
gen/Network/Google/Resource/Directory/ChromeosDevices/Get.hs view
@@ -60,12 +60,15 @@ -- | Retrieve Chrome OS Device -- -- /See:/ 'chromeosDevicesGet' smart constructor.-data ChromeosDevicesGet = ChromeosDevicesGet'+data ChromeosDevicesGet =+ ChromeosDevicesGet' { _cdgCustomerId :: !Text , _cdgDeviceId :: !Text , _cdgProjection :: !(Maybe ChromeosDevicesGetProjection)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -80,11 +83,12 @@ -> Text -- ^ 'cdgDeviceId' -> ChromeosDevicesGet chromeosDevicesGet pCdgCustomerId_ pCdgDeviceId_ =- ChromeosDevicesGet'+ ChromeosDevicesGet' { _cdgCustomerId = pCdgCustomerId_ , _cdgDeviceId = pCdgDeviceId_ , _cdgProjection = Nothing }+ -- | Immutable ID of the G Suite account cdgCustomerId :: Lens' ChromeosDevicesGet Text
gen/Network/Google/Resource/Directory/ChromeosDevices/List.hs view
@@ -71,7 +71,8 @@ -- | Retrieve all Chrome OS Devices of a customer (paginated) -- -- /See:/ 'chromeosDevicesList' smart constructor.-data ChromeosDevicesList = ChromeosDevicesList'+data ChromeosDevicesList =+ ChromeosDevicesList' { _cdlOrderBy :: !(Maybe ChromeosDevicesListOrderBy) , _cdlOrgUnitPath :: !(Maybe Text) , _cdlCustomerId :: !Text@@ -80,8 +81,10 @@ , _cdlProjection :: !(Maybe ChromeosDevicesListProjection) , _cdlPageToken :: !(Maybe Text) , _cdlMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -105,7 +108,7 @@ :: Text -- ^ 'cdlCustomerId' -> ChromeosDevicesList chromeosDevicesList pCdlCustomerId_ =- ChromeosDevicesList'+ ChromeosDevicesList' { _cdlOrderBy = Nothing , _cdlOrgUnitPath = Nothing , _cdlCustomerId = pCdlCustomerId_@@ -115,6 +118,7 @@ , _cdlPageToken = Nothing , _cdlMaxResults = Nothing }+ -- | Column to use for sorting results cdlOrderBy :: Lens' ChromeosDevicesList (Maybe ChromeosDevicesListOrderBy)
gen/Network/Google/Resource/Directory/ChromeosDevices/MoveDevicesToOu.hs view
@@ -60,12 +60,15 @@ -- | Move or insert multiple Chrome OS Devices to organizational unit -- -- /See:/ 'chromeosDevicesMoveDevicesToOu' smart constructor.-data ChromeosDevicesMoveDevicesToOu = ChromeosDevicesMoveDevicesToOu'+data ChromeosDevicesMoveDevicesToOu =+ ChromeosDevicesMoveDevicesToOu' { _cdmdtoPayload :: !ChromeOSMoveDevicesToOu , _cdmdtoOrgUnitPath :: !Text , _cdmdtoCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesMoveDevicesToOu' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -81,11 +84,12 @@ -> Text -- ^ 'cdmdtoCustomerId' -> ChromeosDevicesMoveDevicesToOu chromeosDevicesMoveDevicesToOu pCdmdtoPayload_ pCdmdtoOrgUnitPath_ pCdmdtoCustomerId_ =- ChromeosDevicesMoveDevicesToOu'+ ChromeosDevicesMoveDevicesToOu' { _cdmdtoPayload = pCdmdtoPayload_ , _cdmdtoOrgUnitPath = pCdmdtoOrgUnitPath_ , _cdmdtoCustomerId = pCdmdtoCustomerId_ }+ -- | Multipart request metadata. cdmdtoPayload :: Lens' ChromeosDevicesMoveDevicesToOu ChromeOSMoveDevicesToOu
gen/Network/Google/Resource/Directory/ChromeosDevices/Patch.hs view
@@ -63,13 +63,16 @@ -- | Update Chrome OS Device. This method supports patch semantics. -- -- /See:/ 'chromeosDevicesPatch' smart constructor.-data ChromeosDevicesPatch = ChromeosDevicesPatch'+data ChromeosDevicesPatch =+ ChromeosDevicesPatch' { _cdpPayload :: !ChromeOSDevice , _cdpCustomerId :: !Text , _cdpDeviceId :: !Text , _cdpProjection :: !(Maybe ChromeosDevicesPatchProjection)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -87,12 +90,13 @@ -> Text -- ^ 'cdpDeviceId' -> ChromeosDevicesPatch chromeosDevicesPatch pCdpPayload_ pCdpCustomerId_ pCdpDeviceId_ =- ChromeosDevicesPatch'+ ChromeosDevicesPatch' { _cdpPayload = pCdpPayload_ , _cdpCustomerId = pCdpCustomerId_ , _cdpDeviceId = pCdpDeviceId_ , _cdpProjection = Nothing }+ -- | Multipart request metadata. cdpPayload :: Lens' ChromeosDevicesPatch ChromeOSDevice
gen/Network/Google/Resource/Directory/ChromeosDevices/Update.hs view
@@ -63,13 +63,16 @@ -- | Update Chrome OS Device -- -- /See:/ 'chromeosDevicesUpdate' smart constructor.-data ChromeosDevicesUpdate = ChromeosDevicesUpdate'+data ChromeosDevicesUpdate =+ ChromeosDevicesUpdate' { _cduPayload :: !ChromeOSDevice , _cduCustomerId :: !Text , _cduDeviceId :: !Text , _cduProjection :: !(Maybe ChromeosDevicesUpdateProjection)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChromeosDevicesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -87,12 +90,13 @@ -> Text -- ^ 'cduDeviceId' -> ChromeosDevicesUpdate chromeosDevicesUpdate pCduPayload_ pCduCustomerId_ pCduDeviceId_ =- ChromeosDevicesUpdate'+ ChromeosDevicesUpdate' { _cduPayload = pCduPayload_ , _cduCustomerId = pCduCustomerId_ , _cduDeviceId = pCduDeviceId_ , _cduProjection = Nothing }+ -- | Multipart request metadata. cduPayload :: Lens' ChromeosDevicesUpdate ChromeOSDevice
gen/Network/Google/Resource/Directory/Customers/Get.hs view
@@ -52,10 +52,13 @@ -- | Retrieves a customer. -- -- /See:/ 'customersGet' smart constructor.-newtype CustomersGet = CustomersGet'+newtype CustomersGet =+ CustomersGet' { _cgCustomerKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CustomersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ customersGet :: Text -- ^ 'cgCustomerKey' -> CustomersGet-customersGet pCgCustomerKey_ =- CustomersGet'- { _cgCustomerKey = pCgCustomerKey_- }+customersGet pCgCustomerKey_ = CustomersGet' {_cgCustomerKey = pCgCustomerKey_}+ -- | Id of the customer to be retrieved cgCustomerKey :: Lens' CustomersGet Text
gen/Network/Google/Resource/Directory/Customers/Patch.hs view
@@ -54,11 +54,14 @@ -- | Updates a customer. This method supports patch semantics. -- -- /See:/ 'customersPatch' smart constructor.-data CustomersPatch = CustomersPatch'+data CustomersPatch =+ CustomersPatch' { _cpCustomerKey :: !Text , _cpPayload :: !Customer- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CustomersPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Customer -- ^ 'cpPayload' -> CustomersPatch customersPatch pCpCustomerKey_ pCpPayload_ =- CustomersPatch'- { _cpCustomerKey = pCpCustomerKey_- , _cpPayload = pCpPayload_- }+ CustomersPatch' {_cpCustomerKey = pCpCustomerKey_, _cpPayload = pCpPayload_}+ -- | Id of the customer to be updated cpCustomerKey :: Lens' CustomersPatch Text
gen/Network/Google/Resource/Directory/Customers/Update.hs view
@@ -54,11 +54,14 @@ -- | Updates a customer. -- -- /See:/ 'customersUpdate' smart constructor.-data CustomersUpdate = CustomersUpdate'+data CustomersUpdate =+ CustomersUpdate' { _cuCustomerKey :: !Text , _cuPayload :: !Customer- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CustomersUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Customer -- ^ 'cuPayload' -> CustomersUpdate customersUpdate pCuCustomerKey_ pCuPayload_ =- CustomersUpdate'- { _cuCustomerKey = pCuCustomerKey_- , _cuPayload = pCuPayload_- }+ CustomersUpdate' {_cuCustomerKey = pCuCustomerKey_, _cuPayload = pCuPayload_}+ -- | Id of the customer to be updated cuCustomerKey :: Lens' CustomersUpdate Text
gen/Network/Google/Resource/Directory/DomainAliases/Delete.hs view
@@ -55,11 +55,14 @@ -- | Deletes a Domain Alias of the customer. -- -- /See:/ 'domainAliasesDelete' smart constructor.-data DomainAliasesDelete = DomainAliasesDelete'+data DomainAliasesDelete =+ DomainAliasesDelete' { _dadDomainAliasName :: !Text , _dadCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainAliasesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Text -- ^ 'dadCustomer' -> DomainAliasesDelete domainAliasesDelete pDadDomainAliasName_ pDadCustomer_ =- DomainAliasesDelete'- { _dadDomainAliasName = pDadDomainAliasName_- , _dadCustomer = pDadCustomer_- }+ DomainAliasesDelete'+ {_dadDomainAliasName = pDadDomainAliasName_, _dadCustomer = pDadCustomer_}+ -- | Name of domain alias to be retrieved. dadDomainAliasName :: Lens' DomainAliasesDelete Text
gen/Network/Google/Resource/Directory/DomainAliases/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieves a domain alias of the customer. -- -- /See:/ 'domainAliasesGet' smart constructor.-data DomainAliasesGet = DomainAliasesGet'+data DomainAliasesGet =+ DomainAliasesGet' { _dagDomainAliasName :: !Text , _dagCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainAliasesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Text -- ^ 'dagCustomer' -> DomainAliasesGet domainAliasesGet pDagDomainAliasName_ pDagCustomer_ =- DomainAliasesGet'- { _dagDomainAliasName = pDagDomainAliasName_- , _dagCustomer = pDagCustomer_- }+ DomainAliasesGet'+ {_dagDomainAliasName = pDagDomainAliasName_, _dagCustomer = pDagCustomer_}+ -- | Name of domain alias to be retrieved. dagDomainAliasName :: Lens' DomainAliasesGet Text
gen/Network/Google/Resource/Directory/DomainAliases/Insert.hs view
@@ -56,11 +56,14 @@ -- | Inserts a Domain alias of the customer. -- -- /See:/ 'domainAliasesInsert' smart constructor.-data DomainAliasesInsert = DomainAliasesInsert'+data DomainAliasesInsert =+ DomainAliasesInsert' { _daiPayload :: !DomainAlias , _daiCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainAliasesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'daiCustomer' -> DomainAliasesInsert domainAliasesInsert pDaiPayload_ pDaiCustomer_ =- DomainAliasesInsert'- { _daiPayload = pDaiPayload_- , _daiCustomer = pDaiCustomer_- }+ DomainAliasesInsert'+ {_daiPayload = pDaiPayload_, _daiCustomer = pDaiCustomer_}+ -- | Multipart request metadata. daiPayload :: Lens' DomainAliasesInsert DomainAlias
gen/Network/Google/Resource/Directory/DomainAliases/List.hs view
@@ -55,11 +55,14 @@ -- | Lists the domain aliases of the customer. -- -- /See:/ 'domainAliasesList' smart constructor.-data DomainAliasesList = DomainAliasesList'+data DomainAliasesList =+ DomainAliasesList' { _dalCustomer :: !Text , _dalParentDomainName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainAliasesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,9 @@ :: Text -- ^ 'dalCustomer' -> DomainAliasesList domainAliasesList pDalCustomer_ =- DomainAliasesList'- { _dalCustomer = pDalCustomer_- , _dalParentDomainName = Nothing- }+ DomainAliasesList'+ {_dalCustomer = pDalCustomer_, _dalParentDomainName = Nothing}+ -- | Immutable ID of the G Suite account. dalCustomer :: Lens' DomainAliasesList Text
gen/Network/Google/Resource/Directory/Domains/Delete.hs view
@@ -55,11 +55,14 @@ -- | Deletes a domain of the customer. -- -- /See:/ 'domainsDelete' smart constructor.-data DomainsDelete = DomainsDelete'+data DomainsDelete =+ DomainsDelete' { _ddCustomer :: !Text , _ddDomainName :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'ddDomainName' -> DomainsDelete domainsDelete pDdCustomer_ pDdDomainName_ =- DomainsDelete'- { _ddCustomer = pDdCustomer_- , _ddDomainName = pDdDomainName_- }+ DomainsDelete' {_ddCustomer = pDdCustomer_, _ddDomainName = pDdDomainName_}+ -- | Immutable ID of the G Suite account. ddCustomer :: Lens' DomainsDelete Text
gen/Network/Google/Resource/Directory/Domains/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieves a domain of the customer. -- -- /See:/ 'domainsGet' smart constructor.-data DomainsGet = DomainsGet'+data DomainsGet =+ DomainsGet' { _dgCustomer :: !Text , _dgDomainName :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'dgDomainName' -> DomainsGet domainsGet pDgCustomer_ pDgDomainName_ =- DomainsGet'- { _dgCustomer = pDgCustomer_- , _dgDomainName = pDgDomainName_- }+ DomainsGet' {_dgCustomer = pDgCustomer_, _dgDomainName = pDgDomainName_}+ -- | Immutable ID of the G Suite account. dgCustomer :: Lens' DomainsGet Text
gen/Network/Google/Resource/Directory/Domains/Insert.hs view
@@ -55,11 +55,14 @@ -- | Inserts a domain of the customer. -- -- /See:/ 'domainsInsert' smart constructor.-data DomainsInsert = DomainsInsert'+data DomainsInsert =+ DomainsInsert' { _diPayload :: !Domains , _diCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'diCustomer' -> DomainsInsert domainsInsert pDiPayload_ pDiCustomer_ =- DomainsInsert'- { _diPayload = pDiPayload_- , _diCustomer = pDiCustomer_- }+ DomainsInsert' {_diPayload = pDiPayload_, _diCustomer = pDiCustomer_}+ -- | Multipart request metadata. diPayload :: Lens' DomainsInsert Domains
gen/Network/Google/Resource/Directory/Domains/List.hs view
@@ -53,10 +53,13 @@ -- | Lists the domains of the customer. -- -- /See:/ 'domainsList' smart constructor.-newtype DomainsList = DomainsList'+newtype DomainsList =+ DomainsList' { _dlCustomer :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DomainsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,10 +68,8 @@ domainsList :: Text -- ^ 'dlCustomer' -> DomainsList-domainsList pDlCustomer_ =- DomainsList'- { _dlCustomer = pDlCustomer_- }+domainsList pDlCustomer_ = DomainsList' {_dlCustomer = pDlCustomer_}+ -- | Immutable ID of the G Suite account. dlCustomer :: Lens' DomainsList Text
gen/Network/Google/Resource/Directory/Groups/Aliases/Delete.hs view
@@ -55,11 +55,14 @@ -- | Remove a alias for the group -- -- /See:/ 'groupsAliasesDelete' smart constructor.-data GroupsAliasesDelete = GroupsAliasesDelete'+data GroupsAliasesDelete =+ GroupsAliasesDelete' { _gadGroupKey :: !Text , _gadAlias :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsAliasesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'gadAlias' -> GroupsAliasesDelete groupsAliasesDelete pGadGroupKey_ pGadAlias_ =- GroupsAliasesDelete'- { _gadGroupKey = pGadGroupKey_- , _gadAlias = pGadAlias_- }+ GroupsAliasesDelete' {_gadGroupKey = pGadGroupKey_, _gadAlias = pGadAlias_}+ -- | Email or immutable ID of the group gadGroupKey :: Lens' GroupsAliasesDelete Text
gen/Network/Google/Resource/Directory/Groups/Aliases/Insert.hs view
@@ -55,11 +55,14 @@ -- | Add a alias for the group -- -- /See:/ 'groupsAliasesInsert' smart constructor.-data GroupsAliasesInsert = GroupsAliasesInsert'+data GroupsAliasesInsert =+ GroupsAliasesInsert' { _gaiGroupKey :: !Text , _gaiPayload :: !Alias- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsAliasesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Alias -- ^ 'gaiPayload' -> GroupsAliasesInsert groupsAliasesInsert pGaiGroupKey_ pGaiPayload_ =- GroupsAliasesInsert'- { _gaiGroupKey = pGaiGroupKey_- , _gaiPayload = pGaiPayload_- }+ GroupsAliasesInsert'+ {_gaiGroupKey = pGaiGroupKey_, _gaiPayload = pGaiPayload_}+ -- | Email or immutable ID of the group gaiGroupKey :: Lens' GroupsAliasesInsert Text
gen/Network/Google/Resource/Directory/Groups/Aliases/List.hs view
@@ -53,10 +53,13 @@ -- | List all aliases for a group -- -- /See:/ 'groupsAliasesList' smart constructor.-newtype GroupsAliasesList = GroupsAliasesList'+newtype GroupsAliasesList =+ GroupsAliasesList' { _galGroupKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsAliasesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,9 +69,8 @@ :: Text -- ^ 'galGroupKey' -> GroupsAliasesList groupsAliasesList pGalGroupKey_ =- GroupsAliasesList'- { _galGroupKey = pGalGroupKey_- }+ GroupsAliasesList' {_galGroupKey = pGalGroupKey_}+ -- | Email or immutable ID of the group galGroupKey :: Lens' GroupsAliasesList Text
gen/Network/Google/Resource/Directory/Groups/Delete.hs view
@@ -52,10 +52,13 @@ -- | Delete Group -- -- /See:/ 'groupsDelete' smart constructor.-newtype GroupsDelete = GroupsDelete'+newtype GroupsDelete =+ GroupsDelete' { _gdGroupKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ groupsDelete :: Text -- ^ 'gdGroupKey' -> GroupsDelete-groupsDelete pGdGroupKey_ =- GroupsDelete'- { _gdGroupKey = pGdGroupKey_- }+groupsDelete pGdGroupKey_ = GroupsDelete' {_gdGroupKey = pGdGroupKey_}+ -- | Email or immutable ID of the group gdGroupKey :: Lens' GroupsDelete Text
gen/Network/Google/Resource/Directory/Groups/Get.hs view
@@ -52,10 +52,13 @@ -- | Retrieve Group -- -- /See:/ 'groupsGet' smart constructor.-newtype GroupsGet = GroupsGet'+newtype GroupsGet =+ GroupsGet' { _ggGroupKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ groupsGet :: Text -- ^ 'ggGroupKey' -> GroupsGet-groupsGet pGgGroupKey_ =- GroupsGet'- { _ggGroupKey = pGgGroupKey_- }+groupsGet pGgGroupKey_ = GroupsGet' {_ggGroupKey = pGgGroupKey_}+ -- | Email or immutable ID of the group ggGroupKey :: Lens' GroupsGet Text
gen/Network/Google/Resource/Directory/Groups/Insert.hs view
@@ -52,10 +52,13 @@ -- | Create Group -- -- /See:/ 'groupsInsert' smart constructor.-newtype GroupsInsert = GroupsInsert'+newtype GroupsInsert =+ GroupsInsert' { _giPayload :: Group- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ groupsInsert :: Group -- ^ 'giPayload' -> GroupsInsert-groupsInsert pGiPayload_ =- GroupsInsert'- { _giPayload = pGiPayload_- }+groupsInsert pGiPayload_ = GroupsInsert' {_giPayload = pGiPayload_}+ -- | Multipart request metadata. giPayload :: Lens' GroupsInsert Group
gen/Network/Google/Resource/Directory/Groups/List.hs view
@@ -66,7 +66,8 @@ -- | Retrieve all groups of a domain or of a user given a userKey (paginated) -- -- /See:/ 'groupsList' smart constructor.-data GroupsList = GroupsList'+data GroupsList =+ GroupsList' { _glOrderBy :: !(Maybe GroupsListOrderBy) , _glDomain :: !(Maybe Text) , _glSortOrder :: !(Maybe GroupsListSortOrder)@@ -75,8 +76,10 @@ , _glPageToken :: !(Maybe Text) , _glUserKey :: !(Maybe Text) , _glMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@ groupsList :: GroupsList groupsList =- GroupsList'+ GroupsList' { _glOrderBy = Nothing , _glDomain = Nothing , _glSortOrder = Nothing@@ -109,6 +112,7 @@ , _glUserKey = Nothing , _glMaxResults = Nothing }+ -- | Column to use for sorting results glOrderBy :: Lens' GroupsList (Maybe GroupsListOrderBy)
gen/Network/Google/Resource/Directory/Groups/Patch.hs view
@@ -54,11 +54,14 @@ -- | Update Group. This method supports patch semantics. -- -- /See:/ 'groupsPatch' smart constructor.-data GroupsPatch = GroupsPatch'+data GroupsPatch =+ GroupsPatch' { _gpGroupKey :: !Text , _gpPayload :: !Group- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Group -- ^ 'gpPayload' -> GroupsPatch groupsPatch pGpGroupKey_ pGpPayload_ =- GroupsPatch'- { _gpGroupKey = pGpGroupKey_- , _gpPayload = pGpPayload_- }+ GroupsPatch' {_gpGroupKey = pGpGroupKey_, _gpPayload = pGpPayload_}+ -- | Email or immutable ID of the group. If ID, it should match with id of -- group object
gen/Network/Google/Resource/Directory/Groups/Update.hs view
@@ -54,11 +54,14 @@ -- | Update Group -- -- /See:/ 'groupsUpdate' smart constructor.-data GroupsUpdate = GroupsUpdate'+data GroupsUpdate =+ GroupsUpdate' { _guGroupKey :: !Text , _guPayload :: !Group- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'GroupsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Group -- ^ 'guPayload' -> GroupsUpdate groupsUpdate pGuGroupKey_ pGuPayload_ =- GroupsUpdate'- { _guGroupKey = pGuGroupKey_- , _guPayload = pGuPayload_- }+ GroupsUpdate' {_guGroupKey = pGuGroupKey_, _guPayload = pGuPayload_}+ -- | Email or immutable ID of the group. If ID, it should match with id of -- group object
gen/Network/Google/Resource/Directory/Members/Delete.hs view
@@ -55,11 +55,14 @@ -- | Remove membership. -- -- /See:/ 'membersDelete' smart constructor.-data MembersDelete = MembersDelete'+data MembersDelete =+ MembersDelete' { _mdMemberKey :: !Text , _mdGroupKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'mdGroupKey' -> MembersDelete membersDelete pMdMemberKey_ pMdGroupKey_ =- MembersDelete'- { _mdMemberKey = pMdMemberKey_- , _mdGroupKey = pMdGroupKey_- }+ MembersDelete' {_mdMemberKey = pMdMemberKey_, _mdGroupKey = pMdGroupKey_}+ -- | Email or immutable ID of the member mdMemberKey :: Lens' MembersDelete Text
gen/Network/Google/Resource/Directory/Members/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieve Group Member -- -- /See:/ 'membersGet' smart constructor.-data MembersGet = MembersGet'+data MembersGet =+ MembersGet' { _mgMemberKey :: !Text , _mgGroupKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'mgGroupKey' -> MembersGet membersGet pMgMemberKey_ pMgGroupKey_ =- MembersGet'- { _mgMemberKey = pMgMemberKey_- , _mgGroupKey = pMgGroupKey_- }+ MembersGet' {_mgMemberKey = pMgMemberKey_, _mgGroupKey = pMgGroupKey_}+ -- | Email or immutable ID of the member mgMemberKey :: Lens' MembersGet Text
gen/Network/Google/Resource/Directory/Members/HasMember.hs view
@@ -58,11 +58,14 @@ -- be direct or nested. -- -- /See:/ 'membersHasMember'' smart constructor.-data MembersHasMember' = MembersHasMember''+data MembersHasMember' =+ MembersHasMember'' { _mhmMemberKey :: !Text , _mhmGroupKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersHasMember'' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -75,10 +78,9 @@ -> Text -- ^ 'mhmGroupKey' -> MembersHasMember' membersHasMember' pMhmMemberKey_ pMhmGroupKey_ =- MembersHasMember''- { _mhmMemberKey = pMhmMemberKey_- , _mhmGroupKey = pMhmGroupKey_- }+ MembersHasMember''+ {_mhmMemberKey = pMhmMemberKey_, _mhmGroupKey = pMhmGroupKey_}+ -- | Identifies the user member in the API request. The value can be the -- user\'s primary email address, alias, or unique ID.
gen/Network/Google/Resource/Directory/Members/Insert.hs view
@@ -55,11 +55,14 @@ -- | Add user to the specified group. -- -- /See:/ 'membersInsert' smart constructor.-data MembersInsert = MembersInsert'+data MembersInsert =+ MembersInsert' { _miGroupKey :: !Text , _miPayload :: !Member- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Member -- ^ 'miPayload' -> MembersInsert membersInsert pMiGroupKey_ pMiPayload_ =- MembersInsert'- { _miGroupKey = pMiGroupKey_- , _miPayload = pMiPayload_- }+ MembersInsert' {_miGroupKey = pMiGroupKey_, _miPayload = pMiPayload_}+ -- | Email or immutable ID of the group miGroupKey :: Lens' MembersInsert Text
gen/Network/Google/Resource/Directory/Members/List.hs view
@@ -61,14 +61,17 @@ -- | Retrieve all members in a group (paginated) -- -- /See:/ 'membersList' smart constructor.-data MembersList = MembersList'+data MembersList =+ MembersList' { _mlRoles :: !(Maybe Text) , _mlGroupKey :: !Text , _mlPageToken :: !(Maybe Text) , _mlIncludeDerivedMembership :: !(Maybe Bool) , _mlMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -86,13 +89,14 @@ :: Text -- ^ 'mlGroupKey' -> MembersList membersList pMlGroupKey_ =- MembersList'+ MembersList' { _mlRoles = Nothing , _mlGroupKey = pMlGroupKey_ , _mlPageToken = Nothing , _mlIncludeDerivedMembership = Nothing , _mlMaxResults = Nothing }+ -- | Comma separated role values to filter list results on. mlRoles :: Lens' MembersList (Maybe Text)
gen/Network/Google/Resource/Directory/Members/Patch.hs view
@@ -59,12 +59,15 @@ -- patch semantics. -- -- /See:/ 'membersPatch' smart constructor.-data MembersPatch = MembersPatch'+data MembersPatch =+ MembersPatch' { _mpMemberKey :: !Text , _mpGroupKey :: !Text , _mpPayload :: !Member- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -80,11 +83,12 @@ -> Member -- ^ 'mpPayload' -> MembersPatch membersPatch pMpMemberKey_ pMpGroupKey_ pMpPayload_ =- MembersPatch'+ MembersPatch' { _mpMemberKey = pMpMemberKey_ , _mpGroupKey = pMpGroupKey_ , _mpPayload = pMpPayload_ }+ -- | Email or immutable ID of the user. If ID, it should match with id of -- member object
gen/Network/Google/Resource/Directory/Members/Update.hs view
@@ -57,12 +57,15 @@ -- | Update membership of a user in the specified group. -- -- /See:/ 'membersUpdate' smart constructor.-data MembersUpdate = MembersUpdate'+data MembersUpdate =+ MembersUpdate' { _muMemberKey :: !Text , _muGroupKey :: !Text , _muPayload :: !Member- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MembersUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Member -- ^ 'muPayload' -> MembersUpdate membersUpdate pMuMemberKey_ pMuGroupKey_ pMuPayload_ =- MembersUpdate'+ MembersUpdate' { _muMemberKey = pMuMemberKey_ , _muGroupKey = pMuGroupKey_ , _muPayload = pMuPayload_ }+ -- | Email or immutable ID of the user. If ID, it should match with id of -- member object
gen/Network/Google/Resource/Directory/MobileDevices/Action.hs view
@@ -59,12 +59,15 @@ -- | Take action on Mobile Device -- -- /See:/ 'mobileDevicesAction' smart constructor.-data MobileDevicesAction = MobileDevicesAction'+data MobileDevicesAction =+ MobileDevicesAction' { _mdaResourceId :: !Text , _mdaPayload :: !MobileDeviceAction , _mdaCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MobileDevicesAction' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -80,11 +83,12 @@ -> Text -- ^ 'mdaCustomerId' -> MobileDevicesAction mobileDevicesAction pMdaResourceId_ pMdaPayload_ pMdaCustomerId_ =- MobileDevicesAction'+ MobileDevicesAction' { _mdaResourceId = pMdaResourceId_ , _mdaPayload = pMdaPayload_ , _mdaCustomerId = pMdaCustomerId_ }+ -- | Immutable ID of Mobile Device mdaResourceId :: Lens' MobileDevicesAction Text
gen/Network/Google/Resource/Directory/MobileDevices/Delete.hs view
@@ -56,11 +56,14 @@ -- | Delete Mobile Device -- -- /See:/ 'mobileDevicesDelete' smart constructor.-data MobileDevicesDelete = MobileDevicesDelete'+data MobileDevicesDelete =+ MobileDevicesDelete' { _mddResourceId :: !Text , _mddCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MobileDevicesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'mddCustomerId' -> MobileDevicesDelete mobileDevicesDelete pMddResourceId_ pMddCustomerId_ =- MobileDevicesDelete'- { _mddResourceId = pMddResourceId_- , _mddCustomerId = pMddCustomerId_- }+ MobileDevicesDelete'+ {_mddResourceId = pMddResourceId_, _mddCustomerId = pMddCustomerId_}+ -- | Immutable ID of Mobile Device mddResourceId :: Lens' MobileDevicesDelete Text
gen/Network/Google/Resource/Directory/MobileDevices/Get.hs view
@@ -58,12 +58,15 @@ -- | Retrieve Mobile Device -- -- /See:/ 'mobileDevicesGet' smart constructor.-data MobileDevicesGet = MobileDevicesGet'+data MobileDevicesGet =+ MobileDevicesGet' { _mdgResourceId :: !Text , _mdgCustomerId :: !Text , _mdgProjection :: !(Maybe MobileDevicesGetProjection)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MobileDevicesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'mdgCustomerId' -> MobileDevicesGet mobileDevicesGet pMdgResourceId_ pMdgCustomerId_ =- MobileDevicesGet'+ MobileDevicesGet' { _mdgResourceId = pMdgResourceId_ , _mdgCustomerId = pMdgCustomerId_ , _mdgProjection = Nothing }+ -- | Immutable ID of Mobile Device mdgResourceId :: Lens' MobileDevicesGet Text
gen/Network/Google/Resource/Directory/MobileDevices/List.hs view
@@ -68,7 +68,8 @@ -- | Retrieve all Mobile Devices of a customer (paginated) -- -- /See:/ 'mobileDevicesList' smart constructor.-data MobileDevicesList = MobileDevicesList'+data MobileDevicesList =+ MobileDevicesList' { _mdlOrderBy :: !(Maybe MobileDevicesListOrderBy) , _mdlCustomerId :: !Text , _mdlSortOrder :: !(Maybe MobileDevicesListSortOrder)@@ -76,8 +77,10 @@ , _mdlProjection :: !(Maybe MobileDevicesListProjection) , _mdlPageToken :: !(Maybe Text) , _mdlMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'MobileDevicesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@ :: Text -- ^ 'mdlCustomerId' -> MobileDevicesList mobileDevicesList pMdlCustomerId_ =- MobileDevicesList'+ MobileDevicesList' { _mdlOrderBy = Nothing , _mdlCustomerId = pMdlCustomerId_ , _mdlSortOrder = Nothing@@ -108,6 +111,7 @@ , _mdlPageToken = Nothing , _mdlMaxResults = Nothing }+ -- | Column to use for sorting results mdlOrderBy :: Lens' MobileDevicesList (Maybe MobileDevicesListOrderBy)
gen/Network/Google/Resource/Directory/Notifications/Delete.hs view
@@ -55,11 +55,14 @@ -- | Deletes a notification -- -- /See:/ 'notificationsDelete' smart constructor.-data NotificationsDelete = NotificationsDelete'+data NotificationsDelete =+ NotificationsDelete' { _ndCustomer :: !Text , _ndNotificationId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'NotificationsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Text -- ^ 'ndNotificationId' -> NotificationsDelete notificationsDelete pNdCustomer_ pNdNotificationId_ =- NotificationsDelete'- { _ndCustomer = pNdCustomer_- , _ndNotificationId = pNdNotificationId_- }+ NotificationsDelete'+ {_ndCustomer = pNdCustomer_, _ndNotificationId = pNdNotificationId_}+ -- | The unique ID for the customer\'s G Suite account. The customerId is -- also returned as part of the Users resource.
gen/Network/Google/Resource/Directory/Notifications/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieves a notification. -- -- /See:/ 'notificationsGet' smart constructor.-data NotificationsGet = NotificationsGet'+data NotificationsGet =+ NotificationsGet' { _ngCustomer :: !Text , _ngNotificationId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'NotificationsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Text -- ^ 'ngNotificationId' -> NotificationsGet notificationsGet pNgCustomer_ pNgNotificationId_ =- NotificationsGet'- { _ngCustomer = pNgCustomer_- , _ngNotificationId = pNgNotificationId_- }+ NotificationsGet'+ {_ngCustomer = pNgCustomer_, _ngNotificationId = pNgNotificationId_}+ -- | The unique ID for the customer\'s G Suite account. The customerId is -- also returned as part of the Users resource.
gen/Network/Google/Resource/Directory/Notifications/List.hs view
@@ -59,13 +59,16 @@ -- | Retrieves a list of notifications. -- -- /See:/ 'notificationsList' smart constructor.-data NotificationsList = NotificationsList'+data NotificationsList =+ NotificationsList' { _nlCustomer :: !Text , _nlLanguage :: !(Maybe Text) , _nlPageToken :: !(Maybe Text) , _nlMaxResults :: !(Maybe (Textual Word32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'NotificationsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -81,12 +84,13 @@ :: Text -- ^ 'nlCustomer' -> NotificationsList notificationsList pNlCustomer_ =- NotificationsList'+ NotificationsList' { _nlCustomer = pNlCustomer_ , _nlLanguage = Nothing , _nlPageToken = Nothing , _nlMaxResults = Nothing }+ -- | The unique ID for the customer\'s G Suite account. nlCustomer :: Lens' NotificationsList Text
gen/Network/Google/Resource/Directory/Notifications/Patch.hs view
@@ -58,12 +58,15 @@ -- | Updates a notification. This method supports patch semantics. -- -- /See:/ 'notificationsPatch' smart constructor.-data NotificationsPatch = NotificationsPatch'+data NotificationsPatch =+ NotificationsPatch' { _npPayload :: !Notification , _npCustomer :: !Text , _npNotificationId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'NotificationsPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -79,11 +82,12 @@ -> Text -- ^ 'npNotificationId' -> NotificationsPatch notificationsPatch pNpPayload_ pNpCustomer_ pNpNotificationId_ =- NotificationsPatch'+ NotificationsPatch' { _npPayload = pNpPayload_ , _npCustomer = pNpCustomer_ , _npNotificationId = pNpNotificationId_ }+ -- | Multipart request metadata. npPayload :: Lens' NotificationsPatch Notification
gen/Network/Google/Resource/Directory/Notifications/Update.hs view
@@ -58,12 +58,15 @@ -- | Updates a notification. -- -- /See:/ 'notificationsUpdate' smart constructor.-data NotificationsUpdate = NotificationsUpdate'+data NotificationsUpdate =+ NotificationsUpdate' { _nuPayload :: !Notification , _nuCustomer :: !Text , _nuNotificationId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'NotificationsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -79,11 +82,12 @@ -> Text -- ^ 'nuNotificationId' -> NotificationsUpdate notificationsUpdate pNuPayload_ pNuCustomer_ pNuNotificationId_ =- NotificationsUpdate'+ NotificationsUpdate' { _nuPayload = pNuPayload_ , _nuCustomer = pNuCustomer_ , _nuNotificationId = pNuNotificationId_ }+ -- | Multipart request metadata. nuPayload :: Lens' NotificationsUpdate Notification
gen/Network/Google/Resource/Directory/OrgUnits/Delete.hs view
@@ -55,11 +55,14 @@ -- | Remove organizational unit -- -- /See:/ 'orgUnitsDelete' smart constructor.-data OrgUnitsDelete = OrgUnitsDelete'+data OrgUnitsDelete =+ OrgUnitsDelete' { _oudOrgUnitPath :: ![Text] , _oudCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,11 @@ -> Text -- ^ 'oudCustomerId' -> OrgUnitsDelete orgUnitsDelete pOudOrgUnitPath_ pOudCustomerId_ =- OrgUnitsDelete'+ OrgUnitsDelete' { _oudOrgUnitPath = _Coerce # pOudOrgUnitPath_ , _oudCustomerId = pOudCustomerId_ }+ -- | Full path of the organizational unit or its ID oudOrgUnitPath :: Lens' OrgUnitsDelete [Text]
gen/Network/Google/Resource/Directory/OrgUnits/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieve organizational unit -- -- /See:/ 'orgUnitsGet' smart constructor.-data OrgUnitsGet = OrgUnitsGet'+data OrgUnitsGet =+ OrgUnitsGet' { _ougOrgUnitPath :: ![Text] , _ougCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,11 @@ -> Text -- ^ 'ougCustomerId' -> OrgUnitsGet orgUnitsGet pOugOrgUnitPath_ pOugCustomerId_ =- OrgUnitsGet'+ OrgUnitsGet' { _ougOrgUnitPath = _Coerce # pOugOrgUnitPath_ , _ougCustomerId = pOugCustomerId_ }+ -- | Full path of the organizational unit or its ID ougOrgUnitPath :: Lens' OrgUnitsGet [Text]
gen/Network/Google/Resource/Directory/OrgUnits/Insert.hs view
@@ -55,11 +55,14 @@ -- | Add organizational unit -- -- /See:/ 'orgUnitsInsert' smart constructor.-data OrgUnitsInsert = OrgUnitsInsert'+data OrgUnitsInsert =+ OrgUnitsInsert' { _ouiPayload :: !OrgUnit , _ouiCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'ouiCustomerId' -> OrgUnitsInsert orgUnitsInsert pOuiPayload_ pOuiCustomerId_ =- OrgUnitsInsert'- { _ouiPayload = pOuiPayload_- , _ouiCustomerId = pOuiCustomerId_- }+ OrgUnitsInsert' {_ouiPayload = pOuiPayload_, _ouiCustomerId = pOuiCustomerId_}+ -- | Multipart request metadata. ouiPayload :: Lens' OrgUnitsInsert OrgUnit
gen/Network/Google/Resource/Directory/OrgUnits/List.hs view
@@ -57,12 +57,15 @@ -- | Retrieve all organizational units -- -- /See:/ 'orgUnitsList' smart constructor.-data OrgUnitsList = OrgUnitsList'+data OrgUnitsList =+ OrgUnitsList' { _oulOrgUnitPath :: !Text , _oulCustomerId :: !Text , _oulType :: !(Maybe OrgUnitsListType)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -76,11 +79,9 @@ :: Text -- ^ 'oulCustomerId' -> OrgUnitsList orgUnitsList pOulCustomerId_ =- OrgUnitsList'- { _oulOrgUnitPath = ""- , _oulCustomerId = pOulCustomerId_- , _oulType = Nothing- }+ OrgUnitsList'+ {_oulOrgUnitPath = "", _oulCustomerId = pOulCustomerId_, _oulType = Nothing}+ -- | the URL-encoded organizational unit\'s path or its ID oulOrgUnitPath :: Lens' OrgUnitsList Text
gen/Network/Google/Resource/Directory/OrgUnits/Patch.hs view
@@ -57,12 +57,15 @@ -- | Update organizational unit. This method supports patch semantics. -- -- /See:/ 'orgUnitsPatch' smart constructor.-data OrgUnitsPatch = OrgUnitsPatch'+data OrgUnitsPatch =+ OrgUnitsPatch' { _oupPayload :: !OrgUnit , _oupOrgUnitPath :: ![Text] , _oupCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'oupCustomerId' -> OrgUnitsPatch orgUnitsPatch pOupPayload_ pOupOrgUnitPath_ pOupCustomerId_ =- OrgUnitsPatch'+ OrgUnitsPatch' { _oupPayload = pOupPayload_ , _oupOrgUnitPath = _Coerce # pOupOrgUnitPath_ , _oupCustomerId = pOupCustomerId_ }+ -- | Multipart request metadata. oupPayload :: Lens' OrgUnitsPatch OrgUnit
gen/Network/Google/Resource/Directory/OrgUnits/Update.hs view
@@ -57,12 +57,15 @@ -- | Update organizational unit -- -- /See:/ 'orgUnitsUpdate' smart constructor.-data OrgUnitsUpdate = OrgUnitsUpdate'+data OrgUnitsUpdate =+ OrgUnitsUpdate' { _ouuPayload :: !OrgUnit , _ouuOrgUnitPath :: ![Text] , _ouuCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrgUnitsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'ouuCustomerId' -> OrgUnitsUpdate orgUnitsUpdate pOuuPayload_ pOuuOrgUnitPath_ pOuuCustomerId_ =- OrgUnitsUpdate'+ OrgUnitsUpdate' { _ouuPayload = pOuuPayload_ , _ouuOrgUnitPath = _Coerce # pOuuOrgUnitPath_ , _ouuCustomerId = pOuuCustomerId_ }+ -- | Multipart request metadata. ouuPayload :: Lens' OrgUnitsUpdate OrgUnit
gen/Network/Google/Resource/Directory/Privileges/List.hs view
@@ -55,10 +55,13 @@ -- | Retrieves a paginated list of all privileges for a customer. -- -- /See:/ 'privilegesList' smart constructor.-newtype PrivilegesList = PrivilegesList'+newtype PrivilegesList =+ PrivilegesList' { _plCustomer :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PrivilegesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,10 +70,8 @@ privilegesList :: Text -- ^ 'plCustomer' -> PrivilegesList-privilegesList pPlCustomer_ =- PrivilegesList'- { _plCustomer = pPlCustomer_- }+privilegesList pPlCustomer_ = PrivilegesList' {_plCustomer = pPlCustomer_}+ -- | Immutable ID of the G Suite account. plCustomer :: Lens' PrivilegesList Text
gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/GetSettings.hs view
@@ -51,17 +51,20 @@ -- -- /See:/ 'resolvedAppAccessSettingsGetSettings' smart constructor. data ResolvedAppAccessSettingsGetSettings =- ResolvedAppAccessSettingsGetSettings'- deriving (Eq,Show,Data,Typeable,Generic)+ ResolvedAppAccessSettingsGetSettings'+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResolvedAppAccessSettingsGetSettings' with the minimum fields required to make a request. -- resolvedAppAccessSettingsGetSettings :: ResolvedAppAccessSettingsGetSettings resolvedAppAccessSettingsGetSettings = ResolvedAppAccessSettingsGetSettings' + instance GoogleRequest- ResolvedAppAccessSettingsGetSettings where+ ResolvedAppAccessSettingsGetSettings+ where type Rs ResolvedAppAccessSettingsGetSettings = AppAccessCollections type Scopes ResolvedAppAccessSettingsGetSettings =
gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/ListTrustedApps.hs view
@@ -51,18 +51,21 @@ -- -- /See:/ 'resolvedAppAccessSettingsListTrustedApps' smart constructor. data ResolvedAppAccessSettingsListTrustedApps =- ResolvedAppAccessSettingsListTrustedApps'- deriving (Eq,Show,Data,Typeable,Generic)+ ResolvedAppAccessSettingsListTrustedApps'+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResolvedAppAccessSettingsListTrustedApps' with the minimum fields required to make a request. -- resolvedAppAccessSettingsListTrustedApps :: ResolvedAppAccessSettingsListTrustedApps resolvedAppAccessSettingsListTrustedApps =- ResolvedAppAccessSettingsListTrustedApps'+ ResolvedAppAccessSettingsListTrustedApps' + instance GoogleRequest- ResolvedAppAccessSettingsListTrustedApps where+ ResolvedAppAccessSettingsListTrustedApps+ where type Rs ResolvedAppAccessSettingsListTrustedApps = TrustedApps type Scopes ResolvedAppAccessSettingsListTrustedApps
gen/Network/Google/Resource/Directory/Resources/Buildings/Delete.hs view
@@ -56,11 +56,14 @@ -- | Deletes a building. -- -- /See:/ 'resourcesBuildingsDelete' smart constructor.-data ResourcesBuildingsDelete = ResourcesBuildingsDelete'+data ResourcesBuildingsDelete =+ ResourcesBuildingsDelete' { _rbdBuildingId :: !Text , _rbdCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'rbdCustomer' -> ResourcesBuildingsDelete resourcesBuildingsDelete pRbdBuildingId_ pRbdCustomer_ =- ResourcesBuildingsDelete'- { _rbdBuildingId = pRbdBuildingId_- , _rbdCustomer = pRbdCustomer_- }+ ResourcesBuildingsDelete'+ {_rbdBuildingId = pRbdBuildingId_, _rbdCustomer = pRbdCustomer_}+ -- | The ID of the building to delete. rbdBuildingId :: Lens' ResourcesBuildingsDelete Text
gen/Network/Google/Resource/Directory/Resources/Buildings/Get.hs view
@@ -56,11 +56,14 @@ -- | Retrieves a building. -- -- /See:/ 'resourcesBuildingsGet' smart constructor.-data ResourcesBuildingsGet = ResourcesBuildingsGet'+data ResourcesBuildingsGet =+ ResourcesBuildingsGet' { _rbgBuildingId :: !Text , _rbgCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'rbgCustomer' -> ResourcesBuildingsGet resourcesBuildingsGet pRbgBuildingId_ pRbgCustomer_ =- ResourcesBuildingsGet'- { _rbgBuildingId = pRbgBuildingId_- , _rbgCustomer = pRbgCustomer_- }+ ResourcesBuildingsGet'+ {_rbgBuildingId = pRbgBuildingId_, _rbgCustomer = pRbgCustomer_}+ -- | The unique ID of the building to retrieve. rbgBuildingId :: Lens' ResourcesBuildingsGet Text
gen/Network/Google/Resource/Directory/Resources/Buildings/Insert.hs view
@@ -35,6 +35,7 @@ -- * Request Lenses , rbiPayload , rbiCustomer+ , rbiCoordinatesSource ) where import Network.Google.Directory.Types@@ -50,17 +51,24 @@ Capture "customer" Text :> "resources" :> "buildings" :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Building :> Post '[JSON] Building+ QueryParam "coordinatesSource"+ ResourcesBuildingsInsertCoordinatesSource+ :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Building :> Post '[JSON] Building -- | Inserts a building. -- -- /See:/ 'resourcesBuildingsInsert' smart constructor.-data ResourcesBuildingsInsert = ResourcesBuildingsInsert'- { _rbiPayload :: !Building- , _rbiCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+data ResourcesBuildingsInsert =+ ResourcesBuildingsInsert'+ { _rbiPayload :: !Building+ , _rbiCustomer :: !Text+ , _rbiCoordinatesSource :: !ResourcesBuildingsInsertCoordinatesSource+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,16 +76,20 @@ -- * 'rbiPayload' -- -- * 'rbiCustomer'+--+-- * 'rbiCoordinatesSource' resourcesBuildingsInsert :: Building -- ^ 'rbiPayload' -> Text -- ^ 'rbiCustomer' -> ResourcesBuildingsInsert resourcesBuildingsInsert pRbiPayload_ pRbiCustomer_ =- ResourcesBuildingsInsert'+ ResourcesBuildingsInsert' { _rbiPayload = pRbiPayload_ , _rbiCustomer = pRbiCustomer_+ , _rbiCoordinatesSource = RBICSSourceUnspecified } + -- | Multipart request metadata. rbiPayload :: Lens' ResourcesBuildingsInsert Building rbiPayload@@ -90,12 +102,20 @@ rbiCustomer = lens _rbiCustomer (\ s a -> s{_rbiCustomer = a}) +-- | Source from which Building.coordinates are derived.+rbiCoordinatesSource :: Lens' ResourcesBuildingsInsert ResourcesBuildingsInsertCoordinatesSource+rbiCoordinatesSource+ = lens _rbiCoordinatesSource+ (\ s a -> s{_rbiCoordinatesSource = a})+ instance GoogleRequest ResourcesBuildingsInsert where type Rs ResourcesBuildingsInsert = Building type Scopes ResourcesBuildingsInsert = '["https://www.googleapis.com/auth/admin.directory.resource.calendar"] requestClient ResourcesBuildingsInsert'{..}- = go _rbiCustomer (Just AltJSON) _rbiPayload+ = go _rbiCustomer (Just _rbiCoordinatesSource)+ (Just AltJSON)+ _rbiPayload directoryService where go = buildClient
gen/Network/Google/Resource/Directory/Resources/Buildings/List.hs view
@@ -58,12 +58,15 @@ -- | Retrieves a list of buildings for an account. -- -- /See:/ 'resourcesBuildingsList' smart constructor.-data ResourcesBuildingsList = ResourcesBuildingsList'+data ResourcesBuildingsList =+ ResourcesBuildingsList' { _rblCustomer :: !Text , _rblPageToken :: !(Maybe Text) , _rblMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -77,11 +80,12 @@ :: Text -- ^ 'rblCustomer' -> ResourcesBuildingsList resourcesBuildingsList pRblCustomer_ =- ResourcesBuildingsList'+ ResourcesBuildingsList' { _rblCustomer = pRblCustomer_ , _rblPageToken = Nothing , _rblMaxResults = Nothing }+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Buildings/Patch.hs view
@@ -36,6 +36,7 @@ , rbpBuildingId , rbpPayload , rbpCustomer+ , rbpCoordinatesSource ) where import Network.Google.Directory.Types@@ -52,18 +53,25 @@ "resources" :> "buildings" :> Capture "buildingId" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Building :> Patch '[JSON] Building+ QueryParam "coordinatesSource"+ ResourcesBuildingsPatchCoordinatesSource+ :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Building :> Patch '[JSON] Building -- | Updates a building. This method supports patch semantics. -- -- /See:/ 'resourcesBuildingsPatch' smart constructor.-data ResourcesBuildingsPatch = ResourcesBuildingsPatch'- { _rbpBuildingId :: !Text- , _rbpPayload :: !Building- , _rbpCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+data ResourcesBuildingsPatch =+ ResourcesBuildingsPatch'+ { _rbpBuildingId :: !Text+ , _rbpPayload :: !Building+ , _rbpCustomer :: !Text+ , _rbpCoordinatesSource :: !ResourcesBuildingsPatchCoordinatesSource+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,18 +81,22 @@ -- * 'rbpPayload' -- -- * 'rbpCustomer'+--+-- * 'rbpCoordinatesSource' resourcesBuildingsPatch :: Text -- ^ 'rbpBuildingId' -> Building -- ^ 'rbpPayload' -> Text -- ^ 'rbpCustomer' -> ResourcesBuildingsPatch resourcesBuildingsPatch pRbpBuildingId_ pRbpPayload_ pRbpCustomer_ =- ResourcesBuildingsPatch'+ ResourcesBuildingsPatch' { _rbpBuildingId = pRbpBuildingId_ , _rbpPayload = pRbpPayload_ , _rbpCustomer = pRbpCustomer_+ , _rbpCoordinatesSource = SourceUnspecified } + -- | The ID of the building to update. rbpBuildingId :: Lens' ResourcesBuildingsPatch Text rbpBuildingId@@ -103,12 +115,20 @@ rbpCustomer = lens _rbpCustomer (\ s a -> s{_rbpCustomer = a}) +-- | Source from which Building.coordinates are derived.+rbpCoordinatesSource :: Lens' ResourcesBuildingsPatch ResourcesBuildingsPatchCoordinatesSource+rbpCoordinatesSource+ = lens _rbpCoordinatesSource+ (\ s a -> s{_rbpCoordinatesSource = a})+ instance GoogleRequest ResourcesBuildingsPatch where type Rs ResourcesBuildingsPatch = Building type Scopes ResourcesBuildingsPatch = '["https://www.googleapis.com/auth/admin.directory.resource.calendar"] requestClient ResourcesBuildingsPatch'{..}- = go _rbpCustomer _rbpBuildingId (Just AltJSON)+ = go _rbpCustomer _rbpBuildingId+ (Just _rbpCoordinatesSource)+ (Just AltJSON) _rbpPayload directoryService where go
gen/Network/Google/Resource/Directory/Resources/Buildings/Update.hs view
@@ -36,6 +36,7 @@ , rbuBuildingId , rbuPayload , rbuCustomer+ , rbuCoordinatesSource ) where import Network.Google.Directory.Types@@ -52,18 +53,25 @@ "resources" :> "buildings" :> Capture "buildingId" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Building :> Put '[JSON] Building+ QueryParam "coordinatesSource"+ ResourcesBuildingsUpdateCoordinatesSource+ :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Building :> Put '[JSON] Building -- | Updates a building. -- -- /See:/ 'resourcesBuildingsUpdate' smart constructor.-data ResourcesBuildingsUpdate = ResourcesBuildingsUpdate'- { _rbuBuildingId :: !Text- , _rbuPayload :: !Building- , _rbuCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+data ResourcesBuildingsUpdate =+ ResourcesBuildingsUpdate'+ { _rbuBuildingId :: !Text+ , _rbuPayload :: !Building+ , _rbuCustomer :: !Text+ , _rbuCoordinatesSource :: !ResourcesBuildingsUpdateCoordinatesSource+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesBuildingsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,18 +81,22 @@ -- * 'rbuPayload' -- -- * 'rbuCustomer'+--+-- * 'rbuCoordinatesSource' resourcesBuildingsUpdate :: Text -- ^ 'rbuBuildingId' -> Building -- ^ 'rbuPayload' -> Text -- ^ 'rbuCustomer' -> ResourcesBuildingsUpdate resourcesBuildingsUpdate pRbuBuildingId_ pRbuPayload_ pRbuCustomer_ =- ResourcesBuildingsUpdate'+ ResourcesBuildingsUpdate' { _rbuBuildingId = pRbuBuildingId_ , _rbuPayload = pRbuPayload_ , _rbuCustomer = pRbuCustomer_+ , _rbuCoordinatesSource = RBUCSSourceUnspecified } + -- | The ID of the building to update. rbuBuildingId :: Lens' ResourcesBuildingsUpdate Text rbuBuildingId@@ -103,12 +115,20 @@ rbuCustomer = lens _rbuCustomer (\ s a -> s{_rbuCustomer = a}) +-- | Source from which Building.coordinates are derived.+rbuCoordinatesSource :: Lens' ResourcesBuildingsUpdate ResourcesBuildingsUpdateCoordinatesSource+rbuCoordinatesSource+ = lens _rbuCoordinatesSource+ (\ s a -> s{_rbuCoordinatesSource = a})+ instance GoogleRequest ResourcesBuildingsUpdate where type Rs ResourcesBuildingsUpdate = Building type Scopes ResourcesBuildingsUpdate = '["https://www.googleapis.com/auth/admin.directory.resource.calendar"] requestClient ResourcesBuildingsUpdate'{..}- = go _rbuCustomer _rbuBuildingId (Just AltJSON)+ = go _rbuCustomer _rbuBuildingId+ (Just _rbuCoordinatesSource)+ (Just AltJSON) _rbuPayload directoryService where go
gen/Network/Google/Resource/Directory/Resources/Calendars/Delete.hs view
@@ -56,11 +56,14 @@ -- | Deletes a calendar resource. -- -- /See:/ 'resourcesCalendarsDelete' smart constructor.-data ResourcesCalendarsDelete = ResourcesCalendarsDelete'+data ResourcesCalendarsDelete =+ ResourcesCalendarsDelete' { _rcdCustomer :: !Text , _rcdCalendarResourceId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,11 @@ -> Text -- ^ 'rcdCalendarResourceId' -> ResourcesCalendarsDelete resourcesCalendarsDelete pRcdCustomer_ pRcdCalendarResourceId_ =- ResourcesCalendarsDelete'+ ResourcesCalendarsDelete' { _rcdCustomer = pRcdCustomer_ , _rcdCalendarResourceId = pRcdCalendarResourceId_ }+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Calendars/Get.hs view
@@ -57,11 +57,14 @@ -- | Retrieves a calendar resource. -- -- /See:/ 'resourcesCalendarsGet' smart constructor.-data ResourcesCalendarsGet = ResourcesCalendarsGet'+data ResourcesCalendarsGet =+ ResourcesCalendarsGet' { _rcgCustomer :: !Text , _rcgCalendarResourceId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -74,10 +77,11 @@ -> Text -- ^ 'rcgCalendarResourceId' -> ResourcesCalendarsGet resourcesCalendarsGet pRcgCustomer_ pRcgCalendarResourceId_ =- ResourcesCalendarsGet'+ ResourcesCalendarsGet' { _rcgCustomer = pRcgCustomer_ , _rcgCalendarResourceId = pRcgCalendarResourceId_ }+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Calendars/Insert.hs view
@@ -57,11 +57,14 @@ -- | Inserts a calendar resource. -- -- /See:/ 'resourcesCalendarsInsert' smart constructor.-data ResourcesCalendarsInsert = ResourcesCalendarsInsert'+data ResourcesCalendarsInsert =+ ResourcesCalendarsInsert' { _rciPayload :: !CalendarResource , _rciCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -74,10 +77,9 @@ -> Text -- ^ 'rciCustomer' -> ResourcesCalendarsInsert resourcesCalendarsInsert pRciPayload_ pRciCustomer_ =- ResourcesCalendarsInsert'- { _rciPayload = pRciPayload_- , _rciCustomer = pRciCustomer_- }+ ResourcesCalendarsInsert'+ {_rciPayload = pRciPayload_, _rciCustomer = pRciCustomer_}+ -- | Multipart request metadata. rciPayload :: Lens' ResourcesCalendarsInsert CalendarResource
gen/Network/Google/Resource/Directory/Resources/Calendars/List.hs view
@@ -63,14 +63,17 @@ -- | Retrieves a list of calendar resources for an account. -- -- /See:/ 'resourcesCalendarsList' smart constructor.-data ResourcesCalendarsList = ResourcesCalendarsList'+data ResourcesCalendarsList =+ ResourcesCalendarsList' { _rclOrderBy :: !(Maybe Text) , _rclCustomer :: !Text , _rclQuery :: !(Maybe Text) , _rclPageToken :: !(Maybe Text) , _rclMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -88,13 +91,14 @@ :: Text -- ^ 'rclCustomer' -> ResourcesCalendarsList resourcesCalendarsList pRclCustomer_ =- ResourcesCalendarsList'+ ResourcesCalendarsList' { _rclOrderBy = Nothing , _rclCustomer = pRclCustomer_ , _rclQuery = Nothing , _rclPageToken = Nothing , _rclMaxResults = Nothing }+ -- | Field(s) to sort results by in either ascending or descending order. -- Supported fields include resourceId, resourceName, capacity, buildingId,
gen/Network/Google/Resource/Directory/Resources/Calendars/Patch.hs view
@@ -65,12 +65,15 @@ -- supports patch semantics. -- -- /See:/ 'resourcesCalendarsPatch' smart constructor.-data ResourcesCalendarsPatch = ResourcesCalendarsPatch'+data ResourcesCalendarsPatch =+ ResourcesCalendarsPatch' { _rcpPayload :: !CalendarResource , _rcpCustomer :: !Text , _rcpCalendarResourceId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -86,11 +89,12 @@ -> Text -- ^ 'rcpCalendarResourceId' -> ResourcesCalendarsPatch resourcesCalendarsPatch pRcpPayload_ pRcpCustomer_ pRcpCalendarResourceId_ =- ResourcesCalendarsPatch'+ ResourcesCalendarsPatch' { _rcpPayload = pRcpPayload_ , _rcpCustomer = pRcpCustomer_ , _rcpCalendarResourceId = pRcpCalendarResourceId_ }+ -- | Multipart request metadata. rcpPayload :: Lens' ResourcesCalendarsPatch CalendarResource
gen/Network/Google/Resource/Directory/Resources/Calendars/Update.hs view
@@ -63,12 +63,15 @@ -- that are not present in the request will be preserved. -- -- /See:/ 'resourcesCalendarsUpdate' smart constructor.-data ResourcesCalendarsUpdate = ResourcesCalendarsUpdate'+data ResourcesCalendarsUpdate =+ ResourcesCalendarsUpdate' { _rcuPayload :: !CalendarResource , _rcuCustomer :: !Text , _rcuCalendarResourceId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesCalendarsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -84,11 +87,12 @@ -> Text -- ^ 'rcuCalendarResourceId' -> ResourcesCalendarsUpdate resourcesCalendarsUpdate pRcuPayload_ pRcuCustomer_ pRcuCalendarResourceId_ =- ResourcesCalendarsUpdate'+ ResourcesCalendarsUpdate' { _rcuPayload = pRcuPayload_ , _rcuCustomer = pRcuCustomer_ , _rcuCalendarResourceId = pRcuCalendarResourceId_ }+ -- | Multipart request metadata. rcuPayload :: Lens' ResourcesCalendarsUpdate CalendarResource
gen/Network/Google/Resource/Directory/Resources/Features/Delete.hs view
@@ -56,11 +56,14 @@ -- | Deletes a feature. -- -- /See:/ 'resourcesFeaturesDelete' smart constructor.-data ResourcesFeaturesDelete = ResourcesFeaturesDelete'+data ResourcesFeaturesDelete =+ ResourcesFeaturesDelete' { _rfdCustomer :: !Text , _rfdFeatureKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'rfdFeatureKey' -> ResourcesFeaturesDelete resourcesFeaturesDelete pRfdCustomer_ pRfdFeatureKey_ =- ResourcesFeaturesDelete'- { _rfdCustomer = pRfdCustomer_- , _rfdFeatureKey = pRfdFeatureKey_- }+ ResourcesFeaturesDelete'+ {_rfdCustomer = pRfdCustomer_, _rfdFeatureKey = pRfdFeatureKey_}+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Features/Get.hs view
@@ -56,11 +56,14 @@ -- | Retrieves a feature. -- -- /See:/ 'resourcesFeaturesGet' smart constructor.-data ResourcesFeaturesGet = ResourcesFeaturesGet'+data ResourcesFeaturesGet =+ ResourcesFeaturesGet' { _rfgCustomer :: !Text , _rfgFeatureKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'rfgFeatureKey' -> ResourcesFeaturesGet resourcesFeaturesGet pRfgCustomer_ pRfgFeatureKey_ =- ResourcesFeaturesGet'- { _rfgCustomer = pRfgCustomer_- , _rfgFeatureKey = pRfgFeatureKey_- }+ ResourcesFeaturesGet'+ {_rfgCustomer = pRfgCustomer_, _rfgFeatureKey = pRfgFeatureKey_}+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Features/Insert.hs view
@@ -56,11 +56,14 @@ -- | Inserts a feature. -- -- /See:/ 'resourcesFeaturesInsert' smart constructor.-data ResourcesFeaturesInsert = ResourcesFeaturesInsert'+data ResourcesFeaturesInsert =+ ResourcesFeaturesInsert' { _rfiPayload :: !Feature , _rfiCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'rfiCustomer' -> ResourcesFeaturesInsert resourcesFeaturesInsert pRfiPayload_ pRfiCustomer_ =- ResourcesFeaturesInsert'- { _rfiPayload = pRfiPayload_- , _rfiCustomer = pRfiCustomer_- }+ ResourcesFeaturesInsert'+ {_rfiPayload = pRfiPayload_, _rfiCustomer = pRfiCustomer_}+ -- | Multipart request metadata. rfiPayload :: Lens' ResourcesFeaturesInsert Feature
gen/Network/Google/Resource/Directory/Resources/Features/List.hs view
@@ -58,12 +58,15 @@ -- | Retrieves a list of features for an account. -- -- /See:/ 'resourcesFeaturesList' smart constructor.-data ResourcesFeaturesList = ResourcesFeaturesList'+data ResourcesFeaturesList =+ ResourcesFeaturesList' { _rflCustomer :: !Text , _rflPageToken :: !(Maybe Text) , _rflMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -77,11 +80,12 @@ :: Text -- ^ 'rflCustomer' -> ResourcesFeaturesList resourcesFeaturesList pRflCustomer_ =- ResourcesFeaturesList'+ ResourcesFeaturesList' { _rflCustomer = pRflCustomer_ , _rflPageToken = Nothing , _rflMaxResults = Nothing }+ -- | The unique ID for the customer\'s G Suite account. As an account -- administrator, you can also use the my_customer alias to represent your
gen/Network/Google/Resource/Directory/Resources/Features/Patch.hs view
@@ -58,12 +58,15 @@ -- | Updates a feature. This method supports patch semantics. -- -- /See:/ 'resourcesFeaturesPatch' smart constructor.-data ResourcesFeaturesPatch = ResourcesFeaturesPatch'+data ResourcesFeaturesPatch =+ ResourcesFeaturesPatch' { _rfpPayload :: !Feature , _rfpCustomer :: !Text , _rfpFeatureKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -79,11 +82,12 @@ -> Text -- ^ 'rfpFeatureKey' -> ResourcesFeaturesPatch resourcesFeaturesPatch pRfpPayload_ pRfpCustomer_ pRfpFeatureKey_ =- ResourcesFeaturesPatch'+ ResourcesFeaturesPatch' { _rfpPayload = pRfpPayload_ , _rfpCustomer = pRfpCustomer_ , _rfpFeatureKey = pRfpFeatureKey_ }+ -- | Multipart request metadata. rfpPayload :: Lens' ResourcesFeaturesPatch Feature
gen/Network/Google/Resource/Directory/Resources/Features/Rename.hs view
@@ -59,12 +59,15 @@ -- | Renames a feature. -- -- /See:/ 'resourcesFeaturesRename' smart constructor.-data ResourcesFeaturesRename = ResourcesFeaturesRename'+data ResourcesFeaturesRename =+ ResourcesFeaturesRename' { _rfrPayload :: !FeatureRename , _rfrCustomer :: !Text , _rfrOldName :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesRename' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -80,11 +83,12 @@ -> Text -- ^ 'rfrOldName' -> ResourcesFeaturesRename resourcesFeaturesRename pRfrPayload_ pRfrCustomer_ pRfrOldName_ =- ResourcesFeaturesRename'+ ResourcesFeaturesRename' { _rfrPayload = pRfrPayload_ , _rfrCustomer = pRfrCustomer_ , _rfrOldName = pRfrOldName_ }+ -- | Multipart request metadata. rfrPayload :: Lens' ResourcesFeaturesRename FeatureRename
gen/Network/Google/Resource/Directory/Resources/Features/Update.hs view
@@ -58,12 +58,15 @@ -- | Updates a feature. -- -- /See:/ 'resourcesFeaturesUpdate' smart constructor.-data ResourcesFeaturesUpdate = ResourcesFeaturesUpdate'+data ResourcesFeaturesUpdate =+ ResourcesFeaturesUpdate' { _rfuPayload :: !Feature , _rfuCustomer :: !Text , _rfuFeatureKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ResourcesFeaturesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -79,11 +82,12 @@ -> Text -- ^ 'rfuFeatureKey' -> ResourcesFeaturesUpdate resourcesFeaturesUpdate pRfuPayload_ pRfuCustomer_ pRfuFeatureKey_ =- ResourcesFeaturesUpdate'+ ResourcesFeaturesUpdate' { _rfuPayload = pRfuPayload_ , _rfuCustomer = pRfuCustomer_ , _rfuFeatureKey = pRfuFeatureKey_ }+ -- | Multipart request metadata. rfuPayload :: Lens' ResourcesFeaturesUpdate Feature
gen/Network/Google/Resource/Directory/RoleAssignments/Delete.hs view
@@ -55,11 +55,14 @@ -- | Deletes a role assignment. -- -- /See:/ 'roleAssignmentsDelete' smart constructor.-data RoleAssignmentsDelete = RoleAssignmentsDelete'+data RoleAssignmentsDelete =+ RoleAssignmentsDelete' { _radCustomer :: !Text , _radRoleAssignmentId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RoleAssignmentsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,9 @@ -> Text -- ^ 'radRoleAssignmentId' -> RoleAssignmentsDelete roleAssignmentsDelete pRadCustomer_ pRadRoleAssignmentId_ =- RoleAssignmentsDelete'- { _radCustomer = pRadCustomer_- , _radRoleAssignmentId = pRadRoleAssignmentId_- }+ RoleAssignmentsDelete'+ {_radCustomer = pRadCustomer_, _radRoleAssignmentId = pRadRoleAssignmentId_}+ -- | Immutable ID of the G Suite account. radCustomer :: Lens' RoleAssignmentsDelete Text
gen/Network/Google/Resource/Directory/RoleAssignments/Get.hs view
@@ -56,11 +56,14 @@ -- | Retrieve a role assignment. -- -- /See:/ 'roleAssignmentsGet' smart constructor.-data RoleAssignmentsGet = RoleAssignmentsGet'+data RoleAssignmentsGet =+ RoleAssignmentsGet' { _ragCustomer :: !Text , _ragRoleAssignmentId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RoleAssignmentsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'ragRoleAssignmentId' -> RoleAssignmentsGet roleAssignmentsGet pRagCustomer_ pRagRoleAssignmentId_ =- RoleAssignmentsGet'- { _ragCustomer = pRagCustomer_- , _ragRoleAssignmentId = pRagRoleAssignmentId_- }+ RoleAssignmentsGet'+ {_ragCustomer = pRagCustomer_, _ragRoleAssignmentId = pRagRoleAssignmentId_}+ -- | Immutable ID of the G Suite account. ragCustomer :: Lens' RoleAssignmentsGet Text
gen/Network/Google/Resource/Directory/RoleAssignments/Insert.hs view
@@ -56,11 +56,14 @@ -- | Creates a role assignment. -- -- /See:/ 'roleAssignmentsInsert' smart constructor.-data RoleAssignmentsInsert = RoleAssignmentsInsert'+data RoleAssignmentsInsert =+ RoleAssignmentsInsert' { _raiPayload :: !RoleAssignment , _raiCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RoleAssignmentsInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,9 @@ -> Text -- ^ 'raiCustomer' -> RoleAssignmentsInsert roleAssignmentsInsert pRaiPayload_ pRaiCustomer_ =- RoleAssignmentsInsert'- { _raiPayload = pRaiPayload_- , _raiCustomer = pRaiCustomer_- }+ RoleAssignmentsInsert'+ {_raiPayload = pRaiPayload_, _raiCustomer = pRaiCustomer_}+ -- | Multipart request metadata. raiPayload :: Lens' RoleAssignmentsInsert RoleAssignment
gen/Network/Google/Resource/Directory/RoleAssignments/List.hs view
@@ -62,14 +62,17 @@ -- | Retrieves a paginated list of all roleAssignments. -- -- /See:/ 'roleAssignmentsList' smart constructor.-data RoleAssignmentsList = RoleAssignmentsList'+data RoleAssignmentsList =+ RoleAssignmentsList' { _ralRoleId :: !(Maybe Text) , _ralCustomer :: !Text , _ralPageToken :: !(Maybe Text) , _ralUserKey :: !(Maybe Text) , _ralMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RoleAssignmentsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -87,13 +90,14 @@ :: Text -- ^ 'ralCustomer' -> RoleAssignmentsList roleAssignmentsList pRalCustomer_ =- RoleAssignmentsList'+ RoleAssignmentsList' { _ralRoleId = Nothing , _ralCustomer = pRalCustomer_ , _ralPageToken = Nothing , _ralUserKey = Nothing , _ralMaxResults = Nothing }+ -- | Immutable ID of a role. If included in the request, returns only role -- assignments containing this role ID.
gen/Network/Google/Resource/Directory/Roles/Delete.hs view
@@ -55,11 +55,14 @@ -- | Deletes a role. -- -- /See:/ 'rolesDelete' smart constructor.-data RolesDelete = RolesDelete'+data RolesDelete =+ RolesDelete' { _rdRoleId :: !Text , _rdCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'rdCustomer' -> RolesDelete rolesDelete pRdRoleId_ pRdCustomer_ =- RolesDelete'- { _rdRoleId = pRdRoleId_- , _rdCustomer = pRdCustomer_- }+ RolesDelete' {_rdRoleId = pRdRoleId_, _rdCustomer = pRdCustomer_}+ -- | Immutable ID of the role. rdRoleId :: Lens' RolesDelete Text
gen/Network/Google/Resource/Directory/Roles/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieves a role. -- -- /See:/ 'rolesGet' smart constructor.-data RolesGet = RolesGet'+data RolesGet =+ RolesGet' { _rgRoleId :: !Text , _rgCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'rgCustomer' -> RolesGet rolesGet pRgRoleId_ pRgCustomer_ =- RolesGet'- { _rgRoleId = pRgRoleId_- , _rgCustomer = pRgCustomer_- }+ RolesGet' {_rgRoleId = pRgRoleId_, _rgCustomer = pRgCustomer_}+ -- | Immutable ID of the role. rgRoleId :: Lens' RolesGet Text
gen/Network/Google/Resource/Directory/Roles/Insert.hs view
@@ -55,11 +55,14 @@ -- | Creates a role. -- -- /See:/ 'rolesInsert' smart constructor.-data RolesInsert = RolesInsert'+data RolesInsert =+ RolesInsert' { _riPayload :: !Role , _riCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'riCustomer' -> RolesInsert rolesInsert pRiPayload_ pRiCustomer_ =- RolesInsert'- { _riPayload = pRiPayload_- , _riCustomer = pRiCustomer_- }+ RolesInsert' {_riPayload = pRiPayload_, _riCustomer = pRiCustomer_}+ -- | Multipart request metadata. riPayload :: Lens' RolesInsert Role
gen/Network/Google/Resource/Directory/Roles/List.hs view
@@ -57,12 +57,15 @@ -- | Retrieves a paginated list of all the roles in a domain. -- -- /See:/ 'rolesList' smart constructor.-data RolesList = RolesList'+data RolesList =+ RolesList' { _rlCustomer :: !Text , _rlPageToken :: !(Maybe Text) , _rlMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -76,11 +79,12 @@ :: Text -- ^ 'rlCustomer' -> RolesList rolesList pRlCustomer_ =- RolesList'+ RolesList' { _rlCustomer = pRlCustomer_ , _rlPageToken = Nothing , _rlMaxResults = Nothing }+ -- | Immutable ID of the G Suite account. rlCustomer :: Lens' RolesList Text
gen/Network/Google/Resource/Directory/Roles/Patch.hs view
@@ -57,12 +57,15 @@ -- | Updates a role. This method supports patch semantics. -- -- /See:/ 'rolesPatch' smart constructor.-data RolesPatch = RolesPatch'+data RolesPatch =+ RolesPatch' { _rpPayload :: !Role , _rpRoleId :: !Text , _rpCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'rpCustomer' -> RolesPatch rolesPatch pRpPayload_ pRpRoleId_ pRpCustomer_ =- RolesPatch'+ RolesPatch' { _rpPayload = pRpPayload_ , _rpRoleId = pRpRoleId_ , _rpCustomer = pRpCustomer_ }+ -- | Multipart request metadata. rpPayload :: Lens' RolesPatch Role
gen/Network/Google/Resource/Directory/Roles/Update.hs view
@@ -57,12 +57,15 @@ -- | Updates a role. -- -- /See:/ 'rolesUpdate' smart constructor.-data RolesUpdate = RolesUpdate'+data RolesUpdate =+ RolesUpdate' { _ruPayload :: !Role , _ruRoleId :: !Text , _ruCustomer :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RolesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'ruCustomer' -> RolesUpdate rolesUpdate pRuPayload_ pRuRoleId_ pRuCustomer_ =- RolesUpdate'+ RolesUpdate' { _ruPayload = pRuPayload_ , _ruRoleId = pRuRoleId_ , _ruCustomer = pRuCustomer_ }+ -- | Multipart request metadata. ruPayload :: Lens' RolesUpdate Role
gen/Network/Google/Resource/Directory/Schemas/Delete.hs view
@@ -55,11 +55,14 @@ -- | Delete schema -- -- /See:/ 'schemasDelete' smart constructor.-data SchemasDelete = SchemasDelete'+data SchemasDelete =+ SchemasDelete' { _sdCustomerId :: !Text , _sdSchemaKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'sdSchemaKey' -> SchemasDelete schemasDelete pSdCustomerId_ pSdSchemaKey_ =- SchemasDelete'- { _sdCustomerId = pSdCustomerId_- , _sdSchemaKey = pSdSchemaKey_- }+ SchemasDelete' {_sdCustomerId = pSdCustomerId_, _sdSchemaKey = pSdSchemaKey_}+ -- | Immutable ID of the G Suite account sdCustomerId :: Lens' SchemasDelete Text
gen/Network/Google/Resource/Directory/Schemas/Get.hs view
@@ -55,11 +55,14 @@ -- | Retrieve schema -- -- /See:/ 'schemasGet' smart constructor.-data SchemasGet = SchemasGet'+data SchemasGet =+ SchemasGet' { _sgCustomerId :: !Text , _sgSchemaKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'sgSchemaKey' -> SchemasGet schemasGet pSgCustomerId_ pSgSchemaKey_ =- SchemasGet'- { _sgCustomerId = pSgCustomerId_- , _sgSchemaKey = pSgSchemaKey_- }+ SchemasGet' {_sgCustomerId = pSgCustomerId_, _sgSchemaKey = pSgSchemaKey_}+ -- | Immutable ID of the G Suite account sgCustomerId :: Lens' SchemasGet Text
gen/Network/Google/Resource/Directory/Schemas/Insert.hs view
@@ -55,11 +55,14 @@ -- | Create schema. -- -- /See:/ 'schemasInsert' smart constructor.-data SchemasInsert = SchemasInsert'+data SchemasInsert =+ SchemasInsert' { _siPayload :: !Schema , _siCustomerId :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'siCustomerId' -> SchemasInsert schemasInsert pSiPayload_ pSiCustomerId_ =- SchemasInsert'- { _siPayload = pSiPayload_- , _siCustomerId = pSiCustomerId_- }+ SchemasInsert' {_siPayload = pSiPayload_, _siCustomerId = pSiCustomerId_}+ -- | Multipart request metadata. siPayload :: Lens' SchemasInsert Schema
gen/Network/Google/Resource/Directory/Schemas/List.hs view
@@ -53,10 +53,13 @@ -- | Retrieve all schemas for a customer -- -- /See:/ 'schemasList' smart constructor.-newtype SchemasList = SchemasList'+newtype SchemasList =+ SchemasList' { _slCustomerId :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,10 +68,8 @@ schemasList :: Text -- ^ 'slCustomerId' -> SchemasList-schemasList pSlCustomerId_ =- SchemasList'- { _slCustomerId = pSlCustomerId_- }+schemasList pSlCustomerId_ = SchemasList' {_slCustomerId = pSlCustomerId_}+ -- | Immutable ID of the G Suite account slCustomerId :: Lens' SchemasList Text
gen/Network/Google/Resource/Directory/Schemas/Patch.hs view
@@ -57,12 +57,15 @@ -- | Update schema. This method supports patch semantics. -- -- /See:/ 'schemasPatch' smart constructor.-data SchemasPatch = SchemasPatch'+data SchemasPatch =+ SchemasPatch' { _spPayload :: !Schema , _spCustomerId :: !Text , _spSchemaKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'spSchemaKey' -> SchemasPatch schemasPatch pSpPayload_ pSpCustomerId_ pSpSchemaKey_ =- SchemasPatch'+ SchemasPatch' { _spPayload = pSpPayload_ , _spCustomerId = pSpCustomerId_ , _spSchemaKey = pSpSchemaKey_ }+ -- | Multipart request metadata. spPayload :: Lens' SchemasPatch Schema
gen/Network/Google/Resource/Directory/Schemas/Update.hs view
@@ -57,12 +57,15 @@ -- | Update schema -- -- /See:/ 'schemasUpdate' smart constructor.-data SchemasUpdate = SchemasUpdate'+data SchemasUpdate =+ SchemasUpdate' { _suPayload :: !Schema , _suCustomerId :: !Text , _suSchemaKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'SchemasUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'suSchemaKey' -> SchemasUpdate schemasUpdate pSuPayload_ pSuCustomerId_ pSuSchemaKey_ =- SchemasUpdate'+ SchemasUpdate' { _suPayload = pSuPayload_ , _suCustomerId = pSuCustomerId_ , _suSchemaKey = pSuSchemaKey_ }+ -- | Multipart request metadata. suPayload :: Lens' SchemasUpdate Schema
gen/Network/Google/Resource/Directory/Tokens/Delete.hs view
@@ -55,11 +55,14 @@ -- | Delete all access tokens issued by a user for an application. -- -- /See:/ 'tokensDelete' smart constructor.-data TokensDelete = TokensDelete'+data TokensDelete =+ TokensDelete' { _tdClientId :: !Text , _tdUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TokensDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'tdUserKey' -> TokensDelete tokensDelete pTdClientId_ pTdUserKey_ =- TokensDelete'- { _tdClientId = pTdClientId_- , _tdUserKey = pTdUserKey_- }+ TokensDelete' {_tdClientId = pTdClientId_, _tdUserKey = pTdUserKey_}+ -- | The Client ID of the application the token is issued to. tdClientId :: Lens' TokensDelete Text
gen/Network/Google/Resource/Directory/Tokens/Get.hs view
@@ -55,11 +55,14 @@ -- | Get information about an access token issued by a user. -- -- /See:/ 'tokensGet' smart constructor.-data TokensGet = TokensGet'+data TokensGet =+ TokensGet' { _tgClientId :: !Text , _tgUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TokensGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'tgUserKey' -> TokensGet tokensGet pTgClientId_ pTgUserKey_ =- TokensGet'- { _tgClientId = pTgClientId_- , _tgUserKey = pTgUserKey_- }+ TokensGet' {_tgClientId = pTgClientId_, _tgUserKey = pTgUserKey_}+ -- | The Client ID of the application the token is issued to. tgClientId :: Lens' TokensGet Text
gen/Network/Google/Resource/Directory/Tokens/List.hs view
@@ -55,10 +55,13 @@ -- applications. -- -- /See:/ 'tokensList' smart constructor.-newtype TokensList = TokensList'+newtype TokensList =+ TokensList' { _tlUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TokensList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,10 +70,8 @@ tokensList :: Text -- ^ 'tlUserKey' -> TokensList-tokensList pTlUserKey_ =- TokensList'- { _tlUserKey = pTlUserKey_- }+tokensList pTlUserKey_ = TokensList' {_tlUserKey = pTlUserKey_}+ -- | Identifies the user in the API request. The value can be the user\'s -- primary email address, alias email address, or unique user ID.
gen/Network/Google/Resource/Directory/Users/Aliases/Delete.hs view
@@ -55,11 +55,14 @@ -- | Remove a alias for the user -- -- /See:/ 'usersAliasesDelete' smart constructor.-data UsersAliasesDelete = UsersAliasesDelete'+data UsersAliasesDelete =+ UsersAliasesDelete' { _uadAlias :: !Text , _uadUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersAliasesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'uadUserKey' -> UsersAliasesDelete usersAliasesDelete pUadAlias_ pUadUserKey_ =- UsersAliasesDelete'- { _uadAlias = pUadAlias_- , _uadUserKey = pUadUserKey_- }+ UsersAliasesDelete' {_uadAlias = pUadAlias_, _uadUserKey = pUadUserKey_}+ -- | The alias to be removed uadAlias :: Lens' UsersAliasesDelete Text
gen/Network/Google/Resource/Directory/Users/Aliases/Insert.hs view
@@ -55,11 +55,14 @@ -- | Add a alias for the user -- -- /See:/ 'usersAliasesInsert' smart constructor.-data UsersAliasesInsert = UsersAliasesInsert'+data UsersAliasesInsert =+ UsersAliasesInsert' { _uaiPayload :: !Alias , _uaiUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersAliasesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'uaiUserKey' -> UsersAliasesInsert usersAliasesInsert pUaiPayload_ pUaiUserKey_ =- UsersAliasesInsert'- { _uaiPayload = pUaiPayload_- , _uaiUserKey = pUaiUserKey_- }+ UsersAliasesInsert' {_uaiPayload = pUaiPayload_, _uaiUserKey = pUaiUserKey_}+ -- | Multipart request metadata. uaiPayload :: Lens' UsersAliasesInsert Alias
gen/Network/Google/Resource/Directory/Users/Aliases/List.hs view
@@ -55,11 +55,14 @@ -- | List all aliases for a user -- -- /See:/ 'usersAliasesList' smart constructor.-data UsersAliasesList = UsersAliasesList'+data UsersAliasesList =+ UsersAliasesList' { _ualEvent :: !(Maybe UsersAliasesListEvent) , _ualUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersAliasesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ :: Text -- ^ 'ualUserKey' -> UsersAliasesList usersAliasesList pUalUserKey_ =- UsersAliasesList'- { _ualEvent = Nothing- , _ualUserKey = pUalUserKey_- }+ UsersAliasesList' {_ualEvent = Nothing, _ualUserKey = pUalUserKey_}+ -- | Event on which subscription is intended (if subscribing) ualEvent :: Lens' UsersAliasesList (Maybe UsersAliasesListEvent)
gen/Network/Google/Resource/Directory/Users/Aliases/Watch.hs view
@@ -58,12 +58,15 @@ -- | Watch for changes in user aliases list -- -- /See:/ 'usersAliasesWatch' smart constructor.-data UsersAliasesWatch = UsersAliasesWatch'+data UsersAliasesWatch =+ UsersAliasesWatch' { _uawEvent :: !(Maybe UsersAliasesWatchEvent) , _uawPayload :: !Channel , _uawUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersAliasesWatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,11 +81,12 @@ -> Text -- ^ 'uawUserKey' -> UsersAliasesWatch usersAliasesWatch pUawPayload_ pUawUserKey_ =- UsersAliasesWatch'+ UsersAliasesWatch' { _uawEvent = Nothing , _uawPayload = pUawPayload_ , _uawUserKey = pUawUserKey_ }+ -- | Event on which subscription is intended (if subscribing) uawEvent :: Lens' UsersAliasesWatch (Maybe UsersAliasesWatchEvent)
gen/Network/Google/Resource/Directory/Users/Delete.hs view
@@ -52,10 +52,13 @@ -- | Delete user -- -- /See:/ 'usersDelete' smart constructor.-newtype UsersDelete = UsersDelete'+newtype UsersDelete =+ UsersDelete' { _udUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ usersDelete :: Text -- ^ 'udUserKey' -> UsersDelete-usersDelete pUdUserKey_ =- UsersDelete'- { _udUserKey = pUdUserKey_- }+usersDelete pUdUserKey_ = UsersDelete' {_udUserKey = pUdUserKey_}+ -- | Email or immutable ID of the user udUserKey :: Lens' UsersDelete Text
gen/Network/Google/Resource/Directory/Users/Get.hs view
@@ -58,13 +58,16 @@ -- | retrieve user -- -- /See:/ 'usersGet' smart constructor.-data UsersGet = UsersGet'+data UsersGet =+ UsersGet' { _ugViewType :: !UsersGetViewType , _ugCustomFieldMask :: !(Maybe Text) , _ugProjection :: !UsersGetProjection , _ugUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -80,12 +83,13 @@ :: Text -- ^ 'ugUserKey' -> UsersGet usersGet pUgUserKey_ =- UsersGet'+ UsersGet' { _ugViewType = UGVTAdminView , _ugCustomFieldMask = Nothing , _ugProjection = UGPBasic , _ugUserKey = pUgUserKey_ }+ -- | Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user. ugViewType :: Lens' UsersGet UsersGetViewType
gen/Network/Google/Resource/Directory/Users/Insert.hs view
@@ -52,10 +52,13 @@ -- | create user. -- -- /See:/ 'usersInsert' smart constructor.-newtype UsersInsert = UsersInsert'+newtype UsersInsert =+ UsersInsert' { _uiPayload :: User- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,10 +67,8 @@ usersInsert :: User -- ^ 'uiPayload' -> UsersInsert-usersInsert pUiPayload_ =- UsersInsert'- { _uiPayload = pUiPayload_- }+usersInsert pUiPayload_ = UsersInsert' {_uiPayload = pUiPayload_}+ -- | Multipart request metadata. uiPayload :: Lens' UsersInsert User
gen/Network/Google/Resource/Directory/Users/List.hs view
@@ -75,7 +75,8 @@ -- | Retrieve either deleted users or all users in a domain (paginated) -- -- /See:/ 'usersList' smart constructor.-data UsersList = UsersList'+data UsersList =+ UsersList' { _ulEvent :: !(Maybe UsersListEvent) , _ulOrderBy :: !(Maybe UsersListOrderBy) , _ulViewType :: !UsersListViewType@@ -88,8 +89,10 @@ , _ulProjection :: !UsersListProjection , _ulPageToken :: !(Maybe Text) , _ulMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -120,7 +123,7 @@ usersList :: UsersList usersList =- UsersList'+ UsersList' { _ulEvent = Nothing , _ulOrderBy = Nothing , _ulViewType = AdminView@@ -134,6 +137,7 @@ , _ulPageToken = Nothing , _ulMaxResults = Nothing }+ -- | Event on which subscription is intended (if subscribing) ulEvent :: Lens' UsersList (Maybe UsersListEvent)
gen/Network/Google/Resource/Directory/Users/MakeAdmin.hs view
@@ -55,11 +55,14 @@ -- | change admin status of a user -- -- /See:/ 'usersMakeAdmin' smart constructor.-data UsersMakeAdmin = UsersMakeAdmin'+data UsersMakeAdmin =+ UsersMakeAdmin' { _umaPayload :: !UserMakeAdmin , _umaUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersMakeAdmin' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'umaUserKey' -> UsersMakeAdmin usersMakeAdmin pUmaPayload_ pUmaUserKey_ =- UsersMakeAdmin'- { _umaPayload = pUmaPayload_- , _umaUserKey = pUmaUserKey_- }+ UsersMakeAdmin' {_umaPayload = pUmaPayload_, _umaUserKey = pUmaUserKey_}+ -- | Multipart request metadata. umaPayload :: Lens' UsersMakeAdmin UserMakeAdmin
gen/Network/Google/Resource/Directory/Users/Patch.hs view
@@ -54,11 +54,14 @@ -- | update user. This method supports patch semantics. -- -- /See:/ 'usersPatch' smart constructor.-data UsersPatch = UsersPatch'+data UsersPatch =+ UsersPatch' { _upPayload :: !User , _upUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Text -- ^ 'upUserKey' -> UsersPatch usersPatch pUpPayload_ pUpUserKey_ =- UsersPatch'- { _upPayload = pUpPayload_- , _upUserKey = pUpUserKey_- }+ UsersPatch' {_upPayload = pUpPayload_, _upUserKey = pUpUserKey_}+ -- | Multipart request metadata. upPayload :: Lens' UsersPatch User
gen/Network/Google/Resource/Directory/Users/Photos/Delete.hs view
@@ -54,10 +54,13 @@ -- | Remove photos for the user -- -- /See:/ 'usersPhotosDelete' smart constructor.-newtype UsersPhotosDelete = UsersPhotosDelete'+newtype UsersPhotosDelete =+ UsersPhotosDelete' { _updUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersPhotosDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,10 +69,8 @@ usersPhotosDelete :: Text -- ^ 'updUserKey' -> UsersPhotosDelete-usersPhotosDelete pUpdUserKey_ =- UsersPhotosDelete'- { _updUserKey = pUpdUserKey_- }+usersPhotosDelete pUpdUserKey_ = UsersPhotosDelete' {_updUserKey = pUpdUserKey_}+ -- | Email or immutable ID of the user updUserKey :: Lens' UsersPhotosDelete Text
gen/Network/Google/Resource/Directory/Users/Photos/Get.hs view
@@ -54,10 +54,13 @@ -- | Retrieve photo of a user -- -- /See:/ 'usersPhotosGet' smart constructor.-newtype UsersPhotosGet = UsersPhotosGet'+newtype UsersPhotosGet =+ UsersPhotosGet' { _upgUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersPhotosGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,10 +69,8 @@ usersPhotosGet :: Text -- ^ 'upgUserKey' -> UsersPhotosGet-usersPhotosGet pUpgUserKey_ =- UsersPhotosGet'- { _upgUserKey = pUpgUserKey_- }+usersPhotosGet pUpgUserKey_ = UsersPhotosGet' {_upgUserKey = pUpgUserKey_}+ -- | Email or immutable ID of the user upgUserKey :: Lens' UsersPhotosGet Text
gen/Network/Google/Resource/Directory/Users/Photos/Patch.hs view
@@ -56,11 +56,14 @@ -- | Add a photo for the user. This method supports patch semantics. -- -- /See:/ 'usersPhotosPatch' smart constructor.-data UsersPhotosPatch = UsersPhotosPatch'+data UsersPhotosPatch =+ UsersPhotosPatch' { _uppPayload :: !UserPhoto , _uppUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersPhotosPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,8 @@ -> Text -- ^ 'uppUserKey' -> UsersPhotosPatch usersPhotosPatch pUppPayload_ pUppUserKey_ =- UsersPhotosPatch'- { _uppPayload = pUppPayload_- , _uppUserKey = pUppUserKey_- }+ UsersPhotosPatch' {_uppPayload = pUppPayload_, _uppUserKey = pUppUserKey_}+ -- | Multipart request metadata. uppPayload :: Lens' UsersPhotosPatch UserPhoto
gen/Network/Google/Resource/Directory/Users/Photos/Update.hs view
@@ -56,11 +56,14 @@ -- | Add a photo for the user -- -- /See:/ 'usersPhotosUpdate' smart constructor.-data UsersPhotosUpdate = UsersPhotosUpdate'+data UsersPhotosUpdate =+ UsersPhotosUpdate' { _upuPayload :: !UserPhoto , _upuUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersPhotosUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +76,8 @@ -> Text -- ^ 'upuUserKey' -> UsersPhotosUpdate usersPhotosUpdate pUpuPayload_ pUpuUserKey_ =- UsersPhotosUpdate'- { _upuPayload = pUpuPayload_- , _upuUserKey = pUpuUserKey_- }+ UsersPhotosUpdate' {_upuPayload = pUpuPayload_, _upuUserKey = pUpuUserKey_}+ -- | Multipart request metadata. upuPayload :: Lens' UsersPhotosUpdate UserPhoto
gen/Network/Google/Resource/Directory/Users/Undelete.hs view
@@ -55,11 +55,14 @@ -- | Undelete a deleted user -- -- /See:/ 'usersUndelete' smart constructor.-data UsersUndelete = UsersUndelete'+data UsersUndelete =+ UsersUndelete' { _uuPayload :: !UserUndelete , _uuUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersUndelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,10 +75,8 @@ -> Text -- ^ 'uuUserKey' -> UsersUndelete usersUndelete pUuPayload_ pUuUserKey_ =- UsersUndelete'- { _uuPayload = pUuPayload_- , _uuUserKey = pUuUserKey_- }+ UsersUndelete' {_uuPayload = pUuPayload_, _uuUserKey = pUuUserKey_}+ -- | Multipart request metadata. uuPayload :: Lens' UsersUndelete UserUndelete
gen/Network/Google/Resource/Directory/Users/Update.hs view
@@ -54,11 +54,14 @@ -- | update user -- -- /See:/ 'usersUpdate' smart constructor.-data UsersUpdate = UsersUpdate'+data UsersUpdate =+ UsersUpdate' { _uPayload :: !User , _uUserKey :: !Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -71,10 +74,8 @@ -> Text -- ^ 'uUserKey' -> UsersUpdate usersUpdate pUPayload_ pUUserKey_ =- UsersUpdate'- { _uPayload = pUPayload_- , _uUserKey = pUUserKey_- }+ UsersUpdate' {_uPayload = pUPayload_, _uUserKey = pUUserKey_}+ -- | Multipart request metadata. uPayload :: Lens' UsersUpdate User
gen/Network/Google/Resource/Directory/Users/Watch.hs view
@@ -78,7 +78,8 @@ -- | Watch for changes in users list -- -- /See:/ 'usersWatch' smart constructor.-data UsersWatch = UsersWatch'+data UsersWatch =+ UsersWatch' { _uwEvent :: !(Maybe UsersWatchEvent) , _uwOrderBy :: !(Maybe UsersWatchOrderBy) , _uwViewType :: !UsersWatchViewType@@ -92,8 +93,10 @@ , _uwProjection :: !UsersWatchProjection , _uwPageToken :: !(Maybe Text) , _uwMaxResults :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UsersWatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -127,7 +130,7 @@ :: Channel -- ^ 'uwPayload' -> UsersWatch usersWatch pUwPayload_ =- UsersWatch'+ UsersWatch' { _uwEvent = Nothing , _uwOrderBy = Nothing , _uwViewType = UWVTAdminView@@ -142,6 +145,7 @@ , _uwPageToken = Nothing , _uwMaxResults = Nothing }+ -- | Event on which subscription is intended (if subscribing) uwEvent :: Lens' UsersWatch (Maybe UsersWatchEvent)
gen/Network/Google/Resource/Directory/VerificationCodes/Generate.hs view
@@ -54,10 +54,13 @@ -- | Generate new backup verification codes for the user. -- -- /See:/ 'verificationCodesGenerate' smart constructor.-newtype VerificationCodesGenerate = VerificationCodesGenerate'+newtype VerificationCodesGenerate =+ VerificationCodesGenerate' { _vcgUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'VerificationCodesGenerate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,9 +70,8 @@ :: Text -- ^ 'vcgUserKey' -> VerificationCodesGenerate verificationCodesGenerate pVcgUserKey_ =- VerificationCodesGenerate'- { _vcgUserKey = pVcgUserKey_- }+ VerificationCodesGenerate' {_vcgUserKey = pVcgUserKey_}+ -- | Email or immutable ID of the user vcgUserKey :: Lens' VerificationCodesGenerate Text
gen/Network/Google/Resource/Directory/VerificationCodes/Invalidate.hs view
@@ -54,10 +54,13 @@ -- | Invalidate the current backup verification codes for the user. -- -- /See:/ 'verificationCodesInvalidate' smart constructor.-newtype VerificationCodesInvalidate = VerificationCodesInvalidate'+newtype VerificationCodesInvalidate =+ VerificationCodesInvalidate' { _vciUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'VerificationCodesInvalidate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,9 +70,8 @@ :: Text -- ^ 'vciUserKey' -> VerificationCodesInvalidate verificationCodesInvalidate pVciUserKey_ =- VerificationCodesInvalidate'- { _vciUserKey = pVciUserKey_- }+ VerificationCodesInvalidate' {_vciUserKey = pVciUserKey_}+ -- | Email or immutable ID of the user vciUserKey :: Lens' VerificationCodesInvalidate Text
gen/Network/Google/Resource/Directory/VerificationCodes/List.hs view
@@ -56,10 +56,13 @@ -- specified user. -- -- /See:/ 'verificationCodesList' smart constructor.-newtype VerificationCodesList = VerificationCodesList'+newtype VerificationCodesList =+ VerificationCodesList' { _vclUserKey :: Text- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'VerificationCodesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,9 +72,8 @@ :: Text -- ^ 'vclUserKey' -> VerificationCodesList verificationCodesList pVclUserKey_ =- VerificationCodesList'- { _vclUserKey = pVclUserKey_- }+ VerificationCodesList' {_vclUserKey = pVclUserKey_}+ -- | Identifies the user in the API request. The value can be the user\'s -- primary email address, alias email address, or unique user ID.
gogol-admin-directory.cabal view
@@ -1,5 +1,5 @@ name: gogol-admin-directory-version: 0.4.0+version: 0.5.0 synopsis: Google Admin Directory SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -155,5 +155,5 @@ , Network.Google.Directory.Types.Sum build-depends:- gogol-core == 0.4.0.*+ gogol-core == 0.5.0.* , base >= 4.7 && < 5