{-# 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.List
(
ProjectsServiceAccountsListResource
, projectsServiceAccountsList
, ProjectsServiceAccountsList
, psalXgafv
, psalUploadProtocol
, psalAccessToken
, psalUploadType
, psalName
, psalPageToken
, psalPageSize
, psalCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsListResource =
"v1" :>
Capture "name" Text :>
"serviceAccounts" :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "pageToken" Text :>
QueryParam "pageSize" (Textual Int32) :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
Get '[JSON] ListServiceAccountsResponse
data ProjectsServiceAccountsList = ProjectsServiceAccountsList'
{ _psalXgafv :: !(Maybe Xgafv)
, _psalUploadProtocol :: !(Maybe Text)
, _psalAccessToken :: !(Maybe Text)
, _psalUploadType :: !(Maybe Text)
, _psalName :: !Text
, _psalPageToken :: !(Maybe Text)
, _psalPageSize :: !(Maybe (Textual Int32))
, _psalCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsServiceAccountsList
:: Text
-> ProjectsServiceAccountsList
projectsServiceAccountsList pPsalName_ =
ProjectsServiceAccountsList'
{ _psalXgafv = Nothing
, _psalUploadProtocol = Nothing
, _psalAccessToken = Nothing
, _psalUploadType = Nothing
, _psalName = pPsalName_
, _psalPageToken = Nothing
, _psalPageSize = Nothing
, _psalCallback = Nothing
}
psalXgafv :: Lens' ProjectsServiceAccountsList (Maybe Xgafv)
psalXgafv
= lens _psalXgafv (\ s a -> s{_psalXgafv = a})
psalUploadProtocol :: Lens' ProjectsServiceAccountsList (Maybe Text)
psalUploadProtocol
= lens _psalUploadProtocol
(\ s a -> s{_psalUploadProtocol = a})
psalAccessToken :: Lens' ProjectsServiceAccountsList (Maybe Text)
psalAccessToken
= lens _psalAccessToken
(\ s a -> s{_psalAccessToken = a})
psalUploadType :: Lens' ProjectsServiceAccountsList (Maybe Text)
psalUploadType
= lens _psalUploadType
(\ s a -> s{_psalUploadType = a})
psalName :: Lens' ProjectsServiceAccountsList Text
psalName = lens _psalName (\ s a -> s{_psalName = a})
psalPageToken :: Lens' ProjectsServiceAccountsList (Maybe Text)
psalPageToken
= lens _psalPageToken
(\ s a -> s{_psalPageToken = a})
psalPageSize :: Lens' ProjectsServiceAccountsList (Maybe Int32)
psalPageSize
= lens _psalPageSize (\ s a -> s{_psalPageSize = a})
. mapping _Coerce
psalCallback :: Lens' ProjectsServiceAccountsList (Maybe Text)
psalCallback
= lens _psalCallback (\ s a -> s{_psalCallback = a})
instance GoogleRequest ProjectsServiceAccountsList
where
type Rs ProjectsServiceAccountsList =
ListServiceAccountsResponse
type Scopes ProjectsServiceAccountsList =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsList'{..}
= go _psalName _psalXgafv _psalUploadProtocol
_psalAccessToken
_psalUploadType
_psalPageToken
_psalPageSize
_psalCallback
(Just AltJSON)
iAMService
where go
= buildClient
(Proxy :: Proxy ProjectsServiceAccountsListResource)
mempty