packages feed

gogol-drive 0.4.0 → 0.5.0

raw patch · 51 files changed

+7228/−4771 lines, 51 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

+ Network.Google.Drive: aCanCreateDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive: aDriveThemes :: Lens' About [AboutDriveThemesItem]
+ Network.Google.Drive: aboutDriveThemesItem :: AboutDriveThemesItem
+ Network.Google.Drive: adtiBackgRoundImageLink :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive: adtiColorRgb :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive: adtiId :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive: chaChangeType :: Lens' Change (Maybe Text)
+ Network.Google.Drive: chaDrive :: Lens' Change (Maybe Drive)
+ Network.Google.Drive: chaDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive: dBackgRoundImageFile :: Lens' Drive (Maybe DriveBackgRoundImageFile)
+ Network.Google.Drive: dBackgRoundImageLink :: Lens' Drive (Maybe Text)
+ Network.Google.Drive: dCapabilities :: Lens' Drive (Maybe DriveCapabilities)
+ Network.Google.Drive: dColorRgb :: Lens' Drive (Maybe Text)
+ Network.Google.Drive: dCreatedTime :: Lens' Drive (Maybe UTCTime)
+ Network.Google.Drive: dHidden :: Lens' Drive (Maybe Bool)
+ Network.Google.Drive: dId :: Lens' Drive (Maybe Text)
+ Network.Google.Drive: dKind :: Lens' Drive Text
+ Network.Google.Drive: dName :: Lens' Drive (Maybe Text)
+ Network.Google.Drive: dRestrictions :: Lens' Drive (Maybe DriveRestrictions)
+ Network.Google.Drive: dThemeId :: Lens' Drive (Maybe Text)
+ Network.Google.Drive: data AboutDriveThemesItem
+ Network.Google.Drive: data Drive
+ Network.Google.Drive: data DriveBackgRoundImageFile
+ Network.Google.Drive: data DriveCapabilities
+ Network.Google.Drive: data DriveList
+ Network.Google.Drive: data DriveRestrictions
+ Network.Google.Drive: data PermissionPermissionDetailsItem
+ Network.Google.Drive: dbrifId :: Lens' DriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive: dbrifWidth :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: dbrifXCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: dbrifYCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: dcCanAddChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanChangeDomainUsersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanChangeDriveBackgRound :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanChangeDriveMembersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanComment :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanCopy :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanDeleteChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanDeleteDrive :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanDownload :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanEdit :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanListChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanManageMembers :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanReadRevisions :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanRename :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanRenameDrive :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanShare :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dcCanTrashChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive: dlDrives :: Lens' DriveList [Drive]
+ Network.Google.Drive: dlKind :: Lens' DriveList Text
+ Network.Google.Drive: dlNextPageToken :: Lens' DriveList (Maybe Text)
+ Network.Google.Drive: drAdminManagedRestrictions :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive: drCopyRequiresWriterPermission :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive: drDomainUsersOnly :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive: drDriveMembersOnly :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive: drive :: Drive
+ Network.Google.Drive: driveBackgRoundImageFile :: DriveBackgRoundImageFile
+ Network.Google.Drive: driveCapabilities :: DriveCapabilities
+ Network.Google.Drive: driveList :: DriveList
+ Network.Google.Drive: driveRestrictions :: DriveRestrictions
+ Network.Google.Drive: fDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive: fcCanMoveChildrenOutOfDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveChildrenWithinDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemOutOfDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemWithinDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanReadDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: pPermissionDetails :: Lens' Permission [PermissionPermissionDetailsItem]
+ Network.Google.Drive: permissionPermissionDetailsItem :: PermissionPermissionDetailsItem
+ Network.Google.Drive: ppdiInherited :: Lens' PermissionPermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive: ppdiInheritedFrom :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ppdiPermissionType :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ppdiRole :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: aCanCreateDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive.Types: aDriveThemes :: Lens' About [AboutDriveThemesItem]
+ Network.Google.Drive.Types: aboutDriveThemesItem :: AboutDriveThemesItem
+ Network.Google.Drive.Types: adtiBackgRoundImageLink :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: adtiColorRgb :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: adtiId :: Lens' AboutDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: chaChangeType :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: chaDrive :: Lens' Change (Maybe Drive)
+ Network.Google.Drive.Types: chaDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: dBackgRoundImageFile :: Lens' Drive (Maybe DriveBackgRoundImageFile)
+ Network.Google.Drive.Types: dBackgRoundImageLink :: Lens' Drive (Maybe Text)
+ Network.Google.Drive.Types: dCapabilities :: Lens' Drive (Maybe DriveCapabilities)
+ Network.Google.Drive.Types: dColorRgb :: Lens' Drive (Maybe Text)
+ Network.Google.Drive.Types: dCreatedTime :: Lens' Drive (Maybe UTCTime)
+ Network.Google.Drive.Types: dHidden :: Lens' Drive (Maybe Bool)
+ Network.Google.Drive.Types: dId :: Lens' Drive (Maybe Text)
+ Network.Google.Drive.Types: dKind :: Lens' Drive Text
+ Network.Google.Drive.Types: dName :: Lens' Drive (Maybe Text)
+ Network.Google.Drive.Types: dRestrictions :: Lens' Drive (Maybe DriveRestrictions)
+ Network.Google.Drive.Types: dThemeId :: Lens' Drive (Maybe Text)
+ Network.Google.Drive.Types: data AboutDriveThemesItem
+ Network.Google.Drive.Types: data Drive
+ Network.Google.Drive.Types: data DriveBackgRoundImageFile
+ Network.Google.Drive.Types: data DriveCapabilities
+ Network.Google.Drive.Types: data DriveList
+ Network.Google.Drive.Types: data DriveRestrictions
+ Network.Google.Drive.Types: data PermissionPermissionDetailsItem
+ Network.Google.Drive.Types: dbrifId :: Lens' DriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive.Types: dbrifWidth :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: dbrifXCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: dbrifYCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: dcCanAddChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanChangeDomainUsersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanChangeDriveBackgRound :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanChangeDriveMembersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanComment :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanCopy :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanDeleteChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanDeleteDrive :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanDownload :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanEdit :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanListChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanManageMembers :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanReadRevisions :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanRename :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanRenameDrive :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanShare :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dcCanTrashChildren :: Lens' DriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: dlDrives :: Lens' DriveList [Drive]
+ Network.Google.Drive.Types: dlKind :: Lens' DriveList Text
+ Network.Google.Drive.Types: dlNextPageToken :: Lens' DriveList (Maybe Text)
+ Network.Google.Drive.Types: drAdminManagedRestrictions :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: drCopyRequiresWriterPermission :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: drDomainUsersOnly :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: drDriveMembersOnly :: Lens' DriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: drive :: Drive
+ Network.Google.Drive.Types: driveBackgRoundImageFile :: DriveBackgRoundImageFile
+ Network.Google.Drive.Types: driveCapabilities :: DriveCapabilities
+ Network.Google.Drive.Types: driveList :: DriveList
+ Network.Google.Drive.Types: driveRestrictions :: DriveRestrictions
+ Network.Google.Drive.Types: fDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive.Types: fcCanMoveChildrenOutOfDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveChildrenWithinDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemOutOfDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemWithinDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanReadDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: pPermissionDetails :: Lens' Permission [PermissionPermissionDetailsItem]
+ Network.Google.Drive.Types: permissionPermissionDetailsItem :: PermissionPermissionDetailsItem
+ Network.Google.Drive.Types: ppdiInherited :: Lens' PermissionPermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive.Types: ppdiInheritedFrom :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ppdiPermissionType :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ppdiRole :: Lens' PermissionPermissionDetailsItem (Maybe Text)
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptSupportsAllDrives :: Lens' ChangesGetStartPageToken Bool
+ Network.Google.Resource.Drive.Changes.List: clDriveId :: Lens' ChangesList (Maybe Text)
+ Network.Google.Resource.Drive.Changes.List: clIncludeItemsFromAllDrives :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clSupportsAllDrives :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwDriveId :: Lens' ChangesWatch (Maybe Text)
+ Network.Google.Resource.Drive.Changes.Watch: cwIncludeItemsFromAllDrives :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwSupportsAllDrives :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Drives.Create: data DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: dcPayload :: Lens' DrivesCreate Drive
+ Network.Google.Resource.Drive.Drives.Create: dcRequestId :: Lens' DrivesCreate Text
+ Network.Google.Resource.Drive.Drives.Create: drivesCreate :: Text -> Drive -> DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Create.DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Create.DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Create.DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Create.DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Create.DrivesCreate
+ Network.Google.Resource.Drive.Drives.Create: type DrivesCreateResource = "drive" :> "v3" :> "drives" :> QueryParam "requestId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Drive :> Post '[JSON] Drive
+ Network.Google.Resource.Drive.Drives.Delete: data DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: ddDriveId :: Lens' DrivesDelete Text
+ Network.Google.Resource.Drive.Drives.Delete: drivesDelete :: Text -> DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Delete.DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Delete.DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Delete.DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Delete.DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Delete.DrivesDelete
+ Network.Google.Resource.Drive.Drives.Delete: type DrivesDeleteResource = "drive" :> "v3" :> "drives" :> Capture "driveId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.Drive.Drives.Get: data DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: dgDriveId :: Lens' DrivesGet Text
+ Network.Google.Resource.Drive.Drives.Get: dgUseDomainAdminAccess :: Lens' DrivesGet Bool
+ Network.Google.Resource.Drive.Drives.Get: drivesGet :: Text -> DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Get.DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Get.DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Get.DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Get.DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Get.DrivesGet
+ Network.Google.Resource.Drive.Drives.Get: type DrivesGetResource = "drive" :> "v3" :> "drives" :> Capture "driveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Drive
+ Network.Google.Resource.Drive.Drives.Hide: data DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: dhDriveId :: Lens' DrivesHide Text
+ Network.Google.Resource.Drive.Drives.Hide: drivesHide :: Text -> DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Hide.DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Hide.DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Hide.DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Hide.DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Hide.DrivesHide
+ Network.Google.Resource.Drive.Drives.Hide: type DrivesHideResource = "drive" :> "v3" :> "drives" :> Capture "driveId" Text :> "hide" :> QueryParam "alt" AltJSON :> Post '[JSON] Drive
+ Network.Google.Resource.Drive.Drives.List: data DrivesList
+ Network.Google.Resource.Drive.Drives.List: dlPageSize :: Lens' DrivesList Int32
+ Network.Google.Resource.Drive.Drives.List: dlPageToken :: Lens' DrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Drives.List: dlQ :: Lens' DrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Drives.List: dlUseDomainAdminAccess :: Lens' DrivesList Bool
+ Network.Google.Resource.Drive.Drives.List: drivesList :: DrivesList
+ Network.Google.Resource.Drive.Drives.List: instance Data.Data.Data Network.Google.Resource.Drive.Drives.List.DrivesList
+ Network.Google.Resource.Drive.Drives.List: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.List.DrivesList
+ Network.Google.Resource.Drive.Drives.List: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.List.DrivesList
+ Network.Google.Resource.Drive.Drives.List: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.List.DrivesList
+ Network.Google.Resource.Drive.Drives.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.List.DrivesList
+ Network.Google.Resource.Drive.Drives.List: type DrivesListResource = "drive" :> "v3" :> "drives" :> QueryParam "q" Text :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] DriveList
+ Network.Google.Resource.Drive.Drives.Unhide: data DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: drivesUnhide :: Text -> DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: duDriveId :: Lens' DrivesUnhide Text
+ Network.Google.Resource.Drive.Drives.Unhide: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Unhide.DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Unhide.DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Unhide.DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Unhide.DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Unhide.DrivesUnhide
+ Network.Google.Resource.Drive.Drives.Unhide: type DrivesUnhideResource = "drive" :> "v3" :> "drives" :> Capture "driveId" Text :> "unhide" :> QueryParam "alt" AltJSON :> Post '[JSON] Drive
+ Network.Google.Resource.Drive.Drives.Update: dDriveId :: Lens' DrivesUpdate Text
+ Network.Google.Resource.Drive.Drives.Update: dPayload :: Lens' DrivesUpdate Drive
+ Network.Google.Resource.Drive.Drives.Update: dUseDomainAdminAccess :: Lens' DrivesUpdate Bool
+ Network.Google.Resource.Drive.Drives.Update: data DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: drivesUpdate :: Drive -> Text -> DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: instance Data.Data.Data Network.Google.Resource.Drive.Drives.Update.DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: instance GHC.Classes.Eq Network.Google.Resource.Drive.Drives.Update.DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: instance GHC.Generics.Generic Network.Google.Resource.Drive.Drives.Update.DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: instance GHC.Show.Show Network.Google.Resource.Drive.Drives.Update.DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Drives.Update.DrivesUpdate
+ Network.Google.Resource.Drive.Drives.Update: type DrivesUpdateResource = "drive" :> "v3" :> "drives" :> Capture "driveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Drive :> Patch '[JSON] Drive
+ Network.Google.Resource.Drive.Files.Copy: fSupportsAllDrives :: Lens' FilesCopy Bool
+ Network.Google.Resource.Drive.Files.Create: fcSupportsAllDrives :: Lens' FilesCreate Bool
+ Network.Google.Resource.Drive.Files.Delete: fdSupportsAllDrives :: Lens' FilesDelete Bool
+ Network.Google.Resource.Drive.Files.Get: fgSupportsAllDrives :: Lens' FilesGet Bool
+ Network.Google.Resource.Drive.Files.List: flDriveId :: Lens' FilesList (Maybe Text)
+ Network.Google.Resource.Drive.Files.List: flIncludeItemsFromAllDrives :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.List: flSupportsAllDrives :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.Update: fuSupportsAllDrives :: Lens' FilesUpdate Bool
+ Network.Google.Resource.Drive.Files.Watch: fwSupportsAllDrives :: Lens' FilesWatch Bool
+ Network.Google.Resource.Drive.Permissions.Create: pcSupportsAllDrives :: Lens' PermissionsCreate Bool
+ Network.Google.Resource.Drive.Permissions.Delete: pdSupportsAllDrives :: Lens' PermissionsDelete Bool
+ Network.Google.Resource.Drive.Permissions.Get: pgSupportsAllDrives :: Lens' PermissionsGet Bool
+ Network.Google.Resource.Drive.Permissions.List: plSupportsAllDrives :: Lens' PermissionsList Bool
+ Network.Google.Resource.Drive.Permissions.Update: puSupportsAllDrives :: Lens' PermissionsUpdate Bool
- Network.Google.Drive: type DriveAPI = TeamdrivesListResource :<|> TeamdrivesGetResource :<|> TeamdrivesCreateResource :<|> TeamdrivesDeleteResource :<|> TeamdrivesUpdateResource :<|> ChangesListResource :<|> ChangesGetStartPageTokenResource :<|> ChangesWatchResource :<|> ChannelsStopResource :<|> RepliesListResource :<|> RepliesGetResource :<|> RepliesCreateResource :<|> RepliesDeleteResource :<|> RepliesUpdateResource :<|> AboutGetResource :<|> FilesExportResource :<|> FilesListResource :<|> FilesCopyResource :<|> FilesGetResource :<|> FilesEmptyTrashResource :<|> FilesCreateResource :<|> FilesGenerateIdsResource :<|> FilesDeleteResource :<|> FilesUpdateResource :<|> FilesWatchResource :<|> PermissionsListResource :<|> PermissionsGetResource :<|> PermissionsCreateResource :<|> PermissionsDeleteResource :<|> PermissionsUpdateResource :<|> CommentsListResource :<|> CommentsGetResource :<|> CommentsCreateResource :<|> CommentsDeleteResource :<|> CommentsUpdateResource :<|> RevisionsListResource :<|> RevisionsGetResource :<|> RevisionsDeleteResource :<|> RevisionsUpdateResource
+ Network.Google.Drive: type DriveAPI = TeamdrivesListResource :<|> TeamdrivesGetResource :<|> TeamdrivesCreateResource :<|> TeamdrivesDeleteResource :<|> TeamdrivesUpdateResource :<|> ChangesListResource :<|> ChangesGetStartPageTokenResource :<|> ChangesWatchResource :<|> ChannelsStopResource :<|> RepliesListResource :<|> RepliesGetResource :<|> RepliesCreateResource :<|> RepliesDeleteResource :<|> RepliesUpdateResource :<|> DrivesListResource :<|> DrivesHideResource :<|> DrivesGetResource :<|> DrivesCreateResource :<|> DrivesUnhideResource :<|> DrivesDeleteResource :<|> DrivesUpdateResource :<|> AboutGetResource :<|> FilesExportResource :<|> FilesListResource :<|> FilesCopyResource :<|> FilesGetResource :<|> FilesEmptyTrashResource :<|> FilesCreateResource :<|> FilesGenerateIdsResource :<|> FilesDeleteResource :<|> FilesUpdateResource :<|> FilesWatchResource :<|> PermissionsListResource :<|> PermissionsGetResource :<|> PermissionsCreateResource :<|> PermissionsDeleteResource :<|> PermissionsUpdateResource :<|> CommentsListResource :<|> CommentsGetResource :<|> CommentsCreateResource :<|> CommentsDeleteResource :<|> CommentsUpdateResource :<|> RevisionsListResource :<|> RevisionsGetResource :<|> RevisionsDeleteResource :<|> RevisionsUpdateResource
- Network.Google.Resource.Drive.Changes.GetStartPageToken: type ChangesGetStartPageTokenResource = "drive" :> "v3" :> "changes" :> "startPageToken" :> QueryParam "teamDriveId" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] StartPageToken
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: type ChangesGetStartPageTokenResource = "drive" :> "v3" :> "changes" :> "startPageToken" :> QueryParam "teamDriveId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "driveId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] StartPageToken
- Network.Google.Resource.Drive.Changes.List: type ChangesListResource = "drive" :> "v3" :> "changes" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] ChangeList
+ Network.Google.Resource.Drive.Changes.List: type ChangesListResource = "drive" :> "v3" :> "changes" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "includeItemsFromAllDrives" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "driveId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ChangeList
- Network.Google.Resource.Drive.Changes.Watch: type ChangesWatchResource = "drive" :> "v3" :> "changes" :> "watch" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel
+ Network.Google.Resource.Drive.Changes.Watch: type ChangesWatchResource = "drive" :> "v3" :> "changes" :> "watch" :> QueryParam "pageToken" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "includeCorpusRemovals" Bool :> QueryParam "teamDriveId" Text :> QueryParam "restrictToMyDrive" Bool :> QueryParam "spaces" Text :> QueryParam "includeItemsFromAllDrives" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "driveId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel
- Network.Google.Resource.Drive.Files.Copy: type FilesCopyResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "copy" :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File
+ Network.Google.Resource.Drive.Files.Copy: type FilesCopyResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "copy" :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File
- Network.Google.Resource.Drive.Files.Create: type FilesCreateResource = "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Post '[JSON] File
+ Network.Google.Resource.Drive.Files.Create: type FilesCreateResource = "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Post '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "ignoreDefaultVisibility" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Post '[JSON] File
- Network.Google.Resource.Drive.Files.Delete: type FilesDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.Drive.Files.Delete: type FilesDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Files.Get: type FilesGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] File :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
+ Network.Google.Resource.Drive.Files.Get: type FilesGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] File :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Files.List: type FilesListResource = "drive" :> "v3" :> "files" :> QueryParam "corpora" Text :> QueryParam "orderBy" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "q" Text :> QueryParam "teamDriveId" Text :> QueryParam "spaces" Text :> QueryParam "corpus" FilesListCorpus :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] FileList
+ Network.Google.Resource.Drive.Files.List: type FilesListResource = "drive" :> "v3" :> "files" :> QueryParam "corpora" Text :> QueryParam "orderBy" Text :> QueryParam "includeTeamDriveItems" Bool :> QueryParam "q" Text :> QueryParam "teamDriveId" Text :> QueryParam "spaces" Text :> QueryParam "includeItemsFromAllDrives" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "corpus" FilesListCorpus :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "driveId" Text :> QueryParam "alt" AltJSON :> Get '[JSON] FileList
- Network.Google.Resource.Drive.Files.Update: type FilesUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Patch '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Patch '[JSON] File
+ Network.Google.Resource.Drive.Files.Update: type FilesUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] File :> Patch '[JSON] File :<|> "upload" :> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> QueryParam "removeParents" Text :> QueryParam "useContentAsIndexableText" Bool :> QueryParam "ocrLanguage" Text :> QueryParam "keepRevisionForever" Bool :> QueryParam "supportsAllDrives" Bool :> QueryParam "addParents" Text :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> QueryParam "uploadType" Multipart :> MultipartRelated '[JSON] File :> Patch '[JSON] File
- Network.Google.Resource.Drive.Files.Watch: type FilesWatchResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Post '[OctetStream] Stream
+ Network.Google.Resource.Drive.Files.Watch: type FilesWatchResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "supportsAllDrives" Bool :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "watch" :> QueryParam "supportsAllDrives" Bool :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltMedia :> Post '[OctetStream] Stream
- Network.Google.Resource.Drive.Permissions.Create: type PermissionsCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "sendNotificationEmail" Bool :> QueryParam "emailMessage" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Post '[JSON] Permission
+ Network.Google.Resource.Drive.Permissions.Create: type PermissionsCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "sendNotificationEmail" Bool :> QueryParam "emailMessage" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Post '[JSON] Permission
- Network.Google.Resource.Drive.Permissions.Delete: type PermissionsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.Drive.Permissions.Delete: type PermissionsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Permissions.Get: type PermissionsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Permission
+ Network.Google.Resource.Drive.Permissions.Get: type PermissionsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Permission
- Network.Google.Resource.Drive.Permissions.List: type PermissionsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] PermissionList
+ Network.Google.Resource.Drive.Permissions.List: type PermissionsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> QueryParam "supportsAllDrives" Bool :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] PermissionList
- Network.Google.Resource.Drive.Permissions.Update: type PermissionsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "removeExpiration" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Patch '[JSON] Permission
+ Network.Google.Resource.Drive.Permissions.Update: type PermissionsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "permissions" :> Capture "permissionId" Text :> QueryParam "supportsAllDrives" Bool :> QueryParam "removeExpiration" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Patch '[JSON] Permission

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.3.0`+`0.5.0`   ## Description
gen/Network/Google/Drive.hs view
@@ -67,6 +67,27 @@     -- ** drive.comments.update     , module Network.Google.Resource.Drive.Comments.Update +    -- ** drive.drives.create+    , module Network.Google.Resource.Drive.Drives.Create++    -- ** drive.drives.delete+    , module Network.Google.Resource.Drive.Drives.Delete++    -- ** drive.drives.get+    , module Network.Google.Resource.Drive.Drives.Get++    -- ** drive.drives.hide+    , module Network.Google.Resource.Drive.Drives.Hide++    -- ** drive.drives.list+    , module Network.Google.Resource.Drive.Drives.List++    -- ** drive.drives.unhide+    , module Network.Google.Resource.Drive.Drives.Unhide++    -- ** drive.drives.update+    , module Network.Google.Resource.Drive.Drives.Update+     -- ** drive.files.copy     , module Network.Google.Resource.Drive.Files.Copy @@ -164,6 +185,21 @@     , flKind     , flFiles +    -- ** Drive+    , Drive+    , drive+    , dThemeId+    , dBackgRoundImageFile+    , dColorRgb+    , dCreatedTime+    , dKind+    , dBackgRoundImageLink+    , dName+    , dRestrictions+    , dHidden+    , dId+    , dCapabilities+     -- ** TeamDriveCapabilities     , TeamDriveCapabilities     , teamDriveCapabilities@@ -187,6 +223,14 @@     , tdcCanCopy     , tdcCanShare +    -- ** PermissionPermissionDetailsItem+    , PermissionPermissionDetailsItem+    , permissionPermissionDetailsItem+    , ppdiInherited+    , ppdiPermissionType+    , ppdiRole+    , ppdiInheritedFrom+     -- ** FilesListCorpus     , FilesListCorpus (..) @@ -196,6 +240,28 @@     , cqfcValue     , cqfcMimeType +    -- ** DriveCapabilities+    , DriveCapabilities+    , driveCapabilities+    , dcCanRename+    , dcCanComment+    , dcCanChangeDriveBackgRound+    , dcCanRenameDrive+    , dcCanDownload+    , dcCanChangeDomainUsersOnlyRestriction+    , dcCanTrashChildren+    , dcCanAddChildren+    , dcCanChangeCopyRequiresWriterPermissionRestriction+    , dcCanChangeDriveMembersOnlyRestriction+    , dcCanListChildren+    , dcCanEdit+    , dcCanManageMembers+    , dcCanReadRevisions+    , dcCanDeleteChildren+    , dcCanCopy+    , dcCanDeleteDrive+    , dcCanShare+     -- ** AboutStorageQuota     , AboutStorageQuota     , aboutStorageQuota@@ -227,6 +293,7 @@     , fileCapabilities     , fcCanRename     , fcCanComment+    , fcCanMoveChildrenWithinDrive     , fcCanMoveChildrenWithinTeamDrive     , fcCanDelete     , fcCanMoveItemIntoTeamDrive@@ -234,12 +301,15 @@     , fcCanTrash     , fcCanUntrash     , fcCanTrashChildren+    , fcCanMoveItemOutOfDrive     , fcCanAddChildren     , fcCanRemoveChildren     , fcCanMoveTeamDriveItem     , fcCanMoveItemWithinTeamDrive     , fcCanReadTeamDrive+    , fcCanReadDrive     , fcCanChangeCopyRequiresWriterPermission+    , fcCanMoveChildrenOutOfDrive     , fcCanListChildren     , fcCanMoveChildrenOutOfTeamDrive     , fcCanEdit@@ -248,6 +318,7 @@     , fcCanDeleteChildren     , fcCanMoveItemOutOfTeamDrive     , fcCanCopy+    , fcCanMoveItemWithinDrive     , fcCanShare      -- ** ReplyList@@ -257,6 +328,14 @@     , rlKind     , rlReplies +    -- ** DriveBackgRoundImageFile+    , DriveBackgRoundImageFile+    , driveBackgRoundImageFile+    , dbrifXCoordinate+    , dbrifYCoordinate+    , dbrifWidth+    , dbrifId+     -- ** FileContentHintsThumbnail     , FileContentHintsThumbnail     , fileContentHintsThumbnail@@ -322,6 +401,7 @@     -- ** Change     , Change     , change+    , chaDrive     , chaRemoved     , chaTime     , chaKind@@ -330,6 +410,8 @@     , chaType     , chaFileId     , chaFile+    , chaChangeType+    , chaDriveId      -- ** TeamDrive     , TeamDrive@@ -402,9 +484,11 @@     , aCanCreateTeamDrives     , aImportFormats     , aKind+    , aDriveThemes     , aAppInstalled     , aUser     , aStorageQuota+    , aCanCreateDrives     , aMaxUploadSize     , aTeamDriveThemes     , aFolderColorPalette@@ -495,7 +579,16 @@     , pDeleted     , pType     , pExpirationTime+    , pPermissionDetails +    -- ** DriveRestrictions+    , DriveRestrictions+    , driveRestrictions+    , drAdminManagedRestrictions+    , drDriveMembersOnly+    , drCopyRequiresWriterPermission+    , drDomainUsersOnly+     -- ** File     , File     , file@@ -549,11 +642,19 @@     , fCapabilities     , fDescription     , fViewersCanCopyContent+    , fDriveId     , fSharingUser     , fWebContentLink     , fContentHints     , fProperties +    -- ** AboutDriveThemesItem+    , AboutDriveThemesItem+    , aboutDriveThemesItem+    , adtiColorRgb+    , adtiBackgRoundImageLink+    , adtiId+     -- ** PermissionTeamDrivePermissionDetailsItem     , PermissionTeamDrivePermissionDetailsItem     , permissionTeamDrivePermissionDetailsItem@@ -562,6 +663,13 @@     , ptdpdiRole     , ptdpdiInheritedFrom +    -- ** DriveList+    , DriveList+    , driveList+    , dlNextPageToken+    , dlKind+    , dlDrives+     -- ** GeneratedIds     , GeneratedIds     , generatedIds@@ -608,6 +716,13 @@ import           Network.Google.Resource.Drive.Comments.Get import           Network.Google.Resource.Drive.Comments.List import           Network.Google.Resource.Drive.Comments.Update+import           Network.Google.Resource.Drive.Drives.Create+import           Network.Google.Resource.Drive.Drives.Delete+import           Network.Google.Resource.Drive.Drives.Get+import           Network.Google.Resource.Drive.Drives.Hide+import           Network.Google.Resource.Drive.Drives.List+import           Network.Google.Resource.Drive.Drives.Unhide+import           Network.Google.Resource.Drive.Drives.Update import           Network.Google.Resource.Drive.Files.Copy import           Network.Google.Resource.Drive.Files.Create import           Network.Google.Resource.Drive.Files.Delete@@ -657,6 +772,13 @@        :<|> RepliesCreateResource        :<|> RepliesDeleteResource        :<|> RepliesUpdateResource+       :<|> DrivesListResource+       :<|> DrivesHideResource+       :<|> DrivesGetResource+       :<|> DrivesCreateResource+       :<|> DrivesUnhideResource+       :<|> DrivesDeleteResource+       :<|> DrivesUpdateResource        :<|> AboutGetResource        :<|> FilesExportResource        :<|> FilesListResource
gen/Network/Google/Drive/Types.hs view
@@ -37,6 +37,21 @@     , flKind     , flFiles +    -- * Drive+    , Drive+    , drive+    , dThemeId+    , dBackgRoundImageFile+    , dColorRgb+    , dCreatedTime+    , dKind+    , dBackgRoundImageLink+    , dName+    , dRestrictions+    , dHidden+    , dId+    , dCapabilities+     -- * TeamDriveCapabilities     , TeamDriveCapabilities     , teamDriveCapabilities@@ -60,6 +75,14 @@     , tdcCanCopy     , tdcCanShare +    -- * PermissionPermissionDetailsItem+    , PermissionPermissionDetailsItem+    , permissionPermissionDetailsItem+    , ppdiInherited+    , ppdiPermissionType+    , ppdiRole+    , ppdiInheritedFrom+     -- * FilesListCorpus     , FilesListCorpus (..) @@ -69,6 +92,28 @@     , cqfcValue     , cqfcMimeType +    -- * DriveCapabilities+    , DriveCapabilities+    , driveCapabilities+    , dcCanRename+    , dcCanComment+    , dcCanChangeDriveBackgRound+    , dcCanRenameDrive+    , dcCanDownload+    , dcCanChangeDomainUsersOnlyRestriction+    , dcCanTrashChildren+    , dcCanAddChildren+    , dcCanChangeCopyRequiresWriterPermissionRestriction+    , dcCanChangeDriveMembersOnlyRestriction+    , dcCanListChildren+    , dcCanEdit+    , dcCanManageMembers+    , dcCanReadRevisions+    , dcCanDeleteChildren+    , dcCanCopy+    , dcCanDeleteDrive+    , dcCanShare+     -- * AboutStorageQuota     , AboutStorageQuota     , aboutStorageQuota@@ -100,6 +145,7 @@     , fileCapabilities     , fcCanRename     , fcCanComment+    , fcCanMoveChildrenWithinDrive     , fcCanMoveChildrenWithinTeamDrive     , fcCanDelete     , fcCanMoveItemIntoTeamDrive@@ -107,12 +153,15 @@     , fcCanTrash     , fcCanUntrash     , fcCanTrashChildren+    , fcCanMoveItemOutOfDrive     , fcCanAddChildren     , fcCanRemoveChildren     , fcCanMoveTeamDriveItem     , fcCanMoveItemWithinTeamDrive     , fcCanReadTeamDrive+    , fcCanReadDrive     , fcCanChangeCopyRequiresWriterPermission+    , fcCanMoveChildrenOutOfDrive     , fcCanListChildren     , fcCanMoveChildrenOutOfTeamDrive     , fcCanEdit@@ -121,6 +170,7 @@     , fcCanDeleteChildren     , fcCanMoveItemOutOfTeamDrive     , fcCanCopy+    , fcCanMoveItemWithinDrive     , fcCanShare      -- * ReplyList@@ -130,6 +180,14 @@     , rlKind     , rlReplies +    -- * DriveBackgRoundImageFile+    , DriveBackgRoundImageFile+    , driveBackgRoundImageFile+    , dbrifXCoordinate+    , dbrifYCoordinate+    , dbrifWidth+    , dbrifId+     -- * FileContentHintsThumbnail     , FileContentHintsThumbnail     , fileContentHintsThumbnail@@ -195,6 +253,7 @@     -- * Change     , Change     , change+    , chaDrive     , chaRemoved     , chaTime     , chaKind@@ -203,6 +262,8 @@     , chaType     , chaFileId     , chaFile+    , chaChangeType+    , chaDriveId      -- * TeamDrive     , TeamDrive@@ -275,9 +336,11 @@     , aCanCreateTeamDrives     , aImportFormats     , aKind+    , aDriveThemes     , aAppInstalled     , aUser     , aStorageQuota+    , aCanCreateDrives     , aMaxUploadSize     , aTeamDriveThemes     , aFolderColorPalette@@ -368,7 +431,16 @@     , pDeleted     , pType     , pExpirationTime+    , pPermissionDetails +    -- * DriveRestrictions+    , DriveRestrictions+    , driveRestrictions+    , drAdminManagedRestrictions+    , drDriveMembersOnly+    , drCopyRequiresWriterPermission+    , drDomainUsersOnly+     -- * File     , File     , file@@ -422,11 +494,19 @@     , fCapabilities     , fDescription     , fViewersCanCopyContent+    , fDriveId     , fSharingUser     , fWebContentLink     , fContentHints     , fProperties +    -- * AboutDriveThemesItem+    , AboutDriveThemesItem+    , aboutDriveThemesItem+    , adtiColorRgb+    , adtiBackgRoundImageLink+    , adtiId+     -- * PermissionTeamDrivePermissionDetailsItem     , PermissionTeamDrivePermissionDetailsItem     , permissionTeamDrivePermissionDetailsItem@@ -435,6 +515,13 @@     , ptdpdiRole     , ptdpdiInheritedFrom +    -- * DriveList+    , DriveList+    , driveList+    , dlNextPageToken+    , dlKind+    , dlDrives+     -- * GeneratedIds     , GeneratedIds     , generatedIds@@ -481,33 +568,33 @@  -- | View metadata for files in your Google Drive driveMetadataReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.metadata.readonly"]-driveMetadataReadOnlyScope = Proxy;+driveMetadataReadOnlyScope = Proxy  -- | View the photos, videos and albums in your Google Photos drivePhotosReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.photos.readonly"]-drivePhotosReadOnlyScope = Proxy;+drivePhotosReadOnlyScope = Proxy  -- | View and manage its own configuration data in your Google Drive driveAppDataScope :: Proxy '["https://www.googleapis.com/auth/drive.appdata"]-driveAppDataScope = Proxy;+driveAppDataScope = Proxy  -- | See and download all your Google Drive files driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"]-driveReadOnlyScope = Proxy;+driveReadOnlyScope = Proxy  -- | See, edit, create, and delete all of your Google Drive files driveScope :: Proxy '["https://www.googleapis.com/auth/drive"]-driveScope = Proxy;+driveScope = Proxy  -- | View and manage Google Drive files and folders that you have opened or -- created with this app driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]-driveFileScope = Proxy;+driveFileScope = Proxy  -- | View and manage metadata of files in your Google Drive driveMetadataScope :: Proxy '["https://www.googleapis.com/auth/drive.metadata"]-driveMetadataScope = Proxy;+driveMetadataScope = Proxy  -- | Modify your Google Apps Script scripts\' behavior driveScriptsScope :: Proxy '["https://www.googleapis.com/auth/drive.scripts"]-driveScriptsScope = Proxy;+driveScriptsScope = Proxy
gen/Network/Google/Drive/Types/Product.hs view
@@ -23,4414 +23,5510 @@ -- | A list of files. -- -- /See:/ 'fileList' smart constructor.-data FileList = FileList'-    { _flNextPageToken    :: !(Maybe Text)-    , _flIncompleteSearch :: !(Maybe Bool)-    , _flKind             :: !Text-    , _flFiles            :: !(Maybe [File])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flNextPageToken'------ * 'flIncompleteSearch'------ * 'flKind'------ * 'flFiles'-fileList-    :: FileList-fileList =-    FileList'-    { _flNextPageToken = Nothing-    , _flIncompleteSearch = Nothing-    , _flKind = "drive#fileList"-    , _flFiles = Nothing-    }---- | The page token for the next page of files. This will be absent if the--- end of the files list has been reached. If the token is rejected for any--- reason, it should be discarded, and pagination should be restarted from--- the first page of results.-flNextPageToken :: Lens' FileList (Maybe Text)-flNextPageToken-  = lens _flNextPageToken-      (\ s a -> s{_flNextPageToken = a})---- | Whether the search process was incomplete. If true, then some search--- results may be missing, since all documents were not searched. This may--- occur when searching multiple Team Drives with the--- \"user,allTeamDrives\" corpora, but all corpora could not be searched.--- When this happens, it is suggested that clients narrow their query by--- choosing a different corpus such as \"user\" or \"teamDrive\".-flIncompleteSearch :: Lens' FileList (Maybe Bool)-flIncompleteSearch-  = lens _flIncompleteSearch-      (\ s a -> s{_flIncompleteSearch = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#fileList\".-flKind :: Lens' FileList Text-flKind = lens _flKind (\ s a -> s{_flKind = a})---- | The list of files. If nextPageToken is populated, then this list may be--- incomplete and an additional page of results should be fetched.-flFiles :: Lens' FileList [File]-flFiles-  = lens _flFiles (\ s a -> s{_flFiles = a}) . _Default-      . _Coerce--instance FromJSON FileList where-        parseJSON-          = withObject "FileList"-              (\ o ->-                 FileList' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "incompleteSearch")-                     <*> (o .:? "kind" .!= "drive#fileList")-                     <*> (o .:? "files" .!= mempty))--instance ToJSON FileList where-        toJSON FileList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _flNextPageToken,-                  ("incompleteSearch" .=) <$> _flIncompleteSearch,-                  Just ("kind" .= _flKind), ("files" .=) <$> _flFiles])---- | Capabilities the current user has on this Team Drive.------ /See:/ 'teamDriveCapabilities' smart constructor.-data TeamDriveCapabilities = TeamDriveCapabilities'-    { _tdcCanRename                                        :: !(Maybe Bool)-    , _tdcCanChangeTeamMembersOnlyRestriction              :: !(Maybe Bool)-    , _tdcCanComment                                       :: !(Maybe Bool)-    , _tdcCanRenameTeamDrive                               :: !(Maybe Bool)-    , _tdcCanChangeTeamDriveBackgRound                     :: !(Maybe Bool)-    , _tdcCanDownload                                      :: !(Maybe Bool)-    , _tdcCanChangeDomainUsersOnlyRestriction              :: !(Maybe Bool)-    , _tdcCanTrashChildren                                 :: !(Maybe Bool)-    , _tdcCanAddChildren                                   :: !(Maybe Bool)-    , _tdcCanRemoveChildren                                :: !(Maybe Bool)-    , _tdcCanChangeCopyRequiresWriterPermissionRestriction :: !(Maybe Bool)-    , _tdcCanDeleteTeamDrive                               :: !(Maybe Bool)-    , _tdcCanListChildren                                  :: !(Maybe Bool)-    , _tdcCanEdit                                          :: !(Maybe Bool)-    , _tdcCanManageMembers                                 :: !(Maybe Bool)-    , _tdcCanReadRevisions                                 :: !(Maybe Bool)-    , _tdcCanDeleteChildren                                :: !(Maybe Bool)-    , _tdcCanCopy                                          :: !(Maybe Bool)-    , _tdcCanShare                                         :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TeamDriveCapabilities' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdcCanRename'------ * 'tdcCanChangeTeamMembersOnlyRestriction'------ * 'tdcCanComment'------ * 'tdcCanRenameTeamDrive'------ * 'tdcCanChangeTeamDriveBackgRound'------ * 'tdcCanDownload'------ * 'tdcCanChangeDomainUsersOnlyRestriction'------ * 'tdcCanTrashChildren'------ * 'tdcCanAddChildren'------ * 'tdcCanRemoveChildren'------ * 'tdcCanChangeCopyRequiresWriterPermissionRestriction'------ * 'tdcCanDeleteTeamDrive'------ * 'tdcCanListChildren'------ * 'tdcCanEdit'------ * 'tdcCanManageMembers'------ * 'tdcCanReadRevisions'------ * 'tdcCanDeleteChildren'------ * 'tdcCanCopy'------ * 'tdcCanShare'-teamDriveCapabilities-    :: TeamDriveCapabilities-teamDriveCapabilities =-    TeamDriveCapabilities'-    { _tdcCanRename = Nothing-    , _tdcCanChangeTeamMembersOnlyRestriction = Nothing-    , _tdcCanComment = Nothing-    , _tdcCanRenameTeamDrive = Nothing-    , _tdcCanChangeTeamDriveBackgRound = Nothing-    , _tdcCanDownload = Nothing-    , _tdcCanChangeDomainUsersOnlyRestriction = Nothing-    , _tdcCanTrashChildren = Nothing-    , _tdcCanAddChildren = Nothing-    , _tdcCanRemoveChildren = Nothing-    , _tdcCanChangeCopyRequiresWriterPermissionRestriction = Nothing-    , _tdcCanDeleteTeamDrive = Nothing-    , _tdcCanListChildren = Nothing-    , _tdcCanEdit = Nothing-    , _tdcCanManageMembers = Nothing-    , _tdcCanReadRevisions = Nothing-    , _tdcCanDeleteChildren = Nothing-    , _tdcCanCopy = Nothing-    , _tdcCanShare = Nothing-    }---- | Whether the current user can rename files or folders in this Team Drive.-tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanRename-  = lens _tdcCanRename (\ s a -> s{_tdcCanRename = a})---- | Whether the current user can change the teamMembersOnly restriction of--- this Team Drive.-tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanChangeTeamMembersOnlyRestriction-  = lens _tdcCanChangeTeamMembersOnlyRestriction-      (\ s a ->-         s{_tdcCanChangeTeamMembersOnlyRestriction = a})---- | Whether the current user can comment on files in this Team Drive.-tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanComment-  = lens _tdcCanComment-      (\ s a -> s{_tdcCanComment = a})---- | Whether the current user can rename this Team Drive.-tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanRenameTeamDrive-  = lens _tdcCanRenameTeamDrive-      (\ s a -> s{_tdcCanRenameTeamDrive = a})---- | Whether the current user can change the background of this Team Drive.-tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanChangeTeamDriveBackgRound-  = lens _tdcCanChangeTeamDriveBackgRound-      (\ s a -> s{_tdcCanChangeTeamDriveBackgRound = a})---- | Whether the current user can download files in this Team Drive.-tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanDownload-  = lens _tdcCanDownload-      (\ s a -> s{_tdcCanDownload = a})---- | Whether the current user can change the domainUsersOnly restriction of--- this Team Drive.-tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanChangeDomainUsersOnlyRestriction-  = lens _tdcCanChangeDomainUsersOnlyRestriction-      (\ s a ->-         s{_tdcCanChangeDomainUsersOnlyRestriction = a})---- | Whether the current user can trash children from folders in this Team--- Drive.-tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanTrashChildren-  = lens _tdcCanTrashChildren-      (\ s a -> s{_tdcCanTrashChildren = a})---- | Whether the current user can add children to folders in this Team Drive.-tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanAddChildren-  = lens _tdcCanAddChildren-      (\ s a -> s{_tdcCanAddChildren = a})---- | Deprecated - use canDeleteChildren or canTrashChildren instead.-tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanRemoveChildren-  = lens _tdcCanRemoveChildren-      (\ s a -> s{_tdcCanRemoveChildren = a})---- | Whether the current user can change the copyRequiresWriterPermission--- restriction of this Team Drive.-tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanChangeCopyRequiresWriterPermissionRestriction-  = lens-      _tdcCanChangeCopyRequiresWriterPermissionRestriction-      (\ s a ->-         s{_tdcCanChangeCopyRequiresWriterPermissionRestriction-             = a})---- | Whether the current user can delete this Team Drive. Attempting to--- delete the Team Drive may still fail if there are untrashed items inside--- the Team Drive.-tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanDeleteTeamDrive-  = lens _tdcCanDeleteTeamDrive-      (\ s a -> s{_tdcCanDeleteTeamDrive = a})---- | Whether the current user can list the children of folders in this Team--- Drive.-tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanListChildren-  = lens _tdcCanListChildren-      (\ s a -> s{_tdcCanListChildren = a})---- | Whether the current user can edit files in this Team Drive-tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanEdit-  = lens _tdcCanEdit (\ s a -> s{_tdcCanEdit = a})---- | Whether the current user can add members to this Team Drive or remove--- them or change their role.-tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanManageMembers-  = lens _tdcCanManageMembers-      (\ s a -> s{_tdcCanManageMembers = a})---- | Whether the current user can read the revisions resource of files in--- this Team Drive.-tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanReadRevisions-  = lens _tdcCanReadRevisions-      (\ s a -> s{_tdcCanReadRevisions = a})---- | Whether the current user can delete children from folders in this Team--- Drive.-tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanDeleteChildren-  = lens _tdcCanDeleteChildren-      (\ s a -> s{_tdcCanDeleteChildren = a})---- | Whether the current user can copy files in this Team Drive.-tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanCopy-  = lens _tdcCanCopy (\ s a -> s{_tdcCanCopy = a})---- | Whether the current user can share files or folders in this Team Drive.-tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)-tdcCanShare-  = lens _tdcCanShare (\ s a -> s{_tdcCanShare = a})--instance FromJSON TeamDriveCapabilities where-        parseJSON-          = withObject "TeamDriveCapabilities"-              (\ o ->-                 TeamDriveCapabilities' <$>-                   (o .:? "canRename") <*>-                     (o .:? "canChangeTeamMembersOnlyRestriction")-                     <*> (o .:? "canComment")-                     <*> (o .:? "canRenameTeamDrive")-                     <*> (o .:? "canChangeTeamDriveBackground")-                     <*> (o .:? "canDownload")-                     <*> (o .:? "canChangeDomainUsersOnlyRestriction")-                     <*> (o .:? "canTrashChildren")-                     <*> (o .:? "canAddChildren")-                     <*> (o .:? "canRemoveChildren")-                     <*>-                     (o .:?-                        "canChangeCopyRequiresWriterPermissionRestriction")-                     <*> (o .:? "canDeleteTeamDrive")-                     <*> (o .:? "canListChildren")-                     <*> (o .:? "canEdit")-                     <*> (o .:? "canManageMembers")-                     <*> (o .:? "canReadRevisions")-                     <*> (o .:? "canDeleteChildren")-                     <*> (o .:? "canCopy")-                     <*> (o .:? "canShare"))--instance ToJSON TeamDriveCapabilities where-        toJSON TeamDriveCapabilities'{..}-          = object-              (catMaybes-                 [("canRename" .=) <$> _tdcCanRename,-                  ("canChangeTeamMembersOnlyRestriction" .=) <$>-                    _tdcCanChangeTeamMembersOnlyRestriction,-                  ("canComment" .=) <$> _tdcCanComment,-                  ("canRenameTeamDrive" .=) <$> _tdcCanRenameTeamDrive,-                  ("canChangeTeamDriveBackground" .=) <$>-                    _tdcCanChangeTeamDriveBackgRound,-                  ("canDownload" .=) <$> _tdcCanDownload,-                  ("canChangeDomainUsersOnlyRestriction" .=) <$>-                    _tdcCanChangeDomainUsersOnlyRestriction,-                  ("canTrashChildren" .=) <$> _tdcCanTrashChildren,-                  ("canAddChildren" .=) <$> _tdcCanAddChildren,-                  ("canRemoveChildren" .=) <$> _tdcCanRemoveChildren,-                  ("canChangeCopyRequiresWriterPermissionRestriction"-                     .=)-                    <$>-                    _tdcCanChangeCopyRequiresWriterPermissionRestriction,-                  ("canDeleteTeamDrive" .=) <$> _tdcCanDeleteTeamDrive,-                  ("canListChildren" .=) <$> _tdcCanListChildren,-                  ("canEdit" .=) <$> _tdcCanEdit,-                  ("canManageMembers" .=) <$> _tdcCanManageMembers,-                  ("canReadRevisions" .=) <$> _tdcCanReadRevisions,-                  ("canDeleteChildren" .=) <$> _tdcCanDeleteChildren,-                  ("canCopy" .=) <$> _tdcCanCopy,-                  ("canShare" .=) <$> _tdcCanShare])---- | The file content to which the comment refers, typically within the--- anchor region. For a text file, for example, this would be the text at--- the location of the comment.------ /See:/ 'commentQuotedFileContent' smart constructor.-data CommentQuotedFileContent = CommentQuotedFileContent'-    { _cqfcValue    :: !(Maybe Text)-    , _cqfcMimeType :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentQuotedFileContent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cqfcValue'------ * 'cqfcMimeType'-commentQuotedFileContent-    :: CommentQuotedFileContent-commentQuotedFileContent =-    CommentQuotedFileContent'-    { _cqfcValue = Nothing-    , _cqfcMimeType = Nothing-    }---- | The quoted content itself. This is interpreted as plain text if set--- through the API.-cqfcValue :: Lens' CommentQuotedFileContent (Maybe Text)-cqfcValue-  = lens _cqfcValue (\ s a -> s{_cqfcValue = a})---- | The MIME type of the quoted content.-cqfcMimeType :: Lens' CommentQuotedFileContent (Maybe Text)-cqfcMimeType-  = lens _cqfcMimeType (\ s a -> s{_cqfcMimeType = a})--instance FromJSON CommentQuotedFileContent where-        parseJSON-          = withObject "CommentQuotedFileContent"-              (\ o ->-                 CommentQuotedFileContent' <$>-                   (o .:? "value") <*> (o .:? "mimeType"))--instance ToJSON CommentQuotedFileContent where-        toJSON CommentQuotedFileContent'{..}-          = object-              (catMaybes-                 [("value" .=) <$> _cqfcValue,-                  ("mimeType" .=) <$> _cqfcMimeType])---- | The user\'s storage quota limits and usage. All fields are measured in--- bytes.------ /See:/ 'aboutStorageQuota' smart constructor.-data AboutStorageQuota = AboutStorageQuota'-    { _asqUsageInDriveTrash :: !(Maybe (Textual Int64))-    , _asqLimit             :: !(Maybe (Textual Int64))-    , _asqUsage             :: !(Maybe (Textual Int64))-    , _asqUsageInDrive      :: !(Maybe (Textual Int64))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutStorageQuota' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asqUsageInDriveTrash'------ * 'asqLimit'------ * 'asqUsage'------ * 'asqUsageInDrive'-aboutStorageQuota-    :: AboutStorageQuota-aboutStorageQuota =-    AboutStorageQuota'-    { _asqUsageInDriveTrash = Nothing-    , _asqLimit = Nothing-    , _asqUsage = Nothing-    , _asqUsageInDrive = Nothing-    }---- | The usage by trashed files in Google Drive.-asqUsageInDriveTrash :: Lens' AboutStorageQuota (Maybe Int64)-asqUsageInDriveTrash-  = lens _asqUsageInDriveTrash-      (\ s a -> s{_asqUsageInDriveTrash = a})-      . mapping _Coerce---- | The usage limit, if applicable. This will not be present if the user has--- unlimited storage.-asqLimit :: Lens' AboutStorageQuota (Maybe Int64)-asqLimit-  = lens _asqLimit (\ s a -> s{_asqLimit = a}) .-      mapping _Coerce---- | The total usage across all services.-asqUsage :: Lens' AboutStorageQuota (Maybe Int64)-asqUsage-  = lens _asqUsage (\ s a -> s{_asqUsage = a}) .-      mapping _Coerce---- | The usage by all files in Google Drive.-asqUsageInDrive :: Lens' AboutStorageQuota (Maybe Int64)-asqUsageInDrive-  = lens _asqUsageInDrive-      (\ s a -> s{_asqUsageInDrive = a})-      . mapping _Coerce--instance FromJSON AboutStorageQuota where-        parseJSON-          = withObject "AboutStorageQuota"-              (\ o ->-                 AboutStorageQuota' <$>-                   (o .:? "usageInDriveTrash") <*> (o .:? "limit") <*>-                     (o .:? "usage")-                     <*> (o .:? "usageInDrive"))--instance ToJSON AboutStorageQuota where-        toJSON AboutStorageQuota'{..}-          = object-              (catMaybes-                 [("usageInDriveTrash" .=) <$> _asqUsageInDriveTrash,-                  ("limit" .=) <$> _asqLimit,-                  ("usage" .=) <$> _asqUsage,-                  ("usageInDrive" .=) <$> _asqUsageInDrive])---- | A reply to a comment on a file.------ /See:/ 'reply' smart constructor.-data Reply = Reply'-    { _rHTMLContent  :: !(Maybe Text)-    , _rModifiedTime :: !(Maybe DateTime')-    , _rCreatedTime  :: !(Maybe DateTime')-    , _rKind         :: !Text-    , _rAction       :: !(Maybe Text)-    , _rContent      :: !(Maybe Text)-    , _rAuthor       :: !(Maybe User)-    , _rId           :: !(Maybe Text)-    , _rDeleted      :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Reply' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rHTMLContent'------ * 'rModifiedTime'------ * 'rCreatedTime'------ * 'rKind'------ * 'rAction'------ * 'rContent'------ * 'rAuthor'------ * 'rId'------ * 'rDeleted'-reply-    :: Reply-reply =-    Reply'-    { _rHTMLContent = Nothing-    , _rModifiedTime = Nothing-    , _rCreatedTime = Nothing-    , _rKind = "drive#reply"-    , _rAction = Nothing-    , _rContent = Nothing-    , _rAuthor = Nothing-    , _rId = Nothing-    , _rDeleted = Nothing-    }---- | The content of the reply with HTML formatting.-rHTMLContent :: Lens' Reply (Maybe Text)-rHTMLContent-  = lens _rHTMLContent (\ s a -> s{_rHTMLContent = a})---- | The last time the reply was modified (RFC 3339 date-time).-rModifiedTime :: Lens' Reply (Maybe UTCTime)-rModifiedTime-  = lens _rModifiedTime-      (\ s a -> s{_rModifiedTime = a})-      . mapping _DateTime---- | The time at which the reply was created (RFC 3339 date-time).-rCreatedTime :: Lens' Reply (Maybe UTCTime)-rCreatedTime-  = lens _rCreatedTime (\ s a -> s{_rCreatedTime = a})-      . mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#reply\".-rKind :: Lens' Reply Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | The action the reply performed to the parent comment. Valid values are:--- - resolve - reopen-rAction :: Lens' Reply (Maybe Text)-rAction = lens _rAction (\ s a -> s{_rAction = a})---- | The plain text content of the reply. This field is used for setting the--- content, while htmlContent should be displayed. This is required on--- creates if no action is specified.-rContent :: Lens' Reply (Maybe Text)-rContent = lens _rContent (\ s a -> s{_rContent = a})---- | The user who created the reply.-rAuthor :: Lens' Reply (Maybe User)-rAuthor = lens _rAuthor (\ s a -> s{_rAuthor = a})---- | The ID of the reply.-rId :: Lens' Reply (Maybe Text)-rId = lens _rId (\ s a -> s{_rId = a})---- | Whether the reply has been deleted. A deleted reply has no content.-rDeleted :: Lens' Reply (Maybe Bool)-rDeleted = lens _rDeleted (\ s a -> s{_rDeleted = a})--instance FromJSON Reply where-        parseJSON-          = withObject "Reply"-              (\ o ->-                 Reply' <$>-                   (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>-                     (o .:? "createdTime")-                     <*> (o .:? "kind" .!= "drive#reply")-                     <*> (o .:? "action")-                     <*> (o .:? "content")-                     <*> (o .:? "author")-                     <*> (o .:? "id")-                     <*> (o .:? "deleted"))--instance ToJSON Reply where-        toJSON Reply'{..}-          = object-              (catMaybes-                 [("htmlContent" .=) <$> _rHTMLContent,-                  ("modifiedTime" .=) <$> _rModifiedTime,-                  ("createdTime" .=) <$> _rCreatedTime,-                  Just ("kind" .= _rKind), ("action" .=) <$> _rAction,-                  ("content" .=) <$> _rContent,-                  ("author" .=) <$> _rAuthor, ("id" .=) <$> _rId,-                  ("deleted" .=) <$> _rDeleted])---- | A map of source MIME type to possible targets for all supported imports.------ /See:/ 'aboutImportFormats' smart constructor.-newtype AboutImportFormats = AboutImportFormats'-    { _aifAddtional :: HashMap Text [Text]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutImportFormats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aifAddtional'-aboutImportFormats-    :: HashMap Text [Text] -- ^ 'aifAddtional'-    -> AboutImportFormats-aboutImportFormats pAifAddtional_ =-    AboutImportFormats'-    { _aifAddtional = _Coerce # pAifAddtional_-    }--aifAddtional :: Lens' AboutImportFormats (HashMap Text [Text])-aifAddtional-  = lens _aifAddtional (\ s a -> s{_aifAddtional = a})-      . _Coerce--instance FromJSON AboutImportFormats where-        parseJSON-          = withObject "AboutImportFormats"-              (\ o -> AboutImportFormats' <$> (parseJSONObject o))--instance ToJSON AboutImportFormats where-        toJSON = toJSON . _aifAddtional---- | Capabilities the current user has on this file. Each capability--- corresponds to a fine-grained action that a user may take.------ /See:/ 'fileCapabilities' smart constructor.-data FileCapabilities = FileCapabilities'-    { _fcCanRename                             :: !(Maybe Bool)-    , _fcCanComment                            :: !(Maybe Bool)-    , _fcCanMoveChildrenWithinTeamDrive        :: !(Maybe Bool)-    , _fcCanDelete                             :: !(Maybe Bool)-    , _fcCanMoveItemIntoTeamDrive              :: !(Maybe Bool)-    , _fcCanDownload                           :: !(Maybe Bool)-    , _fcCanTrash                              :: !(Maybe Bool)-    , _fcCanUntrash                            :: !(Maybe Bool)-    , _fcCanTrashChildren                      :: !(Maybe Bool)-    , _fcCanAddChildren                        :: !(Maybe Bool)-    , _fcCanRemoveChildren                     :: !(Maybe Bool)-    , _fcCanMoveTeamDriveItem                  :: !(Maybe Bool)-    , _fcCanMoveItemWithinTeamDrive            :: !(Maybe Bool)-    , _fcCanReadTeamDrive                      :: !(Maybe Bool)-    , _fcCanChangeCopyRequiresWriterPermission :: !(Maybe Bool)-    , _fcCanListChildren                       :: !(Maybe Bool)-    , _fcCanMoveChildrenOutOfTeamDrive         :: !(Maybe Bool)-    , _fcCanEdit                               :: !(Maybe Bool)-    , _fcCanChangeViewersCanCopyContent        :: !(Maybe Bool)-    , _fcCanReadRevisions                      :: !(Maybe Bool)-    , _fcCanDeleteChildren                     :: !(Maybe Bool)-    , _fcCanMoveItemOutOfTeamDrive             :: !(Maybe Bool)-    , _fcCanCopy                               :: !(Maybe Bool)-    , _fcCanShare                              :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileCapabilities' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fcCanRename'------ * 'fcCanComment'------ * 'fcCanMoveChildrenWithinTeamDrive'------ * 'fcCanDelete'------ * 'fcCanMoveItemIntoTeamDrive'------ * 'fcCanDownload'------ * 'fcCanTrash'------ * 'fcCanUntrash'------ * 'fcCanTrashChildren'------ * 'fcCanAddChildren'------ * 'fcCanRemoveChildren'------ * 'fcCanMoveTeamDriveItem'------ * 'fcCanMoveItemWithinTeamDrive'------ * 'fcCanReadTeamDrive'------ * 'fcCanChangeCopyRequiresWriterPermission'------ * 'fcCanListChildren'------ * 'fcCanMoveChildrenOutOfTeamDrive'------ * 'fcCanEdit'------ * 'fcCanChangeViewersCanCopyContent'------ * 'fcCanReadRevisions'------ * 'fcCanDeleteChildren'------ * 'fcCanMoveItemOutOfTeamDrive'------ * 'fcCanCopy'------ * 'fcCanShare'-fileCapabilities-    :: FileCapabilities-fileCapabilities =-    FileCapabilities'-    { _fcCanRename = Nothing-    , _fcCanComment = Nothing-    , _fcCanMoveChildrenWithinTeamDrive = Nothing-    , _fcCanDelete = Nothing-    , _fcCanMoveItemIntoTeamDrive = Nothing-    , _fcCanDownload = Nothing-    , _fcCanTrash = Nothing-    , _fcCanUntrash = Nothing-    , _fcCanTrashChildren = Nothing-    , _fcCanAddChildren = Nothing-    , _fcCanRemoveChildren = Nothing-    , _fcCanMoveTeamDriveItem = Nothing-    , _fcCanMoveItemWithinTeamDrive = Nothing-    , _fcCanReadTeamDrive = Nothing-    , _fcCanChangeCopyRequiresWriterPermission = Nothing-    , _fcCanListChildren = Nothing-    , _fcCanMoveChildrenOutOfTeamDrive = Nothing-    , _fcCanEdit = Nothing-    , _fcCanChangeViewersCanCopyContent = Nothing-    , _fcCanReadRevisions = Nothing-    , _fcCanDeleteChildren = Nothing-    , _fcCanMoveItemOutOfTeamDrive = Nothing-    , _fcCanCopy = Nothing-    , _fcCanShare = Nothing-    }---- | Whether the current user can rename this file.-fcCanRename :: Lens' FileCapabilities (Maybe Bool)-fcCanRename-  = lens _fcCanRename (\ s a -> s{_fcCanRename = a})---- | Whether the current user can comment on this file.-fcCanComment :: Lens' FileCapabilities (Maybe Bool)-fcCanComment-  = lens _fcCanComment (\ s a -> s{_fcCanComment = a})---- | Whether the current user can move children of this folder within the--- Team Drive. This is false when the item is not a folder. Only populated--- for Team Drive items.-fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveChildrenWithinTeamDrive-  = lens _fcCanMoveChildrenWithinTeamDrive-      (\ s a -> s{_fcCanMoveChildrenWithinTeamDrive = a})---- | Whether the current user can delete this file.-fcCanDelete :: Lens' FileCapabilities (Maybe Bool)-fcCanDelete-  = lens _fcCanDelete (\ s a -> s{_fcCanDelete = a})---- | Whether the current user can move this item into a Team Drive. If the--- item is in a Team Drive, this field is equivalent to--- canMoveTeamDriveItem.-fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveItemIntoTeamDrive-  = lens _fcCanMoveItemIntoTeamDrive-      (\ s a -> s{_fcCanMoveItemIntoTeamDrive = a})---- | Whether the current user can download this file.-fcCanDownload :: Lens' FileCapabilities (Maybe Bool)-fcCanDownload-  = lens _fcCanDownload-      (\ s a -> s{_fcCanDownload = a})---- | Whether the current user can move this file to trash.-fcCanTrash :: Lens' FileCapabilities (Maybe Bool)-fcCanTrash-  = lens _fcCanTrash (\ s a -> s{_fcCanTrash = a})---- | Whether the current user can restore this file from trash.-fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)-fcCanUntrash-  = lens _fcCanUntrash (\ s a -> s{_fcCanUntrash = a})---- | Whether the current user can trash children of this folder. This is--- false when the item is not a folder. Only populated for Team Drive--- items.-fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)-fcCanTrashChildren-  = lens _fcCanTrashChildren-      (\ s a -> s{_fcCanTrashChildren = a})---- | Whether the current user can add children to this folder. This is always--- false when the item is not a folder.-fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)-fcCanAddChildren-  = lens _fcCanAddChildren-      (\ s a -> s{_fcCanAddChildren = a})---- | Whether the current user can remove children from this folder. This is--- always false when the item is not a folder. For Team Drive items, use--- canDeleteChildren or canTrashChildren instead.-fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)-fcCanRemoveChildren-  = lens _fcCanRemoveChildren-      (\ s a -> s{_fcCanRemoveChildren = a})---- | Deprecated - use canMoveItemWithinTeamDrive or canMoveItemOutOfTeamDrive--- instead.-fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveTeamDriveItem-  = lens _fcCanMoveTeamDriveItem-      (\ s a -> s{_fcCanMoveTeamDriveItem = a})---- | Whether the current user can move this Team Drive item within this Team--- Drive. Note that a request to change the parent of the item may still--- fail depending on the new parent that is being added. Only populated for--- Team Drive items.-fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveItemWithinTeamDrive-  = lens _fcCanMoveItemWithinTeamDrive-      (\ s a -> s{_fcCanMoveItemWithinTeamDrive = a})---- | Whether the current user can read the Team Drive to which this file--- belongs. Only populated for Team Drive files.-fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanReadTeamDrive-  = lens _fcCanReadTeamDrive-      (\ s a -> s{_fcCanReadTeamDrive = a})---- | Whether the current user can change the copyRequiresWriterPermission--- restriction of this file.-fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)-fcCanChangeCopyRequiresWriterPermission-  = lens _fcCanChangeCopyRequiresWriterPermission-      (\ s a ->-         s{_fcCanChangeCopyRequiresWriterPermission = a})---- | Whether the current user can list the children of this folder. This is--- always false when the item is not a folder.-fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)-fcCanListChildren-  = lens _fcCanListChildren-      (\ s a -> s{_fcCanListChildren = a})---- | Whether the current user can move children of this folder outside of the--- Team Drive. This is false when the item is not a folder. Only populated--- for Team Drive items.-fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveChildrenOutOfTeamDrive-  = lens _fcCanMoveChildrenOutOfTeamDrive-      (\ s a -> s{_fcCanMoveChildrenOutOfTeamDrive = a})---- | Whether the current user can edit this file.-fcCanEdit :: Lens' FileCapabilities (Maybe Bool)-fcCanEdit-  = lens _fcCanEdit (\ s a -> s{_fcCanEdit = a})---- | Deprecated-fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)-fcCanChangeViewersCanCopyContent-  = lens _fcCanChangeViewersCanCopyContent-      (\ s a -> s{_fcCanChangeViewersCanCopyContent = a})---- | Whether the current user can read the revisions resource of this file.--- For a Team Drive item, whether revisions of non-folder descendants of--- this item, or this item itself if it is not a folder, can be read.-fcCanReadRevisions :: Lens' FileCapabilities (Maybe Bool)-fcCanReadRevisions-  = lens _fcCanReadRevisions-      (\ s a -> s{_fcCanReadRevisions = a})---- | Whether the current user can delete children of this folder. This is--- false when the item is not a folder. Only populated for Team Drive--- items.-fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)-fcCanDeleteChildren-  = lens _fcCanDeleteChildren-      (\ s a -> s{_fcCanDeleteChildren = a})---- | Whether the current user can move this Team Drive item outside of this--- Team Drive by changing its parent. Note that a request to change the--- parent of the item may still fail depending on the new parent that is--- being added. Only populated for Team Drive items.-fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)-fcCanMoveItemOutOfTeamDrive-  = lens _fcCanMoveItemOutOfTeamDrive-      (\ s a -> s{_fcCanMoveItemOutOfTeamDrive = a})---- | Whether the current user can copy this file. For a Team Drive item,--- whether the current user can copy non-folder descendants of this item,--- or this item itself if it is not a folder.-fcCanCopy :: Lens' FileCapabilities (Maybe Bool)-fcCanCopy-  = lens _fcCanCopy (\ s a -> s{_fcCanCopy = a})---- | Whether the current user can modify the sharing settings for this file.-fcCanShare :: Lens' FileCapabilities (Maybe Bool)-fcCanShare-  = lens _fcCanShare (\ s a -> s{_fcCanShare = a})--instance FromJSON FileCapabilities where-        parseJSON-          = withObject "FileCapabilities"-              (\ o ->-                 FileCapabilities' <$>-                   (o .:? "canRename") <*> (o .:? "canComment") <*>-                     (o .:? "canMoveChildrenWithinTeamDrive")-                     <*> (o .:? "canDelete")-                     <*> (o .:? "canMoveItemIntoTeamDrive")-                     <*> (o .:? "canDownload")-                     <*> (o .:? "canTrash")-                     <*> (o .:? "canUntrash")-                     <*> (o .:? "canTrashChildren")-                     <*> (o .:? "canAddChildren")-                     <*> (o .:? "canRemoveChildren")-                     <*> (o .:? "canMoveTeamDriveItem")-                     <*> (o .:? "canMoveItemWithinTeamDrive")-                     <*> (o .:? "canReadTeamDrive")-                     <*> (o .:? "canChangeCopyRequiresWriterPermission")-                     <*> (o .:? "canListChildren")-                     <*> (o .:? "canMoveChildrenOutOfTeamDrive")-                     <*> (o .:? "canEdit")-                     <*> (o .:? "canChangeViewersCanCopyContent")-                     <*> (o .:? "canReadRevisions")-                     <*> (o .:? "canDeleteChildren")-                     <*> (o .:? "canMoveItemOutOfTeamDrive")-                     <*> (o .:? "canCopy")-                     <*> (o .:? "canShare"))--instance ToJSON FileCapabilities where-        toJSON FileCapabilities'{..}-          = object-              (catMaybes-                 [("canRename" .=) <$> _fcCanRename,-                  ("canComment" .=) <$> _fcCanComment,-                  ("canMoveChildrenWithinTeamDrive" .=) <$>-                    _fcCanMoveChildrenWithinTeamDrive,-                  ("canDelete" .=) <$> _fcCanDelete,-                  ("canMoveItemIntoTeamDrive" .=) <$>-                    _fcCanMoveItemIntoTeamDrive,-                  ("canDownload" .=) <$> _fcCanDownload,-                  ("canTrash" .=) <$> _fcCanTrash,-                  ("canUntrash" .=) <$> _fcCanUntrash,-                  ("canTrashChildren" .=) <$> _fcCanTrashChildren,-                  ("canAddChildren" .=) <$> _fcCanAddChildren,-                  ("canRemoveChildren" .=) <$> _fcCanRemoveChildren,-                  ("canMoveTeamDriveItem" .=) <$>-                    _fcCanMoveTeamDriveItem,-                  ("canMoveItemWithinTeamDrive" .=) <$>-                    _fcCanMoveItemWithinTeamDrive,-                  ("canReadTeamDrive" .=) <$> _fcCanReadTeamDrive,-                  ("canChangeCopyRequiresWriterPermission" .=) <$>-                    _fcCanChangeCopyRequiresWriterPermission,-                  ("canListChildren" .=) <$> _fcCanListChildren,-                  ("canMoveChildrenOutOfTeamDrive" .=) <$>-                    _fcCanMoveChildrenOutOfTeamDrive,-                  ("canEdit" .=) <$> _fcCanEdit,-                  ("canChangeViewersCanCopyContent" .=) <$>-                    _fcCanChangeViewersCanCopyContent,-                  ("canReadRevisions" .=) <$> _fcCanReadRevisions,-                  ("canDeleteChildren" .=) <$> _fcCanDeleteChildren,-                  ("canMoveItemOutOfTeamDrive" .=) <$>-                    _fcCanMoveItemOutOfTeamDrive,-                  ("canCopy" .=) <$> _fcCanCopy,-                  ("canShare" .=) <$> _fcCanShare])---- | A list of replies to a comment on a file.------ /See:/ 'replyList' smart constructor.-data ReplyList = ReplyList'-    { _rlNextPageToken :: !(Maybe Text)-    , _rlKind          :: !Text-    , _rlReplies       :: !(Maybe [Reply])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ReplyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rlNextPageToken'------ * 'rlKind'------ * 'rlReplies'-replyList-    :: ReplyList-replyList =-    ReplyList'-    { _rlNextPageToken = Nothing-    , _rlKind = "drive#replyList"-    , _rlReplies = Nothing-    }---- | The page token for the next page of replies. This will be absent if the--- end of the replies list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-rlNextPageToken :: Lens' ReplyList (Maybe Text)-rlNextPageToken-  = lens _rlNextPageToken-      (\ s a -> s{_rlNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#replyList\".-rlKind :: Lens' ReplyList Text-rlKind = lens _rlKind (\ s a -> s{_rlKind = a})---- | The list of replies. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-rlReplies :: Lens' ReplyList [Reply]-rlReplies-  = lens _rlReplies (\ s a -> s{_rlReplies = a}) .-      _Default-      . _Coerce--instance FromJSON ReplyList where-        parseJSON-          = withObject "ReplyList"-              (\ o ->-                 ReplyList' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "kind" .!= "drive#replyList")-                     <*> (o .:? "replies" .!= mempty))--instance ToJSON ReplyList where-        toJSON ReplyList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _rlNextPageToken,-                  Just ("kind" .= _rlKind),-                  ("replies" .=) <$> _rlReplies])---- | A thumbnail for the file. This will only be used if Drive cannot--- generate a standard thumbnail.------ /See:/ 'fileContentHintsThumbnail' smart constructor.-data FileContentHintsThumbnail = FileContentHintsThumbnail'-    { _fchtImage    :: !(Maybe Bytes)-    , _fchtMimeType :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileContentHintsThumbnail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fchtImage'------ * 'fchtMimeType'-fileContentHintsThumbnail-    :: FileContentHintsThumbnail-fileContentHintsThumbnail =-    FileContentHintsThumbnail'-    { _fchtImage = Nothing-    , _fchtMimeType = Nothing-    }---- | The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).-fchtImage :: Lens' FileContentHintsThumbnail (Maybe ByteString)-fchtImage-  = lens _fchtImage (\ s a -> s{_fchtImage = a}) .-      mapping _Bytes---- | The MIME type of the thumbnail.-fchtMimeType :: Lens' FileContentHintsThumbnail (Maybe Text)-fchtMimeType-  = lens _fchtMimeType (\ s a -> s{_fchtMimeType = a})--instance FromJSON FileContentHintsThumbnail where-        parseJSON-          = withObject "FileContentHintsThumbnail"-              (\ o ->-                 FileContentHintsThumbnail' <$>-                   (o .:? "image") <*> (o .:? "mimeType"))--instance ToJSON FileContentHintsThumbnail where-        toJSON FileContentHintsThumbnail'{..}-          = object-              (catMaybes-                 [("image" .=) <$> _fchtImage,-                  ("mimeType" .=) <$> _fchtMimeType])---- | A list of Team Drives.------ /See:/ 'teamDriveList' smart constructor.-data TeamDriveList = TeamDriveList'-    { _tdlNextPageToken :: !(Maybe Text)-    , _tdlTeamDrives    :: !(Maybe [TeamDrive])-    , _tdlKind          :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TeamDriveList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdlNextPageToken'------ * 'tdlTeamDrives'------ * 'tdlKind'-teamDriveList-    :: TeamDriveList-teamDriveList =-    TeamDriveList'-    { _tdlNextPageToken = Nothing-    , _tdlTeamDrives = Nothing-    , _tdlKind = "drive#teamDriveList"-    }---- | The page token for the next page of Team Drives. This will be absent if--- the end of the Team Drives list has been reached. If the token is--- rejected for any reason, it should be discarded, and pagination should--- be restarted from the first page of results.-tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)-tdlNextPageToken-  = lens _tdlNextPageToken-      (\ s a -> s{_tdlNextPageToken = a})---- | The list of Team Drives. If nextPageToken is populated, then this list--- may be incomplete and an additional page of results should be fetched.-tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]-tdlTeamDrives-  = lens _tdlTeamDrives-      (\ s a -> s{_tdlTeamDrives = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#teamDriveList\".-tdlKind :: Lens' TeamDriveList Text-tdlKind = lens _tdlKind (\ s a -> s{_tdlKind = a})--instance FromJSON TeamDriveList where-        parseJSON-          = withObject "TeamDriveList"-              (\ o ->-                 TeamDriveList' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "teamDrives" .!= mempty)-                     <*> (o .:? "kind" .!= "drive#teamDriveList"))--instance ToJSON TeamDriveList where-        toJSON TeamDriveList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _tdlNextPageToken,-                  ("teamDrives" .=) <$> _tdlTeamDrives,-                  Just ("kind" .= _tdlKind)])---- | 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])------- /See:/ 'aboutTeamDriveThemesItem' smart constructor.-data AboutTeamDriveThemesItem = AboutTeamDriveThemesItem'-    { _atdtiColorRgb            :: !(Maybe Text)-    , _atdtiBackgRoundImageLink :: !(Maybe Text)-    , _atdtiId                  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutTeamDriveThemesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'atdtiColorRgb'------ * 'atdtiBackgRoundImageLink'------ * 'atdtiId'-aboutTeamDriveThemesItem-    :: AboutTeamDriveThemesItem-aboutTeamDriveThemesItem =-    AboutTeamDriveThemesItem'-    { _atdtiColorRgb = Nothing-    , _atdtiBackgRoundImageLink = Nothing-    , _atdtiId = Nothing-    }---- | The color of this Team Drive theme as an RGB hex string.-atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)-atdtiColorRgb-  = lens _atdtiColorRgb-      (\ s a -> s{_atdtiColorRgb = a})---- | A link to this Team Drive theme\'s background image.-atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)-atdtiBackgRoundImageLink-  = lens _atdtiBackgRoundImageLink-      (\ s a -> s{_atdtiBackgRoundImageLink = a})---- | The ID of the theme.-atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)-atdtiId = lens _atdtiId (\ s a -> s{_atdtiId = a})--instance FromJSON AboutTeamDriveThemesItem where-        parseJSON-          = withObject "AboutTeamDriveThemesItem"-              (\ o ->-                 AboutTeamDriveThemesItem' <$>-                   (o .:? "colorRgb") <*> (o .:? "backgroundImageLink")-                     <*> (o .:? "id"))--instance ToJSON AboutTeamDriveThemesItem where-        toJSON AboutTeamDriveThemesItem'{..}-          = object-              (catMaybes-                 [("colorRgb" .=) <$> _atdtiColorRgb,-                  ("backgroundImageLink" .=) <$>-                    _atdtiBackgRoundImageLink,-                  ("id" .=) <$> _atdtiId])---- | A set of restrictions that apply to this Team Drive or items inside this--- Team Drive.------ /See:/ 'teamDriveRestrictions' smart constructor.-data TeamDriveRestrictions = TeamDriveRestrictions'-    { _tdrTeamMembersOnly              :: !(Maybe Bool)-    , _tdrAdminManagedRestrictions     :: !(Maybe Bool)-    , _tdrCopyRequiresWriterPermission :: !(Maybe Bool)-    , _tdrDomainUsersOnly              :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TeamDriveRestrictions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdrTeamMembersOnly'------ * 'tdrAdminManagedRestrictions'------ * 'tdrCopyRequiresWriterPermission'------ * 'tdrDomainUsersOnly'-teamDriveRestrictions-    :: TeamDriveRestrictions-teamDriveRestrictions =-    TeamDriveRestrictions'-    { _tdrTeamMembersOnly = Nothing-    , _tdrAdminManagedRestrictions = Nothing-    , _tdrCopyRequiresWriterPermission = Nothing-    , _tdrDomainUsersOnly = Nothing-    }---- | Whether access to items inside this Team Drive is restricted to members--- of this Team Drive.-tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)-tdrTeamMembersOnly-  = lens _tdrTeamMembersOnly-      (\ s a -> s{_tdrTeamMembersOnly = a})---- | Whether administrative privileges on this Team Drive are required to--- modify restrictions.-tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)-tdrAdminManagedRestrictions-  = lens _tdrAdminManagedRestrictions-      (\ s a -> s{_tdrAdminManagedRestrictions = a})---- | Whether the options to copy, print, or download files inside this Team--- Drive, should be disabled for readers and commenters. When this--- restriction is set to true, it will override the similarly named field--- to true for any file inside this Team Drive.-tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)-tdrCopyRequiresWriterPermission-  = lens _tdrCopyRequiresWriterPermission-      (\ s a -> s{_tdrCopyRequiresWriterPermission = a})---- | Whether access to this Team Drive and items inside this Team Drive is--- restricted to users of the domain to which this Team Drive belongs. This--- restriction may be overridden by other sharing policies controlled--- outside of this Team Drive.-tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)-tdrDomainUsersOnly-  = lens _tdrDomainUsersOnly-      (\ s a -> s{_tdrDomainUsersOnly = a})--instance FromJSON TeamDriveRestrictions where-        parseJSON-          = withObject "TeamDriveRestrictions"-              (\ o ->-                 TeamDriveRestrictions' <$>-                   (o .:? "teamMembersOnly") <*>-                     (o .:? "adminManagedRestrictions")-                     <*> (o .:? "copyRequiresWriterPermission")-                     <*> (o .:? "domainUsersOnly"))--instance ToJSON TeamDriveRestrictions where-        toJSON TeamDriveRestrictions'{..}-          = object-              (catMaybes-                 [("teamMembersOnly" .=) <$> _tdrTeamMembersOnly,-                  ("adminManagedRestrictions" .=) <$>-                    _tdrAdminManagedRestrictions,-                  ("copyRequiresWriterPermission" .=) <$>-                    _tdrCopyRequiresWriterPermission,-                  ("domainUsersOnly" .=) <$> _tdrDomainUsersOnly])---- | An image file and cropping parameters from which a background image for--- this Team Drive is set. This is a write only field; it can only be set--- on drive.teamdrives.update requests that don\'t set themeId. When--- specified, all fields of the backgroundImageFile must be set.------ /See:/ 'teamDriveBackgRoundImageFile' smart constructor.-data TeamDriveBackgRoundImageFile = TeamDriveBackgRoundImageFile'-    { _tdbrifXCoordinate :: !(Maybe (Textual Double))-    , _tdbrifYCoordinate :: !(Maybe (Textual Double))-    , _tdbrifWidth       :: !(Maybe (Textual Double))-    , _tdbrifId          :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TeamDriveBackgRoundImageFile' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdbrifXCoordinate'------ * 'tdbrifYCoordinate'------ * 'tdbrifWidth'------ * 'tdbrifId'-teamDriveBackgRoundImageFile-    :: TeamDriveBackgRoundImageFile-teamDriveBackgRoundImageFile =-    TeamDriveBackgRoundImageFile'-    { _tdbrifXCoordinate = Nothing-    , _tdbrifYCoordinate = Nothing-    , _tdbrifWidth = Nothing-    , _tdbrifId = Nothing-    }---- | The X coordinate of the upper left corner of the cropping area in the--- background image. This is a value in the closed range of 0 to 1. This--- value represents the horizontal distance from the left side of the--- entire image to the left side of the cropping area divided by the width--- of the entire image.-tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)-tdbrifXCoordinate-  = lens _tdbrifXCoordinate-      (\ s a -> s{_tdbrifXCoordinate = a})-      . mapping _Coerce---- | The Y coordinate of the upper left corner of the cropping area in the--- background image. This is a value in the closed range of 0 to 1. This--- value represents the vertical distance from the top side of the entire--- image to the top side of the cropping area divided by the height of the--- entire image.-tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)-tdbrifYCoordinate-  = lens _tdbrifYCoordinate-      (\ s a -> s{_tdbrifYCoordinate = a})-      . mapping _Coerce---- | The width of the cropped image in the closed range of 0 to 1. This value--- represents the width of the cropped image divided by the width of the--- entire image. The height is computed by applying a width to height--- aspect ratio of 80 to 9. The resulting image must be at least 1280--- pixels wide and 144 pixels high.-tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)-tdbrifWidth-  = lens _tdbrifWidth (\ s a -> s{_tdbrifWidth = a}) .-      mapping _Coerce---- | The ID of an image file in Drive to use for the background image.-tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)-tdbrifId = lens _tdbrifId (\ s a -> s{_tdbrifId = a})--instance FromJSON TeamDriveBackgRoundImageFile where-        parseJSON-          = withObject "TeamDriveBackgRoundImageFile"-              (\ o ->-                 TeamDriveBackgRoundImageFile' <$>-                   (o .:? "xCoordinate") <*> (o .:? "yCoordinate") <*>-                     (o .:? "width")-                     <*> (o .:? "id"))--instance ToJSON TeamDriveBackgRoundImageFile where-        toJSON TeamDriveBackgRoundImageFile'{..}-          = object-              (catMaybes-                 [("xCoordinate" .=) <$> _tdbrifXCoordinate,-                  ("yCoordinate" .=) <$> _tdbrifYCoordinate,-                  ("width" .=) <$> _tdbrifWidth,-                  ("id" .=) <$> _tdbrifId])---- | Additional metadata about video media. This may not be available--- immediately upon upload.------ /See:/ 'fileVideoMediaMetadata' smart constructor.-data FileVideoMediaMetadata = FileVideoMediaMetadata'-    { _fvmmHeight         :: !(Maybe (Textual Int32))-    , _fvmmWidth          :: !(Maybe (Textual Int32))-    , _fvmmDurationMillis :: !(Maybe (Textual Int64))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileVideoMediaMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fvmmHeight'------ * 'fvmmWidth'------ * 'fvmmDurationMillis'-fileVideoMediaMetadata-    :: FileVideoMediaMetadata-fileVideoMediaMetadata =-    FileVideoMediaMetadata'-    { _fvmmHeight = Nothing-    , _fvmmWidth = Nothing-    , _fvmmDurationMillis = Nothing-    }---- | The height of the video in pixels.-fvmmHeight :: Lens' FileVideoMediaMetadata (Maybe Int32)-fvmmHeight-  = lens _fvmmHeight (\ s a -> s{_fvmmHeight = a}) .-      mapping _Coerce---- | The width of the video in pixels.-fvmmWidth :: Lens' FileVideoMediaMetadata (Maybe Int32)-fvmmWidth-  = lens _fvmmWidth (\ s a -> s{_fvmmWidth = a}) .-      mapping _Coerce---- | The duration of the video in milliseconds.-fvmmDurationMillis :: Lens' FileVideoMediaMetadata (Maybe Int64)-fvmmDurationMillis-  = lens _fvmmDurationMillis-      (\ s a -> s{_fvmmDurationMillis = a})-      . mapping _Coerce--instance FromJSON FileVideoMediaMetadata where-        parseJSON-          = withObject "FileVideoMediaMetadata"-              (\ o ->-                 FileVideoMediaMetadata' <$>-                   (o .:? "height") <*> (o .:? "width") <*>-                     (o .:? "durationMillis"))--instance ToJSON FileVideoMediaMetadata where-        toJSON FileVideoMediaMetadata'{..}-          = object-              (catMaybes-                 [("height" .=) <$> _fvmmHeight,-                  ("width" .=) <$> _fvmmWidth,-                  ("durationMillis" .=) <$> _fvmmDurationMillis])---- | A collection of arbitrary key-value pairs which are private to the--- requesting app. Entries with null values are cleared in update and copy--- requests.------ /See:/ 'fileAppProperties' smart constructor.-newtype FileAppProperties = FileAppProperties'-    { _fapAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileAppProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fapAddtional'-fileAppProperties-    :: HashMap Text Text -- ^ 'fapAddtional'-    -> FileAppProperties-fileAppProperties pFapAddtional_ =-    FileAppProperties'-    { _fapAddtional = _Coerce # pFapAddtional_-    }--fapAddtional :: Lens' FileAppProperties (HashMap Text Text)-fapAddtional-  = lens _fapAddtional (\ s a -> s{_fapAddtional = a})-      . _Coerce--instance FromJSON FileAppProperties where-        parseJSON-          = withObject "FileAppProperties"-              (\ o -> FileAppProperties' <$> (parseJSONObject o))--instance ToJSON FileAppProperties where-        toJSON = toJSON . _fapAddtional---- | A change to a file or Team Drive.------ /See:/ 'change' smart constructor.-data Change = Change'-    { _chaRemoved     :: !(Maybe Bool)-    , _chaTime        :: !(Maybe DateTime')-    , _chaKind        :: !Text-    , _chaTeamDrive   :: !(Maybe TeamDrive)-    , _chaTeamDriveId :: !(Maybe Text)-    , _chaType        :: !(Maybe Text)-    , _chaFileId      :: !(Maybe Text)-    , _chaFile        :: !(Maybe File)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Change' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'chaRemoved'------ * 'chaTime'------ * 'chaKind'------ * 'chaTeamDrive'------ * 'chaTeamDriveId'------ * 'chaType'------ * 'chaFileId'------ * 'chaFile'-change-    :: Change-change =-    Change'-    { _chaRemoved = Nothing-    , _chaTime = Nothing-    , _chaKind = "drive#change"-    , _chaTeamDrive = Nothing-    , _chaTeamDriveId = Nothing-    , _chaType = Nothing-    , _chaFileId = Nothing-    , _chaFile = Nothing-    }---- | Whether the file or Team Drive has been removed from this list of--- changes, for example by deletion or loss of access.-chaRemoved :: Lens' Change (Maybe Bool)-chaRemoved-  = lens _chaRemoved (\ s a -> s{_chaRemoved = a})---- | The time of this change (RFC 3339 date-time).-chaTime :: Lens' Change (Maybe UTCTime)-chaTime-  = lens _chaTime (\ s a -> s{_chaTime = a}) .-      mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#change\".-chaKind :: Lens' Change Text-chaKind = lens _chaKind (\ s a -> s{_chaKind = a})---- | The updated state of the Team Drive. Present if the type is teamDrive,--- the user is still a member of the Team Drive, and the Team Drive has not--- been removed.-chaTeamDrive :: Lens' Change (Maybe TeamDrive)-chaTeamDrive-  = lens _chaTeamDrive (\ s a -> s{_chaTeamDrive = a})---- | The ID of the Team Drive associated with this change.-chaTeamDriveId :: Lens' Change (Maybe Text)-chaTeamDriveId-  = lens _chaTeamDriveId-      (\ s a -> s{_chaTeamDriveId = a})---- | The type of the change. Possible values are file and teamDrive.-chaType :: Lens' Change (Maybe Text)-chaType = lens _chaType (\ s a -> s{_chaType = a})---- | The ID of the file which has changed.-chaFileId :: Lens' Change (Maybe Text)-chaFileId-  = lens _chaFileId (\ s a -> s{_chaFileId = a})---- | The updated state of the file. Present if the type is file and the file--- has not been removed from this list of changes.-chaFile :: Lens' Change (Maybe File)-chaFile = lens _chaFile (\ s a -> s{_chaFile = a})--instance FromJSON Change where-        parseJSON-          = withObject "Change"-              (\ o ->-                 Change' <$>-                   (o .:? "removed") <*> (o .:? "time") <*>-                     (o .:? "kind" .!= "drive#change")-                     <*> (o .:? "teamDrive")-                     <*> (o .:? "teamDriveId")-                     <*> (o .:? "type")-                     <*> (o .:? "fileId")-                     <*> (o .:? "file"))--instance ToJSON Change where-        toJSON Change'{..}-          = object-              (catMaybes-                 [("removed" .=) <$> _chaRemoved,-                  ("time" .=) <$> _chaTime, Just ("kind" .= _chaKind),-                  ("teamDrive" .=) <$> _chaTeamDrive,-                  ("teamDriveId" .=) <$> _chaTeamDriveId,-                  ("type" .=) <$> _chaType,-                  ("fileId" .=) <$> _chaFileId,-                  ("file" .=) <$> _chaFile])---- | Representation of a Team Drive.------ /See:/ 'teamDrive' smart constructor.-data TeamDrive = TeamDrive'-    { _tdThemeId             :: !(Maybe Text)-    , _tdBackgRoundImageFile :: !(Maybe TeamDriveBackgRoundImageFile)-    , _tdColorRgb            :: !(Maybe Text)-    , _tdCreatedTime         :: !(Maybe DateTime')-    , _tdKind                :: !Text-    , _tdBackgRoundImageLink :: !(Maybe Text)-    , _tdName                :: !(Maybe Text)-    , _tdRestrictions        :: !(Maybe TeamDriveRestrictions)-    , _tdId                  :: !(Maybe Text)-    , _tdCapabilities        :: !(Maybe TeamDriveCapabilities)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TeamDrive' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdThemeId'------ * 'tdBackgRoundImageFile'------ * 'tdColorRgb'------ * 'tdCreatedTime'------ * 'tdKind'------ * 'tdBackgRoundImageLink'------ * 'tdName'------ * 'tdRestrictions'------ * 'tdId'------ * 'tdCapabilities'-teamDrive-    :: TeamDrive-teamDrive =-    TeamDrive'-    { _tdThemeId = Nothing-    , _tdBackgRoundImageFile = Nothing-    , _tdColorRgb = Nothing-    , _tdCreatedTime = Nothing-    , _tdKind = "drive#teamDrive"-    , _tdBackgRoundImageLink = Nothing-    , _tdName = Nothing-    , _tdRestrictions = Nothing-    , _tdId = Nothing-    , _tdCapabilities = Nothing-    }---- | The ID of the theme from which the background image and color will be--- set. The set of possible teamDriveThemes can be retrieved from a--- drive.about.get response. When not specified on a--- drive.teamdrives.create request, a random theme is chosen from which the--- background image and color are set. This is a write-only field; it can--- only be set on requests that don\'t set colorRgb or backgroundImageFile.-tdThemeId :: Lens' TeamDrive (Maybe Text)-tdThemeId-  = lens _tdThemeId (\ s a -> s{_tdThemeId = a})---- | An image file and cropping parameters from which a background image for--- this Team Drive is set. This is a write only field; it can only be set--- on drive.teamdrives.update requests that don\'t set themeId. When--- specified, all fields of the backgroundImageFile must be set.-tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)-tdBackgRoundImageFile-  = lens _tdBackgRoundImageFile-      (\ s a -> s{_tdBackgRoundImageFile = a})---- | The color of this Team Drive as an RGB hex string. It can only be set on--- a drive.teamdrives.update request that does not set themeId.-tdColorRgb :: Lens' TeamDrive (Maybe Text)-tdColorRgb-  = lens _tdColorRgb (\ s a -> s{_tdColorRgb = a})---- | The time at which the Team Drive was created (RFC 3339 date-time).-tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)-tdCreatedTime-  = lens _tdCreatedTime-      (\ s a -> s{_tdCreatedTime = a})-      . mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#teamDrive\".-tdKind :: Lens' TeamDrive Text-tdKind = lens _tdKind (\ s a -> s{_tdKind = a})---- | A short-lived link to this Team Drive\'s background image.-tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)-tdBackgRoundImageLink-  = lens _tdBackgRoundImageLink-      (\ s a -> s{_tdBackgRoundImageLink = a})---- | The name of this Team Drive.-tdName :: Lens' TeamDrive (Maybe Text)-tdName = lens _tdName (\ s a -> s{_tdName = a})---- | A set of restrictions that apply to this Team Drive or items inside this--- Team Drive.-tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)-tdRestrictions-  = lens _tdRestrictions-      (\ s a -> s{_tdRestrictions = a})---- | The ID of this Team Drive which is also the ID of the top level folder--- of this Team Drive.-tdId :: Lens' TeamDrive (Maybe Text)-tdId = lens _tdId (\ s a -> s{_tdId = a})---- | Capabilities the current user has on this Team Drive.-tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)-tdCapabilities-  = lens _tdCapabilities-      (\ s a -> s{_tdCapabilities = a})--instance FromJSON TeamDrive where-        parseJSON-          = withObject "TeamDrive"-              (\ o ->-                 TeamDrive' <$>-                   (o .:? "themeId") <*> (o .:? "backgroundImageFile")-                     <*> (o .:? "colorRgb")-                     <*> (o .:? "createdTime")-                     <*> (o .:? "kind" .!= "drive#teamDrive")-                     <*> (o .:? "backgroundImageLink")-                     <*> (o .:? "name")-                     <*> (o .:? "restrictions")-                     <*> (o .:? "id")-                     <*> (o .:? "capabilities"))--instance ToJSON TeamDrive where-        toJSON TeamDrive'{..}-          = object-              (catMaybes-                 [("themeId" .=) <$> _tdThemeId,-                  ("backgroundImageFile" .=) <$>-                    _tdBackgRoundImageFile,-                  ("colorRgb" .=) <$> _tdColorRgb,-                  ("createdTime" .=) <$> _tdCreatedTime,-                  Just ("kind" .= _tdKind),-                  ("backgroundImageLink" .=) <$>-                    _tdBackgRoundImageLink,-                  ("name" .=) <$> _tdName,-                  ("restrictions" .=) <$> _tdRestrictions,-                  ("id" .=) <$> _tdId,-                  ("capabilities" .=) <$> _tdCapabilities])---- | A map of source MIME type to possible targets for all supported exports.------ /See:/ 'aboutExportFormats' smart constructor.-newtype AboutExportFormats = AboutExportFormats'-    { _aefAddtional :: HashMap Text [Text]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutExportFormats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aefAddtional'-aboutExportFormats-    :: HashMap Text [Text] -- ^ 'aefAddtional'-    -> AboutExportFormats-aboutExportFormats pAefAddtional_ =-    AboutExportFormats'-    { _aefAddtional = _Coerce # pAefAddtional_-    }--aefAddtional :: Lens' AboutExportFormats (HashMap Text [Text])-aefAddtional-  = lens _aefAddtional (\ s a -> s{_aefAddtional = a})-      . _Coerce--instance FromJSON AboutExportFormats where-        parseJSON-          = withObject "AboutExportFormats"-              (\ o -> AboutExportFormats' <$> (parseJSONObject o))--instance ToJSON AboutExportFormats where-        toJSON = toJSON . _aefAddtional---- | Information about a Drive user.------ /See:/ 'user' smart constructor.-data User = User'-    { _uPhotoLink    :: !(Maybe Text)-    , _uMe           :: !(Maybe Bool)-    , _uKind         :: !Text-    , _uEmailAddress :: !(Maybe Text)-    , _uDisplayName  :: !(Maybe Text)-    , _uPermissionId :: !(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:------ * 'uPhotoLink'------ * 'uMe'------ * 'uKind'------ * 'uEmailAddress'------ * 'uDisplayName'------ * 'uPermissionId'-user-    :: User-user =-    User'-    { _uPhotoLink = Nothing-    , _uMe = Nothing-    , _uKind = "drive#user"-    , _uEmailAddress = Nothing-    , _uDisplayName = Nothing-    , _uPermissionId = Nothing-    }---- | A link to the user\'s profile photo, if available.-uPhotoLink :: Lens' User (Maybe Text)-uPhotoLink-  = lens _uPhotoLink (\ s a -> s{_uPhotoLink = a})---- | Whether this user is the requesting user.-uMe :: Lens' User (Maybe Bool)-uMe = lens _uMe (\ s a -> s{_uMe = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#user\".-uKind :: Lens' User Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | The email address of the user. This may not be present in certain--- contexts if the user has not made their email address visible to the--- requester.-uEmailAddress :: Lens' User (Maybe Text)-uEmailAddress-  = lens _uEmailAddress-      (\ s a -> s{_uEmailAddress = a})---- | A plain text displayable name for this user.-uDisplayName :: Lens' User (Maybe Text)-uDisplayName-  = lens _uDisplayName (\ s a -> s{_uDisplayName = a})---- | The user\'s ID as visible in Permission resources.-uPermissionId :: Lens' User (Maybe Text)-uPermissionId-  = lens _uPermissionId-      (\ s a -> s{_uPermissionId = a})--instance FromJSON User where-        parseJSON-          = withObject "User"-              (\ o ->-                 User' <$>-                   (o .:? "photoLink") <*> (o .:? "me") <*>-                     (o .:? "kind" .!= "drive#user")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "displayName")-                     <*> (o .:? "permissionId"))--instance ToJSON User where-        toJSON User'{..}-          = object-              (catMaybes-                 [("photoLink" .=) <$> _uPhotoLink,-                  ("me" .=) <$> _uMe, Just ("kind" .= _uKind),-                  ("emailAddress" .=) <$> _uEmailAddress,-                  ("displayName" .=) <$> _uDisplayName,-                  ("permissionId" .=) <$> _uPermissionId])---- | A list of changes for a user.------ /See:/ 'changeList' smart constructor.-data ChangeList = ChangeList'-    { _clNewStartPageToken :: !(Maybe Text)-    , _clNextPageToken     :: !(Maybe Text)-    , _clChanges           :: !(Maybe [Change])-    , _clKind              :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChangeList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'clNewStartPageToken'------ * 'clNextPageToken'------ * 'clChanges'------ * 'clKind'-changeList-    :: ChangeList-changeList =-    ChangeList'-    { _clNewStartPageToken = Nothing-    , _clNextPageToken = Nothing-    , _clChanges = Nothing-    , _clKind = "drive#changeList"-    }---- | The starting page token for future changes. This will be present only if--- the end of the current changes list has been reached.-clNewStartPageToken :: Lens' ChangeList (Maybe Text)-clNewStartPageToken-  = lens _clNewStartPageToken-      (\ s a -> s{_clNewStartPageToken = a})---- | The page token for the next page of changes. This will be absent if the--- end of the changes list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-clNextPageToken :: Lens' ChangeList (Maybe Text)-clNextPageToken-  = lens _clNextPageToken-      (\ s a -> s{_clNextPageToken = a})---- | The list of changes. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-clChanges :: Lens' ChangeList [Change]-clChanges-  = lens _clChanges (\ s a -> s{_clChanges = a}) .-      _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#changeList\".-clKind :: Lens' ChangeList Text-clKind = lens _clKind (\ s a -> s{_clKind = a})--instance FromJSON ChangeList where-        parseJSON-          = withObject "ChangeList"-              (\ o ->-                 ChangeList' <$>-                   (o .:? "newStartPageToken") <*>-                     (o .:? "nextPageToken")-                     <*> (o .:? "changes" .!= mempty)-                     <*> (o .:? "kind" .!= "drive#changeList"))--instance ToJSON ChangeList where-        toJSON ChangeList'{..}-          = object-              (catMaybes-                 [("newStartPageToken" .=) <$> _clNewStartPageToken,-                  ("nextPageToken" .=) <$> _clNextPageToken,-                  ("changes" .=) <$> _clChanges,-                  Just ("kind" .= _clKind)])---- | Links for exporting Google Docs to specific formats.------ /See:/ 'revisionExportLinks' smart constructor.-newtype RevisionExportLinks = RevisionExportLinks'-    { _relAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RevisionExportLinks' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'relAddtional'-revisionExportLinks-    :: HashMap Text Text -- ^ 'relAddtional'-    -> RevisionExportLinks-revisionExportLinks pRelAddtional_ =-    RevisionExportLinks'-    { _relAddtional = _Coerce # pRelAddtional_-    }---- | A mapping from export format to URL-relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)-relAddtional-  = lens _relAddtional (\ s a -> s{_relAddtional = a})-      . _Coerce--instance FromJSON RevisionExportLinks where-        parseJSON-          = withObject "RevisionExportLinks"-              (\ o -> RevisionExportLinks' <$> (parseJSONObject o))--instance ToJSON RevisionExportLinks where-        toJSON = toJSON . _relAddtional---- | Additional information about the content of the file. These fields are--- never populated in responses.------ /See:/ 'fileContentHints' smart constructor.-data FileContentHints = FileContentHints'-    { _fchThumbnail     :: !(Maybe FileContentHintsThumbnail)-    , _fchIndexableText :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileContentHints' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fchThumbnail'------ * 'fchIndexableText'-fileContentHints-    :: FileContentHints-fileContentHints =-    FileContentHints'-    { _fchThumbnail = Nothing-    , _fchIndexableText = Nothing-    }---- | A thumbnail for the file. This will only be used if Drive cannot--- generate a standard thumbnail.-fchThumbnail :: Lens' FileContentHints (Maybe FileContentHintsThumbnail)-fchThumbnail-  = lens _fchThumbnail (\ s a -> s{_fchThumbnail = a})---- | Text to be indexed for the file to improve fullText queries. This is--- limited to 128KB in length and may contain HTML elements.-fchIndexableText :: Lens' FileContentHints (Maybe Text)-fchIndexableText-  = lens _fchIndexableText-      (\ s a -> s{_fchIndexableText = a})--instance FromJSON FileContentHints where-        parseJSON-          = withObject "FileContentHints"-              (\ o ->-                 FileContentHints' <$>-                   (o .:? "thumbnail") <*> (o .:? "indexableText"))--instance ToJSON FileContentHints where-        toJSON FileContentHints'{..}-          = object-              (catMaybes-                 [("thumbnail" .=) <$> _fchThumbnail,-                  ("indexableText" .=) <$> _fchIndexableText])---- | 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---- | A collection of arbitrary key-value pairs which are visible to all apps.--- Entries with null values are cleared in update and copy requests.------ /See:/ 'fileProperties' smart constructor.-newtype FileProperties = FileProperties'-    { _fpAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fpAddtional'-fileProperties-    :: HashMap Text Text -- ^ 'fpAddtional'-    -> FileProperties-fileProperties pFpAddtional_ =-    FileProperties'-    { _fpAddtional = _Coerce # pFpAddtional_-    }--fpAddtional :: Lens' FileProperties (HashMap Text Text)-fpAddtional-  = lens _fpAddtional (\ s a -> s{_fpAddtional = a}) .-      _Coerce--instance FromJSON FileProperties where-        parseJSON-          = withObject "FileProperties"-              (\ o -> FileProperties' <$> (parseJSONObject o))--instance ToJSON FileProperties where-        toJSON = toJSON . _fpAddtional---- | A map of maximum import sizes by MIME type, in bytes.------ /See:/ 'aboutMaxImportSizes' smart constructor.-newtype AboutMaxImportSizes = AboutMaxImportSizes'-    { _amisAddtional :: HashMap Text (Textual Int64)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutMaxImportSizes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'amisAddtional'-aboutMaxImportSizes-    :: HashMap Text Int64 -- ^ 'amisAddtional'-    -> AboutMaxImportSizes-aboutMaxImportSizes pAmisAddtional_ =-    AboutMaxImportSizes'-    { _amisAddtional = _Coerce # pAmisAddtional_-    }--amisAddtional :: Lens' AboutMaxImportSizes (HashMap Text Int64)-amisAddtional-  = lens _amisAddtional-      (\ s a -> s{_amisAddtional = a})-      . _Coerce--instance FromJSON AboutMaxImportSizes where-        parseJSON-          = withObject "AboutMaxImportSizes"-              (\ o -> AboutMaxImportSizes' <$> (parseJSONObject o))--instance ToJSON AboutMaxImportSizes where-        toJSON = toJSON . _amisAddtional---- | Information about the user, the user\'s Drive, and system capabilities.------ /See:/ 'about' smart constructor.-data About = About'-    { _aExportFormats       :: !(Maybe AboutExportFormats)-    , _aMaxImportSizes      :: !(Maybe AboutMaxImportSizes)-    , _aCanCreateTeamDrives :: !(Maybe Bool)-    , _aImportFormats       :: !(Maybe AboutImportFormats)-    , _aKind                :: !Text-    , _aAppInstalled        :: !(Maybe Bool)-    , _aUser                :: !(Maybe User)-    , _aStorageQuota        :: !(Maybe AboutStorageQuota)-    , _aMaxUploadSize       :: !(Maybe (Textual Int64))-    , _aTeamDriveThemes     :: !(Maybe [AboutTeamDriveThemesItem])-    , _aFolderColorPalette  :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'About' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aExportFormats'------ * 'aMaxImportSizes'------ * 'aCanCreateTeamDrives'------ * 'aImportFormats'------ * 'aKind'------ * 'aAppInstalled'------ * 'aUser'------ * 'aStorageQuota'------ * 'aMaxUploadSize'------ * 'aTeamDriveThemes'------ * 'aFolderColorPalette'-about-    :: About-about =-    About'-    { _aExportFormats = Nothing-    , _aMaxImportSizes = Nothing-    , _aCanCreateTeamDrives = Nothing-    , _aImportFormats = Nothing-    , _aKind = "drive#about"-    , _aAppInstalled = Nothing-    , _aUser = Nothing-    , _aStorageQuota = Nothing-    , _aMaxUploadSize = Nothing-    , _aTeamDriveThemes = Nothing-    , _aFolderColorPalette = Nothing-    }---- | A map of source MIME type to possible targets for all supported exports.-aExportFormats :: Lens' About (Maybe AboutExportFormats)-aExportFormats-  = lens _aExportFormats-      (\ s a -> s{_aExportFormats = a})---- | A map of maximum import sizes by MIME type, in bytes.-aMaxImportSizes :: Lens' About (Maybe AboutMaxImportSizes)-aMaxImportSizes-  = lens _aMaxImportSizes-      (\ s a -> s{_aMaxImportSizes = a})---- | Whether the user can create Team Drives.-aCanCreateTeamDrives :: Lens' About (Maybe Bool)-aCanCreateTeamDrives-  = lens _aCanCreateTeamDrives-      (\ s a -> s{_aCanCreateTeamDrives = a})---- | A map of source MIME type to possible targets for all supported imports.-aImportFormats :: Lens' About (Maybe AboutImportFormats)-aImportFormats-  = lens _aImportFormats-      (\ s a -> s{_aImportFormats = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#about\".-aKind :: Lens' About Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | Whether the user has installed the requesting app.-aAppInstalled :: Lens' About (Maybe Bool)-aAppInstalled-  = lens _aAppInstalled-      (\ s a -> s{_aAppInstalled = a})---- | The authenticated user.-aUser :: Lens' About (Maybe User)-aUser = lens _aUser (\ s a -> s{_aUser = a})---- | The user\'s storage quota limits and usage. All fields are measured in--- bytes.-aStorageQuota :: Lens' About (Maybe AboutStorageQuota)-aStorageQuota-  = lens _aStorageQuota-      (\ s a -> s{_aStorageQuota = a})---- | The maximum upload size in bytes.-aMaxUploadSize :: Lens' About (Maybe Int64)-aMaxUploadSize-  = lens _aMaxUploadSize-      (\ s a -> s{_aMaxUploadSize = a})-      . mapping _Coerce---- | A list of themes that are supported for Team Drives.-aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]-aTeamDriveThemes-  = lens _aTeamDriveThemes-      (\ s a -> s{_aTeamDriveThemes = a})-      . _Default-      . _Coerce---- | The currently supported folder colors as RGB hex strings.-aFolderColorPalette :: Lens' About [Text]-aFolderColorPalette-  = lens _aFolderColorPalette-      (\ s a -> s{_aFolderColorPalette = a})-      . _Default-      . _Coerce--instance FromJSON About where-        parseJSON-          = withObject "About"-              (\ o ->-                 About' <$>-                   (o .:? "exportFormats") <*> (o .:? "maxImportSizes")-                     <*> (o .:? "canCreateTeamDrives")-                     <*> (o .:? "importFormats")-                     <*> (o .:? "kind" .!= "drive#about")-                     <*> (o .:? "appInstalled")-                     <*> (o .:? "user")-                     <*> (o .:? "storageQuota")-                     <*> (o .:? "maxUploadSize")-                     <*> (o .:? "teamDriveThemes" .!= mempty)-                     <*> (o .:? "folderColorPalette" .!= mempty))--instance ToJSON About where-        toJSON About'{..}-          = object-              (catMaybes-                 [("exportFormats" .=) <$> _aExportFormats,-                  ("maxImportSizes" .=) <$> _aMaxImportSizes,-                  ("canCreateTeamDrives" .=) <$> _aCanCreateTeamDrives,-                  ("importFormats" .=) <$> _aImportFormats,-                  Just ("kind" .= _aKind),-                  ("appInstalled" .=) <$> _aAppInstalled,-                  ("user" .=) <$> _aUser,-                  ("storageQuota" .=) <$> _aStorageQuota,-                  ("maxUploadSize" .=) <$> _aMaxUploadSize,-                  ("teamDriveThemes" .=) <$> _aTeamDriveThemes,-                  ("folderColorPalette" .=) <$> _aFolderColorPalette])---- | Geographic location information stored in the image.------ /See:/ 'fileImageMediaMetadataLocation' smart constructor.-data FileImageMediaMetadataLocation = FileImageMediaMetadataLocation'-    { _fimmlLatitude  :: !(Maybe (Textual Double))-    , _fimmlAltitude  :: !(Maybe (Textual Double))-    , _fimmlLongitude :: !(Maybe (Textual Double))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileImageMediaMetadataLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fimmlLatitude'------ * 'fimmlAltitude'------ * 'fimmlLongitude'-fileImageMediaMetadataLocation-    :: FileImageMediaMetadataLocation-fileImageMediaMetadataLocation =-    FileImageMediaMetadataLocation'-    { _fimmlLatitude = Nothing-    , _fimmlAltitude = Nothing-    , _fimmlLongitude = Nothing-    }---- | The latitude stored in the image.-fimmlLatitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlLatitude-  = lens _fimmlLatitude-      (\ s a -> s{_fimmlLatitude = a})-      . mapping _Coerce---- | The altitude stored in the image.-fimmlAltitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlAltitude-  = lens _fimmlAltitude-      (\ s a -> s{_fimmlAltitude = a})-      . mapping _Coerce---- | The longitude stored in the image.-fimmlLongitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)-fimmlLongitude-  = lens _fimmlLongitude-      (\ s a -> s{_fimmlLongitude = a})-      . mapping _Coerce--instance FromJSON FileImageMediaMetadataLocation-         where-        parseJSON-          = withObject "FileImageMediaMetadataLocation"-              (\ o ->-                 FileImageMediaMetadataLocation' <$>-                   (o .:? "latitude") <*> (o .:? "altitude") <*>-                     (o .:? "longitude"))--instance ToJSON FileImageMediaMetadataLocation where-        toJSON FileImageMediaMetadataLocation'{..}-          = object-              (catMaybes-                 [("latitude" .=) <$> _fimmlLatitude,-                  ("altitude" .=) <$> _fimmlAltitude,-                  ("longitude" .=) <$> _fimmlLongitude])------- /See:/ 'startPageToken' smart constructor.-data StartPageToken = StartPageToken'-    { _sptKind           :: !Text-    , _sptStartPageToken :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StartPageToken' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sptKind'------ * 'sptStartPageToken'-startPageToken-    :: StartPageToken-startPageToken =-    StartPageToken'-    { _sptKind = "drive#startPageToken"-    , _sptStartPageToken = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#startPageToken\".-sptKind :: Lens' StartPageToken Text-sptKind = lens _sptKind (\ s a -> s{_sptKind = a})---- | The starting page token for listing changes.-sptStartPageToken :: Lens' StartPageToken (Maybe Text)-sptStartPageToken-  = lens _sptStartPageToken-      (\ s a -> s{_sptStartPageToken = a})--instance FromJSON StartPageToken where-        parseJSON-          = withObject "StartPageToken"-              (\ o ->-                 StartPageToken' <$>-                   (o .:? "kind" .!= "drive#startPageToken") <*>-                     (o .:? "startPageToken"))--instance ToJSON StartPageToken where-        toJSON StartPageToken'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _sptKind),-                  ("startPageToken" .=) <$> _sptStartPageToken])---- | Additional metadata about image media, if available.------ /See:/ 'fileImageMediaMetadata' smart constructor.-data FileImageMediaMetadata = FileImageMediaMetadata'-    { _fimmRotation         :: !(Maybe (Textual Int32))-    , _fimmHeight           :: !(Maybe (Textual Int32))-    , _fimmSubjectDistance  :: !(Maybe (Textual Int32))-    , _fimmMaxApertureValue :: !(Maybe (Textual Double))-    , _fimmIsoSpeed         :: !(Maybe (Textual Int32))-    , _fimmTime             :: !(Maybe Text)-    , _fimmLocation         :: !(Maybe FileImageMediaMetadataLocation)-    , _fimmAperture         :: !(Maybe (Textual Double))-    , _fimmFocalLength      :: !(Maybe (Textual Double))-    , _fimmCameraMake       :: !(Maybe Text)-    , _fimmWidth            :: !(Maybe (Textual Int32))-    , _fimmExposureTime     :: !(Maybe (Textual Double))-    , _fimmCameraModel      :: !(Maybe Text)-    , _fimmWhiteBalance     :: !(Maybe Text)-    , _fimmLens             :: !(Maybe Text)-    , _fimmFlashUsed        :: !(Maybe Bool)-    , _fimmExposureBias     :: !(Maybe (Textual Double))-    , _fimmMeteringMode     :: !(Maybe Text)-    , _fimmExposureMode     :: !(Maybe Text)-    , _fimmSensor           :: !(Maybe Text)-    , _fimmColorSpace       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileImageMediaMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fimmRotation'------ * 'fimmHeight'------ * 'fimmSubjectDistance'------ * 'fimmMaxApertureValue'------ * 'fimmIsoSpeed'------ * 'fimmTime'------ * 'fimmLocation'------ * 'fimmAperture'------ * 'fimmFocalLength'------ * 'fimmCameraMake'------ * 'fimmWidth'------ * 'fimmExposureTime'------ * 'fimmCameraModel'------ * 'fimmWhiteBalance'------ * 'fimmLens'------ * 'fimmFlashUsed'------ * 'fimmExposureBias'------ * 'fimmMeteringMode'------ * 'fimmExposureMode'------ * 'fimmSensor'------ * 'fimmColorSpace'-fileImageMediaMetadata-    :: FileImageMediaMetadata-fileImageMediaMetadata =-    FileImageMediaMetadata'-    { _fimmRotation = Nothing-    , _fimmHeight = Nothing-    , _fimmSubjectDistance = Nothing-    , _fimmMaxApertureValue = Nothing-    , _fimmIsoSpeed = Nothing-    , _fimmTime = Nothing-    , _fimmLocation = Nothing-    , _fimmAperture = Nothing-    , _fimmFocalLength = Nothing-    , _fimmCameraMake = Nothing-    , _fimmWidth = Nothing-    , _fimmExposureTime = Nothing-    , _fimmCameraModel = Nothing-    , _fimmWhiteBalance = Nothing-    , _fimmLens = Nothing-    , _fimmFlashUsed = Nothing-    , _fimmExposureBias = Nothing-    , _fimmMeteringMode = Nothing-    , _fimmExposureMode = Nothing-    , _fimmSensor = Nothing-    , _fimmColorSpace = Nothing-    }---- | The rotation in clockwise degrees from the image\'s original--- orientation.-fimmRotation :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmRotation-  = lens _fimmRotation (\ s a -> s{_fimmRotation = a})-      . mapping _Coerce---- | The height of the image in pixels.-fimmHeight :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmHeight-  = lens _fimmHeight (\ s a -> s{_fimmHeight = a}) .-      mapping _Coerce---- | The distance to the subject of the photo, in meters.-fimmSubjectDistance :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmSubjectDistance-  = lens _fimmSubjectDistance-      (\ s a -> s{_fimmSubjectDistance = a})-      . mapping _Coerce---- | The smallest f-number of the lens at the focal length used to create the--- photo (APEX value).-fimmMaxApertureValue :: Lens' FileImageMediaMetadata (Maybe Double)-fimmMaxApertureValue-  = lens _fimmMaxApertureValue-      (\ s a -> s{_fimmMaxApertureValue = a})-      . mapping _Coerce---- | The ISO speed used to create the photo.-fimmIsoSpeed :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmIsoSpeed-  = lens _fimmIsoSpeed (\ s a -> s{_fimmIsoSpeed = a})-      . mapping _Coerce---- | The date and time the photo was taken (EXIF DateTime).-fimmTime :: Lens' FileImageMediaMetadata (Maybe Text)-fimmTime = lens _fimmTime (\ s a -> s{_fimmTime = a})---- | Geographic location information stored in the image.-fimmLocation :: Lens' FileImageMediaMetadata (Maybe FileImageMediaMetadataLocation)-fimmLocation-  = lens _fimmLocation (\ s a -> s{_fimmLocation = a})---- | The aperture used to create the photo (f-number).-fimmAperture :: Lens' FileImageMediaMetadata (Maybe Double)-fimmAperture-  = lens _fimmAperture (\ s a -> s{_fimmAperture = a})-      . mapping _Coerce---- | The focal length used to create the photo, in millimeters.-fimmFocalLength :: Lens' FileImageMediaMetadata (Maybe Double)-fimmFocalLength-  = lens _fimmFocalLength-      (\ s a -> s{_fimmFocalLength = a})-      . mapping _Coerce---- | The make of the camera used to create the photo.-fimmCameraMake :: Lens' FileImageMediaMetadata (Maybe Text)-fimmCameraMake-  = lens _fimmCameraMake-      (\ s a -> s{_fimmCameraMake = a})---- | The width of the image in pixels.-fimmWidth :: Lens' FileImageMediaMetadata (Maybe Int32)-fimmWidth-  = lens _fimmWidth (\ s a -> s{_fimmWidth = a}) .-      mapping _Coerce---- | The length of the exposure, in seconds.-fimmExposureTime :: Lens' FileImageMediaMetadata (Maybe Double)-fimmExposureTime-  = lens _fimmExposureTime-      (\ s a -> s{_fimmExposureTime = a})-      . mapping _Coerce---- | The model of the camera used to create the photo.-fimmCameraModel :: Lens' FileImageMediaMetadata (Maybe Text)-fimmCameraModel-  = lens _fimmCameraModel-      (\ s a -> s{_fimmCameraModel = a})---- | The white balance mode used to create the photo.-fimmWhiteBalance :: Lens' FileImageMediaMetadata (Maybe Text)-fimmWhiteBalance-  = lens _fimmWhiteBalance-      (\ s a -> s{_fimmWhiteBalance = a})---- | The lens used to create the photo.-fimmLens :: Lens' FileImageMediaMetadata (Maybe Text)-fimmLens = lens _fimmLens (\ s a -> s{_fimmLens = a})---- | Whether a flash was used to create the photo.-fimmFlashUsed :: Lens' FileImageMediaMetadata (Maybe Bool)-fimmFlashUsed-  = lens _fimmFlashUsed-      (\ s a -> s{_fimmFlashUsed = a})---- | The exposure bias of the photo (APEX value).-fimmExposureBias :: Lens' FileImageMediaMetadata (Maybe Double)-fimmExposureBias-  = lens _fimmExposureBias-      (\ s a -> s{_fimmExposureBias = a})-      . mapping _Coerce---- | The metering mode used to create the photo.-fimmMeteringMode :: Lens' FileImageMediaMetadata (Maybe Text)-fimmMeteringMode-  = lens _fimmMeteringMode-      (\ s a -> s{_fimmMeteringMode = a})---- | The exposure mode used to create the photo.-fimmExposureMode :: Lens' FileImageMediaMetadata (Maybe Text)-fimmExposureMode-  = lens _fimmExposureMode-      (\ s a -> s{_fimmExposureMode = a})---- | The type of sensor used to create the photo.-fimmSensor :: Lens' FileImageMediaMetadata (Maybe Text)-fimmSensor-  = lens _fimmSensor (\ s a -> s{_fimmSensor = a})---- | The color space of the photo.-fimmColorSpace :: Lens' FileImageMediaMetadata (Maybe Text)-fimmColorSpace-  = lens _fimmColorSpace-      (\ s a -> s{_fimmColorSpace = a})--instance FromJSON FileImageMediaMetadata where-        parseJSON-          = withObject "FileImageMediaMetadata"-              (\ o ->-                 FileImageMediaMetadata' <$>-                   (o .:? "rotation") <*> (o .:? "height") <*>-                     (o .:? "subjectDistance")-                     <*> (o .:? "maxApertureValue")-                     <*> (o .:? "isoSpeed")-                     <*> (o .:? "time")-                     <*> (o .:? "location")-                     <*> (o .:? "aperture")-                     <*> (o .:? "focalLength")-                     <*> (o .:? "cameraMake")-                     <*> (o .:? "width")-                     <*> (o .:? "exposureTime")-                     <*> (o .:? "cameraModel")-                     <*> (o .:? "whiteBalance")-                     <*> (o .:? "lens")-                     <*> (o .:? "flashUsed")-                     <*> (o .:? "exposureBias")-                     <*> (o .:? "meteringMode")-                     <*> (o .:? "exposureMode")-                     <*> (o .:? "sensor")-                     <*> (o .:? "colorSpace"))--instance ToJSON FileImageMediaMetadata where-        toJSON FileImageMediaMetadata'{..}-          = object-              (catMaybes-                 [("rotation" .=) <$> _fimmRotation,-                  ("height" .=) <$> _fimmHeight,-                  ("subjectDistance" .=) <$> _fimmSubjectDistance,-                  ("maxApertureValue" .=) <$> _fimmMaxApertureValue,-                  ("isoSpeed" .=) <$> _fimmIsoSpeed,-                  ("time" .=) <$> _fimmTime,-                  ("location" .=) <$> _fimmLocation,-                  ("aperture" .=) <$> _fimmAperture,-                  ("focalLength" .=) <$> _fimmFocalLength,-                  ("cameraMake" .=) <$> _fimmCameraMake,-                  ("width" .=) <$> _fimmWidth,-                  ("exposureTime" .=) <$> _fimmExposureTime,-                  ("cameraModel" .=) <$> _fimmCameraModel,-                  ("whiteBalance" .=) <$> _fimmWhiteBalance,-                  ("lens" .=) <$> _fimmLens,-                  ("flashUsed" .=) <$> _fimmFlashUsed,-                  ("exposureBias" .=) <$> _fimmExposureBias,-                  ("meteringMode" .=) <$> _fimmMeteringMode,-                  ("exposureMode" .=) <$> _fimmExposureMode,-                  ("sensor" .=) <$> _fimmSensor,-                  ("colorSpace" .=) <$> _fimmColorSpace])---- | A comment on a file.------ /See:/ 'comment' smart constructor.-data Comment = Comment'-    { _comHTMLContent       :: !(Maybe Text)-    , _comModifiedTime      :: !(Maybe DateTime')-    , _comCreatedTime       :: !(Maybe DateTime')-    , _comKind              :: !Text-    , _comResolved          :: !(Maybe Bool)-    , _comQuotedFileContent :: !(Maybe CommentQuotedFileContent)-    , _comAnchor            :: !(Maybe Text)-    , _comContent           :: !(Maybe Text)-    , _comReplies           :: !(Maybe [Reply])-    , _comAuthor            :: !(Maybe User)-    , _comId                :: !(Maybe Text)-    , _comDeleted           :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Comment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comHTMLContent'------ * 'comModifiedTime'------ * 'comCreatedTime'------ * 'comKind'------ * 'comResolved'------ * 'comQuotedFileContent'------ * 'comAnchor'------ * 'comContent'------ * 'comReplies'------ * 'comAuthor'------ * 'comId'------ * 'comDeleted'-comment-    :: Comment-comment =-    Comment'-    { _comHTMLContent = Nothing-    , _comModifiedTime = Nothing-    , _comCreatedTime = Nothing-    , _comKind = "drive#comment"-    , _comResolved = Nothing-    , _comQuotedFileContent = Nothing-    , _comAnchor = Nothing-    , _comContent = Nothing-    , _comReplies = Nothing-    , _comAuthor = Nothing-    , _comId = Nothing-    , _comDeleted = Nothing-    }---- | The content of the comment with HTML formatting.-comHTMLContent :: Lens' Comment (Maybe Text)-comHTMLContent-  = lens _comHTMLContent-      (\ s a -> s{_comHTMLContent = a})---- | The last time the comment or any of its replies was modified (RFC 3339--- date-time).-comModifiedTime :: Lens' Comment (Maybe UTCTime)-comModifiedTime-  = lens _comModifiedTime-      (\ s a -> s{_comModifiedTime = a})-      . mapping _DateTime---- | The time at which the comment was created (RFC 3339 date-time).-comCreatedTime :: Lens' Comment (Maybe UTCTime)-comCreatedTime-  = lens _comCreatedTime-      (\ s a -> s{_comCreatedTime = a})-      . mapping _DateTime---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#comment\".-comKind :: Lens' Comment Text-comKind = lens _comKind (\ s a -> s{_comKind = a})---- | Whether the comment has been resolved by one of its replies.-comResolved :: Lens' Comment (Maybe Bool)-comResolved-  = lens _comResolved (\ s a -> s{_comResolved = a})---- | The file content to which the comment refers, typically within the--- anchor region. For a text file, for example, this would be the text at--- the location of the comment.-comQuotedFileContent :: Lens' Comment (Maybe CommentQuotedFileContent)-comQuotedFileContent-  = lens _comQuotedFileContent-      (\ s a -> s{_comQuotedFileContent = a})---- | A region of the document represented as a JSON string. See anchor--- documentation for details on how to define and interpret anchor--- properties.-comAnchor :: Lens' Comment (Maybe Text)-comAnchor-  = lens _comAnchor (\ s a -> s{_comAnchor = a})---- | The plain text content of the comment. This field is used for setting--- the content, while htmlContent should be displayed.-comContent :: Lens' Comment (Maybe Text)-comContent-  = lens _comContent (\ s a -> s{_comContent = a})---- | The full list of replies to the comment in chronological order.-comReplies :: Lens' Comment [Reply]-comReplies-  = lens _comReplies (\ s a -> s{_comReplies = a}) .-      _Default-      . _Coerce---- | The user who created the comment.-comAuthor :: Lens' Comment (Maybe User)-comAuthor-  = lens _comAuthor (\ s a -> s{_comAuthor = a})---- | The ID of the comment.-comId :: Lens' Comment (Maybe Text)-comId = lens _comId (\ s a -> s{_comId = a})---- | Whether the comment has been deleted. A deleted comment has no content.-comDeleted :: Lens' Comment (Maybe Bool)-comDeleted-  = lens _comDeleted (\ s a -> s{_comDeleted = a})--instance FromJSON Comment where-        parseJSON-          = withObject "Comment"-              (\ o ->-                 Comment' <$>-                   (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>-                     (o .:? "createdTime")-                     <*> (o .:? "kind" .!= "drive#comment")-                     <*> (o .:? "resolved")-                     <*> (o .:? "quotedFileContent")-                     <*> (o .:? "anchor")-                     <*> (o .:? "content")-                     <*> (o .:? "replies" .!= mempty)-                     <*> (o .:? "author")-                     <*> (o .:? "id")-                     <*> (o .:? "deleted"))--instance ToJSON Comment where-        toJSON Comment'{..}-          = object-              (catMaybes-                 [("htmlContent" .=) <$> _comHTMLContent,-                  ("modifiedTime" .=) <$> _comModifiedTime,-                  ("createdTime" .=) <$> _comCreatedTime,-                  Just ("kind" .= _comKind),-                  ("resolved" .=) <$> _comResolved,-                  ("quotedFileContent" .=) <$> _comQuotedFileContent,-                  ("anchor" .=) <$> _comAnchor,-                  ("content" .=) <$> _comContent,-                  ("replies" .=) <$> _comReplies,-                  ("author" .=) <$> _comAuthor, ("id" .=) <$> _comId,-                  ("deleted" .=) <$> _comDeleted])---- | The metadata for a revision to a file.------ /See:/ 'revision' smart constructor.-data Revision = Revision'-    { _revModifiedTime           :: !(Maybe DateTime')-    , _revSize                   :: !(Maybe (Textual Int64))-    , _revOriginalFilename       :: !(Maybe Text)-    , _revKind                   :: !Text-    , _revPublished              :: !(Maybe Bool)-    , _revLastModifyingUser      :: !(Maybe User)-    , _revPublishAuto            :: !(Maybe Bool)-    , _revMD5Checksum            :: !(Maybe Text)-    , _revKeepForever            :: !(Maybe Bool)-    , _revMimeType               :: !(Maybe Text)-    , _revExportLinks            :: !(Maybe RevisionExportLinks)-    , _revPublishedOutsideDomain :: !(Maybe Bool)-    , _revId                     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Revision' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'revModifiedTime'------ * 'revSize'------ * 'revOriginalFilename'------ * 'revKind'------ * 'revPublished'------ * 'revLastModifyingUser'------ * 'revPublishAuto'------ * 'revMD5Checksum'------ * 'revKeepForever'------ * 'revMimeType'------ * 'revExportLinks'------ * 'revPublishedOutsideDomain'------ * 'revId'-revision-    :: Revision-revision =-    Revision'-    { _revModifiedTime = Nothing-    , _revSize = Nothing-    , _revOriginalFilename = Nothing-    , _revKind = "drive#revision"-    , _revPublished = Nothing-    , _revLastModifyingUser = Nothing-    , _revPublishAuto = Nothing-    , _revMD5Checksum = Nothing-    , _revKeepForever = Nothing-    , _revMimeType = Nothing-    , _revExportLinks = Nothing-    , _revPublishedOutsideDomain = Nothing-    , _revId = Nothing-    }---- | The last time the revision was modified (RFC 3339 date-time).-revModifiedTime :: Lens' Revision (Maybe UTCTime)-revModifiedTime-  = lens _revModifiedTime-      (\ s a -> s{_revModifiedTime = a})-      . mapping _DateTime---- | The size of the revision\'s content in bytes. This is only applicable to--- files with binary content in Drive.-revSize :: Lens' Revision (Maybe Int64)-revSize-  = lens _revSize (\ s a -> s{_revSize = a}) .-      mapping _Coerce---- | The original filename used to create this revision. This is only--- applicable to files with binary content in Drive.-revOriginalFilename :: Lens' Revision (Maybe Text)-revOriginalFilename-  = lens _revOriginalFilename-      (\ s a -> s{_revOriginalFilename = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#revision\".-revKind :: Lens' Revision Text-revKind = lens _revKind (\ s a -> s{_revKind = a})---- | Whether this revision is published. This is only applicable to Google--- Docs.-revPublished :: Lens' Revision (Maybe Bool)-revPublished-  = lens _revPublished (\ s a -> s{_revPublished = a})---- | The last user to modify this revision.-revLastModifyingUser :: Lens' Revision (Maybe User)-revLastModifyingUser-  = lens _revLastModifyingUser-      (\ s a -> s{_revLastModifyingUser = a})---- | Whether subsequent revisions will be automatically republished. This is--- only applicable to Google Docs.-revPublishAuto :: Lens' Revision (Maybe Bool)-revPublishAuto-  = lens _revPublishAuto-      (\ s a -> s{_revPublishAuto = a})---- | The MD5 checksum of the revision\'s content. This is only applicable to--- files with binary content in Drive.-revMD5Checksum :: Lens' Revision (Maybe Text)-revMD5Checksum-  = lens _revMD5Checksum-      (\ s a -> s{_revMD5Checksum = a})---- | Whether to keep this revision forever, even if it is no longer the head--- revision. If not set, the revision will be automatically purged 30 days--- after newer content is uploaded. This can be set on a maximum of 200--- revisions for a file. This field is only applicable to files with binary--- content in Drive.-revKeepForever :: Lens' Revision (Maybe Bool)-revKeepForever-  = lens _revKeepForever-      (\ s a -> s{_revKeepForever = a})---- | The MIME type of the revision.-revMimeType :: Lens' Revision (Maybe Text)-revMimeType-  = lens _revMimeType (\ s a -> s{_revMimeType = a})---- | Links for exporting Google Docs to specific formats.-revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)-revExportLinks-  = lens _revExportLinks-      (\ s a -> s{_revExportLinks = a})---- | Whether this revision is published outside the domain. This is only--- applicable to Google Docs.-revPublishedOutsideDomain :: Lens' Revision (Maybe Bool)-revPublishedOutsideDomain-  = lens _revPublishedOutsideDomain-      (\ s a -> s{_revPublishedOutsideDomain = a})---- | The ID of the revision.-revId :: Lens' Revision (Maybe Text)-revId = lens _revId (\ s a -> s{_revId = a})--instance FromJSON Revision where-        parseJSON-          = withObject "Revision"-              (\ o ->-                 Revision' <$>-                   (o .:? "modifiedTime") <*> (o .:? "size") <*>-                     (o .:? "originalFilename")-                     <*> (o .:? "kind" .!= "drive#revision")-                     <*> (o .:? "published")-                     <*> (o .:? "lastModifyingUser")-                     <*> (o .:? "publishAuto")-                     <*> (o .:? "md5Checksum")-                     <*> (o .:? "keepForever")-                     <*> (o .:? "mimeType")-                     <*> (o .:? "exportLinks")-                     <*> (o .:? "publishedOutsideDomain")-                     <*> (o .:? "id"))--instance ToJSON Revision where-        toJSON Revision'{..}-          = object-              (catMaybes-                 [("modifiedTime" .=) <$> _revModifiedTime,-                  ("size" .=) <$> _revSize,-                  ("originalFilename" .=) <$> _revOriginalFilename,-                  Just ("kind" .= _revKind),-                  ("published" .=) <$> _revPublished,-                  ("lastModifyingUser" .=) <$> _revLastModifyingUser,-                  ("publishAuto" .=) <$> _revPublishAuto,-                  ("md5Checksum" .=) <$> _revMD5Checksum,-                  ("keepForever" .=) <$> _revKeepForever,-                  ("mimeType" .=) <$> _revMimeType,-                  ("exportLinks" .=) <$> _revExportLinks,-                  ("publishedOutsideDomain" .=) <$>-                    _revPublishedOutsideDomain,-                  ("id" .=) <$> _revId])---- | A permission for a file. A permission grants a user, group, domain or--- the world access to a file or a folder hierarchy.------ /See:/ 'permission' smart constructor.-data Permission = Permission'-    { _pPhotoLink                  :: !(Maybe Text)-    , _pTeamDrivePermissionDetails :: !(Maybe [PermissionTeamDrivePermissionDetailsItem])-    , _pKind                       :: !Text-    , _pDomain                     :: !(Maybe Text)-    , _pRole                       :: !(Maybe Text)-    , _pEmailAddress               :: !(Maybe Text)-    , _pAllowFileDiscovery         :: !(Maybe Bool)-    , _pDisplayName                :: !(Maybe Text)-    , _pId                         :: !(Maybe Text)-    , _pDeleted                    :: !(Maybe Bool)-    , _pType                       :: !(Maybe Text)-    , _pExpirationTime             :: !(Maybe DateTime')-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Permission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pPhotoLink'------ * 'pTeamDrivePermissionDetails'------ * 'pKind'------ * 'pDomain'------ * 'pRole'------ * 'pEmailAddress'------ * 'pAllowFileDiscovery'------ * 'pDisplayName'------ * 'pId'------ * 'pDeleted'------ * 'pType'------ * 'pExpirationTime'-permission-    :: Permission-permission =-    Permission'-    { _pPhotoLink = Nothing-    , _pTeamDrivePermissionDetails = Nothing-    , _pKind = "drive#permission"-    , _pDomain = Nothing-    , _pRole = Nothing-    , _pEmailAddress = Nothing-    , _pAllowFileDiscovery = Nothing-    , _pDisplayName = Nothing-    , _pId = Nothing-    , _pDeleted = Nothing-    , _pType = Nothing-    , _pExpirationTime = Nothing-    }---- | A link to the user\'s profile photo, if available.-pPhotoLink :: Lens' Permission (Maybe Text)-pPhotoLink-  = lens _pPhotoLink (\ s a -> s{_pPhotoLink = a})---- | Details of whether the permissions on this Team Drive item are inherited--- or directly on this item. This is an output-only field which is present--- only for Team Drive items.-pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]-pTeamDrivePermissionDetails-  = lens _pTeamDrivePermissionDetails-      (\ s a -> s{_pTeamDrivePermissionDetails = a})-      . _Default-      . _Coerce---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#permission\".-pKind :: Lens' Permission Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | The domain to which this permission refers.-pDomain :: Lens' Permission (Maybe Text)-pDomain = lens _pDomain (\ s a -> s{_pDomain = a})---- | The role granted by this permission. While new values may be supported--- in the future, the following are currently allowed: - owner - organizer--- - fileOrganizer - writer - commenter - reader-pRole :: Lens' Permission (Maybe Text)-pRole = lens _pRole (\ s a -> s{_pRole = a})---- | The email address of the user or group to which this permission refers.-pEmailAddress :: Lens' Permission (Maybe Text)-pEmailAddress-  = lens _pEmailAddress-      (\ s a -> s{_pEmailAddress = a})---- | Whether the permission allows the file to be discovered through search.--- This is only applicable for permissions of type domain or anyone.-pAllowFileDiscovery :: Lens' Permission (Maybe Bool)-pAllowFileDiscovery-  = lens _pAllowFileDiscovery-      (\ s a -> s{_pAllowFileDiscovery = a})---- | A displayable name for users, groups or domains.-pDisplayName :: Lens' Permission (Maybe Text)-pDisplayName-  = lens _pDisplayName (\ s a -> s{_pDisplayName = a})---- | The ID of this permission. This is a unique identifier for the grantee,--- and is published in User resources as permissionId.-pId :: Lens' Permission (Maybe Text)-pId = lens _pId (\ s a -> s{_pId = a})---- | Whether the account associated with this permission has been deleted.--- This field only pertains to user and group permissions.-pDeleted :: Lens' Permission (Maybe Bool)-pDeleted = lens _pDeleted (\ s a -> s{_pDeleted = a})---- | The type of the grantee. Valid values are: - user - group - domain ---- anyone-pType :: Lens' Permission (Maybe Text)-pType = lens _pType (\ s a -> s{_pType = a})---- | The time at which this permission will expire (RFC 3339 date-time).--- Expiration times have the following restrictions: - They can only be set--- on user and group permissions - The time must be in the future - The--- time cannot be more than a year in the future-pExpirationTime :: Lens' Permission (Maybe UTCTime)-pExpirationTime-  = lens _pExpirationTime-      (\ s a -> s{_pExpirationTime = a})-      . mapping _DateTime--instance FromJSON Permission where-        parseJSON-          = withObject "Permission"-              (\ o ->-                 Permission' <$>-                   (o .:? "photoLink") <*>-                     (o .:? "teamDrivePermissionDetails" .!= mempty)-                     <*> (o .:? "kind" .!= "drive#permission")-                     <*> (o .:? "domain")-                     <*> (o .:? "role")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "allowFileDiscovery")-                     <*> (o .:? "displayName")-                     <*> (o .:? "id")-                     <*> (o .:? "deleted")-                     <*> (o .:? "type")-                     <*> (o .:? "expirationTime"))--instance ToJSON Permission where-        toJSON Permission'{..}-          = object-              (catMaybes-                 [("photoLink" .=) <$> _pPhotoLink,-                  ("teamDrivePermissionDetails" .=) <$>-                    _pTeamDrivePermissionDetails,-                  Just ("kind" .= _pKind), ("domain" .=) <$> _pDomain,-                  ("role" .=) <$> _pRole,-                  ("emailAddress" .=) <$> _pEmailAddress,-                  ("allowFileDiscovery" .=) <$> _pAllowFileDiscovery,-                  ("displayName" .=) <$> _pDisplayName,-                  ("id" .=) <$> _pId, ("deleted" .=) <$> _pDeleted,-                  ("type" .=) <$> _pType,-                  ("expirationTime" .=) <$> _pExpirationTime])---- | The metadata for a file.------ /See:/ 'file' smart constructor.-data File = File'-    { _fOwnedByMe                    :: !(Maybe Bool)-    , _fThumbnailLink                :: !(Maybe Text)-    , _fFullFileExtension            :: !(Maybe Text)-    , _fModifiedTime                 :: !(Maybe DateTime')-    , _fModifiedByMeTime             :: !(Maybe DateTime')-    , _fFileExtension                :: !(Maybe Text)-    , _fViewedByMe                   :: !(Maybe Bool)-    , _fOwners                       :: !(Maybe [User])-    , _fViewedByMeTime               :: !(Maybe DateTime')-    , _fModifiedByMe                 :: !(Maybe Bool)-    , _fSize                         :: !(Maybe (Textual Int64))-    , _fTrashed                      :: !(Maybe Bool)-    , _fWebViewLink                  :: !(Maybe Text)-    , _fCreatedTime                  :: !(Maybe DateTime')-    , _fTrashedTime                  :: !(Maybe DateTime')-    , _fOriginalFilename             :: !(Maybe Text)-    , _fKind                         :: !Text-    , _fLastModifyingUser            :: !(Maybe User)-    , _fIconLink                     :: !(Maybe Text)-    , _fHasThumbnail                 :: !(Maybe Bool)-    , _fThumbnailVersion             :: !(Maybe (Textual Int64))-    , _fImageMediaMetadata           :: !(Maybe FileImageMediaMetadata)-    , _fExplicitlyTrashed            :: !(Maybe Bool)-    , _fShared                       :: !(Maybe Bool)-    , _fMD5Checksum                  :: !(Maybe Text)-    , _fTeamDriveId                  :: !(Maybe Text)-    , _fFolderColorRgb               :: !(Maybe Text)-    , _fMimeType                     :: !(Maybe Text)-    , _fIsAppAuthorized              :: !(Maybe Bool)-    , _fCopyRequiresWriterPermission :: !(Maybe Bool)-    , _fName                         :: !(Maybe Text)-    , _fExportLinks                  :: !(Maybe FileExportLinks)-    , _fParents                      :: !(Maybe [Text])-    , _fStarred                      :: !(Maybe Bool)-    , _fSpaces                       :: !(Maybe [Text])-    , _fVersion                      :: !(Maybe (Textual Int64))-    , _fHasAugmentedPermissions      :: !(Maybe Bool)-    , _fWritersCanShare              :: !(Maybe Bool)-    , _fTrashingUser                 :: !(Maybe User)-    , _fId                           :: !(Maybe Text)-    , _fPermissionIds                :: !(Maybe [Text])-    , _fPermissions                  :: !(Maybe [Permission])-    , _fQuotaBytesUsed               :: !(Maybe (Textual Int64))-    , _fAppProperties                :: !(Maybe FileAppProperties)-    , _fVideoMediaMetadata           :: !(Maybe FileVideoMediaMetadata)-    , _fSharedWithMeTime             :: !(Maybe DateTime')-    , _fHeadRevisionId               :: !(Maybe Text)-    , _fCapabilities                 :: !(Maybe FileCapabilities)-    , _fDescription                  :: !(Maybe Text)-    , _fViewersCanCopyContent        :: !(Maybe Bool)-    , _fSharingUser                  :: !(Maybe User)-    , _fWebContentLink               :: !(Maybe Text)-    , _fContentHints                 :: !(Maybe FileContentHints)-    , _fProperties                   :: !(Maybe FileProperties)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'File' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fOwnedByMe'------ * 'fThumbnailLink'------ * 'fFullFileExtension'------ * 'fModifiedTime'------ * 'fModifiedByMeTime'------ * 'fFileExtension'------ * 'fViewedByMe'------ * 'fOwners'------ * 'fViewedByMeTime'------ * 'fModifiedByMe'------ * 'fSize'------ * 'fTrashed'------ * 'fWebViewLink'------ * 'fCreatedTime'------ * 'fTrashedTime'------ * 'fOriginalFilename'------ * 'fKind'------ * 'fLastModifyingUser'------ * 'fIconLink'------ * 'fHasThumbnail'------ * 'fThumbnailVersion'------ * 'fImageMediaMetadata'------ * 'fExplicitlyTrashed'------ * 'fShared'------ * 'fMD5Checksum'------ * 'fTeamDriveId'------ * 'fFolderColorRgb'------ * 'fMimeType'------ * 'fIsAppAuthorized'------ * 'fCopyRequiresWriterPermission'------ * 'fName'------ * 'fExportLinks'------ * 'fParents'------ * 'fStarred'------ * 'fSpaces'------ * 'fVersion'------ * 'fHasAugmentedPermissions'------ * 'fWritersCanShare'------ * 'fTrashingUser'------ * 'fId'------ * 'fPermissionIds'------ * 'fPermissions'------ * 'fQuotaBytesUsed'------ * 'fAppProperties'------ * 'fVideoMediaMetadata'------ * 'fSharedWithMeTime'------ * 'fHeadRevisionId'------ * 'fCapabilities'------ * 'fDescription'------ * 'fViewersCanCopyContent'------ * 'fSharingUser'------ * 'fWebContentLink'------ * 'fContentHints'------ * 'fProperties'-file-    :: File-file =-    File'-    { _fOwnedByMe = Nothing-    , _fThumbnailLink = Nothing-    , _fFullFileExtension = Nothing-    , _fModifiedTime = Nothing-    , _fModifiedByMeTime = Nothing-    , _fFileExtension = Nothing-    , _fViewedByMe = Nothing-    , _fOwners = Nothing-    , _fViewedByMeTime = Nothing-    , _fModifiedByMe = Nothing-    , _fSize = Nothing-    , _fTrashed = Nothing-    , _fWebViewLink = Nothing-    , _fCreatedTime = Nothing-    , _fTrashedTime = Nothing-    , _fOriginalFilename = Nothing-    , _fKind = "drive#file"-    , _fLastModifyingUser = Nothing-    , _fIconLink = Nothing-    , _fHasThumbnail = Nothing-    , _fThumbnailVersion = Nothing-    , _fImageMediaMetadata = Nothing-    , _fExplicitlyTrashed = Nothing-    , _fShared = Nothing-    , _fMD5Checksum = Nothing-    , _fTeamDriveId = Nothing-    , _fFolderColorRgb = Nothing-    , _fMimeType = Nothing-    , _fIsAppAuthorized = Nothing-    , _fCopyRequiresWriterPermission = Nothing-    , _fName = Nothing-    , _fExportLinks = Nothing-    , _fParents = Nothing-    , _fStarred = Nothing-    , _fSpaces = Nothing-    , _fVersion = Nothing-    , _fHasAugmentedPermissions = Nothing-    , _fWritersCanShare = Nothing-    , _fTrashingUser = Nothing-    , _fId = Nothing-    , _fPermissionIds = Nothing-    , _fPermissions = Nothing-    , _fQuotaBytesUsed = Nothing-    , _fAppProperties = Nothing-    , _fVideoMediaMetadata = Nothing-    , _fSharedWithMeTime = Nothing-    , _fHeadRevisionId = Nothing-    , _fCapabilities = Nothing-    , _fDescription = Nothing-    , _fViewersCanCopyContent = Nothing-    , _fSharingUser = Nothing-    , _fWebContentLink = Nothing-    , _fContentHints = Nothing-    , _fProperties = Nothing-    }---- | Whether the user owns the file. Not populated for Team Drive files.-fOwnedByMe :: Lens' File (Maybe Bool)-fOwnedByMe-  = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})---- | A short-lived link to the file\'s thumbnail, if available. Typically--- lasts on the order of hours. Only populated when the requesting app can--- access the file\'s content.-fThumbnailLink :: Lens' File (Maybe Text)-fThumbnailLink-  = lens _fThumbnailLink-      (\ s a -> s{_fThumbnailLink = a})---- | The full file extension extracted from the name field. May contain--- multiple concatenated extensions, such as \"tar.gz\". This is only--- available for files with binary content in Drive. This is automatically--- updated when the name field changes, however it is not cleared if the--- new name does not contain a valid extension.-fFullFileExtension :: Lens' File (Maybe Text)-fFullFileExtension-  = lens _fFullFileExtension-      (\ s a -> s{_fFullFileExtension = a})---- | The last time the file was modified by anyone (RFC 3339 date-time). Note--- that setting modifiedTime will also update modifiedByMeTime for the--- user.-fModifiedTime :: Lens' File (Maybe UTCTime)-fModifiedTime-  = lens _fModifiedTime-      (\ s a -> s{_fModifiedTime = a})-      . mapping _DateTime---- | The last time the file was modified by the user (RFC 3339 date-time).-fModifiedByMeTime :: Lens' File (Maybe UTCTime)-fModifiedByMeTime-  = lens _fModifiedByMeTime-      (\ s a -> s{_fModifiedByMeTime = a})-      . mapping _DateTime---- | The final component of fullFileExtension. This is only available for--- files with binary content in Drive.-fFileExtension :: Lens' File (Maybe Text)-fFileExtension-  = lens _fFileExtension-      (\ s a -> s{_fFileExtension = a})---- | Whether the file has been viewed by this user.-fViewedByMe :: Lens' File (Maybe Bool)-fViewedByMe-  = lens _fViewedByMe (\ s a -> s{_fViewedByMe = a})---- | The owners of the file. Currently, only certain legacy files may have--- more than one owner. Not populated for Team Drive files.-fOwners :: Lens' File [User]-fOwners-  = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default-      . _Coerce---- | The last time the file was viewed by the user (RFC 3339 date-time).-fViewedByMeTime :: Lens' File (Maybe UTCTime)-fViewedByMeTime-  = lens _fViewedByMeTime-      (\ s a -> s{_fViewedByMeTime = a})-      . mapping _DateTime---- | Whether the file has been modified by this user.-fModifiedByMe :: Lens' File (Maybe Bool)-fModifiedByMe-  = lens _fModifiedByMe-      (\ s a -> s{_fModifiedByMe = a})---- | The size of the file\'s content in bytes. This is only applicable to--- files with binary content in Drive.-fSize :: Lens' File (Maybe Int64)-fSize-  = lens _fSize (\ s a -> s{_fSize = a}) .-      mapping _Coerce---- | Whether the file has been trashed, either explicitly or from a trashed--- parent folder. Only the owner may trash a file, and other users cannot--- see files in the owner\'s trash.-fTrashed :: Lens' File (Maybe Bool)-fTrashed = lens _fTrashed (\ s a -> s{_fTrashed = a})---- | A link for opening the file in a relevant Google editor or viewer in a--- browser.-fWebViewLink :: Lens' File (Maybe Text)-fWebViewLink-  = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})---- | The time at which the file was created (RFC 3339 date-time).-fCreatedTime :: Lens' File (Maybe UTCTime)-fCreatedTime-  = lens _fCreatedTime (\ s a -> s{_fCreatedTime = a})-      . mapping _DateTime---- | The time that the item was trashed (RFC 3339 date-time). Only populated--- for Team Drive files.-fTrashedTime :: Lens' File (Maybe UTCTime)-fTrashedTime-  = lens _fTrashedTime (\ s a -> s{_fTrashedTime = a})-      . mapping _DateTime---- | The original filename of the uploaded content if available, or else the--- original value of the name field. This is only available for files with--- binary content in Drive.-fOriginalFilename :: Lens' File (Maybe Text)-fOriginalFilename-  = lens _fOriginalFilename-      (\ s a -> s{_fOriginalFilename = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#file\".-fKind :: Lens' File Text-fKind = lens _fKind (\ s a -> s{_fKind = a})---- | The last user to modify the file.-fLastModifyingUser :: Lens' File (Maybe User)-fLastModifyingUser-  = lens _fLastModifyingUser-      (\ s a -> s{_fLastModifyingUser = a})---- | A static, unauthenticated link to the file\'s icon.-fIconLink :: Lens' File (Maybe Text)-fIconLink-  = lens _fIconLink (\ s a -> s{_fIconLink = a})---- | Whether this file has a thumbnail. This does not indicate whether the--- requesting app has access to the thumbnail. To check access, look for--- the presence of the thumbnailLink field.-fHasThumbnail :: Lens' File (Maybe Bool)-fHasThumbnail-  = lens _fHasThumbnail-      (\ s a -> s{_fHasThumbnail = a})---- | The thumbnail version for use in thumbnail cache invalidation.-fThumbnailVersion :: Lens' File (Maybe Int64)-fThumbnailVersion-  = lens _fThumbnailVersion-      (\ s a -> s{_fThumbnailVersion = a})-      . mapping _Coerce---- | Additional metadata about image media, if available.-fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)-fImageMediaMetadata-  = lens _fImageMediaMetadata-      (\ s a -> s{_fImageMediaMetadata = a})---- | Whether the file has been explicitly trashed, as opposed to recursively--- trashed from a parent folder.-fExplicitlyTrashed :: Lens' File (Maybe Bool)-fExplicitlyTrashed-  = lens _fExplicitlyTrashed-      (\ s a -> s{_fExplicitlyTrashed = a})---- | Whether the file has been shared. Not populated for Team Drive files.-fShared :: Lens' File (Maybe Bool)-fShared = lens _fShared (\ s a -> s{_fShared = a})---- | The MD5 checksum for the content of the file. This is only applicable to--- files with binary content in Drive.-fMD5Checksum :: Lens' File (Maybe Text)-fMD5Checksum-  = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})---- | ID of the Team Drive the file resides in.-fTeamDriveId :: Lens' File (Maybe Text)-fTeamDriveId-  = lens _fTeamDriveId (\ s a -> s{_fTeamDriveId = a})---- | The color for a folder as an RGB hex string. The supported colors are--- published in the folderColorPalette field of the About resource. If an--- unsupported color is specified, the closest color in the palette will be--- used instead.-fFolderColorRgb :: Lens' File (Maybe Text)-fFolderColorRgb-  = lens _fFolderColorRgb-      (\ s a -> s{_fFolderColorRgb = a})---- | The MIME type of the file. Drive will attempt to automatically detect an--- appropriate value from uploaded content if no value is provided. The--- value cannot be changed unless a new revision is uploaded. If a file is--- created with a Google Doc MIME type, the uploaded content will be--- imported if possible. The supported import formats are published in the--- About resource.-fMimeType :: Lens' File (Maybe Text)-fMimeType-  = lens _fMimeType (\ s a -> s{_fMimeType = a})---- | Whether the file was created or opened by the requesting app.-fIsAppAuthorized :: Lens' File (Maybe Bool)-fIsAppAuthorized-  = lens _fIsAppAuthorized-      (\ s a -> s{_fIsAppAuthorized = a})---- | Whether the options to copy, print, or download this file, should be--- disabled for readers and commenters.-fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)-fCopyRequiresWriterPermission-  = lens _fCopyRequiresWriterPermission-      (\ s a -> s{_fCopyRequiresWriterPermission = a})---- | The name of the file. This is not necessarily unique within a folder.--- Note that for immutable items such as the top level folders of Team--- Drives, My Drive root folder, and Application Data folder the name is--- constant.-fName :: Lens' File (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = a})---- | Links for exporting Google Docs to specific formats.-fExportLinks :: Lens' File (Maybe FileExportLinks)-fExportLinks-  = lens _fExportLinks (\ s a -> s{_fExportLinks = a})---- | The IDs of the parent folders which contain the file. If not specified--- as part of a create request, the file will be placed directly in the--- user\'s My Drive folder. If not specified as part of a copy request, the--- file will inherit any discoverable parents of the source file. Update--- requests must use the addParents and removeParents parameters to modify--- the parents list.-fParents :: Lens' File [Text]-fParents-  = lens _fParents (\ s a -> s{_fParents = a}) .-      _Default-      . _Coerce---- | Whether the user has starred the file.-fStarred :: Lens' File (Maybe Bool)-fStarred = lens _fStarred (\ s a -> s{_fStarred = a})---- | The list of spaces which contain the file. The currently supported--- values are \'drive\', \'appDataFolder\' and \'photos\'.-fSpaces :: Lens' File [Text]-fSpaces-  = lens _fSpaces (\ s a -> s{_fSpaces = a}) . _Default-      . _Coerce---- | A monotonically increasing version number for the file. This reflects--- every change made to the file on the server, even those not visible to--- the user.-fVersion :: Lens' File (Maybe Int64)-fVersion-  = lens _fVersion (\ s a -> s{_fVersion = a}) .-      mapping _Coerce---- | Whether any users are granted file access directly on this file. This--- field is only populated for Team Drive files.-fHasAugmentedPermissions :: Lens' File (Maybe Bool)-fHasAugmentedPermissions-  = lens _fHasAugmentedPermissions-      (\ s a -> s{_fHasAugmentedPermissions = a})---- | Whether users with only writer permission can modify the file\'s--- permissions. Not populated for Team Drive files.-fWritersCanShare :: Lens' File (Maybe Bool)-fWritersCanShare-  = lens _fWritersCanShare-      (\ s a -> s{_fWritersCanShare = a})---- | If the file has been explicitly trashed, the user who trashed it. Only--- populated for Team Drive files.-fTrashingUser :: Lens' File (Maybe User)-fTrashingUser-  = lens _fTrashingUser-      (\ s a -> s{_fTrashingUser = a})---- | The ID of the file.-fId :: Lens' File (Maybe Text)-fId = lens _fId (\ s a -> s{_fId = a})---- | List of permission IDs for users with access to this file.-fPermissionIds :: Lens' File [Text]-fPermissionIds-  = lens _fPermissionIds-      (\ s a -> s{_fPermissionIds = a})-      . _Default-      . _Coerce---- | The full list of permissions for the file. This is only available if the--- requesting user can share the file. Not populated for Team Drive files.-fPermissions :: Lens' File [Permission]-fPermissions-  = lens _fPermissions (\ s a -> s{_fPermissions = a})-      . _Default-      . _Coerce---- | The number of storage quota bytes used by the file. This includes the--- head revision as well as previous revisions with keepForever enabled.-fQuotaBytesUsed :: Lens' File (Maybe Int64)-fQuotaBytesUsed-  = lens _fQuotaBytesUsed-      (\ s a -> s{_fQuotaBytesUsed = a})-      . mapping _Coerce---- | A collection of arbitrary key-value pairs which are private to the--- requesting app. Entries with null values are cleared in update and copy--- requests.-fAppProperties :: Lens' File (Maybe FileAppProperties)-fAppProperties-  = lens _fAppProperties-      (\ s a -> s{_fAppProperties = a})---- | Additional metadata about video media. This may not be available--- immediately upon upload.-fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)-fVideoMediaMetadata-  = lens _fVideoMediaMetadata-      (\ s a -> s{_fVideoMediaMetadata = a})---- | The time at which the file was shared with the user, if applicable (RFC--- 3339 date-time).-fSharedWithMeTime :: Lens' File (Maybe UTCTime)-fSharedWithMeTime-  = lens _fSharedWithMeTime-      (\ s a -> s{_fSharedWithMeTime = a})-      . mapping _DateTime---- | The ID of the file\'s head revision. This is currently only available--- for files with binary content in Drive.-fHeadRevisionId :: Lens' File (Maybe Text)-fHeadRevisionId-  = lens _fHeadRevisionId-      (\ s a -> s{_fHeadRevisionId = a})---- | Capabilities the current user has on this file. Each capability--- corresponds to a fine-grained action that a user may take.-fCapabilities :: Lens' File (Maybe FileCapabilities)-fCapabilities-  = lens _fCapabilities-      (\ s a -> s{_fCapabilities = a})---- | A short description of the file.-fDescription :: Lens' File (Maybe Text)-fDescription-  = lens _fDescription (\ s a -> s{_fDescription = a})---- | Deprecated - use copyRequiresWriterPermission instead.-fViewersCanCopyContent :: Lens' File (Maybe Bool)-fViewersCanCopyContent-  = lens _fViewersCanCopyContent-      (\ s a -> s{_fViewersCanCopyContent = a})---- | The user who shared the file with the requesting user, if applicable.-fSharingUser :: Lens' File (Maybe User)-fSharingUser-  = lens _fSharingUser (\ s a -> s{_fSharingUser = a})---- | A link for downloading the content of the file in a browser. This is--- only available for files with binary content in Drive.-fWebContentLink :: Lens' File (Maybe Text)-fWebContentLink-  = lens _fWebContentLink-      (\ s a -> s{_fWebContentLink = a})---- | Additional information about the content of the file. These fields are--- never populated in responses.-fContentHints :: Lens' File (Maybe FileContentHints)-fContentHints-  = lens _fContentHints-      (\ s a -> s{_fContentHints = a})---- | A collection of arbitrary key-value pairs which are visible to all apps.--- Entries with null values are cleared in update and copy requests.-fProperties :: Lens' File (Maybe FileProperties)-fProperties-  = lens _fProperties (\ s a -> s{_fProperties = a})--instance FromJSON File where-        parseJSON-          = withObject "File"-              (\ o ->-                 File' <$>-                   (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>-                     (o .:? "fullFileExtension")-                     <*> (o .:? "modifiedTime")-                     <*> (o .:? "modifiedByMeTime")-                     <*> (o .:? "fileExtension")-                     <*> (o .:? "viewedByMe")-                     <*> (o .:? "owners" .!= mempty)-                     <*> (o .:? "viewedByMeTime")-                     <*> (o .:? "modifiedByMe")-                     <*> (o .:? "size")-                     <*> (o .:? "trashed")-                     <*> (o .:? "webViewLink")-                     <*> (o .:? "createdTime")-                     <*> (o .:? "trashedTime")-                     <*> (o .:? "originalFilename")-                     <*> (o .:? "kind" .!= "drive#file")-                     <*> (o .:? "lastModifyingUser")-                     <*> (o .:? "iconLink")-                     <*> (o .:? "hasThumbnail")-                     <*> (o .:? "thumbnailVersion")-                     <*> (o .:? "imageMediaMetadata")-                     <*> (o .:? "explicitlyTrashed")-                     <*> (o .:? "shared")-                     <*> (o .:? "md5Checksum")-                     <*> (o .:? "teamDriveId")-                     <*> (o .:? "folderColorRgb")-                     <*> (o .:? "mimeType")-                     <*> (o .:? "isAppAuthorized")-                     <*> (o .:? "copyRequiresWriterPermission")-                     <*> (o .:? "name")-                     <*> (o .:? "exportLinks")-                     <*> (o .:? "parents" .!= mempty)-                     <*> (o .:? "starred")-                     <*> (o .:? "spaces" .!= mempty)-                     <*> (o .:? "version")-                     <*> (o .:? "hasAugmentedPermissions")-                     <*> (o .:? "writersCanShare")-                     <*> (o .:? "trashingUser")-                     <*> (o .:? "id")-                     <*> (o .:? "permissionIds" .!= mempty)-                     <*> (o .:? "permissions" .!= mempty)-                     <*> (o .:? "quotaBytesUsed")-                     <*> (o .:? "appProperties")-                     <*> (o .:? "videoMediaMetadata")-                     <*> (o .:? "sharedWithMeTime")-                     <*> (o .:? "headRevisionId")-                     <*> (o .:? "capabilities")-                     <*> (o .:? "description")-                     <*> (o .:? "viewersCanCopyContent")-                     <*> (o .:? "sharingUser")-                     <*> (o .:? "webContentLink")-                     <*> (o .:? "contentHints")-                     <*> (o .:? "properties"))--instance ToJSON File where-        toJSON File'{..}-          = object-              (catMaybes-                 [("ownedByMe" .=) <$> _fOwnedByMe,-                  ("thumbnailLink" .=) <$> _fThumbnailLink,-                  ("fullFileExtension" .=) <$> _fFullFileExtension,-                  ("modifiedTime" .=) <$> _fModifiedTime,-                  ("modifiedByMeTime" .=) <$> _fModifiedByMeTime,-                  ("fileExtension" .=) <$> _fFileExtension,-                  ("viewedByMe" .=) <$> _fViewedByMe,-                  ("owners" .=) <$> _fOwners,-                  ("viewedByMeTime" .=) <$> _fViewedByMeTime,-                  ("modifiedByMe" .=) <$> _fModifiedByMe,-                  ("size" .=) <$> _fSize, ("trashed" .=) <$> _fTrashed,-                  ("webViewLink" .=) <$> _fWebViewLink,-                  ("createdTime" .=) <$> _fCreatedTime,-                  ("trashedTime" .=) <$> _fTrashedTime,-                  ("originalFilename" .=) <$> _fOriginalFilename,-                  Just ("kind" .= _fKind),-                  ("lastModifyingUser" .=) <$> _fLastModifyingUser,-                  ("iconLink" .=) <$> _fIconLink,-                  ("hasThumbnail" .=) <$> _fHasThumbnail,-                  ("thumbnailVersion" .=) <$> _fThumbnailVersion,-                  ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,-                  ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,-                  ("shared" .=) <$> _fShared,-                  ("md5Checksum" .=) <$> _fMD5Checksum,-                  ("teamDriveId" .=) <$> _fTeamDriveId,-                  ("folderColorRgb" .=) <$> _fFolderColorRgb,-                  ("mimeType" .=) <$> _fMimeType,-                  ("isAppAuthorized" .=) <$> _fIsAppAuthorized,-                  ("copyRequiresWriterPermission" .=) <$>-                    _fCopyRequiresWriterPermission,-                  ("name" .=) <$> _fName,-                  ("exportLinks" .=) <$> _fExportLinks,-                  ("parents" .=) <$> _fParents,-                  ("starred" .=) <$> _fStarred,-                  ("spaces" .=) <$> _fSpaces,-                  ("version" .=) <$> _fVersion,-                  ("hasAugmentedPermissions" .=) <$>-                    _fHasAugmentedPermissions,-                  ("writersCanShare" .=) <$> _fWritersCanShare,-                  ("trashingUser" .=) <$> _fTrashingUser,-                  ("id" .=) <$> _fId,-                  ("permissionIds" .=) <$> _fPermissionIds,-                  ("permissions" .=) <$> _fPermissions,-                  ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,-                  ("appProperties" .=) <$> _fAppProperties,-                  ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,-                  ("sharedWithMeTime" .=) <$> _fSharedWithMeTime,-                  ("headRevisionId" .=) <$> _fHeadRevisionId,-                  ("capabilities" .=) <$> _fCapabilities,-                  ("description" .=) <$> _fDescription,-                  ("viewersCanCopyContent" .=) <$>-                    _fViewersCanCopyContent,-                  ("sharingUser" .=) <$> _fSharingUser,-                  ("webContentLink" .=) <$> _fWebContentLink,-                  ("contentHints" .=) <$> _fContentHints,-                  ("properties" .=) <$> _fProperties])------- /See:/ 'permissionTeamDrivePermissionDetailsItem' smart constructor.-data PermissionTeamDrivePermissionDetailsItem = PermissionTeamDrivePermissionDetailsItem'-    { _ptdpdiInherited               :: !(Maybe Bool)-    , _ptdpdiTeamDrivePermissionType :: !(Maybe Text)-    , _ptdpdiRole                    :: !(Maybe Text)-    , _ptdpdiInheritedFrom           :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionTeamDrivePermissionDetailsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptdpdiInherited'------ * 'ptdpdiTeamDrivePermissionType'------ * 'ptdpdiRole'------ * 'ptdpdiInheritedFrom'-permissionTeamDrivePermissionDetailsItem-    :: PermissionTeamDrivePermissionDetailsItem-permissionTeamDrivePermissionDetailsItem =-    PermissionTeamDrivePermissionDetailsItem'-    { _ptdpdiInherited = Nothing-    , _ptdpdiTeamDrivePermissionType = Nothing-    , _ptdpdiRole = Nothing-    , _ptdpdiInheritedFrom = Nothing-    }---- | Whether this permission is inherited. This field is always populated.--- This is an output-only field.-ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)-ptdpdiInherited-  = lens _ptdpdiInherited-      (\ s a -> s{_ptdpdiInherited = a})---- | The Team Drive permission type for this user. While new values may be--- added in future, the following are currently possible: - file - member-ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)-ptdpdiTeamDrivePermissionType-  = lens _ptdpdiTeamDrivePermissionType-      (\ s a -> s{_ptdpdiTeamDrivePermissionType = a})---- | The primary role for this user. While new values may be added in the--- future, the following are currently possible: - organizer ---- fileOrganizer - writer - commenter - reader-ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)-ptdpdiRole-  = lens _ptdpdiRole (\ s a -> s{_ptdpdiRole = a})---- | The ID of the item from which this permission is inherited. This is an--- output-only field and is only populated for members of the Team Drive.-ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)-ptdpdiInheritedFrom-  = lens _ptdpdiInheritedFrom-      (\ s a -> s{_ptdpdiInheritedFrom = a})--instance FromJSON-         PermissionTeamDrivePermissionDetailsItem where-        parseJSON-          = withObject-              "PermissionTeamDrivePermissionDetailsItem"-              (\ o ->-                 PermissionTeamDrivePermissionDetailsItem' <$>-                   (o .:? "inherited") <*>-                     (o .:? "teamDrivePermissionType")-                     <*> (o .:? "role")-                     <*> (o .:? "inheritedFrom"))--instance ToJSON-         PermissionTeamDrivePermissionDetailsItem where-        toJSON PermissionTeamDrivePermissionDetailsItem'{..}-          = object-              (catMaybes-                 [("inherited" .=) <$> _ptdpdiInherited,-                  ("teamDrivePermissionType" .=) <$>-                    _ptdpdiTeamDrivePermissionType,-                  ("role" .=) <$> _ptdpdiRole,-                  ("inheritedFrom" .=) <$> _ptdpdiInheritedFrom])---- | A list of generated file IDs which can be provided in create requests.------ /See:/ 'generatedIds' smart constructor.-data GeneratedIds = GeneratedIds'-    { _giSpace :: !(Maybe Text)-    , _giKind  :: !Text-    , _giIds   :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GeneratedIds' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'giSpace'------ * 'giKind'------ * 'giIds'-generatedIds-    :: GeneratedIds-generatedIds =-    GeneratedIds'-    { _giSpace = Nothing-    , _giKind = "drive#generatedIds"-    , _giIds = Nothing-    }---- | The type of file that can be created with these IDs.-giSpace :: Lens' GeneratedIds (Maybe Text)-giSpace = lens _giSpace (\ s a -> s{_giSpace = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#generatedIds\".-giKind :: Lens' GeneratedIds Text-giKind = lens _giKind (\ s a -> s{_giKind = a})---- | The IDs generated for the requesting user in the specified space.-giIds :: Lens' GeneratedIds [Text]-giIds-  = lens _giIds (\ s a -> s{_giIds = a}) . _Default .-      _Coerce--instance FromJSON GeneratedIds where-        parseJSON-          = withObject "GeneratedIds"-              (\ o ->-                 GeneratedIds' <$>-                   (o .:? "space") <*>-                     (o .:? "kind" .!= "drive#generatedIds")-                     <*> (o .:? "ids" .!= mempty))--instance ToJSON GeneratedIds where-        toJSON GeneratedIds'{..}-          = object-              (catMaybes-                 [("space" .=) <$> _giSpace, Just ("kind" .= _giKind),-                  ("ids" .=) <$> _giIds])---- | Links for exporting Google Docs to specific formats.------ /See:/ 'fileExportLinks' smart constructor.-newtype FileExportLinks = FileExportLinks'-    { _felAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileExportLinks' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'felAddtional'-fileExportLinks-    :: HashMap Text Text -- ^ 'felAddtional'-    -> FileExportLinks-fileExportLinks pFelAddtional_ =-    FileExportLinks'-    { _felAddtional = _Coerce # pFelAddtional_-    }---- | A mapping from export format to URL-felAddtional :: Lens' FileExportLinks (HashMap Text Text)-felAddtional-  = lens _felAddtional (\ s a -> s{_felAddtional = a})-      . _Coerce--instance FromJSON FileExportLinks where-        parseJSON-          = withObject "FileExportLinks"-              (\ o -> FileExportLinks' <$> (parseJSONObject o))--instance ToJSON FileExportLinks where-        toJSON = toJSON . _felAddtional---- | A list of comments on a file.------ /See:/ 'commentList' smart constructor.-data CommentList = CommentList'-    { _cllNextPageToken :: !(Maybe Text)-    , _cllKind          :: !Text-    , _cllComments      :: !(Maybe [Comment])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cllNextPageToken'------ * 'cllKind'------ * 'cllComments'-commentList-    :: CommentList-commentList =-    CommentList'-    { _cllNextPageToken = Nothing-    , _cllKind = "drive#commentList"-    , _cllComments = Nothing-    }---- | The page token for the next page of comments. This will be absent if the--- end of the comments list has been reached. If the token is rejected for--- any reason, it should be discarded, and pagination should be restarted--- from the first page of results.-cllNextPageToken :: Lens' CommentList (Maybe Text)-cllNextPageToken-  = lens _cllNextPageToken-      (\ s a -> s{_cllNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#commentList\".-cllKind :: Lens' CommentList Text-cllKind = lens _cllKind (\ s a -> s{_cllKind = a})---- | The list of comments. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-cllComments :: Lens' CommentList [Comment]-cllComments-  = lens _cllComments (\ s a -> s{_cllComments = a}) .-      _Default-      . _Coerce--instance FromJSON CommentList where-        parseJSON-          = withObject "CommentList"-              (\ o ->-                 CommentList' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "kind" .!= "drive#commentList")-                     <*> (o .:? "comments" .!= mempty))--instance ToJSON CommentList where-        toJSON CommentList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _cllNextPageToken,-                  Just ("kind" .= _cllKind),-                  ("comments" .=) <$> _cllComments])---- | A list of revisions of a file.------ /See:/ 'revisionList' smart constructor.-data RevisionList = RevisionList'-    { _rllNextPageToken :: !(Maybe Text)-    , _rllKind          :: !Text-    , _rllRevisions     :: !(Maybe [Revision])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RevisionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rllNextPageToken'------ * 'rllKind'------ * 'rllRevisions'-revisionList-    :: RevisionList-revisionList =-    RevisionList'-    { _rllNextPageToken = Nothing-    , _rllKind = "drive#revisionList"-    , _rllRevisions = Nothing-    }---- | The page token for the next page of revisions. This will be absent if--- the end of the revisions list has been reached. If the token is rejected--- for any reason, it should be discarded, and pagination should be--- restarted from the first page of results.-rllNextPageToken :: Lens' RevisionList (Maybe Text)-rllNextPageToken-  = lens _rllNextPageToken-      (\ s a -> s{_rllNextPageToken = a})---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#revisionList\".-rllKind :: Lens' RevisionList Text-rllKind = lens _rllKind (\ s a -> s{_rllKind = a})---- | The list of revisions. If nextPageToken is populated, then this list may--- be incomplete and an additional page of results should be fetched.-rllRevisions :: Lens' RevisionList [Revision]-rllRevisions-  = lens _rllRevisions (\ s a -> s{_rllRevisions = a})-      . _Default-      . _Coerce--instance FromJSON RevisionList where-        parseJSON-          = withObject "RevisionList"-              (\ o ->-                 RevisionList' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "kind" .!= "drive#revisionList")-                     <*> (o .:? "revisions" .!= mempty))--instance ToJSON RevisionList where-        toJSON RevisionList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _rllNextPageToken,-                  Just ("kind" .= _rllKind),-                  ("revisions" .=) <$> _rllRevisions])---- | A list of permissions for a file.------ /See:/ 'permissionList' smart constructor.-data PermissionList = PermissionList'-    { _plNextPageToken :: !(Maybe Text)-    , _plKind          :: !Text-    , _plPermissions   :: !(Maybe [Permission])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plNextPageToken'------ * 'plKind'------ * 'plPermissions'-permissionList-    :: PermissionList-permissionList =-    PermissionList'-    { _plNextPageToken = Nothing-    , _plKind = "drive#permissionList"-    , _plPermissions = Nothing-    }+data FileList =+  FileList'+    { _flNextPageToken    :: !(Maybe Text)+    , _flIncompleteSearch :: !(Maybe Bool)+    , _flKind             :: !Text+    , _flFiles            :: !(Maybe [File])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flNextPageToken'+--+-- * 'flIncompleteSearch'+--+-- * 'flKind'+--+-- * 'flFiles'+fileList+    :: FileList+fileList =+  FileList'+    { _flNextPageToken = Nothing+    , _flIncompleteSearch = Nothing+    , _flKind = "drive#fileList"+    , _flFiles = Nothing+    }+++-- | The page token for the next page of files. This will be absent if the+-- end of the files list has been reached. If the token is rejected for any+-- reason, it should be discarded, and pagination should be restarted from+-- the first page of results.+flNextPageToken :: Lens' FileList (Maybe Text)+flNextPageToken+  = lens _flNextPageToken+      (\ s a -> s{_flNextPageToken = a})++-- | Whether the search process was incomplete. If true, then some search+-- results may be missing, since all documents were not searched. This may+-- occur when searching multiple drives with the \"allDrives\" corpora, but+-- all corpora could not be searched. When this happens, it is suggested+-- that clients narrow their query by choosing a different corpus such as+-- \"user\" or \"drive\".+flIncompleteSearch :: Lens' FileList (Maybe Bool)+flIncompleteSearch+  = lens _flIncompleteSearch+      (\ s a -> s{_flIncompleteSearch = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#fileList\".+flKind :: Lens' FileList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | The list of files. If nextPageToken is populated, then this list may be+-- incomplete and an additional page of results should be fetched.+flFiles :: Lens' FileList [File]+flFiles+  = lens _flFiles (\ s a -> s{_flFiles = a}) . _Default+      . _Coerce++instance FromJSON FileList where+        parseJSON+          = withObject "FileList"+              (\ o ->+                 FileList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "incompleteSearch")+                     <*> (o .:? "kind" .!= "drive#fileList")+                     <*> (o .:? "files" .!= mempty))++instance ToJSON FileList where+        toJSON FileList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _flNextPageToken,+                  ("incompleteSearch" .=) <$> _flIncompleteSearch,+                  Just ("kind" .= _flKind), ("files" .=) <$> _flFiles])++-- | Representation of a shared drive.+--+-- /See:/ 'drive' smart constructor.+data Drive =+  Drive'+    { _dThemeId             :: !(Maybe Text)+    , _dBackgRoundImageFile :: !(Maybe DriveBackgRoundImageFile)+    , _dColorRgb            :: !(Maybe Text)+    , _dCreatedTime         :: !(Maybe DateTime')+    , _dKind                :: !Text+    , _dBackgRoundImageLink :: !(Maybe Text)+    , _dName                :: !(Maybe Text)+    , _dRestrictions        :: !(Maybe DriveRestrictions)+    , _dHidden              :: !(Maybe Bool)+    , _dId                  :: !(Maybe Text)+    , _dCapabilities        :: !(Maybe DriveCapabilities)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Drive' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dThemeId'+--+-- * 'dBackgRoundImageFile'+--+-- * 'dColorRgb'+--+-- * 'dCreatedTime'+--+-- * 'dKind'+--+-- * 'dBackgRoundImageLink'+--+-- * 'dName'+--+-- * 'dRestrictions'+--+-- * 'dHidden'+--+-- * 'dId'+--+-- * 'dCapabilities'+drive+    :: Drive+drive =+  Drive'+    { _dThemeId = Nothing+    , _dBackgRoundImageFile = Nothing+    , _dColorRgb = Nothing+    , _dCreatedTime = Nothing+    , _dKind = "drive#drive"+    , _dBackgRoundImageLink = Nothing+    , _dName = Nothing+    , _dRestrictions = Nothing+    , _dHidden = Nothing+    , _dId = Nothing+    , _dCapabilities = Nothing+    }+++-- | The ID of the theme from which the background image and color will be+-- set. The set of possible driveThemes can be retrieved from a+-- drive.about.get response. When not specified on a drive.drives.create+-- request, a random theme is chosen from which the background image and+-- color are set. This is a write-only field; it can only be set on+-- requests that don\'t set colorRgb or backgroundImageFile.+dThemeId :: Lens' Drive (Maybe Text)+dThemeId = lens _dThemeId (\ s a -> s{_dThemeId = a})++-- | An image file and cropping parameters from which a background image for+-- this shared drive is set. This is a write only field; it can only be set+-- on drive.drives.update requests that don\'t set themeId. When specified,+-- all fields of the backgroundImageFile must be set.+dBackgRoundImageFile :: Lens' Drive (Maybe DriveBackgRoundImageFile)+dBackgRoundImageFile+  = lens _dBackgRoundImageFile+      (\ s a -> s{_dBackgRoundImageFile = a})++-- | The color of this shared drive as an RGB hex string. It can only be set+-- on a drive.drives.update request that does not set themeId.+dColorRgb :: Lens' Drive (Maybe Text)+dColorRgb+  = lens _dColorRgb (\ s a -> s{_dColorRgb = a})++-- | The time at which the shared drive was created (RFC 3339 date-time).+dCreatedTime :: Lens' Drive (Maybe UTCTime)+dCreatedTime+  = lens _dCreatedTime (\ s a -> s{_dCreatedTime = a})+      . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#drive\".+dKind :: Lens' Drive Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | A short-lived link to this shared drive\'s background image.+dBackgRoundImageLink :: Lens' Drive (Maybe Text)+dBackgRoundImageLink+  = lens _dBackgRoundImageLink+      (\ s a -> s{_dBackgRoundImageLink = a})++-- | The name of this shared drive.+dName :: Lens' Drive (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | A set of restrictions that apply to this shared drive or items inside+-- this shared drive.+dRestrictions :: Lens' Drive (Maybe DriveRestrictions)+dRestrictions+  = lens _dRestrictions+      (\ s a -> s{_dRestrictions = a})++-- | Whether the shared drive is hidden from default view.+dHidden :: Lens' Drive (Maybe Bool)+dHidden = lens _dHidden (\ s a -> s{_dHidden = a})++-- | The ID of this shared drive which is also the ID of the top level folder+-- of this shared drive.+dId :: Lens' Drive (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a})++-- | Capabilities the current user has on this shared drive.+dCapabilities :: Lens' Drive (Maybe DriveCapabilities)+dCapabilities+  = lens _dCapabilities+      (\ s a -> s{_dCapabilities = a})++instance FromJSON Drive where+        parseJSON+          = withObject "Drive"+              (\ o ->+                 Drive' <$>+                   (o .:? "themeId") <*> (o .:? "backgroundImageFile")+                     <*> (o .:? "colorRgb")+                     <*> (o .:? "createdTime")+                     <*> (o .:? "kind" .!= "drive#drive")+                     <*> (o .:? "backgroundImageLink")+                     <*> (o .:? "name")+                     <*> (o .:? "restrictions")+                     <*> (o .:? "hidden")+                     <*> (o .:? "id")+                     <*> (o .:? "capabilities"))++instance ToJSON Drive where+        toJSON Drive'{..}+          = object+              (catMaybes+                 [("themeId" .=) <$> _dThemeId,+                  ("backgroundImageFile" .=) <$> _dBackgRoundImageFile,+                  ("colorRgb" .=) <$> _dColorRgb,+                  ("createdTime" .=) <$> _dCreatedTime,+                  Just ("kind" .= _dKind),+                  ("backgroundImageLink" .=) <$> _dBackgRoundImageLink,+                  ("name" .=) <$> _dName,+                  ("restrictions" .=) <$> _dRestrictions,+                  ("hidden" .=) <$> _dHidden, ("id" .=) <$> _dId,+                  ("capabilities" .=) <$> _dCapabilities])++-- | Capabilities the current user has on this Team Drive.+--+-- /See:/ 'teamDriveCapabilities' smart constructor.+data TeamDriveCapabilities =+  TeamDriveCapabilities'+    { _tdcCanRename                                        :: !(Maybe Bool)+    , _tdcCanChangeTeamMembersOnlyRestriction              :: !(Maybe Bool)+    , _tdcCanComment                                       :: !(Maybe Bool)+    , _tdcCanRenameTeamDrive                               :: !(Maybe Bool)+    , _tdcCanChangeTeamDriveBackgRound                     :: !(Maybe Bool)+    , _tdcCanDownload                                      :: !(Maybe Bool)+    , _tdcCanChangeDomainUsersOnlyRestriction              :: !(Maybe Bool)+    , _tdcCanTrashChildren                                 :: !(Maybe Bool)+    , _tdcCanAddChildren                                   :: !(Maybe Bool)+    , _tdcCanRemoveChildren                                :: !(Maybe Bool)+    , _tdcCanChangeCopyRequiresWriterPermissionRestriction :: !(Maybe Bool)+    , _tdcCanDeleteTeamDrive                               :: !(Maybe Bool)+    , _tdcCanListChildren                                  :: !(Maybe Bool)+    , _tdcCanEdit                                          :: !(Maybe Bool)+    , _tdcCanManageMembers                                 :: !(Maybe Bool)+    , _tdcCanReadRevisions                                 :: !(Maybe Bool)+    , _tdcCanDeleteChildren                                :: !(Maybe Bool)+    , _tdcCanCopy                                          :: !(Maybe Bool)+    , _tdcCanShare                                         :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TeamDriveCapabilities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdcCanRename'+--+-- * 'tdcCanChangeTeamMembersOnlyRestriction'+--+-- * 'tdcCanComment'+--+-- * 'tdcCanRenameTeamDrive'+--+-- * 'tdcCanChangeTeamDriveBackgRound'+--+-- * 'tdcCanDownload'+--+-- * 'tdcCanChangeDomainUsersOnlyRestriction'+--+-- * 'tdcCanTrashChildren'+--+-- * 'tdcCanAddChildren'+--+-- * 'tdcCanRemoveChildren'+--+-- * 'tdcCanChangeCopyRequiresWriterPermissionRestriction'+--+-- * 'tdcCanDeleteTeamDrive'+--+-- * 'tdcCanListChildren'+--+-- * 'tdcCanEdit'+--+-- * 'tdcCanManageMembers'+--+-- * 'tdcCanReadRevisions'+--+-- * 'tdcCanDeleteChildren'+--+-- * 'tdcCanCopy'+--+-- * 'tdcCanShare'+teamDriveCapabilities+    :: TeamDriveCapabilities+teamDriveCapabilities =+  TeamDriveCapabilities'+    { _tdcCanRename = Nothing+    , _tdcCanChangeTeamMembersOnlyRestriction = Nothing+    , _tdcCanComment = Nothing+    , _tdcCanRenameTeamDrive = Nothing+    , _tdcCanChangeTeamDriveBackgRound = Nothing+    , _tdcCanDownload = Nothing+    , _tdcCanChangeDomainUsersOnlyRestriction = Nothing+    , _tdcCanTrashChildren = Nothing+    , _tdcCanAddChildren = Nothing+    , _tdcCanRemoveChildren = Nothing+    , _tdcCanChangeCopyRequiresWriterPermissionRestriction = Nothing+    , _tdcCanDeleteTeamDrive = Nothing+    , _tdcCanListChildren = Nothing+    , _tdcCanEdit = Nothing+    , _tdcCanManageMembers = Nothing+    , _tdcCanReadRevisions = Nothing+    , _tdcCanDeleteChildren = Nothing+    , _tdcCanCopy = Nothing+    , _tdcCanShare = Nothing+    }+++-- | Whether the current user can rename files or folders in this Team Drive.+tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRename+  = lens _tdcCanRename (\ s a -> s{_tdcCanRename = a})++-- | Whether the current user can change the teamMembersOnly restriction of+-- this Team Drive.+tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeTeamMembersOnlyRestriction+  = lens _tdcCanChangeTeamMembersOnlyRestriction+      (\ s a ->+         s{_tdcCanChangeTeamMembersOnlyRestriction = a})++-- | Whether the current user can comment on files in this Team Drive.+tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanComment+  = lens _tdcCanComment+      (\ s a -> s{_tdcCanComment = a})++-- | Whether the current user can rename this Team Drive.+tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRenameTeamDrive+  = lens _tdcCanRenameTeamDrive+      (\ s a -> s{_tdcCanRenameTeamDrive = a})++-- | Whether the current user can change the background of this Team Drive.+tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeTeamDriveBackgRound+  = lens _tdcCanChangeTeamDriveBackgRound+      (\ s a -> s{_tdcCanChangeTeamDriveBackgRound = a})++-- | Whether the current user can download files in this Team Drive.+tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDownload+  = lens _tdcCanDownload+      (\ s a -> s{_tdcCanDownload = a})++-- | Whether the current user can change the domainUsersOnly restriction of+-- this Team Drive.+tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeDomainUsersOnlyRestriction+  = lens _tdcCanChangeDomainUsersOnlyRestriction+      (\ s a ->+         s{_tdcCanChangeDomainUsersOnlyRestriction = a})++-- | Whether the current user can trash children from folders in this Team+-- Drive.+tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanTrashChildren+  = lens _tdcCanTrashChildren+      (\ s a -> s{_tdcCanTrashChildren = a})++-- | Whether the current user can add children to folders in this Team Drive.+tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanAddChildren+  = lens _tdcCanAddChildren+      (\ s a -> s{_tdcCanAddChildren = a})++-- | Deprecated - use canDeleteChildren or canTrashChildren instead.+tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanRemoveChildren+  = lens _tdcCanRemoveChildren+      (\ s a -> s{_tdcCanRemoveChildren = a})++-- | Whether the current user can change the copyRequiresWriterPermission+-- restriction of this Team Drive.+tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanChangeCopyRequiresWriterPermissionRestriction+  = lens+      _tdcCanChangeCopyRequiresWriterPermissionRestriction+      (\ s a ->+         s{_tdcCanChangeCopyRequiresWriterPermissionRestriction+             = a})++-- | Whether the current user can delete this Team Drive. Attempting to+-- delete the Team Drive may still fail if there are untrashed items inside+-- the Team Drive.+tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDeleteTeamDrive+  = lens _tdcCanDeleteTeamDrive+      (\ s a -> s{_tdcCanDeleteTeamDrive = a})++-- | Whether the current user can list the children of folders in this Team+-- Drive.+tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanListChildren+  = lens _tdcCanListChildren+      (\ s a -> s{_tdcCanListChildren = a})++-- | Whether the current user can edit files in this Team Drive+tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanEdit+  = lens _tdcCanEdit (\ s a -> s{_tdcCanEdit = a})++-- | Whether the current user can add members to this Team Drive or remove+-- them or change their role.+tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanManageMembers+  = lens _tdcCanManageMembers+      (\ s a -> s{_tdcCanManageMembers = a})++-- | Whether the current user can read the revisions resource of files in+-- this Team Drive.+tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanReadRevisions+  = lens _tdcCanReadRevisions+      (\ s a -> s{_tdcCanReadRevisions = a})++-- | Whether the current user can delete children from folders in this Team+-- Drive.+tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanDeleteChildren+  = lens _tdcCanDeleteChildren+      (\ s a -> s{_tdcCanDeleteChildren = a})++-- | Whether the current user can copy files in this Team Drive.+tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanCopy+  = lens _tdcCanCopy (\ s a -> s{_tdcCanCopy = a})++-- | Whether the current user can share files or folders in this Team Drive.+tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)+tdcCanShare+  = lens _tdcCanShare (\ s a -> s{_tdcCanShare = a})++instance FromJSON TeamDriveCapabilities where+        parseJSON+          = withObject "TeamDriveCapabilities"+              (\ o ->+                 TeamDriveCapabilities' <$>+                   (o .:? "canRename") <*>+                     (o .:? "canChangeTeamMembersOnlyRestriction")+                     <*> (o .:? "canComment")+                     <*> (o .:? "canRenameTeamDrive")+                     <*> (o .:? "canChangeTeamDriveBackground")+                     <*> (o .:? "canDownload")+                     <*> (o .:? "canChangeDomainUsersOnlyRestriction")+                     <*> (o .:? "canTrashChildren")+                     <*> (o .:? "canAddChildren")+                     <*> (o .:? "canRemoveChildren")+                     <*>+                     (o .:?+                        "canChangeCopyRequiresWriterPermissionRestriction")+                     <*> (o .:? "canDeleteTeamDrive")+                     <*> (o .:? "canListChildren")+                     <*> (o .:? "canEdit")+                     <*> (o .:? "canManageMembers")+                     <*> (o .:? "canReadRevisions")+                     <*> (o .:? "canDeleteChildren")+                     <*> (o .:? "canCopy")+                     <*> (o .:? "canShare"))++instance ToJSON TeamDriveCapabilities where+        toJSON TeamDriveCapabilities'{..}+          = object+              (catMaybes+                 [("canRename" .=) <$> _tdcCanRename,+                  ("canChangeTeamMembersOnlyRestriction" .=) <$>+                    _tdcCanChangeTeamMembersOnlyRestriction,+                  ("canComment" .=) <$> _tdcCanComment,+                  ("canRenameTeamDrive" .=) <$> _tdcCanRenameTeamDrive,+                  ("canChangeTeamDriveBackground" .=) <$>+                    _tdcCanChangeTeamDriveBackgRound,+                  ("canDownload" .=) <$> _tdcCanDownload,+                  ("canChangeDomainUsersOnlyRestriction" .=) <$>+                    _tdcCanChangeDomainUsersOnlyRestriction,+                  ("canTrashChildren" .=) <$> _tdcCanTrashChildren,+                  ("canAddChildren" .=) <$> _tdcCanAddChildren,+                  ("canRemoveChildren" .=) <$> _tdcCanRemoveChildren,+                  ("canChangeCopyRequiresWriterPermissionRestriction"+                     .=)+                    <$>+                    _tdcCanChangeCopyRequiresWriterPermissionRestriction,+                  ("canDeleteTeamDrive" .=) <$> _tdcCanDeleteTeamDrive,+                  ("canListChildren" .=) <$> _tdcCanListChildren,+                  ("canEdit" .=) <$> _tdcCanEdit,+                  ("canManageMembers" .=) <$> _tdcCanManageMembers,+                  ("canReadRevisions" .=) <$> _tdcCanReadRevisions,+                  ("canDeleteChildren" .=) <$> _tdcCanDeleteChildren,+                  ("canCopy" .=) <$> _tdcCanCopy,+                  ("canShare" .=) <$> _tdcCanShare])++--+-- /See:/ 'permissionPermissionDetailsItem' smart constructor.+data PermissionPermissionDetailsItem =+  PermissionPermissionDetailsItem'+    { _ppdiInherited      :: !(Maybe Bool)+    , _ppdiPermissionType :: !(Maybe Text)+    , _ppdiRole           :: !(Maybe Text)+    , _ppdiInheritedFrom  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PermissionPermissionDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppdiInherited'+--+-- * 'ppdiPermissionType'+--+-- * 'ppdiRole'+--+-- * 'ppdiInheritedFrom'+permissionPermissionDetailsItem+    :: PermissionPermissionDetailsItem+permissionPermissionDetailsItem =+  PermissionPermissionDetailsItem'+    { _ppdiInherited = Nothing+    , _ppdiPermissionType = Nothing+    , _ppdiRole = Nothing+    , _ppdiInheritedFrom = Nothing+    }+++-- | Whether this permission is inherited. This field is always populated.+-- This is an output-only field.+ppdiInherited :: Lens' PermissionPermissionDetailsItem (Maybe Bool)+ppdiInherited+  = lens _ppdiInherited+      (\ s a -> s{_ppdiInherited = a})++-- | The permission type for this user. While new values may be added in+-- future, the following are currently possible: - file - member+ppdiPermissionType :: Lens' PermissionPermissionDetailsItem (Maybe Text)+ppdiPermissionType+  = lens _ppdiPermissionType+      (\ s a -> s{_ppdiPermissionType = a})++-- | The primary role for this user. While new values may be added in the+-- future, the following are currently possible: - organizer -+-- fileOrganizer - writer - commenter - reader+ppdiRole :: Lens' PermissionPermissionDetailsItem (Maybe Text)+ppdiRole = lens _ppdiRole (\ s a -> s{_ppdiRole = a})++-- | The ID of the item from which this permission is inherited. This is an+-- output-only field and is only populated for members of the shared drive.+ppdiInheritedFrom :: Lens' PermissionPermissionDetailsItem (Maybe Text)+ppdiInheritedFrom+  = lens _ppdiInheritedFrom+      (\ s a -> s{_ppdiInheritedFrom = a})++instance FromJSON PermissionPermissionDetailsItem+         where+        parseJSON+          = withObject "PermissionPermissionDetailsItem"+              (\ o ->+                 PermissionPermissionDetailsItem' <$>+                   (o .:? "inherited") <*> (o .:? "permissionType") <*>+                     (o .:? "role")+                     <*> (o .:? "inheritedFrom"))++instance ToJSON PermissionPermissionDetailsItem where+        toJSON PermissionPermissionDetailsItem'{..}+          = object+              (catMaybes+                 [("inherited" .=) <$> _ppdiInherited,+                  ("permissionType" .=) <$> _ppdiPermissionType,+                  ("role" .=) <$> _ppdiRole,+                  ("inheritedFrom" .=) <$> _ppdiInheritedFrom])++-- | The file content to which the comment refers, typically within the+-- anchor region. For a text file, for example, this would be the text at+-- the location of the comment.+--+-- /See:/ 'commentQuotedFileContent' smart constructor.+data CommentQuotedFileContent =+  CommentQuotedFileContent'+    { _cqfcValue    :: !(Maybe Text)+    , _cqfcMimeType :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CommentQuotedFileContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cqfcValue'+--+-- * 'cqfcMimeType'+commentQuotedFileContent+    :: CommentQuotedFileContent+commentQuotedFileContent =+  CommentQuotedFileContent' {_cqfcValue = Nothing, _cqfcMimeType = Nothing}+++-- | The quoted content itself. This is interpreted as plain text if set+-- through the API.+cqfcValue :: Lens' CommentQuotedFileContent (Maybe Text)+cqfcValue+  = lens _cqfcValue (\ s a -> s{_cqfcValue = a})++-- | The MIME type of the quoted content.+cqfcMimeType :: Lens' CommentQuotedFileContent (Maybe Text)+cqfcMimeType+  = lens _cqfcMimeType (\ s a -> s{_cqfcMimeType = a})++instance FromJSON CommentQuotedFileContent where+        parseJSON+          = withObject "CommentQuotedFileContent"+              (\ o ->+                 CommentQuotedFileContent' <$>+                   (o .:? "value") <*> (o .:? "mimeType"))++instance ToJSON CommentQuotedFileContent where+        toJSON CommentQuotedFileContent'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _cqfcValue,+                  ("mimeType" .=) <$> _cqfcMimeType])++-- | Capabilities the current user has on this shared drive.+--+-- /See:/ 'driveCapabilities' smart constructor.+data DriveCapabilities =+  DriveCapabilities'+    { _dcCanRename                                        :: !(Maybe Bool)+    , _dcCanComment                                       :: !(Maybe Bool)+    , _dcCanChangeDriveBackgRound                         :: !(Maybe Bool)+    , _dcCanRenameDrive                                   :: !(Maybe Bool)+    , _dcCanDownload                                      :: !(Maybe Bool)+    , _dcCanChangeDomainUsersOnlyRestriction              :: !(Maybe Bool)+    , _dcCanTrashChildren                                 :: !(Maybe Bool)+    , _dcCanAddChildren                                   :: !(Maybe Bool)+    , _dcCanChangeCopyRequiresWriterPermissionRestriction :: !(Maybe Bool)+    , _dcCanChangeDriveMembersOnlyRestriction             :: !(Maybe Bool)+    , _dcCanListChildren                                  :: !(Maybe Bool)+    , _dcCanEdit                                          :: !(Maybe Bool)+    , _dcCanManageMembers                                 :: !(Maybe Bool)+    , _dcCanReadRevisions                                 :: !(Maybe Bool)+    , _dcCanDeleteChildren                                :: !(Maybe Bool)+    , _dcCanCopy                                          :: !(Maybe Bool)+    , _dcCanDeleteDrive                                   :: !(Maybe Bool)+    , _dcCanShare                                         :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DriveCapabilities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcCanRename'+--+-- * 'dcCanComment'+--+-- * 'dcCanChangeDriveBackgRound'+--+-- * 'dcCanRenameDrive'+--+-- * 'dcCanDownload'+--+-- * 'dcCanChangeDomainUsersOnlyRestriction'+--+-- * 'dcCanTrashChildren'+--+-- * 'dcCanAddChildren'+--+-- * 'dcCanChangeCopyRequiresWriterPermissionRestriction'+--+-- * 'dcCanChangeDriveMembersOnlyRestriction'+--+-- * 'dcCanListChildren'+--+-- * 'dcCanEdit'+--+-- * 'dcCanManageMembers'+--+-- * 'dcCanReadRevisions'+--+-- * 'dcCanDeleteChildren'+--+-- * 'dcCanCopy'+--+-- * 'dcCanDeleteDrive'+--+-- * 'dcCanShare'+driveCapabilities+    :: DriveCapabilities+driveCapabilities =+  DriveCapabilities'+    { _dcCanRename = Nothing+    , _dcCanComment = Nothing+    , _dcCanChangeDriveBackgRound = Nothing+    , _dcCanRenameDrive = Nothing+    , _dcCanDownload = Nothing+    , _dcCanChangeDomainUsersOnlyRestriction = Nothing+    , _dcCanTrashChildren = Nothing+    , _dcCanAddChildren = Nothing+    , _dcCanChangeCopyRequiresWriterPermissionRestriction = Nothing+    , _dcCanChangeDriveMembersOnlyRestriction = Nothing+    , _dcCanListChildren = Nothing+    , _dcCanEdit = Nothing+    , _dcCanManageMembers = Nothing+    , _dcCanReadRevisions = Nothing+    , _dcCanDeleteChildren = Nothing+    , _dcCanCopy = Nothing+    , _dcCanDeleteDrive = Nothing+    , _dcCanShare = Nothing+    }+++-- | Whether the current user can rename files or folders in this shared+-- drive.+dcCanRename :: Lens' DriveCapabilities (Maybe Bool)+dcCanRename+  = lens _dcCanRename (\ s a -> s{_dcCanRename = a})++-- | Whether the current user can comment on files in this shared drive.+dcCanComment :: Lens' DriveCapabilities (Maybe Bool)+dcCanComment+  = lens _dcCanComment (\ s a -> s{_dcCanComment = a})++-- | Whether the current user can change the background of this shared drive.+dcCanChangeDriveBackgRound :: Lens' DriveCapabilities (Maybe Bool)+dcCanChangeDriveBackgRound+  = lens _dcCanChangeDriveBackgRound+      (\ s a -> s{_dcCanChangeDriveBackgRound = a})++-- | Whether the current user can rename this shared drive.+dcCanRenameDrive :: Lens' DriveCapabilities (Maybe Bool)+dcCanRenameDrive+  = lens _dcCanRenameDrive+      (\ s a -> s{_dcCanRenameDrive = a})++-- | Whether the current user can download files in this shared drive.+dcCanDownload :: Lens' DriveCapabilities (Maybe Bool)+dcCanDownload+  = lens _dcCanDownload+      (\ s a -> s{_dcCanDownload = a})++-- | Whether the current user can change the domainUsersOnly restriction of+-- this shared drive.+dcCanChangeDomainUsersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)+dcCanChangeDomainUsersOnlyRestriction+  = lens _dcCanChangeDomainUsersOnlyRestriction+      (\ s a ->+         s{_dcCanChangeDomainUsersOnlyRestriction = a})++-- | Whether the current user can trash children from folders in this shared+-- drive.+dcCanTrashChildren :: Lens' DriveCapabilities (Maybe Bool)+dcCanTrashChildren+  = lens _dcCanTrashChildren+      (\ s a -> s{_dcCanTrashChildren = a})++-- | Whether the current user can add children to folders in this shared+-- drive.+dcCanAddChildren :: Lens' DriveCapabilities (Maybe Bool)+dcCanAddChildren+  = lens _dcCanAddChildren+      (\ s a -> s{_dcCanAddChildren = a})++-- | Whether the current user can change the copyRequiresWriterPermission+-- restriction of this shared drive.+dcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' DriveCapabilities (Maybe Bool)+dcCanChangeCopyRequiresWriterPermissionRestriction+  = lens+      _dcCanChangeCopyRequiresWriterPermissionRestriction+      (\ s a ->+         s{_dcCanChangeCopyRequiresWriterPermissionRestriction+             = a})++-- | Whether the current user can change the driveMembersOnly restriction of+-- this shared drive.+dcCanChangeDriveMembersOnlyRestriction :: Lens' DriveCapabilities (Maybe Bool)+dcCanChangeDriveMembersOnlyRestriction+  = lens _dcCanChangeDriveMembersOnlyRestriction+      (\ s a ->+         s{_dcCanChangeDriveMembersOnlyRestriction = a})++-- | Whether the current user can list the children of folders in this shared+-- drive.+dcCanListChildren :: Lens' DriveCapabilities (Maybe Bool)+dcCanListChildren+  = lens _dcCanListChildren+      (\ s a -> s{_dcCanListChildren = a})++-- | Whether the current user can edit files in this shared drive+dcCanEdit :: Lens' DriveCapabilities (Maybe Bool)+dcCanEdit+  = lens _dcCanEdit (\ s a -> s{_dcCanEdit = a})++-- | Whether the current user can add members to this shared drive or remove+-- them or change their role.+dcCanManageMembers :: Lens' DriveCapabilities (Maybe Bool)+dcCanManageMembers+  = lens _dcCanManageMembers+      (\ s a -> s{_dcCanManageMembers = a})++-- | Whether the current user can read the revisions resource of files in+-- this shared drive.+dcCanReadRevisions :: Lens' DriveCapabilities (Maybe Bool)+dcCanReadRevisions+  = lens _dcCanReadRevisions+      (\ s a -> s{_dcCanReadRevisions = a})++-- | Whether the current user can delete children from folders in this shared+-- drive.+dcCanDeleteChildren :: Lens' DriveCapabilities (Maybe Bool)+dcCanDeleteChildren+  = lens _dcCanDeleteChildren+      (\ s a -> s{_dcCanDeleteChildren = a})++-- | Whether the current user can copy files in this shared drive.+dcCanCopy :: Lens' DriveCapabilities (Maybe Bool)+dcCanCopy+  = lens _dcCanCopy (\ s a -> s{_dcCanCopy = a})++-- | Whether the current user can delete this shared drive. Attempting to+-- delete the shared drive may still fail if there are untrashed items+-- inside the shared drive.+dcCanDeleteDrive :: Lens' DriveCapabilities (Maybe Bool)+dcCanDeleteDrive+  = lens _dcCanDeleteDrive+      (\ s a -> s{_dcCanDeleteDrive = a})++-- | Whether the current user can share files or folders in this shared+-- drive.+dcCanShare :: Lens' DriveCapabilities (Maybe Bool)+dcCanShare+  = lens _dcCanShare (\ s a -> s{_dcCanShare = a})++instance FromJSON DriveCapabilities where+        parseJSON+          = withObject "DriveCapabilities"+              (\ o ->+                 DriveCapabilities' <$>+                   (o .:? "canRename") <*> (o .:? "canComment") <*>+                     (o .:? "canChangeDriveBackground")+                     <*> (o .:? "canRenameDrive")+                     <*> (o .:? "canDownload")+                     <*> (o .:? "canChangeDomainUsersOnlyRestriction")+                     <*> (o .:? "canTrashChildren")+                     <*> (o .:? "canAddChildren")+                     <*>+                     (o .:?+                        "canChangeCopyRequiresWriterPermissionRestriction")+                     <*> (o .:? "canChangeDriveMembersOnlyRestriction")+                     <*> (o .:? "canListChildren")+                     <*> (o .:? "canEdit")+                     <*> (o .:? "canManageMembers")+                     <*> (o .:? "canReadRevisions")+                     <*> (o .:? "canDeleteChildren")+                     <*> (o .:? "canCopy")+                     <*> (o .:? "canDeleteDrive")+                     <*> (o .:? "canShare"))++instance ToJSON DriveCapabilities where+        toJSON DriveCapabilities'{..}+          = object+              (catMaybes+                 [("canRename" .=) <$> _dcCanRename,+                  ("canComment" .=) <$> _dcCanComment,+                  ("canChangeDriveBackground" .=) <$>+                    _dcCanChangeDriveBackgRound,+                  ("canRenameDrive" .=) <$> _dcCanRenameDrive,+                  ("canDownload" .=) <$> _dcCanDownload,+                  ("canChangeDomainUsersOnlyRestriction" .=) <$>+                    _dcCanChangeDomainUsersOnlyRestriction,+                  ("canTrashChildren" .=) <$> _dcCanTrashChildren,+                  ("canAddChildren" .=) <$> _dcCanAddChildren,+                  ("canChangeCopyRequiresWriterPermissionRestriction"+                     .=)+                    <$>+                    _dcCanChangeCopyRequiresWriterPermissionRestriction,+                  ("canChangeDriveMembersOnlyRestriction" .=) <$>+                    _dcCanChangeDriveMembersOnlyRestriction,+                  ("canListChildren" .=) <$> _dcCanListChildren,+                  ("canEdit" .=) <$> _dcCanEdit,+                  ("canManageMembers" .=) <$> _dcCanManageMembers,+                  ("canReadRevisions" .=) <$> _dcCanReadRevisions,+                  ("canDeleteChildren" .=) <$> _dcCanDeleteChildren,+                  ("canCopy" .=) <$> _dcCanCopy,+                  ("canDeleteDrive" .=) <$> _dcCanDeleteDrive,+                  ("canShare" .=) <$> _dcCanShare])++-- | The user\'s storage quota limits and usage. All fields are measured in+-- bytes.+--+-- /See:/ 'aboutStorageQuota' smart constructor.+data AboutStorageQuota =+  AboutStorageQuota'+    { _asqUsageInDriveTrash :: !(Maybe (Textual Int64))+    , _asqLimit             :: !(Maybe (Textual Int64))+    , _asqUsage             :: !(Maybe (Textual Int64))+    , _asqUsageInDrive      :: !(Maybe (Textual Int64))+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutStorageQuota' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asqUsageInDriveTrash'+--+-- * 'asqLimit'+--+-- * 'asqUsage'+--+-- * 'asqUsageInDrive'+aboutStorageQuota+    :: AboutStorageQuota+aboutStorageQuota =+  AboutStorageQuota'+    { _asqUsageInDriveTrash = Nothing+    , _asqLimit = Nothing+    , _asqUsage = Nothing+    , _asqUsageInDrive = Nothing+    }+++-- | The usage by trashed files in Google Drive.+asqUsageInDriveTrash :: Lens' AboutStorageQuota (Maybe Int64)+asqUsageInDriveTrash+  = lens _asqUsageInDriveTrash+      (\ s a -> s{_asqUsageInDriveTrash = a})+      . mapping _Coerce++-- | The usage limit, if applicable. This will not be present if the user has+-- unlimited storage.+asqLimit :: Lens' AboutStorageQuota (Maybe Int64)+asqLimit+  = lens _asqLimit (\ s a -> s{_asqLimit = a}) .+      mapping _Coerce++-- | The total usage across all services.+asqUsage :: Lens' AboutStorageQuota (Maybe Int64)+asqUsage+  = lens _asqUsage (\ s a -> s{_asqUsage = a}) .+      mapping _Coerce++-- | The usage by all files in Google Drive.+asqUsageInDrive :: Lens' AboutStorageQuota (Maybe Int64)+asqUsageInDrive+  = lens _asqUsageInDrive+      (\ s a -> s{_asqUsageInDrive = a})+      . mapping _Coerce++instance FromJSON AboutStorageQuota where+        parseJSON+          = withObject "AboutStorageQuota"+              (\ o ->+                 AboutStorageQuota' <$>+                   (o .:? "usageInDriveTrash") <*> (o .:? "limit") <*>+                     (o .:? "usage")+                     <*> (o .:? "usageInDrive"))++instance ToJSON AboutStorageQuota where+        toJSON AboutStorageQuota'{..}+          = object+              (catMaybes+                 [("usageInDriveTrash" .=) <$> _asqUsageInDriveTrash,+                  ("limit" .=) <$> _asqLimit,+                  ("usage" .=) <$> _asqUsage,+                  ("usageInDrive" .=) <$> _asqUsageInDrive])++-- | A reply to a comment on a file.+--+-- /See:/ 'reply' smart constructor.+data Reply =+  Reply'+    { _rHTMLContent  :: !(Maybe Text)+    , _rModifiedTime :: !(Maybe DateTime')+    , _rCreatedTime  :: !(Maybe DateTime')+    , _rKind         :: !Text+    , _rAction       :: !(Maybe Text)+    , _rContent      :: !(Maybe Text)+    , _rAuthor       :: !(Maybe User)+    , _rId           :: !(Maybe Text)+    , _rDeleted      :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Reply' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rHTMLContent'+--+-- * 'rModifiedTime'+--+-- * 'rCreatedTime'+--+-- * 'rKind'+--+-- * 'rAction'+--+-- * 'rContent'+--+-- * 'rAuthor'+--+-- * 'rId'+--+-- * 'rDeleted'+reply+    :: Reply+reply =+  Reply'+    { _rHTMLContent = Nothing+    , _rModifiedTime = Nothing+    , _rCreatedTime = Nothing+    , _rKind = "drive#reply"+    , _rAction = Nothing+    , _rContent = Nothing+    , _rAuthor = Nothing+    , _rId = Nothing+    , _rDeleted = Nothing+    }+++-- | The content of the reply with HTML formatting.+rHTMLContent :: Lens' Reply (Maybe Text)+rHTMLContent+  = lens _rHTMLContent (\ s a -> s{_rHTMLContent = a})++-- | The last time the reply was modified (RFC 3339 date-time).+rModifiedTime :: Lens' Reply (Maybe UTCTime)+rModifiedTime+  = lens _rModifiedTime+      (\ s a -> s{_rModifiedTime = a})+      . mapping _DateTime++-- | The time at which the reply was created (RFC 3339 date-time).+rCreatedTime :: Lens' Reply (Maybe UTCTime)+rCreatedTime+  = lens _rCreatedTime (\ s a -> s{_rCreatedTime = a})+      . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#reply\".+rKind :: Lens' Reply Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | The action the reply performed to the parent comment. Valid values are:+-- - resolve - reopen+rAction :: Lens' Reply (Maybe Text)+rAction = lens _rAction (\ s a -> s{_rAction = a})++-- | The plain text content of the reply. This field is used for setting the+-- content, while htmlContent should be displayed. This is required on+-- creates if no action is specified.+rContent :: Lens' Reply (Maybe Text)+rContent = lens _rContent (\ s a -> s{_rContent = a})++-- | The user who created the reply.+rAuthor :: Lens' Reply (Maybe User)+rAuthor = lens _rAuthor (\ s a -> s{_rAuthor = a})++-- | The ID of the reply.+rId :: Lens' Reply (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a})++-- | Whether the reply has been deleted. A deleted reply has no content.+rDeleted :: Lens' Reply (Maybe Bool)+rDeleted = lens _rDeleted (\ s a -> s{_rDeleted = a})++instance FromJSON Reply where+        parseJSON+          = withObject "Reply"+              (\ o ->+                 Reply' <$>+                   (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>+                     (o .:? "createdTime")+                     <*> (o .:? "kind" .!= "drive#reply")+                     <*> (o .:? "action")+                     <*> (o .:? "content")+                     <*> (o .:? "author")+                     <*> (o .:? "id")+                     <*> (o .:? "deleted"))++instance ToJSON Reply where+        toJSON Reply'{..}+          = object+              (catMaybes+                 [("htmlContent" .=) <$> _rHTMLContent,+                  ("modifiedTime" .=) <$> _rModifiedTime,+                  ("createdTime" .=) <$> _rCreatedTime,+                  Just ("kind" .= _rKind), ("action" .=) <$> _rAction,+                  ("content" .=) <$> _rContent,+                  ("author" .=) <$> _rAuthor, ("id" .=) <$> _rId,+                  ("deleted" .=) <$> _rDeleted])++-- | A map of source MIME type to possible targets for all supported imports.+--+-- /See:/ 'aboutImportFormats' smart constructor.+newtype AboutImportFormats =+  AboutImportFormats'+    { _aifAddtional :: HashMap Text [Text]+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutImportFormats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aifAddtional'+aboutImportFormats+    :: HashMap Text [Text] -- ^ 'aifAddtional'+    -> AboutImportFormats+aboutImportFormats pAifAddtional_ =+  AboutImportFormats' {_aifAddtional = _Coerce # pAifAddtional_}+++aifAddtional :: Lens' AboutImportFormats (HashMap Text [Text])+aifAddtional+  = lens _aifAddtional (\ s a -> s{_aifAddtional = a})+      . _Coerce++instance FromJSON AboutImportFormats where+        parseJSON+          = withObject "AboutImportFormats"+              (\ o -> AboutImportFormats' <$> (parseJSONObject o))++instance ToJSON AboutImportFormats where+        toJSON = toJSON . _aifAddtional++-- | Capabilities the current user has on this file. Each capability+-- corresponds to a fine-grained action that a user may take.+--+-- /See:/ 'fileCapabilities' smart constructor.+data FileCapabilities =+  FileCapabilities'+    { _fcCanRename                             :: !(Maybe Bool)+    , _fcCanComment                            :: !(Maybe Bool)+    , _fcCanMoveChildrenWithinDrive            :: !(Maybe Bool)+    , _fcCanMoveChildrenWithinTeamDrive        :: !(Maybe Bool)+    , _fcCanDelete                             :: !(Maybe Bool)+    , _fcCanMoveItemIntoTeamDrive              :: !(Maybe Bool)+    , _fcCanDownload                           :: !(Maybe Bool)+    , _fcCanTrash                              :: !(Maybe Bool)+    , _fcCanUntrash                            :: !(Maybe Bool)+    , _fcCanTrashChildren                      :: !(Maybe Bool)+    , _fcCanMoveItemOutOfDrive                 :: !(Maybe Bool)+    , _fcCanAddChildren                        :: !(Maybe Bool)+    , _fcCanRemoveChildren                     :: !(Maybe Bool)+    , _fcCanMoveTeamDriveItem                  :: !(Maybe Bool)+    , _fcCanMoveItemWithinTeamDrive            :: !(Maybe Bool)+    , _fcCanReadTeamDrive                      :: !(Maybe Bool)+    , _fcCanReadDrive                          :: !(Maybe Bool)+    , _fcCanChangeCopyRequiresWriterPermission :: !(Maybe Bool)+    , _fcCanMoveChildrenOutOfDrive             :: !(Maybe Bool)+    , _fcCanListChildren                       :: !(Maybe Bool)+    , _fcCanMoveChildrenOutOfTeamDrive         :: !(Maybe Bool)+    , _fcCanEdit                               :: !(Maybe Bool)+    , _fcCanChangeViewersCanCopyContent        :: !(Maybe Bool)+    , _fcCanReadRevisions                      :: !(Maybe Bool)+    , _fcCanDeleteChildren                     :: !(Maybe Bool)+    , _fcCanMoveItemOutOfTeamDrive             :: !(Maybe Bool)+    , _fcCanCopy                               :: !(Maybe Bool)+    , _fcCanMoveItemWithinDrive                :: !(Maybe Bool)+    , _fcCanShare                              :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileCapabilities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcCanRename'+--+-- * 'fcCanComment'+--+-- * 'fcCanMoveChildrenWithinDrive'+--+-- * 'fcCanMoveChildrenWithinTeamDrive'+--+-- * 'fcCanDelete'+--+-- * 'fcCanMoveItemIntoTeamDrive'+--+-- * 'fcCanDownload'+--+-- * 'fcCanTrash'+--+-- * 'fcCanUntrash'+--+-- * 'fcCanTrashChildren'+--+-- * 'fcCanMoveItemOutOfDrive'+--+-- * 'fcCanAddChildren'+--+-- * 'fcCanRemoveChildren'+--+-- * 'fcCanMoveTeamDriveItem'+--+-- * 'fcCanMoveItemWithinTeamDrive'+--+-- * 'fcCanReadTeamDrive'+--+-- * 'fcCanReadDrive'+--+-- * 'fcCanChangeCopyRequiresWriterPermission'+--+-- * 'fcCanMoveChildrenOutOfDrive'+--+-- * 'fcCanListChildren'+--+-- * 'fcCanMoveChildrenOutOfTeamDrive'+--+-- * 'fcCanEdit'+--+-- * 'fcCanChangeViewersCanCopyContent'+--+-- * 'fcCanReadRevisions'+--+-- * 'fcCanDeleteChildren'+--+-- * 'fcCanMoveItemOutOfTeamDrive'+--+-- * 'fcCanCopy'+--+-- * 'fcCanMoveItemWithinDrive'+--+-- * 'fcCanShare'+fileCapabilities+    :: FileCapabilities+fileCapabilities =+  FileCapabilities'+    { _fcCanRename = Nothing+    , _fcCanComment = Nothing+    , _fcCanMoveChildrenWithinDrive = Nothing+    , _fcCanMoveChildrenWithinTeamDrive = Nothing+    , _fcCanDelete = Nothing+    , _fcCanMoveItemIntoTeamDrive = Nothing+    , _fcCanDownload = Nothing+    , _fcCanTrash = Nothing+    , _fcCanUntrash = Nothing+    , _fcCanTrashChildren = Nothing+    , _fcCanMoveItemOutOfDrive = Nothing+    , _fcCanAddChildren = Nothing+    , _fcCanRemoveChildren = Nothing+    , _fcCanMoveTeamDriveItem = Nothing+    , _fcCanMoveItemWithinTeamDrive = Nothing+    , _fcCanReadTeamDrive = Nothing+    , _fcCanReadDrive = Nothing+    , _fcCanChangeCopyRequiresWriterPermission = Nothing+    , _fcCanMoveChildrenOutOfDrive = Nothing+    , _fcCanListChildren = Nothing+    , _fcCanMoveChildrenOutOfTeamDrive = Nothing+    , _fcCanEdit = Nothing+    , _fcCanChangeViewersCanCopyContent = Nothing+    , _fcCanReadRevisions = Nothing+    , _fcCanDeleteChildren = Nothing+    , _fcCanMoveItemOutOfTeamDrive = Nothing+    , _fcCanCopy = Nothing+    , _fcCanMoveItemWithinDrive = Nothing+    , _fcCanShare = Nothing+    }+++-- | Whether the current user can rename this file.+fcCanRename :: Lens' FileCapabilities (Maybe Bool)+fcCanRename+  = lens _fcCanRename (\ s a -> s{_fcCanRename = a})++-- | Whether the current user can comment on this file.+fcCanComment :: Lens' FileCapabilities (Maybe Bool)+fcCanComment+  = lens _fcCanComment (\ s a -> s{_fcCanComment = a})++-- | Whether the current user can move children of this folder within the+-- shared drive. This is false when the item is not a folder. Only+-- populated for items in shared drives.+fcCanMoveChildrenWithinDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenWithinDrive+  = lens _fcCanMoveChildrenWithinDrive+      (\ s a -> s{_fcCanMoveChildrenWithinDrive = a})++-- | Deprecated - use canMoveChildrenWithinDrive instead.+fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenWithinTeamDrive+  = lens _fcCanMoveChildrenWithinTeamDrive+      (\ s a -> s{_fcCanMoveChildrenWithinTeamDrive = a})++-- | Whether the current user can delete this file.+fcCanDelete :: Lens' FileCapabilities (Maybe Bool)+fcCanDelete+  = lens _fcCanDelete (\ s a -> s{_fcCanDelete = a})++-- | Deprecated - use canMoveItemOutOfDrive instead.+fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemIntoTeamDrive+  = lens _fcCanMoveItemIntoTeamDrive+      (\ s a -> s{_fcCanMoveItemIntoTeamDrive = a})++-- | Whether the current user can download this file.+fcCanDownload :: Lens' FileCapabilities (Maybe Bool)+fcCanDownload+  = lens _fcCanDownload+      (\ s a -> s{_fcCanDownload = a})++-- | Whether the current user can move this file to trash.+fcCanTrash :: Lens' FileCapabilities (Maybe Bool)+fcCanTrash+  = lens _fcCanTrash (\ s a -> s{_fcCanTrash = a})++-- | Whether the current user can restore this file from trash.+fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)+fcCanUntrash+  = lens _fcCanUntrash (\ s a -> s{_fcCanUntrash = a})++-- | Whether the current user can trash children of this folder. This is+-- false when the item is not a folder. Only populated for items in shared+-- drives.+fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanTrashChildren+  = lens _fcCanTrashChildren+      (\ s a -> s{_fcCanTrashChildren = a})++-- | Whether the current user can move this item outside of this drive by+-- changing its parent. Note that a request to change the parent of the+-- item may still fail depending on the new parent that is being added.+fcCanMoveItemOutOfDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemOutOfDrive+  = lens _fcCanMoveItemOutOfDrive+      (\ s a -> s{_fcCanMoveItemOutOfDrive = a})++-- | Whether the current user can add children to this folder. This is always+-- false when the item is not a folder.+fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanAddChildren+  = lens _fcCanAddChildren+      (\ s a -> s{_fcCanAddChildren = a})++-- | Whether the current user can remove children from this folder. This is+-- always false when the item is not a folder. For a folder in a shared+-- drive, use canDeleteChildren or canTrashChildren instead.+fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanRemoveChildren+  = lens _fcCanRemoveChildren+      (\ s a -> s{_fcCanRemoveChildren = a})++-- | Deprecated - use canMoveItemWithinDrive or canMoveItemOutOfDrive+-- instead.+fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveTeamDriveItem+  = lens _fcCanMoveTeamDriveItem+      (\ s a -> s{_fcCanMoveTeamDriveItem = a})++-- | Deprecated - use canMoveItemWithinDrive instead.+fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemWithinTeamDrive+  = lens _fcCanMoveItemWithinTeamDrive+      (\ s a -> s{_fcCanMoveItemWithinTeamDrive = a})++-- | Deprecated - use canReadDrive instead.+fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanReadTeamDrive+  = lens _fcCanReadTeamDrive+      (\ s a -> s{_fcCanReadTeamDrive = a})++-- | Whether the current user can read the shared drive to which this file+-- belongs. Only populated for items in shared drives.+fcCanReadDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanReadDrive+  = lens _fcCanReadDrive+      (\ s a -> s{_fcCanReadDrive = a})++-- | Whether the current user can change the copyRequiresWriterPermission+-- restriction of this file.+fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)+fcCanChangeCopyRequiresWriterPermission+  = lens _fcCanChangeCopyRequiresWriterPermission+      (\ s a ->+         s{_fcCanChangeCopyRequiresWriterPermission = a})++-- | Whether the current user can move children of this folder outside of the+-- shared drive. This is false when the item is not a folder. Only+-- populated for items in shared drives.+fcCanMoveChildrenOutOfDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenOutOfDrive+  = lens _fcCanMoveChildrenOutOfDrive+      (\ s a -> s{_fcCanMoveChildrenOutOfDrive = a})++-- | Whether the current user can list the children of this folder. This is+-- always false when the item is not a folder.+fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanListChildren+  = lens _fcCanListChildren+      (\ s a -> s{_fcCanListChildren = a})++-- | Deprecated - use canMoveChildrenOutOfDrive instead.+fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveChildrenOutOfTeamDrive+  = lens _fcCanMoveChildrenOutOfTeamDrive+      (\ s a -> s{_fcCanMoveChildrenOutOfTeamDrive = a})++-- | Whether the current user can edit this file.+fcCanEdit :: Lens' FileCapabilities (Maybe Bool)+fcCanEdit+  = lens _fcCanEdit (\ s a -> s{_fcCanEdit = a})++-- | Deprecated+fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)+fcCanChangeViewersCanCopyContent+  = lens _fcCanChangeViewersCanCopyContent+      (\ s a -> s{_fcCanChangeViewersCanCopyContent = a})++-- | Whether the current user can read the revisions resource of this file.+-- For a shared drive item, whether revisions of non-folder descendants of+-- this item, or this item itself if it is not a folder, can be read.+fcCanReadRevisions :: Lens' FileCapabilities (Maybe Bool)+fcCanReadRevisions+  = lens _fcCanReadRevisions+      (\ s a -> s{_fcCanReadRevisions = a})++-- | Whether the current user can delete children of this folder. This is+-- false when the item is not a folder. Only populated for items in shared+-- drives.+fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)+fcCanDeleteChildren+  = lens _fcCanDeleteChildren+      (\ s a -> s{_fcCanDeleteChildren = a})++-- | Deprecated - use canMoveItemOutOfDrive instead.+fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemOutOfTeamDrive+  = lens _fcCanMoveItemOutOfTeamDrive+      (\ s a -> s{_fcCanMoveItemOutOfTeamDrive = a})++-- | Whether the current user can copy this file. For an item in a shared+-- drive, whether the current user can copy non-folder descendants of this+-- item, or this item itself if it is not a folder.+fcCanCopy :: Lens' FileCapabilities (Maybe Bool)+fcCanCopy+  = lens _fcCanCopy (\ s a -> s{_fcCanCopy = a})++-- | Whether the current user can move this item within this shared drive.+-- Note that a request to change the parent of the item may still fail+-- depending on the new parent that is being added. Only populated for+-- items in shared drives.+fcCanMoveItemWithinDrive :: Lens' FileCapabilities (Maybe Bool)+fcCanMoveItemWithinDrive+  = lens _fcCanMoveItemWithinDrive+      (\ s a -> s{_fcCanMoveItemWithinDrive = a})++-- | Whether the current user can modify the sharing settings for this file.+fcCanShare :: Lens' FileCapabilities (Maybe Bool)+fcCanShare+  = lens _fcCanShare (\ s a -> s{_fcCanShare = a})++instance FromJSON FileCapabilities where+        parseJSON+          = withObject "FileCapabilities"+              (\ o ->+                 FileCapabilities' <$>+                   (o .:? "canRename") <*> (o .:? "canComment") <*>+                     (o .:? "canMoveChildrenWithinDrive")+                     <*> (o .:? "canMoveChildrenWithinTeamDrive")+                     <*> (o .:? "canDelete")+                     <*> (o .:? "canMoveItemIntoTeamDrive")+                     <*> (o .:? "canDownload")+                     <*> (o .:? "canTrash")+                     <*> (o .:? "canUntrash")+                     <*> (o .:? "canTrashChildren")+                     <*> (o .:? "canMoveItemOutOfDrive")+                     <*> (o .:? "canAddChildren")+                     <*> (o .:? "canRemoveChildren")+                     <*> (o .:? "canMoveTeamDriveItem")+                     <*> (o .:? "canMoveItemWithinTeamDrive")+                     <*> (o .:? "canReadTeamDrive")+                     <*> (o .:? "canReadDrive")+                     <*> (o .:? "canChangeCopyRequiresWriterPermission")+                     <*> (o .:? "canMoveChildrenOutOfDrive")+                     <*> (o .:? "canListChildren")+                     <*> (o .:? "canMoveChildrenOutOfTeamDrive")+                     <*> (o .:? "canEdit")+                     <*> (o .:? "canChangeViewersCanCopyContent")+                     <*> (o .:? "canReadRevisions")+                     <*> (o .:? "canDeleteChildren")+                     <*> (o .:? "canMoveItemOutOfTeamDrive")+                     <*> (o .:? "canCopy")+                     <*> (o .:? "canMoveItemWithinDrive")+                     <*> (o .:? "canShare"))++instance ToJSON FileCapabilities where+        toJSON FileCapabilities'{..}+          = object+              (catMaybes+                 [("canRename" .=) <$> _fcCanRename,+                  ("canComment" .=) <$> _fcCanComment,+                  ("canMoveChildrenWithinDrive" .=) <$>+                    _fcCanMoveChildrenWithinDrive,+                  ("canMoveChildrenWithinTeamDrive" .=) <$>+                    _fcCanMoveChildrenWithinTeamDrive,+                  ("canDelete" .=) <$> _fcCanDelete,+                  ("canMoveItemIntoTeamDrive" .=) <$>+                    _fcCanMoveItemIntoTeamDrive,+                  ("canDownload" .=) <$> _fcCanDownload,+                  ("canTrash" .=) <$> _fcCanTrash,+                  ("canUntrash" .=) <$> _fcCanUntrash,+                  ("canTrashChildren" .=) <$> _fcCanTrashChildren,+                  ("canMoveItemOutOfDrive" .=) <$>+                    _fcCanMoveItemOutOfDrive,+                  ("canAddChildren" .=) <$> _fcCanAddChildren,+                  ("canRemoveChildren" .=) <$> _fcCanRemoveChildren,+                  ("canMoveTeamDriveItem" .=) <$>+                    _fcCanMoveTeamDriveItem,+                  ("canMoveItemWithinTeamDrive" .=) <$>+                    _fcCanMoveItemWithinTeamDrive,+                  ("canReadTeamDrive" .=) <$> _fcCanReadTeamDrive,+                  ("canReadDrive" .=) <$> _fcCanReadDrive,+                  ("canChangeCopyRequiresWriterPermission" .=) <$>+                    _fcCanChangeCopyRequiresWriterPermission,+                  ("canMoveChildrenOutOfDrive" .=) <$>+                    _fcCanMoveChildrenOutOfDrive,+                  ("canListChildren" .=) <$> _fcCanListChildren,+                  ("canMoveChildrenOutOfTeamDrive" .=) <$>+                    _fcCanMoveChildrenOutOfTeamDrive,+                  ("canEdit" .=) <$> _fcCanEdit,+                  ("canChangeViewersCanCopyContent" .=) <$>+                    _fcCanChangeViewersCanCopyContent,+                  ("canReadRevisions" .=) <$> _fcCanReadRevisions,+                  ("canDeleteChildren" .=) <$> _fcCanDeleteChildren,+                  ("canMoveItemOutOfTeamDrive" .=) <$>+                    _fcCanMoveItemOutOfTeamDrive,+                  ("canCopy" .=) <$> _fcCanCopy,+                  ("canMoveItemWithinDrive" .=) <$>+                    _fcCanMoveItemWithinDrive,+                  ("canShare" .=) <$> _fcCanShare])++-- | A list of replies to a comment on a file.+--+-- /See:/ 'replyList' smart constructor.+data ReplyList =+  ReplyList'+    { _rlNextPageToken :: !(Maybe Text)+    , _rlKind          :: !Text+    , _rlReplies       :: !(Maybe [Reply])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlNextPageToken'+--+-- * 'rlKind'+--+-- * 'rlReplies'+replyList+    :: ReplyList+replyList =+  ReplyList'+    { _rlNextPageToken = Nothing+    , _rlKind = "drive#replyList"+    , _rlReplies = Nothing+    }+++-- | The page token for the next page of replies. This will be absent if the+-- end of the replies list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+rlNextPageToken :: Lens' ReplyList (Maybe Text)+rlNextPageToken+  = lens _rlNextPageToken+      (\ s a -> s{_rlNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#replyList\".+rlKind :: Lens' ReplyList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | The list of replies. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+rlReplies :: Lens' ReplyList [Reply]+rlReplies+  = lens _rlReplies (\ s a -> s{_rlReplies = a}) .+      _Default+      . _Coerce++instance FromJSON ReplyList where+        parseJSON+          = withObject "ReplyList"+              (\ o ->+                 ReplyList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "drive#replyList")+                     <*> (o .:? "replies" .!= mempty))++instance ToJSON ReplyList where+        toJSON ReplyList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rlNextPageToken,+                  Just ("kind" .= _rlKind),+                  ("replies" .=) <$> _rlReplies])++-- | An image file and cropping parameters from which a background image for+-- this shared drive is set. This is a write only field; it can only be set+-- on drive.drives.update requests that don\'t set themeId. When specified,+-- all fields of the backgroundImageFile must be set.+--+-- /See:/ 'driveBackgRoundImageFile' smart constructor.+data DriveBackgRoundImageFile =+  DriveBackgRoundImageFile'+    { _dbrifXCoordinate :: !(Maybe (Textual Double))+    , _dbrifYCoordinate :: !(Maybe (Textual Double))+    , _dbrifWidth       :: !(Maybe (Textual Double))+    , _dbrifId          :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DriveBackgRoundImageFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbrifXCoordinate'+--+-- * 'dbrifYCoordinate'+--+-- * 'dbrifWidth'+--+-- * 'dbrifId'+driveBackgRoundImageFile+    :: DriveBackgRoundImageFile+driveBackgRoundImageFile =+  DriveBackgRoundImageFile'+    { _dbrifXCoordinate = Nothing+    , _dbrifYCoordinate = Nothing+    , _dbrifWidth = Nothing+    , _dbrifId = Nothing+    }+++-- | The X coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the horizontal distance from the left side of the+-- entire image to the left side of the cropping area divided by the width+-- of the entire image.+dbrifXCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)+dbrifXCoordinate+  = lens _dbrifXCoordinate+      (\ s a -> s{_dbrifXCoordinate = a})+      . mapping _Coerce++-- | The Y coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the vertical distance from the top side of the entire+-- image to the top side of the cropping area divided by the height of the+-- entire image.+dbrifYCoordinate :: Lens' DriveBackgRoundImageFile (Maybe Double)+dbrifYCoordinate+  = lens _dbrifYCoordinate+      (\ s a -> s{_dbrifYCoordinate = a})+      . mapping _Coerce++-- | The width of the cropped image in the closed range of 0 to 1. This value+-- represents the width of the cropped image divided by the width of the+-- entire image. The height is computed by applying a width to height+-- aspect ratio of 80 to 9. The resulting image must be at least 1280+-- pixels wide and 144 pixels high.+dbrifWidth :: Lens' DriveBackgRoundImageFile (Maybe Double)+dbrifWidth+  = lens _dbrifWidth (\ s a -> s{_dbrifWidth = a}) .+      mapping _Coerce++-- | The ID of an image file in Google Drive to use for the background image.+dbrifId :: Lens' DriveBackgRoundImageFile (Maybe Text)+dbrifId = lens _dbrifId (\ s a -> s{_dbrifId = a})++instance FromJSON DriveBackgRoundImageFile where+        parseJSON+          = withObject "DriveBackgRoundImageFile"+              (\ o ->+                 DriveBackgRoundImageFile' <$>+                   (o .:? "xCoordinate") <*> (o .:? "yCoordinate") <*>+                     (o .:? "width")+                     <*> (o .:? "id"))++instance ToJSON DriveBackgRoundImageFile where+        toJSON DriveBackgRoundImageFile'{..}+          = object+              (catMaybes+                 [("xCoordinate" .=) <$> _dbrifXCoordinate,+                  ("yCoordinate" .=) <$> _dbrifYCoordinate,+                  ("width" .=) <$> _dbrifWidth,+                  ("id" .=) <$> _dbrifId])++-- | A thumbnail for the file. This will only be used if Google Drive cannot+-- generate a standard thumbnail.+--+-- /See:/ 'fileContentHintsThumbnail' smart constructor.+data FileContentHintsThumbnail =+  FileContentHintsThumbnail'+    { _fchtImage    :: !(Maybe Bytes)+    , _fchtMimeType :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileContentHintsThumbnail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fchtImage'+--+-- * 'fchtMimeType'+fileContentHintsThumbnail+    :: FileContentHintsThumbnail+fileContentHintsThumbnail =+  FileContentHintsThumbnail' {_fchtImage = Nothing, _fchtMimeType = Nothing}+++-- | The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).+fchtImage :: Lens' FileContentHintsThumbnail (Maybe ByteString)+fchtImage+  = lens _fchtImage (\ s a -> s{_fchtImage = a}) .+      mapping _Bytes++-- | The MIME type of the thumbnail.+fchtMimeType :: Lens' FileContentHintsThumbnail (Maybe Text)+fchtMimeType+  = lens _fchtMimeType (\ s a -> s{_fchtMimeType = a})++instance FromJSON FileContentHintsThumbnail where+        parseJSON+          = withObject "FileContentHintsThumbnail"+              (\ o ->+                 FileContentHintsThumbnail' <$>+                   (o .:? "image") <*> (o .:? "mimeType"))++instance ToJSON FileContentHintsThumbnail where+        toJSON FileContentHintsThumbnail'{..}+          = object+              (catMaybes+                 [("image" .=) <$> _fchtImage,+                  ("mimeType" .=) <$> _fchtMimeType])++-- | A list of Team Drives.+--+-- /See:/ 'teamDriveList' smart constructor.+data TeamDriveList =+  TeamDriveList'+    { _tdlNextPageToken :: !(Maybe Text)+    , _tdlTeamDrives    :: !(Maybe [TeamDrive])+    , _tdlKind          :: !Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TeamDriveList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlNextPageToken'+--+-- * 'tdlTeamDrives'+--+-- * 'tdlKind'+teamDriveList+    :: TeamDriveList+teamDriveList =+  TeamDriveList'+    { _tdlNextPageToken = Nothing+    , _tdlTeamDrives = Nothing+    , _tdlKind = "drive#teamDriveList"+    }+++-- | The page token for the next page of Team Drives. This will be absent if+-- the end of the Team Drives list has been reached. If the token is+-- rejected for any reason, it should be discarded, and pagination should+-- be restarted from the first page of results.+tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)+tdlNextPageToken+  = lens _tdlNextPageToken+      (\ s a -> s{_tdlNextPageToken = a})++-- | The list of Team Drives. If nextPageToken is populated, then this list+-- may be incomplete and an additional page of results should be fetched.+tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]+tdlTeamDrives+  = lens _tdlTeamDrives+      (\ s a -> s{_tdlTeamDrives = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#teamDriveList\".+tdlKind :: Lens' TeamDriveList Text+tdlKind = lens _tdlKind (\ s a -> s{_tdlKind = a})++instance FromJSON TeamDriveList where+        parseJSON+          = withObject "TeamDriveList"+              (\ o ->+                 TeamDriveList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "teamDrives" .!= mempty)+                     <*> (o .:? "kind" .!= "drive#teamDriveList"))++instance ToJSON TeamDriveList where+        toJSON TeamDriveList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _tdlNextPageToken,+                  ("teamDrives" .=) <$> _tdlTeamDrives,+                  Just ("kind" .= _tdlKind)])++-- | 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])++--+-- /See:/ 'aboutTeamDriveThemesItem' smart constructor.+data AboutTeamDriveThemesItem =+  AboutTeamDriveThemesItem'+    { _atdtiColorRgb            :: !(Maybe Text)+    , _atdtiBackgRoundImageLink :: !(Maybe Text)+    , _atdtiId                  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutTeamDriveThemesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atdtiColorRgb'+--+-- * 'atdtiBackgRoundImageLink'+--+-- * 'atdtiId'+aboutTeamDriveThemesItem+    :: AboutTeamDriveThemesItem+aboutTeamDriveThemesItem =+  AboutTeamDriveThemesItem'+    { _atdtiColorRgb = Nothing+    , _atdtiBackgRoundImageLink = Nothing+    , _atdtiId = Nothing+    }+++-- | The color of this Team Drive theme as an RGB hex string.+atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiColorRgb+  = lens _atdtiColorRgb+      (\ s a -> s{_atdtiColorRgb = a})++-- | A link to this Team Drive theme\'s background image.+atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiBackgRoundImageLink+  = lens _atdtiBackgRoundImageLink+      (\ s a -> s{_atdtiBackgRoundImageLink = a})++-- | The ID of the theme.+atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)+atdtiId = lens _atdtiId (\ s a -> s{_atdtiId = a})++instance FromJSON AboutTeamDriveThemesItem where+        parseJSON+          = withObject "AboutTeamDriveThemesItem"+              (\ o ->+                 AboutTeamDriveThemesItem' <$>+                   (o .:? "colorRgb") <*> (o .:? "backgroundImageLink")+                     <*> (o .:? "id"))++instance ToJSON AboutTeamDriveThemesItem where+        toJSON AboutTeamDriveThemesItem'{..}+          = object+              (catMaybes+                 [("colorRgb" .=) <$> _atdtiColorRgb,+                  ("backgroundImageLink" .=) <$>+                    _atdtiBackgRoundImageLink,+                  ("id" .=) <$> _atdtiId])++-- | A set of restrictions that apply to this Team Drive or items inside this+-- Team Drive.+--+-- /See:/ 'teamDriveRestrictions' smart constructor.+data TeamDriveRestrictions =+  TeamDriveRestrictions'+    { _tdrTeamMembersOnly              :: !(Maybe Bool)+    , _tdrAdminManagedRestrictions     :: !(Maybe Bool)+    , _tdrCopyRequiresWriterPermission :: !(Maybe Bool)+    , _tdrDomainUsersOnly              :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TeamDriveRestrictions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdrTeamMembersOnly'+--+-- * 'tdrAdminManagedRestrictions'+--+-- * 'tdrCopyRequiresWriterPermission'+--+-- * 'tdrDomainUsersOnly'+teamDriveRestrictions+    :: TeamDriveRestrictions+teamDriveRestrictions =+  TeamDriveRestrictions'+    { _tdrTeamMembersOnly = Nothing+    , _tdrAdminManagedRestrictions = Nothing+    , _tdrCopyRequiresWriterPermission = Nothing+    , _tdrDomainUsersOnly = Nothing+    }+++-- | Whether access to items inside this Team Drive is restricted to members+-- of this Team Drive.+tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrTeamMembersOnly+  = lens _tdrTeamMembersOnly+      (\ s a -> s{_tdrTeamMembersOnly = a})++-- | Whether administrative privileges on this Team Drive are required to+-- modify restrictions.+tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrAdminManagedRestrictions+  = lens _tdrAdminManagedRestrictions+      (\ s a -> s{_tdrAdminManagedRestrictions = a})++-- | Whether the options to copy, print, or download files inside this Team+-- Drive, should be disabled for readers and commenters. When this+-- restriction is set to true, it will override the similarly named field+-- to true for any file inside this Team Drive.+tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrCopyRequiresWriterPermission+  = lens _tdrCopyRequiresWriterPermission+      (\ s a -> s{_tdrCopyRequiresWriterPermission = a})++-- | Whether access to this Team Drive and items inside this Team Drive is+-- restricted to users of the domain to which this Team Drive belongs. This+-- restriction may be overridden by other sharing policies controlled+-- outside of this Team Drive.+tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)+tdrDomainUsersOnly+  = lens _tdrDomainUsersOnly+      (\ s a -> s{_tdrDomainUsersOnly = a})++instance FromJSON TeamDriveRestrictions where+        parseJSON+          = withObject "TeamDriveRestrictions"+              (\ o ->+                 TeamDriveRestrictions' <$>+                   (o .:? "teamMembersOnly") <*>+                     (o .:? "adminManagedRestrictions")+                     <*> (o .:? "copyRequiresWriterPermission")+                     <*> (o .:? "domainUsersOnly"))++instance ToJSON TeamDriveRestrictions where+        toJSON TeamDriveRestrictions'{..}+          = object+              (catMaybes+                 [("teamMembersOnly" .=) <$> _tdrTeamMembersOnly,+                  ("adminManagedRestrictions" .=) <$>+                    _tdrAdminManagedRestrictions,+                  ("copyRequiresWriterPermission" .=) <$>+                    _tdrCopyRequiresWriterPermission,+                  ("domainUsersOnly" .=) <$> _tdrDomainUsersOnly])++-- | An image file and cropping parameters from which a background image for+-- this Team Drive is set. This is a write only field; it can only be set+-- on drive.teamdrives.update requests that don\'t set themeId. When+-- specified, all fields of the backgroundImageFile must be set.+--+-- /See:/ 'teamDriveBackgRoundImageFile' smart constructor.+data TeamDriveBackgRoundImageFile =+  TeamDriveBackgRoundImageFile'+    { _tdbrifXCoordinate :: !(Maybe (Textual Double))+    , _tdbrifYCoordinate :: !(Maybe (Textual Double))+    , _tdbrifWidth       :: !(Maybe (Textual Double))+    , _tdbrifId          :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TeamDriveBackgRoundImageFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdbrifXCoordinate'+--+-- * 'tdbrifYCoordinate'+--+-- * 'tdbrifWidth'+--+-- * 'tdbrifId'+teamDriveBackgRoundImageFile+    :: TeamDriveBackgRoundImageFile+teamDriveBackgRoundImageFile =+  TeamDriveBackgRoundImageFile'+    { _tdbrifXCoordinate = Nothing+    , _tdbrifYCoordinate = Nothing+    , _tdbrifWidth = Nothing+    , _tdbrifId = Nothing+    }+++-- | The X coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the horizontal distance from the left side of the+-- entire image to the left side of the cropping area divided by the width+-- of the entire image.+tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifXCoordinate+  = lens _tdbrifXCoordinate+      (\ s a -> s{_tdbrifXCoordinate = a})+      . mapping _Coerce++-- | The Y coordinate of the upper left corner of the cropping area in the+-- background image. This is a value in the closed range of 0 to 1. This+-- value represents the vertical distance from the top side of the entire+-- image to the top side of the cropping area divided by the height of the+-- entire image.+tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifYCoordinate+  = lens _tdbrifYCoordinate+      (\ s a -> s{_tdbrifYCoordinate = a})+      . mapping _Coerce++-- | The width of the cropped image in the closed range of 0 to 1. This value+-- represents the width of the cropped image divided by the width of the+-- entire image. The height is computed by applying a width to height+-- aspect ratio of 80 to 9. The resulting image must be at least 1280+-- pixels wide and 144 pixels high.+tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)+tdbrifWidth+  = lens _tdbrifWidth (\ s a -> s{_tdbrifWidth = a}) .+      mapping _Coerce++-- | The ID of an image file in Drive to use for the background image.+tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)+tdbrifId = lens _tdbrifId (\ s a -> s{_tdbrifId = a})++instance FromJSON TeamDriveBackgRoundImageFile where+        parseJSON+          = withObject "TeamDriveBackgRoundImageFile"+              (\ o ->+                 TeamDriveBackgRoundImageFile' <$>+                   (o .:? "xCoordinate") <*> (o .:? "yCoordinate") <*>+                     (o .:? "width")+                     <*> (o .:? "id"))++instance ToJSON TeamDriveBackgRoundImageFile where+        toJSON TeamDriveBackgRoundImageFile'{..}+          = object+              (catMaybes+                 [("xCoordinate" .=) <$> _tdbrifXCoordinate,+                  ("yCoordinate" .=) <$> _tdbrifYCoordinate,+                  ("width" .=) <$> _tdbrifWidth,+                  ("id" .=) <$> _tdbrifId])++-- | Additional metadata about video media. This may not be available+-- immediately upon upload.+--+-- /See:/ 'fileVideoMediaMetadata' smart constructor.+data FileVideoMediaMetadata =+  FileVideoMediaMetadata'+    { _fvmmHeight         :: !(Maybe (Textual Int32))+    , _fvmmWidth          :: !(Maybe (Textual Int32))+    , _fvmmDurationMillis :: !(Maybe (Textual Int64))+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileVideoMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvmmHeight'+--+-- * 'fvmmWidth'+--+-- * 'fvmmDurationMillis'+fileVideoMediaMetadata+    :: FileVideoMediaMetadata+fileVideoMediaMetadata =+  FileVideoMediaMetadata'+    {_fvmmHeight = Nothing, _fvmmWidth = Nothing, _fvmmDurationMillis = Nothing}+++-- | The height of the video in pixels.+fvmmHeight :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmHeight+  = lens _fvmmHeight (\ s a -> s{_fvmmHeight = a}) .+      mapping _Coerce++-- | The width of the video in pixels.+fvmmWidth :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmWidth+  = lens _fvmmWidth (\ s a -> s{_fvmmWidth = a}) .+      mapping _Coerce++-- | The duration of the video in milliseconds.+fvmmDurationMillis :: Lens' FileVideoMediaMetadata (Maybe Int64)+fvmmDurationMillis+  = lens _fvmmDurationMillis+      (\ s a -> s{_fvmmDurationMillis = a})+      . mapping _Coerce++instance FromJSON FileVideoMediaMetadata where+        parseJSON+          = withObject "FileVideoMediaMetadata"+              (\ o ->+                 FileVideoMediaMetadata' <$>+                   (o .:? "height") <*> (o .:? "width") <*>+                     (o .:? "durationMillis"))++instance ToJSON FileVideoMediaMetadata where+        toJSON FileVideoMediaMetadata'{..}+          = object+              (catMaybes+                 [("height" .=) <$> _fvmmHeight,+                  ("width" .=) <$> _fvmmWidth,+                  ("durationMillis" .=) <$> _fvmmDurationMillis])++-- | A collection of arbitrary key-value pairs which are private to the+-- requesting app. Entries with null values are cleared in update and copy+-- requests.+--+-- /See:/ 'fileAppProperties' smart constructor.+newtype FileAppProperties =+  FileAppProperties'+    { _fapAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileAppProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fapAddtional'+fileAppProperties+    :: HashMap Text Text -- ^ 'fapAddtional'+    -> FileAppProperties+fileAppProperties pFapAddtional_ =+  FileAppProperties' {_fapAddtional = _Coerce # pFapAddtional_}+++fapAddtional :: Lens' FileAppProperties (HashMap Text Text)+fapAddtional+  = lens _fapAddtional (\ s a -> s{_fapAddtional = a})+      . _Coerce++instance FromJSON FileAppProperties where+        parseJSON+          = withObject "FileAppProperties"+              (\ o -> FileAppProperties' <$> (parseJSONObject o))++instance ToJSON FileAppProperties where+        toJSON = toJSON . _fapAddtional++-- | A change to a file or shared drive.+--+-- /See:/ 'change' smart constructor.+data Change =+  Change'+    { _chaDrive       :: !(Maybe Drive)+    , _chaRemoved     :: !(Maybe Bool)+    , _chaTime        :: !(Maybe DateTime')+    , _chaKind        :: !Text+    , _chaTeamDrive   :: !(Maybe TeamDrive)+    , _chaTeamDriveId :: !(Maybe Text)+    , _chaType        :: !(Maybe Text)+    , _chaFileId      :: !(Maybe Text)+    , _chaFile        :: !(Maybe File)+    , _chaChangeType  :: !(Maybe Text)+    , _chaDriveId     :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Change' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chaDrive'+--+-- * 'chaRemoved'+--+-- * 'chaTime'+--+-- * 'chaKind'+--+-- * 'chaTeamDrive'+--+-- * 'chaTeamDriveId'+--+-- * 'chaType'+--+-- * 'chaFileId'+--+-- * 'chaFile'+--+-- * 'chaChangeType'+--+-- * 'chaDriveId'+change+    :: Change+change =+  Change'+    { _chaDrive = Nothing+    , _chaRemoved = Nothing+    , _chaTime = Nothing+    , _chaKind = "drive#change"+    , _chaTeamDrive = Nothing+    , _chaTeamDriveId = Nothing+    , _chaType = Nothing+    , _chaFileId = Nothing+    , _chaFile = Nothing+    , _chaChangeType = Nothing+    , _chaDriveId = Nothing+    }+++-- | The updated state of the shared drive. Present if the changeType is+-- drive, the user is still a member of the shared drive, and the shared+-- drive has not been deleted.+chaDrive :: Lens' Change (Maybe Drive)+chaDrive = lens _chaDrive (\ s a -> s{_chaDrive = a})++-- | Whether the file or shared drive has been removed from this list of+-- changes, for example by deletion or loss of access.+chaRemoved :: Lens' Change (Maybe Bool)+chaRemoved+  = lens _chaRemoved (\ s a -> s{_chaRemoved = a})++-- | The time of this change (RFC 3339 date-time).+chaTime :: Lens' Change (Maybe UTCTime)+chaTime+  = lens _chaTime (\ s a -> s{_chaTime = a}) .+      mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#change\".+chaKind :: Lens' Change Text+chaKind = lens _chaKind (\ s a -> s{_chaKind = a})++-- | Deprecated - use drive instead.+chaTeamDrive :: Lens' Change (Maybe TeamDrive)+chaTeamDrive+  = lens _chaTeamDrive (\ s a -> s{_chaTeamDrive = a})++-- | Deprecated - use driveId instead.+chaTeamDriveId :: Lens' Change (Maybe Text)+chaTeamDriveId+  = lens _chaTeamDriveId+      (\ s a -> s{_chaTeamDriveId = a})++-- | Deprecated - use changeType instead.+chaType :: Lens' Change (Maybe Text)+chaType = lens _chaType (\ s a -> s{_chaType = a})++-- | The ID of the file which has changed.+chaFileId :: Lens' Change (Maybe Text)+chaFileId+  = lens _chaFileId (\ s a -> s{_chaFileId = a})++-- | The updated state of the file. Present if the type is file and the file+-- has not been removed from this list of changes.+chaFile :: Lens' Change (Maybe File)+chaFile = lens _chaFile (\ s a -> s{_chaFile = a})++-- | The type of the change. Possible values are file and drive.+chaChangeType :: Lens' Change (Maybe Text)+chaChangeType+  = lens _chaChangeType+      (\ s a -> s{_chaChangeType = a})++-- | The ID of the shared drive associated with this change.+chaDriveId :: Lens' Change (Maybe Text)+chaDriveId+  = lens _chaDriveId (\ s a -> s{_chaDriveId = a})++instance FromJSON Change where+        parseJSON+          = withObject "Change"+              (\ o ->+                 Change' <$>+                   (o .:? "drive") <*> (o .:? "removed") <*>+                     (o .:? "time")+                     <*> (o .:? "kind" .!= "drive#change")+                     <*> (o .:? "teamDrive")+                     <*> (o .:? "teamDriveId")+                     <*> (o .:? "type")+                     <*> (o .:? "fileId")+                     <*> (o .:? "file")+                     <*> (o .:? "changeType")+                     <*> (o .:? "driveId"))++instance ToJSON Change where+        toJSON Change'{..}+          = object+              (catMaybes+                 [("drive" .=) <$> _chaDrive,+                  ("removed" .=) <$> _chaRemoved,+                  ("time" .=) <$> _chaTime, Just ("kind" .= _chaKind),+                  ("teamDrive" .=) <$> _chaTeamDrive,+                  ("teamDriveId" .=) <$> _chaTeamDriveId,+                  ("type" .=) <$> _chaType,+                  ("fileId" .=) <$> _chaFileId,+                  ("file" .=) <$> _chaFile,+                  ("changeType" .=) <$> _chaChangeType,+                  ("driveId" .=) <$> _chaDriveId])++-- | Representation of a Team Drive.+--+-- /See:/ 'teamDrive' smart constructor.+data TeamDrive =+  TeamDrive'+    { _tdThemeId             :: !(Maybe Text)+    , _tdBackgRoundImageFile :: !(Maybe TeamDriveBackgRoundImageFile)+    , _tdColorRgb            :: !(Maybe Text)+    , _tdCreatedTime         :: !(Maybe DateTime')+    , _tdKind                :: !Text+    , _tdBackgRoundImageLink :: !(Maybe Text)+    , _tdName                :: !(Maybe Text)+    , _tdRestrictions        :: !(Maybe TeamDriveRestrictions)+    , _tdId                  :: !(Maybe Text)+    , _tdCapabilities        :: !(Maybe TeamDriveCapabilities)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TeamDrive' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdThemeId'+--+-- * 'tdBackgRoundImageFile'+--+-- * 'tdColorRgb'+--+-- * 'tdCreatedTime'+--+-- * 'tdKind'+--+-- * 'tdBackgRoundImageLink'+--+-- * 'tdName'+--+-- * 'tdRestrictions'+--+-- * 'tdId'+--+-- * 'tdCapabilities'+teamDrive+    :: TeamDrive+teamDrive =+  TeamDrive'+    { _tdThemeId = Nothing+    , _tdBackgRoundImageFile = Nothing+    , _tdColorRgb = Nothing+    , _tdCreatedTime = Nothing+    , _tdKind = "drive#teamDrive"+    , _tdBackgRoundImageLink = Nothing+    , _tdName = Nothing+    , _tdRestrictions = Nothing+    , _tdId = Nothing+    , _tdCapabilities = Nothing+    }+++-- | The ID of the theme from which the background image and color will be+-- set. The set of possible teamDriveThemes can be retrieved from a+-- drive.about.get response. When not specified on a+-- drive.teamdrives.create request, a random theme is chosen from which the+-- background image and color are set. This is a write-only field; it can+-- only be set on requests that don\'t set colorRgb or backgroundImageFile.+tdThemeId :: Lens' TeamDrive (Maybe Text)+tdThemeId+  = lens _tdThemeId (\ s a -> s{_tdThemeId = a})++-- | An image file and cropping parameters from which a background image for+-- this Team Drive is set. This is a write only field; it can only be set+-- on drive.teamdrives.update requests that don\'t set themeId. When+-- specified, all fields of the backgroundImageFile must be set.+tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)+tdBackgRoundImageFile+  = lens _tdBackgRoundImageFile+      (\ s a -> s{_tdBackgRoundImageFile = a})++-- | The color of this Team Drive as an RGB hex string. It can only be set on+-- a drive.teamdrives.update request that does not set themeId.+tdColorRgb :: Lens' TeamDrive (Maybe Text)+tdColorRgb+  = lens _tdColorRgb (\ s a -> s{_tdColorRgb = a})++-- | The time at which the Team Drive was created (RFC 3339 date-time).+tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)+tdCreatedTime+  = lens _tdCreatedTime+      (\ s a -> s{_tdCreatedTime = a})+      . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#teamDrive\".+tdKind :: Lens' TeamDrive Text+tdKind = lens _tdKind (\ s a -> s{_tdKind = a})++-- | A short-lived link to this Team Drive\'s background image.+tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)+tdBackgRoundImageLink+  = lens _tdBackgRoundImageLink+      (\ s a -> s{_tdBackgRoundImageLink = a})++-- | The name of this Team Drive.+tdName :: Lens' TeamDrive (Maybe Text)+tdName = lens _tdName (\ s a -> s{_tdName = a})++-- | A set of restrictions that apply to this Team Drive or items inside this+-- Team Drive.+tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)+tdRestrictions+  = lens _tdRestrictions+      (\ s a -> s{_tdRestrictions = a})++-- | The ID of this Team Drive which is also the ID of the top level folder+-- of this Team Drive.+tdId :: Lens' TeamDrive (Maybe Text)+tdId = lens _tdId (\ s a -> s{_tdId = a})++-- | Capabilities the current user has on this Team Drive.+tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)+tdCapabilities+  = lens _tdCapabilities+      (\ s a -> s{_tdCapabilities = a})++instance FromJSON TeamDrive where+        parseJSON+          = withObject "TeamDrive"+              (\ o ->+                 TeamDrive' <$>+                   (o .:? "themeId") <*> (o .:? "backgroundImageFile")+                     <*> (o .:? "colorRgb")+                     <*> (o .:? "createdTime")+                     <*> (o .:? "kind" .!= "drive#teamDrive")+                     <*> (o .:? "backgroundImageLink")+                     <*> (o .:? "name")+                     <*> (o .:? "restrictions")+                     <*> (o .:? "id")+                     <*> (o .:? "capabilities"))++instance ToJSON TeamDrive where+        toJSON TeamDrive'{..}+          = object+              (catMaybes+                 [("themeId" .=) <$> _tdThemeId,+                  ("backgroundImageFile" .=) <$>+                    _tdBackgRoundImageFile,+                  ("colorRgb" .=) <$> _tdColorRgb,+                  ("createdTime" .=) <$> _tdCreatedTime,+                  Just ("kind" .= _tdKind),+                  ("backgroundImageLink" .=) <$>+                    _tdBackgRoundImageLink,+                  ("name" .=) <$> _tdName,+                  ("restrictions" .=) <$> _tdRestrictions,+                  ("id" .=) <$> _tdId,+                  ("capabilities" .=) <$> _tdCapabilities])++-- | A map of source MIME type to possible targets for all supported exports.+--+-- /See:/ 'aboutExportFormats' smart constructor.+newtype AboutExportFormats =+  AboutExportFormats'+    { _aefAddtional :: HashMap Text [Text]+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutExportFormats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aefAddtional'+aboutExportFormats+    :: HashMap Text [Text] -- ^ 'aefAddtional'+    -> AboutExportFormats+aboutExportFormats pAefAddtional_ =+  AboutExportFormats' {_aefAddtional = _Coerce # pAefAddtional_}+++aefAddtional :: Lens' AboutExportFormats (HashMap Text [Text])+aefAddtional+  = lens _aefAddtional (\ s a -> s{_aefAddtional = a})+      . _Coerce++instance FromJSON AboutExportFormats where+        parseJSON+          = withObject "AboutExportFormats"+              (\ o -> AboutExportFormats' <$> (parseJSONObject o))++instance ToJSON AboutExportFormats where+        toJSON = toJSON . _aefAddtional++-- | Information about a Drive user.+--+-- /See:/ 'user' smart constructor.+data User =+  User'+    { _uPhotoLink    :: !(Maybe Text)+    , _uMe           :: !(Maybe Bool)+    , _uKind         :: !Text+    , _uEmailAddress :: !(Maybe Text)+    , _uDisplayName  :: !(Maybe Text)+    , _uPermissionId :: !(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:+--+-- * 'uPhotoLink'+--+-- * 'uMe'+--+-- * 'uKind'+--+-- * 'uEmailAddress'+--+-- * 'uDisplayName'+--+-- * 'uPermissionId'+user+    :: User+user =+  User'+    { _uPhotoLink = Nothing+    , _uMe = Nothing+    , _uKind = "drive#user"+    , _uEmailAddress = Nothing+    , _uDisplayName = Nothing+    , _uPermissionId = Nothing+    }+++-- | A link to the user\'s profile photo, if available.+uPhotoLink :: Lens' User (Maybe Text)+uPhotoLink+  = lens _uPhotoLink (\ s a -> s{_uPhotoLink = a})++-- | Whether this user is the requesting user.+uMe :: Lens' User (Maybe Bool)+uMe = lens _uMe (\ s a -> s{_uMe = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#user\".+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The email address of the user. This may not be present in certain+-- contexts if the user has not made their email address visible to the+-- requester.+uEmailAddress :: Lens' User (Maybe Text)+uEmailAddress+  = lens _uEmailAddress+      (\ s a -> s{_uEmailAddress = a})++-- | A plain text displayable name for this user.+uDisplayName :: Lens' User (Maybe Text)+uDisplayName+  = lens _uDisplayName (\ s a -> s{_uDisplayName = a})++-- | The user\'s ID as visible in Permission resources.+uPermissionId :: Lens' User (Maybe Text)+uPermissionId+  = lens _uPermissionId+      (\ s a -> s{_uPermissionId = a})++instance FromJSON User where+        parseJSON+          = withObject "User"+              (\ o ->+                 User' <$>+                   (o .:? "photoLink") <*> (o .:? "me") <*>+                     (o .:? "kind" .!= "drive#user")+                     <*> (o .:? "emailAddress")+                     <*> (o .:? "displayName")+                     <*> (o .:? "permissionId"))++instance ToJSON User where+        toJSON User'{..}+          = object+              (catMaybes+                 [("photoLink" .=) <$> _uPhotoLink,+                  ("me" .=) <$> _uMe, Just ("kind" .= _uKind),+                  ("emailAddress" .=) <$> _uEmailAddress,+                  ("displayName" .=) <$> _uDisplayName,+                  ("permissionId" .=) <$> _uPermissionId])++-- | A list of changes for a user.+--+-- /See:/ 'changeList' smart constructor.+data ChangeList =+  ChangeList'+    { _clNewStartPageToken :: !(Maybe Text)+    , _clNextPageToken     :: !(Maybe Text)+    , _clChanges           :: !(Maybe [Change])+    , _clKind              :: !Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChangeList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clNewStartPageToken'+--+-- * 'clNextPageToken'+--+-- * 'clChanges'+--+-- * 'clKind'+changeList+    :: ChangeList+changeList =+  ChangeList'+    { _clNewStartPageToken = Nothing+    , _clNextPageToken = Nothing+    , _clChanges = Nothing+    , _clKind = "drive#changeList"+    }+++-- | The starting page token for future changes. This will be present only if+-- the end of the current changes list has been reached.+clNewStartPageToken :: Lens' ChangeList (Maybe Text)+clNewStartPageToken+  = lens _clNewStartPageToken+      (\ s a -> s{_clNewStartPageToken = a})++-- | The page token for the next page of changes. This will be absent if the+-- end of the changes list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+clNextPageToken :: Lens' ChangeList (Maybe Text)+clNextPageToken+  = lens _clNextPageToken+      (\ s a -> s{_clNextPageToken = a})++-- | The list of changes. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+clChanges :: Lens' ChangeList [Change]+clChanges+  = lens _clChanges (\ s a -> s{_clChanges = a}) .+      _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#changeList\".+clKind :: Lens' ChangeList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++instance FromJSON ChangeList where+        parseJSON+          = withObject "ChangeList"+              (\ o ->+                 ChangeList' <$>+                   (o .:? "newStartPageToken") <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "changes" .!= mempty)+                     <*> (o .:? "kind" .!= "drive#changeList"))++instance ToJSON ChangeList where+        toJSON ChangeList'{..}+          = object+              (catMaybes+                 [("newStartPageToken" .=) <$> _clNewStartPageToken,+                  ("nextPageToken" .=) <$> _clNextPageToken,+                  ("changes" .=) <$> _clChanges,+                  Just ("kind" .= _clKind)])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'revisionExportLinks' smart constructor.+newtype RevisionExportLinks =+  RevisionExportLinks'+    { _relAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RevisionExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'relAddtional'+revisionExportLinks+    :: HashMap Text Text -- ^ 'relAddtional'+    -> RevisionExportLinks+revisionExportLinks pRelAddtional_ =+  RevisionExportLinks' {_relAddtional = _Coerce # pRelAddtional_}+++-- | A mapping from export format to URL+relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)+relAddtional+  = lens _relAddtional (\ s a -> s{_relAddtional = a})+      . _Coerce++instance FromJSON RevisionExportLinks where+        parseJSON+          = withObject "RevisionExportLinks"+              (\ o -> RevisionExportLinks' <$> (parseJSONObject o))++instance ToJSON RevisionExportLinks where+        toJSON = toJSON . _relAddtional++-- | Additional information about the content of the file. These fields are+-- never populated in responses.+--+-- /See:/ 'fileContentHints' smart constructor.+data FileContentHints =+  FileContentHints'+    { _fchThumbnail     :: !(Maybe FileContentHintsThumbnail)+    , _fchIndexableText :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileContentHints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fchThumbnail'+--+-- * 'fchIndexableText'+fileContentHints+    :: FileContentHints+fileContentHints =+  FileContentHints' {_fchThumbnail = Nothing, _fchIndexableText = Nothing}+++-- | A thumbnail for the file. This will only be used if Google Drive cannot+-- generate a standard thumbnail.+fchThumbnail :: Lens' FileContentHints (Maybe FileContentHintsThumbnail)+fchThumbnail+  = lens _fchThumbnail (\ s a -> s{_fchThumbnail = a})++-- | Text to be indexed for the file to improve fullText queries. This is+-- limited to 128KB in length and may contain HTML elements.+fchIndexableText :: Lens' FileContentHints (Maybe Text)+fchIndexableText+  = lens _fchIndexableText+      (\ s a -> s{_fchIndexableText = a})++instance FromJSON FileContentHints where+        parseJSON+          = withObject "FileContentHints"+              (\ o ->+                 FileContentHints' <$>+                   (o .:? "thumbnail") <*> (o .:? "indexableText"))++instance ToJSON FileContentHints where+        toJSON FileContentHints'{..}+          = object+              (catMaybes+                 [("thumbnail" .=) <$> _fchThumbnail,+                  ("indexableText" .=) <$> _fchIndexableText])++-- | 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++-- | A collection of arbitrary key-value pairs which are visible to all apps.+-- Entries with null values are cleared in update and copy requests.+--+-- /See:/ 'fileProperties' smart constructor.+newtype FileProperties =+  FileProperties'+    { _fpAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpAddtional'+fileProperties+    :: HashMap Text Text -- ^ 'fpAddtional'+    -> FileProperties+fileProperties pFpAddtional_ =+  FileProperties' {_fpAddtional = _Coerce # pFpAddtional_}+++fpAddtional :: Lens' FileProperties (HashMap Text Text)+fpAddtional+  = lens _fpAddtional (\ s a -> s{_fpAddtional = a}) .+      _Coerce++instance FromJSON FileProperties where+        parseJSON+          = withObject "FileProperties"+              (\ o -> FileProperties' <$> (parseJSONObject o))++instance ToJSON FileProperties where+        toJSON = toJSON . _fpAddtional++-- | A map of maximum import sizes by MIME type, in bytes.+--+-- /See:/ 'aboutMaxImportSizes' smart constructor.+newtype AboutMaxImportSizes =+  AboutMaxImportSizes'+    { _amisAddtional :: HashMap Text (Textual Int64)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutMaxImportSizes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amisAddtional'+aboutMaxImportSizes+    :: HashMap Text Int64 -- ^ 'amisAddtional'+    -> AboutMaxImportSizes+aboutMaxImportSizes pAmisAddtional_ =+  AboutMaxImportSizes' {_amisAddtional = _Coerce # pAmisAddtional_}+++amisAddtional :: Lens' AboutMaxImportSizes (HashMap Text Int64)+amisAddtional+  = lens _amisAddtional+      (\ s a -> s{_amisAddtional = a})+      . _Coerce++instance FromJSON AboutMaxImportSizes where+        parseJSON+          = withObject "AboutMaxImportSizes"+              (\ o -> AboutMaxImportSizes' <$> (parseJSONObject o))++instance ToJSON AboutMaxImportSizes where+        toJSON = toJSON . _amisAddtional++-- | Information about the user, the user\'s Drive, and system capabilities.+--+-- /See:/ 'about' smart constructor.+data About =+  About'+    { _aExportFormats       :: !(Maybe AboutExportFormats)+    , _aMaxImportSizes      :: !(Maybe AboutMaxImportSizes)+    , _aCanCreateTeamDrives :: !(Maybe Bool)+    , _aImportFormats       :: !(Maybe AboutImportFormats)+    , _aKind                :: !Text+    , _aDriveThemes         :: !(Maybe [AboutDriveThemesItem])+    , _aAppInstalled        :: !(Maybe Bool)+    , _aUser                :: !(Maybe User)+    , _aStorageQuota        :: !(Maybe AboutStorageQuota)+    , _aCanCreateDrives     :: !(Maybe Bool)+    , _aMaxUploadSize       :: !(Maybe (Textual Int64))+    , _aTeamDriveThemes     :: !(Maybe [AboutTeamDriveThemesItem])+    , _aFolderColorPalette  :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'About' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aExportFormats'+--+-- * 'aMaxImportSizes'+--+-- * 'aCanCreateTeamDrives'+--+-- * 'aImportFormats'+--+-- * 'aKind'+--+-- * 'aDriveThemes'+--+-- * 'aAppInstalled'+--+-- * 'aUser'+--+-- * 'aStorageQuota'+--+-- * 'aCanCreateDrives'+--+-- * 'aMaxUploadSize'+--+-- * 'aTeamDriveThemes'+--+-- * 'aFolderColorPalette'+about+    :: About+about =+  About'+    { _aExportFormats = Nothing+    , _aMaxImportSizes = Nothing+    , _aCanCreateTeamDrives = Nothing+    , _aImportFormats = Nothing+    , _aKind = "drive#about"+    , _aDriveThemes = Nothing+    , _aAppInstalled = Nothing+    , _aUser = Nothing+    , _aStorageQuota = Nothing+    , _aCanCreateDrives = Nothing+    , _aMaxUploadSize = Nothing+    , _aTeamDriveThemes = Nothing+    , _aFolderColorPalette = Nothing+    }+++-- | A map of source MIME type to possible targets for all supported exports.+aExportFormats :: Lens' About (Maybe AboutExportFormats)+aExportFormats+  = lens _aExportFormats+      (\ s a -> s{_aExportFormats = a})++-- | A map of maximum import sizes by MIME type, in bytes.+aMaxImportSizes :: Lens' About (Maybe AboutMaxImportSizes)+aMaxImportSizes+  = lens _aMaxImportSizes+      (\ s a -> s{_aMaxImportSizes = a})++-- | Deprecated - use canCreateDrives instead.+aCanCreateTeamDrives :: Lens' About (Maybe Bool)+aCanCreateTeamDrives+  = lens _aCanCreateTeamDrives+      (\ s a -> s{_aCanCreateTeamDrives = a})++-- | A map of source MIME type to possible targets for all supported imports.+aImportFormats :: Lens' About (Maybe AboutImportFormats)+aImportFormats+  = lens _aImportFormats+      (\ s a -> s{_aImportFormats = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#about\".+aKind :: Lens' About Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | A list of themes that are supported for shared drives.+aDriveThemes :: Lens' About [AboutDriveThemesItem]+aDriveThemes+  = lens _aDriveThemes (\ s a -> s{_aDriveThemes = a})+      . _Default+      . _Coerce++-- | Whether the user has installed the requesting app.+aAppInstalled :: Lens' About (Maybe Bool)+aAppInstalled+  = lens _aAppInstalled+      (\ s a -> s{_aAppInstalled = a})++-- | The authenticated user.+aUser :: Lens' About (Maybe User)+aUser = lens _aUser (\ s a -> s{_aUser = a})++-- | The user\'s storage quota limits and usage. All fields are measured in+-- bytes.+aStorageQuota :: Lens' About (Maybe AboutStorageQuota)+aStorageQuota+  = lens _aStorageQuota+      (\ s a -> s{_aStorageQuota = a})++-- | Whether the user can create shared drives.+aCanCreateDrives :: Lens' About (Maybe Bool)+aCanCreateDrives+  = lens _aCanCreateDrives+      (\ s a -> s{_aCanCreateDrives = a})++-- | The maximum upload size in bytes.+aMaxUploadSize :: Lens' About (Maybe Int64)+aMaxUploadSize+  = lens _aMaxUploadSize+      (\ s a -> s{_aMaxUploadSize = a})+      . mapping _Coerce++-- | Deprecated - use driveThemes instead.+aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]+aTeamDriveThemes+  = lens _aTeamDriveThemes+      (\ s a -> s{_aTeamDriveThemes = a})+      . _Default+      . _Coerce++-- | The currently supported folder colors as RGB hex strings.+aFolderColorPalette :: Lens' About [Text]+aFolderColorPalette+  = lens _aFolderColorPalette+      (\ s a -> s{_aFolderColorPalette = a})+      . _Default+      . _Coerce++instance FromJSON About where+        parseJSON+          = withObject "About"+              (\ o ->+                 About' <$>+                   (o .:? "exportFormats") <*> (o .:? "maxImportSizes")+                     <*> (o .:? "canCreateTeamDrives")+                     <*> (o .:? "importFormats")+                     <*> (o .:? "kind" .!= "drive#about")+                     <*> (o .:? "driveThemes" .!= mempty)+                     <*> (o .:? "appInstalled")+                     <*> (o .:? "user")+                     <*> (o .:? "storageQuota")+                     <*> (o .:? "canCreateDrives")+                     <*> (o .:? "maxUploadSize")+                     <*> (o .:? "teamDriveThemes" .!= mempty)+                     <*> (o .:? "folderColorPalette" .!= mempty))++instance ToJSON About where+        toJSON About'{..}+          = object+              (catMaybes+                 [("exportFormats" .=) <$> _aExportFormats,+                  ("maxImportSizes" .=) <$> _aMaxImportSizes,+                  ("canCreateTeamDrives" .=) <$> _aCanCreateTeamDrives,+                  ("importFormats" .=) <$> _aImportFormats,+                  Just ("kind" .= _aKind),+                  ("driveThemes" .=) <$> _aDriveThemes,+                  ("appInstalled" .=) <$> _aAppInstalled,+                  ("user" .=) <$> _aUser,+                  ("storageQuota" .=) <$> _aStorageQuota,+                  ("canCreateDrives" .=) <$> _aCanCreateDrives,+                  ("maxUploadSize" .=) <$> _aMaxUploadSize,+                  ("teamDriveThemes" .=) <$> _aTeamDriveThemes,+                  ("folderColorPalette" .=) <$> _aFolderColorPalette])++-- | Geographic location information stored in the image.+--+-- /See:/ 'fileImageMediaMetadataLocation' smart constructor.+data FileImageMediaMetadataLocation =+  FileImageMediaMetadataLocation'+    { _fimmlLatitude  :: !(Maybe (Textual Double))+    , _fimmlAltitude  :: !(Maybe (Textual Double))+    , _fimmlLongitude :: !(Maybe (Textual Double))+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileImageMediaMetadataLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmlLatitude'+--+-- * 'fimmlAltitude'+--+-- * 'fimmlLongitude'+fileImageMediaMetadataLocation+    :: FileImageMediaMetadataLocation+fileImageMediaMetadataLocation =+  FileImageMediaMetadataLocation'+    { _fimmlLatitude = Nothing+    , _fimmlAltitude = Nothing+    , _fimmlLongitude = Nothing+    }+++-- | The latitude stored in the image.+fimmlLatitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLatitude+  = lens _fimmlLatitude+      (\ s a -> s{_fimmlLatitude = a})+      . mapping _Coerce++-- | The altitude stored in the image.+fimmlAltitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlAltitude+  = lens _fimmlAltitude+      (\ s a -> s{_fimmlAltitude = a})+      . mapping _Coerce++-- | The longitude stored in the image.+fimmlLongitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLongitude+  = lens _fimmlLongitude+      (\ s a -> s{_fimmlLongitude = a})+      . mapping _Coerce++instance FromJSON FileImageMediaMetadataLocation+         where+        parseJSON+          = withObject "FileImageMediaMetadataLocation"+              (\ o ->+                 FileImageMediaMetadataLocation' <$>+                   (o .:? "latitude") <*> (o .:? "altitude") <*>+                     (o .:? "longitude"))++instance ToJSON FileImageMediaMetadataLocation where+        toJSON FileImageMediaMetadataLocation'{..}+          = object+              (catMaybes+                 [("latitude" .=) <$> _fimmlLatitude,+                  ("altitude" .=) <$> _fimmlAltitude,+                  ("longitude" .=) <$> _fimmlLongitude])++--+-- /See:/ 'startPageToken' smart constructor.+data StartPageToken =+  StartPageToken'+    { _sptKind           :: !Text+    , _sptStartPageToken :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartPageToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sptKind'+--+-- * 'sptStartPageToken'+startPageToken+    :: StartPageToken+startPageToken =+  StartPageToken'+    {_sptKind = "drive#startPageToken", _sptStartPageToken = Nothing}+++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#startPageToken\".+sptKind :: Lens' StartPageToken Text+sptKind = lens _sptKind (\ s a -> s{_sptKind = a})++-- | The starting page token for listing changes.+sptStartPageToken :: Lens' StartPageToken (Maybe Text)+sptStartPageToken+  = lens _sptStartPageToken+      (\ s a -> s{_sptStartPageToken = a})++instance FromJSON StartPageToken where+        parseJSON+          = withObject "StartPageToken"+              (\ o ->+                 StartPageToken' <$>+                   (o .:? "kind" .!= "drive#startPageToken") <*>+                     (o .:? "startPageToken"))++instance ToJSON StartPageToken where+        toJSON StartPageToken'{..}+          = object+              (catMaybes+                 [Just ("kind" .= _sptKind),+                  ("startPageToken" .=) <$> _sptStartPageToken])++-- | Additional metadata about image media, if available.+--+-- /See:/ 'fileImageMediaMetadata' smart constructor.+data FileImageMediaMetadata =+  FileImageMediaMetadata'+    { _fimmRotation         :: !(Maybe (Textual Int32))+    , _fimmHeight           :: !(Maybe (Textual Int32))+    , _fimmSubjectDistance  :: !(Maybe (Textual Int32))+    , _fimmMaxApertureValue :: !(Maybe (Textual Double))+    , _fimmIsoSpeed         :: !(Maybe (Textual Int32))+    , _fimmTime             :: !(Maybe Text)+    , _fimmLocation         :: !(Maybe FileImageMediaMetadataLocation)+    , _fimmAperture         :: !(Maybe (Textual Double))+    , _fimmFocalLength      :: !(Maybe (Textual Double))+    , _fimmCameraMake       :: !(Maybe Text)+    , _fimmWidth            :: !(Maybe (Textual Int32))+    , _fimmExposureTime     :: !(Maybe (Textual Double))+    , _fimmCameraModel      :: !(Maybe Text)+    , _fimmWhiteBalance     :: !(Maybe Text)+    , _fimmLens             :: !(Maybe Text)+    , _fimmFlashUsed        :: !(Maybe Bool)+    , _fimmExposureBias     :: !(Maybe (Textual Double))+    , _fimmMeteringMode     :: !(Maybe Text)+    , _fimmExposureMode     :: !(Maybe Text)+    , _fimmSensor           :: !(Maybe Text)+    , _fimmColorSpace       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileImageMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmRotation'+--+-- * 'fimmHeight'+--+-- * 'fimmSubjectDistance'+--+-- * 'fimmMaxApertureValue'+--+-- * 'fimmIsoSpeed'+--+-- * 'fimmTime'+--+-- * 'fimmLocation'+--+-- * 'fimmAperture'+--+-- * 'fimmFocalLength'+--+-- * 'fimmCameraMake'+--+-- * 'fimmWidth'+--+-- * 'fimmExposureTime'+--+-- * 'fimmCameraModel'+--+-- * 'fimmWhiteBalance'+--+-- * 'fimmLens'+--+-- * 'fimmFlashUsed'+--+-- * 'fimmExposureBias'+--+-- * 'fimmMeteringMode'+--+-- * 'fimmExposureMode'+--+-- * 'fimmSensor'+--+-- * 'fimmColorSpace'+fileImageMediaMetadata+    :: FileImageMediaMetadata+fileImageMediaMetadata =+  FileImageMediaMetadata'+    { _fimmRotation = Nothing+    , _fimmHeight = Nothing+    , _fimmSubjectDistance = Nothing+    , _fimmMaxApertureValue = Nothing+    , _fimmIsoSpeed = Nothing+    , _fimmTime = Nothing+    , _fimmLocation = Nothing+    , _fimmAperture = Nothing+    , _fimmFocalLength = Nothing+    , _fimmCameraMake = Nothing+    , _fimmWidth = Nothing+    , _fimmExposureTime = Nothing+    , _fimmCameraModel = Nothing+    , _fimmWhiteBalance = Nothing+    , _fimmLens = Nothing+    , _fimmFlashUsed = Nothing+    , _fimmExposureBias = Nothing+    , _fimmMeteringMode = Nothing+    , _fimmExposureMode = Nothing+    , _fimmSensor = Nothing+    , _fimmColorSpace = Nothing+    }+++-- | The rotation in clockwise degrees from the image\'s original+-- orientation.+fimmRotation :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmRotation+  = lens _fimmRotation (\ s a -> s{_fimmRotation = a})+      . mapping _Coerce++-- | The height of the image in pixels.+fimmHeight :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmHeight+  = lens _fimmHeight (\ s a -> s{_fimmHeight = a}) .+      mapping _Coerce++-- | The distance to the subject of the photo, in meters.+fimmSubjectDistance :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmSubjectDistance+  = lens _fimmSubjectDistance+      (\ s a -> s{_fimmSubjectDistance = a})+      . mapping _Coerce++-- | The smallest f-number of the lens at the focal length used to create the+-- photo (APEX value).+fimmMaxApertureValue :: Lens' FileImageMediaMetadata (Maybe Double)+fimmMaxApertureValue+  = lens _fimmMaxApertureValue+      (\ s a -> s{_fimmMaxApertureValue = a})+      . mapping _Coerce++-- | The ISO speed used to create the photo.+fimmIsoSpeed :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmIsoSpeed+  = lens _fimmIsoSpeed (\ s a -> s{_fimmIsoSpeed = a})+      . mapping _Coerce++-- | The date and time the photo was taken (EXIF DateTime).+fimmTime :: Lens' FileImageMediaMetadata (Maybe Text)+fimmTime = lens _fimmTime (\ s a -> s{_fimmTime = a})++-- | Geographic location information stored in the image.+fimmLocation :: Lens' FileImageMediaMetadata (Maybe FileImageMediaMetadataLocation)+fimmLocation+  = lens _fimmLocation (\ s a -> s{_fimmLocation = a})++-- | The aperture used to create the photo (f-number).+fimmAperture :: Lens' FileImageMediaMetadata (Maybe Double)+fimmAperture+  = lens _fimmAperture (\ s a -> s{_fimmAperture = a})+      . mapping _Coerce++-- | The focal length used to create the photo, in millimeters.+fimmFocalLength :: Lens' FileImageMediaMetadata (Maybe Double)+fimmFocalLength+  = lens _fimmFocalLength+      (\ s a -> s{_fimmFocalLength = a})+      . mapping _Coerce++-- | The make of the camera used to create the photo.+fimmCameraMake :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraMake+  = lens _fimmCameraMake+      (\ s a -> s{_fimmCameraMake = a})++-- | The width of the image in pixels.+fimmWidth :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmWidth+  = lens _fimmWidth (\ s a -> s{_fimmWidth = a}) .+      mapping _Coerce++-- | The length of the exposure, in seconds.+fimmExposureTime :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureTime+  = lens _fimmExposureTime+      (\ s a -> s{_fimmExposureTime = a})+      . mapping _Coerce++-- | The model of the camera used to create the photo.+fimmCameraModel :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraModel+  = lens _fimmCameraModel+      (\ s a -> s{_fimmCameraModel = a})++-- | The white balance mode used to create the photo.+fimmWhiteBalance :: Lens' FileImageMediaMetadata (Maybe Text)+fimmWhiteBalance+  = lens _fimmWhiteBalance+      (\ s a -> s{_fimmWhiteBalance = a})++-- | The lens used to create the photo.+fimmLens :: Lens' FileImageMediaMetadata (Maybe Text)+fimmLens = lens _fimmLens (\ s a -> s{_fimmLens = a})++-- | Whether a flash was used to create the photo.+fimmFlashUsed :: Lens' FileImageMediaMetadata (Maybe Bool)+fimmFlashUsed+  = lens _fimmFlashUsed+      (\ s a -> s{_fimmFlashUsed = a})++-- | The exposure bias of the photo (APEX value).+fimmExposureBias :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureBias+  = lens _fimmExposureBias+      (\ s a -> s{_fimmExposureBias = a})+      . mapping _Coerce++-- | The metering mode used to create the photo.+fimmMeteringMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmMeteringMode+  = lens _fimmMeteringMode+      (\ s a -> s{_fimmMeteringMode = a})++-- | The exposure mode used to create the photo.+fimmExposureMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmExposureMode+  = lens _fimmExposureMode+      (\ s a -> s{_fimmExposureMode = a})++-- | The type of sensor used to create the photo.+fimmSensor :: Lens' FileImageMediaMetadata (Maybe Text)+fimmSensor+  = lens _fimmSensor (\ s a -> s{_fimmSensor = a})++-- | The color space of the photo.+fimmColorSpace :: Lens' FileImageMediaMetadata (Maybe Text)+fimmColorSpace+  = lens _fimmColorSpace+      (\ s a -> s{_fimmColorSpace = a})++instance FromJSON FileImageMediaMetadata where+        parseJSON+          = withObject "FileImageMediaMetadata"+              (\ o ->+                 FileImageMediaMetadata' <$>+                   (o .:? "rotation") <*> (o .:? "height") <*>+                     (o .:? "subjectDistance")+                     <*> (o .:? "maxApertureValue")+                     <*> (o .:? "isoSpeed")+                     <*> (o .:? "time")+                     <*> (o .:? "location")+                     <*> (o .:? "aperture")+                     <*> (o .:? "focalLength")+                     <*> (o .:? "cameraMake")+                     <*> (o .:? "width")+                     <*> (o .:? "exposureTime")+                     <*> (o .:? "cameraModel")+                     <*> (o .:? "whiteBalance")+                     <*> (o .:? "lens")+                     <*> (o .:? "flashUsed")+                     <*> (o .:? "exposureBias")+                     <*> (o .:? "meteringMode")+                     <*> (o .:? "exposureMode")+                     <*> (o .:? "sensor")+                     <*> (o .:? "colorSpace"))++instance ToJSON FileImageMediaMetadata where+        toJSON FileImageMediaMetadata'{..}+          = object+              (catMaybes+                 [("rotation" .=) <$> _fimmRotation,+                  ("height" .=) <$> _fimmHeight,+                  ("subjectDistance" .=) <$> _fimmSubjectDistance,+                  ("maxApertureValue" .=) <$> _fimmMaxApertureValue,+                  ("isoSpeed" .=) <$> _fimmIsoSpeed,+                  ("time" .=) <$> _fimmTime,+                  ("location" .=) <$> _fimmLocation,+                  ("aperture" .=) <$> _fimmAperture,+                  ("focalLength" .=) <$> _fimmFocalLength,+                  ("cameraMake" .=) <$> _fimmCameraMake,+                  ("width" .=) <$> _fimmWidth,+                  ("exposureTime" .=) <$> _fimmExposureTime,+                  ("cameraModel" .=) <$> _fimmCameraModel,+                  ("whiteBalance" .=) <$> _fimmWhiteBalance,+                  ("lens" .=) <$> _fimmLens,+                  ("flashUsed" .=) <$> _fimmFlashUsed,+                  ("exposureBias" .=) <$> _fimmExposureBias,+                  ("meteringMode" .=) <$> _fimmMeteringMode,+                  ("exposureMode" .=) <$> _fimmExposureMode,+                  ("sensor" .=) <$> _fimmSensor,+                  ("colorSpace" .=) <$> _fimmColorSpace])++-- | A comment on a file.+--+-- /See:/ 'comment' smart constructor.+data Comment =+  Comment'+    { _comHTMLContent       :: !(Maybe Text)+    , _comModifiedTime      :: !(Maybe DateTime')+    , _comCreatedTime       :: !(Maybe DateTime')+    , _comKind              :: !Text+    , _comResolved          :: !(Maybe Bool)+    , _comQuotedFileContent :: !(Maybe CommentQuotedFileContent)+    , _comAnchor            :: !(Maybe Text)+    , _comContent           :: !(Maybe Text)+    , _comReplies           :: !(Maybe [Reply])+    , _comAuthor            :: !(Maybe User)+    , _comId                :: !(Maybe Text)+    , _comDeleted           :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Comment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comHTMLContent'+--+-- * 'comModifiedTime'+--+-- * 'comCreatedTime'+--+-- * 'comKind'+--+-- * 'comResolved'+--+-- * 'comQuotedFileContent'+--+-- * 'comAnchor'+--+-- * 'comContent'+--+-- * 'comReplies'+--+-- * 'comAuthor'+--+-- * 'comId'+--+-- * 'comDeleted'+comment+    :: Comment+comment =+  Comment'+    { _comHTMLContent = Nothing+    , _comModifiedTime = Nothing+    , _comCreatedTime = Nothing+    , _comKind = "drive#comment"+    , _comResolved = Nothing+    , _comQuotedFileContent = Nothing+    , _comAnchor = Nothing+    , _comContent = Nothing+    , _comReplies = Nothing+    , _comAuthor = Nothing+    , _comId = Nothing+    , _comDeleted = Nothing+    }+++-- | The content of the comment with HTML formatting.+comHTMLContent :: Lens' Comment (Maybe Text)+comHTMLContent+  = lens _comHTMLContent+      (\ s a -> s{_comHTMLContent = a})++-- | The last time the comment or any of its replies was modified (RFC 3339+-- date-time).+comModifiedTime :: Lens' Comment (Maybe UTCTime)+comModifiedTime+  = lens _comModifiedTime+      (\ s a -> s{_comModifiedTime = a})+      . mapping _DateTime++-- | The time at which the comment was created (RFC 3339 date-time).+comCreatedTime :: Lens' Comment (Maybe UTCTime)+comCreatedTime+  = lens _comCreatedTime+      (\ s a -> s{_comCreatedTime = a})+      . mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#comment\".+comKind :: Lens' Comment Text+comKind = lens _comKind (\ s a -> s{_comKind = a})++-- | Whether the comment has been resolved by one of its replies.+comResolved :: Lens' Comment (Maybe Bool)+comResolved+  = lens _comResolved (\ s a -> s{_comResolved = a})++-- | The file content to which the comment refers, typically within the+-- anchor region. For a text file, for example, this would be the text at+-- the location of the comment.+comQuotedFileContent :: Lens' Comment (Maybe CommentQuotedFileContent)+comQuotedFileContent+  = lens _comQuotedFileContent+      (\ s a -> s{_comQuotedFileContent = a})++-- | A region of the document represented as a JSON string. See anchor+-- documentation for details on how to define and interpret anchor+-- properties.+comAnchor :: Lens' Comment (Maybe Text)+comAnchor+  = lens _comAnchor (\ s a -> s{_comAnchor = a})++-- | The plain text content of the comment. This field is used for setting+-- the content, while htmlContent should be displayed.+comContent :: Lens' Comment (Maybe Text)+comContent+  = lens _comContent (\ s a -> s{_comContent = a})++-- | The full list of replies to the comment in chronological order.+comReplies :: Lens' Comment [Reply]+comReplies+  = lens _comReplies (\ s a -> s{_comReplies = a}) .+      _Default+      . _Coerce++-- | The user who created the comment.+comAuthor :: Lens' Comment (Maybe User)+comAuthor+  = lens _comAuthor (\ s a -> s{_comAuthor = a})++-- | The ID of the comment.+comId :: Lens' Comment (Maybe Text)+comId = lens _comId (\ s a -> s{_comId = a})++-- | Whether the comment has been deleted. A deleted comment has no content.+comDeleted :: Lens' Comment (Maybe Bool)+comDeleted+  = lens _comDeleted (\ s a -> s{_comDeleted = a})++instance FromJSON Comment where+        parseJSON+          = withObject "Comment"+              (\ o ->+                 Comment' <$>+                   (o .:? "htmlContent") <*> (o .:? "modifiedTime") <*>+                     (o .:? "createdTime")+                     <*> (o .:? "kind" .!= "drive#comment")+                     <*> (o .:? "resolved")+                     <*> (o .:? "quotedFileContent")+                     <*> (o .:? "anchor")+                     <*> (o .:? "content")+                     <*> (o .:? "replies" .!= mempty)+                     <*> (o .:? "author")+                     <*> (o .:? "id")+                     <*> (o .:? "deleted"))++instance ToJSON Comment where+        toJSON Comment'{..}+          = object+              (catMaybes+                 [("htmlContent" .=) <$> _comHTMLContent,+                  ("modifiedTime" .=) <$> _comModifiedTime,+                  ("createdTime" .=) <$> _comCreatedTime,+                  Just ("kind" .= _comKind),+                  ("resolved" .=) <$> _comResolved,+                  ("quotedFileContent" .=) <$> _comQuotedFileContent,+                  ("anchor" .=) <$> _comAnchor,+                  ("content" .=) <$> _comContent,+                  ("replies" .=) <$> _comReplies,+                  ("author" .=) <$> _comAuthor, ("id" .=) <$> _comId,+                  ("deleted" .=) <$> _comDeleted])++-- | The metadata for a revision to a file.+--+-- /See:/ 'revision' smart constructor.+data Revision =+  Revision'+    { _revModifiedTime           :: !(Maybe DateTime')+    , _revSize                   :: !(Maybe (Textual Int64))+    , _revOriginalFilename       :: !(Maybe Text)+    , _revKind                   :: !Text+    , _revPublished              :: !(Maybe Bool)+    , _revLastModifyingUser      :: !(Maybe User)+    , _revPublishAuto            :: !(Maybe Bool)+    , _revMD5Checksum            :: !(Maybe Text)+    , _revKeepForever            :: !(Maybe Bool)+    , _revMimeType               :: !(Maybe Text)+    , _revExportLinks            :: !(Maybe RevisionExportLinks)+    , _revPublishedOutsideDomain :: !(Maybe Bool)+    , _revId                     :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Revision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'revModifiedTime'+--+-- * 'revSize'+--+-- * 'revOriginalFilename'+--+-- * 'revKind'+--+-- * 'revPublished'+--+-- * 'revLastModifyingUser'+--+-- * 'revPublishAuto'+--+-- * 'revMD5Checksum'+--+-- * 'revKeepForever'+--+-- * 'revMimeType'+--+-- * 'revExportLinks'+--+-- * 'revPublishedOutsideDomain'+--+-- * 'revId'+revision+    :: Revision+revision =+  Revision'+    { _revModifiedTime = Nothing+    , _revSize = Nothing+    , _revOriginalFilename = Nothing+    , _revKind = "drive#revision"+    , _revPublished = Nothing+    , _revLastModifyingUser = Nothing+    , _revPublishAuto = Nothing+    , _revMD5Checksum = Nothing+    , _revKeepForever = Nothing+    , _revMimeType = Nothing+    , _revExportLinks = Nothing+    , _revPublishedOutsideDomain = Nothing+    , _revId = Nothing+    }+++-- | The last time the revision was modified (RFC 3339 date-time).+revModifiedTime :: Lens' Revision (Maybe UTCTime)+revModifiedTime+  = lens _revModifiedTime+      (\ s a -> s{_revModifiedTime = a})+      . mapping _DateTime++-- | The size of the revision\'s content in bytes. This is only applicable to+-- files with binary content in Drive.+revSize :: Lens' Revision (Maybe Int64)+revSize+  = lens _revSize (\ s a -> s{_revSize = a}) .+      mapping _Coerce++-- | The original filename used to create this revision. This is only+-- applicable to files with binary content in Drive.+revOriginalFilename :: Lens' Revision (Maybe Text)+revOriginalFilename+  = lens _revOriginalFilename+      (\ s a -> s{_revOriginalFilename = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#revision\".+revKind :: Lens' Revision Text+revKind = lens _revKind (\ s a -> s{_revKind = a})++-- | Whether this revision is published. This is only applicable to Google+-- Docs.+revPublished :: Lens' Revision (Maybe Bool)+revPublished+  = lens _revPublished (\ s a -> s{_revPublished = a})++-- | The last user to modify this revision.+revLastModifyingUser :: Lens' Revision (Maybe User)+revLastModifyingUser+  = lens _revLastModifyingUser+      (\ s a -> s{_revLastModifyingUser = a})++-- | Whether subsequent revisions will be automatically republished. This is+-- only applicable to Google Docs.+revPublishAuto :: Lens' Revision (Maybe Bool)+revPublishAuto+  = lens _revPublishAuto+      (\ s a -> s{_revPublishAuto = a})++-- | The MD5 checksum of the revision\'s content. This is only applicable to+-- files with binary content in Drive.+revMD5Checksum :: Lens' Revision (Maybe Text)+revMD5Checksum+  = lens _revMD5Checksum+      (\ s a -> s{_revMD5Checksum = a})++-- | Whether to keep this revision forever, even if it is no longer the head+-- revision. If not set, the revision will be automatically purged 30 days+-- after newer content is uploaded. This can be set on a maximum of 200+-- revisions for a file. This field is only applicable to files with binary+-- content in Drive.+revKeepForever :: Lens' Revision (Maybe Bool)+revKeepForever+  = lens _revKeepForever+      (\ s a -> s{_revKeepForever = a})++-- | The MIME type of the revision.+revMimeType :: Lens' Revision (Maybe Text)+revMimeType+  = lens _revMimeType (\ s a -> s{_revMimeType = a})++-- | Links for exporting Google Docs to specific formats.+revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)+revExportLinks+  = lens _revExportLinks+      (\ s a -> s{_revExportLinks = a})++-- | Whether this revision is published outside the domain. This is only+-- applicable to Google Docs.+revPublishedOutsideDomain :: Lens' Revision (Maybe Bool)+revPublishedOutsideDomain+  = lens _revPublishedOutsideDomain+      (\ s a -> s{_revPublishedOutsideDomain = a})++-- | The ID of the revision.+revId :: Lens' Revision (Maybe Text)+revId = lens _revId (\ s a -> s{_revId = a})++instance FromJSON Revision where+        parseJSON+          = withObject "Revision"+              (\ o ->+                 Revision' <$>+                   (o .:? "modifiedTime") <*> (o .:? "size") <*>+                     (o .:? "originalFilename")+                     <*> (o .:? "kind" .!= "drive#revision")+                     <*> (o .:? "published")+                     <*> (o .:? "lastModifyingUser")+                     <*> (o .:? "publishAuto")+                     <*> (o .:? "md5Checksum")+                     <*> (o .:? "keepForever")+                     <*> (o .:? "mimeType")+                     <*> (o .:? "exportLinks")+                     <*> (o .:? "publishedOutsideDomain")+                     <*> (o .:? "id"))++instance ToJSON Revision where+        toJSON Revision'{..}+          = object+              (catMaybes+                 [("modifiedTime" .=) <$> _revModifiedTime,+                  ("size" .=) <$> _revSize,+                  ("originalFilename" .=) <$> _revOriginalFilename,+                  Just ("kind" .= _revKind),+                  ("published" .=) <$> _revPublished,+                  ("lastModifyingUser" .=) <$> _revLastModifyingUser,+                  ("publishAuto" .=) <$> _revPublishAuto,+                  ("md5Checksum" .=) <$> _revMD5Checksum,+                  ("keepForever" .=) <$> _revKeepForever,+                  ("mimeType" .=) <$> _revMimeType,+                  ("exportLinks" .=) <$> _revExportLinks,+                  ("publishedOutsideDomain" .=) <$>+                    _revPublishedOutsideDomain,+                  ("id" .=) <$> _revId])++-- | A permission for a file. A permission grants a user, group, domain or+-- the world access to a file or a folder hierarchy.+--+-- /See:/ 'permission' smart constructor.+data Permission =+  Permission'+    { _pPhotoLink                  :: !(Maybe Text)+    , _pTeamDrivePermissionDetails :: !(Maybe [PermissionTeamDrivePermissionDetailsItem])+    , _pKind                       :: !Text+    , _pDomain                     :: !(Maybe Text)+    , _pRole                       :: !(Maybe Text)+    , _pEmailAddress               :: !(Maybe Text)+    , _pAllowFileDiscovery         :: !(Maybe Bool)+    , _pDisplayName                :: !(Maybe Text)+    , _pId                         :: !(Maybe Text)+    , _pDeleted                    :: !(Maybe Bool)+    , _pType                       :: !(Maybe Text)+    , _pExpirationTime             :: !(Maybe DateTime')+    , _pPermissionDetails          :: !(Maybe [PermissionPermissionDetailsItem])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pPhotoLink'+--+-- * 'pTeamDrivePermissionDetails'+--+-- * 'pKind'+--+-- * 'pDomain'+--+-- * 'pRole'+--+-- * 'pEmailAddress'+--+-- * 'pAllowFileDiscovery'+--+-- * 'pDisplayName'+--+-- * 'pId'+--+-- * 'pDeleted'+--+-- * 'pType'+--+-- * 'pExpirationTime'+--+-- * 'pPermissionDetails'+permission+    :: Permission+permission =+  Permission'+    { _pPhotoLink = Nothing+    , _pTeamDrivePermissionDetails = Nothing+    , _pKind = "drive#permission"+    , _pDomain = Nothing+    , _pRole = Nothing+    , _pEmailAddress = Nothing+    , _pAllowFileDiscovery = Nothing+    , _pDisplayName = Nothing+    , _pId = Nothing+    , _pDeleted = Nothing+    , _pType = Nothing+    , _pExpirationTime = Nothing+    , _pPermissionDetails = Nothing+    }+++-- | A link to the user\'s profile photo, if available.+pPhotoLink :: Lens' Permission (Maybe Text)+pPhotoLink+  = lens _pPhotoLink (\ s a -> s{_pPhotoLink = a})++-- | Deprecated - use permissionDetails instead.+pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]+pTeamDrivePermissionDetails+  = lens _pTeamDrivePermissionDetails+      (\ s a -> s{_pTeamDrivePermissionDetails = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#permission\".+pKind :: Lens' Permission Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The domain to which this permission refers.+pDomain :: Lens' Permission (Maybe Text)+pDomain = lens _pDomain (\ s a -> s{_pDomain = a})++-- | The role granted by this permission. While new values may be supported+-- in the future, the following are currently allowed: - owner - organizer+-- - fileOrganizer - writer - commenter - reader+pRole :: Lens' Permission (Maybe Text)+pRole = lens _pRole (\ s a -> s{_pRole = a})++-- | The email address of the user or group to which this permission refers.+pEmailAddress :: Lens' Permission (Maybe Text)+pEmailAddress+  = lens _pEmailAddress+      (\ s a -> s{_pEmailAddress = a})++-- | Whether the permission allows the file to be discovered through search.+-- This is only applicable for permissions of type domain or anyone.+pAllowFileDiscovery :: Lens' Permission (Maybe Bool)+pAllowFileDiscovery+  = lens _pAllowFileDiscovery+      (\ s a -> s{_pAllowFileDiscovery = a})++-- | A displayable name for users, groups or domains.+pDisplayName :: Lens' Permission (Maybe Text)+pDisplayName+  = lens _pDisplayName (\ s a -> s{_pDisplayName = a})++-- | The ID of this permission. This is a unique identifier for the grantee,+-- and is published in User resources as permissionId.+pId :: Lens' Permission (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++-- | Whether the account associated with this permission has been deleted.+-- This field only pertains to user and group permissions.+pDeleted :: Lens' Permission (Maybe Bool)+pDeleted = lens _pDeleted (\ s a -> s{_pDeleted = a})++-- | The type of the grantee. Valid values are: - user - group - domain -+-- anyone+pType :: Lens' Permission (Maybe Text)+pType = lens _pType (\ s a -> s{_pType = a})++-- | The time at which this permission will expire (RFC 3339 date-time).+-- Expiration times have the following restrictions: - They can only be set+-- on user and group permissions - The time must be in the future - The+-- time cannot be more than a year in the future+pExpirationTime :: Lens' Permission (Maybe UTCTime)+pExpirationTime+  = lens _pExpirationTime+      (\ s a -> s{_pExpirationTime = a})+      . mapping _DateTime++-- | Details of whether the permissions on this shared drive item are+-- inherited or directly on this item. This is an output-only field which+-- is present only for shared drive items.+pPermissionDetails :: Lens' Permission [PermissionPermissionDetailsItem]+pPermissionDetails+  = lens _pPermissionDetails+      (\ s a -> s{_pPermissionDetails = a})+      . _Default+      . _Coerce++instance FromJSON Permission where+        parseJSON+          = withObject "Permission"+              (\ o ->+                 Permission' <$>+                   (o .:? "photoLink") <*>+                     (o .:? "teamDrivePermissionDetails" .!= mempty)+                     <*> (o .:? "kind" .!= "drive#permission")+                     <*> (o .:? "domain")+                     <*> (o .:? "role")+                     <*> (o .:? "emailAddress")+                     <*> (o .:? "allowFileDiscovery")+                     <*> (o .:? "displayName")+                     <*> (o .:? "id")+                     <*> (o .:? "deleted")+                     <*> (o .:? "type")+                     <*> (o .:? "expirationTime")+                     <*> (o .:? "permissionDetails" .!= mempty))++instance ToJSON Permission where+        toJSON Permission'{..}+          = object+              (catMaybes+                 [("photoLink" .=) <$> _pPhotoLink,+                  ("teamDrivePermissionDetails" .=) <$>+                    _pTeamDrivePermissionDetails,+                  Just ("kind" .= _pKind), ("domain" .=) <$> _pDomain,+                  ("role" .=) <$> _pRole,+                  ("emailAddress" .=) <$> _pEmailAddress,+                  ("allowFileDiscovery" .=) <$> _pAllowFileDiscovery,+                  ("displayName" .=) <$> _pDisplayName,+                  ("id" .=) <$> _pId, ("deleted" .=) <$> _pDeleted,+                  ("type" .=) <$> _pType,+                  ("expirationTime" .=) <$> _pExpirationTime,+                  ("permissionDetails" .=) <$> _pPermissionDetails])++-- | A set of restrictions that apply to this shared drive or items inside+-- this shared drive.+--+-- /See:/ 'driveRestrictions' smart constructor.+data DriveRestrictions =+  DriveRestrictions'+    { _drAdminManagedRestrictions     :: !(Maybe Bool)+    , _drDriveMembersOnly             :: !(Maybe Bool)+    , _drCopyRequiresWriterPermission :: !(Maybe Bool)+    , _drDomainUsersOnly              :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DriveRestrictions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drAdminManagedRestrictions'+--+-- * 'drDriveMembersOnly'+--+-- * 'drCopyRequiresWriterPermission'+--+-- * 'drDomainUsersOnly'+driveRestrictions+    :: DriveRestrictions+driveRestrictions =+  DriveRestrictions'+    { _drAdminManagedRestrictions = Nothing+    , _drDriveMembersOnly = Nothing+    , _drCopyRequiresWriterPermission = Nothing+    , _drDomainUsersOnly = Nothing+    }+++-- | Whether administrative privileges on this shared drive are required to+-- modify restrictions.+drAdminManagedRestrictions :: Lens' DriveRestrictions (Maybe Bool)+drAdminManagedRestrictions+  = lens _drAdminManagedRestrictions+      (\ s a -> s{_drAdminManagedRestrictions = a})++-- | Whether access to items inside this shared drive is restricted to its+-- members.+drDriveMembersOnly :: Lens' DriveRestrictions (Maybe Bool)+drDriveMembersOnly+  = lens _drDriveMembersOnly+      (\ s a -> s{_drDriveMembersOnly = a})++-- | Whether the options to copy, print, or download files inside this shared+-- drive, should be disabled for readers and commenters. When this+-- restriction is set to true, it will override the similarly named field+-- to true for any file inside this shared drive.+drCopyRequiresWriterPermission :: Lens' DriveRestrictions (Maybe Bool)+drCopyRequiresWriterPermission+  = lens _drCopyRequiresWriterPermission+      (\ s a -> s{_drCopyRequiresWriterPermission = a})++-- | Whether access to this shared drive and items inside this shared drive+-- is restricted to users of the domain to which this shared drive belongs.+-- This restriction may be overridden by other sharing policies controlled+-- outside of this shared drive.+drDomainUsersOnly :: Lens' DriveRestrictions (Maybe Bool)+drDomainUsersOnly+  = lens _drDomainUsersOnly+      (\ s a -> s{_drDomainUsersOnly = a})++instance FromJSON DriveRestrictions where+        parseJSON+          = withObject "DriveRestrictions"+              (\ o ->+                 DriveRestrictions' <$>+                   (o .:? "adminManagedRestrictions") <*>+                     (o .:? "driveMembersOnly")+                     <*> (o .:? "copyRequiresWriterPermission")+                     <*> (o .:? "domainUsersOnly"))++instance ToJSON DriveRestrictions where+        toJSON DriveRestrictions'{..}+          = object+              (catMaybes+                 [("adminManagedRestrictions" .=) <$>+                    _drAdminManagedRestrictions,+                  ("driveMembersOnly" .=) <$> _drDriveMembersOnly,+                  ("copyRequiresWriterPermission" .=) <$>+                    _drCopyRequiresWriterPermission,+                  ("domainUsersOnly" .=) <$> _drDomainUsersOnly])++-- | The metadata for a file.+--+-- /See:/ 'file' smart constructor.+data File =+  File'+    { _fOwnedByMe                    :: !(Maybe Bool)+    , _fThumbnailLink                :: !(Maybe Text)+    , _fFullFileExtension            :: !(Maybe Text)+    , _fModifiedTime                 :: !(Maybe DateTime')+    , _fModifiedByMeTime             :: !(Maybe DateTime')+    , _fFileExtension                :: !(Maybe Text)+    , _fViewedByMe                   :: !(Maybe Bool)+    , _fOwners                       :: !(Maybe [User])+    , _fViewedByMeTime               :: !(Maybe DateTime')+    , _fModifiedByMe                 :: !(Maybe Bool)+    , _fSize                         :: !(Maybe (Textual Int64))+    , _fTrashed                      :: !(Maybe Bool)+    , _fWebViewLink                  :: !(Maybe Text)+    , _fCreatedTime                  :: !(Maybe DateTime')+    , _fTrashedTime                  :: !(Maybe DateTime')+    , _fOriginalFilename             :: !(Maybe Text)+    , _fKind                         :: !Text+    , _fLastModifyingUser            :: !(Maybe User)+    , _fIconLink                     :: !(Maybe Text)+    , _fHasThumbnail                 :: !(Maybe Bool)+    , _fThumbnailVersion             :: !(Maybe (Textual Int64))+    , _fImageMediaMetadata           :: !(Maybe FileImageMediaMetadata)+    , _fExplicitlyTrashed            :: !(Maybe Bool)+    , _fShared                       :: !(Maybe Bool)+    , _fMD5Checksum                  :: !(Maybe Text)+    , _fTeamDriveId                  :: !(Maybe Text)+    , _fFolderColorRgb               :: !(Maybe Text)+    , _fMimeType                     :: !(Maybe Text)+    , _fIsAppAuthorized              :: !(Maybe Bool)+    , _fCopyRequiresWriterPermission :: !(Maybe Bool)+    , _fName                         :: !(Maybe Text)+    , _fExportLinks                  :: !(Maybe FileExportLinks)+    , _fParents                      :: !(Maybe [Text])+    , _fStarred                      :: !(Maybe Bool)+    , _fSpaces                       :: !(Maybe [Text])+    , _fVersion                      :: !(Maybe (Textual Int64))+    , _fHasAugmentedPermissions      :: !(Maybe Bool)+    , _fWritersCanShare              :: !(Maybe Bool)+    , _fTrashingUser                 :: !(Maybe User)+    , _fId                           :: !(Maybe Text)+    , _fPermissionIds                :: !(Maybe [Text])+    , _fPermissions                  :: !(Maybe [Permission])+    , _fQuotaBytesUsed               :: !(Maybe (Textual Int64))+    , _fAppProperties                :: !(Maybe FileAppProperties)+    , _fVideoMediaMetadata           :: !(Maybe FileVideoMediaMetadata)+    , _fSharedWithMeTime             :: !(Maybe DateTime')+    , _fHeadRevisionId               :: !(Maybe Text)+    , _fCapabilities                 :: !(Maybe FileCapabilities)+    , _fDescription                  :: !(Maybe Text)+    , _fViewersCanCopyContent        :: !(Maybe Bool)+    , _fDriveId                      :: !(Maybe Text)+    , _fSharingUser                  :: !(Maybe User)+    , _fWebContentLink               :: !(Maybe Text)+    , _fContentHints                 :: !(Maybe FileContentHints)+    , _fProperties                   :: !(Maybe FileProperties)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'File' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fOwnedByMe'+--+-- * 'fThumbnailLink'+--+-- * 'fFullFileExtension'+--+-- * 'fModifiedTime'+--+-- * 'fModifiedByMeTime'+--+-- * 'fFileExtension'+--+-- * 'fViewedByMe'+--+-- * 'fOwners'+--+-- * 'fViewedByMeTime'+--+-- * 'fModifiedByMe'+--+-- * 'fSize'+--+-- * 'fTrashed'+--+-- * 'fWebViewLink'+--+-- * 'fCreatedTime'+--+-- * 'fTrashedTime'+--+-- * 'fOriginalFilename'+--+-- * 'fKind'+--+-- * 'fLastModifyingUser'+--+-- * 'fIconLink'+--+-- * 'fHasThumbnail'+--+-- * 'fThumbnailVersion'+--+-- * 'fImageMediaMetadata'+--+-- * 'fExplicitlyTrashed'+--+-- * 'fShared'+--+-- * 'fMD5Checksum'+--+-- * 'fTeamDriveId'+--+-- * 'fFolderColorRgb'+--+-- * 'fMimeType'+--+-- * 'fIsAppAuthorized'+--+-- * 'fCopyRequiresWriterPermission'+--+-- * 'fName'+--+-- * 'fExportLinks'+--+-- * 'fParents'+--+-- * 'fStarred'+--+-- * 'fSpaces'+--+-- * 'fVersion'+--+-- * 'fHasAugmentedPermissions'+--+-- * 'fWritersCanShare'+--+-- * 'fTrashingUser'+--+-- * 'fId'+--+-- * 'fPermissionIds'+--+-- * 'fPermissions'+--+-- * 'fQuotaBytesUsed'+--+-- * 'fAppProperties'+--+-- * 'fVideoMediaMetadata'+--+-- * 'fSharedWithMeTime'+--+-- * 'fHeadRevisionId'+--+-- * 'fCapabilities'+--+-- * 'fDescription'+--+-- * 'fViewersCanCopyContent'+--+-- * 'fDriveId'+--+-- * 'fSharingUser'+--+-- * 'fWebContentLink'+--+-- * 'fContentHints'+--+-- * 'fProperties'+file+    :: File+file =+  File'+    { _fOwnedByMe = Nothing+    , _fThumbnailLink = Nothing+    , _fFullFileExtension = Nothing+    , _fModifiedTime = Nothing+    , _fModifiedByMeTime = Nothing+    , _fFileExtension = Nothing+    , _fViewedByMe = Nothing+    , _fOwners = Nothing+    , _fViewedByMeTime = Nothing+    , _fModifiedByMe = Nothing+    , _fSize = Nothing+    , _fTrashed = Nothing+    , _fWebViewLink = Nothing+    , _fCreatedTime = Nothing+    , _fTrashedTime = Nothing+    , _fOriginalFilename = Nothing+    , _fKind = "drive#file"+    , _fLastModifyingUser = Nothing+    , _fIconLink = Nothing+    , _fHasThumbnail = Nothing+    , _fThumbnailVersion = Nothing+    , _fImageMediaMetadata = Nothing+    , _fExplicitlyTrashed = Nothing+    , _fShared = Nothing+    , _fMD5Checksum = Nothing+    , _fTeamDriveId = Nothing+    , _fFolderColorRgb = Nothing+    , _fMimeType = Nothing+    , _fIsAppAuthorized = Nothing+    , _fCopyRequiresWriterPermission = Nothing+    , _fName = Nothing+    , _fExportLinks = Nothing+    , _fParents = Nothing+    , _fStarred = Nothing+    , _fSpaces = Nothing+    , _fVersion = Nothing+    , _fHasAugmentedPermissions = Nothing+    , _fWritersCanShare = Nothing+    , _fTrashingUser = Nothing+    , _fId = Nothing+    , _fPermissionIds = Nothing+    , _fPermissions = Nothing+    , _fQuotaBytesUsed = Nothing+    , _fAppProperties = Nothing+    , _fVideoMediaMetadata = Nothing+    , _fSharedWithMeTime = Nothing+    , _fHeadRevisionId = Nothing+    , _fCapabilities = Nothing+    , _fDescription = Nothing+    , _fViewersCanCopyContent = Nothing+    , _fDriveId = Nothing+    , _fSharingUser = Nothing+    , _fWebContentLink = Nothing+    , _fContentHints = Nothing+    , _fProperties = Nothing+    }+++-- | Whether the user owns the file. Not populated for items in shared+-- drives.+fOwnedByMe :: Lens' File (Maybe Bool)+fOwnedByMe+  = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})++-- | A short-lived link to the file\'s thumbnail, if available. Typically+-- lasts on the order of hours. Only populated when the requesting app can+-- access the file\'s content.+fThumbnailLink :: Lens' File (Maybe Text)+fThumbnailLink+  = lens _fThumbnailLink+      (\ s a -> s{_fThumbnailLink = a})++-- | The full file extension extracted from the name field. May contain+-- multiple concatenated extensions, such as \"tar.gz\". This is only+-- available for files with binary content in Google Drive. This is+-- automatically updated when the name field changes, however it is not+-- cleared if the new name does not contain a valid extension.+fFullFileExtension :: Lens' File (Maybe Text)+fFullFileExtension+  = lens _fFullFileExtension+      (\ s a -> s{_fFullFileExtension = a})++-- | The last time the file was modified by anyone (RFC 3339 date-time). Note+-- that setting modifiedTime will also update modifiedByMeTime for the+-- user.+fModifiedTime :: Lens' File (Maybe UTCTime)+fModifiedTime+  = lens _fModifiedTime+      (\ s a -> s{_fModifiedTime = a})+      . mapping _DateTime++-- | The last time the file was modified by the user (RFC 3339 date-time).+fModifiedByMeTime :: Lens' File (Maybe UTCTime)+fModifiedByMeTime+  = lens _fModifiedByMeTime+      (\ s a -> s{_fModifiedByMeTime = a})+      . mapping _DateTime++-- | The final component of fullFileExtension. This is only available for+-- files with binary content in Google Drive.+fFileExtension :: Lens' File (Maybe Text)+fFileExtension+  = lens _fFileExtension+      (\ s a -> s{_fFileExtension = a})++-- | Whether the file has been viewed by this user.+fViewedByMe :: Lens' File (Maybe Bool)+fViewedByMe+  = lens _fViewedByMe (\ s a -> s{_fViewedByMe = a})++-- | The owners of the file. Currently, only certain legacy files may have+-- more than one owner. Not populated for items in shared drives.+fOwners :: Lens' File [User]+fOwners+  = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default+      . _Coerce++-- | The last time the file was viewed by the user (RFC 3339 date-time).+fViewedByMeTime :: Lens' File (Maybe UTCTime)+fViewedByMeTime+  = lens _fViewedByMeTime+      (\ s a -> s{_fViewedByMeTime = a})+      . mapping _DateTime++-- | Whether the file has been modified by this user.+fModifiedByMe :: Lens' File (Maybe Bool)+fModifiedByMe+  = lens _fModifiedByMe+      (\ s a -> s{_fModifiedByMe = a})++-- | The size of the file\'s content in bytes. This is only applicable to+-- files with binary content in Google Drive.+fSize :: Lens' File (Maybe Int64)+fSize+  = lens _fSize (\ s a -> s{_fSize = a}) .+      mapping _Coerce++-- | Whether the file has been trashed, either explicitly or from a trashed+-- parent folder. Only the owner may trash a file, and other users cannot+-- see files in the owner\'s trash.+fTrashed :: Lens' File (Maybe Bool)+fTrashed = lens _fTrashed (\ s a -> s{_fTrashed = a})++-- | A link for opening the file in a relevant Google editor or viewer in a+-- browser.+fWebViewLink :: Lens' File (Maybe Text)+fWebViewLink+  = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})++-- | The time at which the file was created (RFC 3339 date-time).+fCreatedTime :: Lens' File (Maybe UTCTime)+fCreatedTime+  = lens _fCreatedTime (\ s a -> s{_fCreatedTime = a})+      . mapping _DateTime++-- | The time that the item was trashed (RFC 3339 date-time). Only populated+-- for items in shared drives.+fTrashedTime :: Lens' File (Maybe UTCTime)+fTrashedTime+  = lens _fTrashedTime (\ s a -> s{_fTrashedTime = a})+      . mapping _DateTime++-- | The original filename of the uploaded content if available, or else the+-- original value of the name field. This is only available for files with+-- binary content in Google Drive.+fOriginalFilename :: Lens' File (Maybe Text)+fOriginalFilename+  = lens _fOriginalFilename+      (\ s a -> s{_fOriginalFilename = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#file\".+fKind :: Lens' File Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | The last user to modify the file.+fLastModifyingUser :: Lens' File (Maybe User)+fLastModifyingUser+  = lens _fLastModifyingUser+      (\ s a -> s{_fLastModifyingUser = a})++-- | A static, unauthenticated link to the file\'s icon.+fIconLink :: Lens' File (Maybe Text)+fIconLink+  = lens _fIconLink (\ s a -> s{_fIconLink = a})++-- | Whether this file has a thumbnail. This does not indicate whether the+-- requesting app has access to the thumbnail. To check access, look for+-- the presence of the thumbnailLink field.+fHasThumbnail :: Lens' File (Maybe Bool)+fHasThumbnail+  = lens _fHasThumbnail+      (\ s a -> s{_fHasThumbnail = a})++-- | The thumbnail version for use in thumbnail cache invalidation.+fThumbnailVersion :: Lens' File (Maybe Int64)+fThumbnailVersion+  = lens _fThumbnailVersion+      (\ s a -> s{_fThumbnailVersion = a})+      . mapping _Coerce++-- | Additional metadata about image media, if available.+fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)+fImageMediaMetadata+  = lens _fImageMediaMetadata+      (\ s a -> s{_fImageMediaMetadata = a})++-- | Whether the file has been explicitly trashed, as opposed to recursively+-- trashed from a parent folder.+fExplicitlyTrashed :: Lens' File (Maybe Bool)+fExplicitlyTrashed+  = lens _fExplicitlyTrashed+      (\ s a -> s{_fExplicitlyTrashed = a})++-- | Whether the file has been shared. Not populated for items in shared+-- drives.+fShared :: Lens' File (Maybe Bool)+fShared = lens _fShared (\ s a -> s{_fShared = a})++-- | The MD5 checksum for the content of the file. This is only applicable to+-- files with binary content in Google Drive.+fMD5Checksum :: Lens' File (Maybe Text)+fMD5Checksum+  = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})++-- | Deprecated - use driveId instead.+fTeamDriveId :: Lens' File (Maybe Text)+fTeamDriveId+  = lens _fTeamDriveId (\ s a -> s{_fTeamDriveId = a})++-- | The color for a folder as an RGB hex string. The supported colors are+-- published in the folderColorPalette field of the About resource. If an+-- unsupported color is specified, the closest color in the palette will be+-- used instead.+fFolderColorRgb :: Lens' File (Maybe Text)+fFolderColorRgb+  = lens _fFolderColorRgb+      (\ s a -> s{_fFolderColorRgb = a})++-- | The MIME type of the file. Google Drive will attempt to automatically+-- detect an appropriate value from uploaded content if no value is+-- provided. The value cannot be changed unless a new revision is uploaded.+-- If a file is created with a Google Doc MIME type, the uploaded content+-- will be imported if possible. The supported import formats are published+-- in the About resource.+fMimeType :: Lens' File (Maybe Text)+fMimeType+  = lens _fMimeType (\ s a -> s{_fMimeType = a})++-- | Whether the file was created or opened by the requesting app.+fIsAppAuthorized :: Lens' File (Maybe Bool)+fIsAppAuthorized+  = lens _fIsAppAuthorized+      (\ s a -> s{_fIsAppAuthorized = a})++-- | Whether the options to copy, print, or download this file, should be+-- disabled for readers and commenters.+fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)+fCopyRequiresWriterPermission+  = lens _fCopyRequiresWriterPermission+      (\ s a -> s{_fCopyRequiresWriterPermission = a})++-- | The name of the file. This is not necessarily unique within a folder.+-- Note that for immutable items such as the top level folders of shared+-- drives, My Drive root folder, and Application Data folder the name is+-- constant.+fName :: Lens' File (Maybe Text)+fName = lens _fName (\ s a -> s{_fName = a})++-- | Links for exporting Google Docs to specific formats.+fExportLinks :: Lens' File (Maybe FileExportLinks)+fExportLinks+  = lens _fExportLinks (\ s a -> s{_fExportLinks = a})++-- | The IDs of the parent folders which contain the file. If not specified+-- as part of a create request, the file will be placed directly in the+-- user\'s My Drive folder. If not specified as part of a copy request, the+-- file will inherit any discoverable parents of the source file. Update+-- requests must use the addParents and removeParents parameters to modify+-- the parents list.+fParents :: Lens' File [Text]+fParents+  = lens _fParents (\ s a -> s{_fParents = a}) .+      _Default+      . _Coerce++-- | Whether the user has starred the file.+fStarred :: Lens' File (Maybe Bool)+fStarred = lens _fStarred (\ s a -> s{_fStarred = a})++-- | The list of spaces which contain the file. The currently supported+-- values are \'drive\', \'appDataFolder\' and \'photos\'.+fSpaces :: Lens' File [Text]+fSpaces+  = lens _fSpaces (\ s a -> s{_fSpaces = a}) . _Default+      . _Coerce++-- | A monotonically increasing version number for the file. This reflects+-- every change made to the file on the server, even those not visible to+-- the user.+fVersion :: Lens' File (Maybe Int64)+fVersion+  = lens _fVersion (\ s a -> s{_fVersion = a}) .+      mapping _Coerce++-- | Whether any users are granted file access directly on this file. This+-- field is only populated for shared drive files.+fHasAugmentedPermissions :: Lens' File (Maybe Bool)+fHasAugmentedPermissions+  = lens _fHasAugmentedPermissions+      (\ s a -> s{_fHasAugmentedPermissions = a})++-- | Whether users with only writer permission can modify the file\'s+-- permissions. Not populated for items in shared drives.+fWritersCanShare :: Lens' File (Maybe Bool)+fWritersCanShare+  = lens _fWritersCanShare+      (\ s a -> s{_fWritersCanShare = a})++-- | If the file has been explicitly trashed, the user who trashed it. Only+-- populated for items in shared drives.+fTrashingUser :: Lens' File (Maybe User)+fTrashingUser+  = lens _fTrashingUser+      (\ s a -> s{_fTrashingUser = a})++-- | The ID of the file.+fId :: Lens' File (Maybe Text)+fId = lens _fId (\ s a -> s{_fId = a})++-- | List of permission IDs for users with access to this file.+fPermissionIds :: Lens' File [Text]+fPermissionIds+  = lens _fPermissionIds+      (\ s a -> s{_fPermissionIds = a})+      . _Default+      . _Coerce++-- | The full list of permissions for the file. This is only available if the+-- requesting user can share the file. Not populated for items in shared+-- drives.+fPermissions :: Lens' File [Permission]+fPermissions+  = lens _fPermissions (\ s a -> s{_fPermissions = a})+      . _Default+      . _Coerce++-- | The number of storage quota bytes used by the file. This includes the+-- head revision as well as previous revisions with keepForever enabled.+fQuotaBytesUsed :: Lens' File (Maybe Int64)+fQuotaBytesUsed+  = lens _fQuotaBytesUsed+      (\ s a -> s{_fQuotaBytesUsed = a})+      . mapping _Coerce++-- | A collection of arbitrary key-value pairs which are private to the+-- requesting app. Entries with null values are cleared in update and copy+-- requests.+fAppProperties :: Lens' File (Maybe FileAppProperties)+fAppProperties+  = lens _fAppProperties+      (\ s a -> s{_fAppProperties = a})++-- | Additional metadata about video media. This may not be available+-- immediately upon upload.+fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)+fVideoMediaMetadata+  = lens _fVideoMediaMetadata+      (\ s a -> s{_fVideoMediaMetadata = a})++-- | The time at which the file was shared with the user, if applicable (RFC+-- 3339 date-time).+fSharedWithMeTime :: Lens' File (Maybe UTCTime)+fSharedWithMeTime+  = lens _fSharedWithMeTime+      (\ s a -> s{_fSharedWithMeTime = a})+      . mapping _DateTime++-- | The ID of the file\'s head revision. This is currently only available+-- for files with binary content in Google Drive.+fHeadRevisionId :: Lens' File (Maybe Text)+fHeadRevisionId+  = lens _fHeadRevisionId+      (\ s a -> s{_fHeadRevisionId = a})++-- | Capabilities the current user has on this file. Each capability+-- corresponds to a fine-grained action that a user may take.+fCapabilities :: Lens' File (Maybe FileCapabilities)+fCapabilities+  = lens _fCapabilities+      (\ s a -> s{_fCapabilities = a})++-- | A short description of the file.+fDescription :: Lens' File (Maybe Text)+fDescription+  = lens _fDescription (\ s a -> s{_fDescription = a})++-- | Deprecated - use copyRequiresWriterPermission instead.+fViewersCanCopyContent :: Lens' File (Maybe Bool)+fViewersCanCopyContent+  = lens _fViewersCanCopyContent+      (\ s a -> s{_fViewersCanCopyContent = a})++-- | ID of the shared drive the file resides in. Only populated for items in+-- shared drives.+fDriveId :: Lens' File (Maybe Text)+fDriveId = lens _fDriveId (\ s a -> s{_fDriveId = a})++-- | The user who shared the file with the requesting user, if applicable.+fSharingUser :: Lens' File (Maybe User)+fSharingUser+  = lens _fSharingUser (\ s a -> s{_fSharingUser = a})++-- | A link for downloading the content of the file in a browser. This is+-- only available for files with binary content in Google Drive.+fWebContentLink :: Lens' File (Maybe Text)+fWebContentLink+  = lens _fWebContentLink+      (\ s a -> s{_fWebContentLink = a})++-- | Additional information about the content of the file. These fields are+-- never populated in responses.+fContentHints :: Lens' File (Maybe FileContentHints)+fContentHints+  = lens _fContentHints+      (\ s a -> s{_fContentHints = a})++-- | A collection of arbitrary key-value pairs which are visible to all apps.+-- Entries with null values are cleared in update and copy requests.+fProperties :: Lens' File (Maybe FileProperties)+fProperties+  = lens _fProperties (\ s a -> s{_fProperties = a})++instance FromJSON File where+        parseJSON+          = withObject "File"+              (\ o ->+                 File' <$>+                   (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>+                     (o .:? "fullFileExtension")+                     <*> (o .:? "modifiedTime")+                     <*> (o .:? "modifiedByMeTime")+                     <*> (o .:? "fileExtension")+                     <*> (o .:? "viewedByMe")+                     <*> (o .:? "owners" .!= mempty)+                     <*> (o .:? "viewedByMeTime")+                     <*> (o .:? "modifiedByMe")+                     <*> (o .:? "size")+                     <*> (o .:? "trashed")+                     <*> (o .:? "webViewLink")+                     <*> (o .:? "createdTime")+                     <*> (o .:? "trashedTime")+                     <*> (o .:? "originalFilename")+                     <*> (o .:? "kind" .!= "drive#file")+                     <*> (o .:? "lastModifyingUser")+                     <*> (o .:? "iconLink")+                     <*> (o .:? "hasThumbnail")+                     <*> (o .:? "thumbnailVersion")+                     <*> (o .:? "imageMediaMetadata")+                     <*> (o .:? "explicitlyTrashed")+                     <*> (o .:? "shared")+                     <*> (o .:? "md5Checksum")+                     <*> (o .:? "teamDriveId")+                     <*> (o .:? "folderColorRgb")+                     <*> (o .:? "mimeType")+                     <*> (o .:? "isAppAuthorized")+                     <*> (o .:? "copyRequiresWriterPermission")+                     <*> (o .:? "name")+                     <*> (o .:? "exportLinks")+                     <*> (o .:? "parents" .!= mempty)+                     <*> (o .:? "starred")+                     <*> (o .:? "spaces" .!= mempty)+                     <*> (o .:? "version")+                     <*> (o .:? "hasAugmentedPermissions")+                     <*> (o .:? "writersCanShare")+                     <*> (o .:? "trashingUser")+                     <*> (o .:? "id")+                     <*> (o .:? "permissionIds" .!= mempty)+                     <*> (o .:? "permissions" .!= mempty)+                     <*> (o .:? "quotaBytesUsed")+                     <*> (o .:? "appProperties")+                     <*> (o .:? "videoMediaMetadata")+                     <*> (o .:? "sharedWithMeTime")+                     <*> (o .:? "headRevisionId")+                     <*> (o .:? "capabilities")+                     <*> (o .:? "description")+                     <*> (o .:? "viewersCanCopyContent")+                     <*> (o .:? "driveId")+                     <*> (o .:? "sharingUser")+                     <*> (o .:? "webContentLink")+                     <*> (o .:? "contentHints")+                     <*> (o .:? "properties"))++instance ToJSON File where+        toJSON File'{..}+          = object+              (catMaybes+                 [("ownedByMe" .=) <$> _fOwnedByMe,+                  ("thumbnailLink" .=) <$> _fThumbnailLink,+                  ("fullFileExtension" .=) <$> _fFullFileExtension,+                  ("modifiedTime" .=) <$> _fModifiedTime,+                  ("modifiedByMeTime" .=) <$> _fModifiedByMeTime,+                  ("fileExtension" .=) <$> _fFileExtension,+                  ("viewedByMe" .=) <$> _fViewedByMe,+                  ("owners" .=) <$> _fOwners,+                  ("viewedByMeTime" .=) <$> _fViewedByMeTime,+                  ("modifiedByMe" .=) <$> _fModifiedByMe,+                  ("size" .=) <$> _fSize, ("trashed" .=) <$> _fTrashed,+                  ("webViewLink" .=) <$> _fWebViewLink,+                  ("createdTime" .=) <$> _fCreatedTime,+                  ("trashedTime" .=) <$> _fTrashedTime,+                  ("originalFilename" .=) <$> _fOriginalFilename,+                  Just ("kind" .= _fKind),+                  ("lastModifyingUser" .=) <$> _fLastModifyingUser,+                  ("iconLink" .=) <$> _fIconLink,+                  ("hasThumbnail" .=) <$> _fHasThumbnail,+                  ("thumbnailVersion" .=) <$> _fThumbnailVersion,+                  ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,+                  ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,+                  ("shared" .=) <$> _fShared,+                  ("md5Checksum" .=) <$> _fMD5Checksum,+                  ("teamDriveId" .=) <$> _fTeamDriveId,+                  ("folderColorRgb" .=) <$> _fFolderColorRgb,+                  ("mimeType" .=) <$> _fMimeType,+                  ("isAppAuthorized" .=) <$> _fIsAppAuthorized,+                  ("copyRequiresWriterPermission" .=) <$>+                    _fCopyRequiresWriterPermission,+                  ("name" .=) <$> _fName,+                  ("exportLinks" .=) <$> _fExportLinks,+                  ("parents" .=) <$> _fParents,+                  ("starred" .=) <$> _fStarred,+                  ("spaces" .=) <$> _fSpaces,+                  ("version" .=) <$> _fVersion,+                  ("hasAugmentedPermissions" .=) <$>+                    _fHasAugmentedPermissions,+                  ("writersCanShare" .=) <$> _fWritersCanShare,+                  ("trashingUser" .=) <$> _fTrashingUser,+                  ("id" .=) <$> _fId,+                  ("permissionIds" .=) <$> _fPermissionIds,+                  ("permissions" .=) <$> _fPermissions,+                  ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,+                  ("appProperties" .=) <$> _fAppProperties,+                  ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,+                  ("sharedWithMeTime" .=) <$> _fSharedWithMeTime,+                  ("headRevisionId" .=) <$> _fHeadRevisionId,+                  ("capabilities" .=) <$> _fCapabilities,+                  ("description" .=) <$> _fDescription,+                  ("viewersCanCopyContent" .=) <$>+                    _fViewersCanCopyContent,+                  ("driveId" .=) <$> _fDriveId,+                  ("sharingUser" .=) <$> _fSharingUser,+                  ("webContentLink" .=) <$> _fWebContentLink,+                  ("contentHints" .=) <$> _fContentHints,+                  ("properties" .=) <$> _fProperties])++--+-- /See:/ 'aboutDriveThemesItem' smart constructor.+data AboutDriveThemesItem =+  AboutDriveThemesItem'+    { _adtiColorRgb            :: !(Maybe Text)+    , _adtiBackgRoundImageLink :: !(Maybe Text)+    , _adtiId                  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AboutDriveThemesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adtiColorRgb'+--+-- * 'adtiBackgRoundImageLink'+--+-- * 'adtiId'+aboutDriveThemesItem+    :: AboutDriveThemesItem+aboutDriveThemesItem =+  AboutDriveThemesItem'+    { _adtiColorRgb = Nothing+    , _adtiBackgRoundImageLink = Nothing+    , _adtiId = Nothing+    }+++-- | The color of this theme as an RGB hex string.+adtiColorRgb :: Lens' AboutDriveThemesItem (Maybe Text)+adtiColorRgb+  = lens _adtiColorRgb (\ s a -> s{_adtiColorRgb = a})++-- | A link to this theme\'s background image.+adtiBackgRoundImageLink :: Lens' AboutDriveThemesItem (Maybe Text)+adtiBackgRoundImageLink+  = lens _adtiBackgRoundImageLink+      (\ s a -> s{_adtiBackgRoundImageLink = a})++-- | The ID of the theme.+adtiId :: Lens' AboutDriveThemesItem (Maybe Text)+adtiId = lens _adtiId (\ s a -> s{_adtiId = a})++instance FromJSON AboutDriveThemesItem where+        parseJSON+          = withObject "AboutDriveThemesItem"+              (\ o ->+                 AboutDriveThemesItem' <$>+                   (o .:? "colorRgb") <*> (o .:? "backgroundImageLink")+                     <*> (o .:? "id"))++instance ToJSON AboutDriveThemesItem where+        toJSON AboutDriveThemesItem'{..}+          = object+              (catMaybes+                 [("colorRgb" .=) <$> _adtiColorRgb,+                  ("backgroundImageLink" .=) <$>+                    _adtiBackgRoundImageLink,+                  ("id" .=) <$> _adtiId])++--+-- /See:/ 'permissionTeamDrivePermissionDetailsItem' smart constructor.+data PermissionTeamDrivePermissionDetailsItem =+  PermissionTeamDrivePermissionDetailsItem'+    { _ptdpdiInherited               :: !(Maybe Bool)+    , _ptdpdiTeamDrivePermissionType :: !(Maybe Text)+    , _ptdpdiRole                    :: !(Maybe Text)+    , _ptdpdiInheritedFrom           :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PermissionTeamDrivePermissionDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptdpdiInherited'+--+-- * 'ptdpdiTeamDrivePermissionType'+--+-- * 'ptdpdiRole'+--+-- * 'ptdpdiInheritedFrom'+permissionTeamDrivePermissionDetailsItem+    :: PermissionTeamDrivePermissionDetailsItem+permissionTeamDrivePermissionDetailsItem =+  PermissionTeamDrivePermissionDetailsItem'+    { _ptdpdiInherited = Nothing+    , _ptdpdiTeamDrivePermissionType = Nothing+    , _ptdpdiRole = Nothing+    , _ptdpdiInheritedFrom = Nothing+    }+++-- | Whether this permission is inherited. This field is always populated.+-- This is an output-only field.+ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)+ptdpdiInherited+  = lens _ptdpdiInherited+      (\ s a -> s{_ptdpdiInherited = a})++-- | The Team Drive permission type for this user. While new values may be+-- added in future, the following are currently possible: - file - member+ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiTeamDrivePermissionType+  = lens _ptdpdiTeamDrivePermissionType+      (\ s a -> s{_ptdpdiTeamDrivePermissionType = a})++-- | The primary role for this user. While new values may be added in the+-- future, the following are currently possible: - organizer -+-- fileOrganizer - writer - commenter - reader+ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiRole+  = lens _ptdpdiRole (\ s a -> s{_ptdpdiRole = a})++-- | The ID of the item from which this permission is inherited. This is an+-- output-only field and is only populated for members of the Team Drive.+ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)+ptdpdiInheritedFrom+  = lens _ptdpdiInheritedFrom+      (\ s a -> s{_ptdpdiInheritedFrom = a})++instance FromJSON+           PermissionTeamDrivePermissionDetailsItem+         where+        parseJSON+          = withObject+              "PermissionTeamDrivePermissionDetailsItem"+              (\ o ->+                 PermissionTeamDrivePermissionDetailsItem' <$>+                   (o .:? "inherited") <*>+                     (o .:? "teamDrivePermissionType")+                     <*> (o .:? "role")+                     <*> (o .:? "inheritedFrom"))++instance ToJSON+           PermissionTeamDrivePermissionDetailsItem+         where+        toJSON PermissionTeamDrivePermissionDetailsItem'{..}+          = object+              (catMaybes+                 [("inherited" .=) <$> _ptdpdiInherited,+                  ("teamDrivePermissionType" .=) <$>+                    _ptdpdiTeamDrivePermissionType,+                  ("role" .=) <$> _ptdpdiRole,+                  ("inheritedFrom" .=) <$> _ptdpdiInheritedFrom])++-- | A list of shared drives.+--+-- /See:/ 'driveList' smart constructor.+data DriveList =+  DriveList'+    { _dlNextPageToken :: !(Maybe Text)+    , _dlKind          :: !Text+    , _dlDrives        :: !(Maybe [Drive])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DriveList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlNextPageToken'+--+-- * 'dlKind'+--+-- * 'dlDrives'+driveList+    :: DriveList+driveList =+  DriveList'+    { _dlNextPageToken = Nothing+    , _dlKind = "drive#driveList"+    , _dlDrives = Nothing+    }+++-- | The page token for the next page of shared drives. This will be absent+-- if the end of the list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+dlNextPageToken :: Lens' DriveList (Maybe Text)+dlNextPageToken+  = lens _dlNextPageToken+      (\ s a -> s{_dlNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#driveList\".+dlKind :: Lens' DriveList Text+dlKind = lens _dlKind (\ s a -> s{_dlKind = a})++-- | The list of shared drives. If nextPageToken is populated, then this list+-- may be incomplete and an additional page of results should be fetched.+dlDrives :: Lens' DriveList [Drive]+dlDrives+  = lens _dlDrives (\ s a -> s{_dlDrives = a}) .+      _Default+      . _Coerce++instance FromJSON DriveList where+        parseJSON+          = withObject "DriveList"+              (\ o ->+                 DriveList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "drive#driveList")+                     <*> (o .:? "drives" .!= mempty))++instance ToJSON DriveList where+        toJSON DriveList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _dlNextPageToken,+                  Just ("kind" .= _dlKind),+                  ("drives" .=) <$> _dlDrives])++-- | A list of generated file IDs which can be provided in create requests.+--+-- /See:/ 'generatedIds' smart constructor.+data GeneratedIds =+  GeneratedIds'+    { _giSpace :: !(Maybe Text)+    , _giKind  :: !Text+    , _giIds   :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GeneratedIds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giSpace'+--+-- * 'giKind'+--+-- * 'giIds'+generatedIds+    :: GeneratedIds+generatedIds =+  GeneratedIds'+    {_giSpace = Nothing, _giKind = "drive#generatedIds", _giIds = Nothing}+++-- | The type of file that can be created with these IDs.+giSpace :: Lens' GeneratedIds (Maybe Text)+giSpace = lens _giSpace (\ s a -> s{_giSpace = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#generatedIds\".+giKind :: Lens' GeneratedIds Text+giKind = lens _giKind (\ s a -> s{_giKind = a})++-- | The IDs generated for the requesting user in the specified space.+giIds :: Lens' GeneratedIds [Text]+giIds+  = lens _giIds (\ s a -> s{_giIds = a}) . _Default .+      _Coerce++instance FromJSON GeneratedIds where+        parseJSON+          = withObject "GeneratedIds"+              (\ o ->+                 GeneratedIds' <$>+                   (o .:? "space") <*>+                     (o .:? "kind" .!= "drive#generatedIds")+                     <*> (o .:? "ids" .!= mempty))++instance ToJSON GeneratedIds where+        toJSON GeneratedIds'{..}+          = object+              (catMaybes+                 [("space" .=) <$> _giSpace, Just ("kind" .= _giKind),+                  ("ids" .=) <$> _giIds])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'fileExportLinks' smart constructor.+newtype FileExportLinks =+  FileExportLinks'+    { _felAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FileExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'felAddtional'+fileExportLinks+    :: HashMap Text Text -- ^ 'felAddtional'+    -> FileExportLinks+fileExportLinks pFelAddtional_ =+  FileExportLinks' {_felAddtional = _Coerce # pFelAddtional_}+++-- | A mapping from export format to URL+felAddtional :: Lens' FileExportLinks (HashMap Text Text)+felAddtional+  = lens _felAddtional (\ s a -> s{_felAddtional = a})+      . _Coerce++instance FromJSON FileExportLinks where+        parseJSON+          = withObject "FileExportLinks"+              (\ o -> FileExportLinks' <$> (parseJSONObject o))++instance ToJSON FileExportLinks where+        toJSON = toJSON . _felAddtional++-- | A list of comments on a file.+--+-- /See:/ 'commentList' smart constructor.+data CommentList =+  CommentList'+    { _cllNextPageToken :: !(Maybe Text)+    , _cllKind          :: !Text+    , _cllComments      :: !(Maybe [Comment])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CommentList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllNextPageToken'+--+-- * 'cllKind'+--+-- * 'cllComments'+commentList+    :: CommentList+commentList =+  CommentList'+    { _cllNextPageToken = Nothing+    , _cllKind = "drive#commentList"+    , _cllComments = Nothing+    }+++-- | The page token for the next page of comments. This will be absent if the+-- end of the comments list has been reached. If the token is rejected for+-- any reason, it should be discarded, and pagination should be restarted+-- from the first page of results.+cllNextPageToken :: Lens' CommentList (Maybe Text)+cllNextPageToken+  = lens _cllNextPageToken+      (\ s a -> s{_cllNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#commentList\".+cllKind :: Lens' CommentList Text+cllKind = lens _cllKind (\ s a -> s{_cllKind = a})++-- | The list of comments. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+cllComments :: Lens' CommentList [Comment]+cllComments+  = lens _cllComments (\ s a -> s{_cllComments = a}) .+      _Default+      . _Coerce++instance FromJSON CommentList where+        parseJSON+          = withObject "CommentList"+              (\ o ->+                 CommentList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "drive#commentList")+                     <*> (o .:? "comments" .!= mempty))++instance ToJSON CommentList where+        toJSON CommentList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cllNextPageToken,+                  Just ("kind" .= _cllKind),+                  ("comments" .=) <$> _cllComments])++-- | A list of revisions of a file.+--+-- /See:/ 'revisionList' smart constructor.+data RevisionList =+  RevisionList'+    { _rllNextPageToken :: !(Maybe Text)+    , _rllKind          :: !Text+    , _rllRevisions     :: !(Maybe [Revision])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RevisionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllNextPageToken'+--+-- * 'rllKind'+--+-- * 'rllRevisions'+revisionList+    :: RevisionList+revisionList =+  RevisionList'+    { _rllNextPageToken = Nothing+    , _rllKind = "drive#revisionList"+    , _rllRevisions = Nothing+    }+++-- | The page token for the next page of revisions. This will be absent if+-- the end of the revisions list has been reached. If the token is rejected+-- for any reason, it should be discarded, and pagination should be+-- restarted from the first page of results.+rllNextPageToken :: Lens' RevisionList (Maybe Text)+rllNextPageToken+  = lens _rllNextPageToken+      (\ s a -> s{_rllNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#revisionList\".+rllKind :: Lens' RevisionList Text+rllKind = lens _rllKind (\ s a -> s{_rllKind = a})++-- | The list of revisions. If nextPageToken is populated, then this list may+-- be incomplete and an additional page of results should be fetched.+rllRevisions :: Lens' RevisionList [Revision]+rllRevisions+  = lens _rllRevisions (\ s a -> s{_rllRevisions = a})+      . _Default+      . _Coerce++instance FromJSON RevisionList where+        parseJSON+          = withObject "RevisionList"+              (\ o ->+                 RevisionList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "drive#revisionList")+                     <*> (o .:? "revisions" .!= mempty))++instance ToJSON RevisionList where+        toJSON RevisionList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rllNextPageToken,+                  Just ("kind" .= _rllKind),+                  ("revisions" .=) <$> _rllRevisions])++-- | A list of permissions for a file.+--+-- /See:/ 'permissionList' smart constructor.+data PermissionList =+  PermissionList'+    { _plNextPageToken :: !(Maybe Text)+    , _plKind          :: !Text+    , _plPermissions   :: !(Maybe [Permission])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PermissionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plNextPageToken'+--+-- * 'plKind'+--+-- * 'plPermissions'+permissionList+    :: PermissionList+permissionList =+  PermissionList'+    { _plNextPageToken = Nothing+    , _plKind = "drive#permissionList"+    , _plPermissions = Nothing+    }+  -- | The page token for the next page of permissions. This field will be -- absent if the end of the permissions list has been reached. If the token
gen/Network/Google/Resource/Drive/About/Get.hs view
@@ -51,14 +51,16 @@ -- -- /See:/ 'aboutGet' smart constructor. data AboutGet =-    AboutGet'-    deriving (Eq,Show,Data,Typeable,Generic)+  AboutGet'+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'AboutGet' with the minimum fields required to make a request. -- aboutGet     :: AboutGet aboutGet = AboutGet'+  instance GoogleRequest AboutGet where         type Rs AboutGet = About
gen/Network/Google/Resource/Drive/Changes/GetStartPageToken.hs view
@@ -34,7 +34,9 @@      -- * Request Lenses     , cgsptTeamDriveId+    , cgsptSupportsAllDrives     , cgsptSupportsTeamDrives+    , cgsptDriveId     ) where  import           Network.Google.Drive.Types@@ -48,46 +50,72 @@          "changes" :>            "startPageToken" :>              QueryParam "teamDriveId" Text :>-               QueryParam "supportsTeamDrives" Bool :>-                 QueryParam "alt" AltJSON :>-                   Get '[JSON] StartPageToken+               QueryParam "supportsAllDrives" Bool :>+                 QueryParam "supportsTeamDrives" Bool :>+                   QueryParam "driveId" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] StartPageToken  -- | Gets the starting pageToken for listing future changes. -- -- /See:/ 'changesGetStartPageToken' smart constructor.-data ChangesGetStartPageToken = ChangesGetStartPageToken'+data ChangesGetStartPageToken =+  ChangesGetStartPageToken'     { _cgsptTeamDriveId        :: !(Maybe Text)+    , _cgsptSupportsAllDrives  :: !Bool     , _cgsptSupportsTeamDrives :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    , _cgsptDriveId            :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChangesGetStartPageToken' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cgsptTeamDriveId' --+-- * 'cgsptSupportsAllDrives'+-- -- * 'cgsptSupportsTeamDrives'+--+-- * 'cgsptDriveId' changesGetStartPageToken     :: ChangesGetStartPageToken changesGetStartPageToken =-    ChangesGetStartPageToken'+  ChangesGetStartPageToken'     { _cgsptTeamDriveId = Nothing+    , _cgsptSupportsAllDrives = False     , _cgsptSupportsTeamDrives = False+    , _cgsptDriveId = Nothing     } --- | The ID of the Team Drive for which the starting pageToken for listing--- future changes from that Team Drive will be returned.++-- | Deprecated use driveId instead. cgsptTeamDriveId :: Lens' ChangesGetStartPageToken (Maybe Text) cgsptTeamDriveId   = lens _cgsptTeamDriveId       (\ s a -> s{_cgsptTeamDriveId = a}) --- | Whether the requesting application supports Team Drives.+-- | Whether the requesting application supports both My Drives and shared+-- drives.+cgsptSupportsAllDrives :: Lens' ChangesGetStartPageToken Bool+cgsptSupportsAllDrives+  = lens _cgsptSupportsAllDrives+      (\ s a -> s{_cgsptSupportsAllDrives = a})++-- | Deprecated use supportsAllDrives instead. cgsptSupportsTeamDrives :: Lens' ChangesGetStartPageToken Bool cgsptSupportsTeamDrives   = lens _cgsptSupportsTeamDrives       (\ s a -> s{_cgsptSupportsTeamDrives = a}) +-- | The ID of the shared drive for which the starting pageToken for listing+-- future changes from that shared drive will be returned.+cgsptDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)+cgsptDriveId+  = lens _cgsptDriveId (\ s a -> s{_cgsptDriveId = a})+ instance GoogleRequest ChangesGetStartPageToken where         type Rs ChangesGetStartPageToken = StartPageToken         type Scopes ChangesGetStartPageToken =@@ -99,8 +127,9 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient ChangesGetStartPageToken'{..}-          = go _cgsptTeamDriveId+          = go _cgsptTeamDriveId (Just _cgsptSupportsAllDrives)               (Just _cgsptSupportsTeamDrives)+              _cgsptDriveId               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Changes/List.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists the changes for a user or Team Drive.+-- Lists the changes for a user or shared drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.list@. module Network.Google.Resource.Drive.Changes.List@@ -38,10 +38,13 @@     , clTeamDriveId     , clRestrictToMyDrive     , clSpaces+    , clIncludeItemsFromAllDrives+    , clSupportsAllDrives     , clPageToken     , clPageSize     , clIncludeRemoved     , clSupportsTeamDrives+    , clDriveId     ) where  import           Network.Google.Drive.Types@@ -59,26 +62,36 @@                  QueryParam "teamDriveId" Text :>                    QueryParam "restrictToMyDrive" Bool :>                      QueryParam "spaces" Text :>-                       QueryParam "pageSize" (Textual Int32) :>-                         QueryParam "includeRemoved" Bool :>-                           QueryParam "supportsTeamDrives" Bool :>-                             QueryParam "alt" AltJSON :> Get '[JSON] ChangeList+                       QueryParam "includeItemsFromAllDrives" Bool :>+                         QueryParam "supportsAllDrives" Bool :>+                           QueryParam "pageSize" (Textual Int32) :>+                             QueryParam "includeRemoved" Bool :>+                               QueryParam "supportsTeamDrives" Bool :>+                                 QueryParam "driveId" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] ChangeList --- | Lists the changes for a user or Team Drive.+-- | Lists the changes for a user or shared drive. -- -- /See:/ 'changesList' smart constructor.-data ChangesList = ChangesList'-    { _clIncludeTeamDriveItems :: !Bool-    , _clIncludeCorpusRemovals :: !Bool-    , _clTeamDriveId           :: !(Maybe Text)-    , _clRestrictToMyDrive     :: !Bool-    , _clSpaces                :: !Text-    , _clPageToken             :: !Text-    , _clPageSize              :: !(Textual Int32)-    , _clIncludeRemoved        :: !Bool-    , _clSupportsTeamDrives    :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+data ChangesList =+  ChangesList'+    { _clIncludeTeamDriveItems     :: !Bool+    , _clIncludeCorpusRemovals     :: !Bool+    , _clTeamDriveId               :: !(Maybe Text)+    , _clRestrictToMyDrive         :: !Bool+    , _clSpaces                    :: !Text+    , _clIncludeItemsFromAllDrives :: !Bool+    , _clSupportsAllDrives         :: !Bool+    , _clPageToken                 :: !Text+    , _clPageSize                  :: !(Textual Int32)+    , _clIncludeRemoved            :: !Bool+    , _clSupportsTeamDrives        :: !Bool+    , _clDriveId                   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChangesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -93,6 +106,10 @@ -- -- * 'clSpaces' --+-- * 'clIncludeItemsFromAllDrives'+--+-- * 'clSupportsAllDrives'+-- -- * 'clPageToken' -- -- * 'clPageSize'@@ -100,23 +117,29 @@ -- * 'clIncludeRemoved' -- -- * 'clSupportsTeamDrives'+--+-- * 'clDriveId' changesList     :: Text -- ^ 'clPageToken'     -> ChangesList changesList pClPageToken_ =-    ChangesList'+  ChangesList'     { _clIncludeTeamDriveItems = False     , _clIncludeCorpusRemovals = False     , _clTeamDriveId = Nothing     , _clRestrictToMyDrive = False     , _clSpaces = "drive"+    , _clIncludeItemsFromAllDrives = False+    , _clSupportsAllDrives = False     , _clPageToken = pClPageToken_     , _clPageSize = 100     , _clIncludeRemoved = True     , _clSupportsTeamDrives = False+    , _clDriveId = Nothing     } --- | Whether Team Drive files or changes should be included in results.++-- | Deprecated use includeItemsFromAllDrives instead. clIncludeTeamDriveItems :: Lens' ChangesList Bool clIncludeTeamDriveItems   = lens _clIncludeTeamDriveItems@@ -131,9 +154,7 @@   = lens _clIncludeCorpusRemovals       (\ s a -> s{_clIncludeCorpusRemovals = a}) --- | The Team Drive from which changes will be returned. If specified the--- change IDs will be reflective of the Team Drive; use the combined Team--- Drive ID and change ID as an identifier.+-- | Deprecated use driveId instead. clTeamDriveId :: Lens' ChangesList (Maybe Text) clTeamDriveId   = lens _clTeamDriveId@@ -152,6 +173,20 @@ clSpaces :: Lens' ChangesList Text clSpaces = lens _clSpaces (\ s a -> s{_clSpaces = a}) +-- | Whether both My Drive and shared drive items should be included in+-- results.+clIncludeItemsFromAllDrives :: Lens' ChangesList Bool+clIncludeItemsFromAllDrives+  = lens _clIncludeItemsFromAllDrives+      (\ s a -> s{_clIncludeItemsFromAllDrives = a})++-- | Whether the requesting application supports both My Drives and shared+-- drives.+clSupportsAllDrives :: Lens' ChangesList Bool+clSupportsAllDrives+  = lens _clSupportsAllDrives+      (\ s a -> s{_clSupportsAllDrives = a})+ -- | The token for continuing a previous list request on the next page. This -- should be set to the value of \'nextPageToken\' from the previous -- response or to the response from the getStartPageToken method.@@ -172,12 +207,19 @@   = lens _clIncludeRemoved       (\ s a -> s{_clIncludeRemoved = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. clSupportsTeamDrives :: Lens' ChangesList Bool clSupportsTeamDrives   = lens _clSupportsTeamDrives       (\ s a -> s{_clSupportsTeamDrives = a}) +-- | The shared drive from which changes will be returned. If specified the+-- change IDs will be reflective of the shared drive; use the combined+-- drive ID and change ID as an identifier.+clDriveId :: Lens' ChangesList (Maybe Text)+clDriveId+  = lens _clDriveId (\ s a -> s{_clDriveId = a})+ instance GoogleRequest ChangesList where         type Rs ChangesList = ChangeList         type Scopes ChangesList =@@ -195,9 +237,12 @@               _clTeamDriveId               (Just _clRestrictToMyDrive)               (Just _clSpaces)+              (Just _clIncludeItemsFromAllDrives)+              (Just _clSupportsAllDrives)               (Just _clPageSize)               (Just _clIncludeRemoved)               (Just _clSupportsTeamDrives)+              _clDriveId               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Changes/Watch.hs view
@@ -39,10 +39,13 @@     , cwTeamDriveId     , cwRestrictToMyDrive     , cwSpaces+    , cwIncludeItemsFromAllDrives+    , cwSupportsAllDrives     , cwPageToken     , cwPageSize     , cwIncludeRemoved     , cwSupportsTeamDrives+    , cwDriveId     ) where  import           Network.Google.Drive.Types@@ -61,28 +64,38 @@                    QueryParam "teamDriveId" Text :>                      QueryParam "restrictToMyDrive" Bool :>                        QueryParam "spaces" Text :>-                         QueryParam "pageSize" (Textual Int32) :>-                           QueryParam "includeRemoved" Bool :>-                             QueryParam "supportsTeamDrives" Bool :>-                               QueryParam "alt" AltJSON :>-                                 ReqBody '[JSON] Channel :> Post '[JSON] Channel+                         QueryParam "includeItemsFromAllDrives" Bool :>+                           QueryParam "supportsAllDrives" Bool :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "includeRemoved" Bool :>+                                 QueryParam "supportsTeamDrives" Bool :>+                                   QueryParam "driveId" Text :>+                                     QueryParam "alt" AltJSON :>+                                       ReqBody '[JSON] Channel :>+                                         Post '[JSON] Channel  -- | Subscribes to changes for a user. -- -- /See:/ 'changesWatch' smart constructor.-data ChangesWatch = ChangesWatch'-    { _cwIncludeTeamDriveItems :: !Bool-    , _cwPayload               :: !Channel-    , _cwIncludeCorpusRemovals :: !Bool-    , _cwTeamDriveId           :: !(Maybe Text)-    , _cwRestrictToMyDrive     :: !Bool-    , _cwSpaces                :: !Text-    , _cwPageToken             :: !Text-    , _cwPageSize              :: !(Textual Int32)-    , _cwIncludeRemoved        :: !Bool-    , _cwSupportsTeamDrives    :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+data ChangesWatch =+  ChangesWatch'+    { _cwIncludeTeamDriveItems     :: !Bool+    , _cwPayload                   :: !Channel+    , _cwIncludeCorpusRemovals     :: !Bool+    , _cwTeamDriveId               :: !(Maybe Text)+    , _cwRestrictToMyDrive         :: !Bool+    , _cwSpaces                    :: !Text+    , _cwIncludeItemsFromAllDrives :: !Bool+    , _cwSupportsAllDrives         :: !Bool+    , _cwPageToken                 :: !Text+    , _cwPageSize                  :: !(Textual Int32)+    , _cwIncludeRemoved            :: !Bool+    , _cwSupportsTeamDrives        :: !Bool+    , _cwDriveId                   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ChangesWatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,6 +112,10 @@ -- -- * 'cwSpaces' --+-- * 'cwIncludeItemsFromAllDrives'+--+-- * 'cwSupportsAllDrives'+-- -- * 'cwPageToken' -- -- * 'cwPageSize'@@ -106,25 +123,31 @@ -- * 'cwIncludeRemoved' -- -- * 'cwSupportsTeamDrives'+--+-- * 'cwDriveId' changesWatch     :: Channel -- ^ 'cwPayload'     -> Text -- ^ 'cwPageToken'     -> ChangesWatch changesWatch pCwPayload_ pCwPageToken_ =-    ChangesWatch'+  ChangesWatch'     { _cwIncludeTeamDriveItems = False     , _cwPayload = pCwPayload_     , _cwIncludeCorpusRemovals = False     , _cwTeamDriveId = Nothing     , _cwRestrictToMyDrive = False     , _cwSpaces = "drive"+    , _cwIncludeItemsFromAllDrives = False+    , _cwSupportsAllDrives = False     , _cwPageToken = pCwPageToken_     , _cwPageSize = 100     , _cwIncludeRemoved = True     , _cwSupportsTeamDrives = False+    , _cwDriveId = Nothing     } --- | Whether Team Drive files or changes should be included in results.++-- | Deprecated use includeItemsFromAllDrives instead. cwIncludeTeamDriveItems :: Lens' ChangesWatch Bool cwIncludeTeamDriveItems   = lens _cwIncludeTeamDriveItems@@ -144,9 +167,7 @@   = lens _cwIncludeCorpusRemovals       (\ s a -> s{_cwIncludeCorpusRemovals = a}) --- | The Team Drive from which changes will be returned. If specified the--- change IDs will be reflective of the Team Drive; use the combined Team--- Drive ID and change ID as an identifier.+-- | Deprecated use driveId instead. cwTeamDriveId :: Lens' ChangesWatch (Maybe Text) cwTeamDriveId   = lens _cwTeamDriveId@@ -165,6 +186,20 @@ cwSpaces :: Lens' ChangesWatch Text cwSpaces = lens _cwSpaces (\ s a -> s{_cwSpaces = a}) +-- | Whether both My Drive and shared drive items should be included in+-- results.+cwIncludeItemsFromAllDrives :: Lens' ChangesWatch Bool+cwIncludeItemsFromAllDrives+  = lens _cwIncludeItemsFromAllDrives+      (\ s a -> s{_cwIncludeItemsFromAllDrives = a})++-- | Whether the requesting application supports both My Drives and shared+-- drives.+cwSupportsAllDrives :: Lens' ChangesWatch Bool+cwSupportsAllDrives+  = lens _cwSupportsAllDrives+      (\ s a -> s{_cwSupportsAllDrives = a})+ -- | The token for continuing a previous list request on the next page. This -- should be set to the value of \'nextPageToken\' from the previous -- response or to the response from the getStartPageToken method.@@ -185,12 +220,19 @@   = lens _cwIncludeRemoved       (\ s a -> s{_cwIncludeRemoved = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. cwSupportsTeamDrives :: Lens' ChangesWatch Bool cwSupportsTeamDrives   = lens _cwSupportsTeamDrives       (\ s a -> s{_cwSupportsTeamDrives = a}) +-- | The shared drive from which changes will be returned. If specified the+-- change IDs will be reflective of the shared drive; use the combined+-- drive ID and change ID as an identifier.+cwDriveId :: Lens' ChangesWatch (Maybe Text)+cwDriveId+  = lens _cwDriveId (\ s a -> s{_cwDriveId = a})+ instance GoogleRequest ChangesWatch where         type Rs ChangesWatch = Channel         type Scopes ChangesWatch =@@ -208,9 +250,12 @@               _cwTeamDriveId               (Just _cwRestrictToMyDrive)               (Just _cwSpaces)+              (Just _cwIncludeItemsFromAllDrives)+              (Just _cwSupportsAllDrives)               (Just _cwPageSize)               (Just _cwIncludeRemoved)               (Just _cwSupportsTeamDrives)+              _cwDriveId               (Just AltJSON)               _cwPayload               driveService
gen/Network/Google/Resource/Drive/Channels/Stop.hs view
@@ -52,10 +52,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:@@ -64,10 +67,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/Drive/Comments/Create.hs view
@@ -54,11 +54,14 @@ -- | Creates a new comment on a file. -- -- /See:/ 'commentsCreate' smart constructor.-data CommentsCreate = CommentsCreate'+data CommentsCreate =+  CommentsCreate'     { _ccPayload :: !Comment     , _ccFileId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CommentsCreate' 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 -- ^ 'ccFileId'     -> CommentsCreate commentsCreate pCcPayload_ pCcFileId_ =-    CommentsCreate'-    { _ccPayload = pCcPayload_-    , _ccFileId = pCcFileId_-    }+  CommentsCreate' {_ccPayload = pCcPayload_, _ccFileId = pCcFileId_}+  -- | Multipart request metadata. ccPayload :: Lens' CommentsCreate Comment
gen/Network/Google/Resource/Drive/Comments/Delete.hs view
@@ -54,11 +54,14 @@ -- | Deletes a comment. -- -- /See:/ 'commentsDelete' smart constructor.-data CommentsDelete = CommentsDelete'+data CommentsDelete =+  CommentsDelete'     { _cdFileId    :: !Text     , _cdCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CommentsDelete' 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 -- ^ 'cdCommentId'     -> CommentsDelete commentsDelete pCdFileId_ pCdCommentId_ =-    CommentsDelete'-    { _cdFileId = pCdFileId_-    , _cdCommentId = pCdCommentId_-    }+  CommentsDelete' {_cdFileId = pCdFileId_, _cdCommentId = pCdCommentId_}+  -- | The ID of the file. cdFileId :: Lens' CommentsDelete Text
gen/Network/Google/Resource/Drive/Comments/Get.hs view
@@ -56,12 +56,15 @@ -- | Gets a comment by ID. -- -- /See:/ 'commentsGet' smart constructor.-data CommentsGet = CommentsGet'+data CommentsGet =+  CommentsGet'     { _cgFileId         :: !Text     , _cgCommentId      :: !Text     , _cgIncludeDeleted :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CommentsGet' 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 -- ^ 'cgCommentId'     -> CommentsGet commentsGet pCgFileId_ pCgCommentId_ =-    CommentsGet'+  CommentsGet'     { _cgFileId = pCgFileId_     , _cgCommentId = pCgCommentId_     , _cgIncludeDeleted = False     }+  -- | The ID of the file. cgFileId :: Lens' CommentsGet Text
gen/Network/Google/Resource/Drive/Comments/List.hs view
@@ -60,14 +60,17 @@ -- | Lists a file\'s comments. -- -- /See:/ 'commentsList' smart constructor.-data CommentsList = CommentsList'+data CommentsList =+  CommentsList'     { _cStartModifiedTime :: !(Maybe Text)     , _cPageToken         :: !(Maybe Text)     , _cFileId            :: !Text     , _cPageSize          :: !(Textual Int32)     , _cIncludeDeleted    :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CommentsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -85,13 +88,14 @@     :: Text -- ^ 'cFileId'     -> CommentsList commentsList pCFileId_ =-    CommentsList'+  CommentsList'     { _cStartModifiedTime = Nothing     , _cPageToken = Nothing     , _cFileId = pCFileId_     , _cPageSize = 20     , _cIncludeDeleted = False     }+  -- | The minimum value of \'modifiedTime\' for the result comments (RFC 3339 -- date-time).
gen/Network/Google/Resource/Drive/Comments/Update.hs view
@@ -56,12 +56,15 @@ -- | Updates a comment with patch semantics. -- -- /See:/ 'commentsUpdate' smart constructor.-data CommentsUpdate = CommentsUpdate'+data CommentsUpdate =+  CommentsUpdate'     { _cuPayload   :: !Comment     , _cuFileId    :: !Text     , _cuCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CommentsUpdate' 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 -- ^ 'cuCommentId'     -> CommentsUpdate commentsUpdate pCuPayload_ pCuFileId_ pCuCommentId_ =-    CommentsUpdate'+  CommentsUpdate'     { _cuPayload = pCuPayload_     , _cuFileId = pCuFileId_     , _cuCommentId = pCuCommentId_     }+  -- | Multipart request metadata. cuPayload :: Lens' CommentsUpdate Comment
+ gen/Network/Google/Resource/Drive/Drives/Create.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new shared drive.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.create@.+module Network.Google.Resource.Drive.Drives.Create+    (+    -- * REST Resource+      DrivesCreateResource++    -- * Creating a Request+    , drivesCreate+    , DrivesCreate++    -- * Request Lenses+    , dcRequestId+    , dcPayload+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.create@ method which the+-- 'DrivesCreate' request conforms to.+type DrivesCreateResource =+     "drive" :>+       "v3" :>+         "drives" :>+           QueryParam "requestId" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Drive :> Post '[JSON] Drive++-- | Creates a new shared drive.+--+-- /See:/ 'drivesCreate' smart constructor.+data DrivesCreate =+  DrivesCreate'+    { _dcRequestId :: !Text+    , _dcPayload   :: !Drive+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcRequestId'+--+-- * 'dcPayload'+drivesCreate+    :: Text -- ^ 'dcRequestId'+    -> Drive -- ^ 'dcPayload'+    -> DrivesCreate+drivesCreate pDcRequestId_ pDcPayload_ =+  DrivesCreate' {_dcRequestId = pDcRequestId_, _dcPayload = pDcPayload_}+++-- | An ID, such as a random UUID, which uniquely identifies this user\'s+-- request for idempotent creation of a shared drive. A repeated request by+-- the same user and with the same request ID will avoid creating+-- duplicates by attempting to create the same shared drive. If the shared+-- drive already exists a 409 error will be returned.+dcRequestId :: Lens' DrivesCreate Text+dcRequestId+  = lens _dcRequestId (\ s a -> s{_dcRequestId = a})++-- | Multipart request metadata.+dcPayload :: Lens' DrivesCreate Drive+dcPayload+  = lens _dcPayload (\ s a -> s{_dcPayload = a})++instance GoogleRequest DrivesCreate where+        type Rs DrivesCreate = Drive+        type Scopes DrivesCreate =+             '["https://www.googleapis.com/auth/drive"]+        requestClient DrivesCreate'{..}+          = go (Just _dcRequestId) (Just AltJSON) _dcPayload+              driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesCreateResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/Delete.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes a shared drive for which the user is an organizer.+-- The shared drive cannot contain any untrashed items.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.delete@.+module Network.Google.Resource.Drive.Drives.Delete+    (+    -- * REST Resource+      DrivesDeleteResource++    -- * Creating a Request+    , drivesDelete+    , DrivesDelete++    -- * Request Lenses+    , ddDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.delete@ method which the+-- 'DrivesDelete' request conforms to.+type DrivesDeleteResource =+     "drive" :>+       "v3" :>+         "drives" :>+           Capture "driveId" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Permanently deletes a shared drive for which the user is an organizer.+-- The shared drive cannot contain any untrashed items.+--+-- /See:/ 'drivesDelete' smart constructor.+newtype DrivesDelete =+  DrivesDelete'+    { _ddDriveId :: Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDriveId'+drivesDelete+    :: Text -- ^ 'ddDriveId'+    -> DrivesDelete+drivesDelete pDdDriveId_ = DrivesDelete' {_ddDriveId = pDdDriveId_}+++-- | The ID of the shared drive.+ddDriveId :: Lens' DrivesDelete Text+ddDriveId+  = lens _ddDriveId (\ s a -> s{_ddDriveId = a})++instance GoogleRequest DrivesDelete where+        type Rs DrivesDelete = ()+        type Scopes DrivesDelete =+             '["https://www.googleapis.com/auth/drive"]+        requestClient DrivesDelete'{..}+          = go _ddDriveId (Just AltJSON) driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a shared drive\'s metadata by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.get@.+module Network.Google.Resource.Drive.Drives.Get+    (+    -- * REST Resource+      DrivesGetResource++    -- * Creating a Request+    , drivesGet+    , DrivesGet++    -- * Request Lenses+    , dgUseDomainAdminAccess+    , dgDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.get@ method which the+-- 'DrivesGet' request conforms to.+type DrivesGetResource =+     "drive" :>+       "v3" :>+         "drives" :>+           Capture "driveId" Text :>+             QueryParam "useDomainAdminAccess" Bool :>+               QueryParam "alt" AltJSON :> Get '[JSON] Drive++-- | Gets a shared drive\'s metadata by ID.+--+-- /See:/ 'drivesGet' smart constructor.+data DrivesGet =+  DrivesGet'+    { _dgUseDomainAdminAccess :: !Bool+    , _dgDriveId              :: !Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgUseDomainAdminAccess'+--+-- * 'dgDriveId'+drivesGet+    :: Text -- ^ 'dgDriveId'+    -> DrivesGet+drivesGet pDgDriveId_ =+  DrivesGet' {_dgUseDomainAdminAccess = False, _dgDriveId = pDgDriveId_}+++-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the shared drive belongs.+dgUseDomainAdminAccess :: Lens' DrivesGet Bool+dgUseDomainAdminAccess+  = lens _dgUseDomainAdminAccess+      (\ s a -> s{_dgUseDomainAdminAccess = a})++-- | The ID of the shared drive.+dgDriveId :: Lens' DrivesGet Text+dgDriveId+  = lens _dgDriveId (\ s a -> s{_dgDriveId = a})++instance GoogleRequest DrivesGet where+        type Rs DrivesGet = Drive+        type Scopes DrivesGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient DrivesGet'{..}+          = go _dgDriveId (Just _dgUseDomainAdminAccess)+              (Just AltJSON)+              driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesGetResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/Hide.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Hide+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Hides a shared drive from the default view.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.hide@.+module Network.Google.Resource.Drive.Drives.Hide+    (+    -- * REST Resource+      DrivesHideResource++    -- * Creating a Request+    , drivesHide+    , DrivesHide++    -- * Request Lenses+    , dhDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.hide@ method which the+-- 'DrivesHide' request conforms to.+type DrivesHideResource =+     "drive" :>+       "v3" :>+         "drives" :>+           Capture "driveId" Text :>+             "hide" :>+               QueryParam "alt" AltJSON :> Post '[JSON] Drive++-- | Hides a shared drive from the default view.+--+-- /See:/ 'drivesHide' smart constructor.+newtype DrivesHide =+  DrivesHide'+    { _dhDriveId :: Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesHide' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhDriveId'+drivesHide+    :: Text -- ^ 'dhDriveId'+    -> DrivesHide+drivesHide pDhDriveId_ = DrivesHide' {_dhDriveId = pDhDriveId_}+++-- | The ID of the shared drive.+dhDriveId :: Lens' DrivesHide Text+dhDriveId+  = lens _dhDriveId (\ s a -> s{_dhDriveId = a})++instance GoogleRequest DrivesHide where+        type Rs DrivesHide = Drive+        type Scopes DrivesHide =+             '["https://www.googleapis.com/auth/drive"]+        requestClient DrivesHide'{..}+          = go _dhDriveId (Just AltJSON) driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesHideResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/List.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the user\'s shared drives.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.list@.+module Network.Google.Resource.Drive.Drives.List+    (+    -- * REST Resource+      DrivesListResource++    -- * Creating a Request+    , drivesList+    , DrivesList++    -- * Request Lenses+    , dlQ+    , dlPageToken+    , dlUseDomainAdminAccess+    , dlPageSize+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.list@ method which the+-- 'DrivesList' request conforms to.+type DrivesListResource =+     "drive" :>+       "v3" :>+         "drives" :>+           QueryParam "q" Text :>+             QueryParam "pageToken" Text :>+               QueryParam "useDomainAdminAccess" Bool :>+                 QueryParam "pageSize" (Textual Int32) :>+                   QueryParam "alt" AltJSON :> Get '[JSON] DriveList++-- | Lists the user\'s shared drives.+--+-- /See:/ 'drivesList' smart constructor.+data DrivesList =+  DrivesList'+    { _dlQ                    :: !(Maybe Text)+    , _dlPageToken            :: !(Maybe Text)+    , _dlUseDomainAdminAccess :: !Bool+    , _dlPageSize             :: !(Textual Int32)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlQ'+--+-- * 'dlPageToken'+--+-- * 'dlUseDomainAdminAccess'+--+-- * 'dlPageSize'+drivesList+    :: DrivesList+drivesList =+  DrivesList'+    { _dlQ = Nothing+    , _dlPageToken = Nothing+    , _dlUseDomainAdminAccess = False+    , _dlPageSize = 10+    }+++-- | Query string for searching shared drives.+dlQ :: Lens' DrivesList (Maybe Text)+dlQ = lens _dlQ (\ s a -> s{_dlQ = a})++-- | Page token for shared drives.+dlPageToken :: Lens' DrivesList (Maybe Text)+dlPageToken+  = lens _dlPageToken (\ s a -> s{_dlPageToken = a})++-- | Issue the request as a domain administrator; if set to true, then all+-- shared drives of the domain in which the requester is an administrator+-- are returned.+dlUseDomainAdminAccess :: Lens' DrivesList Bool+dlUseDomainAdminAccess+  = lens _dlUseDomainAdminAccess+      (\ s a -> s{_dlUseDomainAdminAccess = a})++-- | Maximum number of shared drives to return.+dlPageSize :: Lens' DrivesList Int32+dlPageSize+  = lens _dlPageSize (\ s a -> s{_dlPageSize = a}) .+      _Coerce++instance GoogleRequest DrivesList where+        type Rs DrivesList = DriveList+        type Scopes DrivesList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient DrivesList'{..}+          = go _dlQ _dlPageToken (Just _dlUseDomainAdminAccess)+              (Just _dlPageSize)+              (Just AltJSON)+              driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesListResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/Unhide.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Unhide+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restores a shared drive to the default view.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.unhide@.+module Network.Google.Resource.Drive.Drives.Unhide+    (+    -- * REST Resource+      DrivesUnhideResource++    -- * Creating a Request+    , drivesUnhide+    , DrivesUnhide++    -- * Request Lenses+    , duDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.unhide@ method which the+-- 'DrivesUnhide' request conforms to.+type DrivesUnhideResource =+     "drive" :>+       "v3" :>+         "drives" :>+           Capture "driveId" Text :>+             "unhide" :>+               QueryParam "alt" AltJSON :> Post '[JSON] Drive++-- | Restores a shared drive to the default view.+--+-- /See:/ 'drivesUnhide' smart constructor.+newtype DrivesUnhide =+  DrivesUnhide'+    { _duDriveId :: Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesUnhide' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'duDriveId'+drivesUnhide+    :: Text -- ^ 'duDriveId'+    -> DrivesUnhide+drivesUnhide pDuDriveId_ = DrivesUnhide' {_duDriveId = pDuDriveId_}+++-- | The ID of the shared drive.+duDriveId :: Lens' DrivesUnhide Text+duDriveId+  = lens _duDriveId (\ s a -> s{_duDriveId = a})++instance GoogleRequest DrivesUnhide where+        type Rs DrivesUnhide = Drive+        type Scopes DrivesUnhide =+             '["https://www.googleapis.com/auth/drive"]+        requestClient DrivesUnhide'{..}+          = go _duDriveId (Just AltJSON) driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesUnhideResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Drives/Update.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Drives.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the metadate for a shared drive.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.drives.update@.+module Network.Google.Resource.Drive.Drives.Update+    (+    -- * REST Resource+      DrivesUpdateResource++    -- * Creating a Request+    , drivesUpdate+    , DrivesUpdate++    -- * Request Lenses+    , dPayload+    , dUseDomainAdminAccess+    , dDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.drives.update@ method which the+-- 'DrivesUpdate' request conforms to.+type DrivesUpdateResource =+     "drive" :>+       "v3" :>+         "drives" :>+           Capture "driveId" Text :>+             QueryParam "useDomainAdminAccess" Bool :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Drive :> Patch '[JSON] Drive++-- | Updates the metadate for a shared drive.+--+-- /See:/ 'drivesUpdate' smart constructor.+data DrivesUpdate =+  DrivesUpdate'+    { _dPayload              :: !Drive+    , _dUseDomainAdminAccess :: !Bool+    , _dDriveId              :: !Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DrivesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dPayload'+--+-- * 'dUseDomainAdminAccess'+--+-- * 'dDriveId'+drivesUpdate+    :: Drive -- ^ 'dPayload'+    -> Text -- ^ 'dDriveId'+    -> DrivesUpdate+drivesUpdate pDPayload_ pDDriveId_ =+  DrivesUpdate'+    { _dPayload = pDPayload_+    , _dUseDomainAdminAccess = False+    , _dDriveId = pDDriveId_+    }+++-- | Multipart request metadata.+dPayload :: Lens' DrivesUpdate Drive+dPayload = lens _dPayload (\ s a -> s{_dPayload = a})++-- | Issue the request as a domain administrator; if set to true, then the+-- requester will be granted access if they are an administrator of the+-- domain to which the shared drive belongs.+dUseDomainAdminAccess :: Lens' DrivesUpdate Bool+dUseDomainAdminAccess+  = lens _dUseDomainAdminAccess+      (\ s a -> s{_dUseDomainAdminAccess = a})++-- | The ID of the shared drive.+dDriveId :: Lens' DrivesUpdate Text+dDriveId = lens _dDriveId (\ s a -> s{_dDriveId = a})++instance GoogleRequest DrivesUpdate where+        type Rs DrivesUpdate = Drive+        type Scopes DrivesUpdate =+             '["https://www.googleapis.com/auth/drive"]+        requestClient DrivesUpdate'{..}+          = go _dDriveId (Just _dUseDomainAdminAccess)+              (Just AltJSON)+              _dPayload+              driveService+          where go+                  = buildClient (Proxy :: Proxy DrivesUpdateResource)+                      mempty
gen/Network/Google/Resource/Drive/Files/Copy.hs view
@@ -37,6 +37,7 @@     , fPayload     , fOCRLanguage     , fKeepRevisionForever+    , fSupportsAllDrives     , fIgnoreDefaultVisibility     , fFileId     , fSupportsTeamDrives@@ -55,24 +56,29 @@              "copy" :>                QueryParam "ocrLanguage" Text :>                  QueryParam "keepRevisionForever" Bool :>-                   QueryParam "ignoreDefaultVisibility" Bool :>-                     QueryParam "supportsTeamDrives" Bool :>-                       QueryParam "alt" AltJSON :>-                         ReqBody '[JSON] File :> Post '[JSON] File+                   QueryParam "supportsAllDrives" Bool :>+                     QueryParam "ignoreDefaultVisibility" Bool :>+                       QueryParam "supportsTeamDrives" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] File :> Post '[JSON] File  -- | Creates a copy of a file and applies any requested updates with patch -- semantics. -- -- /See:/ 'filesCopy' smart constructor.-data FilesCopy = FilesCopy'+data FilesCopy =+  FilesCopy'     { _fPayload                 :: !File     , _fOCRLanguage             :: !(Maybe Text)     , _fKeepRevisionForever     :: !Bool+    , _fSupportsAllDrives       :: !Bool     , _fIgnoreDefaultVisibility :: !Bool     , _fFileId                  :: !Text     , _fSupportsTeamDrives      :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesCopy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -83,6 +89,8 @@ -- -- * 'fKeepRevisionForever' --+-- * 'fSupportsAllDrives'+-- -- * 'fIgnoreDefaultVisibility' -- -- * 'fFileId'@@ -93,15 +101,17 @@     -> Text -- ^ 'fFileId'     -> FilesCopy filesCopy pFPayload_ pFFileId_ =-    FilesCopy'+  FilesCopy'     { _fPayload = pFPayload_     , _fOCRLanguage = Nothing     , _fKeepRevisionForever = False+    , _fSupportsAllDrives = False     , _fIgnoreDefaultVisibility = False     , _fFileId = pFFileId_     , _fSupportsTeamDrives = False     } + -- | Multipart request metadata. fPayload :: Lens' FilesCopy File fPayload = lens _fPayload (\ s a -> s{_fPayload = a})@@ -112,12 +122,19 @@   = lens _fOCRLanguage (\ s a -> s{_fOCRLanguage = a})  -- | Whether to set the \'keepForever\' field in the new head revision. This--- is only applicable to files with binary content in Drive.+-- is only applicable to files with binary content in Google Drive. fKeepRevisionForever :: Lens' FilesCopy Bool fKeepRevisionForever   = lens _fKeepRevisionForever       (\ s a -> s{_fKeepRevisionForever = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+fSupportsAllDrives :: Lens' FilesCopy Bool+fSupportsAllDrives+  = lens _fSupportsAllDrives+      (\ s a -> s{_fSupportsAllDrives = a})+ -- | Whether to ignore the domain\'s default visibility settings for the -- created file. Domain administrators can choose to make all uploaded -- files visible to the domain by default; this parameter bypasses that@@ -132,7 +149,7 @@ fFileId :: Lens' FilesCopy Text fFileId = lens _fFileId (\ s a -> s{_fFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fSupportsTeamDrives :: Lens' FilesCopy Bool fSupportsTeamDrives   = lens _fSupportsTeamDrives@@ -148,6 +165,7 @@         requestClient FilesCopy'{..}           = go _fFileId _fOCRLanguage               (Just _fKeepRevisionForever)+              (Just _fSupportsAllDrives)               (Just _fIgnoreDefaultVisibility)               (Just _fSupportsTeamDrives)               (Just AltJSON)
gen/Network/Google/Resource/Drive/Files/Create.hs view
@@ -37,6 +37,7 @@     , fcUseContentAsIndexableText     , fcOCRLanguage     , fcKeepRevisionForever+    , fcSupportsAllDrives     , fcIgnoreDefaultVisibility     , fcSupportsTeamDrives     ) where@@ -53,10 +54,11 @@            QueryParam "useContentAsIndexableText" Bool :>              QueryParam "ocrLanguage" Text :>                QueryParam "keepRevisionForever" Bool :>-                 QueryParam "ignoreDefaultVisibility" Bool :>-                   QueryParam "supportsTeamDrives" Bool :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] File :> Post '[JSON] File+                 QueryParam "supportsAllDrives" Bool :>+                   QueryParam "ignoreDefaultVisibility" Bool :>+                     QueryParam "supportsTeamDrives" Bool :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] File :> Post '[JSON] File        :<|>        "upload" :>          "drive" :>@@ -65,24 +67,30 @@                QueryParam "useContentAsIndexableText" Bool :>                  QueryParam "ocrLanguage" Text :>                    QueryParam "keepRevisionForever" Bool :>-                     QueryParam "ignoreDefaultVisibility" Bool :>-                       QueryParam "supportsTeamDrives" Bool :>-                         QueryParam "alt" AltJSON :>-                           QueryParam "uploadType" Multipart :>-                             MultipartRelated '[JSON] File :> Post '[JSON] File+                     QueryParam "supportsAllDrives" Bool :>+                       QueryParam "ignoreDefaultVisibility" Bool :>+                         QueryParam "supportsTeamDrives" Bool :>+                           QueryParam "alt" AltJSON :>+                             QueryParam "uploadType" Multipart :>+                               MultipartRelated '[JSON] File :>+                                 Post '[JSON] File  -- | Creates a new file. -- -- /See:/ 'filesCreate' smart constructor.-data FilesCreate = FilesCreate'+data FilesCreate =+  FilesCreate'     { _fcPayload                   :: !File     , _fcUseContentAsIndexableText :: !Bool     , _fcOCRLanguage               :: !(Maybe Text)     , _fcKeepRevisionForever       :: !Bool+    , _fcSupportsAllDrives         :: !Bool     , _fcIgnoreDefaultVisibility   :: !Bool     , _fcSupportsTeamDrives        :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,6 +103,8 @@ -- -- * 'fcKeepRevisionForever' --+-- * 'fcSupportsAllDrives'+-- -- * 'fcIgnoreDefaultVisibility' -- -- * 'fcSupportsTeamDrives'@@ -102,15 +112,17 @@     :: File -- ^ 'fcPayload'     -> FilesCreate filesCreate pFcPayload_ =-    FilesCreate'+  FilesCreate'     { _fcPayload = pFcPayload_     , _fcUseContentAsIndexableText = False     , _fcOCRLanguage = Nothing     , _fcKeepRevisionForever = False+    , _fcSupportsAllDrives = False     , _fcIgnoreDefaultVisibility = False     , _fcSupportsTeamDrives = False     } + -- | Multipart request metadata. fcPayload :: Lens' FilesCreate File fcPayload@@ -129,12 +141,19 @@       (\ s a -> s{_fcOCRLanguage = a})  -- | Whether to set the \'keepForever\' field in the new head revision. This--- is only applicable to files with binary content in Drive.+-- is only applicable to files with binary content in Google Drive. fcKeepRevisionForever :: Lens' FilesCreate Bool fcKeepRevisionForever   = lens _fcKeepRevisionForever       (\ s a -> s{_fcKeepRevisionForever = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+fcSupportsAllDrives :: Lens' FilesCreate Bool+fcSupportsAllDrives+  = lens _fcSupportsAllDrives+      (\ s a -> s{_fcSupportsAllDrives = a})+ -- | Whether to ignore the domain\'s default visibility settings for the -- created file. Domain administrators can choose to make all uploaded -- files visible to the domain by default; this parameter bypasses that@@ -145,7 +164,7 @@   = lens _fcIgnoreDefaultVisibility       (\ s a -> s{_fcIgnoreDefaultVisibility = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fcSupportsTeamDrives :: Lens' FilesCreate Bool fcSupportsTeamDrives   = lens _fcSupportsTeamDrives@@ -161,6 +180,7 @@           = go (Just _fcUseContentAsIndexableText)               _fcOCRLanguage               (Just _fcKeepRevisionForever)+              (Just _fcSupportsAllDrives)               (Just _fcIgnoreDefaultVisibility)               (Just _fcSupportsTeamDrives)               (Just AltJSON)@@ -179,6 +199,7 @@           = go (Just _fcUseContentAsIndexableText)               _fcOCRLanguage               (Just _fcKeepRevisionForever)+              (Just _fcSupportsAllDrives)               (Just _fcIgnoreDefaultVisibility)               (Just _fcSupportsTeamDrives)               (Just AltJSON)
gen/Network/Google/Resource/Drive/Files/Delete.hs view
@@ -21,9 +21,9 @@ -- Portability : non-portable (GHC extensions) -- -- Permanently deletes a file owned by the user without moving it to the--- trash. If the file belongs to a Team Drive the user must be an organizer--- on the parent. If the target is a folder, all descendants owned by the--- user are also deleted.+-- trash. If the file belongs to a shared drive the user must be an+-- organizer on the parent. If the target is a folder, all descendants+-- owned by the user are also deleted. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.delete@. module Network.Google.Resource.Drive.Files.Delete@@ -36,6 +36,7 @@     , FilesDelete      -- * Request Lenses+    , fdSupportsAllDrives     , fdFileId     , fdSupportsTeamDrives     ) where@@ -50,24 +51,31 @@        "v3" :>          "files" :>            Capture "fileId" Text :>-             QueryParam "supportsTeamDrives" Bool :>-               QueryParam "alt" AltJSON :> Delete '[JSON] ()+             QueryParam "supportsAllDrives" Bool :>+               QueryParam "supportsTeamDrives" Bool :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()  -- | Permanently deletes a file owned by the user without moving it to the--- trash. If the file belongs to a Team Drive the user must be an organizer--- on the parent. If the target is a folder, all descendants owned by the--- user are also deleted.+-- trash. If the file belongs to a shared drive the user must be an+-- organizer on the parent. If the target is a folder, all descendants+-- owned by the user are also deleted. -- -- /See:/ 'filesDelete' smart constructor.-data FilesDelete = FilesDelete'-    { _fdFileId             :: !Text+data FilesDelete =+  FilesDelete'+    { _fdSupportsAllDrives  :: !Bool+    , _fdFileId             :: !Text     , _fdSupportsTeamDrives :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'fdSupportsAllDrives'+-- -- * 'fdFileId' -- -- * 'fdSupportsTeamDrives'@@ -75,16 +83,25 @@     :: Text -- ^ 'fdFileId'     -> FilesDelete filesDelete pFdFileId_ =-    FilesDelete'-    { _fdFileId = pFdFileId_+  FilesDelete'+    { _fdSupportsAllDrives = False+    , _fdFileId = pFdFileId_     , _fdSupportsTeamDrives = False     } ++-- | Whether the requesting application supports both My Drives and shared+-- drives.+fdSupportsAllDrives :: Lens' FilesDelete Bool+fdSupportsAllDrives+  = lens _fdSupportsAllDrives+      (\ s a -> s{_fdSupportsAllDrives = a})+ -- | The ID of the file. fdFileId :: Lens' FilesDelete Text fdFileId = lens _fdFileId (\ s a -> s{_fdFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fdSupportsTeamDrives :: Lens' FilesDelete Bool fdSupportsTeamDrives   = lens _fdSupportsTeamDrives@@ -97,7 +114,8 @@                "https://www.googleapis.com/auth/drive.appdata",                "https://www.googleapis.com/auth/drive.file"]         requestClient FilesDelete'{..}-          = go _fdFileId (Just _fdSupportsTeamDrives)+          = go _fdFileId (Just _fdSupportsAllDrives)+              (Just _fdSupportsTeamDrives)               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Files/EmptyTrash.hs view
@@ -50,14 +50,16 @@ -- -- /See:/ 'filesEmptyTrash' smart constructor. data FilesEmptyTrash =-    FilesEmptyTrash'-    deriving (Eq,Show,Data,Typeable,Generic)+  FilesEmptyTrash'+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesEmptyTrash' with the minimum fields required to make a request. -- filesEmptyTrash     :: FilesEmptyTrash filesEmptyTrash = FilesEmptyTrash'+  instance GoogleRequest FilesEmptyTrash where         type Rs FilesEmptyTrash = ()
gen/Network/Google/Resource/Drive/Files/Export.hs view
@@ -65,11 +65,14 @@ -- content. Please note that the exported content is limited to 10MB. -- -- /See:/ 'filesExport' smart constructor.-data FilesExport = FilesExport'+data FilesExport =+  FilesExport'     { _feMimeType :: !Text     , _feFileId   :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesExport' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -82,10 +85,8 @@     -> Text -- ^ 'feFileId'     -> FilesExport filesExport pFeMimeType_ pFeFileId_ =-    FilesExport'-    { _feMimeType = pFeMimeType_-    , _feFileId = pFeFileId_-    }+  FilesExport' {_feMimeType = pFeMimeType_, _feFileId = pFeFileId_}+  -- | The MIME type of the format requested for this export. feMimeType :: Lens' FilesExport Text
gen/Network/Google/Resource/Drive/Files/GenerateIds.hs view
@@ -54,11 +54,14 @@ -- | Generates a set of file IDs which can be provided in create requests. -- -- /See:/ 'filesGenerateIds' smart constructor.-data FilesGenerateIds = FilesGenerateIds'+data FilesGenerateIds =+  FilesGenerateIds'     { _fgiSpace :: !Text     , _fgiCount :: !(Textual Int32)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesGenerateIds' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,11 +71,8 @@ -- * 'fgiCount' filesGenerateIds     :: FilesGenerateIds-filesGenerateIds =-    FilesGenerateIds'-    { _fgiSpace = "drive"-    , _fgiCount = 10-    }+filesGenerateIds = FilesGenerateIds' {_fgiSpace = "drive", _fgiCount = 10}+  -- | The space in which the IDs can be used to create new files. Supported -- values are \'drive\' and \'appDataFolder\'.
gen/Network/Google/Resource/Drive/Files/Get.hs view
@@ -33,6 +33,7 @@     , FilesGet      -- * Request Lenses+    , fgSupportsAllDrives     , fgAcknowledgeAbuse     , fgFileId     , fgSupportsTeamDrives@@ -48,32 +49,40 @@        "v3" :>          "files" :>            Capture "fileId" Text :>-             QueryParam "acknowledgeAbuse" Bool :>-               QueryParam "supportsTeamDrives" Bool :>-                 QueryParam "alt" AltJSON :> Get '[JSON] File+             QueryParam "supportsAllDrives" Bool :>+               QueryParam "acknowledgeAbuse" Bool :>+                 QueryParam "supportsTeamDrives" Bool :>+                   QueryParam "alt" AltJSON :> Get '[JSON] File        :<|>        "drive" :>          "v3" :>            "files" :>              Capture "fileId" Text :>-               QueryParam "acknowledgeAbuse" Bool :>-                 QueryParam "supportsTeamDrives" Bool :>-                   QueryParam "alt" AltMedia :>-                     Get '[OctetStream] Stream+               QueryParam "supportsAllDrives" Bool :>+                 QueryParam "acknowledgeAbuse" Bool :>+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltMedia :>+                       Get '[OctetStream] Stream  -- | Gets a file\'s metadata or content by ID. -- -- /See:/ 'filesGet' smart constructor.-data FilesGet = FilesGet'-    { _fgAcknowledgeAbuse   :: !Bool+data FilesGet =+  FilesGet'+    { _fgSupportsAllDrives  :: !Bool+    , _fgAcknowledgeAbuse   :: !Bool     , _fgFileId             :: !Text     , _fgSupportsTeamDrives :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'fgSupportsAllDrives'+-- -- * 'fgAcknowledgeAbuse' -- -- * 'fgFileId'@@ -83,12 +92,21 @@     :: Text -- ^ 'fgFileId'     -> FilesGet filesGet pFgFileId_ =-    FilesGet'-    { _fgAcknowledgeAbuse = False+  FilesGet'+    { _fgSupportsAllDrives = False+    , _fgAcknowledgeAbuse = False     , _fgFileId = pFgFileId_     , _fgSupportsTeamDrives = False     } ++-- | Whether the requesting application supports both My Drives and shared+-- drives.+fgSupportsAllDrives :: Lens' FilesGet Bool+fgSupportsAllDrives+  = lens _fgSupportsAllDrives+      (\ s a -> s{_fgSupportsAllDrives = a})+ -- | Whether the user is acknowledging the risk of downloading known malware -- or other abusive files. This is only applicable when alt=media. fgAcknowledgeAbuse :: Lens' FilesGet Bool@@ -100,7 +118,7 @@ fgFileId :: Lens' FilesGet Text fgFileId = lens _fgFileId (\ s a -> s{_fgFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fgSupportsTeamDrives :: Lens' FilesGet Bool fgSupportsTeamDrives   = lens _fgSupportsTeamDrives@@ -117,7 +135,8 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient FilesGet'{..}-          = go _fgFileId (Just _fgAcknowledgeAbuse)+          = go _fgFileId (Just _fgSupportsAllDrives)+              (Just _fgAcknowledgeAbuse)               (Just _fgSupportsTeamDrives)               (Just AltJSON)               driveService@@ -130,7 +149,8 @@         type Scopes (MediaDownload FilesGet) =              Scopes FilesGet         requestClient (MediaDownload FilesGet'{..})-          = go _fgFileId (Just _fgAcknowledgeAbuse)+          = go _fgFileId (Just _fgSupportsAllDrives)+              (Just _fgAcknowledgeAbuse)               (Just _fgSupportsTeamDrives)               (Just AltMedia)               driveService
gen/Network/Google/Resource/Drive/Files/List.hs view
@@ -39,10 +39,13 @@     , flQ     , flTeamDriveId     , flSpaces+    , flIncludeItemsFromAllDrives+    , flSupportsAllDrives     , flCorpus     , flPageToken     , flPageSize     , flSupportsTeamDrives+    , flDriveId     ) where  import           Network.Google.Drive.Types@@ -60,28 +63,38 @@                  QueryParam "q" Text :>                    QueryParam "teamDriveId" Text :>                      QueryParam "spaces" Text :>-                       QueryParam "corpus" FilesListCorpus :>-                         QueryParam "pageToken" Text :>-                           QueryParam "pageSize" (Textual Int32) :>-                             QueryParam "supportsTeamDrives" Bool :>-                               QueryParam "alt" AltJSON :> Get '[JSON] FileList+                       QueryParam "includeItemsFromAllDrives" Bool :>+                         QueryParam "supportsAllDrives" Bool :>+                           QueryParam "corpus" FilesListCorpus :>+                             QueryParam "pageToken" Text :>+                               QueryParam "pageSize" (Textual Int32) :>+                                 QueryParam "supportsTeamDrives" Bool :>+                                   QueryParam "driveId" Text :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] FileList  -- | Lists or searches files. -- -- /See:/ 'filesList' smart constructor.-data FilesList = FilesList'-    { _flCorpora               :: !(Maybe Text)-    , _flOrderBy               :: !(Maybe Text)-    , _flIncludeTeamDriveItems :: !Bool-    , _flQ                     :: !(Maybe Text)-    , _flTeamDriveId           :: !(Maybe Text)-    , _flSpaces                :: !Text-    , _flCorpus                :: !(Maybe FilesListCorpus)-    , _flPageToken             :: !(Maybe Text)-    , _flPageSize              :: !(Textual Int32)-    , _flSupportsTeamDrives    :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+data FilesList =+  FilesList'+    { _flCorpora                   :: !(Maybe Text)+    , _flOrderBy                   :: !(Maybe Text)+    , _flIncludeTeamDriveItems     :: !Bool+    , _flQ                         :: !(Maybe Text)+    , _flTeamDriveId               :: !(Maybe Text)+    , _flSpaces                    :: !Text+    , _flIncludeItemsFromAllDrives :: !Bool+    , _flSupportsAllDrives         :: !Bool+    , _flCorpus                    :: !(Maybe FilesListCorpus)+    , _flPageToken                 :: !(Maybe Text)+    , _flPageSize                  :: !(Textual Int32)+    , _flSupportsTeamDrives        :: !Bool+    , _flDriveId                   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -98,6 +111,10 @@ -- -- * 'flSpaces' --+-- * 'flIncludeItemsFromAllDrives'+--+-- * 'flSupportsAllDrives'+-- -- * 'flCorpus' -- -- * 'flPageToken'@@ -105,27 +122,31 @@ -- * 'flPageSize' -- -- * 'flSupportsTeamDrives'+--+-- * 'flDriveId' filesList     :: FilesList filesList =-    FilesList'+  FilesList'     { _flCorpora = Nothing     , _flOrderBy = Nothing     , _flIncludeTeamDriveItems = False     , _flQ = Nothing     , _flTeamDriveId = Nothing     , _flSpaces = "drive"+    , _flIncludeItemsFromAllDrives = False+    , _flSupportsAllDrives = False     , _flCorpus = Nothing     , _flPageToken = Nothing     , _flPageSize = 100     , _flSupportsTeamDrives = False+    , _flDriveId = Nothing     } --- | Comma-separated list of bodies of items (files\/documents) to which the--- query applies. Supported bodies are \'user\', \'domain\', \'teamDrive\'--- and \'allTeamDrives\'. \'allTeamDrives\' must be combined with \'user\';--- all other values must be used in isolation. Prefer \'user\' or--- \'teamDrive\' to \'allTeamDrives\' for efficiency.++-- | Bodies of items (files\/documents) to which the query applies. Supported+-- bodies are \'user\', \'domain\', \'drive\' and \'allDrives\'. Prefer+-- \'user\' or \'drive\' to \'allDrives\' for efficiency. flCorpora :: Lens' FilesList (Maybe Text) flCorpora   = lens _flCorpora (\ s a -> s{_flCorpora = a})@@ -142,7 +163,7 @@ flOrderBy   = lens _flOrderBy (\ s a -> s{_flOrderBy = a}) --- | Whether Team Drive items should be included in results.+-- | Deprecated use includeItemsFromAllDrives instead. flIncludeTeamDriveItems :: Lens' FilesList Bool flIncludeTeamDriveItems   = lens _flIncludeTeamDriveItems@@ -153,7 +174,7 @@ flQ :: Lens' FilesList (Maybe Text) flQ = lens _flQ (\ s a -> s{_flQ = a}) --- | ID of Team Drive to search.+-- | Deprecated use driveId instead. flTeamDriveId :: Lens' FilesList (Maybe Text) flTeamDriveId   = lens _flTeamDriveId@@ -164,6 +185,20 @@ flSpaces :: Lens' FilesList Text flSpaces = lens _flSpaces (\ s a -> s{_flSpaces = a}) +-- | Whether both My Drive and shared drive items should be included in+-- results.+flIncludeItemsFromAllDrives :: Lens' FilesList Bool+flIncludeItemsFromAllDrives+  = lens _flIncludeItemsFromAllDrives+      (\ s a -> s{_flIncludeItemsFromAllDrives = a})++-- | Whether the requesting application supports both My Drives and shared+-- drives.+flSupportsAllDrives :: Lens' FilesList Bool+flSupportsAllDrives+  = lens _flSupportsAllDrives+      (\ s a -> s{_flSupportsAllDrives = a})+ -- | The source of files to list. Deprecated: use \'corpora\' instead. flCorpus :: Lens' FilesList (Maybe FilesListCorpus) flCorpus = lens _flCorpus (\ s a -> s{_flCorpus = a})@@ -183,12 +218,17 @@   = lens _flPageSize (\ s a -> s{_flPageSize = a}) .       _Coerce --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. flSupportsTeamDrives :: Lens' FilesList Bool flSupportsTeamDrives   = lens _flSupportsTeamDrives       (\ s a -> s{_flSupportsTeamDrives = a}) +-- | ID of the shared drive to search.+flDriveId :: Lens' FilesList (Maybe Text)+flDriveId+  = lens _flDriveId (\ s a -> s{_flDriveId = a})+ instance GoogleRequest FilesList where         type Rs FilesList = FileList         type Scopes FilesList =@@ -205,10 +245,13 @@               _flQ               _flTeamDriveId               (Just _flSpaces)+              (Just _flIncludeItemsFromAllDrives)+              (Just _flSupportsAllDrives)               _flCorpus               _flPageToken               (Just _flPageSize)               (Just _flSupportsTeamDrives)+              _flDriveId               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Files/Update.hs view
@@ -38,6 +38,7 @@     , fuUseContentAsIndexableText     , fuOCRLanguage     , fuKeepRevisionForever+    , fuSupportsAllDrives     , fuFileId     , fuAddParents     , fuSupportsTeamDrives@@ -57,10 +58,11 @@                QueryParam "useContentAsIndexableText" Bool :>                  QueryParam "ocrLanguage" Text :>                    QueryParam "keepRevisionForever" Bool :>-                     QueryParam "addParents" Text :>-                       QueryParam "supportsTeamDrives" Bool :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] File :> Patch '[JSON] File+                     QueryParam "supportsAllDrives" Bool :>+                       QueryParam "addParents" Text :>+                         QueryParam "supportsTeamDrives" Bool :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] File :> Patch '[JSON] File        :<|>        "upload" :>          "drive" :>@@ -71,27 +73,32 @@                    QueryParam "useContentAsIndexableText" Bool :>                      QueryParam "ocrLanguage" Text :>                        QueryParam "keepRevisionForever" Bool :>-                         QueryParam "addParents" Text :>-                           QueryParam "supportsTeamDrives" Bool :>-                             QueryParam "alt" AltJSON :>-                               QueryParam "uploadType" Multipart :>-                                 MultipartRelated '[JSON] File :>-                                   Patch '[JSON] File+                         QueryParam "supportsAllDrives" Bool :>+                           QueryParam "addParents" Text :>+                             QueryParam "supportsTeamDrives" Bool :>+                               QueryParam "alt" AltJSON :>+                                 QueryParam "uploadType" Multipart :>+                                   MultipartRelated '[JSON] File :>+                                     Patch '[JSON] File  -- | Updates a file\'s metadata and\/or content with patch semantics. -- -- /See:/ 'filesUpdate' smart constructor.-data FilesUpdate = FilesUpdate'+data FilesUpdate =+  FilesUpdate'     { _fuPayload                   :: !File     , _fuRemoveParents             :: !(Maybe Text)     , _fuUseContentAsIndexableText :: !Bool     , _fuOCRLanguage               :: !(Maybe Text)     , _fuKeepRevisionForever       :: !Bool+    , _fuSupportsAllDrives         :: !Bool     , _fuFileId                    :: !Text     , _fuAddParents                :: !(Maybe Text)     , _fuSupportsTeamDrives        :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -106,6 +113,8 @@ -- -- * 'fuKeepRevisionForever' --+-- * 'fuSupportsAllDrives'+-- -- * 'fuFileId' -- -- * 'fuAddParents'@@ -116,17 +125,19 @@     -> Text -- ^ 'fuFileId'     -> FilesUpdate filesUpdate pFuPayload_ pFuFileId_ =-    FilesUpdate'+  FilesUpdate'     { _fuPayload = pFuPayload_     , _fuRemoveParents = Nothing     , _fuUseContentAsIndexableText = False     , _fuOCRLanguage = Nothing     , _fuKeepRevisionForever = False+    , _fuSupportsAllDrives = False     , _fuFileId = pFuFileId_     , _fuAddParents = Nothing     , _fuSupportsTeamDrives = False     } + -- | Multipart request metadata. fuPayload :: Lens' FilesUpdate File fuPayload@@ -151,12 +162,19 @@       (\ s a -> s{_fuOCRLanguage = a})  -- | Whether to set the \'keepForever\' field in the new head revision. This--- is only applicable to files with binary content in Drive.+-- is only applicable to files with binary content in Google Drive. fuKeepRevisionForever :: Lens' FilesUpdate Bool fuKeepRevisionForever   = lens _fuKeepRevisionForever       (\ s a -> s{_fuKeepRevisionForever = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+fuSupportsAllDrives :: Lens' FilesUpdate Bool+fuSupportsAllDrives+  = lens _fuSupportsAllDrives+      (\ s a -> s{_fuSupportsAllDrives = a})+ -- | The ID of the file. fuFileId :: Lens' FilesUpdate Text fuFileId = lens _fuFileId (\ s a -> s{_fuFileId = a})@@ -166,7 +184,7 @@ fuAddParents   = lens _fuAddParents (\ s a -> s{_fuAddParents = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fuSupportsTeamDrives :: Lens' FilesUpdate Bool fuSupportsTeamDrives   = lens _fuSupportsTeamDrives@@ -185,6 +203,7 @@               (Just _fuUseContentAsIndexableText)               _fuOCRLanguage               (Just _fuKeepRevisionForever)+              (Just _fuSupportsAllDrives)               _fuAddParents               (Just _fuSupportsTeamDrives)               (Just AltJSON)@@ -204,6 +223,7 @@               (Just _fuUseContentAsIndexableText)               _fuOCRLanguage               (Just _fuKeepRevisionForever)+              (Just _fuSupportsAllDrives)               _fuAddParents               (Just _fuSupportsTeamDrives)               (Just AltJSON)
gen/Network/Google/Resource/Drive/Files/Watch.hs view
@@ -34,6 +34,7 @@      -- * Request Lenses     , fwPayload+    , fwSupportsAllDrives     , fwAcknowledgeAbuse     , fwFileId     , fwSupportsTeamDrives@@ -50,37 +51,45 @@          "files" :>            Capture "fileId" Text :>              "watch" :>-               QueryParam "acknowledgeAbuse" Bool :>-                 QueryParam "supportsTeamDrives" Bool :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Channel :> Post '[JSON] Channel+               QueryParam "supportsAllDrives" Bool :>+                 QueryParam "acknowledgeAbuse" Bool :>+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Channel :> Post '[JSON] Channel        :<|>        "drive" :>          "v3" :>            "files" :>              Capture "fileId" Text :>                "watch" :>-                 QueryParam "acknowledgeAbuse" Bool :>-                   QueryParam "supportsTeamDrives" Bool :>-                     QueryParam "alt" AltMedia :>-                       Post '[OctetStream] Stream+                 QueryParam "supportsAllDrives" Bool :>+                   QueryParam "acknowledgeAbuse" Bool :>+                     QueryParam "supportsTeamDrives" Bool :>+                       QueryParam "alt" AltMedia :>+                         Post '[OctetStream] Stream  -- | Subscribes to changes to a file -- -- /See:/ 'filesWatch' smart constructor.-data FilesWatch = FilesWatch'+data FilesWatch =+  FilesWatch'     { _fwPayload            :: !Channel+    , _fwSupportsAllDrives  :: !Bool     , _fwAcknowledgeAbuse   :: !Bool     , _fwFileId             :: !Text     , _fwSupportsTeamDrives :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'FilesWatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'fwPayload' --+-- * 'fwSupportsAllDrives'+-- -- * 'fwAcknowledgeAbuse' -- -- * 'fwFileId'@@ -91,18 +100,27 @@     -> Text -- ^ 'fwFileId'     -> FilesWatch filesWatch pFwPayload_ pFwFileId_ =-    FilesWatch'+  FilesWatch'     { _fwPayload = pFwPayload_+    , _fwSupportsAllDrives = False     , _fwAcknowledgeAbuse = False     , _fwFileId = pFwFileId_     , _fwSupportsTeamDrives = False     } + -- | Multipart request metadata. fwPayload :: Lens' FilesWatch Channel fwPayload   = lens _fwPayload (\ s a -> s{_fwPayload = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+fwSupportsAllDrives :: Lens' FilesWatch Bool+fwSupportsAllDrives+  = lens _fwSupportsAllDrives+      (\ s a -> s{_fwSupportsAllDrives = a})+ -- | Whether the user is acknowledging the risk of downloading known malware -- or other abusive files. This is only applicable when alt=media. fwAcknowledgeAbuse :: Lens' FilesWatch Bool@@ -114,7 +132,7 @@ fwFileId :: Lens' FilesWatch Text fwFileId = lens _fwFileId (\ s a -> s{_fwFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. fwSupportsTeamDrives :: Lens' FilesWatch Bool fwSupportsTeamDrives   = lens _fwSupportsTeamDrives@@ -131,7 +149,8 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient FilesWatch'{..}-          = go _fwFileId (Just _fwAcknowledgeAbuse)+          = go _fwFileId (Just _fwSupportsAllDrives)+              (Just _fwAcknowledgeAbuse)               (Just _fwSupportsTeamDrives)               (Just AltJSON)               _fwPayload@@ -146,7 +165,8 @@         type Scopes (MediaDownload FilesWatch) =              Scopes FilesWatch         requestClient (MediaDownload FilesWatch'{..})-          = go _fwFileId (Just _fwAcknowledgeAbuse)+          = go _fwFileId (Just _fwSupportsAllDrives)+              (Just _fwAcknowledgeAbuse)               (Just _fwSupportsTeamDrives)               (Just AltMedia)               driveService
gen/Network/Google/Resource/Drive/Permissions/Create.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a permission for a file or Team Drive.+-- Creates a permission for a file or shared drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.create@. module Network.Google.Resource.Drive.Permissions.Create@@ -36,6 +36,7 @@     , pcSendNotificationEmail     , pcPayload     , pcEmailMessage+    , pcSupportsAllDrives     , pcUseDomainAdminAccess     , pcTransferOwnership     , pcFileId@@ -55,25 +56,31 @@              "permissions" :>                QueryParam "sendNotificationEmail" Bool :>                  QueryParam "emailMessage" Text :>-                   QueryParam "useDomainAdminAccess" Bool :>-                     QueryParam "transferOwnership" Bool :>-                       QueryParam "supportsTeamDrives" Bool :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] Permission :> Post '[JSON] Permission+                   QueryParam "supportsAllDrives" Bool :>+                     QueryParam "useDomainAdminAccess" Bool :>+                       QueryParam "transferOwnership" Bool :>+                         QueryParam "supportsTeamDrives" Bool :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Permission :>+                               Post '[JSON] Permission --- | Creates a permission for a file or Team Drive.+-- | Creates a permission for a file or shared drive. -- -- /See:/ 'permissionsCreate' smart constructor.-data PermissionsCreate = PermissionsCreate'+data PermissionsCreate =+  PermissionsCreate'     { _pcSendNotificationEmail :: !(Maybe Bool)     , _pcPayload               :: !Permission     , _pcEmailMessage          :: !(Maybe Text)+    , _pcSupportsAllDrives     :: !Bool     , _pcUseDomainAdminAccess  :: !Bool     , _pcTransferOwnership     :: !Bool     , _pcFileId                :: !Text     , _pcSupportsTeamDrives    :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PermissionsCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -84,6 +91,8 @@ -- -- * 'pcEmailMessage' --+-- * 'pcSupportsAllDrives'+-- -- * 'pcUseDomainAdminAccess' -- -- * 'pcTransferOwnership'@@ -96,16 +105,18 @@     -> Text -- ^ 'pcFileId'     -> PermissionsCreate permissionsCreate pPcPayload_ pPcFileId_ =-    PermissionsCreate'+  PermissionsCreate'     { _pcSendNotificationEmail = Nothing     , _pcPayload = pPcPayload_     , _pcEmailMessage = Nothing+    , _pcSupportsAllDrives = False     , _pcUseDomainAdminAccess = False     , _pcTransferOwnership = False     , _pcFileId = pPcFileId_     , _pcSupportsTeamDrives = False     } + -- | Whether to send a notification email when sharing to users or groups. -- This defaults to true for users and groups, and is not allowed for other -- requests. It must not be disabled for ownership transfers.@@ -125,9 +136,17 @@   = lens _pcEmailMessage       (\ s a -> s{_pcEmailMessage = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+pcSupportsAllDrives :: Lens' PermissionsCreate Bool+pcSupportsAllDrives+  = lens _pcSupportsAllDrives+      (\ s a -> s{_pcSupportsAllDrives = a})+ -- | Issue the request as a domain administrator; if set to true, then the--- requester will be granted access if they are an administrator of the--- domain to which the item belongs.+-- requester will be granted access if the file ID parameter refers to a+-- shared drive and the requester is an administrator of the domain to+-- which the shared drive belongs. pcUseDomainAdminAccess :: Lens' PermissionsCreate Bool pcUseDomainAdminAccess   = lens _pcUseDomainAdminAccess@@ -141,11 +160,11 @@   = lens _pcTransferOwnership       (\ s a -> s{_pcTransferOwnership = a}) --- | The ID of the file or Team Drive.+-- | The ID of the file or shared drive. pcFileId :: Lens' PermissionsCreate Text pcFileId = lens _pcFileId (\ s a -> s{_pcFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. pcSupportsTeamDrives :: Lens' PermissionsCreate Bool pcSupportsTeamDrives   = lens _pcSupportsTeamDrives@@ -159,6 +178,7 @@         requestClient PermissionsCreate'{..}           = go _pcFileId _pcSendNotificationEmail               _pcEmailMessage+              (Just _pcSupportsAllDrives)               (Just _pcUseDomainAdminAccess)               (Just _pcTransferOwnership)               (Just _pcSupportsTeamDrives)
gen/Network/Google/Resource/Drive/Permissions/Delete.hs view
@@ -33,6 +33,7 @@     , PermissionsDelete      -- * Request Lenses+    , pdSupportsAllDrives     , pdUseDomainAdminAccess     , pdFileId     , pdSupportsTeamDrives@@ -51,24 +52,31 @@            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>-                 QueryParam "useDomainAdminAccess" Bool :>-                   QueryParam "supportsTeamDrives" Bool :>-                     QueryParam "alt" AltJSON :> Delete '[JSON] ()+                 QueryParam "supportsAllDrives" Bool :>+                   QueryParam "useDomainAdminAccess" Bool :>+                     QueryParam "supportsTeamDrives" Bool :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] ()  -- | Deletes a permission. -- -- /See:/ 'permissionsDelete' smart constructor.-data PermissionsDelete = PermissionsDelete'-    { _pdUseDomainAdminAccess :: !Bool+data PermissionsDelete =+  PermissionsDelete'+    { _pdSupportsAllDrives    :: !Bool+    , _pdUseDomainAdminAccess :: !Bool     , _pdFileId               :: !Text     , _pdSupportsTeamDrives   :: !Bool     , _pdPermissionId         :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PermissionsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'pdSupportsAllDrives'+-- -- * 'pdUseDomainAdminAccess' -- -- * 'pdFileId'@@ -81,26 +89,36 @@     -> Text -- ^ 'pdPermissionId'     -> PermissionsDelete permissionsDelete pPdFileId_ pPdPermissionId_ =-    PermissionsDelete'-    { _pdUseDomainAdminAccess = False+  PermissionsDelete'+    { _pdSupportsAllDrives = False+    , _pdUseDomainAdminAccess = False     , _pdFileId = pPdFileId_     , _pdSupportsTeamDrives = False     , _pdPermissionId = pPdPermissionId_     } ++-- | Whether the requesting application supports both My Drives and shared+-- drives.+pdSupportsAllDrives :: Lens' PermissionsDelete Bool+pdSupportsAllDrives+  = lens _pdSupportsAllDrives+      (\ s a -> s{_pdSupportsAllDrives = a})+ -- | Issue the request as a domain administrator; if set to true, then the--- requester will be granted access if they are an administrator of the--- domain to which the item belongs.+-- requester will be granted access if the file ID parameter refers to a+-- shared drive and the requester is an administrator of the domain to+-- which the shared drive belongs. pdUseDomainAdminAccess :: Lens' PermissionsDelete Bool pdUseDomainAdminAccess   = lens _pdUseDomainAdminAccess       (\ s a -> s{_pdUseDomainAdminAccess = a}) --- | The ID of the file or Team Drive.+-- | The ID of the file or shared drive. pdFileId :: Lens' PermissionsDelete Text pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. pdSupportsTeamDrives :: Lens' PermissionsDelete Bool pdSupportsTeamDrives   = lens _pdSupportsTeamDrives@@ -119,6 +137,7 @@                "https://www.googleapis.com/auth/drive.file"]         requestClient PermissionsDelete'{..}           = go _pdFileId _pdPermissionId+              (Just _pdSupportsAllDrives)               (Just _pdUseDomainAdminAccess)               (Just _pdSupportsTeamDrives)               (Just AltJSON)
gen/Network/Google/Resource/Drive/Permissions/Get.hs view
@@ -33,6 +33,7 @@     , PermissionsGet      -- * Request Lenses+    , pgSupportsAllDrives     , pgUseDomainAdminAccess     , pgFileId     , pgSupportsTeamDrives@@ -51,24 +52,31 @@            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>-                 QueryParam "useDomainAdminAccess" Bool :>-                   QueryParam "supportsTeamDrives" Bool :>-                     QueryParam "alt" AltJSON :> Get '[JSON] Permission+                 QueryParam "supportsAllDrives" Bool :>+                   QueryParam "useDomainAdminAccess" Bool :>+                     QueryParam "supportsTeamDrives" Bool :>+                       QueryParam "alt" AltJSON :> Get '[JSON] Permission  -- | Gets a permission by ID. -- -- /See:/ 'permissionsGet' smart constructor.-data PermissionsGet = PermissionsGet'-    { _pgUseDomainAdminAccess :: !Bool+data PermissionsGet =+  PermissionsGet'+    { _pgSupportsAllDrives    :: !Bool+    , _pgUseDomainAdminAccess :: !Bool     , _pgFileId               :: !Text     , _pgSupportsTeamDrives   :: !Bool     , _pgPermissionId         :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PermissionsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'pgSupportsAllDrives'+-- -- * 'pgUseDomainAdminAccess' -- -- * 'pgFileId'@@ -81,16 +89,26 @@     -> Text -- ^ 'pgPermissionId'     -> PermissionsGet permissionsGet pPgFileId_ pPgPermissionId_ =-    PermissionsGet'-    { _pgUseDomainAdminAccess = False+  PermissionsGet'+    { _pgSupportsAllDrives = False+    , _pgUseDomainAdminAccess = False     , _pgFileId = pPgFileId_     , _pgSupportsTeamDrives = False     , _pgPermissionId = pPgPermissionId_     } ++-- | Whether the requesting application supports both My Drives and shared+-- drives.+pgSupportsAllDrives :: Lens' PermissionsGet Bool+pgSupportsAllDrives+  = lens _pgSupportsAllDrives+      (\ s a -> s{_pgSupportsAllDrives = a})+ -- | Issue the request as a domain administrator; if set to true, then the--- requester will be granted access if they are an administrator of the--- domain to which the item belongs.+-- requester will be granted access if the file ID parameter refers to a+-- shared drive and the requester is an administrator of the domain to+-- which the shared drive belongs. pgUseDomainAdminAccess :: Lens' PermissionsGet Bool pgUseDomainAdminAccess   = lens _pgUseDomainAdminAccess@@ -100,7 +118,7 @@ pgFileId :: Lens' PermissionsGet Text pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. pgSupportsTeamDrives :: Lens' PermissionsGet Bool pgSupportsTeamDrives   = lens _pgSupportsTeamDrives@@ -123,6 +141,7 @@                "https://www.googleapis.com/auth/drive.readonly"]         requestClient PermissionsGet'{..}           = go _pgFileId _pgPermissionId+              (Just _pgSupportsAllDrives)               (Just _pgUseDomainAdminAccess)               (Just _pgSupportsTeamDrives)               (Just AltJSON)
gen/Network/Google/Resource/Drive/Permissions/List.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists a file\'s or Team Drive\'s permissions.+-- Lists a file\'s or shared drive\'s permissions. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.list@. module Network.Google.Resource.Drive.Permissions.List@@ -33,6 +33,7 @@     , PermissionsList      -- * Request Lenses+    , plSupportsAllDrives     , plPageToken     , plUseDomainAdminAccess     , plFileId@@ -51,28 +52,35 @@          "files" :>            Capture "fileId" Text :>              "permissions" :>-               QueryParam "pageToken" Text :>-                 QueryParam "useDomainAdminAccess" Bool :>-                   QueryParam "pageSize" (Textual Int32) :>-                     QueryParam "supportsTeamDrives" Bool :>-                       QueryParam "alt" AltJSON :>-                         Get '[JSON] PermissionList+               QueryParam "supportsAllDrives" Bool :>+                 QueryParam "pageToken" Text :>+                   QueryParam "useDomainAdminAccess" Bool :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "supportsTeamDrives" Bool :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] PermissionList --- | Lists a file\'s or Team Drive\'s permissions.+-- | Lists a file\'s or shared drive\'s permissions. -- -- /See:/ 'permissionsList' smart constructor.-data PermissionsList = PermissionsList'-    { _plPageToken            :: !(Maybe Text)+data PermissionsList =+  PermissionsList'+    { _plSupportsAllDrives    :: !Bool+    , _plPageToken            :: !(Maybe Text)     , _plUseDomainAdminAccess :: !Bool     , _plFileId               :: !Text     , _plPageSize             :: !(Maybe (Textual Int32))     , _plSupportsTeamDrives   :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PermissionsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'plSupportsAllDrives'+-- -- * 'plPageToken' -- -- * 'plUseDomainAdminAccess'@@ -86,14 +94,23 @@     :: Text -- ^ 'plFileId'     -> PermissionsList permissionsList pPlFileId_ =-    PermissionsList'-    { _plPageToken = Nothing+  PermissionsList'+    { _plSupportsAllDrives = False+    , _plPageToken = Nothing     , _plUseDomainAdminAccess = False     , _plFileId = pPlFileId_     , _plPageSize = Nothing     , _plSupportsTeamDrives = False     } ++-- | Whether the requesting application supports both My Drives and shared+-- drives.+plSupportsAllDrives :: Lens' PermissionsList Bool+plSupportsAllDrives+  = lens _plSupportsAllDrives+      (\ s a -> s{_plSupportsAllDrives = a})+ -- | The token for continuing a previous list request on the next page. This -- should be set to the value of \'nextPageToken\' from the previous -- response.@@ -102,27 +119,28 @@   = lens _plPageToken (\ s a -> s{_plPageToken = a})  -- | Issue the request as a domain administrator; if set to true, then the--- requester will be granted access if they are an administrator of the--- domain to which the item belongs.+-- requester will be granted access if the file ID parameter refers to a+-- shared drive and the requester is an administrator of the domain to+-- which the shared drive belongs. plUseDomainAdminAccess :: Lens' PermissionsList Bool plUseDomainAdminAccess   = lens _plUseDomainAdminAccess       (\ s a -> s{_plUseDomainAdminAccess = a}) --- | The ID of the file or Team Drive.+-- | The ID of the file or shared drive. plFileId :: Lens' PermissionsList Text plFileId = lens _plFileId (\ s a -> s{_plFileId = a})  -- | The maximum number of permissions to return per page. When not set for--- files in a Team Drive, at most 100 results will be returned. When not--- set for files that are not in a Team Drive, the entire list will be+-- files in a shared drive, at most 100 results will be returned. When not+-- set for files that are not in a shared drive, the entire list will be -- returned. plPageSize :: Lens' PermissionsList (Maybe Int32) plPageSize   = lens _plPageSize (\ s a -> s{_plPageSize = a}) .       mapping _Coerce --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. plSupportsTeamDrives :: Lens' PermissionsList Bool plSupportsTeamDrives   = lens _plSupportsTeamDrives@@ -138,7 +156,8 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient PermissionsList'{..}-          = go _plFileId _plPageToken+          = go _plFileId (Just _plSupportsAllDrives)+              _plPageToken               (Just _plUseDomainAdminAccess)               _plPageSize               (Just _plSupportsTeamDrives)
gen/Network/Google/Resource/Drive/Permissions/Update.hs view
@@ -34,6 +34,7 @@      -- * Request Lenses     , puPayload+    , puSupportsAllDrives     , puRemoveExpiration     , puUseDomainAdminAccess     , puTransferOwnership@@ -54,33 +55,40 @@            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>-                 QueryParam "removeExpiration" Bool :>-                   QueryParam "useDomainAdminAccess" Bool :>-                     QueryParam "transferOwnership" Bool :>-                       QueryParam "supportsTeamDrives" Bool :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] Permission :>-                             Patch '[JSON] Permission+                 QueryParam "supportsAllDrives" Bool :>+                   QueryParam "removeExpiration" Bool :>+                     QueryParam "useDomainAdminAccess" Bool :>+                       QueryParam "transferOwnership" Bool :>+                         QueryParam "supportsTeamDrives" Bool :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Permission :>+                               Patch '[JSON] Permission  -- | Updates a permission with patch semantics. -- -- /See:/ 'permissionsUpdate' smart constructor.-data PermissionsUpdate = PermissionsUpdate'+data PermissionsUpdate =+  PermissionsUpdate'     { _puPayload              :: !Permission+    , _puSupportsAllDrives    :: !Bool     , _puRemoveExpiration     :: !Bool     , _puUseDomainAdminAccess :: !Bool     , _puTransferOwnership    :: !Bool     , _puFileId               :: !Text     , _puSupportsTeamDrives   :: !Bool     , _puPermissionId         :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'PermissionsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'puPayload' --+-- * 'puSupportsAllDrives'+-- -- * 'puRemoveExpiration' -- -- * 'puUseDomainAdminAccess'@@ -98,8 +106,9 @@     -> Text -- ^ 'puPermissionId'     -> PermissionsUpdate permissionsUpdate pPuPayload_ pPuFileId_ pPuPermissionId_ =-    PermissionsUpdate'+  PermissionsUpdate'     { _puPayload = pPuPayload_+    , _puSupportsAllDrives = False     , _puRemoveExpiration = False     , _puUseDomainAdminAccess = False     , _puTransferOwnership = False@@ -108,11 +117,19 @@     , _puPermissionId = pPuPermissionId_     } + -- | Multipart request metadata. puPayload :: Lens' PermissionsUpdate Permission puPayload   = lens _puPayload (\ s a -> s{_puPayload = a}) +-- | Whether the requesting application supports both My Drives and shared+-- drives.+puSupportsAllDrives :: Lens' PermissionsUpdate Bool+puSupportsAllDrives+  = lens _puSupportsAllDrives+      (\ s a -> s{_puSupportsAllDrives = a})+ -- | Whether to remove the expiration date. puRemoveExpiration :: Lens' PermissionsUpdate Bool puRemoveExpiration@@ -120,8 +137,9 @@       (\ s a -> s{_puRemoveExpiration = a})  -- | Issue the request as a domain administrator; if set to true, then the--- requester will be granted access if they are an administrator of the--- domain to which the item belongs.+-- requester will be granted access if the file ID parameter refers to a+-- shared drive and the requester is an administrator of the domain to+-- which the shared drive belongs. puUseDomainAdminAccess :: Lens' PermissionsUpdate Bool puUseDomainAdminAccess   = lens _puUseDomainAdminAccess@@ -135,11 +153,11 @@   = lens _puTransferOwnership       (\ s a -> s{_puTransferOwnership = a}) --- | The ID of the file or Team Drive.+-- | The ID of the file or shared drive. puFileId :: Lens' PermissionsUpdate Text puFileId = lens _puFileId (\ s a -> s{_puFileId = a}) --- | Whether the requesting application supports Team Drives.+-- | Deprecated use supportsAllDrives instead. puSupportsTeamDrives :: Lens' PermissionsUpdate Bool puSupportsTeamDrives   = lens _puSupportsTeamDrives@@ -158,6 +176,7 @@                "https://www.googleapis.com/auth/drive.file"]         requestClient PermissionsUpdate'{..}           = go _puFileId _puPermissionId+              (Just _puSupportsAllDrives)               (Just _puRemoveExpiration)               (Just _puUseDomainAdminAccess)               (Just _puTransferOwnership)
gen/Network/Google/Resource/Drive/Replies/Create.hs view
@@ -57,12 +57,15 @@ -- | Creates a new reply to a comment. -- -- /See:/ 'repliesCreate' smart constructor.-data RepliesCreate = RepliesCreate'+data RepliesCreate =+  RepliesCreate'     { _rcPayload   :: !Reply     , _rcFileId    :: !Text     , _rcCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RepliesCreate' 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 -- ^ 'rcCommentId'     -> RepliesCreate repliesCreate pRcPayload_ pRcFileId_ pRcCommentId_ =-    RepliesCreate'+  RepliesCreate'     { _rcPayload = pRcPayload_     , _rcFileId = pRcFileId_     , _rcCommentId = pRcCommentId_     }+  -- | Multipart request metadata. rcPayload :: Lens' RepliesCreate Reply
gen/Network/Google/Resource/Drive/Replies/Delete.hs view
@@ -57,12 +57,15 @@ -- | Deletes a reply. -- -- /See:/ 'repliesDelete' smart constructor.-data RepliesDelete = RepliesDelete'+data RepliesDelete =+  RepliesDelete'     { _rdReplyId   :: !Text     , _rdFileId    :: !Text     , _rdCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RepliesDelete' 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 -- ^ 'rdCommentId'     -> RepliesDelete repliesDelete pRdReplyId_ pRdFileId_ pRdCommentId_ =-    RepliesDelete'+  RepliesDelete'     { _rdReplyId = pRdReplyId_     , _rdFileId = pRdFileId_     , _rdCommentId = pRdCommentId_     }+  -- | The ID of the reply. rdReplyId :: Lens' RepliesDelete Text
gen/Network/Google/Resource/Drive/Replies/Get.hs view
@@ -59,13 +59,16 @@ -- | Gets a reply by ID. -- -- /See:/ 'repliesGet' smart constructor.-data RepliesGet = RepliesGet'+data RepliesGet =+  RepliesGet'     { _rgReplyId        :: !Text     , _rgFileId         :: !Text     , _rgCommentId      :: !Text     , _rgIncludeDeleted :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RepliesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -83,12 +86,13 @@     -> Text -- ^ 'rgCommentId'     -> RepliesGet repliesGet pRgReplyId_ pRgFileId_ pRgCommentId_ =-    RepliesGet'+  RepliesGet'     { _rgReplyId = pRgReplyId_     , _rgFileId = pRgFileId_     , _rgCommentId = pRgCommentId_     , _rgIncludeDeleted = False     }+  -- | The ID of the reply. rgReplyId :: Lens' RepliesGet Text
gen/Network/Google/Resource/Drive/Replies/List.hs view
@@ -61,14 +61,17 @@ -- | Lists a comment\'s replies. -- -- /See:/ 'repliesList' smart constructor.-data RepliesList = RepliesList'+data RepliesList =+  RepliesList'     { _rlPageToken      :: !(Maybe Text)     , _rlFileId         :: !Text     , _rlCommentId      :: !Text     , _rlPageSize       :: !(Textual Int32)     , _rlIncludeDeleted :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RepliesList' 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 -- ^ 'rlCommentId'     -> RepliesList repliesList pRlFileId_ pRlCommentId_ =-    RepliesList'+  RepliesList'     { _rlPageToken = Nothing     , _rlFileId = pRlFileId_     , _rlCommentId = pRlCommentId_     , _rlPageSize = 20     , _rlIncludeDeleted = False     }+  -- | The token for continuing a previous list request on the next page. This -- should be set to the value of \'nextPageToken\' from the previous
gen/Network/Google/Resource/Drive/Replies/Update.hs view
@@ -59,13 +59,16 @@ -- | Updates a reply with patch semantics. -- -- /See:/ 'repliesUpdate' smart constructor.-data RepliesUpdate = RepliesUpdate'+data RepliesUpdate =+  RepliesUpdate'     { _ruPayload   :: !Reply     , _ruReplyId   :: !Text     , _ruFileId    :: !Text     , _ruCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RepliesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -84,12 +87,13 @@     -> Text -- ^ 'ruCommentId'     -> RepliesUpdate repliesUpdate pRuPayload_ pRuReplyId_ pRuFileId_ pRuCommentId_ =-    RepliesUpdate'+  RepliesUpdate'     { _ruPayload = pRuPayload_     , _ruReplyId = pRuReplyId_     , _ruFileId = pRuFileId_     , _ruCommentId = pRuCommentId_     }+  -- | Multipart request metadata. ruPayload :: Lens' RepliesUpdate Reply
gen/Network/Google/Resource/Drive/Revisions/Delete.hs view
@@ -20,8 +20,10 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Permanently deletes a revision. This method is only applicable to files--- with binary content in Drive.+-- Permanently deletes a file version. You can only delete revisions for+-- files with binary content in Google Drive, like images or videos.+-- Revisions for other files, like Google Docs or Sheets, and the last+-- remaining file version can\'t be deleted. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.delete@. module Network.Google.Resource.Drive.Revisions.Delete@@ -52,15 +54,20 @@                Capture "revisionId" Text :>                  QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Permanently deletes a revision. This method is only applicable to files--- with binary content in Drive.+-- | Permanently deletes a file version. You can only delete revisions for+-- files with binary content in Google Drive, like images or videos.+-- Revisions for other files, like Google Docs or Sheets, and the last+-- remaining file version can\'t be deleted. -- -- /See:/ 'revisionsDelete' smart constructor.-data RevisionsDelete = RevisionsDelete'+data RevisionsDelete =+  RevisionsDelete'     { _rFileId     :: !Text     , _rRevisionId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RevisionsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,10 +80,8 @@     -> Text -- ^ 'rRevisionId'     -> RevisionsDelete revisionsDelete pRFileId_ pRRevisionId_ =-    RevisionsDelete'-    { _rFileId = pRFileId_-    , _rRevisionId = pRRevisionId_-    }+  RevisionsDelete' {_rFileId = pRFileId_, _rRevisionId = pRRevisionId_}+  -- | The ID of the file. rFileId :: Lens' RevisionsDelete Text
gen/Network/Google/Resource/Drive/Revisions/Get.hs view
@@ -66,12 +66,15 @@ -- | Gets a revision\'s metadata or content by ID. -- -- /See:/ 'revisionsGet' smart constructor.-data RevisionsGet = RevisionsGet'+data RevisionsGet =+  RevisionsGet'     { _rggAcknowledgeAbuse :: !Bool     , _rggFileId           :: !Text     , _rggRevisionId       :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RevisionsGet' 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 -- ^ 'rggRevisionId'     -> RevisionsGet revisionsGet pRggFileId_ pRggRevisionId_ =-    RevisionsGet'+  RevisionsGet'     { _rggAcknowledgeAbuse = False     , _rggFileId = pRggFileId_     , _rggRevisionId = pRggRevisionId_     }+  -- | Whether the user is acknowledging the risk of downloading known malware -- or other abusive files. This is only applicable when alt=media.
gen/Network/Google/Resource/Drive/Revisions/List.hs view
@@ -56,12 +56,15 @@ -- | Lists a file\'s revisions. -- -- /See:/ 'revisionsList' smart constructor.-data RevisionsList = RevisionsList'+data RevisionsList =+  RevisionsList'     { _rllPageToken :: !(Maybe Text)     , _rllFileId    :: !Text     , _rllPageSize  :: !(Textual Int32)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RevisionsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -75,11 +78,9 @@     :: Text -- ^ 'rllFileId'     -> RevisionsList revisionsList pRllFileId_ =-    RevisionsList'-    { _rllPageToken = Nothing-    , _rllFileId = pRllFileId_-    , _rllPageSize = 200-    }+  RevisionsList'+    {_rllPageToken = Nothing, _rllFileId = pRllFileId_, _rllPageSize = 200}+  -- | The token for continuing a previous list request on the next page. This -- should be set to the value of \'nextPageToken\' from the previous
gen/Network/Google/Resource/Drive/Revisions/Update.hs view
@@ -56,12 +56,15 @@ -- | Updates a revision with patch semantics. -- -- /See:/ 'revisionsUpdate' smart constructor.-data RevisionsUpdate = RevisionsUpdate'+data RevisionsUpdate =+  RevisionsUpdate'     { _revPayload    :: !Revision     , _revFileId     :: !Text     , _revRevisionId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'RevisionsUpdate' 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 -- ^ 'revRevisionId'     -> RevisionsUpdate revisionsUpdate pRevPayload_ pRevFileId_ pRevRevisionId_ =-    RevisionsUpdate'+  RevisionsUpdate'     { _revPayload = pRevPayload_     , _revFileId = pRevFileId_     , _revRevisionId = pRevRevisionId_     }+  -- | Multipart request metadata. revPayload :: Lens' RevisionsUpdate Revision
gen/Network/Google/Resource/Drive/Teamdrives/Create.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a new Team Drive.+-- Deprecated use drives.create instead. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.create@. module Network.Google.Resource.Drive.Teamdrives.Create@@ -50,14 +50,17 @@              QueryParam "alt" AltJSON :>                ReqBody '[JSON] TeamDrive :> Post '[JSON] TeamDrive --- | Creates a new Team Drive.+-- | Deprecated use drives.create instead. -- -- /See:/ 'teamdrivesCreate' smart constructor.-data TeamdrivesCreate = TeamdrivesCreate'+data TeamdrivesCreate =+  TeamdrivesCreate'     { _tcRequestId :: !Text     , _tcPayload   :: !TeamDrive-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TeamdrivesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -70,10 +73,8 @@     -> TeamDrive -- ^ 'tcPayload'     -> TeamdrivesCreate teamdrivesCreate pTcRequestId_ pTcPayload_ =-    TeamdrivesCreate'-    { _tcRequestId = pTcRequestId_-    , _tcPayload = pTcPayload_-    }+  TeamdrivesCreate' {_tcRequestId = pTcRequestId_, _tcPayload = pTcPayload_}+  -- | An ID, such as a random UUID, which uniquely identifies this user\'s -- request for idempotent creation of a Team Drive. A repeated request by
gen/Network/Google/Resource/Drive/Teamdrives/Delete.hs view
@@ -20,8 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Permanently deletes a Team Drive for which the user is an organizer. The--- Team Drive cannot contain any untrashed items.+-- Deprecated use drives.delete instead. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.delete@. module Network.Google.Resource.Drive.Teamdrives.Delete@@ -49,14 +48,16 @@            Capture "teamDriveId" Text :>              QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Permanently deletes a Team Drive for which the user is an organizer. The--- Team Drive cannot contain any untrashed items.+-- | Deprecated use drives.delete instead. -- -- /See:/ 'teamdrivesDelete' smart constructor.-newtype TeamdrivesDelete = TeamdrivesDelete'+newtype TeamdrivesDelete =+  TeamdrivesDelete'     { _tdTeamDriveId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TeamdrivesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,9 +67,8 @@     :: Text -- ^ 'tdTeamDriveId'     -> TeamdrivesDelete teamdrivesDelete pTdTeamDriveId_ =-    TeamdrivesDelete'-    { _tdTeamDriveId = pTdTeamDriveId_-    }+  TeamdrivesDelete' {_tdTeamDriveId = pTdTeamDriveId_}+  -- | The ID of the Team Drive tdTeamDriveId :: Lens' TeamdrivesDelete Text
gen/Network/Google/Resource/Drive/Teamdrives/Get.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Gets a Team Drive\'s metadata by ID.+-- Deprecated use drives.get instead. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.get@. module Network.Google.Resource.Drive.Teamdrives.Get@@ -50,14 +50,17 @@              QueryParam "useDomainAdminAccess" Bool :>                QueryParam "alt" AltJSON :> Get '[JSON] TeamDrive --- | Gets a Team Drive\'s metadata by ID.+-- | Deprecated use drives.get instead. -- -- /See:/ 'teamdrivesGet' smart constructor.-data TeamdrivesGet = TeamdrivesGet'+data TeamdrivesGet =+  TeamdrivesGet'     { _tgTeamDriveId          :: !Text     , _tgUseDomainAdminAccess :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TeamdrivesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,10 +72,9 @@     :: Text -- ^ 'tgTeamDriveId'     -> TeamdrivesGet teamdrivesGet pTgTeamDriveId_ =-    TeamdrivesGet'-    { _tgTeamDriveId = pTgTeamDriveId_-    , _tgUseDomainAdminAccess = False-    }+  TeamdrivesGet'+    {_tgTeamDriveId = pTgTeamDriveId_, _tgUseDomainAdminAccess = False}+  -- | The ID of the Team Drive tgTeamDriveId :: Lens' TeamdrivesGet Text
gen/Network/Google/Resource/Drive/Teamdrives/List.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists the user\'s Team Drives.+-- Deprecated use drives.list instead. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.list@. module Network.Google.Resource.Drive.Teamdrives.List@@ -54,16 +54,19 @@                  QueryParam "pageSize" (Textual Int32) :>                    QueryParam "alt" AltJSON :> Get '[JSON] TeamDriveList --- | Lists the user\'s Team Drives.+-- | Deprecated use drives.list instead. -- -- /See:/ 'teamdrivesList' smart constructor.-data TeamdrivesList = TeamdrivesList'+data TeamdrivesList =+  TeamdrivesList'     { _tlQ                    :: !(Maybe Text)     , _tlPageToken            :: !(Maybe Text)     , _tlUseDomainAdminAccess :: !Bool     , _tlPageSize             :: !(Textual Int32)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TeamdrivesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -78,12 +81,13 @@ teamdrivesList     :: TeamdrivesList teamdrivesList =-    TeamdrivesList'+  TeamdrivesList'     { _tlQ = Nothing     , _tlPageToken = Nothing     , _tlUseDomainAdminAccess = False     , _tlPageSize = 10     }+  -- | Query string for searching Team Drives. tlQ :: Lens' TeamdrivesList (Maybe Text)
gen/Network/Google/Resource/Drive/Teamdrives/Update.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates a Team Drive\'s metadata+-- Deprecated use drives.update instead -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.update@. module Network.Google.Resource.Drive.Teamdrives.Update@@ -52,15 +52,18 @@                QueryParam "alt" AltJSON :>                  ReqBody '[JSON] TeamDrive :> Patch '[JSON] TeamDrive --- | Updates a Team Drive\'s metadata+-- | Deprecated use drives.update instead -- -- /See:/ 'teamdrivesUpdate' smart constructor.-data TeamdrivesUpdate = TeamdrivesUpdate'+data TeamdrivesUpdate =+  TeamdrivesUpdate'     { _tuPayload              :: !TeamDrive     , _tuTeamDriveId          :: !Text     , _tuUseDomainAdminAccess :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'TeamdrivesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -75,11 +78,12 @@     -> Text -- ^ 'tuTeamDriveId'     -> TeamdrivesUpdate teamdrivesUpdate pTuPayload_ pTuTeamDriveId_ =-    TeamdrivesUpdate'+  TeamdrivesUpdate'     { _tuPayload = pTuPayload_     , _tuTeamDriveId = pTuTeamDriveId_     , _tuUseDomainAdminAccess = False     }+  -- | Multipart request metadata. tuPayload :: Lens' TeamdrivesUpdate TeamDrive
gogol-drive.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-drive-version:               0.4.0+version:               0.5.0 synopsis:              Google Drive SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -46,6 +46,13 @@         , Network.Google.Resource.Drive.Comments.Get         , Network.Google.Resource.Drive.Comments.List         , Network.Google.Resource.Drive.Comments.Update+        , Network.Google.Resource.Drive.Drives.Create+        , Network.Google.Resource.Drive.Drives.Delete+        , Network.Google.Resource.Drive.Drives.Get+        , Network.Google.Resource.Drive.Drives.Hide+        , Network.Google.Resource.Drive.Drives.List+        , Network.Google.Resource.Drive.Drives.Unhide+        , Network.Google.Resource.Drive.Drives.Update         , Network.Google.Resource.Drive.Files.Copy         , Network.Google.Resource.Drive.Files.Create         , Network.Google.Resource.Drive.Files.Delete@@ -81,5 +88,5 @@         , Network.Google.Drive.Types.Sum      build-depends:-          gogol-core == 0.4.0.*+          gogol-core == 0.5.0.*         , base       >= 4.7 && < 5