gogol-accesscontextmanager-1.0.0: gen/Gogol/AccessContextManager/AccessPolicies/SetIamPolicy.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- |
-- Module : Gogol.AccessContextManager.AccessPolicies.SetIamPolicy
-- Copyright : (c) 2015-2025 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>
-- Toni Cebrián <toni@tonicebrian.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.
--
-- /See:/ <https://cloud.google.com/access-context-manager/docs/reference/rest/ Access Context Manager API Reference> for @accesscontextmanager.accessPolicies.setIamPolicy@.
module Gogol.AccessContextManager.AccessPolicies.SetIamPolicy
( -- * Resource
AccessContextManagerAccessPoliciesSetIamPolicyResource,
-- ** Constructing a Request
AccessContextManagerAccessPoliciesSetIamPolicy (..),
newAccessContextManagerAccessPoliciesSetIamPolicy,
)
where
import Gogol.AccessContextManager.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @accesscontextmanager.accessPolicies.setIamPolicy@ method which the
-- 'AccessContextManagerAccessPoliciesSetIamPolicy' request conforms to.
type AccessContextManagerAccessPoliciesSetIamPolicyResource =
"v1"
Core.:> Core.CaptureMode "resource" "setIamPolicy" Core.Text
Core.:> Core.QueryParam "$.xgafv" Xgafv
Core.:> Core.QueryParam "access_token" Core.Text
Core.:> Core.QueryParam "callback" Core.Text
Core.:> Core.QueryParam "uploadType" Core.Text
Core.:> Core.QueryParam "upload_protocol" Core.Text
Core.:> Core.QueryParam "alt" Core.AltJSON
Core.:> Core.ReqBody '[Core.JSON] SetIamPolicyRequest
Core.:> Core.Post '[Core.JSON] Policy
-- | Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.
--
-- /See:/ 'newAccessContextManagerAccessPoliciesSetIamPolicy' smart constructor.
data AccessContextManagerAccessPoliciesSetIamPolicy = AccessContextManagerAccessPoliciesSetIamPolicy
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Multipart request metadata.
payload :: SetIamPolicyRequest,
-- | REQUIRED: The resource for which the policy is being specified. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field.
resource :: Core.Text,
-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
uploadType :: (Core.Maybe Core.Text),
-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
uploadProtocol :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AccessContextManagerAccessPoliciesSetIamPolicy' with the minimum fields required to make a request.
newAccessContextManagerAccessPoliciesSetIamPolicy ::
-- | Multipart request metadata. See 'payload'.
SetIamPolicyRequest ->
-- | REQUIRED: The resource for which the policy is being specified. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field. See 'resource'.
Core.Text ->
AccessContextManagerAccessPoliciesSetIamPolicy
newAccessContextManagerAccessPoliciesSetIamPolicy payload resource =
AccessContextManagerAccessPoliciesSetIamPolicy
{ xgafv =
Core.Nothing,
accessToken = Core.Nothing,
callback = Core.Nothing,
payload = payload,
resource = resource,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance
Core.GoogleRequest
AccessContextManagerAccessPoliciesSetIamPolicy
where
type Rs AccessContextManagerAccessPoliciesSetIamPolicy = Policy
type
Scopes AccessContextManagerAccessPoliciesSetIamPolicy =
'[CloudPlatform'FullControl]
requestClient AccessContextManagerAccessPoliciesSetIamPolicy {..} =
go
resource
xgafv
accessToken
callback
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
payload
accessContextManagerService
where
go =
Core.buildClient
( Core.Proxy ::
Core.Proxy AccessContextManagerAccessPoliciesSetIamPolicyResource
)
Core.mempty