module Network.Google.Resource.PubSub.Projects.Topics.SetIAMPolicy
(
ProjectsTopicsSetIAMPolicyResource
, projectsTopicsSetIAMPolicy
, ProjectsTopicsSetIAMPolicy
, ptsipXgafv
, ptsipUploadProtocol
, ptsipPp
, ptsipAccessToken
, ptsipUploadType
, ptsipPayload
, ptsipBearerToken
, ptsipResource
, ptsipCallback
) where
import Network.Google.Prelude
import Network.Google.PubSub.Types
type ProjectsTopicsSetIAMPolicyResource =
"v1" :>
CaptureMode "resource" "setIamPolicy" 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] SetIAMPolicyRequest :>
Post '[JSON] Policy
data ProjectsTopicsSetIAMPolicy = ProjectsTopicsSetIAMPolicy'
{ _ptsipXgafv :: !(Maybe Xgafv)
, _ptsipUploadProtocol :: !(Maybe Text)
, _ptsipPp :: !Bool
, _ptsipAccessToken :: !(Maybe Text)
, _ptsipUploadType :: !(Maybe Text)
, _ptsipPayload :: !SetIAMPolicyRequest
, _ptsipBearerToken :: !(Maybe Text)
, _ptsipResource :: !Text
, _ptsipCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsTopicsSetIAMPolicy
:: SetIAMPolicyRequest
-> Text
-> ProjectsTopicsSetIAMPolicy
projectsTopicsSetIAMPolicy pPtsipPayload_ pPtsipResource_ =
ProjectsTopicsSetIAMPolicy'
{ _ptsipXgafv = Nothing
, _ptsipUploadProtocol = Nothing
, _ptsipPp = True
, _ptsipAccessToken = Nothing
, _ptsipUploadType = Nothing
, _ptsipPayload = pPtsipPayload_
, _ptsipBearerToken = Nothing
, _ptsipResource = pPtsipResource_
, _ptsipCallback = Nothing
}
ptsipXgafv :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Xgafv)
ptsipXgafv
= lens _ptsipXgafv (\ s a -> s{_ptsipXgafv = a})
ptsipUploadProtocol :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Text)
ptsipUploadProtocol
= lens _ptsipUploadProtocol
(\ s a -> s{_ptsipUploadProtocol = a})
ptsipPp :: Lens' ProjectsTopicsSetIAMPolicy Bool
ptsipPp = lens _ptsipPp (\ s a -> s{_ptsipPp = a})
ptsipAccessToken :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Text)
ptsipAccessToken
= lens _ptsipAccessToken
(\ s a -> s{_ptsipAccessToken = a})
ptsipUploadType :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Text)
ptsipUploadType
= lens _ptsipUploadType
(\ s a -> s{_ptsipUploadType = a})
ptsipPayload :: Lens' ProjectsTopicsSetIAMPolicy SetIAMPolicyRequest
ptsipPayload
= lens _ptsipPayload (\ s a -> s{_ptsipPayload = a})
ptsipBearerToken :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Text)
ptsipBearerToken
= lens _ptsipBearerToken
(\ s a -> s{_ptsipBearerToken = a})
ptsipResource :: Lens' ProjectsTopicsSetIAMPolicy Text
ptsipResource
= lens _ptsipResource
(\ s a -> s{_ptsipResource = a})
ptsipCallback :: Lens' ProjectsTopicsSetIAMPolicy (Maybe Text)
ptsipCallback
= lens _ptsipCallback
(\ s a -> s{_ptsipCallback = a})
instance GoogleRequest ProjectsTopicsSetIAMPolicy
where
type Rs ProjectsTopicsSetIAMPolicy = Policy
type Scopes ProjectsTopicsSetIAMPolicy =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"]
requestClient ProjectsTopicsSetIAMPolicy'{..}
= go _ptsipResource _ptsipXgafv _ptsipUploadProtocol
(Just _ptsipPp)
_ptsipAccessToken
_ptsipUploadType
_ptsipBearerToken
_ptsipCallback
(Just AltJSON)
_ptsipPayload
pubSubService
where go
= buildClient
(Proxy :: Proxy ProjectsTopicsSetIAMPolicyResource)
mempty