{-# 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.CloudPrivateCatalogProducer.Catalogs.Delete
-- 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)
--
-- Soft deletes an existing Catalog and all resources under it. The catalog can only be deleted if there is no associations under it or DeleteCatalogRequest.force is true. The delete operation can be recovered by the PrivateCatalogProducer.UndeleteCatalog method.
--
-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.delete@.
module Gogol.CloudPrivateCatalogProducer.Catalogs.Delete
( -- * Resource
CloudPrivateCatalogProducerCatalogsDeleteResource,
-- ** Constructing a Request
CloudPrivateCatalogProducerCatalogsDelete (..),
newCloudPrivateCatalogProducerCatalogsDelete,
)
where
import Gogol.CloudPrivateCatalogProducer.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @cloudprivatecatalogproducer.catalogs.delete@ method which the
-- 'CloudPrivateCatalogProducerCatalogsDelete' request conforms to.
type CloudPrivateCatalogProducerCatalogsDeleteResource =
"v1beta1"
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 "force" Core.Bool
Core.:> Core.QueryParam "uploadType" Core.Text
Core.:> Core.QueryParam "upload_protocol" Core.Text
Core.:> Core.QueryParam "alt" Core.AltJSON
Core.:> Core.Delete
'[Core.JSON]
GoogleCloudPrivatecatalogproducerV1beta1Catalog
-- | Soft deletes an existing Catalog and all resources under it. The catalog can only be deleted if there is no associations under it or DeleteCatalogRequest.force is true. The delete operation can be recovered by the PrivateCatalogProducer.UndeleteCatalog method.
--
-- /See:/ 'newCloudPrivateCatalogProducerCatalogsDelete' smart constructor.
data CloudPrivateCatalogProducerCatalogsDelete = CloudPrivateCatalogProducerCatalogsDelete
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Forces deletion of the @Catalog@ and its @Association@ resources. If the @Catalog@ is still associated with other resources and force is not set to true, then the operation fails.
force :: (Core.Maybe Core.Bool),
-- | The resource name of the catalog.
name :: 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 'CloudPrivateCatalogProducerCatalogsDelete' with the minimum fields required to make a request.
newCloudPrivateCatalogProducerCatalogsDelete ::
-- | The resource name of the catalog. See 'name'.
Core.Text ->
CloudPrivateCatalogProducerCatalogsDelete
newCloudPrivateCatalogProducerCatalogsDelete name =
CloudPrivateCatalogProducerCatalogsDelete
{ xgafv = Core.Nothing,
accessToken = Core.Nothing,
callback = Core.Nothing,
force = Core.Nothing,
name = name,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance
Core.GoogleRequest
CloudPrivateCatalogProducerCatalogsDelete
where
type
Rs CloudPrivateCatalogProducerCatalogsDelete =
GoogleCloudPrivatecatalogproducerV1beta1Catalog
type
Scopes CloudPrivateCatalogProducerCatalogsDelete =
'[CloudPlatform'FullControl]
requestClient CloudPrivateCatalogProducerCatalogsDelete {..} =
go
name
xgafv
accessToken
callback
force
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
cloudPrivateCatalogProducerService
where
go =
Core.buildClient
( Core.Proxy ::
Core.Proxy CloudPrivateCatalogProducerCatalogsDeleteResource
)
Core.mempty