module Network.Google.Resource.CloudResourceManager.Projects.SetIAMPolicy
(
ProjectsSetIAMPolicyResource
, projectsSetIAMPolicy
, ProjectsSetIAMPolicy
, psipXgafv
, psipUploadProtocol
, psipPp
, psipAccessToken
, psipUploadType
, psipPayload
, psipBearerToken
, psipResource
, psipCallback
) where
import Network.Google.Prelude
import Network.Google.ResourceManager.Types
type ProjectsSetIAMPolicyResource =
"v1beta1" :>
"projects" :>
CaptureMode "resource" "setIamPolicy" Text :>
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] SetIAMPolicyRequest :>
Post '[JSON] Policy
data ProjectsSetIAMPolicy = ProjectsSetIAMPolicy
{ _psipXgafv :: !(Maybe Text)
, _psipUploadProtocol :: !(Maybe Text)
, _psipPp :: !Bool
, _psipAccessToken :: !(Maybe Text)
, _psipUploadType :: !(Maybe Text)
, _psipPayload :: !SetIAMPolicyRequest
, _psipBearerToken :: !(Maybe Text)
, _psipResource :: !Text
, _psipCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsSetIAMPolicy
:: SetIAMPolicyRequest
-> Text
-> ProjectsSetIAMPolicy
projectsSetIAMPolicy pPsipPayload_ pPsipResource_ =
ProjectsSetIAMPolicy
{ _psipXgafv = Nothing
, _psipUploadProtocol = Nothing
, _psipPp = True
, _psipAccessToken = Nothing
, _psipUploadType = Nothing
, _psipPayload = pPsipPayload_
, _psipBearerToken = Nothing
, _psipResource = pPsipResource_
, _psipCallback = Nothing
}
psipXgafv :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipXgafv
= lens _psipXgafv (\ s a -> s{_psipXgafv = a})
psipUploadProtocol :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipUploadProtocol
= lens _psipUploadProtocol
(\ s a -> s{_psipUploadProtocol = a})
psipPp :: Lens' ProjectsSetIAMPolicy Bool
psipPp = lens _psipPp (\ s a -> s{_psipPp = a})
psipAccessToken :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipAccessToken
= lens _psipAccessToken
(\ s a -> s{_psipAccessToken = a})
psipUploadType :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipUploadType
= lens _psipUploadType
(\ s a -> s{_psipUploadType = a})
psipPayload :: Lens' ProjectsSetIAMPolicy SetIAMPolicyRequest
psipPayload
= lens _psipPayload (\ s a -> s{_psipPayload = a})
psipBearerToken :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipBearerToken
= lens _psipBearerToken
(\ s a -> s{_psipBearerToken = a})
psipResource :: Lens' ProjectsSetIAMPolicy Text
psipResource
= lens _psipResource (\ s a -> s{_psipResource = a})
psipCallback :: Lens' ProjectsSetIAMPolicy (Maybe Text)
psipCallback
= lens _psipCallback (\ s a -> s{_psipCallback = a})
instance GoogleRequest ProjectsSetIAMPolicy where
type Rs ProjectsSetIAMPolicy = Policy
requestClient ProjectsSetIAMPolicy{..}
= go _psipResource _psipXgafv _psipUploadProtocol
(Just _psipPp)
_psipAccessToken
_psipUploadType
_psipBearerToken
_psipCallback
(Just AltJSON)
_psipPayload
resourceManagerService
where go
= buildClient
(Proxy :: Proxy ProjectsSetIAMPolicyResource)
mempty