{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Resource.Drive.Drives.Update
(
DrivesUpdateResource
, drivesUpdate
, DrivesUpdate
, dPayload
, dUseDomainAdminAccess
, dDriveId
) where
import Network.Google.Drive.Types
import Network.Google.Prelude
type DrivesUpdateResource =
"drive" :>
"v3" :>
"drives" :>
Capture "driveId" Text :>
QueryParam "useDomainAdminAccess" Bool :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Drive :> Patch '[JSON] Drive
data DrivesUpdate =
DrivesUpdate'
{ _dPayload :: !Drive
, _dUseDomainAdminAccess :: !Bool
, _dDriveId :: !Text
}
deriving (Eq, Show, Data, Typeable, Generic)
drivesUpdate
:: Drive
-> Text
-> DrivesUpdate
drivesUpdate pDPayload_ pDDriveId_ =
DrivesUpdate'
{ _dPayload = pDPayload_
, _dUseDomainAdminAccess = False
, _dDriveId = pDDriveId_
}
dPayload :: Lens' DrivesUpdate Drive
dPayload = lens _dPayload (\ s a -> s{_dPayload = a})
dUseDomainAdminAccess :: Lens' DrivesUpdate Bool
dUseDomainAdminAccess
= lens _dUseDomainAdminAccess
(\ s a -> s{_dUseDomainAdminAccess = a})
dDriveId :: Lens' DrivesUpdate Text
dDriveId = lens _dDriveId (\ s a -> s{_dDriveId = a})
instance GoogleRequest DrivesUpdate where
type Rs DrivesUpdate = Drive
type Scopes DrivesUpdate =
'["https://www.googleapis.com/auth/drive"]
requestClient DrivesUpdate'{..}
= go _dDriveId (Just _dUseDomainAdminAccess)
(Just AltJSON)
_dPayload
driveService
where go
= buildClient (Proxy :: Proxy DrivesUpdateResource)
mempty