{-# 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.Disable
(
ProjectsServiceAccountsDisableResource
, projectsServiceAccountsDisable
, ProjectsServiceAccountsDisable
, psadXgafv
, psadUploadProtocol
, psadAccessToken
, psadUploadType
, psadPayload
, psadName
, psadCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsDisableResource =
"v1" :>
CaptureMode "name" "disable" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] DisableServiceAccountRequest :>
Post '[JSON] Empty
data ProjectsServiceAccountsDisable =
ProjectsServiceAccountsDisable'
{ _psadXgafv :: !(Maybe Xgafv)
, _psadUploadProtocol :: !(Maybe Text)
, _psadAccessToken :: !(Maybe Text)
, _psadUploadType :: !(Maybe Text)
, _psadPayload :: !DisableServiceAccountRequest
, _psadName :: !Text
, _psadCallback :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
projectsServiceAccountsDisable
:: DisableServiceAccountRequest
-> Text
-> ProjectsServiceAccountsDisable
projectsServiceAccountsDisable pPsadPayload_ pPsadName_ =
ProjectsServiceAccountsDisable'
{ _psadXgafv = Nothing
, _psadUploadProtocol = Nothing
, _psadAccessToken = Nothing
, _psadUploadType = Nothing
, _psadPayload = pPsadPayload_
, _psadName = pPsadName_
, _psadCallback = Nothing
}
psadXgafv :: Lens' ProjectsServiceAccountsDisable (Maybe Xgafv)
psadXgafv
= lens _psadXgafv (\ s a -> s{_psadXgafv = a})
psadUploadProtocol :: Lens' ProjectsServiceAccountsDisable (Maybe Text)
psadUploadProtocol
= lens _psadUploadProtocol
(\ s a -> s{_psadUploadProtocol = a})
psadAccessToken :: Lens' ProjectsServiceAccountsDisable (Maybe Text)
psadAccessToken
= lens _psadAccessToken
(\ s a -> s{_psadAccessToken = a})
psadUploadType :: Lens' ProjectsServiceAccountsDisable (Maybe Text)
psadUploadType
= lens _psadUploadType
(\ s a -> s{_psadUploadType = a})
psadPayload :: Lens' ProjectsServiceAccountsDisable DisableServiceAccountRequest
psadPayload
= lens _psadPayload (\ s a -> s{_psadPayload = a})
psadName :: Lens' ProjectsServiceAccountsDisable Text
psadName = lens _psadName (\ s a -> s{_psadName = a})
psadCallback :: Lens' ProjectsServiceAccountsDisable (Maybe Text)
psadCallback
= lens _psadCallback (\ s a -> s{_psadCallback = a})
instance GoogleRequest ProjectsServiceAccountsDisable
where
type Rs ProjectsServiceAccountsDisable = Empty
type Scopes ProjectsServiceAccountsDisable =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsDisable'{..}
= go _psadName _psadXgafv _psadUploadProtocol
_psadAccessToken
_psadUploadType
_psadCallback
(Just AltJSON)
_psadPayload
iAMService
where go
= buildClient
(Proxy ::
Proxy ProjectsServiceAccountsDisableResource)
mempty