module Network.Google.Resource.IAM.Projects.ServiceAccounts.Create
(
ProjectsServiceAccountsCreateResource
, projectsServiceAccountsCreate
, ProjectsServiceAccountsCreate
, psacXgafv
, psacUploadProtocol
, psacPp
, psacAccessToken
, psacUploadType
, psacPayload
, psacBearerToken
, psacName
, psacCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsCreateResource =
"v1" :>
Capture "name" Text :>
"serviceAccounts" :>
QueryParam "$.xgafv" Text :>
QueryParam "upload_protocol" Text :>
QueryParam "pp" Bool :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "bearer_token" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] CreateServiceAccountRequest :>
Post '[JSON] ServiceAccount
data ProjectsServiceAccountsCreate = ProjectsServiceAccountsCreate'
{ _psacXgafv :: !(Maybe Text)
, _psacUploadProtocol :: !(Maybe Text)
, _psacPp :: !Bool
, _psacAccessToken :: !(Maybe Text)
, _psacUploadType :: !(Maybe Text)
, _psacPayload :: !CreateServiceAccountRequest
, _psacBearerToken :: !(Maybe Text)
, _psacName :: !Text
, _psacCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsServiceAccountsCreate
:: CreateServiceAccountRequest
-> Text
-> ProjectsServiceAccountsCreate
projectsServiceAccountsCreate pPsacPayload_ pPsacName_ =
ProjectsServiceAccountsCreate'
{ _psacXgafv = Nothing
, _psacUploadProtocol = Nothing
, _psacPp = True
, _psacAccessToken = Nothing
, _psacUploadType = Nothing
, _psacPayload = pPsacPayload_
, _psacBearerToken = Nothing
, _psacName = pPsacName_
, _psacCallback = Nothing
}
psacXgafv :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacXgafv
= lens _psacXgafv (\ s a -> s{_psacXgafv = a})
psacUploadProtocol :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacUploadProtocol
= lens _psacUploadProtocol
(\ s a -> s{_psacUploadProtocol = a})
psacPp :: Lens' ProjectsServiceAccountsCreate Bool
psacPp = lens _psacPp (\ s a -> s{_psacPp = a})
psacAccessToken :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacAccessToken
= lens _psacAccessToken
(\ s a -> s{_psacAccessToken = a})
psacUploadType :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacUploadType
= lens _psacUploadType
(\ s a -> s{_psacUploadType = a})
psacPayload :: Lens' ProjectsServiceAccountsCreate CreateServiceAccountRequest
psacPayload
= lens _psacPayload (\ s a -> s{_psacPayload = a})
psacBearerToken :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacBearerToken
= lens _psacBearerToken
(\ s a -> s{_psacBearerToken = a})
psacName :: Lens' ProjectsServiceAccountsCreate Text
psacName = lens _psacName (\ s a -> s{_psacName = a})
psacCallback :: Lens' ProjectsServiceAccountsCreate (Maybe Text)
psacCallback
= lens _psacCallback (\ s a -> s{_psacCallback = a})
instance GoogleRequest ProjectsServiceAccountsCreate
where
type Rs ProjectsServiceAccountsCreate =
ServiceAccount
type Scopes ProjectsServiceAccountsCreate =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsCreate'{..}
= go _psacName _psacXgafv _psacUploadProtocol
(Just _psacPp)
_psacAccessToken
_psacUploadType
_psacBearerToken
_psacCallback
(Just AltJSON)
_psacPayload
iAMService
where go
= buildClient
(Proxy ::
Proxy ProjectsServiceAccountsCreateResource)
mempty