packages feed

gogol-drive 0.3.0 → 0.4.0

raw patch · 26 files changed

+5857/−3220 lines, 26 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

+ Network.Google.Drive: aCanCreateTeamDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive: aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]
+ Network.Google.Drive: aboutTeamDriveThemesItem :: AboutTeamDriveThemesItem
+ Network.Google.Drive: atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive: chaTeamDrive :: Lens' Change (Maybe TeamDrive)
+ Network.Google.Drive: chaTeamDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive: chaType :: Lens' Change (Maybe Text)
+ Network.Google.Drive: data AboutTeamDriveThemesItem
+ Network.Google.Drive: data FileExportLinks
+ Network.Google.Drive: data PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive: data RevisionExportLinks
+ Network.Google.Drive: data TeamDrive
+ Network.Google.Drive: data TeamDriveBackgRoundImageFile
+ Network.Google.Drive: data TeamDriveCapabilities
+ Network.Google.Drive: data TeamDriveList
+ Network.Google.Drive: data TeamDriveRestrictions
+ Network.Google.Drive: fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)
+ Network.Google.Drive: fExportLinks :: Lens' File (Maybe FileExportLinks)
+ Network.Google.Drive: fHasAugmentedPermissions :: Lens' File (Maybe Bool)
+ Network.Google.Drive: fPermissionIds :: Lens' File [Text]
+ Network.Google.Drive: fTeamDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive: fTrashedTime :: Lens' File (Maybe UTCTime)
+ Network.Google.Drive: fTrashingUser :: Lens' File (Maybe User)
+ Network.Google.Drive: fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDelete :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanDownload :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanRename :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanTrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive: felAddtional :: Lens' FileExportLinks (HashMap Text Text)
+ Network.Google.Drive: fileExportLinks :: HashMap Text Text -> FileExportLinks
+ Network.Google.Drive: flIncompleteSearch :: Lens' FileList (Maybe Bool)
+ Network.Google.Drive: pDeleted :: Lens' Permission (Maybe Bool)
+ Network.Google.Drive: pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]
+ Network.Google.Drive: permissionTeamDrivePermissionDetailsItem :: PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive: plNextPageToken :: Lens' PermissionList (Maybe Text)
+ Network.Google.Drive: ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive: ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive: relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)
+ Network.Google.Drive: revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)
+ Network.Google.Drive: revisionExportLinks :: HashMap Text Text -> RevisionExportLinks
+ Network.Google.Drive: tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)
+ Network.Google.Drive: tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)
+ Network.Google.Drive: tdColorRgb :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)
+ Network.Google.Drive: tdId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdKind :: Lens' TeamDrive Text
+ Network.Google.Drive: tdName :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)
+ Network.Google.Drive: tdThemeId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive: tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive: tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive: tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive: tdlKind :: Lens' TeamDriveList Text
+ Network.Google.Drive: tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)
+ Network.Google.Drive: tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]
+ Network.Google.Drive: tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive: teamDrive :: TeamDrive
+ Network.Google.Drive: teamDriveBackgRoundImageFile :: TeamDriveBackgRoundImageFile
+ Network.Google.Drive: teamDriveCapabilities :: TeamDriveCapabilities
+ Network.Google.Drive: teamDriveList :: TeamDriveList
+ Network.Google.Drive: teamDriveRestrictions :: TeamDriveRestrictions
+ Network.Google.Drive.Types: aCanCreateTeamDrives :: Lens' About (Maybe Bool)
+ Network.Google.Drive.Types: aTeamDriveThemes :: Lens' About [AboutTeamDriveThemesItem]
+ Network.Google.Drive.Types: aboutTeamDriveThemesItem :: AboutTeamDriveThemesItem
+ Network.Google.Drive.Types: atdtiBackgRoundImageLink :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: atdtiColorRgb :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: atdtiId :: Lens' AboutTeamDriveThemesItem (Maybe Text)
+ Network.Google.Drive.Types: chaTeamDrive :: Lens' Change (Maybe TeamDrive)
+ Network.Google.Drive.Types: chaTeamDriveId :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: chaType :: Lens' Change (Maybe Text)
+ Network.Google.Drive.Types: data AboutTeamDriveThemesItem
+ Network.Google.Drive.Types: data FileExportLinks
+ Network.Google.Drive.Types: data PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive.Types: data RevisionExportLinks
+ Network.Google.Drive.Types: data TeamDrive
+ Network.Google.Drive.Types: data TeamDriveBackgRoundImageFile
+ Network.Google.Drive.Types: data TeamDriveCapabilities
+ Network.Google.Drive.Types: data TeamDriveList
+ Network.Google.Drive.Types: data TeamDriveRestrictions
+ Network.Google.Drive.Types: fCopyRequiresWriterPermission :: Lens' File (Maybe Bool)
+ Network.Google.Drive.Types: fExportLinks :: Lens' File (Maybe FileExportLinks)
+ Network.Google.Drive.Types: fHasAugmentedPermissions :: Lens' File (Maybe Bool)
+ Network.Google.Drive.Types: fPermissionIds :: Lens' File [Text]
+ Network.Google.Drive.Types: fTeamDriveId :: Lens' File (Maybe Text)
+ Network.Google.Drive.Types: fTrashedTime :: Lens' File (Maybe UTCTime)
+ Network.Google.Drive.Types: fTrashingUser :: Lens' File (Maybe User)
+ Network.Google.Drive.Types: fcCanAddChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanChangeCopyRequiresWriterPermission :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanChangeViewersCanCopyContent :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDelete :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDeleteChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanDownload :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanListChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveChildrenOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveChildrenWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemIntoTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemOutOfTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveItemWithinTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanMoveTeamDriveItem :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanReadTeamDrive :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanRemoveChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanRename :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanTrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanTrashChildren :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: fcCanUntrash :: Lens' FileCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: felAddtional :: Lens' FileExportLinks (HashMap Text Text)
+ Network.Google.Drive.Types: fileExportLinks :: HashMap Text Text -> FileExportLinks
+ Network.Google.Drive.Types: flIncompleteSearch :: Lens' FileList (Maybe Bool)
+ Network.Google.Drive.Types: pDeleted :: Lens' Permission (Maybe Bool)
+ Network.Google.Drive.Types: pTeamDrivePermissionDetails :: Lens' Permission [PermissionTeamDrivePermissionDetailsItem]
+ Network.Google.Drive.Types: permissionTeamDrivePermissionDetailsItem :: PermissionTeamDrivePermissionDetailsItem
+ Network.Google.Drive.Types: plNextPageToken :: Lens' PermissionList (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiInherited :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Bool)
+ Network.Google.Drive.Types: ptdpdiInheritedFrom :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiRole :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: ptdpdiTeamDrivePermissionType :: Lens' PermissionTeamDrivePermissionDetailsItem (Maybe Text)
+ Network.Google.Drive.Types: relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)
+ Network.Google.Drive.Types: revExportLinks :: Lens' Revision (Maybe RevisionExportLinks)
+ Network.Google.Drive.Types: revisionExportLinks :: HashMap Text Text -> RevisionExportLinks
+ Network.Google.Drive.Types: tdBackgRoundImageFile :: Lens' TeamDrive (Maybe TeamDriveBackgRoundImageFile)
+ Network.Google.Drive.Types: tdBackgRoundImageLink :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdCapabilities :: Lens' TeamDrive (Maybe TeamDriveCapabilities)
+ Network.Google.Drive.Types: tdColorRgb :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdCreatedTime :: Lens' TeamDrive (Maybe UTCTime)
+ Network.Google.Drive.Types: tdId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdKind :: Lens' TeamDrive Text
+ Network.Google.Drive.Types: tdName :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdRestrictions :: Lens' TeamDrive (Maybe TeamDriveRestrictions)
+ Network.Google.Drive.Types: tdThemeId :: Lens' TeamDrive (Maybe Text)
+ Network.Google.Drive.Types: tdbrifId :: Lens' TeamDriveBackgRoundImageFile (Maybe Text)
+ Network.Google.Drive.Types: tdbrifWidth :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdbrifXCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdbrifYCoordinate :: Lens' TeamDriveBackgRoundImageFile (Maybe Double)
+ Network.Google.Drive.Types: tdcCanAddChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeCopyRequiresWriterPermissionRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeDomainUsersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeTeamDriveBackgRound :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanChangeTeamMembersOnlyRestriction :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanComment :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanCopy :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDeleteChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDeleteTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanDownload :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanEdit :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanListChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanManageMembers :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanReadRevisions :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRemoveChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRename :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanRenameTeamDrive :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanShare :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdcCanTrashChildren :: Lens' TeamDriveCapabilities (Maybe Bool)
+ Network.Google.Drive.Types: tdlKind :: Lens' TeamDriveList Text
+ Network.Google.Drive.Types: tdlNextPageToken :: Lens' TeamDriveList (Maybe Text)
+ Network.Google.Drive.Types: tdlTeamDrives :: Lens' TeamDriveList [TeamDrive]
+ Network.Google.Drive.Types: tdrAdminManagedRestrictions :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrCopyRequiresWriterPermission :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrDomainUsersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: tdrTeamMembersOnly :: Lens' TeamDriveRestrictions (Maybe Bool)
+ Network.Google.Drive.Types: teamDrive :: TeamDrive
+ Network.Google.Drive.Types: teamDriveBackgRoundImageFile :: TeamDriveBackgRoundImageFile
+ Network.Google.Drive.Types: teamDriveCapabilities :: TeamDriveCapabilities
+ Network.Google.Drive.Types: teamDriveList :: TeamDriveList
+ Network.Google.Drive.Types: teamDriveRestrictions :: TeamDriveRestrictions
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptSupportsTeamDrives :: Lens' ChangesGetStartPageToken Bool
+ Network.Google.Resource.Drive.Changes.GetStartPageToken: cgsptTeamDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)
+ Network.Google.Resource.Drive.Changes.List: clIncludeCorpusRemovals :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clIncludeTeamDriveItems :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clSupportsTeamDrives :: Lens' ChangesList Bool
+ Network.Google.Resource.Drive.Changes.List: clTeamDriveId :: Lens' ChangesList (Maybe Text)
+ Network.Google.Resource.Drive.Changes.Watch: cwIncludeCorpusRemovals :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwIncludeTeamDriveItems :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwSupportsTeamDrives :: Lens' ChangesWatch Bool
+ Network.Google.Resource.Drive.Changes.Watch: cwTeamDriveId :: Lens' ChangesWatch (Maybe Text)
+ Network.Google.Resource.Drive.Files.Copy: fSupportsTeamDrives :: Lens' FilesCopy Bool
+ Network.Google.Resource.Drive.Files.Create: fcSupportsTeamDrives :: Lens' FilesCreate Bool
+ Network.Google.Resource.Drive.Files.Delete: fdSupportsTeamDrives :: Lens' FilesDelete Bool
+ Network.Google.Resource.Drive.Files.Get: fgSupportsTeamDrives :: Lens' FilesGet Bool
+ Network.Google.Resource.Drive.Files.List: flCorpora :: Lens' FilesList (Maybe Text)
+ Network.Google.Resource.Drive.Files.List: flIncludeTeamDriveItems :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.List: flSupportsTeamDrives :: Lens' FilesList Bool
+ Network.Google.Resource.Drive.Files.List: flTeamDriveId :: Lens' FilesList (Maybe Text)
+ Network.Google.Resource.Drive.Files.Update: fuSupportsTeamDrives :: Lens' FilesUpdate Bool
+ Network.Google.Resource.Drive.Files.Watch: fwSupportsTeamDrives :: Lens' FilesWatch Bool
+ Network.Google.Resource.Drive.Permissions.Create: pcSupportsTeamDrives :: Lens' PermissionsCreate Bool
+ Network.Google.Resource.Drive.Permissions.Create: pcUseDomainAdminAccess :: Lens' PermissionsCreate Bool
+ Network.Google.Resource.Drive.Permissions.Delete: pdSupportsTeamDrives :: Lens' PermissionsDelete Bool
+ Network.Google.Resource.Drive.Permissions.Delete: pdUseDomainAdminAccess :: Lens' PermissionsDelete Bool
+ Network.Google.Resource.Drive.Permissions.Get: pgSupportsTeamDrives :: Lens' PermissionsGet Bool
+ Network.Google.Resource.Drive.Permissions.Get: pgUseDomainAdminAccess :: Lens' PermissionsGet Bool
+ Network.Google.Resource.Drive.Permissions.List: plPageSize :: Lens' PermissionsList (Maybe Int32)
+ Network.Google.Resource.Drive.Permissions.List: plPageToken :: Lens' PermissionsList (Maybe Text)
+ Network.Google.Resource.Drive.Permissions.List: plSupportsTeamDrives :: Lens' PermissionsList Bool
+ Network.Google.Resource.Drive.Permissions.List: plUseDomainAdminAccess :: Lens' PermissionsList Bool
+ Network.Google.Resource.Drive.Permissions.Update: puSupportsTeamDrives :: Lens' PermissionsUpdate Bool
+ Network.Google.Resource.Drive.Permissions.Update: puUseDomainAdminAccess :: Lens' PermissionsUpdate Bool
+ Network.Google.Resource.Drive.Teamdrives.Create: data TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Create.TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: tcPayload :: Lens' TeamdrivesCreate TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Create: tcRequestId :: Lens' TeamdrivesCreate Text
+ Network.Google.Resource.Drive.Teamdrives.Create: teamdrivesCreate :: Text -> TeamDrive -> TeamdrivesCreate
+ Network.Google.Resource.Drive.Teamdrives.Create: type TeamdrivesCreateResource = "drive" :> "v3" :> "teamdrives" :> QueryParam "requestId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] TeamDrive :> Post '[JSON] TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Delete: data TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Delete.TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: tdTeamDriveId :: Lens' TeamdrivesDelete Text
+ Network.Google.Resource.Drive.Teamdrives.Delete: teamdrivesDelete :: Text -> TeamdrivesDelete
+ Network.Google.Resource.Drive.Teamdrives.Delete: type TeamdrivesDeleteResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
+ Network.Google.Resource.Drive.Teamdrives.Get: data TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Get.TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: teamdrivesGet :: Text -> TeamdrivesGet
+ Network.Google.Resource.Drive.Teamdrives.Get: tgTeamDriveId :: Lens' TeamdrivesGet Text
+ Network.Google.Resource.Drive.Teamdrives.Get: tgUseDomainAdminAccess :: Lens' TeamdrivesGet Bool
+ Network.Google.Resource.Drive.Teamdrives.Get: type TeamdrivesGetResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.List: data TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.List.TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: teamdrivesList :: TeamdrivesList
+ Network.Google.Resource.Drive.Teamdrives.List: tlPageSize :: Lens' TeamdrivesList Int32
+ Network.Google.Resource.Drive.Teamdrives.List: tlPageToken :: Lens' TeamdrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Teamdrives.List: tlQ :: Lens' TeamdrivesList (Maybe Text)
+ Network.Google.Resource.Drive.Teamdrives.List: tlUseDomainAdminAccess :: Lens' TeamdrivesList Bool
+ Network.Google.Resource.Drive.Teamdrives.List: type TeamdrivesListResource = "drive" :> "v3" :> "teamdrives" :> QueryParam "q" Text :> QueryParam "pageToken" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "pageSize" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] TeamDriveList
+ Network.Google.Resource.Drive.Teamdrives.Update: data TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance Data.Data.Data Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Classes.Eq Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Generics.Generic Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance GHC.Show.Show Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Drive.Teamdrives.Update.TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: teamdrivesUpdate :: TeamDrive -> Text -> TeamdrivesUpdate
+ Network.Google.Resource.Drive.Teamdrives.Update: tuPayload :: Lens' TeamdrivesUpdate TeamDrive
+ Network.Google.Resource.Drive.Teamdrives.Update: tuTeamDriveId :: Lens' TeamdrivesUpdate Text
+ Network.Google.Resource.Drive.Teamdrives.Update: tuUseDomainAdminAccess :: Lens' TeamdrivesUpdate Bool
+ Network.Google.Resource.Drive.Teamdrives.Update: type TeamdrivesUpdateResource = "drive" :> "v3" :> "teamdrives" :> Capture "teamDriveId" Text :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] TeamDrive :> Patch '[JSON] TeamDrive
- Network.Google.Drive: type DriveAPI = 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 :<|> 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.About.Get: type AboutGetResource = "drive" :> ("v3" :> ("about" :> (QueryParam "alt" AltJSON :> Get '[JSON] About)))
+ Network.Google.Resource.Drive.About.Get: type AboutGetResource = "drive" :> "v3" :> "about" :> QueryParam "alt" AltJSON :> Get '[JSON] About
- Network.Google.Resource.Drive.Changes.GetStartPageToken: type ChangesGetStartPageTokenResource = "drive" :> ("v3" :> ("changes" :> ("startPageToken" :> (QueryParam "alt" AltJSON :> Get '[JSON] StartPageToken))))
+ 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.List: type ChangesListResource = "drive" :> ("v3" :> ("changes" :> (QueryParam "pageToken" Text :> (QueryParam "restrictToMyDrive" Bool :> (QueryParam "spaces" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeRemoved" 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 "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] ChangeList
- Network.Google.Resource.Drive.Changes.Watch: type ChangesWatchResource = "drive" :> ("v3" :> ("changes" :> ("watch" :> (QueryParam "pageToken" Text :> (QueryParam "restrictToMyDrive" Bool :> (QueryParam "spaces" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeRemoved" 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 "pageSize" (Textual Int32) :> QueryParam "includeRemoved" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] Channel
- Network.Google.Resource.Drive.Channels.Stop: type ChannelsStopResource = "drive" :> ("v3" :> ("channels" :> ("stop" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Channel :> Post '[JSON] ())))))
+ Network.Google.Resource.Drive.Channels.Stop: type ChannelsStopResource = "drive" :> "v3" :> "channels" :> "stop" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Channel :> Post '[JSON] ()
- Network.Google.Resource.Drive.Comments.Create: type CommentsCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Comment :> Post '[JSON] Comment))))))
+ Network.Google.Resource.Drive.Comments.Create: type CommentsCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Comment :> Post '[JSON] Comment
- Network.Google.Resource.Drive.Comments.Delete: type CommentsDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.Drive.Comments.Delete: type CommentsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Comments.Get: type CommentsGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Comment)))))))
+ Network.Google.Resource.Drive.Comments.Get: type CommentsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Comment
- Network.Google.Resource.Drive.Comments.List: type CommentsListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (QueryParam "startModifiedTime" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] CommentList)))))))))
+ Network.Google.Resource.Drive.Comments.List: type CommentsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> QueryParam "startModifiedTime" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] CommentList
- Network.Google.Resource.Drive.Comments.Update: type CommentsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Comment :> Patch '[JSON] Comment)))))))
+ Network.Google.Resource.Drive.Comments.Update: type CommentsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Comment :> Patch '[JSON] Comment
- 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 "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 "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 "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 "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 "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.Delete: type FilesDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))
+ 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.EmptyTrash: type FilesEmptyTrashResource = "drive" :> ("v3" :> ("files" :> ("trash" :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))
+ Network.Google.Resource.Drive.Files.EmptyTrash: type FilesEmptyTrashResource = "drive" :> "v3" :> "files" :> "trash" :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Files.Export: type FilesExportResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("export" :> (QueryParam "mimeType" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ()))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("export" :> (QueryParam "mimeType" Text :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream)))))))
+ Network.Google.Resource.Drive.Files.Export: type FilesExportResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "export" :> QueryParam "mimeType" Text :> QueryParam "alt" AltJSON :> Get '[JSON] () :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "export" :> QueryParam "mimeType" Text :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Files.GenerateIds: type FilesGenerateIdsResource = "drive" :> ("v3" :> ("files" :> ("generateIds" :> (QueryParam "space" Text :> (QueryParam "count" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds))))))
+ Network.Google.Resource.Drive.Files.GenerateIds: type FilesGenerateIdsResource = "drive" :> "v3" :> "files" :> "generateIds" :> QueryParam "space" Text :> QueryParam "count" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds
- Network.Google.Resource.Drive.Files.Get: type FilesGetResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] File)))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream))))))
+ 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.List: flCorpus :: Lens' FilesList FilesListCorpus
+ Network.Google.Resource.Drive.Files.List: flCorpus :: Lens' FilesList (Maybe FilesListCorpus)
- Network.Google.Resource.Drive.Files.List: type FilesListResource = "drive" :> ("v3" :> ("files" :> (QueryParam "orderBy" Text :> (QueryParam "q" Text :> (QueryParam "spaces" Text :> (QueryParam "corpus" FilesListCorpus :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (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 "corpus" FilesListCorpus :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "supportsTeamDrives" Bool :> 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 "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 "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 "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.Watch: type FilesWatchResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("watch" :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Channel :> Post '[JSON] Channel)))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("watch" :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Post '[OctetStream] Stream)))))))
+ 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.Permissions.Create: type PermissionsCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (QueryParam "sendNotificationEmail" Bool :> (QueryParam "emailMessage" Text :> (QueryParam "transferOwnership" 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 "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 "alt" AltJSON :> Delete '[JSON] ()))))))
+ 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.Get: type PermissionsGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (Capture "permissionId" Text :> (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 "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 "alt" AltJSON :> Get '[JSON] PermissionList)))))
+ 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.Update: type PermissionsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "removeExpiration" Bool :> (QueryParam "transferOwnership" 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 "removeExpiration" Bool :> QueryParam "useDomainAdminAccess" Bool :> QueryParam "transferOwnership" Bool :> QueryParam "supportsTeamDrives" Bool :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Permission :> Patch '[JSON] Permission
- Network.Google.Resource.Drive.Replies.Create: type RepliesCreateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Reply :> Post '[JSON] Reply))))))))
+ Network.Google.Resource.Drive.Replies.Create: type RepliesCreateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Reply :> Post '[JSON] Reply
- Network.Google.Resource.Drive.Replies.Delete: type RepliesDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))
+ Network.Google.Resource.Drive.Replies.Delete: type RepliesDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Replies.Get: type RepliesGetResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Reply)))))))))
+ Network.Google.Resource.Drive.Replies.Get: type RepliesGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Reply
- Network.Google.Resource.Drive.Replies.List: type RepliesListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] ReplyList))))))))))
+ Network.Google.Resource.Drive.Replies.List: type RepliesListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "includeDeleted" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] ReplyList
- Network.Google.Resource.Drive.Replies.Update: type RepliesUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("comments" :> (Capture "commentId" Text :> ("replies" :> (Capture "replyId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Reply :> Patch '[JSON] Reply)))))))))
+ Network.Google.Resource.Drive.Replies.Update: type RepliesUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "comments" :> Capture "commentId" Text :> "replies" :> Capture "replyId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Reply :> Patch '[JSON] Reply
- Network.Google.Resource.Drive.Revisions.Delete: type RevisionsDeleteResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))
+ Network.Google.Resource.Drive.Revisions.Delete: type RevisionsDeleteResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] ()
- Network.Google.Resource.Drive.Revisions.Get: type RevisionsGetResource = ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] Revision)))))))) :<|> ("drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "acknowledgeAbuse" Bool :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream))))))))
+ Network.Google.Resource.Drive.Revisions.Get: type RevisionsGetResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "alt" AltJSON :> Get '[JSON] Revision :<|> "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "acknowledgeAbuse" Bool :> QueryParam "alt" AltMedia :> Get '[OctetStream] Stream
- Network.Google.Resource.Drive.Revisions.List: type RevisionsListResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RevisionList)))))))
+ Network.Google.Resource.Drive.Revisions.List: type RevisionsListResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "alt" AltJSON :> Get '[JSON] RevisionList
- Network.Google.Resource.Drive.Revisions.Update: type RevisionsUpdateResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("revisions" :> (Capture "revisionId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Revision :> Patch '[JSON] Revision)))))))
+ Network.Google.Resource.Drive.Revisions.Update: type RevisionsUpdateResource = "drive" :> "v3" :> "files" :> Capture "fileId" Text :> "revisions" :> Capture "revisionId" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Revision :> Patch '[JSON] Revision

Files

gen/Network/Google/Drive.hs view
@@ -139,15 +139,54 @@     -- ** drive.revisions.update     , module Network.Google.Resource.Drive.Revisions.Update +    -- ** drive.teamdrives.create+    , module Network.Google.Resource.Drive.Teamdrives.Create++    -- ** drive.teamdrives.delete+    , module Network.Google.Resource.Drive.Teamdrives.Delete++    -- ** drive.teamdrives.get+    , module Network.Google.Resource.Drive.Teamdrives.Get++    -- ** drive.teamdrives.list+    , module Network.Google.Resource.Drive.Teamdrives.List++    -- ** drive.teamdrives.update+    , module Network.Google.Resource.Drive.Teamdrives.Update+     -- * Types      -- ** FileList     , FileList     , fileList     , flNextPageToken+    , flIncompleteSearch     , flKind     , flFiles +    -- ** TeamDriveCapabilities+    , TeamDriveCapabilities+    , teamDriveCapabilities+    , tdcCanRename+    , tdcCanChangeTeamMembersOnlyRestriction+    , tdcCanComment+    , tdcCanRenameTeamDrive+    , tdcCanChangeTeamDriveBackgRound+    , tdcCanDownload+    , tdcCanChangeDomainUsersOnlyRestriction+    , tdcCanTrashChildren+    , tdcCanAddChildren+    , tdcCanRemoveChildren+    , tdcCanChangeCopyRequiresWriterPermissionRestriction+    , tdcCanDeleteTeamDrive+    , tdcCanListChildren+    , tdcCanEdit+    , tdcCanManageMembers+    , tdcCanReadRevisions+    , tdcCanDeleteChildren+    , tdcCanCopy+    , tdcCanShare+     -- ** FilesListCorpus     , FilesListCorpus (..) @@ -186,9 +225,28 @@     -- ** FileCapabilities     , FileCapabilities     , fileCapabilities+    , fcCanRename     , fcCanComment+    , fcCanMoveChildrenWithinTeamDrive+    , fcCanDelete+    , fcCanMoveItemIntoTeamDrive+    , fcCanDownload+    , fcCanTrash+    , fcCanUntrash+    , fcCanTrashChildren+    , fcCanAddChildren+    , fcCanRemoveChildren+    , fcCanMoveTeamDriveItem+    , fcCanMoveItemWithinTeamDrive+    , fcCanReadTeamDrive+    , fcCanChangeCopyRequiresWriterPermission+    , fcCanListChildren+    , fcCanMoveChildrenOutOfTeamDrive     , fcCanEdit+    , fcCanChangeViewersCanCopyContent     , fcCanReadRevisions+    , fcCanDeleteChildren+    , fcCanMoveItemOutOfTeamDrive     , fcCanCopy     , fcCanShare @@ -205,6 +263,13 @@     , fchtImage     , fchtMimeType +    -- ** TeamDriveList+    , TeamDriveList+    , teamDriveList+    , tdlNextPageToken+    , tdlTeamDrives+    , tdlKind+     -- ** Channel     , Channel     , channel@@ -219,6 +284,29 @@     , cId     , cType +    -- ** AboutTeamDriveThemesItem+    , AboutTeamDriveThemesItem+    , aboutTeamDriveThemesItem+    , atdtiColorRgb+    , atdtiBackgRoundImageLink+    , atdtiId++    -- ** TeamDriveRestrictions+    , TeamDriveRestrictions+    , teamDriveRestrictions+    , tdrTeamMembersOnly+    , tdrAdminManagedRestrictions+    , tdrCopyRequiresWriterPermission+    , tdrDomainUsersOnly++    -- ** TeamDriveBackgRoundImageFile+    , TeamDriveBackgRoundImageFile+    , teamDriveBackgRoundImageFile+    , tdbrifXCoordinate+    , tdbrifYCoordinate+    , tdbrifWidth+    , tdbrifId+     -- ** FileVideoMediaMetadata     , FileVideoMediaMetadata     , fileVideoMediaMetadata@@ -237,9 +325,26 @@     , chaRemoved     , chaTime     , chaKind+    , chaTeamDrive+    , chaTeamDriveId+    , chaType     , chaFileId     , chaFile +    -- ** TeamDrive+    , TeamDrive+    , teamDrive+    , tdThemeId+    , tdBackgRoundImageFile+    , tdColorRgb+    , tdCreatedTime+    , tdKind+    , tdBackgRoundImageLink+    , tdName+    , tdRestrictions+    , tdId+    , tdCapabilities+     -- ** AboutExportFormats     , AboutExportFormats     , aboutExportFormats@@ -263,6 +368,11 @@     , clChanges     , clKind +    -- ** RevisionExportLinks+    , RevisionExportLinks+    , revisionExportLinks+    , relAddtional+     -- ** FileContentHints     , FileContentHints     , fileContentHints@@ -289,12 +399,14 @@     , about     , aExportFormats     , aMaxImportSizes+    , aCanCreateTeamDrives     , aImportFormats     , aKind     , aAppInstalled     , aUser     , aStorageQuota     , aMaxUploadSize+    , aTeamDriveThemes     , aFolderColorPalette      -- ** FileImageMediaMetadataLocation@@ -364,6 +476,7 @@     , revMD5Checksum     , revKeepForever     , revMimeType+    , revExportLinks     , revPublishedOutsideDomain     , revId @@ -371,6 +484,7 @@     , Permission     , permission     , pPhotoLink+    , pTeamDrivePermissionDetails     , pKind     , pDomain     , pRole@@ -378,6 +492,7 @@     , pAllowFileDiscovery     , pDisplayName     , pId+    , pDeleted     , pType     , pExpirationTime @@ -398,6 +513,7 @@     , fTrashed     , fWebViewLink     , fCreatedTime+    , fTrashedTime     , fOriginalFilename     , fKind     , fLastModifyingUser@@ -408,16 +524,22 @@     , fExplicitlyTrashed     , fShared     , fMD5Checksum+    , fTeamDriveId     , fFolderColorRgb     , fMimeType     , fIsAppAuthorized+    , fCopyRequiresWriterPermission     , fName+    , fExportLinks     , fParents     , fStarred     , fSpaces     , fVersion+    , fHasAugmentedPermissions     , fWritersCanShare+    , fTrashingUser     , fId+    , fPermissionIds     , fPermissions     , fQuotaBytesUsed     , fAppProperties@@ -432,6 +554,14 @@     , fContentHints     , fProperties +    -- ** PermissionTeamDrivePermissionDetailsItem+    , PermissionTeamDrivePermissionDetailsItem+    , permissionTeamDrivePermissionDetailsItem+    , ptdpdiInherited+    , ptdpdiTeamDrivePermissionType+    , ptdpdiRole+    , ptdpdiInheritedFrom+     -- ** GeneratedIds     , GeneratedIds     , generatedIds@@ -439,6 +569,11 @@     , giKind     , giIds +    -- ** FileExportLinks+    , FileExportLinks+    , fileExportLinks+    , felAddtional+     -- ** CommentList     , CommentList     , commentList@@ -456,6 +591,7 @@     -- ** PermissionList     , PermissionList     , permissionList+    , plNextPageToken     , plKind     , plPermissions     ) where@@ -496,6 +632,11 @@ import           Network.Google.Resource.Drive.Revisions.Get import           Network.Google.Resource.Drive.Revisions.List import           Network.Google.Resource.Drive.Revisions.Update+import           Network.Google.Resource.Drive.Teamdrives.Create+import           Network.Google.Resource.Drive.Teamdrives.Delete+import           Network.Google.Resource.Drive.Teamdrives.Get+import           Network.Google.Resource.Drive.Teamdrives.List+import           Network.Google.Resource.Drive.Teamdrives.Update  {- $resources TODO@@ -503,8 +644,12 @@  -- | Represents the entirety of the methods and resources available for the Drive API service. type DriveAPI =-     ChangesListResource :<|>-       ChangesGetStartPageTokenResource+     TeamdrivesListResource :<|> TeamdrivesGetResource+       :<|> TeamdrivesCreateResource+       :<|> TeamdrivesDeleteResource+       :<|> TeamdrivesUpdateResource+       :<|> ChangesListResource+       :<|> ChangesGetStartPageTokenResource        :<|> ChangesWatchResource        :<|> ChannelsStopResource        :<|> RepliesListResource
gen/Network/Google/Drive/Types.hs view
@@ -33,9 +33,33 @@     , FileList     , fileList     , flNextPageToken+    , flIncompleteSearch     , flKind     , flFiles +    -- * TeamDriveCapabilities+    , TeamDriveCapabilities+    , teamDriveCapabilities+    , tdcCanRename+    , tdcCanChangeTeamMembersOnlyRestriction+    , tdcCanComment+    , tdcCanRenameTeamDrive+    , tdcCanChangeTeamDriveBackgRound+    , tdcCanDownload+    , tdcCanChangeDomainUsersOnlyRestriction+    , tdcCanTrashChildren+    , tdcCanAddChildren+    , tdcCanRemoveChildren+    , tdcCanChangeCopyRequiresWriterPermissionRestriction+    , tdcCanDeleteTeamDrive+    , tdcCanListChildren+    , tdcCanEdit+    , tdcCanManageMembers+    , tdcCanReadRevisions+    , tdcCanDeleteChildren+    , tdcCanCopy+    , tdcCanShare+     -- * FilesListCorpus     , FilesListCorpus (..) @@ -74,9 +98,28 @@     -- * FileCapabilities     , FileCapabilities     , fileCapabilities+    , fcCanRename     , fcCanComment+    , fcCanMoveChildrenWithinTeamDrive+    , fcCanDelete+    , fcCanMoveItemIntoTeamDrive+    , fcCanDownload+    , fcCanTrash+    , fcCanUntrash+    , fcCanTrashChildren+    , fcCanAddChildren+    , fcCanRemoveChildren+    , fcCanMoveTeamDriveItem+    , fcCanMoveItemWithinTeamDrive+    , fcCanReadTeamDrive+    , fcCanChangeCopyRequiresWriterPermission+    , fcCanListChildren+    , fcCanMoveChildrenOutOfTeamDrive     , fcCanEdit+    , fcCanChangeViewersCanCopyContent     , fcCanReadRevisions+    , fcCanDeleteChildren+    , fcCanMoveItemOutOfTeamDrive     , fcCanCopy     , fcCanShare @@ -93,6 +136,13 @@     , fchtImage     , fchtMimeType +    -- * TeamDriveList+    , TeamDriveList+    , teamDriveList+    , tdlNextPageToken+    , tdlTeamDrives+    , tdlKind+     -- * Channel     , Channel     , channel@@ -107,6 +157,29 @@     , cId     , cType +    -- * AboutTeamDriveThemesItem+    , AboutTeamDriveThemesItem+    , aboutTeamDriveThemesItem+    , atdtiColorRgb+    , atdtiBackgRoundImageLink+    , atdtiId++    -- * TeamDriveRestrictions+    , TeamDriveRestrictions+    , teamDriveRestrictions+    , tdrTeamMembersOnly+    , tdrAdminManagedRestrictions+    , tdrCopyRequiresWriterPermission+    , tdrDomainUsersOnly++    -- * TeamDriveBackgRoundImageFile+    , TeamDriveBackgRoundImageFile+    , teamDriveBackgRoundImageFile+    , tdbrifXCoordinate+    , tdbrifYCoordinate+    , tdbrifWidth+    , tdbrifId+     -- * FileVideoMediaMetadata     , FileVideoMediaMetadata     , fileVideoMediaMetadata@@ -125,9 +198,26 @@     , chaRemoved     , chaTime     , chaKind+    , chaTeamDrive+    , chaTeamDriveId+    , chaType     , chaFileId     , chaFile +    -- * TeamDrive+    , TeamDrive+    , teamDrive+    , tdThemeId+    , tdBackgRoundImageFile+    , tdColorRgb+    , tdCreatedTime+    , tdKind+    , tdBackgRoundImageLink+    , tdName+    , tdRestrictions+    , tdId+    , tdCapabilities+     -- * AboutExportFormats     , AboutExportFormats     , aboutExportFormats@@ -151,6 +241,11 @@     , clChanges     , clKind +    -- * RevisionExportLinks+    , RevisionExportLinks+    , revisionExportLinks+    , relAddtional+     -- * FileContentHints     , FileContentHints     , fileContentHints@@ -177,12 +272,14 @@     , about     , aExportFormats     , aMaxImportSizes+    , aCanCreateTeamDrives     , aImportFormats     , aKind     , aAppInstalled     , aUser     , aStorageQuota     , aMaxUploadSize+    , aTeamDriveThemes     , aFolderColorPalette      -- * FileImageMediaMetadataLocation@@ -252,6 +349,7 @@     , revMD5Checksum     , revKeepForever     , revMimeType+    , revExportLinks     , revPublishedOutsideDomain     , revId @@ -259,6 +357,7 @@     , Permission     , permission     , pPhotoLink+    , pTeamDrivePermissionDetails     , pKind     , pDomain     , pRole@@ -266,6 +365,7 @@     , pAllowFileDiscovery     , pDisplayName     , pId+    , pDeleted     , pType     , pExpirationTime @@ -286,6 +386,7 @@     , fTrashed     , fWebViewLink     , fCreatedTime+    , fTrashedTime     , fOriginalFilename     , fKind     , fLastModifyingUser@@ -296,16 +397,22 @@     , fExplicitlyTrashed     , fShared     , fMD5Checksum+    , fTeamDriveId     , fFolderColorRgb     , fMimeType     , fIsAppAuthorized+    , fCopyRequiresWriterPermission     , fName+    , fExportLinks     , fParents     , fStarred     , fSpaces     , fVersion+    , fHasAugmentedPermissions     , fWritersCanShare+    , fTrashingUser     , fId+    , fPermissionIds     , fPermissions     , fQuotaBytesUsed     , fAppProperties@@ -320,6 +427,14 @@     , fContentHints     , fProperties +    -- * PermissionTeamDrivePermissionDetailsItem+    , PermissionTeamDrivePermissionDetailsItem+    , permissionTeamDrivePermissionDetailsItem+    , ptdpdiInherited+    , ptdpdiTeamDrivePermissionType+    , ptdpdiRole+    , ptdpdiInheritedFrom+     -- * GeneratedIds     , GeneratedIds     , generatedIds@@ -327,6 +442,11 @@     , giKind     , giIds +    -- * FileExportLinks+    , FileExportLinks+    , fileExportLinks+    , felAddtional+     -- * CommentList     , CommentList     , commentList@@ -344,6 +464,7 @@     -- * PermissionList     , PermissionList     , permissionList+    , plNextPageToken     , plKind     , plPermissions     ) where@@ -370,11 +491,11 @@ driveAppDataScope :: Proxy '["https://www.googleapis.com/auth/drive.appdata"] driveAppDataScope = Proxy; --- | View the files in your Google Drive+-- | See and download all your Google Drive files driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"] driveReadOnlyScope = Proxy; --- | View and manage the files in your Google Drive+-- | See, edit, create, and delete all of your Google Drive files driveScope :: Proxy '["https://www.googleapis.com/auth/drive"] driveScope = Proxy; 
gen/Network/Google/Drive/Types/Product.hs view
@@ -24,3081 +24,4450 @@ -- -- /See:/ 'fileList' smart constructor. data FileList = FileList'-    { _flNextPageToken :: !(Maybe Text)-    , _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'------ * 'flKind'------ * 'flFiles'-fileList-    :: FileList-fileList =-    FileList'-    { _flNextPageToken = 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})---- | 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 .:? "kind" .!= "drive#fileList")-                     <*> (o .:? "files" .!= mempty))--instance ToJSON FileList where-        toJSON FileList'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _flNextPageToken,-                  Just ("kind" .= _flKind), ("files" .=) <$> _flFiles])---- | 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 the file.------ /See:/ 'fileCapabilities' smart constructor.-data FileCapabilities = FileCapabilities'-    { _fcCanComment       :: !(Maybe Bool)-    , _fcCanEdit          :: !(Maybe Bool)-    , _fcCanReadRevisions :: !(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:------ * 'fcCanComment'------ * 'fcCanEdit'------ * 'fcCanReadRevisions'------ * 'fcCanCopy'------ * 'fcCanShare'-fileCapabilities-    :: FileCapabilities-fileCapabilities =-    FileCapabilities'-    { _fcCanComment = Nothing-    , _fcCanEdit = Nothing-    , _fcCanReadRevisions = Nothing-    , _fcCanCopy = Nothing-    , _fcCanShare = Nothing-    }---- | Whether the user can comment on the file.-fcCanComment :: Lens' FileCapabilities (Maybe Bool)-fcCanComment-  = lens _fcCanComment (\ s a -> s{_fcCanComment = a})---- | Whether the user can edit the file\'s content.-fcCanEdit :: Lens' FileCapabilities (Maybe Bool)-fcCanEdit-  = lens _fcCanEdit (\ s a -> s{_fcCanEdit = a})---- | Whether the current user has read access to the Revisions resource of--- the file.-fcCanReadRevisions :: Lens' FileCapabilities (Maybe Bool)-fcCanReadRevisions-  = lens _fcCanReadRevisions-      (\ s a -> s{_fcCanReadRevisions = a})---- | Whether the user can copy the file.-fcCanCopy :: Lens' FileCapabilities (Maybe Bool)-fcCanCopy-  = lens _fcCanCopy (\ s a -> s{_fcCanCopy = a})---- | Whether the user can modify the file\'s permissions and sharing--- settings.-fcCanShare :: Lens' FileCapabilities (Maybe Bool)-fcCanShare-  = lens _fcCanShare (\ s a -> s{_fcCanShare = a})--instance FromJSON FileCapabilities where-        parseJSON-          = withObject "FileCapabilities"-              (\ o ->-                 FileCapabilities' <$>-                   (o .:? "canComment") <*> (o .:? "canEdit") <*>-                     (o .:? "canReadRevisions")-                     <*> (o .:? "canCopy")-                     <*> (o .:? "canShare"))--instance ToJSON FileCapabilities where-        toJSON FileCapabilities'{..}-          = object-              (catMaybes-                 [("canComment" .=) <$> _fcCanComment,-                  ("canEdit" .=) <$> _fcCanEdit,-                  ("canReadRevisions" .=) <$> _fcCanReadRevisions,-                  ("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])---- | 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])---- | 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.------ /See:/ 'change' smart constructor.-data Change = Change'-    { _chaRemoved :: !(Maybe Bool)-    , _chaTime    :: !(Maybe DateTime')-    , _chaKind    :: !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'------ * 'chaFileId'------ * 'chaFile'-change-    :: Change-change =-    Change'-    { _chaRemoved = Nothing-    , _chaTime = Nothing-    , _chaKind = "drive#change"-    , _chaFileId = Nothing-    , _chaFile = Nothing-    }---- | Whether the file has been removed from the view of the changes list, for--- example by deletion or lost 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 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 file has not been removed.-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 .:? "fileId")-                     <*> (o .:? "file"))--instance ToJSON Change where-        toJSON Change'{..}-          = object-              (catMaybes-                 [("removed" .=) <$> _chaRemoved,-                  ("time" .=) <$> _chaTime, Just ("kind" .= _chaKind),-                  ("fileId" .=) <$> _chaFileId,-                  ("file" .=) <$> _chaFile])---- | 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)])---- | 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)-    , _aImportFormats      :: !(Maybe AboutImportFormats)-    , _aKind               :: !Text-    , _aAppInstalled       :: !(Maybe Bool)-    , _aUser               :: !(Maybe User)-    , _aStorageQuota       :: !(Maybe AboutStorageQuota)-    , _aMaxUploadSize      :: !(Maybe (Textual Int64))-    , _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'------ * 'aImportFormats'------ * 'aKind'------ * 'aAppInstalled'------ * 'aUser'------ * 'aStorageQuota'------ * 'aMaxUploadSize'------ * 'aFolderColorPalette'-about-    :: About-about =-    About'-    { _aExportFormats = Nothing-    , _aMaxImportSizes = Nothing-    , _aImportFormats = Nothing-    , _aKind = "drive#about"-    , _aAppInstalled = Nothing-    , _aUser = Nothing-    , _aStorageQuota = Nothing-    , _aMaxUploadSize = 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})---- | 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---- | 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 .:? "importFormats")-                     <*> (o .:? "kind" .!= "drive#about")-                     <*> (o .:? "appInstalled")-                     <*> (o .:? "user")-                     <*> (o .:? "storageQuota")-                     <*> (o .:? "maxUploadSize")-                     <*> (o .:? "folderColorPalette" .!= mempty))--instance ToJSON About where-        toJSON About'{..}-          = object-              (catMaybes-                 [("exportFormats" .=) <$> _aExportFormats,-                  ("maxImportSizes" .=) <$> _aMaxImportSizes,-                  ("importFormats" .=) <$> _aImportFormats,-                  Just ("kind" .= _aKind),-                  ("appInstalled" .=) <$> _aAppInstalled,-                  ("user" .=) <$> _aUser,-                  ("storageQuota" .=) <$> _aStorageQuota,-                  ("maxUploadSize" .=) <$> _aMaxUploadSize,-                  ("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)-    , _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'------ * '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-    , _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})---- | 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 .:? "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,-                  ("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)-    , _pKind               :: !Text-    , _pDomain             :: !(Maybe Text)-    , _pRole               :: !(Maybe Text)-    , _pEmailAddress       :: !(Maybe Text)-    , _pAllowFileDiscovery :: !(Maybe Bool)-    , _pDisplayName        :: !(Maybe Text)-    , _pId                 :: !(Maybe Text)-    , _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'------ * 'pKind'------ * 'pDomain'------ * 'pRole'------ * 'pEmailAddress'------ * 'pAllowFileDiscovery'------ * 'pDisplayName'------ * 'pId'------ * 'pType'------ * 'pExpirationTime'-permission-    :: Permission-permission =-    Permission'-    { _pPhotoLink = Nothing-    , _pKind = "drive#permission"-    , _pDomain = Nothing-    , _pRole = Nothing-    , _pEmailAddress = Nothing-    , _pAllowFileDiscovery = Nothing-    , _pDisplayName = Nothing-    , _pId = 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})---- | 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. Valid values are: - owner - 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})---- | 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).-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 .:? "kind" .!= "drive#permission")-                     <*> (o .:? "domain")-                     <*> (o .:? "role")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "allowFileDiscovery")-                     <*> (o .:? "displayName")-                     <*> (o .:? "id")-                     <*> (o .:? "type")-                     <*> (o .:? "expirationTime"))--instance ToJSON Permission where-        toJSON Permission'{..}-          = object-              (catMaybes-                 [("photoLink" .=) <$> _pPhotoLink,-                  Just ("kind" .= _pKind), ("domain" .=) <$> _pDomain,-                  ("role" .=) <$> _pRole,-                  ("emailAddress" .=) <$> _pEmailAddress,-                  ("allowFileDiscovery" .=) <$> _pAllowFileDiscovery,-                  ("displayName" .=) <$> _pDisplayName,-                  ("id" .=) <$> _pId, ("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')-    , _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)-    , _fFolderColorRgb        :: !(Maybe Text)-    , _fMimeType              :: !(Maybe Text)-    , _fIsAppAuthorized       :: !(Maybe Bool)-    , _fName                  :: !(Maybe Text)-    , _fParents               :: !(Maybe [Text])-    , _fStarred               :: !(Maybe Bool)-    , _fSpaces                :: !(Maybe [Text])-    , _fVersion               :: !(Maybe (Textual Int64))-    , _fWritersCanShare       :: !(Maybe Bool)-    , _fId                    :: !(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'------ * 'fOriginalFilename'------ * 'fKind'------ * 'fLastModifyingUser'------ * 'fIconLink'------ * 'fHasThumbnail'------ * 'fThumbnailVersion'------ * 'fImageMediaMetadata'------ * 'fExplicitlyTrashed'------ * 'fShared'------ * 'fMD5Checksum'------ * 'fFolderColorRgb'------ * 'fMimeType'------ * 'fIsAppAuthorized'------ * 'fName'------ * 'fParents'------ * 'fStarred'------ * 'fSpaces'------ * 'fVersion'------ * 'fWritersCanShare'------ * 'fId'------ * '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-    , _fOriginalFilename = Nothing-    , _fKind = "drive#file"-    , _fLastModifyingUser = Nothing-    , _fIconLink = Nothing-    , _fHasThumbnail = Nothing-    , _fThumbnailVersion = Nothing-    , _fImageMediaMetadata = Nothing-    , _fExplicitlyTrashed = Nothing-    , _fShared = Nothing-    , _fMD5Checksum = Nothing-    , _fFolderColorRgb = Nothing-    , _fMimeType = Nothing-    , _fIsAppAuthorized = Nothing-    , _fName = Nothing-    , _fParents = Nothing-    , _fStarred = Nothing-    , _fSpaces = Nothing-    , _fVersion = Nothing-    , _fWritersCanShare = Nothing-    , _fId = 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.-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.-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 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.-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.-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})---- | 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})---- | The name of the file. This is not necessarily unique within a folder.-fName :: Lens' File (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = 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 My--- Drive folder. Update requests must use the addParents and removeParents--- parameters to modify the values.-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 users with only writer permission can modify the file\'s--- permissions.-fWritersCanShare :: Lens' File (Maybe Bool)-fWritersCanShare-  = lens _fWritersCanShare-      (\ s a -> s{_fWritersCanShare = a})---- | The ID of the file.-fId :: Lens' File (Maybe Text)-fId = lens _fId (\ s a -> s{_fId = a})---- | The full list of permissions for the file. This is only available if the--- requesting user can share the file.-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 the file.-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})---- | Whether users with only reader or commenter permission can copy the--- file\'s content. This affects copy, download, and print operations.-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 .:? "originalFilename")-                     <*> (o .:? "kind" .!= "drive#file")-                     <*> (o .:? "lastModifyingUser")-                     <*> (o .:? "iconLink")-                     <*> (o .:? "hasThumbnail")-                     <*> (o .:? "thumbnailVersion")-                     <*> (o .:? "imageMediaMetadata")-                     <*> (o .:? "explicitlyTrashed")-                     <*> (o .:? "shared")-                     <*> (o .:? "md5Checksum")-                     <*> (o .:? "folderColorRgb")-                     <*> (o .:? "mimeType")-                     <*> (o .:? "isAppAuthorized")-                     <*> (o .:? "name")-                     <*> (o .:? "parents" .!= mempty)-                     <*> (o .:? "starred")-                     <*> (o .:? "spaces" .!= mempty)-                     <*> (o .:? "version")-                     <*> (o .:? "writersCanShare")-                     <*> (o .:? "id")-                     <*> (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,-                  ("originalFilename" .=) <$> _fOriginalFilename,-                  Just ("kind" .= _fKind),-                  ("lastModifyingUser" .=) <$> _fLastModifyingUser,-                  ("iconLink" .=) <$> _fIconLink,-                  ("hasThumbnail" .=) <$> _fHasThumbnail,-                  ("thumbnailVersion" .=) <$> _fThumbnailVersion,-                  ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,-                  ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,-                  ("shared" .=) <$> _fShared,-                  ("md5Checksum" .=) <$> _fMD5Checksum,-                  ("folderColorRgb" .=) <$> _fFolderColorRgb,-                  ("mimeType" .=) <$> _fMimeType,-                  ("isAppAuthorized" .=) <$> _fIsAppAuthorized,-                  ("name" .=) <$> _fName, ("parents" .=) <$> _fParents,-                  ("starred" .=) <$> _fStarred,-                  ("spaces" .=) <$> _fSpaces,-                  ("version" .=) <$> _fVersion,-                  ("writersCanShare" .=) <$> _fWritersCanShare,-                  ("id" .=) <$> _fId,-                  ("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])---- | 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])---- | 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'-    { _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:------ * 'plKind'------ * 'plPermissions'-permissionList-    :: PermissionList-permissionList =-    PermissionList'-    { _plKind = "drive#permissionList"-    , _plPermissions = Nothing-    }---- | Identifies what kind of resource this is. Value: the fixed string--- \"drive#permissionList\".-plKind :: Lens' PermissionList Text-plKind = lens _plKind (\ s a -> s{_plKind = a})---- | The list of permissions.-plPermissions :: Lens' PermissionList [Permission]-plPermissions-  = lens _plPermissions-      (\ s a -> s{_plPermissions = a})-      . _Default-      . _Coerce--instance FromJSON PermissionList where-        parseJSON-          = withObject "PermissionList"-              (\ o ->-                 PermissionList' <$>-                   (o .:? "kind" .!= "drive#permissionList") <*>-                     (o .:? "permissions" .!= mempty))--instance ToJSON PermissionList where-        toJSON PermissionList'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _plKind),+    { _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+    }++-- | 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+-- is rejected for any reason, it should be discarded, and pagination+-- should be restarted from the first page of results.+plNextPageToken :: Lens' PermissionList (Maybe Text)+plNextPageToken+  = lens _plNextPageToken+      (\ s a -> s{_plNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"drive#permissionList\".+plKind :: Lens' PermissionList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | The list of permissions. If nextPageToken is populated, then this list+-- may be incomplete and an additional page of results should be fetched.+plPermissions :: Lens' PermissionList [Permission]+plPermissions+  = lens _plPermissions+      (\ s a -> s{_plPermissions = a})+      . _Default+      . _Coerce++instance FromJSON PermissionList where+        parseJSON+          = withObject "PermissionList"+              (\ o ->+                 PermissionList' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "drive#permissionList")+                     <*> (o .:? "permissions" .!= mempty))++instance ToJSON PermissionList where+        toJSON PermissionList'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _plNextPageToken,+                  Just ("kind" .= _plKind),                   ("permissions" .=) <$> _plPermissions])
gen/Network/Google/Drive/Types/Sum.hs view
@@ -16,9 +16,9 @@ -- module Network.Google.Drive.Types.Sum where -import           Network.Google.Prelude+import           Network.Google.Prelude hiding (Bytes) --- | The source of files to list.+-- | The source of files to list. Deprecated: use \'corpora\' instead. data FilesListCorpus     = FLCDomain       -- ^ @domain@
gen/Network/Google/Resource/Drive/Changes/GetStartPageToken.hs view
@@ -32,6 +32,9 @@     , changesGetStartPageToken     , ChangesGetStartPageToken +    -- * Request Lenses+    , cgsptTeamDriveId+    , cgsptSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -44,22 +47,47 @@        "v3" :>          "changes" :>            "startPageToken" :>-             QueryParam "alt" AltJSON :>-               Get '[JSON] StartPageToken+             QueryParam "teamDriveId" Text :>+               QueryParam "supportsTeamDrives" Bool :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] StartPageToken  -- | Gets the starting pageToken for listing future changes. -- -- /See:/ 'changesGetStartPageToken' smart constructor.-data ChangesGetStartPageToken =-    ChangesGetStartPageToken'-    deriving (Eq,Show,Data,Typeable,Generic)+data ChangesGetStartPageToken = ChangesGetStartPageToken'+    { _cgsptTeamDriveId        :: !(Maybe Text)+    , _cgsptSupportsTeamDrives :: !Bool+    } 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'+--+-- * 'cgsptSupportsTeamDrives' changesGetStartPageToken     :: ChangesGetStartPageToken-changesGetStartPageToken = ChangesGetStartPageToken'+changesGetStartPageToken =+    ChangesGetStartPageToken'+    { _cgsptTeamDriveId = Nothing+    , _cgsptSupportsTeamDrives = False+    } +-- | The ID of the Team Drive for which the starting pageToken for listing+-- future changes from that Team Drive will be returned.+cgsptTeamDriveId :: Lens' ChangesGetStartPageToken (Maybe Text)+cgsptTeamDriveId+  = lens _cgsptTeamDriveId+      (\ s a -> s{_cgsptTeamDriveId = a})++-- | Whether the requesting application supports Team Drives.+cgsptSupportsTeamDrives :: Lens' ChangesGetStartPageToken Bool+cgsptSupportsTeamDrives+  = lens _cgsptSupportsTeamDrives+      (\ s a -> s{_cgsptSupportsTeamDrives = a})+ instance GoogleRequest ChangesGetStartPageToken where         type Rs ChangesGetStartPageToken = StartPageToken         type Scopes ChangesGetStartPageToken =@@ -70,8 +98,11 @@                "https://www.googleapis.com/auth/drive.metadata.readonly",                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]-        requestClient ChangesGetStartPageToken'{}-          = go (Just AltJSON) driveService+        requestClient ChangesGetStartPageToken'{..}+          = go _cgsptTeamDriveId+              (Just _cgsptSupportsTeamDrives)+              (Just AltJSON)+              driveService           where go                   = buildClient                       (Proxy :: Proxy ChangesGetStartPageTokenResource)
gen/Network/Google/Resource/Drive/Changes/List.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists changes for a user.+-- Lists the changes for a user or Team Drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.list@. module Network.Google.Resource.Drive.Changes.List@@ -33,11 +33,15 @@     , ChangesList      -- * Request Lenses+    , clIncludeTeamDriveItems+    , clIncludeCorpusRemovals+    , clTeamDriveId     , clRestrictToMyDrive     , clSpaces     , clPageToken     , clPageSize     , clIncludeRemoved+    , clSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -50,27 +54,41 @@        "v3" :>          "changes" :>            QueryParam "pageToken" Text :>-             QueryParam "restrictToMyDrive" Bool :>-               QueryParam "spaces" Text :>-                 QueryParam "pageSize" (Textual Int32) :>-                   QueryParam "includeRemoved" Bool :>-                     QueryParam "alt" AltJSON :> Get '[JSON] ChangeList+             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 --- | Lists changes for a user.+-- | Lists the changes for a user or Team Drive. -- -- /See:/ 'changesList' smart constructor. data ChangesList = ChangesList'-    { _clRestrictToMyDrive :: !Bool-    , _clSpaces            :: !Text-    , _clPageToken         :: !Text-    , _clPageSize          :: !(Textual Int32)-    , _clIncludeRemoved    :: !Bool+    { _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)  -- | 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: --+-- * 'clIncludeTeamDriveItems'+--+-- * 'clIncludeCorpusRemovals'+--+-- * 'clTeamDriveId'+-- -- * 'clRestrictToMyDrive' -- -- * 'clSpaces'@@ -80,18 +98,47 @@ -- * 'clPageSize' -- -- * 'clIncludeRemoved'+--+-- * 'clSupportsTeamDrives' changesList     :: Text -- ^ 'clPageToken'     -> ChangesList changesList pClPageToken_ =     ChangesList'-    { _clRestrictToMyDrive = False+    { _clIncludeTeamDriveItems = False+    , _clIncludeCorpusRemovals = False+    , _clTeamDriveId = Nothing+    , _clRestrictToMyDrive = False     , _clSpaces = "drive"     , _clPageToken = pClPageToken_     , _clPageSize = 100     , _clIncludeRemoved = True+    , _clSupportsTeamDrives = False     } +-- | Whether Team Drive files or changes should be included in results.+clIncludeTeamDriveItems :: Lens' ChangesList Bool+clIncludeTeamDriveItems+  = lens _clIncludeTeamDriveItems+      (\ s a -> s{_clIncludeTeamDriveItems = a})++-- | Whether changes should include the file resource if the file is still+-- accessible by the user at the time of the request, even when a file was+-- removed from the list of changes and there will be no further change+-- entries for this file.+clIncludeCorpusRemovals :: Lens' ChangesList Bool+clIncludeCorpusRemovals+  = 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.+clTeamDriveId :: Lens' ChangesList (Maybe Text)+clTeamDriveId+  = lens _clTeamDriveId+      (\ s a -> s{_clTeamDriveId = a})+ -- | Whether to restrict the results to changes inside the My Drive -- hierarchy. This omits changes to files such as those in the Application -- Data folder or shared files which have not been added to My Drive.@@ -118,13 +165,19 @@   = lens _clPageSize (\ s a -> s{_clPageSize = a}) .       _Coerce --- | Whether to include changes indicating that items have left the view of--- the changes list, for example by deletion or lost access.+-- | Whether to include changes indicating that items have been removed from+-- the list of changes, for example by deletion or loss of access. clIncludeRemoved :: Lens' ChangesList Bool clIncludeRemoved   = lens _clIncludeRemoved       (\ s a -> s{_clIncludeRemoved = a}) +-- | Whether the requesting application supports Team Drives.+clSupportsTeamDrives :: Lens' ChangesList Bool+clSupportsTeamDrives+  = lens _clSupportsTeamDrives+      (\ s a -> s{_clSupportsTeamDrives = a})+ instance GoogleRequest ChangesList where         type Rs ChangesList = ChangeList         type Scopes ChangesList =@@ -136,10 +189,15 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient ChangesList'{..}-          = go (Just _clPageToken) (Just _clRestrictToMyDrive)+          = go (Just _clPageToken)+              (Just _clIncludeTeamDriveItems)+              (Just _clIncludeCorpusRemovals)+              _clTeamDriveId+              (Just _clRestrictToMyDrive)               (Just _clSpaces)               (Just _clPageSize)               (Just _clIncludeRemoved)+              (Just _clSupportsTeamDrives)               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Changes/Watch.hs view
@@ -33,12 +33,16 @@     , ChangesWatch      -- * Request Lenses+    , cwIncludeTeamDriveItems     , cwPayload+    , cwIncludeCorpusRemovals+    , cwTeamDriveId     , cwRestrictToMyDrive     , cwSpaces     , cwPageToken     , cwPageSize     , cwIncludeRemoved+    , cwSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -52,31 +56,45 @@          "changes" :>            "watch" :>              QueryParam "pageToken" Text :>-               QueryParam "restrictToMyDrive" Bool :>-                 QueryParam "spaces" Text :>-                   QueryParam "pageSize" (Textual Int32) :>-                     QueryParam "includeRemoved" Bool :>-                       QueryParam "alt" AltJSON :>-                         ReqBody '[JSON] Channel :> Post '[JSON] Channel+               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  -- | Subscribes to changes for a user. -- -- /See:/ 'changesWatch' smart constructor. data ChangesWatch = ChangesWatch'-    { _cwPayload           :: !Channel-    , _cwRestrictToMyDrive :: !Bool-    , _cwSpaces            :: !Text-    , _cwPageToken         :: !Text-    , _cwPageSize          :: !(Textual Int32)-    , _cwIncludeRemoved    :: !Bool+    { _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)  -- | 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: --+-- * 'cwIncludeTeamDriveItems'+-- -- * 'cwPayload' --+-- * 'cwIncludeCorpusRemovals'+--+-- * 'cwTeamDriveId'+-- -- * 'cwRestrictToMyDrive' -- -- * 'cwSpaces'@@ -86,25 +104,54 @@ -- * 'cwPageSize' -- -- * 'cwIncludeRemoved'+--+-- * 'cwSupportsTeamDrives' changesWatch     :: Channel -- ^ 'cwPayload'     -> Text -- ^ 'cwPageToken'     -> ChangesWatch changesWatch pCwPayload_ pCwPageToken_ =     ChangesWatch'-    { _cwPayload = pCwPayload_+    { _cwIncludeTeamDriveItems = False+    , _cwPayload = pCwPayload_+    , _cwIncludeCorpusRemovals = False+    , _cwTeamDriveId = Nothing     , _cwRestrictToMyDrive = False     , _cwSpaces = "drive"     , _cwPageToken = pCwPageToken_     , _cwPageSize = 100     , _cwIncludeRemoved = True+    , _cwSupportsTeamDrives = False     } +-- | Whether Team Drive files or changes should be included in results.+cwIncludeTeamDriveItems :: Lens' ChangesWatch Bool+cwIncludeTeamDriveItems+  = lens _cwIncludeTeamDriveItems+      (\ s a -> s{_cwIncludeTeamDriveItems = a})+ -- | Multipart request metadata. cwPayload :: Lens' ChangesWatch Channel cwPayload   = lens _cwPayload (\ s a -> s{_cwPayload = a}) +-- | Whether changes should include the file resource if the file is still+-- accessible by the user at the time of the request, even when a file was+-- removed from the list of changes and there will be no further change+-- entries for this file.+cwIncludeCorpusRemovals :: Lens' ChangesWatch Bool+cwIncludeCorpusRemovals+  = 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.+cwTeamDriveId :: Lens' ChangesWatch (Maybe Text)+cwTeamDriveId+  = lens _cwTeamDriveId+      (\ s a -> s{_cwTeamDriveId = a})+ -- | Whether to restrict the results to changes inside the My Drive -- hierarchy. This omits changes to files such as those in the Application -- Data folder or shared files which have not been added to My Drive.@@ -131,13 +178,19 @@   = lens _cwPageSize (\ s a -> s{_cwPageSize = a}) .       _Coerce --- | Whether to include changes indicating that items have left the view of--- the changes list, for example by deletion or lost access.+-- | Whether to include changes indicating that items have been removed from+-- the list of changes, for example by deletion or loss of access. cwIncludeRemoved :: Lens' ChangesWatch Bool cwIncludeRemoved   = lens _cwIncludeRemoved       (\ s a -> s{_cwIncludeRemoved = a}) +-- | Whether the requesting application supports Team Drives.+cwSupportsTeamDrives :: Lens' ChangesWatch Bool+cwSupportsTeamDrives+  = lens _cwSupportsTeamDrives+      (\ s a -> s{_cwSupportsTeamDrives = a})+ instance GoogleRequest ChangesWatch where         type Rs ChangesWatch = Channel         type Scopes ChangesWatch =@@ -149,10 +202,15 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient ChangesWatch'{..}-          = go (Just _cwPageToken) (Just _cwRestrictToMyDrive)+          = go (Just _cwPageToken)+              (Just _cwIncludeTeamDriveItems)+              (Just _cwIncludeCorpusRemovals)+              _cwTeamDriveId+              (Just _cwRestrictToMyDrive)               (Just _cwSpaces)               (Just _cwPageSize)               (Just _cwIncludeRemoved)+              (Just _cwSupportsTeamDrives)               (Just AltJSON)               _cwPayload               driveService
gen/Network/Google/Resource/Drive/Files/Copy.hs view
@@ -39,6 +39,7 @@     , fKeepRevisionForever     , fIgnoreDefaultVisibility     , fFileId+    , fSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -55,8 +56,9 @@                QueryParam "ocrLanguage" Text :>                  QueryParam "keepRevisionForever" Bool :>                    QueryParam "ignoreDefaultVisibility" Bool :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] File :> Post '[JSON] File+                     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.@@ -68,6 +70,7 @@     , _fKeepRevisionForever     :: !Bool     , _fIgnoreDefaultVisibility :: !Bool     , _fFileId                  :: !Text+    , _fSupportsTeamDrives      :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesCopy' with the minimum fields required to make a request.@@ -83,6 +86,8 @@ -- * 'fIgnoreDefaultVisibility' -- -- * 'fFileId'+--+-- * 'fSupportsTeamDrives' filesCopy     :: File -- ^ 'fPayload'     -> Text -- ^ 'fFileId'@@ -94,6 +99,7 @@     , _fKeepRevisionForever = False     , _fIgnoreDefaultVisibility = False     , _fFileId = pFFileId_+    , _fSupportsTeamDrives = False     }  -- | Multipart request metadata.@@ -126,6 +132,12 @@ fFileId :: Lens' FilesCopy Text fFileId = lens _fFileId (\ s a -> s{_fFileId = a}) +-- | Whether the requesting application supports Team Drives.+fSupportsTeamDrives :: Lens' FilesCopy Bool+fSupportsTeamDrives+  = lens _fSupportsTeamDrives+      (\ s a -> s{_fSupportsTeamDrives = a})+ instance GoogleRequest FilesCopy where         type Rs FilesCopy = File         type Scopes FilesCopy =@@ -137,6 +149,7 @@           = go _fFileId _fOCRLanguage               (Just _fKeepRevisionForever)               (Just _fIgnoreDefaultVisibility)+              (Just _fSupportsTeamDrives)               (Just AltJSON)               _fPayload               driveService
gen/Network/Google/Resource/Drive/Files/Create.hs view
@@ -38,6 +38,7 @@     , fcOCRLanguage     , fcKeepRevisionForever     , fcIgnoreDefaultVisibility+    , fcSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -53,8 +54,9 @@              QueryParam "ocrLanguage" Text :>                QueryParam "keepRevisionForever" Bool :>                  QueryParam "ignoreDefaultVisibility" Bool :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] File :> Post '[JSON] File+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] File :> Post '[JSON] File        :<|>        "upload" :>          "drive" :>@@ -64,9 +66,10 @@                  QueryParam "ocrLanguage" Text :>                    QueryParam "keepRevisionForever" Bool :>                      QueryParam "ignoreDefaultVisibility" Bool :>-                       QueryParam "alt" AltJSON :>-                         QueryParam "uploadType" Multipart :>-                           MultipartRelated '[JSON] File :> Post '[JSON] File+                       QueryParam "supportsTeamDrives" Bool :>+                         QueryParam "alt" AltJSON :>+                           QueryParam "uploadType" Multipart :>+                             MultipartRelated '[JSON] File :> Post '[JSON] File  -- | Creates a new file. --@@ -77,6 +80,7 @@     , _fcOCRLanguage               :: !(Maybe Text)     , _fcKeepRevisionForever       :: !Bool     , _fcIgnoreDefaultVisibility   :: !Bool+    , _fcSupportsTeamDrives        :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesCreate' with the minimum fields required to make a request.@@ -92,6 +96,8 @@ -- * 'fcKeepRevisionForever' -- -- * 'fcIgnoreDefaultVisibility'+--+-- * 'fcSupportsTeamDrives' filesCreate     :: File -- ^ 'fcPayload'     -> FilesCreate@@ -102,6 +108,7 @@     , _fcOCRLanguage = Nothing     , _fcKeepRevisionForever = False     , _fcIgnoreDefaultVisibility = False+    , _fcSupportsTeamDrives = False     }  -- | Multipart request metadata.@@ -138,6 +145,12 @@   = lens _fcIgnoreDefaultVisibility       (\ s a -> s{_fcIgnoreDefaultVisibility = a}) +-- | Whether the requesting application supports Team Drives.+fcSupportsTeamDrives :: Lens' FilesCreate Bool+fcSupportsTeamDrives+  = lens _fcSupportsTeamDrives+      (\ s a -> s{_fcSupportsTeamDrives = a})+ instance GoogleRequest FilesCreate where         type Rs FilesCreate = File         type Scopes FilesCreate =@@ -149,6 +162,7 @@               _fcOCRLanguage               (Just _fcKeepRevisionForever)               (Just _fcIgnoreDefaultVisibility)+              (Just _fcSupportsTeamDrives)               (Just AltJSON)               _fcPayload               driveService@@ -166,6 +180,7 @@               _fcOCRLanguage               (Just _fcKeepRevisionForever)               (Just _fcIgnoreDefaultVisibility)+              (Just _fcSupportsTeamDrives)               (Just AltJSON)               (Just Multipart)               _fcPayload
gen/Network/Google/Resource/Drive/Files/Delete.hs view
@@ -21,8 +21,9 @@ -- Portability : non-portable (GHC extensions) -- -- Permanently deletes a file owned by the user without moving it to the--- trash. If the target is a folder, all descendants owned by the user are--- also deleted.+-- 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. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.delete@. module Network.Google.Resource.Drive.Files.Delete@@ -36,6 +37,7 @@      -- * Request Lenses     , fdFileId+    , fdSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -48,15 +50,18 @@        "v3" :>          "files" :>            Capture "fileId" Text :>-             QueryParam "alt" AltJSON :> Delete '[JSON] ()+             QueryParam "supportsTeamDrives" Bool :>+               QueryParam "alt" AltJSON :> Delete '[JSON] ()  -- | Permanently deletes a file owned by the user without moving it to the--- trash. If the target is a folder, all descendants owned by the user are--- also deleted.+-- 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. -- -- /See:/ 'filesDelete' smart constructor.-newtype FilesDelete = FilesDelete'-    { _fdFileId :: Text+data FilesDelete = FilesDelete'+    { _fdFileId             :: !Text+    , _fdSupportsTeamDrives :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesDelete' with the minimum fields required to make a request.@@ -64,18 +69,27 @@ -- Use one of the following lenses to modify other fields as desired: -- -- * 'fdFileId'+--+-- * 'fdSupportsTeamDrives' filesDelete     :: Text -- ^ 'fdFileId'     -> FilesDelete filesDelete pFdFileId_ =     FilesDelete'     { _fdFileId = pFdFileId_+    , _fdSupportsTeamDrives = False     }  -- | The ID of the file. fdFileId :: Lens' FilesDelete Text fdFileId = lens _fdFileId (\ s a -> s{_fdFileId = a}) +-- | Whether the requesting application supports Team Drives.+fdSupportsTeamDrives :: Lens' FilesDelete Bool+fdSupportsTeamDrives+  = lens _fdSupportsTeamDrives+      (\ s a -> s{_fdSupportsTeamDrives = a})+ instance GoogleRequest FilesDelete where         type Rs FilesDelete = ()         type Scopes FilesDelete =@@ -83,7 +97,9 @@                "https://www.googleapis.com/auth/drive.appdata",                "https://www.googleapis.com/auth/drive.file"]         requestClient FilesDelete'{..}-          = go _fdFileId (Just AltJSON) driveService+          = go _fdFileId (Just _fdSupportsTeamDrives)+              (Just AltJSON)+              driveService           where go                   = buildClient (Proxy :: Proxy FilesDeleteResource)                       mempty
gen/Network/Google/Resource/Drive/Files/Export.hs view
@@ -21,7 +21,7 @@ -- Portability : non-portable (GHC extensions) -- -- Exports a Google Doc to the requested MIME type and returns the exported--- content.+-- content. Please note that the exported content is limited to 10MB. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.export@. module Network.Google.Resource.Drive.Files.Export@@ -62,7 +62,7 @@                      Get '[OctetStream] Stream  -- | Exports a Google Doc to the requested MIME type and returns the exported--- content.+-- content. Please note that the exported content is limited to 10MB. -- -- /See:/ 'filesExport' smart constructor. data FilesExport = FilesExport'
gen/Network/Google/Resource/Drive/Files/Get.hs view
@@ -35,6 +35,7 @@     -- * Request Lenses     , fgAcknowledgeAbuse     , fgFileId+    , fgSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -48,22 +49,25 @@          "files" :>            Capture "fileId" Text :>              QueryParam "acknowledgeAbuse" Bool :>-               QueryParam "alt" AltJSON :> Get '[JSON] File+               QueryParam "supportsTeamDrives" Bool :>+                 QueryParam "alt" AltJSON :> Get '[JSON] File        :<|>        "drive" :>          "v3" :>            "files" :>              Capture "fileId" Text :>                QueryParam "acknowledgeAbuse" Bool :>-                 QueryParam "alt" AltMedia :>-                   Get '[OctetStream] Stream+                 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-    , _fgFileId           :: !Text+    { _fgAcknowledgeAbuse   :: !Bool+    , _fgFileId             :: !Text+    , _fgSupportsTeamDrives :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesGet' with the minimum fields required to make a request.@@ -73,6 +77,8 @@ -- * 'fgAcknowledgeAbuse' -- -- * 'fgFileId'+--+-- * 'fgSupportsTeamDrives' filesGet     :: Text -- ^ 'fgFileId'     -> FilesGet@@ -80,6 +86,7 @@     FilesGet'     { _fgAcknowledgeAbuse = False     , _fgFileId = pFgFileId_+    , _fgSupportsTeamDrives = False     }  -- | Whether the user is acknowledging the risk of downloading known malware@@ -93,6 +100,12 @@ fgFileId :: Lens' FilesGet Text fgFileId = lens _fgFileId (\ s a -> s{_fgFileId = a}) +-- | Whether the requesting application supports Team Drives.+fgSupportsTeamDrives :: Lens' FilesGet Bool+fgSupportsTeamDrives+  = lens _fgSupportsTeamDrives+      (\ s a -> s{_fgSupportsTeamDrives = a})+ instance GoogleRequest FilesGet where         type Rs FilesGet = File         type Scopes FilesGet =@@ -105,6 +118,7 @@                "https://www.googleapis.com/auth/drive.readonly"]         requestClient FilesGet'{..}           = go _fgFileId (Just _fgAcknowledgeAbuse)+              (Just _fgSupportsTeamDrives)               (Just AltJSON)               driveService           where go :<|> _@@ -117,6 +131,7 @@              Scopes FilesGet         requestClient (MediaDownload FilesGet'{..})           = go _fgFileId (Just _fgAcknowledgeAbuse)+              (Just _fgSupportsTeamDrives)               (Just AltMedia)               driveService           where _ :<|> go
gen/Network/Google/Resource/Drive/Files/List.hs view
@@ -33,12 +33,16 @@     , FilesList      -- * Request Lenses+    , flCorpora     , flOrderBy+    , flIncludeTeamDriveItems     , flQ+    , flTeamDriveId     , flSpaces     , flCorpus     , flPageToken     , flPageSize+    , flSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -50,34 +54,48 @@      "drive" :>        "v3" :>          "files" :>-           QueryParam "orderBy" Text :>-             QueryParam "q" Text :>-               QueryParam "spaces" Text :>-                 QueryParam "corpus" FilesListCorpus :>-                   QueryParam "pageToken" Text :>-                     QueryParam "pageSize" (Textual Int32) :>-                       QueryParam "alt" AltJSON :> Get '[JSON] FileList+           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  -- | Lists or searches files. -- -- /See:/ 'filesList' smart constructor. data FilesList = FilesList'-    { _flOrderBy   :: !(Maybe Text)-    , _flQ         :: !(Maybe Text)-    , _flSpaces    :: !Text-    , _flCorpus    :: !FilesListCorpus-    , _flPageToken :: !(Maybe Text)-    , _flPageSize  :: !(Textual Int32)+    { _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)  -- | 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: --+-- * 'flCorpora'+-- -- * 'flOrderBy' --+-- * 'flIncludeTeamDriveItems'+-- -- * 'flQ' --+-- * 'flTeamDriveId'+-- -- * 'flSpaces' -- -- * 'flCorpus'@@ -85,23 +103,38 @@ -- * 'flPageToken' -- -- * 'flPageSize'+--+-- * 'flSupportsTeamDrives' filesList     :: FilesList filesList =     FilesList'-    { _flOrderBy = Nothing+    { _flCorpora = Nothing+    , _flOrderBy = Nothing+    , _flIncludeTeamDriveItems = False     , _flQ = Nothing+    , _flTeamDriveId = Nothing     , _flSpaces = "drive"-    , _flCorpus = FLCUser+    , _flCorpus = Nothing     , _flPageToken = Nothing     , _flPageSize = 100+    , _flSupportsTeamDrives = False     } +-- | 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.+flCorpora :: Lens' FilesList (Maybe Text)+flCorpora+  = lens _flCorpora (\ s a -> s{_flCorpora = a})+ -- | A comma-separated list of sort keys. Valid keys are \'createdTime\', -- \'folder\', \'modifiedByMeTime\', \'modifiedTime\', \'name\',--- \'quotaBytesUsed\', \'recency\', \'sharedWithMeTime\', \'starred\', and--- \'viewedByMeTime\'. Each key sorts ascending by default, but may be--- reversed with the \'desc\' modifier. Example usage:+-- \'name_natural\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeTime\',+-- \'starred\', and \'viewedByMeTime\'. Each key sorts ascending by+-- default, but may be reversed with the \'desc\' modifier. Example usage: -- ?orderBy=folder,modifiedTime desc,name. Please note that there is a -- current limitation for users with approximately one million files in -- which the requested sort order is ignored.@@ -109,18 +142,30 @@ flOrderBy   = lens _flOrderBy (\ s a -> s{_flOrderBy = a}) +-- | Whether Team Drive items should be included in results.+flIncludeTeamDriveItems :: Lens' FilesList Bool+flIncludeTeamDriveItems+  = lens _flIncludeTeamDriveItems+      (\ s a -> s{_flIncludeTeamDriveItems = a})+ -- | A query for filtering the file results. See the \"Search for Files\" -- guide for supported syntax. flQ :: Lens' FilesList (Maybe Text) flQ = lens _flQ (\ s a -> s{_flQ = a}) +-- | ID of Team Drive to search.+flTeamDriveId :: Lens' FilesList (Maybe Text)+flTeamDriveId+  = lens _flTeamDriveId+      (\ s a -> s{_flTeamDriveId = a})+ -- | A comma-separated list of spaces to query within the corpus. Supported -- values are \'drive\', \'appDataFolder\' and \'photos\'. flSpaces :: Lens' FilesList Text flSpaces = lens _flSpaces (\ s a -> s{_flSpaces = a}) --- | The source of files to list.-flCorpus :: Lens' FilesList FilesListCorpus+-- | The source of files to list. Deprecated: use \'corpora\' instead.+flCorpus :: Lens' FilesList (Maybe FilesListCorpus) flCorpus = lens _flCorpus (\ s a -> s{_flCorpus = a})  -- | The token for continuing a previous list request on the next page. This@@ -130,12 +175,20 @@ flPageToken   = lens _flPageToken (\ s a -> s{_flPageToken = a}) --- | The maximum number of files to return per page.+-- | The maximum number of files to return per page. Partial or empty result+-- pages are possible even before the end of the files list has been+-- reached. flPageSize :: Lens' FilesList Int32 flPageSize   = lens _flPageSize (\ s a -> s{_flPageSize = a}) .       _Coerce +-- | Whether the requesting application supports Team Drives.+flSupportsTeamDrives :: Lens' FilesList Bool+flSupportsTeamDrives+  = lens _flSupportsTeamDrives+      (\ s a -> s{_flSupportsTeamDrives = a})+ instance GoogleRequest FilesList where         type Rs FilesList = FileList         type Scopes FilesList =@@ -147,10 +200,15 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient FilesList'{..}-          = go _flOrderBy _flQ (Just _flSpaces)-              (Just _flCorpus)+          = go _flCorpora _flOrderBy+              (Just _flIncludeTeamDriveItems)+              _flQ+              _flTeamDriveId+              (Just _flSpaces)+              _flCorpus               _flPageToken               (Just _flPageSize)+              (Just _flSupportsTeamDrives)               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Files/Update.hs view
@@ -40,6 +40,7 @@     , fuKeepRevisionForever     , fuFileId     , fuAddParents+    , fuSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -57,8 +58,9 @@                  QueryParam "ocrLanguage" Text :>                    QueryParam "keepRevisionForever" Bool :>                      QueryParam "addParents" Text :>-                       QueryParam "alt" AltJSON :>-                         ReqBody '[JSON] File :> Patch '[JSON] File+                       QueryParam "supportsTeamDrives" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] File :> Patch '[JSON] File        :<|>        "upload" :>          "drive" :>@@ -70,10 +72,11 @@                      QueryParam "ocrLanguage" Text :>                        QueryParam "keepRevisionForever" Bool :>                          QueryParam "addParents" Text :>-                           QueryParam "alt" AltJSON :>-                             QueryParam "uploadType" Multipart :>-                               MultipartRelated '[JSON] File :>-                                 Patch '[JSON] File+                           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. --@@ -86,6 +89,7 @@     , _fuKeepRevisionForever       :: !Bool     , _fuFileId                    :: !Text     , _fuAddParents                :: !(Maybe Text)+    , _fuSupportsTeamDrives        :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesUpdate' with the minimum fields required to make a request.@@ -105,6 +109,8 @@ -- * 'fuFileId' -- -- * 'fuAddParents'+--+-- * 'fuSupportsTeamDrives' filesUpdate     :: File -- ^ 'fuPayload'     -> Text -- ^ 'fuFileId'@@ -118,6 +124,7 @@     , _fuKeepRevisionForever = False     , _fuFileId = pFuFileId_     , _fuAddParents = Nothing+    , _fuSupportsTeamDrives = False     }  -- | Multipart request metadata.@@ -159,6 +166,12 @@ fuAddParents   = lens _fuAddParents (\ s a -> s{_fuAddParents = a}) +-- | Whether the requesting application supports Team Drives.+fuSupportsTeamDrives :: Lens' FilesUpdate Bool+fuSupportsTeamDrives+  = lens _fuSupportsTeamDrives+      (\ s a -> s{_fuSupportsTeamDrives = a})+ instance GoogleRequest FilesUpdate where         type Rs FilesUpdate = File         type Scopes FilesUpdate =@@ -173,6 +186,7 @@               _fuOCRLanguage               (Just _fuKeepRevisionForever)               _fuAddParents+              (Just _fuSupportsTeamDrives)               (Just AltJSON)               _fuPayload               driveService@@ -191,6 +205,7 @@               _fuOCRLanguage               (Just _fuKeepRevisionForever)               _fuAddParents+              (Just _fuSupportsTeamDrives)               (Just AltJSON)               (Just Multipart)               _fuPayload
gen/Network/Google/Resource/Drive/Files/Watch.hs view
@@ -36,6 +36,7 @@     , fwPayload     , fwAcknowledgeAbuse     , fwFileId+    , fwSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -50,8 +51,9 @@            Capture "fileId" Text :>              "watch" :>                QueryParam "acknowledgeAbuse" Bool :>-                 QueryParam "alt" AltJSON :>-                   ReqBody '[JSON] Channel :> Post '[JSON] Channel+                 QueryParam "supportsTeamDrives" Bool :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Channel :> Post '[JSON] Channel        :<|>        "drive" :>          "v3" :>@@ -59,16 +61,18 @@              Capture "fileId" Text :>                "watch" :>                  QueryParam "acknowledgeAbuse" Bool :>-                   QueryParam "alt" AltMedia :>-                     Post '[OctetStream] Stream+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltMedia :>+                       Post '[OctetStream] Stream  -- | Subscribes to changes to a file -- -- /See:/ 'filesWatch' smart constructor. data FilesWatch = FilesWatch'-    { _fwPayload          :: !Channel-    , _fwAcknowledgeAbuse :: !Bool-    , _fwFileId           :: !Text+    { _fwPayload            :: !Channel+    , _fwAcknowledgeAbuse   :: !Bool+    , _fwFileId             :: !Text+    , _fwSupportsTeamDrives :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesWatch' with the minimum fields required to make a request.@@ -80,6 +84,8 @@ -- * 'fwAcknowledgeAbuse' -- -- * 'fwFileId'+--+-- * 'fwSupportsTeamDrives' filesWatch     :: Channel -- ^ 'fwPayload'     -> Text -- ^ 'fwFileId'@@ -89,6 +95,7 @@     { _fwPayload = pFwPayload_     , _fwAcknowledgeAbuse = False     , _fwFileId = pFwFileId_+    , _fwSupportsTeamDrives = False     }  -- | Multipart request metadata.@@ -107,6 +114,12 @@ fwFileId :: Lens' FilesWatch Text fwFileId = lens _fwFileId (\ s a -> s{_fwFileId = a}) +-- | Whether the requesting application supports Team Drives.+fwSupportsTeamDrives :: Lens' FilesWatch Bool+fwSupportsTeamDrives+  = lens _fwSupportsTeamDrives+      (\ s a -> s{_fwSupportsTeamDrives = a})+ instance GoogleRequest FilesWatch where         type Rs FilesWatch = Channel         type Scopes FilesWatch =@@ -119,6 +132,7 @@                "https://www.googleapis.com/auth/drive.readonly"]         requestClient FilesWatch'{..}           = go _fwFileId (Just _fwAcknowledgeAbuse)+              (Just _fwSupportsTeamDrives)               (Just AltJSON)               _fwPayload               driveService@@ -133,6 +147,7 @@              Scopes FilesWatch         requestClient (MediaDownload FilesWatch'{..})           = go _fwFileId (Just _fwAcknowledgeAbuse)+              (Just _fwSupportsTeamDrives)               (Just AltMedia)               driveService           where _ :<|> go
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.+-- Creates a permission for a file or Team Drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.create@. module Network.Google.Resource.Drive.Permissions.Create@@ -36,8 +36,10 @@     , pcSendNotificationEmail     , pcPayload     , pcEmailMessage+    , pcUseDomainAdminAccess     , pcTransferOwnership     , pcFileId+    , pcSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -53,19 +55,23 @@              "permissions" :>                QueryParam "sendNotificationEmail" Bool :>                  QueryParam "emailMessage" Text :>-                   QueryParam "transferOwnership" Bool :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] Permission :> Post '[JSON] Permission+                   QueryParam "useDomainAdminAccess" Bool :>+                     QueryParam "transferOwnership" Bool :>+                       QueryParam "supportsTeamDrives" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] Permission :> Post '[JSON] Permission --- | Creates a permission for a file.+-- | Creates a permission for a file or Team Drive. -- -- /See:/ 'permissionsCreate' smart constructor. data PermissionsCreate = PermissionsCreate'     { _pcSendNotificationEmail :: !(Maybe Bool)     , _pcPayload               :: !Permission     , _pcEmailMessage          :: !(Maybe Text)+    , _pcUseDomainAdminAccess  :: !Bool     , _pcTransferOwnership     :: !Bool     , _pcFileId                :: !Text+    , _pcSupportsTeamDrives    :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'PermissionsCreate' with the minimum fields required to make a request.@@ -78,9 +84,13 @@ -- -- * 'pcEmailMessage' --+-- * 'pcUseDomainAdminAccess'+-- -- * 'pcTransferOwnership' -- -- * 'pcFileId'+--+-- * 'pcSupportsTeamDrives' permissionsCreate     :: Permission -- ^ 'pcPayload'     -> Text -- ^ 'pcFileId'@@ -90,8 +100,10 @@     { _pcSendNotificationEmail = Nothing     , _pcPayload = pPcPayload_     , _pcEmailMessage = Nothing+    , _pcUseDomainAdminAccess = False     , _pcTransferOwnership = False     , _pcFileId = pPcFileId_+    , _pcSupportsTeamDrives = False     }  -- | Whether to send a notification email when sharing to users or groups.@@ -107,12 +119,20 @@ pcPayload   = lens _pcPayload (\ s a -> s{_pcPayload = a}) --- | A custom message to include in the notification email.+-- | A plain text custom message to include in the notification email. pcEmailMessage :: Lens' PermissionsCreate (Maybe Text) pcEmailMessage   = lens _pcEmailMessage       (\ s a -> s{_pcEmailMessage = 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.+pcUseDomainAdminAccess :: Lens' PermissionsCreate Bool+pcUseDomainAdminAccess+  = lens _pcUseDomainAdminAccess+      (\ s a -> s{_pcUseDomainAdminAccess = a})+ -- | Whether to transfer ownership to the specified user and downgrade the -- current owner to a writer. This parameter is required as an -- acknowledgement of the side effect.@@ -121,10 +141,16 @@   = lens _pcTransferOwnership       (\ s a -> s{_pcTransferOwnership = a}) --- | The ID of the file.+-- | The ID of the file or Team Drive. pcFileId :: Lens' PermissionsCreate Text pcFileId = lens _pcFileId (\ s a -> s{_pcFileId = a}) +-- | Whether the requesting application supports Team Drives.+pcSupportsTeamDrives :: Lens' PermissionsCreate Bool+pcSupportsTeamDrives+  = lens _pcSupportsTeamDrives+      (\ s a -> s{_pcSupportsTeamDrives = a})+ instance GoogleRequest PermissionsCreate where         type Rs PermissionsCreate = Permission         type Scopes PermissionsCreate =@@ -133,7 +159,9 @@         requestClient PermissionsCreate'{..}           = go _pcFileId _pcSendNotificationEmail               _pcEmailMessage+              (Just _pcUseDomainAdminAccess)               (Just _pcTransferOwnership)+              (Just _pcSupportsTeamDrives)               (Just AltJSON)               _pcPayload               driveService
gen/Network/Google/Resource/Drive/Permissions/Delete.hs view
@@ -33,7 +33,9 @@     , PermissionsDelete      -- * Request Lenses+    , pdUseDomainAdminAccess     , pdFileId+    , pdSupportsTeamDrives     , pdPermissionId     ) where @@ -49,22 +51,30 @@            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()+                 QueryParam "useDomainAdminAccess" Bool :>+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()  -- | Deletes a permission. -- -- /See:/ 'permissionsDelete' smart constructor. data PermissionsDelete = PermissionsDelete'-    { _pdFileId       :: !Text-    , _pdPermissionId :: !Text+    { _pdUseDomainAdminAccess :: !Bool+    , _pdFileId               :: !Text+    , _pdSupportsTeamDrives   :: !Bool+    , _pdPermissionId         :: !Text     } 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: --+-- * 'pdUseDomainAdminAccess'+-- -- * 'pdFileId' --+-- * 'pdSupportsTeamDrives'+-- -- * 'pdPermissionId' permissionsDelete     :: Text -- ^ 'pdFileId'@@ -72,14 +82,30 @@     -> PermissionsDelete permissionsDelete pPdFileId_ pPdPermissionId_ =     PermissionsDelete'-    { _pdFileId = pPdFileId_+    { _pdUseDomainAdminAccess = False+    , _pdFileId = pPdFileId_+    , _pdSupportsTeamDrives = False     , _pdPermissionId = pPdPermissionId_     } --- | The ID of the file.+-- | 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.+pdUseDomainAdminAccess :: Lens' PermissionsDelete Bool+pdUseDomainAdminAccess+  = lens _pdUseDomainAdminAccess+      (\ s a -> s{_pdUseDomainAdminAccess = a})++-- | The ID of the file or Team Drive. pdFileId :: Lens' PermissionsDelete Text pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a}) +-- | Whether the requesting application supports Team Drives.+pdSupportsTeamDrives :: Lens' PermissionsDelete Bool+pdSupportsTeamDrives+  = lens _pdSupportsTeamDrives+      (\ s a -> s{_pdSupportsTeamDrives = a})+ -- | The ID of the permission. pdPermissionId :: Lens' PermissionsDelete Text pdPermissionId@@ -92,7 +118,10 @@              '["https://www.googleapis.com/auth/drive",                "https://www.googleapis.com/auth/drive.file"]         requestClient PermissionsDelete'{..}-          = go _pdFileId _pdPermissionId (Just AltJSON)+          = go _pdFileId _pdPermissionId+              (Just _pdUseDomainAdminAccess)+              (Just _pdSupportsTeamDrives)+              (Just AltJSON)               driveService           where go                   = buildClient
gen/Network/Google/Resource/Drive/Permissions/Get.hs view
@@ -33,7 +33,9 @@     , PermissionsGet      -- * Request Lenses+    , pgUseDomainAdminAccess     , pgFileId+    , pgSupportsTeamDrives     , pgPermissionId     ) where @@ -49,22 +51,30 @@            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>-                 QueryParam "alt" AltJSON :> Get '[JSON] Permission+                 QueryParam "useDomainAdminAccess" Bool :>+                   QueryParam "supportsTeamDrives" Bool :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Permission  -- | Gets a permission by ID. -- -- /See:/ 'permissionsGet' smart constructor. data PermissionsGet = PermissionsGet'-    { _pgFileId       :: !Text-    , _pgPermissionId :: !Text+    { _pgUseDomainAdminAccess :: !Bool+    , _pgFileId               :: !Text+    , _pgSupportsTeamDrives   :: !Bool+    , _pgPermissionId         :: !Text     } 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: --+-- * 'pgUseDomainAdminAccess'+-- -- * 'pgFileId' --+-- * 'pgSupportsTeamDrives'+-- -- * 'pgPermissionId' permissionsGet     :: Text -- ^ 'pgFileId'@@ -72,14 +82,30 @@     -> PermissionsGet permissionsGet pPgFileId_ pPgPermissionId_ =     PermissionsGet'-    { _pgFileId = pPgFileId_+    { _pgUseDomainAdminAccess = False+    , _pgFileId = pPgFileId_+    , _pgSupportsTeamDrives = False     , _pgPermissionId = pPgPermissionId_     } +-- | 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.+pgUseDomainAdminAccess :: Lens' PermissionsGet Bool+pgUseDomainAdminAccess+  = lens _pgUseDomainAdminAccess+      (\ s a -> s{_pgUseDomainAdminAccess = a})+ -- | The ID of the file. pgFileId :: Lens' PermissionsGet Text pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a}) +-- | Whether the requesting application supports Team Drives.+pgSupportsTeamDrives :: Lens' PermissionsGet Bool+pgSupportsTeamDrives+  = lens _pgSupportsTeamDrives+      (\ s a -> s{_pgSupportsTeamDrives = a})+ -- | The ID of the permission. pgPermissionId :: Lens' PermissionsGet Text pgPermissionId@@ -96,7 +122,10 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient PermissionsGet'{..}-          = go _pgFileId _pgPermissionId (Just AltJSON)+          = go _pgFileId _pgPermissionId+              (Just _pgUseDomainAdminAccess)+              (Just _pgSupportsTeamDrives)+              (Just AltJSON)               driveService           where go                   = buildClient (Proxy :: Proxy PermissionsGetResource)
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 permissions.+-- Lists a file\'s or Team Drive\'s permissions. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.list@. module Network.Google.Resource.Drive.Permissions.List@@ -33,7 +33,11 @@     , PermissionsList      -- * Request Lenses+    , plPageToken+    , plUseDomainAdminAccess     , plFileId+    , plPageSize+    , plSupportsTeamDrives     ) where  import           Network.Google.Drive.Types@@ -47,33 +51,83 @@          "files" :>            Capture "fileId" Text :>              "permissions" :>-               QueryParam "alt" AltJSON :>-                 Get '[JSON] PermissionList+               QueryParam "pageToken" Text :>+                 QueryParam "useDomainAdminAccess" Bool :>+                   QueryParam "pageSize" (Textual Int32) :>+                     QueryParam "supportsTeamDrives" Bool :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] PermissionList --- | Lists a file\'s permissions.+-- | Lists a file\'s or Team Drive\'s permissions. -- -- /See:/ 'permissionsList' smart constructor.-newtype PermissionsList = PermissionsList'-    { _plFileId :: Text+data PermissionsList = PermissionsList'+    { _plPageToken            :: !(Maybe Text)+    , _plUseDomainAdminAccess :: !Bool+    , _plFileId               :: !Text+    , _plPageSize             :: !(Maybe (Textual Int32))+    , _plSupportsTeamDrives   :: !Bool     } 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: --+-- * 'plPageToken'+--+-- * 'plUseDomainAdminAccess'+-- -- * 'plFileId'+--+-- * 'plPageSize'+--+-- * 'plSupportsTeamDrives' permissionsList     :: Text -- ^ 'plFileId'     -> PermissionsList permissionsList pPlFileId_ =     PermissionsList'-    { _plFileId = pPlFileId_+    { _plPageToken = Nothing+    , _plUseDomainAdminAccess = False+    , _plFileId = pPlFileId_+    , _plPageSize = Nothing+    , _plSupportsTeamDrives = False     } --- | The ID of the file.+-- | 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.+plPageToken :: Lens' PermissionsList (Maybe Text)+plPageToken+  = 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.+plUseDomainAdminAccess :: Lens' PermissionsList Bool+plUseDomainAdminAccess+  = lens _plUseDomainAdminAccess+      (\ s a -> s{_plUseDomainAdminAccess = a})++-- | The ID of the file or Team 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+-- returned.+plPageSize :: Lens' PermissionsList (Maybe Int32)+plPageSize+  = lens _plPageSize (\ s a -> s{_plPageSize = a}) .+      mapping _Coerce++-- | Whether the requesting application supports Team Drives.+plSupportsTeamDrives :: Lens' PermissionsList Bool+plSupportsTeamDrives+  = lens _plSupportsTeamDrives+      (\ s a -> s{_plSupportsTeamDrives = a})+ instance GoogleRequest PermissionsList where         type Rs PermissionsList = PermissionList         type Scopes PermissionsList =@@ -84,7 +138,12 @@                "https://www.googleapis.com/auth/drive.photos.readonly",                "https://www.googleapis.com/auth/drive.readonly"]         requestClient PermissionsList'{..}-          = go _plFileId (Just AltJSON) driveService+          = go _plFileId _plPageToken+              (Just _plUseDomainAdminAccess)+              _plPageSize+              (Just _plSupportsTeamDrives)+              (Just AltJSON)+              driveService           where go                   = buildClient                       (Proxy :: Proxy PermissionsListResource)
gen/Network/Google/Resource/Drive/Permissions/Update.hs view
@@ -35,8 +35,10 @@     -- * Request Lenses     , puPayload     , puRemoveExpiration+    , puUseDomainAdminAccess     , puTransferOwnership     , puFileId+    , puSupportsTeamDrives     , puPermissionId     ) where @@ -53,20 +55,24 @@              "permissions" :>                Capture "permissionId" Text :>                  QueryParam "removeExpiration" Bool :>-                   QueryParam "transferOwnership" Bool :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] Permission :>-                         Patch '[JSON] Permission+                   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'-    { _puPayload           :: !Permission-    , _puRemoveExpiration  :: !Bool-    , _puTransferOwnership :: !Bool-    , _puFileId            :: !Text-    , _puPermissionId      :: !Text+    { _puPayload              :: !Permission+    , _puRemoveExpiration     :: !Bool+    , _puUseDomainAdminAccess :: !Bool+    , _puTransferOwnership    :: !Bool+    , _puFileId               :: !Text+    , _puSupportsTeamDrives   :: !Bool+    , _puPermissionId         :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'PermissionsUpdate' with the minimum fields required to make a request.@@ -77,10 +83,14 @@ -- -- * 'puRemoveExpiration' --+-- * 'puUseDomainAdminAccess'+-- -- * 'puTransferOwnership' -- -- * 'puFileId' --+-- * 'puSupportsTeamDrives'+-- -- * 'puPermissionId' permissionsUpdate     :: Permission -- ^ 'puPayload'@@ -91,8 +101,10 @@     PermissionsUpdate'     { _puPayload = pPuPayload_     , _puRemoveExpiration = False+    , _puUseDomainAdminAccess = False     , _puTransferOwnership = False     , _puFileId = pPuFileId_+    , _puSupportsTeamDrives = False     , _puPermissionId = pPuPermissionId_     } @@ -107,6 +119,14 @@   = lens _puRemoveExpiration       (\ 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.+puUseDomainAdminAccess :: Lens' PermissionsUpdate Bool+puUseDomainAdminAccess+  = lens _puUseDomainAdminAccess+      (\ s a -> s{_puUseDomainAdminAccess = a})+ -- | Whether to transfer ownership to the specified user and downgrade the -- current owner to a writer. This parameter is required as an -- acknowledgement of the side effect.@@ -115,10 +135,16 @@   = lens _puTransferOwnership       (\ s a -> s{_puTransferOwnership = a}) --- | The ID of the file.+-- | The ID of the file or Team Drive. puFileId :: Lens' PermissionsUpdate Text puFileId = lens _puFileId (\ s a -> s{_puFileId = a}) +-- | Whether the requesting application supports Team Drives.+puSupportsTeamDrives :: Lens' PermissionsUpdate Bool+puSupportsTeamDrives+  = lens _puSupportsTeamDrives+      (\ s a -> s{_puSupportsTeamDrives = a})+ -- | The ID of the permission. puPermissionId :: Lens' PermissionsUpdate Text puPermissionId@@ -133,7 +159,9 @@         requestClient PermissionsUpdate'{..}           = go _puFileId _puPermissionId               (Just _puRemoveExpiration)+              (Just _puUseDomainAdminAccess)               (Just _puTransferOwnership)+              (Just _puSupportsTeamDrives)               (Just AltJSON)               _puPayload               driveService
+ gen/Network/Google/Resource/Drive/Teamdrives/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.Teamdrives.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 Team Drive.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.create@.+module Network.Google.Resource.Drive.Teamdrives.Create+    (+    -- * REST Resource+      TeamdrivesCreateResource++    -- * Creating a Request+    , teamdrivesCreate+    , TeamdrivesCreate++    -- * Request Lenses+    , tcRequestId+    , tcPayload+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.create@ method which the+-- 'TeamdrivesCreate' request conforms to.+type TeamdrivesCreateResource =+     "drive" :>+       "v3" :>+         "teamdrives" :>+           QueryParam "requestId" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] TeamDrive :> Post '[JSON] TeamDrive++-- | Creates a new Team Drive.+--+-- /See:/ 'teamdrivesCreate' smart constructor.+data TeamdrivesCreate = TeamdrivesCreate'+    { _tcRequestId :: !Text+    , _tcPayload   :: !TeamDrive+    } 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:+--+-- * 'tcRequestId'+--+-- * 'tcPayload'+teamdrivesCreate+    :: Text -- ^ 'tcRequestId'+    -> TeamDrive -- ^ 'tcPayload'+    -> TeamdrivesCreate+teamdrivesCreate pTcRequestId_ 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+-- the same user and with the same request ID will avoid creating+-- duplicates by attempting to create the same Team Drive. If the Team+-- Drive already exists a 409 error will be returned.+tcRequestId :: Lens' TeamdrivesCreate Text+tcRequestId+  = lens _tcRequestId (\ s a -> s{_tcRequestId = a})++-- | Multipart request metadata.+tcPayload :: Lens' TeamdrivesCreate TeamDrive+tcPayload+  = lens _tcPayload (\ s a -> s{_tcPayload = a})++instance GoogleRequest TeamdrivesCreate where+        type Rs TeamdrivesCreate = TeamDrive+        type Scopes TeamdrivesCreate =+             '["https://www.googleapis.com/auth/drive"]+        requestClient TeamdrivesCreate'{..}+          = go (Just _tcRequestId) (Just AltJSON) _tcPayload+              driveService+          where go+                  = buildClient+                      (Proxy :: Proxy TeamdrivesCreateResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/Delete.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Drive.Teamdrives.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 Team Drive for which the user is an organizer. The+-- Team Drive cannot contain any untrashed items.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.delete@.+module Network.Google.Resource.Drive.Teamdrives.Delete+    (+    -- * REST Resource+      TeamdrivesDeleteResource++    -- * Creating a Request+    , teamdrivesDelete+    , TeamdrivesDelete++    -- * Request Lenses+    , tdTeamDriveId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.delete@ method which the+-- 'TeamdrivesDelete' request conforms to.+type TeamdrivesDeleteResource =+     "drive" :>+       "v3" :>+         "teamdrives" :>+           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.+--+-- /See:/ 'teamdrivesDelete' smart constructor.+newtype TeamdrivesDelete = TeamdrivesDelete'+    { _tdTeamDriveId :: Text+    } 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:+--+-- * 'tdTeamDriveId'+teamdrivesDelete+    :: Text -- ^ 'tdTeamDriveId'+    -> TeamdrivesDelete+teamdrivesDelete pTdTeamDriveId_ =+    TeamdrivesDelete'+    { _tdTeamDriveId = pTdTeamDriveId_+    }++-- | The ID of the Team Drive+tdTeamDriveId :: Lens' TeamdrivesDelete Text+tdTeamDriveId+  = lens _tdTeamDriveId+      (\ s a -> s{_tdTeamDriveId = a})++instance GoogleRequest TeamdrivesDelete where+        type Rs TeamdrivesDelete = ()+        type Scopes TeamdrivesDelete =+             '["https://www.googleapis.com/auth/drive"]+        requestClient TeamdrivesDelete'{..}+          = go _tdTeamDriveId (Just AltJSON) driveService+          where go+                  = buildClient+                      (Proxy :: Proxy TeamdrivesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/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.Teamdrives.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 Team Drive\'s metadata by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.get@.+module Network.Google.Resource.Drive.Teamdrives.Get+    (+    -- * REST Resource+      TeamdrivesGetResource++    -- * Creating a Request+    , teamdrivesGet+    , TeamdrivesGet++    -- * Request Lenses+    , tgTeamDriveId+    , tgUseDomainAdminAccess+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.get@ method which the+-- 'TeamdrivesGet' request conforms to.+type TeamdrivesGetResource =+     "drive" :>+       "v3" :>+         "teamdrives" :>+           Capture "teamDriveId" Text :>+             QueryParam "useDomainAdminAccess" Bool :>+               QueryParam "alt" AltJSON :> Get '[JSON] TeamDrive++-- | Gets a Team Drive\'s metadata by ID.+--+-- /See:/ 'teamdrivesGet' smart constructor.+data TeamdrivesGet = TeamdrivesGet'+    { _tgTeamDriveId          :: !Text+    , _tgUseDomainAdminAccess :: !Bool+    } 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:+--+-- * 'tgTeamDriveId'+--+-- * 'tgUseDomainAdminAccess'+teamdrivesGet+    :: Text -- ^ 'tgTeamDriveId'+    -> TeamdrivesGet+teamdrivesGet pTgTeamDriveId_ =+    TeamdrivesGet'+    { _tgTeamDriveId = pTgTeamDriveId_+    , _tgUseDomainAdminAccess = False+    }++-- | The ID of the Team Drive+tgTeamDriveId :: Lens' TeamdrivesGet Text+tgTeamDriveId+  = lens _tgTeamDriveId+      (\ s a -> s{_tgTeamDriveId = 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 Team Drive belongs.+tgUseDomainAdminAccess :: Lens' TeamdrivesGet Bool+tgUseDomainAdminAccess+  = lens _tgUseDomainAdminAccess+      (\ s a -> s{_tgUseDomainAdminAccess = a})++instance GoogleRequest TeamdrivesGet where+        type Rs TeamdrivesGet = TeamDrive+        type Scopes TeamdrivesGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient TeamdrivesGet'{..}+          = go _tgTeamDriveId (Just _tgUseDomainAdminAccess)+              (Just AltJSON)+              driveService+          where go+                  = buildClient (Proxy :: Proxy TeamdrivesGetResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/List.hs view
@@ -0,0 +1,123 @@+{-# 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.Teamdrives.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 Team Drives.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.list@.+module Network.Google.Resource.Drive.Teamdrives.List+    (+    -- * REST Resource+      TeamdrivesListResource++    -- * Creating a Request+    , teamdrivesList+    , TeamdrivesList++    -- * Request Lenses+    , tlQ+    , tlPageToken+    , tlUseDomainAdminAccess+    , tlPageSize+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.list@ method which the+-- 'TeamdrivesList' request conforms to.+type TeamdrivesListResource =+     "drive" :>+       "v3" :>+         "teamdrives" :>+           QueryParam "q" Text :>+             QueryParam "pageToken" Text :>+               QueryParam "useDomainAdminAccess" Bool :>+                 QueryParam "pageSize" (Textual Int32) :>+                   QueryParam "alt" AltJSON :> Get '[JSON] TeamDriveList++-- | Lists the user\'s Team Drives.+--+-- /See:/ 'teamdrivesList' smart constructor.+data TeamdrivesList = TeamdrivesList'+    { _tlQ                    :: !(Maybe Text)+    , _tlPageToken            :: !(Maybe Text)+    , _tlUseDomainAdminAccess :: !Bool+    , _tlPageSize             :: !(Textual Int32)+    } 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:+--+-- * 'tlQ'+--+-- * 'tlPageToken'+--+-- * 'tlUseDomainAdminAccess'+--+-- * 'tlPageSize'+teamdrivesList+    :: TeamdrivesList+teamdrivesList =+    TeamdrivesList'+    { _tlQ = Nothing+    , _tlPageToken = Nothing+    , _tlUseDomainAdminAccess = False+    , _tlPageSize = 10+    }++-- | Query string for searching Team Drives.+tlQ :: Lens' TeamdrivesList (Maybe Text)+tlQ = lens _tlQ (\ s a -> s{_tlQ = a})++-- | Page token for Team Drives.+tlPageToken :: Lens' TeamdrivesList (Maybe Text)+tlPageToken+  = lens _tlPageToken (\ s a -> s{_tlPageToken = a})++-- | Issue the request as a domain administrator; if set to true, then all+-- Team Drives of the domain in which the requester is an administrator are+-- returned.+tlUseDomainAdminAccess :: Lens' TeamdrivesList Bool+tlUseDomainAdminAccess+  = lens _tlUseDomainAdminAccess+      (\ s a -> s{_tlUseDomainAdminAccess = a})++-- | Maximum number of Team Drives to return.+tlPageSize :: Lens' TeamdrivesList Int32+tlPageSize+  = lens _tlPageSize (\ s a -> s{_tlPageSize = a}) .+      _Coerce++instance GoogleRequest TeamdrivesList where+        type Rs TeamdrivesList = TeamDriveList+        type Scopes TeamdrivesList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient TeamdrivesList'{..}+          = go _tlQ _tlPageToken (Just _tlUseDomainAdminAccess)+              (Just _tlPageSize)+              (Just AltJSON)+              driveService+          where go+                  = buildClient (Proxy :: Proxy TeamdrivesListResource)+                      mempty
+ gen/Network/Google/Resource/Drive/Teamdrives/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.Teamdrives.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 a Team Drive\'s metadata+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.teamdrives.update@.+module Network.Google.Resource.Drive.Teamdrives.Update+    (+    -- * REST Resource+      TeamdrivesUpdateResource++    -- * Creating a Request+    , teamdrivesUpdate+    , TeamdrivesUpdate++    -- * Request Lenses+    , tuPayload+    , tuTeamDriveId+    , tuUseDomainAdminAccess+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.teamdrives.update@ method which the+-- 'TeamdrivesUpdate' request conforms to.+type TeamdrivesUpdateResource =+     "drive" :>+       "v3" :>+         "teamdrives" :>+           Capture "teamDriveId" Text :>+             QueryParam "useDomainAdminAccess" Bool :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] TeamDrive :> Patch '[JSON] TeamDrive++-- | Updates a Team Drive\'s metadata+--+-- /See:/ 'teamdrivesUpdate' smart constructor.+data TeamdrivesUpdate = TeamdrivesUpdate'+    { _tuPayload              :: !TeamDrive+    , _tuTeamDriveId          :: !Text+    , _tuUseDomainAdminAccess :: !Bool+    } 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:+--+-- * 'tuPayload'+--+-- * 'tuTeamDriveId'+--+-- * 'tuUseDomainAdminAccess'+teamdrivesUpdate+    :: TeamDrive -- ^ 'tuPayload'+    -> Text -- ^ 'tuTeamDriveId'+    -> TeamdrivesUpdate+teamdrivesUpdate pTuPayload_ pTuTeamDriveId_ =+    TeamdrivesUpdate'+    { _tuPayload = pTuPayload_+    , _tuTeamDriveId = pTuTeamDriveId_+    , _tuUseDomainAdminAccess = False+    }++-- | Multipart request metadata.+tuPayload :: Lens' TeamdrivesUpdate TeamDrive+tuPayload+  = lens _tuPayload (\ s a -> s{_tuPayload = a})++-- | The ID of the Team Drive+tuTeamDriveId :: Lens' TeamdrivesUpdate Text+tuTeamDriveId+  = lens _tuTeamDriveId+      (\ s a -> s{_tuTeamDriveId = 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 Team Drive belongs.+tuUseDomainAdminAccess :: Lens' TeamdrivesUpdate Bool+tuUseDomainAdminAccess+  = lens _tuUseDomainAdminAccess+      (\ s a -> s{_tuUseDomainAdminAccess = a})++instance GoogleRequest TeamdrivesUpdate where+        type Rs TeamdrivesUpdate = TeamDrive+        type Scopes TeamdrivesUpdate =+             '["https://www.googleapis.com/auth/drive"]+        requestClient TeamdrivesUpdate'{..}+          = go _tuTeamDriveId (Just _tuUseDomainAdminAccess)+              (Just AltJSON)+              _tuPayload+              driveService+          where go+                  = buildClient+                      (Proxy :: Proxy TeamdrivesUpdateResource)+                      mempty
gogol-drive.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-drive-version:               0.3.0+version:               0.4.0 synopsis:              Google Drive SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -70,11 +70,16 @@         , Network.Google.Resource.Drive.Revisions.Get         , Network.Google.Resource.Drive.Revisions.List         , Network.Google.Resource.Drive.Revisions.Update+        , Network.Google.Resource.Drive.Teamdrives.Create+        , Network.Google.Resource.Drive.Teamdrives.Delete+        , Network.Google.Resource.Drive.Teamdrives.Get+        , Network.Google.Resource.Drive.Teamdrives.List+        , Network.Google.Resource.Drive.Teamdrives.Update      other-modules:           Network.Google.Drive.Types.Product         , Network.Google.Drive.Types.Sum      build-depends:-          gogol-core == 0.3.0.*+          gogol-core == 0.4.0.*         , base       >= 4.7 && < 5