packages feed

gogol-drive 0.0.1 → 0.1.0

raw patch · 72 files changed

+4965/−10596 lines, 72 filesdep ~gogol-core

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.0.1`+`0.1.0`   ## Description@@ -18,9 +18,9 @@  ## Contribute -For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues). -> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.   ## Licence
gen/Network/Google/Drive.hs view
@@ -7,13 +7,14 @@  -- | -- Module      : Network.Google.Drive--- Copyright   : (c) 2015 Brendan Hay+-- 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) ----- The API to interact with Drive.+-- Manages files in Drive including uploading, downloading, searching,+-- detecting changes, and updating sharing permissions. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> module Network.Google.Drive@@ -21,6 +22,16 @@     -- * Service Configuration       driveService +    -- * OAuth Scopes+    , driveMetadataReadOnlyScope+    , drivePhotosReadOnlyScope+    , driveAppDataScope+    , driveReadOnlyScope+    , driveScope+    , driveFileScope+    , driveMetadataScope+    , driveScriptsScope+     -- * API Declaration     , DriveAPI @@ -29,14 +40,8 @@     -- ** drive.about.get     , module Network.Google.Resource.Drive.About.Get -    -- ** drive.apps.get-    , module Network.Google.Resource.Drive.Apps.Get--    -- ** drive.apps.list-    , module Network.Google.Resource.Drive.Apps.List--    -- ** drive.changes.get-    , module Network.Google.Resource.Drive.Changes.Get+    -- ** drive.changes.getStartPageToken+    , module Network.Google.Resource.Drive.Changes.GetStartPageToken      -- ** drive.changes.list     , module Network.Google.Resource.Drive.Changes.List@@ -47,17 +52,8 @@     -- ** drive.channels.stop     , module Network.Google.Resource.Drive.Channels.Stop -    -- ** drive.children.delete-    , module Network.Google.Resource.Drive.Children.Delete--    -- ** drive.children.get-    , module Network.Google.Resource.Drive.Children.Get--    -- ** drive.children.insert-    , module Network.Google.Resource.Drive.Children.Insert--    -- ** drive.children.list-    , module Network.Google.Resource.Drive.Children.List+    -- ** drive.comments.create+    , module Network.Google.Resource.Drive.Comments.Create      -- ** drive.comments.delete     , module Network.Google.Resource.Drive.Comments.Delete@@ -65,68 +61,44 @@     -- ** drive.comments.get     , module Network.Google.Resource.Drive.Comments.Get -    -- ** drive.comments.insert-    , module Network.Google.Resource.Drive.Comments.Insert-     -- ** drive.comments.list     , module Network.Google.Resource.Drive.Comments.List -    -- ** drive.comments.patch-    , module Network.Google.Resource.Drive.Comments.Patch-     -- ** drive.comments.update     , module Network.Google.Resource.Drive.Comments.Update      -- ** drive.files.copy     , module Network.Google.Resource.Drive.Files.Copy +    -- ** drive.files.create+    , module Network.Google.Resource.Drive.Files.Create+     -- ** drive.files.delete     , module Network.Google.Resource.Drive.Files.Delete      -- ** drive.files.emptyTrash     , module Network.Google.Resource.Drive.Files.EmptyTrash +    -- ** drive.files.export+    , module Network.Google.Resource.Drive.Files.Export+     -- ** drive.files.generateIds     , module Network.Google.Resource.Drive.Files.GenerateIds      -- ** drive.files.get     , module Network.Google.Resource.Drive.Files.Get -    -- ** drive.files.insert-    , module Network.Google.Resource.Drive.Files.Insert-     -- ** drive.files.list     , module Network.Google.Resource.Drive.Files.List -    -- ** drive.files.patch-    , module Network.Google.Resource.Drive.Files.Patch--    -- ** drive.files.touch-    , module Network.Google.Resource.Drive.Files.Touch--    -- ** drive.files.trash-    , module Network.Google.Resource.Drive.Files.Trash--    -- ** drive.files.untrash-    , module Network.Google.Resource.Drive.Files.Untrash-     -- ** drive.files.update     , module Network.Google.Resource.Drive.Files.Update      -- ** drive.files.watch     , module Network.Google.Resource.Drive.Files.Watch -    -- ** drive.parents.delete-    , module Network.Google.Resource.Drive.Parents.Delete--    -- ** drive.parents.get-    , module Network.Google.Resource.Drive.Parents.Get--    -- ** drive.parents.insert-    , module Network.Google.Resource.Drive.Parents.Insert--    -- ** drive.parents.list-    , module Network.Google.Resource.Drive.Parents.List+    -- ** drive.permissions.create+    , module Network.Google.Resource.Drive.Permissions.Create      -- ** drive.permissions.delete     , module Network.Google.Resource.Drive.Permissions.Delete@@ -134,44 +106,14 @@     -- ** drive.permissions.get     , module Network.Google.Resource.Drive.Permissions.Get -    -- ** drive.permissions.getIdForEmail-    , module Network.Google.Resource.Drive.Permissions.GetIdForEmail--    -- ** drive.permissions.insert-    , module Network.Google.Resource.Drive.Permissions.Insert-     -- ** drive.permissions.list     , module Network.Google.Resource.Drive.Permissions.List -    -- ** drive.permissions.patch-    , module Network.Google.Resource.Drive.Permissions.Patch-     -- ** drive.permissions.update     , module Network.Google.Resource.Drive.Permissions.Update -    -- ** drive.properties.delete-    , module Network.Google.Resource.Drive.Properties.Delete--    -- ** drive.properties.get-    , module Network.Google.Resource.Drive.Properties.Get--    -- ** drive.properties.insert-    , module Network.Google.Resource.Drive.Properties.Insert--    -- ** drive.properties.list-    , module Network.Google.Resource.Drive.Properties.List--    -- ** drive.properties.patch-    , module Network.Google.Resource.Drive.Properties.Patch--    -- ** drive.properties.update-    , module Network.Google.Resource.Drive.Properties.Update--    -- ** drive.realtime.get-    , module Network.Google.Resource.Drive.Realtime.Get--    -- ** drive.realtime.update-    , module Network.Google.Resource.Drive.Realtime.Update+    -- ** drive.replies.create+    , module Network.Google.Resource.Drive.Replies.Create      -- ** drive.replies.delete     , module Network.Google.Resource.Drive.Replies.Delete@@ -179,15 +121,9 @@     -- ** drive.replies.get     , module Network.Google.Resource.Drive.Replies.Get -    -- ** drive.replies.insert-    , module Network.Google.Resource.Drive.Replies.Insert-     -- ** drive.replies.list     , module Network.Google.Resource.Drive.Replies.List -    -- ** drive.replies.patch-    , module Network.Google.Resource.Drive.Replies.Patch-     -- ** drive.replies.update     , module Network.Google.Resource.Drive.Replies.Update @@ -200,116 +136,74 @@     -- ** drive.revisions.list     , module Network.Google.Resource.Drive.Revisions.List -    -- ** drive.revisions.patch-    , module Network.Google.Resource.Drive.Revisions.Patch-     -- ** drive.revisions.update     , module Network.Google.Resource.Drive.Revisions.Update      -- * Types -    -- ** CommentContext-    , CommentContext-    , commentContext-    , ccValue-    , ccType--    -- ** AppIconsItem-    , AppIconsItem-    , appIconsItem-    , aiiSize-    , aiiCategory-    , aiiIconURL--    -- ** FilesInsertVisibility-    , FilesInsertVisibility (..)-     -- ** FileList     , FileList     , fileList-    , flEtag     , flNextPageToken-    , flNextLink     , flKind-    , flItems-    , flSelfLink--    -- ** ParentReference-    , ParentReference-    , parentReference-    , prParentLink-    , prIsRoot-    , prKind-    , prSelfLink-    , prId--    -- ** Property-    , Property-    , property-    , pEtag-    , pKind-    , pValue-    , pVisibility-    , pSelfLink-    , pKey+    , flFiles      -- ** FilesListCorpus     , FilesListCorpus (..) -    -- ** FileThumbnail-    , FileThumbnail-    , fileThumbnail-    , ftImage-    , ftMimeType--    -- ** FilesListProjection-    , FilesListProjection (..)--    -- ** UserPicture-    , UserPicture-    , userPicture-    , upURL+    -- ** CommentQuotedFileContent+    , CommentQuotedFileContent+    , commentQuotedFileContent+    , cqfcValue+    , cqfcMimeType -    -- ** FilesUpdateModifiedDateBehavior-    , FilesUpdateModifiedDateBehavior (..)+    -- ** AboutStorageQuota+    , AboutStorageQuota+    , aboutStorageQuota+    , asqUsageInDriveTrash+    , asqLimit+    , asqUsage+    , asqUsageInDrive -    -- ** PropertyList-    , PropertyList-    , propertyList-    , plEtag-    , plKind-    , plItems-    , plSelfLink+    -- ** Reply+    , Reply+    , reply+    , rHTMLContent+    , rModifiedTime+    , rCreatedTime+    , rKind+    , rAction+    , rContent+    , rAuthor+    , rId+    , rDeleted -    -- ** ChildList-    , ChildList-    , childList-    , clEtag-    , clNextPageToken-    , clNextLink-    , clKind-    , clItems-    , clSelfLink+    -- ** AboutImportFormats+    , AboutImportFormats+    , aboutImportFormats+    , aifAddtional -    -- ** AppList-    , AppList-    , appList-    , alDefaultAppIds-    , alEtag-    , alKind-    , alItems-    , alSelfLink+    -- ** FileCapabilities+    , FileCapabilities+    , fileCapabilities+    , fcCanComment+    , fcCanEdit+    , fcCanReadRevisions+    , fcCanCopy+    , fcCanShare -    -- ** FileOpenWithLinks-    , FileOpenWithLinks-    , fileOpenWithLinks-    , fowlAddtional+    -- ** ReplyList+    , ReplyList+    , replyList+    , rlNextPageToken+    , rlKind+    , rlReplies -    -- ** AboutAdditionalRoleInfoItemRoleSetsItem-    , AboutAdditionalRoleInfoItemRoleSetsItem-    , aboutAdditionalRoleInfoItemRoleSetsItem-    , aariirsiPrimaryRole-    , aariirsiAdditionalRoles+    -- ** FileContentHintsThumbnail+    , FileContentHintsThumbnail+    , fileContentHintsThumbnail+    , fchtImage+    , fchtMimeType      -- ** Channel     , Channel@@ -325,15 +219,6 @@     , cId     , cType -    -- ** CommentReplyList-    , CommentReplyList-    , commentReplyList-    , crlNextPageToken-    , crlNextLink-    , crlKind-    , crlItems-    , crlSelfLink-     -- ** FileVideoMediaMetadata     , FileVideoMediaMetadata     , fileVideoMediaMetadata@@ -341,159 +226,76 @@     , fvmmWidth     , fvmmDurationMillis +    -- ** FileAppProperties+    , FileAppProperties+    , fileAppProperties+    , fapAddtional+     -- ** Change     , Change     , change+    , chaRemoved+    , chaTime     , chaKind-    , chaSelfLink-    , chaModificationDate-    , chaId-    , chaDeleted     , chaFileId     , chaFile -    -- ** App-    , App-    , app-    , aLongDescription-    , aOpenURLTemplate-    , aAuthorized-    , aObjectType-    , aSecondaryMimeTypes-    , aCreateInFolderTemplate-    , aKind-    , aIcons-    , aProductURL-    , aUseByDefault-    , aShortDescription-    , aName-    , aCreateURL-    , aId-    , aPrimaryFileExtensions-    , aInstalled-    , aSupportsCreate-    , aPrimaryMimeTypes-    , aHasDriveWideScope-    , aProductId-    , aSecondaryFileExtensions-    , aSupportsMultiOpen-    , aSupportsImport-    , aSupportsOfflineCreate--    -- ** ChildReference-    , ChildReference-    , childReference-    , crChildLink-    , crKind-    , crSelfLink-    , crId--    -- ** FilesWatchProjection-    , FilesWatchProjection (..)--    -- ** AboutMaxUploadSizesItem-    , AboutMaxUploadSizesItem-    , aboutMaxUploadSizesItem-    , amusiSize-    , amusiType--    -- ** CommentReply-    , CommentReply-    , commentReply-    , comHTMLContent-    , comKind-    , comContent-    , comCreatedDate-    , comReplyId-    , comAuthor-    , comModifiedDate-    , comDeleted-    , comVerb--    -- ** AboutQuotaBytesByServiceItem-    , AboutQuotaBytesByServiceItem-    , aboutQuotaBytesByServiceItem-    , aqbbsiBytesUsed-    , aqbbsiServiceName+    -- ** AboutExportFormats+    , AboutExportFormats+    , aboutExportFormats+    , aefAddtional      -- ** User     , User     , user-    , uIsAuthenticatedUser+    , uPhotoLink+    , uMe     , uKind-    , uPicture     , uEmailAddress     , uDisplayName     , uPermissionId -    -- ** AboutExportFormatsItem-    , AboutExportFormatsItem-    , aboutExportFormatsItem-    , aefiTargets-    , aefiSource-     -- ** ChangeList     , ChangeList     , changeList-    , cllEtag-    , cllNextPageToken-    , cllNextLink-    , cllKind-    , cllItems-    , cllSelfLink-    , cllLargestChangeId--    -- ** RevisionExportLinks-    , RevisionExportLinks-    , revisionExportLinks-    , relAddtional--    -- ** FileIndexableText-    , FileIndexableText-    , fileIndexableText-    , fitText+    , clNewStartPageToken+    , clNextPageToken+    , clChanges+    , clKind -    -- ** AboutFeaturesItem-    , AboutFeaturesItem-    , aboutFeaturesItem-    , afiFeatureRate-    , afiFeatureName+    -- ** FileContentHints+    , FileContentHints+    , fileContentHints+    , fchThumbnail+    , fchIndexableText      -- ** ChannelParams     , ChannelParams     , channelParams     , cpAddtional -    -- ** FilesPatchModifiedDateBehavior-    , FilesPatchModifiedDateBehavior (..)+    -- ** FileProperties+    , FileProperties+    , fileProperties+    , fpAddtional +    -- ** AboutMaxImportSizes+    , AboutMaxImportSizes+    , aboutMaxImportSizes+    , amisAddtional+     -- ** About     , About     , about-    , aboExportFormats-    , aboRemainingChangeIds-    , aboLanguageCode-    , aboEtag-    , aboImportFormats-    , aboKind-    , aboDomainSharingPolicy-    , aboQuotaBytesUsedInTrash-    , aboQuotaType-    , aboMaxUploadSizes-    , aboUser-    , aboSelfLink-    , aboName-    , aboFeatures-    , aboIsCurrentAppInstalled-    , aboQuotaBytesTotal-    , aboRootFolderId-    , aboQuotaBytesUsed-    , aboAdditionalRoleInfo-    , aboFolderColorPalette-    , aboPermissionId-    , aboQuotaBytesUsedAggregate-    , aboQuotaBytesByService-    , aboLargestChangeId+    , aExportFormats+    , aMaxImportSizes+    , aImportFormats+    , aKind+    , aAppInstalled+    , aUser+    , aStorageQuota+    , aMaxUploadSize+    , aFolderColorPalette      -- ** FileImageMediaMetadataLocation     , FileImageMediaMetadataLocation@@ -502,11 +304,11 @@     , fimmlAltitude     , fimmlLongitude -    -- ** AboutImportFormatsItem-    , AboutImportFormatsItem-    , aboutImportFormatsItem-    , aifiTargets-    , aifiSource+    -- ** StartPageToken+    , StartPageToken+    , startPageToken+    , sptKind+    , sptStartPageToken      -- ** FileImageMediaMetadata     , FileImageMediaMetadata@@ -516,6 +318,7 @@     , fimmSubjectDistance     , fimmMaxApertureValue     , fimmIsoSpeed+    , fimmTime     , fimmLocation     , fimmAperture     , fimmFocalLength@@ -524,7 +327,6 @@     , fimmExposureTime     , fimmCameraModel     , fimmWhiteBalance-    , fimmDate     , fimmLens     , fimmFlashUsed     , fimmExposureBias@@ -533,79 +335,50 @@     , fimmSensor     , fimmColorSpace -    -- ** FileLabels-    , FileLabels-    , fileLabels-    , flViewed-    , flTrashed-    , flStarred-    , flHidden-    , flRestricted-     -- ** Comment     , Comment     , comment-    , ccStatus-    , ccHTMLContent-    , ccContext-    , ccKind-    , ccFileTitle-    , ccAnchor-    , ccContent-    , ccReplies-    , ccCreatedDate-    , ccSelfLink-    , ccAuthor-    , ccModifiedDate-    , ccDeleted-    , ccFileId-    , ccCommentId+    , comHTMLContent+    , comModifiedTime+    , comCreatedTime+    , comKind+    , comResolved+    , comQuotedFileContent+    , comAnchor+    , comContent+    , comReplies+    , comAuthor+    , comId+    , comDeleted      -- ** Revision     , Revision     , revision-    , rEtag-    , rOriginalFilename-    , rKind-    , rPublishedLink-    , rPinned-    , rPublished-    , rLastModifyingUser-    , rFileSize-    , rPublishAuto-    , rMD5Checksum-    , rMimeType-    , rSelfLink-    , rLastModifyingUserName-    , rDownloadURL-    , rExportLinks-    , rPublishedOutsideDomain-    , rId-    , rModifiedDate--    -- ** AboutAdditionalRoleInfoItem-    , AboutAdditionalRoleInfoItem-    , aboutAdditionalRoleInfoItem-    , aariiRoleSets-    , aariiType+    , revModifiedTime+    , revSize+    , revOriginalFilename+    , revKind+    , revPublished+    , revLastModifyingUser+    , revPublishAuto+    , revMD5Checksum+    , revKeepForever+    , revMimeType+    , revPublishedOutsideDomain+    , revId      -- ** Permission     , Permission     , permission-    , perPhotoLink-    , perEtag-    , perWithLink-    , perKind-    , perDomain-    , perValue-    , perAdditionalRoles-    , perRole-    , perSelfLink-    , perName-    , perAuthKey-    , perEmailAddress-    , perId-    , perType+    , pPhotoLink+    , pKind+    , pDomain+    , pRole+    , pEmailAddress+    , pAllowFileDiscovery+    , pDisplayName+    , pId+    , pType      -- ** File     , File@@ -613,80 +386,48 @@     , fOwnedByMe     , fThumbnailLink     , fFullFileExtension-    , fThumbnail-    , fMarkedViewedByMeDate-    , fEtag+    , fModifiedTime+    , fModifiedByMeTime     , fFileExtension-    , fCanComment+    , fViewedByMe     , fOwners-    , fOwnerNames-    , fOpenWithLinks+    , fViewedByMeTime+    , fSize+    , fTrashed     , fWebViewLink+    , fCreatedTime     , fOriginalFilename     , fKind     , fLastModifyingUser     , fIconLink-    , fEmbedLink-    , fFileSize-    , fAppDataContents     , fImageMediaMetadata     , fExplicitlyTrashed-    , fEditable-    , fModifiedByMeDate-    , fLastViewedByMeDate     , fShared     , fMD5Checksum     , fFolderColorRgb     , fMimeType-    , fCreatedDate-    , fSelfLink-    , fLastModifyingUserName-    , fShareable-    , fDownloadURL-    , fExportLinks-    , fCopyable+    , fIsAppAuthorized+    , fName     , fParents-    , fSharedWithMeDate+    , fStarred     , fSpaces     , fVersion-    , fUserPermission     , fWritersCanShare-    , fDefaultOpenWithLink     , fId-    , fLabels-    , fModifiedDate     , fPermissions     , fQuotaBytesUsed-    , fTitle-    , fAlternateLink+    , fAppProperties     , fVideoMediaMetadata+    , fSharedWithMeTime     , fHeadRevisionId+    , fCapabilities     , fDescription+    , fViewersCanCopyContent     , fSharingUser     , fWebContentLink+    , fContentHints     , fProperties-    , fIndexableText -    -- ** PermissionId-    , PermissionId-    , permissionId-    , piKind-    , piId--    -- ** FilesCopyVisibility-    , FilesCopyVisibility (..)--    -- ** FilesGetProjection-    , FilesGetProjection (..)--    -- ** ParentList-    , ParentList-    , parentList-    , parEtag-    , parKind-    , parItems-    , parSelfLink-     -- ** GeneratedIds     , GeneratedIds     , generatedIds@@ -694,98 +435,61 @@     , giKind     , giIds -    -- ** FileExportLinks-    , FileExportLinks-    , fileExportLinks-    , felAddtional-     -- ** CommentList     , CommentList     , commentList-    , comoNextPageToken-    , comoNextLink-    , comoKind-    , comoItems-    , comoSelfLink+    , cllNextPageToken+    , cllKind+    , cllComments      -- ** RevisionList     , RevisionList     , revisionList-    , rlEtag-    , rlKind-    , rlItems-    , rlSelfLink+    , rllKind+    , rllRevisions      -- ** PermissionList     , PermissionList     , permissionList-    , pllEtag-    , pllKind-    , pllItems-    , pllSelfLink+    , plKind+    , plPermissions     ) where  import           Network.Google.Drive.Types import           Network.Google.Prelude import           Network.Google.Resource.Drive.About.Get-import           Network.Google.Resource.Drive.Apps.Get-import           Network.Google.Resource.Drive.Apps.List-import           Network.Google.Resource.Drive.Changes.Get+import           Network.Google.Resource.Drive.Changes.GetStartPageToken import           Network.Google.Resource.Drive.Changes.List import           Network.Google.Resource.Drive.Changes.Watch import           Network.Google.Resource.Drive.Channels.Stop-import           Network.Google.Resource.Drive.Children.Delete-import           Network.Google.Resource.Drive.Children.Get-import           Network.Google.Resource.Drive.Children.Insert-import           Network.Google.Resource.Drive.Children.List+import           Network.Google.Resource.Drive.Comments.Create import           Network.Google.Resource.Drive.Comments.Delete import           Network.Google.Resource.Drive.Comments.Get-import           Network.Google.Resource.Drive.Comments.Insert import           Network.Google.Resource.Drive.Comments.List-import           Network.Google.Resource.Drive.Comments.Patch import           Network.Google.Resource.Drive.Comments.Update import           Network.Google.Resource.Drive.Files.Copy+import           Network.Google.Resource.Drive.Files.Create import           Network.Google.Resource.Drive.Files.Delete import           Network.Google.Resource.Drive.Files.EmptyTrash+import           Network.Google.Resource.Drive.Files.Export import           Network.Google.Resource.Drive.Files.GenerateIds import           Network.Google.Resource.Drive.Files.Get-import           Network.Google.Resource.Drive.Files.Insert import           Network.Google.Resource.Drive.Files.List-import           Network.Google.Resource.Drive.Files.Patch-import           Network.Google.Resource.Drive.Files.Touch-import           Network.Google.Resource.Drive.Files.Trash-import           Network.Google.Resource.Drive.Files.Untrash import           Network.Google.Resource.Drive.Files.Update import           Network.Google.Resource.Drive.Files.Watch-import           Network.Google.Resource.Drive.Parents.Delete-import           Network.Google.Resource.Drive.Parents.Get-import           Network.Google.Resource.Drive.Parents.Insert-import           Network.Google.Resource.Drive.Parents.List+import           Network.Google.Resource.Drive.Permissions.Create import           Network.Google.Resource.Drive.Permissions.Delete import           Network.Google.Resource.Drive.Permissions.Get-import           Network.Google.Resource.Drive.Permissions.GetIdForEmail-import           Network.Google.Resource.Drive.Permissions.Insert import           Network.Google.Resource.Drive.Permissions.List-import           Network.Google.Resource.Drive.Permissions.Patch import           Network.Google.Resource.Drive.Permissions.Update-import           Network.Google.Resource.Drive.Properties.Delete-import           Network.Google.Resource.Drive.Properties.Get-import           Network.Google.Resource.Drive.Properties.Insert-import           Network.Google.Resource.Drive.Properties.List-import           Network.Google.Resource.Drive.Properties.Patch-import           Network.Google.Resource.Drive.Properties.Update-import           Network.Google.Resource.Drive.Realtime.Get-import           Network.Google.Resource.Drive.Realtime.Update+import           Network.Google.Resource.Drive.Replies.Create import           Network.Google.Resource.Drive.Replies.Delete import           Network.Google.Resource.Drive.Replies.Get-import           Network.Google.Resource.Drive.Replies.Insert import           Network.Google.Resource.Drive.Replies.List-import           Network.Google.Resource.Drive.Replies.Patch import           Network.Google.Resource.Drive.Replies.Update import           Network.Google.Resource.Drive.Revisions.Delete import           Network.Google.Resource.Drive.Revisions.Get import           Network.Google.Resource.Drive.Revisions.List-import           Network.Google.Resource.Drive.Revisions.Patch import           Network.Google.Resource.Drive.Revisions.Update  {- $resources@@ -794,62 +498,37 @@  -- | Represents the entirety of the methods and resources available for the Drive API service. type DriveAPI =-     AppsListResource :<|> AppsGetResource :<|>-       ChangesListResource-       :<|> ChangesGetResource+     ChangesListResource :<|>+       ChangesGetStartPageTokenResource        :<|> ChangesWatchResource        :<|> ChannelsStopResource-       :<|> ChildrenInsertResource-       :<|> ChildrenListResource-       :<|> ChildrenGetResource-       :<|> ChildrenDeleteResource-       :<|> RepliesInsertResource        :<|> RepliesListResource-       :<|> RepliesPatchResource        :<|> RepliesGetResource+       :<|> RepliesCreateResource        :<|> RepliesDeleteResource        :<|> RepliesUpdateResource-       :<|> ParentsInsertResource-       :<|> ParentsListResource-       :<|> ParentsGetResource-       :<|> ParentsDeleteResource-       :<|> RealtimeGetResource-       :<|> RealtimeUpdateResource        :<|> AboutGetResource-       :<|> FilesInsertResource+       :<|> FilesExportResource        :<|> FilesListResource        :<|> FilesCopyResource-       :<|> FilesPatchResource        :<|> FilesGetResource        :<|> FilesEmptyTrashResource-       :<|> FilesTrashResource-       :<|> FilesUntrashResource-       :<|> FilesTouchResource+       :<|> FilesCreateResource        :<|> FilesGenerateIdsResource        :<|> FilesDeleteResource        :<|> FilesUpdateResource        :<|> FilesWatchResource-       :<|> PermissionsGetIdForEmailResource-       :<|> PermissionsInsertResource        :<|> PermissionsListResource-       :<|> PermissionsPatchResource        :<|> PermissionsGetResource+       :<|> PermissionsCreateResource        :<|> PermissionsDeleteResource        :<|> PermissionsUpdateResource-       :<|> CommentsInsertResource        :<|> CommentsListResource-       :<|> CommentsPatchResource        :<|> CommentsGetResource+       :<|> CommentsCreateResource        :<|> CommentsDeleteResource        :<|> CommentsUpdateResource        :<|> RevisionsListResource-       :<|> RevisionsPatchResource        :<|> RevisionsGetResource        :<|> RevisionsDeleteResource        :<|> RevisionsUpdateResource-       :<|> PropertiesInsertResource-       :<|> PropertiesListResource-       :<|> PropertiesPatchResource-       :<|> PropertiesGetResource-       :<|> PropertiesDeleteResource-       :<|> PropertiesUpdateResource
gen/Network/Google/Drive/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DataKinds          #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric      #-} {-# LANGUAGE NoImplicitPrelude  #-}@@ -7,7 +8,7 @@  -- | -- Module      : Network.Google.Drive.Types--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -19,118 +20,78 @@       driveService      -- * OAuth Scopes-    , driveMetadataReadonlyScope-    , driveAppsReadonlyScope-    , drivePhotosReadonlyScope-    , driveAppdataScope-    , driveReadonlyScope+    , driveMetadataReadOnlyScope+    , drivePhotosReadOnlyScope+    , driveAppDataScope+    , driveReadOnlyScope     , driveScope     , driveFileScope     , driveMetadataScope     , driveScriptsScope -    -- * CommentContext-    , CommentContext-    , commentContext-    , ccValue-    , ccType--    -- * AppIconsItem-    , AppIconsItem-    , appIconsItem-    , aiiSize-    , aiiCategory-    , aiiIconURL--    -- * FilesInsertVisibility-    , FilesInsertVisibility (..)-     -- * FileList     , FileList     , fileList-    , flEtag     , flNextPageToken-    , flNextLink     , flKind-    , flItems-    , flSelfLink--    -- * ParentReference-    , ParentReference-    , parentReference-    , prParentLink-    , prIsRoot-    , prKind-    , prSelfLink-    , prId--    -- * Property-    , Property-    , property-    , pEtag-    , pKind-    , pValue-    , pVisibility-    , pSelfLink-    , pKey+    , flFiles      -- * FilesListCorpus     , FilesListCorpus (..) -    -- * FileThumbnail-    , FileThumbnail-    , fileThumbnail-    , ftImage-    , ftMimeType--    -- * FilesListProjection-    , FilesListProjection (..)--    -- * UserPicture-    , UserPicture-    , userPicture-    , upURL+    -- * CommentQuotedFileContent+    , CommentQuotedFileContent+    , commentQuotedFileContent+    , cqfcValue+    , cqfcMimeType -    -- * FilesUpdateModifiedDateBehavior-    , FilesUpdateModifiedDateBehavior (..)+    -- * AboutStorageQuota+    , AboutStorageQuota+    , aboutStorageQuota+    , asqUsageInDriveTrash+    , asqLimit+    , asqUsage+    , asqUsageInDrive -    -- * PropertyList-    , PropertyList-    , propertyList-    , plEtag-    , plKind-    , plItems-    , plSelfLink+    -- * Reply+    , Reply+    , reply+    , rHTMLContent+    , rModifiedTime+    , rCreatedTime+    , rKind+    , rAction+    , rContent+    , rAuthor+    , rId+    , rDeleted -    -- * ChildList-    , ChildList-    , childList-    , clEtag-    , clNextPageToken-    , clNextLink-    , clKind-    , clItems-    , clSelfLink+    -- * AboutImportFormats+    , AboutImportFormats+    , aboutImportFormats+    , aifAddtional -    -- * AppList-    , AppList-    , appList-    , alDefaultAppIds-    , alEtag-    , alKind-    , alItems-    , alSelfLink+    -- * FileCapabilities+    , FileCapabilities+    , fileCapabilities+    , fcCanComment+    , fcCanEdit+    , fcCanReadRevisions+    , fcCanCopy+    , fcCanShare -    -- * FileOpenWithLinks-    , FileOpenWithLinks-    , fileOpenWithLinks-    , fowlAddtional+    -- * ReplyList+    , ReplyList+    , replyList+    , rlNextPageToken+    , rlKind+    , rlReplies -    -- * AboutAdditionalRoleInfoItemRoleSetsItem-    , AboutAdditionalRoleInfoItemRoleSetsItem-    , aboutAdditionalRoleInfoItemRoleSetsItem-    , aariirsiPrimaryRole-    , aariirsiAdditionalRoles+    -- * FileContentHintsThumbnail+    , FileContentHintsThumbnail+    , fileContentHintsThumbnail+    , fchtImage+    , fchtMimeType      -- * Channel     , Channel@@ -146,15 +107,6 @@     , cId     , cType -    -- * CommentReplyList-    , CommentReplyList-    , commentReplyList-    , crlNextPageToken-    , crlNextLink-    , crlKind-    , crlItems-    , crlSelfLink-     -- * FileVideoMediaMetadata     , FileVideoMediaMetadata     , fileVideoMediaMetadata@@ -162,159 +114,76 @@     , fvmmWidth     , fvmmDurationMillis +    -- * FileAppProperties+    , FileAppProperties+    , fileAppProperties+    , fapAddtional+     -- * Change     , Change     , change+    , chaRemoved+    , chaTime     , chaKind-    , chaSelfLink-    , chaModificationDate-    , chaId-    , chaDeleted     , chaFileId     , chaFile -    -- * App-    , App-    , app-    , aLongDescription-    , aOpenURLTemplate-    , aAuthorized-    , aObjectType-    , aSecondaryMimeTypes-    , aCreateInFolderTemplate-    , aKind-    , aIcons-    , aProductURL-    , aUseByDefault-    , aShortDescription-    , aName-    , aCreateURL-    , aId-    , aPrimaryFileExtensions-    , aInstalled-    , aSupportsCreate-    , aPrimaryMimeTypes-    , aHasDriveWideScope-    , aProductId-    , aSecondaryFileExtensions-    , aSupportsMultiOpen-    , aSupportsImport-    , aSupportsOfflineCreate--    -- * ChildReference-    , ChildReference-    , childReference-    , crChildLink-    , crKind-    , crSelfLink-    , crId--    -- * FilesWatchProjection-    , FilesWatchProjection (..)--    -- * AboutMaxUploadSizesItem-    , AboutMaxUploadSizesItem-    , aboutMaxUploadSizesItem-    , amusiSize-    , amusiType--    -- * CommentReply-    , CommentReply-    , commentReply-    , comHTMLContent-    , comKind-    , comContent-    , comCreatedDate-    , comReplyId-    , comAuthor-    , comModifiedDate-    , comDeleted-    , comVerb--    -- * AboutQuotaBytesByServiceItem-    , AboutQuotaBytesByServiceItem-    , aboutQuotaBytesByServiceItem-    , aqbbsiBytesUsed-    , aqbbsiServiceName+    -- * AboutExportFormats+    , AboutExportFormats+    , aboutExportFormats+    , aefAddtional      -- * User     , User     , user-    , uIsAuthenticatedUser+    , uPhotoLink+    , uMe     , uKind-    , uPicture     , uEmailAddress     , uDisplayName     , uPermissionId -    -- * AboutExportFormatsItem-    , AboutExportFormatsItem-    , aboutExportFormatsItem-    , aefiTargets-    , aefiSource-     -- * ChangeList     , ChangeList     , changeList-    , cllEtag-    , cllNextPageToken-    , cllNextLink-    , cllKind-    , cllItems-    , cllSelfLink-    , cllLargestChangeId--    -- * RevisionExportLinks-    , RevisionExportLinks-    , revisionExportLinks-    , relAddtional--    -- * FileIndexableText-    , FileIndexableText-    , fileIndexableText-    , fitText+    , clNewStartPageToken+    , clNextPageToken+    , clChanges+    , clKind -    -- * AboutFeaturesItem-    , AboutFeaturesItem-    , aboutFeaturesItem-    , afiFeatureRate-    , afiFeatureName+    -- * FileContentHints+    , FileContentHints+    , fileContentHints+    , fchThumbnail+    , fchIndexableText      -- * ChannelParams     , ChannelParams     , channelParams     , cpAddtional -    -- * FilesPatchModifiedDateBehavior-    , FilesPatchModifiedDateBehavior (..)+    -- * FileProperties+    , FileProperties+    , fileProperties+    , fpAddtional +    -- * AboutMaxImportSizes+    , AboutMaxImportSizes+    , aboutMaxImportSizes+    , amisAddtional+     -- * About     , About     , about-    , aboExportFormats-    , aboRemainingChangeIds-    , aboLanguageCode-    , aboEtag-    , aboImportFormats-    , aboKind-    , aboDomainSharingPolicy-    , aboQuotaBytesUsedInTrash-    , aboQuotaType-    , aboMaxUploadSizes-    , aboUser-    , aboSelfLink-    , aboName-    , aboFeatures-    , aboIsCurrentAppInstalled-    , aboQuotaBytesTotal-    , aboRootFolderId-    , aboQuotaBytesUsed-    , aboAdditionalRoleInfo-    , aboFolderColorPalette-    , aboPermissionId-    , aboQuotaBytesUsedAggregate-    , aboQuotaBytesByService-    , aboLargestChangeId+    , aExportFormats+    , aMaxImportSizes+    , aImportFormats+    , aKind+    , aAppInstalled+    , aUser+    , aStorageQuota+    , aMaxUploadSize+    , aFolderColorPalette      -- * FileImageMediaMetadataLocation     , FileImageMediaMetadataLocation@@ -323,11 +192,11 @@     , fimmlAltitude     , fimmlLongitude -    -- * AboutImportFormatsItem-    , AboutImportFormatsItem-    , aboutImportFormatsItem-    , aifiTargets-    , aifiSource+    -- * StartPageToken+    , StartPageToken+    , startPageToken+    , sptKind+    , sptStartPageToken      -- * FileImageMediaMetadata     , FileImageMediaMetadata@@ -337,6 +206,7 @@     , fimmSubjectDistance     , fimmMaxApertureValue     , fimmIsoSpeed+    , fimmTime     , fimmLocation     , fimmAperture     , fimmFocalLength@@ -345,7 +215,6 @@     , fimmExposureTime     , fimmCameraModel     , fimmWhiteBalance-    , fimmDate     , fimmLens     , fimmFlashUsed     , fimmExposureBias@@ -354,79 +223,50 @@     , fimmSensor     , fimmColorSpace -    -- * FileLabels-    , FileLabels-    , fileLabels-    , flViewed-    , flTrashed-    , flStarred-    , flHidden-    , flRestricted-     -- * Comment     , Comment     , comment-    , ccStatus-    , ccHTMLContent-    , ccContext-    , ccKind-    , ccFileTitle-    , ccAnchor-    , ccContent-    , ccReplies-    , ccCreatedDate-    , ccSelfLink-    , ccAuthor-    , ccModifiedDate-    , ccDeleted-    , ccFileId-    , ccCommentId+    , comHTMLContent+    , comModifiedTime+    , comCreatedTime+    , comKind+    , comResolved+    , comQuotedFileContent+    , comAnchor+    , comContent+    , comReplies+    , comAuthor+    , comId+    , comDeleted      -- * Revision     , Revision     , revision-    , rEtag-    , rOriginalFilename-    , rKind-    , rPublishedLink-    , rPinned-    , rPublished-    , rLastModifyingUser-    , rFileSize-    , rPublishAuto-    , rMD5Checksum-    , rMimeType-    , rSelfLink-    , rLastModifyingUserName-    , rDownloadURL-    , rExportLinks-    , rPublishedOutsideDomain-    , rId-    , rModifiedDate--    -- * AboutAdditionalRoleInfoItem-    , AboutAdditionalRoleInfoItem-    , aboutAdditionalRoleInfoItem-    , aariiRoleSets-    , aariiType+    , revModifiedTime+    , revSize+    , revOriginalFilename+    , revKind+    , revPublished+    , revLastModifyingUser+    , revPublishAuto+    , revMD5Checksum+    , revKeepForever+    , revMimeType+    , revPublishedOutsideDomain+    , revId      -- * Permission     , Permission     , permission-    , perPhotoLink-    , perEtag-    , perWithLink-    , perKind-    , perDomain-    , perValue-    , perAdditionalRoles-    , perRole-    , perSelfLink-    , perName-    , perAuthKey-    , perEmailAddress-    , perId-    , perType+    , pPhotoLink+    , pKind+    , pDomain+    , pRole+    , pEmailAddress+    , pAllowFileDiscovery+    , pDisplayName+    , pId+    , pType      -- * File     , File@@ -434,80 +274,48 @@     , fOwnedByMe     , fThumbnailLink     , fFullFileExtension-    , fThumbnail-    , fMarkedViewedByMeDate-    , fEtag+    , fModifiedTime+    , fModifiedByMeTime     , fFileExtension-    , fCanComment+    , fViewedByMe     , fOwners-    , fOwnerNames-    , fOpenWithLinks+    , fViewedByMeTime+    , fSize+    , fTrashed     , fWebViewLink+    , fCreatedTime     , fOriginalFilename     , fKind     , fLastModifyingUser     , fIconLink-    , fEmbedLink-    , fFileSize-    , fAppDataContents     , fImageMediaMetadata     , fExplicitlyTrashed-    , fEditable-    , fModifiedByMeDate-    , fLastViewedByMeDate     , fShared     , fMD5Checksum     , fFolderColorRgb     , fMimeType-    , fCreatedDate-    , fSelfLink-    , fLastModifyingUserName-    , fShareable-    , fDownloadURL-    , fExportLinks-    , fCopyable+    , fIsAppAuthorized+    , fName     , fParents-    , fSharedWithMeDate+    , fStarred     , fSpaces     , fVersion-    , fUserPermission     , fWritersCanShare-    , fDefaultOpenWithLink     , fId-    , fLabels-    , fModifiedDate     , fPermissions     , fQuotaBytesUsed-    , fTitle-    , fAlternateLink+    , fAppProperties     , fVideoMediaMetadata+    , fSharedWithMeTime     , fHeadRevisionId+    , fCapabilities     , fDescription+    , fViewersCanCopyContent     , fSharingUser     , fWebContentLink+    , fContentHints     , fProperties-    , fIndexableText -    -- * PermissionId-    , PermissionId-    , permissionId-    , piKind-    , piId--    -- * FilesCopyVisibility-    , FilesCopyVisibility (..)--    -- * FilesGetProjection-    , FilesGetProjection (..)--    -- * ParentList-    , ParentList-    , parentList-    , parEtag-    , parKind-    , parItems-    , parSelfLink-     -- * GeneratedIds     , GeneratedIds     , generatedIds@@ -515,80 +323,65 @@     , giKind     , giIds -    -- * FileExportLinks-    , FileExportLinks-    , fileExportLinks-    , felAddtional-     -- * CommentList     , CommentList     , commentList-    , comoNextPageToken-    , comoNextLink-    , comoKind-    , comoItems-    , comoSelfLink+    , cllNextPageToken+    , cllKind+    , cllComments      -- * RevisionList     , RevisionList     , revisionList-    , rlEtag-    , rlKind-    , rlItems-    , rlSelfLink+    , rllKind+    , rllRevisions      -- * PermissionList     , PermissionList     , permissionList-    , pllEtag-    , pllKind-    , pllItems-    , pllSelfLink+    , plKind+    , plPermissions     ) where  import           Network.Google.Drive.Types.Product import           Network.Google.Drive.Types.Sum import           Network.Google.Prelude --- | Default request referring to version 'v2' of the Drive API. This contains the host and root path used as a starting point for constructing service requests.-driveService :: Service+-- | Default request referring to version 'v3' of the Drive API. This contains the host and root path used as a starting point for constructing service requests.+driveService :: ServiceConfig driveService-  = defaultService (ServiceId "drive:v2")+  = defaultService (ServiceId "drive:v3")       "www.googleapis.com"  -- | View metadata for files in your Google Drive-driveMetadataReadonlyScope :: OAuthScope-driveMetadataReadonlyScope = "https://www.googleapis.com/auth/drive.metadata.readonly";---- | View your Google Drive apps-driveAppsReadonlyScope :: OAuthScope-driveAppsReadonlyScope = "https://www.googleapis.com/auth/drive.apps.readonly";+driveMetadataReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.metadata.readonly"]+driveMetadataReadOnlyScope = Proxy;  -- | View the photos, videos and albums in your Google Photos-drivePhotosReadonlyScope :: OAuthScope-drivePhotosReadonlyScope = "https://www.googleapis.com/auth/drive.photos.readonly";+drivePhotosReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.photos.readonly"]+drivePhotosReadOnlyScope = Proxy;  -- | View and manage its own configuration data in your Google Drive-driveAppdataScope :: OAuthScope-driveAppdataScope = "https://www.googleapis.com/auth/drive.appdata";+driveAppDataScope :: Proxy '["https://www.googleapis.com/auth/drive.appdata"]+driveAppDataScope = Proxy;  -- | View the files in your Google Drive-driveReadonlyScope :: OAuthScope-driveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly";+driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"]+driveReadOnlyScope = Proxy;  -- | View and manage the files in your Google Drive-driveScope :: OAuthScope-driveScope = "https://www.googleapis.com/auth/drive";+driveScope :: Proxy '["https://www.googleapis.com/auth/drive"]+driveScope = Proxy;  -- | View and manage Google Drive files and folders that you have opened or -- created with this app-driveFileScope :: OAuthScope-driveFileScope = "https://www.googleapis.com/auth/drive.file";+driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]+driveFileScope = Proxy;  -- | View and manage metadata of files in your Google Drive-driveMetadataScope :: OAuthScope-driveMetadataScope = "https://www.googleapis.com/auth/drive.metadata";+driveMetadataScope :: Proxy '["https://www.googleapis.com/auth/drive.metadata"]+driveMetadataScope = Proxy;  -- | Modify your Google Apps Script scripts\' behavior-driveScriptsScope :: OAuthScope-driveScriptsScope = "https://www.googleapis.com/auth/drive.scripts";+driveScriptsScope :: Proxy '["https://www.googleapis.com/auth/drive.scripts"]+driveScriptsScope = Proxy;
gen/Network/Google/Drive/Types/Product.hs view
@@ -9,4823 +9,3001 @@  -- | -- Module      : Network.Google.Drive.Types.Product--- Copyright   : (c) 2015 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)----module Network.Google.Drive.Types.Product where--import           Network.Google.Drive.Types.Sum-import           Network.Google.Prelude---- | The context of the file which is being commented on.------ /See:/ 'commentContext' smart constructor.-data CommentContext = CommentContext-    { _ccValue :: !(Maybe Text)-    , _ccType  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentContext' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccValue'------ * 'ccType'-commentContext-    :: CommentContext-commentContext =-    CommentContext-    { _ccValue = Nothing-    , _ccType = Nothing-    }---- | Data representation of the segment of the file being commented on. In--- the case of a text file for example, this would be the actual text that--- the comment is about.-ccValue :: Lens' CommentContext (Maybe Text)-ccValue = lens _ccValue (\ s a -> s{_ccValue = a})---- | The MIME type of the context snippet.-ccType :: Lens' CommentContext (Maybe Text)-ccType = lens _ccType (\ s a -> s{_ccType = a})--instance FromJSON CommentContext where-        parseJSON-          = withObject "CommentContext"-              (\ o ->-                 CommentContext <$>-                   (o .:? "value") <*> (o .:? "type"))--instance ToJSON CommentContext where-        toJSON CommentContext{..}-          = object-              (catMaybes-                 [("value" .=) <$> _ccValue, ("type" .=) <$> _ccType])------- /See:/ 'appIconsItem' smart constructor.-data AppIconsItem = AppIconsItem-    { _aiiSize     :: !(Maybe (Textual Int32))-    , _aiiCategory :: !(Maybe Text)-    , _aiiIconURL  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppIconsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aiiSize'------ * 'aiiCategory'------ * 'aiiIconURL'-appIconsItem-    :: AppIconsItem-appIconsItem =-    AppIconsItem-    { _aiiSize = Nothing-    , _aiiCategory = Nothing-    , _aiiIconURL = Nothing-    }---- | Size of the icon. Represented as the maximum of the width and height.-aiiSize :: Lens' AppIconsItem (Maybe Int32)-aiiSize-  = lens _aiiSize (\ s a -> s{_aiiSize = a}) .-      mapping _Coerce---- | Category of the icon. Allowed values are: - application - icon for the--- application - document - icon for a file associated with the app ---- documentShared - icon for a shared file associated with the app-aiiCategory :: Lens' AppIconsItem (Maybe Text)-aiiCategory-  = lens _aiiCategory (\ s a -> s{_aiiCategory = a})---- | URL for the icon.-aiiIconURL :: Lens' AppIconsItem (Maybe Text)-aiiIconURL-  = lens _aiiIconURL (\ s a -> s{_aiiIconURL = a})--instance FromJSON AppIconsItem where-        parseJSON-          = withObject "AppIconsItem"-              (\ o ->-                 AppIconsItem <$>-                   (o .:? "size") <*> (o .:? "category") <*>-                     (o .:? "iconUrl"))--instance ToJSON AppIconsItem where-        toJSON AppIconsItem{..}-          = object-              (catMaybes-                 [("size" .=) <$> _aiiSize,-                  ("category" .=) <$> _aiiCategory,-                  ("iconUrl" .=) <$> _aiiIconURL])---- | A list of files.------ /See:/ 'fileList' smart constructor.-data FileList = FileList-    { _flEtag          :: !(Maybe Text)-    , _flNextPageToken :: !(Maybe Text)-    , _flNextLink      :: !(Maybe Text)-    , _flKind          :: !Text-    , _flItems         :: !(Maybe [File])-    , _flSelfLink      :: !(Maybe Text)-    } 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:------ * 'flEtag'------ * 'flNextPageToken'------ * 'flNextLink'------ * 'flKind'------ * 'flItems'------ * 'flSelfLink'-fileList-    :: FileList-fileList =-    FileList-    { _flEtag = Nothing-    , _flNextPageToken = Nothing-    , _flNextLink = Nothing-    , _flKind = "drive#fileList"-    , _flItems = Nothing-    , _flSelfLink = Nothing-    }---- | The ETag of the list.-flEtag :: Lens' FileList (Maybe Text)-flEtag = lens _flEtag (\ s a -> s{_flEtag = a})---- | The page token for the next page of files.-flNextPageToken :: Lens' FileList (Maybe Text)-flNextPageToken-  = lens _flNextPageToken-      (\ s a -> s{_flNextPageToken = a})---- | A link to the next page of files.-flNextLink :: Lens' FileList (Maybe Text)-flNextLink-  = lens _flNextLink (\ s a -> s{_flNextLink = a})---- | This is always drive#fileList.-flKind :: Lens' FileList Text-flKind = lens _flKind (\ s a -> s{_flKind = a})---- | The actual list of files.-flItems :: Lens' FileList [File]-flItems-  = lens _flItems (\ s a -> s{_flItems = a}) . _Default-      . _Coerce---- | A link back to this list.-flSelfLink :: Lens' FileList (Maybe Text)-flSelfLink-  = lens _flSelfLink (\ s a -> s{_flSelfLink = a})--instance FromJSON FileList where-        parseJSON-          = withObject "FileList"-              (\ o ->-                 FileList <$>-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>-                     (o .:? "nextLink")-                     <*> (o .:? "kind" .!= "drive#fileList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON FileList where-        toJSON FileList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _flEtag,-                  ("nextPageToken" .=) <$> _flNextPageToken,-                  ("nextLink" .=) <$> _flNextLink,-                  Just ("kind" .= _flKind), ("items" .=) <$> _flItems,-                  ("selfLink" .=) <$> _flSelfLink])---- | A reference to a file\'s parent.------ /See:/ 'parentReference' smart constructor.-data ParentReference = ParentReference-    { _prParentLink :: !(Maybe Text)-    , _prIsRoot     :: !(Maybe Bool)-    , _prKind       :: !Text-    , _prSelfLink   :: !(Maybe Text)-    , _prId         :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prParentLink'------ * 'prIsRoot'------ * 'prKind'------ * 'prSelfLink'------ * 'prId'-parentReference-    :: ParentReference-parentReference =-    ParentReference-    { _prParentLink = Nothing-    , _prIsRoot = Nothing-    , _prKind = "drive#parentReference"-    , _prSelfLink = Nothing-    , _prId = Nothing-    }---- | A link to the parent.-prParentLink :: Lens' ParentReference (Maybe Text)-prParentLink-  = lens _prParentLink (\ s a -> s{_prParentLink = a})---- | Whether or not the parent is the root folder.-prIsRoot :: Lens' ParentReference (Maybe Bool)-prIsRoot = lens _prIsRoot (\ s a -> s{_prIsRoot = a})---- | This is always drive#parentReference.-prKind :: Lens' ParentReference Text-prKind = lens _prKind (\ s a -> s{_prKind = a})---- | A link back to this reference.-prSelfLink :: Lens' ParentReference (Maybe Text)-prSelfLink-  = lens _prSelfLink (\ s a -> s{_prSelfLink = a})---- | The ID of the parent.-prId :: Lens' ParentReference (Maybe Text)-prId = lens _prId (\ s a -> s{_prId = a})--instance FromJSON ParentReference where-        parseJSON-          = withObject "ParentReference"-              (\ o ->-                 ParentReference <$>-                   (o .:? "parentLink") <*> (o .:? "isRoot") <*>-                     (o .:? "kind" .!= "drive#parentReference")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "id"))--instance ToJSON ParentReference where-        toJSON ParentReference{..}-          = object-              (catMaybes-                 [("parentLink" .=) <$> _prParentLink,-                  ("isRoot" .=) <$> _prIsRoot,-                  Just ("kind" .= _prKind),-                  ("selfLink" .=) <$> _prSelfLink,-                  ("id" .=) <$> _prId])---- | A key-value pair attached to a file that is either public or private to--- an application. The following limits apply to file properties: - Maximum--- of 100 properties total per file - Maximum of 30 private properties per--- app - Maximum of 30 public properties - Maximum of 124 bytes size limit--- on (key + value) string in UTF-8 encoding for a single property.------ /See:/ 'property' smart constructor.-data Property = Property-    { _pEtag       :: !(Maybe Text)-    , _pKind       :: !Text-    , _pValue      :: !(Maybe Text)-    , _pVisibility :: !(Maybe Text)-    , _pSelfLink   :: !(Maybe Text)-    , _pKey        :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Property' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pEtag'------ * 'pKind'------ * 'pValue'------ * 'pVisibility'------ * 'pSelfLink'------ * 'pKey'-property-    :: Property-property =-    Property-    { _pEtag = Nothing-    , _pKind = "drive#property"-    , _pValue = Nothing-    , _pVisibility = Nothing-    , _pSelfLink = Nothing-    , _pKey = Nothing-    }---- | ETag of the property.-pEtag :: Lens' Property (Maybe Text)-pEtag = lens _pEtag (\ s a -> s{_pEtag = a})---- | This is always drive#property.-pKind :: Lens' Property Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | The value of this property.-pValue :: Lens' Property (Maybe Text)-pValue = lens _pValue (\ s a -> s{_pValue = a})---- | The visibility of this property.-pVisibility :: Lens' Property (Maybe Text)-pVisibility-  = lens _pVisibility (\ s a -> s{_pVisibility = a})---- | The link back to this property.-pSelfLink :: Lens' Property (Maybe Text)-pSelfLink-  = lens _pSelfLink (\ s a -> s{_pSelfLink = a})---- | The key of this property.-pKey :: Lens' Property (Maybe Text)-pKey = lens _pKey (\ s a -> s{_pKey = a})--instance FromJSON Property where-        parseJSON-          = withObject "Property"-              (\ o ->-                 Property <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "drive#property")-                     <*> (o .:? "value")-                     <*> (o .:? "visibility")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "key"))--instance ToJSON Property where-        toJSON Property{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _pEtag, Just ("kind" .= _pKind),-                  ("value" .=) <$> _pValue,-                  ("visibility" .=) <$> _pVisibility,-                  ("selfLink" .=) <$> _pSelfLink,-                  ("key" .=) <$> _pKey])---- | Thumbnail for the file. Only accepted on upload and for files that are--- not already thumbnailed by Google.------ /See:/ 'fileThumbnail' smart constructor.-data FileThumbnail = FileThumbnail-    { _ftImage    :: !(Maybe (Textual Word8))-    , _ftMimeType :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileThumbnail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ftImage'------ * 'ftMimeType'-fileThumbnail-    :: FileThumbnail-fileThumbnail =-    FileThumbnail-    { _ftImage = Nothing-    , _ftMimeType = Nothing-    }---- | The URL-safe Base64 encoded bytes of the thumbnail image. It should--- conform to RFC 4648 section 5.-ftImage :: Lens' FileThumbnail (Maybe Word8)-ftImage-  = lens _ftImage (\ s a -> s{_ftImage = a}) .-      mapping _Coerce---- | The MIME type of the thumbnail.-ftMimeType :: Lens' FileThumbnail (Maybe Text)-ftMimeType-  = lens _ftMimeType (\ s a -> s{_ftMimeType = a})--instance FromJSON FileThumbnail where-        parseJSON-          = withObject "FileThumbnail"-              (\ o ->-                 FileThumbnail <$>-                   (o .:? "image") <*> (o .:? "mimeType"))--instance ToJSON FileThumbnail where-        toJSON FileThumbnail{..}-          = object-              (catMaybes-                 [("image" .=) <$> _ftImage,-                  ("mimeType" .=) <$> _ftMimeType])---- | The user\'s profile picture.------ /See:/ 'userPicture' smart constructor.-newtype UserPicture = UserPicture-    { _upURL :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UserPicture' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upURL'-userPicture-    :: UserPicture-userPicture =-    UserPicture-    { _upURL = Nothing-    }---- | A URL that points to a profile picture of this user.-upURL :: Lens' UserPicture (Maybe Text)-upURL = lens _upURL (\ s a -> s{_upURL = a})--instance FromJSON UserPicture where-        parseJSON-          = withObject "UserPicture"-              (\ o -> UserPicture <$> (o .:? "url"))--instance ToJSON UserPicture where-        toJSON UserPicture{..}-          = object (catMaybes [("url" .=) <$> _upURL])---- | A collection of properties, key-value pairs that are either public or--- private to an application.------ /See:/ 'propertyList' smart constructor.-data PropertyList = PropertyList-    { _plEtag     :: !(Maybe Text)-    , _plKind     :: !Text-    , _plItems    :: !(Maybe [Property])-    , _plSelfLink :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plEtag'------ * 'plKind'------ * 'plItems'------ * 'plSelfLink'-propertyList-    :: PropertyList-propertyList =-    PropertyList-    { _plEtag = Nothing-    , _plKind = "drive#propertyList"-    , _plItems = Nothing-    , _plSelfLink = Nothing-    }---- | The ETag of the list.-plEtag :: Lens' PropertyList (Maybe Text)-plEtag = lens _plEtag (\ s a -> s{_plEtag = a})---- | This is always drive#propertyList.-plKind :: Lens' PropertyList Text-plKind = lens _plKind (\ s a -> s{_plKind = a})---- | The list of properties.-plItems :: Lens' PropertyList [Property]-plItems-  = lens _plItems (\ s a -> s{_plItems = a}) . _Default-      . _Coerce---- | The link back to this list.-plSelfLink :: Lens' PropertyList (Maybe Text)-plSelfLink-  = lens _plSelfLink (\ s a -> s{_plSelfLink = a})--instance FromJSON PropertyList where-        parseJSON-          = withObject "PropertyList"-              (\ o ->-                 PropertyList <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "drive#propertyList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON PropertyList where-        toJSON PropertyList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _plEtag, Just ("kind" .= _plKind),-                  ("items" .=) <$> _plItems,-                  ("selfLink" .=) <$> _plSelfLink])---- | A list of children of a file.------ /See:/ 'childList' smart constructor.-data ChildList = ChildList-    { _clEtag          :: !(Maybe Text)-    , _clNextPageToken :: !(Maybe Text)-    , _clNextLink      :: !(Maybe Text)-    , _clKind          :: !Text-    , _clItems         :: !(Maybe [ChildReference])-    , _clSelfLink      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'clEtag'------ * 'clNextPageToken'------ * 'clNextLink'------ * 'clKind'------ * 'clItems'------ * 'clSelfLink'-childList-    :: ChildList-childList =-    ChildList-    { _clEtag = Nothing-    , _clNextPageToken = Nothing-    , _clNextLink = Nothing-    , _clKind = "drive#childList"-    , _clItems = Nothing-    , _clSelfLink = Nothing-    }---- | The ETag of the list.-clEtag :: Lens' ChildList (Maybe Text)-clEtag = lens _clEtag (\ s a -> s{_clEtag = a})---- | The page token for the next page of children.-clNextPageToken :: Lens' ChildList (Maybe Text)-clNextPageToken-  = lens _clNextPageToken-      (\ s a -> s{_clNextPageToken = a})---- | A link to the next page of children.-clNextLink :: Lens' ChildList (Maybe Text)-clNextLink-  = lens _clNextLink (\ s a -> s{_clNextLink = a})---- | This is always drive#childList.-clKind :: Lens' ChildList Text-clKind = lens _clKind (\ s a -> s{_clKind = a})---- | The actual list of children.-clItems :: Lens' ChildList [ChildReference]-clItems-  = lens _clItems (\ s a -> s{_clItems = a}) . _Default-      . _Coerce---- | A link back to this list.-clSelfLink :: Lens' ChildList (Maybe Text)-clSelfLink-  = lens _clSelfLink (\ s a -> s{_clSelfLink = a})--instance FromJSON ChildList where-        parseJSON-          = withObject "ChildList"-              (\ o ->-                 ChildList <$>-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>-                     (o .:? "nextLink")-                     <*> (o .:? "kind" .!= "drive#childList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON ChildList where-        toJSON ChildList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _clEtag,-                  ("nextPageToken" .=) <$> _clNextPageToken,-                  ("nextLink" .=) <$> _clNextLink,-                  Just ("kind" .= _clKind), ("items" .=) <$> _clItems,-                  ("selfLink" .=) <$> _clSelfLink])---- | A list of third-party applications which the user has installed or given--- access to Google Drive.------ /See:/ 'appList' smart constructor.-data AppList = AppList-    { _alDefaultAppIds :: !(Maybe [Text])-    , _alEtag          :: !(Maybe Text)-    , _alKind          :: !Text-    , _alItems         :: !(Maybe [App])-    , _alSelfLink      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alDefaultAppIds'------ * 'alEtag'------ * 'alKind'------ * 'alItems'------ * 'alSelfLink'-appList-    :: AppList-appList =-    AppList-    { _alDefaultAppIds = Nothing-    , _alEtag = Nothing-    , _alKind = "drive#appList"-    , _alItems = Nothing-    , _alSelfLink = Nothing-    }---- | List of app IDs that the user has specified to use by default. The list--- is in reverse-priority order (lowest to highest).-alDefaultAppIds :: Lens' AppList [Text]-alDefaultAppIds-  = lens _alDefaultAppIds-      (\ s a -> s{_alDefaultAppIds = a})-      . _Default-      . _Coerce---- | The ETag of the list.-alEtag :: Lens' AppList (Maybe Text)-alEtag = lens _alEtag (\ s a -> s{_alEtag = a})---- | This is always drive#appList.-alKind :: Lens' AppList Text-alKind = lens _alKind (\ s a -> s{_alKind = a})---- | The actual list of apps.-alItems :: Lens' AppList [App]-alItems-  = lens _alItems (\ s a -> s{_alItems = a}) . _Default-      . _Coerce---- | A link back to this list.-alSelfLink :: Lens' AppList (Maybe Text)-alSelfLink-  = lens _alSelfLink (\ s a -> s{_alSelfLink = a})--instance FromJSON AppList where-        parseJSON-          = withObject "AppList"-              (\ o ->-                 AppList <$>-                   (o .:? "defaultAppIds" .!= mempty) <*> (o .:? "etag")-                     <*> (o .:? "kind" .!= "drive#appList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON AppList where-        toJSON AppList{..}-          = object-              (catMaybes-                 [("defaultAppIds" .=) <$> _alDefaultAppIds,-                  ("etag" .=) <$> _alEtag, Just ("kind" .= _alKind),-                  ("items" .=) <$> _alItems,-                  ("selfLink" .=) <$> _alSelfLink])---- | A map of the id of each of the user\'s apps to a link to open this file--- with that app. Only populated when the drive.apps.readonly scope is--- used.------ /See:/ 'fileOpenWithLinks' smart constructor.-newtype FileOpenWithLinks = FileOpenWithLinks-    { _fowlAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileOpenWithLinks' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fowlAddtional'-fileOpenWithLinks-    :: HashMap Text Text -- ^ 'fowlAddtional'-    -> FileOpenWithLinks-fileOpenWithLinks pFowlAddtional_ =-    FileOpenWithLinks-    { _fowlAddtional = _Coerce # pFowlAddtional_-    }--fowlAddtional :: Lens' FileOpenWithLinks (HashMap Text Text)-fowlAddtional-  = lens _fowlAddtional-      (\ s a -> s{_fowlAddtional = a})-      . _Coerce--instance FromJSON FileOpenWithLinks where-        parseJSON-          = withObject "FileOpenWithLinks"-              (\ o -> FileOpenWithLinks <$> (parseJSONObject o))--instance ToJSON FileOpenWithLinks where-        toJSON = toJSON . _fowlAddtional------- /See:/ 'aboutAdditionalRoleInfoItemRoleSetsItem' smart constructor.-data AboutAdditionalRoleInfoItemRoleSetsItem = AboutAdditionalRoleInfoItemRoleSetsItem-    { _aariirsiPrimaryRole     :: !(Maybe Text)-    , _aariirsiAdditionalRoles :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutAdditionalRoleInfoItemRoleSetsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aariirsiPrimaryRole'------ * 'aariirsiAdditionalRoles'-aboutAdditionalRoleInfoItemRoleSetsItem-    :: AboutAdditionalRoleInfoItemRoleSetsItem-aboutAdditionalRoleInfoItemRoleSetsItem =-    AboutAdditionalRoleInfoItemRoleSetsItem-    { _aariirsiPrimaryRole = Nothing-    , _aariirsiAdditionalRoles = Nothing-    }---- | A primary permission role.-aariirsiPrimaryRole :: Lens' AboutAdditionalRoleInfoItemRoleSetsItem (Maybe Text)-aariirsiPrimaryRole-  = lens _aariirsiPrimaryRole-      (\ s a -> s{_aariirsiPrimaryRole = a})---- | The supported additional roles with the primary role.-aariirsiAdditionalRoles :: Lens' AboutAdditionalRoleInfoItemRoleSetsItem [Text]-aariirsiAdditionalRoles-  = lens _aariirsiAdditionalRoles-      (\ s a -> s{_aariirsiAdditionalRoles = a})-      . _Default-      . _Coerce--instance FromJSON-         AboutAdditionalRoleInfoItemRoleSetsItem where-        parseJSON-          = withObject-              "AboutAdditionalRoleInfoItemRoleSetsItem"-              (\ o ->-                 AboutAdditionalRoleInfoItemRoleSetsItem <$>-                   (o .:? "primaryRole") <*>-                     (o .:? "additionalRoles" .!= mempty))--instance ToJSON-         AboutAdditionalRoleInfoItemRoleSetsItem where-        toJSON AboutAdditionalRoleInfoItemRoleSetsItem{..}-          = object-              (catMaybes-                 [("primaryRole" .=) <$> _aariirsiPrimaryRole,-                  ("additionalRoles" .=) <$> _aariirsiAdditionalRoles])---- | 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])---- | A JSON representation of a list of replies to a comment on a file in--- Google Drive.------ /See:/ 'commentReplyList' smart constructor.-data CommentReplyList = CommentReplyList-    { _crlNextPageToken :: !(Maybe Text)-    , _crlNextLink      :: !(Maybe Text)-    , _crlKind          :: !Text-    , _crlItems         :: !(Maybe [CommentReply])-    , _crlSelfLink      :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentReplyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crlNextPageToken'------ * 'crlNextLink'------ * 'crlKind'------ * 'crlItems'------ * 'crlSelfLink'-commentReplyList-    :: CommentReplyList-commentReplyList =-    CommentReplyList-    { _crlNextPageToken = Nothing-    , _crlNextLink = Nothing-    , _crlKind = "drive#commentReplyList"-    , _crlItems = Nothing-    , _crlSelfLink = Nothing-    }---- | The token to use to request the next page of results.-crlNextPageToken :: Lens' CommentReplyList (Maybe Text)-crlNextPageToken-  = lens _crlNextPageToken-      (\ s a -> s{_crlNextPageToken = a})---- | A link to the next page of replies.-crlNextLink :: Lens' CommentReplyList (Maybe Text)-crlNextLink-  = lens _crlNextLink (\ s a -> s{_crlNextLink = a})---- | This is always drive#commentReplyList.-crlKind :: Lens' CommentReplyList Text-crlKind = lens _crlKind (\ s a -> s{_crlKind = a})---- | List of reply.-crlItems :: Lens' CommentReplyList [CommentReply]-crlItems-  = lens _crlItems (\ s a -> s{_crlItems = a}) .-      _Default-      . _Coerce---- | A link back to this list.-crlSelfLink :: Lens' CommentReplyList (Maybe Text)-crlSelfLink-  = lens _crlSelfLink (\ s a -> s{_crlSelfLink = a})--instance FromJSON CommentReplyList where-        parseJSON-          = withObject "CommentReplyList"-              (\ o ->-                 CommentReplyList <$>-                   (o .:? "nextPageToken") <*> (o .:? "nextLink") <*>-                     (o .:? "kind" .!= "drive#commentReplyList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON CommentReplyList where-        toJSON CommentReplyList{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _crlNextPageToken,-                  ("nextLink" .=) <$> _crlNextLink,-                  Just ("kind" .= _crlKind),-                  ("items" .=) <$> _crlItems,-                  ("selfLink" .=) <$> _crlSelfLink])---- | Metadata about video media. This will only be present for video types.------ /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])---- | Representation of a change to a file.------ /See:/ 'change' smart constructor.-data Change = Change-    { _chaKind             :: !Text-    , _chaSelfLink         :: !(Maybe Text)-    , _chaModificationDate :: !(Maybe DateTime')-    , _chaId               :: !(Maybe (Textual Int64))-    , _chaDeleted          :: !(Maybe Bool)-    , _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:------ * 'chaKind'------ * 'chaSelfLink'------ * 'chaModificationDate'------ * 'chaId'------ * 'chaDeleted'------ * 'chaFileId'------ * 'chaFile'-change-    :: Change-change =-    Change-    { _chaKind = "drive#change"-    , _chaSelfLink = Nothing-    , _chaModificationDate = Nothing-    , _chaId = Nothing-    , _chaDeleted = Nothing-    , _chaFileId = Nothing-    , _chaFile = Nothing-    }---- | This is always drive#change.-chaKind :: Lens' Change Text-chaKind = lens _chaKind (\ s a -> s{_chaKind = a})---- | A link back to this change.-chaSelfLink :: Lens' Change (Maybe Text)-chaSelfLink-  = lens _chaSelfLink (\ s a -> s{_chaSelfLink = a})---- | The time of this modification.-chaModificationDate :: Lens' Change (Maybe UTCTime)-chaModificationDate-  = lens _chaModificationDate-      (\ s a -> s{_chaModificationDate = a})-      . mapping _DateTime---- | The ID of the change.-chaId :: Lens' Change (Maybe Int64)-chaId-  = lens _chaId (\ s a -> s{_chaId = a}) .-      mapping _Coerce---- | Whether the file has been deleted.-chaDeleted :: Lens' Change (Maybe Bool)-chaDeleted-  = lens _chaDeleted (\ s a -> s{_chaDeleted = a})---- | The ID of the file associated with this change.-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 deleted.-chaFile :: Lens' Change (Maybe File)-chaFile = lens _chaFile (\ s a -> s{_chaFile = a})--instance FromJSON Change where-        parseJSON-          = withObject "Change"-              (\ o ->-                 Change <$>-                   (o .:? "kind" .!= "drive#change") <*>-                     (o .:? "selfLink")-                     <*> (o .:? "modificationDate")-                     <*> (o .:? "id")-                     <*> (o .:? "deleted")-                     <*> (o .:? "fileId")-                     <*> (o .:? "file"))--instance ToJSON Change where-        toJSON Change{..}-          = object-              (catMaybes-                 [Just ("kind" .= _chaKind),-                  ("selfLink" .=) <$> _chaSelfLink,-                  ("modificationDate" .=) <$> _chaModificationDate,-                  ("id" .=) <$> _chaId, ("deleted" .=) <$> _chaDeleted,-                  ("fileId" .=) <$> _chaFileId,-                  ("file" .=) <$> _chaFile])---- | The apps resource provides a list of the apps that a user has installed,--- with information about each app\'s supported MIME types, file--- extensions, and other details.------ /See:/ 'app' smart constructor.-data App = App-    { _aLongDescription         :: !(Maybe Text)-    , _aOpenURLTemplate         :: !(Maybe Text)-    , _aAuthorized              :: !(Maybe Bool)-    , _aObjectType              :: !(Maybe Text)-    , _aSecondaryMimeTypes      :: !(Maybe [Text])-    , _aCreateInFolderTemplate  :: !(Maybe Text)-    , _aKind                    :: !Text-    , _aIcons                   :: !(Maybe [AppIconsItem])-    , _aProductURL              :: !(Maybe Text)-    , _aUseByDefault            :: !(Maybe Bool)-    , _aShortDescription        :: !(Maybe Text)-    , _aName                    :: !(Maybe Text)-    , _aCreateURL               :: !(Maybe Text)-    , _aId                      :: !(Maybe Text)-    , _aPrimaryFileExtensions   :: !(Maybe [Text])-    , _aInstalled               :: !(Maybe Bool)-    , _aSupportsCreate          :: !(Maybe Bool)-    , _aPrimaryMimeTypes        :: !(Maybe [Text])-    , _aHasDriveWideScope       :: !(Maybe Bool)-    , _aProductId               :: !(Maybe Text)-    , _aSecondaryFileExtensions :: !(Maybe [Text])-    , _aSupportsMultiOpen       :: !(Maybe Bool)-    , _aSupportsImport          :: !(Maybe Bool)-    , _aSupportsOfflineCreate   :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'App' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aLongDescription'------ * 'aOpenURLTemplate'------ * 'aAuthorized'------ * 'aObjectType'------ * 'aSecondaryMimeTypes'------ * 'aCreateInFolderTemplate'------ * 'aKind'------ * 'aIcons'------ * 'aProductURL'------ * 'aUseByDefault'------ * 'aShortDescription'------ * 'aName'------ * 'aCreateURL'------ * 'aId'------ * 'aPrimaryFileExtensions'------ * 'aInstalled'------ * 'aSupportsCreate'------ * 'aPrimaryMimeTypes'------ * 'aHasDriveWideScope'------ * 'aProductId'------ * 'aSecondaryFileExtensions'------ * 'aSupportsMultiOpen'------ * 'aSupportsImport'------ * 'aSupportsOfflineCreate'-app-    :: App-app =-    App-    { _aLongDescription = Nothing-    , _aOpenURLTemplate = Nothing-    , _aAuthorized = Nothing-    , _aObjectType = Nothing-    , _aSecondaryMimeTypes = Nothing-    , _aCreateInFolderTemplate = Nothing-    , _aKind = "drive#app"-    , _aIcons = Nothing-    , _aProductURL = Nothing-    , _aUseByDefault = Nothing-    , _aShortDescription = Nothing-    , _aName = Nothing-    , _aCreateURL = Nothing-    , _aId = Nothing-    , _aPrimaryFileExtensions = Nothing-    , _aInstalled = Nothing-    , _aSupportsCreate = Nothing-    , _aPrimaryMimeTypes = Nothing-    , _aHasDriveWideScope = Nothing-    , _aProductId = Nothing-    , _aSecondaryFileExtensions = Nothing-    , _aSupportsMultiOpen = Nothing-    , _aSupportsImport = Nothing-    , _aSupportsOfflineCreate = Nothing-    }---- | A long description of the app.-aLongDescription :: Lens' App (Maybe Text)-aLongDescription-  = lens _aLongDescription-      (\ s a -> s{_aLongDescription = a})---- | The template url for opening files with this app. The template will--- contain {ids} and\/or {exportIds} to be replaced by the actual file ids.--- See Open Files for the full documentation.-aOpenURLTemplate :: Lens' App (Maybe Text)-aOpenURLTemplate-  = lens _aOpenURLTemplate-      (\ s a -> s{_aOpenURLTemplate = a})---- | Whether the app is authorized to access data on the user\'s Drive.-aAuthorized :: Lens' App (Maybe Bool)-aAuthorized-  = lens _aAuthorized (\ s a -> s{_aAuthorized = a})---- | The type of object this app creates (e.g. Chart). If empty, the app name--- should be used instead.-aObjectType :: Lens' App (Maybe Text)-aObjectType-  = lens _aObjectType (\ s a -> s{_aObjectType = a})---- | The list of secondary mime types.-aSecondaryMimeTypes :: Lens' App [Text]-aSecondaryMimeTypes-  = lens _aSecondaryMimeTypes-      (\ s a -> s{_aSecondaryMimeTypes = a})-      . _Default-      . _Coerce---- | The template url to create a new file with this app in a given folder.--- The template will contain {folderId} to be replaced by the folder to--- create the new file in.-aCreateInFolderTemplate :: Lens' App (Maybe Text)-aCreateInFolderTemplate-  = lens _aCreateInFolderTemplate-      (\ s a -> s{_aCreateInFolderTemplate = a})---- | This is always drive#app.-aKind :: Lens' App Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | The various icons for the app.-aIcons :: Lens' App [AppIconsItem]-aIcons-  = lens _aIcons (\ s a -> s{_aIcons = a}) . _Default .-      _Coerce---- | A link to the product listing for this app.-aProductURL :: Lens' App (Maybe Text)-aProductURL-  = lens _aProductURL (\ s a -> s{_aProductURL = a})---- | Whether the app is selected as the default handler for the types it--- supports.-aUseByDefault :: Lens' App (Maybe Bool)-aUseByDefault-  = lens _aUseByDefault-      (\ s a -> s{_aUseByDefault = a})---- | A short description of the app.-aShortDescription :: Lens' App (Maybe Text)-aShortDescription-  = lens _aShortDescription-      (\ s a -> s{_aShortDescription = a})---- | The name of the app.-aName :: Lens' App (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a})---- | The url to create a new file with this app.-aCreateURL :: Lens' App (Maybe Text)-aCreateURL-  = lens _aCreateURL (\ s a -> s{_aCreateURL = a})---- | The ID of the app.-aId :: Lens' App (Maybe Text)-aId = lens _aId (\ s a -> s{_aId = a})---- | The list of primary file extensions.-aPrimaryFileExtensions :: Lens' App [Text]-aPrimaryFileExtensions-  = lens _aPrimaryFileExtensions-      (\ s a -> s{_aPrimaryFileExtensions = a})-      . _Default-      . _Coerce---- | Whether the app is installed.-aInstalled :: Lens' App (Maybe Bool)-aInstalled-  = lens _aInstalled (\ s a -> s{_aInstalled = a})---- | Whether this app supports creating new objects.-aSupportsCreate :: Lens' App (Maybe Bool)-aSupportsCreate-  = lens _aSupportsCreate-      (\ s a -> s{_aSupportsCreate = a})---- | The list of primary mime types.-aPrimaryMimeTypes :: Lens' App [Text]-aPrimaryMimeTypes-  = lens _aPrimaryMimeTypes-      (\ s a -> s{_aPrimaryMimeTypes = a})-      . _Default-      . _Coerce---- | Whether the app has drive-wide scope. An app with drive-wide scope can--- access all files in the user\'s drive.-aHasDriveWideScope :: Lens' App (Maybe Bool)-aHasDriveWideScope-  = lens _aHasDriveWideScope-      (\ s a -> s{_aHasDriveWideScope = a})---- | The ID of the product listing for this app.-aProductId :: Lens' App (Maybe Text)-aProductId-  = lens _aProductId (\ s a -> s{_aProductId = a})---- | The list of secondary file extensions.-aSecondaryFileExtensions :: Lens' App [Text]-aSecondaryFileExtensions-  = lens _aSecondaryFileExtensions-      (\ s a -> s{_aSecondaryFileExtensions = a})-      . _Default-      . _Coerce---- | Whether this app supports opening more than one file.-aSupportsMultiOpen :: Lens' App (Maybe Bool)-aSupportsMultiOpen-  = lens _aSupportsMultiOpen-      (\ s a -> s{_aSupportsMultiOpen = a})---- | Whether this app supports importing Google Docs.-aSupportsImport :: Lens' App (Maybe Bool)-aSupportsImport-  = lens _aSupportsImport-      (\ s a -> s{_aSupportsImport = a})---- | Whether this app supports creating new files when offline.-aSupportsOfflineCreate :: Lens' App (Maybe Bool)-aSupportsOfflineCreate-  = lens _aSupportsOfflineCreate-      (\ s a -> s{_aSupportsOfflineCreate = a})--instance FromJSON App where-        parseJSON-          = withObject "App"-              (\ o ->-                 App <$>-                   (o .:? "longDescription") <*>-                     (o .:? "openUrlTemplate")-                     <*> (o .:? "authorized")-                     <*> (o .:? "objectType")-                     <*> (o .:? "secondaryMimeTypes" .!= mempty)-                     <*> (o .:? "createInFolderTemplate")-                     <*> (o .:? "kind" .!= "drive#app")-                     <*> (o .:? "icons" .!= mempty)-                     <*> (o .:? "productUrl")-                     <*> (o .:? "useByDefault")-                     <*> (o .:? "shortDescription")-                     <*> (o .:? "name")-                     <*> (o .:? "createUrl")-                     <*> (o .:? "id")-                     <*> (o .:? "primaryFileExtensions" .!= mempty)-                     <*> (o .:? "installed")-                     <*> (o .:? "supportsCreate")-                     <*> (o .:? "primaryMimeTypes" .!= mempty)-                     <*> (o .:? "hasDriveWideScope")-                     <*> (o .:? "productId")-                     <*> (o .:? "secondaryFileExtensions" .!= mempty)-                     <*> (o .:? "supportsMultiOpen")-                     <*> (o .:? "supportsImport")-                     <*> (o .:? "supportsOfflineCreate"))--instance ToJSON App where-        toJSON App{..}-          = object-              (catMaybes-                 [("longDescription" .=) <$> _aLongDescription,-                  ("openUrlTemplate" .=) <$> _aOpenURLTemplate,-                  ("authorized" .=) <$> _aAuthorized,-                  ("objectType" .=) <$> _aObjectType,-                  ("secondaryMimeTypes" .=) <$> _aSecondaryMimeTypes,-                  ("createInFolderTemplate" .=) <$>-                    _aCreateInFolderTemplate,-                  Just ("kind" .= _aKind), ("icons" .=) <$> _aIcons,-                  ("productUrl" .=) <$> _aProductURL,-                  ("useByDefault" .=) <$> _aUseByDefault,-                  ("shortDescription" .=) <$> _aShortDescription,-                  ("name" .=) <$> _aName,-                  ("createUrl" .=) <$> _aCreateURL, ("id" .=) <$> _aId,-                  ("primaryFileExtensions" .=) <$>-                    _aPrimaryFileExtensions,-                  ("installed" .=) <$> _aInstalled,-                  ("supportsCreate" .=) <$> _aSupportsCreate,-                  ("primaryMimeTypes" .=) <$> _aPrimaryMimeTypes,-                  ("hasDriveWideScope" .=) <$> _aHasDriveWideScope,-                  ("productId" .=) <$> _aProductId,-                  ("secondaryFileExtensions" .=) <$>-                    _aSecondaryFileExtensions,-                  ("supportsMultiOpen" .=) <$> _aSupportsMultiOpen,-                  ("supportsImport" .=) <$> _aSupportsImport,-                  ("supportsOfflineCreate" .=) <$>-                    _aSupportsOfflineCreate])---- | A reference to a folder\'s child.------ /See:/ 'childReference' smart constructor.-data ChildReference = ChildReference-    { _crChildLink :: !(Maybe Text)-    , _crKind      :: !Text-    , _crSelfLink  :: !(Maybe Text)-    , _crId        :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crChildLink'------ * 'crKind'------ * 'crSelfLink'------ * 'crId'-childReference-    :: ChildReference-childReference =-    ChildReference-    { _crChildLink = Nothing-    , _crKind = "drive#childReference"-    , _crSelfLink = Nothing-    , _crId = Nothing-    }---- | A link to the child.-crChildLink :: Lens' ChildReference (Maybe Text)-crChildLink-  = lens _crChildLink (\ s a -> s{_crChildLink = a})---- | This is always drive#childReference.-crKind :: Lens' ChildReference Text-crKind = lens _crKind (\ s a -> s{_crKind = a})---- | A link back to this reference.-crSelfLink :: Lens' ChildReference (Maybe Text)-crSelfLink-  = lens _crSelfLink (\ s a -> s{_crSelfLink = a})---- | The ID of the child.-crId :: Lens' ChildReference (Maybe Text)-crId = lens _crId (\ s a -> s{_crId = a})--instance FromJSON ChildReference where-        parseJSON-          = withObject "ChildReference"-              (\ o ->-                 ChildReference <$>-                   (o .:? "childLink") <*>-                     (o .:? "kind" .!= "drive#childReference")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "id"))--instance ToJSON ChildReference where-        toJSON ChildReference{..}-          = object-              (catMaybes-                 [("childLink" .=) <$> _crChildLink,-                  Just ("kind" .= _crKind),-                  ("selfLink" .=) <$> _crSelfLink,-                  ("id" .=) <$> _crId])------- /See:/ 'aboutMaxUploadSizesItem' smart constructor.-data AboutMaxUploadSizesItem = AboutMaxUploadSizesItem-    { _amusiSize :: !(Maybe (Textual Int64))-    , _amusiType :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutMaxUploadSizesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'amusiSize'------ * 'amusiType'-aboutMaxUploadSizesItem-    :: AboutMaxUploadSizesItem-aboutMaxUploadSizesItem =-    AboutMaxUploadSizesItem-    { _amusiSize = Nothing-    , _amusiType = Nothing-    }---- | The max upload size for this type.-amusiSize :: Lens' AboutMaxUploadSizesItem (Maybe Int64)-amusiSize-  = lens _amusiSize (\ s a -> s{_amusiSize = a}) .-      mapping _Coerce---- | The file type.-amusiType :: Lens' AboutMaxUploadSizesItem (Maybe Text)-amusiType-  = lens _amusiType (\ s a -> s{_amusiType = a})--instance FromJSON AboutMaxUploadSizesItem where-        parseJSON-          = withObject "AboutMaxUploadSizesItem"-              (\ o ->-                 AboutMaxUploadSizesItem <$>-                   (o .:? "size") <*> (o .:? "type"))--instance ToJSON AboutMaxUploadSizesItem where-        toJSON AboutMaxUploadSizesItem{..}-          = object-              (catMaybes-                 [("size" .=) <$> _amusiSize,-                  ("type" .=) <$> _amusiType])---- | A JSON representation of a reply to a comment on a file in Google Drive.------ /See:/ 'commentReply' smart constructor.-data CommentReply = CommentReply-    { _comHTMLContent  :: !(Maybe Text)-    , _comKind         :: !Text-    , _comContent      :: !(Maybe Text)-    , _comCreatedDate  :: !(Maybe DateTime')-    , _comReplyId      :: !(Maybe Text)-    , _comAuthor       :: !(Maybe User)-    , _comModifiedDate :: !(Maybe DateTime')-    , _comDeleted      :: !(Maybe Bool)-    , _comVerb         :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentReply' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comHTMLContent'------ * 'comKind'------ * 'comContent'------ * 'comCreatedDate'------ * 'comReplyId'------ * 'comAuthor'------ * 'comModifiedDate'------ * 'comDeleted'------ * 'comVerb'-commentReply-    :: CommentReply-commentReply =-    CommentReply-    { _comHTMLContent = Nothing-    , _comKind = "drive#commentReply"-    , _comContent = Nothing-    , _comCreatedDate = Nothing-    , _comReplyId = Nothing-    , _comAuthor = Nothing-    , _comModifiedDate = Nothing-    , _comDeleted = Nothing-    , _comVerb = Nothing-    }---- | HTML formatted content for this reply.-comHTMLContent :: Lens' CommentReply (Maybe Text)-comHTMLContent-  = lens _comHTMLContent-      (\ s a -> s{_comHTMLContent = a})---- | This is always drive#commentReply.-comKind :: Lens' CommentReply Text-comKind = lens _comKind (\ s a -> s{_comKind = a})---- | The plain text content used to create this reply. This is not HTML safe--- and should only be used as a starting point to make edits to a reply\'s--- content. This field is required on inserts if no verb is specified--- (resolve\/reopen).-comContent :: Lens' CommentReply (Maybe Text)-comContent-  = lens _comContent (\ s a -> s{_comContent = a})---- | The date when this reply was first created.-comCreatedDate :: Lens' CommentReply (Maybe UTCTime)-comCreatedDate-  = lens _comCreatedDate-      (\ s a -> s{_comCreatedDate = a})-      . mapping _DateTime---- | The ID of the reply.-comReplyId :: Lens' CommentReply (Maybe Text)-comReplyId-  = lens _comReplyId (\ s a -> s{_comReplyId = a})---- | The user who wrote this reply.-comAuthor :: Lens' CommentReply (Maybe User)-comAuthor-  = lens _comAuthor (\ s a -> s{_comAuthor = a})---- | The date when this reply was last modified.-comModifiedDate :: Lens' CommentReply (Maybe UTCTime)-comModifiedDate-  = lens _comModifiedDate-      (\ s a -> s{_comModifiedDate = a})-      . mapping _DateTime---- | Whether this reply has been deleted. If a reply has been deleted the--- content will be cleared and this will only represent a reply that once--- existed.-comDeleted :: Lens' CommentReply (Maybe Bool)-comDeleted-  = lens _comDeleted (\ s a -> s{_comDeleted = a})---- | The action this reply performed to the parent comment. When creating a--- new reply this is the action to be perform to the parent comment.--- Possible values are: - \"resolve\" - To resolve a comment. - \"reopen\"--- - To reopen (un-resolve) a comment.-comVerb :: Lens' CommentReply (Maybe Text)-comVerb = lens _comVerb (\ s a -> s{_comVerb = a})--instance FromJSON CommentReply where-        parseJSON-          = withObject "CommentReply"-              (\ o ->-                 CommentReply <$>-                   (o .:? "htmlContent") <*>-                     (o .:? "kind" .!= "drive#commentReply")-                     <*> (o .:? "content")-                     <*> (o .:? "createdDate")-                     <*> (o .:? "replyId")-                     <*> (o .:? "author")-                     <*> (o .:? "modifiedDate")-                     <*> (o .:? "deleted")-                     <*> (o .:? "verb"))--instance ToJSON CommentReply where-        toJSON CommentReply{..}-          = object-              (catMaybes-                 [("htmlContent" .=) <$> _comHTMLContent,-                  Just ("kind" .= _comKind),-                  ("content" .=) <$> _comContent,-                  ("createdDate" .=) <$> _comCreatedDate,-                  ("replyId" .=) <$> _comReplyId,-                  ("author" .=) <$> _comAuthor,-                  ("modifiedDate" .=) <$> _comModifiedDate,-                  ("deleted" .=) <$> _comDeleted,-                  ("verb" .=) <$> _comVerb])------- /See:/ 'aboutQuotaBytesByServiceItem' smart constructor.-data AboutQuotaBytesByServiceItem = AboutQuotaBytesByServiceItem-    { _aqbbsiBytesUsed   :: !(Maybe (Textual Int64))-    , _aqbbsiServiceName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutQuotaBytesByServiceItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aqbbsiBytesUsed'------ * 'aqbbsiServiceName'-aboutQuotaBytesByServiceItem-    :: AboutQuotaBytesByServiceItem-aboutQuotaBytesByServiceItem =-    AboutQuotaBytesByServiceItem-    { _aqbbsiBytesUsed = Nothing-    , _aqbbsiServiceName = Nothing-    }---- | The storage quota bytes used by the service.-aqbbsiBytesUsed :: Lens' AboutQuotaBytesByServiceItem (Maybe Int64)-aqbbsiBytesUsed-  = lens _aqbbsiBytesUsed-      (\ s a -> s{_aqbbsiBytesUsed = a})-      . mapping _Coerce---- | The service\'s name, e.g. DRIVE, GMAIL, or PHOTOS.-aqbbsiServiceName :: Lens' AboutQuotaBytesByServiceItem (Maybe Text)-aqbbsiServiceName-  = lens _aqbbsiServiceName-      (\ s a -> s{_aqbbsiServiceName = a})--instance FromJSON AboutQuotaBytesByServiceItem where-        parseJSON-          = withObject "AboutQuotaBytesByServiceItem"-              (\ o ->-                 AboutQuotaBytesByServiceItem <$>-                   (o .:? "bytesUsed") <*> (o .:? "serviceName"))--instance ToJSON AboutQuotaBytesByServiceItem where-        toJSON AboutQuotaBytesByServiceItem{..}-          = object-              (catMaybes-                 [("bytesUsed" .=) <$> _aqbbsiBytesUsed,-                  ("serviceName" .=) <$> _aqbbsiServiceName])---- | The JSON template for a user.------ /See:/ 'user' smart constructor.-data User = User-    { _uIsAuthenticatedUser :: !(Maybe Bool)-    , _uKind                :: !Text-    , _uPicture             :: !(Maybe UserPicture)-    , _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:------ * 'uIsAuthenticatedUser'------ * 'uKind'------ * 'uPicture'------ * 'uEmailAddress'------ * 'uDisplayName'------ * 'uPermissionId'-user-    :: User-user =-    User-    { _uIsAuthenticatedUser = Nothing-    , _uKind = "drive#user"-    , _uPicture = Nothing-    , _uEmailAddress = Nothing-    , _uDisplayName = Nothing-    , _uPermissionId = Nothing-    }---- | Whether this user is the same as the authenticated user for whom the--- request was made.-uIsAuthenticatedUser :: Lens' User (Maybe Bool)-uIsAuthenticatedUser-  = lens _uIsAuthenticatedUser-      (\ s a -> s{_uIsAuthenticatedUser = a})---- | This is always drive#user.-uKind :: Lens' User Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | The user\'s profile picture.-uPicture :: Lens' User (Maybe UserPicture)-uPicture = lens _uPicture (\ s a -> s{_uPicture = a})---- | The email address of the user.-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 the permissions collection.-uPermissionId :: Lens' User (Maybe Text)-uPermissionId-  = lens _uPermissionId-      (\ s a -> s{_uPermissionId = a})--instance FromJSON User where-        parseJSON-          = withObject "User"-              (\ o ->-                 User <$>-                   (o .:? "isAuthenticatedUser") <*>-                     (o .:? "kind" .!= "drive#user")-                     <*> (o .:? "picture")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "displayName")-                     <*> (o .:? "permissionId"))--instance ToJSON User where-        toJSON User{..}-          = object-              (catMaybes-                 [("isAuthenticatedUser" .=) <$>-                    _uIsAuthenticatedUser,-                  Just ("kind" .= _uKind),-                  ("picture" .=) <$> _uPicture,-                  ("emailAddress" .=) <$> _uEmailAddress,-                  ("displayName" .=) <$> _uDisplayName,-                  ("permissionId" .=) <$> _uPermissionId])------- /See:/ 'aboutExportFormatsItem' smart constructor.-data AboutExportFormatsItem = AboutExportFormatsItem-    { _aefiTargets :: !(Maybe [Text])-    , _aefiSource  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutExportFormatsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aefiTargets'------ * 'aefiSource'-aboutExportFormatsItem-    :: AboutExportFormatsItem-aboutExportFormatsItem =-    AboutExportFormatsItem-    { _aefiTargets = Nothing-    , _aefiSource = Nothing-    }---- | The possible content types to convert to.-aefiTargets :: Lens' AboutExportFormatsItem [Text]-aefiTargets-  = lens _aefiTargets (\ s a -> s{_aefiTargets = a}) .-      _Default-      . _Coerce---- | The content type to convert from.-aefiSource :: Lens' AboutExportFormatsItem (Maybe Text)-aefiSource-  = lens _aefiSource (\ s a -> s{_aefiSource = a})--instance FromJSON AboutExportFormatsItem where-        parseJSON-          = withObject "AboutExportFormatsItem"-              (\ o ->-                 AboutExportFormatsItem <$>-                   (o .:? "targets" .!= mempty) <*> (o .:? "source"))--instance ToJSON AboutExportFormatsItem where-        toJSON AboutExportFormatsItem{..}-          = object-              (catMaybes-                 [("targets" .=) <$> _aefiTargets,-                  ("source" .=) <$> _aefiSource])---- | A list of changes for a user.------ /See:/ 'changeList' smart constructor.-data ChangeList = ChangeList-    { _cllEtag            :: !(Maybe Text)-    , _cllNextPageToken   :: !(Maybe Text)-    , _cllNextLink        :: !(Maybe Text)-    , _cllKind            :: !Text-    , _cllItems           :: !(Maybe [Change])-    , _cllSelfLink        :: !(Maybe Text)-    , _cllLargestChangeId :: !(Maybe (Textual Int64))-    } 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:------ * 'cllEtag'------ * 'cllNextPageToken'------ * 'cllNextLink'------ * 'cllKind'------ * 'cllItems'------ * 'cllSelfLink'------ * 'cllLargestChangeId'-changeList-    :: ChangeList-changeList =-    ChangeList-    { _cllEtag = Nothing-    , _cllNextPageToken = Nothing-    , _cllNextLink = Nothing-    , _cllKind = "drive#changeList"-    , _cllItems = Nothing-    , _cllSelfLink = Nothing-    , _cllLargestChangeId = Nothing-    }---- | The ETag of the list.-cllEtag :: Lens' ChangeList (Maybe Text)-cllEtag = lens _cllEtag (\ s a -> s{_cllEtag = a})---- | The page token for the next page of changes.-cllNextPageToken :: Lens' ChangeList (Maybe Text)-cllNextPageToken-  = lens _cllNextPageToken-      (\ s a -> s{_cllNextPageToken = a})---- | A link to the next page of changes.-cllNextLink :: Lens' ChangeList (Maybe Text)-cllNextLink-  = lens _cllNextLink (\ s a -> s{_cllNextLink = a})---- | This is always drive#changeList.-cllKind :: Lens' ChangeList Text-cllKind = lens _cllKind (\ s a -> s{_cllKind = a})---- | The actual list of changes.-cllItems :: Lens' ChangeList [Change]-cllItems-  = lens _cllItems (\ s a -> s{_cllItems = a}) .-      _Default-      . _Coerce---- | A link back to this list.-cllSelfLink :: Lens' ChangeList (Maybe Text)-cllSelfLink-  = lens _cllSelfLink (\ s a -> s{_cllSelfLink = a})---- | The current largest change ID.-cllLargestChangeId :: Lens' ChangeList (Maybe Int64)-cllLargestChangeId-  = lens _cllLargestChangeId-      (\ s a -> s{_cllLargestChangeId = a})-      . mapping _Coerce--instance FromJSON ChangeList where-        parseJSON-          = withObject "ChangeList"-              (\ o ->-                 ChangeList <$>-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>-                     (o .:? "nextLink")-                     <*> (o .:? "kind" .!= "drive#changeList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink")-                     <*> (o .:? "largestChangeId"))--instance ToJSON ChangeList where-        toJSON ChangeList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _cllEtag,-                  ("nextPageToken" .=) <$> _cllNextPageToken,-                  ("nextLink" .=) <$> _cllNextLink,-                  Just ("kind" .= _cllKind),-                  ("items" .=) <$> _cllItems,-                  ("selfLink" .=) <$> _cllSelfLink,-                  ("largestChangeId" .=) <$> _cllLargestChangeId])---- | 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---- | Indexable text attributes for the file (can only be written)------ /See:/ 'fileIndexableText' smart constructor.-newtype FileIndexableText = FileIndexableText-    { _fitText :: Maybe Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileIndexableText' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fitText'-fileIndexableText-    :: FileIndexableText-fileIndexableText =-    FileIndexableText-    { _fitText = Nothing-    }---- | The text to be indexed for this file.-fitText :: Lens' FileIndexableText (Maybe Text)-fitText = lens _fitText (\ s a -> s{_fitText = a})--instance FromJSON FileIndexableText where-        parseJSON-          = withObject "FileIndexableText"-              (\ o -> FileIndexableText <$> (o .:? "text"))--instance ToJSON FileIndexableText where-        toJSON FileIndexableText{..}-          = object (catMaybes [("text" .=) <$> _fitText])------- /See:/ 'aboutFeaturesItem' smart constructor.-data AboutFeaturesItem = AboutFeaturesItem-    { _afiFeatureRate :: !(Maybe (Textual Double))-    , _afiFeatureName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutFeaturesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afiFeatureRate'------ * 'afiFeatureName'-aboutFeaturesItem-    :: AboutFeaturesItem-aboutFeaturesItem =-    AboutFeaturesItem-    { _afiFeatureRate = Nothing-    , _afiFeatureName = Nothing-    }---- | The request limit rate for this feature, in queries per second.-afiFeatureRate :: Lens' AboutFeaturesItem (Maybe Double)-afiFeatureRate-  = lens _afiFeatureRate-      (\ s a -> s{_afiFeatureRate = a})-      . mapping _Coerce---- | The name of the feature.-afiFeatureName :: Lens' AboutFeaturesItem (Maybe Text)-afiFeatureName-  = lens _afiFeatureName-      (\ s a -> s{_afiFeatureName = a})--instance FromJSON AboutFeaturesItem where-        parseJSON-          = withObject "AboutFeaturesItem"-              (\ o ->-                 AboutFeaturesItem <$>-                   (o .:? "featureRate") <*> (o .:? "featureName"))--instance ToJSON AboutFeaturesItem where-        toJSON AboutFeaturesItem{..}-          = object-              (catMaybes-                 [("featureRate" .=) <$> _afiFeatureRate,-                  ("featureName" .=) <$> _afiFeatureName])---- | 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---- | An item with user information and settings.------ /See:/ 'about' smart constructor.-data About = About-    { _aboExportFormats           :: !(Maybe [AboutExportFormatsItem])-    , _aboRemainingChangeIds      :: !(Maybe (Textual Int64))-    , _aboLanguageCode            :: !(Maybe Text)-    , _aboEtag                    :: !(Maybe Text)-    , _aboImportFormats           :: !(Maybe [AboutImportFormatsItem])-    , _aboKind                    :: !Text-    , _aboDomainSharingPolicy     :: !(Maybe Text)-    , _aboQuotaBytesUsedInTrash   :: !(Maybe (Textual Int64))-    , _aboQuotaType               :: !(Maybe Text)-    , _aboMaxUploadSizes          :: !(Maybe [AboutMaxUploadSizesItem])-    , _aboUser                    :: !(Maybe User)-    , _aboSelfLink                :: !(Maybe Text)-    , _aboName                    :: !(Maybe Text)-    , _aboFeatures                :: !(Maybe [AboutFeaturesItem])-    , _aboIsCurrentAppInstalled   :: !(Maybe Bool)-    , _aboQuotaBytesTotal         :: !(Maybe (Textual Int64))-    , _aboRootFolderId            :: !(Maybe Text)-    , _aboQuotaBytesUsed          :: !(Maybe (Textual Int64))-    , _aboAdditionalRoleInfo      :: !(Maybe [AboutAdditionalRoleInfoItem])-    , _aboFolderColorPalette      :: !(Maybe [Text])-    , _aboPermissionId            :: !(Maybe Text)-    , _aboQuotaBytesUsedAggregate :: !(Maybe (Textual Int64))-    , _aboQuotaBytesByService     :: !(Maybe [AboutQuotaBytesByServiceItem])-    , _aboLargestChangeId         :: !(Maybe (Textual Int64))-    } 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:------ * 'aboExportFormats'------ * 'aboRemainingChangeIds'------ * 'aboLanguageCode'------ * 'aboEtag'------ * 'aboImportFormats'------ * 'aboKind'------ * 'aboDomainSharingPolicy'------ * 'aboQuotaBytesUsedInTrash'------ * 'aboQuotaType'------ * 'aboMaxUploadSizes'------ * 'aboUser'------ * 'aboSelfLink'------ * 'aboName'------ * 'aboFeatures'------ * 'aboIsCurrentAppInstalled'------ * 'aboQuotaBytesTotal'------ * 'aboRootFolderId'------ * 'aboQuotaBytesUsed'------ * 'aboAdditionalRoleInfo'------ * 'aboFolderColorPalette'------ * 'aboPermissionId'------ * 'aboQuotaBytesUsedAggregate'------ * 'aboQuotaBytesByService'------ * 'aboLargestChangeId'-about-    :: About-about =-    About-    { _aboExportFormats = Nothing-    , _aboRemainingChangeIds = Nothing-    , _aboLanguageCode = Nothing-    , _aboEtag = Nothing-    , _aboImportFormats = Nothing-    , _aboKind = "drive#about"-    , _aboDomainSharingPolicy = Nothing-    , _aboQuotaBytesUsedInTrash = Nothing-    , _aboQuotaType = Nothing-    , _aboMaxUploadSizes = Nothing-    , _aboUser = Nothing-    , _aboSelfLink = Nothing-    , _aboName = Nothing-    , _aboFeatures = Nothing-    , _aboIsCurrentAppInstalled = Nothing-    , _aboQuotaBytesTotal = Nothing-    , _aboRootFolderId = Nothing-    , _aboQuotaBytesUsed = Nothing-    , _aboAdditionalRoleInfo = Nothing-    , _aboFolderColorPalette = Nothing-    , _aboPermissionId = Nothing-    , _aboQuotaBytesUsedAggregate = Nothing-    , _aboQuotaBytesByService = Nothing-    , _aboLargestChangeId = Nothing-    }---- | The allowable export formats.-aboExportFormats :: Lens' About [AboutExportFormatsItem]-aboExportFormats-  = lens _aboExportFormats-      (\ s a -> s{_aboExportFormats = a})-      . _Default-      . _Coerce---- | The number of remaining change ids.-aboRemainingChangeIds :: Lens' About (Maybe Int64)-aboRemainingChangeIds-  = lens _aboRemainingChangeIds-      (\ s a -> s{_aboRemainingChangeIds = a})-      . mapping _Coerce---- | The user\'s language or locale code, as defined by BCP 47, with some--- extensions from Unicode\'s LDML format--- (http:\/\/www.unicode.org\/reports\/tr35\/).-aboLanguageCode :: Lens' About (Maybe Text)-aboLanguageCode-  = lens _aboLanguageCode-      (\ s a -> s{_aboLanguageCode = a})---- | The ETag of the item.-aboEtag :: Lens' About (Maybe Text)-aboEtag = lens _aboEtag (\ s a -> s{_aboEtag = a})---- | The allowable import formats.-aboImportFormats :: Lens' About [AboutImportFormatsItem]-aboImportFormats-  = lens _aboImportFormats-      (\ s a -> s{_aboImportFormats = a})-      . _Default-      . _Coerce---- | This is always drive#about.-aboKind :: Lens' About Text-aboKind = lens _aboKind (\ s a -> s{_aboKind = a})---- | The domain sharing policy for the current user. Possible values are: ---- allowed - allowedWithWarning - incomingOnly - disallowed-aboDomainSharingPolicy :: Lens' About (Maybe Text)-aboDomainSharingPolicy-  = lens _aboDomainSharingPolicy-      (\ s a -> s{_aboDomainSharingPolicy = a})---- | The number of quota bytes used by trashed items.-aboQuotaBytesUsedInTrash :: Lens' About (Maybe Int64)-aboQuotaBytesUsedInTrash-  = lens _aboQuotaBytesUsedInTrash-      (\ s a -> s{_aboQuotaBytesUsedInTrash = a})-      . mapping _Coerce---- | The type of the user\'s storage quota. Possible values are: - LIMITED ---- UNLIMITED-aboQuotaType :: Lens' About (Maybe Text)-aboQuotaType-  = lens _aboQuotaType (\ s a -> s{_aboQuotaType = a})---- | List of max upload sizes for each file type. The most specific type--- takes precedence.-aboMaxUploadSizes :: Lens' About [AboutMaxUploadSizesItem]-aboMaxUploadSizes-  = lens _aboMaxUploadSizes-      (\ s a -> s{_aboMaxUploadSizes = a})-      . _Default-      . _Coerce---- | The authenticated user.-aboUser :: Lens' About (Maybe User)-aboUser = lens _aboUser (\ s a -> s{_aboUser = a})---- | A link back to this item.-aboSelfLink :: Lens' About (Maybe Text)-aboSelfLink-  = lens _aboSelfLink (\ s a -> s{_aboSelfLink = a})---- | The name of the current user.-aboName :: Lens' About (Maybe Text)-aboName = lens _aboName (\ s a -> s{_aboName = a})---- | List of additional features enabled on this account.-aboFeatures :: Lens' About [AboutFeaturesItem]-aboFeatures-  = lens _aboFeatures (\ s a -> s{_aboFeatures = a}) .-      _Default-      . _Coerce---- | A boolean indicating whether the authenticated app is installed by the--- authenticated user.-aboIsCurrentAppInstalled :: Lens' About (Maybe Bool)-aboIsCurrentAppInstalled-  = lens _aboIsCurrentAppInstalled-      (\ s a -> s{_aboIsCurrentAppInstalled = a})---- | The total number of quota bytes.-aboQuotaBytesTotal :: Lens' About (Maybe Int64)-aboQuotaBytesTotal-  = lens _aboQuotaBytesTotal-      (\ s a -> s{_aboQuotaBytesTotal = a})-      . mapping _Coerce---- | The id of the root folder.-aboRootFolderId :: Lens' About (Maybe Text)-aboRootFolderId-  = lens _aboRootFolderId-      (\ s a -> s{_aboRootFolderId = a})---- | The number of quota bytes used by Google Drive.-aboQuotaBytesUsed :: Lens' About (Maybe Int64)-aboQuotaBytesUsed-  = lens _aboQuotaBytesUsed-      (\ s a -> s{_aboQuotaBytesUsed = a})-      . mapping _Coerce---- | Information about supported additional roles per file type. The most--- specific type takes precedence.-aboAdditionalRoleInfo :: Lens' About [AboutAdditionalRoleInfoItem]-aboAdditionalRoleInfo-  = lens _aboAdditionalRoleInfo-      (\ s a -> s{_aboAdditionalRoleInfo = a})-      . _Default-      . _Coerce---- | The palette of allowable folder colors as RGB hex strings.-aboFolderColorPalette :: Lens' About [Text]-aboFolderColorPalette-  = lens _aboFolderColorPalette-      (\ s a -> s{_aboFolderColorPalette = a})-      . _Default-      . _Coerce---- | The current user\'s ID as visible in the permissions collection.-aboPermissionId :: Lens' About (Maybe Text)-aboPermissionId-  = lens _aboPermissionId-      (\ s a -> s{_aboPermissionId = a})---- | The number of quota bytes used by all Google apps (Drive, Picasa, etc.).-aboQuotaBytesUsedAggregate :: Lens' About (Maybe Int64)-aboQuotaBytesUsedAggregate-  = lens _aboQuotaBytesUsedAggregate-      (\ s a -> s{_aboQuotaBytesUsedAggregate = a})-      . mapping _Coerce---- | The amount of storage quota used by different Google services.-aboQuotaBytesByService :: Lens' About [AboutQuotaBytesByServiceItem]-aboQuotaBytesByService-  = lens _aboQuotaBytesByService-      (\ s a -> s{_aboQuotaBytesByService = a})-      . _Default-      . _Coerce---- | The largest change id.-aboLargestChangeId :: Lens' About (Maybe Int64)-aboLargestChangeId-  = lens _aboLargestChangeId-      (\ s a -> s{_aboLargestChangeId = a})-      . mapping _Coerce--instance FromJSON About where-        parseJSON-          = withObject "About"-              (\ o ->-                 About <$>-                   (o .:? "exportFormats" .!= mempty) <*>-                     (o .:? "remainingChangeIds")-                     <*> (o .:? "languageCode")-                     <*> (o .:? "etag")-                     <*> (o .:? "importFormats" .!= mempty)-                     <*> (o .:? "kind" .!= "drive#about")-                     <*> (o .:? "domainSharingPolicy")-                     <*> (o .:? "quotaBytesUsedInTrash")-                     <*> (o .:? "quotaType")-                     <*> (o .:? "maxUploadSizes" .!= mempty)-                     <*> (o .:? "user")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "name")-                     <*> (o .:? "features" .!= mempty)-                     <*> (o .:? "isCurrentAppInstalled")-                     <*> (o .:? "quotaBytesTotal")-                     <*> (o .:? "rootFolderId")-                     <*> (o .:? "quotaBytesUsed")-                     <*> (o .:? "additionalRoleInfo" .!= mempty)-                     <*> (o .:? "folderColorPalette" .!= mempty)-                     <*> (o .:? "permissionId")-                     <*> (o .:? "quotaBytesUsedAggregate")-                     <*> (o .:? "quotaBytesByService" .!= mempty)-                     <*> (o .:? "largestChangeId"))--instance ToJSON About where-        toJSON About{..}-          = object-              (catMaybes-                 [("exportFormats" .=) <$> _aboExportFormats,-                  ("remainingChangeIds" .=) <$> _aboRemainingChangeIds,-                  ("languageCode" .=) <$> _aboLanguageCode,-                  ("etag" .=) <$> _aboEtag,-                  ("importFormats" .=) <$> _aboImportFormats,-                  Just ("kind" .= _aboKind),-                  ("domainSharingPolicy" .=) <$>-                    _aboDomainSharingPolicy,-                  ("quotaBytesUsedInTrash" .=) <$>-                    _aboQuotaBytesUsedInTrash,-                  ("quotaType" .=) <$> _aboQuotaType,-                  ("maxUploadSizes" .=) <$> _aboMaxUploadSizes,-                  ("user" .=) <$> _aboUser,-                  ("selfLink" .=) <$> _aboSelfLink,-                  ("name" .=) <$> _aboName,-                  ("features" .=) <$> _aboFeatures,-                  ("isCurrentAppInstalled" .=) <$>-                    _aboIsCurrentAppInstalled,-                  ("quotaBytesTotal" .=) <$> _aboQuotaBytesTotal,-                  ("rootFolderId" .=) <$> _aboRootFolderId,-                  ("quotaBytesUsed" .=) <$> _aboQuotaBytesUsed,-                  ("additionalRoleInfo" .=) <$> _aboAdditionalRoleInfo,-                  ("folderColorPalette" .=) <$> _aboFolderColorPalette,-                  ("permissionId" .=) <$> _aboPermissionId,-                  ("quotaBytesUsedAggregate" .=) <$>-                    _aboQuotaBytesUsedAggregate,-                  ("quotaBytesByService" .=) <$>-                    _aboQuotaBytesByService,-                  ("largestChangeId" .=) <$> _aboLargestChangeId])---- | 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:/ 'aboutImportFormatsItem' smart constructor.-data AboutImportFormatsItem = AboutImportFormatsItem-    { _aifiTargets :: !(Maybe [Text])-    , _aifiSource  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutImportFormatsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aifiTargets'------ * 'aifiSource'-aboutImportFormatsItem-    :: AboutImportFormatsItem-aboutImportFormatsItem =-    AboutImportFormatsItem-    { _aifiTargets = Nothing-    , _aifiSource = Nothing-    }---- | The possible content types to convert to.-aifiTargets :: Lens' AboutImportFormatsItem [Text]-aifiTargets-  = lens _aifiTargets (\ s a -> s{_aifiTargets = a}) .-      _Default-      . _Coerce---- | The imported file\'s content type to convert from.-aifiSource :: Lens' AboutImportFormatsItem (Maybe Text)-aifiSource-  = lens _aifiSource (\ s a -> s{_aifiSource = a})--instance FromJSON AboutImportFormatsItem where-        parseJSON-          = withObject "AboutImportFormatsItem"-              (\ o ->-                 AboutImportFormatsItem <$>-                   (o .:? "targets" .!= mempty) <*> (o .:? "source"))--instance ToJSON AboutImportFormatsItem where-        toJSON AboutImportFormatsItem{..}-          = object-              (catMaybes-                 [("targets" .=) <$> _aifiTargets,-                  ("source" .=) <$> _aifiSource])---- | Metadata about image media. This will only be present for image types,--- and its contents will depend on what can be parsed from the image--- content.------ /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))-    , _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)-    , _fimmDate             :: !(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'------ * 'fimmLocation'------ * 'fimmAperture'------ * 'fimmFocalLength'------ * 'fimmCameraMake'------ * 'fimmWidth'------ * 'fimmExposureTime'------ * 'fimmCameraModel'------ * 'fimmWhiteBalance'------ * 'fimmDate'------ * 'fimmLens'------ * 'fimmFlashUsed'------ * 'fimmExposureBias'------ * 'fimmMeteringMode'------ * 'fimmExposureMode'------ * 'fimmSensor'------ * 'fimmColorSpace'-fileImageMediaMetadata-    :: FileImageMediaMetadata-fileImageMediaMetadata =-    FileImageMediaMetadata-    { _fimmRotation = Nothing-    , _fimmHeight = Nothing-    , _fimmSubjectDistance = Nothing-    , _fimmMaxApertureValue = Nothing-    , _fimmIsoSpeed = Nothing-    , _fimmLocation = Nothing-    , _fimmAperture = Nothing-    , _fimmFocalLength = Nothing-    , _fimmCameraMake = Nothing-    , _fimmWidth = Nothing-    , _fimmExposureTime = Nothing-    , _fimmCameraModel = Nothing-    , _fimmWhiteBalance = Nothing-    , _fimmDate = 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---- | 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 date and time the photo was taken (EXIF format timestamp).-fimmDate :: Lens' FileImageMediaMetadata (Maybe Text)-fimmDate = lens _fimmDate (\ s a -> s{_fimmDate = 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 .:? "location")-                     <*> (o .:? "aperture")-                     <*> (o .:? "focalLength")-                     <*> (o .:? "cameraMake")-                     <*> (o .:? "width")-                     <*> (o .:? "exposureTime")-                     <*> (o .:? "cameraModel")-                     <*> (o .:? "whiteBalance")-                     <*> (o .:? "date")-                     <*> (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,-                  ("location" .=) <$> _fimmLocation,-                  ("aperture" .=) <$> _fimmAperture,-                  ("focalLength" .=) <$> _fimmFocalLength,-                  ("cameraMake" .=) <$> _fimmCameraMake,-                  ("width" .=) <$> _fimmWidth,-                  ("exposureTime" .=) <$> _fimmExposureTime,-                  ("cameraModel" .=) <$> _fimmCameraModel,-                  ("whiteBalance" .=) <$> _fimmWhiteBalance,-                  ("date" .=) <$> _fimmDate, ("lens" .=) <$> _fimmLens,-                  ("flashUsed" .=) <$> _fimmFlashUsed,-                  ("exposureBias" .=) <$> _fimmExposureBias,-                  ("meteringMode" .=) <$> _fimmMeteringMode,-                  ("exposureMode" .=) <$> _fimmExposureMode,-                  ("sensor" .=) <$> _fimmSensor,-                  ("colorSpace" .=) <$> _fimmColorSpace])---- | A group of labels for the file.------ /See:/ 'fileLabels' smart constructor.-data FileLabels = FileLabels-    { _flViewed     :: !(Maybe Bool)-    , _flTrashed    :: !(Maybe Bool)-    , _flStarred    :: !(Maybe Bool)-    , _flHidden     :: !(Maybe Bool)-    , _flRestricted :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FileLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flViewed'------ * 'flTrashed'------ * 'flStarred'------ * 'flHidden'------ * 'flRestricted'-fileLabels-    :: FileLabels-fileLabels =-    FileLabels-    { _flViewed = Nothing-    , _flTrashed = Nothing-    , _flStarred = Nothing-    , _flHidden = Nothing-    , _flRestricted = Nothing-    }---- | Whether this file has been viewed by this user.-flViewed :: Lens' FileLabels (Maybe Bool)-flViewed = lens _flViewed (\ s a -> s{_flViewed = a})---- | Whether this file has been trashed. This label applies to all users--- accessing the file; however, only owners are allowed to see and untrash--- files.-flTrashed :: Lens' FileLabels (Maybe Bool)-flTrashed-  = lens _flTrashed (\ s a -> s{_flTrashed = a})---- | Whether this file is starred by the user.-flStarred :: Lens' FileLabels (Maybe Bool)-flStarred-  = lens _flStarred (\ s a -> s{_flStarred = a})---- | Deprecated.-flHidden :: Lens' FileLabels (Maybe Bool)-flHidden = lens _flHidden (\ s a -> s{_flHidden = a})---- | Whether viewers and commenters are prevented from downloading, printing,--- and copying this file.-flRestricted :: Lens' FileLabels (Maybe Bool)-flRestricted-  = lens _flRestricted (\ s a -> s{_flRestricted = a})--instance FromJSON FileLabels where-        parseJSON-          = withObject "FileLabels"-              (\ o ->-                 FileLabels <$>-                   (o .:? "viewed") <*> (o .:? "trashed") <*>-                     (o .:? "starred")-                     <*> (o .:? "hidden")-                     <*> (o .:? "restricted"))--instance ToJSON FileLabels where-        toJSON FileLabels{..}-          = object-              (catMaybes-                 [("viewed" .=) <$> _flViewed,-                  ("trashed" .=) <$> _flTrashed,-                  ("starred" .=) <$> _flStarred,-                  ("hidden" .=) <$> _flHidden,-                  ("restricted" .=) <$> _flRestricted])---- | A JSON representation of a comment on a file in Google Drive.------ /See:/ 'comment' smart constructor.-data Comment = Comment-    { _ccStatus       :: !(Maybe Text)-    , _ccHTMLContent  :: !(Maybe Text)-    , _ccContext      :: !(Maybe CommentContext)-    , _ccKind         :: !Text-    , _ccFileTitle    :: !(Maybe Text)-    , _ccAnchor       :: !(Maybe Text)-    , _ccContent      :: !(Maybe Text)-    , _ccReplies      :: !(Maybe [CommentReply])-    , _ccCreatedDate  :: !(Maybe DateTime')-    , _ccSelfLink     :: !(Maybe Text)-    , _ccAuthor       :: !(Maybe User)-    , _ccModifiedDate :: !(Maybe DateTime')-    , _ccDeleted      :: !(Maybe Bool)-    , _ccFileId       :: !(Maybe Text)-    , _ccCommentId    :: !(Maybe Text)-    } 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:------ * 'ccStatus'------ * 'ccHTMLContent'------ * 'ccContext'------ * 'ccKind'------ * 'ccFileTitle'------ * 'ccAnchor'------ * 'ccContent'------ * 'ccReplies'------ * 'ccCreatedDate'------ * 'ccSelfLink'------ * 'ccAuthor'------ * 'ccModifiedDate'------ * 'ccDeleted'------ * 'ccFileId'------ * 'ccCommentId'-comment-    :: Comment-comment =-    Comment-    { _ccStatus = Nothing-    , _ccHTMLContent = Nothing-    , _ccContext = Nothing-    , _ccKind = "drive#comment"-    , _ccFileTitle = Nothing-    , _ccAnchor = Nothing-    , _ccContent = Nothing-    , _ccReplies = Nothing-    , _ccCreatedDate = Nothing-    , _ccSelfLink = Nothing-    , _ccAuthor = Nothing-    , _ccModifiedDate = Nothing-    , _ccDeleted = Nothing-    , _ccFileId = Nothing-    , _ccCommentId = Nothing-    }---- | The status of this comment. Status can be changed by posting a reply to--- a comment with the desired status. - \"open\" - The comment is still--- open. - \"resolved\" - The comment has been resolved by one of its--- replies.-ccStatus :: Lens' Comment (Maybe Text)-ccStatus = lens _ccStatus (\ s a -> s{_ccStatus = a})---- | HTML formatted content for this comment.-ccHTMLContent :: Lens' Comment (Maybe Text)-ccHTMLContent-  = lens _ccHTMLContent-      (\ s a -> s{_ccHTMLContent = a})---- | The context of the file which is being commented on.-ccContext :: Lens' Comment (Maybe CommentContext)-ccContext-  = lens _ccContext (\ s a -> s{_ccContext = a})---- | This is always drive#comment.-ccKind :: Lens' Comment Text-ccKind = lens _ccKind (\ s a -> s{_ccKind = a})---- | The title of the file which this comment is addressing.-ccFileTitle :: Lens' Comment (Maybe Text)-ccFileTitle-  = lens _ccFileTitle (\ s a -> s{_ccFileTitle = a})---- | A region of the document represented as a JSON string. See anchor--- documentation for details on how to define and interpret anchor--- properties.-ccAnchor :: Lens' Comment (Maybe Text)-ccAnchor = lens _ccAnchor (\ s a -> s{_ccAnchor = a})---- | The plain text content used to create this comment. This is not HTML--- safe and should only be used as a starting point to make edits to a--- comment\'s content.-ccContent :: Lens' Comment (Maybe Text)-ccContent-  = lens _ccContent (\ s a -> s{_ccContent = a})---- | Replies to this post.-ccReplies :: Lens' Comment [CommentReply]-ccReplies-  = lens _ccReplies (\ s a -> s{_ccReplies = a}) .-      _Default-      . _Coerce---- | The date when this comment was first created.-ccCreatedDate :: Lens' Comment (Maybe UTCTime)-ccCreatedDate-  = lens _ccCreatedDate-      (\ s a -> s{_ccCreatedDate = a})-      . mapping _DateTime---- | A link back to this comment.-ccSelfLink :: Lens' Comment (Maybe Text)-ccSelfLink-  = lens _ccSelfLink (\ s a -> s{_ccSelfLink = a})---- | The user who wrote this comment.-ccAuthor :: Lens' Comment (Maybe User)-ccAuthor = lens _ccAuthor (\ s a -> s{_ccAuthor = a})---- | The date when this comment or any of its replies were last modified.-ccModifiedDate :: Lens' Comment (Maybe UTCTime)-ccModifiedDate-  = lens _ccModifiedDate-      (\ s a -> s{_ccModifiedDate = a})-      . mapping _DateTime---- | Whether this comment has been deleted. If a comment has been deleted the--- content will be cleared and this will only represent a comment that once--- existed.-ccDeleted :: Lens' Comment (Maybe Bool)-ccDeleted-  = lens _ccDeleted (\ s a -> s{_ccDeleted = a})---- | The file which this comment is addressing.-ccFileId :: Lens' Comment (Maybe Text)-ccFileId = lens _ccFileId (\ s a -> s{_ccFileId = a})---- | The ID of the comment.-ccCommentId :: Lens' Comment (Maybe Text)-ccCommentId-  = lens _ccCommentId (\ s a -> s{_ccCommentId = a})--instance FromJSON Comment where-        parseJSON-          = withObject "Comment"-              (\ o ->-                 Comment <$>-                   (o .:? "status") <*> (o .:? "htmlContent") <*>-                     (o .:? "context")-                     <*> (o .:? "kind" .!= "drive#comment")-                     <*> (o .:? "fileTitle")-                     <*> (o .:? "anchor")-                     <*> (o .:? "content")-                     <*> (o .:? "replies" .!= mempty)-                     <*> (o .:? "createdDate")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "author")-                     <*> (o .:? "modifiedDate")-                     <*> (o .:? "deleted")-                     <*> (o .:? "fileId")-                     <*> (o .:? "commentId"))--instance ToJSON Comment where-        toJSON Comment{..}-          = object-              (catMaybes-                 [("status" .=) <$> _ccStatus,-                  ("htmlContent" .=) <$> _ccHTMLContent,-                  ("context" .=) <$> _ccContext,-                  Just ("kind" .= _ccKind),-                  ("fileTitle" .=) <$> _ccFileTitle,-                  ("anchor" .=) <$> _ccAnchor,-                  ("content" .=) <$> _ccContent,-                  ("replies" .=) <$> _ccReplies,-                  ("createdDate" .=) <$> _ccCreatedDate,-                  ("selfLink" .=) <$> _ccSelfLink,-                  ("author" .=) <$> _ccAuthor,-                  ("modifiedDate" .=) <$> _ccModifiedDate,-                  ("deleted" .=) <$> _ccDeleted,-                  ("fileId" .=) <$> _ccFileId,-                  ("commentId" .=) <$> _ccCommentId])---- | A revision of a file.------ /See:/ 'revision' smart constructor.-data Revision = Revision-    { _rEtag                   :: !(Maybe Text)-    , _rOriginalFilename       :: !(Maybe Text)-    , _rKind                   :: !Text-    , _rPublishedLink          :: !(Maybe Text)-    , _rPinned                 :: !(Maybe Bool)-    , _rPublished              :: !(Maybe Bool)-    , _rLastModifyingUser      :: !(Maybe User)-    , _rFileSize               :: !(Maybe (Textual Int64))-    , _rPublishAuto            :: !(Maybe Bool)-    , _rMD5Checksum            :: !(Maybe Text)-    , _rMimeType               :: !(Maybe Text)-    , _rSelfLink               :: !(Maybe Text)-    , _rLastModifyingUserName  :: !(Maybe Text)-    , _rDownloadURL            :: !(Maybe Text)-    , _rExportLinks            :: !(Maybe RevisionExportLinks)-    , _rPublishedOutsideDomain :: !(Maybe Bool)-    , _rId                     :: !(Maybe Text)-    , _rModifiedDate           :: !(Maybe DateTime')-    } 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:------ * 'rEtag'------ * 'rOriginalFilename'------ * 'rKind'------ * 'rPublishedLink'------ * 'rPinned'------ * 'rPublished'------ * 'rLastModifyingUser'------ * 'rFileSize'------ * 'rPublishAuto'------ * 'rMD5Checksum'------ * 'rMimeType'------ * 'rSelfLink'------ * 'rLastModifyingUserName'------ * 'rDownloadURL'------ * 'rExportLinks'------ * 'rPublishedOutsideDomain'------ * 'rId'------ * 'rModifiedDate'-revision-    :: Revision-revision =-    Revision-    { _rEtag = Nothing-    , _rOriginalFilename = Nothing-    , _rKind = "drive#revision"-    , _rPublishedLink = Nothing-    , _rPinned = Nothing-    , _rPublished = Nothing-    , _rLastModifyingUser = Nothing-    , _rFileSize = Nothing-    , _rPublishAuto = Nothing-    , _rMD5Checksum = Nothing-    , _rMimeType = Nothing-    , _rSelfLink = Nothing-    , _rLastModifyingUserName = Nothing-    , _rDownloadURL = Nothing-    , _rExportLinks = Nothing-    , _rPublishedOutsideDomain = Nothing-    , _rId = Nothing-    , _rModifiedDate = Nothing-    }---- | The ETag of the revision.-rEtag :: Lens' Revision (Maybe Text)-rEtag = lens _rEtag (\ s a -> s{_rEtag = a})---- | The original filename when this revision was created. This will only be--- populated on files with content stored in Drive.-rOriginalFilename :: Lens' Revision (Maybe Text)-rOriginalFilename-  = lens _rOriginalFilename-      (\ s a -> s{_rOriginalFilename = a})---- | This is always drive#revision.-rKind :: Lens' Revision Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | A link to the published revision.-rPublishedLink :: Lens' Revision (Maybe Text)-rPublishedLink-  = lens _rPublishedLink-      (\ s a -> s{_rPublishedLink = a})---- | Whether this revision is pinned to prevent automatic purging. This will--- only be populated and can only be modified on files with content stored--- in Drive which are not Google Docs. Revisions can also be pinned when--- they are created through the drive.files.insert\/update\/copy by using--- the pinned query parameter.-rPinned :: Lens' Revision (Maybe Bool)-rPinned = lens _rPinned (\ s a -> s{_rPinned = a})---- | Whether this revision is published. This is only populated and can only--- be modified for Google Docs.-rPublished :: Lens' Revision (Maybe Bool)-rPublished-  = lens _rPublished (\ s a -> s{_rPublished = a})---- | The last user to modify this revision.-rLastModifyingUser :: Lens' Revision (Maybe User)-rLastModifyingUser-  = lens _rLastModifyingUser-      (\ s a -> s{_rLastModifyingUser = a})---- | The size of the revision in bytes. This will only be populated on files--- with content stored in Drive.-rFileSize :: Lens' Revision (Maybe Int64)-rFileSize-  = lens _rFileSize (\ s a -> s{_rFileSize = a}) .-      mapping _Coerce---- | Whether subsequent revisions will be automatically republished. This is--- only populated and can only be modified for Google Docs.-rPublishAuto :: Lens' Revision (Maybe Bool)-rPublishAuto-  = lens _rPublishAuto (\ s a -> s{_rPublishAuto = a})---- | An MD5 checksum for the content of this revision. This will only be--- populated on files with content stored in Drive.-rMD5Checksum :: Lens' Revision (Maybe Text)-rMD5Checksum-  = lens _rMD5Checksum (\ s a -> s{_rMD5Checksum = a})---- | The MIME type of the revision.-rMimeType :: Lens' Revision (Maybe Text)-rMimeType-  = lens _rMimeType (\ s a -> s{_rMimeType = a})---- | A link back to this revision.-rSelfLink :: Lens' Revision (Maybe Text)-rSelfLink-  = lens _rSelfLink (\ s a -> s{_rSelfLink = a})---- | Name of the last user to modify this revision.-rLastModifyingUserName :: Lens' Revision (Maybe Text)-rLastModifyingUserName-  = lens _rLastModifyingUserName-      (\ s a -> s{_rLastModifyingUserName = a})---- | Short term download URL for the file. This will only be populated on--- files with content stored in Drive.-rDownloadURL :: Lens' Revision (Maybe Text)-rDownloadURL-  = lens _rDownloadURL (\ s a -> s{_rDownloadURL = a})---- | Links for exporting Google Docs to specific formats.-rExportLinks :: Lens' Revision (Maybe RevisionExportLinks)-rExportLinks-  = lens _rExportLinks (\ s a -> s{_rExportLinks = a})---- | Whether this revision is published outside the domain. This is only--- populated and can only be modified for Google Docs.-rPublishedOutsideDomain :: Lens' Revision (Maybe Bool)-rPublishedOutsideDomain-  = lens _rPublishedOutsideDomain-      (\ s a -> s{_rPublishedOutsideDomain = a})---- | The ID of the revision.-rId :: Lens' Revision (Maybe Text)-rId = lens _rId (\ s a -> s{_rId = a})---- | Last time this revision was modified (formatted RFC 3339 timestamp).-rModifiedDate :: Lens' Revision (Maybe UTCTime)-rModifiedDate-  = lens _rModifiedDate-      (\ s a -> s{_rModifiedDate = a})-      . mapping _DateTime--instance FromJSON Revision where-        parseJSON-          = withObject "Revision"-              (\ o ->-                 Revision <$>-                   (o .:? "etag") <*> (o .:? "originalFilename") <*>-                     (o .:? "kind" .!= "drive#revision")-                     <*> (o .:? "publishedLink")-                     <*> (o .:? "pinned")-                     <*> (o .:? "published")-                     <*> (o .:? "lastModifyingUser")-                     <*> (o .:? "fileSize")-                     <*> (o .:? "publishAuto")-                     <*> (o .:? "md5Checksum")-                     <*> (o .:? "mimeType")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "lastModifyingUserName")-                     <*> (o .:? "downloadUrl")-                     <*> (o .:? "exportLinks")-                     <*> (o .:? "publishedOutsideDomain")-                     <*> (o .:? "id")-                     <*> (o .:? "modifiedDate"))--instance ToJSON Revision where-        toJSON Revision{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _rEtag,-                  ("originalFilename" .=) <$> _rOriginalFilename,-                  Just ("kind" .= _rKind),-                  ("publishedLink" .=) <$> _rPublishedLink,-                  ("pinned" .=) <$> _rPinned,-                  ("published" .=) <$> _rPublished,-                  ("lastModifyingUser" .=) <$> _rLastModifyingUser,-                  ("fileSize" .=) <$> _rFileSize,-                  ("publishAuto" .=) <$> _rPublishAuto,-                  ("md5Checksum" .=) <$> _rMD5Checksum,-                  ("mimeType" .=) <$> _rMimeType,-                  ("selfLink" .=) <$> _rSelfLink,-                  ("lastModifyingUserName" .=) <$>-                    _rLastModifyingUserName,-                  ("downloadUrl" .=) <$> _rDownloadURL,-                  ("exportLinks" .=) <$> _rExportLinks,-                  ("publishedOutsideDomain" .=) <$>-                    _rPublishedOutsideDomain,-                  ("id" .=) <$> _rId,-                  ("modifiedDate" .=) <$> _rModifiedDate])------- /See:/ 'aboutAdditionalRoleInfoItem' smart constructor.-data AboutAdditionalRoleInfoItem = AboutAdditionalRoleInfoItem-    { _aariiRoleSets :: !(Maybe [AboutAdditionalRoleInfoItemRoleSetsItem])-    , _aariiType     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AboutAdditionalRoleInfoItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aariiRoleSets'------ * 'aariiType'-aboutAdditionalRoleInfoItem-    :: AboutAdditionalRoleInfoItem-aboutAdditionalRoleInfoItem =-    AboutAdditionalRoleInfoItem-    { _aariiRoleSets = Nothing-    , _aariiType = Nothing-    }---- | The supported additional roles per primary role.-aariiRoleSets :: Lens' AboutAdditionalRoleInfoItem [AboutAdditionalRoleInfoItemRoleSetsItem]-aariiRoleSets-  = lens _aariiRoleSets-      (\ s a -> s{_aariiRoleSets = a})-      . _Default-      . _Coerce---- | The content type that this additional role info applies to.-aariiType :: Lens' AboutAdditionalRoleInfoItem (Maybe Text)-aariiType-  = lens _aariiType (\ s a -> s{_aariiType = a})--instance FromJSON AboutAdditionalRoleInfoItem where-        parseJSON-          = withObject "AboutAdditionalRoleInfoItem"-              (\ o ->-                 AboutAdditionalRoleInfoItem <$>-                   (o .:? "roleSets" .!= mempty) <*> (o .:? "type"))--instance ToJSON AboutAdditionalRoleInfoItem where-        toJSON AboutAdditionalRoleInfoItem{..}-          = object-              (catMaybes-                 [("roleSets" .=) <$> _aariiRoleSets,-                  ("type" .=) <$> _aariiType])---- | A permission for a file.------ /See:/ 'permission' smart constructor.-data Permission = Permission-    { _perPhotoLink       :: !(Maybe Text)-    , _perEtag            :: !(Maybe Text)-    , _perWithLink        :: !(Maybe Bool)-    , _perKind            :: !Text-    , _perDomain          :: !(Maybe Text)-    , _perValue           :: !(Maybe Text)-    , _perAdditionalRoles :: !(Maybe [Text])-    , _perRole            :: !(Maybe Text)-    , _perSelfLink        :: !(Maybe Text)-    , _perName            :: !(Maybe Text)-    , _perAuthKey         :: !(Maybe Text)-    , _perEmailAddress    :: !(Maybe Text)-    , _perId              :: !(Maybe Text)-    , _perType            :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Permission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'perPhotoLink'------ * 'perEtag'------ * 'perWithLink'------ * 'perKind'------ * 'perDomain'------ * 'perValue'------ * 'perAdditionalRoles'------ * 'perRole'------ * 'perSelfLink'------ * 'perName'------ * 'perAuthKey'------ * 'perEmailAddress'------ * 'perId'------ * 'perType'-permission-    :: Permission-permission =-    Permission-    { _perPhotoLink = Nothing-    , _perEtag = Nothing-    , _perWithLink = Nothing-    , _perKind = "drive#permission"-    , _perDomain = Nothing-    , _perValue = Nothing-    , _perAdditionalRoles = Nothing-    , _perRole = Nothing-    , _perSelfLink = Nothing-    , _perName = Nothing-    , _perAuthKey = Nothing-    , _perEmailAddress = Nothing-    , _perId = Nothing-    , _perType = Nothing-    }---- | A link to the profile photo, if available.-perPhotoLink :: Lens' Permission (Maybe Text)-perPhotoLink-  = lens _perPhotoLink (\ s a -> s{_perPhotoLink = a})---- | The ETag of the permission.-perEtag :: Lens' Permission (Maybe Text)-perEtag = lens _perEtag (\ s a -> s{_perEtag = a})---- | Whether the link is required for this permission.-perWithLink :: Lens' Permission (Maybe Bool)-perWithLink-  = lens _perWithLink (\ s a -> s{_perWithLink = a})---- | This is always drive#permission.-perKind :: Lens' Permission Text-perKind = lens _perKind (\ s a -> s{_perKind = a})---- | The domain name of the entity this permission refers to. This is an--- output-only field which is present when the permission type is user,--- group or domain.-perDomain :: Lens' Permission (Maybe Text)-perDomain-  = lens _perDomain (\ s a -> s{_perDomain = a})---- | The email address or domain name for the entity. This is used during--- inserts and is not populated in responses. When making a--- drive.permissions.insert request, exactly one of the id or value fields--- must be specified.-perValue :: Lens' Permission (Maybe Text)-perValue = lens _perValue (\ s a -> s{_perValue = a})---- | Additional roles for this user. Only commenter is currently allowed.-perAdditionalRoles :: Lens' Permission [Text]-perAdditionalRoles-  = lens _perAdditionalRoles-      (\ s a -> s{_perAdditionalRoles = a})-      . _Default-      . _Coerce---- | The primary role for this user. Allowed values are: - owner - reader ---- writer-perRole :: Lens' Permission (Maybe Text)-perRole = lens _perRole (\ s a -> s{_perRole = a})---- | A link back to this permission.-perSelfLink :: Lens' Permission (Maybe Text)-perSelfLink-  = lens _perSelfLink (\ s a -> s{_perSelfLink = a})---- | The name for this permission.-perName :: Lens' Permission (Maybe Text)-perName = lens _perName (\ s a -> s{_perName = a})---- | The authkey parameter required for this permission.-perAuthKey :: Lens' Permission (Maybe Text)-perAuthKey-  = lens _perAuthKey (\ s a -> s{_perAuthKey = a})---- | The email address of the user or group this permission refers to. This--- is an output-only field which is present when the permission type is--- user or group.-perEmailAddress :: Lens' Permission (Maybe Text)-perEmailAddress-  = lens _perEmailAddress-      (\ s a -> s{_perEmailAddress = a})---- | The ID of the user this permission refers to, and identical to the--- permissionId in the About and Files resources. When making a--- drive.permissions.insert request, exactly one of the id or value fields--- must be specified.-perId :: Lens' Permission (Maybe Text)-perId = lens _perId (\ s a -> s{_perId = a})---- | The account type. Allowed values are: - user - group - domain - anyone-perType :: Lens' Permission (Maybe Text)-perType = lens _perType (\ s a -> s{_perType = a})--instance FromJSON Permission where-        parseJSON-          = withObject "Permission"-              (\ o ->-                 Permission <$>-                   (o .:? "photoLink") <*> (o .:? "etag") <*>-                     (o .:? "withLink")-                     <*> (o .:? "kind" .!= "drive#permission")-                     <*> (o .:? "domain")-                     <*> (o .:? "value")-                     <*> (o .:? "additionalRoles" .!= mempty)-                     <*> (o .:? "role")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "name")-                     <*> (o .:? "authKey")-                     <*> (o .:? "emailAddress")-                     <*> (o .:? "id")-                     <*> (o .:? "type"))--instance ToJSON Permission where-        toJSON Permission{..}-          = object-              (catMaybes-                 [("photoLink" .=) <$> _perPhotoLink,-                  ("etag" .=) <$> _perEtag,-                  ("withLink" .=) <$> _perWithLink,-                  Just ("kind" .= _perKind),-                  ("domain" .=) <$> _perDomain,-                  ("value" .=) <$> _perValue,-                  ("additionalRoles" .=) <$> _perAdditionalRoles,-                  ("role" .=) <$> _perRole,-                  ("selfLink" .=) <$> _perSelfLink,-                  ("name" .=) <$> _perName,-                  ("authKey" .=) <$> _perAuthKey,-                  ("emailAddress" .=) <$> _perEmailAddress,-                  ("id" .=) <$> _perId, ("type" .=) <$> _perType])---- | The metadata for a file.------ /See:/ 'file' smart constructor.-data File = File-    { _fOwnedByMe             :: !(Maybe Bool)-    , _fThumbnailLink         :: !(Maybe Text)-    , _fFullFileExtension     :: !(Maybe Text)-    , _fThumbnail             :: !(Maybe FileThumbnail)-    , _fMarkedViewedByMeDate  :: !(Maybe DateTime')-    , _fEtag                  :: !(Maybe Text)-    , _fFileExtension         :: !(Maybe Text)-    , _fCanComment            :: !(Maybe Bool)-    , _fOwners                :: !(Maybe [User])-    , _fOwnerNames            :: !(Maybe [Text])-    , _fOpenWithLinks         :: !(Maybe FileOpenWithLinks)-    , _fWebViewLink           :: !(Maybe Text)-    , _fOriginalFilename      :: !(Maybe Text)-    , _fKind                  :: !Text-    , _fLastModifyingUser     :: !(Maybe User)-    , _fIconLink              :: !(Maybe Text)-    , _fEmbedLink             :: !(Maybe Text)-    , _fFileSize              :: !(Maybe (Textual Int64))-    , _fAppDataContents       :: !(Maybe Bool)-    , _fImageMediaMetadata    :: !(Maybe FileImageMediaMetadata)-    , _fExplicitlyTrashed     :: !(Maybe Bool)-    , _fEditable              :: !(Maybe Bool)-    , _fModifiedByMeDate      :: !(Maybe DateTime')-    , _fLastViewedByMeDate    :: !(Maybe DateTime')-    , _fShared                :: !(Maybe Bool)-    , _fMD5Checksum           :: !(Maybe Text)-    , _fFolderColorRgb        :: !(Maybe Text)-    , _fMimeType              :: !(Maybe Text)-    , _fCreatedDate           :: !(Maybe DateTime')-    , _fSelfLink              :: !(Maybe Text)-    , _fLastModifyingUserName :: !(Maybe Text)-    , _fShareable             :: !(Maybe Bool)-    , _fDownloadURL           :: !(Maybe Text)-    , _fExportLinks           :: !(Maybe FileExportLinks)-    , _fCopyable              :: !(Maybe Bool)-    , _fParents               :: !(Maybe [ParentReference])-    , _fSharedWithMeDate      :: !(Maybe DateTime')-    , _fSpaces                :: !(Maybe [Text])-    , _fVersion               :: !(Maybe (Textual Int64))-    , _fUserPermission        :: !(Maybe Permission)-    , _fWritersCanShare       :: !(Maybe Bool)-    , _fDefaultOpenWithLink   :: !(Maybe Text)-    , _fId                    :: !(Maybe Text)-    , _fLabels                :: !(Maybe FileLabels)-    , _fModifiedDate          :: !(Maybe DateTime')-    , _fPermissions           :: !(Maybe [Permission])-    , _fQuotaBytesUsed        :: !(Maybe (Textual Int64))-    , _fTitle                 :: !(Maybe Text)-    , _fAlternateLink         :: !(Maybe Text)-    , _fVideoMediaMetadata    :: !(Maybe FileVideoMediaMetadata)-    , _fHeadRevisionId        :: !(Maybe Text)-    , _fDescription           :: !(Maybe Text)-    , _fSharingUser           :: !(Maybe User)-    , _fWebContentLink        :: !(Maybe Text)-    , _fProperties            :: !(Maybe [Property])-    , _fIndexableText         :: !(Maybe FileIndexableText)-    } 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'------ * 'fThumbnail'------ * 'fMarkedViewedByMeDate'------ * 'fEtag'------ * 'fFileExtension'------ * 'fCanComment'------ * 'fOwners'------ * 'fOwnerNames'------ * 'fOpenWithLinks'------ * 'fWebViewLink'------ * 'fOriginalFilename'------ * 'fKind'------ * 'fLastModifyingUser'------ * 'fIconLink'------ * 'fEmbedLink'------ * 'fFileSize'------ * 'fAppDataContents'------ * 'fImageMediaMetadata'------ * 'fExplicitlyTrashed'------ * 'fEditable'------ * 'fModifiedByMeDate'------ * 'fLastViewedByMeDate'------ * 'fShared'------ * 'fMD5Checksum'------ * 'fFolderColorRgb'------ * 'fMimeType'------ * 'fCreatedDate'------ * 'fSelfLink'------ * 'fLastModifyingUserName'------ * 'fShareable'------ * 'fDownloadURL'------ * 'fExportLinks'------ * 'fCopyable'------ * 'fParents'------ * 'fSharedWithMeDate'------ * 'fSpaces'------ * 'fVersion'------ * 'fUserPermission'------ * 'fWritersCanShare'------ * 'fDefaultOpenWithLink'------ * 'fId'------ * 'fLabels'------ * 'fModifiedDate'------ * 'fPermissions'------ * 'fQuotaBytesUsed'------ * 'fTitle'------ * 'fAlternateLink'------ * 'fVideoMediaMetadata'------ * 'fHeadRevisionId'------ * 'fDescription'------ * 'fSharingUser'------ * 'fWebContentLink'------ * 'fProperties'------ * 'fIndexableText'-file-    :: File-file =-    File-    { _fOwnedByMe = Nothing-    , _fThumbnailLink = Nothing-    , _fFullFileExtension = Nothing-    , _fThumbnail = Nothing-    , _fMarkedViewedByMeDate = Nothing-    , _fEtag = Nothing-    , _fFileExtension = Nothing-    , _fCanComment = Nothing-    , _fOwners = Nothing-    , _fOwnerNames = Nothing-    , _fOpenWithLinks = Nothing-    , _fWebViewLink = Nothing-    , _fOriginalFilename = Nothing-    , _fKind = "drive#file"-    , _fLastModifyingUser = Nothing-    , _fIconLink = Nothing-    , _fEmbedLink = Nothing-    , _fFileSize = Nothing-    , _fAppDataContents = Nothing-    , _fImageMediaMetadata = Nothing-    , _fExplicitlyTrashed = Nothing-    , _fEditable = Nothing-    , _fModifiedByMeDate = Nothing-    , _fLastViewedByMeDate = Nothing-    , _fShared = Nothing-    , _fMD5Checksum = Nothing-    , _fFolderColorRgb = Nothing-    , _fMimeType = Nothing-    , _fCreatedDate = Nothing-    , _fSelfLink = Nothing-    , _fLastModifyingUserName = Nothing-    , _fShareable = Nothing-    , _fDownloadURL = Nothing-    , _fExportLinks = Nothing-    , _fCopyable = Nothing-    , _fParents = Nothing-    , _fSharedWithMeDate = Nothing-    , _fSpaces = Nothing-    , _fVersion = Nothing-    , _fUserPermission = Nothing-    , _fWritersCanShare = Nothing-    , _fDefaultOpenWithLink = Nothing-    , _fId = Nothing-    , _fLabels = Nothing-    , _fModifiedDate = Nothing-    , _fPermissions = Nothing-    , _fQuotaBytesUsed = Nothing-    , _fTitle = Nothing-    , _fAlternateLink = Nothing-    , _fVideoMediaMetadata = Nothing-    , _fHeadRevisionId = Nothing-    , _fDescription = Nothing-    , _fSharingUser = Nothing-    , _fWebContentLink = Nothing-    , _fProperties = Nothing-    , _fIndexableText = Nothing-    }---- | Whether the file is owned by the current user.-fOwnedByMe :: Lens' File (Maybe Bool)-fOwnedByMe-  = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})---- | A short-lived link to the file\'s thumbnail. Typically lasts on the--- order of hours.-fThumbnailLink :: Lens' File (Maybe Text)-fThumbnailLink-  = lens _fThumbnailLink-      (\ s a -> s{_fThumbnailLink = a})---- | The full file extension; extracted from the title. May contain multiple--- concatenated extensions, such as \"tar.gz\". Removing an extension from--- the title does not clear this field; however, changing the extension on--- the title does update this field. This field is only populated for files--- with content stored in Drive; it is not populated for Google Docs or--- shortcut files.-fFullFileExtension :: Lens' File (Maybe Text)-fFullFileExtension-  = lens _fFullFileExtension-      (\ s a -> s{_fFullFileExtension = a})---- | Thumbnail for the file. Only accepted on upload and for files that are--- not already thumbnailed by Google.-fThumbnail :: Lens' File (Maybe FileThumbnail)-fThumbnail-  = lens _fThumbnail (\ s a -> s{_fThumbnail = a})---- | Deprecated.-fMarkedViewedByMeDate :: Lens' File (Maybe UTCTime)-fMarkedViewedByMeDate-  = lens _fMarkedViewedByMeDate-      (\ s a -> s{_fMarkedViewedByMeDate = a})-      . mapping _DateTime---- | ETag of the file.-fEtag :: Lens' File (Maybe Text)-fEtag = lens _fEtag (\ s a -> s{_fEtag = a})---- | The final component of fullFileExtension with trailing text that does--- not appear to be part of the extension removed. This field is only--- populated for files with content stored in Drive; it is not populated--- for Google Docs or shortcut files.-fFileExtension :: Lens' File (Maybe Text)-fFileExtension-  = lens _fFileExtension-      (\ s a -> s{_fFileExtension = a})---- | Whether the current user can comment on the file.-fCanComment :: Lens' File (Maybe Bool)-fCanComment-  = lens _fCanComment (\ s a -> s{_fCanComment = a})---- | The owner(s) of this file.-fOwners :: Lens' File [User]-fOwners-  = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default-      . _Coerce---- | Name(s) of the owner(s) of this file.-fOwnerNames :: Lens' File [Text]-fOwnerNames-  = lens _fOwnerNames (\ s a -> s{_fOwnerNames = a}) .-      _Default-      . _Coerce---- | A map of the id of each of the user\'s apps to a link to open this file--- with that app. Only populated when the drive.apps.readonly scope is--- used.-fOpenWithLinks :: Lens' File (Maybe FileOpenWithLinks)-fOpenWithLinks-  = lens _fOpenWithLinks-      (\ s a -> s{_fOpenWithLinks = a})---- | A link only available on public folders for viewing their static web--- assets (HTML, CSS, JS, etc) via Google Drive\'s Website Hosting.-fWebViewLink :: Lens' File (Maybe Text)-fWebViewLink-  = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})---- | The original filename if the file was uploaded manually, or the original--- title if the file was inserted through the API. Note that renames of the--- title will not change the original filename. This field is only--- populated for files with content stored in Drive; it is not populated--- for Google Docs or shortcut files.-fOriginalFilename :: Lens' File (Maybe Text)-fOriginalFilename-  = lens _fOriginalFilename-      (\ s a -> s{_fOriginalFilename = a})---- | The type of file. This is always drive#file.-fKind :: Lens' File Text-fKind = lens _fKind (\ s a -> s{_fKind = a})---- | The last user to modify this file.-fLastModifyingUser :: Lens' File (Maybe User)-fLastModifyingUser-  = lens _fLastModifyingUser-      (\ s a -> s{_fLastModifyingUser = a})---- | A link to the file\'s icon.-fIconLink :: Lens' File (Maybe Text)-fIconLink-  = lens _fIconLink (\ s a -> s{_fIconLink = a})---- | A link for embedding the file.-fEmbedLink :: Lens' File (Maybe Text)-fEmbedLink-  = lens _fEmbedLink (\ s a -> s{_fEmbedLink = a})---- | The size of the file in bytes. This field is only populated for files--- with content stored in Drive; it is not populated for Google Docs or--- shortcut files.-fFileSize :: Lens' File (Maybe Int64)-fFileSize-  = lens _fFileSize (\ s a -> s{_fFileSize = a}) .-      mapping _Coerce---- | Whether this file is in the Application Data folder.-fAppDataContents :: Lens' File (Maybe Bool)-fAppDataContents-  = lens _fAppDataContents-      (\ s a -> s{_fAppDataContents = a})---- | Metadata about image media. This will only be present for image types,--- and its contents will depend on what can be parsed from the image--- content.-fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)-fImageMediaMetadata-  = lens _fImageMediaMetadata-      (\ s a -> s{_fImageMediaMetadata = a})---- | Whether this file has been explicitly trashed, as opposed to recursively--- trashed.-fExplicitlyTrashed :: Lens' File (Maybe Bool)-fExplicitlyTrashed-  = lens _fExplicitlyTrashed-      (\ s a -> s{_fExplicitlyTrashed = a})---- | Whether the file can be edited by the current user.-fEditable :: Lens' File (Maybe Bool)-fEditable-  = lens _fEditable (\ s a -> s{_fEditable = a})---- | Last time this file was modified by the user (formatted RFC 3339--- timestamp). Note that setting modifiedDate will also update the--- modifiedByMe date for the user which set the date.-fModifiedByMeDate :: Lens' File (Maybe UTCTime)-fModifiedByMeDate-  = lens _fModifiedByMeDate-      (\ s a -> s{_fModifiedByMeDate = a})-      . mapping _DateTime---- | Last time this file was viewed by the user (formatted RFC 3339--- timestamp).-fLastViewedByMeDate :: Lens' File (Maybe UTCTime)-fLastViewedByMeDate-  = lens _fLastViewedByMeDate-      (\ s a -> s{_fLastViewedByMeDate = a})-      . mapping _DateTime---- | Whether the file has been shared.-fShared :: Lens' File (Maybe Bool)-fShared = lens _fShared (\ s a -> s{_fShared = a})---- | An MD5 checksum for the content of this file. This field is only--- populated for files with content stored in Drive; it is not populated--- for Google Docs or shortcut files.-fMD5Checksum :: Lens' File (Maybe Text)-fMD5Checksum-  = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})---- | Folder color as an RGB hex string if the file is a folder. The list of--- supported colors is available in the folderColorPalette field of the--- About resource. If an unsupported color is specified, it will be changed--- to the closest color in the palette.-fFolderColorRgb :: Lens' File (Maybe Text)-fFolderColorRgb-  = lens _fFolderColorRgb-      (\ s a -> s{_fFolderColorRgb = a})---- | The MIME type of the file. This is only mutable on update when uploading--- new content. This field can be left blank, and the mimetype will be--- determined from the uploaded content\'s MIME type.-fMimeType :: Lens' File (Maybe Text)-fMimeType-  = lens _fMimeType (\ s a -> s{_fMimeType = a})---- | Create time for this file (formatted RFC 3339 timestamp).-fCreatedDate :: Lens' File (Maybe UTCTime)-fCreatedDate-  = lens _fCreatedDate (\ s a -> s{_fCreatedDate = a})-      . mapping _DateTime---- | A link back to this file.-fSelfLink :: Lens' File (Maybe Text)-fSelfLink-  = lens _fSelfLink (\ s a -> s{_fSelfLink = a})---- | Name of the last user to modify this file.-fLastModifyingUserName :: Lens' File (Maybe Text)-fLastModifyingUserName-  = lens _fLastModifyingUserName-      (\ s a -> s{_fLastModifyingUserName = a})---- | Whether the file\'s sharing settings can be modified by the current--- user.-fShareable :: Lens' File (Maybe Bool)-fShareable-  = lens _fShareable (\ s a -> s{_fShareable = a})--fDownloadURL :: Lens' File (Maybe Text)-fDownloadURL-  = lens _fDownloadURL (\ s a -> s{_fDownloadURL = a})---- | Links for exporting Google Docs to specific formats.-fExportLinks :: Lens' File (Maybe FileExportLinks)-fExportLinks-  = lens _fExportLinks (\ s a -> s{_fExportLinks = a})---- | Whether the file can be copied by the current user.-fCopyable :: Lens' File (Maybe Bool)-fCopyable-  = lens _fCopyable (\ s a -> s{_fCopyable = a})---- | Collection of parent folders which contain this file. Setting this field--- will put the file in all of the provided folders. On insert, if no--- folders are provided, the file will be placed in the default root--- folder.-fParents :: Lens' File [ParentReference]-fParents-  = lens _fParents (\ s a -> s{_fParents = a}) .-      _Default-      . _Coerce---- | Time at which this file was shared with the user (formatted RFC 3339--- timestamp).-fSharedWithMeDate :: Lens' File (Maybe UTCTime)-fSharedWithMeDate-  = lens _fSharedWithMeDate-      (\ s a -> s{_fSharedWithMeDate = a})-      . mapping _DateTime---- | The list of spaces which contain the file. 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 requesting user.-fVersion :: Lens' File (Maybe Int64)-fVersion-  = lens _fVersion (\ s a -> s{_fVersion = a}) .-      mapping _Coerce---- | The permissions for the authenticated user on this file.-fUserPermission :: Lens' File (Maybe Permission)-fUserPermission-  = lens _fUserPermission-      (\ s a -> s{_fUserPermission = a})---- | Whether writers can share the document with other users.-fWritersCanShare :: Lens' File (Maybe Bool)-fWritersCanShare-  = lens _fWritersCanShare-      (\ s a -> s{_fWritersCanShare = a})---- | A link to open this file with the user\'s default app for this file.--- Only populated when the drive.apps.readonly scope is used.-fDefaultOpenWithLink :: Lens' File (Maybe Text)-fDefaultOpenWithLink-  = lens _fDefaultOpenWithLink-      (\ s a -> s{_fDefaultOpenWithLink = a})---- | The ID of the file.-fId :: Lens' File (Maybe Text)-fId = lens _fId (\ s a -> s{_fId = a})---- | A group of labels for the file.-fLabels :: Lens' File (Maybe FileLabels)-fLabels = lens _fLabels (\ s a -> s{_fLabels = a})---- | Last time this file was modified by anyone (formatted RFC 3339--- timestamp). This is only mutable on update when the setModifiedDate--- parameter is set.-fModifiedDate :: Lens' File (Maybe UTCTime)-fModifiedDate-  = lens _fModifiedDate-      (\ s a -> s{_fModifiedDate = a})-      . mapping _DateTime---- | The list of permissions for users with access to this file.-fPermissions :: Lens' File [Permission]-fPermissions-  = lens _fPermissions (\ s a -> s{_fPermissions = a})-      . _Default-      . _Coerce---- | The number of quota bytes used by this file.-fQuotaBytesUsed :: Lens' File (Maybe Int64)-fQuotaBytesUsed-  = lens _fQuotaBytesUsed-      (\ s a -> s{_fQuotaBytesUsed = a})-      . mapping _Coerce---- | The title of this file.-fTitle :: Lens' File (Maybe Text)-fTitle = lens _fTitle (\ s a -> s{_fTitle = a})---- | A link for opening the file in a relevant Google editor or viewer.-fAlternateLink :: Lens' File (Maybe Text)-fAlternateLink-  = lens _fAlternateLink-      (\ s a -> s{_fAlternateLink = a})---- | Metadata about video media. This will only be present for video types.-fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)-fVideoMediaMetadata-  = lens _fVideoMediaMetadata-      (\ s a -> s{_fVideoMediaMetadata = a})---- | The ID of the file\'s head revision. This field is only populated for--- files with content stored in Drive; it is not populated for Google Docs--- or shortcut files.-fHeadRevisionId :: Lens' File (Maybe Text)-fHeadRevisionId-  = lens _fHeadRevisionId-      (\ s a -> s{_fHeadRevisionId = a})---- | A short description of the file.-fDescription :: Lens' File (Maybe Text)-fDescription-  = lens _fDescription (\ s a -> s{_fDescription = a})---- | User that shared the item with the current user, if available.-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 using cookie--- based authentication. In cases where the content is shared publicly, the--- content can be downloaded without any credentials.-fWebContentLink :: Lens' File (Maybe Text)-fWebContentLink-  = lens _fWebContentLink-      (\ s a -> s{_fWebContentLink = a})---- | The list of properties.-fProperties :: Lens' File [Property]-fProperties-  = lens _fProperties (\ s a -> s{_fProperties = a}) .-      _Default-      . _Coerce---- | Indexable text attributes for the file (can only be written)-fIndexableText :: Lens' File (Maybe FileIndexableText)-fIndexableText-  = lens _fIndexableText-      (\ s a -> s{_fIndexableText = a})--instance FromJSON File where-        parseJSON-          = withObject "File"-              (\ o ->-                 File <$>-                   (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>-                     (o .:? "fullFileExtension")-                     <*> (o .:? "thumbnail")-                     <*> (o .:? "markedViewedByMeDate")-                     <*> (o .:? "etag")-                     <*> (o .:? "fileExtension")-                     <*> (o .:? "canComment")-                     <*> (o .:? "owners" .!= mempty)-                     <*> (o .:? "ownerNames" .!= mempty)-                     <*> (o .:? "openWithLinks")-                     <*> (o .:? "webViewLink")-                     <*> (o .:? "originalFilename")-                     <*> (o .:? "kind" .!= "drive#file")-                     <*> (o .:? "lastModifyingUser")-                     <*> (o .:? "iconLink")-                     <*> (o .:? "embedLink")-                     <*> (o .:? "fileSize")-                     <*> (o .:? "appDataContents")-                     <*> (o .:? "imageMediaMetadata")-                     <*> (o .:? "explicitlyTrashed")-                     <*> (o .:? "editable")-                     <*> (o .:? "modifiedByMeDate")-                     <*> (o .:? "lastViewedByMeDate")-                     <*> (o .:? "shared")-                     <*> (o .:? "md5Checksum")-                     <*> (o .:? "folderColorRgb")-                     <*> (o .:? "mimeType")-                     <*> (o .:? "createdDate")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "lastModifyingUserName")-                     <*> (o .:? "shareable")-                     <*> (o .:? "downloadUrl")-                     <*> (o .:? "exportLinks")-                     <*> (o .:? "copyable")-                     <*> (o .:? "parents" .!= mempty)-                     <*> (o .:? "sharedWithMeDate")-                     <*> (o .:? "spaces" .!= mempty)-                     <*> (o .:? "version")-                     <*> (o .:? "userPermission")-                     <*> (o .:? "writersCanShare")-                     <*> (o .:? "defaultOpenWithLink")-                     <*> (o .:? "id")-                     <*> (o .:? "labels")-                     <*> (o .:? "modifiedDate")-                     <*> (o .:? "permissions" .!= mempty)-                     <*> (o .:? "quotaBytesUsed")-                     <*> (o .:? "title")-                     <*> (o .:? "alternateLink")-                     <*> (o .:? "videoMediaMetadata")-                     <*> (o .:? "headRevisionId")-                     <*> (o .:? "description")-                     <*> (o .:? "sharingUser")-                     <*> (o .:? "webContentLink")-                     <*> (o .:? "properties" .!= mempty)-                     <*> (o .:? "indexableText"))--instance ToJSON File where-        toJSON File{..}-          = object-              (catMaybes-                 [("ownedByMe" .=) <$> _fOwnedByMe,-                  ("thumbnailLink" .=) <$> _fThumbnailLink,-                  ("fullFileExtension" .=) <$> _fFullFileExtension,-                  ("thumbnail" .=) <$> _fThumbnail,-                  ("markedViewedByMeDate" .=) <$>-                    _fMarkedViewedByMeDate,-                  ("etag" .=) <$> _fEtag,-                  ("fileExtension" .=) <$> _fFileExtension,-                  ("canComment" .=) <$> _fCanComment,-                  ("owners" .=) <$> _fOwners,-                  ("ownerNames" .=) <$> _fOwnerNames,-                  ("openWithLinks" .=) <$> _fOpenWithLinks,-                  ("webViewLink" .=) <$> _fWebViewLink,-                  ("originalFilename" .=) <$> _fOriginalFilename,-                  Just ("kind" .= _fKind),-                  ("lastModifyingUser" .=) <$> _fLastModifyingUser,-                  ("iconLink" .=) <$> _fIconLink,-                  ("embedLink" .=) <$> _fEmbedLink,-                  ("fileSize" .=) <$> _fFileSize,-                  ("appDataContents" .=) <$> _fAppDataContents,-                  ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,-                  ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,-                  ("editable" .=) <$> _fEditable,-                  ("modifiedByMeDate" .=) <$> _fModifiedByMeDate,-                  ("lastViewedByMeDate" .=) <$> _fLastViewedByMeDate,-                  ("shared" .=) <$> _fShared,-                  ("md5Checksum" .=) <$> _fMD5Checksum,-                  ("folderColorRgb" .=) <$> _fFolderColorRgb,-                  ("mimeType" .=) <$> _fMimeType,-                  ("createdDate" .=) <$> _fCreatedDate,-                  ("selfLink" .=) <$> _fSelfLink,-                  ("lastModifyingUserName" .=) <$>-                    _fLastModifyingUserName,-                  ("shareable" .=) <$> _fShareable,-                  ("downloadUrl" .=) <$> _fDownloadURL,-                  ("exportLinks" .=) <$> _fExportLinks,-                  ("copyable" .=) <$> _fCopyable,-                  ("parents" .=) <$> _fParents,-                  ("sharedWithMeDate" .=) <$> _fSharedWithMeDate,-                  ("spaces" .=) <$> _fSpaces,-                  ("version" .=) <$> _fVersion,-                  ("userPermission" .=) <$> _fUserPermission,-                  ("writersCanShare" .=) <$> _fWritersCanShare,-                  ("defaultOpenWithLink" .=) <$> _fDefaultOpenWithLink,-                  ("id" .=) <$> _fId, ("labels" .=) <$> _fLabels,-                  ("modifiedDate" .=) <$> _fModifiedDate,-                  ("permissions" .=) <$> _fPermissions,-                  ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,-                  ("title" .=) <$> _fTitle,-                  ("alternateLink" .=) <$> _fAlternateLink,-                  ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,-                  ("headRevisionId" .=) <$> _fHeadRevisionId,-                  ("description" .=) <$> _fDescription,-                  ("sharingUser" .=) <$> _fSharingUser,-                  ("webContentLink" .=) <$> _fWebContentLink,-                  ("properties" .=) <$> _fProperties,-                  ("indexableText" .=) <$> _fIndexableText])---- | An ID for a user or group as seen in Permission items.------ /See:/ 'permissionId' smart constructor.-data PermissionId = PermissionId-    { _piKind :: !Text-    , _piId   :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piKind'------ * 'piId'-permissionId-    :: PermissionId-permissionId =-    PermissionId-    { _piKind = "drive#permissionId"-    , _piId = Nothing-    }---- | This is always drive#permissionId.-piKind :: Lens' PermissionId Text-piKind = lens _piKind (\ s a -> s{_piKind = a})---- | The permission ID.-piId :: Lens' PermissionId (Maybe Text)-piId = lens _piId (\ s a -> s{_piId = a})--instance FromJSON PermissionId where-        parseJSON-          = withObject "PermissionId"-              (\ o ->-                 PermissionId <$>-                   (o .:? "kind" .!= "drive#permissionId") <*>-                     (o .:? "id"))--instance ToJSON PermissionId where-        toJSON PermissionId{..}-          = object-              (catMaybes-                 [Just ("kind" .= _piKind), ("id" .=) <$> _piId])---- | A list of a file\'s parents.------ /See:/ 'parentList' smart constructor.-data ParentList = ParentList-    { _parEtag     :: !(Maybe Text)-    , _parKind     :: !Text-    , _parItems    :: !(Maybe [ParentReference])-    , _parSelfLink :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'parEtag'------ * 'parKind'------ * 'parItems'------ * 'parSelfLink'-parentList-    :: ParentList-parentList =-    ParentList-    { _parEtag = Nothing-    , _parKind = "drive#parentList"-    , _parItems = Nothing-    , _parSelfLink = Nothing-    }---- | The ETag of the list.-parEtag :: Lens' ParentList (Maybe Text)-parEtag = lens _parEtag (\ s a -> s{_parEtag = a})---- | This is always drive#parentList.-parKind :: Lens' ParentList Text-parKind = lens _parKind (\ s a -> s{_parKind = a})---- | The actual list of parents.-parItems :: Lens' ParentList [ParentReference]-parItems-  = lens _parItems (\ s a -> s{_parItems = a}) .-      _Default-      . _Coerce---- | A link back to this list.-parSelfLink :: Lens' ParentList (Maybe Text)-parSelfLink-  = lens _parSelfLink (\ s a -> s{_parSelfLink = a})--instance FromJSON ParentList where-        parseJSON-          = withObject "ParentList"-              (\ o ->-                 ParentList <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "drive#parentList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON ParentList where-        toJSON ParentList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _parEtag, Just ("kind" .= _parKind),-                  ("items" .=) <$> _parItems,-                  ("selfLink" .=) <$> _parSelfLink])---- | A list of generated IDs which can be provided in insert 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})---- | This is always 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 JSON representation of a list of comments on a file in Google Drive.------ /See:/ 'commentList' smart constructor.-data CommentList = CommentList-    { _comoNextPageToken :: !(Maybe Text)-    , _comoNextLink      :: !(Maybe Text)-    , _comoKind          :: !Text-    , _comoItems         :: !(Maybe [Comment])-    , _comoSelfLink      :: !(Maybe Text)-    } 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:------ * 'comoNextPageToken'------ * 'comoNextLink'------ * 'comoKind'------ * 'comoItems'------ * 'comoSelfLink'-commentList-    :: CommentList-commentList =-    CommentList-    { _comoNextPageToken = Nothing-    , _comoNextLink = Nothing-    , _comoKind = "drive#commentList"-    , _comoItems = Nothing-    , _comoSelfLink = Nothing-    }---- | The token to use to request the next page of results.-comoNextPageToken :: Lens' CommentList (Maybe Text)-comoNextPageToken-  = lens _comoNextPageToken-      (\ s a -> s{_comoNextPageToken = a})---- | A link to the next page of comments.-comoNextLink :: Lens' CommentList (Maybe Text)-comoNextLink-  = lens _comoNextLink (\ s a -> s{_comoNextLink = a})---- | This is always drive#commentList.-comoKind :: Lens' CommentList Text-comoKind = lens _comoKind (\ s a -> s{_comoKind = a})---- | List of comments.-comoItems :: Lens' CommentList [Comment]-comoItems-  = lens _comoItems (\ s a -> s{_comoItems = a}) .-      _Default-      . _Coerce---- | A link back to this list.-comoSelfLink :: Lens' CommentList (Maybe Text)-comoSelfLink-  = lens _comoSelfLink (\ s a -> s{_comoSelfLink = a})--instance FromJSON CommentList where-        parseJSON-          = withObject "CommentList"-              (\ o ->-                 CommentList <$>-                   (o .:? "nextPageToken") <*> (o .:? "nextLink") <*>-                     (o .:? "kind" .!= "drive#commentList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON CommentList where-        toJSON CommentList{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _comoNextPageToken,-                  ("nextLink" .=) <$> _comoNextLink,-                  Just ("kind" .= _comoKind),-                  ("items" .=) <$> _comoItems,-                  ("selfLink" .=) <$> _comoSelfLink])---- | A list of revisions of a file.------ /See:/ 'revisionList' smart constructor.-data RevisionList = RevisionList-    { _rlEtag     :: !(Maybe Text)-    , _rlKind     :: !Text-    , _rlItems    :: !(Maybe [Revision])-    , _rlSelfLink :: !(Maybe Text)-    } 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:------ * 'rlEtag'------ * 'rlKind'------ * 'rlItems'------ * 'rlSelfLink'-revisionList-    :: RevisionList-revisionList =-    RevisionList-    { _rlEtag = Nothing-    , _rlKind = "drive#revisionList"-    , _rlItems = Nothing-    , _rlSelfLink = Nothing-    }---- | The ETag of the list.-rlEtag :: Lens' RevisionList (Maybe Text)-rlEtag = lens _rlEtag (\ s a -> s{_rlEtag = a})---- | This is always drive#revisionList.-rlKind :: Lens' RevisionList Text-rlKind = lens _rlKind (\ s a -> s{_rlKind = a})---- | The actual list of revisions.-rlItems :: Lens' RevisionList [Revision]-rlItems-  = lens _rlItems (\ s a -> s{_rlItems = a}) . _Default-      . _Coerce---- | A link back to this list.-rlSelfLink :: Lens' RevisionList (Maybe Text)-rlSelfLink-  = lens _rlSelfLink (\ s a -> s{_rlSelfLink = a})--instance FromJSON RevisionList where-        parseJSON-          = withObject "RevisionList"-              (\ o ->-                 RevisionList <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "drive#revisionList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON RevisionList where-        toJSON RevisionList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _rlEtag, Just ("kind" .= _rlKind),-                  ("items" .=) <$> _rlItems,-                  ("selfLink" .=) <$> _rlSelfLink])---- | A list of permissions associated with a file.------ /See:/ 'permissionList' smart constructor.-data PermissionList = PermissionList-    { _pllEtag     :: !(Maybe Text)-    , _pllKind     :: !Text-    , _pllItems    :: !(Maybe [Permission])-    , _pllSelfLink :: !(Maybe Text)-    } 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:------ * 'pllEtag'------ * 'pllKind'------ * 'pllItems'------ * 'pllSelfLink'-permissionList-    :: PermissionList-permissionList =-    PermissionList-    { _pllEtag = Nothing-    , _pllKind = "drive#permissionList"-    , _pllItems = Nothing-    , _pllSelfLink = Nothing-    }---- | The ETag of the list.-pllEtag :: Lens' PermissionList (Maybe Text)-pllEtag = lens _pllEtag (\ s a -> s{_pllEtag = a})---- | This is always drive#permissionList.-pllKind :: Lens' PermissionList Text-pllKind = lens _pllKind (\ s a -> s{_pllKind = a})---- | The actual list of permissions.-pllItems :: Lens' PermissionList [Permission]-pllItems-  = lens _pllItems (\ s a -> s{_pllItems = a}) .-      _Default-      . _Coerce---- | A link back to this list.-pllSelfLink :: Lens' PermissionList (Maybe Text)-pllSelfLink-  = lens _pllSelfLink (\ s a -> s{_pllSelfLink = a})--instance FromJSON PermissionList where-        parseJSON-          = withObject "PermissionList"-              (\ o ->-                 PermissionList <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "drive#permissionList")-                     <*> (o .:? "items" .!= mempty)-                     <*> (o .:? "selfLink"))--instance ToJSON PermissionList where-        toJSON PermissionList{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _pllEtag, Just ("kind" .= _pllKind),-                  ("items" .=) <$> _pllItems,-                  ("selfLink" .=) <$> _pllSelfLink])+-- 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)+--+module Network.Google.Drive.Types.Product where++import           Network.Google.Drive.Types.Sum+import           Network.Google.Prelude++-- | A list of files.+--+-- /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.+flNextPageToken :: Lens' FileList (Maybe Text)+flNextPageToken+  = lens _flNextPageToken+      (\ s a -> s{_flNextPageToken = a})++-- | This is always drive#fileList.+flKind :: Lens' FileList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | The page of files.+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++-- | This is always 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.+rlNextPageToken :: Lens' ReplyList (Maybe Text)+rlNextPageToken+  = lens _rlNextPageToken+      (\ s a -> s{_rlNextPageToken = a})++-- | This is always drive#replyList.+rlKind :: Lens' ReplyList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | The page of replies.+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 Base64)+    , _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 _Base64++-- | 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++-- | This is always 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})++-- | This is always 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 current changes list has been reached.+clNextPageToken :: Lens' ChangeList (Maybe Text)+clNextPageToken+  = lens _clNextPageToken+      (\ s a -> s{_clNextPageToken = a})++-- | The page of changes.+clChanges :: Lens' ChangeList [Change]+clChanges+  = lens _clChanges (\ s a -> s{_clChanges = a}) .+      _Default+      . _Coerce++-- | This is always 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})++-- | This is always 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+    }++-- | This is always 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++-- | This is always 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})++-- | This is always 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)+    } 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'+permission+    :: Permission+permission =+    Permission'+    { _pPhotoLink = Nothing+    , _pKind = "drive#permission"+    , _pDomain = Nothing+    , _pRole = Nothing+    , _pEmailAddress = Nothing+    , _pAllowFileDiscovery = Nothing+    , _pDisplayName = Nothing+    , _pId = Nothing+    , _pType = Nothing+    }++-- | A link to the user\'s profile photo, if available.+pPhotoLink :: Lens' Permission (Maybe Text)+pPhotoLink+  = lens _pPhotoLink (\ s a -> s{_pPhotoLink = a})++-- | This is always 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})++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"))++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])++-- | 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')+    , _fSize                  :: !(Maybe (Textual Int64))+    , _fTrashed               :: !(Maybe Bool)+    , _fWebViewLink           :: !(Maybe Text)+    , _fCreatedTime           :: !(Maybe DateTime')+    , _fOriginalFilename      :: !(Maybe Text)+    , _fKind                  :: !Text+    , _fLastModifyingUser     :: !(Maybe User)+    , _fIconLink              :: !(Maybe Text)+    , _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'+--+-- * 'fSize'+--+-- * 'fTrashed'+--+-- * 'fWebViewLink'+--+-- * 'fCreatedTime'+--+-- * 'fOriginalFilename'+--+-- * 'fKind'+--+-- * 'fLastModifyingUser'+--+-- * 'fIconLink'+--+-- * '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+    , _fSize = Nothing+    , _fTrashed = Nothing+    , _fWebViewLink = Nothing+    , _fCreatedTime = Nothing+    , _fOriginalFilename = Nothing+    , _fKind = "drive#file"+    , _fLastModifyingUser = Nothing+    , _fIconLink = 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.+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++-- | 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})++-- | This is always 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})++-- | 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 .:? "size")+                     <*> (o .:? "trashed")+                     <*> (o .:? "webViewLink")+                     <*> (o .:? "createdTime")+                     <*> (o .:? "originalFilename")+                     <*> (o .:? "kind" .!= "drive#file")+                     <*> (o .:? "lastModifyingUser")+                     <*> (o .:? "iconLink")+                     <*> (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,+                  ("size" .=) <$> _fSize, ("trashed" .=) <$> _fTrashed,+                  ("webViewLink" .=) <$> _fWebViewLink,+                  ("createdTime" .=) <$> _fCreatedTime,+                  ("originalFilename" .=) <$> _fOriginalFilename,+                  Just ("kind" .= _fKind),+                  ("lastModifyingUser" .=) <$> _fLastModifyingUser,+                  ("iconLink" .=) <$> _fIconLink,+                  ("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})++-- | This is always 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.+cllNextPageToken :: Lens' CommentList (Maybe Text)+cllNextPageToken+  = lens _cllNextPageToken+      (\ s a -> s{_cllNextPageToken = a})++-- | This is always drive#commentList.+cllKind :: Lens' CommentList Text+cllKind = lens _cllKind (\ s a -> s{_cllKind = a})++-- | The page of comments.+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'+    { _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:+--+-- * 'rllKind'+--+-- * 'rllRevisions'+revisionList+    :: RevisionList+revisionList =+    RevisionList'+    { _rllKind = "drive#revisionList"+    , _rllRevisions = Nothing+    }++-- | This is always drive#revisionList.+rllKind :: Lens' RevisionList Text+rllKind = lens _rllKind (\ s a -> s{_rllKind = a})++-- | The full list of revisions.+rllRevisions :: Lens' RevisionList [Revision]+rllRevisions+  = lens _rllRevisions (\ s a -> s{_rllRevisions = a})+      . _Default+      . _Coerce++instance FromJSON RevisionList where+        parseJSON+          = withObject "RevisionList"+              (\ o ->+                 RevisionList' <$>+                   (o .:? "kind" .!= "drive#revisionList") <*>+                     (o .:? "revisions" .!= mempty))++instance ToJSON RevisionList where+        toJSON RevisionList'{..}+          = object+              (catMaybes+                 [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+    }++-- | This is always drive#permissionList.+plKind :: Lens' PermissionList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | The full 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),+                  ("permissions" .=) <$> _plPermissions])
gen/Network/Google/Drive/Types/Sum.hs view
@@ -8,7 +8,7 @@  -- | -- Module      : Network.Google.Drive.Types.Sum--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -18,288 +18,31 @@  import           Network.Google.Prelude --- | The visibility of the new file. This parameter is only relevant when--- convert=false.-data FilesInsertVisibility-    = Default-      -- ^ @DEFAULT@-      -- The visibility of the new file is determined by the user\'s default-      -- visibility\/sharing policies.-    | Private-      -- ^ @PRIVATE@-      -- The new file will be visible to only the owner.-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesInsertVisibility--instance FromText FilesInsertVisibility where-    fromText = \case-        "DEFAULT" -> Just Default-        "PRIVATE" -> Just Private-        _ -> Nothing--instance ToText FilesInsertVisibility where-    toText = \case-        Default -> "DEFAULT"-        Private -> "PRIVATE"--instance FromJSON FilesInsertVisibility where-    parseJSON = parseJSONText "FilesInsertVisibility"--instance ToJSON FilesInsertVisibility where-    toJSON = toJSONText---- | The body of items (files\/documents) to which the query applies.+-- | The source of files to list. data FilesListCorpus-    = FLCDefault-      -- ^ @DEFAULT@-      -- The items that the user has accessed.-    | FLCDomain-      -- ^ @DOMAIN@-      -- Items shared to the user\'s domain.-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)+    = FLCDomain+      -- ^ @domain@+      -- Files shared to the user\'s domain.+    | FLCUser+      -- ^ @user@+      -- Files owned by or shared to the user.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)  instance Hashable FilesListCorpus -instance FromText FilesListCorpus where-    fromText = \case-        "DEFAULT" -> Just FLCDefault-        "DOMAIN" -> Just FLCDomain-        _ -> Nothing+instance FromHttpApiData FilesListCorpus where+    parseQueryParam = \case+        "domain" -> Right FLCDomain+        "user" -> Right FLCUser+        x -> Left ("Unable to parse FilesListCorpus from: " <> x) -instance ToText FilesListCorpus where-    toText = \case-        FLCDefault -> "DEFAULT"-        FLCDomain -> "DOMAIN"+instance ToHttpApiData FilesListCorpus where+    toQueryParam = \case+        FLCDomain -> "domain"+        FLCUser -> "user"  instance FromJSON FilesListCorpus where     parseJSON = parseJSONText "FilesListCorpus"  instance ToJSON FilesListCorpus where-    toJSON = toJSONText---- | This parameter is deprecated and has no function.-data FilesListProjection-    = Basic-      -- ^ @BASIC@-      -- Deprecated-    | Full-      -- ^ @FULL@-      -- Deprecated-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesListProjection--instance FromText FilesListProjection where-    fromText = \case-        "BASIC" -> Just Basic-        "FULL" -> Just Full-        _ -> Nothing--instance ToText FilesListProjection where-    toText = \case-        Basic -> "BASIC"-        Full -> "FULL"--instance FromJSON FilesListProjection where-    parseJSON = parseJSONText "FilesListProjection"--instance ToJSON FilesListProjection where-    toJSON = toJSONText---- | Determines the behavior in which modifiedDate is updated. This overrides--- setModifiedDate.-data FilesUpdateModifiedDateBehavior-    = FromBody-      -- ^ @fromBody@-      -- Set modifiedDate to the value provided in the body of the request. No-      -- change if no value was provided.-    | FromBodyIfNeeded-      -- ^ @fromBodyIfNeeded@-      -- Set modifiedDate to the value provided in the body of the request-      -- depending on other contents of the update.-    | FromBodyOrNow-      -- ^ @fromBodyOrNow@-      -- Set modifiedDate to the value provided in the body of the request, or to-      -- the current time if no value was provided.-    | NoChange-      -- ^ @noChange@-      -- Maintain the previous value of modifiedDate.-    | Now-      -- ^ @now@-      -- Set modifiedDate to the current time.-    | NowIfNeeded-      -- ^ @nowIfNeeded@-      -- Set modifiedDate to the current time depending on contents of the-      -- update.-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesUpdateModifiedDateBehavior--instance FromText FilesUpdateModifiedDateBehavior where-    fromText = \case-        "fromBody" -> Just FromBody-        "fromBodyIfNeeded" -> Just FromBodyIfNeeded-        "fromBodyOrNow" -> Just FromBodyOrNow-        "noChange" -> Just NoChange-        "now" -> Just Now-        "nowIfNeeded" -> Just NowIfNeeded-        _ -> Nothing--instance ToText FilesUpdateModifiedDateBehavior where-    toText = \case-        FromBody -> "fromBody"-        FromBodyIfNeeded -> "fromBodyIfNeeded"-        FromBodyOrNow -> "fromBodyOrNow"-        NoChange -> "noChange"-        Now -> "now"-        NowIfNeeded -> "nowIfNeeded"--instance FromJSON FilesUpdateModifiedDateBehavior where-    parseJSON = parseJSONText "FilesUpdateModifiedDateBehavior"--instance ToJSON FilesUpdateModifiedDateBehavior where-    toJSON = toJSONText---- | This parameter is deprecated and has no function.-data FilesWatchProjection-    = FWPBasic-      -- ^ @BASIC@-      -- Deprecated-    | FWPFull-      -- ^ @FULL@-      -- Deprecated-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesWatchProjection--instance FromText FilesWatchProjection where-    fromText = \case-        "BASIC" -> Just FWPBasic-        "FULL" -> Just FWPFull-        _ -> Nothing--instance ToText FilesWatchProjection where-    toText = \case-        FWPBasic -> "BASIC"-        FWPFull -> "FULL"--instance FromJSON FilesWatchProjection where-    parseJSON = parseJSONText "FilesWatchProjection"--instance ToJSON FilesWatchProjection where-    toJSON = toJSONText---- | Determines the behavior in which modifiedDate is updated. This overrides--- setModifiedDate.-data FilesPatchModifiedDateBehavior-    = FPMDBFromBody-      -- ^ @fromBody@-      -- Set modifiedDate to the value provided in the body of the request. No-      -- change if no value was provided.-    | FPMDBFromBodyIfNeeded-      -- ^ @fromBodyIfNeeded@-      -- Set modifiedDate to the value provided in the body of the request-      -- depending on other contents of the update.-    | FPMDBFromBodyOrNow-      -- ^ @fromBodyOrNow@-      -- Set modifiedDate to the value provided in the body of the request, or to-      -- the current time if no value was provided.-    | FPMDBNoChange-      -- ^ @noChange@-      -- Maintain the previous value of modifiedDate.-    | FPMDBNow-      -- ^ @now@-      -- Set modifiedDate to the current time.-    | FPMDBNowIfNeeded-      -- ^ @nowIfNeeded@-      -- Set modifiedDate to the current time depending on contents of the-      -- update.-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesPatchModifiedDateBehavior--instance FromText FilesPatchModifiedDateBehavior where-    fromText = \case-        "fromBody" -> Just FPMDBFromBody-        "fromBodyIfNeeded" -> Just FPMDBFromBodyIfNeeded-        "fromBodyOrNow" -> Just FPMDBFromBodyOrNow-        "noChange" -> Just FPMDBNoChange-        "now" -> Just FPMDBNow-        "nowIfNeeded" -> Just FPMDBNowIfNeeded-        _ -> Nothing--instance ToText FilesPatchModifiedDateBehavior where-    toText = \case-        FPMDBFromBody -> "fromBody"-        FPMDBFromBodyIfNeeded -> "fromBodyIfNeeded"-        FPMDBFromBodyOrNow -> "fromBodyOrNow"-        FPMDBNoChange -> "noChange"-        FPMDBNow -> "now"-        FPMDBNowIfNeeded -> "nowIfNeeded"--instance FromJSON FilesPatchModifiedDateBehavior where-    parseJSON = parseJSONText "FilesPatchModifiedDateBehavior"--instance ToJSON FilesPatchModifiedDateBehavior where-    toJSON = toJSONText---- | The visibility of the new file. This parameter is only relevant when the--- source is not a native Google Doc and convert=false.-data FilesCopyVisibility-    = FCVDefault-      -- ^ @DEFAULT@-      -- The visibility of the new file is determined by the user\'s default-      -- visibility\/sharing policies.-    | FCVPrivate-      -- ^ @PRIVATE@-      -- The new file will be visible to only the owner.-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesCopyVisibility--instance FromText FilesCopyVisibility where-    fromText = \case-        "DEFAULT" -> Just FCVDefault-        "PRIVATE" -> Just FCVPrivate-        _ -> Nothing--instance ToText FilesCopyVisibility where-    toText = \case-        FCVDefault -> "DEFAULT"-        FCVPrivate -> "PRIVATE"--instance FromJSON FilesCopyVisibility where-    parseJSON = parseJSONText "FilesCopyVisibility"--instance ToJSON FilesCopyVisibility where-    toJSON = toJSONText---- | This parameter is deprecated and has no function.-data FilesGetProjection-    = FGPBasic-      -- ^ @BASIC@-      -- Deprecated-    | FGPFull-      -- ^ @FULL@-      -- Deprecated-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable FilesGetProjection--instance FromText FilesGetProjection where-    fromText = \case-        "BASIC" -> Just FGPBasic-        "FULL" -> Just FGPFull-        _ -> Nothing--instance ToText FilesGetProjection where-    toText = \case-        FGPBasic -> "BASIC"-        FGPFull -> "FULL"--instance FromJSON FilesGetProjection where-    parseJSON = parseJSONText "FilesGetProjection"--instance ToJSON FilesGetProjection where     toJSON = toJSONText
gen/Network/Google/Resource/Drive/About/Get.hs view
@@ -14,14 +14,14 @@  -- | -- Module      : Network.Google.Resource.Drive.About.Get--- Copyright   : (c) 2015 Brendan Hay+-- 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 the information about the current user along with Drive API--- settings+-- Gets information about the user, the user\'s Drive, and system+-- capabilities. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.about.get@. module Network.Google.Resource.Drive.About.Get@@ -33,10 +33,6 @@     , aboutGet     , AboutGet -    -- * Request Lenses-    , agIncludeSubscribed-    , agStartChangeId-    , agMaxChangeIdCount     ) where  import           Network.Google.Drive.Types@@ -46,72 +42,36 @@ -- 'AboutGet' request conforms to. type AboutGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "about" :>-           QueryParam "includeSubscribed" Bool :>-             QueryParam "startChangeId" (Textual Int64) :>-               QueryParam "maxChangeIdCount" (Textual Int64) :>-                 QueryParam "alt" AltJSON :> Get '[JSON] About+           QueryParam "alt" AltJSON :> Get '[JSON] About --- | Gets the information about the current user along with Drive API--- settings+-- | Gets information about the user, the user\'s Drive, and system+-- capabilities. -- -- /See:/ 'aboutGet' smart constructor.-data AboutGet = AboutGet-    { _agIncludeSubscribed :: !Bool-    , _agStartChangeId     :: !(Maybe (Textual Int64))-    , _agMaxChangeIdCount  :: !(Textual Int64)-    } deriving (Eq,Show,Data,Typeable,Generic)+data AboutGet =+    AboutGet'+    deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'AboutGet' with the minimum fields required to make a request. ----- Use one of the following lenses to modify other fields as desired:------ * 'agIncludeSubscribed'------ * 'agStartChangeId'------ * 'agMaxChangeIdCount' aboutGet     :: AboutGet-aboutGet =-    AboutGet-    { _agIncludeSubscribed = True-    , _agStartChangeId = Nothing-    , _agMaxChangeIdCount = 1-    }---- | When calculating the number of remaining change IDs, whether to include--- public files the user has opened and shared files. When set to false,--- this counts only change IDs for owned files and any shared or public--- files that the user has explicitly added to a folder they own.-agIncludeSubscribed :: Lens' AboutGet Bool-agIncludeSubscribed-  = lens _agIncludeSubscribed-      (\ s a -> s{_agIncludeSubscribed = a})---- | Change ID to start counting from when calculating number of remaining--- change IDs-agStartChangeId :: Lens' AboutGet (Maybe Int64)-agStartChangeId-  = lens _agStartChangeId-      (\ s a -> s{_agStartChangeId = a})-      . mapping _Coerce---- | Maximum number of remaining change IDs to count-agMaxChangeIdCount :: Lens' AboutGet Int64-agMaxChangeIdCount-  = lens _agMaxChangeIdCount-      (\ s a -> s{_agMaxChangeIdCount = a})-      . _Coerce+aboutGet = AboutGet'  instance GoogleRequest AboutGet where         type Rs AboutGet = About-        requestClient AboutGet{..}-          = go (Just _agIncludeSubscribed) _agStartChangeId-              (Just _agMaxChangeIdCount)-              (Just AltJSON)-              driveService+        type Scopes AboutGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient AboutGet'{}+          = go (Just AltJSON) driveService           where go                   = buildClient (Proxy :: Proxy AboutGetResource)                       mempty
− gen/Network/Google/Resource/Drive/Apps/Get.hs
@@ -1,80 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Apps.Get--- Copyright   : (c) 2015 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 specific app.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.apps.get@.-module Network.Google.Resource.Drive.Apps.Get-    (-    -- * REST Resource-      AppsGetResource--    -- * Creating a Request-    , appsGet-    , AppsGet--    -- * Request Lenses-    , agAppId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.apps.get@ method which the--- 'AppsGet' request conforms to.-type AppsGetResource =-     "drive" :>-       "v2" :>-         "apps" :>-           Capture "appId" Text :>-             QueryParam "alt" AltJSON :> Get '[JSON] App---- | Gets a specific app.------ /See:/ 'appsGet' smart constructor.-newtype AppsGet = AppsGet-    { _agAppId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'agAppId'-appsGet-    :: Text -- ^ 'agAppId'-    -> AppsGet-appsGet pAgAppId_ =-    AppsGet-    { _agAppId = pAgAppId_-    }---- | The ID of the app.-agAppId :: Lens' AppsGet Text-agAppId = lens _agAppId (\ s a -> s{_agAppId = a})--instance GoogleRequest AppsGet where-        type Rs AppsGet = App-        requestClient AppsGet{..}-          = go _agAppId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy AppsGetResource) mempty
− gen/Network/Google/Resource/Drive/Apps/List.hs
@@ -1,117 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Apps.List--- Copyright   : (c) 2015 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 a user\'s installed apps.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.apps.list@.-module Network.Google.Resource.Drive.Apps.List-    (-    -- * REST Resource-      AppsListResource--    -- * Creating a Request-    , appsList-    , AppsList--    -- * Request Lenses-    , alLanguageCode-    , alAppFilterExtensions-    , alAppFilterMimeTypes-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.apps.list@ method which the--- 'AppsList' request conforms to.-type AppsListResource =-     "drive" :>-       "v2" :>-         "apps" :>-           QueryParam "languageCode" Text :>-             QueryParam "appFilterExtensions" Text :>-               QueryParam "appFilterMimeTypes" Text :>-                 QueryParam "alt" AltJSON :> Get '[JSON] AppList---- | Lists a user\'s installed apps.------ /See:/ 'appsList' smart constructor.-data AppsList = AppsList-    { _alLanguageCode        :: !(Maybe Text)-    , _alAppFilterExtensions :: !Text-    , _alAppFilterMimeTypes  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alLanguageCode'------ * 'alAppFilterExtensions'------ * 'alAppFilterMimeTypes'-appsList-    :: AppsList-appsList =-    AppsList-    { _alLanguageCode = Nothing-    , _alAppFilterExtensions = ""-    , _alAppFilterMimeTypes = ""-    }---- | A language or locale code, as defined by BCP 47, with some extensions--- from Unicode\'s LDML format (http:\/\/www.unicode.org\/reports\/tr35\/).-alLanguageCode :: Lens' AppsList (Maybe Text)-alLanguageCode-  = lens _alLanguageCode-      (\ s a -> s{_alLanguageCode = a})---- | A comma-separated list of file extensions for open with filtering. All--- apps within the given app query scope which can open any of the given--- file extensions will be included in the response. If appFilterMimeTypes--- are provided as well, the result is a union of the two resulting app--- lists.-alAppFilterExtensions :: Lens' AppsList Text-alAppFilterExtensions-  = lens _alAppFilterExtensions-      (\ s a -> s{_alAppFilterExtensions = a})---- | A comma-separated list of MIME types for open with filtering. All apps--- within the given app query scope which can open any of the given MIME--- types will be included in the response. If appFilterExtensions are--- provided as well, the result is a union of the two resulting app lists.-alAppFilterMimeTypes :: Lens' AppsList Text-alAppFilterMimeTypes-  = lens _alAppFilterMimeTypes-      (\ s a -> s{_alAppFilterMimeTypes = a})--instance GoogleRequest AppsList where-        type Rs AppsList = AppList-        requestClient AppsList{..}-          = go _alLanguageCode (Just _alAppFilterExtensions)-              (Just _alAppFilterMimeTypes)-              (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy AppsListResource)-                      mempty
− gen/Network/Google/Resource/Drive/Changes/Get.hs
@@ -1,82 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Changes.Get--- Copyright   : (c) 2015 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 specific change.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.get@.-module Network.Google.Resource.Drive.Changes.Get-    (-    -- * REST Resource-      ChangesGetResource--    -- * Creating a Request-    , changesGet-    , ChangesGet--    -- * Request Lenses-    , cgChangeId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.changes.get@ method which the--- 'ChangesGet' request conforms to.-type ChangesGetResource =-     "drive" :>-       "v2" :>-         "changes" :>-           Capture "changeId" Text :>-             QueryParam "alt" AltJSON :> Get '[JSON] Change---- | Gets a specific change.------ /See:/ 'changesGet' smart constructor.-newtype ChangesGet = ChangesGet-    { _cgChangeId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChangesGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgChangeId'-changesGet-    :: Text -- ^ 'cgChangeId'-    -> ChangesGet-changesGet pCgChangeId_ =-    ChangesGet-    { _cgChangeId = pCgChangeId_-    }---- | The ID of the change.-cgChangeId :: Lens' ChangesGet Text-cgChangeId-  = lens _cgChangeId (\ s a -> s{_cgChangeId = a})--instance GoogleRequest ChangesGet where-        type Rs ChangesGet = Change-        requestClient ChangesGet{..}-          = go _cgChangeId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy ChangesGetResource)-                      mempty
+ gen/Network/Google/Resource/Drive/Changes/GetStartPageToken.hs view
@@ -0,0 +1,78 @@+{-# 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.Changes.GetStartPageToken+-- 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 the starting pageToken for listing future changes.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.getStartPageToken@.+module Network.Google.Resource.Drive.Changes.GetStartPageToken+    (+    -- * REST Resource+      ChangesGetStartPageTokenResource++    -- * Creating a Request+    , changesGetStartPageToken+    , ChangesGetStartPageToken++    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.changes.getStartPageToken@ method which the+-- 'ChangesGetStartPageToken' request conforms to.+type ChangesGetStartPageTokenResource =+     "drive" :>+       "v3" :>+         "changes" :>+           "startPageToken" :>+             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)++-- | Creates a value of 'ChangesGetStartPageToken' with the minimum fields required to make a request.+--+changesGetStartPageToken+    :: ChangesGetStartPageToken+changesGetStartPageToken = ChangesGetStartPageToken'++instance GoogleRequest ChangesGetStartPageToken where+        type Rs ChangesGetStartPageToken = StartPageToken+        type Scopes ChangesGetStartPageToken =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "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+          where go+                  = buildClient+                      (Proxy :: Proxy ChangesGetStartPageTokenResource)+                      mempty
gen/Network/Google/Resource/Drive/Changes/List.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Changes.List--- Copyright   : (c) 2015 Brendan Hay+-- 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 changes for a user.+-- Lists changes for a user. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.list@. module Network.Google.Resource.Drive.Changes.List@@ -33,12 +33,11 @@     , ChangesList      -- * Request Lenses-    , clIncludeSubscribed-    , clStartChangeId+    , clRestrictToMyDrive     , clSpaces     , clPageToken-    , clMaxResults-    , clIncludeDeleted+    , clPageSize+    , clIncludeRemoved     ) where  import           Network.Google.Drive.Types@@ -48,100 +47,99 @@ -- 'ChangesList' request conforms to. type ChangesListResource =      "drive" :>-       "v2" :>+       "v3" :>          "changes" :>-           QueryParam "includeSubscribed" Bool :>-             QueryParam "startChangeId" (Textual Int64) :>+           QueryParam "pageToken" Text :>+             QueryParam "restrictToMyDrive" Bool :>                QueryParam "spaces" Text :>-                 QueryParam "pageToken" Text :>-                   QueryParam "maxResults" (Textual Int32) :>-                     QueryParam "includeDeleted" Bool :>-                       QueryParam "alt" AltJSON :> Get '[JSON] ChangeList+                 QueryParam "pageSize" (Textual Int32) :>+                   QueryParam "includeRemoved" Bool :>+                     QueryParam "alt" AltJSON :> Get '[JSON] ChangeList --- | Lists the changes for a user.+-- | Lists changes for a user. -- -- /See:/ 'changesList' smart constructor.-data ChangesList = ChangesList-    { _clIncludeSubscribed :: !Bool-    , _clStartChangeId     :: !(Maybe (Textual Int64))-    , _clSpaces            :: !(Maybe Text)-    , _clPageToken         :: !(Maybe Text)-    , _clMaxResults        :: !(Textual Int32)-    , _clIncludeDeleted    :: !Bool+data ChangesList = ChangesList'+    { _clRestrictToMyDrive :: !Bool+    , _clSpaces            :: !Text+    , _clPageToken         :: !Text+    , _clPageSize          :: !(Textual Int32)+    , _clIncludeRemoved    :: !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: ----- * 'clIncludeSubscribed'------ * 'clStartChangeId'+-- * 'clRestrictToMyDrive' -- -- * 'clSpaces' -- -- * 'clPageToken' ----- * 'clMaxResults'+-- * 'clPageSize' ----- * 'clIncludeDeleted'+-- * 'clIncludeRemoved' changesList-    :: ChangesList-changesList =-    ChangesList-    { _clIncludeSubscribed = True-    , _clStartChangeId = Nothing-    , _clSpaces = Nothing-    , _clPageToken = Nothing-    , _clMaxResults = 100-    , _clIncludeDeleted = True+    :: Text -- ^ 'clPageToken'+    -> ChangesList+changesList pClPageToken_ =+    ChangesList'+    { _clRestrictToMyDrive = False+    , _clSpaces = "drive"+    , _clPageToken = pClPageToken_+    , _clPageSize = 100+    , _clIncludeRemoved = True     } --- | Whether to include public files the user has opened and shared files.--- When set to false, the list only includes owned files plus any shared or--- public files the user has explicitly added to a folder they own.-clIncludeSubscribed :: Lens' ChangesList Bool-clIncludeSubscribed-  = lens _clIncludeSubscribed-      (\ s a -> s{_clIncludeSubscribed = a})---- | Change ID to start listing changes from.-clStartChangeId :: Lens' ChangesList (Maybe Int64)-clStartChangeId-  = lens _clStartChangeId-      (\ s a -> s{_clStartChangeId = a})-      . mapping _Coerce+-- | 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.+clRestrictToMyDrive :: Lens' ChangesList Bool+clRestrictToMyDrive+  = lens _clRestrictToMyDrive+      (\ s a -> s{_clRestrictToMyDrive = a}) --- | A comma-separated list of spaces to query. Supported values are--- \'drive\', \'appDataFolder\' and \'photos\'.-clSpaces :: Lens' ChangesList (Maybe Text)+-- | A comma-separated list of spaces to query within the user corpus.+-- Supported values are \'drive\', \'appDataFolder\' and \'photos\'.+clSpaces :: Lens' ChangesList Text clSpaces = lens _clSpaces (\ s a -> s{_clSpaces = a}) --- | Page token for changes.-clPageToken :: Lens' ChangesList (Maybe Text)+-- | The token for continuing a previous list request on the next page. This+-- should be set to the value of \'nextPageToken\' from the previous+-- response or to the response from the getStartPageToken method.+clPageToken :: Lens' ChangesList Text clPageToken   = lens _clPageToken (\ s a -> s{_clPageToken = a}) --- | Maximum number of changes to return.-clMaxResults :: Lens' ChangesList Int32-clMaxResults-  = lens _clMaxResults (\ s a -> s{_clMaxResults = a})-      . _Coerce+-- | The maximum number of changes to return per page.+clPageSize :: Lens' ChangesList Int32+clPageSize+  = lens _clPageSize (\ s a -> s{_clPageSize = a}) .+      _Coerce --- | Whether to include deleted items.-clIncludeDeleted :: Lens' ChangesList Bool-clIncludeDeleted-  = lens _clIncludeDeleted-      (\ s a -> s{_clIncludeDeleted = a})+-- | Whether to include changes indicating that items have left the view of+-- the changes list, for example by deletion or lost access.+clIncludeRemoved :: Lens' ChangesList Bool+clIncludeRemoved+  = lens _clIncludeRemoved+      (\ s a -> s{_clIncludeRemoved = a})  instance GoogleRequest ChangesList where         type Rs ChangesList = ChangeList-        requestClient ChangesList{..}-          = go (Just _clIncludeSubscribed) _clStartChangeId-              _clSpaces-              _clPageToken-              (Just _clMaxResults)-              (Just _clIncludeDeleted)+        type Scopes ChangesList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient ChangesList'{..}+          = go (Just _clPageToken) (Just _clRestrictToMyDrive)+              (Just _clSpaces)+              (Just _clPageSize)+              (Just _clIncludeRemoved)               (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Changes/Watch.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Changes.Watch--- Copyright   : (c) 2015 Brendan Hay+-- 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) ----- Subscribe to changes for a user.+-- Subscribes to changes for a user. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.watch@. module Network.Google.Resource.Drive.Changes.Watch@@ -33,13 +33,12 @@     , ChangesWatch      -- * Request Lenses-    , cwIncludeSubscribed-    , cwStartChangeId     , cwPayload+    , cwRestrictToMyDrive     , cwSpaces     , cwPageToken-    , cwMaxResults-    , cwIncludeDeleted+    , cwPageSize+    , cwIncludeRemoved     ) where  import           Network.Google.Drive.Types@@ -49,112 +48,111 @@ -- 'ChangesWatch' request conforms to. type ChangesWatchResource =      "drive" :>-       "v2" :>+       "v3" :>          "changes" :>            "watch" :>-             QueryParam "includeSubscribed" Bool :>-               QueryParam "startChangeId" (Textual Int64) :>+             QueryParam "pageToken" Text :>+               QueryParam "restrictToMyDrive" Bool :>                  QueryParam "spaces" Text :>-                   QueryParam "pageToken" Text :>-                     QueryParam "maxResults" (Textual Int32) :>-                       QueryParam "includeDeleted" Bool :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] Channel :> Post '[JSON] Channel+                   QueryParam "pageSize" (Textual Int32) :>+                     QueryParam "includeRemoved" Bool :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Channel :> Post '[JSON] Channel --- | Subscribe to changes for a user.+-- | Subscribes to changes for a user. -- -- /See:/ 'changesWatch' smart constructor.-data ChangesWatch = ChangesWatch-    { _cwIncludeSubscribed :: !Bool-    , _cwStartChangeId     :: !(Maybe (Textual Int64))-    , _cwPayload           :: !Channel-    , _cwSpaces            :: !(Maybe Text)-    , _cwPageToken         :: !(Maybe Text)-    , _cwMaxResults        :: !(Textual Int32)-    , _cwIncludeDeleted    :: !Bool+data ChangesWatch = ChangesWatch'+    { _cwPayload           :: !Channel+    , _cwRestrictToMyDrive :: !Bool+    , _cwSpaces            :: !Text+    , _cwPageToken         :: !Text+    , _cwPageSize          :: !(Textual Int32)+    , _cwIncludeRemoved    :: !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: ----- * 'cwIncludeSubscribed'------ * 'cwStartChangeId'--- -- * 'cwPayload' --+-- * 'cwRestrictToMyDrive'+-- -- * 'cwSpaces' -- -- * 'cwPageToken' ----- * 'cwMaxResults'+-- * 'cwPageSize' ----- * 'cwIncludeDeleted'+-- * 'cwIncludeRemoved' changesWatch     :: Channel -- ^ 'cwPayload'+    -> Text -- ^ 'cwPageToken'     -> ChangesWatch-changesWatch pCwPayload_ =-    ChangesWatch-    { _cwIncludeSubscribed = True-    , _cwStartChangeId = Nothing-    , _cwPayload = pCwPayload_-    , _cwSpaces = Nothing-    , _cwPageToken = Nothing-    , _cwMaxResults = 100-    , _cwIncludeDeleted = True+changesWatch pCwPayload_ pCwPageToken_ =+    ChangesWatch'+    { _cwPayload = pCwPayload_+    , _cwRestrictToMyDrive = False+    , _cwSpaces = "drive"+    , _cwPageToken = pCwPageToken_+    , _cwPageSize = 100+    , _cwIncludeRemoved = True     } --- | Whether to include public files the user has opened and shared files.--- When set to false, the list only includes owned files plus any shared or--- public files the user has explicitly added to a folder they own.-cwIncludeSubscribed :: Lens' ChangesWatch Bool-cwIncludeSubscribed-  = lens _cwIncludeSubscribed-      (\ s a -> s{_cwIncludeSubscribed = a})---- | Change ID to start listing changes from.-cwStartChangeId :: Lens' ChangesWatch (Maybe Int64)-cwStartChangeId-  = lens _cwStartChangeId-      (\ s a -> s{_cwStartChangeId = a})-      . mapping _Coerce- -- | Multipart request metadata. cwPayload :: Lens' ChangesWatch Channel cwPayload   = lens _cwPayload (\ s a -> s{_cwPayload = a}) --- | A comma-separated list of spaces to query. Supported values are--- \'drive\', \'appDataFolder\' and \'photos\'.-cwSpaces :: Lens' ChangesWatch (Maybe Text)+-- | 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.+cwRestrictToMyDrive :: Lens' ChangesWatch Bool+cwRestrictToMyDrive+  = lens _cwRestrictToMyDrive+      (\ s a -> s{_cwRestrictToMyDrive = a})++-- | A comma-separated list of spaces to query within the user corpus.+-- Supported values are \'drive\', \'appDataFolder\' and \'photos\'.+cwSpaces :: Lens' ChangesWatch Text cwSpaces = lens _cwSpaces (\ s a -> s{_cwSpaces = a}) --- | Page token for changes.-cwPageToken :: Lens' ChangesWatch (Maybe Text)+-- | The token for continuing a previous list request on the next page. This+-- should be set to the value of \'nextPageToken\' from the previous+-- response or to the response from the getStartPageToken method.+cwPageToken :: Lens' ChangesWatch Text cwPageToken   = lens _cwPageToken (\ s a -> s{_cwPageToken = a}) --- | Maximum number of changes to return.-cwMaxResults :: Lens' ChangesWatch Int32-cwMaxResults-  = lens _cwMaxResults (\ s a -> s{_cwMaxResults = a})-      . _Coerce+-- | The maximum number of changes to return per page.+cwPageSize :: Lens' ChangesWatch Int32+cwPageSize+  = lens _cwPageSize (\ s a -> s{_cwPageSize = a}) .+      _Coerce --- | Whether to include deleted items.-cwIncludeDeleted :: Lens' ChangesWatch Bool-cwIncludeDeleted-  = lens _cwIncludeDeleted-      (\ s a -> s{_cwIncludeDeleted = a})+-- | Whether to include changes indicating that items have left the view of+-- the changes list, for example by deletion or lost access.+cwIncludeRemoved :: Lens' ChangesWatch Bool+cwIncludeRemoved+  = lens _cwIncludeRemoved+      (\ s a -> s{_cwIncludeRemoved = a})  instance GoogleRequest ChangesWatch where         type Rs ChangesWatch = Channel-        requestClient ChangesWatch{..}-          = go (Just _cwIncludeSubscribed) _cwStartChangeId-              _cwSpaces-              _cwPageToken-              (Just _cwMaxResults)-              (Just _cwIncludeDeleted)+        type Scopes ChangesWatch =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient ChangesWatch'{..}+          = go (Just _cwPageToken) (Just _cwRestrictToMyDrive)+              (Just _cwSpaces)+              (Just _cwPageSize)+              (Just _cwIncludeRemoved)               (Just AltJSON)               _cwPayload               driveService
gen/Network/Google/Resource/Drive/Channels/Stop.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Channels.Stop--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -43,7 +43,7 @@ -- 'ChannelsStop' request conforms to. type ChannelsStopResource =      "drive" :>-       "v2" :>+       "v3" :>          "channels" :>            "stop" :>              QueryParam "alt" AltJSON :>@@ -52,7 +52,7 @@ -- | Stop watching resources through this channel -- -- /See:/ 'channelsStop' smart constructor.-newtype ChannelsStop = ChannelsStop+newtype ChannelsStop = ChannelsStop'     { _csPayload :: Channel     } deriving (Eq,Show,Data,Typeable,Generic) @@ -65,7 +65,7 @@     :: Channel -- ^ 'csPayload'     -> ChannelsStop channelsStop pCsPayload_ =-    ChannelsStop+    ChannelsStop'     { _csPayload = pCsPayload_     } @@ -76,7 +76,15 @@  instance GoogleRequest ChannelsStop where         type Rs ChannelsStop = ()-        requestClient ChannelsStop{..}+        type Scopes ChannelsStop =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient ChannelsStop'{..}           = go (Just AltJSON) _csPayload driveService           where go                   = buildClient (Proxy :: Proxy ChannelsStopResource)
− gen/Network/Google/Resource/Drive/Children/Delete.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Children.Delete--- Copyright   : (c) 2015 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)------ Removes a child from a folder.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.delete@.-module Network.Google.Resource.Drive.Children.Delete-    (-    -- * REST Resource-      ChildrenDeleteResource--    -- * Creating a Request-    , childrenDelete-    , ChildrenDelete--    -- * Request Lenses-    , cdFolderId-    , cdChildId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.children.delete@ method which the--- 'ChildrenDelete' request conforms to.-type ChildrenDeleteResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "folderId" Text :>-             "children" :>-               Capture "childId" Text :>-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()---- | Removes a child from a folder.------ /See:/ 'childrenDelete' smart constructor.-data ChildrenDelete = ChildrenDelete-    { _cdFolderId :: !Text-    , _cdChildId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildrenDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdFolderId'------ * 'cdChildId'-childrenDelete-    :: Text -- ^ 'cdFolderId'-    -> Text -- ^ 'cdChildId'-    -> ChildrenDelete-childrenDelete pCdFolderId_ pCdChildId_ =-    ChildrenDelete-    { _cdFolderId = pCdFolderId_-    , _cdChildId = pCdChildId_-    }---- | The ID of the folder.-cdFolderId :: Lens' ChildrenDelete Text-cdFolderId-  = lens _cdFolderId (\ s a -> s{_cdFolderId = a})---- | The ID of the child.-cdChildId :: Lens' ChildrenDelete Text-cdChildId-  = lens _cdChildId (\ s a -> s{_cdChildId = a})--instance GoogleRequest ChildrenDelete where-        type Rs ChildrenDelete = ()-        requestClient ChildrenDelete{..}-          = go _cdFolderId _cdChildId (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy ChildrenDeleteResource)-                      mempty
− gen/Network/Google/Resource/Drive/Children/Get.hs
@@ -1,97 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Children.Get--- Copyright   : (c) 2015 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 specific child reference.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.get@.-module Network.Google.Resource.Drive.Children.Get-    (-    -- * REST Resource-      ChildrenGetResource--    -- * Creating a Request-    , childrenGet-    , ChildrenGet--    -- * Request Lenses-    , cgFolderId-    , cgChildId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.children.get@ method which the--- 'ChildrenGet' request conforms to.-type ChildrenGetResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "folderId" Text :>-             "children" :>-               Capture "childId" Text :>-                 QueryParam "alt" AltJSON :>-                   Get '[JSON] ChildReference---- | Gets a specific child reference.------ /See:/ 'childrenGet' smart constructor.-data ChildrenGet = ChildrenGet-    { _cgFolderId :: !Text-    , _cgChildId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildrenGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgFolderId'------ * 'cgChildId'-childrenGet-    :: Text -- ^ 'cgFolderId'-    -> Text -- ^ 'cgChildId'-    -> ChildrenGet-childrenGet pCgFolderId_ pCgChildId_ =-    ChildrenGet-    { _cgFolderId = pCgFolderId_-    , _cgChildId = pCgChildId_-    }---- | The ID of the folder.-cgFolderId :: Lens' ChildrenGet Text-cgFolderId-  = lens _cgFolderId (\ s a -> s{_cgFolderId = a})---- | The ID of the child.-cgChildId :: Lens' ChildrenGet Text-cgChildId-  = lens _cgChildId (\ s a -> s{_cgChildId = a})--instance GoogleRequest ChildrenGet where-        type Rs ChildrenGet = ChildReference-        requestClient ChildrenGet{..}-          = go _cgFolderId _cgChildId (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy ChildrenGetResource)-                      mempty
− gen/Network/Google/Resource/Drive/Children/Insert.hs
@@ -1,97 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Children.Insert--- Copyright   : (c) 2015 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)------ Inserts a file into a folder.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.insert@.-module Network.Google.Resource.Drive.Children.Insert-    (-    -- * REST Resource-      ChildrenInsertResource--    -- * Creating a Request-    , childrenInsert-    , ChildrenInsert--    -- * Request Lenses-    , ciFolderId-    , ciPayload-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.children.insert@ method which the--- 'ChildrenInsert' request conforms to.-type ChildrenInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "folderId" Text :>-             "children" :>-               QueryParam "alt" AltJSON :>-                 ReqBody '[JSON] ChildReference :>-                   Post '[JSON] ChildReference---- | Inserts a file into a folder.------ /See:/ 'childrenInsert' smart constructor.-data ChildrenInsert = ChildrenInsert-    { _ciFolderId :: !Text-    , _ciPayload  :: !ChildReference-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildrenInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ciFolderId'------ * 'ciPayload'-childrenInsert-    :: Text -- ^ 'ciFolderId'-    -> ChildReference -- ^ 'ciPayload'-    -> ChildrenInsert-childrenInsert pCiFolderId_ pCiPayload_ =-    ChildrenInsert-    { _ciFolderId = pCiFolderId_-    , _ciPayload = pCiPayload_-    }---- | The ID of the folder.-ciFolderId :: Lens' ChildrenInsert Text-ciFolderId-  = lens _ciFolderId (\ s a -> s{_ciFolderId = a})---- | Multipart request metadata.-ciPayload :: Lens' ChildrenInsert ChildReference-ciPayload-  = lens _ciPayload (\ s a -> s{_ciPayload = a})--instance GoogleRequest ChildrenInsert where-        type Rs ChildrenInsert = ChildReference-        requestClient ChildrenInsert{..}-          = go _ciFolderId (Just AltJSON) _ciPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy ChildrenInsertResource)-                      mempty
− gen/Network/Google/Resource/Drive/Children/List.hs
@@ -1,136 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Children.List--- Copyright   : (c) 2015 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 a folder\'s children.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.list@.-module Network.Google.Resource.Drive.Children.List-    (-    -- * REST Resource-      ChildrenListResource--    -- * Creating a Request-    , childrenList-    , ChildrenList--    -- * Request Lenses-    , cOrderBy-    , cFolderId-    , cQ-    , cPageToken-    , cMaxResults-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.children.list@ method which the--- 'ChildrenList' request conforms to.-type ChildrenListResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "folderId" Text :>-             "children" :>-               QueryParam "orderBy" Text :>-                 QueryParam "q" Text :>-                   QueryParam "pageToken" Text :>-                     QueryParam "maxResults" (Textual Int32) :>-                       QueryParam "alt" AltJSON :> Get '[JSON] ChildList---- | Lists a folder\'s children.------ /See:/ 'childrenList' smart constructor.-data ChildrenList = ChildrenList-    { _cOrderBy    :: !(Maybe Text)-    , _cFolderId   :: !Text-    , _cQ          :: !(Maybe Text)-    , _cPageToken  :: !(Maybe Text)-    , _cMaxResults :: !(Textual Int32)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChildrenList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cOrderBy'------ * 'cFolderId'------ * 'cQ'------ * 'cPageToken'------ * 'cMaxResults'-childrenList-    :: Text -- ^ 'cFolderId'-    -> ChildrenList-childrenList pCFolderId_ =-    ChildrenList-    { _cOrderBy = Nothing-    , _cFolderId = pCFolderId_-    , _cQ = Nothing-    , _cPageToken = Nothing-    , _cMaxResults = 100-    }---- | A comma-separated list of sort keys. Valid keys are \'createdDate\',--- \'folder\', \'lastViewedByMeDate\', \'modifiedByMeDate\',--- \'modifiedDate\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeDate\',--- \'starred\', and \'title\'. Each key sorts ascending by default, but may--- be reversed with the \'desc\' modifier. Example usage:--- ?orderBy=folder,modifiedDate desc,title. Please note that there is a--- current limitation for users with approximately one million files in--- which the requested sort order is ignored.-cOrderBy :: Lens' ChildrenList (Maybe Text)-cOrderBy = lens _cOrderBy (\ s a -> s{_cOrderBy = a})---- | The ID of the folder.-cFolderId :: Lens' ChildrenList Text-cFolderId-  = lens _cFolderId (\ s a -> s{_cFolderId = a})---- | Query string for searching children.-cQ :: Lens' ChildrenList (Maybe Text)-cQ = lens _cQ (\ s a -> s{_cQ = a})---- | Page token for children.-cPageToken :: Lens' ChildrenList (Maybe Text)-cPageToken-  = lens _cPageToken (\ s a -> s{_cPageToken = a})---- | Maximum number of children to return.-cMaxResults :: Lens' ChildrenList Int32-cMaxResults-  = lens _cMaxResults (\ s a -> s{_cMaxResults = a}) .-      _Coerce--instance GoogleRequest ChildrenList where-        type Rs ChildrenList = ChildList-        requestClient ChildrenList{..}-          = go _cFolderId _cOrderBy _cQ _cPageToken-              (Just _cMaxResults)-              (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy ChildrenListResource)-                      mempty
+ gen/Network/Google/Resource/Drive/Comments/Create.hs view
@@ -0,0 +1,97 @@+{-# 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.Comments.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 comment on a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.create@.+module Network.Google.Resource.Drive.Comments.Create+    (+    -- * REST Resource+      CommentsCreateResource++    -- * Creating a Request+    , commentsCreate+    , CommentsCreate++    -- * Request Lenses+    , ccPayload+    , ccFileId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.comments.create@ method which the+-- 'CommentsCreate' request conforms to.+type CommentsCreateResource =+     "drive" :>+       "v3" :>+         "files" :>+           Capture "fileId" Text :>+             "comments" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Comment :> Post '[JSON] Comment++-- | Creates a new comment on a file.+--+-- /See:/ 'commentsCreate' smart constructor.+data CommentsCreate = CommentsCreate'+    { _ccPayload :: !Comment+    , _ccFileId  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccPayload'+--+-- * 'ccFileId'+commentsCreate+    :: Comment -- ^ 'ccPayload'+    -> Text -- ^ 'ccFileId'+    -> CommentsCreate+commentsCreate pCcPayload_ pCcFileId_ =+    CommentsCreate'+    { _ccPayload = pCcPayload_+    , _ccFileId = pCcFileId_+    }++-- | Multipart request metadata.+ccPayload :: Lens' CommentsCreate Comment+ccPayload+  = lens _ccPayload (\ s a -> s{_ccPayload = a})++-- | The ID of the file.+ccFileId :: Lens' CommentsCreate Text+ccFileId = lens _ccFileId (\ s a -> s{_ccFileId = a})++instance GoogleRequest CommentsCreate where+        type Rs CommentsCreate = Comment+        type Scopes CommentsCreate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient CommentsCreate'{..}+          = go _ccFileId (Just AltJSON) _ccPayload driveService+          where go+                  = buildClient (Proxy :: Proxy CommentsCreateResource)+                      mempty
gen/Network/Google/Resource/Drive/Comments/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Comments.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -44,7 +44,7 @@ -- 'CommentsDelete' request conforms to. type CommentsDeleteResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>@@ -54,7 +54,7 @@ -- | Deletes a comment. -- -- /See:/ 'commentsDelete' smart constructor.-data CommentsDelete = CommentsDelete+data CommentsDelete = CommentsDelete'     { _cdFileId    :: !Text     , _cdCommentId :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)@@ -71,7 +71,7 @@     -> Text -- ^ 'cdCommentId'     -> CommentsDelete commentsDelete pCdFileId_ pCdCommentId_ =-    CommentsDelete+    CommentsDelete'     { _cdFileId = pCdFileId_     , _cdCommentId = pCdCommentId_     }@@ -87,7 +87,10 @@  instance GoogleRequest CommentsDelete where         type Rs CommentsDelete = ()-        requestClient CommentsDelete{..}+        type Scopes CommentsDelete =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient CommentsDelete'{..}           = go _cdFileId _cdCommentId (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Comments/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Comments.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -45,7 +45,7 @@ -- 'CommentsGet' request conforms to. type CommentsGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>@@ -56,7 +56,7 @@ -- | Gets a comment by ID. -- -- /See:/ 'commentsGet' smart constructor.-data CommentsGet = CommentsGet+data CommentsGet = CommentsGet'     { _cgFileId         :: !Text     , _cgCommentId      :: !Text     , _cgIncludeDeleted :: !Bool@@ -76,7 +76,7 @@     -> Text -- ^ 'cgCommentId'     -> CommentsGet commentsGet pCgFileId_ pCgCommentId_ =-    CommentsGet+    CommentsGet'     { _cgFileId = pCgFileId_     , _cgCommentId = pCgCommentId_     , _cgIncludeDeleted = False@@ -91,8 +91,8 @@ cgCommentId   = lens _cgCommentId (\ s a -> s{_cgCommentId = a}) --- | If set, this will succeed when retrieving a deleted comment, and will--- include any deleted replies.+-- | Whether to return deleted comments. Deleted comments will not include+-- their original content. cgIncludeDeleted :: Lens' CommentsGet Bool cgIncludeDeleted   = lens _cgIncludeDeleted@@ -100,7 +100,11 @@  instance GoogleRequest CommentsGet where         type Rs CommentsGet = Comment-        requestClient CommentsGet{..}+        type Scopes CommentsGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient CommentsGet'{..}           = go _cgFileId _cgCommentId (Just _cgIncludeDeleted)               (Just AltJSON)               driveService
− gen/Network/Google/Resource/Drive/Comments/Insert.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Comments.Insert--- Copyright   : (c) 2015 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 comment on the given file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.insert@.-module Network.Google.Resource.Drive.Comments.Insert-    (-    -- * REST Resource-      CommentsInsertResource--    -- * Creating a Request-    , commentsInsert-    , CommentsInsert--    -- * Request Lenses-    , comPayload-    , comFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.comments.insert@ method which the--- 'CommentsInsert' request conforms to.-type CommentsInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "comments" :>-               QueryParam "alt" AltJSON :>-                 ReqBody '[JSON] Comment :> Post '[JSON] Comment---- | Creates a new comment on the given file.------ /See:/ 'commentsInsert' smart constructor.-data CommentsInsert = CommentsInsert-    { _comPayload :: !Comment-    , _comFileId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentsInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'comPayload'------ * 'comFileId'-commentsInsert-    :: Comment -- ^ 'comPayload'-    -> Text -- ^ 'comFileId'-    -> CommentsInsert-commentsInsert pComPayload_ pComFileId_ =-    CommentsInsert-    { _comPayload = pComPayload_-    , _comFileId = pComFileId_-    }---- | Multipart request metadata.-comPayload :: Lens' CommentsInsert Comment-comPayload-  = lens _comPayload (\ s a -> s{_comPayload = a})---- | The ID of the file.-comFileId :: Lens' CommentsInsert Text-comFileId-  = lens _comFileId (\ s a -> s{_comFileId = a})--instance GoogleRequest CommentsInsert where-        type Rs CommentsInsert = Comment-        requestClient CommentsInsert{..}-          = go _comFileId (Just AltJSON) _comPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy CommentsInsertResource)-                      mempty
gen/Network/Google/Resource/Drive/Comments/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Comments.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -33,11 +33,11 @@     , CommentsList      -- * Request Lenses-    , cllUpdatedMin-    , cllPageToken-    , cllFileId-    , cllMaxResults-    , cllIncludeDeleted+    , cStartModifiedTime+    , cPageToken+    , cFileId+    , cPageSize+    , cIncludeDeleted     ) where  import           Network.Google.Drive.Types@@ -47,92 +47,93 @@ -- 'CommentsList' request conforms to. type CommentsListResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>-               QueryParam "updatedMin" Text :>+               QueryParam "startModifiedTime" Text :>                  QueryParam "pageToken" Text :>-                   QueryParam "maxResults" (Textual Int32) :>+                   QueryParam "pageSize" (Textual Int32) :>                      QueryParam "includeDeleted" Bool :>                        QueryParam "alt" AltJSON :> Get '[JSON] CommentList  -- | Lists a file\'s comments. -- -- /See:/ 'commentsList' smart constructor.-data CommentsList = CommentsList-    { _cllUpdatedMin     :: !(Maybe Text)-    , _cllPageToken      :: !(Maybe Text)-    , _cllFileId         :: !Text-    , _cllMaxResults     :: !(Textual Int32)-    , _cllIncludeDeleted :: !Bool+data CommentsList = CommentsList'+    { _cStartModifiedTime :: !(Maybe Text)+    , _cPageToken         :: !(Maybe Text)+    , _cFileId            :: !Text+    , _cPageSize          :: !(Textual Int32)+    , _cIncludeDeleted    :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'CommentsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cllUpdatedMin'+-- * 'cStartModifiedTime' ----- * 'cllPageToken'+-- * 'cPageToken' ----- * 'cllFileId'+-- * 'cFileId' ----- * 'cllMaxResults'+-- * 'cPageSize' ----- * 'cllIncludeDeleted'+-- * 'cIncludeDeleted' commentsList-    :: Text -- ^ 'cllFileId'+    :: Text -- ^ 'cFileId'     -> CommentsList-commentsList pCllFileId_ =-    CommentsList-    { _cllUpdatedMin = Nothing-    , _cllPageToken = Nothing-    , _cllFileId = pCllFileId_-    , _cllMaxResults = 20-    , _cllIncludeDeleted = False+commentsList pCFileId_ =+    CommentsList'+    { _cStartModifiedTime = Nothing+    , _cPageToken = Nothing+    , _cFileId = pCFileId_+    , _cPageSize = 20+    , _cIncludeDeleted = False     } --- | Only discussions that were updated after this timestamp will be--- returned. Formatted as an RFC 3339 timestamp.-cllUpdatedMin :: Lens' CommentsList (Maybe Text)-cllUpdatedMin-  = lens _cllUpdatedMin-      (\ s a -> s{_cllUpdatedMin = a})+-- | The minimum value of \'modifiedTime\' for the result comments (RFC 3339+-- date-time).+cStartModifiedTime :: Lens' CommentsList (Maybe Text)+cStartModifiedTime+  = lens _cStartModifiedTime+      (\ s a -> s{_cStartModifiedTime = a}) --- | The continuation token, used to page through large result sets. To get--- the next page of results, set this parameter to the value of--- \"nextPageToken\" from the previous response.-cllPageToken :: Lens' CommentsList (Maybe Text)-cllPageToken-  = lens _cllPageToken (\ s a -> s{_cllPageToken = a})+-- | The token for continuing a previous list request on the next page. This+-- should be set to the value of \'nextPageToken\' from the previous+-- response.+cPageToken :: Lens' CommentsList (Maybe Text)+cPageToken+  = lens _cPageToken (\ s a -> s{_cPageToken = a})  -- | The ID of the file.-cllFileId :: Lens' CommentsList Text-cllFileId-  = lens _cllFileId (\ s a -> s{_cllFileId = a})+cFileId :: Lens' CommentsList Text+cFileId = lens _cFileId (\ s a -> s{_cFileId = a}) --- | The maximum number of discussions to include in the response, used for--- paging.-cllMaxResults :: Lens' CommentsList Int32-cllMaxResults-  = lens _cllMaxResults-      (\ s a -> s{_cllMaxResults = a})-      . _Coerce+-- | The maximum number of comments to return per page.+cPageSize :: Lens' CommentsList Int32+cPageSize+  = lens _cPageSize (\ s a -> s{_cPageSize = a}) .+      _Coerce --- | If set, all comments and replies, including deleted comments and replies--- (with content stripped) will be returned.-cllIncludeDeleted :: Lens' CommentsList Bool-cllIncludeDeleted-  = lens _cllIncludeDeleted-      (\ s a -> s{_cllIncludeDeleted = a})+-- | Whether to include deleted comments. Deleted comments will not include+-- their original content.+cIncludeDeleted :: Lens' CommentsList Bool+cIncludeDeleted+  = lens _cIncludeDeleted+      (\ s a -> s{_cIncludeDeleted = a})  instance GoogleRequest CommentsList where         type Rs CommentsList = CommentList-        requestClient CommentsList{..}-          = go _cllFileId _cllUpdatedMin _cllPageToken-              (Just _cllMaxResults)-              (Just _cllIncludeDeleted)+        type Scopes CommentsList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient CommentsList'{..}+          = go _cFileId _cStartModifiedTime _cPageToken+              (Just _cPageSize)+              (Just _cIncludeDeleted)               (Just AltJSON)               driveService           where go
− gen/Network/Google/Resource/Drive/Comments/Patch.hs
@@ -1,107 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Comments.Patch--- Copyright   : (c) 2015 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates an existing comment. This method supports patch semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.patch@.-module Network.Google.Resource.Drive.Comments.Patch-    (-    -- * REST Resource-      CommentsPatchResource--    -- * Creating a Request-    , commentsPatch-    , CommentsPatch--    -- * Request Lenses-    , cpPayload-    , cpFileId-    , cpCommentId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.comments.patch@ method which the--- 'CommentsPatch' request conforms to.-type CommentsPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "comments" :>-               Capture "commentId" Text :>-                 QueryParam "alt" AltJSON :>-                   ReqBody '[JSON] Comment :> Patch '[JSON] Comment---- | Updates an existing comment. This method supports patch semantics.------ /See:/ 'commentsPatch' smart constructor.-data CommentsPatch = CommentsPatch-    { _cpPayload   :: !Comment-    , _cpFileId    :: !Text-    , _cpCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CommentsPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpPayload'------ * 'cpFileId'------ * 'cpCommentId'-commentsPatch-    :: Comment -- ^ 'cpPayload'-    -> Text -- ^ 'cpFileId'-    -> Text -- ^ 'cpCommentId'-    -> CommentsPatch-commentsPatch pCpPayload_ pCpFileId_ pCpCommentId_ =-    CommentsPatch-    { _cpPayload = pCpPayload_-    , _cpFileId = pCpFileId_-    , _cpCommentId = pCpCommentId_-    }---- | Multipart request metadata.-cpPayload :: Lens' CommentsPatch Comment-cpPayload-  = lens _cpPayload (\ s a -> s{_cpPayload = a})---- | The ID of the file.-cpFileId :: Lens' CommentsPatch Text-cpFileId = lens _cpFileId (\ s a -> s{_cpFileId = a})---- | The ID of the comment.-cpCommentId :: Lens' CommentsPatch Text-cpCommentId-  = lens _cpCommentId (\ s a -> s{_cpCommentId = a})--instance GoogleRequest CommentsPatch where-        type Rs CommentsPatch = Comment-        requestClient CommentsPatch{..}-          = go _cpFileId _cpCommentId (Just AltJSON) _cpPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy CommentsPatchResource)-                      mempty
gen/Network/Google/Resource/Drive/Comments/Update.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Comments.Update--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates an existing comment.+-- Updates a comment with patch semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.update@. module Network.Google.Resource.Drive.Comments.Update@@ -45,18 +45,18 @@ -- 'CommentsUpdate' request conforms to. type CommentsUpdateResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>                Capture "commentId" Text :>                  QueryParam "alt" AltJSON :>-                   ReqBody '[JSON] Comment :> Put '[JSON] Comment+                   ReqBody '[JSON] Comment :> Patch '[JSON] Comment --- | Updates an existing comment.+-- | Updates a comment with patch semantics. -- -- /See:/ 'commentsUpdate' smart constructor.-data CommentsUpdate = CommentsUpdate+data CommentsUpdate = CommentsUpdate'     { _cuPayload   :: !Comment     , _cuFileId    :: !Text     , _cuCommentId :: !Text@@ -77,7 +77,7 @@     -> Text -- ^ 'cuCommentId'     -> CommentsUpdate commentsUpdate pCuPayload_ pCuFileId_ pCuCommentId_ =-    CommentsUpdate+    CommentsUpdate'     { _cuPayload = pCuPayload_     , _cuFileId = pCuFileId_     , _cuCommentId = pCuCommentId_@@ -99,7 +99,10 @@  instance GoogleRequest CommentsUpdate where         type Rs CommentsUpdate = Comment-        requestClient CommentsUpdate{..}+        type Scopes CommentsUpdate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient CommentsUpdate'{..}           = go _cuFileId _cuCommentId (Just AltJSON) _cuPayload               driveService           where go
gen/Network/Google/Resource/Drive/Files/Copy.hs view
@@ -14,13 +14,14 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.Copy--- Copyright   : (c) 2015 Brendan Hay+-- 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 copy of the specified file.+-- Creates a copy of a file and applies any requested updates with patch+-- semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.copy@. module Network.Google.Resource.Drive.Files.Copy@@ -33,15 +34,11 @@     , FilesCopy      -- * Request Lenses-    , fcPinned-    , fcVisibility-    , fcTimedTextLanguage-    , fcPayload-    , fcTimedTextTrackName-    , fcOCRLanguage-    , fcConvert-    , fcFileId-    , fcOCR+    , fPayload+    , fOCRLanguage+    , fKeepRevisionForever+    , fIgnoreDefaultVisibility+    , fFileId     ) where  import           Network.Google.Drive.Types@@ -51,132 +48,97 @@ -- 'FilesCopy' request conforms to. type FilesCopyResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "copy" :>-               QueryParam "pinned" Bool :>-                 QueryParam "visibility" FilesCopyVisibility :>-                   QueryParam "timedTextLanguage" Text :>-                     QueryParam "timedTextTrackName" Text :>-                       QueryParam "ocrLanguage" Text :>-                         QueryParam "convert" Bool :>-                           QueryParam "ocr" Bool :>-                             QueryParam "alt" AltJSON :>-                               ReqBody '[JSON] File :> Post '[JSON] File+               QueryParam "ocrLanguage" Text :>+                 QueryParam "keepRevisionForever" Bool :>+                   QueryParam "ignoreDefaultVisibility" Bool :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] File :> Post '[JSON] File --- | Creates a copy of the specified file.+-- | Creates a copy of a file and applies any requested updates with patch+-- semantics. -- -- /See:/ 'filesCopy' smart constructor.-data FilesCopy = FilesCopy-    { _fcPinned             :: !Bool-    , _fcVisibility         :: !FilesCopyVisibility-    , _fcTimedTextLanguage  :: !(Maybe Text)-    , _fcPayload            :: !File-    , _fcTimedTextTrackName :: !(Maybe Text)-    , _fcOCRLanguage        :: !(Maybe Text)-    , _fcConvert            :: !Bool-    , _fcFileId             :: !Text-    , _fcOCR                :: !Bool+data FilesCopy = FilesCopy'+    { _fPayload                 :: !File+    , _fOCRLanguage             :: !(Maybe Text)+    , _fKeepRevisionForever     :: !Bool+    , _fIgnoreDefaultVisibility :: !Bool+    , _fFileId                  :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesCopy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'fcPinned'------ * 'fcVisibility'------ * 'fcTimedTextLanguage'------ * 'fcPayload'------ * 'fcTimedTextTrackName'+-- * 'fPayload' ----- * 'fcOCRLanguage'+-- * 'fOCRLanguage' ----- * 'fcConvert'+-- * 'fKeepRevisionForever' ----- * 'fcFileId'+-- * 'fIgnoreDefaultVisibility' ----- * 'fcOCR'+-- * 'fFileId' filesCopy-    :: File -- ^ 'fcPayload'-    -> Text -- ^ 'fcFileId'+    :: File -- ^ 'fPayload'+    -> Text -- ^ 'fFileId'     -> FilesCopy-filesCopy pFcPayload_ pFcFileId_ =-    FilesCopy-    { _fcPinned = False-    , _fcVisibility = FCVDefault-    , _fcTimedTextLanguage = Nothing-    , _fcPayload = pFcPayload_-    , _fcTimedTextTrackName = Nothing-    , _fcOCRLanguage = Nothing-    , _fcConvert = False-    , _fcFileId = pFcFileId_-    , _fcOCR = False+filesCopy pFPayload_ pFFileId_ =+    FilesCopy'+    { _fPayload = pFPayload_+    , _fOCRLanguage = Nothing+    , _fKeepRevisionForever = False+    , _fIgnoreDefaultVisibility = False+    , _fFileId = pFFileId_     } --- | Whether to pin the head revision of the new copy. A file can have a--- maximum of 200 pinned revisions.-fcPinned :: Lens' FilesCopy Bool-fcPinned = lens _fcPinned (\ s a -> s{_fcPinned = a})---- | The visibility of the new file. This parameter is only relevant when the--- source is not a native Google Doc and convert=false.-fcVisibility :: Lens' FilesCopy FilesCopyVisibility-fcVisibility-  = lens _fcVisibility (\ s a -> s{_fcVisibility = a})---- | The language of the timed text.-fcTimedTextLanguage :: Lens' FilesCopy (Maybe Text)-fcTimedTextLanguage-  = lens _fcTimedTextLanguage-      (\ s a -> s{_fcTimedTextLanguage = a})- -- | Multipart request metadata.-fcPayload :: Lens' FilesCopy File-fcPayload-  = lens _fcPayload (\ s a -> s{_fcPayload = a})---- | The timed text track name.-fcTimedTextTrackName :: Lens' FilesCopy (Maybe Text)-fcTimedTextTrackName-  = lens _fcTimedTextTrackName-      (\ s a -> s{_fcTimedTextTrackName = a})+fPayload :: Lens' FilesCopy File+fPayload = lens _fPayload (\ s a -> s{_fPayload = a}) --- | If ocr is true, hints at the language to use. Valid values are BCP 47--- codes.-fcOCRLanguage :: Lens' FilesCopy (Maybe Text)-fcOCRLanguage-  = lens _fcOCRLanguage-      (\ s a -> s{_fcOCRLanguage = a})+-- | A language hint for OCR processing during image import (ISO 639-1 code).+fOCRLanguage :: Lens' FilesCopy (Maybe Text)+fOCRLanguage+  = lens _fOCRLanguage (\ s a -> s{_fOCRLanguage = a}) --- | Whether to convert this file to the corresponding Google Docs format.-fcConvert :: Lens' FilesCopy Bool-fcConvert-  = lens _fcConvert (\ s a -> s{_fcConvert = a})+-- | Whether to set the \'keepForever\' field in the new head revision. This+-- is only applicable to files with binary content in Drive.+fKeepRevisionForever :: Lens' FilesCopy Bool+fKeepRevisionForever+  = lens _fKeepRevisionForever+      (\ s a -> s{_fKeepRevisionForever = a}) --- | The ID of the file to copy.-fcFileId :: Lens' FilesCopy Text-fcFileId = lens _fcFileId (\ s a -> s{_fcFileId = a})+-- | Whether to ignore the domain\'s default visibility settings for the+-- created file. Domain administrators can choose to make all uploaded+-- files visible to the domain by default; this parameter bypasses that+-- behavior for the request. Permissions are still inherited from parent+-- folders.+fIgnoreDefaultVisibility :: Lens' FilesCopy Bool+fIgnoreDefaultVisibility+  = lens _fIgnoreDefaultVisibility+      (\ s a -> s{_fIgnoreDefaultVisibility = a}) --- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.-fcOCR :: Lens' FilesCopy Bool-fcOCR = lens _fcOCR (\ s a -> s{_fcOCR = a})+-- | The ID of the file.+fFileId :: Lens' FilesCopy Text+fFileId = lens _fFileId (\ s a -> s{_fFileId = a})  instance GoogleRequest FilesCopy where         type Rs FilesCopy = File-        requestClient FilesCopy{..}-          = go _fcFileId (Just _fcPinned) (Just _fcVisibility)-              _fcTimedTextLanguage-              _fcTimedTextTrackName-              _fcOCRLanguage-              (Just _fcConvert)-              (Just _fcOCR)+        type Scopes FilesCopy =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.photos.readonly"]+        requestClient FilesCopy'{..}+          = go _fFileId _fOCRLanguage+              (Just _fKeepRevisionForever)+              (Just _fIgnoreDefaultVisibility)               (Just AltJSON)-              _fcPayload+              _fPayload               driveService           where go                   = buildClient (Proxy :: Proxy FilesCopyResource)
+ gen/Network/Google/Resource/Drive/Files/Create.hs view
@@ -0,0 +1,176 @@+{-# 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.Files.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 file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.create@.+module Network.Google.Resource.Drive.Files.Create+    (+    -- * REST Resource+      FilesCreateResource++    -- * Creating a Request+    , filesCreate+    , FilesCreate++    -- * Request Lenses+    , fcPayload+    , fcUseContentAsIndexableText+    , fcOCRLanguage+    , fcKeepRevisionForever+    , fcIgnoreDefaultVisibility+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.files.create@ method which the+-- 'FilesCreate' request conforms to.+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++-- | Creates a new file.+--+-- /See:/ 'filesCreate' smart constructor.+data FilesCreate = FilesCreate'+    { _fcPayload                   :: !File+    , _fcUseContentAsIndexableText :: !Bool+    , _fcOCRLanguage               :: !(Maybe Text)+    , _fcKeepRevisionForever       :: !Bool+    , _fcIgnoreDefaultVisibility   :: !Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcPayload'+--+-- * 'fcUseContentAsIndexableText'+--+-- * 'fcOCRLanguage'+--+-- * 'fcKeepRevisionForever'+--+-- * 'fcIgnoreDefaultVisibility'+filesCreate+    :: File -- ^ 'fcPayload'+    -> FilesCreate+filesCreate pFcPayload_ =+    FilesCreate'+    { _fcPayload = pFcPayload_+    , _fcUseContentAsIndexableText = False+    , _fcOCRLanguage = Nothing+    , _fcKeepRevisionForever = False+    , _fcIgnoreDefaultVisibility = False+    }++-- | Multipart request metadata.+fcPayload :: Lens' FilesCreate File+fcPayload+  = lens _fcPayload (\ s a -> s{_fcPayload = a})++-- | Whether to use the uploaded content as indexable text.+fcUseContentAsIndexableText :: Lens' FilesCreate Bool+fcUseContentAsIndexableText+  = lens _fcUseContentAsIndexableText+      (\ s a -> s{_fcUseContentAsIndexableText = a})++-- | A language hint for OCR processing during image import (ISO 639-1 code).+fcOCRLanguage :: Lens' FilesCreate (Maybe Text)+fcOCRLanguage+  = lens _fcOCRLanguage+      (\ s a -> s{_fcOCRLanguage = a})++-- | Whether to set the \'keepForever\' field in the new head revision. This+-- is only applicable to files with binary content in Drive.+fcKeepRevisionForever :: Lens' FilesCreate Bool+fcKeepRevisionForever+  = lens _fcKeepRevisionForever+      (\ s a -> s{_fcKeepRevisionForever = a})++-- | Whether to ignore the domain\'s default visibility settings for the+-- created file. Domain administrators can choose to make all uploaded+-- files visible to the domain by default; this parameter bypasses that+-- behavior for the request. Permissions are still inherited from parent+-- folders.+fcIgnoreDefaultVisibility :: Lens' FilesCreate Bool+fcIgnoreDefaultVisibility+  = lens _fcIgnoreDefaultVisibility+      (\ s a -> s{_fcIgnoreDefaultVisibility = a})++instance GoogleRequest FilesCreate where+        type Rs FilesCreate = File+        type Scopes FilesCreate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient FilesCreate'{..}+          = go (Just _fcUseContentAsIndexableText)+              _fcOCRLanguage+              (Just _fcKeepRevisionForever)+              (Just _fcIgnoreDefaultVisibility)+              (Just AltJSON)+              _fcPayload+              driveService+          where go :<|> _+                  = buildClient (Proxy :: Proxy FilesCreateResource)+                      mempty++instance GoogleRequest (MediaUpload FilesCreate)+         where+        type Rs (MediaUpload FilesCreate) = File+        type Scopes (MediaUpload FilesCreate) =+             Scopes FilesCreate+        requestClient (MediaUpload FilesCreate'{..} body)+          = go (Just _fcUseContentAsIndexableText)+              _fcOCRLanguage+              (Just _fcKeepRevisionForever)+              (Just _fcIgnoreDefaultVisibility)+              (Just AltJSON)+              (Just Multipart)+              _fcPayload+              body+              driveService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy FilesCreateResource)+                      mempty
gen/Network/Google/Resource/Drive/Files/Delete.hs view
@@ -14,14 +14,15 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.Delete--- Copyright   : (c) 2015 Brendan Hay+-- 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 file by ID. Skips the trash. The currently--- authenticated user must own the file.+-- 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. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.delete@. module Network.Google.Resource.Drive.Files.Delete@@ -44,16 +45,17 @@ -- 'FilesDelete' request conforms to. type FilesDeleteResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Permanently deletes a file by ID. Skips the trash. The currently--- authenticated user must own the file.+-- | 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. -- -- /See:/ 'filesDelete' smart constructor.-newtype FilesDelete = FilesDelete+newtype FilesDelete = FilesDelete'     { _fdFileId :: Text     } deriving (Eq,Show,Data,Typeable,Generic) @@ -66,17 +68,21 @@     :: Text -- ^ 'fdFileId'     -> FilesDelete filesDelete pFdFileId_ =-    FilesDelete+    FilesDelete'     { _fdFileId = pFdFileId_     } --- | The ID of the file to delete.+-- | The ID of the file. fdFileId :: Lens' FilesDelete Text fdFileId = lens _fdFileId (\ s a -> s{_fdFileId = a})  instance GoogleRequest FilesDelete where         type Rs FilesDelete = ()-        requestClient FilesDelete{..}+        type Scopes FilesDelete =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient FilesDelete'{..}           = go _fdFileId (Just AltJSON) driveService           where go                   = buildClient (Proxy :: Proxy FilesDeleteResource)
gen/Network/Google/Resource/Drive/Files/EmptyTrash.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.EmptyTrash--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -41,7 +41,7 @@ -- 'FilesEmptyTrash' request conforms to. type FilesEmptyTrashResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            "trash" :>              QueryParam "alt" AltJSON :> Delete '[JSON] ()@@ -50,18 +50,20 @@ -- -- /See:/ 'filesEmptyTrash' smart constructor. data FilesEmptyTrash =-    FilesEmptyTrash+    FilesEmptyTrash'     deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesEmptyTrash' with the minimum fields required to make a request. -- filesEmptyTrash     :: FilesEmptyTrash-filesEmptyTrash = FilesEmptyTrash+filesEmptyTrash = FilesEmptyTrash'  instance GoogleRequest FilesEmptyTrash where         type Rs FilesEmptyTrash = ()-        requestClient FilesEmptyTrash{}+        type Scopes FilesEmptyTrash =+             '["https://www.googleapis.com/auth/drive"]+        requestClient FilesEmptyTrash'{}           = go (Just AltJSON) driveService           where go                   = buildClient
+ gen/Network/Google/Resource/Drive/Files/Export.hs view
@@ -0,0 +1,122 @@+{-# 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.Files.Export+-- 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)+--+-- Exports a Google Doc to the requested MIME type and returns the exported+-- content.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.export@.+module Network.Google.Resource.Drive.Files.Export+    (+    -- * REST Resource+      FilesExportResource++    -- * Creating a Request+    , filesExport+    , FilesExport++    -- * Request Lenses+    , feMimeType+    , feFileId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.files.export@ method which the+-- 'FilesExport' request conforms to.+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++-- | Exports a Google Doc to the requested MIME type and returns the exported+-- content.+--+-- /See:/ 'filesExport' smart constructor.+data FilesExport = FilesExport'+    { _feMimeType :: !Text+    , _feFileId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesExport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'feMimeType'+--+-- * 'feFileId'+filesExport+    :: Text -- ^ 'feMimeType'+    -> Text -- ^ 'feFileId'+    -> FilesExport+filesExport pFeMimeType_ pFeFileId_ =+    FilesExport'+    { _feMimeType = pFeMimeType_+    , _feFileId = pFeFileId_+    }++-- | The MIME type of the format requested for this export.+feMimeType :: Lens' FilesExport Text+feMimeType+  = lens _feMimeType (\ s a -> s{_feMimeType = a})++-- | The ID of the file.+feFileId :: Lens' FilesExport Text+feFileId = lens _feFileId (\ s a -> s{_feFileId = a})++instance GoogleRequest FilesExport where+        type Rs FilesExport = ()+        type Scopes FilesExport =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient FilesExport'{..}+          = go _feFileId (Just _feMimeType) (Just AltJSON)+              driveService+          where go :<|> _+                  = buildClient (Proxy :: Proxy FilesExportResource)+                      mempty++instance GoogleRequest (MediaDownload FilesExport)+         where+        type Rs (MediaDownload FilesExport) = Stream+        type Scopes (MediaDownload FilesExport) =+             Scopes FilesExport+        requestClient (MediaDownload FilesExport'{..})+          = go _feFileId (Just _feMimeType) (Just AltMedia)+              driveService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy FilesExportResource)+                      mempty
gen/Network/Google/Resource/Drive/Files/GenerateIds.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.GenerateIds--- Copyright   : (c) 2015 Brendan Hay+-- 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) ----- Generates a set of file IDs which can be provided in insert requests.+-- Generates a set of file IDs which can be provided in create requests. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.generateIds@. module Network.Google.Resource.Drive.Files.GenerateIds@@ -34,7 +34,7 @@      -- * Request Lenses     , fgiSpace-    , fgiMaxResults+    , fgiCount     ) where  import           Network.Google.Drive.Types@@ -44,19 +44,19 @@ -- 'FilesGenerateIds' request conforms to. type FilesGenerateIdsResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            "generateIds" :>              QueryParam "space" Text :>-               QueryParam "maxResults" (Textual Int32) :>+               QueryParam "count" (Textual Int32) :>                  QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds --- | Generates a set of file IDs which can be provided in insert requests.+-- | Generates a set of file IDs which can be provided in create requests. -- -- /See:/ 'filesGenerateIds' smart constructor.-data FilesGenerateIds = FilesGenerateIds-    { _fgiSpace      :: !Text-    , _fgiMaxResults :: !(Textual Int32)+data FilesGenerateIds = FilesGenerateIds'+    { _fgiSpace :: !Text+    , _fgiCount :: !(Textual Int32)     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesGenerateIds' with the minimum fields required to make a request.@@ -65,13 +65,13 @@ -- -- * 'fgiSpace' ----- * 'fgiMaxResults'+-- * 'fgiCount' filesGenerateIds     :: FilesGenerateIds filesGenerateIds =-    FilesGenerateIds+    FilesGenerateIds'     { _fgiSpace = "drive"-    , _fgiMaxResults = 10+    , _fgiCount = 10     }  -- | The space in which the IDs can be used to create new files. Supported@@ -79,18 +79,20 @@ fgiSpace :: Lens' FilesGenerateIds Text fgiSpace = lens _fgiSpace (\ s a -> s{_fgiSpace = a}) --- | Maximum number of IDs to return.-fgiMaxResults :: Lens' FilesGenerateIds Int32-fgiMaxResults-  = lens _fgiMaxResults-      (\ s a -> s{_fgiMaxResults = a})-      . _Coerce+-- | The number of IDs to return.+fgiCount :: Lens' FilesGenerateIds Int32+fgiCount+  = lens _fgiCount (\ s a -> s{_fgiCount = a}) .+      _Coerce  instance GoogleRequest FilesGenerateIds where         type Rs FilesGenerateIds = GeneratedIds-        requestClient FilesGenerateIds{..}-          = go (Just _fgiSpace) (Just _fgiMaxResults)-              (Just AltJSON)+        type Scopes FilesGenerateIds =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient FilesGenerateIds'{..}+          = go (Just _fgiSpace) (Just _fgiCount) (Just AltJSON)               driveService           where go                   = buildClient
gen/Network/Google/Resource/Drive/Files/Get.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.Get--- Copyright   : (c) 2015 Brendan Hay+-- 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 file\'s metadata by ID.+-- Gets a file\'s metadata or content by ID. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.get@. module Network.Google.Resource.Drive.Files.Get@@ -33,11 +33,8 @@     , FilesGet      -- * Request Lenses-    , fgUpdateViewedDate-    , fgProjection     , fgAcknowledgeAbuse     , fgFileId-    , fgRevisionId     ) where  import           Network.Google.Drive.Types@@ -47,98 +44,67 @@ -- 'FilesGet' request conforms to. type FilesGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>-             QueryParam "updateViewedDate" Bool :>-               QueryParam "projection" FilesGetProjection :>-                 QueryParam "acknowledgeAbuse" Bool :>-                   QueryParam "revisionId" Text :>-                     QueryParam "alt" AltJSON :> Get '[JSON] File+             QueryParam "acknowledgeAbuse" Bool :>+               QueryParam "alt" AltJSON :> Get '[JSON] File        :<|>        "drive" :>-         "v2" :>+         "v3" :>            "files" :>              Capture "fileId" Text :>-               QueryParam "updateViewedDate" Bool :>-                 QueryParam "projection" FilesGetProjection :>-                   QueryParam "acknowledgeAbuse" Bool :>-                     QueryParam "revisionId" Text :>-                       QueryParam "alt" AltMedia :>-                         Get '[OctetStream] Stream+               QueryParam "acknowledgeAbuse" Bool :>+                 QueryParam "alt" AltMedia :>+                   Get '[OctetStream] Stream --- | Gets a file\'s metadata by ID.+-- | Gets a file\'s metadata or content by ID. -- -- /See:/ 'filesGet' smart constructor.-data FilesGet = FilesGet-    { _fgUpdateViewedDate :: !Bool-    , _fgProjection       :: !(Maybe FilesGetProjection)-    , _fgAcknowledgeAbuse :: !Bool+data FilesGet = FilesGet'+    { _fgAcknowledgeAbuse :: !Bool     , _fgFileId           :: !Text-    , _fgRevisionId       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'fgUpdateViewedDate'------ * 'fgProjection'--- -- * 'fgAcknowledgeAbuse' -- -- * 'fgFileId'------ * 'fgRevisionId' filesGet     :: Text -- ^ 'fgFileId'     -> FilesGet filesGet pFgFileId_ =-    FilesGet-    { _fgUpdateViewedDate = False-    , _fgProjection = Nothing-    , _fgAcknowledgeAbuse = False+    FilesGet'+    { _fgAcknowledgeAbuse = False     , _fgFileId = pFgFileId_-    , _fgRevisionId = Nothing     } --- | Deprecated: Use files.update with modifiedDateBehavior=noChange,--- updateViewedDate=true and an empty request body.-fgUpdateViewedDate :: Lens' FilesGet Bool-fgUpdateViewedDate-  = lens _fgUpdateViewedDate-      (\ s a -> s{_fgUpdateViewedDate = a})---- | This parameter is deprecated and has no function.-fgProjection :: Lens' FilesGet (Maybe FilesGetProjection)-fgProjection-  = lens _fgProjection (\ s a -> s{_fgProjection = a})- -- | Whether the user is acknowledging the risk of downloading known malware--- or other abusive files.+-- or other abusive files. This is only applicable when alt=media. fgAcknowledgeAbuse :: Lens' FilesGet Bool fgAcknowledgeAbuse   = lens _fgAcknowledgeAbuse       (\ s a -> s{_fgAcknowledgeAbuse = a}) --- | The ID for the file in question.+-- | The ID of the file. fgFileId :: Lens' FilesGet Text fgFileId = lens _fgFileId (\ s a -> s{_fgFileId = a}) --- | Specifies the Revision ID that should be downloaded. Ignored unless--- alt=media is specified.-fgRevisionId :: Lens' FilesGet (Maybe Text)-fgRevisionId-  = lens _fgRevisionId (\ s a -> s{_fgRevisionId = a})- instance GoogleRequest FilesGet where         type Rs FilesGet = File-        requestClient FilesGet{..}-          = go _fgFileId (Just _fgUpdateViewedDate)-              _fgProjection-              (Just _fgAcknowledgeAbuse)-              _fgRevisionId+        type Scopes FilesGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient FilesGet'{..}+          = go _fgFileId (Just _fgAcknowledgeAbuse)               (Just AltJSON)               driveService           where go :<|> _@@ -147,11 +113,10 @@  instance GoogleRequest (MediaDownload FilesGet) where         type Rs (MediaDownload FilesGet) = Stream-        requestClient (MediaDownload FilesGet{..})-          = go _fgFileId (Just _fgUpdateViewedDate)-              _fgProjection-              (Just _fgAcknowledgeAbuse)-              _fgRevisionId+        type Scopes (MediaDownload FilesGet) =+             Scopes FilesGet+        requestClient (MediaDownload FilesGet'{..})+          = go _fgFileId (Just _fgAcknowledgeAbuse)               (Just AltMedia)               driveService           where _ :<|> go
− gen/Network/Google/Resource/Drive/Files/Insert.hs
@@ -1,221 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Files.Insert--- Copyright   : (c) 2015 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)------ Insert a new file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.insert@.-module Network.Google.Resource.Drive.Files.Insert-    (-    -- * REST Resource-      FilesInsertResource--    -- * Creating a Request-    , filesInsert-    , FilesInsert--    -- * Request Lenses-    , fiPinned-    , fiVisibility-    , fiTimedTextLanguage-    , fiPayload-    , fiUseContentAsIndexableText-    , fiTimedTextTrackName-    , fiOCRLanguage-    , fiConvert-    , fiOCR-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.files.insert@ method which the--- 'FilesInsert' request conforms to.-type FilesInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           QueryParam "pinned" Bool :>-             QueryParam "visibility" FilesInsertVisibility :>-               QueryParam "timedTextLanguage" Text :>-                 QueryParam "useContentAsIndexableText" Bool :>-                   QueryParam "timedTextTrackName" Text :>-                     QueryParam "ocrLanguage" Text :>-                       QueryParam "convert" Bool :>-                         QueryParam "ocr" Bool :>-                           QueryParam "alt" AltJSON :>-                             ReqBody '[JSON] File :> Post '[JSON] File-       :<|>-       "upload" :>-         "drive" :>-           "v2" :>-             "files" :>-               QueryParam "pinned" Bool :>-                 QueryParam "visibility" FilesInsertVisibility :>-                   QueryParam "timedTextLanguage" Text :>-                     QueryParam "useContentAsIndexableText" Bool :>-                       QueryParam "timedTextTrackName" Text :>-                         QueryParam "ocrLanguage" Text :>-                           QueryParam "convert" Bool :>-                             QueryParam "ocr" Bool :>-                               QueryParam "alt" AltJSON :>-                                 QueryParam "uploadType" AltMedia :>-                                   MultipartRelated '[JSON] File RequestBody :>-                                     Post '[JSON] File---- | Insert a new file.------ /See:/ 'filesInsert' smart constructor.-data FilesInsert = FilesInsert-    { _fiPinned                    :: !Bool-    , _fiVisibility                :: !FilesInsertVisibility-    , _fiTimedTextLanguage         :: !(Maybe Text)-    , _fiPayload                   :: !File-    , _fiUseContentAsIndexableText :: !Bool-    , _fiTimedTextTrackName        :: !(Maybe Text)-    , _fiOCRLanguage               :: !(Maybe Text)-    , _fiConvert                   :: !Bool-    , _fiOCR                       :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilesInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fiPinned'------ * 'fiVisibility'------ * 'fiTimedTextLanguage'------ * 'fiPayload'------ * 'fiUseContentAsIndexableText'------ * 'fiTimedTextTrackName'------ * 'fiOCRLanguage'------ * 'fiConvert'------ * 'fiOCR'-filesInsert-    :: File -- ^ 'fiPayload'-    -> FilesInsert-filesInsert pFiPayload_ =-    FilesInsert-    { _fiPinned = False-    , _fiVisibility = Default-    , _fiTimedTextLanguage = Nothing-    , _fiPayload = pFiPayload_-    , _fiUseContentAsIndexableText = False-    , _fiTimedTextTrackName = Nothing-    , _fiOCRLanguage = Nothing-    , _fiConvert = False-    , _fiOCR = False-    }---- | Whether to pin the head revision of the uploaded file. A file can have a--- maximum of 200 pinned revisions.-fiPinned :: Lens' FilesInsert Bool-fiPinned = lens _fiPinned (\ s a -> s{_fiPinned = a})---- | The visibility of the new file. This parameter is only relevant when--- convert=false.-fiVisibility :: Lens' FilesInsert FilesInsertVisibility-fiVisibility-  = lens _fiVisibility (\ s a -> s{_fiVisibility = a})---- | The language of the timed text.-fiTimedTextLanguage :: Lens' FilesInsert (Maybe Text)-fiTimedTextLanguage-  = lens _fiTimedTextLanguage-      (\ s a -> s{_fiTimedTextLanguage = a})---- | Multipart request metadata.-fiPayload :: Lens' FilesInsert File-fiPayload-  = lens _fiPayload (\ s a -> s{_fiPayload = a})---- | Whether to use the content as indexable text.-fiUseContentAsIndexableText :: Lens' FilesInsert Bool-fiUseContentAsIndexableText-  = lens _fiUseContentAsIndexableText-      (\ s a -> s{_fiUseContentAsIndexableText = a})---- | The timed text track name.-fiTimedTextTrackName :: Lens' FilesInsert (Maybe Text)-fiTimedTextTrackName-  = lens _fiTimedTextTrackName-      (\ s a -> s{_fiTimedTextTrackName = a})---- | If ocr is true, hints at the language to use. Valid values are BCP 47--- codes.-fiOCRLanguage :: Lens' FilesInsert (Maybe Text)-fiOCRLanguage-  = lens _fiOCRLanguage-      (\ s a -> s{_fiOCRLanguage = a})---- | Whether to convert this file to the corresponding Google Docs format.-fiConvert :: Lens' FilesInsert Bool-fiConvert-  = lens _fiConvert (\ s a -> s{_fiConvert = a})---- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.-fiOCR :: Lens' FilesInsert Bool-fiOCR = lens _fiOCR (\ s a -> s{_fiOCR = a})--instance GoogleRequest FilesInsert where-        type Rs FilesInsert = File-        requestClient FilesInsert{..}-          = go (Just _fiPinned) (Just _fiVisibility)-              _fiTimedTextLanguage-              (Just _fiUseContentAsIndexableText)-              _fiTimedTextTrackName-              _fiOCRLanguage-              (Just _fiConvert)-              (Just _fiOCR)-              (Just AltJSON)-              _fiPayload-              driveService-          where go :<|> _-                  = buildClient (Proxy :: Proxy FilesInsertResource)-                      mempty--instance GoogleRequest (MediaUpload FilesInsert)-         where-        type Rs (MediaUpload FilesInsert) = File-        requestClient (MediaUpload FilesInsert{..} body)-          = go (Just _fiPinned) (Just _fiVisibility)-              _fiTimedTextLanguage-              (Just _fiUseContentAsIndexableText)-              _fiTimedTextTrackName-              _fiOCRLanguage-              (Just _fiConvert)-              (Just _fiOCR)-              (Just AltJSON)-              (Just AltMedia)-              _fiPayload-              body-              driveService-          where _ :<|> go-                  = buildClient (Proxy :: Proxy FilesInsertResource)-                      mempty
gen/Network/Google/Resource/Drive/Files/List.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.List--- Copyright   : (c) 2015 Brendan Hay+-- 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 files.+-- Lists or searches files. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.list@. module Network.Google.Resource.Drive.Files.List@@ -36,10 +36,9 @@     , flOrderBy     , flQ     , flSpaces-    , flProjection     , flCorpus     , flPageToken-    , flMaxResults+    , flPageSize     ) where  import           Network.Google.Drive.Types@@ -49,28 +48,26 @@ -- 'FilesList' request conforms to. type FilesListResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            QueryParam "orderBy" Text :>              QueryParam "q" Text :>                QueryParam "spaces" Text :>-                 QueryParam "projection" FilesListProjection :>-                   QueryParam "corpus" FilesListCorpus :>-                     QueryParam "pageToken" Text :>-                       QueryParam "maxResults" (Textual Int32) :>-                         QueryParam "alt" AltJSON :> Get '[JSON] FileList+                 QueryParam "corpus" FilesListCorpus :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "alt" AltJSON :> Get '[JSON] FileList --- | Lists the user\'s files.+-- | Lists or searches files. -- -- /See:/ 'filesList' smart constructor.-data FilesList = FilesList-    { _flOrderBy    :: !(Maybe Text)-    , _flQ          :: !(Maybe Text)-    , _flSpaces     :: !(Maybe Text)-    , _flProjection :: !(Maybe FilesListProjection)-    , _flCorpus     :: !(Maybe FilesListCorpus)-    , _flPageToken  :: !(Maybe Text)-    , _flMaxResults :: !(Textual Int32)+data FilesList = FilesList'+    { _flOrderBy   :: !(Maybe Text)+    , _flQ         :: !(Maybe Text)+    , _flSpaces    :: !Text+    , _flCorpus    :: !FilesListCorpus+    , _flPageToken :: !(Maybe Text)+    , _flPageSize  :: !(Textual Int32)     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesList' with the minimum fields required to make a request.@@ -83,74 +80,77 @@ -- -- * 'flSpaces' ----- * 'flProjection'--- -- * 'flCorpus' -- -- * 'flPageToken' ----- * 'flMaxResults'+-- * 'flPageSize' filesList     :: FilesList filesList =-    FilesList+    FilesList'     { _flOrderBy = Nothing     , _flQ = Nothing-    , _flSpaces = Nothing-    , _flProjection = Nothing-    , _flCorpus = Nothing+    , _flSpaces = "drive"+    , _flCorpus = FLCUser     , _flPageToken = Nothing-    , _flMaxResults = 100+    , _flPageSize = 100     } --- | A comma-separated list of sort keys. Valid keys are \'createdDate\',--- \'folder\', \'lastViewedByMeDate\', \'modifiedByMeDate\',--- \'modifiedDate\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeDate\',--- \'starred\', and \'title\'. Each key sorts ascending by default, but may--- be reversed with the \'desc\' modifier. Example usage:--- ?orderBy=folder,modifiedDate desc,title. Please note that there is 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:+-- ?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. flOrderBy :: Lens' FilesList (Maybe Text) flOrderBy   = lens _flOrderBy (\ s a -> s{_flOrderBy = a}) --- | Query string for searching files.+-- | 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}) --- | A comma-separated list of spaces to query. Supported values are--- \'drive\', \'appDataFolder\' and \'photos\'.-flSpaces :: Lens' FilesList (Maybe Text)+-- | 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}) --- | This parameter is deprecated and has no function.-flProjection :: Lens' FilesList (Maybe FilesListProjection)-flProjection-  = lens _flProjection (\ s a -> s{_flProjection = a})---- | The body of items (files\/documents) to which the query applies.-flCorpus :: Lens' FilesList (Maybe FilesListCorpus)+-- | The source of files to list.+flCorpus :: Lens' FilesList FilesListCorpus flCorpus = lens _flCorpus (\ s a -> s{_flCorpus = a}) --- | Page token for files.+-- | 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. flPageToken :: Lens' FilesList (Maybe Text) flPageToken   = lens _flPageToken (\ s a -> s{_flPageToken = a}) --- | Maximum number of files to return.-flMaxResults :: Lens' FilesList Int32-flMaxResults-  = lens _flMaxResults (\ s a -> s{_flMaxResults = a})-      . _Coerce+-- | The maximum number of files to return per page.+flPageSize :: Lens' FilesList Int32+flPageSize+  = lens _flPageSize (\ s a -> s{_flPageSize = a}) .+      _Coerce  instance GoogleRequest FilesList where         type Rs FilesList = FileList-        requestClient FilesList{..}-          = go _flOrderBy _flQ _flSpaces _flProjection-              _flCorpus+        type Scopes FilesList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient FilesList'{..}+          = go _flOrderBy _flQ (Just _flSpaces)+              (Just _flCorpus)               _flPageToken-              (Just _flMaxResults)+              (Just _flPageSize)               (Just AltJSON)               driveService           where go
− gen/Network/Google/Resource/Drive/Files/Patch.hs
@@ -1,271 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Files.Patch--- Copyright   : (c) 2015 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 file metadata and\/or content. This method supports patch--- semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.patch@.-module Network.Google.Resource.Drive.Files.Patch-    (-    -- * REST Resource-      FilesPatchResource--    -- * Creating a Request-    , filesPatch-    , FilesPatch--    -- * Request Lenses-    , fpNewRevision-    , fpPinned-    , fpTimedTextLanguage-    , fpPayload-    , fpUpdateViewedDate-    , fpRemoveParents-    , fpModifiedDateBehavior-    , fpUseContentAsIndexableText-    , fpTimedTextTrackName-    , fpOCRLanguage-    , fpConvert-    , fpSetModifiedDate-    , fpFileId-    , fpAddParents-    , fpOCR-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.files.patch@ method which the--- 'FilesPatch' request conforms to.-type FilesPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             QueryParam "newRevision" Bool :>-               QueryParam "pinned" Bool :>-                 QueryParam "timedTextLanguage" Text :>-                   QueryParam "updateViewedDate" Bool :>-                     QueryParam "removeParents" Text :>-                       QueryParam "modifiedDateBehavior"-                         FilesPatchModifiedDateBehavior-                         :>-                         QueryParam "useContentAsIndexableText" Bool :>-                           QueryParam "timedTextTrackName" Text :>-                             QueryParam "ocrLanguage" Text :>-                               QueryParam "convert" Bool :>-                                 QueryParam "setModifiedDate" Bool :>-                                   QueryParam "addParents" Text :>-                                     QueryParam "ocr" Bool :>-                                       QueryParam "alt" AltJSON :>-                                         ReqBody '[JSON] File :>-                                           Patch '[JSON] File---- | Updates file metadata and\/or content. This method supports patch--- semantics.------ /See:/ 'filesPatch' smart constructor.-data FilesPatch = FilesPatch-    { _fpNewRevision               :: !Bool-    , _fpPinned                    :: !Bool-    , _fpTimedTextLanguage         :: !(Maybe Text)-    , _fpPayload                   :: !File-    , _fpUpdateViewedDate          :: !Bool-    , _fpRemoveParents             :: !(Maybe Text)-    , _fpModifiedDateBehavior      :: !(Maybe FilesPatchModifiedDateBehavior)-    , _fpUseContentAsIndexableText :: !Bool-    , _fpTimedTextTrackName        :: !(Maybe Text)-    , _fpOCRLanguage               :: !(Maybe Text)-    , _fpConvert                   :: !Bool-    , _fpSetModifiedDate           :: !Bool-    , _fpFileId                    :: !Text-    , _fpAddParents                :: !(Maybe Text)-    , _fpOCR                       :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilesPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fpNewRevision'------ * 'fpPinned'------ * 'fpTimedTextLanguage'------ * 'fpPayload'------ * 'fpUpdateViewedDate'------ * 'fpRemoveParents'------ * 'fpModifiedDateBehavior'------ * 'fpUseContentAsIndexableText'------ * 'fpTimedTextTrackName'------ * 'fpOCRLanguage'------ * 'fpConvert'------ * 'fpSetModifiedDate'------ * 'fpFileId'------ * 'fpAddParents'------ * 'fpOCR'-filesPatch-    :: File -- ^ 'fpPayload'-    -> Text -- ^ 'fpFileId'-    -> FilesPatch-filesPatch pFpPayload_ pFpFileId_ =-    FilesPatch-    { _fpNewRevision = True-    , _fpPinned = False-    , _fpTimedTextLanguage = Nothing-    , _fpPayload = pFpPayload_-    , _fpUpdateViewedDate = True-    , _fpRemoveParents = Nothing-    , _fpModifiedDateBehavior = Nothing-    , _fpUseContentAsIndexableText = False-    , _fpTimedTextTrackName = Nothing-    , _fpOCRLanguage = Nothing-    , _fpConvert = False-    , _fpSetModifiedDate = False-    , _fpFileId = pFpFileId_-    , _fpAddParents = Nothing-    , _fpOCR = False-    }---- | Whether a blob upload should create a new revision. If false, the blob--- data in the current head revision is replaced. If true or not set, a new--- blob is created as head revision, and previous unpinned revisions are--- preserved for a short period of time. Pinned revisions are stored--- indefinitely, using additional storage quota, up to a maximum of 200--- revisions. For details on how revisions are retained, see the Drive Help--- Center.-fpNewRevision :: Lens' FilesPatch Bool-fpNewRevision-  = lens _fpNewRevision-      (\ s a -> s{_fpNewRevision = a})---- | Whether to pin the new revision. A file can have a maximum of 200 pinned--- revisions.-fpPinned :: Lens' FilesPatch Bool-fpPinned = lens _fpPinned (\ s a -> s{_fpPinned = a})---- | The language of the timed text.-fpTimedTextLanguage :: Lens' FilesPatch (Maybe Text)-fpTimedTextLanguage-  = lens _fpTimedTextLanguage-      (\ s a -> s{_fpTimedTextLanguage = a})---- | Multipart request metadata.-fpPayload :: Lens' FilesPatch File-fpPayload-  = lens _fpPayload (\ s a -> s{_fpPayload = a})---- | Whether to update the view date after successfully updating the file.-fpUpdateViewedDate :: Lens' FilesPatch Bool-fpUpdateViewedDate-  = lens _fpUpdateViewedDate-      (\ s a -> s{_fpUpdateViewedDate = a})---- | Comma-separated list of parent IDs to remove.-fpRemoveParents :: Lens' FilesPatch (Maybe Text)-fpRemoveParents-  = lens _fpRemoveParents-      (\ s a -> s{_fpRemoveParents = a})---- | Determines the behavior in which modifiedDate is updated. This overrides--- setModifiedDate.-fpModifiedDateBehavior :: Lens' FilesPatch (Maybe FilesPatchModifiedDateBehavior)-fpModifiedDateBehavior-  = lens _fpModifiedDateBehavior-      (\ s a -> s{_fpModifiedDateBehavior = a})---- | Whether to use the content as indexable text.-fpUseContentAsIndexableText :: Lens' FilesPatch Bool-fpUseContentAsIndexableText-  = lens _fpUseContentAsIndexableText-      (\ s a -> s{_fpUseContentAsIndexableText = a})---- | The timed text track name.-fpTimedTextTrackName :: Lens' FilesPatch (Maybe Text)-fpTimedTextTrackName-  = lens _fpTimedTextTrackName-      (\ s a -> s{_fpTimedTextTrackName = a})---- | If ocr is true, hints at the language to use. Valid values are BCP 47--- codes.-fpOCRLanguage :: Lens' FilesPatch (Maybe Text)-fpOCRLanguage-  = lens _fpOCRLanguage-      (\ s a -> s{_fpOCRLanguage = a})---- | This parameter is deprecated and has no function.-fpConvert :: Lens' FilesPatch Bool-fpConvert-  = lens _fpConvert (\ s a -> s{_fpConvert = a})---- | Whether to set the modified date with the supplied modified date.-fpSetModifiedDate :: Lens' FilesPatch Bool-fpSetModifiedDate-  = lens _fpSetModifiedDate-      (\ s a -> s{_fpSetModifiedDate = a})---- | The ID of the file to update.-fpFileId :: Lens' FilesPatch Text-fpFileId = lens _fpFileId (\ s a -> s{_fpFileId = a})---- | Comma-separated list of parent IDs to add.-fpAddParents :: Lens' FilesPatch (Maybe Text)-fpAddParents-  = lens _fpAddParents (\ s a -> s{_fpAddParents = a})---- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.-fpOCR :: Lens' FilesPatch Bool-fpOCR = lens _fpOCR (\ s a -> s{_fpOCR = a})--instance GoogleRequest FilesPatch where-        type Rs FilesPatch = File-        requestClient FilesPatch{..}-          = go _fpFileId (Just _fpNewRevision) (Just _fpPinned)-              _fpTimedTextLanguage-              (Just _fpUpdateViewedDate)-              _fpRemoveParents-              _fpModifiedDateBehavior-              (Just _fpUseContentAsIndexableText)-              _fpTimedTextTrackName-              _fpOCRLanguage-              (Just _fpConvert)-              (Just _fpSetModifiedDate)-              _fpAddParents-              (Just _fpOCR)-              (Just AltJSON)-              _fpPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy FilesPatchResource)-                      mempty
− gen/Network/Google/Resource/Drive/Files/Touch.hs
@@ -1,82 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Files.Touch--- Copyright   : (c) 2015 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)------ Set the file\'s updated time to the current server time.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.touch@.-module Network.Google.Resource.Drive.Files.Touch-    (-    -- * REST Resource-      FilesTouchResource--    -- * Creating a Request-    , filesTouch-    , FilesTouch--    -- * Request Lenses-    , ftFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.files.touch@ method which the--- 'FilesTouch' request conforms to.-type FilesTouchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "touch" :>-               QueryParam "alt" AltJSON :> Post '[JSON] File---- | Set the file\'s updated time to the current server time.------ /See:/ 'filesTouch' smart constructor.-newtype FilesTouch = FilesTouch-    { _ftFileId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilesTouch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ftFileId'-filesTouch-    :: Text -- ^ 'ftFileId'-    -> FilesTouch-filesTouch pFtFileId_ =-    FilesTouch-    { _ftFileId = pFtFileId_-    }---- | The ID of the file to update.-ftFileId :: Lens' FilesTouch Text-ftFileId = lens _ftFileId (\ s a -> s{_ftFileId = a})--instance GoogleRequest FilesTouch where-        type Rs FilesTouch = File-        requestClient FilesTouch{..}-          = go _ftFileId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy FilesTouchResource)-                      mempty
− gen/Network/Google/Resource/Drive/Files/Trash.hs
@@ -1,85 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Files.Trash--- Copyright   : (c) 2015 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)------ Moves a file to the trash. The currently authenticated user must own the--- file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.trash@.-module Network.Google.Resource.Drive.Files.Trash-    (-    -- * REST Resource-      FilesTrashResource--    -- * Creating a Request-    , filesTrash-    , FilesTrash--    -- * Request Lenses-    , filFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.files.trash@ method which the--- 'FilesTrash' request conforms to.-type FilesTrashResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "trash" :>-               QueryParam "alt" AltJSON :> Post '[JSON] File---- | Moves a file to the trash. The currently authenticated user must own the--- file.------ /See:/ 'filesTrash' smart constructor.-newtype FilesTrash = FilesTrash-    { _filFileId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilesTrash' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'filFileId'-filesTrash-    :: Text -- ^ 'filFileId'-    -> FilesTrash-filesTrash pFilFileId_ =-    FilesTrash-    { _filFileId = pFilFileId_-    }---- | The ID of the file to trash.-filFileId :: Lens' FilesTrash Text-filFileId-  = lens _filFileId (\ s a -> s{_filFileId = a})--instance GoogleRequest FilesTrash where-        type Rs FilesTrash = File-        requestClient FilesTrash{..}-          = go _filFileId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy FilesTrashResource)-                      mempty
− gen/Network/Google/Resource/Drive/Files/Untrash.hs
@@ -1,82 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Files.Untrash--- Copyright   : (c) 2015 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Restores a file from the trash.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.untrash@.-module Network.Google.Resource.Drive.Files.Untrash-    (-    -- * REST Resource-      FilesUntrashResource--    -- * Creating a Request-    , filesUntrash-    , FilesUntrash--    -- * Request Lenses-    , fFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.files.untrash@ method which the--- 'FilesUntrash' request conforms to.-type FilesUntrashResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "untrash" :>-               QueryParam "alt" AltJSON :> Post '[JSON] File---- | Restores a file from the trash.------ /See:/ 'filesUntrash' smart constructor.-newtype FilesUntrash = FilesUntrash-    { _fFileId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilesUntrash' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fFileId'-filesUntrash-    :: Text -- ^ 'fFileId'-    -> FilesUntrash-filesUntrash pFFileId_ =-    FilesUntrash-    { _fFileId = pFFileId_-    }---- | The ID of the file to untrash.-fFileId :: Lens' FilesUntrash Text-fFileId = lens _fFileId (\ s a -> s{_fFileId = a})--instance GoogleRequest FilesUntrash where-        type Rs FilesUntrash = File-        requestClient FilesUntrash{..}-          = go _fFileId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy FilesUntrashResource)-                      mempty
gen/Network/Google/Resource/Drive/Files/Update.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.Update--- Copyright   : (c) 2015 Brendan Hay+-- 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 file metadata and\/or content.+-- Updates a file\'s metadata and\/or content with patch semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.update@. module Network.Google.Resource.Drive.Files.Update@@ -33,21 +33,13 @@     , FilesUpdate      -- * Request Lenses-    , fuNewRevision-    , fuPinned-    , fuTimedTextLanguage     , fuPayload-    , fuUpdateViewedDate     , fuRemoveParents-    , fuModifiedDateBehavior     , fuUseContentAsIndexableText-    , fuTimedTextTrackName     , fuOCRLanguage-    , fuConvert-    , fuSetModifiedDate+    , fuKeepRevisionForever     , fuFileId     , fuAddParents-    , fuOCR     ) where  import           Network.Google.Drive.Types@@ -57,236 +49,130 @@ -- 'FilesUpdate' request conforms to. type FilesUpdateResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>-             QueryParam "newRevision" Bool :>-               QueryParam "pinned" Bool :>-                 QueryParam "timedTextLanguage" Text :>-                   QueryParam "updateViewedDate" Bool :>-                     QueryParam "removeParents" Text :>-                       QueryParam "modifiedDateBehavior"-                         FilesUpdateModifiedDateBehavior-                         :>-                         QueryParam "useContentAsIndexableText" Bool :>-                           QueryParam "timedTextTrackName" Text :>-                             QueryParam "ocrLanguage" Text :>-                               QueryParam "convert" Bool :>-                                 QueryParam "setModifiedDate" Bool :>-                                   QueryParam "addParents" Text :>-                                     QueryParam "ocr" Bool :>-                                       QueryParam "alt" AltJSON :>-                                         ReqBody '[JSON] File :>-                                           Put '[JSON] File+             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" :>-           "v2" :>+           "v3" :>              "files" :>                Capture "fileId" Text :>-                 QueryParam "newRevision" Bool :>-                   QueryParam "pinned" Bool :>-                     QueryParam "timedTextLanguage" Text :>-                       QueryParam "updateViewedDate" Bool :>-                         QueryParam "removeParents" Text :>-                           QueryParam "modifiedDateBehavior"-                             FilesUpdateModifiedDateBehavior-                             :>-                             QueryParam "useContentAsIndexableText" Bool :>-                               QueryParam "timedTextTrackName" Text :>-                                 QueryParam "ocrLanguage" Text :>-                                   QueryParam "convert" Bool :>-                                     QueryParam "setModifiedDate" Bool :>-                                       QueryParam "addParents" Text :>-                                         QueryParam "ocr" Bool :>-                                           QueryParam "alt" AltJSON :>-                                             QueryParam "uploadType" AltMedia :>-                                               MultipartRelated '[JSON] File-                                                 RequestBody-                                                 :> Put '[JSON] File+                 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 --- | Updates file metadata and\/or content.+-- | Updates a file\'s metadata and\/or content with patch semantics. -- -- /See:/ 'filesUpdate' smart constructor.-data FilesUpdate = FilesUpdate-    { _fuNewRevision               :: !Bool-    , _fuPinned                    :: !Bool-    , _fuTimedTextLanguage         :: !(Maybe Text)-    , _fuPayload                   :: !File-    , _fuUpdateViewedDate          :: !Bool+data FilesUpdate = FilesUpdate'+    { _fuPayload                   :: !File     , _fuRemoveParents             :: !(Maybe Text)-    , _fuModifiedDateBehavior      :: !(Maybe FilesUpdateModifiedDateBehavior)     , _fuUseContentAsIndexableText :: !Bool-    , _fuTimedTextTrackName        :: !(Maybe Text)     , _fuOCRLanguage               :: !(Maybe Text)-    , _fuConvert                   :: !Bool-    , _fuSetModifiedDate           :: !Bool+    , _fuKeepRevisionForever       :: !Bool     , _fuFileId                    :: !Text     , _fuAddParents                :: !(Maybe Text)-    , _fuOCR                       :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'fuNewRevision'------ * 'fuPinned'------ * 'fuTimedTextLanguage'--- -- * 'fuPayload' ----- * 'fuUpdateViewedDate'--- -- * 'fuRemoveParents' ----- * 'fuModifiedDateBehavior'--- -- * 'fuUseContentAsIndexableText' ----- * 'fuTimedTextTrackName'--- -- * 'fuOCRLanguage' ----- * 'fuConvert'------ * 'fuSetModifiedDate'+-- * 'fuKeepRevisionForever' -- -- * 'fuFileId' -- -- * 'fuAddParents'------ * 'fuOCR' filesUpdate     :: File -- ^ 'fuPayload'     -> Text -- ^ 'fuFileId'     -> FilesUpdate filesUpdate pFuPayload_ pFuFileId_ =-    FilesUpdate-    { _fuNewRevision = True-    , _fuPinned = False-    , _fuTimedTextLanguage = Nothing-    , _fuPayload = pFuPayload_-    , _fuUpdateViewedDate = True+    FilesUpdate'+    { _fuPayload = pFuPayload_     , _fuRemoveParents = Nothing-    , _fuModifiedDateBehavior = Nothing     , _fuUseContentAsIndexableText = False-    , _fuTimedTextTrackName = Nothing     , _fuOCRLanguage = Nothing-    , _fuConvert = False-    , _fuSetModifiedDate = False+    , _fuKeepRevisionForever = False     , _fuFileId = pFuFileId_     , _fuAddParents = Nothing-    , _fuOCR = False     } --- | Whether a blob upload should create a new revision. If false, the blob--- data in the current head revision is replaced. If true or not set, a new--- blob is created as head revision, and previous unpinned revisions are--- preserved for a short period of time. Pinned revisions are stored--- indefinitely, using additional storage quota, up to a maximum of 200--- revisions. For details on how revisions are retained, see the Drive Help--- Center.-fuNewRevision :: Lens' FilesUpdate Bool-fuNewRevision-  = lens _fuNewRevision-      (\ s a -> s{_fuNewRevision = a})---- | Whether to pin the new revision. A file can have a maximum of 200 pinned--- revisions.-fuPinned :: Lens' FilesUpdate Bool-fuPinned = lens _fuPinned (\ s a -> s{_fuPinned = a})---- | The language of the timed text.-fuTimedTextLanguage :: Lens' FilesUpdate (Maybe Text)-fuTimedTextLanguage-  = lens _fuTimedTextLanguage-      (\ s a -> s{_fuTimedTextLanguage = a})- -- | Multipart request metadata. fuPayload :: Lens' FilesUpdate File fuPayload   = lens _fuPayload (\ s a -> s{_fuPayload = a}) --- | Whether to update the view date after successfully updating the file.-fuUpdateViewedDate :: Lens' FilesUpdate Bool-fuUpdateViewedDate-  = lens _fuUpdateViewedDate-      (\ s a -> s{_fuUpdateViewedDate = a})---- | Comma-separated list of parent IDs to remove.+-- | A comma-separated list of parent IDs to remove. fuRemoveParents :: Lens' FilesUpdate (Maybe Text) fuRemoveParents   = lens _fuRemoveParents       (\ s a -> s{_fuRemoveParents = a}) --- | Determines the behavior in which modifiedDate is updated. This overrides--- setModifiedDate.-fuModifiedDateBehavior :: Lens' FilesUpdate (Maybe FilesUpdateModifiedDateBehavior)-fuModifiedDateBehavior-  = lens _fuModifiedDateBehavior-      (\ s a -> s{_fuModifiedDateBehavior = a})---- | Whether to use the content as indexable text.+-- | Whether to use the uploaded content as indexable text. fuUseContentAsIndexableText :: Lens' FilesUpdate Bool fuUseContentAsIndexableText   = lens _fuUseContentAsIndexableText       (\ s a -> s{_fuUseContentAsIndexableText = a}) --- | The timed text track name.-fuTimedTextTrackName :: Lens' FilesUpdate (Maybe Text)-fuTimedTextTrackName-  = lens _fuTimedTextTrackName-      (\ s a -> s{_fuTimedTextTrackName = a})---- | If ocr is true, hints at the language to use. Valid values are BCP 47--- codes.+-- | A language hint for OCR processing during image import (ISO 639-1 code). fuOCRLanguage :: Lens' FilesUpdate (Maybe Text) fuOCRLanguage   = lens _fuOCRLanguage       (\ s a -> s{_fuOCRLanguage = a}) --- | This parameter is deprecated and has no function.-fuConvert :: Lens' FilesUpdate Bool-fuConvert-  = lens _fuConvert (\ s a -> s{_fuConvert = a})---- | Whether to set the modified date with the supplied modified date.-fuSetModifiedDate :: Lens' FilesUpdate Bool-fuSetModifiedDate-  = lens _fuSetModifiedDate-      (\ s a -> s{_fuSetModifiedDate = a})+-- | Whether to set the \'keepForever\' field in the new head revision. This+-- is only applicable to files with binary content in Drive.+fuKeepRevisionForever :: Lens' FilesUpdate Bool+fuKeepRevisionForever+  = lens _fuKeepRevisionForever+      (\ s a -> s{_fuKeepRevisionForever = a}) --- | The ID of the file to update.+-- | The ID of the file. fuFileId :: Lens' FilesUpdate Text fuFileId = lens _fuFileId (\ s a -> s{_fuFileId = a}) --- | Comma-separated list of parent IDs to add.+-- | A comma-separated list of parent IDs to add. fuAddParents :: Lens' FilesUpdate (Maybe Text) fuAddParents   = lens _fuAddParents (\ s a -> s{_fuAddParents = a}) --- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.-fuOCR :: Lens' FilesUpdate Bool-fuOCR = lens _fuOCR (\ s a -> s{_fuOCR = a})- instance GoogleRequest FilesUpdate where         type Rs FilesUpdate = File-        requestClient FilesUpdate{..}-          = go _fuFileId (Just _fuNewRevision) (Just _fuPinned)-              _fuTimedTextLanguage-              (Just _fuUpdateViewedDate)-              _fuRemoveParents-              _fuModifiedDateBehavior+        type Scopes FilesUpdate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.scripts"]+        requestClient FilesUpdate'{..}+          = go _fuFileId _fuRemoveParents               (Just _fuUseContentAsIndexableText)-              _fuTimedTextTrackName               _fuOCRLanguage-              (Just _fuConvert)-              (Just _fuSetModifiedDate)+              (Just _fuKeepRevisionForever)               _fuAddParents-              (Just _fuOCR)               (Just AltJSON)               _fuPayload               driveService@@ -297,21 +183,16 @@ instance GoogleRequest (MediaUpload FilesUpdate)          where         type Rs (MediaUpload FilesUpdate) = File-        requestClient (MediaUpload FilesUpdate{..} body)-          = go _fuFileId (Just _fuNewRevision) (Just _fuPinned)-              _fuTimedTextLanguage-              (Just _fuUpdateViewedDate)-              _fuRemoveParents-              _fuModifiedDateBehavior+        type Scopes (MediaUpload FilesUpdate) =+             Scopes FilesUpdate+        requestClient (MediaUpload FilesUpdate'{..} body)+          = go _fuFileId _fuRemoveParents               (Just _fuUseContentAsIndexableText)-              _fuTimedTextTrackName               _fuOCRLanguage-              (Just _fuConvert)-              (Just _fuSetModifiedDate)+              (Just _fuKeepRevisionForever)               _fuAddParents-              (Just _fuOCR)               (Just AltJSON)-              (Just AltMedia)+              (Just Multipart)               _fuPayload               body               driveService
gen/Network/Google/Resource/Drive/Files/Watch.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Files.Watch--- Copyright   : (c) 2015 Brendan Hay+-- 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) ----- Subscribe to changes on a file+-- Subscribes to changes to a file -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.watch@. module Network.Google.Resource.Drive.Files.Watch@@ -34,11 +34,8 @@      -- * Request Lenses     , fwPayload-    , fwUpdateViewedDate-    , fwProjection     , fwAcknowledgeAbuse     , fwFileId-    , fwRevisionId     ) where  import           Network.Google.Drive.Types@@ -48,39 +45,30 @@ -- 'FilesWatch' request conforms to. type FilesWatchResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "watch" :>-               QueryParam "updateViewedDate" Bool :>-                 QueryParam "projection" FilesWatchProjection :>-                   QueryParam "acknowledgeAbuse" Bool :>-                     QueryParam "revisionId" Text :>-                       QueryParam "alt" AltJSON :>-                         ReqBody '[JSON] Channel :> Post '[JSON] Channel+               QueryParam "acknowledgeAbuse" Bool :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Channel :> Post '[JSON] Channel        :<|>        "drive" :>-         "v2" :>+         "v3" :>            "files" :>              Capture "fileId" Text :>                "watch" :>-                 QueryParam "updateViewedDate" Bool :>-                   QueryParam "projection" FilesWatchProjection :>-                     QueryParam "acknowledgeAbuse" Bool :>-                       QueryParam "revisionId" Text :>-                         QueryParam "alt" AltMedia :>-                           Post '[OctetStream] Stream+                 QueryParam "acknowledgeAbuse" Bool :>+                   QueryParam "alt" AltMedia :>+                     Post '[OctetStream] Stream --- | Subscribe to changes on a file+-- | Subscribes to changes to a file -- -- /See:/ 'filesWatch' smart constructor.-data FilesWatch = FilesWatch+data FilesWatch = FilesWatch'     { _fwPayload          :: !Channel-    , _fwUpdateViewedDate :: !Bool-    , _fwProjection       :: !(Maybe FilesWatchProjection)     , _fwAcknowledgeAbuse :: !Bool     , _fwFileId           :: !Text-    , _fwRevisionId       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'FilesWatch' with the minimum fields required to make a request.@@ -89,27 +77,18 @@ -- -- * 'fwPayload' ----- * 'fwUpdateViewedDate'------ * 'fwProjection'--- -- * 'fwAcknowledgeAbuse' -- -- * 'fwFileId'------ * 'fwRevisionId' filesWatch     :: Channel -- ^ 'fwPayload'     -> Text -- ^ 'fwFileId'     -> FilesWatch filesWatch pFwPayload_ pFwFileId_ =-    FilesWatch+    FilesWatch'     { _fwPayload = pFwPayload_-    , _fwUpdateViewedDate = False-    , _fwProjection = Nothing     , _fwAcknowledgeAbuse = False     , _fwFileId = pFwFileId_-    , _fwRevisionId = Nothing     }  -- | Multipart request metadata.@@ -117,42 +96,29 @@ fwPayload   = lens _fwPayload (\ s a -> s{_fwPayload = a}) --- | Deprecated: Use files.update with modifiedDateBehavior=noChange,--- updateViewedDate=true and an empty request body.-fwUpdateViewedDate :: Lens' FilesWatch Bool-fwUpdateViewedDate-  = lens _fwUpdateViewedDate-      (\ s a -> s{_fwUpdateViewedDate = a})---- | This parameter is deprecated and has no function.-fwProjection :: Lens' FilesWatch (Maybe FilesWatchProjection)-fwProjection-  = lens _fwProjection (\ s a -> s{_fwProjection = a})- -- | Whether the user is acknowledging the risk of downloading known malware--- or other abusive files.+-- or other abusive files. This is only applicable when alt=media. fwAcknowledgeAbuse :: Lens' FilesWatch Bool fwAcknowledgeAbuse   = lens _fwAcknowledgeAbuse       (\ s a -> s{_fwAcknowledgeAbuse = a}) --- | The ID for the file in question.+-- | The ID of the file. fwFileId :: Lens' FilesWatch Text fwFileId = lens _fwFileId (\ s a -> s{_fwFileId = a}) --- | Specifies the Revision ID that should be downloaded. Ignored unless--- alt=media is specified.-fwRevisionId :: Lens' FilesWatch (Maybe Text)-fwRevisionId-  = lens _fwRevisionId (\ s a -> s{_fwRevisionId = a})- instance GoogleRequest FilesWatch where         type Rs FilesWatch = Channel-        requestClient FilesWatch{..}-          = go _fwFileId (Just _fwUpdateViewedDate)-              _fwProjection-              (Just _fwAcknowledgeAbuse)-              _fwRevisionId+        type Scopes FilesWatch =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient FilesWatch'{..}+          = go _fwFileId (Just _fwAcknowledgeAbuse)               (Just AltJSON)               _fwPayload               driveService@@ -163,11 +129,10 @@ instance GoogleRequest (MediaDownload FilesWatch)          where         type Rs (MediaDownload FilesWatch) = Stream-        requestClient (MediaDownload FilesWatch{..})-          = go _fwFileId (Just _fwUpdateViewedDate)-              _fwProjection-              (Just _fwAcknowledgeAbuse)-              _fwRevisionId+        type Scopes (MediaDownload FilesWatch) =+             Scopes FilesWatch+        requestClient (MediaDownload FilesWatch'{..})+          = go _fwFileId (Just _fwAcknowledgeAbuse)               (Just AltMedia)               driveService           where _ :<|> go
− gen/Network/Google/Resource/Drive/Parents/Delete.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Parents.Delete--- Copyright   : (c) 2015 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)------ Removes a parent from a file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.delete@.-module Network.Google.Resource.Drive.Parents.Delete-    (-    -- * REST Resource-      ParentsDeleteResource--    -- * Creating a Request-    , parentsDelete-    , ParentsDelete--    -- * Request Lenses-    , pddFileId-    , pddParentId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.parents.delete@ method which the--- 'ParentsDelete' request conforms to.-type ParentsDeleteResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "parents" :>-               Capture "parentId" Text :>-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()---- | Removes a parent from a file.------ /See:/ 'parentsDelete' smart constructor.-data ParentsDelete = ParentsDelete-    { _pddFileId   :: !Text-    , _pddParentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentsDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pddFileId'------ * 'pddParentId'-parentsDelete-    :: Text -- ^ 'pddFileId'-    -> Text -- ^ 'pddParentId'-    -> ParentsDelete-parentsDelete pPddFileId_ pPddParentId_ =-    ParentsDelete-    { _pddFileId = pPddFileId_-    , _pddParentId = pPddParentId_-    }---- | The ID of the file.-pddFileId :: Lens' ParentsDelete Text-pddFileId-  = lens _pddFileId (\ s a -> s{_pddFileId = a})---- | The ID of the parent.-pddParentId :: Lens' ParentsDelete Text-pddParentId-  = lens _pddParentId (\ s a -> s{_pddParentId = a})--instance GoogleRequest ParentsDelete where-        type Rs ParentsDelete = ()-        requestClient ParentsDelete{..}-          = go _pddFileId _pddParentId (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy ParentsDeleteResource)-                      mempty
− gen/Network/Google/Resource/Drive/Parents/Get.hs
@@ -1,97 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Parents.Get--- Copyright   : (c) 2015 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 specific parent reference.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.get@.-module Network.Google.Resource.Drive.Parents.Get-    (-    -- * REST Resource-      ParentsGetResource--    -- * Creating a Request-    , parentsGet-    , ParentsGet--    -- * Request Lenses-    , pg1FileId-    , pg1ParentId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.parents.get@ method which the--- 'ParentsGet' request conforms to.-type ParentsGetResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "parents" :>-               Capture "parentId" Text :>-                 QueryParam "alt" AltJSON :>-                   Get '[JSON] ParentReference---- | Gets a specific parent reference.------ /See:/ 'parentsGet' smart constructor.-data ParentsGet = ParentsGet-    { _pg1FileId   :: !Text-    , _pg1ParentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pg1FileId'------ * 'pg1ParentId'-parentsGet-    :: Text -- ^ 'pg1FileId'-    -> Text -- ^ 'pg1ParentId'-    -> ParentsGet-parentsGet pPg1FileId_ pPg1ParentId_ =-    ParentsGet-    { _pg1FileId = pPg1FileId_-    , _pg1ParentId = pPg1ParentId_-    }---- | The ID of the file.-pg1FileId :: Lens' ParentsGet Text-pg1FileId-  = lens _pg1FileId (\ s a -> s{_pg1FileId = a})---- | The ID of the parent.-pg1ParentId :: Lens' ParentsGet Text-pg1ParentId-  = lens _pg1ParentId (\ s a -> s{_pg1ParentId = a})--instance GoogleRequest ParentsGet where-        type Rs ParentsGet = ParentReference-        requestClient ParentsGet{..}-          = go _pg1FileId _pg1ParentId (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy ParentsGetResource)-                      mempty
− gen/Network/Google/Resource/Drive/Parents/Insert.hs
@@ -1,97 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Parents.Insert--- Copyright   : (c) 2015 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)------ Adds a parent folder for a file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.insert@.-module Network.Google.Resource.Drive.Parents.Insert-    (-    -- * REST Resource-      ParentsInsertResource--    -- * Creating a Request-    , parentsInsert-    , ParentsInsert--    -- * Request Lenses-    , paraPayload-    , paraFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.parents.insert@ method which the--- 'ParentsInsert' request conforms to.-type ParentsInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "parents" :>-               QueryParam "alt" AltJSON :>-                 ReqBody '[JSON] ParentReference :>-                   Post '[JSON] ParentReference---- | Adds a parent folder for a file.------ /See:/ 'parentsInsert' smart constructor.-data ParentsInsert = ParentsInsert-    { _paraPayload :: !ParentReference-    , _paraFileId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentsInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'paraPayload'------ * 'paraFileId'-parentsInsert-    :: ParentReference -- ^ 'paraPayload'-    -> Text -- ^ 'paraFileId'-    -> ParentsInsert-parentsInsert pParaPayload_ pParaFileId_ =-    ParentsInsert-    { _paraPayload = pParaPayload_-    , _paraFileId = pParaFileId_-    }---- | Multipart request metadata.-paraPayload :: Lens' ParentsInsert ParentReference-paraPayload-  = lens _paraPayload (\ s a -> s{_paraPayload = a})---- | The ID of the file.-paraFileId :: Lens' ParentsInsert Text-paraFileId-  = lens _paraFileId (\ s a -> s{_paraFileId = a})--instance GoogleRequest ParentsInsert where-        type Rs ParentsInsert = ParentReference-        requestClient ParentsInsert{..}-          = go _paraFileId (Just AltJSON) _paraPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy ParentsInsertResource)-                      mempty
− gen/Network/Google/Resource/Drive/Parents/List.hs
@@ -1,83 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Parents.List--- Copyright   : (c) 2015 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 a file\'s parents.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.list@.-module Network.Google.Resource.Drive.Parents.List-    (-    -- * REST Resource-      ParentsListResource--    -- * Creating a Request-    , parentsList-    , ParentsList--    -- * Request Lenses-    , parFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.parents.list@ method which the--- 'ParentsList' request conforms to.-type ParentsListResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "parents" :>-               QueryParam "alt" AltJSON :> Get '[JSON] ParentList---- | Lists a file\'s parents.------ /See:/ 'parentsList' smart constructor.-newtype ParentsList = ParentsList-    { _parFileId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ParentsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'parFileId'-parentsList-    :: Text -- ^ 'parFileId'-    -> ParentsList-parentsList pParFileId_ =-    ParentsList-    { _parFileId = pParFileId_-    }---- | The ID of the file.-parFileId :: Lens' ParentsList Text-parFileId-  = lens _parFileId (\ s a -> s{_parFileId = a})--instance GoogleRequest ParentsList where-        type Rs ParentsList = ParentList-        requestClient ParentsList{..}-          = go _parFileId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy ParentsListResource)-                      mempty
+ gen/Network/Google/Resource/Drive/Permissions/Create.hs view
@@ -0,0 +1,143 @@+{-# 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.Permissions.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 permission for a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.create@.+module Network.Google.Resource.Drive.Permissions.Create+    (+    -- * REST Resource+      PermissionsCreateResource++    -- * Creating a Request+    , permissionsCreate+    , PermissionsCreate++    -- * Request Lenses+    , pcSendNotificationEmail+    , pcPayload+    , pcEmailMessage+    , pcTransferOwnership+    , pcFileId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.permissions.create@ method which the+-- 'PermissionsCreate' request conforms to.+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++-- | Creates a permission for a file.+--+-- /See:/ 'permissionsCreate' smart constructor.+data PermissionsCreate = PermissionsCreate'+    { _pcSendNotificationEmail :: !(Maybe Bool)+    , _pcPayload               :: !Permission+    , _pcEmailMessage          :: !(Maybe Text)+    , _pcTransferOwnership     :: !Bool+    , _pcFileId                :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcSendNotificationEmail'+--+-- * 'pcPayload'+--+-- * 'pcEmailMessage'+--+-- * 'pcTransferOwnership'+--+-- * 'pcFileId'+permissionsCreate+    :: Permission -- ^ 'pcPayload'+    -> Text -- ^ 'pcFileId'+    -> PermissionsCreate+permissionsCreate pPcPayload_ pPcFileId_ =+    PermissionsCreate'+    { _pcSendNotificationEmail = Nothing+    , _pcPayload = pPcPayload_+    , _pcEmailMessage = Nothing+    , _pcTransferOwnership = False+    , _pcFileId = pPcFileId_+    }++-- | Whether to send a notification email when sharing to users or groups.+-- This defaults to true for users and groups, and is not allowed for other+-- requests. It must not be disabled for ownership transfers.+pcSendNotificationEmail :: Lens' PermissionsCreate (Maybe Bool)+pcSendNotificationEmail+  = lens _pcSendNotificationEmail+      (\ s a -> s{_pcSendNotificationEmail = a})++-- | Multipart request metadata.+pcPayload :: Lens' PermissionsCreate Permission+pcPayload+  = lens _pcPayload (\ s a -> s{_pcPayload = a})++-- | A custom message to include in the notification email.+pcEmailMessage :: Lens' PermissionsCreate (Maybe Text)+pcEmailMessage+  = lens _pcEmailMessage+      (\ s a -> s{_pcEmailMessage = 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.+pcTransferOwnership :: Lens' PermissionsCreate Bool+pcTransferOwnership+  = lens _pcTransferOwnership+      (\ s a -> s{_pcTransferOwnership = a})++-- | The ID of the file.+pcFileId :: Lens' PermissionsCreate Text+pcFileId = lens _pcFileId (\ s a -> s{_pcFileId = a})++instance GoogleRequest PermissionsCreate where+        type Rs PermissionsCreate = Permission+        type Scopes PermissionsCreate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient PermissionsCreate'{..}+          = go _pcFileId _pcSendNotificationEmail+              _pcEmailMessage+              (Just _pcTransferOwnership)+              (Just AltJSON)+              _pcPayload+              driveService+          where go+                  = buildClient+                      (Proxy :: Proxy PermissionsCreateResource)+                      mempty
gen/Network/Google/Resource/Drive/Permissions/Delete.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Permissions.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Deletes a permission from a file.+-- Deletes a permission. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.delete@. module Network.Google.Resource.Drive.Permissions.Delete@@ -33,8 +33,8 @@     , PermissionsDelete      -- * Request Lenses-    , pFileId-    , pPermissionId+    , pdFileId+    , pdPermissionId     ) where  import           Network.Google.Drive.Types@@ -44,52 +44,55 @@ -- 'PermissionsDelete' request conforms to. type PermissionsDeleteResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>                  QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Deletes a permission from a file.+-- | Deletes a permission. -- -- /See:/ 'permissionsDelete' smart constructor.-data PermissionsDelete = PermissionsDelete-    { _pFileId       :: !Text-    , _pPermissionId :: !Text+data PermissionsDelete = PermissionsDelete'+    { _pdFileId       :: !Text+    , _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: ----- * 'pFileId'+-- * 'pdFileId' ----- * 'pPermissionId'+-- * 'pdPermissionId' permissionsDelete-    :: Text -- ^ 'pFileId'-    -> Text -- ^ 'pPermissionId'+    :: Text -- ^ 'pdFileId'+    -> Text -- ^ 'pdPermissionId'     -> PermissionsDelete-permissionsDelete pPFileId_ pPPermissionId_ =-    PermissionsDelete-    { _pFileId = pPFileId_-    , _pPermissionId = pPPermissionId_+permissionsDelete pPdFileId_ pPdPermissionId_ =+    PermissionsDelete'+    { _pdFileId = pPdFileId_+    , _pdPermissionId = pPdPermissionId_     } --- | The ID for the file.-pFileId :: Lens' PermissionsDelete Text-pFileId = lens _pFileId (\ s a -> s{_pFileId = a})+-- | The ID of the file.+pdFileId :: Lens' PermissionsDelete Text+pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a}) --- | The ID for the permission.-pPermissionId :: Lens' PermissionsDelete Text-pPermissionId-  = lens _pPermissionId-      (\ s a -> s{_pPermissionId = a})+-- | The ID of the permission.+pdPermissionId :: Lens' PermissionsDelete Text+pdPermissionId+  = lens _pdPermissionId+      (\ s a -> s{_pdPermissionId = a})  instance GoogleRequest PermissionsDelete where         type Rs PermissionsDelete = ()-        requestClient PermissionsDelete{..}-          = go _pFileId _pPermissionId (Just AltJSON)+        type Scopes PermissionsDelete =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient PermissionsDelete'{..}+          = go _pdFileId _pdPermissionId (Just AltJSON)               driveService           where go                   = buildClient
gen/Network/Google/Resource/Drive/Permissions/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Permissions.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -33,8 +33,8 @@     , PermissionsGet      -- * Request Lenses-    , pggFileId-    , pggPermissionId+    , pgFileId+    , pgPermissionId     ) where  import           Network.Google.Drive.Types@@ -44,7 +44,7 @@ -- 'PermissionsGet' request conforms to. type PermissionsGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "permissions" :>@@ -54,43 +54,49 @@ -- | Gets a permission by ID. -- -- /See:/ 'permissionsGet' smart constructor.-data PermissionsGet = PermissionsGet-    { _pggFileId       :: !Text-    , _pggPermissionId :: !Text+data PermissionsGet = PermissionsGet'+    { _pgFileId       :: !Text+    , _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: ----- * 'pggFileId'+-- * 'pgFileId' ----- * 'pggPermissionId'+-- * 'pgPermissionId' permissionsGet-    :: Text -- ^ 'pggFileId'-    -> Text -- ^ 'pggPermissionId'+    :: Text -- ^ 'pgFileId'+    -> Text -- ^ 'pgPermissionId'     -> PermissionsGet-permissionsGet pPggFileId_ pPggPermissionId_ =-    PermissionsGet-    { _pggFileId = pPggFileId_-    , _pggPermissionId = pPggPermissionId_+permissionsGet pPgFileId_ pPgPermissionId_ =+    PermissionsGet'+    { _pgFileId = pPgFileId_+    , _pgPermissionId = pPgPermissionId_     } --- | The ID for the file.-pggFileId :: Lens' PermissionsGet Text-pggFileId-  = lens _pggFileId (\ s a -> s{_pggFileId = a})+-- | The ID of the file.+pgFileId :: Lens' PermissionsGet Text+pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a}) --- | The ID for the permission.-pggPermissionId :: Lens' PermissionsGet Text-pggPermissionId-  = lens _pggPermissionId-      (\ s a -> s{_pggPermissionId = a})+-- | The ID of the permission.+pgPermissionId :: Lens' PermissionsGet Text+pgPermissionId+  = lens _pgPermissionId+      (\ s a -> s{_pgPermissionId = a})  instance GoogleRequest PermissionsGet where         type Rs PermissionsGet = Permission-        requestClient PermissionsGet{..}-          = go _pggFileId _pggPermissionId (Just AltJSON)+        type Scopes PermissionsGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient PermissionsGet'{..}+          = go _pgFileId _pgPermissionId (Just AltJSON)               driveService           where go                   = buildClient (Proxy :: Proxy PermissionsGetResource)
− gen/Network/Google/Resource/Drive/Permissions/GetIdForEmail.hs
@@ -1,83 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Permissions.GetIdForEmail--- Copyright   : (c) 2015 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)------ Returns the permission ID for an email address.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.getIdForEmail@.-module Network.Google.Resource.Drive.Permissions.GetIdForEmail-    (-    -- * REST Resource-      PermissionsGetIdForEmailResource--    -- * Creating a Request-    , permissionsGetIdForEmail-    , PermissionsGetIdForEmail--    -- * Request Lenses-    , pgifeEmail-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.permissions.getIdForEmail@ method which the--- 'PermissionsGetIdForEmail' request conforms to.-type PermissionsGetIdForEmailResource =-     "drive" :>-       "v2" :>-         "permissionIds" :>-           Capture "email" Text :>-             QueryParam "alt" AltJSON :> Get '[JSON] PermissionId---- | Returns the permission ID for an email address.------ /See:/ 'permissionsGetIdForEmail' smart constructor.-newtype PermissionsGetIdForEmail = PermissionsGetIdForEmail-    { _pgifeEmail :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionsGetIdForEmail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgifeEmail'-permissionsGetIdForEmail-    :: Text -- ^ 'pgifeEmail'-    -> PermissionsGetIdForEmail-permissionsGetIdForEmail pPgifeEmail_ =-    PermissionsGetIdForEmail-    { _pgifeEmail = pPgifeEmail_-    }---- | The email address for which to return a permission ID-pgifeEmail :: Lens' PermissionsGetIdForEmail Text-pgifeEmail-  = lens _pgifeEmail (\ s a -> s{_pgifeEmail = a})--instance GoogleRequest PermissionsGetIdForEmail where-        type Rs PermissionsGetIdForEmail = PermissionId-        requestClient PermissionsGetIdForEmail{..}-          = go _pgifeEmail (Just AltJSON) driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PermissionsGetIdForEmailResource)-                      mempty
− gen/Network/Google/Resource/Drive/Permissions/Insert.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Permissions.Insert--- Copyright   : (c) 2015 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)------ Inserts a permission for a file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.insert@.-module Network.Google.Resource.Drive.Permissions.Insert-    (-    -- * REST Resource-      PermissionsInsertResource--    -- * Creating a Request-    , permissionsInsert-    , PermissionsInsert--    -- * Request Lenses-    , piiPayload-    , piiEmailMessage-    , piiFileId-    , piiSendNotificationEmails-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.permissions.insert@ method which the--- 'PermissionsInsert' request conforms to.-type PermissionsInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "permissions" :>-               QueryParam "emailMessage" Text :>-                 QueryParam "sendNotificationEmails" Bool :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Permission :> Post '[JSON] Permission---- | Inserts a permission for a file.------ /See:/ 'permissionsInsert' smart constructor.-data PermissionsInsert = PermissionsInsert-    { _piiPayload                :: !Permission-    , _piiEmailMessage           :: !(Maybe Text)-    , _piiFileId                 :: !Text-    , _piiSendNotificationEmails :: !Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionsInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piiPayload'------ * 'piiEmailMessage'------ * 'piiFileId'------ * 'piiSendNotificationEmails'-permissionsInsert-    :: Permission -- ^ 'piiPayload'-    -> Text -- ^ 'piiFileId'-    -> PermissionsInsert-permissionsInsert pPiiPayload_ pPiiFileId_ =-    PermissionsInsert-    { _piiPayload = pPiiPayload_-    , _piiEmailMessage = Nothing-    , _piiFileId = pPiiFileId_-    , _piiSendNotificationEmails = True-    }---- | Multipart request metadata.-piiPayload :: Lens' PermissionsInsert Permission-piiPayload-  = lens _piiPayload (\ s a -> s{_piiPayload = a})---- | A custom message to include in notification emails.-piiEmailMessage :: Lens' PermissionsInsert (Maybe Text)-piiEmailMessage-  = lens _piiEmailMessage-      (\ s a -> s{_piiEmailMessage = a})---- | The ID for the file.-piiFileId :: Lens' PermissionsInsert Text-piiFileId-  = lens _piiFileId (\ s a -> s{_piiFileId = a})---- | Whether to send notification emails when sharing to users or groups.--- This parameter is ignored and an email is sent if the role is owner.-piiSendNotificationEmails :: Lens' PermissionsInsert Bool-piiSendNotificationEmails-  = lens _piiSendNotificationEmails-      (\ s a -> s{_piiSendNotificationEmails = a})--instance GoogleRequest PermissionsInsert where-        type Rs PermissionsInsert = Permission-        requestClient PermissionsInsert{..}-          = go _piiFileId _piiEmailMessage-              (Just _piiSendNotificationEmails)-              (Just AltJSON)-              _piiPayload-              driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PermissionsInsertResource)-                      mempty
gen/Network/Google/Resource/Drive/Permissions/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Permissions.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -43,7 +43,7 @@ -- 'PermissionsList' request conforms to. type PermissionsListResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "permissions" :>@@ -53,7 +53,7 @@ -- | Lists a file\'s permissions. -- -- /See:/ 'permissionsList' smart constructor.-newtype PermissionsList = PermissionsList+newtype PermissionsList = PermissionsList'     { _plFileId :: Text     } deriving (Eq,Show,Data,Typeable,Generic) @@ -66,17 +66,24 @@     :: Text -- ^ 'plFileId'     -> PermissionsList permissionsList pPlFileId_ =-    PermissionsList+    PermissionsList'     { _plFileId = pPlFileId_     } --- | The ID for the file.+-- | The ID of the file. plFileId :: Lens' PermissionsList Text plFileId = lens _plFileId (\ s a -> s{_plFileId = a})  instance GoogleRequest PermissionsList where         type Rs PermissionsList = PermissionList-        requestClient PermissionsList{..}+        type Scopes PermissionsList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient PermissionsList'{..}           = go _plFileId (Just AltJSON) driveService           where go                   = buildClient
− gen/Network/Google/Resource/Drive/Permissions/Patch.hs
@@ -1,127 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Permissions.Patch--- Copyright   : (c) 2015 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 permission using patch semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.patch@.-module Network.Google.Resource.Drive.Permissions.Patch-    (-    -- * REST Resource-      PermissionsPatchResource--    -- * Creating a Request-    , permissionsPatch-    , PermissionsPatch--    -- * Request Lenses-    , pppPayload-    , pppTransferOwnership-    , pppFileId-    , pppPermissionId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.permissions.patch@ method which the--- 'PermissionsPatch' request conforms to.-type PermissionsPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "permissions" :>-               Capture "permissionId" Text :>-                 QueryParam "transferOwnership" Bool :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Permission :>-                       Patch '[JSON] Permission---- | Updates a permission using patch semantics.------ /See:/ 'permissionsPatch' smart constructor.-data PermissionsPatch = PermissionsPatch-    { _pppPayload           :: !Permission-    , _pppTransferOwnership :: !Bool-    , _pppFileId            :: !Text-    , _pppPermissionId      :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PermissionsPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pppPayload'------ * 'pppTransferOwnership'------ * 'pppFileId'------ * 'pppPermissionId'-permissionsPatch-    :: Permission -- ^ 'pppPayload'-    -> Text -- ^ 'pppFileId'-    -> Text -- ^ 'pppPermissionId'-    -> PermissionsPatch-permissionsPatch pPppPayload_ pPppFileId_ pPppPermissionId_ =-    PermissionsPatch-    { _pppPayload = pPppPayload_-    , _pppTransferOwnership = False-    , _pppFileId = pPppFileId_-    , _pppPermissionId = pPppPermissionId_-    }---- | Multipart request metadata.-pppPayload :: Lens' PermissionsPatch Permission-pppPayload-  = lens _pppPayload (\ s a -> s{_pppPayload = a})---- | Whether changing a role to \'owner\' downgrades the current owners to--- writers. Does nothing if the specified role is not \'owner\'.-pppTransferOwnership :: Lens' PermissionsPatch Bool-pppTransferOwnership-  = lens _pppTransferOwnership-      (\ s a -> s{_pppTransferOwnership = a})---- | The ID for the file.-pppFileId :: Lens' PermissionsPatch Text-pppFileId-  = lens _pppFileId (\ s a -> s{_pppFileId = a})---- | The ID for the permission.-pppPermissionId :: Lens' PermissionsPatch Text-pppPermissionId-  = lens _pppPermissionId-      (\ s a -> s{_pppPermissionId = a})--instance GoogleRequest PermissionsPatch where-        type Rs PermissionsPatch = Permission-        requestClient PermissionsPatch{..}-          = go _pppFileId _pppPermissionId-              (Just _pppTransferOwnership)-              (Just AltJSON)-              _pppPayload-              driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PermissionsPatchResource)-                      mempty
gen/Network/Google/Resource/Drive/Permissions/Update.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Permissions.Update--- Copyright   : (c) 2015 Brendan Hay+-- 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 permission.+-- Updates a permission with patch semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.update@. module Network.Google.Resource.Drive.Permissions.Update@@ -33,10 +33,10 @@     , PermissionsUpdate      -- * Request Lenses-    , perPayload-    , perTransferOwnership-    , perFileId-    , perPermissionId+    , puPayload+    , puTransferOwnership+    , puFileId+    , puPermissionId     ) where  import           Network.Google.Drive.Types@@ -46,79 +46,83 @@ -- 'PermissionsUpdate' request conforms to. type PermissionsUpdateResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "permissions" :>                Capture "permissionId" Text :>                  QueryParam "transferOwnership" Bool :>                    QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Permission :> Put '[JSON] Permission+                     ReqBody '[JSON] Permission :>+                       Patch '[JSON] Permission --- | Updates a permission.+-- | Updates a permission with patch semantics. -- -- /See:/ 'permissionsUpdate' smart constructor.-data PermissionsUpdate = PermissionsUpdate-    { _perPayload           :: !Permission-    , _perTransferOwnership :: !Bool-    , _perFileId            :: !Text-    , _perPermissionId      :: !Text+data PermissionsUpdate = PermissionsUpdate'+    { _puPayload           :: !Permission+    , _puTransferOwnership :: !Bool+    , _puFileId            :: !Text+    , _puPermissionId      :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'PermissionsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'perPayload'+-- * 'puPayload' ----- * 'perTransferOwnership'+-- * 'puTransferOwnership' ----- * 'perFileId'+-- * 'puFileId' ----- * 'perPermissionId'+-- * 'puPermissionId' permissionsUpdate-    :: Permission -- ^ 'perPayload'-    -> Text -- ^ 'perFileId'-    -> Text -- ^ 'perPermissionId'+    :: Permission -- ^ 'puPayload'+    -> Text -- ^ 'puFileId'+    -> Text -- ^ 'puPermissionId'     -> PermissionsUpdate-permissionsUpdate pPerPayload_ pPerFileId_ pPerPermissionId_ =-    PermissionsUpdate-    { _perPayload = pPerPayload_-    , _perTransferOwnership = False-    , _perFileId = pPerFileId_-    , _perPermissionId = pPerPermissionId_+permissionsUpdate pPuPayload_ pPuFileId_ pPuPermissionId_ =+    PermissionsUpdate'+    { _puPayload = pPuPayload_+    , _puTransferOwnership = False+    , _puFileId = pPuFileId_+    , _puPermissionId = pPuPermissionId_     }  -- | Multipart request metadata.-perPayload :: Lens' PermissionsUpdate Permission-perPayload-  = lens _perPayload (\ s a -> s{_perPayload = a})+puPayload :: Lens' PermissionsUpdate Permission+puPayload+  = lens _puPayload (\ s a -> s{_puPayload = a}) --- | Whether changing a role to \'owner\' downgrades the current owners to--- writers. Does nothing if the specified role is not \'owner\'.-perTransferOwnership :: Lens' PermissionsUpdate Bool-perTransferOwnership-  = lens _perTransferOwnership-      (\ s a -> s{_perTransferOwnership = 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.+puTransferOwnership :: Lens' PermissionsUpdate Bool+puTransferOwnership+  = lens _puTransferOwnership+      (\ s a -> s{_puTransferOwnership = a}) --- | The ID for the file.-perFileId :: Lens' PermissionsUpdate Text-perFileId-  = lens _perFileId (\ s a -> s{_perFileId = a})+-- | The ID of the file.+puFileId :: Lens' PermissionsUpdate Text+puFileId = lens _puFileId (\ s a -> s{_puFileId = a}) --- | The ID for the permission.-perPermissionId :: Lens' PermissionsUpdate Text-perPermissionId-  = lens _perPermissionId-      (\ s a -> s{_perPermissionId = a})+-- | The ID of the permission.+puPermissionId :: Lens' PermissionsUpdate Text+puPermissionId+  = lens _puPermissionId+      (\ s a -> s{_puPermissionId = a})  instance GoogleRequest PermissionsUpdate where         type Rs PermissionsUpdate = Permission-        requestClient PermissionsUpdate{..}-          = go _perFileId _perPermissionId-              (Just _perTransferOwnership)+        type Scopes PermissionsUpdate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient PermissionsUpdate'{..}+          = go _puFileId _puPermissionId+              (Just _puTransferOwnership)               (Just AltJSON)-              _perPayload+              _puPayload               driveService           where go                   = buildClient
− gen/Network/Google/Resource/Drive/Properties/Delete.hs
@@ -1,109 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.Delete--- Copyright   : (c) 2015 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a property.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.delete@.-module Network.Google.Resource.Drive.Properties.Delete-    (-    -- * REST Resource-      PropertiesDeleteResource--    -- * Creating a Request-    , propertiesDelete-    , PropertiesDelete--    -- * Request Lenses-    , pdPropertyKey-    , pdVisibility-    , pdFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.delete@ method which the--- 'PropertiesDelete' request conforms to.-type PropertiesDeleteResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               Capture "propertyKey" Text :>-                 QueryParam "visibility" Text :>-                   QueryParam "alt" AltJSON :> Delete '[JSON] ()---- | Deletes a property.------ /See:/ 'propertiesDelete' smart constructor.-data PropertiesDelete = PropertiesDelete-    { _pdPropertyKey :: !Text-    , _pdVisibility  :: !Text-    , _pdFileId      :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdPropertyKey'------ * 'pdVisibility'------ * 'pdFileId'-propertiesDelete-    :: Text -- ^ 'pdPropertyKey'-    -> Text -- ^ 'pdFileId'-    -> PropertiesDelete-propertiesDelete pPdPropertyKey_ pPdFileId_ =-    PropertiesDelete-    { _pdPropertyKey = pPdPropertyKey_-    , _pdVisibility = "private"-    , _pdFileId = pPdFileId_-    }---- | The key of the property.-pdPropertyKey :: Lens' PropertiesDelete Text-pdPropertyKey-  = lens _pdPropertyKey-      (\ s a -> s{_pdPropertyKey = a})---- | The visibility of the property.-pdVisibility :: Lens' PropertiesDelete Text-pdVisibility-  = lens _pdVisibility (\ s a -> s{_pdVisibility = a})---- | The ID of the file.-pdFileId :: Lens' PropertiesDelete Text-pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a})--instance GoogleRequest PropertiesDelete where-        type Rs PropertiesDelete = ()-        requestClient PropertiesDelete{..}-          = go _pdFileId _pdPropertyKey (Just _pdVisibility)-              (Just AltJSON)-              driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PropertiesDeleteResource)-                      mempty
− gen/Network/Google/Resource/Drive/Properties/Get.hs
@@ -1,108 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.Get--- Copyright   : (c) 2015 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 property by its key.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.get@.-module Network.Google.Resource.Drive.Properties.Get-    (-    -- * REST Resource-      PropertiesGetResource--    -- * Creating a Request-    , propertiesGet-    , PropertiesGet--    -- * Request Lenses-    , pgPropertyKey-    , pgVisibility-    , pgFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.get@ method which the--- 'PropertiesGet' request conforms to.-type PropertiesGetResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               Capture "propertyKey" Text :>-                 QueryParam "visibility" Text :>-                   QueryParam "alt" AltJSON :> Get '[JSON] Property---- | Gets a property by its key.------ /See:/ 'propertiesGet' smart constructor.-data PropertiesGet = PropertiesGet-    { _pgPropertyKey :: !Text-    , _pgVisibility  :: !Text-    , _pgFileId      :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgPropertyKey'------ * 'pgVisibility'------ * 'pgFileId'-propertiesGet-    :: Text -- ^ 'pgPropertyKey'-    -> Text -- ^ 'pgFileId'-    -> PropertiesGet-propertiesGet pPgPropertyKey_ pPgFileId_ =-    PropertiesGet-    { _pgPropertyKey = pPgPropertyKey_-    , _pgVisibility = "private"-    , _pgFileId = pPgFileId_-    }---- | The key of the property.-pgPropertyKey :: Lens' PropertiesGet Text-pgPropertyKey-  = lens _pgPropertyKey-      (\ s a -> s{_pgPropertyKey = a})---- | The visibility of the property.-pgVisibility :: Lens' PropertiesGet Text-pgVisibility-  = lens _pgVisibility (\ s a -> s{_pgVisibility = a})---- | The ID of the file.-pgFileId :: Lens' PropertiesGet Text-pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a})--instance GoogleRequest PropertiesGet where-        type Rs PropertiesGet = Property-        requestClient PropertiesGet{..}-          = go _pgFileId _pgPropertyKey (Just _pgVisibility)-              (Just AltJSON)-              driveService-          where go-                  = buildClient (Proxy :: Proxy PropertiesGetResource)-                      mempty
− gen/Network/Google/Resource/Drive/Properties/Insert.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.Insert--- Copyright   : (c) 2015 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)------ Adds a property to a file.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.insert@.-module Network.Google.Resource.Drive.Properties.Insert-    (-    -- * REST Resource-      PropertiesInsertResource--    -- * Creating a Request-    , propertiesInsert-    , PropertiesInsert--    -- * Request Lenses-    , piPayload-    , piFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.insert@ method which the--- 'PropertiesInsert' request conforms to.-type PropertiesInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               QueryParam "alt" AltJSON :>-                 ReqBody '[JSON] Property :> Post '[JSON] Property---- | Adds a property to a file.------ /See:/ 'propertiesInsert' smart constructor.-data PropertiesInsert = PropertiesInsert-    { _piPayload :: !Property-    , _piFileId  :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piPayload'------ * 'piFileId'-propertiesInsert-    :: Property -- ^ 'piPayload'-    -> Text -- ^ 'piFileId'-    -> PropertiesInsert-propertiesInsert pPiPayload_ pPiFileId_ =-    PropertiesInsert-    { _piPayload = pPiPayload_-    , _piFileId = pPiFileId_-    }---- | Multipart request metadata.-piPayload :: Lens' PropertiesInsert Property-piPayload-  = lens _piPayload (\ s a -> s{_piPayload = a})---- | The ID of the file.-piFileId :: Lens' PropertiesInsert Text-piFileId = lens _piFileId (\ s a -> s{_piFileId = a})--instance GoogleRequest PropertiesInsert where-        type Rs PropertiesInsert = Property-        requestClient PropertiesInsert{..}-          = go _piFileId (Just AltJSON) _piPayload driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PropertiesInsertResource)-                      mempty
− gen/Network/Google/Resource/Drive/Properties/List.hs
@@ -1,83 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.List--- Copyright   : (c) 2015 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 a file\'s properties.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.list@.-module Network.Google.Resource.Drive.Properties.List-    (-    -- * REST Resource-      PropertiesListResource--    -- * Creating a Request-    , propertiesList-    , PropertiesList--    -- * Request Lenses-    , proFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.list@ method which the--- 'PropertiesList' request conforms to.-type PropertiesListResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               QueryParam "alt" AltJSON :> Get '[JSON] PropertyList---- | Lists a file\'s properties.------ /See:/ 'propertiesList' smart constructor.-newtype PropertiesList = PropertiesList-    { _proFileId :: Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'proFileId'-propertiesList-    :: Text -- ^ 'proFileId'-    -> PropertiesList-propertiesList pProFileId_ =-    PropertiesList-    { _proFileId = pProFileId_-    }---- | The ID of the file.-proFileId :: Lens' PropertiesList Text-proFileId-  = lens _proFileId (\ s a -> s{_proFileId = a})--instance GoogleRequest PropertiesList where-        type Rs PropertiesList = PropertyList-        requestClient PropertiesList{..}-          = go _proFileId (Just AltJSON) driveService-          where go-                  = buildClient (Proxy :: Proxy PropertiesListResource)-                      mempty
− gen/Network/Google/Resource/Drive/Properties/Patch.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.Patch--- Copyright   : (c) 2015 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 property. This method supports patch semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.patch@.-module Network.Google.Resource.Drive.Properties.Patch-    (-    -- * REST Resource-      PropertiesPatchResource--    -- * Creating a Request-    , propertiesPatch-    , PropertiesPatch--    -- * Request Lenses-    , ppPropertyKey-    , ppVisibility-    , ppPayload-    , ppFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.patch@ method which the--- 'PropertiesPatch' request conforms to.-type PropertiesPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               Capture "propertyKey" Text :>-                 QueryParam "visibility" Text :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Property :> Patch '[JSON] Property---- | Updates a property. This method supports patch semantics.------ /See:/ 'propertiesPatch' smart constructor.-data PropertiesPatch = PropertiesPatch-    { _ppPropertyKey :: !Text-    , _ppVisibility  :: !Text-    , _ppPayload     :: !Property-    , _ppFileId      :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppPropertyKey'------ * 'ppVisibility'------ * 'ppPayload'------ * 'ppFileId'-propertiesPatch-    :: Text -- ^ 'ppPropertyKey'-    -> Property -- ^ 'ppPayload'-    -> Text -- ^ 'ppFileId'-    -> PropertiesPatch-propertiesPatch pPpPropertyKey_ pPpPayload_ pPpFileId_ =-    PropertiesPatch-    { _ppPropertyKey = pPpPropertyKey_-    , _ppVisibility = "private"-    , _ppPayload = pPpPayload_-    , _ppFileId = pPpFileId_-    }---- | The key of the property.-ppPropertyKey :: Lens' PropertiesPatch Text-ppPropertyKey-  = lens _ppPropertyKey-      (\ s a -> s{_ppPropertyKey = a})---- | The visibility of the property.-ppVisibility :: Lens' PropertiesPatch Text-ppVisibility-  = lens _ppVisibility (\ s a -> s{_ppVisibility = a})---- | Multipart request metadata.-ppPayload :: Lens' PropertiesPatch Property-ppPayload-  = lens _ppPayload (\ s a -> s{_ppPayload = a})---- | The ID of the file.-ppFileId :: Lens' PropertiesPatch Text-ppFileId = lens _ppFileId (\ s a -> s{_ppFileId = a})--instance GoogleRequest PropertiesPatch where-        type Rs PropertiesPatch = Property-        requestClient PropertiesPatch{..}-          = go _ppFileId _ppPropertyKey (Just _ppVisibility)-              (Just AltJSON)-              _ppPayload-              driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PropertiesPatchResource)-                      mempty
− gen/Network/Google/Resource/Drive/Properties/Update.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Properties.Update--- Copyright   : (c) 2015 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 property.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.update@.-module Network.Google.Resource.Drive.Properties.Update-    (-    -- * REST Resource-      PropertiesUpdateResource--    -- * Creating a Request-    , propertiesUpdate-    , PropertiesUpdate--    -- * Request Lenses-    , puPropertyKey-    , puVisibility-    , puPayload-    , puFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.properties.update@ method which the--- 'PropertiesUpdate' request conforms to.-type PropertiesUpdateResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "properties" :>-               Capture "propertyKey" Text :>-                 QueryParam "visibility" Text :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Property :> Put '[JSON] Property---- | Updates a property.------ /See:/ 'propertiesUpdate' smart constructor.-data PropertiesUpdate = PropertiesUpdate-    { _puPropertyKey :: !Text-    , _puVisibility  :: !Text-    , _puPayload     :: !Property-    , _puFileId      :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PropertiesUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'puPropertyKey'------ * 'puVisibility'------ * 'puPayload'------ * 'puFileId'-propertiesUpdate-    :: Text -- ^ 'puPropertyKey'-    -> Property -- ^ 'puPayload'-    -> Text -- ^ 'puFileId'-    -> PropertiesUpdate-propertiesUpdate pPuPropertyKey_ pPuPayload_ pPuFileId_ =-    PropertiesUpdate-    { _puPropertyKey = pPuPropertyKey_-    , _puVisibility = "private"-    , _puPayload = pPuPayload_-    , _puFileId = pPuFileId_-    }---- | The key of the property.-puPropertyKey :: Lens' PropertiesUpdate Text-puPropertyKey-  = lens _puPropertyKey-      (\ s a -> s{_puPropertyKey = a})---- | The visibility of the property.-puVisibility :: Lens' PropertiesUpdate Text-puVisibility-  = lens _puVisibility (\ s a -> s{_puVisibility = a})---- | Multipart request metadata.-puPayload :: Lens' PropertiesUpdate Property-puPayload-  = lens _puPayload (\ s a -> s{_puPayload = a})---- | The ID of the file.-puFileId :: Lens' PropertiesUpdate Text-puFileId = lens _puFileId (\ s a -> s{_puFileId = a})--instance GoogleRequest PropertiesUpdate where-        type Rs PropertiesUpdate = Property-        requestClient PropertiesUpdate{..}-          = go _puFileId _puPropertyKey (Just _puVisibility)-              (Just AltJSON)-              _puPayload-              driveService-          where go-                  = buildClient-                      (Proxy :: Proxy PropertiesUpdateResource)-                      mempty
− gen/Network/Google/Resource/Drive/Realtime/Get.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Realtime.Get--- Copyright   : (c) 2015 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)------ Exports the contents of the Realtime API data model associated with this--- file as JSON.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.realtime.get@.-module Network.Google.Resource.Drive.Realtime.Get-    (-    -- * REST Resource-      RealtimeGetResource--    -- * Creating a Request-    , realtimeGet-    , RealtimeGet--    -- * Request Lenses-    , rrFileId-    , rrRevision-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.realtime.get@ method which the--- 'RealtimeGet' request conforms to.-type RealtimeGetResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "realtime" :>-               QueryParam "revision" (Textual Int32) :>-                 QueryParam "alt" AltJSON :> Get '[JSON] ()-       :<|>-       "drive" :>-         "v2" :>-           "files" :>-             Capture "fileId" Text :>-               "realtime" :>-                 QueryParam "revision" (Textual Int32) :>-                   QueryParam "alt" AltMedia :>-                     Get '[OctetStream] Stream---- | Exports the contents of the Realtime API data model associated with this--- file as JSON.------ /See:/ 'realtimeGet' smart constructor.-data RealtimeGet = RealtimeGet-    { _rrFileId   :: !Text-    , _rrRevision :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RealtimeGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrFileId'------ * 'rrRevision'-realtimeGet-    :: Text -- ^ 'rrFileId'-    -> RealtimeGet-realtimeGet pRrFileId_ =-    RealtimeGet-    { _rrFileId = pRrFileId_-    , _rrRevision = Nothing-    }---- | The ID of the file that the Realtime API data model is associated with.-rrFileId :: Lens' RealtimeGet Text-rrFileId = lens _rrFileId (\ s a -> s{_rrFileId = a})---- | The revision of the Realtime API data model to export. Revisions start--- at 1 (the initial empty data model) and are incremented with each--- change. If this parameter is excluded, the most recent data model will--- be returned.-rrRevision :: Lens' RealtimeGet (Maybe Int32)-rrRevision-  = lens _rrRevision (\ s a -> s{_rrRevision = a}) .-      mapping _Coerce--instance GoogleRequest RealtimeGet where-        type Rs RealtimeGet = ()-        requestClient RealtimeGet{..}-          = go _rrFileId _rrRevision (Just AltJSON)-              driveService-          where go :<|> _-                  = buildClient (Proxy :: Proxy RealtimeGetResource)-                      mempty--instance GoogleRequest (MediaDownload RealtimeGet)-         where-        type Rs (MediaDownload RealtimeGet) = Stream-        requestClient (MediaDownload RealtimeGet{..})-          = go _rrFileId _rrRevision (Just AltMedia)-              driveService-          where _ :<|> go-                  = buildClient (Proxy :: Proxy RealtimeGetResource)-                      mempty
− gen/Network/Google/Resource/Drive/Realtime/Update.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Realtime.Update--- Copyright   : (c) 2015 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)------ Overwrites the Realtime API data model associated with this file with--- the provided JSON data model.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.realtime.update@.-module Network.Google.Resource.Drive.Realtime.Update-    (-    -- * REST Resource-      RealtimeUpdateResource--    -- * Creating a Request-    , realtimeUpdate-    , RealtimeUpdate--    -- * Request Lenses-    , reaBaseRevision-    , reaFileId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.realtime.update@ method which the--- 'RealtimeUpdate' request conforms to.-type RealtimeUpdateResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "realtime" :>-               QueryParam "baseRevision" Text :>-                 QueryParam "alt" AltJSON :> Put '[JSON] ()-       :<|>-       "upload" :>-         "drive" :>-           "v2" :>-             "files" :>-               Capture "fileId" Text :>-                 "realtime" :>-                   QueryParam "baseRevision" Text :>-                     QueryParam "alt" AltJSON :>-                       QueryParam "uploadType" AltMedia :>-                         ReqBody '[OctetStream] RequestBody :> Put '[JSON] ()---- | Overwrites the Realtime API data model associated with this file with--- the provided JSON data model.------ /See:/ 'realtimeUpdate' smart constructor.-data RealtimeUpdate = RealtimeUpdate-    { _reaBaseRevision :: !(Maybe Text)-    , _reaFileId       :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RealtimeUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'reaBaseRevision'------ * 'reaFileId'-realtimeUpdate-    :: Text -- ^ 'reaFileId'-    -> RealtimeUpdate-realtimeUpdate pReaFileId_ =-    RealtimeUpdate-    { _reaBaseRevision = Nothing-    , _reaFileId = pReaFileId_-    }---- | The revision of the model to diff the uploaded model against. If set,--- the uploaded model is diffed against the provided revision and those--- differences are merged with any changes made to the model after the--- provided revision. If not set, the uploaded model replaces the current--- model on the server.-reaBaseRevision :: Lens' RealtimeUpdate (Maybe Text)-reaBaseRevision-  = lens _reaBaseRevision-      (\ s a -> s{_reaBaseRevision = a})---- | The ID of the file that the Realtime API data model is associated with.-reaFileId :: Lens' RealtimeUpdate Text-reaFileId-  = lens _reaFileId (\ s a -> s{_reaFileId = a})--instance GoogleRequest RealtimeUpdate where-        type Rs RealtimeUpdate = ()-        requestClient RealtimeUpdate{..}-          = go _reaFileId _reaBaseRevision (Just AltJSON)-              driveService-          where go :<|> _-                  = buildClient (Proxy :: Proxy RealtimeUpdateResource)-                      mempty--instance GoogleRequest (MediaUpload RealtimeUpdate)-         where-        type Rs (MediaUpload RealtimeUpdate) = ()-        requestClient (MediaUpload RealtimeUpdate{..} body)-          = go _reaFileId _reaBaseRevision (Just AltJSON)-              (Just AltMedia)-              body-              driveService-          where _ :<|> go-                  = buildClient (Proxy :: Proxy RealtimeUpdateResource)-                      mempty
+ gen/Network/Google/Resource/Drive/Replies/Create.hs view
@@ -0,0 +1,111 @@+{-# 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.Replies.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 reply to a comment.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.create@.+module Network.Google.Resource.Drive.Replies.Create+    (+    -- * REST Resource+      RepliesCreateResource++    -- * Creating a Request+    , repliesCreate+    , RepliesCreate++    -- * Request Lenses+    , rcPayload+    , rcFileId+    , rcCommentId+    ) where++import           Network.Google.Drive.Types+import           Network.Google.Prelude++-- | A resource alias for @drive.replies.create@ method which the+-- 'RepliesCreate' request conforms to.+type RepliesCreateResource =+     "drive" :>+       "v3" :>+         "files" :>+           Capture "fileId" Text :>+             "comments" :>+               Capture "commentId" Text :>+                 "replies" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Reply :> Post '[JSON] Reply++-- | Creates a new reply to a comment.+--+-- /See:/ 'repliesCreate' smart constructor.+data RepliesCreate = RepliesCreate'+    { _rcPayload   :: !Reply+    , _rcFileId    :: !Text+    , _rcCommentId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcPayload'+--+-- * 'rcFileId'+--+-- * 'rcCommentId'+repliesCreate+    :: Reply -- ^ 'rcPayload'+    -> Text -- ^ 'rcFileId'+    -> Text -- ^ 'rcCommentId'+    -> RepliesCreate+repliesCreate pRcPayload_ pRcFileId_ pRcCommentId_ =+    RepliesCreate'+    { _rcPayload = pRcPayload_+    , _rcFileId = pRcFileId_+    , _rcCommentId = pRcCommentId_+    }++-- | Multipart request metadata.+rcPayload :: Lens' RepliesCreate Reply+rcPayload+  = lens _rcPayload (\ s a -> s{_rcPayload = a})++-- | The ID of the file.+rcFileId :: Lens' RepliesCreate Text+rcFileId = lens _rcFileId (\ s a -> s{_rcFileId = a})++-- | The ID of the comment.+rcCommentId :: Lens' RepliesCreate Text+rcCommentId+  = lens _rcCommentId (\ s a -> s{_rcCommentId = a})++instance GoogleRequest RepliesCreate where+        type Rs RepliesCreate = Reply+        type Scopes RepliesCreate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient RepliesCreate'{..}+          = go _rcFileId _rcCommentId (Just AltJSON) _rcPayload+              driveService+          where go+                  = buildClient (Proxy :: Proxy RepliesCreateResource)+                      mempty
gen/Network/Google/Resource/Drive/Replies/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Replies.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -45,7 +45,7 @@ -- 'RepliesDelete' request conforms to. type RepliesDeleteResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>@@ -57,7 +57,7 @@ -- | Deletes a reply. -- -- /See:/ 'repliesDelete' smart constructor.-data RepliesDelete = RepliesDelete+data RepliesDelete = RepliesDelete'     { _rdReplyId   :: !Text     , _rdFileId    :: !Text     , _rdCommentId :: !Text@@ -78,7 +78,7 @@     -> Text -- ^ 'rdCommentId'     -> RepliesDelete repliesDelete pRdReplyId_ pRdFileId_ pRdCommentId_ =-    RepliesDelete+    RepliesDelete'     { _rdReplyId = pRdReplyId_     , _rdFileId = pRdFileId_     , _rdCommentId = pRdCommentId_@@ -100,7 +100,10 @@  instance GoogleRequest RepliesDelete where         type Rs RepliesDelete = ()-        requestClient RepliesDelete{..}+        type Scopes RepliesDelete =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient RepliesDelete'{..}           = go _rdFileId _rdCommentId _rdReplyId (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Replies/Get.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Replies.Get--- Copyright   : (c) 2015 Brendan Hay+-- 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 reply.+-- Gets a reply by ID. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.get@. module Network.Google.Resource.Drive.Replies.Get@@ -46,7 +46,7 @@ -- 'RepliesGet' request conforms to. type RepliesGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>@@ -54,12 +54,12 @@                  "replies" :>                    Capture "replyId" Text :>                      QueryParam "includeDeleted" Bool :>-                       QueryParam "alt" AltJSON :> Get '[JSON] CommentReply+                       QueryParam "alt" AltJSON :> Get '[JSON] Reply --- | Gets a reply.+-- | Gets a reply by ID. -- -- /See:/ 'repliesGet' smart constructor.-data RepliesGet = RepliesGet+data RepliesGet = RepliesGet'     { _rgReplyId        :: !Text     , _rgFileId         :: !Text     , _rgCommentId      :: !Text@@ -83,7 +83,7 @@     -> Text -- ^ 'rgCommentId'     -> RepliesGet repliesGet pRgReplyId_ pRgFileId_ pRgCommentId_ =-    RepliesGet+    RepliesGet'     { _rgReplyId = pRgReplyId_     , _rgFileId = pRgFileId_     , _rgCommentId = pRgCommentId_@@ -104,15 +104,20 @@ rgCommentId   = lens _rgCommentId (\ s a -> s{_rgCommentId = a}) --- | If set, this will succeed when retrieving a deleted reply.+-- | Whether to return deleted replies. Deleted replies will not include+-- their original content. rgIncludeDeleted :: Lens' RepliesGet Bool rgIncludeDeleted   = lens _rgIncludeDeleted       (\ s a -> s{_rgIncludeDeleted = a})  instance GoogleRequest RepliesGet where-        type Rs RepliesGet = CommentReply-        requestClient RepliesGet{..}+        type Rs RepliesGet = Reply+        type Scopes RepliesGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient RepliesGet'{..}           = go _rgFileId _rgCommentId _rgReplyId               (Just _rgIncludeDeleted)               (Just AltJSON)
− gen/Network/Google/Resource/Drive/Replies/Insert.hs
@@ -1,109 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Replies.Insert--- Copyright   : (c) 2015 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 reply to the given comment.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.insert@.-module Network.Google.Resource.Drive.Replies.Insert-    (-    -- * REST Resource-      RepliesInsertResource--    -- * Creating a Request-    , repliesInsert-    , RepliesInsert--    -- * Request Lenses-    , riPayload-    , riFileId-    , riCommentId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.replies.insert@ method which the--- 'RepliesInsert' request conforms to.-type RepliesInsertResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "comments" :>-               Capture "commentId" Text :>-                 "replies" :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] CommentReply :>-                       Post '[JSON] CommentReply---- | Creates a new reply to the given comment.------ /See:/ 'repliesInsert' smart constructor.-data RepliesInsert = RepliesInsert-    { _riPayload   :: !CommentReply-    , _riFileId    :: !Text-    , _riCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RepliesInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riPayload'------ * 'riFileId'------ * 'riCommentId'-repliesInsert-    :: CommentReply -- ^ 'riPayload'-    -> Text -- ^ 'riFileId'-    -> Text -- ^ 'riCommentId'-    -> RepliesInsert-repliesInsert pRiPayload_ pRiFileId_ pRiCommentId_ =-    RepliesInsert-    { _riPayload = pRiPayload_-    , _riFileId = pRiFileId_-    , _riCommentId = pRiCommentId_-    }---- | Multipart request metadata.-riPayload :: Lens' RepliesInsert CommentReply-riPayload-  = lens _riPayload (\ s a -> s{_riPayload = a})---- | The ID of the file.-riFileId :: Lens' RepliesInsert Text-riFileId = lens _riFileId (\ s a -> s{_riFileId = a})---- | The ID of the comment.-riCommentId :: Lens' RepliesInsert Text-riCommentId-  = lens _riCommentId (\ s a -> s{_riCommentId = a})--instance GoogleRequest RepliesInsert where-        type Rs RepliesInsert = CommentReply-        requestClient RepliesInsert{..}-          = go _riFileId _riCommentId (Just AltJSON) _riPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy RepliesInsertResource)-                      mempty
gen/Network/Google/Resource/Drive/Replies/List.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Replies.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists all of the replies to a comment.+-- Lists a comment\'s replies. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.list@. module Network.Google.Resource.Drive.Replies.List@@ -36,7 +36,7 @@     , rlPageToken     , rlFileId     , rlCommentId-    , rlMaxResults+    , rlPageSize     , rlIncludeDeleted     ) where @@ -47,26 +47,25 @@ -- 'RepliesList' request conforms to. type RepliesListResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>                Capture "commentId" Text :>                  "replies" :>                    QueryParam "pageToken" Text :>-                     QueryParam "maxResults" (Textual Int32) :>+                     QueryParam "pageSize" (Textual Int32) :>                        QueryParam "includeDeleted" Bool :>-                         QueryParam "alt" AltJSON :>-                           Get '[JSON] CommentReplyList+                         QueryParam "alt" AltJSON :> Get '[JSON] ReplyList --- | Lists all of the replies to a comment.+-- | Lists a comment\'s replies. -- -- /See:/ 'repliesList' smart constructor.-data RepliesList = RepliesList+data RepliesList = RepliesList'     { _rlPageToken      :: !(Maybe Text)     , _rlFileId         :: !Text     , _rlCommentId      :: !Text-    , _rlMaxResults     :: !(Textual Int32)+    , _rlPageSize       :: !(Textual Int32)     , _rlIncludeDeleted :: !Bool     } deriving (Eq,Show,Data,Typeable,Generic) @@ -80,7 +79,7 @@ -- -- * 'rlCommentId' ----- * 'rlMaxResults'+-- * 'rlPageSize' -- -- * 'rlIncludeDeleted' repliesList@@ -88,17 +87,17 @@     -> Text -- ^ 'rlCommentId'     -> RepliesList repliesList pRlFileId_ pRlCommentId_ =-    RepliesList+    RepliesList'     { _rlPageToken = Nothing     , _rlFileId = pRlFileId_     , _rlCommentId = pRlCommentId_-    , _rlMaxResults = 20+    , _rlPageSize = 20     , _rlIncludeDeleted = False     } --- | The continuation token, used to page through large result sets. To get--- the next page of results, set this parameter to the value of--- \"nextPageToken\" from the previous response.+-- | 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. rlPageToken :: Lens' RepliesList (Maybe Text) rlPageToken   = lens _rlPageToken (\ s a -> s{_rlPageToken = a})@@ -112,25 +111,28 @@ rlCommentId   = lens _rlCommentId (\ s a -> s{_rlCommentId = a}) --- | The maximum number of replies to include in the response, used for--- paging.-rlMaxResults :: Lens' RepliesList Int32-rlMaxResults-  = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})-      . _Coerce+-- | The maximum number of replies to return per page.+rlPageSize :: Lens' RepliesList Int32+rlPageSize+  = lens _rlPageSize (\ s a -> s{_rlPageSize = a}) .+      _Coerce --- | If set, all replies, including deleted replies (with content stripped)--- will be returned.+-- | Whether to include deleted replies. Deleted replies will not include+-- their original content. rlIncludeDeleted :: Lens' RepliesList Bool rlIncludeDeleted   = lens _rlIncludeDeleted       (\ s a -> s{_rlIncludeDeleted = a})  instance GoogleRequest RepliesList where-        type Rs RepliesList = CommentReplyList-        requestClient RepliesList{..}+        type Rs RepliesList = ReplyList+        type Scopes RepliesList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient RepliesList'{..}           = go _rlFileId _rlCommentId _rlPageToken-              (Just _rlMaxResults)+              (Just _rlPageSize)               (Just _rlIncludeDeleted)               (Just AltJSON)               driveService
− gen/Network/Google/Resource/Drive/Replies/Patch.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Replies.Patch--- Copyright   : (c) 2015 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates an existing reply. This method supports patch semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.patch@.-module Network.Google.Resource.Drive.Replies.Patch-    (-    -- * REST Resource-      RepliesPatchResource--    -- * Creating a Request-    , repliesPatch-    , RepliesPatch--    -- * Request Lenses-    , rpPayload-    , rpReplyId-    , rpFileId-    , rpCommentId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.replies.patch@ method which the--- 'RepliesPatch' request conforms to.-type RepliesPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "comments" :>-               Capture "commentId" Text :>-                 "replies" :>-                   Capture "replyId" Text :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] CommentReply :>-                         Patch '[JSON] CommentReply---- | Updates an existing reply. This method supports patch semantics.------ /See:/ 'repliesPatch' smart constructor.-data RepliesPatch = RepliesPatch-    { _rpPayload   :: !CommentReply-    , _rpReplyId   :: !Text-    , _rpFileId    :: !Text-    , _rpCommentId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RepliesPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpPayload'------ * 'rpReplyId'------ * 'rpFileId'------ * 'rpCommentId'-repliesPatch-    :: CommentReply -- ^ 'rpPayload'-    -> Text -- ^ 'rpReplyId'-    -> Text -- ^ 'rpFileId'-    -> Text -- ^ 'rpCommentId'-    -> RepliesPatch-repliesPatch pRpPayload_ pRpReplyId_ pRpFileId_ pRpCommentId_ =-    RepliesPatch-    { _rpPayload = pRpPayload_-    , _rpReplyId = pRpReplyId_-    , _rpFileId = pRpFileId_-    , _rpCommentId = pRpCommentId_-    }---- | Multipart request metadata.-rpPayload :: Lens' RepliesPatch CommentReply-rpPayload-  = lens _rpPayload (\ s a -> s{_rpPayload = a})---- | The ID of the reply.-rpReplyId :: Lens' RepliesPatch Text-rpReplyId-  = lens _rpReplyId (\ s a -> s{_rpReplyId = a})---- | The ID of the file.-rpFileId :: Lens' RepliesPatch Text-rpFileId = lens _rpFileId (\ s a -> s{_rpFileId = a})---- | The ID of the comment.-rpCommentId :: Lens' RepliesPatch Text-rpCommentId-  = lens _rpCommentId (\ s a -> s{_rpCommentId = a})--instance GoogleRequest RepliesPatch where-        type Rs RepliesPatch = CommentReply-        requestClient RepliesPatch{..}-          = go _rpFileId _rpCommentId _rpReplyId (Just AltJSON)-              _rpPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy RepliesPatchResource)-                      mempty
gen/Network/Google/Resource/Drive/Replies/Update.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Replies.Update--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates an existing reply.+-- Updates a reply with patch semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.update@. module Network.Google.Resource.Drive.Replies.Update@@ -46,7 +46,7 @@ -- 'RepliesUpdate' request conforms to. type RepliesUpdateResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "comments" :>@@ -54,14 +54,13 @@                  "replies" :>                    Capture "replyId" Text :>                      QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] CommentReply :>-                         Put '[JSON] CommentReply+                       ReqBody '[JSON] Reply :> Patch '[JSON] Reply --- | Updates an existing reply.+-- | Updates a reply with patch semantics. -- -- /See:/ 'repliesUpdate' smart constructor.-data RepliesUpdate = RepliesUpdate-    { _ruPayload   :: !CommentReply+data RepliesUpdate = RepliesUpdate'+    { _ruPayload   :: !Reply     , _ruReplyId   :: !Text     , _ruFileId    :: !Text     , _ruCommentId :: !Text@@ -79,13 +78,13 @@ -- -- * 'ruCommentId' repliesUpdate-    :: CommentReply -- ^ 'ruPayload'+    :: Reply -- ^ 'ruPayload'     -> Text -- ^ 'ruReplyId'     -> Text -- ^ 'ruFileId'     -> Text -- ^ 'ruCommentId'     -> RepliesUpdate repliesUpdate pRuPayload_ pRuReplyId_ pRuFileId_ pRuCommentId_ =-    RepliesUpdate+    RepliesUpdate'     { _ruPayload = pRuPayload_     , _ruReplyId = pRuReplyId_     , _ruFileId = pRuFileId_@@ -93,7 +92,7 @@     }  -- | Multipart request metadata.-ruPayload :: Lens' RepliesUpdate CommentReply+ruPayload :: Lens' RepliesUpdate Reply ruPayload   = lens _ruPayload (\ s a -> s{_ruPayload = a}) @@ -112,8 +111,11 @@   = lens _ruCommentId (\ s a -> s{_ruCommentId = a})  instance GoogleRequest RepliesUpdate where-        type Rs RepliesUpdate = CommentReply-        requestClient RepliesUpdate{..}+        type Rs RepliesUpdate = Reply+        type Scopes RepliesUpdate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient RepliesUpdate'{..}           = go _ruFileId _ruCommentId _ruReplyId (Just AltJSON)               _ruPayload               driveService
gen/Network/Google/Resource/Drive/Revisions/Delete.hs view
@@ -14,13 +14,14 @@  -- | -- Module      : Network.Google.Resource.Drive.Revisions.Delete--- Copyright   : (c) 2015 Brendan Hay+-- 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) ----- Removes a revision.+-- Permanently deletes a revision. This method is only applicable to files+-- with binary content in Drive. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.delete@. module Network.Google.Resource.Drive.Revisions.Delete@@ -44,17 +45,18 @@ -- 'RevisionsDelete' request conforms to. type RevisionsDeleteResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "revisions" :>                Capture "revisionId" Text :>                  QueryParam "alt" AltJSON :> Delete '[JSON] () --- | Removes a revision.+-- | Permanently deletes a revision. This method is only applicable to files+-- with binary content in Drive. -- -- /See:/ 'revisionsDelete' smart constructor.-data RevisionsDelete = RevisionsDelete+data RevisionsDelete = RevisionsDelete'     { _rFileId     :: !Text     , _rRevisionId :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)@@ -71,7 +73,7 @@     -> Text -- ^ 'rRevisionId'     -> RevisionsDelete revisionsDelete pRFileId_ pRRevisionId_ =-    RevisionsDelete+    RevisionsDelete'     { _rFileId = pRFileId_     , _rRevisionId = pRRevisionId_     }@@ -87,7 +89,11 @@  instance GoogleRequest RevisionsDelete where         type Rs RevisionsDelete = ()-        requestClient RevisionsDelete{..}+        type Scopes RevisionsDelete =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient RevisionsDelete'{..}           = go _rFileId _rRevisionId (Just AltJSON)               driveService           where go
gen/Network/Google/Resource/Drive/Revisions/Get.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Revisions.Get--- Copyright   : (c) 2015 Brendan Hay+-- 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 specific revision.+-- Gets a revision\'s metadata or content by ID. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.get@. module Network.Google.Resource.Drive.Revisions.Get@@ -33,6 +33,7 @@     , RevisionsGet      -- * Request Lenses+    , rggAcknowledgeAbuse     , rggFileId     , rggRevisionId     ) where@@ -44,25 +45,39 @@ -- 'RevisionsGet' request conforms to. type RevisionsGetResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "revisions" :>                Capture "revisionId" Text :>-                 QueryParam "alt" AltJSON :> Get '[JSON] Revision+                 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 --- | Gets a specific revision.+-- | Gets a revision\'s metadata or content by ID. -- -- /See:/ 'revisionsGet' smart constructor.-data RevisionsGet = RevisionsGet-    { _rggFileId     :: !Text-    , _rggRevisionId :: !Text+data RevisionsGet = RevisionsGet'+    { _rggAcknowledgeAbuse :: !Bool+    , _rggFileId           :: !Text+    , _rggRevisionId       :: !Text     } deriving (Eq,Show,Data,Typeable,Generic)  -- | Creates a value of 'RevisionsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'rggAcknowledgeAbuse'+-- -- * 'rggFileId' -- -- * 'rggRevisionId'@@ -71,11 +86,19 @@     -> Text -- ^ 'rggRevisionId'     -> RevisionsGet revisionsGet pRggFileId_ pRggRevisionId_ =-    RevisionsGet-    { _rggFileId = pRggFileId_+    RevisionsGet'+    { _rggAcknowledgeAbuse = False+    , _rggFileId = pRggFileId_     , _rggRevisionId = pRggRevisionId_     } +-- | Whether the user is acknowledging the risk of downloading known malware+-- or other abusive files. This is only applicable when alt=media.+rggAcknowledgeAbuse :: Lens' RevisionsGet Bool+rggAcknowledgeAbuse+  = lens _rggAcknowledgeAbuse+      (\ s a -> s{_rggAcknowledgeAbuse = a})+ -- | The ID of the file. rggFileId :: Lens' RevisionsGet Text rggFileId@@ -89,9 +112,33 @@  instance GoogleRequest RevisionsGet where         type Rs RevisionsGet = Revision-        requestClient RevisionsGet{..}-          = go _rggFileId _rggRevisionId (Just AltJSON)+        type Scopes RevisionsGet =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient RevisionsGet'{..}+          = go _rggFileId _rggRevisionId+              (Just _rggAcknowledgeAbuse)+              (Just AltJSON)               driveService-          where go+          where go :<|> _+                  = buildClient (Proxy :: Proxy RevisionsGetResource)+                      mempty++instance GoogleRequest (MediaDownload RevisionsGet)+         where+        type Rs (MediaDownload RevisionsGet) = Stream+        type Scopes (MediaDownload RevisionsGet) =+             Scopes RevisionsGet+        requestClient (MediaDownload RevisionsGet'{..})+          = go _rggFileId _rggRevisionId+              (Just _rggAcknowledgeAbuse)+              (Just AltMedia)+              driveService+          where _ :<|> go                   = buildClient (Proxy :: Proxy RevisionsGetResource)                       mempty
gen/Network/Google/Resource/Drive/Revisions/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Drive.Revisions.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -43,7 +43,7 @@ -- 'RevisionsList' request conforms to. type RevisionsListResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "revisions" :>@@ -52,7 +52,7 @@ -- | Lists a file\'s revisions. -- -- /See:/ 'revisionsList' smart constructor.-newtype RevisionsList = RevisionsList+newtype RevisionsList = RevisionsList'     { _rllFileId :: Text     } deriving (Eq,Show,Data,Typeable,Generic) @@ -65,7 +65,7 @@     :: Text -- ^ 'rllFileId'     -> RevisionsList revisionsList pRllFileId_ =-    RevisionsList+    RevisionsList'     { _rllFileId = pRllFileId_     } @@ -76,7 +76,15 @@  instance GoogleRequest RevisionsList where         type Rs RevisionsList = RevisionList-        requestClient RevisionsList{..}+        type Scopes RevisionsList =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file",+               "https://www.googleapis.com/auth/drive.metadata",+               "https://www.googleapis.com/auth/drive.metadata.readonly",+               "https://www.googleapis.com/auth/drive.photos.readonly",+               "https://www.googleapis.com/auth/drive.readonly"]+        requestClient RevisionsList'{..}           = go _rllFileId (Just AltJSON) driveService           where go                   = buildClient (Proxy :: Proxy RevisionsListResource)
− gen/Network/Google/Resource/Drive/Revisions/Patch.hs
@@ -1,110 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Drive.Revisions.Patch--- Copyright   : (c) 2015 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 revision. This method supports patch semantics.------ /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.patch@.-module Network.Google.Resource.Drive.Revisions.Patch-    (-    -- * REST Resource-      RevisionsPatchResource--    -- * Creating a Request-    , revisionsPatch-    , RevisionsPatch--    -- * Request Lenses-    , rppPayload-    , rppFileId-    , rppRevisionId-    ) where--import           Network.Google.Drive.Types-import           Network.Google.Prelude---- | A resource alias for @drive.revisions.patch@ method which the--- 'RevisionsPatch' request conforms to.-type RevisionsPatchResource =-     "drive" :>-       "v2" :>-         "files" :>-           Capture "fileId" Text :>-             "revisions" :>-               Capture "revisionId" Text :>-                 QueryParam "alt" AltJSON :>-                   ReqBody '[JSON] Revision :> Patch '[JSON] Revision---- | Updates a revision. This method supports patch semantics.------ /See:/ 'revisionsPatch' smart constructor.-data RevisionsPatch = RevisionsPatch-    { _rppPayload    :: !Revision-    , _rppFileId     :: !Text-    , _rppRevisionId :: !Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RevisionsPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rppPayload'------ * 'rppFileId'------ * 'rppRevisionId'-revisionsPatch-    :: Revision -- ^ 'rppPayload'-    -> Text -- ^ 'rppFileId'-    -> Text -- ^ 'rppRevisionId'-    -> RevisionsPatch-revisionsPatch pRppPayload_ pRppFileId_ pRppRevisionId_ =-    RevisionsPatch-    { _rppPayload = pRppPayload_-    , _rppFileId = pRppFileId_-    , _rppRevisionId = pRppRevisionId_-    }---- | Multipart request metadata.-rppPayload :: Lens' RevisionsPatch Revision-rppPayload-  = lens _rppPayload (\ s a -> s{_rppPayload = a})---- | The ID for the file.-rppFileId :: Lens' RevisionsPatch Text-rppFileId-  = lens _rppFileId (\ s a -> s{_rppFileId = a})---- | The ID for the revision.-rppRevisionId :: Lens' RevisionsPatch Text-rppRevisionId-  = lens _rppRevisionId-      (\ s a -> s{_rppRevisionId = a})--instance GoogleRequest RevisionsPatch where-        type Rs RevisionsPatch = Revision-        requestClient RevisionsPatch{..}-          = go _rppFileId _rppRevisionId (Just AltJSON)-              _rppPayload-              driveService-          where go-                  = buildClient (Proxy :: Proxy RevisionsPatchResource)-                      mempty
gen/Network/Google/Resource/Drive/Revisions/Update.hs view
@@ -14,13 +14,13 @@  -- | -- Module      : Network.Google.Resource.Drive.Revisions.Update--- Copyright   : (c) 2015 Brendan Hay+-- 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 revision.+-- Updates a revision with patch semantics. -- -- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.update@. module Network.Google.Resource.Drive.Revisions.Update@@ -45,18 +45,18 @@ -- 'RevisionsUpdate' request conforms to. type RevisionsUpdateResource =      "drive" :>-       "v2" :>+       "v3" :>          "files" :>            Capture "fileId" Text :>              "revisions" :>                Capture "revisionId" Text :>                  QueryParam "alt" AltJSON :>-                   ReqBody '[JSON] Revision :> Put '[JSON] Revision+                   ReqBody '[JSON] Revision :> Patch '[JSON] Revision --- | Updates a revision.+-- | Updates a revision with patch semantics. -- -- /See:/ 'revisionsUpdate' smart constructor.-data RevisionsUpdate = RevisionsUpdate+data RevisionsUpdate = RevisionsUpdate'     { _revPayload    :: !Revision     , _revFileId     :: !Text     , _revRevisionId :: !Text@@ -77,7 +77,7 @@     -> Text -- ^ 'revRevisionId'     -> RevisionsUpdate revisionsUpdate pRevPayload_ pRevFileId_ pRevRevisionId_ =-    RevisionsUpdate+    RevisionsUpdate'     { _revPayload = pRevPayload_     , _revFileId = pRevFileId_     , _revRevisionId = pRevRevisionId_@@ -88,12 +88,12 @@ revPayload   = lens _revPayload (\ s a -> s{_revPayload = a}) --- | The ID for the file.+-- | The ID of the file. revFileId :: Lens' RevisionsUpdate Text revFileId   = lens _revFileId (\ s a -> s{_revFileId = a}) --- | The ID for the revision.+-- | The ID of the revision. revRevisionId :: Lens' RevisionsUpdate Text revRevisionId   = lens _revRevisionId@@ -101,7 +101,11 @@  instance GoogleRequest RevisionsUpdate where         type Rs RevisionsUpdate = Revision-        requestClient RevisionsUpdate{..}+        type Scopes RevisionsUpdate =+             '["https://www.googleapis.com/auth/drive",+               "https://www.googleapis.com/auth/drive.appdata",+               "https://www.googleapis.com/auth/drive.file"]+        requestClient RevisionsUpdate'{..}           = go _revFileId _revRevisionId (Just AltJSON)               _revPayload               driveService
gogol-drive.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-drive-version:               0.0.1+version:               0.1.0 synopsis:              Google Drive SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -7,19 +7,20 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2015 Brendan Hay+copyright:             Copyright (c) 2015-2016 Brendan Hay category:              Network, Google, Cloud build-type:            Simple cabal-version:         >= 1.10 extra-source-files:    README.md  description:-    The API to interact with Drive.+    Manages files in Drive including uploading, downloading, searching,+    detecting changes, and updating sharing permissions.     .     /Warning:/ This is an experimental prototype/preview release which is still     under exploratory development and not intended for public use, caveat emptor!     .-    This library is compatible with version @v2@+    This library is compatible with version @v3@     of the API.  source-repository head@@ -36,64 +37,38 @@           Network.Google.Drive         , Network.Google.Drive.Types         , Network.Google.Resource.Drive.About.Get-        , Network.Google.Resource.Drive.Apps.Get-        , Network.Google.Resource.Drive.Apps.List-        , Network.Google.Resource.Drive.Changes.Get+        , Network.Google.Resource.Drive.Changes.GetStartPageToken         , Network.Google.Resource.Drive.Changes.List         , Network.Google.Resource.Drive.Changes.Watch         , Network.Google.Resource.Drive.Channels.Stop-        , Network.Google.Resource.Drive.Children.Delete-        , Network.Google.Resource.Drive.Children.Get-        , Network.Google.Resource.Drive.Children.Insert-        , Network.Google.Resource.Drive.Children.List+        , Network.Google.Resource.Drive.Comments.Create         , Network.Google.Resource.Drive.Comments.Delete         , Network.Google.Resource.Drive.Comments.Get-        , Network.Google.Resource.Drive.Comments.Insert         , Network.Google.Resource.Drive.Comments.List-        , Network.Google.Resource.Drive.Comments.Patch         , Network.Google.Resource.Drive.Comments.Update         , Network.Google.Resource.Drive.Files.Copy+        , Network.Google.Resource.Drive.Files.Create         , Network.Google.Resource.Drive.Files.Delete         , Network.Google.Resource.Drive.Files.EmptyTrash+        , Network.Google.Resource.Drive.Files.Export         , Network.Google.Resource.Drive.Files.GenerateIds         , Network.Google.Resource.Drive.Files.Get-        , Network.Google.Resource.Drive.Files.Insert         , Network.Google.Resource.Drive.Files.List-        , Network.Google.Resource.Drive.Files.Patch-        , Network.Google.Resource.Drive.Files.Touch-        , Network.Google.Resource.Drive.Files.Trash-        , Network.Google.Resource.Drive.Files.Untrash         , Network.Google.Resource.Drive.Files.Update         , Network.Google.Resource.Drive.Files.Watch-        , Network.Google.Resource.Drive.Parents.Delete-        , Network.Google.Resource.Drive.Parents.Get-        , Network.Google.Resource.Drive.Parents.Insert-        , Network.Google.Resource.Drive.Parents.List+        , Network.Google.Resource.Drive.Permissions.Create         , Network.Google.Resource.Drive.Permissions.Delete         , Network.Google.Resource.Drive.Permissions.Get-        , Network.Google.Resource.Drive.Permissions.GetIdForEmail-        , Network.Google.Resource.Drive.Permissions.Insert         , Network.Google.Resource.Drive.Permissions.List-        , Network.Google.Resource.Drive.Permissions.Patch         , Network.Google.Resource.Drive.Permissions.Update-        , Network.Google.Resource.Drive.Properties.Delete-        , Network.Google.Resource.Drive.Properties.Get-        , Network.Google.Resource.Drive.Properties.Insert-        , Network.Google.Resource.Drive.Properties.List-        , Network.Google.Resource.Drive.Properties.Patch-        , Network.Google.Resource.Drive.Properties.Update-        , Network.Google.Resource.Drive.Realtime.Get-        , Network.Google.Resource.Drive.Realtime.Update+        , Network.Google.Resource.Drive.Replies.Create         , Network.Google.Resource.Drive.Replies.Delete         , Network.Google.Resource.Drive.Replies.Get-        , Network.Google.Resource.Drive.Replies.Insert         , Network.Google.Resource.Drive.Replies.List-        , Network.Google.Resource.Drive.Replies.Patch         , Network.Google.Resource.Drive.Replies.Update         , Network.Google.Resource.Drive.Revisions.Delete         , Network.Google.Resource.Drive.Revisions.Get         , Network.Google.Resource.Drive.Revisions.List-        , Network.Google.Resource.Drive.Revisions.Patch         , Network.Google.Resource.Drive.Revisions.Update      other-modules:@@ -101,5 +76,5 @@         , Network.Google.Drive.Types.Sum      build-depends:-          gogol-core == 0.0.1.*+          gogol-core == 0.1.0.*         , base       >= 4.7 && < 5