diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.5.0`
+`1.0.0`
 
 
 ## Description
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,3 @@
-import           Distribution.Simple
+import Distribution.Simple
+
 main = defaultMain
diff --git a/gen/Gogol/CloudPrivateCatalogProducer.hs b/gen/Gogol/CloudPrivateCatalogProducer.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer.hs
@@ -0,0 +1,347 @@
+{-# 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
+-- 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)
+--
+-- Enables cloud users to manage and share enterprise catalogs intheir organizations.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference>
+module Gogol.CloudPrivateCatalogProducer
+  ( -- * Configuration
+    cloudPrivateCatalogProducerService,
+
+    -- * OAuth Scopes
+    CloudPlatform'FullControl,
+
+    -- * Resources
+
+    -- ** cloudprivatecatalogproducer.catalogs.associations.create
+    CloudPrivateCatalogProducerCatalogsAssociationsCreateResource,
+    CloudPrivateCatalogProducerCatalogsAssociationsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsCreate,
+
+    -- ** cloudprivatecatalogproducer.catalogs.associations.delete
+    CloudPrivateCatalogProducerCatalogsAssociationsDeleteResource,
+    CloudPrivateCatalogProducerCatalogsAssociationsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsDelete,
+
+    -- ** cloudprivatecatalogproducer.catalogs.associations.get
+    CloudPrivateCatalogProducerCatalogsAssociationsGetResource,
+    CloudPrivateCatalogProducerCatalogsAssociationsGet (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsGet,
+
+    -- ** cloudprivatecatalogproducer.catalogs.associations.list
+    CloudPrivateCatalogProducerCatalogsAssociationsListResource,
+    CloudPrivateCatalogProducerCatalogsAssociationsList (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsList,
+
+    -- ** cloudprivatecatalogproducer.catalogs.create
+    CloudPrivateCatalogProducerCatalogsCreateResource,
+    CloudPrivateCatalogProducerCatalogsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsCreate,
+
+    -- ** cloudprivatecatalogproducer.catalogs.delete
+    CloudPrivateCatalogProducerCatalogsDeleteResource,
+    CloudPrivateCatalogProducerCatalogsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsDelete,
+
+    -- ** cloudprivatecatalogproducer.catalogs.get
+    CloudPrivateCatalogProducerCatalogsGetResource,
+    CloudPrivateCatalogProducerCatalogsGet (..),
+    newCloudPrivateCatalogProducerCatalogsGet,
+
+    -- ** cloudprivatecatalogproducer.catalogs.getIamPolicy
+    CloudPrivateCatalogProducerCatalogsGetIamPolicyResource,
+    CloudPrivateCatalogProducerCatalogsGetIamPolicy (..),
+    newCloudPrivateCatalogProducerCatalogsGetIamPolicy,
+
+    -- ** cloudprivatecatalogproducer.catalogs.list
+    CloudPrivateCatalogProducerCatalogsListResource,
+    CloudPrivateCatalogProducerCatalogsList (..),
+    newCloudPrivateCatalogProducerCatalogsList,
+
+    -- ** cloudprivatecatalogproducer.catalogs.patch
+    CloudPrivateCatalogProducerCatalogsPatchResource,
+    CloudPrivateCatalogProducerCatalogsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsPatch,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.copy
+    CloudPrivateCatalogProducerCatalogsProductsCopyResource,
+    CloudPrivateCatalogProducerCatalogsProductsCopy (..),
+    newCloudPrivateCatalogProducerCatalogsProductsCopy,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.create
+    CloudPrivateCatalogProducerCatalogsProductsCreateResource,
+    CloudPrivateCatalogProducerCatalogsProductsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsProductsCreate,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.delete
+    CloudPrivateCatalogProducerCatalogsProductsDeleteResource,
+    CloudPrivateCatalogProducerCatalogsProductsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsProductsDelete,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.get
+    CloudPrivateCatalogProducerCatalogsProductsGetResource,
+    CloudPrivateCatalogProducerCatalogsProductsGet (..),
+    newCloudPrivateCatalogProducerCatalogsProductsGet,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.icons.upload
+    CloudPrivateCatalogProducerCatalogsProductsIconsUploadResource,
+    CloudPrivateCatalogProducerCatalogsProductsIconsUpload (..),
+    newCloudPrivateCatalogProducerCatalogsProductsIconsUpload,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.list
+    CloudPrivateCatalogProducerCatalogsProductsListResource,
+    CloudPrivateCatalogProducerCatalogsProductsList (..),
+    newCloudPrivateCatalogProducerCatalogsProductsList,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.patch
+    CloudPrivateCatalogProducerCatalogsProductsPatchResource,
+    CloudPrivateCatalogProducerCatalogsProductsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsProductsPatch,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.versions.create
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreateResource,
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsCreate,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.versions.delete
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDeleteResource,
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsDelete,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.versions.get
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGetResource,
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGet (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsGet,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.versions.list
+    CloudPrivateCatalogProducerCatalogsProductsVersionsListResource,
+    CloudPrivateCatalogProducerCatalogsProductsVersionsList (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsList,
+
+    -- ** cloudprivatecatalogproducer.catalogs.products.versions.patch
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatchResource,
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsPatch,
+
+    -- ** cloudprivatecatalogproducer.catalogs.setIamPolicy
+    CloudPrivateCatalogProducerCatalogsSetIamPolicyResource,
+    CloudPrivateCatalogProducerCatalogsSetIamPolicy (..),
+    newCloudPrivateCatalogProducerCatalogsSetIamPolicy,
+
+    -- ** cloudprivatecatalogproducer.catalogs.testIamPermissions
+    CloudPrivateCatalogProducerCatalogsTestIamPermissionsResource,
+    CloudPrivateCatalogProducerCatalogsTestIamPermissions (..),
+    newCloudPrivateCatalogProducerCatalogsTestIamPermissions,
+
+    -- ** cloudprivatecatalogproducer.catalogs.undelete
+    CloudPrivateCatalogProducerCatalogsUndeleteResource,
+    CloudPrivateCatalogProducerCatalogsUndelete (..),
+    newCloudPrivateCatalogProducerCatalogsUndelete,
+
+    -- ** cloudprivatecatalogproducer.operations.cancel
+    CloudPrivateCatalogProducerOperationsCancelResource,
+    CloudPrivateCatalogProducerOperationsCancel (..),
+    newCloudPrivateCatalogProducerOperationsCancel,
+
+    -- ** cloudprivatecatalogproducer.operations.delete
+    CloudPrivateCatalogProducerOperationsDeleteResource,
+    CloudPrivateCatalogProducerOperationsDelete (..),
+    newCloudPrivateCatalogProducerOperationsDelete,
+
+    -- ** cloudprivatecatalogproducer.operations.get
+    CloudPrivateCatalogProducerOperationsGetResource,
+    CloudPrivateCatalogProducerOperationsGet (..),
+    newCloudPrivateCatalogProducerOperationsGet,
+
+    -- ** cloudprivatecatalogproducer.operations.list
+    CloudPrivateCatalogProducerOperationsListResource,
+    CloudPrivateCatalogProducerOperationsList (..),
+    newCloudPrivateCatalogProducerOperationsList,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Association
+    GoogleCloudPrivatecatalogproducerV1beta1Association (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Association,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    GoogleCloudPrivatecatalogproducerV1beta1Catalog (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Catalog,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Product
+    GoogleCloudPrivatecatalogproducerV1beta1Product (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version
+    GoogleCloudPrivatecatalogproducerV1beta1Version (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_Asset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset,
+
+    -- ** GoogleIamV1AuditConfig
+    GoogleIamV1AuditConfig (..),
+    newGoogleIamV1AuditConfig,
+
+    -- ** GoogleIamV1AuditLogConfig
+    GoogleIamV1AuditLogConfig (..),
+    newGoogleIamV1AuditLogConfig,
+
+    -- ** GoogleIamV1AuditLogConfig_LogType
+    GoogleIamV1AuditLogConfig_LogType (..),
+
+    -- ** GoogleIamV1Binding
+    GoogleIamV1Binding (..),
+    newGoogleIamV1Binding,
+
+    -- ** GoogleIamV1Policy
+    GoogleIamV1Policy (..),
+    newGoogleIamV1Policy,
+
+    -- ** GoogleIamV1SetIamPolicyRequest
+    GoogleIamV1SetIamPolicyRequest (..),
+    newGoogleIamV1SetIamPolicyRequest,
+
+    -- ** GoogleIamV1TestIamPermissionsRequest
+    GoogleIamV1TestIamPermissionsRequest (..),
+    newGoogleIamV1TestIamPermissionsRequest,
+
+    -- ** GoogleIamV1TestIamPermissionsResponse
+    GoogleIamV1TestIamPermissionsResponse (..),
+    newGoogleIamV1TestIamPermissionsResponse,
+
+    -- ** GoogleLongrunningCancelOperationRequest
+    GoogleLongrunningCancelOperationRequest (..),
+    newGoogleLongrunningCancelOperationRequest,
+
+    -- ** GoogleLongrunningListOperationsResponse
+    GoogleLongrunningListOperationsResponse (..),
+    newGoogleLongrunningListOperationsResponse,
+
+    -- ** GoogleLongrunningOperation
+    GoogleLongrunningOperation (..),
+    newGoogleLongrunningOperation,
+
+    -- ** GoogleLongrunningOperation_Metadata
+    GoogleLongrunningOperation_Metadata (..),
+    newGoogleLongrunningOperation_Metadata,
+
+    -- ** GoogleLongrunningOperation_Response
+    GoogleLongrunningOperation_Response (..),
+    newGoogleLongrunningOperation_Response,
+
+    -- ** GoogleProtobufEmpty
+    GoogleProtobufEmpty (..),
+    newGoogleProtobufEmpty,
+
+    -- ** GoogleRpcStatus
+    GoogleRpcStatus (..),
+    newGoogleRpcStatus,
+
+    -- ** GoogleRpcStatus_DetailsItem
+    GoogleRpcStatus_DetailsItem (..),
+    newGoogleRpcStatus_DetailsItem,
+
+    -- ** GoogleTypeExpr
+    GoogleTypeExpr (..),
+    newGoogleTypeExpr,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Create
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Get
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.List
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Create
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Delete
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Get
+import Gogol.CloudPrivateCatalogProducer.Catalogs.GetIamPolicy
+import Gogol.CloudPrivateCatalogProducer.Catalogs.List
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Patch
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Copy
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Create
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Delete
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Get
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.List
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Patch
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
+import Gogol.CloudPrivateCatalogProducer.Catalogs.SetIamPolicy
+import Gogol.CloudPrivateCatalogProducer.Catalogs.TestIamPermissions
+import Gogol.CloudPrivateCatalogProducer.Catalogs.Undelete
+import Gogol.CloudPrivateCatalogProducer.Operations.Cancel
+import Gogol.CloudPrivateCatalogProducer.Operations.Delete
+import Gogol.CloudPrivateCatalogProducer.Operations.Get
+import Gogol.CloudPrivateCatalogProducer.Operations.List
+import Gogol.CloudPrivateCatalogProducer.Types
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs
@@ -0,0 +1,133 @@
+{-# 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.Associations.Create
+-- 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 an Association instance under a given Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.create@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Create
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsAssociationsCreateResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsAssociationsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsCreate,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.create@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsAssociationsCreate' request conforms to.
+type CloudPrivateCatalogProducerCatalogsAssociationsCreateResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "associations"
+    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]
+              GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+    Core.:> Core.Post
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Association
+
+-- | Creates an Association instance under a given Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsAssociationsCreate' smart constructor.
+data CloudPrivateCatalogProducerCatalogsAssociationsCreate = CloudPrivateCatalogProducerCatalogsAssociationsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The @Catalog@ resource\'s name.
+    parent :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsAssociationsCreate' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsAssociationsCreate ::
+  -- |  The @Catalog@ resource\'s name. See 'parent'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest ->
+  CloudPrivateCatalogProducerCatalogsAssociationsCreate
+newCloudPrivateCatalogProducerCatalogsAssociationsCreate
+  parent
+  payload =
+    CloudPrivateCatalogProducerCatalogsAssociationsCreate
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        callback = Core.Nothing,
+        parent = parent,
+        payload = payload,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsAssociationsCreate
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsAssociationsCreate =
+      GoogleCloudPrivatecatalogproducerV1beta1Association
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsAssociationsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsAssociationsCreate {..} =
+      go
+        parent
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        payload
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsAssociationsCreateResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs
@@ -0,0 +1,119 @@
+{-# 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.Associations.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)
+--
+-- Deletes the given Association.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.delete@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsAssociationsDeleteResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsAssociationsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsDelete,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.delete@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsAssociationsDelete' request conforms to.
+type CloudPrivateCatalogProducerCatalogsAssociationsDeleteResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] GoogleProtobufEmpty
+
+-- | Deletes the given Association.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsAssociationsDelete' smart constructor.
+data CloudPrivateCatalogProducerCatalogsAssociationsDelete = CloudPrivateCatalogProducerCatalogsAssociationsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the @Association@ to delete.
+    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 'CloudPrivateCatalogProducerCatalogsAssociationsDelete' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsAssociationsDelete ::
+  -- |  The resource name of the @Association@ to delete. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsAssociationsDelete
+newCloudPrivateCatalogProducerCatalogsAssociationsDelete name =
+  CloudPrivateCatalogProducerCatalogsAssociationsDelete
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsAssociationsDelete
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsAssociationsDelete =
+      GoogleProtobufEmpty
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsAssociationsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsAssociationsDelete {..} =
+      go
+        name
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsAssociationsDeleteResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs
@@ -0,0 +1,121 @@
+{-# 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.Associations.Get
+-- 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)
+--
+-- Returns the requested Association resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.get@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Get
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsAssociationsGetResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsAssociationsGet (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsGet,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.get@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsAssociationsGet' request conforms to.
+type CloudPrivateCatalogProducerCatalogsAssociationsGetResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Association
+
+-- | Returns the requested Association resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsAssociationsGet' smart constructor.
+data CloudPrivateCatalogProducerCatalogsAssociationsGet = CloudPrivateCatalogProducerCatalogsAssociationsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the @Association@ to retrieve.
+    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 'CloudPrivateCatalogProducerCatalogsAssociationsGet' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsAssociationsGet ::
+  -- |  The resource name of the @Association@ to retrieve. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsAssociationsGet
+newCloudPrivateCatalogProducerCatalogsAssociationsGet name =
+  CloudPrivateCatalogProducerCatalogsAssociationsGet
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsAssociationsGet
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsAssociationsGet =
+      GoogleCloudPrivatecatalogproducerV1beta1Association
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsAssociationsGet =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsAssociationsGet {..} =
+      go
+        name
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsAssociationsGetResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs
@@ -0,0 +1,132 @@
+{-# 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.Associations.List
+-- 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)
+--
+-- Lists all Association resources under a catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.list@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.List
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsAssociationsListResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsAssociationsList (..),
+    newCloudPrivateCatalogProducerCatalogsAssociationsList,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.list@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsAssociationsList' request conforms to.
+type CloudPrivateCatalogProducerCatalogsAssociationsListResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "associations"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+
+-- | Lists all Association resources under a catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsAssociationsList' smart constructor.
+data CloudPrivateCatalogProducerCatalogsAssociationsList = CloudPrivateCatalogProducerCatalogsAssociationsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The maximum number of catalog associations to return.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | A pagination token returned from the previous call to @ListAssociations@.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | The resource name of the @Catalog@ whose @Associations@ are being retrieved. In the format @catalogs\/\<catalog>@.
+    parent :: 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 'CloudPrivateCatalogProducerCatalogsAssociationsList' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsAssociationsList ::
+  -- |  The resource name of the @Catalog@ whose @Associations@ are being retrieved. In the format @catalogs\/\<catalog>@. See 'parent'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsAssociationsList
+newCloudPrivateCatalogProducerCatalogsAssociationsList parent =
+  CloudPrivateCatalogProducerCatalogsAssociationsList
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      parent = parent,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsAssociationsList
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsAssociationsList =
+      GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsAssociationsList =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsAssociationsList {..} =
+      go
+        parent
+        xgafv
+        accessToken
+        callback
+        pageSize
+        pageToken
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsAssociationsListResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Create.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Create.hs
@@ -0,0 +1,119 @@
+{-# 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.Create
+-- 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 a new Catalog resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.create@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Create
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsCreateResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsCreate,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.create@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsCreate' request conforms to.
+type CloudPrivateCatalogProducerCatalogsCreateResource =
+  "v1beta1"
+    Core.:> "catalogs"
+    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]
+              GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    Core.:> Core.Post '[Core.JSON] GoogleLongrunningOperation
+
+-- | Creates a new Catalog resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsCreate' smart constructor.
+data CloudPrivateCatalogProducerCatalogsCreate = CloudPrivateCatalogProducerCatalogsCreate
+  { -- | 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 :: GoogleCloudPrivatecatalogproducerV1beta1Catalog,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsCreate' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsCreate ::
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Catalog ->
+  CloudPrivateCatalogProducerCatalogsCreate
+newCloudPrivateCatalogProducerCatalogsCreate payload =
+  CloudPrivateCatalogProducerCatalogsCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsCreate
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsCreate =
+      GoogleLongrunningOperation
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsCreate {..} =
+    go
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Delete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Delete.hs
@@ -0,0 +1,123 @@
+{-# 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
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Get.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Get.hs
@@ -0,0 +1,115 @@
+{-# 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.Get
+-- 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)
+--
+-- Returns the requested Catalog resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.get@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Get
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsGetResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsGet (..),
+    newCloudPrivateCatalogProducerCatalogsGet,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.get@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsGet' request conforms to.
+type CloudPrivateCatalogProducerCatalogsGetResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Catalog
+
+-- | Returns the requested Catalog resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsGet' smart constructor.
+data CloudPrivateCatalogProducerCatalogsGet = CloudPrivateCatalogProducerCatalogsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | 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 'CloudPrivateCatalogProducerCatalogsGet' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsGet ::
+  -- |  The resource name of the catalog. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsGet
+newCloudPrivateCatalogProducerCatalogsGet name =
+  CloudPrivateCatalogProducerCatalogsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest CloudPrivateCatalogProducerCatalogsGet where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsGet =
+      GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsGet =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsGet {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/GetIamPolicy.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/GetIamPolicy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/GetIamPolicy.hs
@@ -0,0 +1,126 @@
+{-# 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.GetIamPolicy
+-- 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)
+--
+-- Gets IAM policy for the specified Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.getIamPolicy@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.GetIamPolicy
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsGetIamPolicyResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsGetIamPolicy (..),
+    newCloudPrivateCatalogProducerCatalogsGetIamPolicy,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.getIamPolicy@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsGetIamPolicy' request conforms to.
+type CloudPrivateCatalogProducerCatalogsGetIamPolicyResource =
+  "v1beta1"
+    Core.:> Core.CaptureMode "resource" "getIamPolicy" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "options.requestedPolicyVersion" Core.Int32
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] GoogleIamV1Policy
+
+-- | Gets IAM policy for the specified Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsGetIamPolicy' smart constructor.
+data CloudPrivateCatalogProducerCatalogsGetIamPolicy = CloudPrivateCatalogProducerCatalogsGetIamPolicy
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Optional. The policy format version to be returned.
+    --
+    -- Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.
+    --
+    -- Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.
+    optionsRequestedPolicyVersion :: (Core.Maybe Core.Int32),
+    -- | REQUIRED: The resource for which the policy is being requested. See the operation documentation 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 'CloudPrivateCatalogProducerCatalogsGetIamPolicy' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsGetIamPolicy ::
+  -- |  REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. See 'resource'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsGetIamPolicy
+newCloudPrivateCatalogProducerCatalogsGetIamPolicy resource =
+  CloudPrivateCatalogProducerCatalogsGetIamPolicy
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      optionsRequestedPolicyVersion = Core.Nothing,
+      resource = resource,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsGetIamPolicy
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsGetIamPolicy =
+      GoogleIamV1Policy
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsGetIamPolicy =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsGetIamPolicy {..} =
+    go
+      resource
+      xgafv
+      accessToken
+      callback
+      optionsRequestedPolicyVersion
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsGetIamPolicyResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/List.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/List.hs
@@ -0,0 +1,124 @@
+{-# 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.List
+-- 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)
+--
+-- Lists Catalog resources that the producer has access to, within the scope of the parent resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.list@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.List
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsListResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsList (..),
+    newCloudPrivateCatalogProducerCatalogsList,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.list@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsList' request conforms to.
+type CloudPrivateCatalogProducerCatalogsListResource =
+  "v1beta1"
+    Core.:> "catalogs"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "parent" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+
+-- | Lists Catalog resources that the producer has access to, within the scope of the parent resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsList' smart constructor.
+data CloudPrivateCatalogProducerCatalogsList = CloudPrivateCatalogProducerCatalogsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The maximum number of catalogs to return.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | A pagination token returned from a previous call to ListCatalogs that indicates where this listing should continue from. This field is optional.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | The resource name of the parent resource.
+    parent :: (Core.Maybe 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 'CloudPrivateCatalogProducerCatalogsList' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsList ::
+  CloudPrivateCatalogProducerCatalogsList
+newCloudPrivateCatalogProducerCatalogsList =
+  CloudPrivateCatalogProducerCatalogsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      parent = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest CloudPrivateCatalogProducerCatalogsList where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsList =
+      GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsList =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsList {..} =
+    go
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      parent
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Patch.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Patch.hs
@@ -0,0 +1,136 @@
+{-# 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.Patch
+-- 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)
+--
+-- Updates a specific Catalog resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.patch@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Patch
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsPatchResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsPatch,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.patch@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsPatch' request conforms to.
+type CloudPrivateCatalogProducerCatalogsPatchResource =
+  "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 "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]
+              GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    Core.:> Core.Patch
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Catalog
+
+-- | Updates a specific Catalog resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsPatch' smart constructor.
+data CloudPrivateCatalogProducerCatalogsPatch = CloudPrivateCatalogProducerCatalogsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Output only. The resource name of the catalog, in the format \`catalogs\/{catalog_id}\'.
+    --
+    -- A unique identifier for the catalog, which is generated by catalog service.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1Catalog,
+    -- | Field mask that controls which fields of the catalog should be updated.
+    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 'CloudPrivateCatalogProducerCatalogsPatch' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsPatch ::
+  -- |  Output only. The resource name of the catalog, in the format \`catalogs\/{catalog_id}\'.
+  --
+  -- A unique identifier for the catalog, which is generated by catalog service. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Catalog ->
+  CloudPrivateCatalogProducerCatalogsPatch
+newCloudPrivateCatalogProducerCatalogsPatch name payload =
+  CloudPrivateCatalogProducerCatalogsPatch
+    { 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
+    CloudPrivateCatalogProducerCatalogsPatch
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsPatch =
+      GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsPatch =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsPatch {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsPatchResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs
@@ -0,0 +1,126 @@
+{-# 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.Products.Copy
+-- 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)
+--
+-- Copies a Product under another Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.copy@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Copy
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsCopyResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsCopy (..),
+    newCloudPrivateCatalogProducerCatalogsProductsCopy,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.copy@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsCopy' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsCopyResource =
+  "v1beta1"
+    Core.:> Core.CaptureMode "name" "copy" 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]
+              GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+    Core.:> Core.Post '[Core.JSON] GoogleLongrunningOperation
+
+-- | Copies a Product under another Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsCopy' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsCopy = CloudPrivateCatalogProducerCatalogsProductsCopy
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the current product that is copied from.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsProductsCopy' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsCopy ::
+  -- |  The resource name of the current product that is copied from. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest ->
+  CloudPrivateCatalogProducerCatalogsProductsCopy
+newCloudPrivateCatalogProducerCatalogsProductsCopy name payload =
+  CloudPrivateCatalogProducerCatalogsProductsCopy
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsCopy
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsCopy =
+      GoogleLongrunningOperation
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsCopy =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsCopy {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsProductsCopyResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs
@@ -0,0 +1,130 @@
+{-# 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.Products.Create
+-- 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 a Product instance under a given Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.create@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Create
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsCreateResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsProductsCreate,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.create@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsCreate' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsCreateResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "products"
+    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]
+              GoogleCloudPrivatecatalogproducerV1beta1Product
+    Core.:> Core.Post
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Product
+
+-- | Creates a Product instance under a given Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsCreate' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsCreate = CloudPrivateCatalogProducerCatalogsProductsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The catalog name of the new product\'s parent.
+    parent :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1Product,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsProductsCreate' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsCreate ::
+  -- |  The catalog name of the new product\'s parent. See 'parent'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Product ->
+  CloudPrivateCatalogProducerCatalogsProductsCreate
+newCloudPrivateCatalogProducerCatalogsProductsCreate parent payload =
+  CloudPrivateCatalogProducerCatalogsProductsCreate
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      parent = parent,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsCreate
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsCreate =
+      GoogleCloudPrivatecatalogproducerV1beta1Product
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsCreate {..} =
+    go
+      parent
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy
+                CloudPrivateCatalogProducerCatalogsProductsCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs
@@ -0,0 +1,118 @@
+{-# 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.Products.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)
+--
+-- Hard deletes a Product.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.delete@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Delete
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsDeleteResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsProductsDelete,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.delete@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsDelete' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsDeleteResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] GoogleProtobufEmpty
+
+-- | Hard deletes a Product.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsDelete' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsDelete = CloudPrivateCatalogProducerCatalogsProductsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the product.
+    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 'CloudPrivateCatalogProducerCatalogsProductsDelete' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsDelete ::
+  -- |  The resource name of the product. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsDelete
+newCloudPrivateCatalogProducerCatalogsProductsDelete name =
+  CloudPrivateCatalogProducerCatalogsProductsDelete
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsDelete
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsDelete =
+      GoogleProtobufEmpty
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsDelete {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy
+                CloudPrivateCatalogProducerCatalogsProductsDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs
@@ -0,0 +1,119 @@
+{-# 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.Products.Get
+-- 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)
+--
+-- Returns the requested Product resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.get@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Get
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsGetResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsGet (..),
+    newCloudPrivateCatalogProducerCatalogsProductsGet,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.get@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsGet' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsGetResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Product
+
+-- | Returns the requested Product resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsGet' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsGet = CloudPrivateCatalogProducerCatalogsProductsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the product.
+    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 'CloudPrivateCatalogProducerCatalogsProductsGet' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsGet ::
+  -- |  The resource name of the product. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsGet
+newCloudPrivateCatalogProducerCatalogsProductsGet name =
+  CloudPrivateCatalogProducerCatalogsProductsGet
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsGet
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsGet =
+      GoogleCloudPrivatecatalogproducerV1beta1Product
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsGet =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsGet {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsProductsGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs
@@ -0,0 +1,131 @@
+{-# 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.Products.Icons.Upload
+-- 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 an Icon instance under a given Product. If Product only has a default icon, a new Icon instance is created and associated with the given Product. If Product already has a non-default icon, the action creates a new Icon instance, associates the newly created Icon with the given Product and deletes the old icon.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.icons.upload@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsIconsUploadResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsIconsUpload (..),
+    newCloudPrivateCatalogProducerCatalogsProductsIconsUpload,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.icons.upload@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsIconsUpload' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsIconsUploadResource =
+  "v1beta1"
+    Core.:> Core.Capture "product" Core.Text
+    Core.:> "icons:upload"
+    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]
+              GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+    Core.:> Core.Post '[Core.JSON] GoogleProtobufEmpty
+
+-- | Creates an Icon instance under a given Product. If Product only has a default icon, a new Icon instance is created and associated with the given Product. If Product already has a non-default icon, the action creates a new Icon instance, associates the newly created Icon with the given Product and deletes the old icon.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsIconsUpload' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsIconsUpload = CloudPrivateCatalogProducerCatalogsProductsIconsUpload
+  { -- | 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 :: GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest,
+    -- | The resource name of the product.
+    product :: 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 'CloudPrivateCatalogProducerCatalogsProductsIconsUpload' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsIconsUpload ::
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest ->
+  -- |  The resource name of the product. See 'product'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsIconsUpload
+newCloudPrivateCatalogProducerCatalogsProductsIconsUpload
+  payload
+  product =
+    CloudPrivateCatalogProducerCatalogsProductsIconsUpload
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        callback = Core.Nothing,
+        payload = payload,
+        product = product,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsIconsUpload
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsIconsUpload =
+      GoogleProtobufEmpty
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsIconsUpload =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsIconsUpload {..} =
+      go
+        product
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        payload
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsIconsUploadResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/List.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/List.hs
@@ -0,0 +1,135 @@
+{-# 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.Products.List
+-- 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)
+--
+-- Lists Product resources that the producer has access to, within the scope of the parent catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.list@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.List
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsListResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsList (..),
+    newCloudPrivateCatalogProducerCatalogsProductsList,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.list@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsList' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsListResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "products"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "filter" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+
+-- | Lists Product resources that the producer has access to, within the scope of the parent catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsList' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsList = CloudPrivateCatalogProducerCatalogsProductsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | A filter expression used to restrict the returned results based upon properties of the product.
+    filter :: (Core.Maybe Core.Text),
+    -- | The maximum number of products to return.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | A pagination token returned from a previous call to ListProducts that indicates where this listing should continue from. This field is optional.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | The resource name of the parent resource.
+    parent :: 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 'CloudPrivateCatalogProducerCatalogsProductsList' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsList ::
+  -- |  The resource name of the parent resource. See 'parent'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsList
+newCloudPrivateCatalogProducerCatalogsProductsList parent =
+  CloudPrivateCatalogProducerCatalogsProductsList
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      filter = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      parent = parent,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsList
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsList =
+      GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsList =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsList {..} =
+    go
+      parent
+      xgafv
+      accessToken
+      callback
+      filter
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsProductsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs
@@ -0,0 +1,138 @@
+{-# 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.Products.Patch
+-- 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)
+--
+-- Updates a specific Product resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.patch@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Patch
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsPatchResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsProductsPatch,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.patch@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsPatch' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsPatchResource =
+  "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 "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]
+              GoogleCloudPrivatecatalogproducerV1beta1Product
+    Core.:> Core.Patch
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Product
+
+-- | Updates a specific Product resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsPatch' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsPatch = CloudPrivateCatalogProducerCatalogsProductsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Required. The resource name of the product in the format \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'.
+    --
+    -- A unique identifier for the product under a catalog, which cannot be changed after the product is created. The final segment of the name must between 1 and 256 characters in length.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1Product,
+    -- | Field mask that controls which fields of the product should be updated.
+    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 'CloudPrivateCatalogProducerCatalogsProductsPatch' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsPatch ::
+  -- |  Required. The resource name of the product in the format \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'.
+  --
+  -- A unique identifier for the product under a catalog, which cannot be changed after the product is created. The final segment of the name must between 1 and 256 characters in length. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Product ->
+  CloudPrivateCatalogProducerCatalogsProductsPatch
+newCloudPrivateCatalogProducerCatalogsProductsPatch name payload =
+  CloudPrivateCatalogProducerCatalogsProductsPatch
+    { 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
+    CloudPrivateCatalogProducerCatalogsProductsPatch
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsPatch =
+      GoogleCloudPrivatecatalogproducerV1beta1Product
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsPatch =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsProductsPatch {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy
+                CloudPrivateCatalogProducerCatalogsProductsPatchResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs
@@ -0,0 +1,132 @@
+{-# 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.Products.Versions.Create
+-- 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 a Version instance under a given Product.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.create@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreateResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreate (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsCreate,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.create@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsVersionsCreate' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsVersionsCreateResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "versions"
+    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]
+              GoogleCloudPrivatecatalogproducerV1beta1Version
+    Core.:> Core.Post '[Core.JSON] GoogleLongrunningOperation
+
+-- | Creates a Version instance under a given Product.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsVersionsCreate' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsVersionsCreate = CloudPrivateCatalogProducerCatalogsProductsVersionsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The product name of the new version\'s parent.
+    parent :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1Version,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsProductsVersionsCreate' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsVersionsCreate ::
+  -- |  The product name of the new version\'s parent. See 'parent'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Version ->
+  CloudPrivateCatalogProducerCatalogsProductsVersionsCreate
+newCloudPrivateCatalogProducerCatalogsProductsVersionsCreate
+  parent
+  payload =
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreate
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        callback = Core.Nothing,
+        parent = parent,
+        payload = payload,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreate
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsVersionsCreate =
+      GoogleLongrunningOperation
+  type
+    Scopes
+      CloudPrivateCatalogProducerCatalogsProductsVersionsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsVersionsCreate {..} =
+      go
+        parent
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        payload
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsVersionsCreateResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs
@@ -0,0 +1,120 @@
+{-# 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.Products.Versions.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)
+--
+-- Hard deletes a Version.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.delete@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDeleteResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDelete (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsDelete,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.delete@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsVersionsDelete' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsVersionsDeleteResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] GoogleProtobufEmpty
+
+-- | Hard deletes a Version.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsVersionsDelete' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsVersionsDelete = CloudPrivateCatalogProducerCatalogsProductsVersionsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the version.
+    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 'CloudPrivateCatalogProducerCatalogsProductsVersionsDelete' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsVersionsDelete ::
+  -- |  The resource name of the version. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsVersionsDelete
+newCloudPrivateCatalogProducerCatalogsProductsVersionsDelete name =
+  CloudPrivateCatalogProducerCatalogsProductsVersionsDelete
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDelete
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsVersionsDelete =
+      GoogleProtobufEmpty
+  type
+    Scopes
+      CloudPrivateCatalogProducerCatalogsProductsVersionsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsVersionsDelete {..} =
+      go
+        name
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsVersionsDeleteResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs
@@ -0,0 +1,121 @@
+{-# 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.Products.Versions.Get
+-- 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)
+--
+-- Returns the requested Version resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.get@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGetResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGet (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsGet,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.get@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsVersionsGet' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsVersionsGetResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Version
+
+-- | Returns the requested Version resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsVersionsGet' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsVersionsGet = CloudPrivateCatalogProducerCatalogsProductsVersionsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the version.
+    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 'CloudPrivateCatalogProducerCatalogsProductsVersionsGet' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsVersionsGet ::
+  -- |  The resource name of the version. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsVersionsGet
+newCloudPrivateCatalogProducerCatalogsProductsVersionsGet name =
+  CloudPrivateCatalogProducerCatalogsProductsVersionsGet
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGet
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsVersionsGet =
+      GoogleCloudPrivatecatalogproducerV1beta1Version
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsVersionsGet =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsVersionsGet {..} =
+      go
+        name
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsVersionsGetResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs
@@ -0,0 +1,132 @@
+{-# 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.Products.Versions.List
+-- 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)
+--
+-- Lists Version resources that the producer has access to, within the scope of the parent Product.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.list@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsVersionsListResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsVersionsList (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsList,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.list@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsVersionsList' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsVersionsListResource =
+  "v1beta1"
+    Core.:> Core.Capture "parent" Core.Text
+    Core.:> "versions"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+
+-- | Lists Version resources that the producer has access to, within the scope of the parent Product.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsVersionsList' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsVersionsList = CloudPrivateCatalogProducerCatalogsProductsVersionsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The maximum number of versions to return.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | A pagination token returned from a previous call to ListVersions that indicates where this listing should continue from. This field is optional.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | The resource name of the parent resource.
+    parent :: 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 'CloudPrivateCatalogProducerCatalogsProductsVersionsList' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsVersionsList ::
+  -- |  The resource name of the parent resource. See 'parent'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsProductsVersionsList
+newCloudPrivateCatalogProducerCatalogsProductsVersionsList parent =
+  CloudPrivateCatalogProducerCatalogsProductsVersionsList
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      parent = parent,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsProductsVersionsList
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsVersionsList =
+      GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsProductsVersionsList =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsVersionsList {..} =
+      go
+        parent
+        xgafv
+        accessToken
+        callback
+        pageSize
+        pageToken
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsVersionsListResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs
@@ -0,0 +1,142 @@
+{-# 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.Products.Versions.Patch
+-- 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)
+--
+-- Updates a specific Version resource.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.patch@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatchResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatch (..),
+    newCloudPrivateCatalogProducerCatalogsProductsVersionsPatch,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.patch@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsProductsVersionsPatch' request conforms to.
+type CloudPrivateCatalogProducerCatalogsProductsVersionsPatchResource =
+  "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 "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]
+              GoogleCloudPrivatecatalogproducerV1beta1Version
+    Core.:> Core.Patch
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Version
+
+-- | Updates a specific Version resource.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsProductsVersionsPatch' smart constructor.
+data CloudPrivateCatalogProducerCatalogsProductsVersionsPatch = CloudPrivateCatalogProducerCatalogsProductsVersionsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Required. The resource name of the version, in the format \`catalogs\/{catalog/id}\/products\/{product/id}\/versions\/a-z*[a-z0-9]\'.
+    --
+    -- A unique identifier for the version under a product, which can\'t be changed after the version is created. The final segment of the name must between 1 and 63 characters in length.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1Version,
+    -- | Field mask that controls which fields of the version should be updated.
+    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 'CloudPrivateCatalogProducerCatalogsProductsVersionsPatch' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsProductsVersionsPatch ::
+  -- |  Required. The resource name of the version, in the format \`catalogs\/{catalog/id}\/products\/{product/id}\/versions\/a-z*[a-z0-9]\'.
+  --
+  -- A unique identifier for the version under a product, which can\'t be changed after the version is created. The final segment of the name must between 1 and 63 characters in length. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1Version ->
+  CloudPrivateCatalogProducerCatalogsProductsVersionsPatch
+newCloudPrivateCatalogProducerCatalogsProductsVersionsPatch
+  name
+  payload =
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatch
+      { 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
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatch
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsProductsVersionsPatch =
+      GoogleCloudPrivatecatalogproducerV1beta1Version
+  type
+    Scopes
+      CloudPrivateCatalogProducerCatalogsProductsVersionsPatch =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsProductsVersionsPatch {..} =
+      go
+        name
+        xgafv
+        accessToken
+        callback
+        updateMask
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        payload
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsProductsVersionsPatchResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/SetIamPolicy.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/SetIamPolicy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/SetIamPolicy.hs
@@ -0,0 +1,124 @@
+{-# 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.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 Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.setIamPolicy@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.SetIamPolicy
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsSetIamPolicyResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsSetIamPolicy (..),
+    newCloudPrivateCatalogProducerCatalogsSetIamPolicy,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.setIamPolicy@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsSetIamPolicy' request conforms to.
+type CloudPrivateCatalogProducerCatalogsSetIamPolicyResource =
+  "v1beta1"
+    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] GoogleIamV1SetIamPolicyRequest
+    Core.:> Core.Post '[Core.JSON] GoogleIamV1Policy
+
+-- | Sets the IAM policy for the specified Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsSetIamPolicy' smart constructor.
+data CloudPrivateCatalogProducerCatalogsSetIamPolicy = CloudPrivateCatalogProducerCatalogsSetIamPolicy
+  { -- | 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 :: GoogleIamV1SetIamPolicyRequest,
+    -- | REQUIRED: The resource for which the policy is being specified. See the operation documentation 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 'CloudPrivateCatalogProducerCatalogsSetIamPolicy' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsSetIamPolicy ::
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleIamV1SetIamPolicyRequest ->
+  -- |  REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. See 'resource'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsSetIamPolicy
+newCloudPrivateCatalogProducerCatalogsSetIamPolicy payload resource =
+  CloudPrivateCatalogProducerCatalogsSetIamPolicy
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      resource = resource,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsSetIamPolicy
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsSetIamPolicy =
+      GoogleIamV1Policy
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsSetIamPolicy =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsSetIamPolicy {..} =
+    go
+      resource
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsSetIamPolicyResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/TestIamPermissions.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/TestIamPermissions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/TestIamPermissions.hs
@@ -0,0 +1,128 @@
+{-# 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.TestIamPermissions
+-- 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)
+--
+-- Tests the IAM permissions for the specified Catalog.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.testIamPermissions@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.TestIamPermissions
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsTestIamPermissionsResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsTestIamPermissions (..),
+    newCloudPrivateCatalogProducerCatalogsTestIamPermissions,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.testIamPermissions@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsTestIamPermissions' request conforms to.
+type CloudPrivateCatalogProducerCatalogsTestIamPermissionsResource =
+  "v1beta1"
+    Core.:> Core.CaptureMode "resource" "testIamPermissions" 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] GoogleIamV1TestIamPermissionsRequest
+    Core.:> Core.Post '[Core.JSON] GoogleIamV1TestIamPermissionsResponse
+
+-- | Tests the IAM permissions for the specified Catalog.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsTestIamPermissions' smart constructor.
+data CloudPrivateCatalogProducerCatalogsTestIamPermissions = CloudPrivateCatalogProducerCatalogsTestIamPermissions
+  { -- | 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 :: GoogleIamV1TestIamPermissionsRequest,
+    -- | REQUIRED: The resource for which the policy detail is being requested. See the operation documentation 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 'CloudPrivateCatalogProducerCatalogsTestIamPermissions' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsTestIamPermissions ::
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleIamV1TestIamPermissionsRequest ->
+  -- |  REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. See 'resource'.
+  Core.Text ->
+  CloudPrivateCatalogProducerCatalogsTestIamPermissions
+newCloudPrivateCatalogProducerCatalogsTestIamPermissions
+  payload
+  resource =
+    CloudPrivateCatalogProducerCatalogsTestIamPermissions
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        callback = Core.Nothing,
+        payload = payload,
+        resource = resource,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsTestIamPermissions
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsTestIamPermissions =
+      GoogleIamV1TestIamPermissionsResponse
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsTestIamPermissions =
+      '[CloudPlatform'FullControl]
+  requestClient
+    CloudPrivateCatalogProducerCatalogsTestIamPermissions {..} =
+      go
+        resource
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        payload
+        cloudPrivateCatalogProducerService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  CloudPrivateCatalogProducerCatalogsTestIamPermissionsResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Undelete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Undelete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Catalogs/Undelete.hs
@@ -0,0 +1,127 @@
+{-# 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.Undelete
+-- 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)
+--
+-- Undeletes a deleted Catalog and all resources under it.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.undelete@.
+module Gogol.CloudPrivateCatalogProducer.Catalogs.Undelete
+  ( -- * Resource
+    CloudPrivateCatalogProducerCatalogsUndeleteResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerCatalogsUndelete (..),
+    newCloudPrivateCatalogProducerCatalogsUndelete,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.catalogs.undelete@ method which the
+-- 'CloudPrivateCatalogProducerCatalogsUndelete' request conforms to.
+type CloudPrivateCatalogProducerCatalogsUndeleteResource =
+  "v1beta1"
+    Core.:> Core.CaptureMode "name" "undelete" 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]
+              GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+    Core.:> Core.Post
+              '[Core.JSON]
+              GoogleCloudPrivatecatalogproducerV1beta1Catalog
+
+-- | Undeletes a deleted Catalog and all resources under it.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerCatalogsUndelete' smart constructor.
+data CloudPrivateCatalogProducerCatalogsUndelete = CloudPrivateCatalogProducerCatalogsUndelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The resource name of the catalog.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest,
+    -- | 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 'CloudPrivateCatalogProducerCatalogsUndelete' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerCatalogsUndelete ::
+  -- |  The resource name of the catalog. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest ->
+  CloudPrivateCatalogProducerCatalogsUndelete
+newCloudPrivateCatalogProducerCatalogsUndelete name payload =
+  CloudPrivateCatalogProducerCatalogsUndelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerCatalogsUndelete
+  where
+  type
+    Rs CloudPrivateCatalogProducerCatalogsUndelete =
+      GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  type
+    Scopes CloudPrivateCatalogProducerCatalogsUndelete =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerCatalogsUndelete {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerCatalogsUndeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Internal/Product.hs b/gen/Gogol/CloudPrivateCatalogProducer/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Internal/Product.hs
@@ -0,0 +1,1675 @@
+{-# 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.Internal.Product
+-- 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)
+module Gogol.CloudPrivateCatalogProducer.Internal.Product
+  ( -- * GoogleCloudPrivatecatalogproducerV1beta1Association
+    GoogleCloudPrivatecatalogproducerV1beta1Association (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Association,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    GoogleCloudPrivatecatalogproducerV1beta1Catalog (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Catalog,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Product
+    GoogleCloudPrivatecatalogproducerV1beta1Product (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Version
+    GoogleCloudPrivatecatalogproducerV1beta1Version (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_Asset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset,
+
+    -- * GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset,
+
+    -- * GoogleIamV1AuditConfig
+    GoogleIamV1AuditConfig (..),
+    newGoogleIamV1AuditConfig,
+
+    -- * GoogleIamV1AuditLogConfig
+    GoogleIamV1AuditLogConfig (..),
+    newGoogleIamV1AuditLogConfig,
+
+    -- * GoogleIamV1Binding
+    GoogleIamV1Binding (..),
+    newGoogleIamV1Binding,
+
+    -- * GoogleIamV1Policy
+    GoogleIamV1Policy (..),
+    newGoogleIamV1Policy,
+
+    -- * GoogleIamV1SetIamPolicyRequest
+    GoogleIamV1SetIamPolicyRequest (..),
+    newGoogleIamV1SetIamPolicyRequest,
+
+    -- * GoogleIamV1TestIamPermissionsRequest
+    GoogleIamV1TestIamPermissionsRequest (..),
+    newGoogleIamV1TestIamPermissionsRequest,
+
+    -- * GoogleIamV1TestIamPermissionsResponse
+    GoogleIamV1TestIamPermissionsResponse (..),
+    newGoogleIamV1TestIamPermissionsResponse,
+
+    -- * GoogleLongrunningCancelOperationRequest
+    GoogleLongrunningCancelOperationRequest (..),
+    newGoogleLongrunningCancelOperationRequest,
+
+    -- * GoogleLongrunningListOperationsResponse
+    GoogleLongrunningListOperationsResponse (..),
+    newGoogleLongrunningListOperationsResponse,
+
+    -- * GoogleLongrunningOperation
+    GoogleLongrunningOperation (..),
+    newGoogleLongrunningOperation,
+
+    -- * GoogleLongrunningOperation_Metadata
+    GoogleLongrunningOperation_Metadata (..),
+    newGoogleLongrunningOperation_Metadata,
+
+    -- * GoogleLongrunningOperation_Response
+    GoogleLongrunningOperation_Response (..),
+    newGoogleLongrunningOperation_Response,
+
+    -- * GoogleProtobufEmpty
+    GoogleProtobufEmpty (..),
+    newGoogleProtobufEmpty,
+
+    -- * GoogleRpcStatus
+    GoogleRpcStatus (..),
+    newGoogleRpcStatus,
+
+    -- * GoogleRpcStatus_DetailsItem
+    GoogleRpcStatus_DetailsItem (..),
+    newGoogleRpcStatus_DetailsItem,
+
+    -- * GoogleTypeExpr
+    GoogleTypeExpr (..),
+    newGoogleTypeExpr,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | An association tuple that pairs a @Catalog@ to a resource that can use the @Catalog@. After association, a google.cloud.privatecatalog.v1beta1.Catalog becomes available to consumers under specified Association.resource and all of its child nodes. Users who have the @cloudprivatecatalog.targets.get@ permission on any of the resource nodes can access the catalog and child products under the node.
+--
+-- For example, suppose the cloud resource hierarchy is as follows:
+--
+-- -   organizations\/example.com
+--     -   folders\/team
+--         -   projects\/test
+--
+-- After creating an association with @organizations\/example.com@, the catalog @catalogs\/1@ is accessible from the following paths:
+--
+-- -   organizations\/example.com
+-- -   folders\/team
+-- -   projects\/test
+--
+-- Users can access them by google.cloud.v1beta1.PrivateCatalog.SearchCatalogs action.
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Association' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1Association = GoogleCloudPrivatecatalogproducerV1beta1Association
+  { -- | The creation time of the association.
+    createTime :: (Core.Maybe Core.DateTime),
+    -- | Output only. The resource name of the catalog association, in the format \`catalogs\/{catalog/id}\/associations\/{association/id}\'.
+    --
+    -- A unique identifier for the catalog association, which is generated by catalog service.
+    name :: (Core.Maybe Core.Text),
+    -- | Required. The user-supplied fully qualified name of the @Resource@ associated to the @Catalog@. It supports @Organization@, @Folder@, and @Project@. Values are of the form
+    --
+    -- -   @\/\/cloudresourcemanager.googleapis.com\/projects\/{product_number}@
+    -- -   @\/\/cloudresourcemanager.googleapis.com\/folders\/{folder_id}@
+    -- -   @\/\/cloudresourcemanager.googleapis.com\/organizations\/{organization_id}@
+    resource :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Association' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Association ::
+  GoogleCloudPrivatecatalogproducerV1beta1Association
+newGoogleCloudPrivatecatalogproducerV1beta1Association =
+  GoogleCloudPrivatecatalogproducerV1beta1Association
+    { createTime =
+        Core.Nothing,
+      name = Core.Nothing,
+      resource = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Association
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Association"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Association
+            Core.<$> (o Core..:? "createTime")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "resource")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Association
+  where
+  toJSON GoogleCloudPrivatecatalogproducerV1beta1Association {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("createTime" Core..=) Core.<$> createTime,
+            ("name" Core..=) Core.<$> name,
+            ("resource" Core..=) Core.<$> resource
+          ]
+      )
+
+-- | The producer representation of a catalog which is a curated collection of solutions that can be managed, controlled, and shared by cloud admins.
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Catalog' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1Catalog = GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  { -- | Output only. The time when the catalog was created.
+    createTime :: (Core.Maybe Core.DateTime),
+    -- | Required. The user-supplied description of the catalog. Maximum of 512 characters.
+    description :: (Core.Maybe Core.Text),
+    -- | Required. The user-supplied descriptive name of the catalog as it appears in UIs. Maximum 256 characters in length.
+    displayName :: (Core.Maybe Core.Text),
+    -- | Output only. The resource name of the catalog, in the format \`catalogs\/{catalog_id}\'.
+    --
+    -- A unique identifier for the catalog, which is generated by catalog service.
+    name :: (Core.Maybe Core.Text),
+    -- | Required. The parent resource name of the catalog, which can\'t be changed after a catalog is created. It can only be an organization. Values are of the form @\/\/cloudresourcemanager.googleapis.com\/organizations\/\<id>@. Maximum 256 characters in length.
+    parent :: (Core.Maybe Core.Text),
+    -- | Output only. The time when the catalog was last updated.
+    updateTime :: (Core.Maybe Core.DateTime)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Catalog' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Catalog ::
+  GoogleCloudPrivatecatalogproducerV1beta1Catalog
+newGoogleCloudPrivatecatalogproducerV1beta1Catalog =
+  GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    { createTime =
+        Core.Nothing,
+      description = Core.Nothing,
+      displayName = Core.Nothing,
+      name = Core.Nothing,
+      parent = Core.Nothing,
+      updateTime = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Catalog"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Catalog
+            Core.<$> (o Core..:? "createTime")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "displayName")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "parent")
+            Core.<*> (o Core..:? "updateTime")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Catalog
+  where
+  toJSON GoogleCloudPrivatecatalogproducerV1beta1Catalog {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("createTime" Core..=) Core.<$> createTime,
+            ("description" Core..=) Core.<$> description,
+            ("displayName" Core..=) Core.<$> displayName,
+            ("name" Core..=) Core.<$> name,
+            ("parent" Core..=) Core.<$> parent,
+            ("updateTime" Core..=) Core.<$> updateTime
+          ]
+      )
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest = GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+  { -- | The resource name of the destination product that is copied to.
+    destinationProductName :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest ::
+  GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest =
+  GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+    { destinationProductName =
+        Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+            Core.<$> (o Core..:? "destinationProductName")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest {..} =
+      Core.object
+        ( Core.catMaybes
+            [ ("destinationProductName" Core..=)
+                Core.<$> destinationProductName
+            ]
+        )
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest = GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+  { -- | The user-supplied @Association@ that is going to be created.
+    --
+    -- If the @resource@ field is set, the @privatecatalogproducer.catalogTargets.associate@ permission is checked on the target resource.
+    association :: (Core.Maybe GoogleCloudPrivatecatalogproducerV1beta1Association)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest ::
+  GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest =
+  GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+    { association =
+        Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+            Core.<$> (o Core..:? "association")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest {..} =
+      Core.object
+        (Core.catMaybes [("association" Core..=) Core.<$> association])
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+  { -- | The returned @Association@ resources from the list call.
+    associations :: (Core.Maybe [GoogleCloudPrivatecatalogproducerV1beta1Association]),
+    -- | A pagination token returned from a previous call to @ListAssociations@ that indicates where the listing should continue from. This field is optional.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse ::
+  GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse =
+  GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+    { associations =
+        Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+            Core.<$> (o Core..:? "associations")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse {..} =
+      Core.object
+        ( Core.catMaybes
+            [ ("associations" Core..=) Core.<$> associations,
+              ("nextPageToken" Core..=) Core.<$> nextPageToken
+            ]
+        )
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+  { -- | The @Catalogs@ returned from the list call.
+    catalogs :: (Core.Maybe [GoogleCloudPrivatecatalogproducerV1beta1Catalog]),
+    -- | A pagination token returned from a previous call to ListCatalogs that indicates where the listing should continue from. This field is optional.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse ::
+  GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse =
+  GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+    { catalogs =
+        Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+            Core.<$> (o Core..:? "catalogs")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse {..} =
+      Core.object
+        ( Core.catMaybes
+            [ ("catalogs" Core..=) Core.<$> catalogs,
+              ("nextPageToken" Core..=) Core.<$> nextPageToken
+            ]
+        )
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+  { -- | A pagination token returned from a previous call to ListProducts that indicates where the listing should continue from. This field is optional.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | The @Product@ returned from the list call.
+    products :: (Core.Maybe [GoogleCloudPrivatecatalogproducerV1beta1Product])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse ::
+  GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse =
+  GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+    { nextPageToken =
+        Core.Nothing,
+      products = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "products")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse {..} =
+      Core.object
+        ( Core.catMaybes
+            [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+              ("products" Core..=) Core.<$> products
+            ]
+        )
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+  { -- | A pagination token returned from a previous call to ListProducts that indicates where the listing should continue from. This field is optional.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | The @VersiVersionon@ returned from the list call.
+    versions :: (Core.Maybe [GoogleCloudPrivatecatalogproducerV1beta1Version])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse ::
+  GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse =
+  GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+    { nextPageToken =
+        Core.Nothing,
+      versions = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "versions")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse {..} =
+      Core.object
+        ( Core.catMaybes
+            [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+              ("versions" Core..=) Core.<$> versions
+            ]
+        )
+
+-- | The producer representation of a product which is a child resource of @Catalog@ with display metadata and a list of @Version@ resources.
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Product' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1Product = GoogleCloudPrivatecatalogproducerV1beta1Product
+  { -- | Required. The type of the product asset, which cannot be changed after the product is created. It supports the values @google.deploymentmanager.Template@ and @google.cloudprivatecatalog.ListingOnly@. Other values will be rejected by the server. Read only after creation.
+    --
+    -- The following fields or resource types have different validation rules under each @asset_type@ values:
+    --
+    -- -   Product.display_metadata has different validation schema for each asset type value. See its comment for details.
+    -- -   Version resource isn\'t allowed to be added under the @google.cloudprivatecatalog.ListingOnly@ type.
+    assetType :: (Core.Maybe Core.Text),
+    -- | Output only. The time when the product was created.
+    createTime :: (Core.Maybe Core.DateTime),
+    -- | The user-supplied display metadata to describe the product. The JSON schema of the metadata differs by Product.asset_type. When the type is @google.deploymentmanager.Template@, the schema is as follows:
+    --
+    -- \`\`\` \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object properties: name: type: string minLength: 1 maxLength: 64 description: type: string minLength: 1 maxLength: 2048 tagline: type: string minLength: 1 maxLength: 100 support/info: type: string minLength: 1 maxLength: 2048 creator: type: string minLength: 1 maxLength: 100 documentation: type: array items: type: object properties: url: type: string pattern: \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~/|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\" title: type: string minLength: 1 maxLength: 64 description: type: string minLength: 1 maxLength: 2048 required: - name - description additionalProperties: false
+    --
+    -- \`\`\`
+    --
+    -- When the asset type is @google.cloudprivatecatalog.ListingOnly@, the schema is as follows:
+    --
+    -- @\"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object properties:   name:     type: string     minLength: 1     maxLength: 64   description:     type: string     minLength: 1     maxLength: 2048   tagline:     type: string     minLength: 1     maxLength: 100   support_info:     type: string     minLength: 1     maxLength: 2048   creator:     type: string     minLength: 1     maxLength: 100   documentation:     type: array     items:       type: object       properties:         url:           type: string           pattern:           \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\"         title:           type: string           minLength: 1           maxLength: 64         description:           type: string           minLength: 1           maxLength: 2048   signup_url:     type: string     pattern:     \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\" required: - name - description - signup_url additionalProperties: false@
+    displayMetadata ::
+      ( Core.Maybe
+          GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+      ),
+    -- | Output only. The public accessible URI of the icon uploaded by PrivateCatalogProducer.UploadIcon.
+    --
+    -- If no icon is uploaded, it will be the default icon\'s URI.
+    iconUri :: (Core.Maybe Core.Text),
+    -- | Required. The resource name of the product in the format \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'.
+    --
+    -- A unique identifier for the product under a catalog, which cannot be changed after the product is created. The final segment of the name must between 1 and 256 characters in length.
+    name :: (Core.Maybe Core.Text),
+    -- | Output only. The time when the product was last updated.
+    updateTime :: (Core.Maybe Core.DateTime)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Product' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Product ::
+  GoogleCloudPrivatecatalogproducerV1beta1Product
+newGoogleCloudPrivatecatalogproducerV1beta1Product =
+  GoogleCloudPrivatecatalogproducerV1beta1Product
+    { assetType =
+        Core.Nothing,
+      createTime = Core.Nothing,
+      displayMetadata = Core.Nothing,
+      iconUri = Core.Nothing,
+      name = Core.Nothing,
+      updateTime = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Product
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Product"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Product
+            Core.<$> (o Core..:? "assetType")
+            Core.<*> (o Core..:? "createTime")
+            Core.<*> (o Core..:? "displayMetadata")
+            Core.<*> (o Core..:? "iconUri")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "updateTime")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Product
+  where
+  toJSON GoogleCloudPrivatecatalogproducerV1beta1Product {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("assetType" Core..=) Core.<$> assetType,
+            ("createTime" Core..=) Core.<$> createTime,
+            ("displayMetadata" Core..=) Core.<$> displayMetadata,
+            ("iconUri" Core..=) Core.<$> iconUri,
+            ("name" Core..=) Core.<$> name,
+            ("updateTime" Core..=) Core.<$> updateTime
+          ]
+      )
+
+-- | The user-supplied display metadata to describe the product. The JSON schema of the metadata differs by Product.asset_type. When the type is @google.deploymentmanager.Template@, the schema is as follows:
+--
+-- \`\`\` \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object properties: name: type: string minLength: 1 maxLength: 64 description: type: string minLength: 1 maxLength: 2048 tagline: type: string minLength: 1 maxLength: 100 support/info: type: string minLength: 1 maxLength: 2048 creator: type: string minLength: 1 maxLength: 100 documentation: type: array items: type: object properties: url: type: string pattern: \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~/|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\" title: type: string minLength: 1 maxLength: 64 description: type: string minLength: 1 maxLength: 2048 required: - name - description additionalProperties: false
+--
+-- \`\`\`
+--
+-- When the asset type is @google.cloudprivatecatalog.ListingOnly@, the schema is as follows:
+--
+-- @\"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object properties:   name:     type: string     minLength: 1     maxLength: 64   description:     type: string     minLength: 1     maxLength: 2048   tagline:     type: string     minLength: 1     maxLength: 100   support_info:     type: string     minLength: 1     maxLength: 2048   creator:     type: string     minLength: 1     maxLength: 100   documentation:     type: array     items:       type: object       properties:         url:           type: string           pattern:           \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\"         title:           type: string           minLength: 1           maxLength: 64         description:           type: string           minLength: 1           maxLength: 2048   signup_url:     type: string     pattern:     \"^(https?):\/\/[-a-zA-Z0-9+&\@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\@#\/%=~_|]\" required: - name - description - signup_url additionalProperties: false@
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata = GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+  { -- | Properties of the object.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata ::
+  -- |  Properties of the object. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+  additional =
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+      { additional =
+          additional
+      }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata {..} =
+      Core.toJSON additional
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest = GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest ::
+  GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest =
+  GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest"
+      ( \o ->
+          Core.pure
+            GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+  where
+  toJSON = Core.const Core.emptyObject
+
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest = GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+  { -- | The raw icon bytes user-supplied to be uploaded to the product. The format of the icon can only be PNG or JPEG. The minimum allowed dimensions are 130x130 pixels and the maximum dimensions are 10000x10000 pixels. Required.
+    icon :: (Core.Maybe Core.Base64)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest ::
+  GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest =
+  GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+    { icon =
+        Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+            Core.<$> (o Core..:? "icon")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest {..} =
+      Core.object (Core.catMaybes [("icon" Core..=) Core.<$> icon])
+
+-- | The producer representation of a version, which is a child resource under a @Product@ with asset data.
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Version' smart constructor.
+data GoogleCloudPrivatecatalogproducerV1beta1Version = GoogleCloudPrivatecatalogproducerV1beta1Version
+  { -- | Output only. The asset which has been validated and is ready to be provisioned. See Version.original_asset for the schema.
+    asset :: (Core.Maybe GoogleCloudPrivatecatalogproducerV1beta1Version_Asset),
+    -- | Output only. The time when the version was created.
+    createTime :: (Core.Maybe Core.DateTime),
+    -- | The user-supplied description of the version. Maximum of 256 characters.
+    description :: (Core.Maybe Core.Text),
+    -- | Required. The resource name of the version, in the format \`catalogs\/{catalog/id}\/products\/{product/id}\/versions\/a-z*[a-z0-9]\'.
+    --
+    -- A unique identifier for the version under a product, which can\'t be changed after the version is created. The final segment of the name must between 1 and 63 characters in length.
+    name :: (Core.Maybe Core.Text),
+    -- | The user-supplied asset payload. The maximum size of the payload is 2MB. The JSON schema of the payload is defined as:
+    --
+    -- @type: object properties:   mainTemplate:     type: string     description: The file name of the main template and name prefix of     schema file. The content of the main template should be set in the     imports list. The schema file name is expected to be     \<mainTemplate>.schema in the imports list. required: true   imports:     type: array     description: Import template and schema file contents. Required to have     both \<mainTemplate> and \<mainTemplate>.schema files. required: true     minItems: 2     items:       type: object       properties:         name:           type: string         content:           type: string@
+    originalAsset ::
+      ( Core.Maybe
+          GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+      ),
+    -- | Output only. The time when the version was last updated.
+    updateTime :: (Core.Maybe Core.DateTime)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Version' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Version ::
+  GoogleCloudPrivatecatalogproducerV1beta1Version
+newGoogleCloudPrivatecatalogproducerV1beta1Version =
+  GoogleCloudPrivatecatalogproducerV1beta1Version
+    { asset =
+        Core.Nothing,
+      createTime = Core.Nothing,
+      description = Core.Nothing,
+      name = Core.Nothing,
+      originalAsset = Core.Nothing,
+      updateTime = Core.Nothing
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Version"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Version
+            Core.<$> (o Core..:? "asset")
+            Core.<*> (o Core..:? "createTime")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "originalAsset")
+            Core.<*> (o Core..:? "updateTime")
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version
+  where
+  toJSON GoogleCloudPrivatecatalogproducerV1beta1Version {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("asset" Core..=) Core.<$> asset,
+            ("createTime" Core..=) Core.<$> createTime,
+            ("description" Core..=) Core.<$> description,
+            ("name" Core..=) Core.<$> name,
+            ("originalAsset" Core..=) Core.<$> originalAsset,
+            ("updateTime" Core..=) Core.<$> updateTime
+          ]
+      )
+
+-- | Output only. The asset which has been validated and is ready to be provisioned. See Version.original_asset for the schema.
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1Version_Asset = GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+  { -- | Properties of the object.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Version_Asset' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset ::
+  -- |  Properties of the object. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset additional =
+  GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+    { additional =
+        additional
+    }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Version_Asset"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+  where
+  toJSON GoogleCloudPrivatecatalogproducerV1beta1Version_Asset {..} =
+    Core.toJSON additional
+
+-- | The user-supplied asset payload. The maximum size of the payload is 2MB. The JSON schema of the payload is defined as:
+--
+-- @type: object properties:   mainTemplate:     type: string     description: The file name of the main template and name prefix of     schema file. The content of the main template should be set in the     imports list. The schema file name is expected to be     \<mainTemplate>.schema in the imports list. required: true   imports:     type: array     description: Import template and schema file contents. Required to have     both \<mainTemplate> and \<mainTemplate>.schema files. required: true     minItems: 2     items:       type: object       properties:         name:           type: string         content:           type: string@
+--
+-- /See:/ 'newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset' smart constructor.
+newtype GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset = GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+  { -- | Properties of the object.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset' with the minimum fields required to make a request.
+newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset ::
+  -- |  Properties of the object. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+  additional =
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+      { additional =
+          additional
+      }
+
+instance
+  Core.FromJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+  where
+  parseJSON =
+    Core.withObject
+      "GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset"
+      ( \o ->
+          GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance
+  Core.ToJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+  where
+  toJSON
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset {..} =
+      Core.toJSON additional
+
+-- | Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.
+--
+-- If there are AuditConfigs for both @allServices@ and a specific service, the union of the two AuditConfigs is used for that service: the log/types specified in each AuditConfig are enabled, and the exempted/members in each AuditLogConfig are exempted.
+--
+-- Example Policy with multiple AuditConfigs:
+--
+-- > {
+-- >   "audit_configs": [
+-- >     {
+-- >       "service": "allServices"
+-- >       "audit_log_configs": [
+-- >         {
+-- >           "log_type": "DATA_READ",
+-- >           "exempted_members": [
+-- >             "user:jose@example.com"
+-- >           ]
+-- >         },
+-- >         {
+-- >           "log_type": "DATA_WRITE",
+-- >         },
+-- >         {
+-- >           "log_type": "ADMIN_READ",
+-- >         }
+-- >       ]
+-- >     },
+-- >     {
+-- >       "service": "sampleservice.googleapis.com"
+-- >       "audit_log_configs": [
+-- >         {
+-- >           "log_type": "DATA_READ",
+-- >         },
+-- >         {
+-- >           "log_type": "DATA_WRITE",
+-- >           "exempted_members": [
+-- >             "user:aliya@example.com"
+-- >           ]
+-- >         }
+-- >       ]
+-- >     }
+-- >   ]
+-- > }
+--
+-- For sampleservice, this policy enables DATA/READ, DATA/WRITE and ADMIN/READ logging. It also exempts jose\@example.com from DATA/READ logging, and aliya\@example.com from DATA_WRITE logging.
+--
+-- /See:/ 'newGoogleIamV1AuditConfig' smart constructor.
+data GoogleIamV1AuditConfig = GoogleIamV1AuditConfig
+  { -- | The configuration for logging of each type of permission.
+    auditLogConfigs :: (Core.Maybe [GoogleIamV1AuditLogConfig]),
+    -- | Specifies a service that will be enabled for audit logging. For example, @storage.googleapis.com@, @cloudsql.googleapis.com@. @allServices@ is a special value that covers all services.
+    service :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1AuditConfig' with the minimum fields required to make a request.
+newGoogleIamV1AuditConfig ::
+  GoogleIamV1AuditConfig
+newGoogleIamV1AuditConfig =
+  GoogleIamV1AuditConfig
+    { auditLogConfigs = Core.Nothing,
+      service = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleIamV1AuditConfig where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1AuditConfig"
+      ( \o ->
+          GoogleIamV1AuditConfig
+            Core.<$> (o Core..:? "auditLogConfigs")
+            Core.<*> (o Core..:? "service")
+      )
+
+instance Core.ToJSON GoogleIamV1AuditConfig where
+  toJSON GoogleIamV1AuditConfig {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("auditLogConfigs" Core..=) Core.<$> auditLogConfigs,
+            ("service" Core..=) Core.<$> service
+          ]
+      )
+
+-- | Provides the configuration for logging a type of permissions. Example:
+--
+-- > {
+-- >   "audit_log_configs": [
+-- >     {
+-- >       "log_type": "DATA_READ",
+-- >       "exempted_members": [
+-- >         "user:jose@example.com"
+-- >       ]
+-- >     },
+-- >     {
+-- >       "log_type": "DATA_WRITE",
+-- >     }
+-- >   ]
+-- > }
+--
+-- This enables \'DATA/READ\' and \'DATA/WRITE\' logging, while exempting jose\@example.com from DATA_READ logging.
+--
+-- /See:/ 'newGoogleIamV1AuditLogConfig' smart constructor.
+data GoogleIamV1AuditLogConfig = GoogleIamV1AuditLogConfig
+  { -- | Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+    exemptedMembers :: (Core.Maybe [Core.Text]),
+    -- | The log type that this config enables.
+    logType :: (Core.Maybe GoogleIamV1AuditLogConfig_LogType)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1AuditLogConfig' with the minimum fields required to make a request.
+newGoogleIamV1AuditLogConfig ::
+  GoogleIamV1AuditLogConfig
+newGoogleIamV1AuditLogConfig =
+  GoogleIamV1AuditLogConfig
+    { exemptedMembers = Core.Nothing,
+      logType = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleIamV1AuditLogConfig where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1AuditLogConfig"
+      ( \o ->
+          GoogleIamV1AuditLogConfig
+            Core.<$> (o Core..:? "exemptedMembers")
+            Core.<*> (o Core..:? "logType")
+      )
+
+instance Core.ToJSON GoogleIamV1AuditLogConfig where
+  toJSON GoogleIamV1AuditLogConfig {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("exemptedMembers" Core..=) Core.<$> exemptedMembers,
+            ("logType" Core..=) Core.<$> logType
+          ]
+      )
+
+-- | Associates @members@ with a @role@.
+--
+-- /See:/ 'newGoogleIamV1Binding' smart constructor.
+data GoogleIamV1Binding = GoogleIamV1Binding
+  { -- | The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
+    condition :: (Core.Maybe GoogleTypeExpr),
+    -- | Specifies the identities requesting access for a Cloud Platform resource. @members@ can have the following values:
+    --
+    -- -   @allUsers@: A special identifier that represents anyone who is on the internet; with or without a Google account.
+    --
+    -- -   @allAuthenticatedUsers@: A special identifier that represents anyone who is authenticated with a Google account or a service account.
+    --
+    -- -   @user:{emailid}@: An email address that represents a specific Google account. For example, @alice\@example.com@ .
+    --
+    -- -   @serviceAccount:{emailid}@: An email address that represents a service account. For example, @my-other-app\@appspot.gserviceaccount.com@.
+    --
+    -- -   @group:{emailid}@: An email address that represents a Google group. For example, @admins\@example.com@.
+    --
+    -- -   @deleted:user:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a user that has been recently deleted. For example, @alice\@example.com?uid=123456789012345678901@. If the user is recovered, this value reverts to @user:{emailid}@ and the recovered user retains the role in the binding.
+    --
+    -- -   @deleted:serviceAccount:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, @my-other-app\@appspot.gserviceaccount.com?uid=123456789012345678901@. If the service account is undeleted, this value reverts to @serviceAccount:{emailid}@ and the undeleted service account retains the role in the binding.
+    --
+    -- -   @deleted:group:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, @admins\@example.com?uid=123456789012345678901@. If the group is recovered, this value reverts to @group:{emailid}@ and the recovered group retains the role in the binding.
+    --
+    -- -   @domain:{domain}@: The G Suite domain (primary) that represents all the users of that domain. For example, @google.com@ or @example.com@.
+    members :: (Core.Maybe [Core.Text]),
+    -- | Role that is assigned to @members@. For example, @roles\/viewer@, @roles\/editor@, or @roles\/owner@.
+    role' :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1Binding' with the minimum fields required to make a request.
+newGoogleIamV1Binding ::
+  GoogleIamV1Binding
+newGoogleIamV1Binding =
+  GoogleIamV1Binding
+    { condition = Core.Nothing,
+      members = Core.Nothing,
+      role' = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleIamV1Binding where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1Binding"
+      ( \o ->
+          GoogleIamV1Binding
+            Core.<$> (o Core..:? "condition")
+            Core.<*> (o Core..:? "members")
+            Core.<*> (o Core..:? "role")
+      )
+
+instance Core.ToJSON GoogleIamV1Binding where
+  toJSON GoogleIamV1Binding {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("condition" Core..=) Core.<$> condition,
+            ("members" Core..=) Core.<$> members,
+            ("role" Core..=) Core.<$> role'
+          ]
+      )
+
+-- | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.
+--
+-- A @Policy@ is a collection of @bindings@. A @binding@ binds one or more @members@ to a single @role@. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A @role@ is a named list of permissions; each @role@ can be an IAM predefined role or a user-created custom role.
+--
+-- Optionally, a @binding@ can specify a @condition@, which is a logical expression that allows access to a resource only if the expression evaluates to @true@. A condition can add constraints based on attributes of the request, the resource, or both.
+--
+-- __JSON example:__
+--
+-- > {
+-- >   "bindings": [
+-- >     {
+-- >       "role": "roles/resourcemanager.organizationAdmin",
+-- >       "members": [
+-- >         "user:mike@example.com",
+-- >         "group:admins@example.com",
+-- >         "domain:google.com",
+-- >         "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+-- >       ]
+-- >     },
+-- >     {
+-- >       "role": "roles/resourcemanager.organizationViewer",
+-- >       "members": ["user:eve@example.com"],
+-- >       "condition": {
+-- >         "title": "expirable access",
+-- >         "description": "Does not grant access after Sep 2020",
+-- >         "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+-- >       }
+-- >     }
+-- >   ],
+-- >   "etag": "BwWWja0YfJA=",
+-- >   "version": 3
+-- > }
+--
+-- __YAML example:__
+--
+-- > bindings:
+-- > - members:
+-- >   - user:mike@example.com
+-- >   - group:admins@example.com
+-- >   - domain:google.com
+-- >   - serviceAccount:my-project-id@appspot.gserviceaccount.com
+-- >   role: roles/resourcemanager.organizationAdmin
+-- > - members:
+-- >   - user:eve@example.com
+-- >   role: roles/resourcemanager.organizationViewer
+-- >   condition:
+-- >     title: expirable access
+-- >     description: Does not grant access after Sep 2020
+-- >     expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+-- > - etag: BwWWja0YfJA=
+-- > - version: 3
+--
+-- For a description of IAM and its features, see the <https://cloud.google.com/iam/docs/ IAM documentation>.
+--
+-- /See:/ 'newGoogleIamV1Policy' smart constructor.
+data GoogleIamV1Policy = GoogleIamV1Policy
+  { -- | Specifies cloud audit logging configuration for this policy.
+    auditConfigs :: (Core.Maybe [GoogleIamV1AuditConfig]),
+    -- | Associates a list of @members@ to a @role@. Optionally, may specify a @condition@ that determines how and when the @bindings@ are applied. Each of the @bindings@ must contain at least one member.
+    bindings :: (Core.Maybe [GoogleIamV1Binding]),
+    -- | @etag@ is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the @etag@ in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An @etag@ is returned in the response to @getIamPolicy@, and systems are expected to put that etag in the request to @setIamPolicy@ to ensure that their change will be applied to the same version of the policy.
+    --
+    -- __Important:__ If you use IAM Conditions, you must include the @etag@ field whenever you call @setIamPolicy@. If you omit this field, then IAM allows you to overwrite a version @3@ policy with a version @1@ policy, and all of the conditions in the version @3@ policy are lost.
+    etag :: (Core.Maybe Core.Base64),
+    -- | Specifies the format of the policy.
+    --
+    -- Valid values are @0@, @1@, and @3@. Requests that specify an invalid value are rejected.
+    --
+    -- Any operation that affects conditional role bindings must specify version @3@. This requirement applies to the following operations:
+    --
+    -- -   Getting a policy that includes a conditional role binding
+    -- -   Adding a conditional role binding to a policy
+    -- -   Changing a conditional role binding in a policy
+    -- -   Removing any role binding, with or without a condition, from a policy that includes conditions
+    --
+    -- __Important:__ If you use IAM Conditions, you must include the @etag@ field whenever you call @setIamPolicy@. If you omit this field, then IAM allows you to overwrite a version @3@ policy with a version @1@ policy, and all of the conditions in the version @3@ policy are lost.
+    --
+    -- If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.
+    version :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1Policy' with the minimum fields required to make a request.
+newGoogleIamV1Policy ::
+  GoogleIamV1Policy
+newGoogleIamV1Policy =
+  GoogleIamV1Policy
+    { auditConfigs = Core.Nothing,
+      bindings = Core.Nothing,
+      etag = Core.Nothing,
+      version = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleIamV1Policy where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1Policy"
+      ( \o ->
+          GoogleIamV1Policy
+            Core.<$> (o Core..:? "auditConfigs")
+            Core.<*> (o Core..:? "bindings")
+            Core.<*> (o Core..:? "etag")
+            Core.<*> (o Core..:? "version")
+      )
+
+instance Core.ToJSON GoogleIamV1Policy where
+  toJSON GoogleIamV1Policy {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("auditConfigs" Core..=) Core.<$> auditConfigs,
+            ("bindings" Core..=) Core.<$> bindings,
+            ("etag" Core..=) Core.<$> etag,
+            ("version" Core..=) Core.<$> version
+          ]
+      )
+
+-- | Request message for @SetIamPolicy@ method.
+--
+-- /See:/ 'newGoogleIamV1SetIamPolicyRequest' smart constructor.
+data GoogleIamV1SetIamPolicyRequest = GoogleIamV1SetIamPolicyRequest
+  { -- | REQUIRED: The complete policy to be applied to the @resource@. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    policy :: (Core.Maybe GoogleIamV1Policy),
+    -- | OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: paths: \"bindings, etag\" This field is only used by Cloud IAM.
+    updateMask :: (Core.Maybe Core.FieldMask)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1SetIamPolicyRequest' with the minimum fields required to make a request.
+newGoogleIamV1SetIamPolicyRequest ::
+  GoogleIamV1SetIamPolicyRequest
+newGoogleIamV1SetIamPolicyRequest =
+  GoogleIamV1SetIamPolicyRequest
+    { policy = Core.Nothing,
+      updateMask = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleIamV1SetIamPolicyRequest where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1SetIamPolicyRequest"
+      ( \o ->
+          GoogleIamV1SetIamPolicyRequest
+            Core.<$> (o Core..:? "policy")
+            Core.<*> (o Core..:? "updateMask")
+      )
+
+instance Core.ToJSON GoogleIamV1SetIamPolicyRequest where
+  toJSON GoogleIamV1SetIamPolicyRequest {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("policy" Core..=) Core.<$> policy,
+            ("updateMask" Core..=) Core.<$> updateMask
+          ]
+      )
+
+-- | Request message for @TestIamPermissions@ method.
+--
+-- /See:/ 'newGoogleIamV1TestIamPermissionsRequest' smart constructor.
+newtype GoogleIamV1TestIamPermissionsRequest = GoogleIamV1TestIamPermissionsRequest
+  { -- | The set of permissions to check for the @resource@. Permissions with wildcards (such as \'/\' or \'storage./\') are not allowed. For more information see <https://cloud.google.com/iam/docs/overview#permissions IAM Overview>.
+    permissions :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1TestIamPermissionsRequest' with the minimum fields required to make a request.
+newGoogleIamV1TestIamPermissionsRequest ::
+  GoogleIamV1TestIamPermissionsRequest
+newGoogleIamV1TestIamPermissionsRequest =
+  GoogleIamV1TestIamPermissionsRequest {permissions = Core.Nothing}
+
+instance Core.FromJSON GoogleIamV1TestIamPermissionsRequest where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1TestIamPermissionsRequest"
+      ( \o ->
+          GoogleIamV1TestIamPermissionsRequest
+            Core.<$> (o Core..:? "permissions")
+      )
+
+instance Core.ToJSON GoogleIamV1TestIamPermissionsRequest where
+  toJSON GoogleIamV1TestIamPermissionsRequest {..} =
+    Core.object
+      (Core.catMaybes [("permissions" Core..=) Core.<$> permissions])
+
+-- | Response message for @TestIamPermissions@ method.
+--
+-- /See:/ 'newGoogleIamV1TestIamPermissionsResponse' smart constructor.
+newtype GoogleIamV1TestIamPermissionsResponse = GoogleIamV1TestIamPermissionsResponse
+  { -- | A subset of @TestPermissionsRequest.permissions@ that the caller is allowed.
+    permissions :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleIamV1TestIamPermissionsResponse' with the minimum fields required to make a request.
+newGoogleIamV1TestIamPermissionsResponse ::
+  GoogleIamV1TestIamPermissionsResponse
+newGoogleIamV1TestIamPermissionsResponse =
+  GoogleIamV1TestIamPermissionsResponse {permissions = Core.Nothing}
+
+instance Core.FromJSON GoogleIamV1TestIamPermissionsResponse where
+  parseJSON =
+    Core.withObject
+      "GoogleIamV1TestIamPermissionsResponse"
+      ( \o ->
+          GoogleIamV1TestIamPermissionsResponse
+            Core.<$> (o Core..:? "permissions")
+      )
+
+instance Core.ToJSON GoogleIamV1TestIamPermissionsResponse where
+  toJSON GoogleIamV1TestIamPermissionsResponse {..} =
+    Core.object
+      (Core.catMaybes [("permissions" Core..=) Core.<$> permissions])
+
+-- | The request message for Operations.CancelOperation.
+--
+-- /See:/ 'newGoogleLongrunningCancelOperationRequest' smart constructor.
+data GoogleLongrunningCancelOperationRequest = GoogleLongrunningCancelOperationRequest
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleLongrunningCancelOperationRequest' with the minimum fields required to make a request.
+newGoogleLongrunningCancelOperationRequest ::
+  GoogleLongrunningCancelOperationRequest
+newGoogleLongrunningCancelOperationRequest =
+  GoogleLongrunningCancelOperationRequest
+
+instance Core.FromJSON GoogleLongrunningCancelOperationRequest where
+  parseJSON =
+    Core.withObject
+      "GoogleLongrunningCancelOperationRequest"
+      (\o -> Core.pure GoogleLongrunningCancelOperationRequest)
+
+instance Core.ToJSON GoogleLongrunningCancelOperationRequest where
+  toJSON = Core.const Core.emptyObject
+
+-- | The response message for Operations.ListOperations.
+--
+-- /See:/ 'newGoogleLongrunningListOperationsResponse' smart constructor.
+data GoogleLongrunningListOperationsResponse = GoogleLongrunningListOperationsResponse
+  { -- | The standard List next-page token.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | A list of operations that matches the specified filter in the request.
+    operations :: (Core.Maybe [GoogleLongrunningOperation])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleLongrunningListOperationsResponse' with the minimum fields required to make a request.
+newGoogleLongrunningListOperationsResponse ::
+  GoogleLongrunningListOperationsResponse
+newGoogleLongrunningListOperationsResponse =
+  GoogleLongrunningListOperationsResponse
+    { nextPageToken =
+        Core.Nothing,
+      operations = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleLongrunningListOperationsResponse where
+  parseJSON =
+    Core.withObject
+      "GoogleLongrunningListOperationsResponse"
+      ( \o ->
+          GoogleLongrunningListOperationsResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "operations")
+      )
+
+instance Core.ToJSON GoogleLongrunningListOperationsResponse where
+  toJSON GoogleLongrunningListOperationsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("operations" Core..=) Core.<$> operations
+          ]
+      )
+
+-- | This resource represents a long-running operation that is the result of a network API call.
+--
+-- /See:/ 'newGoogleLongrunningOperation' smart constructor.
+data GoogleLongrunningOperation = GoogleLongrunningOperation
+  { -- | If the value is @false@, it means the operation is still in progress. If @true@, the operation is completed, and either @error@ or @response@ is available.
+    done :: (Core.Maybe Core.Bool),
+    -- | The error result of the operation in case of failure or cancellation.
+    error :: (Core.Maybe GoogleRpcStatus),
+    -- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    metadata :: (Core.Maybe GoogleLongrunningOperation_Metadata),
+    -- | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the @name@ should be a resource name ending with @operations\/{unique_id}@.
+    name :: (Core.Maybe Core.Text),
+    -- | The normal response of the operation in case of success. If the original method returns no data on success, such as @Delete@, the response is @google.protobuf.Empty@. If the original method is standard @Get@\/@Create@\/@Update@, the response should be the resource. For other methods, the response should have the type @XxxResponse@, where @Xxx@ is the original method name. For example, if the original method name is @TakeSnapshot()@, the inferred response type is @TakeSnapshotResponse@.
+    response :: (Core.Maybe GoogleLongrunningOperation_Response)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleLongrunningOperation' with the minimum fields required to make a request.
+newGoogleLongrunningOperation ::
+  GoogleLongrunningOperation
+newGoogleLongrunningOperation =
+  GoogleLongrunningOperation
+    { done = Core.Nothing,
+      error = Core.Nothing,
+      metadata = Core.Nothing,
+      name = Core.Nothing,
+      response = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleLongrunningOperation where
+  parseJSON =
+    Core.withObject
+      "GoogleLongrunningOperation"
+      ( \o ->
+          GoogleLongrunningOperation
+            Core.<$> (o Core..:? "done")
+            Core.<*> (o Core..:? "error")
+            Core.<*> (o Core..:? "metadata")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "response")
+      )
+
+instance Core.ToJSON GoogleLongrunningOperation where
+  toJSON GoogleLongrunningOperation {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("done" Core..=) Core.<$> done,
+            ("error" Core..=) Core.<$> error,
+            ("metadata" Core..=) Core.<$> metadata,
+            ("name" Core..=) Core.<$> name,
+            ("response" Core..=) Core.<$> response
+          ]
+      )
+
+-- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+--
+-- /See:/ 'newGoogleLongrunningOperation_Metadata' smart constructor.
+newtype GoogleLongrunningOperation_Metadata = GoogleLongrunningOperation_Metadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleLongrunningOperation_Metadata' with the minimum fields required to make a request.
+newGoogleLongrunningOperation_Metadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleLongrunningOperation_Metadata
+newGoogleLongrunningOperation_Metadata additional =
+  GoogleLongrunningOperation_Metadata {additional = additional}
+
+instance Core.FromJSON GoogleLongrunningOperation_Metadata where
+  parseJSON =
+    Core.withObject
+      "GoogleLongrunningOperation_Metadata"
+      ( \o ->
+          GoogleLongrunningOperation_Metadata
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON GoogleLongrunningOperation_Metadata where
+  toJSON GoogleLongrunningOperation_Metadata {..} =
+    Core.toJSON additional
+
+-- | The normal response of the operation in case of success. If the original method returns no data on success, such as @Delete@, the response is @google.protobuf.Empty@. If the original method is standard @Get@\/@Create@\/@Update@, the response should be the resource. For other methods, the response should have the type @XxxResponse@, where @Xxx@ is the original method name. For example, if the original method name is @TakeSnapshot()@, the inferred response type is @TakeSnapshotResponse@.
+--
+-- /See:/ 'newGoogleLongrunningOperation_Response' smart constructor.
+newtype GoogleLongrunningOperation_Response = GoogleLongrunningOperation_Response
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleLongrunningOperation_Response' with the minimum fields required to make a request.
+newGoogleLongrunningOperation_Response ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleLongrunningOperation_Response
+newGoogleLongrunningOperation_Response additional =
+  GoogleLongrunningOperation_Response {additional = additional}
+
+instance Core.FromJSON GoogleLongrunningOperation_Response where
+  parseJSON =
+    Core.withObject
+      "GoogleLongrunningOperation_Response"
+      ( \o ->
+          GoogleLongrunningOperation_Response
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON GoogleLongrunningOperation_Response where
+  toJSON GoogleLongrunningOperation_Response {..} =
+    Core.toJSON additional
+
+-- | A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:
+--
+-- > service Foo {
+-- >   rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+-- > }
+--
+-- The JSON representation for @Empty@ is empty JSON object @{}@.
+--
+-- /See:/ 'newGoogleProtobufEmpty' smart constructor.
+data GoogleProtobufEmpty = GoogleProtobufEmpty
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleProtobufEmpty' with the minimum fields required to make a request.
+newGoogleProtobufEmpty ::
+  GoogleProtobufEmpty
+newGoogleProtobufEmpty = GoogleProtobufEmpty
+
+instance Core.FromJSON GoogleProtobufEmpty where
+  parseJSON =
+    Core.withObject
+      "GoogleProtobufEmpty"
+      (\o -> Core.pure GoogleProtobufEmpty)
+
+instance Core.ToJSON GoogleProtobufEmpty where
+  toJSON = Core.const Core.emptyObject
+
+-- | The @Status@ type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by <https://github.com/grpc gRPC>. Each @Status@ message contains three pieces of data: error code, error message, and error details.
+--
+-- You can find out more about this error model and how to work with it in the <https://cloud.google.com/apis/design/errors API Design Guide>.
+--
+-- /See:/ 'newGoogleRpcStatus' smart constructor.
+data GoogleRpcStatus = GoogleRpcStatus
+  { -- | The status code, which should be an enum value of google.rpc.Code.
+    code :: (Core.Maybe Core.Int32),
+    -- | A list of messages that carry the error details. There is a common set of message types for APIs to use.
+    details :: (Core.Maybe [GoogleRpcStatus_DetailsItem]),
+    -- | A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+    message :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleRpcStatus' with the minimum fields required to make a request.
+newGoogleRpcStatus ::
+  GoogleRpcStatus
+newGoogleRpcStatus =
+  GoogleRpcStatus
+    { code = Core.Nothing,
+      details = Core.Nothing,
+      message = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleRpcStatus where
+  parseJSON =
+    Core.withObject
+      "GoogleRpcStatus"
+      ( \o ->
+          GoogleRpcStatus
+            Core.<$> (o Core..:? "code")
+            Core.<*> (o Core..:? "details")
+            Core.<*> (o Core..:? "message")
+      )
+
+instance Core.ToJSON GoogleRpcStatus where
+  toJSON GoogleRpcStatus {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("code" Core..=) Core.<$> code,
+            ("details" Core..=) Core.<$> details,
+            ("message" Core..=) Core.<$> message
+          ]
+      )
+
+--
+-- /See:/ 'newGoogleRpcStatus_DetailsItem' smart constructor.
+newtype GoogleRpcStatus_DetailsItem = GoogleRpcStatus_DetailsItem
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleRpcStatus_DetailsItem' with the minimum fields required to make a request.
+newGoogleRpcStatus_DetailsItem ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  GoogleRpcStatus_DetailsItem
+newGoogleRpcStatus_DetailsItem additional =
+  GoogleRpcStatus_DetailsItem {additional = additional}
+
+instance Core.FromJSON GoogleRpcStatus_DetailsItem where
+  parseJSON =
+    Core.withObject
+      "GoogleRpcStatus_DetailsItem"
+      ( \o ->
+          GoogleRpcStatus_DetailsItem Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON GoogleRpcStatus_DetailsItem where
+  toJSON GoogleRpcStatus_DetailsItem {..} = Core.toJSON additional
+
+-- | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https:\/\/github.com\/google\/cel-spec.
+--
+-- Example (Comparison):
+--
+-- > title: "Summary size limit"
+-- > description: "Determines if a summary is less than 100 chars"
+-- > expression: "document.summary.size() < 100"
+--
+-- Example (Equality):
+--
+-- > title: "Requestor is owner"
+-- > description: "Determines if requestor is the document owner"
+-- > expression: "document.owner == request.auth.claims.email"
+--
+-- Example (Logic):
+--
+-- > title: "Public documents"
+-- > description: "Determine whether the document should be publicly visible"
+-- > expression: "document.type != 'private' && document.type != 'internal'"
+--
+-- Example (Data Manipulation):
+--
+-- > title: "Notification string"
+-- > description: "Create a notification string with a timestamp."
+-- > expression: "'New message received at ' + string(document.create_time)"
+--
+-- The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
+--
+-- /See:/ 'newGoogleTypeExpr' smart constructor.
+data GoogleTypeExpr = GoogleTypeExpr
+  { -- | Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+    description :: (Core.Maybe Core.Text),
+    -- | Textual representation of an expression in Common Expression Language syntax.
+    expression :: (Core.Maybe Core.Text),
+    -- | Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+    location :: (Core.Maybe Core.Text),
+    -- | Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+    title :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleTypeExpr' with the minimum fields required to make a request.
+newGoogleTypeExpr ::
+  GoogleTypeExpr
+newGoogleTypeExpr =
+  GoogleTypeExpr
+    { description = Core.Nothing,
+      expression = Core.Nothing,
+      location = Core.Nothing,
+      title = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleTypeExpr where
+  parseJSON =
+    Core.withObject
+      "GoogleTypeExpr"
+      ( \o ->
+          GoogleTypeExpr
+            Core.<$> (o Core..:? "description")
+            Core.<*> (o Core..:? "expression")
+            Core.<*> (o Core..:? "location")
+            Core.<*> (o Core..:? "title")
+      )
+
+instance Core.ToJSON GoogleTypeExpr where
+  toJSON GoogleTypeExpr {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("description" Core..=) Core.<$> description,
+            ("expression" Core..=) Core.<$> expression,
+            ("location" Core..=) Core.<$> location,
+            ("title" Core..=) Core.<$> title
+          ]
+      )
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Internal/Sum.hs b/gen/Gogol/CloudPrivateCatalogProducer/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Internal/Sum.hs
@@ -0,0 +1,109 @@
+{-# 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.Internal.Sum
+-- 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)
+module Gogol.CloudPrivateCatalogProducer.Internal.Sum
+  ( -- * Xgafv
+    Xgafv
+      ( Xgafv_1,
+        Xgafv_2,
+        ..
+      ),
+
+    -- * GoogleIamV1AuditLogConfig_LogType
+    GoogleIamV1AuditLogConfig_LogType
+      ( GoogleIamV1AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,
+        GoogleIamV1AuditLogConfig_LogType_ADMINREAD,
+        GoogleIamV1AuditLogConfig_LogType_DATAWRITE,
+        GoogleIamV1AuditLogConfig_LogType_DATAREAD,
+        ..
+      ),
+  )
+where
+
+import Gogol.Prelude qualified as Core
+
+-- | V1 error format.
+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | v1 error format
+pattern Xgafv_1 :: Xgafv
+pattern Xgafv_1 = Xgafv "1"
+
+-- | v2 error format
+pattern Xgafv_2 :: Xgafv
+pattern Xgafv_2 = Xgafv "2"
+
+{-# COMPLETE
+  Xgafv_1,
+  Xgafv_2,
+  Xgafv
+  #-}
+
+-- | The log type that this config enables.
+newtype GoogleIamV1AuditLogConfig_LogType = GoogleIamV1AuditLogConfig_LogType {fromGoogleIamV1AuditLogConfig_LogType :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Default case. Should never be this.
+pattern GoogleIamV1AuditLogConfig_LogType_LOGTYPEUNSPECIFIED :: GoogleIamV1AuditLogConfig_LogType
+pattern GoogleIamV1AuditLogConfig_LogType_LOGTYPEUNSPECIFIED = GoogleIamV1AuditLogConfig_LogType "LOG_TYPE_UNSPECIFIED"
+
+-- | Admin reads. Example: CloudIAM getIamPolicy
+pattern GoogleIamV1AuditLogConfig_LogType_ADMINREAD :: GoogleIamV1AuditLogConfig_LogType
+pattern GoogleIamV1AuditLogConfig_LogType_ADMINREAD = GoogleIamV1AuditLogConfig_LogType "ADMIN_READ"
+
+-- | Data writes. Example: CloudSQL Users create
+pattern GoogleIamV1AuditLogConfig_LogType_DATAWRITE :: GoogleIamV1AuditLogConfig_LogType
+pattern GoogleIamV1AuditLogConfig_LogType_DATAWRITE = GoogleIamV1AuditLogConfig_LogType "DATA_WRITE"
+
+-- | Data reads. Example: CloudSQL Users list
+pattern GoogleIamV1AuditLogConfig_LogType_DATAREAD :: GoogleIamV1AuditLogConfig_LogType
+pattern GoogleIamV1AuditLogConfig_LogType_DATAREAD = GoogleIamV1AuditLogConfig_LogType "DATA_READ"
+
+{-# COMPLETE
+  GoogleIamV1AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,
+  GoogleIamV1AuditLogConfig_LogType_ADMINREAD,
+  GoogleIamV1AuditLogConfig_LogType_DATAWRITE,
+  GoogleIamV1AuditLogConfig_LogType_DATAREAD,
+  GoogleIamV1AuditLogConfig_LogType
+  #-}
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Operations/Cancel.hs b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Cancel.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Cancel.hs
@@ -0,0 +1,123 @@
+{-# 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.Operations.Cancel
+-- 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)
+--
+-- Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn\'t support this method, it returns @google.rpc.Code.UNIMPLEMENTED@. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to @Code.CANCELLED@.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.cancel@.
+module Gogol.CloudPrivateCatalogProducer.Operations.Cancel
+  ( -- * Resource
+    CloudPrivateCatalogProducerOperationsCancelResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerOperationsCancel (..),
+    newCloudPrivateCatalogProducerOperationsCancel,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.operations.cancel@ method which the
+-- 'CloudPrivateCatalogProducerOperationsCancel' request conforms to.
+type CloudPrivateCatalogProducerOperationsCancelResource =
+  "v1beta1"
+    Core.:> Core.CaptureMode "name" "cancel" 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] GoogleLongrunningCancelOperationRequest
+    Core.:> Core.Post '[Core.JSON] GoogleProtobufEmpty
+
+-- | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn\'t support this method, it returns @google.rpc.Code.UNIMPLEMENTED@. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to @Code.CANCELLED@.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerOperationsCancel' smart constructor.
+data CloudPrivateCatalogProducerOperationsCancel = CloudPrivateCatalogProducerOperationsCancel
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The name of the operation resource to be cancelled.
+    name :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: GoogleLongrunningCancelOperationRequest,
+    -- | 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 'CloudPrivateCatalogProducerOperationsCancel' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerOperationsCancel ::
+  -- |  The name of the operation resource to be cancelled. See 'name'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  GoogleLongrunningCancelOperationRequest ->
+  CloudPrivateCatalogProducerOperationsCancel
+newCloudPrivateCatalogProducerOperationsCancel name payload =
+  CloudPrivateCatalogProducerOperationsCancel
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerOperationsCancel
+  where
+  type
+    Rs CloudPrivateCatalogProducerOperationsCancel =
+      GoogleProtobufEmpty
+  type
+    Scopes CloudPrivateCatalogProducerOperationsCancel =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerOperationsCancel {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerOperationsCancelResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Operations/Delete.hs b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Delete.hs
@@ -0,0 +1,116 @@
+{-# 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.Operations.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)
+--
+-- Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn\'t support this method, it returns @google.rpc.Code.UNIMPLEMENTED@.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.delete@.
+module Gogol.CloudPrivateCatalogProducer.Operations.Delete
+  ( -- * Resource
+    CloudPrivateCatalogProducerOperationsDeleteResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerOperationsDelete (..),
+    newCloudPrivateCatalogProducerOperationsDelete,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.operations.delete@ method which the
+-- 'CloudPrivateCatalogProducerOperationsDelete' request conforms to.
+type CloudPrivateCatalogProducerOperationsDeleteResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] GoogleProtobufEmpty
+
+-- | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn\'t support this method, it returns @google.rpc.Code.UNIMPLEMENTED@.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerOperationsDelete' smart constructor.
+data CloudPrivateCatalogProducerOperationsDelete = CloudPrivateCatalogProducerOperationsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The name of the operation resource to be deleted.
+    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 'CloudPrivateCatalogProducerOperationsDelete' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerOperationsDelete ::
+  -- |  The name of the operation resource to be deleted. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerOperationsDelete
+newCloudPrivateCatalogProducerOperationsDelete name =
+  CloudPrivateCatalogProducerOperationsDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerOperationsDelete
+  where
+  type
+    Rs CloudPrivateCatalogProducerOperationsDelete =
+      GoogleProtobufEmpty
+  type
+    Scopes CloudPrivateCatalogProducerOperationsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerOperationsDelete {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerOperationsDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Operations/Get.hs b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Operations/Get.hs
@@ -0,0 +1,116 @@
+{-# 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.Operations.Get
+-- 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)
+--
+-- Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.get@.
+module Gogol.CloudPrivateCatalogProducer.Operations.Get
+  ( -- * Resource
+    CloudPrivateCatalogProducerOperationsGetResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerOperationsGet (..),
+    newCloudPrivateCatalogProducerOperationsGet,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.operations.get@ method which the
+-- 'CloudPrivateCatalogProducerOperationsGet' request conforms to.
+type CloudPrivateCatalogProducerOperationsGetResource =
+  "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 "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] GoogleLongrunningOperation
+
+-- | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerOperationsGet' smart constructor.
+data CloudPrivateCatalogProducerOperationsGet = CloudPrivateCatalogProducerOperationsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The name of the operation resource.
+    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 'CloudPrivateCatalogProducerOperationsGet' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerOperationsGet ::
+  -- |  The name of the operation resource. See 'name'.
+  Core.Text ->
+  CloudPrivateCatalogProducerOperationsGet
+newCloudPrivateCatalogProducerOperationsGet name =
+  CloudPrivateCatalogProducerOperationsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      name = name,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerOperationsGet
+  where
+  type
+    Rs CloudPrivateCatalogProducerOperationsGet =
+      GoogleLongrunningOperation
+  type
+    Scopes CloudPrivateCatalogProducerOperationsGet =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerOperationsGet {..} =
+    go
+      name
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerOperationsGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Operations/List.hs b/gen/Gogol/CloudPrivateCatalogProducer/Operations/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Operations/List.hs
@@ -0,0 +1,134 @@
+{-# 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.Operations.List
+-- 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)
+--
+-- Lists operations that match the specified filter in the request. If the server doesn\'t support this method, it returns @UNIMPLEMENTED@.
+--
+-- NOTE: the @name@ binding allows API services to override the binding to use different resource name schemes, such as @users\/*\/operations@. To override the binding, API services can add a binding such as @\"\/v1\/{name=users\/*}\/operations\"@ to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
+--
+-- /See:/ <https://cloud.google.com/private-catalog/ Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.list@.
+module Gogol.CloudPrivateCatalogProducer.Operations.List
+  ( -- * Resource
+    CloudPrivateCatalogProducerOperationsListResource,
+
+    -- ** Constructing a Request
+    CloudPrivateCatalogProducerOperationsList (..),
+    newCloudPrivateCatalogProducerOperationsList,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @cloudprivatecatalogproducer.operations.list@ method which the
+-- 'CloudPrivateCatalogProducerOperationsList' request conforms to.
+type CloudPrivateCatalogProducerOperationsListResource =
+  "v1beta1"
+    Core.:> "operations"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "filter" Core.Text
+    Core.:> Core.QueryParam "name" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] GoogleLongrunningListOperationsResponse
+
+-- | Lists operations that match the specified filter in the request. If the server doesn\'t support this method, it returns @UNIMPLEMENTED@.
+--
+-- NOTE: the @name@ binding allows API services to override the binding to use different resource name schemes, such as @users\/*\/operations@. To override the binding, API services can add a binding such as @\"\/v1\/{name=users\/*}\/operations\"@ to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
+--
+-- /See:/ 'newCloudPrivateCatalogProducerOperationsList' smart constructor.
+data CloudPrivateCatalogProducerOperationsList = CloudPrivateCatalogProducerOperationsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The standard list filter.
+    filter :: (Core.Maybe Core.Text),
+    -- | The name of the operation\'s parent resource.
+    name :: (Core.Maybe Core.Text),
+    -- | The standard list page size.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | The standard list page token.
+    pageToken :: (Core.Maybe 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 'CloudPrivateCatalogProducerOperationsList' with the minimum fields required to make a request.
+newCloudPrivateCatalogProducerOperationsList ::
+  CloudPrivateCatalogProducerOperationsList
+newCloudPrivateCatalogProducerOperationsList =
+  CloudPrivateCatalogProducerOperationsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      filter = Core.Nothing,
+      name = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    CloudPrivateCatalogProducerOperationsList
+  where
+  type
+    Rs CloudPrivateCatalogProducerOperationsList =
+      GoogleLongrunningListOperationsResponse
+  type
+    Scopes CloudPrivateCatalogProducerOperationsList =
+      '[CloudPlatform'FullControl]
+  requestClient CloudPrivateCatalogProducerOperationsList {..} =
+    go
+      xgafv
+      accessToken
+      callback
+      filter
+      name
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      cloudPrivateCatalogProducerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy CloudPrivateCatalogProducerOperationsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/CloudPrivateCatalogProducer/Types.hs b/gen/Gogol/CloudPrivateCatalogProducer/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/CloudPrivateCatalogProducer/Types.hs
@@ -0,0 +1,180 @@
+{-# 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.Types
+-- 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)
+module Gogol.CloudPrivateCatalogProducer.Types
+  ( -- * Configuration
+    cloudPrivateCatalogProducerService,
+
+    -- * OAuth Scopes
+    CloudPlatform'FullControl,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Association
+    GoogleCloudPrivatecatalogproducerV1beta1Association (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Association,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Catalog
+    GoogleCloudPrivatecatalogproducerV1beta1Catalog (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Catalog,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
+    GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
+    GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Product
+    GoogleCloudPrivatecatalogproducerV1beta1Product (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata
+    GoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Product_DisplayMetadata,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
+    GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version
+    GoogleCloudPrivatecatalogproducerV1beta1Version (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version_Asset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_Asset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_Asset,
+
+    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset
+    GoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset (..),
+    newGoogleCloudPrivatecatalogproducerV1beta1Version_OriginalAsset,
+
+    -- ** GoogleIamV1AuditConfig
+    GoogleIamV1AuditConfig (..),
+    newGoogleIamV1AuditConfig,
+
+    -- ** GoogleIamV1AuditLogConfig
+    GoogleIamV1AuditLogConfig (..),
+    newGoogleIamV1AuditLogConfig,
+
+    -- ** GoogleIamV1AuditLogConfig_LogType
+    GoogleIamV1AuditLogConfig_LogType (..),
+
+    -- ** GoogleIamV1Binding
+    GoogleIamV1Binding (..),
+    newGoogleIamV1Binding,
+
+    -- ** GoogleIamV1Policy
+    GoogleIamV1Policy (..),
+    newGoogleIamV1Policy,
+
+    -- ** GoogleIamV1SetIamPolicyRequest
+    GoogleIamV1SetIamPolicyRequest (..),
+    newGoogleIamV1SetIamPolicyRequest,
+
+    -- ** GoogleIamV1TestIamPermissionsRequest
+    GoogleIamV1TestIamPermissionsRequest (..),
+    newGoogleIamV1TestIamPermissionsRequest,
+
+    -- ** GoogleIamV1TestIamPermissionsResponse
+    GoogleIamV1TestIamPermissionsResponse (..),
+    newGoogleIamV1TestIamPermissionsResponse,
+
+    -- ** GoogleLongrunningCancelOperationRequest
+    GoogleLongrunningCancelOperationRequest (..),
+    newGoogleLongrunningCancelOperationRequest,
+
+    -- ** GoogleLongrunningListOperationsResponse
+    GoogleLongrunningListOperationsResponse (..),
+    newGoogleLongrunningListOperationsResponse,
+
+    -- ** GoogleLongrunningOperation
+    GoogleLongrunningOperation (..),
+    newGoogleLongrunningOperation,
+
+    -- ** GoogleLongrunningOperation_Metadata
+    GoogleLongrunningOperation_Metadata (..),
+    newGoogleLongrunningOperation_Metadata,
+
+    -- ** GoogleLongrunningOperation_Response
+    GoogleLongrunningOperation_Response (..),
+    newGoogleLongrunningOperation_Response,
+
+    -- ** GoogleProtobufEmpty
+    GoogleProtobufEmpty (..),
+    newGoogleProtobufEmpty,
+
+    -- ** GoogleRpcStatus
+    GoogleRpcStatus (..),
+    newGoogleRpcStatus,
+
+    -- ** GoogleRpcStatus_DetailsItem
+    GoogleRpcStatus_DetailsItem (..),
+    newGoogleRpcStatus_DetailsItem,
+
+    -- ** GoogleTypeExpr
+    GoogleTypeExpr (..),
+    newGoogleTypeExpr,
+  )
+where
+
+import Gogol.CloudPrivateCatalogProducer.Internal.Product
+import Gogol.CloudPrivateCatalogProducer.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v1beta1@ of the Cloud Private Catalog Producer API. This contains the host and root path used as a starting point for constructing service requests.
+cloudPrivateCatalogProducerService :: Core.ServiceConfig
+cloudPrivateCatalogProducerService =
+  Core.defaultService
+    (Core.ServiceId "cloudprivatecatalogproducer:v1beta1")
+    "cloudprivatecatalogproducer.googleapis.com"
+
+-- | View and manage your data across Google Cloud Platform services
+type CloudPlatform'FullControl =
+  "https://www.googleapis.com/auth/cloud-platform"
diff --git a/gen/Network/Google/CloudPrivateCatalogProducer.hs b/gen/Network/Google/CloudPrivateCatalogProducer.hs
deleted file mode 100644
--- a/gen/Network/Google/CloudPrivateCatalogProducer.hs
+++ /dev/null
@@ -1,386 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.CloudPrivateCatalogProducer
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Enables cloud users to manage and share enterprise catalogs intheir
--- organizations.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference>
-module Network.Google.CloudPrivateCatalogProducer
-    (
-    -- * Service Configuration
-      cloudPrivateCatalogProducerService
-
-    -- * OAuth Scopes
-    , cloudPlatformScope
-
-    -- * API Declaration
-    , CloudPrivateCatalogProducerAPI
-
-    -- * Resources
-
-    -- ** cloudprivatecatalogproducer.catalogs.associations.create
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Create
-
-    -- ** cloudprivatecatalogproducer.catalogs.associations.delete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
-
-    -- ** cloudprivatecatalogproducer.catalogs.associations.get
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Get
-
-    -- ** cloudprivatecatalogproducer.catalogs.associations.list
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.List
-
-    -- ** cloudprivatecatalogproducer.catalogs.create
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Create
-
-    -- ** cloudprivatecatalogproducer.catalogs.delete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Delete
-
-    -- ** cloudprivatecatalogproducer.catalogs.get
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Get
-
-    -- ** cloudprivatecatalogproducer.catalogs.getIamPolicy
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.GetIAMPolicy
-
-    -- ** cloudprivatecatalogproducer.catalogs.list
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.List
-
-    -- ** cloudprivatecatalogproducer.catalogs.patch
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Patch
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.copy
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Copy
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.create
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Create
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.delete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Delete
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.get
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Get
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.icons.upload
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.list
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.List
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.patch
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Patch
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.versions.create
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.versions.delete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.versions.get
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.versions.list
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
-
-    -- ** cloudprivatecatalogproducer.catalogs.products.versions.patch
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
-
-    -- ** cloudprivatecatalogproducer.catalogs.setIamPolicy
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.SetIAMPolicy
-
-    -- ** cloudprivatecatalogproducer.catalogs.testIamPermissions
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.TestIAMPermissions
-
-    -- ** cloudprivatecatalogproducer.catalogs.undelete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Undelete
-
-    -- ** cloudprivatecatalogproducer.operations.cancel
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Cancel
-
-    -- ** cloudprivatecatalogproducer.operations.delete
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Delete
-
-    -- ** cloudprivatecatalogproducer.operations.get
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Get
-
-    -- ** cloudprivatecatalogproducer.operations.list
-    , module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.List
-
-    -- * Types
-
-    -- ** GoogleRpcStatus
-    , GoogleRpcStatus
-    , googleRpcStatus
-    , grsDetails
-    , grsCode
-    , grsMessage
-
-    -- ** GoogleIAMV1AuditLogConfigLogType
-    , GoogleIAMV1AuditLogConfigLogType (..)
-
-    -- ** GoogleLongrunningOperationMetadata
-    , GoogleLongrunningOperationMetadata
-    , googleLongrunningOperationMetadata
-    , glomAddtional
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , gcpvlvrNextPageToken
-    , gcpvlvrVersions
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    , googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-
-    -- ** GoogleIAMV1Binding
-    , GoogleIAMV1Binding
-    , googleIAMV1Binding
-    , givbMembers
-    , givbRole
-    , givbCondition
-
-    -- ** GoogleIAMV1SetIAMPolicyRequest
-    , GoogleIAMV1SetIAMPolicyRequest
-    , googleIAMV1SetIAMPolicyRequest
-    , givsiprUpdateMask
-    , givsiprPolicy
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , gcpvlcrNextPageToken
-    , gcpvlcrCatalogs
-
-    -- ** GoogleProtobufEmpty
-    , GoogleProtobufEmpty
-    , googleProtobufEmpty
-
-    -- ** GoogleRpcStatusDetailsItem
-    , GoogleRpcStatusDetailsItem
-    , googleRpcStatusDetailsItem
-    , grsdiAddtional
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , googleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , gcpvuirIcon
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , gcpvpdmAddtional
-
-    -- ** GoogleLongrunningCancelOperationRequest
-    , GoogleLongrunningCancelOperationRequest
-    , googleLongrunningCancelOperationRequest
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , googleCloudPrivatecatalogproducerV1beta1Catalog
-    , gcpvcParent
-    , gcpvcUpdateTime
-    , gcpvcName
-    , gcpvcDisplayName
-    , gcpvcDescription
-    , gcpvcCreateTime
-
-    -- ** GoogleIAMV1TestIAMPermissionsRequest
-    , GoogleIAMV1TestIAMPermissionsRequest
-    , googleIAMV1TestIAMPermissionsRequest
-    , givtiprPermissions
-
-    -- ** GoogleIAMV1AuditConfig
-    , GoogleIAMV1AuditConfig
-    , googleIAMV1AuditConfig
-    , givacService
-    , givacAuditLogConfigs
-
-    -- ** Xgafv
-    , Xgafv (..)
-
-    -- ** GoogleLongrunningOperationResponse
-    , GoogleLongrunningOperationResponse
-    , googleLongrunningOperationResponse
-    , glorAddtional
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , googleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , gcpvcprDestinationProductName
-
-    -- ** GoogleIAMV1AuditLogConfig
-    , GoogleIAMV1AuditLogConfig
-    , googleIAMV1AuditLogConfig
-    , givalcLogType
-    , givalcExemptedMembers
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1Version
-    , GoogleCloudPrivatecatalogproducerV1beta1Version
-    , googleCloudPrivatecatalogproducerV1beta1Version
-    , gcpvvAsset
-    , gcpvvOriginalAsset
-    , gcpvvUpdateTime
-    , gcpvvName
-    , gcpvvDescription
-    , gcpvvCreateTime
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , googleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , gcpvvaAddtional
-
-    -- ** GoogleLongrunningListOperationsResponse
-    , GoogleLongrunningListOperationsResponse
-    , googleLongrunningListOperationsResponse
-    , gllorNextPageToken
-    , gllorOperations
-
-    -- ** GoogleIAMV1Policy
-    , GoogleIAMV1Policy
-    , googleIAMV1Policy
-    , givpAuditConfigs
-    , givpEtag
-    , givpVersion
-    , givpBindings
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1Association
-    , GoogleCloudPrivatecatalogproducerV1beta1Association
-    , googleCloudPrivatecatalogproducerV1beta1Association
-    , gcpvaName
-    , gcpvaResource
-    , gcpvaCreateTime
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , gcpvlprNextPageToken
-    , gcpvlprProducts
-
-    -- ** GoogleIAMV1TestIAMPermissionsResponse
-    , GoogleIAMV1TestIAMPermissionsResponse
-    , googleIAMV1TestIAMPermissionsResponse
-    , giamvtiamprPermissions
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , gcpvcarAssociation
-
-    -- ** GoogleTypeExpr
-    , GoogleTypeExpr
-    , googleTypeExpr
-    , gteLocation
-    , gteExpression
-    , gteTitle
-    , gteDescription
-
-    -- ** GoogleLongrunningOperation
-    , GoogleLongrunningOperation
-    , googleLongrunningOperation
-    , gloDone
-    , gloError
-    , gloResponse
-    , gloName
-    , gloMetadata
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1Product
-    , GoogleCloudPrivatecatalogproducerV1beta1Product
-    , googleCloudPrivatecatalogproducerV1beta1Product
-    , gcpvpIconURI
-    , gcpvpUpdateTime
-    , gcpvpDisplayMetadata
-    , gcpvpName
-    , gcpvpAssetType
-    , gcpvpCreateTime
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , gcpvvoaAddtional
-
-    -- ** GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , gcpvlarNextPageToken
-    , gcpvlarAssociations
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Create
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Get
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.List
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Create
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Delete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Get
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.GetIAMPolicy
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.List
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Patch
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Copy
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Create
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Delete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Get
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.List
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Patch
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.SetIAMPolicy
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.TestIAMPermissions
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Undelete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Cancel
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Delete
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Get
-import           Network.Google.Resource.CloudPrivateCatalogProducer.Operations.List
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the Cloud Private Catalog Producer API service.
-type CloudPrivateCatalogProducerAPI =
-     CatalogsAssociationsListResource :<|>
-       CatalogsAssociationsGetResource
-       :<|> CatalogsAssociationsCreateResource
-       :<|> CatalogsAssociationsDeleteResource
-       :<|> CatalogsProductsIconsUploadResource
-       :<|> CatalogsProductsVersionsListResource
-       :<|> CatalogsProductsVersionsPatchResource
-       :<|> CatalogsProductsVersionsGetResource
-       :<|> CatalogsProductsVersionsCreateResource
-       :<|> CatalogsProductsVersionsDeleteResource
-       :<|> CatalogsProductsListResource
-       :<|> CatalogsProductsCopyResource
-       :<|> CatalogsProductsPatchResource
-       :<|> CatalogsProductsGetResource
-       :<|> CatalogsProductsCreateResource
-       :<|> CatalogsProductsDeleteResource
-       :<|> CatalogsListResource
-       :<|> CatalogsUndeleteResource
-       :<|> CatalogsGetIAMPolicyResource
-       :<|> CatalogsPatchResource
-       :<|> CatalogsGetResource
-       :<|> CatalogsCreateResource
-       :<|> CatalogsSetIAMPolicyResource
-       :<|> CatalogsTestIAMPermissionsResource
-       :<|> CatalogsDeleteResource
-       :<|> OperationsListResource
-       :<|> OperationsGetResource
-       :<|> OperationsCancelResource
-       :<|> OperationsDeleteResource
diff --git a/gen/Network/Google/CloudPrivateCatalogProducer/Types.hs b/gen/Network/Google/CloudPrivateCatalogProducer/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/CloudPrivateCatalogProducer/Types.hs
+++ /dev/null
@@ -1,236 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.CloudPrivateCatalogProducer.Types
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.Google.CloudPrivateCatalogProducer.Types
-    (
-    -- * Service Configuration
-      cloudPrivateCatalogProducerService
-
-    -- * OAuth Scopes
-    , cloudPlatformScope
-
-    -- * GoogleRpcStatus
-    , GoogleRpcStatus
-    , googleRpcStatus
-    , grsDetails
-    , grsCode
-    , grsMessage
-
-    -- * GoogleIAMV1AuditLogConfigLogType
-    , GoogleIAMV1AuditLogConfigLogType (..)
-
-    -- * GoogleLongrunningOperationMetadata
-    , GoogleLongrunningOperationMetadata
-    , googleLongrunningOperationMetadata
-    , glomAddtional
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    , gcpvlvrNextPageToken
-    , gcpvlvrVersions
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    , googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-
-    -- * GoogleIAMV1Binding
-    , GoogleIAMV1Binding
-    , googleIAMV1Binding
-    , givbMembers
-    , givbRole
-    , givbCondition
-
-    -- * GoogleIAMV1SetIAMPolicyRequest
-    , GoogleIAMV1SetIAMPolicyRequest
-    , googleIAMV1SetIAMPolicyRequest
-    , givsiprUpdateMask
-    , givsiprPolicy
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    , gcpvlcrNextPageToken
-    , gcpvlcrCatalogs
-
-    -- * GoogleProtobufEmpty
-    , GoogleProtobufEmpty
-    , googleProtobufEmpty
-
-    -- * GoogleRpcStatusDetailsItem
-    , GoogleRpcStatusDetailsItem
-    , googleRpcStatusDetailsItem
-    , grsdiAddtional
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , googleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , gcpvuirIcon
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    , gcpvpdmAddtional
-
-    -- * GoogleLongrunningCancelOperationRequest
-    , GoogleLongrunningCancelOperationRequest
-    , googleLongrunningCancelOperationRequest
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , googleCloudPrivatecatalogproducerV1beta1Catalog
-    , gcpvcParent
-    , gcpvcUpdateTime
-    , gcpvcName
-    , gcpvcDisplayName
-    , gcpvcDescription
-    , gcpvcCreateTime
-
-    -- * GoogleIAMV1TestIAMPermissionsRequest
-    , GoogleIAMV1TestIAMPermissionsRequest
-    , googleIAMV1TestIAMPermissionsRequest
-    , givtiprPermissions
-
-    -- * GoogleIAMV1AuditConfig
-    , GoogleIAMV1AuditConfig
-    , googleIAMV1AuditConfig
-    , givacService
-    , givacAuditLogConfigs
-
-    -- * Xgafv
-    , Xgafv (..)
-
-    -- * GoogleLongrunningOperationResponse
-    , GoogleLongrunningOperationResponse
-    , googleLongrunningOperationResponse
-    , glorAddtional
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , googleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , gcpvcprDestinationProductName
-
-    -- * GoogleIAMV1AuditLogConfig
-    , GoogleIAMV1AuditLogConfig
-    , googleIAMV1AuditLogConfig
-    , givalcLogType
-    , givalcExemptedMembers
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1Version
-    , GoogleCloudPrivatecatalogproducerV1beta1Version
-    , googleCloudPrivatecatalogproducerV1beta1Version
-    , gcpvvAsset
-    , gcpvvOriginalAsset
-    , gcpvvUpdateTime
-    , gcpvvName
-    , gcpvvDescription
-    , gcpvvCreateTime
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , googleCloudPrivatecatalogproducerV1beta1VersionAsset
-    , gcpvvaAddtional
-
-    -- * GoogleLongrunningListOperationsResponse
-    , GoogleLongrunningListOperationsResponse
-    , googleLongrunningListOperationsResponse
-    , gllorNextPageToken
-    , gllorOperations
-
-    -- * GoogleIAMV1Policy
-    , GoogleIAMV1Policy
-    , googleIAMV1Policy
-    , givpAuditConfigs
-    , givpEtag
-    , givpVersion
-    , givpBindings
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1Association
-    , GoogleCloudPrivatecatalogproducerV1beta1Association
-    , googleCloudPrivatecatalogproducerV1beta1Association
-    , gcpvaName
-    , gcpvaResource
-    , gcpvaCreateTime
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    , gcpvlprNextPageToken
-    , gcpvlprProducts
-
-    -- * GoogleIAMV1TestIAMPermissionsResponse
-    , GoogleIAMV1TestIAMPermissionsResponse
-    , googleIAMV1TestIAMPermissionsResponse
-    , giamvtiamprPermissions
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , gcpvcarAssociation
-
-    -- * GoogleTypeExpr
-    , GoogleTypeExpr
-    , googleTypeExpr
-    , gteLocation
-    , gteExpression
-    , gteTitle
-    , gteDescription
-
-    -- * GoogleLongrunningOperation
-    , GoogleLongrunningOperation
-    , googleLongrunningOperation
-    , gloDone
-    , gloError
-    , gloResponse
-    , gloName
-    , gloMetadata
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1Product
-    , GoogleCloudPrivatecatalogproducerV1beta1Product
-    , googleCloudPrivatecatalogproducerV1beta1Product
-    , gcpvpIconURI
-    , gcpvpUpdateTime
-    , gcpvpDisplayMetadata
-    , gcpvpName
-    , gcpvpAssetType
-    , gcpvpCreateTime
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    , gcpvvoaAddtional
-
-    -- * GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    , gcpvlarNextPageToken
-    , gcpvlarAssociations
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types.Product
-import           Network.Google.CloudPrivateCatalogProducer.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v1beta1' of the Cloud Private Catalog Producer API. This contains the host and root path used as a starting point for constructing service requests.
-cloudPrivateCatalogProducerService :: ServiceConfig
-cloudPrivateCatalogProducerService
-  = defaultService
-      (ServiceId "cloudprivatecatalogproducer:v1beta1")
-      "cloudprivatecatalogproducer.googleapis.com"
-
--- | View and manage your data across Google Cloud Platform services
-cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
-cloudPlatformScope = Proxy
diff --git a/gen/Network/Google/CloudPrivateCatalogProducer/Types/Product.hs b/gen/Network/Google/CloudPrivateCatalogProducer/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/CloudPrivateCatalogProducer/Types/Product.hs
+++ /dev/null
@@ -1,2080 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.CloudPrivateCatalogProducer.Types.Product
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.Google.CloudPrivateCatalogProducer.Types.Product where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types.Sum
-import           Network.Google.Prelude
-
--- | The \`Status\` type defines a logical error model that is suitable for
--- different programming environments, including REST APIs and RPC APIs. It
--- is used by [gRPC](https:\/\/github.com\/grpc). The error model is
--- designed to be: - Simple to use and understand for most users - Flexible
--- enough to meet unexpected needs # Overview The \`Status\` message
--- contains three pieces of data: error code, error message, and error
--- details. The error code should be an enum value of google.rpc.Code, but
--- it may accept additional error codes if needed. The error message should
--- be a developer-facing English message that helps developers *understand*
--- and *resolve* the error. If a localized user-facing error message is
--- needed, put the localized message in the error details or localize it in
--- the client. The optional error details may contain arbitrary information
--- about the error. There is a predefined set of error detail types in the
--- package \`google.rpc\` that can be used for common error conditions. #
--- Language mapping The \`Status\` message is the logical representation of
--- the error model, but it is not necessarily the actual wire format. When
--- the \`Status\` message is exposed in different client libraries and
--- different wire protocols, it can be mapped differently. For example, it
--- will likely be mapped to some exceptions in Java, but more likely mapped
--- to some error codes in C. # Other uses The error model and the
--- \`Status\` message can be used in a variety of environments, either with
--- or without APIs, to provide a consistent developer experience across
--- different environments. Example uses of this error model include: -
--- Partial errors. If a service needs to return partial errors to the
--- client, it may embed the \`Status\` in the normal response to indicate
--- the partial errors. - Workflow errors. A typical workflow has multiple
--- steps. Each step may have a \`Status\` message for error reporting. -
--- Batch operations. If a client uses batch request and batch response, the
--- \`Status\` message should be used directly inside batch response, one
--- for each error sub-response. - Asynchronous operations. If an API call
--- embeds asynchronous operation results in its response, the status of
--- those operations should be represented directly using the \`Status\`
--- message. - Logging. If some API errors are stored in logs, the message
--- \`Status\` could be used directly after any stripping needed for
--- security\/privacy reasons.
---
--- /See:/ 'googleRpcStatus' smart constructor.
-data GoogleRpcStatus =
-  GoogleRpcStatus'
-    { _grsDetails :: !(Maybe [GoogleRpcStatusDetailsItem])
-    , _grsCode    :: !(Maybe (Textual Int32))
-    , _grsMessage :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleRpcStatus' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'grsDetails'
---
--- * 'grsCode'
---
--- * 'grsMessage'
-googleRpcStatus
-    :: GoogleRpcStatus
-googleRpcStatus =
-  GoogleRpcStatus'
-    {_grsDetails = Nothing, _grsCode = Nothing, _grsMessage = Nothing}
-
-
--- | A list of messages that carry the error details. There is a common set
--- of message types for APIs to use.
-grsDetails :: Lens' GoogleRpcStatus [GoogleRpcStatusDetailsItem]
-grsDetails
-  = lens _grsDetails (\ s a -> s{_grsDetails = a}) .
-      _Default
-      . _Coerce
-
--- | The status code, which should be an enum value of google.rpc.Code.
-grsCode :: Lens' GoogleRpcStatus (Maybe Int32)
-grsCode
-  = lens _grsCode (\ s a -> s{_grsCode = a}) .
-      mapping _Coerce
-
--- | A developer-facing error message, which should be in English. Any
--- user-facing error message should be localized and sent in the
--- google.rpc.Status.details field, or localized by the client.
-grsMessage :: Lens' GoogleRpcStatus (Maybe Text)
-grsMessage
-  = lens _grsMessage (\ s a -> s{_grsMessage = a})
-
-instance FromJSON GoogleRpcStatus where
-        parseJSON
-          = withObject "GoogleRpcStatus"
-              (\ o ->
-                 GoogleRpcStatus' <$>
-                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>
-                     (o .:? "message"))
-
-instance ToJSON GoogleRpcStatus where
-        toJSON GoogleRpcStatus'{..}
-          = object
-              (catMaybes
-                 [("details" .=) <$> _grsDetails,
-                  ("code" .=) <$> _grsCode,
-                  ("message" .=) <$> _grsMessage])
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
---
--- /See:/ 'googleLongrunningOperationMetadata' smart constructor.
-newtype GoogleLongrunningOperationMetadata =
-  GoogleLongrunningOperationMetadata'
-    { _glomAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleLongrunningOperationMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'glomAddtional'
-googleLongrunningOperationMetadata
-    :: HashMap Text JSONValue -- ^ 'glomAddtional'
-    -> GoogleLongrunningOperationMetadata
-googleLongrunningOperationMetadata pGlomAddtional_ =
-  GoogleLongrunningOperationMetadata'
-    {_glomAddtional = _Coerce # pGlomAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-glomAddtional :: Lens' GoogleLongrunningOperationMetadata (HashMap Text JSONValue)
-glomAddtional
-  = lens _glomAddtional
-      (\ s a -> s{_glomAddtional = a})
-      . _Coerce
-
-instance FromJSON GoogleLongrunningOperationMetadata
-         where
-        parseJSON
-          = withObject "GoogleLongrunningOperationMetadata"
-              (\ o ->
-                 GoogleLongrunningOperationMetadata' <$>
-                   (parseJSONObject o))
-
-instance ToJSON GoogleLongrunningOperationMetadata
-         where
-        toJSON = toJSON . _glomAddtional
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse'
-    { _gcpvlvrNextPageToken :: !(Maybe Text)
-    , _gcpvlvrVersions      :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Version])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvlvrNextPageToken'
---
--- * 'gcpvlvrVersions'
-googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-    :: GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse'
-    {_gcpvlvrNextPageToken = Nothing, _gcpvlvrVersions = Nothing}
-
-
--- | A pagination token returned from a previous call to ListProducts that
--- indicates where the listing should continue from. This field is
--- optional.
-gcpvlvrNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse (Maybe Text)
-gcpvlvrNextPageToken
-  = lens _gcpvlvrNextPageToken
-      (\ s a -> s{_gcpvlvrNextPageToken = a})
-
--- | The \`VersiVersionon\` returned from the list call.
-gcpvlvrVersions :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse [GoogleCloudPrivatecatalogproducerV1beta1Version]
-gcpvlvrVersions
-  = lens _gcpvlvrVersions
-      (\ s a -> s{_gcpvlvrVersions = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse'
-                   <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "versions" .!= mempty))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _gcpvlvrNextPageToken,
-                  ("versions" .=) <$> _gcpvlvrVersions])
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest'
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' with the minimum fields required to make a request.
---
-googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    :: GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest'
-
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest"
-              (\ o ->
-                 pure
-                   GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest')
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-         where
-        toJSON = const emptyObject
-
--- | Associates \`members\` with a \`role\`.
---
--- /See:/ 'googleIAMV1Binding' smart constructor.
-data GoogleIAMV1Binding =
-  GoogleIAMV1Binding'
-    { _givbMembers   :: !(Maybe [Text])
-    , _givbRole      :: !(Maybe Text)
-    , _givbCondition :: !(Maybe GoogleTypeExpr)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1Binding' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givbMembers'
---
--- * 'givbRole'
---
--- * 'givbCondition'
-googleIAMV1Binding
-    :: GoogleIAMV1Binding
-googleIAMV1Binding =
-  GoogleIAMV1Binding'
-    {_givbMembers = Nothing, _givbRole = Nothing, _givbCondition = Nothing}
-
-
--- | Specifies the identities requesting access for a Cloud Platform
--- resource. \`members\` can have the following values: * \`allUsers\`: A
--- special identifier that represents anyone who is on the internet; with
--- or without a Google account. * \`allAuthenticatedUsers\`: A special
--- identifier that represents anyone who is authenticated with a Google
--- account or a service account. * \`user:{emailid}\`: An email address
--- that represents a specific Google account. For example,
--- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address
--- that represents a service account. For example,
--- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An
--- email address that represents a Google group. For example,
--- \`admins\'example.com\`. * \`domain:{domain}\`: The G Suite domain
--- (primary) that represents all the users of that domain. For example,
--- \`google.com\` or \`example.com\`.
-givbMembers :: Lens' GoogleIAMV1Binding [Text]
-givbMembers
-  = lens _givbMembers (\ s a -> s{_givbMembers = a}) .
-      _Default
-      . _Coerce
-
--- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,
--- \`roles\/editor\`, or \`roles\/owner\`.
-givbRole :: Lens' GoogleIAMV1Binding (Maybe Text)
-givbRole = lens _givbRole (\ s a -> s{_givbRole = a})
-
--- | The condition that is associated with this binding. NOTE: An unsatisfied
--- condition will not allow user access via current binding. Different
--- bindings, including their conditions, are examined independently.
-givbCondition :: Lens' GoogleIAMV1Binding (Maybe GoogleTypeExpr)
-givbCondition
-  = lens _givbCondition
-      (\ s a -> s{_givbCondition = a})
-
-instance FromJSON GoogleIAMV1Binding where
-        parseJSON
-          = withObject "GoogleIAMV1Binding"
-              (\ o ->
-                 GoogleIAMV1Binding' <$>
-                   (o .:? "members" .!= mempty) <*> (o .:? "role") <*>
-                     (o .:? "condition"))
-
-instance ToJSON GoogleIAMV1Binding where
-        toJSON GoogleIAMV1Binding'{..}
-          = object
-              (catMaybes
-                 [("members" .=) <$> _givbMembers,
-                  ("role" .=) <$> _givbRole,
-                  ("condition" .=) <$> _givbCondition])
-
--- | Request message for \`SetIamPolicy\` method.
---
--- /See:/ 'googleIAMV1SetIAMPolicyRequest' smart constructor.
-data GoogleIAMV1SetIAMPolicyRequest =
-  GoogleIAMV1SetIAMPolicyRequest'
-    { _givsiprUpdateMask :: !(Maybe GFieldMask)
-    , _givsiprPolicy     :: !(Maybe GoogleIAMV1Policy)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1SetIAMPolicyRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givsiprUpdateMask'
---
--- * 'givsiprPolicy'
-googleIAMV1SetIAMPolicyRequest
-    :: GoogleIAMV1SetIAMPolicyRequest
-googleIAMV1SetIAMPolicyRequest =
-  GoogleIAMV1SetIAMPolicyRequest'
-    {_givsiprUpdateMask = Nothing, _givsiprPolicy = Nothing}
-
-
--- | OPTIONAL: A FieldMask specifying which fields of the policy to modify.
--- Only the fields in the mask will be modified. If no mask is provided,
--- the following default mask is used: paths: \"bindings, etag\" This field
--- is only used by Cloud IAM.
-givsiprUpdateMask :: Lens' GoogleIAMV1SetIAMPolicyRequest (Maybe GFieldMask)
-givsiprUpdateMask
-  = lens _givsiprUpdateMask
-      (\ s a -> s{_givsiprUpdateMask = a})
-
--- | REQUIRED: The complete policy to be applied to the \`resource\`. The
--- size of the policy is limited to a few 10s of KB. An empty policy is a
--- valid policy but certain Cloud Platform services (such as Projects)
--- might reject them.
-givsiprPolicy :: Lens' GoogleIAMV1SetIAMPolicyRequest (Maybe GoogleIAMV1Policy)
-givsiprPolicy
-  = lens _givsiprPolicy
-      (\ s a -> s{_givsiprPolicy = a})
-
-instance FromJSON GoogleIAMV1SetIAMPolicyRequest
-         where
-        parseJSON
-          = withObject "GoogleIAMV1SetIAMPolicyRequest"
-              (\ o ->
-                 GoogleIAMV1SetIAMPolicyRequest' <$>
-                   (o .:? "updateMask") <*> (o .:? "policy"))
-
-instance ToJSON GoogleIAMV1SetIAMPolicyRequest where
-        toJSON GoogleIAMV1SetIAMPolicyRequest'{..}
-          = object
-              (catMaybes
-                 [("updateMask" .=) <$> _givsiprUpdateMask,
-                  ("policy" .=) <$> _givsiprPolicy])
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse'
-    { _gcpvlcrNextPageToken :: !(Maybe Text)
-    , _gcpvlcrCatalogs      :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Catalog])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvlcrNextPageToken'
---
--- * 'gcpvlcrCatalogs'
-googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-    :: GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse'
-    {_gcpvlcrNextPageToken = Nothing, _gcpvlcrCatalogs = Nothing}
-
-
--- | A pagination token returned from a previous call to ListCatalogs that
--- indicates where the listing should continue from. This field is
--- optional.
-gcpvlcrNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse (Maybe Text)
-gcpvlcrNextPageToken
-  = lens _gcpvlcrNextPageToken
-      (\ s a -> s{_gcpvlcrNextPageToken = a})
-
--- | The \`Catalogs\` returned from the list call.
-gcpvlcrCatalogs :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse [GoogleCloudPrivatecatalogproducerV1beta1Catalog]
-gcpvlcrCatalogs
-  = lens _gcpvlcrCatalogs
-      (\ s a -> s{_gcpvlcrCatalogs = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse'
-                   <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "catalogs" .!= mempty))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _gcpvlcrNextPageToken,
-                  ("catalogs" .=) <$> _gcpvlcrCatalogs])
-
--- | A generic empty message that you can re-use to avoid defining duplicated
--- empty messages in your APIs. A typical example is to use it as the
--- request or the response type of an API method. For instance: service Foo
--- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The
--- JSON representation for \`Empty\` is empty JSON object \`{}\`.
---
--- /See:/ 'googleProtobufEmpty' smart constructor.
-data GoogleProtobufEmpty =
-  GoogleProtobufEmpty'
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleProtobufEmpty' with the minimum fields required to make a request.
---
-googleProtobufEmpty
-    :: GoogleProtobufEmpty
-googleProtobufEmpty = GoogleProtobufEmpty'
-
-
-instance FromJSON GoogleProtobufEmpty where
-        parseJSON
-          = withObject "GoogleProtobufEmpty"
-              (\ o -> pure GoogleProtobufEmpty')
-
-instance ToJSON GoogleProtobufEmpty where
-        toJSON = const emptyObject
-
---
--- /See:/ 'googleRpcStatusDetailsItem' smart constructor.
-newtype GoogleRpcStatusDetailsItem =
-  GoogleRpcStatusDetailsItem'
-    { _grsdiAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleRpcStatusDetailsItem' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'grsdiAddtional'
-googleRpcStatusDetailsItem
-    :: HashMap Text JSONValue -- ^ 'grsdiAddtional'
-    -> GoogleRpcStatusDetailsItem
-googleRpcStatusDetailsItem pGrsdiAddtional_ =
-  GoogleRpcStatusDetailsItem' {_grsdiAddtional = _Coerce # pGrsdiAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-grsdiAddtional :: Lens' GoogleRpcStatusDetailsItem (HashMap Text JSONValue)
-grsdiAddtional
-  = lens _grsdiAddtional
-      (\ s a -> s{_grsdiAddtional = a})
-      . _Coerce
-
-instance FromJSON GoogleRpcStatusDetailsItem where
-        parseJSON
-          = withObject "GoogleRpcStatusDetailsItem"
-              (\ o ->
-                 GoogleRpcStatusDetailsItem' <$> (parseJSONObject o))
-
-instance ToJSON GoogleRpcStatusDetailsItem where
-        toJSON = toJSON . _grsdiAddtional
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1UploadIconRequest' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest'
-    { _gcpvuirIcon :: Maybe Bytes
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvuirIcon'
-googleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    :: GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-googleCloudPrivatecatalogproducerV1beta1UploadIconRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest'
-    {_gcpvuirIcon = Nothing}
-
-
--- | The raw icon bytes user-supplied to be uploaded to the product. The
--- format of the icon can only be PNG or JPEG. The minimum allowed
--- dimensions are 130x130 pixels and the maximum dimensions are 10000x10000
--- pixels. Required.
-gcpvuirIcon :: Lens' GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest (Maybe ByteString)
-gcpvuirIcon
-  = lens _gcpvuirIcon (\ s a -> s{_gcpvuirIcon = a}) .
-      mapping _Bytes
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest'
-                   <$> (o .:? "icon"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest'{..}
-          = object (catMaybes [("icon" .=) <$> _gcpvuirIcon])
-
--- | The user-supplied display metadata to describe the product. The JSON
--- schema of the metadata differs by Product.asset_type. When the type is
--- \`google.deploymentmanager.Template\`, the schema is as follows: \`\`\`
--- \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object
--- properties: name: type: string minLength: 1 maxLength: 64 description:
--- type: string minLength: 1 maxLength: 2048 tagline: type: string
--- minLength: 1 maxLength: 100 support_info: type: string minLength: 1
--- maxLength: 2048 creator: type: string minLength: 1 maxLength: 100
--- documentation: type: array items: type: object properties: url: type:
--- string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- title: type: string minLength: 1 maxLength: 64 description: type: string
--- minLength: 1 maxLength: 2048 required: - name - description
--- additionalProperties: false \`\`\` When the asset type is
--- \`google.cloudprivatecatalog.ListingOnly\`, the schema is as follows:
--- \`\`\` \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type:
--- object properties: name: type: string minLength: 1 maxLength: 64
--- description: type: string minLength: 1 maxLength: 2048 tagline: type:
--- string minLength: 1 maxLength: 100 support_info: type: string minLength:
--- 1 maxLength: 2048 creator: type: string minLength: 1 maxLength: 100
--- documentation: type: array items: type: object properties: url: type:
--- string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- title: type: string minLength: 1 maxLength: 64 description: type: string
--- minLength: 1 maxLength: 2048 signup_url: type: string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- required: - name - description - signup_url additionalProperties: false
--- \`\`\`
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata =
-  GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata'
-    { _gcpvpdmAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvpdmAddtional'
-googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-    :: HashMap Text JSONValue -- ^ 'gcpvpdmAddtional'
-    -> GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata pGcpvpdmAddtional_ =
-  GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata'
-    {_gcpvpdmAddtional = _Coerce # pGcpvpdmAddtional_}
-
-
--- | Properties of the object.
-gcpvpdmAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata (HashMap Text JSONValue)
-gcpvpdmAddtional
-  = lens _gcpvpdmAddtional
-      (\ s a -> s{_gcpvpdmAddtional = a})
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata'
-                   <$> (parseJSONObject o))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata
-         where
-        toJSON = toJSON . _gcpvpdmAddtional
-
--- | The request message for Operations.CancelOperation.
---
--- /See:/ 'googleLongrunningCancelOperationRequest' smart constructor.
-data GoogleLongrunningCancelOperationRequest =
-  GoogleLongrunningCancelOperationRequest'
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleLongrunningCancelOperationRequest' with the minimum fields required to make a request.
---
-googleLongrunningCancelOperationRequest
-    :: GoogleLongrunningCancelOperationRequest
-googleLongrunningCancelOperationRequest =
-  GoogleLongrunningCancelOperationRequest'
-
-
-instance FromJSON
-           GoogleLongrunningCancelOperationRequest
-         where
-        parseJSON
-          = withObject
-              "GoogleLongrunningCancelOperationRequest"
-              (\ o ->
-                 pure GoogleLongrunningCancelOperationRequest')
-
-instance ToJSON
-           GoogleLongrunningCancelOperationRequest
-         where
-        toJSON = const emptyObject
-
--- | The producer representation of a catalog which is a curated collection
--- of solutions that can be managed, controlled, and shared by cloud
--- admins.
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Catalog' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1Catalog =
-  GoogleCloudPrivatecatalogproducerV1beta1Catalog'
-    { _gcpvcParent      :: !(Maybe Text)
-    , _gcpvcUpdateTime  :: !(Maybe DateTime')
-    , _gcpvcName        :: !(Maybe Text)
-    , _gcpvcDisplayName :: !(Maybe Text)
-    , _gcpvcDescription :: !(Maybe Text)
-    , _gcpvcCreateTime  :: !(Maybe DateTime')
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Catalog' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvcParent'
---
--- * 'gcpvcUpdateTime'
---
--- * 'gcpvcName'
---
--- * 'gcpvcDisplayName'
---
--- * 'gcpvcDescription'
---
--- * 'gcpvcCreateTime'
-googleCloudPrivatecatalogproducerV1beta1Catalog
-    :: GoogleCloudPrivatecatalogproducerV1beta1Catalog
-googleCloudPrivatecatalogproducerV1beta1Catalog =
-  GoogleCloudPrivatecatalogproducerV1beta1Catalog'
-    { _gcpvcParent = Nothing
-    , _gcpvcUpdateTime = Nothing
-    , _gcpvcName = Nothing
-    , _gcpvcDisplayName = Nothing
-    , _gcpvcDescription = Nothing
-    , _gcpvcCreateTime = Nothing
-    }
-
-
--- | Required. The parent resource name of the catalog, which can\'t be
--- changed after a catalog is created. It can only be an organization.
--- Values are of the form
--- \`\/\/cloudresourcemanager.googleapis.com\/organizations\/\`. Maximum
--- 256 characters in length.
-gcpvcParent :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text)
-gcpvcParent
-  = lens _gcpvcParent (\ s a -> s{_gcpvcParent = a})
-
--- | Output only. The time when the catalog was last updated.
-gcpvcUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe UTCTime)
-gcpvcUpdateTime
-  = lens _gcpvcUpdateTime
-      (\ s a -> s{_gcpvcUpdateTime = a})
-      . mapping _DateTime
-
--- | Output only. The resource name of the catalog, in the format
--- \`catalogs\/{catalog_id}\'. A unique identifier for the catalog, which
--- is generated by catalog service.
-gcpvcName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text)
-gcpvcName
-  = lens _gcpvcName (\ s a -> s{_gcpvcName = a})
-
--- | Required. The user-supplied descriptive name of the catalog as it
--- appears in UIs. Maximum 256 characters in length.
-gcpvcDisplayName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text)
-gcpvcDisplayName
-  = lens _gcpvcDisplayName
-      (\ s a -> s{_gcpvcDisplayName = a})
-
--- | Required. The user-supplied description of the catalog. Maximum of 512
--- characters.
-gcpvcDescription :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text)
-gcpvcDescription
-  = lens _gcpvcDescription
-      (\ s a -> s{_gcpvcDescription = a})
-
--- | Output only. The time when the catalog was created.
-gcpvcCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe UTCTime)
-gcpvcCreateTime
-  = lens _gcpvcCreateTime
-      (\ s a -> s{_gcpvcCreateTime = a})
-      . mapping _DateTime
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Catalog
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1Catalog"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1Catalog' <$>
-                   (o .:? "parent") <*> (o .:? "updateTime") <*>
-                     (o .:? "name")
-                     <*> (o .:? "displayName")
-                     <*> (o .:? "description")
-                     <*> (o .:? "createTime"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Catalog
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1Catalog'{..}
-          = object
-              (catMaybes
-                 [("parent" .=) <$> _gcpvcParent,
-                  ("updateTime" .=) <$> _gcpvcUpdateTime,
-                  ("name" .=) <$> _gcpvcName,
-                  ("displayName" .=) <$> _gcpvcDisplayName,
-                  ("description" .=) <$> _gcpvcDescription,
-                  ("createTime" .=) <$> _gcpvcCreateTime])
-
--- | Request message for \`TestIamPermissions\` method.
---
--- /See:/ 'googleIAMV1TestIAMPermissionsRequest' smart constructor.
-newtype GoogleIAMV1TestIAMPermissionsRequest =
-  GoogleIAMV1TestIAMPermissionsRequest'
-    { _givtiprPermissions :: Maybe [Text]
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1TestIAMPermissionsRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givtiprPermissions'
-googleIAMV1TestIAMPermissionsRequest
-    :: GoogleIAMV1TestIAMPermissionsRequest
-googleIAMV1TestIAMPermissionsRequest =
-  GoogleIAMV1TestIAMPermissionsRequest' {_givtiprPermissions = Nothing}
-
-
--- | The set of permissions to check for the \`resource\`. Permissions with
--- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more
--- information see [IAM
--- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).
-givtiprPermissions :: Lens' GoogleIAMV1TestIAMPermissionsRequest [Text]
-givtiprPermissions
-  = lens _givtiprPermissions
-      (\ s a -> s{_givtiprPermissions = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleIAMV1TestIAMPermissionsRequest
-         where
-        parseJSON
-          = withObject "GoogleIAMV1TestIAMPermissionsRequest"
-              (\ o ->
-                 GoogleIAMV1TestIAMPermissionsRequest' <$>
-                   (o .:? "permissions" .!= mempty))
-
-instance ToJSON GoogleIAMV1TestIAMPermissionsRequest
-         where
-        toJSON GoogleIAMV1TestIAMPermissionsRequest'{..}
-          = object
-              (catMaybes
-                 [("permissions" .=) <$> _givtiprPermissions])
-
--- | Specifies the audit configuration for a service. The configuration
--- determines which permission types are logged, and what identities, if
--- any, are exempted from logging. An AuditConfig must have one or more
--- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and
--- a specific service, the union of the two AuditConfigs is used for that
--- service: the log_types specified in each AuditConfig are enabled, and
--- the exempted_members in each AuditLogConfig are exempted. Example Policy
--- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\":
--- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",
--- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":
--- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\":
--- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\":
--- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\":
--- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy
--- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
--- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from
--- DATA_WRITE logging.
---
--- /See:/ 'googleIAMV1AuditConfig' smart constructor.
-data GoogleIAMV1AuditConfig =
-  GoogleIAMV1AuditConfig'
-    { _givacService         :: !(Maybe Text)
-    , _givacAuditLogConfigs :: !(Maybe [GoogleIAMV1AuditLogConfig])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1AuditConfig' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givacService'
---
--- * 'givacAuditLogConfigs'
-googleIAMV1AuditConfig
-    :: GoogleIAMV1AuditConfig
-googleIAMV1AuditConfig =
-  GoogleIAMV1AuditConfig'
-    {_givacService = Nothing, _givacAuditLogConfigs = Nothing}
-
-
--- | Specifies a service that will be enabled for audit logging. For example,
--- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\`
--- is a special value that covers all services.
-givacService :: Lens' GoogleIAMV1AuditConfig (Maybe Text)
-givacService
-  = lens _givacService (\ s a -> s{_givacService = a})
-
--- | The configuration for logging of each type of permission.
-givacAuditLogConfigs :: Lens' GoogleIAMV1AuditConfig [GoogleIAMV1AuditLogConfig]
-givacAuditLogConfigs
-  = lens _givacAuditLogConfigs
-      (\ s a -> s{_givacAuditLogConfigs = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON GoogleIAMV1AuditConfig where
-        parseJSON
-          = withObject "GoogleIAMV1AuditConfig"
-              (\ o ->
-                 GoogleIAMV1AuditConfig' <$>
-                   (o .:? "service") <*>
-                     (o .:? "auditLogConfigs" .!= mempty))
-
-instance ToJSON GoogleIAMV1AuditConfig where
-        toJSON GoogleIAMV1AuditConfig'{..}
-          = object
-              (catMaybes
-                 [("service" .=) <$> _givacService,
-                  ("auditLogConfigs" .=) <$> _givacAuditLogConfigs])
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as \`Delete\`, the response is
--- \`google.protobuf.Empty\`. If the original method is standard
--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
--- For other methods, the response should have the type \`XxxResponse\`,
--- where \`Xxx\` is the original method name. For example, if the original
--- method name is \`TakeSnapshot()\`, the inferred response type is
--- \`TakeSnapshotResponse\`.
---
--- /See:/ 'googleLongrunningOperationResponse' smart constructor.
-newtype GoogleLongrunningOperationResponse =
-  GoogleLongrunningOperationResponse'
-    { _glorAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleLongrunningOperationResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'glorAddtional'
-googleLongrunningOperationResponse
-    :: HashMap Text JSONValue -- ^ 'glorAddtional'
-    -> GoogleLongrunningOperationResponse
-googleLongrunningOperationResponse pGlorAddtional_ =
-  GoogleLongrunningOperationResponse'
-    {_glorAddtional = _Coerce # pGlorAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-glorAddtional :: Lens' GoogleLongrunningOperationResponse (HashMap Text JSONValue)
-glorAddtional
-  = lens _glorAddtional
-      (\ s a -> s{_glorAddtional = a})
-      . _Coerce
-
-instance FromJSON GoogleLongrunningOperationResponse
-         where
-        parseJSON
-          = withObject "GoogleLongrunningOperationResponse"
-              (\ o ->
-                 GoogleLongrunningOperationResponse' <$>
-                   (parseJSONObject o))
-
-instance ToJSON GoogleLongrunningOperationResponse
-         where
-        toJSON = toJSON . _glorAddtional
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1CopyProductRequest' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest'
-    { _gcpvcprDestinationProductName :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvcprDestinationProductName'
-googleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    :: GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-googleCloudPrivatecatalogproducerV1beta1CopyProductRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest'
-    {_gcpvcprDestinationProductName = Nothing}
-
-
--- | The resource name of the destination product that is copied to.
-gcpvcprDestinationProductName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest (Maybe Text)
-gcpvcprDestinationProductName
-  = lens _gcpvcprDestinationProductName
-      (\ s a -> s{_gcpvcprDestinationProductName = a})
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest'
-                   <$> (o .:? "destinationProductName"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest'{..}
-          = object
-              (catMaybes
-                 [("destinationProductName" .=) <$>
-                    _gcpvcprDestinationProductName])
-
--- | Provides the configuration for logging a type of permissions. Example: {
--- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",
--- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":
--- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\'
--- logging, while exempting foo\'gmail.com from DATA_READ logging.
---
--- /See:/ 'googleIAMV1AuditLogConfig' smart constructor.
-data GoogleIAMV1AuditLogConfig =
-  GoogleIAMV1AuditLogConfig'
-    { _givalcLogType         :: !(Maybe GoogleIAMV1AuditLogConfigLogType)
-    , _givalcExemptedMembers :: !(Maybe [Text])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1AuditLogConfig' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givalcLogType'
---
--- * 'givalcExemptedMembers'
-googleIAMV1AuditLogConfig
-    :: GoogleIAMV1AuditLogConfig
-googleIAMV1AuditLogConfig =
-  GoogleIAMV1AuditLogConfig'
-    {_givalcLogType = Nothing, _givalcExemptedMembers = Nothing}
-
-
--- | The log type that this config enables.
-givalcLogType :: Lens' GoogleIAMV1AuditLogConfig (Maybe GoogleIAMV1AuditLogConfigLogType)
-givalcLogType
-  = lens _givalcLogType
-      (\ s a -> s{_givalcLogType = a})
-
--- | Specifies the identities that do not cause logging for this type of
--- permission. Follows the same format of Binding.members.
-givalcExemptedMembers :: Lens' GoogleIAMV1AuditLogConfig [Text]
-givalcExemptedMembers
-  = lens _givalcExemptedMembers
-      (\ s a -> s{_givalcExemptedMembers = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON GoogleIAMV1AuditLogConfig where
-        parseJSON
-          = withObject "GoogleIAMV1AuditLogConfig"
-              (\ o ->
-                 GoogleIAMV1AuditLogConfig' <$>
-                   (o .:? "logType") <*>
-                     (o .:? "exemptedMembers" .!= mempty))
-
-instance ToJSON GoogleIAMV1AuditLogConfig where
-        toJSON GoogleIAMV1AuditLogConfig'{..}
-          = object
-              (catMaybes
-                 [("logType" .=) <$> _givalcLogType,
-                  ("exemptedMembers" .=) <$> _givalcExemptedMembers])
-
--- | The producer representation of a version, which is a child resource
--- under a \`Product\` with asset data.
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Version' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1Version =
-  GoogleCloudPrivatecatalogproducerV1beta1Version'
-    { _gcpvvAsset         :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionAsset)
-    , _gcpvvOriginalAsset :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset)
-    , _gcpvvUpdateTime    :: !(Maybe DateTime')
-    , _gcpvvName          :: !(Maybe Text)
-    , _gcpvvDescription   :: !(Maybe Text)
-    , _gcpvvCreateTime    :: !(Maybe DateTime')
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Version' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvvAsset'
---
--- * 'gcpvvOriginalAsset'
---
--- * 'gcpvvUpdateTime'
---
--- * 'gcpvvName'
---
--- * 'gcpvvDescription'
---
--- * 'gcpvvCreateTime'
-googleCloudPrivatecatalogproducerV1beta1Version
-    :: GoogleCloudPrivatecatalogproducerV1beta1Version
-googleCloudPrivatecatalogproducerV1beta1Version =
-  GoogleCloudPrivatecatalogproducerV1beta1Version'
-    { _gcpvvAsset = Nothing
-    , _gcpvvOriginalAsset = Nothing
-    , _gcpvvUpdateTime = Nothing
-    , _gcpvvName = Nothing
-    , _gcpvvDescription = Nothing
-    , _gcpvvCreateTime = Nothing
-    }
-
-
--- | Output only. The asset which has been validated and is ready to be
--- provisioned. See Version.original_asset for the schema.
-gcpvvAsset :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionAsset)
-gcpvvAsset
-  = lens _gcpvvAsset (\ s a -> s{_gcpvvAsset = a})
-
--- | The user-supplied asset payload. The maximum size of the payload is 2MB.
--- The JSON schema of the payload is defined as: \`\`\` type: object
--- properties: mainTemplate: type: string description: The file name of the
--- main template and name prefix of schema file. The content of the main
--- template should be set in the imports list. The schema file name is
--- expected to be .schema in the imports list. required: true imports:
--- type: array description: Import template and schema file contents.
--- Required to have both and .schema files. required: true minItems: 2
--- items: type: object properties: name: type: string content: type: string
--- \`\`\`
-gcpvvOriginalAsset :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset)
-gcpvvOriginalAsset
-  = lens _gcpvvOriginalAsset
-      (\ s a -> s{_gcpvvOriginalAsset = a})
-
--- | Output only. The time when the version was last updated.
-gcpvvUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe UTCTime)
-gcpvvUpdateTime
-  = lens _gcpvvUpdateTime
-      (\ s a -> s{_gcpvvUpdateTime = a})
-      . mapping _DateTime
-
--- | Required. The resource name of the version, in the format
--- \`catalogs\/{catalog_id}\/products\/{product_id}\/versions\/a-z*[a-z0-9]\'.
--- A unique identifier for the version under a product, which can\'t be
--- changed after the version is created. The final segment of the name must
--- between 1 and 63 characters in length.
-gcpvvName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe Text)
-gcpvvName
-  = lens _gcpvvName (\ s a -> s{_gcpvvName = a})
-
--- | The user-supplied description of the version. Maximum of 256 characters.
-gcpvvDescription :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe Text)
-gcpvvDescription
-  = lens _gcpvvDescription
-      (\ s a -> s{_gcpvvDescription = a})
-
--- | Output only. The time when the version was created.
-gcpvvCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe UTCTime)
-gcpvvCreateTime
-  = lens _gcpvvCreateTime
-      (\ s a -> s{_gcpvvCreateTime = a})
-      . mapping _DateTime
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Version
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1Version"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1Version' <$>
-                   (o .:? "asset") <*> (o .:? "originalAsset") <*>
-                     (o .:? "updateTime")
-                     <*> (o .:? "name")
-                     <*> (o .:? "description")
-                     <*> (o .:? "createTime"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Version
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1Version'{..}
-          = object
-              (catMaybes
-                 [("asset" .=) <$> _gcpvvAsset,
-                  ("originalAsset" .=) <$> _gcpvvOriginalAsset,
-                  ("updateTime" .=) <$> _gcpvvUpdateTime,
-                  ("name" .=) <$> _gcpvvName,
-                  ("description" .=) <$> _gcpvvDescription,
-                  ("createTime" .=) <$> _gcpvvCreateTime])
-
--- | Output only. The asset which has been validated and is ready to be
--- provisioned. See Version.original_asset for the schema.
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1VersionAsset' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1VersionAsset =
-  GoogleCloudPrivatecatalogproducerV1beta1VersionAsset'
-    { _gcpvvaAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1VersionAsset' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvvaAddtional'
-googleCloudPrivatecatalogproducerV1beta1VersionAsset
-    :: HashMap Text JSONValue -- ^ 'gcpvvaAddtional'
-    -> GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-googleCloudPrivatecatalogproducerV1beta1VersionAsset pGcpvvaAddtional_ =
-  GoogleCloudPrivatecatalogproducerV1beta1VersionAsset'
-    {_gcpvvaAddtional = _Coerce # pGcpvvaAddtional_}
-
-
--- | Properties of the object.
-gcpvvaAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1VersionAsset (HashMap Text JSONValue)
-gcpvvaAddtional
-  = lens _gcpvvaAddtional
-      (\ s a -> s{_gcpvvaAddtional = a})
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1VersionAsset"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1VersionAsset'
-                   <$> (parseJSONObject o))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1VersionAsset
-         where
-        toJSON = toJSON . _gcpvvaAddtional
-
--- | The response message for Operations.ListOperations.
---
--- /See:/ 'googleLongrunningListOperationsResponse' smart constructor.
-data GoogleLongrunningListOperationsResponse =
-  GoogleLongrunningListOperationsResponse'
-    { _gllorNextPageToken :: !(Maybe Text)
-    , _gllorOperations    :: !(Maybe [GoogleLongrunningOperation])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleLongrunningListOperationsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gllorNextPageToken'
---
--- * 'gllorOperations'
-googleLongrunningListOperationsResponse
-    :: GoogleLongrunningListOperationsResponse
-googleLongrunningListOperationsResponse =
-  GoogleLongrunningListOperationsResponse'
-    {_gllorNextPageToken = Nothing, _gllorOperations = Nothing}
-
-
--- | The standard List next-page token.
-gllorNextPageToken :: Lens' GoogleLongrunningListOperationsResponse (Maybe Text)
-gllorNextPageToken
-  = lens _gllorNextPageToken
-      (\ s a -> s{_gllorNextPageToken = a})
-
--- | A list of operations that matches the specified filter in the request.
-gllorOperations :: Lens' GoogleLongrunningListOperationsResponse [GoogleLongrunningOperation]
-gllorOperations
-  = lens _gllorOperations
-      (\ s a -> s{_gllorOperations = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleLongrunningListOperationsResponse
-         where
-        parseJSON
-          = withObject
-              "GoogleLongrunningListOperationsResponse"
-              (\ o ->
-                 GoogleLongrunningListOperationsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "operations" .!= mempty))
-
-instance ToJSON
-           GoogleLongrunningListOperationsResponse
-         where
-        toJSON GoogleLongrunningListOperationsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _gllorNextPageToken,
-                  ("operations" .=) <$> _gllorOperations])
-
--- | Defines an Identity and Access Management (IAM) policy. It is used to
--- specify access control policies for Cloud Platform resources. A
--- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a
--- list of \`members\` to a \`role\`, where the members can be user
--- accounts, Google groups, Google domains, and service accounts. A
--- \`role\` is a named list of permissions defined by IAM. **JSON Example**
--- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [
--- \"user:mike\'example.com\", \"group:admins\'example.com\",
--- \"domain:google.com\",
--- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, {
--- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }
--- ] } **YAML Example** bindings: - members: - user:mike\'example.com -
--- group:admins\'example.com - domain:google.com -
--- serviceAccount:my-other-app\'appspot.gserviceaccount.com role:
--- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For
--- a description of IAM and its features, see the [IAM developer\'s
--- guide](https:\/\/cloud.google.com\/iam\/docs).
---
--- /See:/ 'googleIAMV1Policy' smart constructor.
-data GoogleIAMV1Policy =
-  GoogleIAMV1Policy'
-    { _givpAuditConfigs :: !(Maybe [GoogleIAMV1AuditConfig])
-    , _givpEtag         :: !(Maybe Bytes)
-    , _givpVersion      :: !(Maybe (Textual Int32))
-    , _givpBindings     :: !(Maybe [GoogleIAMV1Binding])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1Policy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'givpAuditConfigs'
---
--- * 'givpEtag'
---
--- * 'givpVersion'
---
--- * 'givpBindings'
-googleIAMV1Policy
-    :: GoogleIAMV1Policy
-googleIAMV1Policy =
-  GoogleIAMV1Policy'
-    { _givpAuditConfigs = Nothing
-    , _givpEtag = Nothing
-    , _givpVersion = Nothing
-    , _givpBindings = Nothing
-    }
-
-
--- | Specifies cloud audit logging configuration for this policy.
-givpAuditConfigs :: Lens' GoogleIAMV1Policy [GoogleIAMV1AuditConfig]
-givpAuditConfigs
-  = lens _givpAuditConfigs
-      (\ s a -> s{_givpAuditConfigs = a})
-      . _Default
-      . _Coerce
-
--- | \`etag\` is used for optimistic concurrency control as a way to help
--- prevent simultaneous updates of a policy from overwriting each other. It
--- is strongly suggested that systems make use of the \`etag\` in the
--- read-modify-write cycle to perform policy updates in order to avoid race
--- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,
--- and systems are expected to put that etag in the request to
--- \`setIamPolicy\` to ensure that their change will be applied to the same
--- version of the policy. If no \`etag\` is provided in the call to
--- \`setIamPolicy\`, then the existing policy is overwritten blindly.
-givpEtag :: Lens' GoogleIAMV1Policy (Maybe ByteString)
-givpEtag
-  = lens _givpEtag (\ s a -> s{_givpEtag = a}) .
-      mapping _Bytes
-
--- | Deprecated.
-givpVersion :: Lens' GoogleIAMV1Policy (Maybe Int32)
-givpVersion
-  = lens _givpVersion (\ s a -> s{_givpVersion = a}) .
-      mapping _Coerce
-
--- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no
--- members will result in an error.
-givpBindings :: Lens' GoogleIAMV1Policy [GoogleIAMV1Binding]
-givpBindings
-  = lens _givpBindings (\ s a -> s{_givpBindings = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON GoogleIAMV1Policy where
-        parseJSON
-          = withObject "GoogleIAMV1Policy"
-              (\ o ->
-                 GoogleIAMV1Policy' <$>
-                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")
-                     <*> (o .:? "version")
-                     <*> (o .:? "bindings" .!= mempty))
-
-instance ToJSON GoogleIAMV1Policy where
-        toJSON GoogleIAMV1Policy'{..}
-          = object
-              (catMaybes
-                 [("auditConfigs" .=) <$> _givpAuditConfigs,
-                  ("etag" .=) <$> _givpEtag,
-                  ("version" .=) <$> _givpVersion,
-                  ("bindings" .=) <$> _givpBindings])
-
--- | An association tuple that pairs a \`Catalog\` to a resource that can use
--- the \`Catalog\`. After association, a
--- google.cloud.privatecatalog.v1beta1.Catalog becomes available to
--- consumers under specified Association.resource and all of its child
--- nodes. Users who have the \`cloudprivatecatalog.targets.get\` permission
--- on any of the resource nodes can access the catalog and child products
--- under the node. For example, suppose the cloud resource hierarchy is as
--- follows: * organizations\/example.com * folders\/team * projects\/test
--- After creating an association with \`organizations\/example.com\`, the
--- catalog \`catalogs\/1\` is accessible from the following paths: *
--- organizations\/example.com * folders\/team * projects\/test Users can
--- access them by google.cloud.v1beta1.PrivateCatalog.SearchCatalogs
--- action.
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Association' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1Association =
-  GoogleCloudPrivatecatalogproducerV1beta1Association'
-    { _gcpvaName       :: !(Maybe Text)
-    , _gcpvaResource   :: !(Maybe Text)
-    , _gcpvaCreateTime :: !(Maybe DateTime')
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Association' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvaName'
---
--- * 'gcpvaResource'
---
--- * 'gcpvaCreateTime'
-googleCloudPrivatecatalogproducerV1beta1Association
-    :: GoogleCloudPrivatecatalogproducerV1beta1Association
-googleCloudPrivatecatalogproducerV1beta1Association =
-  GoogleCloudPrivatecatalogproducerV1beta1Association'
-    {_gcpvaName = Nothing, _gcpvaResource = Nothing, _gcpvaCreateTime = Nothing}
-
-
--- | Output only. The resource name of the catalog association, in the format
--- \`catalogs\/{catalog_id}\/associations\/{association_id}\'. A unique
--- identifier for the catalog association, which is generated by catalog
--- service.
-gcpvaName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe Text)
-gcpvaName
-  = lens _gcpvaName (\ s a -> s{_gcpvaName = a})
-
--- | Required. The user-supplied fully qualified name of the \`Resource\`
--- associated to the \`Catalog\`. It supports \`Organization\`, \`Folder\`,
--- and \`Project\`. Values are of the form *
--- \`\/\/cloudresourcemanager.googleapis.com\/projects\/{product_number}\`
--- * \`\/\/cloudresourcemanager.googleapis.com\/folders\/{folder_id}\` *
--- \`\/\/cloudresourcemanager.googleapis.com\/organizations\/{organization_id}\`
-gcpvaResource :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe Text)
-gcpvaResource
-  = lens _gcpvaResource
-      (\ s a -> s{_gcpvaResource = a})
-
--- | The creation time of the association.
-gcpvaCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe UTCTime)
-gcpvaCreateTime
-  = lens _gcpvaCreateTime
-      (\ s a -> s{_gcpvaCreateTime = a})
-      . mapping _DateTime
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Association
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1Association"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1Association'
-                   <$>
-                   (o .:? "name") <*> (o .:? "resource") <*>
-                     (o .:? "createTime"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Association
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1Association'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _gcpvaName,
-                  ("resource" .=) <$> _gcpvaResource,
-                  ("createTime" .=) <$> _gcpvaCreateTime])
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListProductsResponse' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse'
-    { _gcpvlprNextPageToken :: !(Maybe Text)
-    , _gcpvlprProducts      :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Product])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvlprNextPageToken'
---
--- * 'gcpvlprProducts'
-googleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-    :: GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-googleCloudPrivatecatalogproducerV1beta1ListProductsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse'
-    {_gcpvlprNextPageToken = Nothing, _gcpvlprProducts = Nothing}
-
-
--- | A pagination token returned from a previous call to ListProducts that
--- indicates where the listing should continue from. This field is
--- optional.
-gcpvlprNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse (Maybe Text)
-gcpvlprNextPageToken
-  = lens _gcpvlprNextPageToken
-      (\ s a -> s{_gcpvlprNextPageToken = a})
-
--- | The \`Product\` returned from the list call.
-gcpvlprProducts :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse [GoogleCloudPrivatecatalogproducerV1beta1Product]
-gcpvlprProducts
-  = lens _gcpvlprProducts
-      (\ s a -> s{_gcpvlprProducts = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse'
-                   <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "products" .!= mempty))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _gcpvlprNextPageToken,
-                  ("products" .=) <$> _gcpvlprProducts])
-
--- | Response message for \`TestIamPermissions\` method.
---
--- /See:/ 'googleIAMV1TestIAMPermissionsResponse' smart constructor.
-newtype GoogleIAMV1TestIAMPermissionsResponse =
-  GoogleIAMV1TestIAMPermissionsResponse'
-    { _giamvtiamprPermissions :: Maybe [Text]
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleIAMV1TestIAMPermissionsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'giamvtiamprPermissions'
-googleIAMV1TestIAMPermissionsResponse
-    :: GoogleIAMV1TestIAMPermissionsResponse
-googleIAMV1TestIAMPermissionsResponse =
-  GoogleIAMV1TestIAMPermissionsResponse' {_giamvtiamprPermissions = Nothing}
-
-
--- | A subset of \`TestPermissionsRequest.permissions\` that the caller is
--- allowed.
-giamvtiamprPermissions :: Lens' GoogleIAMV1TestIAMPermissionsResponse [Text]
-giamvtiamprPermissions
-  = lens _giamvtiamprPermissions
-      (\ s a -> s{_giamvtiamprPermissions = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleIAMV1TestIAMPermissionsResponse
-         where
-        parseJSON
-          = withObject "GoogleIAMV1TestIAMPermissionsResponse"
-              (\ o ->
-                 GoogleIAMV1TestIAMPermissionsResponse' <$>
-                   (o .:? "permissions" .!= mempty))
-
-instance ToJSON GoogleIAMV1TestIAMPermissionsResponse
-         where
-        toJSON GoogleIAMV1TestIAMPermissionsResponse'{..}
-          = object
-              (catMaybes
-                 [("permissions" .=) <$> _giamvtiamprPermissions])
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest'
-    { _gcpvcarAssociation :: Maybe GoogleCloudPrivatecatalogproducerV1beta1Association
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvcarAssociation'
-googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    :: GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest =
-  GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest'
-    {_gcpvcarAssociation = Nothing}
-
-
--- | The user-supplied \`Association\` that is going to be created. If the
--- \`resource\` field is set, the
--- \`privatecatalogproducer.catalogTargets.associate\` permission is
--- checked on the target resource.
-gcpvcarAssociation :: Lens' GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest (Maybe GoogleCloudPrivatecatalogproducerV1beta1Association)
-gcpvcarAssociation
-  = lens _gcpvcarAssociation
-      (\ s a -> s{_gcpvcarAssociation = a})
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest'
-                   <$> (o .:? "association"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest'{..}
-          = object
-              (catMaybes
-                 [("association" .=) <$> _gcpvcarAssociation])
-
--- | Represents an expression text. Example: title: \"User account presence\"
--- description: \"Determines whether the request has a user account\"
--- expression: \"size(request.user) > 0\"
---
--- /See:/ 'googleTypeExpr' smart constructor.
-data GoogleTypeExpr =
-  GoogleTypeExpr'
-    { _gteLocation    :: !(Maybe Text)
-    , _gteExpression  :: !(Maybe Text)
-    , _gteTitle       :: !(Maybe Text)
-    , _gteDescription :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleTypeExpr' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gteLocation'
---
--- * 'gteExpression'
---
--- * 'gteTitle'
---
--- * 'gteDescription'
-googleTypeExpr
-    :: GoogleTypeExpr
-googleTypeExpr =
-  GoogleTypeExpr'
-    { _gteLocation = Nothing
-    , _gteExpression = Nothing
-    , _gteTitle = Nothing
-    , _gteDescription = Nothing
-    }
-
-
--- | An optional string indicating the location of the expression for error
--- reporting, e.g. a file name and a position in the file.
-gteLocation :: Lens' GoogleTypeExpr (Maybe Text)
-gteLocation
-  = lens _gteLocation (\ s a -> s{_gteLocation = a})
-
--- | Textual representation of an expression in Common Expression Language
--- syntax. The application context of the containing message determines
--- which well-known feature set of CEL is supported.
-gteExpression :: Lens' GoogleTypeExpr (Maybe Text)
-gteExpression
-  = lens _gteExpression
-      (\ s a -> s{_gteExpression = a})
-
--- | An optional title for the expression, i.e. a short string describing its
--- purpose. This can be used e.g. in UIs which allow to enter the
--- expression.
-gteTitle :: Lens' GoogleTypeExpr (Maybe Text)
-gteTitle = lens _gteTitle (\ s a -> s{_gteTitle = a})
-
--- | An optional description of the expression. This is a longer text which
--- describes the expression, e.g. when hovered over it in a UI.
-gteDescription :: Lens' GoogleTypeExpr (Maybe Text)
-gteDescription
-  = lens _gteDescription
-      (\ s a -> s{_gteDescription = a})
-
-instance FromJSON GoogleTypeExpr where
-        parseJSON
-          = withObject "GoogleTypeExpr"
-              (\ o ->
-                 GoogleTypeExpr' <$>
-                   (o .:? "location") <*> (o .:? "expression") <*>
-                     (o .:? "title")
-                     <*> (o .:? "description"))
-
-instance ToJSON GoogleTypeExpr where
-        toJSON GoogleTypeExpr'{..}
-          = object
-              (catMaybes
-                 [("location" .=) <$> _gteLocation,
-                  ("expression" .=) <$> _gteExpression,
-                  ("title" .=) <$> _gteTitle,
-                  ("description" .=) <$> _gteDescription])
-
--- | This resource represents a long-running operation that is the result of
--- a network API call.
---
--- /See:/ 'googleLongrunningOperation' smart constructor.
-data GoogleLongrunningOperation =
-  GoogleLongrunningOperation'
-    { _gloDone     :: !(Maybe Bool)
-    , _gloError    :: !(Maybe GoogleRpcStatus)
-    , _gloResponse :: !(Maybe GoogleLongrunningOperationResponse)
-    , _gloName     :: !(Maybe Text)
-    , _gloMetadata :: !(Maybe GoogleLongrunningOperationMetadata)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleLongrunningOperation' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gloDone'
---
--- * 'gloError'
---
--- * 'gloResponse'
---
--- * 'gloName'
---
--- * 'gloMetadata'
-googleLongrunningOperation
-    :: GoogleLongrunningOperation
-googleLongrunningOperation =
-  GoogleLongrunningOperation'
-    { _gloDone = Nothing
-    , _gloError = Nothing
-    , _gloResponse = Nothing
-    , _gloName = Nothing
-    , _gloMetadata = Nothing
-    }
-
-
--- | If the value is \`false\`, it means the operation is still in progress.
--- If \`true\`, the operation is completed, and either \`error\` or
--- \`response\` is available.
-gloDone :: Lens' GoogleLongrunningOperation (Maybe Bool)
-gloDone = lens _gloDone (\ s a -> s{_gloDone = a})
-
--- | The error result of the operation in case of failure or cancellation.
-gloError :: Lens' GoogleLongrunningOperation (Maybe GoogleRpcStatus)
-gloError = lens _gloError (\ s a -> s{_gloError = a})
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as \`Delete\`, the response is
--- \`google.protobuf.Empty\`. If the original method is standard
--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
--- For other methods, the response should have the type \`XxxResponse\`,
--- where \`Xxx\` is the original method name. For example, if the original
--- method name is \`TakeSnapshot()\`, the inferred response type is
--- \`TakeSnapshotResponse\`.
-gloResponse :: Lens' GoogleLongrunningOperation (Maybe GoogleLongrunningOperationResponse)
-gloResponse
-  = lens _gloResponse (\ s a -> s{_gloResponse = a})
-
--- | The server-assigned name, which is only unique within the same service
--- that originally returns it. If you use the default HTTP mapping, the
--- \`name\` should have the format of \`operations\/some\/unique\/name\`.
-gloName :: Lens' GoogleLongrunningOperation (Maybe Text)
-gloName = lens _gloName (\ s a -> s{_gloName = a})
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
-gloMetadata :: Lens' GoogleLongrunningOperation (Maybe GoogleLongrunningOperationMetadata)
-gloMetadata
-  = lens _gloMetadata (\ s a -> s{_gloMetadata = a})
-
-instance FromJSON GoogleLongrunningOperation where
-        parseJSON
-          = withObject "GoogleLongrunningOperation"
-              (\ o ->
-                 GoogleLongrunningOperation' <$>
-                   (o .:? "done") <*> (o .:? "error") <*>
-                     (o .:? "response")
-                     <*> (o .:? "name")
-                     <*> (o .:? "metadata"))
-
-instance ToJSON GoogleLongrunningOperation where
-        toJSON GoogleLongrunningOperation'{..}
-          = object
-              (catMaybes
-                 [("done" .=) <$> _gloDone,
-                  ("error" .=) <$> _gloError,
-                  ("response" .=) <$> _gloResponse,
-                  ("name" .=) <$> _gloName,
-                  ("metadata" .=) <$> _gloMetadata])
-
--- | The producer representation of a product which is a child resource of
--- \`Catalog\` with display metadata and a list of \`Version\` resources.
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Product' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1Product =
-  GoogleCloudPrivatecatalogproducerV1beta1Product'
-    { _gcpvpIconURI         :: !(Maybe Text)
-    , _gcpvpUpdateTime      :: !(Maybe DateTime')
-    , _gcpvpDisplayMetadata :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata)
-    , _gcpvpName            :: !(Maybe Text)
-    , _gcpvpAssetType       :: !(Maybe Text)
-    , _gcpvpCreateTime      :: !(Maybe DateTime')
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Product' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvpIconURI'
---
--- * 'gcpvpUpdateTime'
---
--- * 'gcpvpDisplayMetadata'
---
--- * 'gcpvpName'
---
--- * 'gcpvpAssetType'
---
--- * 'gcpvpCreateTime'
-googleCloudPrivatecatalogproducerV1beta1Product
-    :: GoogleCloudPrivatecatalogproducerV1beta1Product
-googleCloudPrivatecatalogproducerV1beta1Product =
-  GoogleCloudPrivatecatalogproducerV1beta1Product'
-    { _gcpvpIconURI = Nothing
-    , _gcpvpUpdateTime = Nothing
-    , _gcpvpDisplayMetadata = Nothing
-    , _gcpvpName = Nothing
-    , _gcpvpAssetType = Nothing
-    , _gcpvpCreateTime = Nothing
-    }
-
-
--- | Output only. The public accessible URI of the icon uploaded by
--- PrivateCatalogProducer.UploadIcon. If no icon is uploaded, it will be
--- the default icon\'s URI.
-gcpvpIconURI :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text)
-gcpvpIconURI
-  = lens _gcpvpIconURI (\ s a -> s{_gcpvpIconURI = a})
-
--- | Output only. The time when the product was last updated.
-gcpvpUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe UTCTime)
-gcpvpUpdateTime
-  = lens _gcpvpUpdateTime
-      (\ s a -> s{_gcpvpUpdateTime = a})
-      . mapping _DateTime
-
--- | The user-supplied display metadata to describe the product. The JSON
--- schema of the metadata differs by Product.asset_type. When the type is
--- \`google.deploymentmanager.Template\`, the schema is as follows: \`\`\`
--- \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type: object
--- properties: name: type: string minLength: 1 maxLength: 64 description:
--- type: string minLength: 1 maxLength: 2048 tagline: type: string
--- minLength: 1 maxLength: 100 support_info: type: string minLength: 1
--- maxLength: 2048 creator: type: string minLength: 1 maxLength: 100
--- documentation: type: array items: type: object properties: url: type:
--- string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- title: type: string minLength: 1 maxLength: 64 description: type: string
--- minLength: 1 maxLength: 2048 required: - name - description
--- additionalProperties: false \`\`\` When the asset type is
--- \`google.cloudprivatecatalog.ListingOnly\`, the schema is as follows:
--- \`\`\` \"$schema\": http:\/\/json-schema.org\/draft-04\/schema# type:
--- object properties: name: type: string minLength: 1 maxLength: 64
--- description: type: string minLength: 1 maxLength: 2048 tagline: type:
--- string minLength: 1 maxLength: 100 support_info: type: string minLength:
--- 1 maxLength: 2048 creator: type: string minLength: 1 maxLength: 100
--- documentation: type: array items: type: object properties: url: type:
--- string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- title: type: string minLength: 1 maxLength: 64 description: type: string
--- minLength: 1 maxLength: 2048 signup_url: type: string pattern:
--- \"^(https?):\/\/[-a-zA-Z0-9+&\'#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&\'#\/%=~_|]\"
--- required: - name - description - signup_url additionalProperties: false
--- \`\`\`
-gcpvpDisplayMetadata :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata)
-gcpvpDisplayMetadata
-  = lens _gcpvpDisplayMetadata
-      (\ s a -> s{_gcpvpDisplayMetadata = a})
-
--- | Required. The resource name of the product in the format
--- \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'. A unique identifier
--- for the product under a catalog, which cannot be changed after the
--- product is created. The final segment of the name must between 1 and 256
--- characters in length.
-gcpvpName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text)
-gcpvpName
-  = lens _gcpvpName (\ s a -> s{_gcpvpName = a})
-
--- | Required. The type of the product asset, which cannot be changed after
--- the product is created. It supports the values
--- \`google.deploymentmanager.Template\` and
--- \`google.cloudprivatecatalog.ListingOnly\`. Other values will be
--- rejected by the server. Read only after creation. The following fields
--- or resource types have different validation rules under each
--- \`asset_type\` values: * Product.display_metadata has different
--- validation schema for each asset type value. See its comment for
--- details. * Version resource isn\'t allowed to be added under the
--- \`google.cloudprivatecatalog.ListingOnly\` type.
-gcpvpAssetType :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text)
-gcpvpAssetType
-  = lens _gcpvpAssetType
-      (\ s a -> s{_gcpvpAssetType = a})
-
--- | Output only. The time when the product was created.
-gcpvpCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe UTCTime)
-gcpvpCreateTime
-  = lens _gcpvpCreateTime
-      (\ s a -> s{_gcpvpCreateTime = a})
-      . mapping _DateTime
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Product
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1Product"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1Product' <$>
-                   (o .:? "iconUri") <*> (o .:? "updateTime") <*>
-                     (o .:? "displayMetadata")
-                     <*> (o .:? "name")
-                     <*> (o .:? "assetType")
-                     <*> (o .:? "createTime"))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1Product
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1Product'{..}
-          = object
-              (catMaybes
-                 [("iconUri" .=) <$> _gcpvpIconURI,
-                  ("updateTime" .=) <$> _gcpvpUpdateTime,
-                  ("displayMetadata" .=) <$> _gcpvpDisplayMetadata,
-                  ("name" .=) <$> _gcpvpName,
-                  ("assetType" .=) <$> _gcpvpAssetType,
-                  ("createTime" .=) <$> _gcpvpCreateTime])
-
--- | The user-supplied asset payload. The maximum size of the payload is 2MB.
--- The JSON schema of the payload is defined as: \`\`\` type: object
--- properties: mainTemplate: type: string description: The file name of the
--- main template and name prefix of schema file. The content of the main
--- template should be set in the imports list. The schema file name is
--- expected to be .schema in the imports list. required: true imports:
--- type: array description: Import template and schema file contents.
--- Required to have both and .schema files. required: true minItems: 2
--- items: type: object properties: name: type: string content: type: string
--- \`\`\`
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' smart constructor.
-newtype GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset =
-  GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset'
-    { _gcpvvoaAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvvoaAddtional'
-googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-    :: HashMap Text JSONValue -- ^ 'gcpvvoaAddtional'
-    -> GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset pGcpvvoaAddtional_ =
-  GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset'
-    {_gcpvvoaAddtional = _Coerce # pGcpvvoaAddtional_}
-
-
--- | Properties of the object.
-gcpvvoaAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset (HashMap Text JSONValue)
-gcpvvoaAddtional
-  = lens _gcpvvoaAddtional
-      (\ s a -> s{_gcpvvoaAddtional = a})
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset'
-                   <$> (parseJSONObject o))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset
-         where
-        toJSON = toJSON . _gcpvvoaAddtional
-
---
--- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' smart constructor.
-data GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse'
-    { _gcpvlarNextPageToken :: !(Maybe Text)
-    , _gcpvlarAssociations  :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Association])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gcpvlarNextPageToken'
---
--- * 'gcpvlarAssociations'
-googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-    :: GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse =
-  GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse'
-    {_gcpvlarNextPageToken = Nothing, _gcpvlarAssociations = Nothing}
-
-
--- | A pagination token returned from a previous call to \`ListAssociations\`
--- that indicates where the listing should continue from. This field is
--- optional.
-gcpvlarNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse (Maybe Text)
-gcpvlarNextPageToken
-  = lens _gcpvlarNextPageToken
-      (\ s a -> s{_gcpvlarNextPageToken = a})
-
--- | The returned \`Association\` resources from the list call.
-gcpvlarAssociations :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse [GoogleCloudPrivatecatalogproducerV1beta1Association]
-gcpvlarAssociations
-  = lens _gcpvlarAssociations
-      (\ s a -> s{_gcpvlarAssociations = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-         where
-        parseJSON
-          = withObject
-              "GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse"
-              (\ o ->
-                 GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse'
-                   <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "associations" .!= mempty))
-
-instance ToJSON
-           GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-         where
-        toJSON
-          GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _gcpvlarNextPageToken,
-                  ("associations" .=) <$> _gcpvlarAssociations])
diff --git a/gen/Network/Google/CloudPrivateCatalogProducer/Types/Sum.hs b/gen/Network/Google/CloudPrivateCatalogProducer/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/CloudPrivateCatalogProducer/Types/Sum.hs
+++ /dev/null
@@ -1,87 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.CloudPrivateCatalogProducer.Types.Sum
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.Google.CloudPrivateCatalogProducer.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
-
--- | The log type that this config enables.
-data GoogleIAMV1AuditLogConfigLogType
-    = LogTypeUnspecified
-      -- ^ @LOG_TYPE_UNSPECIFIED@
-      -- Default case. Should never be this.
-    | AdminRead
-      -- ^ @ADMIN_READ@
-      -- Admin reads. Example: CloudIAM getIamPolicy
-    | DataWrite
-      -- ^ @DATA_WRITE@
-      -- Data writes. Example: CloudSQL Users create
-    | DataRead
-      -- ^ @DATA_READ@
-      -- Data reads. Example: CloudSQL Users list
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable GoogleIAMV1AuditLogConfigLogType
-
-instance FromHttpApiData GoogleIAMV1AuditLogConfigLogType where
-    parseQueryParam = \case
-        "LOG_TYPE_UNSPECIFIED" -> Right LogTypeUnspecified
-        "ADMIN_READ" -> Right AdminRead
-        "DATA_WRITE" -> Right DataWrite
-        "DATA_READ" -> Right DataRead
-        x -> Left ("Unable to parse GoogleIAMV1AuditLogConfigLogType from: " <> x)
-
-instance ToHttpApiData GoogleIAMV1AuditLogConfigLogType where
-    toQueryParam = \case
-        LogTypeUnspecified -> "LOG_TYPE_UNSPECIFIED"
-        AdminRead -> "ADMIN_READ"
-        DataWrite -> "DATA_WRITE"
-        DataRead -> "DATA_READ"
-
-instance FromJSON GoogleIAMV1AuditLogConfigLogType where
-    parseJSON = parseJSONText "GoogleIAMV1AuditLogConfigLogType"
-
-instance ToJSON GoogleIAMV1AuditLogConfigLogType where
-    toJSON = toJSONText
-
--- | V1 error format.
-data Xgafv
-    = X1
-      -- ^ @1@
-      -- v1 error format
-    | X2
-      -- ^ @2@
-      -- v2 error format
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable Xgafv
-
-instance FromHttpApiData Xgafv where
-    parseQueryParam = \case
-        "1" -> Right X1
-        "2" -> Right X2
-        x -> Left ("Unable to parse Xgafv from: " <> x)
-
-instance ToHttpApiData Xgafv where
-    toQueryParam = \case
-        X1 -> "1"
-        X2 -> "2"
-
-instance FromJSON Xgafv where
-    parseJSON = parseJSONText "Xgafv"
-
-instance ToJSON Xgafv where
-    toJSON = toJSONText
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs
+++ /dev/null
@@ -1,169 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Associations.Create
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates an Association instance under a given Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.create@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Create
-    (
-    -- * REST Resource
-      CatalogsAssociationsCreateResource
-
-    -- * Creating a Request
-    , catalogsAssociationsCreate
-    , CatalogsAssociationsCreate
-
-    -- * Request Lenses
-    , cacParent
-    , cacXgafv
-    , cacUploadProtocol
-    , cacAccessToken
-    , cacUploadType
-    , cacPayload
-    , cacCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.create@ method which the
--- 'CatalogsAssociationsCreate' request conforms to.
-type CatalogsAssociationsCreateResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "associations" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-                         :>
-                         Post '[JSON]
-                           GoogleCloudPrivatecatalogproducerV1beta1Association
-
--- | Creates an Association instance under a given Catalog.
---
--- /See:/ 'catalogsAssociationsCreate' smart constructor.
-data CatalogsAssociationsCreate =
-  CatalogsAssociationsCreate'
-    { _cacParent         :: !Text
-    , _cacXgafv          :: !(Maybe Xgafv)
-    , _cacUploadProtocol :: !(Maybe Text)
-    , _cacAccessToken    :: !(Maybe Text)
-    , _cacUploadType     :: !(Maybe Text)
-    , _cacPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-    , _cacCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsAssociationsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cacParent'
---
--- * 'cacXgafv'
---
--- * 'cacUploadProtocol'
---
--- * 'cacAccessToken'
---
--- * 'cacUploadType'
---
--- * 'cacPayload'
---
--- * 'cacCallback'
-catalogsAssociationsCreate
-    :: Text -- ^ 'cacParent'
-    -> GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest -- ^ 'cacPayload'
-    -> CatalogsAssociationsCreate
-catalogsAssociationsCreate pCacParent_ pCacPayload_ =
-  CatalogsAssociationsCreate'
-    { _cacParent = pCacParent_
-    , _cacXgafv = Nothing
-    , _cacUploadProtocol = Nothing
-    , _cacAccessToken = Nothing
-    , _cacUploadType = Nothing
-    , _cacPayload = pCacPayload_
-    , _cacCallback = Nothing
-    }
-
-
--- | The \`Catalog\` resource\'s name.
-cacParent :: Lens' CatalogsAssociationsCreate Text
-cacParent
-  = lens _cacParent (\ s a -> s{_cacParent = a})
-
--- | V1 error format.
-cacXgafv :: Lens' CatalogsAssociationsCreate (Maybe Xgafv)
-cacXgafv = lens _cacXgafv (\ s a -> s{_cacXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cacUploadProtocol :: Lens' CatalogsAssociationsCreate (Maybe Text)
-cacUploadProtocol
-  = lens _cacUploadProtocol
-      (\ s a -> s{_cacUploadProtocol = a})
-
--- | OAuth access token.
-cacAccessToken :: Lens' CatalogsAssociationsCreate (Maybe Text)
-cacAccessToken
-  = lens _cacAccessToken
-      (\ s a -> s{_cacAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cacUploadType :: Lens' CatalogsAssociationsCreate (Maybe Text)
-cacUploadType
-  = lens _cacUploadType
-      (\ s a -> s{_cacUploadType = a})
-
--- | Multipart request metadata.
-cacPayload :: Lens' CatalogsAssociationsCreate GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest
-cacPayload
-  = lens _cacPayload (\ s a -> s{_cacPayload = a})
-
--- | JSONP
-cacCallback :: Lens' CatalogsAssociationsCreate (Maybe Text)
-cacCallback
-  = lens _cacCallback (\ s a -> s{_cacCallback = a})
-
-instance GoogleRequest CatalogsAssociationsCreate
-         where
-        type Rs CatalogsAssociationsCreate =
-             GoogleCloudPrivatecatalogproducerV1beta1Association
-        type Scopes CatalogsAssociationsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsAssociationsCreate'{..}
-          = go _cacParent _cacXgafv _cacUploadProtocol
-              _cacAccessToken
-              _cacUploadType
-              _cacCallback
-              (Just AltJSON)
-              _cacPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsAssociationsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs
+++ /dev/null
@@ -1,151 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes the given Association.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.delete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
-    (
-    -- * REST Resource
-      CatalogsAssociationsDeleteResource
-
-    -- * Creating a Request
-    , catalogsAssociationsDelete
-    , CatalogsAssociationsDelete
-
-    -- * Request Lenses
-    , cadXgafv
-    , cadUploadProtocol
-    , cadAccessToken
-    , cadUploadType
-    , cadName
-    , cadCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.delete@ method which the
--- 'CatalogsAssociationsDelete' request conforms to.
-type CatalogsAssociationsDeleteResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Delete '[JSON] GoogleProtobufEmpty
-
--- | Deletes the given Association.
---
--- /See:/ 'catalogsAssociationsDelete' smart constructor.
-data CatalogsAssociationsDelete =
-  CatalogsAssociationsDelete'
-    { _cadXgafv          :: !(Maybe Xgafv)
-    , _cadUploadProtocol :: !(Maybe Text)
-    , _cadAccessToken    :: !(Maybe Text)
-    , _cadUploadType     :: !(Maybe Text)
-    , _cadName           :: !Text
-    , _cadCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsAssociationsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cadXgafv'
---
--- * 'cadUploadProtocol'
---
--- * 'cadAccessToken'
---
--- * 'cadUploadType'
---
--- * 'cadName'
---
--- * 'cadCallback'
-catalogsAssociationsDelete
-    :: Text -- ^ 'cadName'
-    -> CatalogsAssociationsDelete
-catalogsAssociationsDelete pCadName_ =
-  CatalogsAssociationsDelete'
-    { _cadXgafv = Nothing
-    , _cadUploadProtocol = Nothing
-    , _cadAccessToken = Nothing
-    , _cadUploadType = Nothing
-    , _cadName = pCadName_
-    , _cadCallback = Nothing
-    }
-
-
--- | V1 error format.
-cadXgafv :: Lens' CatalogsAssociationsDelete (Maybe Xgafv)
-cadXgafv = lens _cadXgafv (\ s a -> s{_cadXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cadUploadProtocol :: Lens' CatalogsAssociationsDelete (Maybe Text)
-cadUploadProtocol
-  = lens _cadUploadProtocol
-      (\ s a -> s{_cadUploadProtocol = a})
-
--- | OAuth access token.
-cadAccessToken :: Lens' CatalogsAssociationsDelete (Maybe Text)
-cadAccessToken
-  = lens _cadAccessToken
-      (\ s a -> s{_cadAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cadUploadType :: Lens' CatalogsAssociationsDelete (Maybe Text)
-cadUploadType
-  = lens _cadUploadType
-      (\ s a -> s{_cadUploadType = a})
-
--- | The resource name of the \`Association\` to delete.
-cadName :: Lens' CatalogsAssociationsDelete Text
-cadName = lens _cadName (\ s a -> s{_cadName = a})
-
--- | JSONP
-cadCallback :: Lens' CatalogsAssociationsDelete (Maybe Text)
-cadCallback
-  = lens _cadCallback (\ s a -> s{_cadCallback = a})
-
-instance GoogleRequest CatalogsAssociationsDelete
-         where
-        type Rs CatalogsAssociationsDelete =
-             GoogleProtobufEmpty
-        type Scopes CatalogsAssociationsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsAssociationsDelete'{..}
-          = go _cadName _cadXgafv _cadUploadProtocol
-              _cadAccessToken
-              _cadUploadType
-              _cadCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsAssociationsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs
+++ /dev/null
@@ -1,151 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Associations.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Returns the requested Association resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.get@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Get
-    (
-    -- * REST Resource
-      CatalogsAssociationsGetResource
-
-    -- * Creating a Request
-    , catalogsAssociationsGet
-    , CatalogsAssociationsGet
-
-    -- * Request Lenses
-    , cagXgafv
-    , cagUploadProtocol
-    , cagAccessToken
-    , cagUploadType
-    , cagName
-    , cagCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.get@ method which the
--- 'CatalogsAssociationsGet' request conforms to.
-type CatalogsAssociationsGetResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1Association
-
--- | Returns the requested Association resource.
---
--- /See:/ 'catalogsAssociationsGet' smart constructor.
-data CatalogsAssociationsGet =
-  CatalogsAssociationsGet'
-    { _cagXgafv          :: !(Maybe Xgafv)
-    , _cagUploadProtocol :: !(Maybe Text)
-    , _cagAccessToken    :: !(Maybe Text)
-    , _cagUploadType     :: !(Maybe Text)
-    , _cagName           :: !Text
-    , _cagCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsAssociationsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cagXgafv'
---
--- * 'cagUploadProtocol'
---
--- * 'cagAccessToken'
---
--- * 'cagUploadType'
---
--- * 'cagName'
---
--- * 'cagCallback'
-catalogsAssociationsGet
-    :: Text -- ^ 'cagName'
-    -> CatalogsAssociationsGet
-catalogsAssociationsGet pCagName_ =
-  CatalogsAssociationsGet'
-    { _cagXgafv = Nothing
-    , _cagUploadProtocol = Nothing
-    , _cagAccessToken = Nothing
-    , _cagUploadType = Nothing
-    , _cagName = pCagName_
-    , _cagCallback = Nothing
-    }
-
-
--- | V1 error format.
-cagXgafv :: Lens' CatalogsAssociationsGet (Maybe Xgafv)
-cagXgafv = lens _cagXgafv (\ s a -> s{_cagXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cagUploadProtocol :: Lens' CatalogsAssociationsGet (Maybe Text)
-cagUploadProtocol
-  = lens _cagUploadProtocol
-      (\ s a -> s{_cagUploadProtocol = a})
-
--- | OAuth access token.
-cagAccessToken :: Lens' CatalogsAssociationsGet (Maybe Text)
-cagAccessToken
-  = lens _cagAccessToken
-      (\ s a -> s{_cagAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cagUploadType :: Lens' CatalogsAssociationsGet (Maybe Text)
-cagUploadType
-  = lens _cagUploadType
-      (\ s a -> s{_cagUploadType = a})
-
--- | The resource name of the \`Association\` to retrieve.
-cagName :: Lens' CatalogsAssociationsGet Text
-cagName = lens _cagName (\ s a -> s{_cagName = a})
-
--- | JSONP
-cagCallback :: Lens' CatalogsAssociationsGet (Maybe Text)
-cagCallback
-  = lens _cagCallback (\ s a -> s{_cagCallback = a})
-
-instance GoogleRequest CatalogsAssociationsGet where
-        type Rs CatalogsAssociationsGet =
-             GoogleCloudPrivatecatalogproducerV1beta1Association
-        type Scopes CatalogsAssociationsGet =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsAssociationsGet'{..}
-          = go _cagName _cagXgafv _cagUploadProtocol
-              _cagAccessToken
-              _cagUploadType
-              _cagCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsAssociationsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs
+++ /dev/null
@@ -1,180 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Associations.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists all Association resources under a catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.associations.list@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.List
-    (
-    -- * REST Resource
-      CatalogsAssociationsListResource
-
-    -- * Creating a Request
-    , catalogsAssociationsList
-    , CatalogsAssociationsList
-
-    -- * Request Lenses
-    , calParent
-    , calXgafv
-    , calUploadProtocol
-    , calAccessToken
-    , calUploadType
-    , calPageToken
-    , calPageSize
-    , calCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.associations.list@ method which the
--- 'CatalogsAssociationsList' request conforms to.
-type CatalogsAssociationsListResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "associations" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "pageSize" (Textual Int32) :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           Get '[JSON]
-                             GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-
--- | Lists all Association resources under a catalog.
---
--- /See:/ 'catalogsAssociationsList' smart constructor.
-data CatalogsAssociationsList =
-  CatalogsAssociationsList'
-    { _calParent         :: !Text
-    , _calXgafv          :: !(Maybe Xgafv)
-    , _calUploadProtocol :: !(Maybe Text)
-    , _calAccessToken    :: !(Maybe Text)
-    , _calUploadType     :: !(Maybe Text)
-    , _calPageToken      :: !(Maybe Text)
-    , _calPageSize       :: !(Maybe (Textual Int32))
-    , _calCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsAssociationsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'calParent'
---
--- * 'calXgafv'
---
--- * 'calUploadProtocol'
---
--- * 'calAccessToken'
---
--- * 'calUploadType'
---
--- * 'calPageToken'
---
--- * 'calPageSize'
---
--- * 'calCallback'
-catalogsAssociationsList
-    :: Text -- ^ 'calParent'
-    -> CatalogsAssociationsList
-catalogsAssociationsList pCalParent_ =
-  CatalogsAssociationsList'
-    { _calParent = pCalParent_
-    , _calXgafv = Nothing
-    , _calUploadProtocol = Nothing
-    , _calAccessToken = Nothing
-    , _calUploadType = Nothing
-    , _calPageToken = Nothing
-    , _calPageSize = Nothing
-    , _calCallback = Nothing
-    }
-
-
--- | The resource name of the \`Catalog\` whose \`Associations\` are being
--- retrieved. In the format \`catalogs\/\`.
-calParent :: Lens' CatalogsAssociationsList Text
-calParent
-  = lens _calParent (\ s a -> s{_calParent = a})
-
--- | V1 error format.
-calXgafv :: Lens' CatalogsAssociationsList (Maybe Xgafv)
-calXgafv = lens _calXgafv (\ s a -> s{_calXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-calUploadProtocol :: Lens' CatalogsAssociationsList (Maybe Text)
-calUploadProtocol
-  = lens _calUploadProtocol
-      (\ s a -> s{_calUploadProtocol = a})
-
--- | OAuth access token.
-calAccessToken :: Lens' CatalogsAssociationsList (Maybe Text)
-calAccessToken
-  = lens _calAccessToken
-      (\ s a -> s{_calAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-calUploadType :: Lens' CatalogsAssociationsList (Maybe Text)
-calUploadType
-  = lens _calUploadType
-      (\ s a -> s{_calUploadType = a})
-
--- | A pagination token returned from the previous call to
--- \`ListAssociations\`.
-calPageToken :: Lens' CatalogsAssociationsList (Maybe Text)
-calPageToken
-  = lens _calPageToken (\ s a -> s{_calPageToken = a})
-
--- | The maximum number of catalog associations to return.
-calPageSize :: Lens' CatalogsAssociationsList (Maybe Int32)
-calPageSize
-  = lens _calPageSize (\ s a -> s{_calPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-calCallback :: Lens' CatalogsAssociationsList (Maybe Text)
-calCallback
-  = lens _calCallback (\ s a -> s{_calCallback = a})
-
-instance GoogleRequest CatalogsAssociationsList where
-        type Rs CatalogsAssociationsList =
-             GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse
-        type Scopes CatalogsAssociationsList =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsAssociationsList'{..}
-          = go _calParent _calXgafv _calUploadProtocol
-              _calAccessToken
-              _calUploadType
-              _calPageToken
-              _calPageSize
-              _calCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsAssociationsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Create.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Create.hs
+++ /dev/null
@@ -1,150 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Create
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates a new Catalog resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.create@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Create
-    (
-    -- * REST Resource
-      CatalogsCreateResource
-
-    -- * Creating a Request
-    , catalogsCreate
-    , CatalogsCreate
-
-    -- * Request Lenses
-    , ccXgafv
-    , ccUploadProtocol
-    , ccAccessToken
-    , ccUploadType
-    , ccPayload
-    , ccCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.create@ method which the
--- 'CatalogsCreate' request conforms to.
-type CatalogsCreateResource =
-     "v1beta1" :>
-       "catalogs" :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1Catalog
-                       :> Post '[JSON] GoogleLongrunningOperation
-
--- | Creates a new Catalog resource.
---
--- /See:/ 'catalogsCreate' smart constructor.
-data CatalogsCreate =
-  CatalogsCreate'
-    { _ccXgafv          :: !(Maybe Xgafv)
-    , _ccUploadProtocol :: !(Maybe Text)
-    , _ccAccessToken    :: !(Maybe Text)
-    , _ccUploadType     :: !(Maybe Text)
-    , _ccPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , _ccCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ccXgafv'
---
--- * 'ccUploadProtocol'
---
--- * 'ccAccessToken'
---
--- * 'ccUploadType'
---
--- * 'ccPayload'
---
--- * 'ccCallback'
-catalogsCreate
-    :: GoogleCloudPrivatecatalogproducerV1beta1Catalog -- ^ 'ccPayload'
-    -> CatalogsCreate
-catalogsCreate pCcPayload_ =
-  CatalogsCreate'
-    { _ccXgafv = Nothing
-    , _ccUploadProtocol = Nothing
-    , _ccAccessToken = Nothing
-    , _ccUploadType = Nothing
-    , _ccPayload = pCcPayload_
-    , _ccCallback = Nothing
-    }
-
-
--- | V1 error format.
-ccXgafv :: Lens' CatalogsCreate (Maybe Xgafv)
-ccXgafv = lens _ccXgafv (\ s a -> s{_ccXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-ccUploadProtocol :: Lens' CatalogsCreate (Maybe Text)
-ccUploadProtocol
-  = lens _ccUploadProtocol
-      (\ s a -> s{_ccUploadProtocol = a})
-
--- | OAuth access token.
-ccAccessToken :: Lens' CatalogsCreate (Maybe Text)
-ccAccessToken
-  = lens _ccAccessToken
-      (\ s a -> s{_ccAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-ccUploadType :: Lens' CatalogsCreate (Maybe Text)
-ccUploadType
-  = lens _ccUploadType (\ s a -> s{_ccUploadType = a})
-
--- | Multipart request metadata.
-ccPayload :: Lens' CatalogsCreate GoogleCloudPrivatecatalogproducerV1beta1Catalog
-ccPayload
-  = lens _ccPayload (\ s a -> s{_ccPayload = a})
-
--- | JSONP
-ccCallback :: Lens' CatalogsCreate (Maybe Text)
-ccCallback
-  = lens _ccCallback (\ s a -> s{_ccCallback = a})
-
-instance GoogleRequest CatalogsCreate where
-        type Rs CatalogsCreate = GoogleLongrunningOperation
-        type Scopes CatalogsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsCreate'{..}
-          = go _ccXgafv _ccUploadProtocol _ccAccessToken
-              _ccUploadType
-              _ccCallback
-              (Just AltJSON)
-              _ccPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy CatalogsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Delete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Delete.hs
+++ /dev/null
@@ -1,167 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.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://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.delete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Delete
-    (
-    -- * REST Resource
-      CatalogsDeleteResource
-
-    -- * Creating a Request
-    , catalogsDelete
-    , CatalogsDelete
-
-    -- * Request Lenses
-    , cdXgafv
-    , cdUploadProtocol
-    , cdForce
-    , cdAccessToken
-    , cdUploadType
-    , cdName
-    , cdCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.delete@ method which the
--- 'CatalogsDelete' request conforms to.
-type CatalogsDeleteResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "force" Bool :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       Delete '[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:/ 'catalogsDelete' smart constructor.
-data CatalogsDelete =
-  CatalogsDelete'
-    { _cdXgafv          :: !(Maybe Xgafv)
-    , _cdUploadProtocol :: !(Maybe Text)
-    , _cdForce          :: !(Maybe Bool)
-    , _cdAccessToken    :: !(Maybe Text)
-    , _cdUploadType     :: !(Maybe Text)
-    , _cdName           :: !Text
-    , _cdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cdXgafv'
---
--- * 'cdUploadProtocol'
---
--- * 'cdForce'
---
--- * 'cdAccessToken'
---
--- * 'cdUploadType'
---
--- * 'cdName'
---
--- * 'cdCallback'
-catalogsDelete
-    :: Text -- ^ 'cdName'
-    -> CatalogsDelete
-catalogsDelete pCdName_ =
-  CatalogsDelete'
-    { _cdXgafv = Nothing
-    , _cdUploadProtocol = Nothing
-    , _cdForce = Nothing
-    , _cdAccessToken = Nothing
-    , _cdUploadType = Nothing
-    , _cdName = pCdName_
-    , _cdCallback = Nothing
-    }
-
-
--- | V1 error format.
-cdXgafv :: Lens' CatalogsDelete (Maybe Xgafv)
-cdXgafv = lens _cdXgafv (\ s a -> s{_cdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cdUploadProtocol :: Lens' CatalogsDelete (Maybe Text)
-cdUploadProtocol
-  = lens _cdUploadProtocol
-      (\ s a -> s{_cdUploadProtocol = a})
-
--- | 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.
-cdForce :: Lens' CatalogsDelete (Maybe Bool)
-cdForce = lens _cdForce (\ s a -> s{_cdForce = a})
-
--- | OAuth access token.
-cdAccessToken :: Lens' CatalogsDelete (Maybe Text)
-cdAccessToken
-  = lens _cdAccessToken
-      (\ s a -> s{_cdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cdUploadType :: Lens' CatalogsDelete (Maybe Text)
-cdUploadType
-  = lens _cdUploadType (\ s a -> s{_cdUploadType = a})
-
--- | The resource name of the catalog.
-cdName :: Lens' CatalogsDelete Text
-cdName = lens _cdName (\ s a -> s{_cdName = a})
-
--- | JSONP
-cdCallback :: Lens' CatalogsDelete (Maybe Text)
-cdCallback
-  = lens _cdCallback (\ s a -> s{_cdCallback = a})
-
-instance GoogleRequest CatalogsDelete where
-        type Rs CatalogsDelete =
-             GoogleCloudPrivatecatalogproducerV1beta1Catalog
-        type Scopes CatalogsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsDelete'{..}
-          = go _cdName _cdXgafv _cdUploadProtocol _cdForce
-              _cdAccessToken
-              _cdUploadType
-              _cdCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy CatalogsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Get.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Get.hs
+++ /dev/null
@@ -1,149 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Returns the requested Catalog resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.get@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Get
-    (
-    -- * REST Resource
-      CatalogsGetResource
-
-    -- * Creating a Request
-    , catalogsGet
-    , CatalogsGet
-
-    -- * Request Lenses
-    , cgXgafv
-    , cgUploadProtocol
-    , cgAccessToken
-    , cgUploadType
-    , cgName
-    , cgCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.get@ method which the
--- 'CatalogsGet' request conforms to.
-type CatalogsGetResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1Catalog
-
--- | Returns the requested Catalog resource.
---
--- /See:/ 'catalogsGet' smart constructor.
-data CatalogsGet =
-  CatalogsGet'
-    { _cgXgafv          :: !(Maybe Xgafv)
-    , _cgUploadProtocol :: !(Maybe Text)
-    , _cgAccessToken    :: !(Maybe Text)
-    , _cgUploadType     :: !(Maybe Text)
-    , _cgName           :: !Text
-    , _cgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cgXgafv'
---
--- * 'cgUploadProtocol'
---
--- * 'cgAccessToken'
---
--- * 'cgUploadType'
---
--- * 'cgName'
---
--- * 'cgCallback'
-catalogsGet
-    :: Text -- ^ 'cgName'
-    -> CatalogsGet
-catalogsGet pCgName_ =
-  CatalogsGet'
-    { _cgXgafv = Nothing
-    , _cgUploadProtocol = Nothing
-    , _cgAccessToken = Nothing
-    , _cgUploadType = Nothing
-    , _cgName = pCgName_
-    , _cgCallback = Nothing
-    }
-
-
--- | V1 error format.
-cgXgafv :: Lens' CatalogsGet (Maybe Xgafv)
-cgXgafv = lens _cgXgafv (\ s a -> s{_cgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cgUploadProtocol :: Lens' CatalogsGet (Maybe Text)
-cgUploadProtocol
-  = lens _cgUploadProtocol
-      (\ s a -> s{_cgUploadProtocol = a})
-
--- | OAuth access token.
-cgAccessToken :: Lens' CatalogsGet (Maybe Text)
-cgAccessToken
-  = lens _cgAccessToken
-      (\ s a -> s{_cgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cgUploadType :: Lens' CatalogsGet (Maybe Text)
-cgUploadType
-  = lens _cgUploadType (\ s a -> s{_cgUploadType = a})
-
--- | The resource name of the catalog.
-cgName :: Lens' CatalogsGet Text
-cgName = lens _cgName (\ s a -> s{_cgName = a})
-
--- | JSONP
-cgCallback :: Lens' CatalogsGet (Maybe Text)
-cgCallback
-  = lens _cgCallback (\ s a -> s{_cgCallback = a})
-
-instance GoogleRequest CatalogsGet where
-        type Rs CatalogsGet =
-             GoogleCloudPrivatecatalogproducerV1beta1Catalog
-        type Scopes CatalogsGet =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsGet'{..}
-          = go _cgName _cgXgafv _cgUploadProtocol
-              _cgAccessToken
-              _cgUploadType
-              _cgCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy CatalogsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/GetIAMPolicy.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/GetIAMPolicy.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/GetIAMPolicy.hs
+++ /dev/null
@@ -1,152 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.GetIAMPolicy
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Gets IAM policy for the specified Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.getIamPolicy@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.GetIAMPolicy
-    (
-    -- * REST Resource
-      CatalogsGetIAMPolicyResource
-
-    -- * Creating a Request
-    , catalogsGetIAMPolicy
-    , CatalogsGetIAMPolicy
-
-    -- * Request Lenses
-    , cgipXgafv
-    , cgipUploadProtocol
-    , cgipAccessToken
-    , cgipUploadType
-    , cgipResource
-    , cgipCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.getIamPolicy@ method which the
--- 'CatalogsGetIAMPolicy' request conforms to.
-type CatalogsGetIAMPolicyResource =
-     "v1beta1" :>
-       CaptureMode "resource" "getIamPolicy" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON] GoogleIAMV1Policy
-
--- | Gets IAM policy for the specified Catalog.
---
--- /See:/ 'catalogsGetIAMPolicy' smart constructor.
-data CatalogsGetIAMPolicy =
-  CatalogsGetIAMPolicy'
-    { _cgipXgafv          :: !(Maybe Xgafv)
-    , _cgipUploadProtocol :: !(Maybe Text)
-    , _cgipAccessToken    :: !(Maybe Text)
-    , _cgipUploadType     :: !(Maybe Text)
-    , _cgipResource       :: !Text
-    , _cgipCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsGetIAMPolicy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cgipXgafv'
---
--- * 'cgipUploadProtocol'
---
--- * 'cgipAccessToken'
---
--- * 'cgipUploadType'
---
--- * 'cgipResource'
---
--- * 'cgipCallback'
-catalogsGetIAMPolicy
-    :: Text -- ^ 'cgipResource'
-    -> CatalogsGetIAMPolicy
-catalogsGetIAMPolicy pCgipResource_ =
-  CatalogsGetIAMPolicy'
-    { _cgipXgafv = Nothing
-    , _cgipUploadProtocol = Nothing
-    , _cgipAccessToken = Nothing
-    , _cgipUploadType = Nothing
-    , _cgipResource = pCgipResource_
-    , _cgipCallback = Nothing
-    }
-
-
--- | V1 error format.
-cgipXgafv :: Lens' CatalogsGetIAMPolicy (Maybe Xgafv)
-cgipXgafv
-  = lens _cgipXgafv (\ s a -> s{_cgipXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cgipUploadProtocol :: Lens' CatalogsGetIAMPolicy (Maybe Text)
-cgipUploadProtocol
-  = lens _cgipUploadProtocol
-      (\ s a -> s{_cgipUploadProtocol = a})
-
--- | OAuth access token.
-cgipAccessToken :: Lens' CatalogsGetIAMPolicy (Maybe Text)
-cgipAccessToken
-  = lens _cgipAccessToken
-      (\ s a -> s{_cgipAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cgipUploadType :: Lens' CatalogsGetIAMPolicy (Maybe Text)
-cgipUploadType
-  = lens _cgipUploadType
-      (\ s a -> s{_cgipUploadType = a})
-
--- | REQUIRED: The resource for which the policy is being requested. See the
--- operation documentation for the appropriate value for this field.
-cgipResource :: Lens' CatalogsGetIAMPolicy Text
-cgipResource
-  = lens _cgipResource (\ s a -> s{_cgipResource = a})
-
--- | JSONP
-cgipCallback :: Lens' CatalogsGetIAMPolicy (Maybe Text)
-cgipCallback
-  = lens _cgipCallback (\ s a -> s{_cgipCallback = a})
-
-instance GoogleRequest CatalogsGetIAMPolicy where
-        type Rs CatalogsGetIAMPolicy = GoogleIAMV1Policy
-        type Scopes CatalogsGetIAMPolicy =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsGetIAMPolicy'{..}
-          = go _cgipResource _cgipXgafv _cgipUploadProtocol
-              _cgipAccessToken
-              _cgipUploadType
-              _cgipCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsGetIAMPolicyResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/List.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/List.hs
+++ /dev/null
@@ -1,178 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists Catalog resources that the producer has access to, within the
--- scope of the parent resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.list@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.List
-    (
-    -- * REST Resource
-      CatalogsListResource
-
-    -- * Creating a Request
-    , catalogsList
-    , CatalogsList
-
-    -- * Request Lenses
-    , clParent
-    , clXgafv
-    , clUploadProtocol
-    , clAccessToken
-    , clUploadType
-    , clPageToken
-    , clPageSize
-    , clCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.list@ method which the
--- 'CatalogsList' request conforms to.
-type CatalogsListResource =
-     "v1beta1" :>
-       "catalogs" :>
-         QueryParam "parent" Text :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "pageSize" (Textual Int32) :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           Get '[JSON]
-                             GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-
--- | Lists Catalog resources that the producer has access to, within the
--- scope of the parent resource.
---
--- /See:/ 'catalogsList' smart constructor.
-data CatalogsList =
-  CatalogsList'
-    { _clParent         :: !(Maybe Text)
-    , _clXgafv          :: !(Maybe Xgafv)
-    , _clUploadProtocol :: !(Maybe Text)
-    , _clAccessToken    :: !(Maybe Text)
-    , _clUploadType     :: !(Maybe Text)
-    , _clPageToken      :: !(Maybe Text)
-    , _clPageSize       :: !(Maybe (Textual Int32))
-    , _clCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'clParent'
---
--- * 'clXgafv'
---
--- * 'clUploadProtocol'
---
--- * 'clAccessToken'
---
--- * 'clUploadType'
---
--- * 'clPageToken'
---
--- * 'clPageSize'
---
--- * 'clCallback'
-catalogsList
-    :: CatalogsList
-catalogsList =
-  CatalogsList'
-    { _clParent = Nothing
-    , _clXgafv = Nothing
-    , _clUploadProtocol = Nothing
-    , _clAccessToken = Nothing
-    , _clUploadType = Nothing
-    , _clPageToken = Nothing
-    , _clPageSize = Nothing
-    , _clCallback = Nothing
-    }
-
-
--- | The resource name of the parent resource.
-clParent :: Lens' CatalogsList (Maybe Text)
-clParent = lens _clParent (\ s a -> s{_clParent = a})
-
--- | V1 error format.
-clXgafv :: Lens' CatalogsList (Maybe Xgafv)
-clXgafv = lens _clXgafv (\ s a -> s{_clXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-clUploadProtocol :: Lens' CatalogsList (Maybe Text)
-clUploadProtocol
-  = lens _clUploadProtocol
-      (\ s a -> s{_clUploadProtocol = a})
-
--- | OAuth access token.
-clAccessToken :: Lens' CatalogsList (Maybe Text)
-clAccessToken
-  = lens _clAccessToken
-      (\ s a -> s{_clAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-clUploadType :: Lens' CatalogsList (Maybe Text)
-clUploadType
-  = lens _clUploadType (\ s a -> s{_clUploadType = a})
-
--- | A pagination token returned from a previous call to ListCatalogs that
--- indicates where this listing should continue from. This field is
--- optional.
-clPageToken :: Lens' CatalogsList (Maybe Text)
-clPageToken
-  = lens _clPageToken (\ s a -> s{_clPageToken = a})
-
--- | The maximum number of catalogs to return.
-clPageSize :: Lens' CatalogsList (Maybe Int32)
-clPageSize
-  = lens _clPageSize (\ s a -> s{_clPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-clCallback :: Lens' CatalogsList (Maybe Text)
-clCallback
-  = lens _clCallback (\ s a -> s{_clCallback = a})
-
-instance GoogleRequest CatalogsList where
-        type Rs CatalogsList =
-             GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse
-        type Scopes CatalogsList =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsList'{..}
-          = go _clParent _clXgafv _clUploadProtocol
-              _clAccessToken
-              _clUploadType
-              _clPageToken
-              _clPageSize
-              _clCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy CatalogsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Patch.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Patch.hs
+++ /dev/null
@@ -1,177 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a specific Catalog resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.patch@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Patch
-    (
-    -- * REST Resource
-      CatalogsPatchResource
-
-    -- * Creating a Request
-    , catalogsPatch
-    , CatalogsPatch
-
-    -- * Request Lenses
-    , cpXgafv
-    , cpUploadProtocol
-    , cpUpdateMask
-    , cpAccessToken
-    , cpUploadType
-    , cpPayload
-    , cpName
-    , cpCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.patch@ method which the
--- 'CatalogsPatch' request conforms to.
-type CatalogsPatchResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "updateMask" GFieldMask :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Catalog
-                         :>
-                         Patch '[JSON]
-                           GoogleCloudPrivatecatalogproducerV1beta1Catalog
-
--- | Updates a specific Catalog resource.
---
--- /See:/ 'catalogsPatch' smart constructor.
-data CatalogsPatch =
-  CatalogsPatch'
-    { _cpXgafv          :: !(Maybe Xgafv)
-    , _cpUploadProtocol :: !(Maybe Text)
-    , _cpUpdateMask     :: !(Maybe GFieldMask)
-    , _cpAccessToken    :: !(Maybe Text)
-    , _cpUploadType     :: !(Maybe Text)
-    , _cpPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Catalog
-    , _cpName           :: !Text
-    , _cpCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpXgafv'
---
--- * 'cpUploadProtocol'
---
--- * 'cpUpdateMask'
---
--- * 'cpAccessToken'
---
--- * 'cpUploadType'
---
--- * 'cpPayload'
---
--- * 'cpName'
---
--- * 'cpCallback'
-catalogsPatch
-    :: GoogleCloudPrivatecatalogproducerV1beta1Catalog -- ^ 'cpPayload'
-    -> Text -- ^ 'cpName'
-    -> CatalogsPatch
-catalogsPatch pCpPayload_ pCpName_ =
-  CatalogsPatch'
-    { _cpXgafv = Nothing
-    , _cpUploadProtocol = Nothing
-    , _cpUpdateMask = Nothing
-    , _cpAccessToken = Nothing
-    , _cpUploadType = Nothing
-    , _cpPayload = pCpPayload_
-    , _cpName = pCpName_
-    , _cpCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpXgafv :: Lens' CatalogsPatch (Maybe Xgafv)
-cpXgafv = lens _cpXgafv (\ s a -> s{_cpXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpUploadProtocol :: Lens' CatalogsPatch (Maybe Text)
-cpUploadProtocol
-  = lens _cpUploadProtocol
-      (\ s a -> s{_cpUploadProtocol = a})
-
--- | Field mask that controls which fields of the catalog should be updated.
-cpUpdateMask :: Lens' CatalogsPatch (Maybe GFieldMask)
-cpUpdateMask
-  = lens _cpUpdateMask (\ s a -> s{_cpUpdateMask = a})
-
--- | OAuth access token.
-cpAccessToken :: Lens' CatalogsPatch (Maybe Text)
-cpAccessToken
-  = lens _cpAccessToken
-      (\ s a -> s{_cpAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpUploadType :: Lens' CatalogsPatch (Maybe Text)
-cpUploadType
-  = lens _cpUploadType (\ s a -> s{_cpUploadType = a})
-
--- | Multipart request metadata.
-cpPayload :: Lens' CatalogsPatch GoogleCloudPrivatecatalogproducerV1beta1Catalog
-cpPayload
-  = lens _cpPayload (\ s a -> s{_cpPayload = a})
-
--- | Output only. The resource name of the catalog, in the format
--- \`catalogs\/{catalog_id}\'. A unique identifier for the catalog, which
--- is generated by catalog service.
-cpName :: Lens' CatalogsPatch Text
-cpName = lens _cpName (\ s a -> s{_cpName = a})
-
--- | JSONP
-cpCallback :: Lens' CatalogsPatch (Maybe Text)
-cpCallback
-  = lens _cpCallback (\ s a -> s{_cpCallback = a})
-
-instance GoogleRequest CatalogsPatch where
-        type Rs CatalogsPatch =
-             GoogleCloudPrivatecatalogproducerV1beta1Catalog
-        type Scopes CatalogsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsPatch'{..}
-          = go _cpName _cpXgafv _cpUploadProtocol _cpUpdateMask
-              _cpAccessToken
-              _cpUploadType
-              _cpCallback
-              (Just AltJSON)
-              _cpPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy CatalogsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs
+++ /dev/null
@@ -1,160 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Copy
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Copies a Product under another Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.copy@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Copy
-    (
-    -- * REST Resource
-      CatalogsProductsCopyResource
-
-    -- * Creating a Request
-    , catalogsProductsCopy
-    , CatalogsProductsCopy
-
-    -- * Request Lenses
-    , cXgafv
-    , cUploadProtocol
-    , cAccessToken
-    , cUploadType
-    , cPayload
-    , cName
-    , cCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.copy@ method which the
--- 'CatalogsProductsCopy' request conforms to.
-type CatalogsProductsCopyResource =
-     "v1beta1" :>
-       CaptureMode "name" "copy" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-                       :> Post '[JSON] GoogleLongrunningOperation
-
--- | Copies a Product under another Catalog.
---
--- /See:/ 'catalogsProductsCopy' smart constructor.
-data CatalogsProductsCopy =
-  CatalogsProductsCopy'
-    { _cXgafv          :: !(Maybe Xgafv)
-    , _cUploadProtocol :: !(Maybe Text)
-    , _cAccessToken    :: !(Maybe Text)
-    , _cUploadType     :: !(Maybe Text)
-    , _cPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-    , _cName           :: !Text
-    , _cCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsCopy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cXgafv'
---
--- * 'cUploadProtocol'
---
--- * 'cAccessToken'
---
--- * 'cUploadType'
---
--- * 'cPayload'
---
--- * 'cName'
---
--- * 'cCallback'
-catalogsProductsCopy
-    :: GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest -- ^ 'cPayload'
-    -> Text -- ^ 'cName'
-    -> CatalogsProductsCopy
-catalogsProductsCopy pCPayload_ pCName_ =
-  CatalogsProductsCopy'
-    { _cXgafv = Nothing
-    , _cUploadProtocol = Nothing
-    , _cAccessToken = Nothing
-    , _cUploadType = Nothing
-    , _cPayload = pCPayload_
-    , _cName = pCName_
-    , _cCallback = Nothing
-    }
-
-
--- | V1 error format.
-cXgafv :: Lens' CatalogsProductsCopy (Maybe Xgafv)
-cXgafv = lens _cXgafv (\ s a -> s{_cXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cUploadProtocol :: Lens' CatalogsProductsCopy (Maybe Text)
-cUploadProtocol
-  = lens _cUploadProtocol
-      (\ s a -> s{_cUploadProtocol = a})
-
--- | OAuth access token.
-cAccessToken :: Lens' CatalogsProductsCopy (Maybe Text)
-cAccessToken
-  = lens _cAccessToken (\ s a -> s{_cAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cUploadType :: Lens' CatalogsProductsCopy (Maybe Text)
-cUploadType
-  = lens _cUploadType (\ s a -> s{_cUploadType = a})
-
--- | Multipart request metadata.
-cPayload :: Lens' CatalogsProductsCopy GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest
-cPayload = lens _cPayload (\ s a -> s{_cPayload = a})
-
--- | The resource name of the current product that is copied from.
-cName :: Lens' CatalogsProductsCopy Text
-cName = lens _cName (\ s a -> s{_cName = a})
-
--- | JSONP
-cCallback :: Lens' CatalogsProductsCopy (Maybe Text)
-cCallback
-  = lens _cCallback (\ s a -> s{_cCallback = a})
-
-instance GoogleRequest CatalogsProductsCopy where
-        type Rs CatalogsProductsCopy =
-             GoogleLongrunningOperation
-        type Scopes CatalogsProductsCopy =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsCopy'{..}
-          = go _cName _cXgafv _cUploadProtocol _cAccessToken
-              _cUploadType
-              _cCallback
-              (Just AltJSON)
-              _cPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsCopyResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs
+++ /dev/null
@@ -1,168 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Create
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates a Product instance under a given Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.create@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Create
-    (
-    -- * REST Resource
-      CatalogsProductsCreateResource
-
-    -- * Creating a Request
-    , catalogsProductsCreate
-    , CatalogsProductsCreate
-
-    -- * Request Lenses
-    , cpcParent
-    , cpcXgafv
-    , cpcUploadProtocol
-    , cpcAccessToken
-    , cpcUploadType
-    , cpcPayload
-    , cpcCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.create@ method which the
--- 'CatalogsProductsCreate' request conforms to.
-type CatalogsProductsCreateResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "products" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Product
-                         :>
-                         Post '[JSON]
-                           GoogleCloudPrivatecatalogproducerV1beta1Product
-
--- | Creates a Product instance under a given Catalog.
---
--- /See:/ 'catalogsProductsCreate' smart constructor.
-data CatalogsProductsCreate =
-  CatalogsProductsCreate'
-    { _cpcParent         :: !Text
-    , _cpcXgafv          :: !(Maybe Xgafv)
-    , _cpcUploadProtocol :: !(Maybe Text)
-    , _cpcAccessToken    :: !(Maybe Text)
-    , _cpcUploadType     :: !(Maybe Text)
-    , _cpcPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Product
-    , _cpcCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpcParent'
---
--- * 'cpcXgafv'
---
--- * 'cpcUploadProtocol'
---
--- * 'cpcAccessToken'
---
--- * 'cpcUploadType'
---
--- * 'cpcPayload'
---
--- * 'cpcCallback'
-catalogsProductsCreate
-    :: Text -- ^ 'cpcParent'
-    -> GoogleCloudPrivatecatalogproducerV1beta1Product -- ^ 'cpcPayload'
-    -> CatalogsProductsCreate
-catalogsProductsCreate pCpcParent_ pCpcPayload_ =
-  CatalogsProductsCreate'
-    { _cpcParent = pCpcParent_
-    , _cpcXgafv = Nothing
-    , _cpcUploadProtocol = Nothing
-    , _cpcAccessToken = Nothing
-    , _cpcUploadType = Nothing
-    , _cpcPayload = pCpcPayload_
-    , _cpcCallback = Nothing
-    }
-
-
--- | The catalog name of the new product\'s parent.
-cpcParent :: Lens' CatalogsProductsCreate Text
-cpcParent
-  = lens _cpcParent (\ s a -> s{_cpcParent = a})
-
--- | V1 error format.
-cpcXgafv :: Lens' CatalogsProductsCreate (Maybe Xgafv)
-cpcXgafv = lens _cpcXgafv (\ s a -> s{_cpcXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpcUploadProtocol :: Lens' CatalogsProductsCreate (Maybe Text)
-cpcUploadProtocol
-  = lens _cpcUploadProtocol
-      (\ s a -> s{_cpcUploadProtocol = a})
-
--- | OAuth access token.
-cpcAccessToken :: Lens' CatalogsProductsCreate (Maybe Text)
-cpcAccessToken
-  = lens _cpcAccessToken
-      (\ s a -> s{_cpcAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpcUploadType :: Lens' CatalogsProductsCreate (Maybe Text)
-cpcUploadType
-  = lens _cpcUploadType
-      (\ s a -> s{_cpcUploadType = a})
-
--- | Multipart request metadata.
-cpcPayload :: Lens' CatalogsProductsCreate GoogleCloudPrivatecatalogproducerV1beta1Product
-cpcPayload
-  = lens _cpcPayload (\ s a -> s{_cpcPayload = a})
-
--- | JSONP
-cpcCallback :: Lens' CatalogsProductsCreate (Maybe Text)
-cpcCallback
-  = lens _cpcCallback (\ s a -> s{_cpcCallback = a})
-
-instance GoogleRequest CatalogsProductsCreate where
-        type Rs CatalogsProductsCreate =
-             GoogleCloudPrivatecatalogproducerV1beta1Product
-        type Scopes CatalogsProductsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsCreate'{..}
-          = go _cpcParent _cpcXgafv _cpcUploadProtocol
-              _cpcAccessToken
-              _cpcUploadType
-              _cpcCallback
-              (Just AltJSON)
-              _cpcPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs
+++ /dev/null
@@ -1,149 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Hard deletes a Product.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.delete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Delete
-    (
-    -- * REST Resource
-      CatalogsProductsDeleteResource
-
-    -- * Creating a Request
-    , catalogsProductsDelete
-    , CatalogsProductsDelete
-
-    -- * Request Lenses
-    , cpdXgafv
-    , cpdUploadProtocol
-    , cpdAccessToken
-    , cpdUploadType
-    , cpdName
-    , cpdCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.delete@ method which the
--- 'CatalogsProductsDelete' request conforms to.
-type CatalogsProductsDeleteResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Delete '[JSON] GoogleProtobufEmpty
-
--- | Hard deletes a Product.
---
--- /See:/ 'catalogsProductsDelete' smart constructor.
-data CatalogsProductsDelete =
-  CatalogsProductsDelete'
-    { _cpdXgafv          :: !(Maybe Xgafv)
-    , _cpdUploadProtocol :: !(Maybe Text)
-    , _cpdAccessToken    :: !(Maybe Text)
-    , _cpdUploadType     :: !(Maybe Text)
-    , _cpdName           :: !Text
-    , _cpdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpdXgafv'
---
--- * 'cpdUploadProtocol'
---
--- * 'cpdAccessToken'
---
--- * 'cpdUploadType'
---
--- * 'cpdName'
---
--- * 'cpdCallback'
-catalogsProductsDelete
-    :: Text -- ^ 'cpdName'
-    -> CatalogsProductsDelete
-catalogsProductsDelete pCpdName_ =
-  CatalogsProductsDelete'
-    { _cpdXgafv = Nothing
-    , _cpdUploadProtocol = Nothing
-    , _cpdAccessToken = Nothing
-    , _cpdUploadType = Nothing
-    , _cpdName = pCpdName_
-    , _cpdCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpdXgafv :: Lens' CatalogsProductsDelete (Maybe Xgafv)
-cpdXgafv = lens _cpdXgafv (\ s a -> s{_cpdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpdUploadProtocol :: Lens' CatalogsProductsDelete (Maybe Text)
-cpdUploadProtocol
-  = lens _cpdUploadProtocol
-      (\ s a -> s{_cpdUploadProtocol = a})
-
--- | OAuth access token.
-cpdAccessToken :: Lens' CatalogsProductsDelete (Maybe Text)
-cpdAccessToken
-  = lens _cpdAccessToken
-      (\ s a -> s{_cpdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpdUploadType :: Lens' CatalogsProductsDelete (Maybe Text)
-cpdUploadType
-  = lens _cpdUploadType
-      (\ s a -> s{_cpdUploadType = a})
-
--- | The resource name of the product.
-cpdName :: Lens' CatalogsProductsDelete Text
-cpdName = lens _cpdName (\ s a -> s{_cpdName = a})
-
--- | JSONP
-cpdCallback :: Lens' CatalogsProductsDelete (Maybe Text)
-cpdCallback
-  = lens _cpdCallback (\ s a -> s{_cpdCallback = a})
-
-instance GoogleRequest CatalogsProductsDelete where
-        type Rs CatalogsProductsDelete = GoogleProtobufEmpty
-        type Scopes CatalogsProductsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsDelete'{..}
-          = go _cpdName _cpdXgafv _cpdUploadProtocol
-              _cpdAccessToken
-              _cpdUploadType
-              _cpdCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs
+++ /dev/null
@@ -1,151 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Returns the requested Product resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.get@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Get
-    (
-    -- * REST Resource
-      CatalogsProductsGetResource
-
-    -- * Creating a Request
-    , catalogsProductsGet
-    , CatalogsProductsGet
-
-    -- * Request Lenses
-    , cpgXgafv
-    , cpgUploadProtocol
-    , cpgAccessToken
-    , cpgUploadType
-    , cpgName
-    , cpgCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.get@ method which the
--- 'CatalogsProductsGet' request conforms to.
-type CatalogsProductsGetResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1Product
-
--- | Returns the requested Product resource.
---
--- /See:/ 'catalogsProductsGet' smart constructor.
-data CatalogsProductsGet =
-  CatalogsProductsGet'
-    { _cpgXgafv          :: !(Maybe Xgafv)
-    , _cpgUploadProtocol :: !(Maybe Text)
-    , _cpgAccessToken    :: !(Maybe Text)
-    , _cpgUploadType     :: !(Maybe Text)
-    , _cpgName           :: !Text
-    , _cpgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpgXgafv'
---
--- * 'cpgUploadProtocol'
---
--- * 'cpgAccessToken'
---
--- * 'cpgUploadType'
---
--- * 'cpgName'
---
--- * 'cpgCallback'
-catalogsProductsGet
-    :: Text -- ^ 'cpgName'
-    -> CatalogsProductsGet
-catalogsProductsGet pCpgName_ =
-  CatalogsProductsGet'
-    { _cpgXgafv = Nothing
-    , _cpgUploadProtocol = Nothing
-    , _cpgAccessToken = Nothing
-    , _cpgUploadType = Nothing
-    , _cpgName = pCpgName_
-    , _cpgCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpgXgafv :: Lens' CatalogsProductsGet (Maybe Xgafv)
-cpgXgafv = lens _cpgXgafv (\ s a -> s{_cpgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpgUploadProtocol :: Lens' CatalogsProductsGet (Maybe Text)
-cpgUploadProtocol
-  = lens _cpgUploadProtocol
-      (\ s a -> s{_cpgUploadProtocol = a})
-
--- | OAuth access token.
-cpgAccessToken :: Lens' CatalogsProductsGet (Maybe Text)
-cpgAccessToken
-  = lens _cpgAccessToken
-      (\ s a -> s{_cpgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpgUploadType :: Lens' CatalogsProductsGet (Maybe Text)
-cpgUploadType
-  = lens _cpgUploadType
-      (\ s a -> s{_cpgUploadType = a})
-
--- | The resource name of the product.
-cpgName :: Lens' CatalogsProductsGet Text
-cpgName = lens _cpgName (\ s a -> s{_cpgName = a})
-
--- | JSONP
-cpgCallback :: Lens' CatalogsProductsGet (Maybe Text)
-cpgCallback
-  = lens _cpgCallback (\ s a -> s{_cpgCallback = a})
-
-instance GoogleRequest CatalogsProductsGet where
-        type Rs CatalogsProductsGet =
-             GoogleCloudPrivatecatalogproducerV1beta1Product
-        type Scopes CatalogsProductsGet =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsGet'{..}
-          = go _cpgName _cpgXgafv _cpgUploadProtocol
-              _cpgAccessToken
-              _cpgUploadType
-              _cpgCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs
+++ /dev/null
@@ -1,176 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates an Icon instance under a given Product. If Product only has a
--- default icon, a new Icon instance is created and associated with the
--- given Product. If Product already has a non-default icon, the action
--- creates a new Icon instance, associates the newly created Icon with the
--- given Product and deletes the old icon.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.icons.upload@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
-    (
-    -- * REST Resource
-      CatalogsProductsIconsUploadResource
-
-    -- * Creating a Request
-    , catalogsProductsIconsUpload
-    , CatalogsProductsIconsUpload
-
-    -- * Request Lenses
-    , cpiuXgafv
-    , cpiuUploadProtocol
-    , cpiuAccessToken
-    , cpiuUploadType
-    , cpiuPayload
-    , cpiuProduct
-    , cpiuCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.icons.upload@ method which the
--- 'CatalogsProductsIconsUpload' request conforms to.
-type CatalogsProductsIconsUploadResource =
-     "v1beta1" :>
-       Capture "product" Text :>
-         "icons:upload" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-                         :> Post '[JSON] GoogleProtobufEmpty
-
--- | Creates an Icon instance under a given Product. If Product only has a
--- default icon, a new Icon instance is created and associated with the
--- given Product. If Product already has a non-default icon, the action
--- creates a new Icon instance, associates the newly created Icon with the
--- given Product and deletes the old icon.
---
--- /See:/ 'catalogsProductsIconsUpload' smart constructor.
-data CatalogsProductsIconsUpload =
-  CatalogsProductsIconsUpload'
-    { _cpiuXgafv          :: !(Maybe Xgafv)
-    , _cpiuUploadProtocol :: !(Maybe Text)
-    , _cpiuAccessToken    :: !(Maybe Text)
-    , _cpiuUploadType     :: !(Maybe Text)
-    , _cpiuPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-    , _cpiuProduct        :: !Text
-    , _cpiuCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsIconsUpload' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpiuXgafv'
---
--- * 'cpiuUploadProtocol'
---
--- * 'cpiuAccessToken'
---
--- * 'cpiuUploadType'
---
--- * 'cpiuPayload'
---
--- * 'cpiuProduct'
---
--- * 'cpiuCallback'
-catalogsProductsIconsUpload
-    :: GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest -- ^ 'cpiuPayload'
-    -> Text -- ^ 'cpiuProduct'
-    -> CatalogsProductsIconsUpload
-catalogsProductsIconsUpload pCpiuPayload_ pCpiuProduct_ =
-  CatalogsProductsIconsUpload'
-    { _cpiuXgafv = Nothing
-    , _cpiuUploadProtocol = Nothing
-    , _cpiuAccessToken = Nothing
-    , _cpiuUploadType = Nothing
-    , _cpiuPayload = pCpiuPayload_
-    , _cpiuProduct = pCpiuProduct_
-    , _cpiuCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpiuXgafv :: Lens' CatalogsProductsIconsUpload (Maybe Xgafv)
-cpiuXgafv
-  = lens _cpiuXgafv (\ s a -> s{_cpiuXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpiuUploadProtocol :: Lens' CatalogsProductsIconsUpload (Maybe Text)
-cpiuUploadProtocol
-  = lens _cpiuUploadProtocol
-      (\ s a -> s{_cpiuUploadProtocol = a})
-
--- | OAuth access token.
-cpiuAccessToken :: Lens' CatalogsProductsIconsUpload (Maybe Text)
-cpiuAccessToken
-  = lens _cpiuAccessToken
-      (\ s a -> s{_cpiuAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpiuUploadType :: Lens' CatalogsProductsIconsUpload (Maybe Text)
-cpiuUploadType
-  = lens _cpiuUploadType
-      (\ s a -> s{_cpiuUploadType = a})
-
--- | Multipart request metadata.
-cpiuPayload :: Lens' CatalogsProductsIconsUpload GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest
-cpiuPayload
-  = lens _cpiuPayload (\ s a -> s{_cpiuPayload = a})
-
--- | The resource name of the product.
-cpiuProduct :: Lens' CatalogsProductsIconsUpload Text
-cpiuProduct
-  = lens _cpiuProduct (\ s a -> s{_cpiuProduct = a})
-
--- | JSONP
-cpiuCallback :: Lens' CatalogsProductsIconsUpload (Maybe Text)
-cpiuCallback
-  = lens _cpiuCallback (\ s a -> s{_cpiuCallback = a})
-
-instance GoogleRequest CatalogsProductsIconsUpload
-         where
-        type Rs CatalogsProductsIconsUpload =
-             GoogleProtobufEmpty
-        type Scopes CatalogsProductsIconsUpload =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsIconsUpload'{..}
-          = go _cpiuProduct _cpiuXgafv _cpiuUploadProtocol
-              _cpiuAccessToken
-              _cpiuUploadType
-              _cpiuCallback
-              (Just AltJSON)
-              _cpiuPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsIconsUploadResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/List.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/List.hs
+++ /dev/null
@@ -1,195 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists Product resources that the producer has access to, within the
--- scope of the parent catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.list@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.List
-    (
-    -- * REST Resource
-      CatalogsProductsListResource
-
-    -- * Creating a Request
-    , catalogsProductsList
-    , CatalogsProductsList
-
-    -- * Request Lenses
-    , cplParent
-    , cplXgafv
-    , cplUploadProtocol
-    , cplAccessToken
-    , cplUploadType
-    , cplFilter
-    , cplPageToken
-    , cplPageSize
-    , cplCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.list@ method which the
--- 'CatalogsProductsList' request conforms to.
-type CatalogsProductsListResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "products" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "filter" Text :>
-                     QueryParam "pageToken" Text :>
-                       QueryParam "pageSize" (Textual Int32) :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON]
-                               GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-
--- | Lists Product resources that the producer has access to, within the
--- scope of the parent catalog.
---
--- /See:/ 'catalogsProductsList' smart constructor.
-data CatalogsProductsList =
-  CatalogsProductsList'
-    { _cplParent         :: !Text
-    , _cplXgafv          :: !(Maybe Xgafv)
-    , _cplUploadProtocol :: !(Maybe Text)
-    , _cplAccessToken    :: !(Maybe Text)
-    , _cplUploadType     :: !(Maybe Text)
-    , _cplFilter         :: !(Maybe Text)
-    , _cplPageToken      :: !(Maybe Text)
-    , _cplPageSize       :: !(Maybe (Textual Int32))
-    , _cplCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cplParent'
---
--- * 'cplXgafv'
---
--- * 'cplUploadProtocol'
---
--- * 'cplAccessToken'
---
--- * 'cplUploadType'
---
--- * 'cplFilter'
---
--- * 'cplPageToken'
---
--- * 'cplPageSize'
---
--- * 'cplCallback'
-catalogsProductsList
-    :: Text -- ^ 'cplParent'
-    -> CatalogsProductsList
-catalogsProductsList pCplParent_ =
-  CatalogsProductsList'
-    { _cplParent = pCplParent_
-    , _cplXgafv = Nothing
-    , _cplUploadProtocol = Nothing
-    , _cplAccessToken = Nothing
-    , _cplUploadType = Nothing
-    , _cplFilter = Nothing
-    , _cplPageToken = Nothing
-    , _cplPageSize = Nothing
-    , _cplCallback = Nothing
-    }
-
-
--- | The resource name of the parent resource.
-cplParent :: Lens' CatalogsProductsList Text
-cplParent
-  = lens _cplParent (\ s a -> s{_cplParent = a})
-
--- | V1 error format.
-cplXgafv :: Lens' CatalogsProductsList (Maybe Xgafv)
-cplXgafv = lens _cplXgafv (\ s a -> s{_cplXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cplUploadProtocol :: Lens' CatalogsProductsList (Maybe Text)
-cplUploadProtocol
-  = lens _cplUploadProtocol
-      (\ s a -> s{_cplUploadProtocol = a})
-
--- | OAuth access token.
-cplAccessToken :: Lens' CatalogsProductsList (Maybe Text)
-cplAccessToken
-  = lens _cplAccessToken
-      (\ s a -> s{_cplAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cplUploadType :: Lens' CatalogsProductsList (Maybe Text)
-cplUploadType
-  = lens _cplUploadType
-      (\ s a -> s{_cplUploadType = a})
-
--- | A filter expression used to restrict the returned results based upon
--- properties of the product.
-cplFilter :: Lens' CatalogsProductsList (Maybe Text)
-cplFilter
-  = lens _cplFilter (\ s a -> s{_cplFilter = a})
-
--- | A pagination token returned from a previous call to ListProducts that
--- indicates where this listing should continue from. This field is
--- optional.
-cplPageToken :: Lens' CatalogsProductsList (Maybe Text)
-cplPageToken
-  = lens _cplPageToken (\ s a -> s{_cplPageToken = a})
-
--- | The maximum number of products to return.
-cplPageSize :: Lens' CatalogsProductsList (Maybe Int32)
-cplPageSize
-  = lens _cplPageSize (\ s a -> s{_cplPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-cplCallback :: Lens' CatalogsProductsList (Maybe Text)
-cplCallback
-  = lens _cplCallback (\ s a -> s{_cplCallback = a})
-
-instance GoogleRequest CatalogsProductsList where
-        type Rs CatalogsProductsList =
-             GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse
-        type Scopes CatalogsProductsList =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsList'{..}
-          = go _cplParent _cplXgafv _cplUploadProtocol
-              _cplAccessToken
-              _cplUploadType
-              _cplFilter
-              _cplPageToken
-              _cplPageSize
-              _cplCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs
+++ /dev/null
@@ -1,183 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a specific Product resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.patch@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Patch
-    (
-    -- * REST Resource
-      CatalogsProductsPatchResource
-
-    -- * Creating a Request
-    , catalogsProductsPatch
-    , CatalogsProductsPatch
-
-    -- * Request Lenses
-    , cppXgafv
-    , cppUploadProtocol
-    , cppUpdateMask
-    , cppAccessToken
-    , cppUploadType
-    , cppPayload
-    , cppName
-    , cppCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.patch@ method which the
--- 'CatalogsProductsPatch' request conforms to.
-type CatalogsProductsPatchResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "updateMask" GFieldMask :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Product
-                         :>
-                         Patch '[JSON]
-                           GoogleCloudPrivatecatalogproducerV1beta1Product
-
--- | Updates a specific Product resource.
---
--- /See:/ 'catalogsProductsPatch' smart constructor.
-data CatalogsProductsPatch =
-  CatalogsProductsPatch'
-    { _cppXgafv          :: !(Maybe Xgafv)
-    , _cppUploadProtocol :: !(Maybe Text)
-    , _cppUpdateMask     :: !(Maybe GFieldMask)
-    , _cppAccessToken    :: !(Maybe Text)
-    , _cppUploadType     :: !(Maybe Text)
-    , _cppPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Product
-    , _cppName           :: !Text
-    , _cppCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cppXgafv'
---
--- * 'cppUploadProtocol'
---
--- * 'cppUpdateMask'
---
--- * 'cppAccessToken'
---
--- * 'cppUploadType'
---
--- * 'cppPayload'
---
--- * 'cppName'
---
--- * 'cppCallback'
-catalogsProductsPatch
-    :: GoogleCloudPrivatecatalogproducerV1beta1Product -- ^ 'cppPayload'
-    -> Text -- ^ 'cppName'
-    -> CatalogsProductsPatch
-catalogsProductsPatch pCppPayload_ pCppName_ =
-  CatalogsProductsPatch'
-    { _cppXgafv = Nothing
-    , _cppUploadProtocol = Nothing
-    , _cppUpdateMask = Nothing
-    , _cppAccessToken = Nothing
-    , _cppUploadType = Nothing
-    , _cppPayload = pCppPayload_
-    , _cppName = pCppName_
-    , _cppCallback = Nothing
-    }
-
-
--- | V1 error format.
-cppXgafv :: Lens' CatalogsProductsPatch (Maybe Xgafv)
-cppXgafv = lens _cppXgafv (\ s a -> s{_cppXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cppUploadProtocol :: Lens' CatalogsProductsPatch (Maybe Text)
-cppUploadProtocol
-  = lens _cppUploadProtocol
-      (\ s a -> s{_cppUploadProtocol = a})
-
--- | Field mask that controls which fields of the product should be updated.
-cppUpdateMask :: Lens' CatalogsProductsPatch (Maybe GFieldMask)
-cppUpdateMask
-  = lens _cppUpdateMask
-      (\ s a -> s{_cppUpdateMask = a})
-
--- | OAuth access token.
-cppAccessToken :: Lens' CatalogsProductsPatch (Maybe Text)
-cppAccessToken
-  = lens _cppAccessToken
-      (\ s a -> s{_cppAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cppUploadType :: Lens' CatalogsProductsPatch (Maybe Text)
-cppUploadType
-  = lens _cppUploadType
-      (\ s a -> s{_cppUploadType = a})
-
--- | Multipart request metadata.
-cppPayload :: Lens' CatalogsProductsPatch GoogleCloudPrivatecatalogproducerV1beta1Product
-cppPayload
-  = lens _cppPayload (\ s a -> s{_cppPayload = a})
-
--- | Required. The resource name of the product in the format
--- \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'. A unique identifier
--- for the product under a catalog, which cannot be changed after the
--- product is created. The final segment of the name must between 1 and 256
--- characters in length.
-cppName :: Lens' CatalogsProductsPatch Text
-cppName = lens _cppName (\ s a -> s{_cppName = a})
-
--- | JSONP
-cppCallback :: Lens' CatalogsProductsPatch (Maybe Text)
-cppCallback
-  = lens _cppCallback (\ s a -> s{_cppCallback = a})
-
-instance GoogleRequest CatalogsProductsPatch where
-        type Rs CatalogsProductsPatch =
-             GoogleCloudPrivatecatalogproducerV1beta1Product
-        type Scopes CatalogsProductsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsPatch'{..}
-          = go _cppName _cppXgafv _cppUploadProtocol
-              _cppUpdateMask
-              _cppAccessToken
-              _cppUploadType
-              _cppCallback
-              (Just AltJSON)
-              _cppPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs
+++ /dev/null
@@ -1,169 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates a Version instance under a given Product.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.create@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
-    (
-    -- * REST Resource
-      CatalogsProductsVersionsCreateResource
-
-    -- * Creating a Request
-    , catalogsProductsVersionsCreate
-    , CatalogsProductsVersionsCreate
-
-    -- * Request Lenses
-    , cpvcParent
-    , cpvcXgafv
-    , cpvcUploadProtocol
-    , cpvcAccessToken
-    , cpvcUploadType
-    , cpvcPayload
-    , cpvcCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.create@ method which the
--- 'CatalogsProductsVersionsCreate' request conforms to.
-type CatalogsProductsVersionsCreateResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "versions" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Version
-                         :> Post '[JSON] GoogleLongrunningOperation
-
--- | Creates a Version instance under a given Product.
---
--- /See:/ 'catalogsProductsVersionsCreate' smart constructor.
-data CatalogsProductsVersionsCreate =
-  CatalogsProductsVersionsCreate'
-    { _cpvcParent         :: !Text
-    , _cpvcXgafv          :: !(Maybe Xgafv)
-    , _cpvcUploadProtocol :: !(Maybe Text)
-    , _cpvcAccessToken    :: !(Maybe Text)
-    , _cpvcUploadType     :: !(Maybe Text)
-    , _cpvcPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Version
-    , _cpvcCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsVersionsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpvcParent'
---
--- * 'cpvcXgafv'
---
--- * 'cpvcUploadProtocol'
---
--- * 'cpvcAccessToken'
---
--- * 'cpvcUploadType'
---
--- * 'cpvcPayload'
---
--- * 'cpvcCallback'
-catalogsProductsVersionsCreate
-    :: Text -- ^ 'cpvcParent'
-    -> GoogleCloudPrivatecatalogproducerV1beta1Version -- ^ 'cpvcPayload'
-    -> CatalogsProductsVersionsCreate
-catalogsProductsVersionsCreate pCpvcParent_ pCpvcPayload_ =
-  CatalogsProductsVersionsCreate'
-    { _cpvcParent = pCpvcParent_
-    , _cpvcXgafv = Nothing
-    , _cpvcUploadProtocol = Nothing
-    , _cpvcAccessToken = Nothing
-    , _cpvcUploadType = Nothing
-    , _cpvcPayload = pCpvcPayload_
-    , _cpvcCallback = Nothing
-    }
-
-
--- | The product name of the new version\'s parent.
-cpvcParent :: Lens' CatalogsProductsVersionsCreate Text
-cpvcParent
-  = lens _cpvcParent (\ s a -> s{_cpvcParent = a})
-
--- | V1 error format.
-cpvcXgafv :: Lens' CatalogsProductsVersionsCreate (Maybe Xgafv)
-cpvcXgafv
-  = lens _cpvcXgafv (\ s a -> s{_cpvcXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpvcUploadProtocol :: Lens' CatalogsProductsVersionsCreate (Maybe Text)
-cpvcUploadProtocol
-  = lens _cpvcUploadProtocol
-      (\ s a -> s{_cpvcUploadProtocol = a})
-
--- | OAuth access token.
-cpvcAccessToken :: Lens' CatalogsProductsVersionsCreate (Maybe Text)
-cpvcAccessToken
-  = lens _cpvcAccessToken
-      (\ s a -> s{_cpvcAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpvcUploadType :: Lens' CatalogsProductsVersionsCreate (Maybe Text)
-cpvcUploadType
-  = lens _cpvcUploadType
-      (\ s a -> s{_cpvcUploadType = a})
-
--- | Multipart request metadata.
-cpvcPayload :: Lens' CatalogsProductsVersionsCreate GoogleCloudPrivatecatalogproducerV1beta1Version
-cpvcPayload
-  = lens _cpvcPayload (\ s a -> s{_cpvcPayload = a})
-
--- | JSONP
-cpvcCallback :: Lens' CatalogsProductsVersionsCreate (Maybe Text)
-cpvcCallback
-  = lens _cpvcCallback (\ s a -> s{_cpvcCallback = a})
-
-instance GoogleRequest CatalogsProductsVersionsCreate
-         where
-        type Rs CatalogsProductsVersionsCreate =
-             GoogleLongrunningOperation
-        type Scopes CatalogsProductsVersionsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsVersionsCreate'{..}
-          = go _cpvcParent _cpvcXgafv _cpvcUploadProtocol
-              _cpvcAccessToken
-              _cpvcUploadType
-              _cpvcCallback
-              (Just AltJSON)
-              _cpvcPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy CatalogsProductsVersionsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs
+++ /dev/null
@@ -1,153 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Hard deletes a Version.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.delete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
-    (
-    -- * REST Resource
-      CatalogsProductsVersionsDeleteResource
-
-    -- * Creating a Request
-    , catalogsProductsVersionsDelete
-    , CatalogsProductsVersionsDelete
-
-    -- * Request Lenses
-    , cpvdXgafv
-    , cpvdUploadProtocol
-    , cpvdAccessToken
-    , cpvdUploadType
-    , cpvdName
-    , cpvdCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.delete@ method which the
--- 'CatalogsProductsVersionsDelete' request conforms to.
-type CatalogsProductsVersionsDeleteResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Delete '[JSON] GoogleProtobufEmpty
-
--- | Hard deletes a Version.
---
--- /See:/ 'catalogsProductsVersionsDelete' smart constructor.
-data CatalogsProductsVersionsDelete =
-  CatalogsProductsVersionsDelete'
-    { _cpvdXgafv          :: !(Maybe Xgafv)
-    , _cpvdUploadProtocol :: !(Maybe Text)
-    , _cpvdAccessToken    :: !(Maybe Text)
-    , _cpvdUploadType     :: !(Maybe Text)
-    , _cpvdName           :: !Text
-    , _cpvdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsVersionsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpvdXgafv'
---
--- * 'cpvdUploadProtocol'
---
--- * 'cpvdAccessToken'
---
--- * 'cpvdUploadType'
---
--- * 'cpvdName'
---
--- * 'cpvdCallback'
-catalogsProductsVersionsDelete
-    :: Text -- ^ 'cpvdName'
-    -> CatalogsProductsVersionsDelete
-catalogsProductsVersionsDelete pCpvdName_ =
-  CatalogsProductsVersionsDelete'
-    { _cpvdXgafv = Nothing
-    , _cpvdUploadProtocol = Nothing
-    , _cpvdAccessToken = Nothing
-    , _cpvdUploadType = Nothing
-    , _cpvdName = pCpvdName_
-    , _cpvdCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpvdXgafv :: Lens' CatalogsProductsVersionsDelete (Maybe Xgafv)
-cpvdXgafv
-  = lens _cpvdXgafv (\ s a -> s{_cpvdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpvdUploadProtocol :: Lens' CatalogsProductsVersionsDelete (Maybe Text)
-cpvdUploadProtocol
-  = lens _cpvdUploadProtocol
-      (\ s a -> s{_cpvdUploadProtocol = a})
-
--- | OAuth access token.
-cpvdAccessToken :: Lens' CatalogsProductsVersionsDelete (Maybe Text)
-cpvdAccessToken
-  = lens _cpvdAccessToken
-      (\ s a -> s{_cpvdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpvdUploadType :: Lens' CatalogsProductsVersionsDelete (Maybe Text)
-cpvdUploadType
-  = lens _cpvdUploadType
-      (\ s a -> s{_cpvdUploadType = a})
-
--- | The resource name of the version.
-cpvdName :: Lens' CatalogsProductsVersionsDelete Text
-cpvdName = lens _cpvdName (\ s a -> s{_cpvdName = a})
-
--- | JSONP
-cpvdCallback :: Lens' CatalogsProductsVersionsDelete (Maybe Text)
-cpvdCallback
-  = lens _cpvdCallback (\ s a -> s{_cpvdCallback = a})
-
-instance GoogleRequest CatalogsProductsVersionsDelete
-         where
-        type Rs CatalogsProductsVersionsDelete =
-             GoogleProtobufEmpty
-        type Scopes CatalogsProductsVersionsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsVersionsDelete'{..}
-          = go _cpvdName _cpvdXgafv _cpvdUploadProtocol
-              _cpvdAccessToken
-              _cpvdUploadType
-              _cpvdCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy CatalogsProductsVersionsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs
+++ /dev/null
@@ -1,153 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Returns the requested Version resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.get@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
-    (
-    -- * REST Resource
-      CatalogsProductsVersionsGetResource
-
-    -- * Creating a Request
-    , catalogsProductsVersionsGet
-    , CatalogsProductsVersionsGet
-
-    -- * Request Lenses
-    , cpvgXgafv
-    , cpvgUploadProtocol
-    , cpvgAccessToken
-    , cpvgUploadType
-    , cpvgName
-    , cpvgCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.get@ method which the
--- 'CatalogsProductsVersionsGet' request conforms to.
-type CatalogsProductsVersionsGetResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1Version
-
--- | Returns the requested Version resource.
---
--- /See:/ 'catalogsProductsVersionsGet' smart constructor.
-data CatalogsProductsVersionsGet =
-  CatalogsProductsVersionsGet'
-    { _cpvgXgafv          :: !(Maybe Xgafv)
-    , _cpvgUploadProtocol :: !(Maybe Text)
-    , _cpvgAccessToken    :: !(Maybe Text)
-    , _cpvgUploadType     :: !(Maybe Text)
-    , _cpvgName           :: !Text
-    , _cpvgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsVersionsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpvgXgafv'
---
--- * 'cpvgUploadProtocol'
---
--- * 'cpvgAccessToken'
---
--- * 'cpvgUploadType'
---
--- * 'cpvgName'
---
--- * 'cpvgCallback'
-catalogsProductsVersionsGet
-    :: Text -- ^ 'cpvgName'
-    -> CatalogsProductsVersionsGet
-catalogsProductsVersionsGet pCpvgName_ =
-  CatalogsProductsVersionsGet'
-    { _cpvgXgafv = Nothing
-    , _cpvgUploadProtocol = Nothing
-    , _cpvgAccessToken = Nothing
-    , _cpvgUploadType = Nothing
-    , _cpvgName = pCpvgName_
-    , _cpvgCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpvgXgafv :: Lens' CatalogsProductsVersionsGet (Maybe Xgafv)
-cpvgXgafv
-  = lens _cpvgXgafv (\ s a -> s{_cpvgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpvgUploadProtocol :: Lens' CatalogsProductsVersionsGet (Maybe Text)
-cpvgUploadProtocol
-  = lens _cpvgUploadProtocol
-      (\ s a -> s{_cpvgUploadProtocol = a})
-
--- | OAuth access token.
-cpvgAccessToken :: Lens' CatalogsProductsVersionsGet (Maybe Text)
-cpvgAccessToken
-  = lens _cpvgAccessToken
-      (\ s a -> s{_cpvgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpvgUploadType :: Lens' CatalogsProductsVersionsGet (Maybe Text)
-cpvgUploadType
-  = lens _cpvgUploadType
-      (\ s a -> s{_cpvgUploadType = a})
-
--- | The resource name of the version.
-cpvgName :: Lens' CatalogsProductsVersionsGet Text
-cpvgName = lens _cpvgName (\ s a -> s{_cpvgName = a})
-
--- | JSONP
-cpvgCallback :: Lens' CatalogsProductsVersionsGet (Maybe Text)
-cpvgCallback
-  = lens _cpvgCallback (\ s a -> s{_cpvgCallback = a})
-
-instance GoogleRequest CatalogsProductsVersionsGet
-         where
-        type Rs CatalogsProductsVersionsGet =
-             GoogleCloudPrivatecatalogproducerV1beta1Version
-        type Scopes CatalogsProductsVersionsGet =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsVersionsGet'{..}
-          = go _cpvgName _cpvgXgafv _cpvgUploadProtocol
-              _cpvgAccessToken
-              _cpvgUploadType
-              _cpvgCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsVersionsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists Version resources that the producer has access to, within the
--- scope of the parent Product.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.list@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
-    (
-    -- * REST Resource
-      CatalogsProductsVersionsListResource
-
-    -- * Creating a Request
-    , catalogsProductsVersionsList
-    , CatalogsProductsVersionsList
-
-    -- * Request Lenses
-    , cpvlParent
-    , cpvlXgafv
-    , cpvlUploadProtocol
-    , cpvlAccessToken
-    , cpvlUploadType
-    , cpvlPageToken
-    , cpvlPageSize
-    , cpvlCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.list@ method which the
--- 'CatalogsProductsVersionsList' request conforms to.
-type CatalogsProductsVersionsListResource =
-     "v1beta1" :>
-       Capture "parent" Text :>
-         "versions" :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "pageSize" (Textual Int32) :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           Get '[JSON]
-                             GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-
--- | Lists Version resources that the producer has access to, within the
--- scope of the parent Product.
---
--- /See:/ 'catalogsProductsVersionsList' smart constructor.
-data CatalogsProductsVersionsList =
-  CatalogsProductsVersionsList'
-    { _cpvlParent         :: !Text
-    , _cpvlXgafv          :: !(Maybe Xgafv)
-    , _cpvlUploadProtocol :: !(Maybe Text)
-    , _cpvlAccessToken    :: !(Maybe Text)
-    , _cpvlUploadType     :: !(Maybe Text)
-    , _cpvlPageToken      :: !(Maybe Text)
-    , _cpvlPageSize       :: !(Maybe (Textual Int32))
-    , _cpvlCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsVersionsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpvlParent'
---
--- * 'cpvlXgafv'
---
--- * 'cpvlUploadProtocol'
---
--- * 'cpvlAccessToken'
---
--- * 'cpvlUploadType'
---
--- * 'cpvlPageToken'
---
--- * 'cpvlPageSize'
---
--- * 'cpvlCallback'
-catalogsProductsVersionsList
-    :: Text -- ^ 'cpvlParent'
-    -> CatalogsProductsVersionsList
-catalogsProductsVersionsList pCpvlParent_ =
-  CatalogsProductsVersionsList'
-    { _cpvlParent = pCpvlParent_
-    , _cpvlXgafv = Nothing
-    , _cpvlUploadProtocol = Nothing
-    , _cpvlAccessToken = Nothing
-    , _cpvlUploadType = Nothing
-    , _cpvlPageToken = Nothing
-    , _cpvlPageSize = Nothing
-    , _cpvlCallback = Nothing
-    }
-
-
--- | The resource name of the parent resource.
-cpvlParent :: Lens' CatalogsProductsVersionsList Text
-cpvlParent
-  = lens _cpvlParent (\ s a -> s{_cpvlParent = a})
-
--- | V1 error format.
-cpvlXgafv :: Lens' CatalogsProductsVersionsList (Maybe Xgafv)
-cpvlXgafv
-  = lens _cpvlXgafv (\ s a -> s{_cpvlXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpvlUploadProtocol :: Lens' CatalogsProductsVersionsList (Maybe Text)
-cpvlUploadProtocol
-  = lens _cpvlUploadProtocol
-      (\ s a -> s{_cpvlUploadProtocol = a})
-
--- | OAuth access token.
-cpvlAccessToken :: Lens' CatalogsProductsVersionsList (Maybe Text)
-cpvlAccessToken
-  = lens _cpvlAccessToken
-      (\ s a -> s{_cpvlAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpvlUploadType :: Lens' CatalogsProductsVersionsList (Maybe Text)
-cpvlUploadType
-  = lens _cpvlUploadType
-      (\ s a -> s{_cpvlUploadType = a})
-
--- | A pagination token returned from a previous call to ListVersions that
--- indicates where this listing should continue from. This field is
--- optional.
-cpvlPageToken :: Lens' CatalogsProductsVersionsList (Maybe Text)
-cpvlPageToken
-  = lens _cpvlPageToken
-      (\ s a -> s{_cpvlPageToken = a})
-
--- | The maximum number of versions to return.
-cpvlPageSize :: Lens' CatalogsProductsVersionsList (Maybe Int32)
-cpvlPageSize
-  = lens _cpvlPageSize (\ s a -> s{_cpvlPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-cpvlCallback :: Lens' CatalogsProductsVersionsList (Maybe Text)
-cpvlCallback
-  = lens _cpvlCallback (\ s a -> s{_cpvlCallback = a})
-
-instance GoogleRequest CatalogsProductsVersionsList
-         where
-        type Rs CatalogsProductsVersionsList =
-             GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse
-        type Scopes CatalogsProductsVersionsList =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsVersionsList'{..}
-          = go _cpvlParent _cpvlXgafv _cpvlUploadProtocol
-              _cpvlAccessToken
-              _cpvlUploadType
-              _cpvlPageToken
-              _cpvlPageSize
-              _cpvlCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsProductsVersionsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs
+++ /dev/null
@@ -1,186 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a specific Version resource.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.products.versions.patch@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
-    (
-    -- * REST Resource
-      CatalogsProductsVersionsPatchResource
-
-    -- * Creating a Request
-    , catalogsProductsVersionsPatch
-    , CatalogsProductsVersionsPatch
-
-    -- * Request Lenses
-    , cpvpXgafv
-    , cpvpUploadProtocol
-    , cpvpUpdateMask
-    , cpvpAccessToken
-    , cpvpUploadType
-    , cpvpPayload
-    , cpvpName
-    , cpvpCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.products.versions.patch@ method which the
--- 'CatalogsProductsVersionsPatch' request conforms to.
-type CatalogsProductsVersionsPatchResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "updateMask" GFieldMask :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Version
-                         :>
-                         Patch '[JSON]
-                           GoogleCloudPrivatecatalogproducerV1beta1Version
-
--- | Updates a specific Version resource.
---
--- /See:/ 'catalogsProductsVersionsPatch' smart constructor.
-data CatalogsProductsVersionsPatch =
-  CatalogsProductsVersionsPatch'
-    { _cpvpXgafv          :: !(Maybe Xgafv)
-    , _cpvpUploadProtocol :: !(Maybe Text)
-    , _cpvpUpdateMask     :: !(Maybe GFieldMask)
-    , _cpvpAccessToken    :: !(Maybe Text)
-    , _cpvpUploadType     :: !(Maybe Text)
-    , _cpvpPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1Version
-    , _cpvpName           :: !Text
-    , _cpvpCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsProductsVersionsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpvpXgafv'
---
--- * 'cpvpUploadProtocol'
---
--- * 'cpvpUpdateMask'
---
--- * 'cpvpAccessToken'
---
--- * 'cpvpUploadType'
---
--- * 'cpvpPayload'
---
--- * 'cpvpName'
---
--- * 'cpvpCallback'
-catalogsProductsVersionsPatch
-    :: GoogleCloudPrivatecatalogproducerV1beta1Version -- ^ 'cpvpPayload'
-    -> Text -- ^ 'cpvpName'
-    -> CatalogsProductsVersionsPatch
-catalogsProductsVersionsPatch pCpvpPayload_ pCpvpName_ =
-  CatalogsProductsVersionsPatch'
-    { _cpvpXgafv = Nothing
-    , _cpvpUploadProtocol = Nothing
-    , _cpvpUpdateMask = Nothing
-    , _cpvpAccessToken = Nothing
-    , _cpvpUploadType = Nothing
-    , _cpvpPayload = pCpvpPayload_
-    , _cpvpName = pCpvpName_
-    , _cpvpCallback = Nothing
-    }
-
-
--- | V1 error format.
-cpvpXgafv :: Lens' CatalogsProductsVersionsPatch (Maybe Xgafv)
-cpvpXgafv
-  = lens _cpvpXgafv (\ s a -> s{_cpvpXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cpvpUploadProtocol :: Lens' CatalogsProductsVersionsPatch (Maybe Text)
-cpvpUploadProtocol
-  = lens _cpvpUploadProtocol
-      (\ s a -> s{_cpvpUploadProtocol = a})
-
--- | Field mask that controls which fields of the version should be updated.
-cpvpUpdateMask :: Lens' CatalogsProductsVersionsPatch (Maybe GFieldMask)
-cpvpUpdateMask
-  = lens _cpvpUpdateMask
-      (\ s a -> s{_cpvpUpdateMask = a})
-
--- | OAuth access token.
-cpvpAccessToken :: Lens' CatalogsProductsVersionsPatch (Maybe Text)
-cpvpAccessToken
-  = lens _cpvpAccessToken
-      (\ s a -> s{_cpvpAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cpvpUploadType :: Lens' CatalogsProductsVersionsPatch (Maybe Text)
-cpvpUploadType
-  = lens _cpvpUploadType
-      (\ s a -> s{_cpvpUploadType = a})
-
--- | Multipart request metadata.
-cpvpPayload :: Lens' CatalogsProductsVersionsPatch GoogleCloudPrivatecatalogproducerV1beta1Version
-cpvpPayload
-  = lens _cpvpPayload (\ s a -> s{_cpvpPayload = a})
-
--- | Required. The resource name of the version, in the format
--- \`catalogs\/{catalog_id}\/products\/{product_id}\/versions\/a-z*[a-z0-9]\'.
--- A unique identifier for the version under a product, which can\'t be
--- changed after the version is created. The final segment of the name must
--- between 1 and 63 characters in length.
-cpvpName :: Lens' CatalogsProductsVersionsPatch Text
-cpvpName = lens _cpvpName (\ s a -> s{_cpvpName = a})
-
--- | JSONP
-cpvpCallback :: Lens' CatalogsProductsVersionsPatch (Maybe Text)
-cpvpCallback
-  = lens _cpvpCallback (\ s a -> s{_cpvpCallback = a})
-
-instance GoogleRequest CatalogsProductsVersionsPatch
-         where
-        type Rs CatalogsProductsVersionsPatch =
-             GoogleCloudPrivatecatalogproducerV1beta1Version
-        type Scopes CatalogsProductsVersionsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsProductsVersionsPatch'{..}
-          = go _cpvpName _cpvpXgafv _cpvpUploadProtocol
-              _cpvpUpdateMask
-              _cpvpAccessToken
-              _cpvpUploadType
-              _cpvpCallback
-              (Just AltJSON)
-              _cpvpPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy CatalogsProductsVersionsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/SetIAMPolicy.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/SetIAMPolicy.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/SetIAMPolicy.hs
+++ /dev/null
@@ -1,165 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.SetIAMPolicy
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Sets the IAM policy for the specified Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.setIamPolicy@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.SetIAMPolicy
-    (
-    -- * REST Resource
-      CatalogsSetIAMPolicyResource
-
-    -- * Creating a Request
-    , catalogsSetIAMPolicy
-    , CatalogsSetIAMPolicy
-
-    -- * Request Lenses
-    , csipXgafv
-    , csipUploadProtocol
-    , csipAccessToken
-    , csipUploadType
-    , csipPayload
-    , csipResource
-    , csipCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.setIamPolicy@ method which the
--- 'CatalogsSetIAMPolicy' request conforms to.
-type CatalogsSetIAMPolicyResource =
-     "v1beta1" :>
-       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] GoogleIAMV1SetIAMPolicyRequest :>
-                       Post '[JSON] GoogleIAMV1Policy
-
--- | Sets the IAM policy for the specified Catalog.
---
--- /See:/ 'catalogsSetIAMPolicy' smart constructor.
-data CatalogsSetIAMPolicy =
-  CatalogsSetIAMPolicy'
-    { _csipXgafv          :: !(Maybe Xgafv)
-    , _csipUploadProtocol :: !(Maybe Text)
-    , _csipAccessToken    :: !(Maybe Text)
-    , _csipUploadType     :: !(Maybe Text)
-    , _csipPayload        :: !GoogleIAMV1SetIAMPolicyRequest
-    , _csipResource       :: !Text
-    , _csipCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsSetIAMPolicy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'csipXgafv'
---
--- * 'csipUploadProtocol'
---
--- * 'csipAccessToken'
---
--- * 'csipUploadType'
---
--- * 'csipPayload'
---
--- * 'csipResource'
---
--- * 'csipCallback'
-catalogsSetIAMPolicy
-    :: GoogleIAMV1SetIAMPolicyRequest -- ^ 'csipPayload'
-    -> Text -- ^ 'csipResource'
-    -> CatalogsSetIAMPolicy
-catalogsSetIAMPolicy pCsipPayload_ pCsipResource_ =
-  CatalogsSetIAMPolicy'
-    { _csipXgafv = Nothing
-    , _csipUploadProtocol = Nothing
-    , _csipAccessToken = Nothing
-    , _csipUploadType = Nothing
-    , _csipPayload = pCsipPayload_
-    , _csipResource = pCsipResource_
-    , _csipCallback = Nothing
-    }
-
-
--- | V1 error format.
-csipXgafv :: Lens' CatalogsSetIAMPolicy (Maybe Xgafv)
-csipXgafv
-  = lens _csipXgafv (\ s a -> s{_csipXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-csipUploadProtocol :: Lens' CatalogsSetIAMPolicy (Maybe Text)
-csipUploadProtocol
-  = lens _csipUploadProtocol
-      (\ s a -> s{_csipUploadProtocol = a})
-
--- | OAuth access token.
-csipAccessToken :: Lens' CatalogsSetIAMPolicy (Maybe Text)
-csipAccessToken
-  = lens _csipAccessToken
-      (\ s a -> s{_csipAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-csipUploadType :: Lens' CatalogsSetIAMPolicy (Maybe Text)
-csipUploadType
-  = lens _csipUploadType
-      (\ s a -> s{_csipUploadType = a})
-
--- | Multipart request metadata.
-csipPayload :: Lens' CatalogsSetIAMPolicy GoogleIAMV1SetIAMPolicyRequest
-csipPayload
-  = lens _csipPayload (\ s a -> s{_csipPayload = a})
-
--- | REQUIRED: The resource for which the policy is being specified. See the
--- operation documentation for the appropriate value for this field.
-csipResource :: Lens' CatalogsSetIAMPolicy Text
-csipResource
-  = lens _csipResource (\ s a -> s{_csipResource = a})
-
--- | JSONP
-csipCallback :: Lens' CatalogsSetIAMPolicy (Maybe Text)
-csipCallback
-  = lens _csipCallback (\ s a -> s{_csipCallback = a})
-
-instance GoogleRequest CatalogsSetIAMPolicy where
-        type Rs CatalogsSetIAMPolicy = GoogleIAMV1Policy
-        type Scopes CatalogsSetIAMPolicy =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsSetIAMPolicy'{..}
-          = go _csipResource _csipXgafv _csipUploadProtocol
-              _csipAccessToken
-              _csipUploadType
-              _csipCallback
-              (Just AltJSON)
-              _csipPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsSetIAMPolicyResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/TestIAMPermissions.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/TestIAMPermissions.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/TestIAMPermissions.hs
+++ /dev/null
@@ -1,168 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.TestIAMPermissions
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Tests the IAM permissions for the specified Catalog.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.testIamPermissions@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.TestIAMPermissions
-    (
-    -- * REST Resource
-      CatalogsTestIAMPermissionsResource
-
-    -- * Creating a Request
-    , catalogsTestIAMPermissions
-    , CatalogsTestIAMPermissions
-
-    -- * Request Lenses
-    , ctipXgafv
-    , ctipUploadProtocol
-    , ctipAccessToken
-    , ctipUploadType
-    , ctipPayload
-    , ctipResource
-    , ctipCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.testIamPermissions@ method which the
--- 'CatalogsTestIAMPermissions' request conforms to.
-type CatalogsTestIAMPermissionsResource =
-     "v1beta1" :>
-       CaptureMode "resource" "testIamPermissions" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON] GoogleIAMV1TestIAMPermissionsRequest
-                       :> Post '[JSON] GoogleIAMV1TestIAMPermissionsResponse
-
--- | Tests the IAM permissions for the specified Catalog.
---
--- /See:/ 'catalogsTestIAMPermissions' smart constructor.
-data CatalogsTestIAMPermissions =
-  CatalogsTestIAMPermissions'
-    { _ctipXgafv          :: !(Maybe Xgafv)
-    , _ctipUploadProtocol :: !(Maybe Text)
-    , _ctipAccessToken    :: !(Maybe Text)
-    , _ctipUploadType     :: !(Maybe Text)
-    , _ctipPayload        :: !GoogleIAMV1TestIAMPermissionsRequest
-    , _ctipResource       :: !Text
-    , _ctipCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsTestIAMPermissions' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ctipXgafv'
---
--- * 'ctipUploadProtocol'
---
--- * 'ctipAccessToken'
---
--- * 'ctipUploadType'
---
--- * 'ctipPayload'
---
--- * 'ctipResource'
---
--- * 'ctipCallback'
-catalogsTestIAMPermissions
-    :: GoogleIAMV1TestIAMPermissionsRequest -- ^ 'ctipPayload'
-    -> Text -- ^ 'ctipResource'
-    -> CatalogsTestIAMPermissions
-catalogsTestIAMPermissions pCtipPayload_ pCtipResource_ =
-  CatalogsTestIAMPermissions'
-    { _ctipXgafv = Nothing
-    , _ctipUploadProtocol = Nothing
-    , _ctipAccessToken = Nothing
-    , _ctipUploadType = Nothing
-    , _ctipPayload = pCtipPayload_
-    , _ctipResource = pCtipResource_
-    , _ctipCallback = Nothing
-    }
-
-
--- | V1 error format.
-ctipXgafv :: Lens' CatalogsTestIAMPermissions (Maybe Xgafv)
-ctipXgafv
-  = lens _ctipXgafv (\ s a -> s{_ctipXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-ctipUploadProtocol :: Lens' CatalogsTestIAMPermissions (Maybe Text)
-ctipUploadProtocol
-  = lens _ctipUploadProtocol
-      (\ s a -> s{_ctipUploadProtocol = a})
-
--- | OAuth access token.
-ctipAccessToken :: Lens' CatalogsTestIAMPermissions (Maybe Text)
-ctipAccessToken
-  = lens _ctipAccessToken
-      (\ s a -> s{_ctipAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-ctipUploadType :: Lens' CatalogsTestIAMPermissions (Maybe Text)
-ctipUploadType
-  = lens _ctipUploadType
-      (\ s a -> s{_ctipUploadType = a})
-
--- | Multipart request metadata.
-ctipPayload :: Lens' CatalogsTestIAMPermissions GoogleIAMV1TestIAMPermissionsRequest
-ctipPayload
-  = lens _ctipPayload (\ s a -> s{_ctipPayload = a})
-
--- | REQUIRED: The resource for which the policy detail is being requested.
--- See the operation documentation for the appropriate value for this
--- field.
-ctipResource :: Lens' CatalogsTestIAMPermissions Text
-ctipResource
-  = lens _ctipResource (\ s a -> s{_ctipResource = a})
-
--- | JSONP
-ctipCallback :: Lens' CatalogsTestIAMPermissions (Maybe Text)
-ctipCallback
-  = lens _ctipCallback (\ s a -> s{_ctipCallback = a})
-
-instance GoogleRequest CatalogsTestIAMPermissions
-         where
-        type Rs CatalogsTestIAMPermissions =
-             GoogleIAMV1TestIAMPermissionsResponse
-        type Scopes CatalogsTestIAMPermissions =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsTestIAMPermissions'{..}
-          = go _ctipResource _ctipXgafv _ctipUploadProtocol
-              _ctipAccessToken
-              _ctipUploadType
-              _ctipCallback
-              (Just AltJSON)
-              _ctipPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsTestIAMPermissionsResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Undelete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Undelete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Undelete.hs
+++ /dev/null
@@ -1,165 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Catalogs.Undelete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Undeletes a deleted Catalog and all resources under it.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.catalogs.undelete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Undelete
-    (
-    -- * REST Resource
-      CatalogsUndeleteResource
-
-    -- * Creating a Request
-    , catalogsUndelete
-    , CatalogsUndelete
-
-    -- * Request Lenses
-    , cuXgafv
-    , cuUploadProtocol
-    , cuAccessToken
-    , cuUploadType
-    , cuPayload
-    , cuName
-    , cuCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.catalogs.undelete@ method which the
--- 'CatalogsUndelete' request conforms to.
-type CatalogsUndeleteResource =
-     "v1beta1" :>
-       CaptureMode "name" "undelete" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON]
-                       GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-                       :>
-                       Post '[JSON]
-                         GoogleCloudPrivatecatalogproducerV1beta1Catalog
-
--- | Undeletes a deleted Catalog and all resources under it.
---
--- /See:/ 'catalogsUndelete' smart constructor.
-data CatalogsUndelete =
-  CatalogsUndelete'
-    { _cuXgafv          :: !(Maybe Xgafv)
-    , _cuUploadProtocol :: !(Maybe Text)
-    , _cuAccessToken    :: !(Maybe Text)
-    , _cuUploadType     :: !(Maybe Text)
-    , _cuPayload        :: !GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-    , _cuName           :: !Text
-    , _cuCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CatalogsUndelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cuXgafv'
---
--- * 'cuUploadProtocol'
---
--- * 'cuAccessToken'
---
--- * 'cuUploadType'
---
--- * 'cuPayload'
---
--- * 'cuName'
---
--- * 'cuCallback'
-catalogsUndelete
-    :: GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest -- ^ 'cuPayload'
-    -> Text -- ^ 'cuName'
-    -> CatalogsUndelete
-catalogsUndelete pCuPayload_ pCuName_ =
-  CatalogsUndelete'
-    { _cuXgafv = Nothing
-    , _cuUploadProtocol = Nothing
-    , _cuAccessToken = Nothing
-    , _cuUploadType = Nothing
-    , _cuPayload = pCuPayload_
-    , _cuName = pCuName_
-    , _cuCallback = Nothing
-    }
-
-
--- | V1 error format.
-cuXgafv :: Lens' CatalogsUndelete (Maybe Xgafv)
-cuXgafv = lens _cuXgafv (\ s a -> s{_cuXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-cuUploadProtocol :: Lens' CatalogsUndelete (Maybe Text)
-cuUploadProtocol
-  = lens _cuUploadProtocol
-      (\ s a -> s{_cuUploadProtocol = a})
-
--- | OAuth access token.
-cuAccessToken :: Lens' CatalogsUndelete (Maybe Text)
-cuAccessToken
-  = lens _cuAccessToken
-      (\ s a -> s{_cuAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-cuUploadType :: Lens' CatalogsUndelete (Maybe Text)
-cuUploadType
-  = lens _cuUploadType (\ s a -> s{_cuUploadType = a})
-
--- | Multipart request metadata.
-cuPayload :: Lens' CatalogsUndelete GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest
-cuPayload
-  = lens _cuPayload (\ s a -> s{_cuPayload = a})
-
--- | The resource name of the catalog.
-cuName :: Lens' CatalogsUndelete Text
-cuName = lens _cuName (\ s a -> s{_cuName = a})
-
--- | JSONP
-cuCallback :: Lens' CatalogsUndelete (Maybe Text)
-cuCallback
-  = lens _cuCallback (\ s a -> s{_cuCallback = a})
-
-instance GoogleRequest CatalogsUndelete where
-        type Rs CatalogsUndelete =
-             GoogleCloudPrivatecatalogproducerV1beta1Catalog
-        type Scopes CatalogsUndelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient CatalogsUndelete'{..}
-          = go _cuName _cuXgafv _cuUploadProtocol
-              _cuAccessToken
-              _cuUploadType
-              _cuCallback
-              (Just AltJSON)
-              _cuPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy CatalogsUndeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Cancel.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Cancel.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Cancel.hs
+++ /dev/null
@@ -1,178 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Operations.Cancel
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Starts asynchronous cancellation on a long-running operation. The server
--- makes a best effort to cancel the operation, but success is not
--- guaranteed. If the server doesn\'t support this method, it returns
--- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use
--- Operations.GetOperation or other methods to check whether the
--- cancellation succeeded or whether the operation completed despite
--- cancellation. On successful cancellation, the operation is not deleted;
--- instead, it becomes an operation with an Operation.error value with a
--- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.cancel@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Cancel
-    (
-    -- * REST Resource
-      OperationsCancelResource
-
-    -- * Creating a Request
-    , operationsCancel
-    , OperationsCancel
-
-    -- * Request Lenses
-    , ocXgafv
-    , ocUploadProtocol
-    , ocAccessToken
-    , ocUploadType
-    , ocPayload
-    , ocName
-    , ocCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.operations.cancel@ method which the
--- 'OperationsCancel' request conforms to.
-type OperationsCancelResource =
-     "v1beta1" :>
-       CaptureMode "name" "cancel" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON]
-                       GoogleLongrunningCancelOperationRequest
-                       :> Post '[JSON] GoogleProtobufEmpty
-
--- | Starts asynchronous cancellation on a long-running operation. The server
--- makes a best effort to cancel the operation, but success is not
--- guaranteed. If the server doesn\'t support this method, it returns
--- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use
--- Operations.GetOperation or other methods to check whether the
--- cancellation succeeded or whether the operation completed despite
--- cancellation. On successful cancellation, the operation is not deleted;
--- instead, it becomes an operation with an Operation.error value with a
--- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.
---
--- /See:/ 'operationsCancel' smart constructor.
-data OperationsCancel =
-  OperationsCancel'
-    { _ocXgafv          :: !(Maybe Xgafv)
-    , _ocUploadProtocol :: !(Maybe Text)
-    , _ocAccessToken    :: !(Maybe Text)
-    , _ocUploadType     :: !(Maybe Text)
-    , _ocPayload        :: !GoogleLongrunningCancelOperationRequest
-    , _ocName           :: !Text
-    , _ocCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationsCancel' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ocXgafv'
---
--- * 'ocUploadProtocol'
---
--- * 'ocAccessToken'
---
--- * 'ocUploadType'
---
--- * 'ocPayload'
---
--- * 'ocName'
---
--- * 'ocCallback'
-operationsCancel
-    :: GoogleLongrunningCancelOperationRequest -- ^ 'ocPayload'
-    -> Text -- ^ 'ocName'
-    -> OperationsCancel
-operationsCancel pOcPayload_ pOcName_ =
-  OperationsCancel'
-    { _ocXgafv = Nothing
-    , _ocUploadProtocol = Nothing
-    , _ocAccessToken = Nothing
-    , _ocUploadType = Nothing
-    , _ocPayload = pOcPayload_
-    , _ocName = pOcName_
-    , _ocCallback = Nothing
-    }
-
-
--- | V1 error format.
-ocXgafv :: Lens' OperationsCancel (Maybe Xgafv)
-ocXgafv = lens _ocXgafv (\ s a -> s{_ocXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-ocUploadProtocol :: Lens' OperationsCancel (Maybe Text)
-ocUploadProtocol
-  = lens _ocUploadProtocol
-      (\ s a -> s{_ocUploadProtocol = a})
-
--- | OAuth access token.
-ocAccessToken :: Lens' OperationsCancel (Maybe Text)
-ocAccessToken
-  = lens _ocAccessToken
-      (\ s a -> s{_ocAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-ocUploadType :: Lens' OperationsCancel (Maybe Text)
-ocUploadType
-  = lens _ocUploadType (\ s a -> s{_ocUploadType = a})
-
--- | Multipart request metadata.
-ocPayload :: Lens' OperationsCancel GoogleLongrunningCancelOperationRequest
-ocPayload
-  = lens _ocPayload (\ s a -> s{_ocPayload = a})
-
--- | The name of the operation resource to be cancelled.
-ocName :: Lens' OperationsCancel Text
-ocName = lens _ocName (\ s a -> s{_ocName = a})
-
--- | JSONP
-ocCallback :: Lens' OperationsCancel (Maybe Text)
-ocCallback
-  = lens _ocCallback (\ s a -> s{_ocCallback = a})
-
-instance GoogleRequest OperationsCancel where
-        type Rs OperationsCancel = GoogleProtobufEmpty
-        type Scopes OperationsCancel =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient OperationsCancel'{..}
-          = go _ocName _ocXgafv _ocUploadProtocol
-              _ocAccessToken
-              _ocUploadType
-              _ocCallback
-              (Just AltJSON)
-              _ocPayload
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy OperationsCancelResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Delete.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Delete.hs
+++ /dev/null
@@ -1,154 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Operations.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a long-running operation. This method indicates that the client
--- is no longer interested in the operation result. It does not cancel the
--- operation. If the server doesn\'t support this method, it returns
--- \`google.rpc.Code.UNIMPLEMENTED\`.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.delete@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Delete
-    (
-    -- * REST Resource
-      OperationsDeleteResource
-
-    -- * Creating a Request
-    , operationsDelete
-    , OperationsDelete
-
-    -- * Request Lenses
-    , odXgafv
-    , odUploadProtocol
-    , odAccessToken
-    , odUploadType
-    , odName
-    , odCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.operations.delete@ method which the
--- 'OperationsDelete' request conforms to.
-type OperationsDeleteResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Delete '[JSON] GoogleProtobufEmpty
-
--- | Deletes a long-running operation. This method indicates that the client
--- is no longer interested in the operation result. It does not cancel the
--- operation. If the server doesn\'t support this method, it returns
--- \`google.rpc.Code.UNIMPLEMENTED\`.
---
--- /See:/ 'operationsDelete' smart constructor.
-data OperationsDelete =
-  OperationsDelete'
-    { _odXgafv          :: !(Maybe Xgafv)
-    , _odUploadProtocol :: !(Maybe Text)
-    , _odAccessToken    :: !(Maybe Text)
-    , _odUploadType     :: !(Maybe Text)
-    , _odName           :: !Text
-    , _odCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'odXgafv'
---
--- * 'odUploadProtocol'
---
--- * 'odAccessToken'
---
--- * 'odUploadType'
---
--- * 'odName'
---
--- * 'odCallback'
-operationsDelete
-    :: Text -- ^ 'odName'
-    -> OperationsDelete
-operationsDelete pOdName_ =
-  OperationsDelete'
-    { _odXgafv = Nothing
-    , _odUploadProtocol = Nothing
-    , _odAccessToken = Nothing
-    , _odUploadType = Nothing
-    , _odName = pOdName_
-    , _odCallback = Nothing
-    }
-
-
--- | V1 error format.
-odXgafv :: Lens' OperationsDelete (Maybe Xgafv)
-odXgafv = lens _odXgafv (\ s a -> s{_odXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-odUploadProtocol :: Lens' OperationsDelete (Maybe Text)
-odUploadProtocol
-  = lens _odUploadProtocol
-      (\ s a -> s{_odUploadProtocol = a})
-
--- | OAuth access token.
-odAccessToken :: Lens' OperationsDelete (Maybe Text)
-odAccessToken
-  = lens _odAccessToken
-      (\ s a -> s{_odAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-odUploadType :: Lens' OperationsDelete (Maybe Text)
-odUploadType
-  = lens _odUploadType (\ s a -> s{_odUploadType = a})
-
--- | The name of the operation resource to be deleted.
-odName :: Lens' OperationsDelete Text
-odName = lens _odName (\ s a -> s{_odName = a})
-
--- | JSONP
-odCallback :: Lens' OperationsDelete (Maybe Text)
-odCallback
-  = lens _odCallback (\ s a -> s{_odCallback = a})
-
-instance GoogleRequest OperationsDelete where
-        type Rs OperationsDelete = GoogleProtobufEmpty
-        type Scopes OperationsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient OperationsDelete'{..}
-          = go _odName _odXgafv _odUploadProtocol
-              _odAccessToken
-              _odUploadType
-              _odCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy OperationsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Get.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Get.hs
+++ /dev/null
@@ -1,151 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Operations.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Gets the latest state of a long-running operation. Clients can use this
--- method to poll the operation result at intervals as recommended by the
--- API service.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.get@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Get
-    (
-    -- * REST Resource
-      OperationsGetResource
-
-    -- * Creating a Request
-    , operationsGet
-    , OperationsGet
-
-    -- * Request Lenses
-    , ogXgafv
-    , ogUploadProtocol
-    , ogAccessToken
-    , ogUploadType
-    , ogName
-    , ogCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.operations.get@ method which the
--- 'OperationsGet' request conforms to.
-type OperationsGetResource =
-     "v1beta1" :>
-       Capture "name" Text :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON] GoogleLongrunningOperation
-
--- | Gets the latest state of a long-running operation. Clients can use this
--- method to poll the operation result at intervals as recommended by the
--- API service.
---
--- /See:/ 'operationsGet' smart constructor.
-data OperationsGet =
-  OperationsGet'
-    { _ogXgafv          :: !(Maybe Xgafv)
-    , _ogUploadProtocol :: !(Maybe Text)
-    , _ogAccessToken    :: !(Maybe Text)
-    , _ogUploadType     :: !(Maybe Text)
-    , _ogName           :: !Text
-    , _ogCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ogXgafv'
---
--- * 'ogUploadProtocol'
---
--- * 'ogAccessToken'
---
--- * 'ogUploadType'
---
--- * 'ogName'
---
--- * 'ogCallback'
-operationsGet
-    :: Text -- ^ 'ogName'
-    -> OperationsGet
-operationsGet pOgName_ =
-  OperationsGet'
-    { _ogXgafv = Nothing
-    , _ogUploadProtocol = Nothing
-    , _ogAccessToken = Nothing
-    , _ogUploadType = Nothing
-    , _ogName = pOgName_
-    , _ogCallback = Nothing
-    }
-
-
--- | V1 error format.
-ogXgafv :: Lens' OperationsGet (Maybe Xgafv)
-ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-ogUploadProtocol :: Lens' OperationsGet (Maybe Text)
-ogUploadProtocol
-  = lens _ogUploadProtocol
-      (\ s a -> s{_ogUploadProtocol = a})
-
--- | OAuth access token.
-ogAccessToken :: Lens' OperationsGet (Maybe Text)
-ogAccessToken
-  = lens _ogAccessToken
-      (\ s a -> s{_ogAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-ogUploadType :: Lens' OperationsGet (Maybe Text)
-ogUploadType
-  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})
-
--- | The name of the operation resource.
-ogName :: Lens' OperationsGet Text
-ogName = lens _ogName (\ s a -> s{_ogName = a})
-
--- | JSONP
-ogCallback :: Lens' OperationsGet (Maybe Text)
-ogCallback
-  = lens _ogCallback (\ s a -> s{_ogCallback = a})
-
-instance GoogleRequest OperationsGet where
-        type Rs OperationsGet = GoogleLongrunningOperation
-        type Scopes OperationsGet =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient OperationsGet'{..}
-          = go _ogName _ogXgafv _ogUploadProtocol
-              _ogAccessToken
-              _ogUploadType
-              _ogCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy OperationsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/List.hs b/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/List.hs
+++ /dev/null
@@ -1,202 +0,0 @@
-{-# 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.CloudPrivateCatalogProducer.Operations.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists operations that match the specified filter in the request. If the
--- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:
--- the \`name\` binding allows API services to override the binding to use
--- different resource name schemes, such as \`users\/*\/operations\`. To
--- override the binding, API services can add a binding such as
--- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service
--- configuration. For backwards compatibility, the default name includes
--- the operations collection id, however overriding users must ensure the
--- name binding is the parent resource, without the operations collection
--- id.
---
--- /See:/ <https://sites.google.com/corp/google.com/cloudprivatecatalog Cloud Private Catalog Producer API Reference> for @cloudprivatecatalogproducer.operations.list@.
-module Network.Google.Resource.CloudPrivateCatalogProducer.Operations.List
-    (
-    -- * REST Resource
-      OperationsListResource
-
-    -- * Creating a Request
-    , operationsList
-    , OperationsList
-
-    -- * Request Lenses
-    , olXgafv
-    , olUploadProtocol
-    , olAccessToken
-    , olUploadType
-    , olName
-    , olFilter
-    , olPageToken
-    , olPageSize
-    , olCallback
-    ) where
-
-import           Network.Google.CloudPrivateCatalogProducer.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudprivatecatalogproducer.operations.list@ method which the
--- 'OperationsList' request conforms to.
-type OperationsListResource =
-     "v1beta1" :>
-       "operations" :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "name" Text :>
-                   QueryParam "filter" Text :>
-                     QueryParam "pageToken" Text :>
-                       QueryParam "pageSize" (Textual Int32) :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] GoogleLongrunningListOperationsResponse
-
--- | Lists operations that match the specified filter in the request. If the
--- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:
--- the \`name\` binding allows API services to override the binding to use
--- different resource name schemes, such as \`users\/*\/operations\`. To
--- override the binding, API services can add a binding such as
--- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service
--- configuration. For backwards compatibility, the default name includes
--- the operations collection id, however overriding users must ensure the
--- name binding is the parent resource, without the operations collection
--- id.
---
--- /See:/ 'operationsList' smart constructor.
-data OperationsList =
-  OperationsList'
-    { _olXgafv          :: !(Maybe Xgafv)
-    , _olUploadProtocol :: !(Maybe Text)
-    , _olAccessToken    :: !(Maybe Text)
-    , _olUploadType     :: !(Maybe Text)
-    , _olName           :: !(Maybe Text)
-    , _olFilter         :: !(Maybe Text)
-    , _olPageToken      :: !(Maybe Text)
-    , _olPageSize       :: !(Maybe (Textual Int32))
-    , _olCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'olXgafv'
---
--- * 'olUploadProtocol'
---
--- * 'olAccessToken'
---
--- * 'olUploadType'
---
--- * 'olName'
---
--- * 'olFilter'
---
--- * 'olPageToken'
---
--- * 'olPageSize'
---
--- * 'olCallback'
-operationsList
-    :: OperationsList
-operationsList =
-  OperationsList'
-    { _olXgafv = Nothing
-    , _olUploadProtocol = Nothing
-    , _olAccessToken = Nothing
-    , _olUploadType = Nothing
-    , _olName = Nothing
-    , _olFilter = Nothing
-    , _olPageToken = Nothing
-    , _olPageSize = Nothing
-    , _olCallback = Nothing
-    }
-
-
--- | V1 error format.
-olXgafv :: Lens' OperationsList (Maybe Xgafv)
-olXgafv = lens _olXgafv (\ s a -> s{_olXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-olUploadProtocol :: Lens' OperationsList (Maybe Text)
-olUploadProtocol
-  = lens _olUploadProtocol
-      (\ s a -> s{_olUploadProtocol = a})
-
--- | OAuth access token.
-olAccessToken :: Lens' OperationsList (Maybe Text)
-olAccessToken
-  = lens _olAccessToken
-      (\ s a -> s{_olAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-olUploadType :: Lens' OperationsList (Maybe Text)
-olUploadType
-  = lens _olUploadType (\ s a -> s{_olUploadType = a})
-
--- | The name of the operation\'s parent resource.
-olName :: Lens' OperationsList (Maybe Text)
-olName = lens _olName (\ s a -> s{_olName = a})
-
--- | The standard list filter.
-olFilter :: Lens' OperationsList (Maybe Text)
-olFilter = lens _olFilter (\ s a -> s{_olFilter = a})
-
--- | The standard list page token.
-olPageToken :: Lens' OperationsList (Maybe Text)
-olPageToken
-  = lens _olPageToken (\ s a -> s{_olPageToken = a})
-
--- | The standard list page size.
-olPageSize :: Lens' OperationsList (Maybe Int32)
-olPageSize
-  = lens _olPageSize (\ s a -> s{_olPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-olCallback :: Lens' OperationsList (Maybe Text)
-olCallback
-  = lens _olCallback (\ s a -> s{_olCallback = a})
-
-instance GoogleRequest OperationsList where
-        type Rs OperationsList =
-             GoogleLongrunningListOperationsResponse
-        type Scopes OperationsList =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient OperationsList'{..}
-          = go _olXgafv _olUploadProtocol _olAccessToken
-              _olUploadType
-              _olName
-              _olFilter
-              _olPageToken
-              _olPageSize
-              _olCallback
-              (Just AltJSON)
-              cloudPrivateCatalogProducerService
-          where go
-                  = buildClient (Proxy :: Proxy OperationsListResource)
-                      mempty
diff --git a/gogol-cloudprivatecatalogproducer.cabal b/gogol-cloudprivatecatalogproducer.cabal
--- a/gogol-cloudprivatecatalogproducer.cabal
+++ b/gogol-cloudprivatecatalogproducer.cabal
@@ -1,75 +1,89 @@
-name:                  gogol-cloudprivatecatalogproducer
-version:               0.5.0
-synopsis:              Google Cloud Private Catalog Producer SDK.
-homepage:              https://github.com/brendanhay/gogol
-bug-reports:           https://github.com/brendanhay/gogol/issues
-license:               OtherLicense
-license-file:          LICENSE
-author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2015-2016 Brendan Hay
-category:              Network, Google, Cloud
-build-type:            Simple
-cabal-version:         >= 1.10
-extra-source-files:    README.md src/.gitkeep
+cabal-version:      2.2
+name:               gogol-cloudprivatecatalogproducer
+version:            1.0.0
+synopsis:           Google Cloud Private Catalog Producer SDK.
+homepage:           https://github.com/brendanhay/gogol
+bug-reports:        https://github.com/brendanhay/gogol/issues
+license:            MPL-2.0
+license-file:       LICENSE
+author:             Brendan Hay
+maintainer:
+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com>
 
+copyright:          Copyright (c) 2015-2025 Brendan Hay
+category:           Google
+build-type:         Simple
+extra-source-files:
+  README.md
+  src/.gitkeep
+
 description:
-    Enables cloud users to manage and share enterprise catalogs intheir
-    organizations.
-    .
-    /Warning:/ This is an experimental prototype/preview release which is still
-    under exploratory development and not intended for public use, caveat emptor!
-    .
-    This library is compatible with version @v1beta1@
-    of the API.
+  Enables cloud users to manage and share enterprise catalogs intheir organizations.
+  .
+  /Warning:/ This is an experimental prototype/preview release which is still
+  under exploratory development and not intended for public use, caveat emptor!
+  .
+  This library is compatible with version @v1beta1@
+  of the API.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/gogol.git
+  type:     git
+  location: git://github.com/brendanhay/gogol.git
+  subdir:   gogol-cloudprivatecatalogproducer
 
+flag field-selectors
+  description:
+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.
+
+  default:     False
+  manual:      True
+
 library
-    default-language:  Haskell2010
-    hs-source-dirs:    src gen
+  default-language: GHC2021
+  hs-source-dirs:   src gen
+  ghc-options:
+    -Wall -fwarn-incomplete-uni-patterns
+    -fwarn-incomplete-record-updates -funbox-strict-fields
+    -fwarn-unused-packages
 
-    ghc-options:       -Wall
+  if (!flag(field-selectors) && impl(ghc >=9.2))
+    default-extensions: NoFieldSelectors
 
-    exposed-modules:
-          Network.Google.CloudPrivateCatalogProducer
-        , Network.Google.CloudPrivateCatalogProducer.Types
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Create
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.Get
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Associations.List
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Create
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Delete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Get
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.GetIAMPolicy
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.List
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Patch
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Copy
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Create
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Delete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Get
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.List
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Patch
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.SetIAMPolicy
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.TestIAMPermissions
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Catalogs.Undelete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Cancel
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Delete
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Operations.Get
-        , Network.Google.Resource.CloudPrivateCatalogProducer.Operations.List
+  exposed-modules:
+    Gogol.CloudPrivateCatalogProducer
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Create
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Delete
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.Get
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Associations.List
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Create
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Delete
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Get
+    Gogol.CloudPrivateCatalogProducer.Catalogs.GetIamPolicy
+    Gogol.CloudPrivateCatalogProducer.Catalogs.List
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Patch
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Copy
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Create
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Delete
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Get
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Icons.Upload
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.List
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Patch
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Create
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Delete
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Get
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.List
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Products.Versions.Patch
+    Gogol.CloudPrivateCatalogProducer.Catalogs.SetIamPolicy
+    Gogol.CloudPrivateCatalogProducer.Catalogs.TestIamPermissions
+    Gogol.CloudPrivateCatalogProducer.Catalogs.Undelete
+    Gogol.CloudPrivateCatalogProducer.Operations.Cancel
+    Gogol.CloudPrivateCatalogProducer.Operations.Delete
+    Gogol.CloudPrivateCatalogProducer.Operations.Get
+    Gogol.CloudPrivateCatalogProducer.Operations.List
+    Gogol.CloudPrivateCatalogProducer.Types
 
-    other-modules:
-          Network.Google.CloudPrivateCatalogProducer.Types.Product
-        , Network.Google.CloudPrivateCatalogProducer.Types.Sum
+  other-modules:
+    Gogol.CloudPrivateCatalogProducer.Internal.Product
+    Gogol.CloudPrivateCatalogProducer.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
