gogol-cloudtasks-1.0.0: gen/Gogol/CloudTasks/Projects/Locations/Queues/Purge.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.Queues.Purge
-- 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)
--
-- Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.
--
-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.purge@.
module Gogol.CloudTasks.Projects.Locations.Queues.Purge
( -- * Resource
CloudTasksProjectsLocationsQueuesPurgeResource,
-- ** Constructing a Request
CloudTasksProjectsLocationsQueuesPurge (..),
newCloudTasksProjectsLocationsQueuesPurge,
)
where
import Gogol.CloudTasks.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @cloudtasks.projects.locations.queues.purge@ method which the
-- 'CloudTasksProjectsLocationsQueuesPurge' request conforms to.
type CloudTasksProjectsLocationsQueuesPurgeResource =
"v2"
Core.:> Core.CaptureMode "name" "purge" 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] PurgeQueueRequest
Core.:> Core.Post '[Core.JSON] Queue
-- | Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.
--
-- /See:/ 'newCloudTasksProjectsLocationsQueuesPurge' smart constructor.
data CloudTasksProjectsLocationsQueuesPurge = CloudTasksProjectsLocationsQueuesPurge
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Required. The queue name. For example: @projects\/PROJECT_ID\/location\/LOCATION_ID\/queues\/QUEUE_ID@
name :: Core.Text,
-- | Multipart request metadata.
payload :: PurgeQueueRequest,
-- | 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 'CloudTasksProjectsLocationsQueuesPurge' with the minimum fields required to make a request.
newCloudTasksProjectsLocationsQueuesPurge ::
-- | Required. The queue name. For example: @projects\/PROJECT_ID\/location\/LOCATION_ID\/queues\/QUEUE_ID@ See 'name'.
Core.Text ->
-- | Multipart request metadata. See 'payload'.
PurgeQueueRequest ->
CloudTasksProjectsLocationsQueuesPurge
newCloudTasksProjectsLocationsQueuesPurge name payload =
CloudTasksProjectsLocationsQueuesPurge
{ xgafv = Core.Nothing,
accessToken = Core.Nothing,
callback = Core.Nothing,
name = name,
payload = payload,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance Core.GoogleRequest CloudTasksProjectsLocationsQueuesPurge where
type Rs CloudTasksProjectsLocationsQueuesPurge = Queue
type
Scopes CloudTasksProjectsLocationsQueuesPurge =
'[CloudPlatform'FullControl]
requestClient CloudTasksProjectsLocationsQueuesPurge {..} =
go
name
xgafv
accessToken
callback
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
payload
cloudTasksService
where
go =
Core.buildClient
( Core.Proxy ::
Core.Proxy CloudTasksProjectsLocationsQueuesPurgeResource
)
Core.mempty