{-# 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.SecurityCenter.Organizations.Sources.SetIAMPolicy
(
OrganizationsSourcesSetIAMPolicyResource
, organizationsSourcesSetIAMPolicy
, OrganizationsSourcesSetIAMPolicy
, ossipXgafv
, ossipUploadProtocol
, ossipAccessToken
, ossipUploadType
, ossipPayload
, ossipResource
, ossipCallback
) where
import Network.Google.Prelude
import Network.Google.SecurityCenter.Types
type OrganizationsSourcesSetIAMPolicyResource =
"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 OrganizationsSourcesSetIAMPolicy =
OrganizationsSourcesSetIAMPolicy'
{ _ossipXgafv :: !(Maybe Xgafv)
, _ossipUploadProtocol :: !(Maybe Text)
, _ossipAccessToken :: !(Maybe Text)
, _ossipUploadType :: !(Maybe Text)
, _ossipPayload :: !SetIAMPolicyRequest
, _ossipResource :: !Text
, _ossipCallback :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
organizationsSourcesSetIAMPolicy
:: SetIAMPolicyRequest
-> Text
-> OrganizationsSourcesSetIAMPolicy
organizationsSourcesSetIAMPolicy pOssipPayload_ pOssipResource_ =
OrganizationsSourcesSetIAMPolicy'
{ _ossipXgafv = Nothing
, _ossipUploadProtocol = Nothing
, _ossipAccessToken = Nothing
, _ossipUploadType = Nothing
, _ossipPayload = pOssipPayload_
, _ossipResource = pOssipResource_
, _ossipCallback = Nothing
}
ossipXgafv :: Lens' OrganizationsSourcesSetIAMPolicy (Maybe Xgafv)
ossipXgafv
= lens _ossipXgafv (\ s a -> s{_ossipXgafv = a})
ossipUploadProtocol :: Lens' OrganizationsSourcesSetIAMPolicy (Maybe Text)
ossipUploadProtocol
= lens _ossipUploadProtocol
(\ s a -> s{_ossipUploadProtocol = a})
ossipAccessToken :: Lens' OrganizationsSourcesSetIAMPolicy (Maybe Text)
ossipAccessToken
= lens _ossipAccessToken
(\ s a -> s{_ossipAccessToken = a})
ossipUploadType :: Lens' OrganizationsSourcesSetIAMPolicy (Maybe Text)
ossipUploadType
= lens _ossipUploadType
(\ s a -> s{_ossipUploadType = a})
ossipPayload :: Lens' OrganizationsSourcesSetIAMPolicy SetIAMPolicyRequest
ossipPayload
= lens _ossipPayload (\ s a -> s{_ossipPayload = a})
ossipResource :: Lens' OrganizationsSourcesSetIAMPolicy Text
ossipResource
= lens _ossipResource
(\ s a -> s{_ossipResource = a})
ossipCallback :: Lens' OrganizationsSourcesSetIAMPolicy (Maybe Text)
ossipCallback
= lens _ossipCallback
(\ s a -> s{_ossipCallback = a})
instance GoogleRequest
OrganizationsSourcesSetIAMPolicy
where
type Rs OrganizationsSourcesSetIAMPolicy = Policy
type Scopes OrganizationsSourcesSetIAMPolicy =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient OrganizationsSourcesSetIAMPolicy'{..}
= go _ossipResource _ossipXgafv _ossipUploadProtocol
_ossipAccessToken
_ossipUploadType
_ossipCallback
(Just AltJSON)
_ossipPayload
securityCenterService
where go
= buildClient
(Proxy ::
Proxy OrganizationsSourcesSetIAMPolicyResource)
mempty