{-# 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.IAP.Projects.IapTunnel.Zones.SetIAMPolicy
(
ProjectsIapTunnelZonesSetIAMPolicyResource
, projectsIapTunnelZonesSetIAMPolicy
, ProjectsIapTunnelZonesSetIAMPolicy
, pitzsipXgafv
, pitzsipUploadProtocol
, pitzsipAccessToken
, pitzsipUploadType
, pitzsipPayload
, pitzsipResource
, pitzsipCallback
) where
import Network.Google.IAP.Types
import Network.Google.Prelude
type ProjectsIapTunnelZonesSetIAMPolicyResource =
"v1" :>
CaptureMode "resource" "setIamPolicy" Text :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] SetIAMPolicyRequest :>
Post '[JSON] Policy
data ProjectsIapTunnelZonesSetIAMPolicy = ProjectsIapTunnelZonesSetIAMPolicy'
{ _pitzsipXgafv :: !(Maybe Xgafv)
, _pitzsipUploadProtocol :: !(Maybe Text)
, _pitzsipAccessToken :: !(Maybe Text)
, _pitzsipUploadType :: !(Maybe Text)
, _pitzsipPayload :: !SetIAMPolicyRequest
, _pitzsipResource :: !Text
, _pitzsipCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsIapTunnelZonesSetIAMPolicy
:: SetIAMPolicyRequest
-> Text
-> ProjectsIapTunnelZonesSetIAMPolicy
projectsIapTunnelZonesSetIAMPolicy pPitzsipPayload_ pPitzsipResource_ =
ProjectsIapTunnelZonesSetIAMPolicy'
{ _pitzsipXgafv = Nothing
, _pitzsipUploadProtocol = Nothing
, _pitzsipAccessToken = Nothing
, _pitzsipUploadType = Nothing
, _pitzsipPayload = pPitzsipPayload_
, _pitzsipResource = pPitzsipResource_
, _pitzsipCallback = Nothing
}
pitzsipXgafv :: Lens' ProjectsIapTunnelZonesSetIAMPolicy (Maybe Xgafv)
pitzsipXgafv
= lens _pitzsipXgafv (\ s a -> s{_pitzsipXgafv = a})
pitzsipUploadProtocol :: Lens' ProjectsIapTunnelZonesSetIAMPolicy (Maybe Text)
pitzsipUploadProtocol
= lens _pitzsipUploadProtocol
(\ s a -> s{_pitzsipUploadProtocol = a})
pitzsipAccessToken :: Lens' ProjectsIapTunnelZonesSetIAMPolicy (Maybe Text)
pitzsipAccessToken
= lens _pitzsipAccessToken
(\ s a -> s{_pitzsipAccessToken = a})
pitzsipUploadType :: Lens' ProjectsIapTunnelZonesSetIAMPolicy (Maybe Text)
pitzsipUploadType
= lens _pitzsipUploadType
(\ s a -> s{_pitzsipUploadType = a})
pitzsipPayload :: Lens' ProjectsIapTunnelZonesSetIAMPolicy SetIAMPolicyRequest
pitzsipPayload
= lens _pitzsipPayload
(\ s a -> s{_pitzsipPayload = a})
pitzsipResource :: Lens' ProjectsIapTunnelZonesSetIAMPolicy Text
pitzsipResource
= lens _pitzsipResource
(\ s a -> s{_pitzsipResource = a})
pitzsipCallback :: Lens' ProjectsIapTunnelZonesSetIAMPolicy (Maybe Text)
pitzsipCallback
= lens _pitzsipCallback
(\ s a -> s{_pitzsipCallback = a})
instance GoogleRequest
ProjectsIapTunnelZonesSetIAMPolicy where
type Rs ProjectsIapTunnelZonesSetIAMPolicy = Policy
type Scopes ProjectsIapTunnelZonesSetIAMPolicy =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient ProjectsIapTunnelZonesSetIAMPolicy'{..}
= go _pitzsipResource _pitzsipXgafv
_pitzsipUploadProtocol
_pitzsipAccessToken
_pitzsipUploadType
_pitzsipCallback
(Just AltJSON)
_pitzsipPayload
iAPService
where go
= buildClient
(Proxy ::
Proxy ProjectsIapTunnelZonesSetIAMPolicyResource)
mempty