{-# 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.Datastore.Projects.Rollback
(
ProjectsRollbackResource
, projectsRollback
, ProjectsRollback
, prXgafv
, prUploadProtocol
, prPp
, prAccessToken
, prUploadType
, prPayload
, prBearerToken
, prProjectId
, prCallback
) where
import Network.Google.Datastore.Types
import Network.Google.Prelude
type ProjectsRollbackResource =
"v1beta3" :>
"projects" :>
CaptureMode "projectId" "rollback" Text :>
QueryParam "$.xgafv" Xgafv :>
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] RollbackRequest :>
Post '[JSON] RollbackResponse
-- | Rolls back a transaction.
--
-- /See:/ 'projectsRollback' smart constructor.
data ProjectsRollback = ProjectsRollback'
{ _prXgafv :: !(Maybe Xgafv)
, _prUploadProtocol :: !(Maybe Text)
, _prPp :: !Bool
, _prAccessToken :: !(Maybe Text)
, _prUploadType :: !(Maybe Text)
, _prPayload :: !RollbackRequest
, _prBearerToken :: !(Maybe Text)
, _prProjectId :: !Text
, _prCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
-- | Creates a value of 'ProjectsRollback' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'prXgafv'
--
-- * 'prUploadProtocol'
--
-- * 'prPp'
--
-- * 'prAccessToken'
--
-- * 'prUploadType'
--
-- * 'prPayload'
--
-- * 'prBearerToken'
--
-- * 'prProjectId'
--
-- * 'prCallback'
projectsRollback
:: RollbackRequest -- ^ 'prPayload'
-> Text -- ^ 'prProjectId'
-> ProjectsRollback
projectsRollback pPrPayload_ pPrProjectId_ =
ProjectsRollback'
{ _prXgafv = Nothing
, _prUploadProtocol = Nothing
, _prPp = True
, _prAccessToken = Nothing
, _prUploadType = Nothing
, _prPayload = pPrPayload_
, _prBearerToken = Nothing
, _prProjectId = pPrProjectId_
, _prCallback = Nothing
}
-- | V1 error format.
prXgafv :: Lens' ProjectsRollback (Maybe Xgafv)
prXgafv = lens _prXgafv (\ s a -> s{_prXgafv = a})
-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
prUploadProtocol :: Lens' ProjectsRollback (Maybe Text)
prUploadProtocol
= lens _prUploadProtocol
(\ s a -> s{_prUploadProtocol = a})
-- | Pretty-print response.
prPp :: Lens' ProjectsRollback Bool
prPp = lens _prPp (\ s a -> s{_prPp = a})
-- | OAuth access token.
prAccessToken :: Lens' ProjectsRollback (Maybe Text)
prAccessToken
= lens _prAccessToken
(\ s a -> s{_prAccessToken = a})
-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
prUploadType :: Lens' ProjectsRollback (Maybe Text)
prUploadType
= lens _prUploadType (\ s a -> s{_prUploadType = a})
-- | Multipart request metadata.
prPayload :: Lens' ProjectsRollback RollbackRequest
prPayload
= lens _prPayload (\ s a -> s{_prPayload = a})
-- | OAuth bearer token.
prBearerToken :: Lens' ProjectsRollback (Maybe Text)
prBearerToken
= lens _prBearerToken
(\ s a -> s{_prBearerToken = a})
-- | The ID of the project against which to make the request.
prProjectId :: Lens' ProjectsRollback Text
prProjectId
= lens _prProjectId (\ s a -> s{_prProjectId = a})
-- | JSONP
prCallback :: Lens' ProjectsRollback (Maybe Text)
prCallback
= lens _prCallback (\ s a -> s{_prCallback = a})
instance GoogleRequest ProjectsRollback where
type Rs ProjectsRollback = RollbackResponse
type Scopes ProjectsRollback =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/datastore"]
requestClient ProjectsRollback'{..}
= go _prProjectId _prXgafv _prUploadProtocol
(Just _prPp)
_prAccessToken
_prUploadType
_prBearerToken
_prCallback
(Just AltJSON)
_prPayload
datastoreService
where go
= buildClient
(Proxy :: Proxy ProjectsRollbackResource)
mempty