module Network.Google.Resource.IAM.Projects.ServiceAccounts.Keys.Create
(
ProjectsServiceAccountsKeysCreateResource
, projectsServiceAccountsKeysCreate
, ProjectsServiceAccountsKeysCreate
, psakcXgafv
, psakcUploadProtocol
, psakcPp
, psakcAccessToken
, psakcUploadType
, psakcPayload
, psakcBearerToken
, psakcName
, psakcCallback
) where
import Network.Google.IAM.Types
import Network.Google.Prelude
type ProjectsServiceAccountsKeysCreateResource =
"v1" :>
Capture "name" Text :>
"keys" :>
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] CreateServiceAccountKeyRequest :>
Post '[JSON] ServiceAccountKey
data ProjectsServiceAccountsKeysCreate = ProjectsServiceAccountsKeysCreate'
{ _psakcXgafv :: !(Maybe Text)
, _psakcUploadProtocol :: !(Maybe Text)
, _psakcPp :: !Bool
, _psakcAccessToken :: !(Maybe Text)
, _psakcUploadType :: !(Maybe Text)
, _psakcPayload :: !CreateServiceAccountKeyRequest
, _psakcBearerToken :: !(Maybe Text)
, _psakcName :: !Text
, _psakcCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsServiceAccountsKeysCreate
:: CreateServiceAccountKeyRequest
-> Text
-> ProjectsServiceAccountsKeysCreate
projectsServiceAccountsKeysCreate pPsakcPayload_ pPsakcName_ =
ProjectsServiceAccountsKeysCreate'
{ _psakcXgafv = Nothing
, _psakcUploadProtocol = Nothing
, _psakcPp = True
, _psakcAccessToken = Nothing
, _psakcUploadType = Nothing
, _psakcPayload = pPsakcPayload_
, _psakcBearerToken = Nothing
, _psakcName = pPsakcName_
, _psakcCallback = Nothing
}
psakcXgafv :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcXgafv
= lens _psakcXgafv (\ s a -> s{_psakcXgafv = a})
psakcUploadProtocol :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcUploadProtocol
= lens _psakcUploadProtocol
(\ s a -> s{_psakcUploadProtocol = a})
psakcPp :: Lens' ProjectsServiceAccountsKeysCreate Bool
psakcPp = lens _psakcPp (\ s a -> s{_psakcPp = a})
psakcAccessToken :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcAccessToken
= lens _psakcAccessToken
(\ s a -> s{_psakcAccessToken = a})
psakcUploadType :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcUploadType
= lens _psakcUploadType
(\ s a -> s{_psakcUploadType = a})
psakcPayload :: Lens' ProjectsServiceAccountsKeysCreate CreateServiceAccountKeyRequest
psakcPayload
= lens _psakcPayload (\ s a -> s{_psakcPayload = a})
psakcBearerToken :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcBearerToken
= lens _psakcBearerToken
(\ s a -> s{_psakcBearerToken = a})
psakcName :: Lens' ProjectsServiceAccountsKeysCreate Text
psakcName
= lens _psakcName (\ s a -> s{_psakcName = a})
psakcCallback :: Lens' ProjectsServiceAccountsKeysCreate (Maybe Text)
psakcCallback
= lens _psakcCallback
(\ s a -> s{_psakcCallback = a})
instance GoogleRequest
ProjectsServiceAccountsKeysCreate where
type Rs ProjectsServiceAccountsKeysCreate =
ServiceAccountKey
type Scopes ProjectsServiceAccountsKeysCreate =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsServiceAccountsKeysCreate'{..}
= go _psakcName _psakcXgafv _psakcUploadProtocol
(Just _psakcPp)
_psakcAccessToken
_psakcUploadType
_psakcBearerToken
_psakcCallback
(Just AltJSON)
_psakcPayload
iAMService
where go
= buildClient
(Proxy ::
Proxy ProjectsServiceAccountsKeysCreateResource)
mempty