{-# 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.Instances.SetIAMPolicy
(
ProjectsIapTunnelZonesInstancesSetIAMPolicyResource
, projectsIapTunnelZonesInstancesSetIAMPolicy
, ProjectsIapTunnelZonesInstancesSetIAMPolicy
, pitzisipXgafv
, pitzisipUploadProtocol
, pitzisipAccessToken
, pitzisipUploadType
, pitzisipPayload
, pitzisipResource
, pitzisipCallback
) where
import Network.Google.IAP.Types
import Network.Google.Prelude
type ProjectsIapTunnelZonesInstancesSetIAMPolicyResource
=
"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 ProjectsIapTunnelZonesInstancesSetIAMPolicy = ProjectsIapTunnelZonesInstancesSetIAMPolicy'
{ _pitzisipXgafv :: !(Maybe Xgafv)
, _pitzisipUploadProtocol :: !(Maybe Text)
, _pitzisipAccessToken :: !(Maybe Text)
, _pitzisipUploadType :: !(Maybe Text)
, _pitzisipPayload :: !SetIAMPolicyRequest
, _pitzisipResource :: !Text
, _pitzisipCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsIapTunnelZonesInstancesSetIAMPolicy
:: SetIAMPolicyRequest
-> Text
-> ProjectsIapTunnelZonesInstancesSetIAMPolicy
projectsIapTunnelZonesInstancesSetIAMPolicy pPitzisipPayload_ pPitzisipResource_ =
ProjectsIapTunnelZonesInstancesSetIAMPolicy'
{ _pitzisipXgafv = Nothing
, _pitzisipUploadProtocol = Nothing
, _pitzisipAccessToken = Nothing
, _pitzisipUploadType = Nothing
, _pitzisipPayload = pPitzisipPayload_
, _pitzisipResource = pPitzisipResource_
, _pitzisipCallback = Nothing
}
pitzisipXgafv :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy (Maybe Xgafv)
pitzisipXgafv
= lens _pitzisipXgafv
(\ s a -> s{_pitzisipXgafv = a})
pitzisipUploadProtocol :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy (Maybe Text)
pitzisipUploadProtocol
= lens _pitzisipUploadProtocol
(\ s a -> s{_pitzisipUploadProtocol = a})
pitzisipAccessToken :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy (Maybe Text)
pitzisipAccessToken
= lens _pitzisipAccessToken
(\ s a -> s{_pitzisipAccessToken = a})
pitzisipUploadType :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy (Maybe Text)
pitzisipUploadType
= lens _pitzisipUploadType
(\ s a -> s{_pitzisipUploadType = a})
pitzisipPayload :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy SetIAMPolicyRequest
pitzisipPayload
= lens _pitzisipPayload
(\ s a -> s{_pitzisipPayload = a})
pitzisipResource :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy Text
pitzisipResource
= lens _pitzisipResource
(\ s a -> s{_pitzisipResource = a})
pitzisipCallback :: Lens' ProjectsIapTunnelZonesInstancesSetIAMPolicy (Maybe Text)
pitzisipCallback
= lens _pitzisipCallback
(\ s a -> s{_pitzisipCallback = a})
instance GoogleRequest
ProjectsIapTunnelZonesInstancesSetIAMPolicy where
type Rs ProjectsIapTunnelZonesInstancesSetIAMPolicy =
Policy
type Scopes
ProjectsIapTunnelZonesInstancesSetIAMPolicy
= '["https://www.googleapis.com/auth/cloud-platform"]
requestClient
ProjectsIapTunnelZonesInstancesSetIAMPolicy'{..}
= go _pitzisipResource _pitzisipXgafv
_pitzisipUploadProtocol
_pitzisipAccessToken
_pitzisipUploadType
_pitzisipCallback
(Just AltJSON)
_pitzisipPayload
iAPService
where go
= buildClient
(Proxy ::
Proxy
ProjectsIapTunnelZonesInstancesSetIAMPolicyResource)
mempty