{-# 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.ImportSSHPublicKey
(
UsersImportSSHPublicKeyResource
, usersImportSSHPublicKey
, UsersImportSSHPublicKey
, uispkParent
, uispkXgafv
, uispkUploadProtocol
, uispkAccessToken
, uispkUploadType
, uispkPayload
, uispkProjectId
, uispkCallback
) where
import Network.Google.OSLogin.Types
import Network.Google.Prelude
type UsersImportSSHPublicKeyResource =
"v1" :>
CaptureMode "parent" "importSshPublicKey" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "projectId" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] SSHPublicKey :>
Post '[JSON] ImportSSHPublicKeyResponse
data UsersImportSSHPublicKey = UsersImportSSHPublicKey'
{ _uispkParent :: !Text
, _uispkXgafv :: !(Maybe Xgafv)
, _uispkUploadProtocol :: !(Maybe Text)
, _uispkAccessToken :: !(Maybe Text)
, _uispkUploadType :: !(Maybe Text)
, _uispkPayload :: !SSHPublicKey
, _uispkProjectId :: !(Maybe Text)
, _uispkCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
usersImportSSHPublicKey
:: Text
-> SSHPublicKey
-> UsersImportSSHPublicKey
usersImportSSHPublicKey pUispkParent_ pUispkPayload_ =
UsersImportSSHPublicKey'
{ _uispkParent = pUispkParent_
, _uispkXgafv = Nothing
, _uispkUploadProtocol = Nothing
, _uispkAccessToken = Nothing
, _uispkUploadType = Nothing
, _uispkPayload = pUispkPayload_
, _uispkProjectId = Nothing
, _uispkCallback = Nothing
}
uispkParent :: Lens' UsersImportSSHPublicKey Text
uispkParent
= lens _uispkParent (\ s a -> s{_uispkParent = a})
uispkXgafv :: Lens' UsersImportSSHPublicKey (Maybe Xgafv)
uispkXgafv
= lens _uispkXgafv (\ s a -> s{_uispkXgafv = a})
uispkUploadProtocol :: Lens' UsersImportSSHPublicKey (Maybe Text)
uispkUploadProtocol
= lens _uispkUploadProtocol
(\ s a -> s{_uispkUploadProtocol = a})
uispkAccessToken :: Lens' UsersImportSSHPublicKey (Maybe Text)
uispkAccessToken
= lens _uispkAccessToken
(\ s a -> s{_uispkAccessToken = a})
uispkUploadType :: Lens' UsersImportSSHPublicKey (Maybe Text)
uispkUploadType
= lens _uispkUploadType
(\ s a -> s{_uispkUploadType = a})
uispkPayload :: Lens' UsersImportSSHPublicKey SSHPublicKey
uispkPayload
= lens _uispkPayload (\ s a -> s{_uispkPayload = a})
uispkProjectId :: Lens' UsersImportSSHPublicKey (Maybe Text)
uispkProjectId
= lens _uispkProjectId
(\ s a -> s{_uispkProjectId = a})
uispkCallback :: Lens' UsersImportSSHPublicKey (Maybe Text)
uispkCallback
= lens _uispkCallback
(\ s a -> s{_uispkCallback = a})
instance GoogleRequest UsersImportSSHPublicKey where
type Rs UsersImportSSHPublicKey =
ImportSSHPublicKeyResponse
type Scopes UsersImportSSHPublicKey =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"]
requestClient UsersImportSSHPublicKey'{..}
= go _uispkParent _uispkXgafv _uispkUploadProtocol
_uispkAccessToken
_uispkUploadType
_uispkProjectId
_uispkCallback
(Just AltJSON)
_uispkPayload
oSLoginService
where go
= buildClient
(Proxy :: Proxy UsersImportSSHPublicKeyResource)
mempty