module Network.Google.Resource.TagManager.Accounts.Permissions.Update
(
AccountsPermissionsUpdateResource
, accountsPermissionsUpdate
, AccountsPermissionsUpdate
, apuPayload
, apuAccountId
, apuPermissionId
) where
import Network.Google.Prelude
import Network.Google.TagManager.Types
type AccountsPermissionsUpdateResource =
"tagmanager" :>
"v1" :>
"accounts" :>
Capture "accountId" Text :>
"permissions" :>
Capture "permissionId" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] UserAccess :> Put '[JSON] UserAccess
data AccountsPermissionsUpdate = AccountsPermissionsUpdate'
{ _apuPayload :: !UserAccess
, _apuAccountId :: !Text
, _apuPermissionId :: !Text
} deriving (Eq,Show,Data,Typeable,Generic)
accountsPermissionsUpdate
:: UserAccess
-> Text
-> Text
-> AccountsPermissionsUpdate
accountsPermissionsUpdate pApuPayload_ pApuAccountId_ pApuPermissionId_ =
AccountsPermissionsUpdate'
{ _apuPayload = pApuPayload_
, _apuAccountId = pApuAccountId_
, _apuPermissionId = pApuPermissionId_
}
apuPayload :: Lens' AccountsPermissionsUpdate UserAccess
apuPayload
= lens _apuPayload (\ s a -> s{_apuPayload = a})
apuAccountId :: Lens' AccountsPermissionsUpdate Text
apuAccountId
= lens _apuAccountId (\ s a -> s{_apuAccountId = a})
apuPermissionId :: Lens' AccountsPermissionsUpdate Text
apuPermissionId
= lens _apuPermissionId
(\ s a -> s{_apuPermissionId = a})
instance GoogleRequest AccountsPermissionsUpdate
where
type Rs AccountsPermissionsUpdate = UserAccess
type Scopes AccountsPermissionsUpdate =
'["https://www.googleapis.com/auth/tagmanager.manage.users"]
requestClient AccountsPermissionsUpdate'{..}
= go _apuAccountId _apuPermissionId (Just AltJSON)
_apuPayload
tagManagerService
where go
= buildClient
(Proxy :: Proxy AccountsPermissionsUpdateResource)
mempty