{-# 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.Patch
(
ProjectsServiceAccountsPatchResource
, projectsServiceAccountsPatch
, ProjectsServiceAccountsPatch
, psapXgafv
, psapUploadProtocol
, psapAccessToken
, psapUploadType
, psapPayload
, psapName
, psapCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsPatchResource =
"v1" :>
Capture "name" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] PatchServiceAccountRequest :>
Patch '[JSON] ServiceAccount
data ProjectsServiceAccountsPatch =
ProjectsServiceAccountsPatch'
{ _psapXgafv :: !(Maybe Xgafv)
, _psapUploadProtocol :: !(Maybe Text)
, _psapAccessToken :: !(Maybe Text)
, _psapUploadType :: !(Maybe Text)
, _psapPayload :: !PatchServiceAccountRequest
, _psapName :: !Text
, _psapCallback :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
projectsServiceAccountsPatch
:: PatchServiceAccountRequest
-> Text
-> ProjectsServiceAccountsPatch
projectsServiceAccountsPatch pPsapPayload_ pPsapName_ =
ProjectsServiceAccountsPatch'
{ _psapXgafv = Nothing
, _psapUploadProtocol = Nothing
, _psapAccessToken = Nothing
, _psapUploadType = Nothing
, _psapPayload = pPsapPayload_
, _psapName = pPsapName_
, _psapCallback = Nothing
}
psapXgafv :: Lens' ProjectsServiceAccountsPatch (Maybe Xgafv)
psapXgafv
= lens _psapXgafv (\ s a -> s{_psapXgafv = a})
psapUploadProtocol :: Lens' ProjectsServiceAccountsPatch (Maybe Text)
psapUploadProtocol
= lens _psapUploadProtocol
(\ s a -> s{_psapUploadProtocol = a})
psapAccessToken :: Lens' ProjectsServiceAccountsPatch (Maybe Text)
psapAccessToken
= lens _psapAccessToken
(\ s a -> s{_psapAccessToken = a})
psapUploadType :: Lens' ProjectsServiceAccountsPatch (Maybe Text)
psapUploadType
= lens _psapUploadType
(\ s a -> s{_psapUploadType = a})
psapPayload :: Lens' ProjectsServiceAccountsPatch PatchServiceAccountRequest
psapPayload
= lens _psapPayload (\ s a -> s{_psapPayload = a})
psapName :: Lens' ProjectsServiceAccountsPatch Text
psapName = lens _psapName (\ s a -> s{_psapName = a})
psapCallback :: Lens' ProjectsServiceAccountsPatch (Maybe Text)
psapCallback
= lens _psapCallback (\ s a -> s{_psapCallback = a})
instance GoogleRequest ProjectsServiceAccountsPatch
where
type Rs ProjectsServiceAccountsPatch = ServiceAccount
type Scopes ProjectsServiceAccountsPatch =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsPatch'{..}
= go _psapName _psapXgafv _psapUploadProtocol
_psapAccessToken
_psapUploadType
_psapCallback
(Just AltJSON)
_psapPayload
iAMService
where go
= buildClient
(Proxy :: Proxy ProjectsServiceAccountsPatchResource)
mempty