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/FusionTables.hs b/gen/Gogol/FusionTables.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables.hs
@@ -0,0 +1,344 @@
+{-# 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.FusionTables
+-- 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)
+--
+-- API for working with Fusion Tables data.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference>
+module Gogol.FusionTables
+  ( -- * Configuration
+    fusionTablesService,
+
+    -- * OAuth Scopes
+    Fusiontables'FullControl,
+    Fusiontables'Readonly,
+
+    -- * Resources
+
+    -- ** fusiontables.column.delete
+    FusionTablesColumnDeleteResource,
+    FusionTablesColumnDelete (..),
+    newFusionTablesColumnDelete,
+
+    -- ** fusiontables.column.get
+    FusionTablesColumnGetResource,
+    FusionTablesColumnGet (..),
+    newFusionTablesColumnGet,
+
+    -- ** fusiontables.column.insert
+    FusionTablesColumnInsertResource,
+    FusionTablesColumnInsert (..),
+    newFusionTablesColumnInsert,
+
+    -- ** fusiontables.column.list
+    FusionTablesColumnListResource,
+    FusionTablesColumnList (..),
+    newFusionTablesColumnList,
+
+    -- ** fusiontables.column.patch
+    FusionTablesColumnPatchResource,
+    FusionTablesColumnPatch (..),
+    newFusionTablesColumnPatch,
+
+    -- ** fusiontables.column.update
+    FusionTablesColumnUpdateResource,
+    FusionTablesColumnUpdate (..),
+    newFusionTablesColumnUpdate,
+
+    -- ** fusiontables.query.sql
+    FusionTablesQuerySqlResource,
+    FusionTablesQuerySql (..),
+    newFusionTablesQuerySql,
+
+    -- ** fusiontables.query.sqlGet
+    FusionTablesQuerySqlGetResource,
+    FusionTablesQuerySqlGet (..),
+    newFusionTablesQuerySqlGet,
+
+    -- ** fusiontables.style.delete
+    FusionTablesStyleDeleteResource,
+    FusionTablesStyleDelete (..),
+    newFusionTablesStyleDelete,
+
+    -- ** fusiontables.style.get
+    FusionTablesStyleGetResource,
+    FusionTablesStyleGet (..),
+    newFusionTablesStyleGet,
+
+    -- ** fusiontables.style.insert
+    FusionTablesStyleInsertResource,
+    FusionTablesStyleInsert (..),
+    newFusionTablesStyleInsert,
+
+    -- ** fusiontables.style.list
+    FusionTablesStyleListResource,
+    FusionTablesStyleList (..),
+    newFusionTablesStyleList,
+
+    -- ** fusiontables.style.patch
+    FusionTablesStylePatchResource,
+    FusionTablesStylePatch (..),
+    newFusionTablesStylePatch,
+
+    -- ** fusiontables.style.update
+    FusionTablesStyleUpdateResource,
+    FusionTablesStyleUpdate (..),
+    newFusionTablesStyleUpdate,
+
+    -- ** fusiontables.table.copy
+    FusionTablesTableCopyResource,
+    FusionTablesTableCopy (..),
+    newFusionTablesTableCopy,
+
+    -- ** fusiontables.table.delete
+    FusionTablesTableDeleteResource,
+    FusionTablesTableDelete (..),
+    newFusionTablesTableDelete,
+
+    -- ** fusiontables.table.get
+    FusionTablesTableGetResource,
+    FusionTablesTableGet (..),
+    newFusionTablesTableGet,
+
+    -- ** fusiontables.table.importRows
+    FusionTablesTableImportRowsResource,
+    FusionTablesTableImportRows (..),
+    newFusionTablesTableImportRows,
+
+    -- ** fusiontables.table.importTable
+    FusionTablesTableImportTableResource,
+    FusionTablesTableImportTable (..),
+    newFusionTablesTableImportTable,
+
+    -- ** fusiontables.table.insert
+    FusionTablesTableInsertResource,
+    FusionTablesTableInsert (..),
+    newFusionTablesTableInsert,
+
+    -- ** fusiontables.table.list
+    FusionTablesTableListResource,
+    FusionTablesTableList (..),
+    newFusionTablesTableList,
+
+    -- ** fusiontables.table.patch
+    FusionTablesTablePatchResource,
+    FusionTablesTablePatch (..),
+    newFusionTablesTablePatch,
+
+    -- ** fusiontables.table.refetchSheet
+    FusionTablesTableRefetchSheetResource,
+    FusionTablesTableRefetchSheet (..),
+    newFusionTablesTableRefetchSheet,
+
+    -- ** fusiontables.table.replaceRows
+    FusionTablesTableReplaceRowsResource,
+    FusionTablesTableReplaceRows (..),
+    newFusionTablesTableReplaceRows,
+
+    -- ** fusiontables.table.update
+    FusionTablesTableUpdateResource,
+    FusionTablesTableUpdate (..),
+    newFusionTablesTableUpdate,
+
+    -- ** fusiontables.task.delete
+    FusionTablesTaskDeleteResource,
+    FusionTablesTaskDelete (..),
+    newFusionTablesTaskDelete,
+
+    -- ** fusiontables.task.get
+    FusionTablesTaskGetResource,
+    FusionTablesTaskGet (..),
+    newFusionTablesTaskGet,
+
+    -- ** fusiontables.task.list
+    FusionTablesTaskListResource,
+    FusionTablesTaskList (..),
+    newFusionTablesTaskList,
+
+    -- ** fusiontables.template.delete
+    FusionTablesTemplateDeleteResource,
+    FusionTablesTemplateDelete (..),
+    newFusionTablesTemplateDelete,
+
+    -- ** fusiontables.template.get
+    FusionTablesTemplateGetResource,
+    FusionTablesTemplateGet (..),
+    newFusionTablesTemplateGet,
+
+    -- ** fusiontables.template.insert
+    FusionTablesTemplateInsertResource,
+    FusionTablesTemplateInsert (..),
+    newFusionTablesTemplateInsert,
+
+    -- ** fusiontables.template.list
+    FusionTablesTemplateListResource,
+    FusionTablesTemplateList (..),
+    newFusionTablesTemplateList,
+
+    -- ** fusiontables.template.patch
+    FusionTablesTemplatePatchResource,
+    FusionTablesTemplatePatch (..),
+    newFusionTablesTemplatePatch,
+
+    -- ** fusiontables.template.update
+    FusionTablesTemplateUpdateResource,
+    FusionTablesTemplateUpdate (..),
+    newFusionTablesTemplateUpdate,
+
+    -- * Types
+
+    -- ** Bucket
+    Bucket (..),
+    newBucket,
+
+    -- ** Column
+    Column (..),
+    newColumn,
+
+    -- ** Column_BaseColumn
+    Column_BaseColumn (..),
+    newColumn_BaseColumn,
+
+    -- ** ColumnList
+    ColumnList (..),
+    newColumnList,
+
+    -- ** Geometry
+    Geometry (..),
+    newGeometry,
+
+    -- ** Import
+    Import (..),
+    newImport,
+
+    -- ** Line
+    Line (..),
+    newLine,
+
+    -- ** LineStyle
+    LineStyle (..),
+    newLineStyle,
+
+    -- ** Point
+    Point (..),
+    newPoint,
+
+    -- ** PointStyle
+    PointStyle (..),
+    newPointStyle,
+
+    -- ** Polygon
+    Polygon (..),
+    newPolygon,
+
+    -- ** PolygonStyle
+    PolygonStyle (..),
+    newPolygonStyle,
+
+    -- ** Sqlresponse
+    Sqlresponse (..),
+    newSqlresponse,
+
+    -- ** StyleFunction
+    StyleFunction (..),
+    newStyleFunction,
+
+    -- ** StyleFunction_Gradient
+    StyleFunction_Gradient (..),
+    newStyleFunction_Gradient,
+
+    -- ** StyleFunction_Gradient_ColorsItem
+    StyleFunction_Gradient_ColorsItem (..),
+    newStyleFunction_Gradient_ColorsItem,
+
+    -- ** StyleSetting
+    StyleSetting (..),
+    newStyleSetting,
+
+    -- ** StyleSettingList
+    StyleSettingList (..),
+    newStyleSettingList,
+
+    -- ** Table
+    Table (..),
+    newTable,
+
+    -- ** TableList
+    TableList (..),
+    newTableList,
+
+    -- ** Task
+    Task (..),
+    newTask,
+
+    -- ** TaskList
+    TaskList (..),
+    newTaskList,
+
+    -- ** Template
+    Template (..),
+    newTemplate,
+
+    -- ** TemplateList
+    TemplateList (..),
+    newTemplateList,
+  )
+where
+
+import Gogol.FusionTables.Column.Delete
+import Gogol.FusionTables.Column.Get
+import Gogol.FusionTables.Column.Insert
+import Gogol.FusionTables.Column.List
+import Gogol.FusionTables.Column.Patch
+import Gogol.FusionTables.Column.Update
+import Gogol.FusionTables.Query.Sql
+import Gogol.FusionTables.Query.SqlGet
+import Gogol.FusionTables.Style.Delete
+import Gogol.FusionTables.Style.Get
+import Gogol.FusionTables.Style.Insert
+import Gogol.FusionTables.Style.List
+import Gogol.FusionTables.Style.Patch
+import Gogol.FusionTables.Style.Update
+import Gogol.FusionTables.Table.Copy
+import Gogol.FusionTables.Table.Delete
+import Gogol.FusionTables.Table.Get
+import Gogol.FusionTables.Table.ImportRows
+import Gogol.FusionTables.Table.ImportTable
+import Gogol.FusionTables.Table.Insert
+import Gogol.FusionTables.Table.List
+import Gogol.FusionTables.Table.Patch
+import Gogol.FusionTables.Table.RefetchSheet
+import Gogol.FusionTables.Table.ReplaceRows
+import Gogol.FusionTables.Table.Update
+import Gogol.FusionTables.Task.Delete
+import Gogol.FusionTables.Task.Get
+import Gogol.FusionTables.Task.List
+import Gogol.FusionTables.Template.Delete
+import Gogol.FusionTables.Template.Get
+import Gogol.FusionTables.Template.Insert
+import Gogol.FusionTables.Template.List
+import Gogol.FusionTables.Template.Patch
+import Gogol.FusionTables.Template.Update
+import Gogol.FusionTables.Types
diff --git a/gen/Gogol/FusionTables/Column/Delete.hs b/gen/Gogol/FusionTables/Column/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/Delete.hs
@@ -0,0 +1,85 @@
+{-# 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.FusionTables.Column.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified column.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.delete@.
+module Gogol.FusionTables.Column.Delete
+  ( -- * Resource
+    FusionTablesColumnDeleteResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnDelete (..),
+    newFusionTablesColumnDelete,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.delete@ method which the
+-- 'FusionTablesColumnDelete' request conforms to.
+type FusionTablesColumnDeleteResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.Capture "columnId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] ()
+
+-- | Deletes the specified column.
+--
+-- /See:/ 'newFusionTablesColumnDelete' smart constructor.
+data FusionTablesColumnDelete = FusionTablesColumnDelete
+  { -- | Name or identifier for the column being deleted.
+    columnId :: Core.Text,
+    -- | Table from which the column is being deleted.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnDelete' with the minimum fields required to make a request.
+newFusionTablesColumnDelete ::
+  -- |  Name or identifier for the column being deleted. See 'columnId'.
+  Core.Text ->
+  -- |  Table from which the column is being deleted. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnDelete
+newFusionTablesColumnDelete columnId tableId =
+  FusionTablesColumnDelete {columnId = columnId, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesColumnDelete where
+  type Rs FusionTablesColumnDelete = ()
+  type Scopes FusionTablesColumnDelete = '[Fusiontables'FullControl]
+  requestClient FusionTablesColumnDelete {..} =
+    go tableId columnId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Column/Get.hs b/gen/Gogol/FusionTables/Column/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/Get.hs
@@ -0,0 +1,87 @@
+{-# 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.FusionTables.Column.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)
+--
+-- Retrieves a specific column by its ID.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.get@.
+module Gogol.FusionTables.Column.Get
+  ( -- * Resource
+    FusionTablesColumnGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnGet (..),
+    newFusionTablesColumnGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.get@ method which the
+-- 'FusionTablesColumnGet' request conforms to.
+type FusionTablesColumnGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.Capture "columnId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Column
+
+-- | Retrieves a specific column by its ID.
+--
+-- /See:/ 'newFusionTablesColumnGet' smart constructor.
+data FusionTablesColumnGet = FusionTablesColumnGet
+  { -- | Name or identifier for the column that is being requested.
+    columnId :: Core.Text,
+    -- | Table to which the column belongs.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnGet' with the minimum fields required to make a request.
+newFusionTablesColumnGet ::
+  -- |  Name or identifier for the column that is being requested. See 'columnId'.
+  Core.Text ->
+  -- |  Table to which the column belongs. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnGet
+newFusionTablesColumnGet columnId tableId =
+  FusionTablesColumnGet {columnId = columnId, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesColumnGet where
+  type Rs FusionTablesColumnGet = Column
+  type
+    Scopes FusionTablesColumnGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesColumnGet {..} =
+    go tableId columnId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Column/Insert.hs b/gen/Gogol/FusionTables/Column/Insert.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/Insert.hs
@@ -0,0 +1,85 @@
+{-# 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.FusionTables.Column.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)
+--
+-- Adds a new column to the table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.insert@.
+module Gogol.FusionTables.Column.Insert
+  ( -- * Resource
+    FusionTablesColumnInsertResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnInsert (..),
+    newFusionTablesColumnInsert,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.insert@ method which the
+-- 'FusionTablesColumnInsert' request conforms to.
+type FusionTablesColumnInsertResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Column
+    Core.:> Core.Post '[Core.JSON] Column
+
+-- | Adds a new column to the table.
+--
+-- /See:/ 'newFusionTablesColumnInsert' smart constructor.
+data FusionTablesColumnInsert = FusionTablesColumnInsert
+  { -- | Multipart request metadata.
+    payload :: Column,
+    -- | Table for which a new column is being added.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnInsert' with the minimum fields required to make a request.
+newFusionTablesColumnInsert ::
+  -- |  Multipart request metadata. See 'payload'.
+  Column ->
+  -- |  Table for which a new column is being added. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnInsert
+newFusionTablesColumnInsert payload tableId =
+  FusionTablesColumnInsert {payload = payload, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesColumnInsert where
+  type Rs FusionTablesColumnInsert = Column
+  type Scopes FusionTablesColumnInsert = '[Fusiontables'FullControl]
+  requestClient FusionTablesColumnInsert {..} =
+    go tableId (Core.Just Core.AltJSON) payload fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnInsertResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Column/List.hs b/gen/Gogol/FusionTables/Column/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/List.hs
@@ -0,0 +1,97 @@
+{-# 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.FusionTables.Column.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of columns.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.list@.
+module Gogol.FusionTables.Column.List
+  ( -- * Resource
+    FusionTablesColumnListResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnList (..),
+    newFusionTablesColumnList,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.list@ method which the
+-- 'FusionTablesColumnList' request conforms to.
+type FusionTablesColumnListResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ColumnList
+
+-- | Retrieves a list of columns.
+--
+-- /See:/ 'newFusionTablesColumnList' smart constructor.
+data FusionTablesColumnList = FusionTablesColumnList
+  { -- | Maximum number of columns to return. Default is 5.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Continuation token specifying which result page to return.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Table whose columns are being listed.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnList' with the minimum fields required to make a request.
+newFusionTablesColumnList ::
+  -- |  Table whose columns are being listed. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnList
+newFusionTablesColumnList tableId =
+  FusionTablesColumnList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesColumnList where
+  type Rs FusionTablesColumnList = ColumnList
+  type
+    Scopes FusionTablesColumnList =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesColumnList {..} =
+    go
+      tableId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnListResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Column/Patch.hs b/gen/Gogol/FusionTables/Column/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/Patch.hs
@@ -0,0 +1,99 @@
+{-# 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.FusionTables.Column.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the name or type of an existing column. This method supports patch semantics.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.patch@.
+module Gogol.FusionTables.Column.Patch
+  ( -- * Resource
+    FusionTablesColumnPatchResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnPatch (..),
+    newFusionTablesColumnPatch,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.patch@ method which the
+-- 'FusionTablesColumnPatch' request conforms to.
+type FusionTablesColumnPatchResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.Capture "columnId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Column
+    Core.:> Core.Patch '[Core.JSON] Column
+
+-- | Updates the name or type of an existing column. This method supports patch semantics.
+--
+-- /See:/ 'newFusionTablesColumnPatch' smart constructor.
+data FusionTablesColumnPatch = FusionTablesColumnPatch
+  { -- | Name or identifier for the column that is being updated.
+    columnId :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: Column,
+    -- | Table for which the column is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnPatch' with the minimum fields required to make a request.
+newFusionTablesColumnPatch ::
+  -- |  Name or identifier for the column that is being updated. See 'columnId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Column ->
+  -- |  Table for which the column is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnPatch
+newFusionTablesColumnPatch columnId payload tableId =
+  FusionTablesColumnPatch
+    { columnId = columnId,
+      payload = payload,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesColumnPatch where
+  type Rs FusionTablesColumnPatch = Column
+  type Scopes FusionTablesColumnPatch = '[Fusiontables'FullControl]
+  requestClient FusionTablesColumnPatch {..} =
+    go
+      tableId
+      columnId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnPatchResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Column/Update.hs b/gen/Gogol/FusionTables/Column/Update.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Column/Update.hs
@@ -0,0 +1,99 @@
+{-# 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.FusionTables.Column.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)
+--
+-- Updates the name or type of an existing column.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.update@.
+module Gogol.FusionTables.Column.Update
+  ( -- * Resource
+    FusionTablesColumnUpdateResource,
+
+    -- ** Constructing a Request
+    FusionTablesColumnUpdate (..),
+    newFusionTablesColumnUpdate,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.column.update@ method which the
+-- 'FusionTablesColumnUpdate' request conforms to.
+type FusionTablesColumnUpdateResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "columns"
+    Core.:> Core.Capture "columnId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Column
+    Core.:> Core.Put '[Core.JSON] Column
+
+-- | Updates the name or type of an existing column.
+--
+-- /See:/ 'newFusionTablesColumnUpdate' smart constructor.
+data FusionTablesColumnUpdate = FusionTablesColumnUpdate
+  { -- | Name or identifier for the column that is being updated.
+    columnId :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: Column,
+    -- | Table for which the column is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesColumnUpdate' with the minimum fields required to make a request.
+newFusionTablesColumnUpdate ::
+  -- |  Name or identifier for the column that is being updated. See 'columnId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Column ->
+  -- |  Table for which the column is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesColumnUpdate
+newFusionTablesColumnUpdate columnId payload tableId =
+  FusionTablesColumnUpdate
+    { columnId = columnId,
+      payload = payload,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesColumnUpdate where
+  type Rs FusionTablesColumnUpdate = Column
+  type Scopes FusionTablesColumnUpdate = '[Fusiontables'FullControl]
+  requestClient FusionTablesColumnUpdate {..} =
+    go
+      tableId
+      columnId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesColumnUpdateResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Internal/Product.hs b/gen/Gogol/FusionTables/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Internal/Product.hs
@@ -0,0 +1,1350 @@
+{-# 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.FusionTables.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.FusionTables.Internal.Product
+  ( -- * Bucket
+    Bucket (..),
+    newBucket,
+
+    -- * Column
+    Column (..),
+    newColumn,
+
+    -- * Column_BaseColumn
+    Column_BaseColumn (..),
+    newColumn_BaseColumn,
+
+    -- * ColumnList
+    ColumnList (..),
+    newColumnList,
+
+    -- * Geometry
+    Geometry (..),
+    newGeometry,
+
+    -- * Import
+    Import (..),
+    newImport,
+
+    -- * Line
+    Line (..),
+    newLine,
+
+    -- * LineStyle
+    LineStyle (..),
+    newLineStyle,
+
+    -- * Point
+    Point (..),
+    newPoint,
+
+    -- * PointStyle
+    PointStyle (..),
+    newPointStyle,
+
+    -- * Polygon
+    Polygon (..),
+    newPolygon,
+
+    -- * PolygonStyle
+    PolygonStyle (..),
+    newPolygonStyle,
+
+    -- * Sqlresponse
+    Sqlresponse (..),
+    newSqlresponse,
+
+    -- * StyleFunction
+    StyleFunction (..),
+    newStyleFunction,
+
+    -- * StyleFunction_Gradient
+    StyleFunction_Gradient (..),
+    newStyleFunction_Gradient,
+
+    -- * StyleFunction_Gradient_ColorsItem
+    StyleFunction_Gradient_ColorsItem (..),
+    newStyleFunction_Gradient_ColorsItem,
+
+    -- * StyleSetting
+    StyleSetting (..),
+    newStyleSetting,
+
+    -- * StyleSettingList
+    StyleSettingList (..),
+    newStyleSettingList,
+
+    -- * Table
+    Table (..),
+    newTable,
+
+    -- * TableList
+    TableList (..),
+    newTableList,
+
+    -- * Task
+    Task (..),
+    newTask,
+
+    -- * TaskList
+    TaskList (..),
+    newTaskList,
+
+    -- * Template
+    Template (..),
+    newTemplate,
+
+    -- * TemplateList
+    TemplateList (..),
+    newTemplateList,
+  )
+where
+
+import Gogol.FusionTables.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+--
+-- /See:/ 'newBucket' smart constructor.
+data Bucket = Bucket
+  { -- | Color of line or the interior of a polygon in #RRGGBB format.
+    color :: (Core.Maybe Core.Text),
+    -- | Icon name used for a point.
+    icon :: (Core.Maybe Core.Text),
+    -- | Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+    max :: (Core.Maybe Core.Double),
+    -- | Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+    min :: (Core.Maybe Core.Double),
+    -- | Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+    opacity :: (Core.Maybe Core.Double),
+    -- | Width of a line (in pixels).
+    weight :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Bucket' with the minimum fields required to make a request.
+newBucket ::
+  Bucket
+newBucket =
+  Bucket
+    { color = Core.Nothing,
+      icon = Core.Nothing,
+      max = Core.Nothing,
+      min = Core.Nothing,
+      opacity = Core.Nothing,
+      weight = Core.Nothing
+    }
+
+instance Core.FromJSON Bucket where
+  parseJSON =
+    Core.withObject
+      "Bucket"
+      ( \o ->
+          Bucket
+            Core.<$> (o Core..:? "color")
+            Core.<*> (o Core..:? "icon")
+            Core.<*> (o Core..:? "max")
+            Core.<*> (o Core..:? "min")
+            Core.<*> (o Core..:? "opacity")
+            Core.<*> (o Core..:? "weight")
+      )
+
+instance Core.ToJSON Bucket where
+  toJSON Bucket {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("color" Core..=) Core.<$> color,
+            ("icon" Core..=) Core.<$> icon,
+            ("max" Core..=) Core.<$> max,
+            ("min" Core..=) Core.<$> min,
+            ("opacity" Core..=) Core.<$> opacity,
+            ("weight" Core..=) Core.<$> weight
+          ]
+      )
+
+-- | Specifies the details of a column in a table.
+--
+-- /See:/ 'newColumn' smart constructor.
+data Column = Column
+  { -- | Identifier of the base column. If present, this column is derived from the specified base column.
+    baseColumn :: (Core.Maybe Column_BaseColumn),
+    -- | Identifier for the column.
+    columnId :: (Core.Maybe Core.Int32),
+    -- | JSON schema for interpreting JSON in this column.
+    columnJsonSchema :: (Core.Maybe Core.Text),
+    -- | JSON object containing custom column properties.
+    columnPropertiesJson :: (Core.Maybe Core.Text),
+    -- | Column description.
+    description :: (Core.Maybe Core.Text),
+    -- | Format pattern. Acceptable values are DT/DATE/MEDIUMe.g Dec 24, 2008 DT/DATE/SHORTfor example 12\/24\/08 DT/DATE/TIME/MEDIUMfor example Dec 24, 2008 8:30:45 PM DT/DATE/TIME/SHORTfor example 12\/24\/08 8:30 PM DT/DAY/MONTH/2/DIGIT/YEARfor example 24\/12\/08 DT/DAY/MONTH/2/DIGIT/YEAR/TIMEfor example 24\/12\/08 20:30 DT/DAY/MONTH/2/DIGIT/YEAR/TIME/MERIDIANfor example 24\/12\/08 8:30 PM DT/DAY/MONTH/4/DIGIT/YEARfor example 24\/12\/2008 DT/DAY/MONTH/4/DIGIT/YEAR/TIMEfor example 24\/12\/2008 20:30 DT/DAY/MONTH/4/DIGIT/YEAR/TIME/MERIDIANfor example 24\/12\/2008 8:30 PM DT/ISO/YEAR/MONTH/DAYfor example 2008-12-24 DT/ISO/YEAR/MONTH/DAY/TIMEfor example 2008-12-24 20:30:45 DT/MONTH/DAY/4/DIGIT/YEARfor example 12\/24\/2008 DT/TIME/LONGfor example 8:30:45 PM UTC-6 DT/TIME/MEDIUMfor example 8:30:45 PM DT/TIME/SHORTfor example 8:30 PM DT/YEAR/ONLYfor example 2008 HIGHLIGHT/UNTYPED/CELLSHighlight cell data that does not match the data type NONENo formatting (default) NUMBER/CURRENCYfor example $1234.56 NUMBER/DEFAULTfor
+    -- example 1,234.56 NUMBER/INTEGERfor example 1235 NUMBER/NO/SEPARATORfor example 1234.56 NUMBER/PERCENTfor example 123,456% NUMBER/SCIENTIFICfor example 1E3 STRING/EIGHT/LINE/IMAGEDisplays thumbnail images as tall as eight lines of text STRING/FOUR/LINE/IMAGEDisplays thumbnail images as tall as four lines of text STRING/JSON/TEXTAllows editing of text as JSON in UI STRING/JSON/LISTAllows editing of text as a JSON list in UI STRING/LINKTreats cell as a link (must start with http:\/\/ or https:\/\/) STRING/ONE/LINE/IMAGEDisplays thumbnail images as tall as one line of text STRING/VIDEO/OR/MAPDisplay a video or map thumbnail
+    formatPattern :: (Core.Maybe Core.Text),
+    -- | Column graph predicate. Used to map table to graph data model (subject,predicate,object) See W3C Graph-based Data Model.
+    graphPredicate :: (Core.Maybe Core.Text),
+    -- | The kind of item this is. For a column, this is always fusiontables#column.
+    kind :: Core.Text,
+    -- | Name of the column.
+    name :: (Core.Maybe Core.Text),
+    -- | Type of the column.
+    type' :: (Core.Maybe Core.Text),
+    -- | List of valid values used to validate data and supply a drop-down list of values in the web application.
+    validValues :: (Core.Maybe [Core.Text]),
+    -- | If true, data entered via the web application is validated.
+    validateData :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Column' with the minimum fields required to make a request.
+newColumn ::
+  Column
+newColumn =
+  Column
+    { baseColumn = Core.Nothing,
+      columnId = Core.Nothing,
+      columnJsonSchema = Core.Nothing,
+      columnPropertiesJson = Core.Nothing,
+      description = Core.Nothing,
+      formatPattern = Core.Nothing,
+      graphPredicate = Core.Nothing,
+      kind = "fusiontables#column",
+      name = Core.Nothing,
+      type' = Core.Nothing,
+      validValues = Core.Nothing,
+      validateData = Core.Nothing
+    }
+
+instance Core.FromJSON Column where
+  parseJSON =
+    Core.withObject
+      "Column"
+      ( \o ->
+          Column
+            Core.<$> (o Core..:? "baseColumn")
+            Core.<*> (o Core..:? "columnId")
+            Core.<*> (o Core..:? "columnJsonSchema")
+            Core.<*> (o Core..:? "columnPropertiesJson")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "formatPattern")
+            Core.<*> (o Core..:? "graphPredicate")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#column")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "type")
+            Core.<*> (o Core..:? "validValues")
+            Core.<*> (o Core..:? "validateData")
+      )
+
+instance Core.ToJSON Column where
+  toJSON Column {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("baseColumn" Core..=) Core.<$> baseColumn,
+            ("columnId" Core..=) Core.<$> columnId,
+            ("columnJsonSchema" Core..=) Core.<$> columnJsonSchema,
+            ("columnPropertiesJson" Core..=) Core.<$> columnPropertiesJson,
+            ("description" Core..=) Core.<$> description,
+            ("formatPattern" Core..=) Core.<$> formatPattern,
+            ("graphPredicate" Core..=) Core.<$> graphPredicate,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name,
+            ("type" Core..=) Core.<$> type',
+            ("validValues" Core..=) Core.<$> validValues,
+            ("validateData" Core..=) Core.<$> validateData
+          ]
+      )
+
+-- | Identifier of the base column. If present, this column is derived from the specified base column.
+--
+-- /See:/ 'newColumn_BaseColumn' smart constructor.
+data Column_BaseColumn = Column_BaseColumn
+  { -- | The id of the column in the base table from which this column is derived.
+    columnId :: (Core.Maybe Core.Int32),
+    -- | Offset to the entry in the list of base tables in the table definition.
+    tableIndex :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Column_BaseColumn' with the minimum fields required to make a request.
+newColumn_BaseColumn ::
+  Column_BaseColumn
+newColumn_BaseColumn =
+  Column_BaseColumn
+    { columnId = Core.Nothing,
+      tableIndex = Core.Nothing
+    }
+
+instance Core.FromJSON Column_BaseColumn where
+  parseJSON =
+    Core.withObject
+      "Column_BaseColumn"
+      ( \o ->
+          Column_BaseColumn
+            Core.<$> (o Core..:? "columnId")
+            Core.<*> (o Core..:? "tableIndex")
+      )
+
+instance Core.ToJSON Column_BaseColumn where
+  toJSON Column_BaseColumn {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("columnId" Core..=) Core.<$> columnId,
+            ("tableIndex" Core..=) Core.<$> tableIndex
+          ]
+      )
+
+-- | Represents a list of columns in a table.
+--
+-- /See:/ 'newColumnList' smart constructor.
+data ColumnList = ColumnList
+  { -- | List of all requested columns.
+    items :: (Core.Maybe [Column]),
+    -- | The kind of item this is. For a column list, this is always fusiontables#columnList.
+    kind :: Core.Text,
+    -- | Token used to access the next page of this result. No token is displayed if there are no more pages left.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | Total number of columns for the table.
+    totalItems :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ColumnList' with the minimum fields required to make a request.
+newColumnList ::
+  ColumnList
+newColumnList =
+  ColumnList
+    { items = Core.Nothing,
+      kind = "fusiontables#columnList",
+      nextPageToken = Core.Nothing,
+      totalItems = Core.Nothing
+    }
+
+instance Core.FromJSON ColumnList where
+  parseJSON =
+    Core.withObject
+      "ColumnList"
+      ( \o ->
+          ColumnList
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#columnList")
+            Core.<*> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "totalItems")
+      )
+
+instance Core.ToJSON ColumnList where
+  toJSON ColumnList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("totalItems" Core..=) Core.<$> totalItems
+          ]
+      )
+
+-- | Represents a Geometry object.
+--
+-- /See:/ 'newGeometry' smart constructor.
+data Geometry = Geometry
+  { -- | The list of geometries in this geometry collection.
+    geometries :: (Core.Maybe [Core.Value]),
+    geometry :: (Core.Maybe Core.Value),
+    -- | Type: A collection of geometries.
+    type' :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Geometry' with the minimum fields required to make a request.
+newGeometry ::
+  Geometry
+newGeometry =
+  Geometry
+    { geometries = Core.Nothing,
+      geometry = Core.Nothing,
+      type' = "GeometryCollection"
+    }
+
+instance Core.FromJSON Geometry where
+  parseJSON =
+    Core.withObject
+      "Geometry"
+      ( \o ->
+          Geometry
+            Core.<$> (o Core..:? "geometries")
+            Core.<*> (o Core..:? "geometry")
+            Core.<*> (o Core..:? "type" Core..!= "GeometryCollection")
+      )
+
+instance Core.ToJSON Geometry where
+  toJSON Geometry {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("geometries" Core..=) Core.<$> geometries,
+            ("geometry" Core..=) Core.<$> geometry,
+            Core.Just ("type" Core..= type')
+          ]
+      )
+
+-- | Represents an import request.
+--
+-- /See:/ 'newImport' smart constructor.
+data Import = Import
+  { -- | The kind of item this is. For an import, this is always fusiontables#import.
+    kind :: Core.Text,
+    -- | The number of rows received from the import request.
+    numRowsReceived :: (Core.Maybe Core.Int64)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Import' with the minimum fields required to make a request.
+newImport ::
+  Import
+newImport =
+  Import
+    { kind = "fusiontables#import",
+      numRowsReceived = Core.Nothing
+    }
+
+instance Core.FromJSON Import where
+  parseJSON =
+    Core.withObject
+      "Import"
+      ( \o ->
+          Import
+            Core.<$> (o Core..:? "kind" Core..!= "fusiontables#import")
+            Core.<*> (o Core..:? "numRowsReceived" Core.<&> Core.fmap Core.fromAsText)
+      )
+
+instance Core.ToJSON Import where
+  toJSON Import {..} =
+    Core.object
+      ( Core.catMaybes
+          [ Core.Just ("kind" Core..= kind),
+            ("numRowsReceived" Core..=)
+              Core.. Core.AsText
+              Core.<$> numRowsReceived
+          ]
+      )
+
+-- | Represents a line geometry.
+--
+-- /See:/ 'newLine' smart constructor.
+data Line = Line
+  { -- | The coordinates that define the line.
+    coordinates :: (Core.Maybe [[Core.Double]]),
+    -- | Type: A line geometry.
+    type' :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Line' with the minimum fields required to make a request.
+newLine ::
+  Line
+newLine = Line {coordinates = Core.Nothing, type' = "LineString"}
+
+instance Core.FromJSON Line where
+  parseJSON =
+    Core.withObject
+      "Line"
+      ( \o ->
+          Line
+            Core.<$> (o Core..:? "coordinates")
+            Core.<*> (o Core..:? "type" Core..!= "LineString")
+      )
+
+instance Core.ToJSON Line where
+  toJSON Line {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("coordinates" Core..=) Core.<$> coordinates,
+            Core.Just ("type" Core..= type')
+          ]
+      )
+
+-- | Represents a LineStyle within a StyleSetting
+--
+-- /See:/ 'newLineStyle' smart constructor.
+data LineStyle = LineStyle
+  { -- | Color of the line in #RRGGBB format.
+    strokeColor :: (Core.Maybe Core.Text),
+    -- | Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+    strokeColorStyler :: (Core.Maybe StyleFunction),
+    -- | Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+    strokeOpacity :: (Core.Maybe Core.Double),
+    -- | Width of the line in pixels.
+    strokeWeight :: (Core.Maybe Core.Int32),
+    -- | Column-value or bucket styler that is used to determine the width of the line.
+    strokeWeightStyler :: (Core.Maybe StyleFunction)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LineStyle' with the minimum fields required to make a request.
+newLineStyle ::
+  LineStyle
+newLineStyle =
+  LineStyle
+    { strokeColor = Core.Nothing,
+      strokeColorStyler = Core.Nothing,
+      strokeOpacity = Core.Nothing,
+      strokeWeight = Core.Nothing,
+      strokeWeightStyler = Core.Nothing
+    }
+
+instance Core.FromJSON LineStyle where
+  parseJSON =
+    Core.withObject
+      "LineStyle"
+      ( \o ->
+          LineStyle
+            Core.<$> (o Core..:? "strokeColor")
+            Core.<*> (o Core..:? "strokeColorStyler")
+            Core.<*> (o Core..:? "strokeOpacity")
+            Core.<*> (o Core..:? "strokeWeight")
+            Core.<*> (o Core..:? "strokeWeightStyler")
+      )
+
+instance Core.ToJSON LineStyle where
+  toJSON LineStyle {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("strokeColor" Core..=) Core.<$> strokeColor,
+            ("strokeColorStyler" Core..=) Core.<$> strokeColorStyler,
+            ("strokeOpacity" Core..=) Core.<$> strokeOpacity,
+            ("strokeWeight" Core..=) Core.<$> strokeWeight,
+            ("strokeWeightStyler" Core..=) Core.<$> strokeWeightStyler
+          ]
+      )
+
+-- | Represents a point object.
+--
+-- /See:/ 'newPoint' smart constructor.
+data Point = Point
+  { -- | The coordinates that define the point.
+    coordinates :: (Core.Maybe [Core.Double]),
+    -- | Point: A point geometry.
+    type' :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Point' with the minimum fields required to make a request.
+newPoint ::
+  Point
+newPoint = Point {coordinates = Core.Nothing, type' = "Point"}
+
+instance Core.FromJSON Point where
+  parseJSON =
+    Core.withObject
+      "Point"
+      ( \o ->
+          Point
+            Core.<$> (o Core..:? "coordinates")
+            Core.<*> (o Core..:? "type" Core..!= "Point")
+      )
+
+instance Core.ToJSON Point where
+  toJSON Point {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("coordinates" Core..=) Core.<$> coordinates,
+            Core.Just ("type" Core..= type')
+          ]
+      )
+
+-- | Represents a PointStyle within a StyleSetting
+--
+-- /See:/ 'newPointStyle' smart constructor.
+data PointStyle = PointStyle
+  { -- | Name of the icon. Use values defined in http:\/\/www.google.com\/fusiontables\/DataSource?dsrcid=308519
+    iconName :: (Core.Maybe Core.Text),
+    -- | Column or a bucket value from which the icon name is to be determined.
+    iconStyler :: (Core.Maybe StyleFunction)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'PointStyle' with the minimum fields required to make a request.
+newPointStyle ::
+  PointStyle
+newPointStyle =
+  PointStyle {iconName = Core.Nothing, iconStyler = Core.Nothing}
+
+instance Core.FromJSON PointStyle where
+  parseJSON =
+    Core.withObject
+      "PointStyle"
+      ( \o ->
+          PointStyle
+            Core.<$> (o Core..:? "iconName")
+            Core.<*> (o Core..:? "iconStyler")
+      )
+
+instance Core.ToJSON PointStyle where
+  toJSON PointStyle {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("iconName" Core..=) Core.<$> iconName,
+            ("iconStyler" Core..=) Core.<$> iconStyler
+          ]
+      )
+
+-- | Represents a polygon object.
+--
+-- /See:/ 'newPolygon' smart constructor.
+data Polygon = Polygon
+  { -- | The coordinates that define the polygon.
+    coordinates :: (Core.Maybe [[[Core.Double]]]),
+    -- | Type: A polygon geometry.
+    type' :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Polygon' with the minimum fields required to make a request.
+newPolygon ::
+  Polygon
+newPolygon = Polygon {coordinates = Core.Nothing, type' = "Polygon"}
+
+instance Core.FromJSON Polygon where
+  parseJSON =
+    Core.withObject
+      "Polygon"
+      ( \o ->
+          Polygon
+            Core.<$> (o Core..:? "coordinates")
+            Core.<*> (o Core..:? "type" Core..!= "Polygon")
+      )
+
+instance Core.ToJSON Polygon where
+  toJSON Polygon {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("coordinates" Core..=) Core.<$> coordinates,
+            Core.Just ("type" Core..= type')
+          ]
+      )
+
+-- | Represents a PolygonStyle within a StyleSetting
+--
+-- /See:/ 'newPolygonStyle' smart constructor.
+data PolygonStyle = PolygonStyle
+  { -- | Color of the interior of the polygon in #RRGGBB format.
+    fillColor :: (Core.Maybe Core.Text),
+    -- | Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+    fillColorStyler :: (Core.Maybe StyleFunction),
+    -- | Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    fillOpacity :: (Core.Maybe Core.Double),
+    -- | Color of the polygon border in #RRGGBB format.
+    strokeColor :: (Core.Maybe Core.Text),
+    -- | Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+    strokeColorStyler :: (Core.Maybe StyleFunction),
+    -- | Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+    strokeOpacity :: (Core.Maybe Core.Double),
+    -- | Width of the polyon border in pixels.
+    strokeWeight :: (Core.Maybe Core.Int32),
+    -- | Column-value or bucket styler that is used to determine the width of the polygon border.
+    strokeWeightStyler :: (Core.Maybe StyleFunction)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'PolygonStyle' with the minimum fields required to make a request.
+newPolygonStyle ::
+  PolygonStyle
+newPolygonStyle =
+  PolygonStyle
+    { fillColor = Core.Nothing,
+      fillColorStyler = Core.Nothing,
+      fillOpacity = Core.Nothing,
+      strokeColor = Core.Nothing,
+      strokeColorStyler = Core.Nothing,
+      strokeOpacity = Core.Nothing,
+      strokeWeight = Core.Nothing,
+      strokeWeightStyler = Core.Nothing
+    }
+
+instance Core.FromJSON PolygonStyle where
+  parseJSON =
+    Core.withObject
+      "PolygonStyle"
+      ( \o ->
+          PolygonStyle
+            Core.<$> (o Core..:? "fillColor")
+            Core.<*> (o Core..:? "fillColorStyler")
+            Core.<*> (o Core..:? "fillOpacity")
+            Core.<*> (o Core..:? "strokeColor")
+            Core.<*> (o Core..:? "strokeColorStyler")
+            Core.<*> (o Core..:? "strokeOpacity")
+            Core.<*> (o Core..:? "strokeWeight")
+            Core.<*> (o Core..:? "strokeWeightStyler")
+      )
+
+instance Core.ToJSON PolygonStyle where
+  toJSON PolygonStyle {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("fillColor" Core..=) Core.<$> fillColor,
+            ("fillColorStyler" Core..=) Core.<$> fillColorStyler,
+            ("fillOpacity" Core..=) Core.<$> fillOpacity,
+            ("strokeColor" Core..=) Core.<$> strokeColor,
+            ("strokeColorStyler" Core..=) Core.<$> strokeColorStyler,
+            ("strokeOpacity" Core..=) Core.<$> strokeOpacity,
+            ("strokeWeight" Core..=) Core.<$> strokeWeight,
+            ("strokeWeightStyler" Core..=) Core.<$> strokeWeightStyler
+          ]
+      )
+
+-- | Represents a response to a SQL statement.
+--
+-- /See:/ 'newSqlresponse' smart constructor.
+data Sqlresponse = Sqlresponse
+  { -- | Columns in the table.
+    columns :: (Core.Maybe [Core.Text]),
+    -- | The kind of item this is. For responses to SQL queries, this is always fusiontables#sqlresponse.
+    kind :: Core.Text,
+    -- | The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
+    rows :: (Core.Maybe [[Core.Value]])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Sqlresponse' with the minimum fields required to make a request.
+newSqlresponse ::
+  Sqlresponse
+newSqlresponse =
+  Sqlresponse
+    { columns = Core.Nothing,
+      kind = "fusiontables#sqlresponse",
+      rows = Core.Nothing
+    }
+
+instance Core.FromJSON Sqlresponse where
+  parseJSON =
+    Core.withObject
+      "Sqlresponse"
+      ( \o ->
+          Sqlresponse
+            Core.<$> (o Core..:? "columns")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#sqlresponse")
+            Core.<*> (o Core..:? "rows")
+      )
+
+instance Core.ToJSON Sqlresponse where
+  toJSON Sqlresponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("columns" Core..=) Core.<$> columns,
+            Core.Just ("kind" Core..= kind),
+            ("rows" Core..=) Core.<$> rows
+          ]
+      )
+
+-- | Represents a StyleFunction within a StyleSetting
+--
+-- /See:/ 'newStyleFunction' smart constructor.
+data StyleFunction = StyleFunction
+  { -- | Bucket function that assigns a style based on the range a column value falls into.
+    buckets :: (Core.Maybe [Bucket]),
+    -- | Name of the column whose value is used in the style.
+    columnName :: (Core.Maybe Core.Text),
+    -- | Gradient function that interpolates a range of colors based on column value.
+    gradient :: (Core.Maybe StyleFunction_Gradient),
+    -- | Stylers can be one of three kinds: \"fusiontables#fromColumn if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; fusiontables#gradient if the styling of the row is to be based on applying the gradient function on the column value; or fusiontables#buckets if the styling is to based on the bucket into which the the column value falls.
+    kind :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StyleFunction' with the minimum fields required to make a request.
+newStyleFunction ::
+  StyleFunction
+newStyleFunction =
+  StyleFunction
+    { buckets = Core.Nothing,
+      columnName = Core.Nothing,
+      gradient = Core.Nothing,
+      kind = Core.Nothing
+    }
+
+instance Core.FromJSON StyleFunction where
+  parseJSON =
+    Core.withObject
+      "StyleFunction"
+      ( \o ->
+          StyleFunction
+            Core.<$> (o Core..:? "buckets")
+            Core.<*> (o Core..:? "columnName")
+            Core.<*> (o Core..:? "gradient")
+            Core.<*> (o Core..:? "kind")
+      )
+
+instance Core.ToJSON StyleFunction where
+  toJSON StyleFunction {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("buckets" Core..=) Core.<$> buckets,
+            ("columnName" Core..=) Core.<$> columnName,
+            ("gradient" Core..=) Core.<$> gradient,
+            ("kind" Core..=) Core.<$> kind
+          ]
+      )
+
+-- | Gradient function that interpolates a range of colors based on column value.
+--
+-- /See:/ 'newStyleFunction_Gradient' smart constructor.
+data StyleFunction_Gradient = StyleFunction_Gradient
+  { -- | Array with two or more colors.
+    colors :: (Core.Maybe [StyleFunction_Gradient_ColorsItem]),
+    -- | Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+    max :: (Core.Maybe Core.Double),
+    -- | Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+    min :: (Core.Maybe Core.Double)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StyleFunction_Gradient' with the minimum fields required to make a request.
+newStyleFunction_Gradient ::
+  StyleFunction_Gradient
+newStyleFunction_Gradient =
+  StyleFunction_Gradient
+    { colors = Core.Nothing,
+      max = Core.Nothing,
+      min = Core.Nothing
+    }
+
+instance Core.FromJSON StyleFunction_Gradient where
+  parseJSON =
+    Core.withObject
+      "StyleFunction_Gradient"
+      ( \o ->
+          StyleFunction_Gradient
+            Core.<$> (o Core..:? "colors")
+            Core.<*> (o Core..:? "max")
+            Core.<*> (o Core..:? "min")
+      )
+
+instance Core.ToJSON StyleFunction_Gradient where
+  toJSON StyleFunction_Gradient {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("colors" Core..=) Core.<$> colors,
+            ("max" Core..=) Core.<$> max,
+            ("min" Core..=) Core.<$> min
+          ]
+      )
+
+--
+-- /See:/ 'newStyleFunction_Gradient_ColorsItem' smart constructor.
+data StyleFunction_Gradient_ColorsItem = StyleFunction_Gradient_ColorsItem
+  { -- | Color in #RRGGBB format.
+    color :: (Core.Maybe Core.Text),
+    -- | Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+    opacity :: (Core.Maybe Core.Double)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StyleFunction_Gradient_ColorsItem' with the minimum fields required to make a request.
+newStyleFunction_Gradient_ColorsItem ::
+  StyleFunction_Gradient_ColorsItem
+newStyleFunction_Gradient_ColorsItem =
+  StyleFunction_Gradient_ColorsItem
+    { color = Core.Nothing,
+      opacity = Core.Nothing
+    }
+
+instance Core.FromJSON StyleFunction_Gradient_ColorsItem where
+  parseJSON =
+    Core.withObject
+      "StyleFunction_Gradient_ColorsItem"
+      ( \o ->
+          StyleFunction_Gradient_ColorsItem
+            Core.<$> (o Core..:? "color")
+            Core.<*> (o Core..:? "opacity")
+      )
+
+instance Core.ToJSON StyleFunction_Gradient_ColorsItem where
+  toJSON StyleFunction_Gradient_ColorsItem {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("color" Core..=) Core.<$> color,
+            ("opacity" Core..=) Core.<$> opacity
+          ]
+      )
+
+-- | Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+--
+-- /See:/ 'newStyleSetting' smart constructor.
+data StyleSetting = StyleSetting
+  { -- | The kind of item this is. A StyleSetting contains the style definitions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    kind :: Core.Text,
+    -- | Style definition for points in the table.
+    markerOptions :: (Core.Maybe PointStyle),
+    -- | Optional name for the style setting.
+    name :: (Core.Maybe Core.Text),
+    -- | Style definition for polygons in the table.
+    polygonOptions :: (Core.Maybe PolygonStyle),
+    -- | Style definition for lines in the table.
+    polylineOptions :: (Core.Maybe LineStyle),
+    -- | Identifier for the style setting (unique only within tables).
+    styleId :: (Core.Maybe Core.Int32),
+    -- | Identifier for the table.
+    tableId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StyleSetting' with the minimum fields required to make a request.
+newStyleSetting ::
+  StyleSetting
+newStyleSetting =
+  StyleSetting
+    { kind = "fusiontables#styleSetting",
+      markerOptions = Core.Nothing,
+      name = Core.Nothing,
+      polygonOptions = Core.Nothing,
+      polylineOptions = Core.Nothing,
+      styleId = Core.Nothing,
+      tableId = Core.Nothing
+    }
+
+instance Core.FromJSON StyleSetting where
+  parseJSON =
+    Core.withObject
+      "StyleSetting"
+      ( \o ->
+          StyleSetting
+            Core.<$> (o Core..:? "kind" Core..!= "fusiontables#styleSetting")
+            Core.<*> (o Core..:? "markerOptions")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "polygonOptions")
+            Core.<*> (o Core..:? "polylineOptions")
+            Core.<*> (o Core..:? "styleId")
+            Core.<*> (o Core..:? "tableId")
+      )
+
+instance Core.ToJSON StyleSetting where
+  toJSON StyleSetting {..} =
+    Core.object
+      ( Core.catMaybes
+          [ Core.Just ("kind" Core..= kind),
+            ("markerOptions" Core..=) Core.<$> markerOptions,
+            ("name" Core..=) Core.<$> name,
+            ("polygonOptions" Core..=) Core.<$> polygonOptions,
+            ("polylineOptions" Core..=) Core.<$> polylineOptions,
+            ("styleId" Core..=) Core.<$> styleId,
+            ("tableId" Core..=) Core.<$> tableId
+          ]
+      )
+
+-- | Represents a list of styles for a given table.
+--
+-- /See:/ 'newStyleSettingList' smart constructor.
+data StyleSettingList = StyleSettingList
+  { -- | All requested style settings.
+    items :: (Core.Maybe [StyleSetting]),
+    -- | The kind of item this is. For a style list, this is always fusiontables#styleSettingList .
+    kind :: Core.Text,
+    -- | Token used to access the next page of this result. No token is displayed if there are no more styles left.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | Total number of styles for the table.
+    totalItems :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StyleSettingList' with the minimum fields required to make a request.
+newStyleSettingList ::
+  StyleSettingList
+newStyleSettingList =
+  StyleSettingList
+    { items = Core.Nothing,
+      kind = "fusiontables#styleSettingList",
+      nextPageToken = Core.Nothing,
+      totalItems = Core.Nothing
+    }
+
+instance Core.FromJSON StyleSettingList where
+  parseJSON =
+    Core.withObject
+      "StyleSettingList"
+      ( \o ->
+          StyleSettingList
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#styleSettingList")
+            Core.<*> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "totalItems")
+      )
+
+instance Core.ToJSON StyleSettingList where
+  toJSON StyleSettingList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("totalItems" Core..=) Core.<$> totalItems
+          ]
+      )
+
+-- | Represents a table.
+--
+-- /See:/ 'newTable' smart constructor.
+data Table = Table
+  { -- | Attribution assigned to the table.
+    attribution :: (Core.Maybe Core.Text),
+    -- | Optional link for attribution.
+    attributionLink :: (Core.Maybe Core.Text),
+    -- | Base table identifier if this table is a view or merged table.
+    baseTableIds :: (Core.Maybe [Core.Text]),
+    -- | Default JSON schema for validating all JSON column properties.
+    columnPropertiesJsonSchema :: (Core.Maybe Core.Text),
+    -- | Columns in the table.
+    columns :: (Core.Maybe [Column]),
+    -- | Description assigned to the table.
+    description :: (Core.Maybe Core.Text),
+    -- | Variable for whether table is exportable.
+    isExportable :: (Core.Maybe Core.Bool),
+    -- | The kind of item this is. For a table, this is always fusiontables#table.
+    kind :: Core.Text,
+    -- | Name assigned to a table.
+    name :: (Core.Maybe Core.Text),
+    -- | SQL that encodes the table definition for derived tables.
+    sql :: (Core.Maybe Core.Text),
+    -- | Encrypted unique alphanumeric identifier for the table.
+    tableId :: (Core.Maybe Core.Text),
+    -- | JSON object containing custom table properties.
+    tablePropertiesJson :: (Core.Maybe Core.Text),
+    -- | JSON schema for validating the JSON table properties.
+    tablePropertiesJsonSchema :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Table' with the minimum fields required to make a request.
+newTable ::
+  Table
+newTable =
+  Table
+    { attribution = Core.Nothing,
+      attributionLink = Core.Nothing,
+      baseTableIds = Core.Nothing,
+      columnPropertiesJsonSchema = Core.Nothing,
+      columns = Core.Nothing,
+      description = Core.Nothing,
+      isExportable = Core.Nothing,
+      kind = "fusiontables#table",
+      name = Core.Nothing,
+      sql = Core.Nothing,
+      tableId = Core.Nothing,
+      tablePropertiesJson = Core.Nothing,
+      tablePropertiesJsonSchema = Core.Nothing
+    }
+
+instance Core.FromJSON Table where
+  parseJSON =
+    Core.withObject
+      "Table"
+      ( \o ->
+          Table
+            Core.<$> (o Core..:? "attribution")
+            Core.<*> (o Core..:? "attributionLink")
+            Core.<*> (o Core..:? "baseTableIds")
+            Core.<*> (o Core..:? "columnPropertiesJsonSchema")
+            Core.<*> (o Core..:? "columns")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "isExportable")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#table")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "sql")
+            Core.<*> (o Core..:? "tableId")
+            Core.<*> (o Core..:? "tablePropertiesJson")
+            Core.<*> (o Core..:? "tablePropertiesJsonSchema")
+      )
+
+instance Core.ToJSON Table where
+  toJSON Table {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("attribution" Core..=) Core.<$> attribution,
+            ("attributionLink" Core..=) Core.<$> attributionLink,
+            ("baseTableIds" Core..=) Core.<$> baseTableIds,
+            ("columnPropertiesJsonSchema" Core..=)
+              Core.<$> columnPropertiesJsonSchema,
+            ("columns" Core..=) Core.<$> columns,
+            ("description" Core..=) Core.<$> description,
+            ("isExportable" Core..=) Core.<$> isExportable,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name,
+            ("sql" Core..=) Core.<$> sql,
+            ("tableId" Core..=) Core.<$> tableId,
+            ("tablePropertiesJson" Core..=) Core.<$> tablePropertiesJson,
+            ("tablePropertiesJsonSchema" Core..=)
+              Core.<$> tablePropertiesJsonSchema
+          ]
+      )
+
+-- | Represents a list of tables.
+--
+-- /See:/ 'newTableList' smart constructor.
+data TableList = TableList
+  { -- | List of all requested tables.
+    items :: (Core.Maybe [Table]),
+    -- | The kind of item this is. For table list, this is always fusiontables#tableList.
+    kind :: Core.Text,
+    -- | Token used to access the next page of this result. No token is displayed if there are no more pages left.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'TableList' with the minimum fields required to make a request.
+newTableList ::
+  TableList
+newTableList =
+  TableList
+    { items = Core.Nothing,
+      kind = "fusiontables#tableList",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON TableList where
+  parseJSON =
+    Core.withObject
+      "TableList"
+      ( \o ->
+          TableList
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#tableList")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON TableList where
+  toJSON TableList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | A background task on a table, initiated for time- or resource-consuming operations such as changing column types or deleting all rows.
+--
+-- /See:/ 'newTask' smart constructor.
+data Task = Task
+  { -- | Type of the resource. This is always \"fusiontables#task\".
+    kind :: Core.Text,
+    -- | Task percentage completion.
+    progress :: (Core.Maybe Core.Text),
+    -- | false while the table is busy with some other task. true if this background task is currently running.
+    started :: (Core.Maybe Core.Bool),
+    -- | Identifier for the task.
+    taskId :: (Core.Maybe Core.Int64),
+    -- | Type of background task.
+    type' :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Task' with the minimum fields required to make a request.
+newTask ::
+  Task
+newTask =
+  Task
+    { kind = "fusiontables#task",
+      progress = Core.Nothing,
+      started = Core.Nothing,
+      taskId = Core.Nothing,
+      type' = Core.Nothing
+    }
+
+instance Core.FromJSON Task where
+  parseJSON =
+    Core.withObject
+      "Task"
+      ( \o ->
+          Task
+            Core.<$> (o Core..:? "kind" Core..!= "fusiontables#task")
+            Core.<*> (o Core..:? "progress")
+            Core.<*> (o Core..:? "started")
+            Core.<*> (o Core..:? "taskId" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "type")
+      )
+
+instance Core.ToJSON Task where
+  toJSON Task {..} =
+    Core.object
+      ( Core.catMaybes
+          [ Core.Just ("kind" Core..= kind),
+            ("progress" Core..=) Core.<$> progress,
+            ("started" Core..=) Core.<$> started,
+            ("taskId" Core..=) Core.. Core.AsText Core.<$> taskId,
+            ("type" Core..=) Core.<$> type'
+          ]
+      )
+
+-- | Represents a list of tasks for a table.
+--
+-- /See:/ 'newTaskList' smart constructor.
+data TaskList = TaskList
+  { -- | List of all requested tasks.
+    items :: (Core.Maybe [Task]),
+    -- | Type of the resource. This is always \"fusiontables#taskList\".
+    kind :: Core.Text,
+    -- | Token used to access the next page of this result. No token is displayed if there are no more pages left.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | Total number of tasks for the table.
+    totalItems :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'TaskList' with the minimum fields required to make a request.
+newTaskList ::
+  TaskList
+newTaskList =
+  TaskList
+    { items = Core.Nothing,
+      kind = "fusiontables#taskList",
+      nextPageToken = Core.Nothing,
+      totalItems = Core.Nothing
+    }
+
+instance Core.FromJSON TaskList where
+  parseJSON =
+    Core.withObject
+      "TaskList"
+      ( \o ->
+          TaskList
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#taskList")
+            Core.<*> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "totalItems")
+      )
+
+instance Core.ToJSON TaskList where
+  toJSON TaskList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("totalItems" Core..=) Core.<$> totalItems
+          ]
+      )
+
+-- | Represents the contents of InfoWindow templates.
+--
+-- /See:/ 'newTemplate' smart constructor.
+data Template = Template
+  { -- | List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+    automaticColumnNames :: (Core.Maybe [Core.Text]),
+    -- | Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    body :: (Core.Maybe Core.Text),
+    -- | The kind of item this is. For a template, this is always fusiontables#template.
+    kind :: Core.Text,
+    -- | Optional name assigned to a template.
+    name :: (Core.Maybe Core.Text),
+    -- | Identifier for the table for which the template is defined.
+    tableId :: (Core.Maybe Core.Text),
+    -- | Identifier for the template, unique within the context of a particular table.
+    templateId :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Template' with the minimum fields required to make a request.
+newTemplate ::
+  Template
+newTemplate =
+  Template
+    { automaticColumnNames = Core.Nothing,
+      body = Core.Nothing,
+      kind = "fusiontables#template",
+      name = Core.Nothing,
+      tableId = Core.Nothing,
+      templateId = Core.Nothing
+    }
+
+instance Core.FromJSON Template where
+  parseJSON =
+    Core.withObject
+      "Template"
+      ( \o ->
+          Template
+            Core.<$> (o Core..:? "automaticColumnNames")
+            Core.<*> (o Core..:? "body")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#template")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "tableId")
+            Core.<*> (o Core..:? "templateId")
+      )
+
+instance Core.ToJSON Template where
+  toJSON Template {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("automaticColumnNames" Core..=) Core.<$> automaticColumnNames,
+            ("body" Core..=) Core.<$> body,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name,
+            ("tableId" Core..=) Core.<$> tableId,
+            ("templateId" Core..=) Core.<$> templateId
+          ]
+      )
+
+-- | Represents a list of templates for a given table.
+--
+-- /See:/ 'newTemplateList' smart constructor.
+data TemplateList = TemplateList
+  { -- | List of all requested templates.
+    items :: (Core.Maybe [Template]),
+    -- | The kind of item this is. For a template list, this is always fusiontables#templateList .
+    kind :: Core.Text,
+    -- | Token used to access the next page of this result. No token is displayed if there are no more pages left.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | Total number of templates for the table.
+    totalItems :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'TemplateList' with the minimum fields required to make a request.
+newTemplateList ::
+  TemplateList
+newTemplateList =
+  TemplateList
+    { items = Core.Nothing,
+      kind = "fusiontables#templateList",
+      nextPageToken = Core.Nothing,
+      totalItems = Core.Nothing
+    }
+
+instance Core.FromJSON TemplateList where
+  parseJSON =
+    Core.withObject
+      "TemplateList"
+      ( \o ->
+          TemplateList
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "fusiontables#templateList")
+            Core.<*> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "totalItems")
+      )
+
+instance Core.ToJSON TemplateList where
+  toJSON TemplateList {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("totalItems" Core..=) Core.<$> totalItems
+          ]
+      )
diff --git a/gen/Gogol/FusionTables/Internal/Sum.hs b/gen/Gogol/FusionTables/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Internal/Sum.hs
@@ -0,0 +1,31 @@
+{-# 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.FusionTables.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.FusionTables.Internal.Sum
+  (
+  )
+where
+
+import Gogol.Prelude qualified as Core
diff --git a/gen/Gogol/FusionTables/Query/Sql.hs b/gen/Gogol/FusionTables/Query/Sql.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Query/Sql.hs
@@ -0,0 +1,125 @@
+{-# 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.FusionTables.Query.Sql
+-- 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)
+--
+-- Executes a Fusion Tables SQL statement, which can be any of - SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.query.sql@.
+module Gogol.FusionTables.Query.Sql
+  ( -- * Resource
+    FusionTablesQuerySqlResource,
+
+    -- ** Constructing a Request
+    FusionTablesQuerySql (..),
+    newFusionTablesQuerySql,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.query.sql@ method which the
+-- 'FusionTablesQuerySql' request conforms to.
+type FusionTablesQuerySqlResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "query"
+    Core.:> Core.QueryParam "sql" Core.Text
+    Core.:> Core.QueryParam "hdrs" Core.Bool
+    Core.:> Core.QueryParam "typed" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Sqlresponse
+    Core.:<|> "fusiontables"
+    Core.:> "v2"
+    Core.:> "query"
+    Core.:> Core.QueryParam "sql" Core.Text
+    Core.:> Core.QueryParam "hdrs" Core.Bool
+    Core.:> Core.QueryParam "typed" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltMedia
+    Core.:> Core.Post '[Core.OctetStream] Core.Stream
+
+-- | Executes a Fusion Tables SQL statement, which can be any of - SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement.
+--
+-- /See:/ 'newFusionTablesQuerySql' smart constructor.
+data FusionTablesQuerySql = FusionTablesQuerySql
+  { -- | Whether column names are included in the first row. Default is true.
+    hdrs :: (Core.Maybe Core.Bool),
+    -- | A Fusion Tables SQL statement, which can be any of - SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE
+    sql :: Core.Text,
+    -- | Whether typed values are returned in the (JSON) response: numbers for numeric values and parsed geometries for KML values. Default is true.
+    typed :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesQuerySql' with the minimum fields required to make a request.
+newFusionTablesQuerySql ::
+  -- |  A Fusion Tables SQL statement, which can be any of - SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE See 'sql'.
+  Core.Text ->
+  FusionTablesQuerySql
+newFusionTablesQuerySql sql =
+  FusionTablesQuerySql
+    { hdrs = Core.Nothing,
+      sql = sql,
+      typed = Core.Nothing
+    }
+
+instance Core.GoogleRequest FusionTablesQuerySql where
+  type Rs FusionTablesQuerySql = Sqlresponse
+  type
+    Scopes FusionTablesQuerySql =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesQuerySql {..} =
+    go
+      (Core.Just sql)
+      hdrs
+      typed
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesQuerySqlResource)
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaDownload FusionTablesQuerySql)
+  where
+  type Rs (Core.MediaDownload FusionTablesQuerySql) = Core.Stream
+  type
+    Scopes (Core.MediaDownload FusionTablesQuerySql) =
+      Core.Scopes FusionTablesQuerySql
+  requestClient (Core.MediaDownload FusionTablesQuerySql {..}) =
+    go
+      (Core.Just sql)
+      hdrs
+      typed
+      (Core.Just Core.AltMedia)
+      fusionTablesService
+    where
+      _ Core.:<|> go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesQuerySqlResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Query/SqlGet.hs b/gen/Gogol/FusionTables/Query/SqlGet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Query/SqlGet.hs
@@ -0,0 +1,125 @@
+{-# 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.FusionTables.Query.SqlGet
+-- 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)
+--
+-- Executes a SQL statement which can be any of - SELECT - SHOW - DESCRIBE
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.query.sqlGet@.
+module Gogol.FusionTables.Query.SqlGet
+  ( -- * Resource
+    FusionTablesQuerySqlGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesQuerySqlGet (..),
+    newFusionTablesQuerySqlGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.query.sqlGet@ method which the
+-- 'FusionTablesQuerySqlGet' request conforms to.
+type FusionTablesQuerySqlGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "query"
+    Core.:> Core.QueryParam "sql" Core.Text
+    Core.:> Core.QueryParam "hdrs" Core.Bool
+    Core.:> Core.QueryParam "typed" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Sqlresponse
+    Core.:<|> "fusiontables"
+    Core.:> "v2"
+    Core.:> "query"
+    Core.:> Core.QueryParam "sql" Core.Text
+    Core.:> Core.QueryParam "hdrs" Core.Bool
+    Core.:> Core.QueryParam "typed" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltMedia
+    Core.:> Core.Get '[Core.OctetStream] Core.Stream
+
+-- | Executes a SQL statement which can be any of - SELECT - SHOW - DESCRIBE
+--
+-- /See:/ 'newFusionTablesQuerySqlGet' smart constructor.
+data FusionTablesQuerySqlGet = FusionTablesQuerySqlGet
+  { -- | Whether column names are included (in the first row). Default is true.
+    hdrs :: (Core.Maybe Core.Bool),
+    -- | A SQL statement which can be any of - SELECT - SHOW - DESCRIBE
+    sql :: Core.Text,
+    -- | Whether typed values are returned in the (JSON) response: numbers for numeric values and parsed geometries for KML values. Default is true.
+    typed :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesQuerySqlGet' with the minimum fields required to make a request.
+newFusionTablesQuerySqlGet ::
+  -- |  A SQL statement which can be any of - SELECT - SHOW - DESCRIBE See 'sql'.
+  Core.Text ->
+  FusionTablesQuerySqlGet
+newFusionTablesQuerySqlGet sql =
+  FusionTablesQuerySqlGet
+    { hdrs = Core.Nothing,
+      sql = sql,
+      typed = Core.Nothing
+    }
+
+instance Core.GoogleRequest FusionTablesQuerySqlGet where
+  type Rs FusionTablesQuerySqlGet = Sqlresponse
+  type
+    Scopes FusionTablesQuerySqlGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesQuerySqlGet {..} =
+    go
+      (Core.Just sql)
+      hdrs
+      typed
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesQuerySqlGetResource)
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaDownload FusionTablesQuerySqlGet)
+  where
+  type Rs (Core.MediaDownload FusionTablesQuerySqlGet) = Core.Stream
+  type
+    Scopes (Core.MediaDownload FusionTablesQuerySqlGet) =
+      Core.Scopes FusionTablesQuerySqlGet
+  requestClient (Core.MediaDownload FusionTablesQuerySqlGet {..}) =
+    go
+      (Core.Just sql)
+      hdrs
+      typed
+      (Core.Just Core.AltMedia)
+      fusionTablesService
+    where
+      _ Core.:<|> go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesQuerySqlGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/Delete.hs b/gen/Gogol/FusionTables/Style/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/Delete.hs
@@ -0,0 +1,85 @@
+{-# 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.FusionTables.Style.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a style.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.delete@.
+module Gogol.FusionTables.Style.Delete
+  ( -- * Resource
+    FusionTablesStyleDeleteResource,
+
+    -- ** Constructing a Request
+    FusionTablesStyleDelete (..),
+    newFusionTablesStyleDelete,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.delete@ method which the
+-- 'FusionTablesStyleDelete' request conforms to.
+type FusionTablesStyleDeleteResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.Capture "styleId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] ()
+
+-- | Deletes a style.
+--
+-- /See:/ 'newFusionTablesStyleDelete' smart constructor.
+data FusionTablesStyleDelete = FusionTablesStyleDelete
+  { -- | Identifier (within a table) for the style being deleted
+    styleId :: Core.Int32,
+    -- | Table from which the style is being deleted
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStyleDelete' with the minimum fields required to make a request.
+newFusionTablesStyleDelete ::
+  -- |  Identifier (within a table) for the style being deleted See 'styleId'.
+  Core.Int32 ->
+  -- |  Table from which the style is being deleted See 'tableId'.
+  Core.Text ->
+  FusionTablesStyleDelete
+newFusionTablesStyleDelete styleId tableId =
+  FusionTablesStyleDelete {styleId = styleId, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesStyleDelete where
+  type Rs FusionTablesStyleDelete = ()
+  type Scopes FusionTablesStyleDelete = '[Fusiontables'FullControl]
+  requestClient FusionTablesStyleDelete {..} =
+    go tableId styleId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStyleDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/Get.hs b/gen/Gogol/FusionTables/Style/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/Get.hs
@@ -0,0 +1,87 @@
+{-# 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.FusionTables.Style.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets a specific style.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.get@.
+module Gogol.FusionTables.Style.Get
+  ( -- * Resource
+    FusionTablesStyleGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesStyleGet (..),
+    newFusionTablesStyleGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.get@ method which the
+-- 'FusionTablesStyleGet' request conforms to.
+type FusionTablesStyleGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.Capture "styleId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] StyleSetting
+
+-- | Gets a specific style.
+--
+-- /See:/ 'newFusionTablesStyleGet' smart constructor.
+data FusionTablesStyleGet = FusionTablesStyleGet
+  { -- | Identifier (integer) for a specific style in a table
+    styleId :: Core.Int32,
+    -- | Table to which the requested style belongs
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStyleGet' with the minimum fields required to make a request.
+newFusionTablesStyleGet ::
+  -- |  Identifier (integer) for a specific style in a table See 'styleId'.
+  Core.Int32 ->
+  -- |  Table to which the requested style belongs See 'tableId'.
+  Core.Text ->
+  FusionTablesStyleGet
+newFusionTablesStyleGet styleId tableId =
+  FusionTablesStyleGet {styleId = styleId, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesStyleGet where
+  type Rs FusionTablesStyleGet = StyleSetting
+  type
+    Scopes FusionTablesStyleGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesStyleGet {..} =
+    go tableId styleId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStyleGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/Insert.hs b/gen/Gogol/FusionTables/Style/Insert.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/Insert.hs
@@ -0,0 +1,85 @@
+{-# 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.FusionTables.Style.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)
+--
+-- Adds a new style for the table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.insert@.
+module Gogol.FusionTables.Style.Insert
+  ( -- * Resource
+    FusionTablesStyleInsertResource,
+
+    -- ** Constructing a Request
+    FusionTablesStyleInsert (..),
+    newFusionTablesStyleInsert,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.insert@ method which the
+-- 'FusionTablesStyleInsert' request conforms to.
+type FusionTablesStyleInsertResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] StyleSetting
+    Core.:> Core.Post '[Core.JSON] StyleSetting
+
+-- | Adds a new style for the table.
+--
+-- /See:/ 'newFusionTablesStyleInsert' smart constructor.
+data FusionTablesStyleInsert = FusionTablesStyleInsert
+  { -- | Multipart request metadata.
+    payload :: StyleSetting,
+    -- | Table for which a new style is being added
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStyleInsert' with the minimum fields required to make a request.
+newFusionTablesStyleInsert ::
+  -- |  Multipart request metadata. See 'payload'.
+  StyleSetting ->
+  -- |  Table for which a new style is being added See 'tableId'.
+  Core.Text ->
+  FusionTablesStyleInsert
+newFusionTablesStyleInsert payload tableId =
+  FusionTablesStyleInsert {payload = payload, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesStyleInsert where
+  type Rs FusionTablesStyleInsert = StyleSetting
+  type Scopes FusionTablesStyleInsert = '[Fusiontables'FullControl]
+  requestClient FusionTablesStyleInsert {..} =
+    go tableId (Core.Just Core.AltJSON) payload fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStyleInsertResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/List.hs b/gen/Gogol/FusionTables/Style/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/List.hs
@@ -0,0 +1,97 @@
+{-# 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.FusionTables.Style.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of styles.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.list@.
+module Gogol.FusionTables.Style.List
+  ( -- * Resource
+    FusionTablesStyleListResource,
+
+    -- ** Constructing a Request
+    FusionTablesStyleList (..),
+    newFusionTablesStyleList,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.list@ method which the
+-- 'FusionTablesStyleList' request conforms to.
+type FusionTablesStyleListResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] StyleSettingList
+
+-- | Retrieves a list of styles.
+--
+-- /See:/ 'newFusionTablesStyleList' smart constructor.
+data FusionTablesStyleList = FusionTablesStyleList
+  { -- | Maximum number of styles to return. Optional. Default is 5.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Continuation token specifying which result page to return. Optional.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Table whose styles are being listed
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStyleList' with the minimum fields required to make a request.
+newFusionTablesStyleList ::
+  -- |  Table whose styles are being listed See 'tableId'.
+  Core.Text ->
+  FusionTablesStyleList
+newFusionTablesStyleList tableId =
+  FusionTablesStyleList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesStyleList where
+  type Rs FusionTablesStyleList = StyleSettingList
+  type
+    Scopes FusionTablesStyleList =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesStyleList {..} =
+    go
+      tableId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStyleListResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/Patch.hs b/gen/Gogol/FusionTables/Style/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/Patch.hs
@@ -0,0 +1,99 @@
+{-# 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.FusionTables.Style.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates an existing style. This method supports patch semantics.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.patch@.
+module Gogol.FusionTables.Style.Patch
+  ( -- * Resource
+    FusionTablesStylePatchResource,
+
+    -- ** Constructing a Request
+    FusionTablesStylePatch (..),
+    newFusionTablesStylePatch,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.patch@ method which the
+-- 'FusionTablesStylePatch' request conforms to.
+type FusionTablesStylePatchResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.Capture "styleId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] StyleSetting
+    Core.:> Core.Patch '[Core.JSON] StyleSetting
+
+-- | Updates an existing style. This method supports patch semantics.
+--
+-- /See:/ 'newFusionTablesStylePatch' smart constructor.
+data FusionTablesStylePatch = FusionTablesStylePatch
+  { -- | Multipart request metadata.
+    payload :: StyleSetting,
+    -- | Identifier (within a table) for the style being updated.
+    styleId :: Core.Int32,
+    -- | Table whose style is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStylePatch' with the minimum fields required to make a request.
+newFusionTablesStylePatch ::
+  -- |  Multipart request metadata. See 'payload'.
+  StyleSetting ->
+  -- |  Identifier (within a table) for the style being updated. See 'styleId'.
+  Core.Int32 ->
+  -- |  Table whose style is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesStylePatch
+newFusionTablesStylePatch payload styleId tableId =
+  FusionTablesStylePatch
+    { payload = payload,
+      styleId = styleId,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesStylePatch where
+  type Rs FusionTablesStylePatch = StyleSetting
+  type Scopes FusionTablesStylePatch = '[Fusiontables'FullControl]
+  requestClient FusionTablesStylePatch {..} =
+    go
+      tableId
+      styleId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStylePatchResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Style/Update.hs b/gen/Gogol/FusionTables/Style/Update.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Style/Update.hs
@@ -0,0 +1,99 @@
+{-# 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.FusionTables.Style.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)
+--
+-- Updates an existing style.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.update@.
+module Gogol.FusionTables.Style.Update
+  ( -- * Resource
+    FusionTablesStyleUpdateResource,
+
+    -- ** Constructing a Request
+    FusionTablesStyleUpdate (..),
+    newFusionTablesStyleUpdate,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.style.update@ method which the
+-- 'FusionTablesStyleUpdate' request conforms to.
+type FusionTablesStyleUpdateResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "styles"
+    Core.:> Core.Capture "styleId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] StyleSetting
+    Core.:> Core.Put '[Core.JSON] StyleSetting
+
+-- | Updates an existing style.
+--
+-- /See:/ 'newFusionTablesStyleUpdate' smart constructor.
+data FusionTablesStyleUpdate = FusionTablesStyleUpdate
+  { -- | Multipart request metadata.
+    payload :: StyleSetting,
+    -- | Identifier (within a table) for the style being updated.
+    styleId :: Core.Int32,
+    -- | Table whose style is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesStyleUpdate' with the minimum fields required to make a request.
+newFusionTablesStyleUpdate ::
+  -- |  Multipart request metadata. See 'payload'.
+  StyleSetting ->
+  -- |  Identifier (within a table) for the style being updated. See 'styleId'.
+  Core.Int32 ->
+  -- |  Table whose style is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesStyleUpdate
+newFusionTablesStyleUpdate payload styleId tableId =
+  FusionTablesStyleUpdate
+    { payload = payload,
+      styleId = styleId,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesStyleUpdate where
+  type Rs FusionTablesStyleUpdate = StyleSetting
+  type Scopes FusionTablesStyleUpdate = '[Fusiontables'FullControl]
+  requestClient FusionTablesStyleUpdate {..} =
+    go
+      tableId
+      styleId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesStyleUpdateResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Copy.hs b/gen/Gogol/FusionTables/Table/Copy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Copy.hs
@@ -0,0 +1,92 @@
+{-# 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.FusionTables.Table.Copy
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Copies a table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.copy@.
+module Gogol.FusionTables.Table.Copy
+  ( -- * Resource
+    FusionTablesTableCopyResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableCopy (..),
+    newFusionTablesTableCopy,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.copy@ method which the
+-- 'FusionTablesTableCopy' request conforms to.
+type FusionTablesTableCopyResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "copy"
+    Core.:> Core.QueryParam "copyPresentation" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Table
+
+-- | Copies a table.
+--
+-- /See:/ 'newFusionTablesTableCopy' smart constructor.
+data FusionTablesTableCopy = FusionTablesTableCopy
+  { -- | Whether to also copy tabs, styles, and templates. Default is false.
+    copyPresentation :: (Core.Maybe Core.Bool),
+    -- | ID of the table that is being copied.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableCopy' with the minimum fields required to make a request.
+newFusionTablesTableCopy ::
+  -- |  ID of the table that is being copied. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableCopy
+newFusionTablesTableCopy tableId =
+  FusionTablesTableCopy
+    { copyPresentation = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTableCopy where
+  type Rs FusionTablesTableCopy = Table
+  type
+    Scopes FusionTablesTableCopy =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTableCopy {..} =
+    go
+      tableId
+      copyPresentation
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableCopyResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Delete.hs b/gen/Gogol/FusionTables/Table/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Delete.hs
@@ -0,0 +1,79 @@
+{-# 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.FusionTables.Table.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.delete@.
+module Gogol.FusionTables.Table.Delete
+  ( -- * Resource
+    FusionTablesTableDeleteResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableDelete (..),
+    newFusionTablesTableDelete,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.delete@ method which the
+-- 'FusionTablesTableDelete' request conforms to.
+type FusionTablesTableDeleteResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] ()
+
+-- | Deletes a table.
+--
+-- /See:/ 'newFusionTablesTableDelete' smart constructor.
+newtype FusionTablesTableDelete = FusionTablesTableDelete
+  { -- | ID of the table to be deleted.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableDelete' with the minimum fields required to make a request.
+newFusionTablesTableDelete ::
+  -- |  ID of the table to be deleted. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableDelete
+newFusionTablesTableDelete tableId =
+  FusionTablesTableDelete {tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesTableDelete where
+  type Rs FusionTablesTableDelete = ()
+  type Scopes FusionTablesTableDelete = '[Fusiontables'FullControl]
+  requestClient FusionTablesTableDelete {..} =
+    go tableId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Get.hs b/gen/Gogol/FusionTables/Table/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Get.hs
@@ -0,0 +1,81 @@
+{-# 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.FusionTables.Table.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)
+--
+-- Retrieves a specific table by its ID.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.get@.
+module Gogol.FusionTables.Table.Get
+  ( -- * Resource
+    FusionTablesTableGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableGet (..),
+    newFusionTablesTableGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.get@ method which the
+-- 'FusionTablesTableGet' request conforms to.
+type FusionTablesTableGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Table
+
+-- | Retrieves a specific table by its ID.
+--
+-- /See:/ 'newFusionTablesTableGet' smart constructor.
+newtype FusionTablesTableGet = FusionTablesTableGet
+  { -- | Identifier for the table being requested.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableGet' with the minimum fields required to make a request.
+newFusionTablesTableGet ::
+  -- |  Identifier for the table being requested. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableGet
+newFusionTablesTableGet tableId =
+  FusionTablesTableGet {tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesTableGet where
+  type Rs FusionTablesTableGet = Table
+  type
+    Scopes FusionTablesTableGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTableGet {..} =
+    go tableId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/ImportRows.hs b/gen/Gogol/FusionTables/Table/ImportRows.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/ImportRows.hs
@@ -0,0 +1,154 @@
+{-# 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.FusionTables.Table.ImportRows
+-- 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)
+--
+-- Imports more rows into a table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.importRows@.
+module Gogol.FusionTables.Table.ImportRows
+  ( -- * Resource
+    FusionTablesTableImportRowsResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableImportRows (..),
+    newFusionTablesTableImportRows,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.importRows@ method which the
+-- 'FusionTablesTableImportRows' request conforms to.
+type FusionTablesTableImportRowsResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "import"
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "endLine" Core.Int32
+    Core.:> Core.QueryParam "isStrict" Core.Bool
+    Core.:> Core.QueryParam "startLine" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Import
+    Core.:<|> "upload"
+    Core.:> "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "import"
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "endLine" Core.Int32
+    Core.:> Core.QueryParam "isStrict" Core.Bool
+    Core.:> Core.QueryParam "startLine" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.QueryParam "uploadType" Core.AltMedia
+    Core.:> Core.AltMedia
+    Core.:> Core.Post '[Core.JSON] Import
+
+-- | Imports more rows into a table.
+--
+-- /See:/ 'newFusionTablesTableImportRows' smart constructor.
+data FusionTablesTableImportRows = FusionTablesTableImportRows
+  { -- | The delimiter used to separate cell values. This can only consist of a single character. Default is ,.
+    delimiter :: (Core.Maybe Core.Text),
+    -- | The encoding of the content. Default is UTF-8. Use auto-detect if you are unsure of the encoding.
+    encoding :: (Core.Maybe Core.Text),
+    -- | The index of the line up to which data will be imported. Default is to import the entire file. If endLine is negative, it is an offset from the end of the file; the imported content will exclude the last endLine lines.
+    endLine :: (Core.Maybe Core.Int32),
+    -- | Whether the imported CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true.
+    isStrict :: (Core.Maybe Core.Bool),
+    -- | The index of the first line from which to start importing, inclusive. Default is 0.
+    startLine :: (Core.Maybe Core.Int32),
+    -- | The table into which new rows are being imported.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableImportRows' with the minimum fields required to make a request.
+newFusionTablesTableImportRows ::
+  -- |  The table into which new rows are being imported. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableImportRows
+newFusionTablesTableImportRows tableId =
+  FusionTablesTableImportRows
+    { delimiter = Core.Nothing,
+      encoding = Core.Nothing,
+      endLine = Core.Nothing,
+      isStrict = Core.Nothing,
+      startLine = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTableImportRows where
+  type Rs FusionTablesTableImportRows = Import
+  type
+    Scopes FusionTablesTableImportRows =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTableImportRows {..} =
+    go
+      tableId
+      delimiter
+      encoding
+      endLine
+      isStrict
+      startLine
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableImportRowsResource)
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaUpload FusionTablesTableImportRows)
+  where
+  type Rs (Core.MediaUpload FusionTablesTableImportRows) = Import
+  type
+    Scopes (Core.MediaUpload FusionTablesTableImportRows) =
+      Core.Scopes FusionTablesTableImportRows
+  requestClient
+    (Core.MediaUpload FusionTablesTableImportRows {..} body) =
+      go
+        tableId
+        delimiter
+        encoding
+        endLine
+        isStrict
+        startLine
+        (Core.Just Core.AltJSON)
+        (Core.Just Core.AltMedia)
+        body
+        fusionTablesService
+      where
+        _ Core.:<|> go =
+          Core.buildClient
+            (Core.Proxy :: Core.Proxy FusionTablesTableImportRowsResource)
+            Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/ImportTable.hs b/gen/Gogol/FusionTables/Table/ImportTable.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/ImportTable.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.FusionTables.Table.ImportTable
+-- 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)
+--
+-- Imports a new table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.importTable@.
+module Gogol.FusionTables.Table.ImportTable
+  ( -- * Resource
+    FusionTablesTableImportTableResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableImportTable (..),
+    newFusionTablesTableImportTable,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.importTable@ method which the
+-- 'FusionTablesTableImportTable' request conforms to.
+type FusionTablesTableImportTableResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> "import"
+    Core.:> Core.QueryParam "name" Core.Text
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Table
+    Core.:<|> "upload"
+    Core.:> "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> "import"
+    Core.:> Core.QueryParam "name" Core.Text
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.QueryParam "uploadType" Core.AltMedia
+    Core.:> Core.AltMedia
+    Core.:> Core.Post '[Core.JSON] Table
+
+-- | Imports a new table.
+--
+-- /See:/ 'newFusionTablesTableImportTable' smart constructor.
+data FusionTablesTableImportTable = FusionTablesTableImportTable
+  { -- | The delimiter used to separate cell values. This can only consist of a single character. Default is ,.
+    delimiter :: (Core.Maybe Core.Text),
+    -- | The encoding of the content. Default is UTF-8. Use auto-detect if you are unsure of the encoding.
+    encoding :: (Core.Maybe Core.Text),
+    -- | The name to be assigned to the new table.
+    name :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableImportTable' with the minimum fields required to make a request.
+newFusionTablesTableImportTable ::
+  -- |  The name to be assigned to the new table. See 'name'.
+  Core.Text ->
+  FusionTablesTableImportTable
+newFusionTablesTableImportTable name =
+  FusionTablesTableImportTable
+    { delimiter = Core.Nothing,
+      encoding = Core.Nothing,
+      name = name
+    }
+
+instance Core.GoogleRequest FusionTablesTableImportTable where
+  type Rs FusionTablesTableImportTable = Table
+  type
+    Scopes FusionTablesTableImportTable =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTableImportTable {..} =
+    go
+      (Core.Just name)
+      delimiter
+      encoding
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableImportTableResource)
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaUpload FusionTablesTableImportTable)
+  where
+  type Rs (Core.MediaUpload FusionTablesTableImportTable) = Table
+  type
+    Scopes (Core.MediaUpload FusionTablesTableImportTable) =
+      Core.Scopes FusionTablesTableImportTable
+  requestClient
+    (Core.MediaUpload FusionTablesTableImportTable {..} body) =
+      go
+        (Core.Just name)
+        delimiter
+        encoding
+        (Core.Just Core.AltJSON)
+        (Core.Just Core.AltMedia)
+        body
+        fusionTablesService
+      where
+        _ Core.:<|> go =
+          Core.buildClient
+            (Core.Proxy :: Core.Proxy FusionTablesTableImportTableResource)
+            Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Insert.hs b/gen/Gogol/FusionTables/Table/Insert.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Insert.hs
@@ -0,0 +1,79 @@
+{-# 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.FusionTables.Table.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)
+--
+-- Creates a new table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.insert@.
+module Gogol.FusionTables.Table.Insert
+  ( -- * Resource
+    FusionTablesTableInsertResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableInsert (..),
+    newFusionTablesTableInsert,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.insert@ method which the
+-- 'FusionTablesTableInsert' request conforms to.
+type FusionTablesTableInsertResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Table
+    Core.:> Core.Post '[Core.JSON] Table
+
+-- | Creates a new table.
+--
+-- /See:/ 'newFusionTablesTableInsert' smart constructor.
+newtype FusionTablesTableInsert = FusionTablesTableInsert
+  { -- | Multipart request metadata.
+    payload :: Table
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableInsert' with the minimum fields required to make a request.
+newFusionTablesTableInsert ::
+  -- |  Multipart request metadata. See 'payload'.
+  Table ->
+  FusionTablesTableInsert
+newFusionTablesTableInsert payload =
+  FusionTablesTableInsert {payload = payload}
+
+instance Core.GoogleRequest FusionTablesTableInsert where
+  type Rs FusionTablesTableInsert = Table
+  type Scopes FusionTablesTableInsert = '[Fusiontables'FullControl]
+  requestClient FusionTablesTableInsert {..} =
+    go (Core.Just Core.AltJSON) payload fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableInsertResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/List.hs b/gen/Gogol/FusionTables/Table/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/List.hs
@@ -0,0 +1,89 @@
+{-# 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.FusionTables.Table.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of tables a user owns.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.list@.
+module Gogol.FusionTables.Table.List
+  ( -- * Resource
+    FusionTablesTableListResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableList (..),
+    newFusionTablesTableList,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.list@ method which the
+-- 'FusionTablesTableList' request conforms to.
+type FusionTablesTableListResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] TableList
+
+-- | Retrieves a list of tables a user owns.
+--
+-- /See:/ 'newFusionTablesTableList' smart constructor.
+data FusionTablesTableList = FusionTablesTableList
+  { -- | Maximum number of tables to return. Default is 5.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Continuation token specifying which result page to return.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableList' with the minimum fields required to make a request.
+newFusionTablesTableList ::
+  FusionTablesTableList
+newFusionTablesTableList =
+  FusionTablesTableList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance Core.GoogleRequest FusionTablesTableList where
+  type Rs FusionTablesTableList = TableList
+  type
+    Scopes FusionTablesTableList =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTableList {..} =
+    go
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableListResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Patch.hs b/gen/Gogol/FusionTables/Table/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Patch.hs
@@ -0,0 +1,96 @@
+{-# 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.FusionTables.Table.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.patch@.
+module Gogol.FusionTables.Table.Patch
+  ( -- * Resource
+    FusionTablesTablePatchResource,
+
+    -- ** Constructing a Request
+    FusionTablesTablePatch (..),
+    newFusionTablesTablePatch,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.patch@ method which the
+-- 'FusionTablesTablePatch' request conforms to.
+type FusionTablesTablePatchResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> Core.QueryParam "replaceViewDefinition" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Table
+    Core.:> Core.Patch '[Core.JSON] Table
+
+-- | Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.
+--
+-- /See:/ 'newFusionTablesTablePatch' smart constructor.
+data FusionTablesTablePatch = FusionTablesTablePatch
+  { -- | Multipart request metadata.
+    payload :: Table,
+    -- | Whether the view definition is also updated. The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+    replaceViewDefinition :: (Core.Maybe Core.Bool),
+    -- | ID of the table that is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTablePatch' with the minimum fields required to make a request.
+newFusionTablesTablePatch ::
+  -- |  Multipart request metadata. See 'payload'.
+  Table ->
+  -- |  ID of the table that is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesTablePatch
+newFusionTablesTablePatch payload tableId =
+  FusionTablesTablePatch
+    { payload = payload,
+      replaceViewDefinition = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTablePatch where
+  type Rs FusionTablesTablePatch = Table
+  type Scopes FusionTablesTablePatch = '[Fusiontables'FullControl]
+  requestClient FusionTablesTablePatch {..} =
+    go
+      tableId
+      replaceViewDefinition
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTablePatchResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/RefetchSheet.hs b/gen/Gogol/FusionTables/Table/RefetchSheet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/RefetchSheet.hs
@@ -0,0 +1,82 @@
+{-# 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.FusionTables.Table.RefetchSheet
+-- 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)
+--
+-- Replaces rows of the table with the rows of the spreadsheet that is first imported from. Current rows remain visible until all replacement rows are ready.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.refetchSheet@.
+module Gogol.FusionTables.Table.RefetchSheet
+  ( -- * Resource
+    FusionTablesTableRefetchSheetResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableRefetchSheet (..),
+    newFusionTablesTableRefetchSheet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.refetchSheet@ method which the
+-- 'FusionTablesTableRefetchSheet' request conforms to.
+type FusionTablesTableRefetchSheetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "refetch"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Task
+
+-- | Replaces rows of the table with the rows of the spreadsheet that is first imported from. Current rows remain visible until all replacement rows are ready.
+--
+-- /See:/ 'newFusionTablesTableRefetchSheet' smart constructor.
+newtype FusionTablesTableRefetchSheet = FusionTablesTableRefetchSheet
+  { -- | Table whose rows will be replaced from the spreadsheet.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableRefetchSheet' with the minimum fields required to make a request.
+newFusionTablesTableRefetchSheet ::
+  -- |  Table whose rows will be replaced from the spreadsheet. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableRefetchSheet
+newFusionTablesTableRefetchSheet tableId =
+  FusionTablesTableRefetchSheet {tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesTableRefetchSheet where
+  type Rs FusionTablesTableRefetchSheet = Task
+  type
+    Scopes FusionTablesTableRefetchSheet =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTableRefetchSheet {..} =
+    go tableId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableRefetchSheetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/ReplaceRows.hs b/gen/Gogol/FusionTables/Table/ReplaceRows.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/ReplaceRows.hs
@@ -0,0 +1,154 @@
+{-# 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.FusionTables.Table.ReplaceRows
+-- 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)
+--
+-- Replaces rows of an existing table. Current rows remain visible until all replacement rows are ready.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.replaceRows@.
+module Gogol.FusionTables.Table.ReplaceRows
+  ( -- * Resource
+    FusionTablesTableReplaceRowsResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableReplaceRows (..),
+    newFusionTablesTableReplaceRows,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.replaceRows@ method which the
+-- 'FusionTablesTableReplaceRows' request conforms to.
+type FusionTablesTableReplaceRowsResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "replace"
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "endLine" Core.Int32
+    Core.:> Core.QueryParam "isStrict" Core.Bool
+    Core.:> Core.QueryParam "startLine" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Post '[Core.JSON] Task
+    Core.:<|> "upload"
+    Core.:> "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "replace"
+    Core.:> Core.QueryParam "delimiter" Core.Text
+    Core.:> Core.QueryParam "encoding" Core.Text
+    Core.:> Core.QueryParam "endLine" Core.Int32
+    Core.:> Core.QueryParam "isStrict" Core.Bool
+    Core.:> Core.QueryParam "startLine" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.QueryParam "uploadType" Core.AltMedia
+    Core.:> Core.AltMedia
+    Core.:> Core.Post '[Core.JSON] Task
+
+-- | Replaces rows of an existing table. Current rows remain visible until all replacement rows are ready.
+--
+-- /See:/ 'newFusionTablesTableReplaceRows' smart constructor.
+data FusionTablesTableReplaceRows = FusionTablesTableReplaceRows
+  { -- | The delimiter used to separate cell values. This can only consist of a single character. Default is ,.
+    delimiter :: (Core.Maybe Core.Text),
+    -- | The encoding of the content. Default is UTF-8. Use \'auto-detect\' if you are unsure of the encoding.
+    encoding :: (Core.Maybe Core.Text),
+    -- | The index of the line up to which data will be imported. Default is to import the entire file. If endLine is negative, it is an offset from the end of the file; the imported content will exclude the last endLine lines.
+    endLine :: (Core.Maybe Core.Int32),
+    -- | Whether the imported CSV must have the same number of column values for each row. If true, throws an exception if the CSV does not have the same number of columns. If false, rows with fewer column values will be padded with empty values. Default is true.
+    isStrict :: (Core.Maybe Core.Bool),
+    -- | The index of the first line from which to start importing, inclusive. Default is 0.
+    startLine :: (Core.Maybe Core.Int32),
+    -- | Table whose rows will be replaced.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableReplaceRows' with the minimum fields required to make a request.
+newFusionTablesTableReplaceRows ::
+  -- |  Table whose rows will be replaced. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableReplaceRows
+newFusionTablesTableReplaceRows tableId =
+  FusionTablesTableReplaceRows
+    { delimiter = Core.Nothing,
+      encoding = Core.Nothing,
+      endLine = Core.Nothing,
+      isStrict = Core.Nothing,
+      startLine = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTableReplaceRows where
+  type Rs FusionTablesTableReplaceRows = Task
+  type
+    Scopes FusionTablesTableReplaceRows =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTableReplaceRows {..} =
+    go
+      tableId
+      delimiter
+      encoding
+      endLine
+      isStrict
+      startLine
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableReplaceRowsResource)
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaUpload FusionTablesTableReplaceRows)
+  where
+  type Rs (Core.MediaUpload FusionTablesTableReplaceRows) = Task
+  type
+    Scopes (Core.MediaUpload FusionTablesTableReplaceRows) =
+      Core.Scopes FusionTablesTableReplaceRows
+  requestClient
+    (Core.MediaUpload FusionTablesTableReplaceRows {..} body) =
+      go
+        tableId
+        delimiter
+        encoding
+        endLine
+        isStrict
+        startLine
+        (Core.Just Core.AltJSON)
+        (Core.Just Core.AltMedia)
+        body
+        fusionTablesService
+      where
+        _ Core.:<|> go =
+          Core.buildClient
+            (Core.Proxy :: Core.Proxy FusionTablesTableReplaceRowsResource)
+            Core.mempty
diff --git a/gen/Gogol/FusionTables/Table/Update.hs b/gen/Gogol/FusionTables/Table/Update.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Table/Update.hs
@@ -0,0 +1,96 @@
+{-# 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.FusionTables.Table.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)
+--
+-- Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.update@.
+module Gogol.FusionTables.Table.Update
+  ( -- * Resource
+    FusionTablesTableUpdateResource,
+
+    -- ** Constructing a Request
+    FusionTablesTableUpdate (..),
+    newFusionTablesTableUpdate,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.table.update@ method which the
+-- 'FusionTablesTableUpdate' request conforms to.
+type FusionTablesTableUpdateResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> Core.QueryParam "replaceViewDefinition" Core.Bool
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Table
+    Core.:> Core.Put '[Core.JSON] Table
+
+-- | Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.
+--
+-- /See:/ 'newFusionTablesTableUpdate' smart constructor.
+data FusionTablesTableUpdate = FusionTablesTableUpdate
+  { -- | Multipart request metadata.
+    payload :: Table,
+    -- | Whether the view definition is also updated. The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+    replaceViewDefinition :: (Core.Maybe Core.Bool),
+    -- | ID of the table that is being updated.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTableUpdate' with the minimum fields required to make a request.
+newFusionTablesTableUpdate ::
+  -- |  Multipart request metadata. See 'payload'.
+  Table ->
+  -- |  ID of the table that is being updated. See 'tableId'.
+  Core.Text ->
+  FusionTablesTableUpdate
+newFusionTablesTableUpdate payload tableId =
+  FusionTablesTableUpdate
+    { payload = payload,
+      replaceViewDefinition = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTableUpdate where
+  type Rs FusionTablesTableUpdate = Table
+  type Scopes FusionTablesTableUpdate = '[Fusiontables'FullControl]
+  requestClient FusionTablesTableUpdate {..} =
+    go
+      tableId
+      replaceViewDefinition
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTableUpdateResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Task/Delete.hs b/gen/Gogol/FusionTables/Task/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Task/Delete.hs
@@ -0,0 +1,85 @@
+{-# 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.FusionTables.Task.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a specific task by its ID, unless that task has already started running.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.delete@.
+module Gogol.FusionTables.Task.Delete
+  ( -- * Resource
+    FusionTablesTaskDeleteResource,
+
+    -- ** Constructing a Request
+    FusionTablesTaskDelete (..),
+    newFusionTablesTaskDelete,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.task.delete@ method which the
+-- 'FusionTablesTaskDelete' request conforms to.
+type FusionTablesTaskDeleteResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "tasks"
+    Core.:> Core.Capture "taskId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] ()
+
+-- | Deletes a specific task by its ID, unless that task has already started running.
+--
+-- /See:/ 'newFusionTablesTaskDelete' smart constructor.
+data FusionTablesTaskDelete = FusionTablesTaskDelete
+  { -- | Table from which the task is being deleted.
+    tableId :: Core.Text,
+    -- | The identifier of the task to delete.
+    taskId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTaskDelete' with the minimum fields required to make a request.
+newFusionTablesTaskDelete ::
+  -- |  Table from which the task is being deleted. See 'tableId'.
+  Core.Text ->
+  -- |  The identifier of the task to delete. See 'taskId'.
+  Core.Text ->
+  FusionTablesTaskDelete
+newFusionTablesTaskDelete tableId taskId =
+  FusionTablesTaskDelete {tableId = tableId, taskId = taskId}
+
+instance Core.GoogleRequest FusionTablesTaskDelete where
+  type Rs FusionTablesTaskDelete = ()
+  type Scopes FusionTablesTaskDelete = '[Fusiontables'FullControl]
+  requestClient FusionTablesTaskDelete {..} =
+    go tableId taskId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTaskDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Task/Get.hs b/gen/Gogol/FusionTables/Task/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Task/Get.hs
@@ -0,0 +1,87 @@
+{-# 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.FusionTables.Task.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)
+--
+-- Retrieves a specific task by its ID.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.get@.
+module Gogol.FusionTables.Task.Get
+  ( -- * Resource
+    FusionTablesTaskGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesTaskGet (..),
+    newFusionTablesTaskGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.task.get@ method which the
+-- 'FusionTablesTaskGet' request conforms to.
+type FusionTablesTaskGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "tasks"
+    Core.:> Core.Capture "taskId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Task
+
+-- | Retrieves a specific task by its ID.
+--
+-- /See:/ 'newFusionTablesTaskGet' smart constructor.
+data FusionTablesTaskGet = FusionTablesTaskGet
+  { -- | Table to which the task belongs.
+    tableId :: Core.Text,
+    -- | The identifier of the task to get.
+    taskId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTaskGet' with the minimum fields required to make a request.
+newFusionTablesTaskGet ::
+  -- |  Table to which the task belongs. See 'tableId'.
+  Core.Text ->
+  -- |  The identifier of the task to get. See 'taskId'.
+  Core.Text ->
+  FusionTablesTaskGet
+newFusionTablesTaskGet tableId taskId =
+  FusionTablesTaskGet {tableId = tableId, taskId = taskId}
+
+instance Core.GoogleRequest FusionTablesTaskGet where
+  type Rs FusionTablesTaskGet = Task
+  type
+    Scopes FusionTablesTaskGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTaskGet {..} =
+    go tableId taskId (Core.Just Core.AltJSON) fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTaskGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Task/List.hs b/gen/Gogol/FusionTables/Task/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Task/List.hs
@@ -0,0 +1,102 @@
+{-# 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.FusionTables.Task.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of tasks.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.list@.
+module Gogol.FusionTables.Task.List
+  ( -- * Resource
+    FusionTablesTaskListResource,
+
+    -- ** Constructing a Request
+    FusionTablesTaskList (..),
+    newFusionTablesTaskList,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.task.list@ method which the
+-- 'FusionTablesTaskList' request conforms to.
+type FusionTablesTaskListResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "tasks"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "startIndex" Core.Word32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] TaskList
+
+-- | Retrieves a list of tasks.
+--
+-- /See:/ 'newFusionTablesTaskList' smart constructor.
+data FusionTablesTaskList = FusionTablesTaskList
+  { -- | Maximum number of tasks to return. Default is 5.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Continuation token specifying which result page to return.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Index of the first result returned in the current page.
+    startIndex :: (Core.Maybe Core.Word32),
+    -- | Table whose tasks are being listed.
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTaskList' with the minimum fields required to make a request.
+newFusionTablesTaskList ::
+  -- |  Table whose tasks are being listed. See 'tableId'.
+  Core.Text ->
+  FusionTablesTaskList
+newFusionTablesTaskList tableId =
+  FusionTablesTaskList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing,
+      startIndex = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTaskList where
+  type Rs FusionTablesTaskList = TaskList
+  type
+    Scopes FusionTablesTaskList =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTaskList {..} =
+    go
+      tableId
+      maxResults
+      pageToken
+      startIndex
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTaskListResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/Delete.hs b/gen/Gogol/FusionTables/Template/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/Delete.hs
@@ -0,0 +1,94 @@
+{-# 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.FusionTables.Template.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a template
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.delete@.
+module Gogol.FusionTables.Template.Delete
+  ( -- * Resource
+    FusionTablesTemplateDeleteResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplateDelete (..),
+    newFusionTablesTemplateDelete,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.delete@ method which the
+-- 'FusionTablesTemplateDelete' request conforms to.
+type FusionTablesTemplateDeleteResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.Capture "templateId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] ()
+
+-- | Deletes a template
+--
+-- /See:/ 'newFusionTablesTemplateDelete' smart constructor.
+data FusionTablesTemplateDelete = FusionTablesTemplateDelete
+  { -- | Table from which the template is being deleted
+    tableId :: Core.Text,
+    -- | Identifier for the template which is being deleted
+    templateId :: Core.Int32
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplateDelete' with the minimum fields required to make a request.
+newFusionTablesTemplateDelete ::
+  -- |  Table from which the template is being deleted See 'tableId'.
+  Core.Text ->
+  -- |  Identifier for the template which is being deleted See 'templateId'.
+  Core.Int32 ->
+  FusionTablesTemplateDelete
+newFusionTablesTemplateDelete tableId templateId =
+  FusionTablesTemplateDelete
+    { tableId = tableId,
+      templateId = templateId
+    }
+
+instance Core.GoogleRequest FusionTablesTemplateDelete where
+  type Rs FusionTablesTemplateDelete = ()
+  type
+    Scopes FusionTablesTemplateDelete =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTemplateDelete {..} =
+    go
+      tableId
+      templateId
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplateDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/Get.hs b/gen/Gogol/FusionTables/Template/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/Get.hs
@@ -0,0 +1,94 @@
+{-# 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.FusionTables.Template.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)
+--
+-- Retrieves a specific template by its id
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.get@.
+module Gogol.FusionTables.Template.Get
+  ( -- * Resource
+    FusionTablesTemplateGetResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplateGet (..),
+    newFusionTablesTemplateGet,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.get@ method which the
+-- 'FusionTablesTemplateGet' request conforms to.
+type FusionTablesTemplateGetResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.Capture "templateId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Template
+
+-- | Retrieves a specific template by its id
+--
+-- /See:/ 'newFusionTablesTemplateGet' smart constructor.
+data FusionTablesTemplateGet = FusionTablesTemplateGet
+  { -- | Table to which the template belongs
+    tableId :: Core.Text,
+    -- | Identifier for the template that is being requested
+    templateId :: Core.Int32
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplateGet' with the minimum fields required to make a request.
+newFusionTablesTemplateGet ::
+  -- |  Table to which the template belongs See 'tableId'.
+  Core.Text ->
+  -- |  Identifier for the template that is being requested See 'templateId'.
+  Core.Int32 ->
+  FusionTablesTemplateGet
+newFusionTablesTemplateGet tableId templateId =
+  FusionTablesTemplateGet
+    { tableId = tableId,
+      templateId = templateId
+    }
+
+instance Core.GoogleRequest FusionTablesTemplateGet where
+  type Rs FusionTablesTemplateGet = Template
+  type
+    Scopes FusionTablesTemplateGet =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTemplateGet {..} =
+    go
+      tableId
+      templateId
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplateGetResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/Insert.hs b/gen/Gogol/FusionTables/Template/Insert.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/Insert.hs
@@ -0,0 +1,87 @@
+{-# 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.FusionTables.Template.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)
+--
+-- Creates a new template for the table.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.insert@.
+module Gogol.FusionTables.Template.Insert
+  ( -- * Resource
+    FusionTablesTemplateInsertResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplateInsert (..),
+    newFusionTablesTemplateInsert,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.insert@ method which the
+-- 'FusionTablesTemplateInsert' request conforms to.
+type FusionTablesTemplateInsertResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Template
+    Core.:> Core.Post '[Core.JSON] Template
+
+-- | Creates a new template for the table.
+--
+-- /See:/ 'newFusionTablesTemplateInsert' smart constructor.
+data FusionTablesTemplateInsert = FusionTablesTemplateInsert
+  { -- | Multipart request metadata.
+    payload :: Template,
+    -- | Table for which a new template is being created
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplateInsert' with the minimum fields required to make a request.
+newFusionTablesTemplateInsert ::
+  -- |  Multipart request metadata. See 'payload'.
+  Template ->
+  -- |  Table for which a new template is being created See 'tableId'.
+  Core.Text ->
+  FusionTablesTemplateInsert
+newFusionTablesTemplateInsert payload tableId =
+  FusionTablesTemplateInsert {payload = payload, tableId = tableId}
+
+instance Core.GoogleRequest FusionTablesTemplateInsert where
+  type Rs FusionTablesTemplateInsert = Template
+  type
+    Scopes FusionTablesTemplateInsert =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTemplateInsert {..} =
+    go tableId (Core.Just Core.AltJSON) payload fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplateInsertResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/List.hs b/gen/Gogol/FusionTables/Template/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/List.hs
@@ -0,0 +1,97 @@
+{-# 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.FusionTables.Template.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of templates.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.list@.
+module Gogol.FusionTables.Template.List
+  ( -- * Resource
+    FusionTablesTemplateListResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplateList (..),
+    newFusionTablesTemplateList,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.list@ method which the
+-- 'FusionTablesTemplateList' request conforms to.
+type FusionTablesTemplateListResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] TemplateList
+
+-- | Retrieves a list of templates.
+--
+-- /See:/ 'newFusionTablesTemplateList' smart constructor.
+data FusionTablesTemplateList = FusionTablesTemplateList
+  { -- | Maximum number of templates to return. Optional. Default is 5.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Continuation token specifying which results page to return. Optional.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Identifier for the table whose templates are being requested
+    tableId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplateList' with the minimum fields required to make a request.
+newFusionTablesTemplateList ::
+  -- |  Identifier for the table whose templates are being requested See 'tableId'.
+  Core.Text ->
+  FusionTablesTemplateList
+newFusionTablesTemplateList tableId =
+  FusionTablesTemplateList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing,
+      tableId = tableId
+    }
+
+instance Core.GoogleRequest FusionTablesTemplateList where
+  type Rs FusionTablesTemplateList = TemplateList
+  type
+    Scopes FusionTablesTemplateList =
+      '[Fusiontables'FullControl, Fusiontables'Readonly]
+  requestClient FusionTablesTemplateList {..} =
+    go
+      tableId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplateListResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/Patch.hs b/gen/Gogol/FusionTables/Template/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/Patch.hs
@@ -0,0 +1,99 @@
+{-# 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.FusionTables.Template.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates an existing template. This method supports patch semantics.
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.patch@.
+module Gogol.FusionTables.Template.Patch
+  ( -- * Resource
+    FusionTablesTemplatePatchResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplatePatch (..),
+    newFusionTablesTemplatePatch,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.patch@ method which the
+-- 'FusionTablesTemplatePatch' request conforms to.
+type FusionTablesTemplatePatchResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.Capture "templateId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Template
+    Core.:> Core.Patch '[Core.JSON] Template
+
+-- | Updates an existing template. This method supports patch semantics.
+--
+-- /See:/ 'newFusionTablesTemplatePatch' smart constructor.
+data FusionTablesTemplatePatch = FusionTablesTemplatePatch
+  { -- | Multipart request metadata.
+    payload :: Template,
+    -- | Table to which the updated template belongs
+    tableId :: Core.Text,
+    -- | Identifier for the template that is being updated
+    templateId :: Core.Int32
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplatePatch' with the minimum fields required to make a request.
+newFusionTablesTemplatePatch ::
+  -- |  Multipart request metadata. See 'payload'.
+  Template ->
+  -- |  Table to which the updated template belongs See 'tableId'.
+  Core.Text ->
+  -- |  Identifier for the template that is being updated See 'templateId'.
+  Core.Int32 ->
+  FusionTablesTemplatePatch
+newFusionTablesTemplatePatch payload tableId templateId =
+  FusionTablesTemplatePatch
+    { payload = payload,
+      tableId = tableId,
+      templateId = templateId
+    }
+
+instance Core.GoogleRequest FusionTablesTemplatePatch where
+  type Rs FusionTablesTemplatePatch = Template
+  type Scopes FusionTablesTemplatePatch = '[Fusiontables'FullControl]
+  requestClient FusionTablesTemplatePatch {..} =
+    go
+      tableId
+      templateId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplatePatchResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Template/Update.hs b/gen/Gogol/FusionTables/Template/Update.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Template/Update.hs
@@ -0,0 +1,101 @@
+{-# 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.FusionTables.Template.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)
+--
+-- Updates an existing template
+--
+-- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.update@.
+module Gogol.FusionTables.Template.Update
+  ( -- * Resource
+    FusionTablesTemplateUpdateResource,
+
+    -- ** Constructing a Request
+    FusionTablesTemplateUpdate (..),
+    newFusionTablesTemplateUpdate,
+  )
+where
+
+import Gogol.FusionTables.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @fusiontables.template.update@ method which the
+-- 'FusionTablesTemplateUpdate' request conforms to.
+type FusionTablesTemplateUpdateResource =
+  "fusiontables"
+    Core.:> "v2"
+    Core.:> "tables"
+    Core.:> Core.Capture "tableId" Core.Text
+    Core.:> "templates"
+    Core.:> Core.Capture "templateId" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Template
+    Core.:> Core.Put '[Core.JSON] Template
+
+-- | Updates an existing template
+--
+-- /See:/ 'newFusionTablesTemplateUpdate' smart constructor.
+data FusionTablesTemplateUpdate = FusionTablesTemplateUpdate
+  { -- | Multipart request metadata.
+    payload :: Template,
+    -- | Table to which the updated template belongs
+    tableId :: Core.Text,
+    -- | Identifier for the template that is being updated
+    templateId :: Core.Int32
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FusionTablesTemplateUpdate' with the minimum fields required to make a request.
+newFusionTablesTemplateUpdate ::
+  -- |  Multipart request metadata. See 'payload'.
+  Template ->
+  -- |  Table to which the updated template belongs See 'tableId'.
+  Core.Text ->
+  -- |  Identifier for the template that is being updated See 'templateId'.
+  Core.Int32 ->
+  FusionTablesTemplateUpdate
+newFusionTablesTemplateUpdate payload tableId templateId =
+  FusionTablesTemplateUpdate
+    { payload = payload,
+      tableId = tableId,
+      templateId = templateId
+    }
+
+instance Core.GoogleRequest FusionTablesTemplateUpdate where
+  type Rs FusionTablesTemplateUpdate = Template
+  type
+    Scopes FusionTablesTemplateUpdate =
+      '[Fusiontables'FullControl]
+  requestClient FusionTablesTemplateUpdate {..} =
+    go
+      tableId
+      templateId
+      (Core.Just Core.AltJSON)
+      payload
+      fusionTablesService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy FusionTablesTemplateUpdateResource)
+          Core.mempty
diff --git a/gen/Gogol/FusionTables/Types.hs b/gen/Gogol/FusionTables/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/FusionTables/Types.hs
@@ -0,0 +1,151 @@
+{-# 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.FusionTables.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.FusionTables.Types
+  ( -- * Configuration
+    fusionTablesService,
+
+    -- * OAuth Scopes
+    Fusiontables'FullControl,
+    Fusiontables'Readonly,
+
+    -- * Types
+
+    -- ** Bucket
+    Bucket (..),
+    newBucket,
+
+    -- ** Column
+    Column (..),
+    newColumn,
+
+    -- ** Column_BaseColumn
+    Column_BaseColumn (..),
+    newColumn_BaseColumn,
+
+    -- ** ColumnList
+    ColumnList (..),
+    newColumnList,
+
+    -- ** Geometry
+    Geometry (..),
+    newGeometry,
+
+    -- ** Import
+    Import (..),
+    newImport,
+
+    -- ** Line
+    Line (..),
+    newLine,
+
+    -- ** LineStyle
+    LineStyle (..),
+    newLineStyle,
+
+    -- ** Point
+    Point (..),
+    newPoint,
+
+    -- ** PointStyle
+    PointStyle (..),
+    newPointStyle,
+
+    -- ** Polygon
+    Polygon (..),
+    newPolygon,
+
+    -- ** PolygonStyle
+    PolygonStyle (..),
+    newPolygonStyle,
+
+    -- ** Sqlresponse
+    Sqlresponse (..),
+    newSqlresponse,
+
+    -- ** StyleFunction
+    StyleFunction (..),
+    newStyleFunction,
+
+    -- ** StyleFunction_Gradient
+    StyleFunction_Gradient (..),
+    newStyleFunction_Gradient,
+
+    -- ** StyleFunction_Gradient_ColorsItem
+    StyleFunction_Gradient_ColorsItem (..),
+    newStyleFunction_Gradient_ColorsItem,
+
+    -- ** StyleSetting
+    StyleSetting (..),
+    newStyleSetting,
+
+    -- ** StyleSettingList
+    StyleSettingList (..),
+    newStyleSettingList,
+
+    -- ** Table
+    Table (..),
+    newTable,
+
+    -- ** TableList
+    TableList (..),
+    newTableList,
+
+    -- ** Task
+    Task (..),
+    newTask,
+
+    -- ** TaskList
+    TaskList (..),
+    newTaskList,
+
+    -- ** Template
+    Template (..),
+    newTemplate,
+
+    -- ** TemplateList
+    TemplateList (..),
+    newTemplateList,
+  )
+where
+
+import Gogol.FusionTables.Internal.Product
+import Gogol.FusionTables.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v2@ of the Fusion Tables API. This contains the host and root path used as a starting point for constructing service requests.
+fusionTablesService :: Core.ServiceConfig
+fusionTablesService =
+  Core.defaultService
+    (Core.ServiceId "fusiontables:v2")
+    "www.googleapis.com"
+
+-- | Manage your Fusion Tables
+type Fusiontables'FullControl =
+  "https://www.googleapis.com/auth/fusiontables"
+
+-- | View your Fusion Tables
+type Fusiontables'Readonly =
+  "https://www.googleapis.com/auth/fusiontables.readonly"
diff --git a/gen/Network/Google/FusionTables.hs b/gen/Network/Google/FusionTables.hs
deleted file mode 100644
--- a/gen/Network/Google/FusionTables.hs
+++ /dev/null
@@ -1,417 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.FusionTables
--- 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)
---
--- API for working with Fusion Tables data.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference>
-module Network.Google.FusionTables
-    (
-    -- * Service Configuration
-      fusionTablesService
-
-    -- * OAuth Scopes
-    , fusionTablesReadOnlyScope
-    , fusionTablesScope
-
-    -- * API Declaration
-    , FusionTablesAPI
-
-    -- * Resources
-
-    -- ** fusiontables.column.delete
-    , module Network.Google.Resource.FusionTables.Column.Delete
-
-    -- ** fusiontables.column.get
-    , module Network.Google.Resource.FusionTables.Column.Get
-
-    -- ** fusiontables.column.insert
-    , module Network.Google.Resource.FusionTables.Column.Insert
-
-    -- ** fusiontables.column.list
-    , module Network.Google.Resource.FusionTables.Column.List
-
-    -- ** fusiontables.column.patch
-    , module Network.Google.Resource.FusionTables.Column.Patch
-
-    -- ** fusiontables.column.update
-    , module Network.Google.Resource.FusionTables.Column.Update
-
-    -- ** fusiontables.query.sql
-    , module Network.Google.Resource.FusionTables.Query.SQL
-
-    -- ** fusiontables.query.sqlGet
-    , module Network.Google.Resource.FusionTables.Query.SQLGet
-
-    -- ** fusiontables.style.delete
-    , module Network.Google.Resource.FusionTables.Style.Delete
-
-    -- ** fusiontables.style.get
-    , module Network.Google.Resource.FusionTables.Style.Get
-
-    -- ** fusiontables.style.insert
-    , module Network.Google.Resource.FusionTables.Style.Insert
-
-    -- ** fusiontables.style.list
-    , module Network.Google.Resource.FusionTables.Style.List
-
-    -- ** fusiontables.style.patch
-    , module Network.Google.Resource.FusionTables.Style.Patch
-
-    -- ** fusiontables.style.update
-    , module Network.Google.Resource.FusionTables.Style.Update
-
-    -- ** fusiontables.table.copy
-    , module Network.Google.Resource.FusionTables.Table.Copy
-
-    -- ** fusiontables.table.delete
-    , module Network.Google.Resource.FusionTables.Table.Delete
-
-    -- ** fusiontables.table.get
-    , module Network.Google.Resource.FusionTables.Table.Get
-
-    -- ** fusiontables.table.importRows
-    , module Network.Google.Resource.FusionTables.Table.ImportRows
-
-    -- ** fusiontables.table.importTable
-    , module Network.Google.Resource.FusionTables.Table.ImportTable
-
-    -- ** fusiontables.table.insert
-    , module Network.Google.Resource.FusionTables.Table.Insert
-
-    -- ** fusiontables.table.list
-    , module Network.Google.Resource.FusionTables.Table.List
-
-    -- ** fusiontables.table.patch
-    , module Network.Google.Resource.FusionTables.Table.Patch
-
-    -- ** fusiontables.table.refetchSheet
-    , module Network.Google.Resource.FusionTables.Table.RefetchSheet
-
-    -- ** fusiontables.table.replaceRows
-    , module Network.Google.Resource.FusionTables.Table.ReplaceRows
-
-    -- ** fusiontables.table.update
-    , module Network.Google.Resource.FusionTables.Table.Update
-
-    -- ** fusiontables.task.delete
-    , module Network.Google.Resource.FusionTables.Task.Delete
-
-    -- ** fusiontables.task.get
-    , module Network.Google.Resource.FusionTables.Task.Get
-
-    -- ** fusiontables.task.list
-    , module Network.Google.Resource.FusionTables.Task.List
-
-    -- ** fusiontables.template.delete
-    , module Network.Google.Resource.FusionTables.Template.Delete
-
-    -- ** fusiontables.template.get
-    , module Network.Google.Resource.FusionTables.Template.Get
-
-    -- ** fusiontables.template.insert
-    , module Network.Google.Resource.FusionTables.Template.Insert
-
-    -- ** fusiontables.template.list
-    , module Network.Google.Resource.FusionTables.Template.List
-
-    -- ** fusiontables.template.patch
-    , module Network.Google.Resource.FusionTables.Template.Patch
-
-    -- ** fusiontables.template.update
-    , module Network.Google.Resource.FusionTables.Template.Update
-
-    -- * Types
-
-    -- ** ColumnList
-    , ColumnList
-    , columnList
-    , clTotalItems
-    , clNextPageToken
-    , clKind
-    , clItems
-
-    -- ** TableList
-    , TableList
-    , tableList
-    , tlNextPageToken
-    , tlKind
-    , tlItems
-
-    -- ** StyleFunction
-    , StyleFunction
-    , styleFunction
-    , sfBuckets
-    , sfKind
-    , sfGradient
-    , sfColumnName
-
-    -- ** ColumnBaseColumn
-    , ColumnBaseColumn
-    , columnBaseColumn
-    , cbcTableIndex
-    , cbcColumnId
-
-    -- ** SQLresponse
-    , SQLresponse
-    , sQLresponse
-    , sqlKind
-    , sqlRows
-    , sqlColumns
-
-    -- ** StyleFunctionGradientColorsItem
-    , StyleFunctionGradientColorsItem
-    , styleFunctionGradientColorsItem
-    , sfgciColor
-    , sfgciOpacity
-
-    -- ** StyleSettingList
-    , StyleSettingList
-    , styleSettingList
-    , sslTotalItems
-    , sslNextPageToken
-    , sslKind
-    , sslItems
-
-    -- ** Bucket
-    , Bucket
-    , bucket
-    , bMax
-    , bColor
-    , bWeight
-    , bIcon
-    , bOpacity
-    , bMin
-
-    -- ** Line
-    , Line
-    , line
-    , lCoordinates
-    , lType
-
-    -- ** StyleSetting
-    , StyleSetting
-    , styleSetting
-    , ssPolylineOptions
-    , ssPolygonOptions
-    , ssMarkerOptions
-    , ssKind
-    , ssName
-    , ssStyleId
-    , ssTableId
-
-    -- ** Point
-    , Point
-    , point
-    , pCoordinates
-    , pType
-
-    -- ** Polygon
-    , Polygon
-    , polygon
-    , polCoordinates
-    , polType
-
-    -- ** TaskList
-    , TaskList
-    , taskList
-    , tTotalItems
-    , tNextPageToken
-    , tKind
-    , tItems
-
-    -- ** Geometry
-    , Geometry
-    , geometry
-    , gGeometries
-    , gGeometry
-    , gType
-
-    -- ** TemplateList
-    , TemplateList
-    , templateList
-    , temTotalItems
-    , temNextPageToken
-    , temKind
-    , temItems
-
-    -- ** Import
-    , Import
-    , import'
-    , iKind
-    , iNumRowsReceived
-
-    -- ** Task
-    , Task
-    , task
-    , tasProgress
-    , tasTaskId
-    , tasKind
-    , tasType
-    , tasStarted
-
-    -- ** Template
-    , Template
-    , template
-    , ttAutomaticColumnNames
-    , ttTemplateId
-    , ttKind
-    , ttBody
-    , ttName
-    , ttTableId
-
-    -- ** PointStyle
-    , PointStyle
-    , pointStyle
-    , psIconName
-    , psIconStyler
-
-    -- ** PolygonStyle
-    , PolygonStyle
-    , polygonStyle
-    , psFillColorStyler
-    , psFillColor
-    , psStrokeColorStyler
-    , psStrokeWeight
-    , psStrokeOpacity
-    , psFillOpacity
-    , psStrokeWeightStyler
-    , psStrokeColor
-
-    -- ** StyleFunctionGradient
-    , StyleFunctionGradient
-    , styleFunctionGradient
-    , sfgMax
-    , sfgMin
-    , sfgColors
-
-    -- ** Column
-    , Column
-    , column
-    , cColumnJSONSchema
-    , cGraphPredicate
-    , cKind
-    , cBaseColumn
-    , cColumnPropertiesJSON
-    , cName
-    , cType
-    , cFormatPattern
-    , cColumnId
-    , cValidValues
-    , cValidateData
-    , cDescription
-
-    -- ** Table
-    , Table
-    , table
-    , tabaIsExportable
-    , tabaKind
-    , tabaColumnPropertiesJSONSchema
-    , tabaTablePropertiesJSONSchema
-    , tabaName
-    , tabaTablePropertiesJSON
-    , tabaColumns
-    , tabaBaseTableIds
-    , tabaTableId
-    , tabaSQL
-    , tabaDescription
-    , tabaAttribution
-    , tabaAttributionLink
-
-    -- ** LineStyle
-    , LineStyle
-    , lineStyle
-    , lsStrokeColorStyler
-    , lsStrokeWeight
-    , lsStrokeOpacity
-    , lsStrokeWeightStyler
-    , lsStrokeColor
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.FusionTables.Column.Delete
-import           Network.Google.Resource.FusionTables.Column.Get
-import           Network.Google.Resource.FusionTables.Column.Insert
-import           Network.Google.Resource.FusionTables.Column.List
-import           Network.Google.Resource.FusionTables.Column.Patch
-import           Network.Google.Resource.FusionTables.Column.Update
-import           Network.Google.Resource.FusionTables.Query.SQL
-import           Network.Google.Resource.FusionTables.Query.SQLGet
-import           Network.Google.Resource.FusionTables.Style.Delete
-import           Network.Google.Resource.FusionTables.Style.Get
-import           Network.Google.Resource.FusionTables.Style.Insert
-import           Network.Google.Resource.FusionTables.Style.List
-import           Network.Google.Resource.FusionTables.Style.Patch
-import           Network.Google.Resource.FusionTables.Style.Update
-import           Network.Google.Resource.FusionTables.Table.Copy
-import           Network.Google.Resource.FusionTables.Table.Delete
-import           Network.Google.Resource.FusionTables.Table.Get
-import           Network.Google.Resource.FusionTables.Table.ImportRows
-import           Network.Google.Resource.FusionTables.Table.ImportTable
-import           Network.Google.Resource.FusionTables.Table.Insert
-import           Network.Google.Resource.FusionTables.Table.List
-import           Network.Google.Resource.FusionTables.Table.Patch
-import           Network.Google.Resource.FusionTables.Table.RefetchSheet
-import           Network.Google.Resource.FusionTables.Table.ReplaceRows
-import           Network.Google.Resource.FusionTables.Table.Update
-import           Network.Google.Resource.FusionTables.Task.Delete
-import           Network.Google.Resource.FusionTables.Task.Get
-import           Network.Google.Resource.FusionTables.Task.List
-import           Network.Google.Resource.FusionTables.Template.Delete
-import           Network.Google.Resource.FusionTables.Template.Get
-import           Network.Google.Resource.FusionTables.Template.Insert
-import           Network.Google.Resource.FusionTables.Template.List
-import           Network.Google.Resource.FusionTables.Template.Patch
-import           Network.Google.Resource.FusionTables.Template.Update
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the Fusion Tables API service.
-type FusionTablesAPI =
-     StyleInsertResource :<|> StyleListResource :<|>
-       StylePatchResource
-       :<|> StyleGetResource
-       :<|> StyleDeleteResource
-       :<|> StyleUpdateResource
-       :<|> QuerySQLGetResource
-       :<|> QuerySQLResource
-       :<|> TaskListResource
-       :<|> TaskGetResource
-       :<|> TaskDeleteResource
-       :<|> TemplateInsertResource
-       :<|> TemplateListResource
-       :<|> TemplatePatchResource
-       :<|> TemplateGetResource
-       :<|> TemplateDeleteResource
-       :<|> TemplateUpdateResource
-       :<|> ColumnInsertResource
-       :<|> ColumnListResource
-       :<|> ColumnPatchResource
-       :<|> ColumnGetResource
-       :<|> ColumnDeleteResource
-       :<|> ColumnUpdateResource
-       :<|> TableRefetchSheetResource
-       :<|> TableInsertResource
-       :<|> TableListResource
-       :<|> TableCopyResource
-       :<|> TableReplaceRowsResource
-       :<|> TableImportTableResource
-       :<|> TablePatchResource
-       :<|> TableGetResource
-       :<|> TableImportRowsResource
-       :<|> TableDeleteResource
-       :<|> TableUpdateResource
diff --git a/gen/Network/Google/FusionTables/Types.hs b/gen/Network/Google/FusionTables/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/FusionTables/Types.hs
+++ /dev/null
@@ -1,247 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.FusionTables.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.FusionTables.Types
-    (
-    -- * Service Configuration
-      fusionTablesService
-
-    -- * OAuth Scopes
-    , fusionTablesReadOnlyScope
-    , fusionTablesScope
-
-    -- * ColumnList
-    , ColumnList
-    , columnList
-    , clTotalItems
-    , clNextPageToken
-    , clKind
-    , clItems
-
-    -- * TableList
-    , TableList
-    , tableList
-    , tlNextPageToken
-    , tlKind
-    , tlItems
-
-    -- * StyleFunction
-    , StyleFunction
-    , styleFunction
-    , sfBuckets
-    , sfKind
-    , sfGradient
-    , sfColumnName
-
-    -- * ColumnBaseColumn
-    , ColumnBaseColumn
-    , columnBaseColumn
-    , cbcTableIndex
-    , cbcColumnId
-
-    -- * SQLresponse
-    , SQLresponse
-    , sQLresponse
-    , sqlKind
-    , sqlRows
-    , sqlColumns
-
-    -- * StyleFunctionGradientColorsItem
-    , StyleFunctionGradientColorsItem
-    , styleFunctionGradientColorsItem
-    , sfgciColor
-    , sfgciOpacity
-
-    -- * StyleSettingList
-    , StyleSettingList
-    , styleSettingList
-    , sslTotalItems
-    , sslNextPageToken
-    , sslKind
-    , sslItems
-
-    -- * Bucket
-    , Bucket
-    , bucket
-    , bMax
-    , bColor
-    , bWeight
-    , bIcon
-    , bOpacity
-    , bMin
-
-    -- * Line
-    , Line
-    , line
-    , lCoordinates
-    , lType
-
-    -- * StyleSetting
-    , StyleSetting
-    , styleSetting
-    , ssPolylineOptions
-    , ssPolygonOptions
-    , ssMarkerOptions
-    , ssKind
-    , ssName
-    , ssStyleId
-    , ssTableId
-
-    -- * Point
-    , Point
-    , point
-    , pCoordinates
-    , pType
-
-    -- * Polygon
-    , Polygon
-    , polygon
-    , polCoordinates
-    , polType
-
-    -- * TaskList
-    , TaskList
-    , taskList
-    , tTotalItems
-    , tNextPageToken
-    , tKind
-    , tItems
-
-    -- * Geometry
-    , Geometry
-    , geometry
-    , gGeometries
-    , gGeometry
-    , gType
-
-    -- * TemplateList
-    , TemplateList
-    , templateList
-    , temTotalItems
-    , temNextPageToken
-    , temKind
-    , temItems
-
-    -- * Import
-    , Import
-    , import'
-    , iKind
-    , iNumRowsReceived
-
-    -- * Task
-    , Task
-    , task
-    , tasProgress
-    , tasTaskId
-    , tasKind
-    , tasType
-    , tasStarted
-
-    -- * Template
-    , Template
-    , template
-    , ttAutomaticColumnNames
-    , ttTemplateId
-    , ttKind
-    , ttBody
-    , ttName
-    , ttTableId
-
-    -- * PointStyle
-    , PointStyle
-    , pointStyle
-    , psIconName
-    , psIconStyler
-
-    -- * PolygonStyle
-    , PolygonStyle
-    , polygonStyle
-    , psFillColorStyler
-    , psFillColor
-    , psStrokeColorStyler
-    , psStrokeWeight
-    , psStrokeOpacity
-    , psFillOpacity
-    , psStrokeWeightStyler
-    , psStrokeColor
-
-    -- * StyleFunctionGradient
-    , StyleFunctionGradient
-    , styleFunctionGradient
-    , sfgMax
-    , sfgMin
-    , sfgColors
-
-    -- * Column
-    , Column
-    , column
-    , cColumnJSONSchema
-    , cGraphPredicate
-    , cKind
-    , cBaseColumn
-    , cColumnPropertiesJSON
-    , cName
-    , cType
-    , cFormatPattern
-    , cColumnId
-    , cValidValues
-    , cValidateData
-    , cDescription
-
-    -- * Table
-    , Table
-    , table
-    , tabaIsExportable
-    , tabaKind
-    , tabaColumnPropertiesJSONSchema
-    , tabaTablePropertiesJSONSchema
-    , tabaName
-    , tabaTablePropertiesJSON
-    , tabaColumns
-    , tabaBaseTableIds
-    , tabaTableId
-    , tabaSQL
-    , tabaDescription
-    , tabaAttribution
-    , tabaAttributionLink
-
-    -- * LineStyle
-    , LineStyle
-    , lineStyle
-    , lsStrokeColorStyler
-    , lsStrokeWeight
-    , lsStrokeOpacity
-    , lsStrokeWeightStyler
-    , lsStrokeColor
-    ) where
-
-import           Network.Google.FusionTables.Types.Product
-import           Network.Google.FusionTables.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v2' of the Fusion Tables API. This contains the host and root path used as a starting point for constructing service requests.
-fusionTablesService :: ServiceConfig
-fusionTablesService
-  = defaultService (ServiceId "fusiontables:v2")
-      "www.googleapis.com"
-
--- | View your Fusion Tables
-fusionTablesReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/fusiontables.readonly"]
-fusionTablesReadOnlyScope = Proxy
-
--- | Manage your Fusion Tables
-fusionTablesScope :: Proxy '["https://www.googleapis.com/auth/fusiontables"]
-fusionTablesScope = Proxy
diff --git a/gen/Network/Google/FusionTables/Types/Product.hs b/gen/Network/Google/FusionTables/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/FusionTables/Types/Product.hs
+++ /dev/null
@@ -1,2024 +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.FusionTables.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.FusionTables.Types.Product where
-
-import           Network.Google.FusionTables.Types.Sum
-import           Network.Google.Prelude
-
--- | Represents a list of columns in a table.
---
--- /See:/ 'columnList' smart constructor.
-data ColumnList =
-  ColumnList'
-    { _clTotalItems    :: !(Maybe (Textual Int32))
-    , _clNextPageToken :: !(Maybe Text)
-    , _clKind          :: !Text
-    , _clItems         :: !(Maybe [Column])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'clTotalItems'
---
--- * 'clNextPageToken'
---
--- * 'clKind'
---
--- * 'clItems'
-columnList
-    :: ColumnList
-columnList =
-  ColumnList'
-    { _clTotalItems = Nothing
-    , _clNextPageToken = Nothing
-    , _clKind = "fusiontables#columnList"
-    , _clItems = Nothing
-    }
-
-
--- | Total number of columns for the table.
-clTotalItems :: Lens' ColumnList (Maybe Int32)
-clTotalItems
-  = lens _clTotalItems (\ s a -> s{_clTotalItems = a})
-      . mapping _Coerce
-
--- | Token used to access the next page of this result. No token is displayed
--- if there are no more pages left.
-clNextPageToken :: Lens' ColumnList (Maybe Text)
-clNextPageToken
-  = lens _clNextPageToken
-      (\ s a -> s{_clNextPageToken = a})
-
--- | The kind of item this is. For a column list, this is always
--- fusiontables#columnList.
-clKind :: Lens' ColumnList Text
-clKind = lens _clKind (\ s a -> s{_clKind = a})
-
--- | List of all requested columns.
-clItems :: Lens' ColumnList [Column]
-clItems
-  = lens _clItems (\ s a -> s{_clItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON ColumnList where
-        parseJSON
-          = withObject "ColumnList"
-              (\ o ->
-                 ColumnList' <$>
-                   (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "fusiontables#columnList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON ColumnList where
-        toJSON ColumnList'{..}
-          = object
-              (catMaybes
-                 [("totalItems" .=) <$> _clTotalItems,
-                  ("nextPageToken" .=) <$> _clNextPageToken,
-                  Just ("kind" .= _clKind), ("items" .=) <$> _clItems])
-
--- | Represents a list of tables.
---
--- /See:/ 'tableList' smart constructor.
-data TableList =
-  TableList'
-    { _tlNextPageToken :: !(Maybe Text)
-    , _tlKind          :: !Text
-    , _tlItems         :: !(Maybe [Table])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tlNextPageToken'
---
--- * 'tlKind'
---
--- * 'tlItems'
-tableList
-    :: TableList
-tableList =
-  TableList'
-    { _tlNextPageToken = Nothing
-    , _tlKind = "fusiontables#tableList"
-    , _tlItems = Nothing
-    }
-
-
--- | Token used to access the next page of this result. No token is displayed
--- if there are no more pages left.
-tlNextPageToken :: Lens' TableList (Maybe Text)
-tlNextPageToken
-  = lens _tlNextPageToken
-      (\ s a -> s{_tlNextPageToken = a})
-
--- | The kind of item this is. For table list, this is always
--- fusiontables#tableList.
-tlKind :: Lens' TableList Text
-tlKind = lens _tlKind (\ s a -> s{_tlKind = a})
-
--- | List of all requested tables.
-tlItems :: Lens' TableList [Table]
-tlItems
-  = lens _tlItems (\ s a -> s{_tlItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON TableList where
-        parseJSON
-          = withObject "TableList"
-              (\ o ->
-                 TableList' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "fusiontables#tableList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON TableList where
-        toJSON TableList'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _tlNextPageToken,
-                  Just ("kind" .= _tlKind), ("items" .=) <$> _tlItems])
-
--- | Represents a StyleFunction within a StyleSetting
---
--- /See:/ 'styleFunction' smart constructor.
-data StyleFunction =
-  StyleFunction'
-    { _sfBuckets    :: !(Maybe [Bucket])
-    , _sfKind       :: !(Maybe Text)
-    , _sfGradient   :: !(Maybe StyleFunctionGradient)
-    , _sfColumnName :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleFunction' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sfBuckets'
---
--- * 'sfKind'
---
--- * 'sfGradient'
---
--- * 'sfColumnName'
-styleFunction
-    :: StyleFunction
-styleFunction =
-  StyleFunction'
-    { _sfBuckets = Nothing
-    , _sfKind = Nothing
-    , _sfGradient = Nothing
-    , _sfColumnName = Nothing
-    }
-
-
--- | Bucket function that assigns a style based on the range a column value
--- falls into.
-sfBuckets :: Lens' StyleFunction [Bucket]
-sfBuckets
-  = lens _sfBuckets (\ s a -> s{_sfBuckets = a}) .
-      _Default
-      . _Coerce
-
--- | Stylers can be one of three kinds: \"fusiontables#fromColumn if the
--- column value is to be used as is, i.e., the column values can have
--- colors in #RRGGBBAA format or integer line widths or icon names;
--- fusiontables#gradient if the styling of the row is to be based on
--- applying the gradient function on the column value; or
--- fusiontables#buckets if the styling is to based on the bucket into which
--- the the column value falls.
-sfKind :: Lens' StyleFunction (Maybe Text)
-sfKind = lens _sfKind (\ s a -> s{_sfKind = a})
-
--- | Gradient function that interpolates a range of colors based on column
--- value.
-sfGradient :: Lens' StyleFunction (Maybe StyleFunctionGradient)
-sfGradient
-  = lens _sfGradient (\ s a -> s{_sfGradient = a})
-
--- | Name of the column whose value is used in the style.
-sfColumnName :: Lens' StyleFunction (Maybe Text)
-sfColumnName
-  = lens _sfColumnName (\ s a -> s{_sfColumnName = a})
-
-instance FromJSON StyleFunction where
-        parseJSON
-          = withObject "StyleFunction"
-              (\ o ->
-                 StyleFunction' <$>
-                   (o .:? "buckets" .!= mempty) <*> (o .:? "kind") <*>
-                     (o .:? "gradient")
-                     <*> (o .:? "columnName"))
-
-instance ToJSON StyleFunction where
-        toJSON StyleFunction'{..}
-          = object
-              (catMaybes
-                 [("buckets" .=) <$> _sfBuckets,
-                  ("kind" .=) <$> _sfKind,
-                  ("gradient" .=) <$> _sfGradient,
-                  ("columnName" .=) <$> _sfColumnName])
-
--- | Identifier of the base column. If present, this column is derived from
--- the specified base column.
---
--- /See:/ 'columnBaseColumn' smart constructor.
-data ColumnBaseColumn =
-  ColumnBaseColumn'
-    { _cbcTableIndex :: !(Maybe (Textual Int32))
-    , _cbcColumnId   :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnBaseColumn' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cbcTableIndex'
---
--- * 'cbcColumnId'
-columnBaseColumn
-    :: ColumnBaseColumn
-columnBaseColumn =
-  ColumnBaseColumn' {_cbcTableIndex = Nothing, _cbcColumnId = Nothing}
-
-
--- | Offset to the entry in the list of base tables in the table definition.
-cbcTableIndex :: Lens' ColumnBaseColumn (Maybe Int32)
-cbcTableIndex
-  = lens _cbcTableIndex
-      (\ s a -> s{_cbcTableIndex = a})
-      . mapping _Coerce
-
--- | The id of the column in the base table from which this column is
--- derived.
-cbcColumnId :: Lens' ColumnBaseColumn (Maybe Int32)
-cbcColumnId
-  = lens _cbcColumnId (\ s a -> s{_cbcColumnId = a}) .
-      mapping _Coerce
-
-instance FromJSON ColumnBaseColumn where
-        parseJSON
-          = withObject "ColumnBaseColumn"
-              (\ o ->
-                 ColumnBaseColumn' <$>
-                   (o .:? "tableIndex") <*> (o .:? "columnId"))
-
-instance ToJSON ColumnBaseColumn where
-        toJSON ColumnBaseColumn'{..}
-          = object
-              (catMaybes
-                 [("tableIndex" .=) <$> _cbcTableIndex,
-                  ("columnId" .=) <$> _cbcColumnId])
-
--- | Represents a response to a SQL statement.
---
--- /See:/ 'sQLresponse' smart constructor.
-data SQLresponse =
-  SQLresponse'
-    { _sqlKind    :: !Text
-    , _sqlRows    :: !(Maybe [[JSONValue]])
-    , _sqlColumns :: !(Maybe [Text])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'SQLresponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sqlKind'
---
--- * 'sqlRows'
---
--- * 'sqlColumns'
-sQLresponse
-    :: SQLresponse
-sQLresponse =
-  SQLresponse'
-    { _sqlKind = "fusiontables#sqlresponse"
-    , _sqlRows = Nothing
-    , _sqlColumns = Nothing
-    }
-
-
--- | The kind of item this is. For responses to SQL queries, this is always
--- fusiontables#sqlresponse.
-sqlKind :: Lens' SQLresponse Text
-sqlKind = lens _sqlKind (\ s a -> s{_sqlKind = a})
-
--- | The rows in the table. For each cell we print out whatever cell value
--- (e.g., numeric, string) exists. Thus it is important that each cell
--- contains only one value.
-sqlRows :: Lens' SQLresponse [[JSONValue]]
-sqlRows
-  = lens _sqlRows (\ s a -> s{_sqlRows = a}) . _Default
-      . _Coerce
-
--- | Columns in the table.
-sqlColumns :: Lens' SQLresponse [Text]
-sqlColumns
-  = lens _sqlColumns (\ s a -> s{_sqlColumns = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON SQLresponse where
-        parseJSON
-          = withObject "SQLresponse"
-              (\ o ->
-                 SQLresponse' <$>
-                   (o .:? "kind" .!= "fusiontables#sqlresponse") <*>
-                     (o .:? "rows" .!= mempty)
-                     <*> (o .:? "columns" .!= mempty))
-
-instance ToJSON SQLresponse where
-        toJSON SQLresponse'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _sqlKind), ("rows" .=) <$> _sqlRows,
-                  ("columns" .=) <$> _sqlColumns])
-
---
--- /See:/ 'styleFunctionGradientColorsItem' smart constructor.
-data StyleFunctionGradientColorsItem =
-  StyleFunctionGradientColorsItem'
-    { _sfgciColor   :: !(Maybe Text)
-    , _sfgciOpacity :: !(Maybe (Textual Double))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleFunctionGradientColorsItem' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sfgciColor'
---
--- * 'sfgciOpacity'
-styleFunctionGradientColorsItem
-    :: StyleFunctionGradientColorsItem
-styleFunctionGradientColorsItem =
-  StyleFunctionGradientColorsItem'
-    {_sfgciColor = Nothing, _sfgciOpacity = Nothing}
-
-
--- | Color in #RRGGBB format.
-sfgciColor :: Lens' StyleFunctionGradientColorsItem (Maybe Text)
-sfgciColor
-  = lens _sfgciColor (\ s a -> s{_sfgciColor = a})
-
--- | Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-sfgciOpacity :: Lens' StyleFunctionGradientColorsItem (Maybe Double)
-sfgciOpacity
-  = lens _sfgciOpacity (\ s a -> s{_sfgciOpacity = a})
-      . mapping _Coerce
-
-instance FromJSON StyleFunctionGradientColorsItem
-         where
-        parseJSON
-          = withObject "StyleFunctionGradientColorsItem"
-              (\ o ->
-                 StyleFunctionGradientColorsItem' <$>
-                   (o .:? "color") <*> (o .:? "opacity"))
-
-instance ToJSON StyleFunctionGradientColorsItem where
-        toJSON StyleFunctionGradientColorsItem'{..}
-          = object
-              (catMaybes
-                 [("color" .=) <$> _sfgciColor,
-                  ("opacity" .=) <$> _sfgciOpacity])
-
--- | Represents a list of styles for a given table.
---
--- /See:/ 'styleSettingList' smart constructor.
-data StyleSettingList =
-  StyleSettingList'
-    { _sslTotalItems    :: !(Maybe (Textual Int32))
-    , _sslNextPageToken :: !(Maybe Text)
-    , _sslKind          :: !Text
-    , _sslItems         :: !(Maybe [StyleSetting])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleSettingList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sslTotalItems'
---
--- * 'sslNextPageToken'
---
--- * 'sslKind'
---
--- * 'sslItems'
-styleSettingList
-    :: StyleSettingList
-styleSettingList =
-  StyleSettingList'
-    { _sslTotalItems = Nothing
-    , _sslNextPageToken = Nothing
-    , _sslKind = "fusiontables#styleSettingList"
-    , _sslItems = Nothing
-    }
-
-
--- | Total number of styles for the table.
-sslTotalItems :: Lens' StyleSettingList (Maybe Int32)
-sslTotalItems
-  = lens _sslTotalItems
-      (\ s a -> s{_sslTotalItems = a})
-      . mapping _Coerce
-
--- | Token used to access the next page of this result. No token is displayed
--- if there are no more styles left.
-sslNextPageToken :: Lens' StyleSettingList (Maybe Text)
-sslNextPageToken
-  = lens _sslNextPageToken
-      (\ s a -> s{_sslNextPageToken = a})
-
--- | The kind of item this is. For a style list, this is always
--- fusiontables#styleSettingList .
-sslKind :: Lens' StyleSettingList Text
-sslKind = lens _sslKind (\ s a -> s{_sslKind = a})
-
--- | All requested style settings.
-sslItems :: Lens' StyleSettingList [StyleSetting]
-sslItems
-  = lens _sslItems (\ s a -> s{_sslItems = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON StyleSettingList where
-        parseJSON
-          = withObject "StyleSettingList"
-              (\ o ->
-                 StyleSettingList' <$>
-                   (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "fusiontables#styleSettingList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON StyleSettingList where
-        toJSON StyleSettingList'{..}
-          = object
-              (catMaybes
-                 [("totalItems" .=) <$> _sslTotalItems,
-                  ("nextPageToken" .=) <$> _sslNextPageToken,
-                  Just ("kind" .= _sslKind),
-                  ("items" .=) <$> _sslItems])
-
--- | Specifies the minimum and maximum values, the color, opacity, icon and
--- weight of a bucket within a StyleSetting.
---
--- /See:/ 'bucket' smart constructor.
-data Bucket =
-  Bucket'
-    { _bMax     :: !(Maybe (Textual Double))
-    , _bColor   :: !(Maybe Text)
-    , _bWeight  :: !(Maybe (Textual Int32))
-    , _bIcon    :: !(Maybe Text)
-    , _bOpacity :: !(Maybe (Textual Double))
-    , _bMin     :: !(Maybe (Textual Double))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Bucket' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bMax'
---
--- * 'bColor'
---
--- * 'bWeight'
---
--- * 'bIcon'
---
--- * 'bOpacity'
---
--- * 'bMin'
-bucket
-    :: Bucket
-bucket =
-  Bucket'
-    { _bMax = Nothing
-    , _bColor = Nothing
-    , _bWeight = Nothing
-    , _bIcon = Nothing
-    , _bOpacity = Nothing
-    , _bMin = Nothing
-    }
-
-
--- | Maximum value in the selected column for a row to be styled according to
--- the bucket color, opacity, icon, or weight.
-bMax :: Lens' Bucket (Maybe Double)
-bMax
-  = lens _bMax (\ s a -> s{_bMax = a}) .
-      mapping _Coerce
-
--- | Color of line or the interior of a polygon in #RRGGBB format.
-bColor :: Lens' Bucket (Maybe Text)
-bColor = lens _bColor (\ s a -> s{_bColor = a})
-
--- | Width of a line (in pixels).
-bWeight :: Lens' Bucket (Maybe Int32)
-bWeight
-  = lens _bWeight (\ s a -> s{_bWeight = a}) .
-      mapping _Coerce
-
--- | Icon name used for a point.
-bIcon :: Lens' Bucket (Maybe Text)
-bIcon = lens _bIcon (\ s a -> s{_bIcon = a})
-
--- | Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
-bOpacity :: Lens' Bucket (Maybe Double)
-bOpacity
-  = lens _bOpacity (\ s a -> s{_bOpacity = a}) .
-      mapping _Coerce
-
--- | Minimum value in the selected column for a row to be styled according to
--- the bucket color, opacity, icon, or weight.
-bMin :: Lens' Bucket (Maybe Double)
-bMin
-  = lens _bMin (\ s a -> s{_bMin = a}) .
-      mapping _Coerce
-
-instance FromJSON Bucket where
-        parseJSON
-          = withObject "Bucket"
-              (\ o ->
-                 Bucket' <$>
-                   (o .:? "max") <*> (o .:? "color") <*>
-                     (o .:? "weight")
-                     <*> (o .:? "icon")
-                     <*> (o .:? "opacity")
-                     <*> (o .:? "min"))
-
-instance ToJSON Bucket where
-        toJSON Bucket'{..}
-          = object
-              (catMaybes
-                 [("max" .=) <$> _bMax, ("color" .=) <$> _bColor,
-                  ("weight" .=) <$> _bWeight, ("icon" .=) <$> _bIcon,
-                  ("opacity" .=) <$> _bOpacity, ("min" .=) <$> _bMin])
-
--- | Represents a line geometry.
---
--- /See:/ 'line' smart constructor.
-data Line =
-  Line'
-    { _lCoordinates :: !(Maybe [[Textual Double]])
-    , _lType        :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Line' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lCoordinates'
---
--- * 'lType'
-line
-    :: Line
-line = Line' {_lCoordinates = Nothing, _lType = "LineString"}
-
-
--- | The coordinates that define the line.
-lCoordinates :: Lens' Line [[Double]]
-lCoordinates
-  = lens _lCoordinates (\ s a -> s{_lCoordinates = a})
-      . _Default
-      . _Coerce
-
--- | Type: A line geometry.
-lType :: Lens' Line Text
-lType = lens _lType (\ s a -> s{_lType = a})
-
-instance FromJSON Line where
-        parseJSON
-          = withObject "Line"
-              (\ o ->
-                 Line' <$>
-                   (o .:? "coordinates" .!= mempty) <*>
-                     (o .:? "type" .!= "LineString"))
-
-instance ToJSON Line where
-        toJSON Line'{..}
-          = object
-              (catMaybes
-                 [("coordinates" .=) <$> _lCoordinates,
-                  Just ("type" .= _lType)])
-
--- | Represents a complete StyleSettings object. The primary key is a
--- combination of the tableId and a styleId.
---
--- /See:/ 'styleSetting' smart constructor.
-data StyleSetting =
-  StyleSetting'
-    { _ssPolylineOptions :: !(Maybe LineStyle)
-    , _ssPolygonOptions  :: !(Maybe PolygonStyle)
-    , _ssMarkerOptions   :: !(Maybe PointStyle)
-    , _ssKind            :: !Text
-    , _ssName            :: !(Maybe Text)
-    , _ssStyleId         :: !(Maybe (Textual Int32))
-    , _ssTableId         :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleSetting' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ssPolylineOptions'
---
--- * 'ssPolygonOptions'
---
--- * 'ssMarkerOptions'
---
--- * 'ssKind'
---
--- * 'ssName'
---
--- * 'ssStyleId'
---
--- * 'ssTableId'
-styleSetting
-    :: StyleSetting
-styleSetting =
-  StyleSetting'
-    { _ssPolylineOptions = Nothing
-    , _ssPolygonOptions = Nothing
-    , _ssMarkerOptions = Nothing
-    , _ssKind = "fusiontables#styleSetting"
-    , _ssName = Nothing
-    , _ssStyleId = Nothing
-    , _ssTableId = Nothing
-    }
-
-
--- | Style definition for lines in the table.
-ssPolylineOptions :: Lens' StyleSetting (Maybe LineStyle)
-ssPolylineOptions
-  = lens _ssPolylineOptions
-      (\ s a -> s{_ssPolylineOptions = a})
-
--- | Style definition for polygons in the table.
-ssPolygonOptions :: Lens' StyleSetting (Maybe PolygonStyle)
-ssPolygonOptions
-  = lens _ssPolygonOptions
-      (\ s a -> s{_ssPolygonOptions = a})
-
--- | Style definition for points in the table.
-ssMarkerOptions :: Lens' StyleSetting (Maybe PointStyle)
-ssMarkerOptions
-  = lens _ssMarkerOptions
-      (\ s a -> s{_ssMarkerOptions = a})
-
--- | The kind of item this is. A StyleSetting contains the style definitions
--- for points, lines, and polygons in a table. Since a table can have any
--- one or all of them, a style definition can have point, line and polygon
--- style definitions.
-ssKind :: Lens' StyleSetting Text
-ssKind = lens _ssKind (\ s a -> s{_ssKind = a})
-
--- | Optional name for the style setting.
-ssName :: Lens' StyleSetting (Maybe Text)
-ssName = lens _ssName (\ s a -> s{_ssName = a})
-
--- | Identifier for the style setting (unique only within tables).
-ssStyleId :: Lens' StyleSetting (Maybe Int32)
-ssStyleId
-  = lens _ssStyleId (\ s a -> s{_ssStyleId = a}) .
-      mapping _Coerce
-
--- | Identifier for the table.
-ssTableId :: Lens' StyleSetting (Maybe Text)
-ssTableId
-  = lens _ssTableId (\ s a -> s{_ssTableId = a})
-
-instance FromJSON StyleSetting where
-        parseJSON
-          = withObject "StyleSetting"
-              (\ o ->
-                 StyleSetting' <$>
-                   (o .:? "polylineOptions") <*>
-                     (o .:? "polygonOptions")
-                     <*> (o .:? "markerOptions")
-                     <*> (o .:? "kind" .!= "fusiontables#styleSetting")
-                     <*> (o .:? "name")
-                     <*> (o .:? "styleId")
-                     <*> (o .:? "tableId"))
-
-instance ToJSON StyleSetting where
-        toJSON StyleSetting'{..}
-          = object
-              (catMaybes
-                 [("polylineOptions" .=) <$> _ssPolylineOptions,
-                  ("polygonOptions" .=) <$> _ssPolygonOptions,
-                  ("markerOptions" .=) <$> _ssMarkerOptions,
-                  Just ("kind" .= _ssKind), ("name" .=) <$> _ssName,
-                  ("styleId" .=) <$> _ssStyleId,
-                  ("tableId" .=) <$> _ssTableId])
-
--- | Represents a point object.
---
--- /See:/ 'point' smart constructor.
-data Point =
-  Point'
-    { _pCoordinates :: !(Maybe [Textual Double])
-    , _pType        :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Point' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pCoordinates'
---
--- * 'pType'
-point
-    :: Point
-point = Point' {_pCoordinates = Nothing, _pType = "Point"}
-
-
--- | The coordinates that define the point.
-pCoordinates :: Lens' Point [Double]
-pCoordinates
-  = lens _pCoordinates (\ s a -> s{_pCoordinates = a})
-      . _Default
-      . _Coerce
-
--- | Point: A point geometry.
-pType :: Lens' Point Text
-pType = lens _pType (\ s a -> s{_pType = a})
-
-instance FromJSON Point where
-        parseJSON
-          = withObject "Point"
-              (\ o ->
-                 Point' <$>
-                   (o .:? "coordinates" .!= mempty) <*>
-                     (o .:? "type" .!= "Point"))
-
-instance ToJSON Point where
-        toJSON Point'{..}
-          = object
-              (catMaybes
-                 [("coordinates" .=) <$> _pCoordinates,
-                  Just ("type" .= _pType)])
-
--- | Represents a polygon object.
---
--- /See:/ 'polygon' smart constructor.
-data Polygon =
-  Polygon'
-    { _polCoordinates :: !(Maybe [[[Textual Double]]])
-    , _polType        :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Polygon' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'polCoordinates'
---
--- * 'polType'
-polygon
-    :: Polygon
-polygon = Polygon' {_polCoordinates = Nothing, _polType = "Polygon"}
-
-
--- | The coordinates that define the polygon.
-polCoordinates :: Lens' Polygon [[[Double]]]
-polCoordinates
-  = lens _polCoordinates
-      (\ s a -> s{_polCoordinates = a})
-      . _Default
-      . _Coerce
-
--- | Type: A polygon geometry.
-polType :: Lens' Polygon Text
-polType = lens _polType (\ s a -> s{_polType = a})
-
-instance FromJSON Polygon where
-        parseJSON
-          = withObject "Polygon"
-              (\ o ->
-                 Polygon' <$>
-                   (o .:? "coordinates" .!= mempty) <*>
-                     (o .:? "type" .!= "Polygon"))
-
-instance ToJSON Polygon where
-        toJSON Polygon'{..}
-          = object
-              (catMaybes
-                 [("coordinates" .=) <$> _polCoordinates,
-                  Just ("type" .= _polType)])
-
--- | Represents a list of tasks for a table.
---
--- /See:/ 'taskList' smart constructor.
-data TaskList =
-  TaskList'
-    { _tTotalItems    :: !(Maybe (Textual Int32))
-    , _tNextPageToken :: !(Maybe Text)
-    , _tKind          :: !Text
-    , _tItems         :: !(Maybe [Task])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TaskList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tTotalItems'
---
--- * 'tNextPageToken'
---
--- * 'tKind'
---
--- * 'tItems'
-taskList
-    :: TaskList
-taskList =
-  TaskList'
-    { _tTotalItems = Nothing
-    , _tNextPageToken = Nothing
-    , _tKind = "fusiontables#taskList"
-    , _tItems = Nothing
-    }
-
-
--- | Total number of tasks for the table.
-tTotalItems :: Lens' TaskList (Maybe Int32)
-tTotalItems
-  = lens _tTotalItems (\ s a -> s{_tTotalItems = a}) .
-      mapping _Coerce
-
--- | Token used to access the next page of this result. No token is displayed
--- if there are no more pages left.
-tNextPageToken :: Lens' TaskList (Maybe Text)
-tNextPageToken
-  = lens _tNextPageToken
-      (\ s a -> s{_tNextPageToken = a})
-
--- | Type of the resource. This is always \"fusiontables#taskList\".
-tKind :: Lens' TaskList Text
-tKind = lens _tKind (\ s a -> s{_tKind = a})
-
--- | List of all requested tasks.
-tItems :: Lens' TaskList [Task]
-tItems
-  = lens _tItems (\ s a -> s{_tItems = a}) . _Default .
-      _Coerce
-
-instance FromJSON TaskList where
-        parseJSON
-          = withObject "TaskList"
-              (\ o ->
-                 TaskList' <$>
-                   (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "fusiontables#taskList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON TaskList where
-        toJSON TaskList'{..}
-          = object
-              (catMaybes
-                 [("totalItems" .=) <$> _tTotalItems,
-                  ("nextPageToken" .=) <$> _tNextPageToken,
-                  Just ("kind" .= _tKind), ("items" .=) <$> _tItems])
-
--- | Represents a Geometry object.
---
--- /See:/ 'geometry' smart constructor.
-data Geometry =
-  Geometry'
-    { _gGeometries :: !(Maybe [JSONValue])
-    , _gGeometry   :: !(Maybe JSONValue)
-    , _gType       :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Geometry' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gGeometries'
---
--- * 'gGeometry'
---
--- * 'gType'
-geometry
-    :: Geometry
-geometry =
-  Geometry'
-    { _gGeometries = Nothing
-    , _gGeometry = Nothing
-    , _gType = "GeometryCollection"
-    }
-
-
--- | The list of geometries in this geometry collection.
-gGeometries :: Lens' Geometry [JSONValue]
-gGeometries
-  = lens _gGeometries (\ s a -> s{_gGeometries = a}) .
-      _Default
-      . _Coerce
-
-gGeometry :: Lens' Geometry (Maybe JSONValue)
-gGeometry
-  = lens _gGeometry (\ s a -> s{_gGeometry = a})
-
--- | Type: A collection of geometries.
-gType :: Lens' Geometry Text
-gType = lens _gType (\ s a -> s{_gType = a})
-
-instance FromJSON Geometry where
-        parseJSON
-          = withObject "Geometry"
-              (\ o ->
-                 Geometry' <$>
-                   (o .:? "geometries" .!= mempty) <*>
-                     (o .:? "geometry")
-                     <*> (o .:? "type" .!= "GeometryCollection"))
-
-instance ToJSON Geometry where
-        toJSON Geometry'{..}
-          = object
-              (catMaybes
-                 [("geometries" .=) <$> _gGeometries,
-                  ("geometry" .=) <$> _gGeometry,
-                  Just ("type" .= _gType)])
-
--- | Represents a list of templates for a given table.
---
--- /See:/ 'templateList' smart constructor.
-data TemplateList =
-  TemplateList'
-    { _temTotalItems    :: !(Maybe (Textual Int32))
-    , _temNextPageToken :: !(Maybe Text)
-    , _temKind          :: !Text
-    , _temItems         :: !(Maybe [Template])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'temTotalItems'
---
--- * 'temNextPageToken'
---
--- * 'temKind'
---
--- * 'temItems'
-templateList
-    :: TemplateList
-templateList =
-  TemplateList'
-    { _temTotalItems = Nothing
-    , _temNextPageToken = Nothing
-    , _temKind = "fusiontables#templateList"
-    , _temItems = Nothing
-    }
-
-
--- | Total number of templates for the table.
-temTotalItems :: Lens' TemplateList (Maybe Int32)
-temTotalItems
-  = lens _temTotalItems
-      (\ s a -> s{_temTotalItems = a})
-      . mapping _Coerce
-
--- | Token used to access the next page of this result. No token is displayed
--- if there are no more pages left.
-temNextPageToken :: Lens' TemplateList (Maybe Text)
-temNextPageToken
-  = lens _temNextPageToken
-      (\ s a -> s{_temNextPageToken = a})
-
--- | The kind of item this is. For a template list, this is always
--- fusiontables#templateList .
-temKind :: Lens' TemplateList Text
-temKind = lens _temKind (\ s a -> s{_temKind = a})
-
--- | List of all requested templates.
-temItems :: Lens' TemplateList [Template]
-temItems
-  = lens _temItems (\ s a -> s{_temItems = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON TemplateList where
-        parseJSON
-          = withObject "TemplateList"
-              (\ o ->
-                 TemplateList' <$>
-                   (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "fusiontables#templateList")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON TemplateList where
-        toJSON TemplateList'{..}
-          = object
-              (catMaybes
-                 [("totalItems" .=) <$> _temTotalItems,
-                  ("nextPageToken" .=) <$> _temNextPageToken,
-                  Just ("kind" .= _temKind),
-                  ("items" .=) <$> _temItems])
-
--- | Represents an import request.
---
--- /See:/ 'import'' smart constructor.
-data Import =
-  Import'
-    { _iKind            :: !Text
-    , _iNumRowsReceived :: !(Maybe (Textual Int64))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Import' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'iKind'
---
--- * 'iNumRowsReceived'
-import'
-    :: Import
-import' = Import' {_iKind = "fusiontables#import", _iNumRowsReceived = Nothing}
-
-
--- | The kind of item this is. For an import, this is always
--- fusiontables#import.
-iKind :: Lens' Import Text
-iKind = lens _iKind (\ s a -> s{_iKind = a})
-
--- | The number of rows received from the import request.
-iNumRowsReceived :: Lens' Import (Maybe Int64)
-iNumRowsReceived
-  = lens _iNumRowsReceived
-      (\ s a -> s{_iNumRowsReceived = a})
-      . mapping _Coerce
-
-instance FromJSON Import where
-        parseJSON
-          = withObject "Import"
-              (\ o ->
-                 Import' <$>
-                   (o .:? "kind" .!= "fusiontables#import") <*>
-                     (o .:? "numRowsReceived"))
-
-instance ToJSON Import where
-        toJSON Import'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _iKind),
-                  ("numRowsReceived" .=) <$> _iNumRowsReceived])
-
--- | A background task on a table, initiated for time- or resource-consuming
--- operations such as changing column types or deleting all rows.
---
--- /See:/ 'task' smart constructor.
-data Task =
-  Task'
-    { _tasProgress :: !(Maybe Text)
-    , _tasTaskId   :: !(Maybe (Textual Int64))
-    , _tasKind     :: !Text
-    , _tasType     :: !(Maybe Text)
-    , _tasStarted  :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Task' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tasProgress'
---
--- * 'tasTaskId'
---
--- * 'tasKind'
---
--- * 'tasType'
---
--- * 'tasStarted'
-task
-    :: Task
-task =
-  Task'
-    { _tasProgress = Nothing
-    , _tasTaskId = Nothing
-    , _tasKind = "fusiontables#task"
-    , _tasType = Nothing
-    , _tasStarted = Nothing
-    }
-
-
--- | Task percentage completion.
-tasProgress :: Lens' Task (Maybe Text)
-tasProgress
-  = lens _tasProgress (\ s a -> s{_tasProgress = a})
-
--- | Identifier for the task.
-tasTaskId :: Lens' Task (Maybe Int64)
-tasTaskId
-  = lens _tasTaskId (\ s a -> s{_tasTaskId = a}) .
-      mapping _Coerce
-
--- | Type of the resource. This is always \"fusiontables#task\".
-tasKind :: Lens' Task Text
-tasKind = lens _tasKind (\ s a -> s{_tasKind = a})
-
--- | Type of background task.
-tasType :: Lens' Task (Maybe Text)
-tasType = lens _tasType (\ s a -> s{_tasType = a})
-
--- | false while the table is busy with some other task. true if this
--- background task is currently running.
-tasStarted :: Lens' Task (Maybe Bool)
-tasStarted
-  = lens _tasStarted (\ s a -> s{_tasStarted = a})
-
-instance FromJSON Task where
-        parseJSON
-          = withObject "Task"
-              (\ o ->
-                 Task' <$>
-                   (o .:? "progress") <*> (o .:? "taskId") <*>
-                     (o .:? "kind" .!= "fusiontables#task")
-                     <*> (o .:? "type")
-                     <*> (o .:? "started"))
-
-instance ToJSON Task where
-        toJSON Task'{..}
-          = object
-              (catMaybes
-                 [("progress" .=) <$> _tasProgress,
-                  ("taskId" .=) <$> _tasTaskId,
-                  Just ("kind" .= _tasKind), ("type" .=) <$> _tasType,
-                  ("started" .=) <$> _tasStarted])
-
--- | Represents the contents of InfoWindow templates.
---
--- /See:/ 'template' smart constructor.
-data Template =
-  Template'
-    { _ttAutomaticColumnNames :: !(Maybe [Text])
-    , _ttTemplateId           :: !(Maybe (Textual Int32))
-    , _ttKind                 :: !Text
-    , _ttBody                 :: !(Maybe Text)
-    , _ttName                 :: !(Maybe Text)
-    , _ttTableId              :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Template' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ttAutomaticColumnNames'
---
--- * 'ttTemplateId'
---
--- * 'ttKind'
---
--- * 'ttBody'
---
--- * 'ttName'
---
--- * 'ttTableId'
-template
-    :: Template
-template =
-  Template'
-    { _ttAutomaticColumnNames = Nothing
-    , _ttTemplateId = Nothing
-    , _ttKind = "fusiontables#template"
-    , _ttBody = Nothing
-    , _ttName = Nothing
-    , _ttTableId = Nothing
-    }
-
-
--- | List of columns from which the template is to be automatically
--- constructed. Only one of body or automaticColumns can be specified.
-ttAutomaticColumnNames :: Lens' Template [Text]
-ttAutomaticColumnNames
-  = lens _ttAutomaticColumnNames
-      (\ s a -> s{_ttAutomaticColumnNames = a})
-      . _Default
-      . _Coerce
-
--- | Identifier for the template, unique within the context of a particular
--- table.
-ttTemplateId :: Lens' Template (Maybe Int32)
-ttTemplateId
-  = lens _ttTemplateId (\ s a -> s{_ttTemplateId = a})
-      . mapping _Coerce
-
--- | The kind of item this is. For a template, this is always
--- fusiontables#template.
-ttKind :: Lens' Template Text
-ttKind = lens _ttKind (\ s a -> s{_ttKind = a})
-
--- | Body of the template. It contains HTML with {column_name} to insert
--- values from a particular column. The body is sanitized to remove certain
--- tags, e.g., script. Only one of body or automaticColumns can be
--- specified.
-ttBody :: Lens' Template (Maybe Text)
-ttBody = lens _ttBody (\ s a -> s{_ttBody = a})
-
--- | Optional name assigned to a template.
-ttName :: Lens' Template (Maybe Text)
-ttName = lens _ttName (\ s a -> s{_ttName = a})
-
--- | Identifier for the table for which the template is defined.
-ttTableId :: Lens' Template (Maybe Text)
-ttTableId
-  = lens _ttTableId (\ s a -> s{_ttTableId = a})
-
-instance FromJSON Template where
-        parseJSON
-          = withObject "Template"
-              (\ o ->
-                 Template' <$>
-                   (o .:? "automaticColumnNames" .!= mempty) <*>
-                     (o .:? "templateId")
-                     <*> (o .:? "kind" .!= "fusiontables#template")
-                     <*> (o .:? "body")
-                     <*> (o .:? "name")
-                     <*> (o .:? "tableId"))
-
-instance ToJSON Template where
-        toJSON Template'{..}
-          = object
-              (catMaybes
-                 [("automaticColumnNames" .=) <$>
-                    _ttAutomaticColumnNames,
-                  ("templateId" .=) <$> _ttTemplateId,
-                  Just ("kind" .= _ttKind), ("body" .=) <$> _ttBody,
-                  ("name" .=) <$> _ttName,
-                  ("tableId" .=) <$> _ttTableId])
-
--- | Represents a PointStyle within a StyleSetting
---
--- /See:/ 'pointStyle' smart constructor.
-data PointStyle =
-  PointStyle'
-    { _psIconName   :: !(Maybe Text)
-    , _psIconStyler :: !(Maybe StyleFunction)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'PointStyle' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'psIconName'
---
--- * 'psIconStyler'
-pointStyle
-    :: PointStyle
-pointStyle = PointStyle' {_psIconName = Nothing, _psIconStyler = Nothing}
-
-
--- | Name of the icon. Use values defined in
--- http:\/\/www.google.com\/fusiontables\/DataSource?dsrcid=308519
-psIconName :: Lens' PointStyle (Maybe Text)
-psIconName
-  = lens _psIconName (\ s a -> s{_psIconName = a})
-
--- | Column or a bucket value from which the icon name is to be determined.
-psIconStyler :: Lens' PointStyle (Maybe StyleFunction)
-psIconStyler
-  = lens _psIconStyler (\ s a -> s{_psIconStyler = a})
-
-instance FromJSON PointStyle where
-        parseJSON
-          = withObject "PointStyle"
-              (\ o ->
-                 PointStyle' <$>
-                   (o .:? "iconName") <*> (o .:? "iconStyler"))
-
-instance ToJSON PointStyle where
-        toJSON PointStyle'{..}
-          = object
-              (catMaybes
-                 [("iconName" .=) <$> _psIconName,
-                  ("iconStyler" .=) <$> _psIconStyler])
-
--- | Represents a PolygonStyle within a StyleSetting
---
--- /See:/ 'polygonStyle' smart constructor.
-data PolygonStyle =
-  PolygonStyle'
-    { _psFillColorStyler    :: !(Maybe StyleFunction)
-    , _psFillColor          :: !(Maybe Text)
-    , _psStrokeColorStyler  :: !(Maybe StyleFunction)
-    , _psStrokeWeight       :: !(Maybe (Textual Int32))
-    , _psStrokeOpacity      :: !(Maybe (Textual Double))
-    , _psFillOpacity        :: !(Maybe (Textual Double))
-    , _psStrokeWeightStyler :: !(Maybe StyleFunction)
-    , _psStrokeColor        :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'PolygonStyle' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'psFillColorStyler'
---
--- * 'psFillColor'
---
--- * 'psStrokeColorStyler'
---
--- * 'psStrokeWeight'
---
--- * 'psStrokeOpacity'
---
--- * 'psFillOpacity'
---
--- * 'psStrokeWeightStyler'
---
--- * 'psStrokeColor'
-polygonStyle
-    :: PolygonStyle
-polygonStyle =
-  PolygonStyle'
-    { _psFillColorStyler = Nothing
-    , _psFillColor = Nothing
-    , _psStrokeColorStyler = Nothing
-    , _psStrokeWeight = Nothing
-    , _psStrokeOpacity = Nothing
-    , _psFillOpacity = Nothing
-    , _psStrokeWeightStyler = Nothing
-    , _psStrokeColor = Nothing
-    }
-
-
--- | Column-value, gradient, or bucket styler that is used to determine the
--- interior color and opacity of the polygon.
-psFillColorStyler :: Lens' PolygonStyle (Maybe StyleFunction)
-psFillColorStyler
-  = lens _psFillColorStyler
-      (\ s a -> s{_psFillColorStyler = a})
-
--- | Color of the interior of the polygon in #RRGGBB format.
-psFillColor :: Lens' PolygonStyle (Maybe Text)
-psFillColor
-  = lens _psFillColor (\ s a -> s{_psFillColor = a})
-
--- | Column-value, gradient or buckets styler that is used to determine the
--- border color and opacity.
-psStrokeColorStyler :: Lens' PolygonStyle (Maybe StyleFunction)
-psStrokeColorStyler
-  = lens _psStrokeColorStyler
-      (\ s a -> s{_psStrokeColorStyler = a})
-
--- | Width of the polyon border in pixels.
-psStrokeWeight :: Lens' PolygonStyle (Maybe Int32)
-psStrokeWeight
-  = lens _psStrokeWeight
-      (\ s a -> s{_psStrokeWeight = a})
-      . mapping _Coerce
-
--- | Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
-psStrokeOpacity :: Lens' PolygonStyle (Maybe Double)
-psStrokeOpacity
-  = lens _psStrokeOpacity
-      (\ s a -> s{_psStrokeOpacity = a})
-      . mapping _Coerce
-
--- | Opacity of the interior of the polygon: 0.0 (transparent) to 1.0
--- (opaque).
-psFillOpacity :: Lens' PolygonStyle (Maybe Double)
-psFillOpacity
-  = lens _psFillOpacity
-      (\ s a -> s{_psFillOpacity = a})
-      . mapping _Coerce
-
--- | Column-value or bucket styler that is used to determine the width of the
--- polygon border.
-psStrokeWeightStyler :: Lens' PolygonStyle (Maybe StyleFunction)
-psStrokeWeightStyler
-  = lens _psStrokeWeightStyler
-      (\ s a -> s{_psStrokeWeightStyler = a})
-
--- | Color of the polygon border in #RRGGBB format.
-psStrokeColor :: Lens' PolygonStyle (Maybe Text)
-psStrokeColor
-  = lens _psStrokeColor
-      (\ s a -> s{_psStrokeColor = a})
-
-instance FromJSON PolygonStyle where
-        parseJSON
-          = withObject "PolygonStyle"
-              (\ o ->
-                 PolygonStyle' <$>
-                   (o .:? "fillColorStyler") <*> (o .:? "fillColor") <*>
-                     (o .:? "strokeColorStyler")
-                     <*> (o .:? "strokeWeight")
-                     <*> (o .:? "strokeOpacity")
-                     <*> (o .:? "fillOpacity")
-                     <*> (o .:? "strokeWeightStyler")
-                     <*> (o .:? "strokeColor"))
-
-instance ToJSON PolygonStyle where
-        toJSON PolygonStyle'{..}
-          = object
-              (catMaybes
-                 [("fillColorStyler" .=) <$> _psFillColorStyler,
-                  ("fillColor" .=) <$> _psFillColor,
-                  ("strokeColorStyler" .=) <$> _psStrokeColorStyler,
-                  ("strokeWeight" .=) <$> _psStrokeWeight,
-                  ("strokeOpacity" .=) <$> _psStrokeOpacity,
-                  ("fillOpacity" .=) <$> _psFillOpacity,
-                  ("strokeWeightStyler" .=) <$> _psStrokeWeightStyler,
-                  ("strokeColor" .=) <$> _psStrokeColor])
-
--- | Gradient function that interpolates a range of colors based on column
--- value.
---
--- /See:/ 'styleFunctionGradient' smart constructor.
-data StyleFunctionGradient =
-  StyleFunctionGradient'
-    { _sfgMax    :: !(Maybe (Textual Double))
-    , _sfgMin    :: !(Maybe (Textual Double))
-    , _sfgColors :: !(Maybe [StyleFunctionGradientColorsItem])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleFunctionGradient' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sfgMax'
---
--- * 'sfgMin'
---
--- * 'sfgColors'
-styleFunctionGradient
-    :: StyleFunctionGradient
-styleFunctionGradient =
-  StyleFunctionGradient'
-    {_sfgMax = Nothing, _sfgMin = Nothing, _sfgColors = Nothing}
-
-
--- | Higher-end of the interpolation range: rows with this value will be
--- assigned to colors[n-1].
-sfgMax :: Lens' StyleFunctionGradient (Maybe Double)
-sfgMax
-  = lens _sfgMax (\ s a -> s{_sfgMax = a}) .
-      mapping _Coerce
-
--- | Lower-end of the interpolation range: rows with this value will be
--- assigned to colors[0].
-sfgMin :: Lens' StyleFunctionGradient (Maybe Double)
-sfgMin
-  = lens _sfgMin (\ s a -> s{_sfgMin = a}) .
-      mapping _Coerce
-
--- | Array with two or more colors.
-sfgColors :: Lens' StyleFunctionGradient [StyleFunctionGradientColorsItem]
-sfgColors
-  = lens _sfgColors (\ s a -> s{_sfgColors = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON StyleFunctionGradient where
-        parseJSON
-          = withObject "StyleFunctionGradient"
-              (\ o ->
-                 StyleFunctionGradient' <$>
-                   (o .:? "max") <*> (o .:? "min") <*>
-                     (o .:? "colors" .!= mempty))
-
-instance ToJSON StyleFunctionGradient where
-        toJSON StyleFunctionGradient'{..}
-          = object
-              (catMaybes
-                 [("max" .=) <$> _sfgMax, ("min" .=) <$> _sfgMin,
-                  ("colors" .=) <$> _sfgColors])
-
--- | Specifies the details of a column in a table.
---
--- /See:/ 'column' smart constructor.
-data Column =
-  Column'
-    { _cColumnJSONSchema     :: !(Maybe Text)
-    , _cGraphPredicate       :: !(Maybe Text)
-    , _cKind                 :: !Text
-    , _cBaseColumn           :: !(Maybe ColumnBaseColumn)
-    , _cColumnPropertiesJSON :: !(Maybe Text)
-    , _cName                 :: !(Maybe Text)
-    , _cType                 :: !(Maybe Text)
-    , _cFormatPattern        :: !(Maybe Text)
-    , _cColumnId             :: !(Maybe (Textual Int32))
-    , _cValidValues          :: !(Maybe [Text])
-    , _cValidateData         :: !(Maybe Bool)
-    , _cDescription          :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Column' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cColumnJSONSchema'
---
--- * 'cGraphPredicate'
---
--- * 'cKind'
---
--- * 'cBaseColumn'
---
--- * 'cColumnPropertiesJSON'
---
--- * 'cName'
---
--- * 'cType'
---
--- * 'cFormatPattern'
---
--- * 'cColumnId'
---
--- * 'cValidValues'
---
--- * 'cValidateData'
---
--- * 'cDescription'
-column
-    :: Column
-column =
-  Column'
-    { _cColumnJSONSchema = Nothing
-    , _cGraphPredicate = Nothing
-    , _cKind = "fusiontables#column"
-    , _cBaseColumn = Nothing
-    , _cColumnPropertiesJSON = Nothing
-    , _cName = Nothing
-    , _cType = Nothing
-    , _cFormatPattern = Nothing
-    , _cColumnId = Nothing
-    , _cValidValues = Nothing
-    , _cValidateData = Nothing
-    , _cDescription = Nothing
-    }
-
-
--- | JSON schema for interpreting JSON in this column.
-cColumnJSONSchema :: Lens' Column (Maybe Text)
-cColumnJSONSchema
-  = lens _cColumnJSONSchema
-      (\ s a -> s{_cColumnJSONSchema = a})
-
--- | Column graph predicate. Used to map table to graph data model
--- (subject,predicate,object) See W3C Graph-based Data Model.
-cGraphPredicate :: Lens' Column (Maybe Text)
-cGraphPredicate
-  = lens _cGraphPredicate
-      (\ s a -> s{_cGraphPredicate = a})
-
--- | The kind of item this is. For a column, this is always
--- fusiontables#column.
-cKind :: Lens' Column Text
-cKind = lens _cKind (\ s a -> s{_cKind = a})
-
--- | Identifier of the base column. If present, this column is derived from
--- the specified base column.
-cBaseColumn :: Lens' Column (Maybe ColumnBaseColumn)
-cBaseColumn
-  = lens _cBaseColumn (\ s a -> s{_cBaseColumn = a})
-
--- | JSON object containing custom column properties.
-cColumnPropertiesJSON :: Lens' Column (Maybe Text)
-cColumnPropertiesJSON
-  = lens _cColumnPropertiesJSON
-      (\ s a -> s{_cColumnPropertiesJSON = a})
-
--- | Name of the column.
-cName :: Lens' Column (Maybe Text)
-cName = lens _cName (\ s a -> s{_cName = a})
-
--- | Type of the column.
-cType :: Lens' Column (Maybe Text)
-cType = lens _cType (\ s a -> s{_cType = a})
-
--- | Format pattern. Acceptable values are DT_DATE_MEDIUMe.g Dec 24, 2008
--- DT_DATE_SHORTfor example 12\/24\/08 DT_DATE_TIME_MEDIUMfor example Dec
--- 24, 2008 8:30:45 PM DT_DATE_TIME_SHORTfor example 12\/24\/08 8:30 PM
--- DT_DAY_MONTH_2_DIGIT_YEARfor example 24\/12\/08
--- DT_DAY_MONTH_2_DIGIT_YEAR_TIMEfor example 24\/12\/08 20:30
--- DT_DAY_MONTH_2_DIGIT_YEAR_TIME_MERIDIANfor example 24\/12\/08 8:30 PM
--- DT_DAY_MONTH_4_DIGIT_YEARfor example 24\/12\/2008
--- DT_DAY_MONTH_4_DIGIT_YEAR_TIMEfor example 24\/12\/2008 20:30
--- DT_DAY_MONTH_4_DIGIT_YEAR_TIME_MERIDIANfor example 24\/12\/2008 8:30 PM
--- DT_ISO_YEAR_MONTH_DAYfor example 2008-12-24
--- DT_ISO_YEAR_MONTH_DAY_TIMEfor example 2008-12-24 20:30:45
--- DT_MONTH_DAY_4_DIGIT_YEARfor example 12\/24\/2008 DT_TIME_LONGfor
--- example 8:30:45 PM UTC-6 DT_TIME_MEDIUMfor example 8:30:45 PM
--- DT_TIME_SHORTfor example 8:30 PM DT_YEAR_ONLYfor example 2008
--- HIGHLIGHT_UNTYPED_CELLSHighlight cell data that does not match the data
--- type NONENo formatting (default) NUMBER_CURRENCYfor example $1234.56
--- NUMBER_DEFAULTfor example 1,234.56 NUMBER_INTEGERfor example 1235
--- NUMBER_NO_SEPARATORfor example 1234.56 NUMBER_PERCENTfor example
--- 123,456% NUMBER_SCIENTIFICfor example 1E3
--- STRING_EIGHT_LINE_IMAGEDisplays thumbnail images as tall as eight lines
--- of text STRING_FOUR_LINE_IMAGEDisplays thumbnail images as tall as four
--- lines of text STRING_JSON_TEXTAllows editing of text as JSON in UI
--- STRING_JSON_LISTAllows editing of text as a JSON list in UI
--- STRING_LINKTreats cell as a link (must start with http:\/\/ or
--- https:\/\/) STRING_ONE_LINE_IMAGEDisplays thumbnail images as tall as
--- one line of text STRING_VIDEO_OR_MAPDisplay a video or map thumbnail
-cFormatPattern :: Lens' Column (Maybe Text)
-cFormatPattern
-  = lens _cFormatPattern
-      (\ s a -> s{_cFormatPattern = a})
-
--- | Identifier for the column.
-cColumnId :: Lens' Column (Maybe Int32)
-cColumnId
-  = lens _cColumnId (\ s a -> s{_cColumnId = a}) .
-      mapping _Coerce
-
--- | List of valid values used to validate data and supply a drop-down list
--- of values in the web application.
-cValidValues :: Lens' Column [Text]
-cValidValues
-  = lens _cValidValues (\ s a -> s{_cValidValues = a})
-      . _Default
-      . _Coerce
-
--- | If true, data entered via the web application is validated.
-cValidateData :: Lens' Column (Maybe Bool)
-cValidateData
-  = lens _cValidateData
-      (\ s a -> s{_cValidateData = a})
-
--- | Column description.
-cDescription :: Lens' Column (Maybe Text)
-cDescription
-  = lens _cDescription (\ s a -> s{_cDescription = a})
-
-instance FromJSON Column where
-        parseJSON
-          = withObject "Column"
-              (\ o ->
-                 Column' <$>
-                   (o .:? "columnJsonSchema") <*>
-                     (o .:? "graphPredicate")
-                     <*> (o .:? "kind" .!= "fusiontables#column")
-                     <*> (o .:? "baseColumn")
-                     <*> (o .:? "columnPropertiesJson")
-                     <*> (o .:? "name")
-                     <*> (o .:? "type")
-                     <*> (o .:? "formatPattern")
-                     <*> (o .:? "columnId")
-                     <*> (o .:? "validValues" .!= mempty)
-                     <*> (o .:? "validateData")
-                     <*> (o .:? "description"))
-
-instance ToJSON Column where
-        toJSON Column'{..}
-          = object
-              (catMaybes
-                 [("columnJsonSchema" .=) <$> _cColumnJSONSchema,
-                  ("graphPredicate" .=) <$> _cGraphPredicate,
-                  Just ("kind" .= _cKind),
-                  ("baseColumn" .=) <$> _cBaseColumn,
-                  ("columnPropertiesJson" .=) <$>
-                    _cColumnPropertiesJSON,
-                  ("name" .=) <$> _cName, ("type" .=) <$> _cType,
-                  ("formatPattern" .=) <$> _cFormatPattern,
-                  ("columnId" .=) <$> _cColumnId,
-                  ("validValues" .=) <$> _cValidValues,
-                  ("validateData" .=) <$> _cValidateData,
-                  ("description" .=) <$> _cDescription])
-
--- | Represents a table.
---
--- /See:/ 'table' smart constructor.
-data Table =
-  Table'
-    { _tabaIsExportable               :: !(Maybe Bool)
-    , _tabaKind                       :: !Text
-    , _tabaColumnPropertiesJSONSchema :: !(Maybe Text)
-    , _tabaTablePropertiesJSONSchema  :: !(Maybe Text)
-    , _tabaName                       :: !(Maybe Text)
-    , _tabaTablePropertiesJSON        :: !(Maybe Text)
-    , _tabaColumns                    :: !(Maybe [Column])
-    , _tabaBaseTableIds               :: !(Maybe [Text])
-    , _tabaTableId                    :: !(Maybe Text)
-    , _tabaSQL                        :: !(Maybe Text)
-    , _tabaDescription                :: !(Maybe Text)
-    , _tabaAttribution                :: !(Maybe Text)
-    , _tabaAttributionLink            :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Table' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tabaIsExportable'
---
--- * 'tabaKind'
---
--- * 'tabaColumnPropertiesJSONSchema'
---
--- * 'tabaTablePropertiesJSONSchema'
---
--- * 'tabaName'
---
--- * 'tabaTablePropertiesJSON'
---
--- * 'tabaColumns'
---
--- * 'tabaBaseTableIds'
---
--- * 'tabaTableId'
---
--- * 'tabaSQL'
---
--- * 'tabaDescription'
---
--- * 'tabaAttribution'
---
--- * 'tabaAttributionLink'
-table
-    :: Table
-table =
-  Table'
-    { _tabaIsExportable = Nothing
-    , _tabaKind = "fusiontables#table"
-    , _tabaColumnPropertiesJSONSchema = Nothing
-    , _tabaTablePropertiesJSONSchema = Nothing
-    , _tabaName = Nothing
-    , _tabaTablePropertiesJSON = Nothing
-    , _tabaColumns = Nothing
-    , _tabaBaseTableIds = Nothing
-    , _tabaTableId = Nothing
-    , _tabaSQL = Nothing
-    , _tabaDescription = Nothing
-    , _tabaAttribution = Nothing
-    , _tabaAttributionLink = Nothing
-    }
-
-
--- | Variable for whether table is exportable.
-tabaIsExportable :: Lens' Table (Maybe Bool)
-tabaIsExportable
-  = lens _tabaIsExportable
-      (\ s a -> s{_tabaIsExportable = a})
-
--- | The kind of item this is. For a table, this is always
--- fusiontables#table.
-tabaKind :: Lens' Table Text
-tabaKind = lens _tabaKind (\ s a -> s{_tabaKind = a})
-
--- | Default JSON schema for validating all JSON column properties.
-tabaColumnPropertiesJSONSchema :: Lens' Table (Maybe Text)
-tabaColumnPropertiesJSONSchema
-  = lens _tabaColumnPropertiesJSONSchema
-      (\ s a -> s{_tabaColumnPropertiesJSONSchema = a})
-
--- | JSON schema for validating the JSON table properties.
-tabaTablePropertiesJSONSchema :: Lens' Table (Maybe Text)
-tabaTablePropertiesJSONSchema
-  = lens _tabaTablePropertiesJSONSchema
-      (\ s a -> s{_tabaTablePropertiesJSONSchema = a})
-
--- | Name assigned to a table.
-tabaName :: Lens' Table (Maybe Text)
-tabaName = lens _tabaName (\ s a -> s{_tabaName = a})
-
--- | JSON object containing custom table properties.
-tabaTablePropertiesJSON :: Lens' Table (Maybe Text)
-tabaTablePropertiesJSON
-  = lens _tabaTablePropertiesJSON
-      (\ s a -> s{_tabaTablePropertiesJSON = a})
-
--- | Columns in the table.
-tabaColumns :: Lens' Table [Column]
-tabaColumns
-  = lens _tabaColumns (\ s a -> s{_tabaColumns = a}) .
-      _Default
-      . _Coerce
-
--- | Base table identifier if this table is a view or merged table.
-tabaBaseTableIds :: Lens' Table [Text]
-tabaBaseTableIds
-  = lens _tabaBaseTableIds
-      (\ s a -> s{_tabaBaseTableIds = a})
-      . _Default
-      . _Coerce
-
--- | Encrypted unique alphanumeric identifier for the table.
-tabaTableId :: Lens' Table (Maybe Text)
-tabaTableId
-  = lens _tabaTableId (\ s a -> s{_tabaTableId = a})
-
--- | SQL that encodes the table definition for derived tables.
-tabaSQL :: Lens' Table (Maybe Text)
-tabaSQL = lens _tabaSQL (\ s a -> s{_tabaSQL = a})
-
--- | Description assigned to the table.
-tabaDescription :: Lens' Table (Maybe Text)
-tabaDescription
-  = lens _tabaDescription
-      (\ s a -> s{_tabaDescription = a})
-
--- | Attribution assigned to the table.
-tabaAttribution :: Lens' Table (Maybe Text)
-tabaAttribution
-  = lens _tabaAttribution
-      (\ s a -> s{_tabaAttribution = a})
-
--- | Optional link for attribution.
-tabaAttributionLink :: Lens' Table (Maybe Text)
-tabaAttributionLink
-  = lens _tabaAttributionLink
-      (\ s a -> s{_tabaAttributionLink = a})
-
-instance FromJSON Table where
-        parseJSON
-          = withObject "Table"
-              (\ o ->
-                 Table' <$>
-                   (o .:? "isExportable") <*>
-                     (o .:? "kind" .!= "fusiontables#table")
-                     <*> (o .:? "columnPropertiesJsonSchema")
-                     <*> (o .:? "tablePropertiesJsonSchema")
-                     <*> (o .:? "name")
-                     <*> (o .:? "tablePropertiesJson")
-                     <*> (o .:? "columns" .!= mempty)
-                     <*> (o .:? "baseTableIds" .!= mempty)
-                     <*> (o .:? "tableId")
-                     <*> (o .:? "sql")
-                     <*> (o .:? "description")
-                     <*> (o .:? "attribution")
-                     <*> (o .:? "attributionLink"))
-
-instance ToJSON Table where
-        toJSON Table'{..}
-          = object
-              (catMaybes
-                 [("isExportable" .=) <$> _tabaIsExportable,
-                  Just ("kind" .= _tabaKind),
-                  ("columnPropertiesJsonSchema" .=) <$>
-                    _tabaColumnPropertiesJSONSchema,
-                  ("tablePropertiesJsonSchema" .=) <$>
-                    _tabaTablePropertiesJSONSchema,
-                  ("name" .=) <$> _tabaName,
-                  ("tablePropertiesJson" .=) <$>
-                    _tabaTablePropertiesJSON,
-                  ("columns" .=) <$> _tabaColumns,
-                  ("baseTableIds" .=) <$> _tabaBaseTableIds,
-                  ("tableId" .=) <$> _tabaTableId,
-                  ("sql" .=) <$> _tabaSQL,
-                  ("description" .=) <$> _tabaDescription,
-                  ("attribution" .=) <$> _tabaAttribution,
-                  ("attributionLink" .=) <$> _tabaAttributionLink])
-
--- | Represents a LineStyle within a StyleSetting
---
--- /See:/ 'lineStyle' smart constructor.
-data LineStyle =
-  LineStyle'
-    { _lsStrokeColorStyler  :: !(Maybe StyleFunction)
-    , _lsStrokeWeight       :: !(Maybe (Textual Int32))
-    , _lsStrokeOpacity      :: !(Maybe (Textual Double))
-    , _lsStrokeWeightStyler :: !(Maybe StyleFunction)
-    , _lsStrokeColor        :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LineStyle' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lsStrokeColorStyler'
---
--- * 'lsStrokeWeight'
---
--- * 'lsStrokeOpacity'
---
--- * 'lsStrokeWeightStyler'
---
--- * 'lsStrokeColor'
-lineStyle
-    :: LineStyle
-lineStyle =
-  LineStyle'
-    { _lsStrokeColorStyler = Nothing
-    , _lsStrokeWeight = Nothing
-    , _lsStrokeOpacity = Nothing
-    , _lsStrokeWeightStyler = Nothing
-    , _lsStrokeColor = Nothing
-    }
-
-
--- | Column-value, gradient or buckets styler that is used to determine the
--- line color and opacity.
-lsStrokeColorStyler :: Lens' LineStyle (Maybe StyleFunction)
-lsStrokeColorStyler
-  = lens _lsStrokeColorStyler
-      (\ s a -> s{_lsStrokeColorStyler = a})
-
--- | Width of the line in pixels.
-lsStrokeWeight :: Lens' LineStyle (Maybe Int32)
-lsStrokeWeight
-  = lens _lsStrokeWeight
-      (\ s a -> s{_lsStrokeWeight = a})
-      . mapping _Coerce
-
--- | Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
-lsStrokeOpacity :: Lens' LineStyle (Maybe Double)
-lsStrokeOpacity
-  = lens _lsStrokeOpacity
-      (\ s a -> s{_lsStrokeOpacity = a})
-      . mapping _Coerce
-
--- | Column-value or bucket styler that is used to determine the width of the
--- line.
-lsStrokeWeightStyler :: Lens' LineStyle (Maybe StyleFunction)
-lsStrokeWeightStyler
-  = lens _lsStrokeWeightStyler
-      (\ s a -> s{_lsStrokeWeightStyler = a})
-
--- | Color of the line in #RRGGBB format.
-lsStrokeColor :: Lens' LineStyle (Maybe Text)
-lsStrokeColor
-  = lens _lsStrokeColor
-      (\ s a -> s{_lsStrokeColor = a})
-
-instance FromJSON LineStyle where
-        parseJSON
-          = withObject "LineStyle"
-              (\ o ->
-                 LineStyle' <$>
-                   (o .:? "strokeColorStyler") <*>
-                     (o .:? "strokeWeight")
-                     <*> (o .:? "strokeOpacity")
-                     <*> (o .:? "strokeWeightStyler")
-                     <*> (o .:? "strokeColor"))
-
-instance ToJSON LineStyle where
-        toJSON LineStyle'{..}
-          = object
-              (catMaybes
-                 [("strokeColorStyler" .=) <$> _lsStrokeColorStyler,
-                  ("strokeWeight" .=) <$> _lsStrokeWeight,
-                  ("strokeOpacity" .=) <$> _lsStrokeOpacity,
-                  ("strokeWeightStyler" .=) <$> _lsStrokeWeightStyler,
-                  ("strokeColor" .=) <$> _lsStrokeColor])
diff --git a/gen/Network/Google/FusionTables/Types/Sum.hs b/gen/Network/Google/FusionTables/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/FusionTables/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.FusionTables.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.FusionTables.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
diff --git a/gen/Network/Google/Resource/FusionTables/Column/Delete.hs b/gen/Network/Google/Resource/FusionTables/Column/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/Delete.hs
+++ /dev/null
@@ -1,99 +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.FusionTables.Column.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes the specified column.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.delete@.
-module Network.Google.Resource.FusionTables.Column.Delete
-    (
-    -- * REST Resource
-      ColumnDeleteResource
-
-    -- * Creating a Request
-    , columnDelete
-    , ColumnDelete
-
-    -- * Request Lenses
-    , cdTableId
-    , cdColumnId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.delete@ method which the
--- 'ColumnDelete' request conforms to.
-type ColumnDeleteResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               Capture "columnId" Text :>
-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Deletes the specified column.
---
--- /See:/ 'columnDelete' smart constructor.
-data ColumnDelete =
-  ColumnDelete'
-    { _cdTableId  :: !Text
-    , _cdColumnId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cdTableId'
---
--- * 'cdColumnId'
-columnDelete
-    :: Text -- ^ 'cdTableId'
-    -> Text -- ^ 'cdColumnId'
-    -> ColumnDelete
-columnDelete pCdTableId_ pCdColumnId_ =
-  ColumnDelete' {_cdTableId = pCdTableId_, _cdColumnId = pCdColumnId_}
-
-
--- | Table from which the column is being deleted.
-cdTableId :: Lens' ColumnDelete Text
-cdTableId
-  = lens _cdTableId (\ s a -> s{_cdTableId = a})
-
--- | Name or identifier for the column being deleted.
-cdColumnId :: Lens' ColumnDelete Text
-cdColumnId
-  = lens _cdColumnId (\ s a -> s{_cdColumnId = a})
-
-instance GoogleRequest ColumnDelete where
-        type Rs ColumnDelete = ()
-        type Scopes ColumnDelete =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient ColumnDelete'{..}
-          = go _cdTableId _cdColumnId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Column/Get.hs b/gen/Network/Google/Resource/FusionTables/Column/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/Get.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Column.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)
---
--- Retrieves a specific column by its ID.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.get@.
-module Network.Google.Resource.FusionTables.Column.Get
-    (
-    -- * REST Resource
-      ColumnGetResource
-
-    -- * Creating a Request
-    , columnGet
-    , ColumnGet
-
-    -- * Request Lenses
-    , cgTableId
-    , cgColumnId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.get@ method which the
--- 'ColumnGet' request conforms to.
-type ColumnGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               Capture "columnId" Text :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Column
-
--- | Retrieves a specific column by its ID.
---
--- /See:/ 'columnGet' smart constructor.
-data ColumnGet =
-  ColumnGet'
-    { _cgTableId  :: !Text
-    , _cgColumnId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cgTableId'
---
--- * 'cgColumnId'
-columnGet
-    :: Text -- ^ 'cgTableId'
-    -> Text -- ^ 'cgColumnId'
-    -> ColumnGet
-columnGet pCgTableId_ pCgColumnId_ =
-  ColumnGet' {_cgTableId = pCgTableId_, _cgColumnId = pCgColumnId_}
-
-
--- | Table to which the column belongs.
-cgTableId :: Lens' ColumnGet Text
-cgTableId
-  = lens _cgTableId (\ s a -> s{_cgTableId = a})
-
--- | Name or identifier for the column that is being requested.
-cgColumnId :: Lens' ColumnGet Text
-cgColumnId
-  = lens _cgColumnId (\ s a -> s{_cgColumnId = a})
-
-instance GoogleRequest ColumnGet where
-        type Rs ColumnGet = Column
-        type Scopes ColumnGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient ColumnGet'{..}
-          = go _cgTableId _cgColumnId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Column/Insert.hs b/gen/Network/Google/Resource/FusionTables/Column/Insert.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/Insert.hs
+++ /dev/null
@@ -1,99 +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.FusionTables.Column.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)
---
--- Adds a new column to the table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.insert@.
-module Network.Google.Resource.FusionTables.Column.Insert
-    (
-    -- * REST Resource
-      ColumnInsertResource
-
-    -- * Creating a Request
-    , columnInsert
-    , ColumnInsert
-
-    -- * Request Lenses
-    , ciPayload
-    , ciTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.insert@ method which the
--- 'ColumnInsert' request conforms to.
-type ColumnInsertResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               QueryParam "alt" AltJSON :>
-                 ReqBody '[JSON] Column :> Post '[JSON] Column
-
--- | Adds a new column to the table.
---
--- /See:/ 'columnInsert' smart constructor.
-data ColumnInsert =
-  ColumnInsert'
-    { _ciPayload :: !Column
-    , _ciTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ciPayload'
---
--- * 'ciTableId'
-columnInsert
-    :: Column -- ^ 'ciPayload'
-    -> Text -- ^ 'ciTableId'
-    -> ColumnInsert
-columnInsert pCiPayload_ pCiTableId_ =
-  ColumnInsert' {_ciPayload = pCiPayload_, _ciTableId = pCiTableId_}
-
-
--- | Multipart request metadata.
-ciPayload :: Lens' ColumnInsert Column
-ciPayload
-  = lens _ciPayload (\ s a -> s{_ciPayload = a})
-
--- | Table for which a new column is being added.
-ciTableId :: Lens' ColumnInsert Text
-ciTableId
-  = lens _ciTableId (\ s a -> s{_ciTableId = a})
-
-instance GoogleRequest ColumnInsert where
-        type Rs ColumnInsert = Column
-        type Scopes ColumnInsert =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient ColumnInsert'{..}
-          = go _ciTableId (Just AltJSON) _ciPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnInsertResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Column/List.hs b/gen/Network/Google/Resource/FusionTables/Column/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/List.hs
+++ /dev/null
@@ -1,112 +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.FusionTables.Column.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Retrieves a list of columns.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.list@.
-module Network.Google.Resource.FusionTables.Column.List
-    (
-    -- * REST Resource
-      ColumnListResource
-
-    -- * Creating a Request
-    , columnList'
-    , ColumnList'
-
-    -- * Request Lenses
-    , clPageToken
-    , clTableId
-    , clMaxResults
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.list@ method which the
--- 'ColumnList'' request conforms to.
-type ColumnListResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               QueryParam "pageToken" Text :>
-                 QueryParam "maxResults" (Textual Word32) :>
-                   QueryParam "alt" AltJSON :> Get '[JSON] ColumnList
-
--- | Retrieves a list of columns.
---
--- /See:/ 'columnList'' smart constructor.
-data ColumnList' =
-  ColumnList''
-    { _clPageToken  :: !(Maybe Text)
-    , _clTableId    :: !Text
-    , _clMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnList'' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'clPageToken'
---
--- * 'clTableId'
---
--- * 'clMaxResults'
-columnList'
-    :: Text -- ^ 'clTableId'
-    -> ColumnList'
-columnList' pClTableId_ =
-  ColumnList''
-    {_clPageToken = Nothing, _clTableId = pClTableId_, _clMaxResults = Nothing}
-
-
--- | Continuation token specifying which result page to return.
-clPageToken :: Lens' ColumnList' (Maybe Text)
-clPageToken
-  = lens _clPageToken (\ s a -> s{_clPageToken = a})
-
--- | Table whose columns are being listed.
-clTableId :: Lens' ColumnList' Text
-clTableId
-  = lens _clTableId (\ s a -> s{_clTableId = a})
-
--- | Maximum number of columns to return. Default is 5.
-clMaxResults :: Lens' ColumnList' (Maybe Word32)
-clMaxResults
-  = lens _clMaxResults (\ s a -> s{_clMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest ColumnList' where
-        type Rs ColumnList' = ColumnList
-        type Scopes ColumnList' =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient ColumnList''{..}
-          = go _clTableId _clPageToken _clMaxResults
-              (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Column/Patch.hs b/gen/Network/Google/Resource/FusionTables/Column/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/Patch.hs
+++ /dev/null
@@ -1,116 +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.FusionTables.Column.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates the name or type of an existing column. This method supports
--- patch semantics.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.patch@.
-module Network.Google.Resource.FusionTables.Column.Patch
-    (
-    -- * REST Resource
-      ColumnPatchResource
-
-    -- * Creating a Request
-    , columnPatch
-    , ColumnPatch
-
-    -- * Request Lenses
-    , cpPayload
-    , cpTableId
-    , cpColumnId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.patch@ method which the
--- 'ColumnPatch' request conforms to.
-type ColumnPatchResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               Capture "columnId" Text :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] Column :> Patch '[JSON] Column
-
--- | Updates the name or type of an existing column. This method supports
--- patch semantics.
---
--- /See:/ 'columnPatch' smart constructor.
-data ColumnPatch =
-  ColumnPatch'
-    { _cpPayload  :: !Column
-    , _cpTableId  :: !Text
-    , _cpColumnId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpPayload'
---
--- * 'cpTableId'
---
--- * 'cpColumnId'
-columnPatch
-    :: Column -- ^ 'cpPayload'
-    -> Text -- ^ 'cpTableId'
-    -> Text -- ^ 'cpColumnId'
-    -> ColumnPatch
-columnPatch pCpPayload_ pCpTableId_ pCpColumnId_ =
-  ColumnPatch'
-    { _cpPayload = pCpPayload_
-    , _cpTableId = pCpTableId_
-    , _cpColumnId = pCpColumnId_
-    }
-
-
--- | Multipart request metadata.
-cpPayload :: Lens' ColumnPatch Column
-cpPayload
-  = lens _cpPayload (\ s a -> s{_cpPayload = a})
-
--- | Table for which the column is being updated.
-cpTableId :: Lens' ColumnPatch Text
-cpTableId
-  = lens _cpTableId (\ s a -> s{_cpTableId = a})
-
--- | Name or identifier for the column that is being updated.
-cpColumnId :: Lens' ColumnPatch Text
-cpColumnId
-  = lens _cpColumnId (\ s a -> s{_cpColumnId = a})
-
-instance GoogleRequest ColumnPatch where
-        type Rs ColumnPatch = Column
-        type Scopes ColumnPatch =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient ColumnPatch'{..}
-          = go _cpTableId _cpColumnId (Just AltJSON) _cpPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Column/Update.hs b/gen/Network/Google/Resource/FusionTables/Column/Update.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Column/Update.hs
+++ /dev/null
@@ -1,114 +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.FusionTables.Column.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)
---
--- Updates the name or type of an existing column.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.column.update@.
-module Network.Google.Resource.FusionTables.Column.Update
-    (
-    -- * REST Resource
-      ColumnUpdateResource
-
-    -- * Creating a Request
-    , columnUpdate
-    , ColumnUpdate
-
-    -- * Request Lenses
-    , cuPayload
-    , cuTableId
-    , cuColumnId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.column.update@ method which the
--- 'ColumnUpdate' request conforms to.
-type ColumnUpdateResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "columns" :>
-               Capture "columnId" Text :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] Column :> Put '[JSON] Column
-
--- | Updates the name or type of an existing column.
---
--- /See:/ 'columnUpdate' smart constructor.
-data ColumnUpdate =
-  ColumnUpdate'
-    { _cuPayload  :: !Column
-    , _cuTableId  :: !Text
-    , _cuColumnId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ColumnUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cuPayload'
---
--- * 'cuTableId'
---
--- * 'cuColumnId'
-columnUpdate
-    :: Column -- ^ 'cuPayload'
-    -> Text -- ^ 'cuTableId'
-    -> Text -- ^ 'cuColumnId'
-    -> ColumnUpdate
-columnUpdate pCuPayload_ pCuTableId_ pCuColumnId_ =
-  ColumnUpdate'
-    { _cuPayload = pCuPayload_
-    , _cuTableId = pCuTableId_
-    , _cuColumnId = pCuColumnId_
-    }
-
-
--- | Multipart request metadata.
-cuPayload :: Lens' ColumnUpdate Column
-cuPayload
-  = lens _cuPayload (\ s a -> s{_cuPayload = a})
-
--- | Table for which the column is being updated.
-cuTableId :: Lens' ColumnUpdate Text
-cuTableId
-  = lens _cuTableId (\ s a -> s{_cuTableId = a})
-
--- | Name or identifier for the column that is being updated.
-cuColumnId :: Lens' ColumnUpdate Text
-cuColumnId
-  = lens _cuColumnId (\ s a -> s{_cuColumnId = a})
-
-instance GoogleRequest ColumnUpdate where
-        type Rs ColumnUpdate = Column
-        type Scopes ColumnUpdate =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient ColumnUpdate'{..}
-          = go _cuTableId _cuColumnId (Just AltJSON) _cuPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy ColumnUpdateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Query/SQL.hs b/gen/Network/Google/Resource/FusionTables/Query/SQL.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Query/SQL.hs
+++ /dev/null
@@ -1,132 +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.FusionTables.Query.SQL
--- 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)
---
--- Executes a Fusion Tables SQL statement, which can be any of - SELECT -
--- INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.query.sql@.
-module Network.Google.Resource.FusionTables.Query.SQL
-    (
-    -- * REST Resource
-      QuerySQLResource
-
-    -- * Creating a Request
-    , querySQL
-    , QuerySQL
-
-    -- * Request Lenses
-    , qsqlTyped
-    , qsqlHdrs
-    , qsqlSQL
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.query.sql@ method which the
--- 'QuerySQL' request conforms to.
-type QuerySQLResource =
-     "fusiontables" :>
-       "v2" :>
-         "query" :>
-           QueryParam "sql" Text :>
-             QueryParam "typed" Bool :>
-               QueryParam "hdrs" Bool :>
-                 QueryParam "alt" AltJSON :> Post '[JSON] SQLresponse
-       :<|>
-       "fusiontables" :>
-         "v2" :>
-           "query" :>
-             QueryParam "sql" Text :>
-               QueryParam "typed" Bool :>
-                 QueryParam "hdrs" Bool :>
-                   QueryParam "alt" AltMedia :>
-                     Post '[OctetStream] Stream
-
--- | Executes a Fusion Tables SQL statement, which can be any of - SELECT -
--- INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement.
---
--- /See:/ 'querySQL' smart constructor.
-data QuerySQL =
-  QuerySQL'
-    { _qsqlTyped :: !(Maybe Bool)
-    , _qsqlHdrs  :: !(Maybe Bool)
-    , _qsqlSQL   :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'QuerySQL' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'qsqlTyped'
---
--- * 'qsqlHdrs'
---
--- * 'qsqlSQL'
-querySQL
-    :: Text -- ^ 'qsqlSQL'
-    -> QuerySQL
-querySQL pQsqlSQL_ =
-  QuerySQL' {_qsqlTyped = Nothing, _qsqlHdrs = Nothing, _qsqlSQL = pQsqlSQL_}
-
-
--- | Whether typed values are returned in the (JSON) response: numbers for
--- numeric values and parsed geometries for KML values. Default is true.
-qsqlTyped :: Lens' QuerySQL (Maybe Bool)
-qsqlTyped
-  = lens _qsqlTyped (\ s a -> s{_qsqlTyped = a})
-
--- | Whether column names are included in the first row. Default is true.
-qsqlHdrs :: Lens' QuerySQL (Maybe Bool)
-qsqlHdrs = lens _qsqlHdrs (\ s a -> s{_qsqlHdrs = a})
-
--- | A Fusion Tables SQL statement, which can be any of - SELECT - INSERT -
--- UPDATE - DELETE - SHOW - DESCRIBE - CREATE
-qsqlSQL :: Lens' QuerySQL Text
-qsqlSQL = lens _qsqlSQL (\ s a -> s{_qsqlSQL = a})
-
-instance GoogleRequest QuerySQL where
-        type Rs QuerySQL = SQLresponse
-        type Scopes QuerySQL =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient QuerySQL'{..}
-          = go (Just _qsqlSQL) _qsqlTyped _qsqlHdrs
-              (Just AltJSON)
-              fusionTablesService
-          where go :<|> _
-                  = buildClient (Proxy :: Proxy QuerySQLResource)
-                      mempty
-
-instance GoogleRequest (MediaDownload QuerySQL) where
-        type Rs (MediaDownload QuerySQL) = Stream
-        type Scopes (MediaDownload QuerySQL) =
-             Scopes QuerySQL
-        requestClient (MediaDownload QuerySQL'{..})
-          = go (Just _qsqlSQL) _qsqlTyped _qsqlHdrs
-              (Just AltMedia)
-              fusionTablesService
-          where _ :<|> go
-                  = buildClient (Proxy :: Proxy QuerySQLResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Query/SQLGet.hs b/gen/Network/Google/Resource/FusionTables/Query/SQLGet.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Query/SQLGet.hs
+++ /dev/null
@@ -1,132 +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.FusionTables.Query.SQLGet
--- 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)
---
--- Executes a SQL statement which can be any of - SELECT - SHOW - DESCRIBE
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.query.sqlGet@.
-module Network.Google.Resource.FusionTables.Query.SQLGet
-    (
-    -- * REST Resource
-      QuerySQLGetResource
-
-    -- * Creating a Request
-    , querySQLGet
-    , QuerySQLGet
-
-    -- * Request Lenses
-    , qsqlgTyped
-    , qsqlgHdrs
-    , qsqlgSQL
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.query.sqlGet@ method which the
--- 'QuerySQLGet' request conforms to.
-type QuerySQLGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "query" :>
-           QueryParam "sql" Text :>
-             QueryParam "typed" Bool :>
-               QueryParam "hdrs" Bool :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] SQLresponse
-       :<|>
-       "fusiontables" :>
-         "v2" :>
-           "query" :>
-             QueryParam "sql" Text :>
-               QueryParam "typed" Bool :>
-                 QueryParam "hdrs" Bool :>
-                   QueryParam "alt" AltMedia :>
-                     Get '[OctetStream] Stream
-
--- | Executes a SQL statement which can be any of - SELECT - SHOW - DESCRIBE
---
--- /See:/ 'querySQLGet' smart constructor.
-data QuerySQLGet =
-  QuerySQLGet'
-    { _qsqlgTyped :: !(Maybe Bool)
-    , _qsqlgHdrs  :: !(Maybe Bool)
-    , _qsqlgSQL   :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'QuerySQLGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'qsqlgTyped'
---
--- * 'qsqlgHdrs'
---
--- * 'qsqlgSQL'
-querySQLGet
-    :: Text -- ^ 'qsqlgSQL'
-    -> QuerySQLGet
-querySQLGet pQsqlgSQL_ =
-  QuerySQLGet'
-    {_qsqlgTyped = Nothing, _qsqlgHdrs = Nothing, _qsqlgSQL = pQsqlgSQL_}
-
-
--- | Whether typed values are returned in the (JSON) response: numbers for
--- numeric values and parsed geometries for KML values. Default is true.
-qsqlgTyped :: Lens' QuerySQLGet (Maybe Bool)
-qsqlgTyped
-  = lens _qsqlgTyped (\ s a -> s{_qsqlgTyped = a})
-
--- | Whether column names are included (in the first row). Default is true.
-qsqlgHdrs :: Lens' QuerySQLGet (Maybe Bool)
-qsqlgHdrs
-  = lens _qsqlgHdrs (\ s a -> s{_qsqlgHdrs = a})
-
--- | A SQL statement which can be any of - SELECT - SHOW - DESCRIBE
-qsqlgSQL :: Lens' QuerySQLGet Text
-qsqlgSQL = lens _qsqlgSQL (\ s a -> s{_qsqlgSQL = a})
-
-instance GoogleRequest QuerySQLGet where
-        type Rs QuerySQLGet = SQLresponse
-        type Scopes QuerySQLGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient QuerySQLGet'{..}
-          = go (Just _qsqlgSQL) _qsqlgTyped _qsqlgHdrs
-              (Just AltJSON)
-              fusionTablesService
-          where go :<|> _
-                  = buildClient (Proxy :: Proxy QuerySQLGetResource)
-                      mempty
-
-instance GoogleRequest (MediaDownload QuerySQLGet)
-         where
-        type Rs (MediaDownload QuerySQLGet) = Stream
-        type Scopes (MediaDownload QuerySQLGet) =
-             Scopes QuerySQLGet
-        requestClient (MediaDownload QuerySQLGet'{..})
-          = go (Just _qsqlgSQL) _qsqlgTyped _qsqlgHdrs
-              (Just AltMedia)
-              fusionTablesService
-          where _ :<|> go
-                  = buildClient (Proxy :: Proxy QuerySQLGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/Delete.hs b/gen/Network/Google/Resource/FusionTables/Style/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/Delete.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Style.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a style.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.delete@.
-module Network.Google.Resource.FusionTables.Style.Delete
-    (
-    -- * REST Resource
-      StyleDeleteResource
-
-    -- * Creating a Request
-    , styleDelete
-    , StyleDelete
-
-    -- * Request Lenses
-    , sdStyleId
-    , sdTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.delete@ method which the
--- 'StyleDelete' request conforms to.
-type StyleDeleteResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               Capture "styleId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Deletes a style.
---
--- /See:/ 'styleDelete' smart constructor.
-data StyleDelete =
-  StyleDelete'
-    { _sdStyleId :: !(Textual Int32)
-    , _sdTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sdStyleId'
---
--- * 'sdTableId'
-styleDelete
-    :: Int32 -- ^ 'sdStyleId'
-    -> Text -- ^ 'sdTableId'
-    -> StyleDelete
-styleDelete pSdStyleId_ pSdTableId_ =
-  StyleDelete' {_sdStyleId = _Coerce # pSdStyleId_, _sdTableId = pSdTableId_}
-
-
--- | Identifier (within a table) for the style being deleted
-sdStyleId :: Lens' StyleDelete Int32
-sdStyleId
-  = lens _sdStyleId (\ s a -> s{_sdStyleId = a}) .
-      _Coerce
-
--- | Table from which the style is being deleted
-sdTableId :: Lens' StyleDelete Text
-sdTableId
-  = lens _sdTableId (\ s a -> s{_sdTableId = a})
-
-instance GoogleRequest StyleDelete where
-        type Rs StyleDelete = ()
-        type Scopes StyleDelete =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient StyleDelete'{..}
-          = go _sdTableId _sdStyleId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StyleDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/Get.hs b/gen/Network/Google/Resource/FusionTables/Style/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/Get.hs
+++ /dev/null
@@ -1,101 +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.FusionTables.Style.Get
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Gets a specific style.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.get@.
-module Network.Google.Resource.FusionTables.Style.Get
-    (
-    -- * REST Resource
-      StyleGetResource
-
-    -- * Creating a Request
-    , styleGet
-    , StyleGet
-
-    -- * Request Lenses
-    , sgStyleId
-    , sgTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.get@ method which the
--- 'StyleGet' request conforms to.
-type StyleGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               Capture "styleId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] StyleSetting
-
--- | Gets a specific style.
---
--- /See:/ 'styleGet' smart constructor.
-data StyleGet =
-  StyleGet'
-    { _sgStyleId :: !(Textual Int32)
-    , _sgTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sgStyleId'
---
--- * 'sgTableId'
-styleGet
-    :: Int32 -- ^ 'sgStyleId'
-    -> Text -- ^ 'sgTableId'
-    -> StyleGet
-styleGet pSgStyleId_ pSgTableId_ =
-  StyleGet' {_sgStyleId = _Coerce # pSgStyleId_, _sgTableId = pSgTableId_}
-
-
--- | Identifier (integer) for a specific style in a table
-sgStyleId :: Lens' StyleGet Int32
-sgStyleId
-  = lens _sgStyleId (\ s a -> s{_sgStyleId = a}) .
-      _Coerce
-
--- | Table to which the requested style belongs
-sgTableId :: Lens' StyleGet Text
-sgTableId
-  = lens _sgTableId (\ s a -> s{_sgTableId = a})
-
-instance GoogleRequest StyleGet where
-        type Rs StyleGet = StyleSetting
-        type Scopes StyleGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient StyleGet'{..}
-          = go _sgTableId _sgStyleId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StyleGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/Insert.hs b/gen/Network/Google/Resource/FusionTables/Style/Insert.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/Insert.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Style.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)
---
--- Adds a new style for the table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.insert@.
-module Network.Google.Resource.FusionTables.Style.Insert
-    (
-    -- * REST Resource
-      StyleInsertResource
-
-    -- * Creating a Request
-    , styleInsert
-    , StyleInsert
-
-    -- * Request Lenses
-    , siPayload
-    , siTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.insert@ method which the
--- 'StyleInsert' request conforms to.
-type StyleInsertResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               QueryParam "alt" AltJSON :>
-                 ReqBody '[JSON] StyleSetting :>
-                   Post '[JSON] StyleSetting
-
--- | Adds a new style for the table.
---
--- /See:/ 'styleInsert' smart constructor.
-data StyleInsert =
-  StyleInsert'
-    { _siPayload :: !StyleSetting
-    , _siTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'siPayload'
---
--- * 'siTableId'
-styleInsert
-    :: StyleSetting -- ^ 'siPayload'
-    -> Text -- ^ 'siTableId'
-    -> StyleInsert
-styleInsert pSiPayload_ pSiTableId_ =
-  StyleInsert' {_siPayload = pSiPayload_, _siTableId = pSiTableId_}
-
-
--- | Multipart request metadata.
-siPayload :: Lens' StyleInsert StyleSetting
-siPayload
-  = lens _siPayload (\ s a -> s{_siPayload = a})
-
--- | Table for which a new style is being added
-siTableId :: Lens' StyleInsert Text
-siTableId
-  = lens _siTableId (\ s a -> s{_siTableId = a})
-
-instance GoogleRequest StyleInsert where
-        type Rs StyleInsert = StyleSetting
-        type Scopes StyleInsert =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient StyleInsert'{..}
-          = go _siTableId (Just AltJSON) _siPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StyleInsertResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/List.hs b/gen/Network/Google/Resource/FusionTables/Style/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/List.hs
+++ /dev/null
@@ -1,113 +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.FusionTables.Style.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Retrieves a list of styles.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.list@.
-module Network.Google.Resource.FusionTables.Style.List
-    (
-    -- * REST Resource
-      StyleListResource
-
-    -- * Creating a Request
-    , styleList
-    , StyleList
-
-    -- * Request Lenses
-    , slPageToken
-    , slTableId
-    , slMaxResults
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.list@ method which the
--- 'StyleList' request conforms to.
-type StyleListResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               QueryParam "pageToken" Text :>
-                 QueryParam "maxResults" (Textual Word32) :>
-                   QueryParam "alt" AltJSON :>
-                     Get '[JSON] StyleSettingList
-
--- | Retrieves a list of styles.
---
--- /See:/ 'styleList' smart constructor.
-data StyleList =
-  StyleList'
-    { _slPageToken  :: !(Maybe Text)
-    , _slTableId    :: !Text
-    , _slMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'slPageToken'
---
--- * 'slTableId'
---
--- * 'slMaxResults'
-styleList
-    :: Text -- ^ 'slTableId'
-    -> StyleList
-styleList pSlTableId_ =
-  StyleList'
-    {_slPageToken = Nothing, _slTableId = pSlTableId_, _slMaxResults = Nothing}
-
-
--- | Continuation token specifying which result page to return. Optional.
-slPageToken :: Lens' StyleList (Maybe Text)
-slPageToken
-  = lens _slPageToken (\ s a -> s{_slPageToken = a})
-
--- | Table whose styles are being listed
-slTableId :: Lens' StyleList Text
-slTableId
-  = lens _slTableId (\ s a -> s{_slTableId = a})
-
--- | Maximum number of styles to return. Optional. Default is 5.
-slMaxResults :: Lens' StyleList (Maybe Word32)
-slMaxResults
-  = lens _slMaxResults (\ s a -> s{_slMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest StyleList where
-        type Rs StyleList = StyleSettingList
-        type Scopes StyleList =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient StyleList'{..}
-          = go _slTableId _slPageToken _slMaxResults
-              (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StyleListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/Patch.hs b/gen/Network/Google/Resource/FusionTables/Style/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/Patch.hs
+++ /dev/null
@@ -1,116 +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.FusionTables.Style.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates an existing style. This method supports patch semantics.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.patch@.
-module Network.Google.Resource.FusionTables.Style.Patch
-    (
-    -- * REST Resource
-      StylePatchResource
-
-    -- * Creating a Request
-    , stylePatch
-    , StylePatch
-
-    -- * Request Lenses
-    , spPayload
-    , spStyleId
-    , spTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.patch@ method which the
--- 'StylePatch' request conforms to.
-type StylePatchResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               Capture "styleId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] StyleSetting :>
-                     Patch '[JSON] StyleSetting
-
--- | Updates an existing style. This method supports patch semantics.
---
--- /See:/ 'stylePatch' smart constructor.
-data StylePatch =
-  StylePatch'
-    { _spPayload :: !StyleSetting
-    , _spStyleId :: !(Textual Int32)
-    , _spTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StylePatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'spPayload'
---
--- * 'spStyleId'
---
--- * 'spTableId'
-stylePatch
-    :: StyleSetting -- ^ 'spPayload'
-    -> Int32 -- ^ 'spStyleId'
-    -> Text -- ^ 'spTableId'
-    -> StylePatch
-stylePatch pSpPayload_ pSpStyleId_ pSpTableId_ =
-  StylePatch'
-    { _spPayload = pSpPayload_
-    , _spStyleId = _Coerce # pSpStyleId_
-    , _spTableId = pSpTableId_
-    }
-
-
--- | Multipart request metadata.
-spPayload :: Lens' StylePatch StyleSetting
-spPayload
-  = lens _spPayload (\ s a -> s{_spPayload = a})
-
--- | Identifier (within a table) for the style being updated.
-spStyleId :: Lens' StylePatch Int32
-spStyleId
-  = lens _spStyleId (\ s a -> s{_spStyleId = a}) .
-      _Coerce
-
--- | Table whose style is being updated.
-spTableId :: Lens' StylePatch Text
-spTableId
-  = lens _spTableId (\ s a -> s{_spTableId = a})
-
-instance GoogleRequest StylePatch where
-        type Rs StylePatch = StyleSetting
-        type Scopes StylePatch =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient StylePatch'{..}
-          = go _spTableId _spStyleId (Just AltJSON) _spPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StylePatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Style/Update.hs b/gen/Network/Google/Resource/FusionTables/Style/Update.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Style/Update.hs
+++ /dev/null
@@ -1,116 +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.FusionTables.Style.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)
---
--- Updates an existing style.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.style.update@.
-module Network.Google.Resource.FusionTables.Style.Update
-    (
-    -- * REST Resource
-      StyleUpdateResource
-
-    -- * Creating a Request
-    , styleUpdate
-    , StyleUpdate
-
-    -- * Request Lenses
-    , suPayload
-    , suStyleId
-    , suTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.style.update@ method which the
--- 'StyleUpdate' request conforms to.
-type StyleUpdateResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "styles" :>
-               Capture "styleId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] StyleSetting :>
-                     Put '[JSON] StyleSetting
-
--- | Updates an existing style.
---
--- /See:/ 'styleUpdate' smart constructor.
-data StyleUpdate =
-  StyleUpdate'
-    { _suPayload :: !StyleSetting
-    , _suStyleId :: !(Textual Int32)
-    , _suTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StyleUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'suPayload'
---
--- * 'suStyleId'
---
--- * 'suTableId'
-styleUpdate
-    :: StyleSetting -- ^ 'suPayload'
-    -> Int32 -- ^ 'suStyleId'
-    -> Text -- ^ 'suTableId'
-    -> StyleUpdate
-styleUpdate pSuPayload_ pSuStyleId_ pSuTableId_ =
-  StyleUpdate'
-    { _suPayload = pSuPayload_
-    , _suStyleId = _Coerce # pSuStyleId_
-    , _suTableId = pSuTableId_
-    }
-
-
--- | Multipart request metadata.
-suPayload :: Lens' StyleUpdate StyleSetting
-suPayload
-  = lens _suPayload (\ s a -> s{_suPayload = a})
-
--- | Identifier (within a table) for the style being updated.
-suStyleId :: Lens' StyleUpdate Int32
-suStyleId
-  = lens _suStyleId (\ s a -> s{_suStyleId = a}) .
-      _Coerce
-
--- | Table whose style is being updated.
-suTableId :: Lens' StyleUpdate Text
-suTableId
-  = lens _suTableId (\ s a -> s{_suTableId = a})
-
-instance GoogleRequest StyleUpdate where
-        type Rs StyleUpdate = StyleSetting
-        type Scopes StyleUpdate =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient StyleUpdate'{..}
-          = go _suTableId _suStyleId (Just AltJSON) _suPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy StyleUpdateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Copy.hs b/gen/Network/Google/Resource/FusionTables/Table/Copy.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Copy.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Table.Copy
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Copies a table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.copy@.
-module Network.Google.Resource.FusionTables.Table.Copy
-    (
-    -- * REST Resource
-      TableCopyResource
-
-    -- * Creating a Request
-    , tableCopy
-    , TableCopy
-
-    -- * Request Lenses
-    , tcTableId
-    , tcCopyPresentation
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.copy@ method which the
--- 'TableCopy' request conforms to.
-type TableCopyResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "copy" :>
-               QueryParam "copyPresentation" Bool :>
-                 QueryParam "alt" AltJSON :> Post '[JSON] Table
-
--- | Copies a table.
---
--- /See:/ 'tableCopy' smart constructor.
-data TableCopy =
-  TableCopy'
-    { _tcTableId          :: !Text
-    , _tcCopyPresentation :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableCopy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tcTableId'
---
--- * 'tcCopyPresentation'
-tableCopy
-    :: Text -- ^ 'tcTableId'
-    -> TableCopy
-tableCopy pTcTableId_ =
-  TableCopy' {_tcTableId = pTcTableId_, _tcCopyPresentation = Nothing}
-
-
--- | ID of the table that is being copied.
-tcTableId :: Lens' TableCopy Text
-tcTableId
-  = lens _tcTableId (\ s a -> s{_tcTableId = a})
-
--- | Whether to also copy tabs, styles, and templates. Default is false.
-tcCopyPresentation :: Lens' TableCopy (Maybe Bool)
-tcCopyPresentation
-  = lens _tcCopyPresentation
-      (\ s a -> s{_tcCopyPresentation = a})
-
-instance GoogleRequest TableCopy where
-        type Rs TableCopy = Table
-        type Scopes TableCopy =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TableCopy'{..}
-          = go _tcTableId _tcCopyPresentation (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableCopyResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Delete.hs b/gen/Network/Google/Resource/FusionTables/Table/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Delete.hs
+++ /dev/null
@@ -1,85 +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.FusionTables.Table.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.delete@.
-module Network.Google.Resource.FusionTables.Table.Delete
-    (
-    -- * REST Resource
-      TableDeleteResource
-
-    -- * Creating a Request
-    , tableDelete
-    , TableDelete
-
-    -- * Request Lenses
-    , tddTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.delete@ method which the
--- 'TableDelete' request conforms to.
-type TableDeleteResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Deletes a table.
---
--- /See:/ 'tableDelete' smart constructor.
-newtype TableDelete =
-  TableDelete'
-    { _tddTableId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tddTableId'
-tableDelete
-    :: Text -- ^ 'tddTableId'
-    -> TableDelete
-tableDelete pTddTableId_ = TableDelete' {_tddTableId = pTddTableId_}
-
-
--- | ID of the table to be deleted.
-tddTableId :: Lens' TableDelete Text
-tddTableId
-  = lens _tddTableId (\ s a -> s{_tddTableId = a})
-
-instance GoogleRequest TableDelete where
-        type Rs TableDelete = ()
-        type Scopes TableDelete =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableDelete'{..}
-          = go _tddTableId (Just AltJSON) fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Get.hs b/gen/Network/Google/Resource/FusionTables/Table/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Get.hs
+++ /dev/null
@@ -1,86 +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.FusionTables.Table.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)
---
--- Retrieves a specific table by its ID.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.get@.
-module Network.Google.Resource.FusionTables.Table.Get
-    (
-    -- * REST Resource
-      TableGetResource
-
-    -- * Creating a Request
-    , tableGet
-    , TableGet
-
-    -- * Request Lenses
-    , tgTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.get@ method which the
--- 'TableGet' request conforms to.
-type TableGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             QueryParam "alt" AltJSON :> Get '[JSON] Table
-
--- | Retrieves a specific table by its ID.
---
--- /See:/ 'tableGet' smart constructor.
-newtype TableGet =
-  TableGet'
-    { _tgTableId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tgTableId'
-tableGet
-    :: Text -- ^ 'tgTableId'
-    -> TableGet
-tableGet pTgTableId_ = TableGet' {_tgTableId = pTgTableId_}
-
-
--- | Identifier for the table being requested.
-tgTableId :: Lens' TableGet Text
-tgTableId
-  = lens _tgTableId (\ s a -> s{_tgTableId = a})
-
-instance GoogleRequest TableGet where
-        type Rs TableGet = Table
-        type Scopes TableGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TableGet'{..}
-          = go _tgTableId (Just AltJSON) fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/ImportRows.hs b/gen/Network/Google/Resource/FusionTables/Table/ImportRows.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/ImportRows.hs
+++ /dev/null
@@ -1,194 +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.FusionTables.Table.ImportRows
--- 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)
---
--- Imports more rows into a table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.importRows@.
-module Network.Google.Resource.FusionTables.Table.ImportRows
-    (
-    -- * REST Resource
-      TableImportRowsResource
-
-    -- * Creating a Request
-    , tableImportRows
-    , TableImportRows
-
-    -- * Request Lenses
-    , tirStartLine
-    , tirEndLine
-    , tirTableId
-    , tirDelimiter
-    , tirEncoding
-    , tirIsStrict
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.importRows@ method which the
--- 'TableImportRows' request conforms to.
-type TableImportRowsResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "import" :>
-               QueryParam "startLine" (Textual Int32) :>
-                 QueryParam "endLine" (Textual Int32) :>
-                   QueryParam "delimiter" Text :>
-                     QueryParam "encoding" Text :>
-                       QueryParam "isStrict" Bool :>
-                         QueryParam "alt" AltJSON :> Post '[JSON] Import
-       :<|>
-       "upload" :>
-         "fusiontables" :>
-           "v2" :>
-             "tables" :>
-               Capture "tableId" Text :>
-                 "import" :>
-                   QueryParam "startLine" (Textual Int32) :>
-                     QueryParam "endLine" (Textual Int32) :>
-                       QueryParam "delimiter" Text :>
-                         QueryParam "encoding" Text :>
-                           QueryParam "isStrict" Bool :>
-                             QueryParam "alt" AltJSON :>
-                               QueryParam "uploadType" AltMedia :>
-                                 AltMedia :> Post '[JSON] Import
-
--- | Imports more rows into a table.
---
--- /See:/ 'tableImportRows' smart constructor.
-data TableImportRows =
-  TableImportRows'
-    { _tirStartLine :: !(Maybe (Textual Int32))
-    , _tirEndLine   :: !(Maybe (Textual Int32))
-    , _tirTableId   :: !Text
-    , _tirDelimiter :: !(Maybe Text)
-    , _tirEncoding  :: !(Maybe Text)
-    , _tirIsStrict  :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableImportRows' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tirStartLine'
---
--- * 'tirEndLine'
---
--- * 'tirTableId'
---
--- * 'tirDelimiter'
---
--- * 'tirEncoding'
---
--- * 'tirIsStrict'
-tableImportRows
-    :: Text -- ^ 'tirTableId'
-    -> TableImportRows
-tableImportRows pTirTableId_ =
-  TableImportRows'
-    { _tirStartLine = Nothing
-    , _tirEndLine = Nothing
-    , _tirTableId = pTirTableId_
-    , _tirDelimiter = Nothing
-    , _tirEncoding = Nothing
-    , _tirIsStrict = Nothing
-    }
-
-
--- | The index of the first line from which to start importing, inclusive.
--- Default is 0.
-tirStartLine :: Lens' TableImportRows (Maybe Int32)
-tirStartLine
-  = lens _tirStartLine (\ s a -> s{_tirStartLine = a})
-      . mapping _Coerce
-
--- | The index of the line up to which data will be imported. Default is to
--- import the entire file. If endLine is negative, it is an offset from the
--- end of the file; the imported content will exclude the last endLine
--- lines.
-tirEndLine :: Lens' TableImportRows (Maybe Int32)
-tirEndLine
-  = lens _tirEndLine (\ s a -> s{_tirEndLine = a}) .
-      mapping _Coerce
-
--- | The table into which new rows are being imported.
-tirTableId :: Lens' TableImportRows Text
-tirTableId
-  = lens _tirTableId (\ s a -> s{_tirTableId = a})
-
--- | The delimiter used to separate cell values. This can only consist of a
--- single character. Default is ,.
-tirDelimiter :: Lens' TableImportRows (Maybe Text)
-tirDelimiter
-  = lens _tirDelimiter (\ s a -> s{_tirDelimiter = a})
-
--- | The encoding of the content. Default is UTF-8. Use auto-detect if you
--- are unsure of the encoding.
-tirEncoding :: Lens' TableImportRows (Maybe Text)
-tirEncoding
-  = lens _tirEncoding (\ s a -> s{_tirEncoding = a})
-
--- | Whether the imported CSV must have the same number of values for each
--- row. If false, rows with fewer values will be padded with empty values.
--- Default is true.
-tirIsStrict :: Lens' TableImportRows (Maybe Bool)
-tirIsStrict
-  = lens _tirIsStrict (\ s a -> s{_tirIsStrict = a})
-
-instance GoogleRequest TableImportRows where
-        type Rs TableImportRows = Import
-        type Scopes TableImportRows =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableImportRows'{..}
-          = go _tirTableId _tirStartLine _tirEndLine
-              _tirDelimiter
-              _tirEncoding
-              _tirIsStrict
-              (Just AltJSON)
-              fusionTablesService
-          where go :<|> _
-                  = buildClient
-                      (Proxy :: Proxy TableImportRowsResource)
-                      mempty
-
-instance GoogleRequest (MediaUpload TableImportRows)
-         where
-        type Rs (MediaUpload TableImportRows) = Import
-        type Scopes (MediaUpload TableImportRows) =
-             Scopes TableImportRows
-        requestClient (MediaUpload TableImportRows'{..} body)
-          = go _tirTableId _tirStartLine _tirEndLine
-              _tirDelimiter
-              _tirEncoding
-              _tirIsStrict
-              (Just AltJSON)
-              (Just AltMedia)
-              body
-              fusionTablesService
-          where _ :<|> go
-                  = buildClient
-                      (Proxy :: Proxy TableImportRowsResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/ImportTable.hs b/gen/Network/Google/Resource/FusionTables/Table/ImportTable.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/ImportTable.hs
+++ /dev/null
@@ -1,141 +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.FusionTables.Table.ImportTable
--- 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)
---
--- Imports a new table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.importTable@.
-module Network.Google.Resource.FusionTables.Table.ImportTable
-    (
-    -- * REST Resource
-      TableImportTableResource
-
-    -- * Creating a Request
-    , tableImportTable
-    , TableImportTable
-
-    -- * Request Lenses
-    , titName
-    , titDelimiter
-    , titEncoding
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.importTable@ method which the
--- 'TableImportTable' request conforms to.
-type TableImportTableResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           "import" :>
-             QueryParam "name" Text :>
-               QueryParam "delimiter" Text :>
-                 QueryParam "encoding" Text :>
-                   QueryParam "alt" AltJSON :> Post '[JSON] Table
-       :<|>
-       "upload" :>
-         "fusiontables" :>
-           "v2" :>
-             "tables" :>
-               "import" :>
-                 QueryParam "name" Text :>
-                   QueryParam "delimiter" Text :>
-                     QueryParam "encoding" Text :>
-                       QueryParam "alt" AltJSON :>
-                         QueryParam "uploadType" AltMedia :>
-                           AltMedia :> Post '[JSON] Table
-
--- | Imports a new table.
---
--- /See:/ 'tableImportTable' smart constructor.
-data TableImportTable =
-  TableImportTable'
-    { _titName      :: !Text
-    , _titDelimiter :: !(Maybe Text)
-    , _titEncoding  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableImportTable' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'titName'
---
--- * 'titDelimiter'
---
--- * 'titEncoding'
-tableImportTable
-    :: Text -- ^ 'titName'
-    -> TableImportTable
-tableImportTable pTitName_ =
-  TableImportTable'
-    {_titName = pTitName_, _titDelimiter = Nothing, _titEncoding = Nothing}
-
-
--- | The name to be assigned to the new table.
-titName :: Lens' TableImportTable Text
-titName = lens _titName (\ s a -> s{_titName = a})
-
--- | The delimiter used to separate cell values. This can only consist of a
--- single character. Default is ,.
-titDelimiter :: Lens' TableImportTable (Maybe Text)
-titDelimiter
-  = lens _titDelimiter (\ s a -> s{_titDelimiter = a})
-
--- | The encoding of the content. Default is UTF-8. Use auto-detect if you
--- are unsure of the encoding.
-titEncoding :: Lens' TableImportTable (Maybe Text)
-titEncoding
-  = lens _titEncoding (\ s a -> s{_titEncoding = a})
-
-instance GoogleRequest TableImportTable where
-        type Rs TableImportTable = Table
-        type Scopes TableImportTable =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableImportTable'{..}
-          = go (Just _titName) _titDelimiter _titEncoding
-              (Just AltJSON)
-              fusionTablesService
-          where go :<|> _
-                  = buildClient
-                      (Proxy :: Proxy TableImportTableResource)
-                      mempty
-
-instance GoogleRequest (MediaUpload TableImportTable)
-         where
-        type Rs (MediaUpload TableImportTable) = Table
-        type Scopes (MediaUpload TableImportTable) =
-             Scopes TableImportTable
-        requestClient
-          (MediaUpload TableImportTable'{..} body)
-          = go (Just _titName) _titDelimiter _titEncoding
-              (Just AltJSON)
-              (Just AltMedia)
-              body
-              fusionTablesService
-          where _ :<|> go
-                  = buildClient
-                      (Proxy :: Proxy TableImportTableResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Insert.hs b/gen/Network/Google/Resource/FusionTables/Table/Insert.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Insert.hs
+++ /dev/null
@@ -1,85 +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.FusionTables.Table.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)
---
--- Creates a new table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.insert@.
-module Network.Google.Resource.FusionTables.Table.Insert
-    (
-    -- * REST Resource
-      TableInsertResource
-
-    -- * Creating a Request
-    , tableInsert
-    , TableInsert
-
-    -- * Request Lenses
-    , tiPayload
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.insert@ method which the
--- 'TableInsert' request conforms to.
-type TableInsertResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           QueryParam "alt" AltJSON :>
-             ReqBody '[JSON] Table :> Post '[JSON] Table
-
--- | Creates a new table.
---
--- /See:/ 'tableInsert' smart constructor.
-newtype TableInsert =
-  TableInsert'
-    { _tiPayload :: Table
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tiPayload'
-tableInsert
-    :: Table -- ^ 'tiPayload'
-    -> TableInsert
-tableInsert pTiPayload_ = TableInsert' {_tiPayload = pTiPayload_}
-
-
--- | Multipart request metadata.
-tiPayload :: Lens' TableInsert Table
-tiPayload
-  = lens _tiPayload (\ s a -> s{_tiPayload = a})
-
-instance GoogleRequest TableInsert where
-        type Rs TableInsert = Table
-        type Scopes TableInsert =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableInsert'{..}
-          = go (Just AltJSON) _tiPayload fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableInsertResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/List.hs b/gen/Network/Google/Resource/FusionTables/Table/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/List.hs
+++ /dev/null
@@ -1,97 +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.FusionTables.Table.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Retrieves a list of tables a user owns.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.list@.
-module Network.Google.Resource.FusionTables.Table.List
-    (
-    -- * REST Resource
-      TableListResource
-
-    -- * Creating a Request
-    , tableList'
-    , TableList'
-
-    -- * Request Lenses
-    , tPageToken
-    , tMaxResults
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.list@ method which the
--- 'TableList'' request conforms to.
-type TableListResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           QueryParam "pageToken" Text :>
-             QueryParam "maxResults" (Textual Word32) :>
-               QueryParam "alt" AltJSON :> Get '[JSON] TableList
-
--- | Retrieves a list of tables a user owns.
---
--- /See:/ 'tableList'' smart constructor.
-data TableList' =
-  TableList''
-    { _tPageToken  :: !(Maybe Text)
-    , _tMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableList'' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tPageToken'
---
--- * 'tMaxResults'
-tableList'
-    :: TableList'
-tableList' = TableList'' {_tPageToken = Nothing, _tMaxResults = Nothing}
-
-
--- | Continuation token specifying which result page to return.
-tPageToken :: Lens' TableList' (Maybe Text)
-tPageToken
-  = lens _tPageToken (\ s a -> s{_tPageToken = a})
-
--- | Maximum number of tables to return. Default is 5.
-tMaxResults :: Lens' TableList' (Maybe Word32)
-tMaxResults
-  = lens _tMaxResults (\ s a -> s{_tMaxResults = a}) .
-      mapping _Coerce
-
-instance GoogleRequest TableList' where
-        type Rs TableList' = TableList
-        type Scopes TableList' =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TableList''{..}
-          = go _tPageToken _tMaxResults (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Patch.hs b/gen/Network/Google/Resource/FusionTables/Table/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Patch.hs
+++ /dev/null
@@ -1,121 +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.FusionTables.Table.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates an existing table. Unless explicitly requested, only the name,
--- description, and attribution will be updated. This method supports patch
--- semantics.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.patch@.
-module Network.Google.Resource.FusionTables.Table.Patch
-    (
-    -- * REST Resource
-      TablePatchResource
-
-    -- * Creating a Request
-    , tablePatch
-    , TablePatch
-
-    -- * Request Lenses
-    , tpPayload
-    , tpReplaceViewDefinition
-    , tpTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.patch@ method which the
--- 'TablePatch' request conforms to.
-type TablePatchResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             QueryParam "replaceViewDefinition" Bool :>
-               QueryParam "alt" AltJSON :>
-                 ReqBody '[JSON] Table :> Patch '[JSON] Table
-
--- | Updates an existing table. Unless explicitly requested, only the name,
--- description, and attribution will be updated. This method supports patch
--- semantics.
---
--- /See:/ 'tablePatch' smart constructor.
-data TablePatch =
-  TablePatch'
-    { _tpPayload               :: !Table
-    , _tpReplaceViewDefinition :: !(Maybe Bool)
-    , _tpTableId               :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TablePatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tpPayload'
---
--- * 'tpReplaceViewDefinition'
---
--- * 'tpTableId'
-tablePatch
-    :: Table -- ^ 'tpPayload'
-    -> Text -- ^ 'tpTableId'
-    -> TablePatch
-tablePatch pTpPayload_ pTpTableId_ =
-  TablePatch'
-    { _tpPayload = pTpPayload_
-    , _tpReplaceViewDefinition = Nothing
-    , _tpTableId = pTpTableId_
-    }
-
-
--- | Multipart request metadata.
-tpPayload :: Lens' TablePatch Table
-tpPayload
-  = lens _tpPayload (\ s a -> s{_tpPayload = a})
-
--- | Whether the view definition is also updated. The specified view
--- definition replaces the existing one. Only a view can be updated with a
--- new definition.
-tpReplaceViewDefinition :: Lens' TablePatch (Maybe Bool)
-tpReplaceViewDefinition
-  = lens _tpReplaceViewDefinition
-      (\ s a -> s{_tpReplaceViewDefinition = a})
-
--- | ID of the table that is being updated.
-tpTableId :: Lens' TablePatch Text
-tpTableId
-  = lens _tpTableId (\ s a -> s{_tpTableId = a})
-
-instance GoogleRequest TablePatch where
-        type Rs TablePatch = Table
-        type Scopes TablePatch =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TablePatch'{..}
-          = go _tpTableId _tpReplaceViewDefinition
-              (Just AltJSON)
-              _tpPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TablePatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/RefetchSheet.hs b/gen/Network/Google/Resource/FusionTables/Table/RefetchSheet.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/RefetchSheet.hs
+++ /dev/null
@@ -1,91 +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.FusionTables.Table.RefetchSheet
--- 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)
---
--- Replaces rows of the table with the rows of the spreadsheet that is
--- first imported from. Current rows remain visible until all replacement
--- rows are ready.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.refetchSheet@.
-module Network.Google.Resource.FusionTables.Table.RefetchSheet
-    (
-    -- * REST Resource
-      TableRefetchSheetResource
-
-    -- * Creating a Request
-    , tableRefetchSheet
-    , TableRefetchSheet
-
-    -- * Request Lenses
-    , trsTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.refetchSheet@ method which the
--- 'TableRefetchSheet' request conforms to.
-type TableRefetchSheetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "refetch" :>
-               QueryParam "alt" AltJSON :> Post '[JSON] Task
-
--- | Replaces rows of the table with the rows of the spreadsheet that is
--- first imported from. Current rows remain visible until all replacement
--- rows are ready.
---
--- /See:/ 'tableRefetchSheet' smart constructor.
-newtype TableRefetchSheet =
-  TableRefetchSheet'
-    { _trsTableId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableRefetchSheet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'trsTableId'
-tableRefetchSheet
-    :: Text -- ^ 'trsTableId'
-    -> TableRefetchSheet
-tableRefetchSheet pTrsTableId_ = TableRefetchSheet' {_trsTableId = pTrsTableId_}
-
-
--- | Table whose rows will be replaced from the spreadsheet.
-trsTableId :: Lens' TableRefetchSheet Text
-trsTableId
-  = lens _trsTableId (\ s a -> s{_trsTableId = a})
-
-instance GoogleRequest TableRefetchSheet where
-        type Rs TableRefetchSheet = Task
-        type Scopes TableRefetchSheet =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableRefetchSheet'{..}
-          = go _trsTableId (Just AltJSON) fusionTablesService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy TableRefetchSheetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/ReplaceRows.hs b/gen/Network/Google/Resource/FusionTables/Table/ReplaceRows.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/ReplaceRows.hs
+++ /dev/null
@@ -1,198 +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.FusionTables.Table.ReplaceRows
--- 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)
---
--- Replaces rows of an existing table. Current rows remain visible until
--- all replacement rows are ready.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.replaceRows@.
-module Network.Google.Resource.FusionTables.Table.ReplaceRows
-    (
-    -- * REST Resource
-      TableReplaceRowsResource
-
-    -- * Creating a Request
-    , tableReplaceRows
-    , TableReplaceRows
-
-    -- * Request Lenses
-    , trrStartLine
-    , trrEndLine
-    , trrTableId
-    , trrDelimiter
-    , trrEncoding
-    , trrIsStrict
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.replaceRows@ method which the
--- 'TableReplaceRows' request conforms to.
-type TableReplaceRowsResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "replace" :>
-               QueryParam "startLine" (Textual Int32) :>
-                 QueryParam "endLine" (Textual Int32) :>
-                   QueryParam "delimiter" Text :>
-                     QueryParam "encoding" Text :>
-                       QueryParam "isStrict" Bool :>
-                         QueryParam "alt" AltJSON :> Post '[JSON] Task
-       :<|>
-       "upload" :>
-         "fusiontables" :>
-           "v2" :>
-             "tables" :>
-               Capture "tableId" Text :>
-                 "replace" :>
-                   QueryParam "startLine" (Textual Int32) :>
-                     QueryParam "endLine" (Textual Int32) :>
-                       QueryParam "delimiter" Text :>
-                         QueryParam "encoding" Text :>
-                           QueryParam "isStrict" Bool :>
-                             QueryParam "alt" AltJSON :>
-                               QueryParam "uploadType" AltMedia :>
-                                 AltMedia :> Post '[JSON] Task
-
--- | Replaces rows of an existing table. Current rows remain visible until
--- all replacement rows are ready.
---
--- /See:/ 'tableReplaceRows' smart constructor.
-data TableReplaceRows =
-  TableReplaceRows'
-    { _trrStartLine :: !(Maybe (Textual Int32))
-    , _trrEndLine   :: !(Maybe (Textual Int32))
-    , _trrTableId   :: !Text
-    , _trrDelimiter :: !(Maybe Text)
-    , _trrEncoding  :: !(Maybe Text)
-    , _trrIsStrict  :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableReplaceRows' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'trrStartLine'
---
--- * 'trrEndLine'
---
--- * 'trrTableId'
---
--- * 'trrDelimiter'
---
--- * 'trrEncoding'
---
--- * 'trrIsStrict'
-tableReplaceRows
-    :: Text -- ^ 'trrTableId'
-    -> TableReplaceRows
-tableReplaceRows pTrrTableId_ =
-  TableReplaceRows'
-    { _trrStartLine = Nothing
-    , _trrEndLine = Nothing
-    , _trrTableId = pTrrTableId_
-    , _trrDelimiter = Nothing
-    , _trrEncoding = Nothing
-    , _trrIsStrict = Nothing
-    }
-
-
--- | The index of the first line from which to start importing, inclusive.
--- Default is 0.
-trrStartLine :: Lens' TableReplaceRows (Maybe Int32)
-trrStartLine
-  = lens _trrStartLine (\ s a -> s{_trrStartLine = a})
-      . mapping _Coerce
-
--- | The index of the line up to which data will be imported. Default is to
--- import the entire file. If endLine is negative, it is an offset from the
--- end of the file; the imported content will exclude the last endLine
--- lines.
-trrEndLine :: Lens' TableReplaceRows (Maybe Int32)
-trrEndLine
-  = lens _trrEndLine (\ s a -> s{_trrEndLine = a}) .
-      mapping _Coerce
-
--- | Table whose rows will be replaced.
-trrTableId :: Lens' TableReplaceRows Text
-trrTableId
-  = lens _trrTableId (\ s a -> s{_trrTableId = a})
-
--- | The delimiter used to separate cell values. This can only consist of a
--- single character. Default is ,.
-trrDelimiter :: Lens' TableReplaceRows (Maybe Text)
-trrDelimiter
-  = lens _trrDelimiter (\ s a -> s{_trrDelimiter = a})
-
--- | The encoding of the content. Default is UTF-8. Use \'auto-detect\' if
--- you are unsure of the encoding.
-trrEncoding :: Lens' TableReplaceRows (Maybe Text)
-trrEncoding
-  = lens _trrEncoding (\ s a -> s{_trrEncoding = a})
-
--- | Whether the imported CSV must have the same number of column values for
--- each row. If true, throws an exception if the CSV does not have the same
--- number of columns. If false, rows with fewer column values will be
--- padded with empty values. Default is true.
-trrIsStrict :: Lens' TableReplaceRows (Maybe Bool)
-trrIsStrict
-  = lens _trrIsStrict (\ s a -> s{_trrIsStrict = a})
-
-instance GoogleRequest TableReplaceRows where
-        type Rs TableReplaceRows = Task
-        type Scopes TableReplaceRows =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableReplaceRows'{..}
-          = go _trrTableId _trrStartLine _trrEndLine
-              _trrDelimiter
-              _trrEncoding
-              _trrIsStrict
-              (Just AltJSON)
-              fusionTablesService
-          where go :<|> _
-                  = buildClient
-                      (Proxy :: Proxy TableReplaceRowsResource)
-                      mempty
-
-instance GoogleRequest (MediaUpload TableReplaceRows)
-         where
-        type Rs (MediaUpload TableReplaceRows) = Task
-        type Scopes (MediaUpload TableReplaceRows) =
-             Scopes TableReplaceRows
-        requestClient
-          (MediaUpload TableReplaceRows'{..} body)
-          = go _trrTableId _trrStartLine _trrEndLine
-              _trrDelimiter
-              _trrEncoding
-              _trrIsStrict
-              (Just AltJSON)
-              (Just AltMedia)
-              body
-              fusionTablesService
-          where _ :<|> go
-                  = buildClient
-                      (Proxy :: Proxy TableReplaceRowsResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Table/Update.hs b/gen/Network/Google/Resource/FusionTables/Table/Update.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Table/Update.hs
+++ /dev/null
@@ -1,119 +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.FusionTables.Table.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)
---
--- Updates an existing table. Unless explicitly requested, only the name,
--- description, and attribution will be updated.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.table.update@.
-module Network.Google.Resource.FusionTables.Table.Update
-    (
-    -- * REST Resource
-      TableUpdateResource
-
-    -- * Creating a Request
-    , tableUpdate
-    , TableUpdate
-
-    -- * Request Lenses
-    , tabPayload
-    , tabReplaceViewDefinition
-    , tabTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.table.update@ method which the
--- 'TableUpdate' request conforms to.
-type TableUpdateResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             QueryParam "replaceViewDefinition" Bool :>
-               QueryParam "alt" AltJSON :>
-                 ReqBody '[JSON] Table :> Put '[JSON] Table
-
--- | Updates an existing table. Unless explicitly requested, only the name,
--- description, and attribution will be updated.
---
--- /See:/ 'tableUpdate' smart constructor.
-data TableUpdate =
-  TableUpdate'
-    { _tabPayload               :: !Table
-    , _tabReplaceViewDefinition :: !(Maybe Bool)
-    , _tabTableId               :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TableUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tabPayload'
---
--- * 'tabReplaceViewDefinition'
---
--- * 'tabTableId'
-tableUpdate
-    :: Table -- ^ 'tabPayload'
-    -> Text -- ^ 'tabTableId'
-    -> TableUpdate
-tableUpdate pTabPayload_ pTabTableId_ =
-  TableUpdate'
-    { _tabPayload = pTabPayload_
-    , _tabReplaceViewDefinition = Nothing
-    , _tabTableId = pTabTableId_
-    }
-
-
--- | Multipart request metadata.
-tabPayload :: Lens' TableUpdate Table
-tabPayload
-  = lens _tabPayload (\ s a -> s{_tabPayload = a})
-
--- | Whether the view definition is also updated. The specified view
--- definition replaces the existing one. Only a view can be updated with a
--- new definition.
-tabReplaceViewDefinition :: Lens' TableUpdate (Maybe Bool)
-tabReplaceViewDefinition
-  = lens _tabReplaceViewDefinition
-      (\ s a -> s{_tabReplaceViewDefinition = a})
-
--- | ID of the table that is being updated.
-tabTableId :: Lens' TableUpdate Text
-tabTableId
-  = lens _tabTableId (\ s a -> s{_tabTableId = a})
-
-instance GoogleRequest TableUpdate where
-        type Rs TableUpdate = Table
-        type Scopes TableUpdate =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TableUpdate'{..}
-          = go _tabTableId _tabReplaceViewDefinition
-              (Just AltJSON)
-              _tabPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TableUpdateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Task/Delete.hs b/gen/Network/Google/Resource/FusionTables/Task/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Task/Delete.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Task.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a specific task by its ID, unless that task has already started
--- running.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.delete@.
-module Network.Google.Resource.FusionTables.Task.Delete
-    (
-    -- * REST Resource
-      TaskDeleteResource
-
-    -- * Creating a Request
-    , taskDelete
-    , TaskDelete
-
-    -- * Request Lenses
-    , tdTaskId
-    , tdTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.task.delete@ method which the
--- 'TaskDelete' request conforms to.
-type TaskDeleteResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "tasks" :>
-               Capture "taskId" Text :>
-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Deletes a specific task by its ID, unless that task has already started
--- running.
---
--- /See:/ 'taskDelete' smart constructor.
-data TaskDelete =
-  TaskDelete'
-    { _tdTaskId  :: !Text
-    , _tdTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TaskDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tdTaskId'
---
--- * 'tdTableId'
-taskDelete
-    :: Text -- ^ 'tdTaskId'
-    -> Text -- ^ 'tdTableId'
-    -> TaskDelete
-taskDelete pTdTaskId_ pTdTableId_ =
-  TaskDelete' {_tdTaskId = pTdTaskId_, _tdTableId = pTdTableId_}
-
-
--- | The identifier of the task to delete.
-tdTaskId :: Lens' TaskDelete Text
-tdTaskId = lens _tdTaskId (\ s a -> s{_tdTaskId = a})
-
--- | Table from which the task is being deleted.
-tdTableId :: Lens' TaskDelete Text
-tdTableId
-  = lens _tdTableId (\ s a -> s{_tdTableId = a})
-
-instance GoogleRequest TaskDelete where
-        type Rs TaskDelete = ()
-        type Scopes TaskDelete =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TaskDelete'{..}
-          = go _tdTableId _tdTaskId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TaskDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Task/Get.hs b/gen/Network/Google/Resource/FusionTables/Task/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Task/Get.hs
+++ /dev/null
@@ -1,99 +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.FusionTables.Task.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)
---
--- Retrieves a specific task by its ID.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.get@.
-module Network.Google.Resource.FusionTables.Task.Get
-    (
-    -- * REST Resource
-      TaskGetResource
-
-    -- * Creating a Request
-    , taskGet
-    , TaskGet
-
-    -- * Request Lenses
-    , tggTaskId
-    , tggTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.task.get@ method which the
--- 'TaskGet' request conforms to.
-type TaskGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "tasks" :>
-               Capture "taskId" Text :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Task
-
--- | Retrieves a specific task by its ID.
---
--- /See:/ 'taskGet' smart constructor.
-data TaskGet =
-  TaskGet'
-    { _tggTaskId  :: !Text
-    , _tggTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TaskGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tggTaskId'
---
--- * 'tggTableId'
-taskGet
-    :: Text -- ^ 'tggTaskId'
-    -> Text -- ^ 'tggTableId'
-    -> TaskGet
-taskGet pTggTaskId_ pTggTableId_ =
-  TaskGet' {_tggTaskId = pTggTaskId_, _tggTableId = pTggTableId_}
-
-
--- | The identifier of the task to get.
-tggTaskId :: Lens' TaskGet Text
-tggTaskId
-  = lens _tggTaskId (\ s a -> s{_tggTaskId = a})
-
--- | Table to which the task belongs.
-tggTableId :: Lens' TaskGet Text
-tggTableId
-  = lens _tggTableId (\ s a -> s{_tggTableId = a})
-
-instance GoogleRequest TaskGet where
-        type Rs TaskGet = Task
-        type Scopes TaskGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TaskGet'{..}
-          = go _tggTableId _tggTaskId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TaskGetResource) mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Task/List.hs b/gen/Network/Google/Resource/FusionTables/Task/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Task/List.hs
+++ /dev/null
@@ -1,128 +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.FusionTables.Task.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Retrieves a list of tasks.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.task.list@.
-module Network.Google.Resource.FusionTables.Task.List
-    (
-    -- * REST Resource
-      TaskListResource
-
-    -- * Creating a Request
-    , taskList'
-    , TaskList'
-
-    -- * Request Lenses
-    , tlPageToken
-    , tlTableId
-    , tlStartIndex
-    , tlMaxResults
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.task.list@ method which the
--- 'TaskList'' request conforms to.
-type TaskListResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "tasks" :>
-               QueryParam "pageToken" Text :>
-                 QueryParam "startIndex" (Textual Word32) :>
-                   QueryParam "maxResults" (Textual Word32) :>
-                     QueryParam "alt" AltJSON :> Get '[JSON] TaskList
-
--- | Retrieves a list of tasks.
---
--- /See:/ 'taskList'' smart constructor.
-data TaskList' =
-  TaskList''
-    { _tlPageToken  :: !(Maybe Text)
-    , _tlTableId    :: !Text
-    , _tlStartIndex :: !(Maybe (Textual Word32))
-    , _tlMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TaskList'' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tlPageToken'
---
--- * 'tlTableId'
---
--- * 'tlStartIndex'
---
--- * 'tlMaxResults'
-taskList'
-    :: Text -- ^ 'tlTableId'
-    -> TaskList'
-taskList' pTlTableId_ =
-  TaskList''
-    { _tlPageToken = Nothing
-    , _tlTableId = pTlTableId_
-    , _tlStartIndex = Nothing
-    , _tlMaxResults = Nothing
-    }
-
-
--- | Continuation token specifying which result page to return.
-tlPageToken :: Lens' TaskList' (Maybe Text)
-tlPageToken
-  = lens _tlPageToken (\ s a -> s{_tlPageToken = a})
-
--- | Table whose tasks are being listed.
-tlTableId :: Lens' TaskList' Text
-tlTableId
-  = lens _tlTableId (\ s a -> s{_tlTableId = a})
-
--- | Index of the first result returned in the current page.
-tlStartIndex :: Lens' TaskList' (Maybe Word32)
-tlStartIndex
-  = lens _tlStartIndex (\ s a -> s{_tlStartIndex = a})
-      . mapping _Coerce
-
--- | Maximum number of tasks to return. Default is 5.
-tlMaxResults :: Lens' TaskList' (Maybe Word32)
-tlMaxResults
-  = lens _tlMaxResults (\ s a -> s{_tlMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest TaskList' where
-        type Rs TaskList' = TaskList
-        type Scopes TaskList' =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TaskList''{..}
-          = go _tlTableId _tlPageToken _tlStartIndex
-              _tlMaxResults
-              (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TaskListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/Delete.hs b/gen/Network/Google/Resource/FusionTables/Template/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/Delete.hs
+++ /dev/null
@@ -1,100 +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.FusionTables.Template.Delete
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a template
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.delete@.
-module Network.Google.Resource.FusionTables.Template.Delete
-    (
-    -- * REST Resource
-      TemplateDeleteResource
-
-    -- * Creating a Request
-    , templateDelete
-    , TemplateDelete
-
-    -- * Request Lenses
-    , tTemplateId
-    , tTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.delete@ method which the
--- 'TemplateDelete' request conforms to.
-type TemplateDeleteResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               Capture "templateId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :> Delete '[JSON] ()
-
--- | Deletes a template
---
--- /See:/ 'templateDelete' smart constructor.
-data TemplateDelete =
-  TemplateDelete'
-    { _tTemplateId :: !(Textual Int32)
-    , _tTableId    :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tTemplateId'
---
--- * 'tTableId'
-templateDelete
-    :: Int32 -- ^ 'tTemplateId'
-    -> Text -- ^ 'tTableId'
-    -> TemplateDelete
-templateDelete pTTemplateId_ pTTableId_ =
-  TemplateDelete'
-    {_tTemplateId = _Coerce # pTTemplateId_, _tTableId = pTTableId_}
-
-
--- | Identifier for the template which is being deleted
-tTemplateId :: Lens' TemplateDelete Int32
-tTemplateId
-  = lens _tTemplateId (\ s a -> s{_tTemplateId = a}) .
-      _Coerce
-
--- | Table from which the template is being deleted
-tTableId :: Lens' TemplateDelete Text
-tTableId = lens _tTableId (\ s a -> s{_tTableId = a})
-
-instance GoogleRequest TemplateDelete where
-        type Rs TemplateDelete = ()
-        type Scopes TemplateDelete =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TemplateDelete'{..}
-          = go _tTableId _tTemplateId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplateDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/Get.hs b/gen/Network/Google/Resource/FusionTables/Template/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/Get.hs
+++ /dev/null
@@ -1,103 +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.FusionTables.Template.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)
---
--- Retrieves a specific template by its id
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.get@.
-module Network.Google.Resource.FusionTables.Template.Get
-    (
-    -- * REST Resource
-      TemplateGetResource
-
-    -- * Creating a Request
-    , templateGet
-    , TemplateGet
-
-    -- * Request Lenses
-    , temeTemplateId
-    , temeTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.get@ method which the
--- 'TemplateGet' request conforms to.
-type TemplateGetResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               Capture "templateId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Template
-
--- | Retrieves a specific template by its id
---
--- /See:/ 'templateGet' smart constructor.
-data TemplateGet =
-  TemplateGet'
-    { _temeTemplateId :: !(Textual Int32)
-    , _temeTableId    :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'temeTemplateId'
---
--- * 'temeTableId'
-templateGet
-    :: Int32 -- ^ 'temeTemplateId'
-    -> Text -- ^ 'temeTableId'
-    -> TemplateGet
-templateGet pTemeTemplateId_ pTemeTableId_ =
-  TemplateGet'
-    {_temeTemplateId = _Coerce # pTemeTemplateId_, _temeTableId = pTemeTableId_}
-
-
--- | Identifier for the template that is being requested
-temeTemplateId :: Lens' TemplateGet Int32
-temeTemplateId
-  = lens _temeTemplateId
-      (\ s a -> s{_temeTemplateId = a})
-      . _Coerce
-
--- | Table to which the template belongs
-temeTableId :: Lens' TemplateGet Text
-temeTableId
-  = lens _temeTableId (\ s a -> s{_temeTableId = a})
-
-instance GoogleRequest TemplateGet where
-        type Rs TemplateGet = Template
-        type Scopes TemplateGet =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TemplateGet'{..}
-          = go _temeTableId _temeTemplateId (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplateGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/Insert.hs b/gen/Network/Google/Resource/FusionTables/Template/Insert.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/Insert.hs
+++ /dev/null
@@ -1,99 +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.FusionTables.Template.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)
---
--- Creates a new template for the table.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.insert@.
-module Network.Google.Resource.FusionTables.Template.Insert
-    (
-    -- * REST Resource
-      TemplateInsertResource
-
-    -- * Creating a Request
-    , templateInsert
-    , TemplateInsert
-
-    -- * Request Lenses
-    , temPayload
-    , temTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.insert@ method which the
--- 'TemplateInsert' request conforms to.
-type TemplateInsertResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               QueryParam "alt" AltJSON :>
-                 ReqBody '[JSON] Template :> Post '[JSON] Template
-
--- | Creates a new template for the table.
---
--- /See:/ 'templateInsert' smart constructor.
-data TemplateInsert =
-  TemplateInsert'
-    { _temPayload :: !Template
-    , _temTableId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateInsert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'temPayload'
---
--- * 'temTableId'
-templateInsert
-    :: Template -- ^ 'temPayload'
-    -> Text -- ^ 'temTableId'
-    -> TemplateInsert
-templateInsert pTemPayload_ pTemTableId_ =
-  TemplateInsert' {_temPayload = pTemPayload_, _temTableId = pTemTableId_}
-
-
--- | Multipart request metadata.
-temPayload :: Lens' TemplateInsert Template
-temPayload
-  = lens _temPayload (\ s a -> s{_temPayload = a})
-
--- | Table for which a new template is being created
-temTableId :: Lens' TemplateInsert Text
-temTableId
-  = lens _temTableId (\ s a -> s{_temTableId = a})
-
-instance GoogleRequest TemplateInsert where
-        type Rs TemplateInsert = Template
-        type Scopes TemplateInsert =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TemplateInsert'{..}
-          = go _temTableId (Just AltJSON) _temPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplateInsertResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/List.hs b/gen/Network/Google/Resource/FusionTables/Template/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/List.hs
+++ /dev/null
@@ -1,116 +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.FusionTables.Template.List
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Retrieves a list of templates.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.list@.
-module Network.Google.Resource.FusionTables.Template.List
-    (
-    -- * REST Resource
-      TemplateListResource
-
-    -- * Creating a Request
-    , templateList'
-    , TemplateList'
-
-    -- * Request Lenses
-    , tllPageToken
-    , tllTableId
-    , tllMaxResults
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.list@ method which the
--- 'TemplateList'' request conforms to.
-type TemplateListResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               QueryParam "pageToken" Text :>
-                 QueryParam "maxResults" (Textual Word32) :>
-                   QueryParam "alt" AltJSON :> Get '[JSON] TemplateList
-
--- | Retrieves a list of templates.
---
--- /See:/ 'templateList'' smart constructor.
-data TemplateList' =
-  TemplateList''
-    { _tllPageToken  :: !(Maybe Text)
-    , _tllTableId    :: !Text
-    , _tllMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateList'' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tllPageToken'
---
--- * 'tllTableId'
---
--- * 'tllMaxResults'
-templateList'
-    :: Text -- ^ 'tllTableId'
-    -> TemplateList'
-templateList' pTllTableId_ =
-  TemplateList''
-    { _tllPageToken = Nothing
-    , _tllTableId = pTllTableId_
-    , _tllMaxResults = Nothing
-    }
-
-
--- | Continuation token specifying which results page to return. Optional.
-tllPageToken :: Lens' TemplateList' (Maybe Text)
-tllPageToken
-  = lens _tllPageToken (\ s a -> s{_tllPageToken = a})
-
--- | Identifier for the table whose templates are being requested
-tllTableId :: Lens' TemplateList' Text
-tllTableId
-  = lens _tllTableId (\ s a -> s{_tllTableId = a})
-
--- | Maximum number of templates to return. Optional. Default is 5.
-tllMaxResults :: Lens' TemplateList' (Maybe Word32)
-tllMaxResults
-  = lens _tllMaxResults
-      (\ s a -> s{_tllMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest TemplateList' where
-        type Rs TemplateList' = TemplateList
-        type Scopes TemplateList' =
-             '["https://www.googleapis.com/auth/fusiontables",
-               "https://www.googleapis.com/auth/fusiontables.readonly"]
-        requestClient TemplateList''{..}
-          = go _tllTableId _tllPageToken _tllMaxResults
-              (Just AltJSON)
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplateListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/Patch.hs b/gen/Network/Google/Resource/FusionTables/Template/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/Patch.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.FusionTables.Template.Patch
--- Copyright   : (c) 2015-2016 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates an existing template. This method supports patch semantics.
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.patch@.
-module Network.Google.Resource.FusionTables.Template.Patch
-    (
-    -- * REST Resource
-      TemplatePatchResource
-
-    -- * Creating a Request
-    , templatePatch
-    , TemplatePatch
-
-    -- * Request Lenses
-    , tppTemplateId
-    , tppPayload
-    , tppTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.patch@ method which the
--- 'TemplatePatch' request conforms to.
-type TemplatePatchResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               Capture "templateId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] Template :> Patch '[JSON] Template
-
--- | Updates an existing template. This method supports patch semantics.
---
--- /See:/ 'templatePatch' smart constructor.
-data TemplatePatch =
-  TemplatePatch'
-    { _tppTemplateId :: !(Textual Int32)
-    , _tppPayload    :: !Template
-    , _tppTableId    :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplatePatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tppTemplateId'
---
--- * 'tppPayload'
---
--- * 'tppTableId'
-templatePatch
-    :: Int32 -- ^ 'tppTemplateId'
-    -> Template -- ^ 'tppPayload'
-    -> Text -- ^ 'tppTableId'
-    -> TemplatePatch
-templatePatch pTppTemplateId_ pTppPayload_ pTppTableId_ =
-  TemplatePatch'
-    { _tppTemplateId = _Coerce # pTppTemplateId_
-    , _tppPayload = pTppPayload_
-    , _tppTableId = pTppTableId_
-    }
-
-
--- | Identifier for the template that is being updated
-tppTemplateId :: Lens' TemplatePatch Int32
-tppTemplateId
-  = lens _tppTemplateId
-      (\ s a -> s{_tppTemplateId = a})
-      . _Coerce
-
--- | Multipart request metadata.
-tppPayload :: Lens' TemplatePatch Template
-tppPayload
-  = lens _tppPayload (\ s a -> s{_tppPayload = a})
-
--- | Table to which the updated template belongs
-tppTableId :: Lens' TemplatePatch Text
-tppTableId
-  = lens _tppTableId (\ s a -> s{_tppTableId = a})
-
-instance GoogleRequest TemplatePatch where
-        type Rs TemplatePatch = Template
-        type Scopes TemplatePatch =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TemplatePatch'{..}
-          = go _tppTableId _tppTemplateId (Just AltJSON)
-              _tppPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplatePatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/FusionTables/Template/Update.hs b/gen/Network/Google/Resource/FusionTables/Template/Update.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/FusionTables/Template/Update.hs
+++ /dev/null
@@ -1,116 +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.FusionTables.Template.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)
---
--- Updates an existing template
---
--- /See:/ <https://developers.google.com/fusiontables Fusion Tables API Reference> for @fusiontables.template.update@.
-module Network.Google.Resource.FusionTables.Template.Update
-    (
-    -- * REST Resource
-      TemplateUpdateResource
-
-    -- * Creating a Request
-    , templateUpdate
-    , TemplateUpdate
-
-    -- * Request Lenses
-    , tuTemplateId
-    , tuPayload
-    , tuTableId
-    ) where
-
-import           Network.Google.FusionTables.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @fusiontables.template.update@ method which the
--- 'TemplateUpdate' request conforms to.
-type TemplateUpdateResource =
-     "fusiontables" :>
-       "v2" :>
-         "tables" :>
-           Capture "tableId" Text :>
-             "templates" :>
-               Capture "templateId" (Textual Int32) :>
-                 QueryParam "alt" AltJSON :>
-                   ReqBody '[JSON] Template :> Put '[JSON] Template
-
--- | Updates an existing template
---
--- /See:/ 'templateUpdate' smart constructor.
-data TemplateUpdate =
-  TemplateUpdate'
-    { _tuTemplateId :: !(Textual Int32)
-    , _tuPayload    :: !Template
-    , _tuTableId    :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TemplateUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tuTemplateId'
---
--- * 'tuPayload'
---
--- * 'tuTableId'
-templateUpdate
-    :: Int32 -- ^ 'tuTemplateId'
-    -> Template -- ^ 'tuPayload'
-    -> Text -- ^ 'tuTableId'
-    -> TemplateUpdate
-templateUpdate pTuTemplateId_ pTuPayload_ pTuTableId_ =
-  TemplateUpdate'
-    { _tuTemplateId = _Coerce # pTuTemplateId_
-    , _tuPayload = pTuPayload_
-    , _tuTableId = pTuTableId_
-    }
-
-
--- | Identifier for the template that is being updated
-tuTemplateId :: Lens' TemplateUpdate Int32
-tuTemplateId
-  = lens _tuTemplateId (\ s a -> s{_tuTemplateId = a})
-      . _Coerce
-
--- | Multipart request metadata.
-tuPayload :: Lens' TemplateUpdate Template
-tuPayload
-  = lens _tuPayload (\ s a -> s{_tuPayload = a})
-
--- | Table to which the updated template belongs
-tuTableId :: Lens' TemplateUpdate Text
-tuTableId
-  = lens _tuTableId (\ s a -> s{_tuTableId = a})
-
-instance GoogleRequest TemplateUpdate where
-        type Rs TemplateUpdate = Template
-        type Scopes TemplateUpdate =
-             '["https://www.googleapis.com/auth/fusiontables"]
-        requestClient TemplateUpdate'{..}
-          = go _tuTableId _tuTemplateId (Just AltJSON)
-              _tuPayload
-              fusionTablesService
-          where go
-                  = buildClient (Proxy :: Proxy TemplateUpdateResource)
-                      mempty
diff --git a/gogol-fusiontables.cabal b/gogol-fusiontables.cabal
--- a/gogol-fusiontables.cabal
+++ b/gogol-fusiontables.cabal
@@ -1,79 +1,94 @@
-name:                  gogol-fusiontables
-version:               0.5.0
-synopsis:              Google Fusion Tables 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-fusiontables
+version:            1.0.0
+synopsis:           Google Fusion Tables 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:
-    API for working with Fusion Tables data.
-    .
-    /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 @v2@
-    of the API.
+  API for working with Fusion Tables data.
+  .
+  /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 @v2@
+  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-fusiontables
 
+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.FusionTables
-        , Network.Google.FusionTables.Types
-        , Network.Google.Resource.FusionTables.Column.Delete
-        , Network.Google.Resource.FusionTables.Column.Get
-        , Network.Google.Resource.FusionTables.Column.Insert
-        , Network.Google.Resource.FusionTables.Column.List
-        , Network.Google.Resource.FusionTables.Column.Patch
-        , Network.Google.Resource.FusionTables.Column.Update
-        , Network.Google.Resource.FusionTables.Query.SQL
-        , Network.Google.Resource.FusionTables.Query.SQLGet
-        , Network.Google.Resource.FusionTables.Style.Delete
-        , Network.Google.Resource.FusionTables.Style.Get
-        , Network.Google.Resource.FusionTables.Style.Insert
-        , Network.Google.Resource.FusionTables.Style.List
-        , Network.Google.Resource.FusionTables.Style.Patch
-        , Network.Google.Resource.FusionTables.Style.Update
-        , Network.Google.Resource.FusionTables.Table.Copy
-        , Network.Google.Resource.FusionTables.Table.Delete
-        , Network.Google.Resource.FusionTables.Table.Get
-        , Network.Google.Resource.FusionTables.Table.ImportRows
-        , Network.Google.Resource.FusionTables.Table.ImportTable
-        , Network.Google.Resource.FusionTables.Table.Insert
-        , Network.Google.Resource.FusionTables.Table.List
-        , Network.Google.Resource.FusionTables.Table.Patch
-        , Network.Google.Resource.FusionTables.Table.RefetchSheet
-        , Network.Google.Resource.FusionTables.Table.ReplaceRows
-        , Network.Google.Resource.FusionTables.Table.Update
-        , Network.Google.Resource.FusionTables.Task.Delete
-        , Network.Google.Resource.FusionTables.Task.Get
-        , Network.Google.Resource.FusionTables.Task.List
-        , Network.Google.Resource.FusionTables.Template.Delete
-        , Network.Google.Resource.FusionTables.Template.Get
-        , Network.Google.Resource.FusionTables.Template.Insert
-        , Network.Google.Resource.FusionTables.Template.List
-        , Network.Google.Resource.FusionTables.Template.Patch
-        , Network.Google.Resource.FusionTables.Template.Update
+  exposed-modules:
+    Gogol.FusionTables
+    Gogol.FusionTables.Column.Delete
+    Gogol.FusionTables.Column.Get
+    Gogol.FusionTables.Column.Insert
+    Gogol.FusionTables.Column.List
+    Gogol.FusionTables.Column.Patch
+    Gogol.FusionTables.Column.Update
+    Gogol.FusionTables.Query.Sql
+    Gogol.FusionTables.Query.SqlGet
+    Gogol.FusionTables.Style.Delete
+    Gogol.FusionTables.Style.Get
+    Gogol.FusionTables.Style.Insert
+    Gogol.FusionTables.Style.List
+    Gogol.FusionTables.Style.Patch
+    Gogol.FusionTables.Style.Update
+    Gogol.FusionTables.Table.Copy
+    Gogol.FusionTables.Table.Delete
+    Gogol.FusionTables.Table.Get
+    Gogol.FusionTables.Table.ImportRows
+    Gogol.FusionTables.Table.ImportTable
+    Gogol.FusionTables.Table.Insert
+    Gogol.FusionTables.Table.List
+    Gogol.FusionTables.Table.Patch
+    Gogol.FusionTables.Table.RefetchSheet
+    Gogol.FusionTables.Table.ReplaceRows
+    Gogol.FusionTables.Table.Update
+    Gogol.FusionTables.Task.Delete
+    Gogol.FusionTables.Task.Get
+    Gogol.FusionTables.Task.List
+    Gogol.FusionTables.Template.Delete
+    Gogol.FusionTables.Template.Get
+    Gogol.FusionTables.Template.Insert
+    Gogol.FusionTables.Template.List
+    Gogol.FusionTables.Template.Patch
+    Gogol.FusionTables.Template.Update
+    Gogol.FusionTables.Types
 
-    other-modules:
-          Network.Google.FusionTables.Types.Product
-        , Network.Google.FusionTables.Types.Sum
+  other-modules:
+    Gogol.FusionTables.Internal.Product
+    Gogol.FusionTables.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
