{-# 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.OSLogin.Users.SSHPublicKeys.Patch
(
UsersSSHPublicKeysPatchResource
, usersSSHPublicKeysPatch
, UsersSSHPublicKeysPatch
, uspkpXgafv
, uspkpUploadProtocol
, uspkpUpdateMask
, uspkpAccessToken
, uspkpUploadType
, uspkpPayload
, uspkpName
, uspkpCallback
) where
import Network.Google.OSLogin.Types
import Network.Google.Prelude
type UsersSSHPublicKeysPatchResource =
"v1" :>
Capture "name" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "updateMask" GFieldMask :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] SSHPublicKey :>
Patch '[JSON] SSHPublicKey
data UsersSSHPublicKeysPatch = UsersSSHPublicKeysPatch'
{ _uspkpXgafv :: !(Maybe Xgafv)
, _uspkpUploadProtocol :: !(Maybe Text)
, _uspkpUpdateMask :: !(Maybe GFieldMask)
, _uspkpAccessToken :: !(Maybe Text)
, _uspkpUploadType :: !(Maybe Text)
, _uspkpPayload :: !SSHPublicKey
, _uspkpName :: !Text
, _uspkpCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
usersSSHPublicKeysPatch
:: SSHPublicKey
-> Text
-> UsersSSHPublicKeysPatch
usersSSHPublicKeysPatch pUspkpPayload_ pUspkpName_ =
UsersSSHPublicKeysPatch'
{ _uspkpXgafv = Nothing
, _uspkpUploadProtocol = Nothing
, _uspkpUpdateMask = Nothing
, _uspkpAccessToken = Nothing
, _uspkpUploadType = Nothing
, _uspkpPayload = pUspkpPayload_
, _uspkpName = pUspkpName_
, _uspkpCallback = Nothing
}
uspkpXgafv :: Lens' UsersSSHPublicKeysPatch (Maybe Xgafv)
uspkpXgafv
= lens _uspkpXgafv (\ s a -> s{_uspkpXgafv = a})
uspkpUploadProtocol :: Lens' UsersSSHPublicKeysPatch (Maybe Text)
uspkpUploadProtocol
= lens _uspkpUploadProtocol
(\ s a -> s{_uspkpUploadProtocol = a})
uspkpUpdateMask :: Lens' UsersSSHPublicKeysPatch (Maybe GFieldMask)
uspkpUpdateMask
= lens _uspkpUpdateMask
(\ s a -> s{_uspkpUpdateMask = a})
uspkpAccessToken :: Lens' UsersSSHPublicKeysPatch (Maybe Text)
uspkpAccessToken
= lens _uspkpAccessToken
(\ s a -> s{_uspkpAccessToken = a})
uspkpUploadType :: Lens' UsersSSHPublicKeysPatch (Maybe Text)
uspkpUploadType
= lens _uspkpUploadType
(\ s a -> s{_uspkpUploadType = a})
uspkpPayload :: Lens' UsersSSHPublicKeysPatch SSHPublicKey
uspkpPayload
= lens _uspkpPayload (\ s a -> s{_uspkpPayload = a})
uspkpName :: Lens' UsersSSHPublicKeysPatch Text
uspkpName
= lens _uspkpName (\ s a -> s{_uspkpName = a})
uspkpCallback :: Lens' UsersSSHPublicKeysPatch (Maybe Text)
uspkpCallback
= lens _uspkpCallback
(\ s a -> s{_uspkpCallback = a})
instance GoogleRequest UsersSSHPublicKeysPatch where
type Rs UsersSSHPublicKeysPatch = SSHPublicKey
type Scopes UsersSSHPublicKeysPatch =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"]
requestClient UsersSSHPublicKeysPatch'{..}
= go _uspkpName _uspkpXgafv _uspkpUploadProtocol
_uspkpUpdateMask
_uspkpAccessToken
_uspkpUploadType
_uspkpCallback
(Just AltJSON)
_uspkpPayload
oSLoginService
where go
= buildClient
(Proxy :: Proxy UsersSSHPublicKeysPatchResource)
mempty