gogol-cloudtasks-1.0.0: gen/Gogol/CloudTasks/Projects/Locations/UpdateCmekConfig.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.CloudTasks.Projects.Locations.UpdateCmekConfig
-- 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)
--
-- Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud Tasks location (Creates if the key does not already exist). All new tasks created in the location will be encrypted at-rest with the KMS-key provided in the config.
--
-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.updateCmekConfig@.
module Gogol.CloudTasks.Projects.Locations.UpdateCmekConfig
( -- * Resource
CloudTasksProjectsLocationsUpdateCmekConfigResource,
-- ** Constructing a Request
CloudTasksProjectsLocationsUpdateCmekConfig (..),
newCloudTasksProjectsLocationsUpdateCmekConfig,
)
where
import Gogol.CloudTasks.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @cloudtasks.projects.locations.updateCmekConfig@ method which the
-- 'CloudTasksProjectsLocationsUpdateCmekConfig' request conforms to.
type CloudTasksProjectsLocationsUpdateCmekConfigResource =
"v2"
Core.:> Core.Capture "name" Core.Text
Core.:> Core.QueryParam "$.xgafv" Xgafv
Core.:> Core.QueryParam "access_token" Core.Text
Core.:> Core.QueryParam "callback" Core.Text
Core.:> Core.QueryParam "updateMask" Core.FieldMask
Core.:> Core.QueryParam "uploadType" Core.Text
Core.:> Core.QueryParam "upload_protocol" Core.Text
Core.:> Core.QueryParam "alt" Core.AltJSON
Core.:> Core.ReqBody '[Core.JSON] CmekConfig
Core.:> Core.Patch '[Core.JSON] CmekConfig
-- | Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud Tasks location (Creates if the key does not already exist). All new tasks created in the location will be encrypted at-rest with the KMS-key provided in the config.
--
-- /See:/ 'newCloudTasksProjectsLocationsUpdateCmekConfig' smart constructor.
data CloudTasksProjectsLocationsUpdateCmekConfig = CloudTasksProjectsLocationsUpdateCmekConfig
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Output only. The config resource name which includes the project and location and must end in \'cmekConfig\', in the format projects\/PROJECT/ID\/locations\/LOCATION/ID\/cmekConfig\`
name :: Core.Text,
-- | Multipart request metadata.
payload :: CmekConfig,
-- | List of fields to be updated in this request.
updateMask :: (Core.Maybe Core.FieldMask),
-- | 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 'CloudTasksProjectsLocationsUpdateCmekConfig' with the minimum fields required to make a request.
newCloudTasksProjectsLocationsUpdateCmekConfig ::
-- | Output only. The config resource name which includes the project and location and must end in \'cmekConfig\', in the format projects\/PROJECT/ID\/locations\/LOCATION/ID\/cmekConfig\` See 'name'.
Core.Text ->
-- | Multipart request metadata. See 'payload'.
CmekConfig ->
CloudTasksProjectsLocationsUpdateCmekConfig
newCloudTasksProjectsLocationsUpdateCmekConfig name payload =
CloudTasksProjectsLocationsUpdateCmekConfig
{ xgafv = Core.Nothing,
accessToken = Core.Nothing,
callback = Core.Nothing,
name = name,
payload = payload,
updateMask = Core.Nothing,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance
Core.GoogleRequest
CloudTasksProjectsLocationsUpdateCmekConfig
where
type Rs CloudTasksProjectsLocationsUpdateCmekConfig = CmekConfig
type
Scopes CloudTasksProjectsLocationsUpdateCmekConfig =
'[CloudPlatform'FullControl]
requestClient CloudTasksProjectsLocationsUpdateCmekConfig {..} =
go
name
xgafv
accessToken
callback
updateMask
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
payload
cloudTasksService
where
go =
Core.buildClient
( Core.Proxy ::
Core.Proxy CloudTasksProjectsLocationsUpdateCmekConfigResource
)
Core.mempty