{-# 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.IAM.Projects.ServiceAccounts.Undelete
(
ProjectsServiceAccountsUndeleteResource
, projectsServiceAccountsUndelete
, ProjectsServiceAccountsUndelete
, psauXgafv
, psauUploadProtocol
, psauAccessToken
, psauUploadType
, psauPayload
, psauName
, psauCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsUndeleteResource =
"v1" :>
CaptureMode "name" "undelete" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] UndeleteServiceAccountRequest :>
Post '[JSON] UndeleteServiceAccountResponse
data ProjectsServiceAccountsUndelete =
ProjectsServiceAccountsUndelete'
{ _psauXgafv :: !(Maybe Xgafv)
, _psauUploadProtocol :: !(Maybe Text)
, _psauAccessToken :: !(Maybe Text)
, _psauUploadType :: !(Maybe Text)
, _psauPayload :: !UndeleteServiceAccountRequest
, _psauName :: !Text
, _psauCallback :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
projectsServiceAccountsUndelete
:: UndeleteServiceAccountRequest
-> Text
-> ProjectsServiceAccountsUndelete
projectsServiceAccountsUndelete pPsauPayload_ pPsauName_ =
ProjectsServiceAccountsUndelete'
{ _psauXgafv = Nothing
, _psauUploadProtocol = Nothing
, _psauAccessToken = Nothing
, _psauUploadType = Nothing
, _psauPayload = pPsauPayload_
, _psauName = pPsauName_
, _psauCallback = Nothing
}
psauXgafv :: Lens' ProjectsServiceAccountsUndelete (Maybe Xgafv)
psauXgafv
= lens _psauXgafv (\ s a -> s{_psauXgafv = a})
psauUploadProtocol :: Lens' ProjectsServiceAccountsUndelete (Maybe Text)
psauUploadProtocol
= lens _psauUploadProtocol
(\ s a -> s{_psauUploadProtocol = a})
psauAccessToken :: Lens' ProjectsServiceAccountsUndelete (Maybe Text)
psauAccessToken
= lens _psauAccessToken
(\ s a -> s{_psauAccessToken = a})
psauUploadType :: Lens' ProjectsServiceAccountsUndelete (Maybe Text)
psauUploadType
= lens _psauUploadType
(\ s a -> s{_psauUploadType = a})
psauPayload :: Lens' ProjectsServiceAccountsUndelete UndeleteServiceAccountRequest
psauPayload
= lens _psauPayload (\ s a -> s{_psauPayload = a})
psauName :: Lens' ProjectsServiceAccountsUndelete Text
psauName = lens _psauName (\ s a -> s{_psauName = a})
psauCallback :: Lens' ProjectsServiceAccountsUndelete (Maybe Text)
psauCallback
= lens _psauCallback (\ s a -> s{_psauCallback = a})
instance GoogleRequest
ProjectsServiceAccountsUndelete
where
type Rs ProjectsServiceAccountsUndelete =
UndeleteServiceAccountResponse
type Scopes ProjectsServiceAccountsUndelete =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsUndelete'{..}
= go _psauName _psauXgafv _psauUploadProtocol
_psauAccessToken
_psauUploadType
_psauCallback
(Just AltJSON)
_psauPayload
iAMService
where go
= buildClient
(Proxy ::
Proxy ProjectsServiceAccountsUndeleteResource)
mempty