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/AppsLicensing.hs b/gen/Gogol/AppsLicensing.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing.hs
@@ -0,0 +1,104 @@
+{-# 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.AppsLicensing
+-- 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)
+--
+-- The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference>
+module Gogol.AppsLicensing
+  ( -- * Configuration
+    appsLicensingService,
+
+    -- * OAuth Scopes
+    Apps'Licensing,
+
+    -- * Resources
+
+    -- ** licensing.licenseAssignments.delete
+    LicensingLicenseAssignmentsDeleteResource,
+    LicensingLicenseAssignmentsDelete (..),
+    newLicensingLicenseAssignmentsDelete,
+
+    -- ** licensing.licenseAssignments.get
+    LicensingLicenseAssignmentsGetResource,
+    LicensingLicenseAssignmentsGet (..),
+    newLicensingLicenseAssignmentsGet,
+
+    -- ** licensing.licenseAssignments.insert
+    LicensingLicenseAssignmentsInsertResource,
+    LicensingLicenseAssignmentsInsert (..),
+    newLicensingLicenseAssignmentsInsert,
+
+    -- ** licensing.licenseAssignments.listForProduct
+    LicensingLicenseAssignmentsListForProductResource,
+    LicensingLicenseAssignmentsListForProduct (..),
+    newLicensingLicenseAssignmentsListForProduct,
+
+    -- ** licensing.licenseAssignments.listForProductAndSku
+    LicensingLicenseAssignmentsListForProductAndSkuResource,
+    LicensingLicenseAssignmentsListForProductAndSku (..),
+    newLicensingLicenseAssignmentsListForProductAndSku,
+
+    -- ** licensing.licenseAssignments.patch
+    LicensingLicenseAssignmentsPatchResource,
+    LicensingLicenseAssignmentsPatch (..),
+    newLicensingLicenseAssignmentsPatch,
+
+    -- ** licensing.licenseAssignments.update
+    LicensingLicenseAssignmentsUpdateResource,
+    LicensingLicenseAssignmentsUpdate (..),
+    newLicensingLicenseAssignmentsUpdate,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** Empty
+    Empty (..),
+    newEmpty,
+
+    -- ** LicenseAssignment
+    LicenseAssignment (..),
+    newLicenseAssignment,
+
+    -- ** LicenseAssignmentInsert
+    LicenseAssignmentInsert (..),
+    newLicenseAssignmentInsert,
+
+    -- ** LicenseAssignmentList
+    LicenseAssignmentList (..),
+    newLicenseAssignmentList,
+  )
+where
+
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.Delete
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.Get
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.Insert
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProduct
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProductAndSku
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.Patch
+import Gogol.AppsLicensing.Licensing.LicenseAssignments.Update
+import Gogol.AppsLicensing.Types
diff --git a/gen/Gogol/AppsLicensing/Internal/Product.hs b/gen/Gogol/AppsLicensing/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Internal/Product.hs
@@ -0,0 +1,205 @@
+{-# 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.AppsLicensing.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.AppsLicensing.Internal.Product
+  ( -- * Empty
+    Empty (..),
+    newEmpty,
+
+    -- * LicenseAssignment
+    LicenseAssignment (..),
+    newLicenseAssignment,
+
+    -- * LicenseAssignmentInsert
+    LicenseAssignmentInsert (..),
+    newLicenseAssignmentInsert,
+
+    -- * LicenseAssignmentList
+    LicenseAssignmentList (..),
+    newLicenseAssignmentList,
+  )
+where
+
+import Gogol.AppsLicensing.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | 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); }
+--
+-- /See:/ 'newEmpty' smart constructor.
+data Empty = Empty
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Empty' with the minimum fields required to make a request.
+newEmpty ::
+  Empty
+newEmpty = Empty
+
+instance Core.FromJSON Empty where
+  parseJSON = Core.withObject "Empty" (\o -> Core.pure Empty)
+
+instance Core.ToJSON Empty where
+  toJSON = Core.const Core.emptyObject
+
+-- | Representation of a license assignment.
+--
+-- /See:/ 'newLicenseAssignment' smart constructor.
+data LicenseAssignment = LicenseAssignment
+  { -- | ETag of the resource.
+    etags :: (Core.Maybe Core.Text),
+    -- | Identifies the resource as a LicenseAssignment, which is @licensing#licenseAssignment@.
+    kind :: Core.Text,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Product and SKU IDs.
+    productId :: (Core.Maybe Core.Text),
+    -- | Display Name of the product.
+    productName :: (Core.Maybe Core.Text),
+    -- | Link to this page.
+    selfLink :: (Core.Maybe Core.Text),
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: (Core.Maybe Core.Text),
+    -- | Display Name of the sku of the product.
+    skuName :: (Core.Maybe Core.Text),
+    -- | The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes.
+    userId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicenseAssignment' with the minimum fields required to make a request.
+newLicenseAssignment ::
+  LicenseAssignment
+newLicenseAssignment =
+  LicenseAssignment
+    { etags = Core.Nothing,
+      kind = "licensing#licenseAssignment",
+      productId = Core.Nothing,
+      productName = Core.Nothing,
+      selfLink = Core.Nothing,
+      skuId = Core.Nothing,
+      skuName = Core.Nothing,
+      userId = Core.Nothing
+    }
+
+instance Core.FromJSON LicenseAssignment where
+  parseJSON =
+    Core.withObject
+      "LicenseAssignment"
+      ( \o ->
+          LicenseAssignment
+            Core.<$> (o Core..:? "etags")
+            Core.<*> (o Core..:? "kind" Core..!= "licensing#licenseAssignment")
+            Core.<*> (o Core..:? "productId")
+            Core.<*> (o Core..:? "productName")
+            Core.<*> (o Core..:? "selfLink")
+            Core.<*> (o Core..:? "skuId")
+            Core.<*> (o Core..:? "skuName")
+            Core.<*> (o Core..:? "userId")
+      )
+
+instance Core.ToJSON LicenseAssignment where
+  toJSON LicenseAssignment {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etags" Core..=) Core.<$> etags,
+            Core.Just ("kind" Core..= kind),
+            ("productId" Core..=) Core.<$> productId,
+            ("productName" Core..=) Core.<$> productName,
+            ("selfLink" Core..=) Core.<$> selfLink,
+            ("skuId" Core..=) Core.<$> skuId,
+            ("skuName" Core..=) Core.<$> skuName,
+            ("userId" Core..=) Core.<$> userId
+          ]
+      )
+
+-- | Representation of a license assignment.
+--
+-- /See:/ 'newLicenseAssignmentInsert' smart constructor.
+newtype LicenseAssignmentInsert = LicenseAssignmentInsert
+  { -- | Email id of the user
+    userId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicenseAssignmentInsert' with the minimum fields required to make a request.
+newLicenseAssignmentInsert ::
+  LicenseAssignmentInsert
+newLicenseAssignmentInsert =
+  LicenseAssignmentInsert {userId = Core.Nothing}
+
+instance Core.FromJSON LicenseAssignmentInsert where
+  parseJSON =
+    Core.withObject
+      "LicenseAssignmentInsert"
+      (\o -> LicenseAssignmentInsert Core.<$> (o Core..:? "userId"))
+
+instance Core.ToJSON LicenseAssignmentInsert where
+  toJSON LicenseAssignmentInsert {..} =
+    Core.object (Core.catMaybes [("userId" Core..=) Core.<$> userId])
+
+--
+-- /See:/ 'newLicenseAssignmentList' smart constructor.
+data LicenseAssignmentList = LicenseAssignmentList
+  { -- | ETag of the resource.
+    etag :: (Core.Maybe Core.Text),
+    -- | The LicenseAssignments in this page of results.
+    items :: (Core.Maybe [LicenseAssignment]),
+    -- | Identifies the resource as a collection of LicenseAssignments.
+    kind :: Core.Text,
+    -- | The token that you must submit in a subsequent request to retrieve additional license results matching your query parameters. The @maxResults@ query string is related to the @nextPageToken@ since @maxResults@ determines how many entries are returned on each next page.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicenseAssignmentList' with the minimum fields required to make a request.
+newLicenseAssignmentList ::
+  LicenseAssignmentList
+newLicenseAssignmentList =
+  LicenseAssignmentList
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "licensing#licenseAssignmentList",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON LicenseAssignmentList where
+  parseJSON =
+    Core.withObject
+      "LicenseAssignmentList"
+      ( \o ->
+          LicenseAssignmentList
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "licensing#licenseAssignmentList")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON LicenseAssignmentList where
+  toJSON LicenseAssignmentList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
diff --git a/gen/Gogol/AppsLicensing/Internal/Sum.hs b/gen/Gogol/AppsLicensing/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Internal/Sum.hs
@@ -0,0 +1,63 @@
+{-# 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.AppsLicensing.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.AppsLicensing.Internal.Sum
+  ( -- * Xgafv
+    Xgafv
+      ( Xgafv_1,
+        Xgafv_2,
+        ..
+      ),
+  )
+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
+  #-}
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Delete.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Delete.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.AppsLicensing.Licensing.LicenseAssignments.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)
+--
+-- Revoke a license.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.delete@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.Delete
+  ( -- * Resource
+    LicensingLicenseAssignmentsDeleteResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsDelete (..),
+    newLicensingLicenseAssignmentsDelete,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.delete@ method which the
+-- 'LicensingLicenseAssignmentsDelete' request conforms to.
+type LicensingLicenseAssignmentsDeleteResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "user"
+    Core.:> Core.Capture "userId" 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] Empty
+
+-- | Revoke a license.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsDelete' smart constructor.
+data LicensingLicenseAssignmentsDelete = LicensingLicenseAssignmentsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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),
+    -- | The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes.
+    userId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicensingLicenseAssignmentsDelete' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsDelete ::
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  -- |  The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes. See 'userId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsDelete
+newLicensingLicenseAssignmentsDelete productId skuId userId =
+  LicensingLicenseAssignmentsDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      productId = productId,
+      skuId = skuId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      userId = userId
+    }
+
+instance Core.GoogleRequest LicensingLicenseAssignmentsDelete where
+  type Rs LicensingLicenseAssignmentsDelete = Empty
+  type Scopes LicensingLicenseAssignmentsDelete = '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsDelete {..} =
+    go
+      productId
+      skuId
+      userId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy LicensingLicenseAssignmentsDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Get.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Get.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.AppsLicensing.Licensing.LicenseAssignments.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)
+--
+-- Get a specific user\'s license by product SKU.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.get@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.Get
+  ( -- * Resource
+    LicensingLicenseAssignmentsGetResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsGet (..),
+    newLicensingLicenseAssignmentsGet,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.get@ method which the
+-- 'LicensingLicenseAssignmentsGet' request conforms to.
+type LicensingLicenseAssignmentsGetResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "user"
+    Core.:> Core.Capture "userId" 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] LicenseAssignment
+
+-- | Get a specific user\'s license by product SKU.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsGet' smart constructor.
+data LicensingLicenseAssignmentsGet = LicensingLicenseAssignmentsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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),
+    -- | The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes.
+    userId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicensingLicenseAssignmentsGet' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsGet ::
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  -- |  The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes. See 'userId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsGet
+newLicensingLicenseAssignmentsGet productId skuId userId =
+  LicensingLicenseAssignmentsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      productId = productId,
+      skuId = skuId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      userId = userId
+    }
+
+instance Core.GoogleRequest LicensingLicenseAssignmentsGet where
+  type Rs LicensingLicenseAssignmentsGet = LicenseAssignment
+  type Scopes LicensingLicenseAssignmentsGet = '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsGet {..} =
+    go
+      productId
+      skuId
+      userId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy LicensingLicenseAssignmentsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Insert.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Insert.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Insert.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.AppsLicensing.Licensing.LicenseAssignments.Insert
+-- 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)
+--
+-- Assign a license.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.insert@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.Insert
+  ( -- * Resource
+    LicensingLicenseAssignmentsInsertResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsInsert (..),
+    newLicensingLicenseAssignmentsInsert,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.insert@ method which the
+-- 'LicensingLicenseAssignmentsInsert' request conforms to.
+type LicensingLicenseAssignmentsInsertResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "user"
+    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] LicenseAssignmentInsert
+    Core.:> Core.Post '[Core.JSON] LicenseAssignment
+
+-- | Assign a license.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsInsert' smart constructor.
+data LicensingLicenseAssignmentsInsert = LicensingLicenseAssignmentsInsert
+  { -- | 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 :: LicenseAssignmentInsert,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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 'LicensingLicenseAssignmentsInsert' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsInsert ::
+  -- |  Multipart request metadata. See 'payload'.
+  LicenseAssignmentInsert ->
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsInsert
+newLicensingLicenseAssignmentsInsert payload productId skuId =
+  LicensingLicenseAssignmentsInsert
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      productId = productId,
+      skuId = skuId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest LicensingLicenseAssignmentsInsert where
+  type Rs LicensingLicenseAssignmentsInsert = LicenseAssignment
+  type Scopes LicensingLicenseAssignmentsInsert = '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsInsert {..} =
+    go
+      productId
+      skuId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy LicensingLicenseAssignmentsInsertResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProduct.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProduct.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProduct.hs
@@ -0,0 +1,137 @@
+{-# 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.AppsLicensing.Licensing.LicenseAssignments.ListForProduct
+-- 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)
+--
+-- List all users assigned licenses for a specific product SKU.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.listForProduct@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProduct
+  ( -- * Resource
+    LicensingLicenseAssignmentsListForProductResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsListForProduct (..),
+    newLicensingLicenseAssignmentsListForProduct,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.listForProduct@ method which the
+-- 'LicensingLicenseAssignmentsListForProduct' request conforms to.
+type LicensingLicenseAssignmentsListForProductResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "users"
+    Core.:> Core.QueryParam "customerId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    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] LicenseAssignmentList
+
+-- | List all users assigned licenses for a specific product SKU.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsListForProduct' smart constructor.
+data LicensingLicenseAssignmentsListForProduct = LicensingLicenseAssignmentsListForProduct
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The customer\'s unique ID as defined in the Admin console, such as @C00000000@. If the customer is suspended, the server returns an error.
+    customerId :: Core.Text,
+    -- | The @maxResults@ query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.
+    maxResults :: Core.Word32,
+    -- | Token to fetch the next page of data. The @maxResults@ query string is related to the @pageToken@ since @maxResults@ determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.
+    pageToken :: Core.Text,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: 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 'LicensingLicenseAssignmentsListForProduct' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsListForProduct ::
+  -- |  The customer\'s unique ID as defined in the Admin console, such as @C00000000@. If the customer is suspended, the server returns an error. See 'customerId'.
+  Core.Text ->
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsListForProduct
+newLicensingLicenseAssignmentsListForProduct customerId productId =
+  LicensingLicenseAssignmentsListForProduct
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      customerId = customerId,
+      maxResults = 100,
+      pageToken = "",
+      productId = productId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    LicensingLicenseAssignmentsListForProduct
+  where
+  type
+    Rs LicensingLicenseAssignmentsListForProduct =
+      LicenseAssignmentList
+  type
+    Scopes LicensingLicenseAssignmentsListForProduct =
+      '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsListForProduct {..} =
+    go
+      productId
+      (Core.Just customerId)
+      xgafv
+      accessToken
+      callback
+      (Core.Just maxResults)
+      (Core.Just pageToken)
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy LicensingLicenseAssignmentsListForProductResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProductAndSku.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProductAndSku.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/ListForProductAndSku.hs
@@ -0,0 +1,149 @@
+{-# 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.AppsLicensing.Licensing.LicenseAssignments.ListForProductAndSku
+-- 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)
+--
+-- List all users assigned licenses for a specific product SKU.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.listForProductAndSku@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProductAndSku
+  ( -- * Resource
+    LicensingLicenseAssignmentsListForProductAndSkuResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsListForProductAndSku (..),
+    newLicensingLicenseAssignmentsListForProductAndSku,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.listForProductAndSku@ method which the
+-- 'LicensingLicenseAssignmentsListForProductAndSku' request conforms to.
+type LicensingLicenseAssignmentsListForProductAndSkuResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "users"
+    Core.:> Core.QueryParam "customerId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    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] LicenseAssignmentList
+
+-- | List all users assigned licenses for a specific product SKU.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsListForProductAndSku' smart constructor.
+data LicensingLicenseAssignmentsListForProductAndSku = LicensingLicenseAssignmentsListForProductAndSku
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The customer\'s unique ID as defined in the Admin console, such as @C00000000@. If the customer is suspended, the server returns an error.
+    customerId :: Core.Text,
+    -- | The @maxResults@ query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.
+    maxResults :: Core.Word32,
+    -- | Token to fetch the next page of data. The @maxResults@ query string is related to the @pageToken@ since @maxResults@ determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.
+    pageToken :: Core.Text,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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 'LicensingLicenseAssignmentsListForProductAndSku' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsListForProductAndSku ::
+  -- |  The customer\'s unique ID as defined in the Admin console, such as @C00000000@. If the customer is suspended, the server returns an error. See 'customerId'.
+  Core.Text ->
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsListForProductAndSku
+newLicensingLicenseAssignmentsListForProductAndSku
+  customerId
+  productId
+  skuId =
+    LicensingLicenseAssignmentsListForProductAndSku
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        callback = Core.Nothing,
+        customerId = customerId,
+        maxResults = 100,
+        pageToken = "",
+        productId = productId,
+        skuId = skuId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    LicensingLicenseAssignmentsListForProductAndSku
+  where
+  type
+    Rs LicensingLicenseAssignmentsListForProductAndSku =
+      LicenseAssignmentList
+  type
+    Scopes LicensingLicenseAssignmentsListForProductAndSku =
+      '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsListForProductAndSku {..} =
+    go
+      productId
+      skuId
+      (Core.Just customerId)
+      xgafv
+      accessToken
+      callback
+      (Core.Just maxResults)
+      (Core.Just pageToken)
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy LicensingLicenseAssignmentsListForProductAndSkuResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Patch.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Patch.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.AppsLicensing.Licensing.LicenseAssignments.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)
+--
+-- Reassign a user\'s product SKU with a different SKU in the same product. This method supports patch semantics.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.patch@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.Patch
+  ( -- * Resource
+    LicensingLicenseAssignmentsPatchResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsPatch (..),
+    newLicensingLicenseAssignmentsPatch,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.patch@ method which the
+-- 'LicensingLicenseAssignmentsPatch' request conforms to.
+type LicensingLicenseAssignmentsPatchResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "user"
+    Core.:> Core.Capture "userId" 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] LicenseAssignment
+    Core.:> Core.Patch '[Core.JSON] LicenseAssignment
+
+-- | Reassign a user\'s product SKU with a different SKU in the same product. This method supports patch semantics.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsPatch' smart constructor.
+data LicensingLicenseAssignmentsPatch = LicensingLicenseAssignmentsPatch
+  { -- | 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 :: LicenseAssignment,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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),
+    -- | The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes.
+    userId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicensingLicenseAssignmentsPatch' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsPatch ::
+  -- |  Multipart request metadata. See 'payload'.
+  LicenseAssignment ->
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  -- |  The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes. See 'userId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsPatch
+newLicensingLicenseAssignmentsPatch payload productId skuId userId =
+  LicensingLicenseAssignmentsPatch
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      productId = productId,
+      skuId = skuId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      userId = userId
+    }
+
+instance Core.GoogleRequest LicensingLicenseAssignmentsPatch where
+  type Rs LicensingLicenseAssignmentsPatch = LicenseAssignment
+  type Scopes LicensingLicenseAssignmentsPatch = '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsPatch {..} =
+    go
+      productId
+      skuId
+      userId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy LicensingLicenseAssignmentsPatchResource)
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Update.hs b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Update.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Licensing/LicenseAssignments/Update.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.AppsLicensing.Licensing.LicenseAssignments.Update
+-- 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)
+--
+-- Reassign a user\'s product SKU with a different SKU in the same product.
+--
+-- /See:/ <https://developers.google.com/admin-sdk/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.update@.
+module Gogol.AppsLicensing.Licensing.LicenseAssignments.Update
+  ( -- * Resource
+    LicensingLicenseAssignmentsUpdateResource,
+
+    -- ** Constructing a Request
+    LicensingLicenseAssignmentsUpdate (..),
+    newLicensingLicenseAssignmentsUpdate,
+  )
+where
+
+import Gogol.AppsLicensing.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @licensing.licenseAssignments.update@ method which the
+-- 'LicensingLicenseAssignmentsUpdate' request conforms to.
+type LicensingLicenseAssignmentsUpdateResource =
+  "apps"
+    Core.:> "licensing"
+    Core.:> "v1"
+    Core.:> "product"
+    Core.:> Core.Capture "productId" Core.Text
+    Core.:> "sku"
+    Core.:> Core.Capture "skuId" Core.Text
+    Core.:> "user"
+    Core.:> Core.Capture "userId" 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] LicenseAssignment
+    Core.:> Core.Put '[Core.JSON] LicenseAssignment
+
+-- | Reassign a user\'s product SKU with a different SKU in the same product.
+--
+-- /See:/ 'newLicensingLicenseAssignmentsUpdate' smart constructor.
+data LicensingLicenseAssignmentsUpdate = LicensingLicenseAssignmentsUpdate
+  { -- | 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 :: LicenseAssignment,
+    -- | A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs.
+    productId :: Core.Text,
+    -- | A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.
+    skuId :: 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),
+    -- | The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes.
+    userId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LicensingLicenseAssignmentsUpdate' with the minimum fields required to make a request.
+newLicensingLicenseAssignmentsUpdate ::
+  -- |  Multipart request metadata. See 'payload'.
+  LicenseAssignment ->
+  -- |  A product\'s unique identifier. For more information about products in this version of the API, see Products and SKUs. See 'productId'.
+  Core.Text ->
+  -- |  A product SKU\'s unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs. See 'skuId'.
+  Core.Text ->
+  -- |  The user\'s current primary email address. If the user\'s email address changes, use the new email address in your API requests. Since a @userId@ is subject to change, do not use a @userId@ value as a key for persistent data. This key could break if the current user\'s email address changes. If the @userId@ is suspended, the license status changes. See 'userId'.
+  Core.Text ->
+  LicensingLicenseAssignmentsUpdate
+newLicensingLicenseAssignmentsUpdate payload productId skuId userId =
+  LicensingLicenseAssignmentsUpdate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      productId = productId,
+      skuId = skuId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      userId = userId
+    }
+
+instance Core.GoogleRequest LicensingLicenseAssignmentsUpdate where
+  type Rs LicensingLicenseAssignmentsUpdate = LicenseAssignment
+  type Scopes LicensingLicenseAssignmentsUpdate = '[Apps'Licensing]
+  requestClient LicensingLicenseAssignmentsUpdate {..} =
+    go
+      productId
+      skuId
+      userId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appsLicensingService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy LicensingLicenseAssignmentsUpdateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppsLicensing/Types.hs b/gen/Gogol/AppsLicensing/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppsLicensing/Types.hs
@@ -0,0 +1,69 @@
+{-# 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.AppsLicensing.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.AppsLicensing.Types
+  ( -- * Configuration
+    appsLicensingService,
+
+    -- * OAuth Scopes
+    Apps'Licensing,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** Empty
+    Empty (..),
+    newEmpty,
+
+    -- ** LicenseAssignment
+    LicenseAssignment (..),
+    newLicenseAssignment,
+
+    -- ** LicenseAssignmentInsert
+    LicenseAssignmentInsert (..),
+    newLicenseAssignmentInsert,
+
+    -- ** LicenseAssignmentList
+    LicenseAssignmentList (..),
+    newLicenseAssignmentList,
+  )
+where
+
+import Gogol.AppsLicensing.Internal.Product
+import Gogol.AppsLicensing.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v1@ of the Enterprise License Manager API. This contains the host and root path used as a starting point for constructing service requests.
+appsLicensingService :: Core.ServiceConfig
+appsLicensingService =
+  Core.defaultService
+    (Core.ServiceId "licensing:v1")
+    "licensing.googleapis.com"
+
+-- | View and manage G Suite licenses for your domain
+type Apps'Licensing =
+  "https://www.googleapis.com/auth/apps.licensing"
diff --git a/gen/Network/Google/AppsLicensing.hs b/gen/Network/Google/AppsLicensing.hs
deleted file mode 100644
--- a/gen/Network/Google/AppsLicensing.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.AppsLicensing
--- 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)
---
--- Views and manages licenses for your domain.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference>
-module Network.Google.AppsLicensing
-    (
-    -- * Service Configuration
-      appsLicensingService
-
-    -- * OAuth Scopes
-    , appsLicensingScope
-
-    -- * API Declaration
-    , AppsLicensingAPI
-
-    -- * Resources
-
-    -- ** licensing.licenseAssignments.delete
-    , module Network.Google.Resource.Licensing.LicenseAssignments.Delete
-
-    -- ** licensing.licenseAssignments.get
-    , module Network.Google.Resource.Licensing.LicenseAssignments.Get
-
-    -- ** licensing.licenseAssignments.insert
-    , module Network.Google.Resource.Licensing.LicenseAssignments.Insert
-
-    -- ** licensing.licenseAssignments.listForProduct
-    , module Network.Google.Resource.Licensing.LicenseAssignments.ListForProduct
-
-    -- ** licensing.licenseAssignments.listForProductAndSku
-    , module Network.Google.Resource.Licensing.LicenseAssignments.ListForProductAndSKU
-
-    -- ** licensing.licenseAssignments.patch
-    , module Network.Google.Resource.Licensing.LicenseAssignments.Patch
-
-    -- ** licensing.licenseAssignments.update
-    , module Network.Google.Resource.Licensing.LicenseAssignments.Update
-
-    -- * Types
-
-    -- ** LicenseAssignmentInsert
-    , LicenseAssignmentInsert
-    , licenseAssignmentInsert
-    , laiUserId
-
-    -- ** LicenseAssignmentList
-    , LicenseAssignmentList
-    , licenseAssignmentList
-    , lalEtag
-    , lalNextPageToken
-    , lalKind
-    , lalItems
-
-    -- ** LicenseAssignment
-    , LicenseAssignment
-    , licenseAssignment
-    , laProductName
-    , laEtags
-    , laSKUName
-    , laKind
-    , laSKUId
-    , laUserId
-    , laSelfLink
-    , laProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.Licensing.LicenseAssignments.Delete
-import           Network.Google.Resource.Licensing.LicenseAssignments.Get
-import           Network.Google.Resource.Licensing.LicenseAssignments.Insert
-import           Network.Google.Resource.Licensing.LicenseAssignments.ListForProduct
-import           Network.Google.Resource.Licensing.LicenseAssignments.ListForProductAndSKU
-import           Network.Google.Resource.Licensing.LicenseAssignments.Patch
-import           Network.Google.Resource.Licensing.LicenseAssignments.Update
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the Enterprise License Manager API service.
-type AppsLicensingAPI =
-     LicenseAssignmentsInsertResource :<|>
-       LicenseAssignmentsPatchResource
-       :<|> LicenseAssignmentsGetResource
-       :<|> LicenseAssignmentsListForProductAndSKUResource
-       :<|> LicenseAssignmentsListForProductResource
-       :<|> LicenseAssignmentsDeleteResource
-       :<|> LicenseAssignmentsUpdateResource
diff --git a/gen/Network/Google/AppsLicensing/Types.hs b/gen/Network/Google/AppsLicensing/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/AppsLicensing/Types.hs
+++ /dev/null
@@ -1,63 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AppsLicensing.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.AppsLicensing.Types
-    (
-    -- * Service Configuration
-      appsLicensingService
-
-    -- * OAuth Scopes
-    , appsLicensingScope
-
-    -- * LicenseAssignmentInsert
-    , LicenseAssignmentInsert
-    , licenseAssignmentInsert
-    , laiUserId
-
-    -- * LicenseAssignmentList
-    , LicenseAssignmentList
-    , licenseAssignmentList
-    , lalEtag
-    , lalNextPageToken
-    , lalKind
-    , lalItems
-
-    -- * LicenseAssignment
-    , LicenseAssignment
-    , licenseAssignment
-    , laProductName
-    , laEtags
-    , laSKUName
-    , laKind
-    , laSKUId
-    , laUserId
-    , laSelfLink
-    , laProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types.Product
-import           Network.Google.AppsLicensing.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v1' of the Enterprise License Manager API. This contains the host and root path used as a starting point for constructing service requests.
-appsLicensingService :: ServiceConfig
-appsLicensingService
-  = defaultService (ServiceId "licensing:v1")
-      "www.googleapis.com"
-
--- | View and manage G Suite licenses for your domain
-appsLicensingScope :: Proxy '["https://www.googleapis.com/auth/apps.licensing"]
-appsLicensingScope = Proxy
diff --git a/gen/Network/Google/AppsLicensing/Types/Product.hs b/gen/Network/Google/AppsLicensing/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/AppsLicensing/Types/Product.hs
+++ /dev/null
@@ -1,244 +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.AppsLicensing.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.AppsLicensing.Types.Product where
-
-import           Network.Google.AppsLicensing.Types.Sum
-import           Network.Google.Prelude
-
--- | Template for LicenseAssignment Insert request
---
--- /See:/ 'licenseAssignmentInsert' smart constructor.
-newtype LicenseAssignmentInsert =
-  LicenseAssignmentInsert'
-    { _laiUserId :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'laiUserId'
-licenseAssignmentInsert
-    :: LicenseAssignmentInsert
-licenseAssignmentInsert = LicenseAssignmentInsert' {_laiUserId = Nothing}
-
-
--- | Email id of the user
-laiUserId :: Lens' LicenseAssignmentInsert (Maybe Text)
-laiUserId
-  = lens _laiUserId (\ s a -> s{_laiUserId = a})
-
-instance FromJSON LicenseAssignmentInsert where
-        parseJSON
-          = withObject "LicenseAssignmentInsert"
-              (\ o ->
-                 LicenseAssignmentInsert' <$> (o .:? "userId"))
-
-instance ToJSON LicenseAssignmentInsert where
-        toJSON LicenseAssignmentInsert'{..}
-          = object (catMaybes [("userId" .=) <$> _laiUserId])
-
--- | LicesnseAssignment List for a given product\/sku for a customer.
---
--- /See:/ 'licenseAssignmentList' smart constructor.
-data LicenseAssignmentList =
-  LicenseAssignmentList'
-    { _lalEtag          :: !(Maybe Text)
-    , _lalNextPageToken :: !(Maybe Text)
-    , _lalKind          :: !Text
-    , _lalItems         :: !(Maybe [LicenseAssignment])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lalEtag'
---
--- * 'lalNextPageToken'
---
--- * 'lalKind'
---
--- * 'lalItems'
-licenseAssignmentList
-    :: LicenseAssignmentList
-licenseAssignmentList =
-  LicenseAssignmentList'
-    { _lalEtag = Nothing
-    , _lalNextPageToken = Nothing
-    , _lalKind = "licensing#licenseAssignmentList"
-    , _lalItems = Nothing
-    }
-
-
--- | ETag of the resource.
-lalEtag :: Lens' LicenseAssignmentList (Maybe Text)
-lalEtag = lens _lalEtag (\ s a -> s{_lalEtag = a})
-
--- | The continuation token, used to page through large result sets. Provide
--- this value in a subsequent request to return the next page of results.
-lalNextPageToken :: Lens' LicenseAssignmentList (Maybe Text)
-lalNextPageToken
-  = lens _lalNextPageToken
-      (\ s a -> s{_lalNextPageToken = a})
-
--- | Identifies the resource as a collection of LicenseAssignments.
-lalKind :: Lens' LicenseAssignmentList Text
-lalKind = lens _lalKind (\ s a -> s{_lalKind = a})
-
--- | The LicenseAssignments in this page of results.
-lalItems :: Lens' LicenseAssignmentList [LicenseAssignment]
-lalItems
-  = lens _lalItems (\ s a -> s{_lalItems = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON LicenseAssignmentList where
-        parseJSON
-          = withObject "LicenseAssignmentList"
-              (\ o ->
-                 LicenseAssignmentList' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "licensing#licenseAssignmentList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON LicenseAssignmentList where
-        toJSON LicenseAssignmentList'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _lalEtag,
-                  ("nextPageToken" .=) <$> _lalNextPageToken,
-                  Just ("kind" .= _lalKind),
-                  ("items" .=) <$> _lalItems])
-
--- | Template for LiscenseAssignment Resource
---
--- /See:/ 'licenseAssignment' smart constructor.
-data LicenseAssignment =
-  LicenseAssignment'
-    { _laProductName :: !(Maybe Text)
-    , _laEtags       :: !(Maybe Text)
-    , _laSKUName     :: !(Maybe Text)
-    , _laKind        :: !Text
-    , _laSKUId       :: !(Maybe Text)
-    , _laUserId      :: !(Maybe Text)
-    , _laSelfLink    :: !(Maybe Text)
-    , _laProductId   :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignment' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'laProductName'
---
--- * 'laEtags'
---
--- * 'laSKUName'
---
--- * 'laKind'
---
--- * 'laSKUId'
---
--- * 'laUserId'
---
--- * 'laSelfLink'
---
--- * 'laProductId'
-licenseAssignment
-    :: LicenseAssignment
-licenseAssignment =
-  LicenseAssignment'
-    { _laProductName = Nothing
-    , _laEtags = Nothing
-    , _laSKUName = Nothing
-    , _laKind = "licensing#licenseAssignment"
-    , _laSKUId = Nothing
-    , _laUserId = Nothing
-    , _laSelfLink = Nothing
-    , _laProductId = Nothing
-    }
-
-
--- | Display Name of the product.
-laProductName :: Lens' LicenseAssignment (Maybe Text)
-laProductName
-  = lens _laProductName
-      (\ s a -> s{_laProductName = a})
-
--- | ETag of the resource.
-laEtags :: Lens' LicenseAssignment (Maybe Text)
-laEtags = lens _laEtags (\ s a -> s{_laEtags = a})
-
--- | Display Name of the sku of the product.
-laSKUName :: Lens' LicenseAssignment (Maybe Text)
-laSKUName
-  = lens _laSKUName (\ s a -> s{_laSKUName = a})
-
--- | Identifies the resource as a LicenseAssignment.
-laKind :: Lens' LicenseAssignment Text
-laKind = lens _laKind (\ s a -> s{_laKind = a})
-
--- | Id of the sku of the product.
-laSKUId :: Lens' LicenseAssignment (Maybe Text)
-laSKUId = lens _laSKUId (\ s a -> s{_laSKUId = a})
-
--- | Email id of the user.
-laUserId :: Lens' LicenseAssignment (Maybe Text)
-laUserId = lens _laUserId (\ s a -> s{_laUserId = a})
-
--- | Link to this page.
-laSelfLink :: Lens' LicenseAssignment (Maybe Text)
-laSelfLink
-  = lens _laSelfLink (\ s a -> s{_laSelfLink = a})
-
--- | Id of the product.
-laProductId :: Lens' LicenseAssignment (Maybe Text)
-laProductId
-  = lens _laProductId (\ s a -> s{_laProductId = a})
-
-instance FromJSON LicenseAssignment where
-        parseJSON
-          = withObject "LicenseAssignment"
-              (\ o ->
-                 LicenseAssignment' <$>
-                   (o .:? "productName") <*> (o .:? "etags") <*>
-                     (o .:? "skuName")
-                     <*> (o .:? "kind" .!= "licensing#licenseAssignment")
-                     <*> (o .:? "skuId")
-                     <*> (o .:? "userId")
-                     <*> (o .:? "selfLink")
-                     <*> (o .:? "productId"))
-
-instance ToJSON LicenseAssignment where
-        toJSON LicenseAssignment'{..}
-          = object
-              (catMaybes
-                 [("productName" .=) <$> _laProductName,
-                  ("etags" .=) <$> _laEtags,
-                  ("skuName" .=) <$> _laSKUName,
-                  Just ("kind" .= _laKind), ("skuId" .=) <$> _laSKUId,
-                  ("userId" .=) <$> _laUserId,
-                  ("selfLink" .=) <$> _laSelfLink,
-                  ("productId" .=) <$> _laProductId])
diff --git a/gen/Network/Google/AppsLicensing/Types/Sum.hs b/gen/Network/Google/AppsLicensing/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/AppsLicensing/Types/Sum.hs
+++ /dev/null
@@ -1,19 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AppsLicensing.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.AppsLicensing.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Delete.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Delete.hs
+++ /dev/null
@@ -1,117 +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.Licensing.LicenseAssignments.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)
---
--- Revoke License.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.delete@.
-module Network.Google.Resource.Licensing.LicenseAssignments.Delete
-    (
-    -- * REST Resource
-      LicenseAssignmentsDeleteResource
-
-    -- * Creating a Request
-    , licenseAssignmentsDelete
-    , LicenseAssignmentsDelete
-
-    -- * Request Lenses
-    , ladSKUId
-    , ladUserId
-    , ladProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.delete@ method which the
--- 'LicenseAssignmentsDelete' request conforms to.
-type LicenseAssignmentsDeleteResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "user" :>
-                     Capture "userId" Text :>
-                       QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Revoke License.
---
--- /See:/ 'licenseAssignmentsDelete' smart constructor.
-data LicenseAssignmentsDelete =
-  LicenseAssignmentsDelete'
-    { _ladSKUId     :: !Text
-    , _ladUserId    :: !Text
-    , _ladProductId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ladSKUId'
---
--- * 'ladUserId'
---
--- * 'ladProductId'
-licenseAssignmentsDelete
-    :: Text -- ^ 'ladSKUId'
-    -> Text -- ^ 'ladUserId'
-    -> Text -- ^ 'ladProductId'
-    -> LicenseAssignmentsDelete
-licenseAssignmentsDelete pLadSKUId_ pLadUserId_ pLadProductId_ =
-  LicenseAssignmentsDelete'
-    { _ladSKUId = pLadSKUId_
-    , _ladUserId = pLadUserId_
-    , _ladProductId = pLadProductId_
-    }
-
-
--- | Name for sku
-ladSKUId :: Lens' LicenseAssignmentsDelete Text
-ladSKUId = lens _ladSKUId (\ s a -> s{_ladSKUId = a})
-
--- | email id or unique Id of the user
-ladUserId :: Lens' LicenseAssignmentsDelete Text
-ladUserId
-  = lens _ladUserId (\ s a -> s{_ladUserId = a})
-
--- | Name for product
-ladProductId :: Lens' LicenseAssignmentsDelete Text
-ladProductId
-  = lens _ladProductId (\ s a -> s{_ladProductId = a})
-
-instance GoogleRequest LicenseAssignmentsDelete where
-        type Rs LicenseAssignmentsDelete = ()
-        type Scopes LicenseAssignmentsDelete =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsDelete'{..}
-          = go _ladProductId _ladSKUId _ladUserId
-              (Just AltJSON)
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy LicenseAssignmentsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Get.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Get.hs
+++ /dev/null
@@ -1,118 +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.Licensing.LicenseAssignments.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)
---
--- Get license assignment of a particular product and sku for a user
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.get@.
-module Network.Google.Resource.Licensing.LicenseAssignments.Get
-    (
-    -- * REST Resource
-      LicenseAssignmentsGetResource
-
-    -- * Creating a Request
-    , licenseAssignmentsGet
-    , LicenseAssignmentsGet
-
-    -- * Request Lenses
-    , lagSKUId
-    , lagUserId
-    , lagProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.get@ method which the
--- 'LicenseAssignmentsGet' request conforms to.
-type LicenseAssignmentsGetResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "user" :>
-                     Capture "userId" Text :>
-                       QueryParam "alt" AltJSON :>
-                         Get '[JSON] LicenseAssignment
-
--- | Get license assignment of a particular product and sku for a user
---
--- /See:/ 'licenseAssignmentsGet' smart constructor.
-data LicenseAssignmentsGet =
-  LicenseAssignmentsGet'
-    { _lagSKUId     :: !Text
-    , _lagUserId    :: !Text
-    , _lagProductId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lagSKUId'
---
--- * 'lagUserId'
---
--- * 'lagProductId'
-licenseAssignmentsGet
-    :: Text -- ^ 'lagSKUId'
-    -> Text -- ^ 'lagUserId'
-    -> Text -- ^ 'lagProductId'
-    -> LicenseAssignmentsGet
-licenseAssignmentsGet pLagSKUId_ pLagUserId_ pLagProductId_ =
-  LicenseAssignmentsGet'
-    { _lagSKUId = pLagSKUId_
-    , _lagUserId = pLagUserId_
-    , _lagProductId = pLagProductId_
-    }
-
-
--- | Name for sku
-lagSKUId :: Lens' LicenseAssignmentsGet Text
-lagSKUId = lens _lagSKUId (\ s a -> s{_lagSKUId = a})
-
--- | email id or unique Id of the user
-lagUserId :: Lens' LicenseAssignmentsGet Text
-lagUserId
-  = lens _lagUserId (\ s a -> s{_lagUserId = a})
-
--- | Name for product
-lagProductId :: Lens' LicenseAssignmentsGet Text
-lagProductId
-  = lens _lagProductId (\ s a -> s{_lagProductId = a})
-
-instance GoogleRequest LicenseAssignmentsGet where
-        type Rs LicenseAssignmentsGet = LicenseAssignment
-        type Scopes LicenseAssignmentsGet =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsGet'{..}
-          = go _lagProductId _lagSKUId _lagUserId
-              (Just AltJSON)
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy LicenseAssignmentsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Insert.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/Insert.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Insert.hs
+++ /dev/null
@@ -1,118 +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.Licensing.LicenseAssignments.Insert
--- 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)
---
--- Assign License.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.insert@.
-module Network.Google.Resource.Licensing.LicenseAssignments.Insert
-    (
-    -- * REST Resource
-      LicenseAssignmentsInsertResource
-
-    -- * Creating a Request
-    , licenseAssignmentsInsert
-    , LicenseAssignmentsInsert
-
-    -- * Request Lenses
-    , laiSKUId
-    , laiPayload
-    , laiProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.insert@ method which the
--- 'LicenseAssignmentsInsert' request conforms to.
-type LicenseAssignmentsInsertResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "user" :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON] LicenseAssignmentInsert :>
-                         Post '[JSON] LicenseAssignment
-
--- | Assign License.
---
--- /See:/ 'licenseAssignmentsInsert' smart constructor.
-data LicenseAssignmentsInsert =
-  LicenseAssignmentsInsert'
-    { _laiSKUId     :: !Text
-    , _laiPayload   :: !LicenseAssignmentInsert
-    , _laiProductId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'laiSKUId'
---
--- * 'laiPayload'
---
--- * 'laiProductId'
-licenseAssignmentsInsert
-    :: Text -- ^ 'laiSKUId'
-    -> LicenseAssignmentInsert -- ^ 'laiPayload'
-    -> Text -- ^ 'laiProductId'
-    -> LicenseAssignmentsInsert
-licenseAssignmentsInsert pLaiSKUId_ pLaiPayload_ pLaiProductId_ =
-  LicenseAssignmentsInsert'
-    { _laiSKUId = pLaiSKUId_
-    , _laiPayload = pLaiPayload_
-    , _laiProductId = pLaiProductId_
-    }
-
-
--- | Name for sku
-laiSKUId :: Lens' LicenseAssignmentsInsert Text
-laiSKUId = lens _laiSKUId (\ s a -> s{_laiSKUId = a})
-
--- | Multipart request metadata.
-laiPayload :: Lens' LicenseAssignmentsInsert LicenseAssignmentInsert
-laiPayload
-  = lens _laiPayload (\ s a -> s{_laiPayload = a})
-
--- | Name for product
-laiProductId :: Lens' LicenseAssignmentsInsert Text
-laiProductId
-  = lens _laiProductId (\ s a -> s{_laiProductId = a})
-
-instance GoogleRequest LicenseAssignmentsInsert where
-        type Rs LicenseAssignmentsInsert = LicenseAssignment
-        type Scopes LicenseAssignmentsInsert =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsInsert'{..}
-          = go _laiProductId _laiSKUId (Just AltJSON)
-              _laiPayload
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy LicenseAssignmentsInsertResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProduct.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProduct.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProduct.hs
+++ /dev/null
@@ -1,142 +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.Licensing.LicenseAssignments.ListForProduct
--- 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)
---
--- List license assignments for given product of the customer.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.listForProduct@.
-module Network.Google.Resource.Licensing.LicenseAssignments.ListForProduct
-    (
-    -- * REST Resource
-      LicenseAssignmentsListForProductResource
-
-    -- * Creating a Request
-    , licenseAssignmentsListForProduct
-    , LicenseAssignmentsListForProduct
-
-    -- * Request Lenses
-    , lalfpCustomerId
-    , lalfpPageToken
-    , lalfpProductId
-    , lalfpMaxResults
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.listForProduct@ method which the
--- 'LicenseAssignmentsListForProduct' request conforms to.
-type LicenseAssignmentsListForProductResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "users" :>
-                 QueryParam "customerId" Text :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "maxResults" (Textual Word32) :>
-                       QueryParam "alt" AltJSON :>
-                         Get '[JSON] LicenseAssignmentList
-
--- | List license assignments for given product of the customer.
---
--- /See:/ 'licenseAssignmentsListForProduct' smart constructor.
-data LicenseAssignmentsListForProduct =
-  LicenseAssignmentsListForProduct'
-    { _lalfpCustomerId :: !Text
-    , _lalfpPageToken  :: !Text
-    , _lalfpProductId  :: !Text
-    , _lalfpMaxResults :: !(Textual Word32)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsListForProduct' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lalfpCustomerId'
---
--- * 'lalfpPageToken'
---
--- * 'lalfpProductId'
---
--- * 'lalfpMaxResults'
-licenseAssignmentsListForProduct
-    :: Text -- ^ 'lalfpCustomerId'
-    -> Text -- ^ 'lalfpProductId'
-    -> LicenseAssignmentsListForProduct
-licenseAssignmentsListForProduct pLalfpCustomerId_ pLalfpProductId_ =
-  LicenseAssignmentsListForProduct'
-    { _lalfpCustomerId = pLalfpCustomerId_
-    , _lalfpPageToken = ""
-    , _lalfpProductId = pLalfpProductId_
-    , _lalfpMaxResults = 100
-    }
-
-
--- | CustomerId represents the customer for whom licenseassignments are
--- queried
-lalfpCustomerId :: Lens' LicenseAssignmentsListForProduct Text
-lalfpCustomerId
-  = lens _lalfpCustomerId
-      (\ s a -> s{_lalfpCustomerId = a})
-
--- | Token to fetch the next page.Optional. By default server will return
--- first page
-lalfpPageToken :: Lens' LicenseAssignmentsListForProduct Text
-lalfpPageToken
-  = lens _lalfpPageToken
-      (\ s a -> s{_lalfpPageToken = a})
-
--- | Name for product
-lalfpProductId :: Lens' LicenseAssignmentsListForProduct Text
-lalfpProductId
-  = lens _lalfpProductId
-      (\ s a -> s{_lalfpProductId = a})
-
--- | Maximum number of campaigns to return at one time. Must be positive.
--- Optional. Default value is 100.
-lalfpMaxResults :: Lens' LicenseAssignmentsListForProduct Word32
-lalfpMaxResults
-  = lens _lalfpMaxResults
-      (\ s a -> s{_lalfpMaxResults = a})
-      . _Coerce
-
-instance GoogleRequest
-           LicenseAssignmentsListForProduct
-         where
-        type Rs LicenseAssignmentsListForProduct =
-             LicenseAssignmentList
-        type Scopes LicenseAssignmentsListForProduct =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsListForProduct'{..}
-          = go _lalfpProductId (Just _lalfpCustomerId)
-              (Just _lalfpPageToken)
-              (Just _lalfpMaxResults)
-              (Just AltJSON)
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy LicenseAssignmentsListForProductResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProductAndSKU.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProductAndSKU.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProductAndSKU.hs
+++ /dev/null
@@ -1,158 +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.Licensing.LicenseAssignments.ListForProductAndSKU
--- 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)
---
--- List license assignments for given product and sku of the customer.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.listForProductAndSku@.
-module Network.Google.Resource.Licensing.LicenseAssignments.ListForProductAndSKU
-    (
-    -- * REST Resource
-      LicenseAssignmentsListForProductAndSKUResource
-
-    -- * Creating a Request
-    , licenseAssignmentsListForProductAndSKU
-    , LicenseAssignmentsListForProductAndSKU
-
-    -- * Request Lenses
-    , lalfpaskuSKUId
-    , lalfpaskuCustomerId
-    , lalfpaskuPageToken
-    , lalfpaskuProductId
-    , lalfpaskuMaxResults
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.listForProductAndSku@ method which the
--- 'LicenseAssignmentsListForProductAndSKU' request conforms to.
-type LicenseAssignmentsListForProductAndSKUResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "users" :>
-                     QueryParam "customerId" Text :>
-                       QueryParam "pageToken" Text :>
-                         QueryParam "maxResults" (Textual Word32) :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] LicenseAssignmentList
-
--- | List license assignments for given product and sku of the customer.
---
--- /See:/ 'licenseAssignmentsListForProductAndSKU' smart constructor.
-data LicenseAssignmentsListForProductAndSKU =
-  LicenseAssignmentsListForProductAndSKU'
-    { _lalfpaskuSKUId      :: !Text
-    , _lalfpaskuCustomerId :: !Text
-    , _lalfpaskuPageToken  :: !Text
-    , _lalfpaskuProductId  :: !Text
-    , _lalfpaskuMaxResults :: !(Textual Word32)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsListForProductAndSKU' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lalfpaskuSKUId'
---
--- * 'lalfpaskuCustomerId'
---
--- * 'lalfpaskuPageToken'
---
--- * 'lalfpaskuProductId'
---
--- * 'lalfpaskuMaxResults'
-licenseAssignmentsListForProductAndSKU
-    :: Text -- ^ 'lalfpaskuSKUId'
-    -> Text -- ^ 'lalfpaskuCustomerId'
-    -> Text -- ^ 'lalfpaskuProductId'
-    -> LicenseAssignmentsListForProductAndSKU
-licenseAssignmentsListForProductAndSKU pLalfpaskuSKUId_ pLalfpaskuCustomerId_ pLalfpaskuProductId_ =
-  LicenseAssignmentsListForProductAndSKU'
-    { _lalfpaskuSKUId = pLalfpaskuSKUId_
-    , _lalfpaskuCustomerId = pLalfpaskuCustomerId_
-    , _lalfpaskuPageToken = ""
-    , _lalfpaskuProductId = pLalfpaskuProductId_
-    , _lalfpaskuMaxResults = 100
-    }
-
-
--- | Name for sku
-lalfpaskuSKUId :: Lens' LicenseAssignmentsListForProductAndSKU Text
-lalfpaskuSKUId
-  = lens _lalfpaskuSKUId
-      (\ s a -> s{_lalfpaskuSKUId = a})
-
--- | CustomerId represents the customer for whom licenseassignments are
--- queried
-lalfpaskuCustomerId :: Lens' LicenseAssignmentsListForProductAndSKU Text
-lalfpaskuCustomerId
-  = lens _lalfpaskuCustomerId
-      (\ s a -> s{_lalfpaskuCustomerId = a})
-
--- | Token to fetch the next page.Optional. By default server will return
--- first page
-lalfpaskuPageToken :: Lens' LicenseAssignmentsListForProductAndSKU Text
-lalfpaskuPageToken
-  = lens _lalfpaskuPageToken
-      (\ s a -> s{_lalfpaskuPageToken = a})
-
--- | Name for product
-lalfpaskuProductId :: Lens' LicenseAssignmentsListForProductAndSKU Text
-lalfpaskuProductId
-  = lens _lalfpaskuProductId
-      (\ s a -> s{_lalfpaskuProductId = a})
-
--- | Maximum number of campaigns to return at one time. Must be positive.
--- Optional. Default value is 100.
-lalfpaskuMaxResults :: Lens' LicenseAssignmentsListForProductAndSKU Word32
-lalfpaskuMaxResults
-  = lens _lalfpaskuMaxResults
-      (\ s a -> s{_lalfpaskuMaxResults = a})
-      . _Coerce
-
-instance GoogleRequest
-           LicenseAssignmentsListForProductAndSKU
-         where
-        type Rs LicenseAssignmentsListForProductAndSKU =
-             LicenseAssignmentList
-        type Scopes LicenseAssignmentsListForProductAndSKU =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient
-          LicenseAssignmentsListForProductAndSKU'{..}
-          = go _lalfpaskuProductId _lalfpaskuSKUId
-              (Just _lalfpaskuCustomerId)
-              (Just _lalfpaskuPageToken)
-              (Just _lalfpaskuMaxResults)
-              (Just AltJSON)
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy LicenseAssignmentsListForProductAndSKUResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Patch.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Patch.hs
+++ /dev/null
@@ -1,131 +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.Licensing.LicenseAssignments.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)
---
--- Assign License. This method supports patch semantics.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.patch@.
-module Network.Google.Resource.Licensing.LicenseAssignments.Patch
-    (
-    -- * REST Resource
-      LicenseAssignmentsPatchResource
-
-    -- * Creating a Request
-    , licenseAssignmentsPatch
-    , LicenseAssignmentsPatch
-
-    -- * Request Lenses
-    , lapSKUId
-    , lapPayload
-    , lapUserId
-    , lapProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.patch@ method which the
--- 'LicenseAssignmentsPatch' request conforms to.
-type LicenseAssignmentsPatchResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "user" :>
-                     Capture "userId" Text :>
-                       QueryParam "alt" AltJSON :>
-                         ReqBody '[JSON] LicenseAssignment :>
-                           Patch '[JSON] LicenseAssignment
-
--- | Assign License. This method supports patch semantics.
---
--- /See:/ 'licenseAssignmentsPatch' smart constructor.
-data LicenseAssignmentsPatch =
-  LicenseAssignmentsPatch'
-    { _lapSKUId     :: !Text
-    , _lapPayload   :: !LicenseAssignment
-    , _lapUserId    :: !Text
-    , _lapProductId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lapSKUId'
---
--- * 'lapPayload'
---
--- * 'lapUserId'
---
--- * 'lapProductId'
-licenseAssignmentsPatch
-    :: Text -- ^ 'lapSKUId'
-    -> LicenseAssignment -- ^ 'lapPayload'
-    -> Text -- ^ 'lapUserId'
-    -> Text -- ^ 'lapProductId'
-    -> LicenseAssignmentsPatch
-licenseAssignmentsPatch pLapSKUId_ pLapPayload_ pLapUserId_ pLapProductId_ =
-  LicenseAssignmentsPatch'
-    { _lapSKUId = pLapSKUId_
-    , _lapPayload = pLapPayload_
-    , _lapUserId = pLapUserId_
-    , _lapProductId = pLapProductId_
-    }
-
-
--- | Name for sku for which license would be revoked
-lapSKUId :: Lens' LicenseAssignmentsPatch Text
-lapSKUId = lens _lapSKUId (\ s a -> s{_lapSKUId = a})
-
--- | Multipart request metadata.
-lapPayload :: Lens' LicenseAssignmentsPatch LicenseAssignment
-lapPayload
-  = lens _lapPayload (\ s a -> s{_lapPayload = a})
-
--- | email id or unique Id of the user
-lapUserId :: Lens' LicenseAssignmentsPatch Text
-lapUserId
-  = lens _lapUserId (\ s a -> s{_lapUserId = a})
-
--- | Name for product
-lapProductId :: Lens' LicenseAssignmentsPatch Text
-lapProductId
-  = lens _lapProductId (\ s a -> s{_lapProductId = a})
-
-instance GoogleRequest LicenseAssignmentsPatch where
-        type Rs LicenseAssignmentsPatch = LicenseAssignment
-        type Scopes LicenseAssignmentsPatch =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsPatch'{..}
-          = go _lapProductId _lapSKUId _lapUserId
-              (Just AltJSON)
-              _lapPayload
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy LicenseAssignmentsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Update.hs b/gen/Network/Google/Resource/Licensing/LicenseAssignments/Update.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/Licensing/LicenseAssignments/Update.hs
+++ /dev/null
@@ -1,131 +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.Licensing.LicenseAssignments.Update
--- 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)
---
--- Assign License.
---
--- /See:/ <https://developers.google.com/google-apps/licensing/ Enterprise License Manager API Reference> for @licensing.licenseAssignments.update@.
-module Network.Google.Resource.Licensing.LicenseAssignments.Update
-    (
-    -- * REST Resource
-      LicenseAssignmentsUpdateResource
-
-    -- * Creating a Request
-    , licenseAssignmentsUpdate
-    , LicenseAssignmentsUpdate
-
-    -- * Request Lenses
-    , lauSKUId
-    , lauPayload
-    , lauUserId
-    , lauProductId
-    ) where
-
-import           Network.Google.AppsLicensing.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @licensing.licenseAssignments.update@ method which the
--- 'LicenseAssignmentsUpdate' request conforms to.
-type LicenseAssignmentsUpdateResource =
-     "apps" :>
-       "licensing" :>
-         "v1" :>
-           "product" :>
-             Capture "productId" Text :>
-               "sku" :>
-                 Capture "skuId" Text :>
-                   "user" :>
-                     Capture "userId" Text :>
-                       QueryParam "alt" AltJSON :>
-                         ReqBody '[JSON] LicenseAssignment :>
-                           Put '[JSON] LicenseAssignment
-
--- | Assign License.
---
--- /See:/ 'licenseAssignmentsUpdate' smart constructor.
-data LicenseAssignmentsUpdate =
-  LicenseAssignmentsUpdate'
-    { _lauSKUId     :: !Text
-    , _lauPayload   :: !LicenseAssignment
-    , _lauUserId    :: !Text
-    , _lauProductId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LicenseAssignmentsUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lauSKUId'
---
--- * 'lauPayload'
---
--- * 'lauUserId'
---
--- * 'lauProductId'
-licenseAssignmentsUpdate
-    :: Text -- ^ 'lauSKUId'
-    -> LicenseAssignment -- ^ 'lauPayload'
-    -> Text -- ^ 'lauUserId'
-    -> Text -- ^ 'lauProductId'
-    -> LicenseAssignmentsUpdate
-licenseAssignmentsUpdate pLauSKUId_ pLauPayload_ pLauUserId_ pLauProductId_ =
-  LicenseAssignmentsUpdate'
-    { _lauSKUId = pLauSKUId_
-    , _lauPayload = pLauPayload_
-    , _lauUserId = pLauUserId_
-    , _lauProductId = pLauProductId_
-    }
-
-
--- | Name for sku for which license would be revoked
-lauSKUId :: Lens' LicenseAssignmentsUpdate Text
-lauSKUId = lens _lauSKUId (\ s a -> s{_lauSKUId = a})
-
--- | Multipart request metadata.
-lauPayload :: Lens' LicenseAssignmentsUpdate LicenseAssignment
-lauPayload
-  = lens _lauPayload (\ s a -> s{_lauPayload = a})
-
--- | email id or unique Id of the user
-lauUserId :: Lens' LicenseAssignmentsUpdate Text
-lauUserId
-  = lens _lauUserId (\ s a -> s{_lauUserId = a})
-
--- | Name for product
-lauProductId :: Lens' LicenseAssignmentsUpdate Text
-lauProductId
-  = lens _lauProductId (\ s a -> s{_lauProductId = a})
-
-instance GoogleRequest LicenseAssignmentsUpdate where
-        type Rs LicenseAssignmentsUpdate = LicenseAssignment
-        type Scopes LicenseAssignmentsUpdate =
-             '["https://www.googleapis.com/auth/apps.licensing"]
-        requestClient LicenseAssignmentsUpdate'{..}
-          = go _lauProductId _lauSKUId _lauUserId
-              (Just AltJSON)
-              _lauPayload
-              appsLicensingService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy LicenseAssignmentsUpdateResource)
-                      mempty
diff --git a/gogol-apps-licensing.cabal b/gogol-apps-licensing.cabal
--- a/gogol-apps-licensing.cabal
+++ b/gogol-apps-licensing.cabal
@@ -1,52 +1,67 @@
-name:                  gogol-apps-licensing
-version:               0.5.0
-synopsis:              Google Enterprise License Manager 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-apps-licensing
+version:            1.0.0
+synopsis:           Google Enterprise License Manager 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:
-    Views and manages licenses for your domain.
-    .
-    /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 @v1@
-    of the API.
+  The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage.
+  .
+  /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 @v1@
+  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-apps-licensing
 
+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.AppsLicensing
-        , Network.Google.AppsLicensing.Types
-        , Network.Google.Resource.Licensing.LicenseAssignments.Delete
-        , Network.Google.Resource.Licensing.LicenseAssignments.Get
-        , Network.Google.Resource.Licensing.LicenseAssignments.Insert
-        , Network.Google.Resource.Licensing.LicenseAssignments.ListForProduct
-        , Network.Google.Resource.Licensing.LicenseAssignments.ListForProductAndSKU
-        , Network.Google.Resource.Licensing.LicenseAssignments.Patch
-        , Network.Google.Resource.Licensing.LicenseAssignments.Update
+  exposed-modules:
+    Gogol.AppsLicensing
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.Delete
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.Get
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.Insert
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProduct
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.ListForProductAndSku
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.Patch
+    Gogol.AppsLicensing.Licensing.LicenseAssignments.Update
+    Gogol.AppsLicensing.Types
 
-    other-modules:
-          Network.Google.AppsLicensing.Types.Product
-        , Network.Google.AppsLicensing.Types.Sum
+  other-modules:
+    Gogol.AppsLicensing.Internal.Product
+    Gogol.AppsLicensing.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
