packages feed

gogol-doubleclick-search 0.5.0 → 1.0.0

raw patch · 32 files changed

+3170/−3616 lines, 32 filesdep −basedep ~gogol-coresetup-changed

Dependencies removed: base

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,12 +8,12 @@  ## Version -`0.5.0`+`1.0.0`   ## Description -A client library for the Google DoubleClick Search.+A client library for the Google Search Ads 360.   ## Contribute
Setup.hs view
@@ -1,2 +1,3 @@-import           Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/DoubleClickSearch.hs view
@@ -0,0 +1,191 @@+{-# 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.DoubleClickSearch+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The Search Ads 360 API allows developers to automate uploading conversions and downloading reports from Search Ads 360.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference>+module Gogol.DoubleClickSearch+  ( -- * Configuration+    doubleClickSearchService,++    -- * OAuth Scopes+    Doubleclicksearch'FullControl,++    -- * Resources++    -- ** doubleclicksearch.conversion.get+    DoubleClickSearchConversionGetResource,+    DoubleClickSearchConversionGet (..),+    newDoubleClickSearchConversionGet,++    -- ** doubleclicksearch.conversion.getByCustomerId+    DoubleClickSearchConversionGetByCustomerIdResource,+    DoubleClickSearchConversionGetByCustomerId (..),+    newDoubleClickSearchConversionGetByCustomerId,++    -- ** doubleclicksearch.conversion.insert+    DoubleClickSearchConversionInsertResource,+    DoubleClickSearchConversionInsert (..),+    newDoubleClickSearchConversionInsert,++    -- ** doubleclicksearch.conversion.update+    DoubleClickSearchConversionUpdateResource,+    DoubleClickSearchConversionUpdate (..),+    newDoubleClickSearchConversionUpdate,++    -- ** doubleclicksearch.conversion.updateAvailability+    DoubleClickSearchConversionUpdateAvailabilityResource,+    DoubleClickSearchConversionUpdateAvailability (..),+    newDoubleClickSearchConversionUpdateAvailability,++    -- ** doubleclicksearch.reports.generate+    DoubleClickSearchReportsGenerateResource,+    DoubleClickSearchReportsGenerate (..),+    newDoubleClickSearchReportsGenerate,++    -- ** doubleclicksearch.reports.get+    DoubleClickSearchReportsGetResource,+    DoubleClickSearchReportsGet (..),+    newDoubleClickSearchReportsGet,++    -- ** doubleclicksearch.reports.getFile+    DoubleClickSearchReportsGetFileResource,+    DoubleClickSearchReportsGetFile (..),+    newDoubleClickSearchReportsGetFile,++    -- ** doubleclicksearch.reports.getIdMappingFile+    DoubleClickSearchReportsGetIdMappingFileResource,+    DoubleClickSearchReportsGetIdMappingFile (..),+    newDoubleClickSearchReportsGetIdMappingFile,++    -- ** doubleclicksearch.reports.request+    DoubleClickSearchReportsRequestResource,+    DoubleClickSearchReportsRequest (..),+    newDoubleClickSearchReportsRequest,++    -- ** doubleclicksearch.savedColumns.list+    DoubleClickSearchSavedColumnsListResource,+    DoubleClickSearchSavedColumnsList (..),+    newDoubleClickSearchSavedColumnsList,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** Availability+    Availability (..),+    newAvailability,++    -- ** Conversion+    Conversion (..),+    newConversion,++    -- ** Conversion_AdUserDataConsent+    Conversion_AdUserDataConsent (..),++    -- ** ConversionList+    ConversionList (..),+    newConversionList,++    -- ** CustomDimension+    CustomDimension (..),+    newCustomDimension,++    -- ** CustomMetric+    CustomMetric (..),+    newCustomMetric,++    -- ** IdMappingFile+    IdMappingFile (..),+    newIdMappingFile,++    -- ** Report+    Report (..),+    newReport,++    -- ** Report_FilesItem+    Report_FilesItem (..),+    newReport_FilesItem,++    -- ** ReportApiColumnSpec+    ReportApiColumnSpec (..),+    newReportApiColumnSpec,++    -- ** ReportRequest+    ReportRequest (..),+    newReportRequest,++    -- ** ReportRequest_FiltersItem+    ReportRequest_FiltersItem (..),+    newReportRequest_FiltersItem,++    -- ** ReportRequest_OrderByItem+    ReportRequest_OrderByItem (..),+    newReportRequest_OrderByItem,++    -- ** ReportRequest_ReportScope+    ReportRequest_ReportScope (..),+    newReportRequest_ReportScope,++    -- ** ReportRequest_TimeRange+    ReportRequest_TimeRange (..),+    newReportRequest_TimeRange,++    -- ** ReportRow+    ReportRow (..),+    newReportRow,++    -- ** SavedColumn+    SavedColumn (..),+    newSavedColumn,++    -- ** SavedColumnList+    SavedColumnList (..),+    newSavedColumnList,++    -- ** UpdateAvailabilityRequest+    UpdateAvailabilityRequest (..),+    newUpdateAvailabilityRequest,++    -- ** UpdateAvailabilityResponse+    UpdateAvailabilityResponse (..),+    newUpdateAvailabilityResponse,+  )+where++import Gogol.DoubleClickSearch.Conversion.Get+import Gogol.DoubleClickSearch.Conversion.GetByCustomerId+import Gogol.DoubleClickSearch.Conversion.Insert+import Gogol.DoubleClickSearch.Conversion.Update+import Gogol.DoubleClickSearch.Conversion.UpdateAvailability+import Gogol.DoubleClickSearch.Reports.Generate+import Gogol.DoubleClickSearch.Reports.Get+import Gogol.DoubleClickSearch.Reports.GetFile+import Gogol.DoubleClickSearch.Reports.GetIdMappingFile+import Gogol.DoubleClickSearch.Reports.Request+import Gogol.DoubleClickSearch.SavedColumns.List+import Gogol.DoubleClickSearch.Types
+ gen/Gogol/DoubleClickSearch/Conversion/Get.hs view
@@ -0,0 +1,188 @@+{-# 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.DoubleClickSearch.Conversion.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 list of conversions from a DoubleClick Search engine account.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.conversion.get@.+module Gogol.DoubleClickSearch.Conversion.Get+  ( -- * Resource+    DoubleClickSearchConversionGetResource,++    -- ** Constructing a Request+    DoubleClickSearchConversionGet (..),+    newDoubleClickSearchConversionGet,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.conversion.get@ method which the+-- 'DoubleClickSearchConversionGet' request conforms to.+type DoubleClickSearchConversionGetResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "agency"+    Core.:> Core.Capture "agencyId" Core.Int64+    Core.:> "advertiser"+    Core.:> Core.Capture "advertiserId" Core.Int64+    Core.:> "engine"+    Core.:> Core.Capture "engineAccountId" Core.Int64+    Core.:> "conversion"+    Core.:> Core.QueryParam "endDate" Core.Int32+    Core.:> Core.QueryParam "rowCount" Core.Int32+    Core.:> Core.QueryParam "startDate" Core.Int32+    Core.:> Core.QueryParam "startRow" Core.Word32+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "adGroupId" Core.Int64+    Core.:> Core.QueryParam "adId" Core.Int64+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "campaignId" Core.Int64+    Core.:> Core.QueryParam "criterionId" Core.Int64+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ConversionList++-- | Retrieves a list of conversions from a DoubleClick Search engine account.+--+-- /See:/ 'newDoubleClickSearchConversionGet' smart constructor.+data DoubleClickSearchConversionGet = DoubleClickSearchConversionGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | Numeric ID of the ad group.+    adGroupId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the ad.+    adId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the advertiser.+    advertiserId :: Core.Int64,+    -- | Numeric ID of the agency.+    agencyId :: Core.Int64,+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Numeric ID of the campaign.+    campaignId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the criterion.+    criterionId :: (Core.Maybe Core.Int64),+    -- | Customer ID of a client account in the new Search Ads 360 experience.+    customerId :: (Core.Maybe Core.Text),+    -- | Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd.+    endDate :: Core.Int32,+    -- | Numeric ID of the engine account.+    engineAccountId :: Core.Int64,+    -- | The number of conversions to return per call.+    rowCount :: Core.Int32,+    -- | First date (inclusive) on which to retrieve conversions. Format is yyyymmdd.+    startDate :: Core.Int32,+    -- | The 0-based starting index for retrieving conversions results.+    startRow :: Core.Word32,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchConversionGet' with the minimum fields required to make a request.+newDoubleClickSearchConversionGet ::+  -- |  Numeric ID of the advertiser. See 'advertiserId'.+  Core.Int64 ->+  -- |  Numeric ID of the agency. See 'agencyId'.+  Core.Int64 ->+  -- |  Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. See 'endDate'.+  Core.Int32 ->+  -- |  Numeric ID of the engine account. See 'engineAccountId'.+  Core.Int64 ->+  -- |  The number of conversions to return per call. See 'rowCount'.+  Core.Int32 ->+  -- |  First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. See 'startDate'.+  Core.Int32 ->+  -- |  The 0-based starting index for retrieving conversions results. See 'startRow'.+  Core.Word32 ->+  DoubleClickSearchConversionGet+newDoubleClickSearchConversionGet+  advertiserId+  agencyId+  endDate+  engineAccountId+  rowCount+  startDate+  startRow =+    DoubleClickSearchConversionGet+      { xgafv = Core.Nothing,+        accessToken = Core.Nothing,+        adGroupId = Core.Nothing,+        adId = Core.Nothing,+        advertiserId = advertiserId,+        agencyId = agencyId,+        callback = Core.Nothing,+        campaignId = Core.Nothing,+        criterionId = Core.Nothing,+        customerId = Core.Nothing,+        endDate = endDate,+        engineAccountId = engineAccountId,+        rowCount = rowCount,+        startDate = startDate,+        startRow = startRow,+        uploadType = Core.Nothing,+        uploadProtocol = Core.Nothing+      }++instance Core.GoogleRequest DoubleClickSearchConversionGet where+  type Rs DoubleClickSearchConversionGet = ConversionList+  type+    Scopes DoubleClickSearchConversionGet =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchConversionGet {..} =+    go+      agencyId+      advertiserId+      engineAccountId+      (Core.Just endDate)+      (Core.Just rowCount)+      (Core.Just startDate)+      (Core.Just startRow)+      xgafv+      accessToken+      adGroupId+      adId+      callback+      campaignId+      criterionId+      customerId+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DoubleClickSearchConversionGetResource)+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Conversion/GetByCustomerId.hs view
@@ -0,0 +1,185 @@+{-# 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.DoubleClickSearch.Conversion.GetByCustomerId+-- 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 conversions from a DoubleClick Search engine account.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.conversion.getByCustomerId@.+module Gogol.DoubleClickSearch.Conversion.GetByCustomerId+  ( -- * Resource+    DoubleClickSearchConversionGetByCustomerIdResource,++    -- ** Constructing a Request+    DoubleClickSearchConversionGetByCustomerId (..),+    newDoubleClickSearchConversionGetByCustomerId,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.conversion.getByCustomerId@ method which the+-- 'DoubleClickSearchConversionGetByCustomerId' request conforms to.+type DoubleClickSearchConversionGetByCustomerIdResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "customer"+    Core.:> Core.Capture "customerId" Core.Text+    Core.:> "conversion"+    Core.:> Core.QueryParam "endDate" Core.Int32+    Core.:> Core.QueryParam "rowCount" Core.Int32+    Core.:> Core.QueryParam "startDate" Core.Int32+    Core.:> Core.QueryParam "startRow" Core.Word32+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "adGroupId" Core.Int64+    Core.:> Core.QueryParam "adId" Core.Int64+    Core.:> Core.QueryParam "advertiserId" Core.Int64+    Core.:> Core.QueryParam "agencyId" Core.Int64+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "campaignId" Core.Int64+    Core.:> Core.QueryParam "criterionId" Core.Int64+    Core.:> Core.QueryParam "engineAccountId" Core.Int64+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ConversionList++-- | Retrieves a list of conversions from a DoubleClick Search engine account.+--+-- /See:/ 'newDoubleClickSearchConversionGetByCustomerId' smart constructor.+data DoubleClickSearchConversionGetByCustomerId = DoubleClickSearchConversionGetByCustomerId+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | Numeric ID of the ad group.+    adGroupId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the ad.+    adId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the advertiser.+    advertiserId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the agency.+    agencyId :: (Core.Maybe Core.Int64),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Numeric ID of the campaign.+    campaignId :: (Core.Maybe Core.Int64),+    -- | Numeric ID of the criterion.+    criterionId :: (Core.Maybe Core.Int64),+    -- | Customer ID of a client account in the new Search Ads 360 experience.+    customerId :: Core.Text,+    -- | Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd.+    endDate :: Core.Int32,+    -- | Numeric ID of the engine account.+    engineAccountId :: (Core.Maybe Core.Int64),+    -- | The number of conversions to return per call.+    rowCount :: Core.Int32,+    -- | First date (inclusive) on which to retrieve conversions. Format is yyyymmdd.+    startDate :: Core.Int32,+    -- | The 0-based starting index for retrieving conversions results.+    startRow :: Core.Word32,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchConversionGetByCustomerId' with the minimum fields required to make a request.+newDoubleClickSearchConversionGetByCustomerId ::+  -- |  Customer ID of a client account in the new Search Ads 360 experience. See 'customerId'.+  Core.Text ->+  -- |  Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. See 'endDate'.+  Core.Int32 ->+  -- |  The number of conversions to return per call. See 'rowCount'.+  Core.Int32 ->+  -- |  First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. See 'startDate'.+  Core.Int32 ->+  -- |  The 0-based starting index for retrieving conversions results. See 'startRow'.+  Core.Word32 ->+  DoubleClickSearchConversionGetByCustomerId+newDoubleClickSearchConversionGetByCustomerId+  customerId+  endDate+  rowCount+  startDate+  startRow =+    DoubleClickSearchConversionGetByCustomerId+      { xgafv = Core.Nothing,+        accessToken = Core.Nothing,+        adGroupId = Core.Nothing,+        adId = Core.Nothing,+        advertiserId = Core.Nothing,+        agencyId = Core.Nothing,+        callback = Core.Nothing,+        campaignId = Core.Nothing,+        criterionId = Core.Nothing,+        customerId = customerId,+        endDate = endDate,+        engineAccountId = Core.Nothing,+        rowCount = rowCount,+        startDate = startDate,+        startRow = startRow,+        uploadType = Core.Nothing,+        uploadProtocol = Core.Nothing+      }++instance+  Core.GoogleRequest+    DoubleClickSearchConversionGetByCustomerId+  where+  type Rs DoubleClickSearchConversionGetByCustomerId = ConversionList+  type+    Scopes DoubleClickSearchConversionGetByCustomerId =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchConversionGetByCustomerId {..} =+    go+      customerId+      (Core.Just endDate)+      (Core.Just rowCount)+      (Core.Just startDate)+      (Core.Just startRow)+      xgafv+      accessToken+      adGroupId+      adId+      advertiserId+      agencyId+      callback+      campaignId+      criterionId+      engineAccountId+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchConversionGetByCustomerIdResource+          )+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Conversion/Insert.hs view
@@ -0,0 +1,113 @@+{-# 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.DoubleClickSearch.Conversion.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)+--+-- Inserts a batch of new conversions into DoubleClick Search.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.conversion.insert@.+module Gogol.DoubleClickSearch.Conversion.Insert+  ( -- * Resource+    DoubleClickSearchConversionInsertResource,++    -- ** Constructing a Request+    DoubleClickSearchConversionInsert (..),+    newDoubleClickSearchConversionInsert,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.conversion.insert@ method which the+-- 'DoubleClickSearchConversionInsert' request conforms to.+type DoubleClickSearchConversionInsertResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "conversion"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] ConversionList+    Core.:> Core.Post '[Core.JSON] ConversionList++-- | Inserts a batch of new conversions into DoubleClick Search.+--+-- /See:/ 'newDoubleClickSearchConversionInsert' smart constructor.+data DoubleClickSearchConversionInsert = DoubleClickSearchConversionInsert+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: ConversionList,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchConversionInsert' with the minimum fields required to make a request.+newDoubleClickSearchConversionInsert ::+  -- |  Multipart request metadata. See 'payload'.+  ConversionList ->+  DoubleClickSearchConversionInsert+newDoubleClickSearchConversionInsert payload =+  DoubleClickSearchConversionInsert+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchConversionInsert where+  type Rs DoubleClickSearchConversionInsert = ConversionList+  type+    Scopes DoubleClickSearchConversionInsert =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchConversionInsert {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      doubleClickSearchService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchConversionInsertResource+          )+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Conversion/Update.hs view
@@ -0,0 +1,113 @@+{-# 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.DoubleClickSearch.Conversion.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 a batch of conversions in DoubleClick Search.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.conversion.update@.+module Gogol.DoubleClickSearch.Conversion.Update+  ( -- * Resource+    DoubleClickSearchConversionUpdateResource,++    -- ** Constructing a Request+    DoubleClickSearchConversionUpdate (..),+    newDoubleClickSearchConversionUpdate,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.conversion.update@ method which the+-- 'DoubleClickSearchConversionUpdate' request conforms to.+type DoubleClickSearchConversionUpdateResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "conversion"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] ConversionList+    Core.:> Core.Put '[Core.JSON] ConversionList++-- | Updates a batch of conversions in DoubleClick Search.+--+-- /See:/ 'newDoubleClickSearchConversionUpdate' smart constructor.+data DoubleClickSearchConversionUpdate = DoubleClickSearchConversionUpdate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: ConversionList,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchConversionUpdate' with the minimum fields required to make a request.+newDoubleClickSearchConversionUpdate ::+  -- |  Multipart request metadata. See 'payload'.+  ConversionList ->+  DoubleClickSearchConversionUpdate+newDoubleClickSearchConversionUpdate payload =+  DoubleClickSearchConversionUpdate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchConversionUpdate where+  type Rs DoubleClickSearchConversionUpdate = ConversionList+  type+    Scopes DoubleClickSearchConversionUpdate =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchConversionUpdate {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      doubleClickSearchService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchConversionUpdateResource+          )+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Conversion/UpdateAvailability.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.DoubleClickSearch.Conversion.UpdateAvailability+-- 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 availabilities of a batch of floodlight activities in DoubleClick Search.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.conversion.updateAvailability@.+module Gogol.DoubleClickSearch.Conversion.UpdateAvailability+  ( -- * Resource+    DoubleClickSearchConversionUpdateAvailabilityResource,++    -- ** Constructing a Request+    DoubleClickSearchConversionUpdateAvailability (..),+    newDoubleClickSearchConversionUpdateAvailability,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.conversion.updateAvailability@ method which the+-- 'DoubleClickSearchConversionUpdateAvailability' request conforms to.+type DoubleClickSearchConversionUpdateAvailabilityResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "conversion"+    Core.:> "updateAvailability"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] UpdateAvailabilityRequest+    Core.:> Core.Post '[Core.JSON] UpdateAvailabilityResponse++-- | Updates the availabilities of a batch of floodlight activities in DoubleClick Search.+--+-- /See:/ 'newDoubleClickSearchConversionUpdateAvailability' smart constructor.+data DoubleClickSearchConversionUpdateAvailability = DoubleClickSearchConversionUpdateAvailability+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: UpdateAvailabilityRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchConversionUpdateAvailability' with the minimum fields required to make a request.+newDoubleClickSearchConversionUpdateAvailability ::+  -- |  Multipart request metadata. See 'payload'.+  UpdateAvailabilityRequest ->+  DoubleClickSearchConversionUpdateAvailability+newDoubleClickSearchConversionUpdateAvailability payload =+  DoubleClickSearchConversionUpdateAvailability+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    DoubleClickSearchConversionUpdateAvailability+  where+  type+    Rs DoubleClickSearchConversionUpdateAvailability =+      UpdateAvailabilityResponse+  type+    Scopes DoubleClickSearchConversionUpdateAvailability =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchConversionUpdateAvailability {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      doubleClickSearchService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchConversionUpdateAvailabilityResource+          )+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Internal/Product.hs view
@@ -0,0 +1,1173 @@+{-# 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.DoubleClickSearch.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.DoubleClickSearch.Internal.Product+  ( -- * Availability+    Availability (..),+    newAvailability,++    -- * Conversion+    Conversion (..),+    newConversion,++    -- * ConversionList+    ConversionList (..),+    newConversionList,++    -- * CustomDimension+    CustomDimension (..),+    newCustomDimension,++    -- * CustomMetric+    CustomMetric (..),+    newCustomMetric,++    -- * IdMappingFile+    IdMappingFile (..),+    newIdMappingFile,++    -- * Report+    Report (..),+    newReport,++    -- * Report_FilesItem+    Report_FilesItem (..),+    newReport_FilesItem,++    -- * ReportApiColumnSpec+    ReportApiColumnSpec (..),+    newReportApiColumnSpec,++    -- * ReportRequest+    ReportRequest (..),+    newReportRequest,++    -- * ReportRequest_FiltersItem+    ReportRequest_FiltersItem (..),+    newReportRequest_FiltersItem,++    -- * ReportRequest_OrderByItem+    ReportRequest_OrderByItem (..),+    newReportRequest_OrderByItem,++    -- * ReportRequest_ReportScope+    ReportRequest_ReportScope (..),+    newReportRequest_ReportScope,++    -- * ReportRequest_TimeRange+    ReportRequest_TimeRange (..),+    newReportRequest_TimeRange,++    -- * ReportRow+    ReportRow (..),+    newReportRow,++    -- * SavedColumn+    SavedColumn (..),+    newSavedColumn,++    -- * SavedColumnList+    SavedColumnList (..),+    newSavedColumnList,++    -- * UpdateAvailabilityRequest+    UpdateAvailabilityRequest (..),+    newUpdateAvailabilityRequest,++    -- * UpdateAvailabilityResponse+    UpdateAvailabilityResponse (..),+    newUpdateAvailabilityResponse,+  )+where++import Gogol.DoubleClickSearch.Internal.Sum+import Gogol.Prelude qualified as Core++-- | A message containing availability data relevant to DoubleClick Search.+--+-- /See:/ 'newAvailability' smart constructor.+data Availability = Availability+  { -- | DS advertiser ID.+    advertiserId :: (Core.Maybe Core.Int64),+    -- | DS agency ID.+    agencyId :: (Core.Maybe Core.Int64),+    -- | The time by which all conversions have been uploaded, in epoch millis UTC.+    availabilityTimestamp :: (Core.Maybe Core.Int64),+    -- | Customer ID of a client account in the new Search Ads 360 experience.+    customerId :: (Core.Maybe Core.Text),+    -- | The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).+    segmentationId :: (Core.Maybe Core.Int64),+    -- | The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).+    segmentationName :: (Core.Maybe Core.Text),+    -- | The segmentation type that this availability is for (its default value is @FLOODLIGHT@).+    segmentationType :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Availability' with the minimum fields required to make a request.+newAvailability ::+  Availability+newAvailability =+  Availability+    { advertiserId = Core.Nothing,+      agencyId = Core.Nothing,+      availabilityTimestamp = Core.Nothing,+      customerId = Core.Nothing,+      segmentationId = Core.Nothing,+      segmentationName = Core.Nothing,+      segmentationType = Core.Nothing+    }++instance Core.FromJSON Availability where+  parseJSON =+    Core.withObject+      "Availability"+      ( \o ->+          Availability+            Core.<$> (o Core..:? "advertiserId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "agencyId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> ( o+                         Core..:? "availabilityTimestamp"+                         Core.<&> Core.fmap Core.fromAsText+                     )+            Core.<*> (o Core..:? "customerId")+            Core.<*> (o Core..:? "segmentationId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "segmentationName")+            Core.<*> (o Core..:? "segmentationType")+      )++instance Core.ToJSON Availability where+  toJSON Availability {..} =+    Core.object+      ( Core.catMaybes+          [ ("advertiserId" Core..=) Core.. Core.AsText Core.<$> advertiserId,+            ("agencyId" Core..=) Core.. Core.AsText Core.<$> agencyId,+            ("availabilityTimestamp" Core..=)+              Core.. Core.AsText+              Core.<$> availabilityTimestamp,+            ("customerId" Core..=) Core.<$> customerId,+            ("segmentationId" Core..=)+              Core.. Core.AsText+              Core.<$> segmentationId,+            ("segmentationName" Core..=) Core.<$> segmentationName,+            ("segmentationType" Core..=) Core.<$> segmentationType+          ]+      )++-- | A conversion containing data relevant to DoubleClick Search.+--+-- /See:/ 'newConversion' smart constructor.+data Conversion = Conversion+  { -- | DS ad group ID.+    adGroupId :: (Core.Maybe Core.Int64),+    -- | DS ad ID.+    adId :: (Core.Maybe Core.Int64),+    -- | Represents consent for core platform services (CPS) preferences in settings. No default value. Acceptable values are: GRANTED: The desired consent status is to grant. Read the CPS preferences from GTE settings. DENIED: The desired consent status is to deny; CPS list is empty.+    adUserDataConsent :: (Core.Maybe Conversion_AdUserDataConsent),+    -- | DS advertiser ID.+    advertiserId :: (Core.Maybe Core.Int64),+    -- | DS agency ID.+    agencyId :: (Core.Maybe Core.Int64),+    -- | Available to advertisers only after contacting DoubleClick Search customer support.+    attributionModel :: (Core.Maybe Core.Text),+    -- | DS campaign ID.+    campaignId :: (Core.Maybe Core.Int64),+    -- | Sales channel for the product. Acceptable values are: - \"@local@\": a physical store - \"@online@\": an online store+    channel :: (Core.Maybe Core.Text),+    -- | DS click ID for the conversion.+    clickId :: (Core.Maybe Core.Text),+    -- | For offline conversions, advertisers provide this ID. Advertisers can specify any ID that is meaningful to them. Each conversion in a request must specify a unique ID, and the combination of ID and timestamp must be unique amongst all conversions within the advertiser. For online conversions, DS copies the @dsConversionId@ or @floodlightOrderId@ into this property depending on the advertiser\'s Floodlight instructions.+    conversionId :: (Core.Maybe Core.Text),+    -- | The time at which the conversion was last modified, in epoch millis UTC.+    conversionModifiedTimestamp :: (Core.Maybe Core.Int64),+    -- | The time at which the conversion took place, in epoch millis UTC.+    conversionTimestamp :: (Core.Maybe Core.Text),+    -- | Available to advertisers only after contacting DoubleClick Search customer support.+    countMillis :: (Core.Maybe Core.Int64),+    -- | DS criterion (keyword) ID.+    criterionId :: (Core.Maybe Core.Int64),+    -- | The currency code for the conversion\'s revenue. Should be in ISO 4217 alphabetic (3-char) format.+    currencyCode :: (Core.Maybe Core.Text),+    -- | Custom dimensions for the conversion, which can be used to filter data in a report.+    customDimension :: (Core.Maybe [CustomDimension]),+    -- | Custom metrics for the conversion.+    customMetric :: (Core.Maybe [CustomMetric]),+    -- | Customer ID of a client account in the new Search Ads 360 experience.+    customerId :: (Core.Maybe Core.Text),+    -- | The type of device on which the conversion occurred.+    deviceType :: (Core.Maybe Core.Text),+    -- | ID that DoubleClick Search generates for each conversion.+    dsConversionId :: (Core.Maybe Core.Int64),+    -- | DS engine account ID.+    engineAccountId :: (Core.Maybe Core.Int64),+    -- | The Floodlight order ID provided by the advertiser for the conversion.+    floodlightOrderId :: (Core.Maybe Core.Text),+    -- | ID that DS generates and uses to uniquely identify the inventory account that contains the product.+    inventoryAccountId :: (Core.Maybe Core.Int64),+    -- | The country registered for the Merchant Center feed that contains the product. Use an ISO 3166 code to specify a country.+    productCountry :: (Core.Maybe Core.Text),+    -- | DS product group ID.+    productGroupId :: (Core.Maybe Core.Int64),+    -- | The product ID (SKU).+    productId :: (Core.Maybe Core.Text),+    -- | The language registered for the Merchant Center feed that contains the product. Use an ISO 639 code to specify a language.+    productLanguage :: (Core.Maybe Core.Text),+    -- | The quantity of this conversion, in millis.+    quantityMillis :: (Core.Maybe Core.Int64),+    -- | The revenue amount of this @TRANSACTION@ conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of \"10\" enter \"10000000\" (10 million) in your request.+    revenueMicros :: (Core.Maybe Core.Text),+    -- | The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).+    segmentationId :: (Core.Maybe Core.Int64),+    -- | The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).+    segmentationName :: (Core.Maybe Core.Text),+    -- | The segmentation type of this conversion (for example, @FLOODLIGHT@).+    segmentationType :: (Core.Maybe Core.Text),+    -- | The state of the conversion, that is, either @ACTIVE@ or @REMOVED@. Note: state DELETED is deprecated.+    state :: (Core.Maybe Core.Text),+    -- | The ID of the local store for which the product was advertised. Applicable only when the channel is \"@local@\".+    storeId :: (Core.Maybe Core.Text),+    -- | The type of the conversion, that is, either @ACTION@ or @TRANSACTION@. An @ACTION@ conversion is an action by the user that has no monetarily quantifiable value, while a @TRANSACTION@ conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (@ACTION@) versus ecommerce purchases (@TRANSACTION@).+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Conversion' with the minimum fields required to make a request.+newConversion ::+  Conversion+newConversion =+  Conversion+    { adGroupId = Core.Nothing,+      adId = Core.Nothing,+      adUserDataConsent = Core.Nothing,+      advertiserId = Core.Nothing,+      agencyId = Core.Nothing,+      attributionModel = Core.Nothing,+      campaignId = Core.Nothing,+      channel = Core.Nothing,+      clickId = Core.Nothing,+      conversionId = Core.Nothing,+      conversionModifiedTimestamp = Core.Nothing,+      conversionTimestamp = Core.Nothing,+      countMillis = Core.Nothing,+      criterionId = Core.Nothing,+      currencyCode = Core.Nothing,+      customDimension = Core.Nothing,+      customMetric = Core.Nothing,+      customerId = Core.Nothing,+      deviceType = Core.Nothing,+      dsConversionId = Core.Nothing,+      engineAccountId = Core.Nothing,+      floodlightOrderId = Core.Nothing,+      inventoryAccountId = Core.Nothing,+      productCountry = Core.Nothing,+      productGroupId = Core.Nothing,+      productId = Core.Nothing,+      productLanguage = Core.Nothing,+      quantityMillis = Core.Nothing,+      revenueMicros = Core.Nothing,+      segmentationId = Core.Nothing,+      segmentationName = Core.Nothing,+      segmentationType = Core.Nothing,+      state = Core.Nothing,+      storeId = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON Conversion where+  parseJSON =+    Core.withObject+      "Conversion"+      ( \o ->+          Conversion+            Core.<$> (o Core..:? "adGroupId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "adId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "adUserDataConsent")+            Core.<*> (o Core..:? "advertiserId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "agencyId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "attributionModel")+            Core.<*> (o Core..:? "campaignId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "channel")+            Core.<*> (o Core..:? "clickId")+            Core.<*> (o Core..:? "conversionId")+            Core.<*> ( o+                         Core..:? "conversionModifiedTimestamp"+                         Core.<&> Core.fmap Core.fromAsText+                     )+            Core.<*> (o Core..:? "conversionTimestamp")+            Core.<*> (o Core..:? "countMillis" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "criterionId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "currencyCode")+            Core.<*> (o Core..:? "customDimension")+            Core.<*> (o Core..:? "customMetric")+            Core.<*> (o Core..:? "customerId")+            Core.<*> (o Core..:? "deviceType")+            Core.<*> (o Core..:? "dsConversionId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "engineAccountId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "floodlightOrderId")+            Core.<*> ( o+                         Core..:? "inventoryAccountId"+                         Core.<&> Core.fmap Core.fromAsText+                     )+            Core.<*> (o Core..:? "productCountry")+            Core.<*> (o Core..:? "productGroupId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "productId")+            Core.<*> (o Core..:? "productLanguage")+            Core.<*> (o Core..:? "quantityMillis" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "revenueMicros")+            Core.<*> (o Core..:? "segmentationId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "segmentationName")+            Core.<*> (o Core..:? "segmentationType")+            Core.<*> (o Core..:? "state")+            Core.<*> (o Core..:? "storeId")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Conversion where+  toJSON Conversion {..} =+    Core.object+      ( Core.catMaybes+          [ ("adGroupId" Core..=) Core.. Core.AsText Core.<$> adGroupId,+            ("adId" Core..=) Core.. Core.AsText Core.<$> adId,+            ("adUserDataConsent" Core..=) Core.<$> adUserDataConsent,+            ("advertiserId" Core..=) Core.. Core.AsText Core.<$> advertiserId,+            ("agencyId" Core..=) Core.. Core.AsText Core.<$> agencyId,+            ("attributionModel" Core..=) Core.<$> attributionModel,+            ("campaignId" Core..=) Core.. Core.AsText Core.<$> campaignId,+            ("channel" Core..=) Core.<$> channel,+            ("clickId" Core..=) Core.<$> clickId,+            ("conversionId" Core..=) Core.<$> conversionId,+            ("conversionModifiedTimestamp" Core..=)+              Core.. Core.AsText+              Core.<$> conversionModifiedTimestamp,+            ("conversionTimestamp" Core..=) Core.<$> conversionTimestamp,+            ("countMillis" Core..=) Core.. Core.AsText Core.<$> countMillis,+            ("criterionId" Core..=) Core.. Core.AsText Core.<$> criterionId,+            ("currencyCode" Core..=) Core.<$> currencyCode,+            ("customDimension" Core..=) Core.<$> customDimension,+            ("customMetric" Core..=) Core.<$> customMetric,+            ("customerId" Core..=) Core.<$> customerId,+            ("deviceType" Core..=) Core.<$> deviceType,+            ("dsConversionId" Core..=)+              Core.. Core.AsText+              Core.<$> dsConversionId,+            ("engineAccountId" Core..=)+              Core.. Core.AsText+              Core.<$> engineAccountId,+            ("floodlightOrderId" Core..=) Core.<$> floodlightOrderId,+            ("inventoryAccountId" Core..=)+              Core.. Core.AsText+              Core.<$> inventoryAccountId,+            ("productCountry" Core..=) Core.<$> productCountry,+            ("productGroupId" Core..=)+              Core.. Core.AsText+              Core.<$> productGroupId,+            ("productId" Core..=) Core.<$> productId,+            ("productLanguage" Core..=) Core.<$> productLanguage,+            ("quantityMillis" Core..=)+              Core.. Core.AsText+              Core.<$> quantityMillis,+            ("revenueMicros" Core..=) Core.<$> revenueMicros,+            ("segmentationId" Core..=)+              Core.. Core.AsText+              Core.<$> segmentationId,+            ("segmentationName" Core..=) Core.<$> segmentationName,+            ("segmentationType" Core..=) Core.<$> segmentationType,+            ("state" Core..=) Core.<$> state,+            ("storeId" Core..=) Core.<$> storeId,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | A list of conversions.+--+-- /See:/ 'newConversionList' smart constructor.+data ConversionList = ConversionList+  { -- | The conversions being requested.+    conversion :: (Core.Maybe [Conversion]),+    -- | Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.+    kind :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ConversionList' with the minimum fields required to make a request.+newConversionList ::+  ConversionList+newConversionList =+  ConversionList {conversion = Core.Nothing, kind = Core.Nothing}++instance Core.FromJSON ConversionList where+  parseJSON =+    Core.withObject+      "ConversionList"+      ( \o ->+          ConversionList+            Core.<$> (o Core..:? "conversion")+            Core.<*> (o Core..:? "kind")+      )++instance Core.ToJSON ConversionList where+  toJSON ConversionList {..} =+    Core.object+      ( Core.catMaybes+          [ ("conversion" Core..=) Core.<$> conversion,+            ("kind" Core..=) Core.<$> kind+          ]+      )++-- | A message containing the custom dimension.+--+-- /See:/ 'newCustomDimension' smart constructor.+data CustomDimension = CustomDimension+  { -- | Custom dimension name.+    name :: (Core.Maybe Core.Text),+    -- | Custom dimension value.+    value :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CustomDimension' with the minimum fields required to make a request.+newCustomDimension ::+  CustomDimension+newCustomDimension =+  CustomDimension {name = Core.Nothing, value = Core.Nothing}++instance Core.FromJSON CustomDimension where+  parseJSON =+    Core.withObject+      "CustomDimension"+      ( \o ->+          CustomDimension+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON CustomDimension where+  toJSON CustomDimension {..} =+    Core.object+      ( Core.catMaybes+          [("name" Core..=) Core.<$> name, ("value" Core..=) Core.<$> value]+      )++-- | A message containing the custom metric.+--+-- /See:/ 'newCustomMetric' smart constructor.+data CustomMetric = CustomMetric+  { -- | Custom metric name.+    name :: (Core.Maybe Core.Text),+    -- | Custom metric numeric value.+    value :: (Core.Maybe Core.Double)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CustomMetric' with the minimum fields required to make a request.+newCustomMetric ::+  CustomMetric+newCustomMetric =+  CustomMetric {name = Core.Nothing, value = Core.Nothing}++instance Core.FromJSON CustomMetric where+  parseJSON =+    Core.withObject+      "CustomMetric"+      ( \o ->+          CustomMetric+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON CustomMetric where+  toJSON CustomMetric {..} =+    Core.object+      ( Core.catMaybes+          [("name" Core..=) Core.<$> name, ("value" Core..=) Core.<$> value]+      )++-- | File returned to https:\/\/developers.google.com\/search-ads\/v2\/reference\/reports\/getIdMappingFile.+--+-- /See:/ 'newIdMappingFile' smart constructor.+data IdMappingFile = IdMappingFile+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'IdMappingFile' with the minimum fields required to make a request.+newIdMappingFile ::+  IdMappingFile+newIdMappingFile = IdMappingFile++instance Core.FromJSON IdMappingFile where+  parseJSON =+    Core.withObject "IdMappingFile" (\o -> Core.pure IdMappingFile)++instance Core.ToJSON IdMappingFile where+  toJSON = Core.const Core.emptyObject++-- | A DoubleClick Search report. This object contains the report request, some report metadata such as currency code, and the generated report rows or report files.+--+-- /See:/ 'newReport' smart constructor.+data Report = Report+  { -- | Asynchronous report only. Contains a list of generated report files once the report has successfully completed.+    files :: (Core.Maybe [Report_FilesItem]),+    -- | Asynchronous report only. Id of the report.+    id :: (Core.Maybe Core.Text),+    -- | Asynchronous report only. True if and only if the report has completed successfully and the report files are ready to be downloaded.+    isReportReady :: (Core.Maybe Core.Bool),+    -- | Identifies this as a Report resource. Value: the fixed string @doubleclicksearch#report@.+    kind :: (Core.Maybe Core.Text),+    -- | The request that created the report. Optional fields not specified in the original request are filled with default values.+    request' :: (Core.Maybe ReportRequest),+    -- | The number of report rows generated by the report, not including headers.+    rowCount :: (Core.Maybe Core.Int32),+    -- | Synchronous report only. Generated report rows.+    rows :: (Core.Maybe [ReportRow]),+    -- | The currency code of all monetary values produced in the report, including values that are set by users (e.g., keyword bid settings) and metrics (e.g., cost and revenue). The currency code of a report is determined by the @statisticsCurrency@ field of the report request.+    statisticsCurrencyCode :: (Core.Maybe Core.Text),+    -- | If all statistics of the report are sourced from the same time zone, this would be it. Otherwise the field is unset.+    statisticsTimeZone :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Report' with the minimum fields required to make a request.+newReport ::+  Report+newReport =+  Report+    { files = Core.Nothing,+      id = Core.Nothing,+      isReportReady = Core.Nothing,+      kind = Core.Nothing,+      request' = Core.Nothing,+      rowCount = Core.Nothing,+      rows = Core.Nothing,+      statisticsCurrencyCode = Core.Nothing,+      statisticsTimeZone = Core.Nothing+    }++instance Core.FromJSON Report where+  parseJSON =+    Core.withObject+      "Report"+      ( \o ->+          Report+            Core.<$> (o Core..:? "files")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "isReportReady")+            Core.<*> (o Core..:? "kind")+            Core.<*> (o Core..:? "request")+            Core.<*> (o Core..:? "rowCount")+            Core.<*> (o Core..:? "rows")+            Core.<*> (o Core..:? "statisticsCurrencyCode")+            Core.<*> (o Core..:? "statisticsTimeZone")+      )++instance Core.ToJSON Report where+  toJSON Report {..} =+    Core.object+      ( Core.catMaybes+          [ ("files" Core..=) Core.<$> files,+            ("id" Core..=) Core.<$> id,+            ("isReportReady" Core..=) Core.<$> isReportReady,+            ("kind" Core..=) Core.<$> kind,+            ("request" Core..=) Core.<$> request',+            ("rowCount" Core..=) Core.<$> rowCount,+            ("rows" Core..=) Core.<$> rows,+            ("statisticsCurrencyCode" Core..=) Core.<$> statisticsCurrencyCode,+            ("statisticsTimeZone" Core..=) Core.<$> statisticsTimeZone+          ]+      )++--+-- /See:/ 'newReport_FilesItem' smart constructor.+data Report_FilesItem = Report_FilesItem+  { -- | The size of this report file in bytes.+    byteCount :: (Core.Maybe Core.Int64),+    -- | Use this url to download the report file.+    url :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Report_FilesItem' with the minimum fields required to make a request.+newReport_FilesItem ::+  Report_FilesItem+newReport_FilesItem =+  Report_FilesItem {byteCount = Core.Nothing, url = Core.Nothing}++instance Core.FromJSON Report_FilesItem where+  parseJSON =+    Core.withObject+      "Report_FilesItem"+      ( \o ->+          Report_FilesItem+            Core.<$> (o Core..:? "byteCount" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "url")+      )++instance Core.ToJSON Report_FilesItem where+  toJSON Report_FilesItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("byteCount" Core..=) Core.. Core.AsText Core.<$> byteCount,+            ("url" Core..=) Core.<$> url+          ]+      )++-- | A request object used to create a DoubleClick Search report.+--+-- /See:/ 'newReportApiColumnSpec' smart constructor.+data ReportApiColumnSpec = ReportApiColumnSpec+  { -- | Name of a DoubleClick Search column to include in the report.+    columnName :: (Core.Maybe Core.Text),+    -- | Segments a report by a custom dimension. The report must be scoped to an advertiser or lower, and the custom dimension must already be set up in DoubleClick Search. The custom dimension name, which appears in DoubleClick Search, is case sensitive.\\ If used in a conversion report, returns the value of the specified custom dimension for the given conversion, if set. This column does not segment the conversion report.+    customDimensionName :: (Core.Maybe Core.Text),+    -- | Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.+    customMetricName :: (Core.Maybe Core.Text),+    -- | Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with @startDate@.+    endDate :: (Core.Maybe Core.Text),+    -- | Synchronous report only. Set to @true@ to group by this column. Defaults to @false@.+    groupByColumn :: (Core.Maybe Core.Bool),+    -- | Text used to identify this column in the report output; defaults to @columnName@ or @savedColumnName@ when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.+    headerText :: (Core.Maybe Core.Text),+    -- | The platform that is used to provide data for the custom dimension. Acceptable values are \"floodlight\".+    platformSource :: (Core.Maybe Core.Text),+    -- | Returns metrics only for a specific type of product activity. Accepted values are: - \"@sold@\": returns metrics only for products that were sold - \"@advertised@\": returns metrics only for products that were advertised in a Shopping campaign, and that might or might not have been sold+    productReportPerspective :: (Core.Maybe Core.Text),+    -- | Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.+    savedColumnName :: (Core.Maybe Core.Text),+    -- | Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with @endDate@.+    startDate :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportApiColumnSpec' with the minimum fields required to make a request.+newReportApiColumnSpec ::+  ReportApiColumnSpec+newReportApiColumnSpec =+  ReportApiColumnSpec+    { columnName = Core.Nothing,+      customDimensionName = Core.Nothing,+      customMetricName = Core.Nothing,+      endDate = Core.Nothing,+      groupByColumn = Core.Nothing,+      headerText = Core.Nothing,+      platformSource = Core.Nothing,+      productReportPerspective = Core.Nothing,+      savedColumnName = Core.Nothing,+      startDate = Core.Nothing+    }++instance Core.FromJSON ReportApiColumnSpec where+  parseJSON =+    Core.withObject+      "ReportApiColumnSpec"+      ( \o ->+          ReportApiColumnSpec+            Core.<$> (o Core..:? "columnName")+            Core.<*> (o Core..:? "customDimensionName")+            Core.<*> (o Core..:? "customMetricName")+            Core.<*> (o Core..:? "endDate")+            Core.<*> (o Core..:? "groupByColumn")+            Core.<*> (o Core..:? "headerText")+            Core.<*> (o Core..:? "platformSource")+            Core.<*> (o Core..:? "productReportPerspective")+            Core.<*> (o Core..:? "savedColumnName")+            Core.<*> (o Core..:? "startDate")+      )++instance Core.ToJSON ReportApiColumnSpec where+  toJSON ReportApiColumnSpec {..} =+    Core.object+      ( Core.catMaybes+          [ ("columnName" Core..=) Core.<$> columnName,+            ("customDimensionName" Core..=) Core.<$> customDimensionName,+            ("customMetricName" Core..=) Core.<$> customMetricName,+            ("endDate" Core..=) Core.<$> endDate,+            ("groupByColumn" Core..=) Core.<$> groupByColumn,+            ("headerText" Core..=) Core.<$> headerText,+            ("platformSource" Core..=) Core.<$> platformSource,+            ("productReportPerspective" Core..=)+              Core.<$> productReportPerspective,+            ("savedColumnName" Core..=) Core.<$> savedColumnName,+            ("startDate" Core..=) Core.<$> startDate+          ]+      )++-- | A request object used to create a DoubleClick Search report.+--+-- /See:/ 'newReportRequest' smart constructor.+data ReportRequest = ReportRequest+  { -- | The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the @columnName@ parameter is required. For saved columns only the @savedColumnName@ parameter is required. Both @columnName@ and @savedColumnName@ cannot be set in the same stanza.\\ The maximum number of columns per request is 300.+    columns :: (Core.Maybe [ReportApiColumnSpec]),+    -- | Format that the report should be returned in. Currently @csv@ or @tsv@ is supported.+    downloadFormat :: (Core.Maybe Core.Text),+    -- | A list of filters to be applied to the report.\\ The maximum number of filters per request is 300.+    filters :: (Core.Maybe [ReportRequest_FiltersItem]),+    -- | Determines if removed entities should be included in the report. Defaults to @false@. Deprecated, please use @includeRemovedEntities@ instead.+    includeDeletedEntities :: (Core.Maybe Core.Bool),+    -- | Determines if removed entities should be included in the report. Defaults to @false@.+    includeRemovedEntities :: (Core.Maybe Core.Bool),+    -- | Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are @1000000@ to @100000000@, inclusive.+    maxRowsPerFile :: (Core.Maybe Core.Int32),+    -- | Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.\\ The maximum number of orderings per request is 300.+    orderBy :: (Core.Maybe [ReportRequest_OrderByItem]),+    -- | The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.+    reportScope :: (Core.Maybe ReportRequest_ReportScope),+    -- | Determines the type of rows that are returned in the report. For example, if you specify @reportType: keyword@, each row in the report will contain data about a keyword. See the </search-ads/v2/report-types/ Types of Reports> reference for the columns that are available for each type.+    reportType :: (Core.Maybe Core.Text),+    -- | Synchronous report only. The maximum number of rows to return; additional rows are dropped. Acceptable values are @0@ to @10000@, inclusive. Defaults to @10000@.+    rowCount :: (Core.Maybe Core.Int32),+    -- | Synchronous report only. Zero-based index of the first row to return. Acceptable values are @0@ to @50000@, inclusive. Defaults to @0@.+    startRow :: (Core.Maybe Core.Int32),+    -- | Specifies the currency in which monetary will be returned. Possible values are: @usd@, @agency@ (valid if the report is scoped to agency or lower), @advertiser@ (valid if the report is scoped to * advertiser or lower), or @account@ (valid if the report is scoped to engine account or lower).+    statisticsCurrency :: (Core.Maybe Core.Text),+    -- | If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.+    timeRange :: (Core.Maybe ReportRequest_TimeRange),+    -- | If @true@, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to @false@.+    verifySingleTimeZone :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRequest' with the minimum fields required to make a request.+newReportRequest ::+  ReportRequest+newReportRequest =+  ReportRequest+    { columns = Core.Nothing,+      downloadFormat = Core.Nothing,+      filters = Core.Nothing,+      includeDeletedEntities = Core.Nothing,+      includeRemovedEntities = Core.Nothing,+      maxRowsPerFile = Core.Nothing,+      orderBy = Core.Nothing,+      reportScope = Core.Nothing,+      reportType = Core.Nothing,+      rowCount = Core.Nothing,+      startRow = Core.Nothing,+      statisticsCurrency = Core.Nothing,+      timeRange = Core.Nothing,+      verifySingleTimeZone = Core.Nothing+    }++instance Core.FromJSON ReportRequest where+  parseJSON =+    Core.withObject+      "ReportRequest"+      ( \o ->+          ReportRequest+            Core.<$> (o Core..:? "columns")+            Core.<*> (o Core..:? "downloadFormat")+            Core.<*> (o Core..:? "filters")+            Core.<*> (o Core..:? "includeDeletedEntities")+            Core.<*> (o Core..:? "includeRemovedEntities")+            Core.<*> (o Core..:? "maxRowsPerFile")+            Core.<*> (o Core..:? "orderBy")+            Core.<*> (o Core..:? "reportScope")+            Core.<*> (o Core..:? "reportType")+            Core.<*> (o Core..:? "rowCount")+            Core.<*> (o Core..:? "startRow")+            Core.<*> (o Core..:? "statisticsCurrency")+            Core.<*> (o Core..:? "timeRange")+            Core.<*> (o Core..:? "verifySingleTimeZone")+      )++instance Core.ToJSON ReportRequest where+  toJSON ReportRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("columns" Core..=) Core.<$> columns,+            ("downloadFormat" Core..=) Core.<$> downloadFormat,+            ("filters" Core..=) Core.<$> filters,+            ("includeDeletedEntities" Core..=) Core.<$> includeDeletedEntities,+            ("includeRemovedEntities" Core..=) Core.<$> includeRemovedEntities,+            ("maxRowsPerFile" Core..=) Core.<$> maxRowsPerFile,+            ("orderBy" Core..=) Core.<$> orderBy,+            ("reportScope" Core..=) Core.<$> reportScope,+            ("reportType" Core..=) Core.<$> reportType,+            ("rowCount" Core..=) Core.<$> rowCount,+            ("startRow" Core..=) Core.<$> startRow,+            ("statisticsCurrency" Core..=) Core.<$> statisticsCurrency,+            ("timeRange" Core..=) Core.<$> timeRange,+            ("verifySingleTimeZone" Core..=) Core.<$> verifySingleTimeZone+          ]+      )++--+-- /See:/ 'newReportRequest_FiltersItem' smart constructor.+data ReportRequest_FiltersItem = ReportRequest_FiltersItem+  { -- | Column to perform the filter on. This can be a DoubleClick Search column or a saved column.+    column :: (Core.Maybe ReportApiColumnSpec),+    -- | Operator to use in the filter. See the filter reference for a list of available operators.+    operator :: (Core.Maybe Core.Text),+    -- | A list of values to filter the column value against.\\ The maximum number of filter values per request is 300.+    values :: (Core.Maybe [Core.Value])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRequest_FiltersItem' with the minimum fields required to make a request.+newReportRequest_FiltersItem ::+  ReportRequest_FiltersItem+newReportRequest_FiltersItem =+  ReportRequest_FiltersItem+    { column = Core.Nothing,+      operator = Core.Nothing,+      values = Core.Nothing+    }++instance Core.FromJSON ReportRequest_FiltersItem where+  parseJSON =+    Core.withObject+      "ReportRequest_FiltersItem"+      ( \o ->+          ReportRequest_FiltersItem+            Core.<$> (o Core..:? "column")+            Core.<*> (o Core..:? "operator")+            Core.<*> (o Core..:? "values")+      )++instance Core.ToJSON ReportRequest_FiltersItem where+  toJSON ReportRequest_FiltersItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("column" Core..=) Core.<$> column,+            ("operator" Core..=) Core.<$> operator,+            ("values" Core..=) Core.<$> values+          ]+      )++--+-- /See:/ 'newReportRequest_OrderByItem' smart constructor.+data ReportRequest_OrderByItem = ReportRequest_OrderByItem+  { -- | Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.+    column :: (Core.Maybe ReportApiColumnSpec),+    -- | The sort direction, which is either @ascending@ or @descending@.+    sortOrder :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRequest_OrderByItem' with the minimum fields required to make a request.+newReportRequest_OrderByItem ::+  ReportRequest_OrderByItem+newReportRequest_OrderByItem =+  ReportRequest_OrderByItem+    { column = Core.Nothing,+      sortOrder = Core.Nothing+    }++instance Core.FromJSON ReportRequest_OrderByItem where+  parseJSON =+    Core.withObject+      "ReportRequest_OrderByItem"+      ( \o ->+          ReportRequest_OrderByItem+            Core.<$> (o Core..:? "column")+            Core.<*> (o Core..:? "sortOrder")+      )++instance Core.ToJSON ReportRequest_OrderByItem where+  toJSON ReportRequest_OrderByItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("column" Core..=) Core.<$> column,+            ("sortOrder" Core..=) Core.<$> sortOrder+          ]+      )++-- | The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.+--+-- /See:/ 'newReportRequest_ReportScope' smart constructor.+data ReportRequest_ReportScope = ReportRequest_ReportScope+  { -- | DS ad group ID.+    adGroupId :: (Core.Maybe Core.Int64),+    -- | DS ad ID.+    adId :: (Core.Maybe Core.Int64),+    -- | DS advertiser ID.+    advertiserId :: (Core.Maybe Core.Int64),+    -- | DS agency ID.+    agencyId :: (Core.Maybe Core.Int64),+    -- | DS campaign ID.+    campaignId :: (Core.Maybe Core.Int64),+    -- | DS engine account ID.+    engineAccountId :: (Core.Maybe Core.Int64),+    -- | DS keyword ID.+    keywordId :: (Core.Maybe Core.Int64)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRequest_ReportScope' with the minimum fields required to make a request.+newReportRequest_ReportScope ::+  ReportRequest_ReportScope+newReportRequest_ReportScope =+  ReportRequest_ReportScope+    { adGroupId = Core.Nothing,+      adId = Core.Nothing,+      advertiserId = Core.Nothing,+      agencyId = Core.Nothing,+      campaignId = Core.Nothing,+      engineAccountId = Core.Nothing,+      keywordId = Core.Nothing+    }++instance Core.FromJSON ReportRequest_ReportScope where+  parseJSON =+    Core.withObject+      "ReportRequest_ReportScope"+      ( \o ->+          ReportRequest_ReportScope+            Core.<$> (o Core..:? "adGroupId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "adId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "advertiserId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "agencyId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "campaignId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "engineAccountId" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "keywordId" Core.<&> Core.fmap Core.fromAsText)+      )++instance Core.ToJSON ReportRequest_ReportScope where+  toJSON ReportRequest_ReportScope {..} =+    Core.object+      ( Core.catMaybes+          [ ("adGroupId" Core..=) Core.. Core.AsText Core.<$> adGroupId,+            ("adId" Core..=) Core.. Core.AsText Core.<$> adId,+            ("advertiserId" Core..=) Core.. Core.AsText Core.<$> advertiserId,+            ("agencyId" Core..=) Core.. Core.AsText Core.<$> agencyId,+            ("campaignId" Core..=) Core.. Core.AsText Core.<$> campaignId,+            ("engineAccountId" Core..=)+              Core.. Core.AsText+              Core.<$> engineAccountId,+            ("keywordId" Core..=) Core.. Core.AsText Core.<$> keywordId+          ]+      )++-- | If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.+--+-- /See:/ 'newReportRequest_TimeRange' smart constructor.+data ReportRequest_TimeRange = ReportRequest_TimeRange+  { -- | Inclusive UTC timestamp in RFC format, e.g., @2013-07-16T10:16:23.555Z@. See additional references on how changed attribute reports work.+    changedAttributesSinceTimestamp :: (Core.Maybe Core.Text),+    -- | Inclusive UTC timestamp in RFC format, e.g., @2013-07-16T10:16:23.555Z@. See additional references on how changed metrics reports work.+    changedMetricsSinceTimestamp :: (Core.Maybe Core.Text),+    -- | Inclusive date in YYYY-MM-DD format.+    endDate :: (Core.Maybe Core.Text),+    -- | Inclusive date in YYYY-MM-DD format.+    startDate :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRequest_TimeRange' with the minimum fields required to make a request.+newReportRequest_TimeRange ::+  ReportRequest_TimeRange+newReportRequest_TimeRange =+  ReportRequest_TimeRange+    { changedAttributesSinceTimestamp =+        Core.Nothing,+      changedMetricsSinceTimestamp = Core.Nothing,+      endDate = Core.Nothing,+      startDate = Core.Nothing+    }++instance Core.FromJSON ReportRequest_TimeRange where+  parseJSON =+    Core.withObject+      "ReportRequest_TimeRange"+      ( \o ->+          ReportRequest_TimeRange+            Core.<$> (o Core..:? "changedAttributesSinceTimestamp")+            Core.<*> (o Core..:? "changedMetricsSinceTimestamp")+            Core.<*> (o Core..:? "endDate")+            Core.<*> (o Core..:? "startDate")+      )++instance Core.ToJSON ReportRequest_TimeRange where+  toJSON ReportRequest_TimeRange {..} =+    Core.object+      ( Core.catMaybes+          [ ("changedAttributesSinceTimestamp" Core..=)+              Core.<$> changedAttributesSinceTimestamp,+            ("changedMetricsSinceTimestamp" Core..=)+              Core.<$> changedMetricsSinceTimestamp,+            ("endDate" Core..=) Core.<$> endDate,+            ("startDate" Core..=) Core.<$> startDate+          ]+      )++-- | A row in a DoubleClick Search report.+--+-- /See:/ 'newReportRow' smart constructor.+newtype ReportRow = ReportRow+  { -- | Indicates the columns that are represented in this row. That is, each key corresponds to a column with a non-empty cell in this row.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportRow' with the minimum fields required to make a request.+newReportRow ::+  -- |  Indicates the columns that are represented in this row. That is, each key corresponds to a column with a non-empty cell in this row. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  ReportRow+newReportRow additional = ReportRow {additional = additional}++instance Core.FromJSON ReportRow where+  parseJSON =+    Core.withObject+      "ReportRow"+      (\o -> ReportRow Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON ReportRow where+  toJSON ReportRow {..} = Core.toJSON additional++-- | A saved column+--+-- /See:/ 'newSavedColumn' smart constructor.+data SavedColumn = SavedColumn+  { -- | Identifies this as a SavedColumn resource. Value: the fixed string doubleclicksearch#savedColumn.+    kind :: (Core.Maybe Core.Text),+    -- | The name of the saved column.+    savedColumnName :: (Core.Maybe Core.Text),+    -- | The type of data this saved column will produce.+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SavedColumn' with the minimum fields required to make a request.+newSavedColumn ::+  SavedColumn+newSavedColumn =+  SavedColumn+    { kind = Core.Nothing,+      savedColumnName = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON SavedColumn where+  parseJSON =+    Core.withObject+      "SavedColumn"+      ( \o ->+          SavedColumn+            Core.<$> (o Core..:? "kind")+            Core.<*> (o Core..:? "savedColumnName")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON SavedColumn where+  toJSON SavedColumn {..} =+    Core.object+      ( Core.catMaybes+          [ ("kind" Core..=) Core.<$> kind,+            ("savedColumnName" Core..=) Core.<$> savedColumnName,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | A list of saved columns. Advertisers create saved columns to report on Floodlight activities, Google Analytics goals, or custom KPIs. To request reports with saved columns, you\'ll need the saved column names that are available from this list.+--+-- /See:/ 'newSavedColumnList' smart constructor.+data SavedColumnList = SavedColumnList+  { -- | The saved columns being requested.+    items :: (Core.Maybe [SavedColumn]),+    -- | Identifies this as a SavedColumnList resource. Value: the fixed string doubleclicksearch#savedColumnList.+    kind :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SavedColumnList' with the minimum fields required to make a request.+newSavedColumnList ::+  SavedColumnList+newSavedColumnList =+  SavedColumnList {items = Core.Nothing, kind = Core.Nothing}++instance Core.FromJSON SavedColumnList where+  parseJSON =+    Core.withObject+      "SavedColumnList"+      ( \o ->+          SavedColumnList+            Core.<$> (o Core..:? "items")+            Core.<*> (o Core..:? "kind")+      )++instance Core.ToJSON SavedColumnList where+  toJSON SavedColumnList {..} =+    Core.object+      ( Core.catMaybes+          [("items" Core..=) Core.<$> items, ("kind" Core..=) Core.<$> kind]+      )++-- | The request to update availability.+--+-- /See:/ 'newUpdateAvailabilityRequest' smart constructor.+newtype UpdateAvailabilityRequest = UpdateAvailabilityRequest+  { -- | The availabilities being requested.+    availabilities :: (Core.Maybe [Availability])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateAvailabilityRequest' with the minimum fields required to make a request.+newUpdateAvailabilityRequest ::+  UpdateAvailabilityRequest+newUpdateAvailabilityRequest =+  UpdateAvailabilityRequest {availabilities = Core.Nothing}++instance Core.FromJSON UpdateAvailabilityRequest where+  parseJSON =+    Core.withObject+      "UpdateAvailabilityRequest"+      ( \o ->+          UpdateAvailabilityRequest Core.<$> (o Core..:? "availabilities")+      )++instance Core.ToJSON UpdateAvailabilityRequest where+  toJSON UpdateAvailabilityRequest {..} =+    Core.object+      ( Core.catMaybes+          [("availabilities" Core..=) Core.<$> availabilities]+      )++-- | The response to a update availability request.+--+-- /See:/ 'newUpdateAvailabilityResponse' smart constructor.+newtype UpdateAvailabilityResponse = UpdateAvailabilityResponse+  { -- | The availabilities being returned.+    availabilities :: (Core.Maybe [Availability])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateAvailabilityResponse' with the minimum fields required to make a request.+newUpdateAvailabilityResponse ::+  UpdateAvailabilityResponse+newUpdateAvailabilityResponse =+  UpdateAvailabilityResponse {availabilities = Core.Nothing}++instance Core.FromJSON UpdateAvailabilityResponse where+  parseJSON =+    Core.withObject+      "UpdateAvailabilityResponse"+      ( \o ->+          UpdateAvailabilityResponse Core.<$> (o Core..:? "availabilities")+      )++instance Core.ToJSON UpdateAvailabilityResponse where+  toJSON UpdateAvailabilityResponse {..} =+    Core.object+      ( Core.catMaybes+          [("availabilities" Core..=) Core.<$> availabilities]+      )
+ gen/Gogol/DoubleClickSearch/Internal/Sum.hs view
@@ -0,0 +1,103 @@+{-# 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.DoubleClickSearch.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.DoubleClickSearch.Internal.Sum+  ( -- * Xgafv+    Xgafv+      ( Xgafv_1,+        Xgafv_2,+        ..+      ),++    -- * Conversion_AdUserDataConsent+    Conversion_AdUserDataConsent+      ( Conversion_AdUserDataConsent_Unknown,+        Conversion_AdUserDataConsent_Granted,+        Conversion_AdUserDataConsent_Denied,+        ..+      ),+  )+where++import Gogol.Prelude qualified as Core++-- | V1 error format.+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | v1 error format+pattern Xgafv_1 :: Xgafv+pattern Xgafv_1 = Xgafv "1"++-- | v2 error format+pattern Xgafv_2 :: Xgafv+pattern Xgafv_2 = Xgafv "2"++{-# COMPLETE+  Xgafv_1,+  Xgafv_2,+  Xgafv+  #-}++-- | Represents consent for core platform services (CPS) preferences in settings. No default value. Acceptable values are: GRANTED: The desired consent status is to grant. Read the CPS preferences from GTE settings. DENIED: The desired consent status is to deny; CPS list is empty.+newtype Conversion_AdUserDataConsent = Conversion_AdUserDataConsent {fromConversion_AdUserDataConsent :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Not specified.+pattern Conversion_AdUserDataConsent_Unknown :: Conversion_AdUserDataConsent+pattern Conversion_AdUserDataConsent_Unknown = Conversion_AdUserDataConsent "UNKNOWN"++-- | Granted.+pattern Conversion_AdUserDataConsent_Granted :: Conversion_AdUserDataConsent+pattern Conversion_AdUserDataConsent_Granted = Conversion_AdUserDataConsent "GRANTED"++-- | Denied.+pattern Conversion_AdUserDataConsent_Denied :: Conversion_AdUserDataConsent+pattern Conversion_AdUserDataConsent_Denied = Conversion_AdUserDataConsent "DENIED"++{-# COMPLETE+  Conversion_AdUserDataConsent_Unknown,+  Conversion_AdUserDataConsent_Granted,+  Conversion_AdUserDataConsent_Denied,+  Conversion_AdUserDataConsent+  #-}
+ gen/Gogol/DoubleClickSearch/Reports/Generate.hs view
@@ -0,0 +1,112 @@+{-# 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.DoubleClickSearch.Reports.Generate+-- 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)+--+-- Generates and returns a report immediately.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.reports.generate@.+module Gogol.DoubleClickSearch.Reports.Generate+  ( -- * Resource+    DoubleClickSearchReportsGenerateResource,++    -- ** Constructing a Request+    DoubleClickSearchReportsGenerate (..),+    newDoubleClickSearchReportsGenerate,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.reports.generate@ method which the+-- 'DoubleClickSearchReportsGenerate' request conforms to.+type DoubleClickSearchReportsGenerateResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "reports"+    Core.:> "generate"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] ReportRequest+    Core.:> Core.Post '[Core.JSON] Report++-- | Generates and returns a report immediately.+--+-- /See:/ 'newDoubleClickSearchReportsGenerate' smart constructor.+data DoubleClickSearchReportsGenerate = DoubleClickSearchReportsGenerate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: ReportRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchReportsGenerate' with the minimum fields required to make a request.+newDoubleClickSearchReportsGenerate ::+  -- |  Multipart request metadata. See 'payload'.+  ReportRequest ->+  DoubleClickSearchReportsGenerate+newDoubleClickSearchReportsGenerate payload =+  DoubleClickSearchReportsGenerate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchReportsGenerate where+  type Rs DoubleClickSearchReportsGenerate = Report+  type+    Scopes DoubleClickSearchReportsGenerate =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchReportsGenerate {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      doubleClickSearchService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DoubleClickSearchReportsGenerateResource)+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Reports/Get.hs view
@@ -0,0 +1,111 @@+{-# 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.DoubleClickSearch.Reports.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)+--+-- Polls for the status of a report request.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.reports.get@.+module Gogol.DoubleClickSearch.Reports.Get+  ( -- * Resource+    DoubleClickSearchReportsGetResource,++    -- ** Constructing a Request+    DoubleClickSearchReportsGet (..),+    newDoubleClickSearchReportsGet,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.reports.get@ method which the+-- 'DoubleClickSearchReportsGet' request conforms to.+type DoubleClickSearchReportsGetResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "reports"+    Core.:> Core.Capture "reportId" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Report++-- | Polls for the status of a report request.+--+-- /See:/ 'newDoubleClickSearchReportsGet' smart constructor.+data DoubleClickSearchReportsGet = DoubleClickSearchReportsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | ID of the report request being polled.+    reportId :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchReportsGet' with the minimum fields required to make a request.+newDoubleClickSearchReportsGet ::+  -- |  ID of the report request being polled. See 'reportId'.+  Core.Text ->+  DoubleClickSearchReportsGet+newDoubleClickSearchReportsGet reportId =+  DoubleClickSearchReportsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      reportId = reportId,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchReportsGet where+  type Rs DoubleClickSearchReportsGet = Report+  type+    Scopes DoubleClickSearchReportsGet =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchReportsGet {..} =+    go+      reportId+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DoubleClickSearchReportsGetResource)+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Reports/GetFile.hs view
@@ -0,0 +1,160 @@+{-# 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.DoubleClickSearch.Reports.GetFile+-- 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)+--+-- Downloads a report file encoded in UTF-8.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.reports.getFile@.+module Gogol.DoubleClickSearch.Reports.GetFile+  ( -- * Resource+    DoubleClickSearchReportsGetFileResource,++    -- ** Constructing a Request+    DoubleClickSearchReportsGetFile (..),+    newDoubleClickSearchReportsGetFile,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.reports.getFile@ method which the+-- 'DoubleClickSearchReportsGetFile' request conforms to.+type DoubleClickSearchReportsGetFileResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "reports"+    Core.:> Core.Capture "reportId" Core.Text+    Core.:> "files"+    Core.:> Core.Capture "reportFragment" Core.Int32+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ()+    Core.:<|> "doubleclicksearch"+    Core.:> "v2"+    Core.:> "reports"+    Core.:> Core.Capture "reportId" Core.Text+    Core.:> "files"+    Core.:> Core.Capture "reportFragment" Core.Int32+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltMedia+    Core.:> Core.Get '[Core.OctetStream] Core.Stream++-- | Downloads a report file encoded in UTF-8.+--+-- /See:/ 'newDoubleClickSearchReportsGetFile' smart constructor.+data DoubleClickSearchReportsGetFile = DoubleClickSearchReportsGetFile+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The index of the report fragment to download.+    reportFragment :: Core.Int32,+    -- | ID of the report.+    reportId :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchReportsGetFile' with the minimum fields required to make a request.+newDoubleClickSearchReportsGetFile ::+  -- |  The index of the report fragment to download. See 'reportFragment'.+  Core.Int32 ->+  -- |  ID of the report. See 'reportId'.+  Core.Text ->+  DoubleClickSearchReportsGetFile+newDoubleClickSearchReportsGetFile reportFragment reportId =+  DoubleClickSearchReportsGetFile+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      reportFragment = reportFragment,+      reportId = reportId,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchReportsGetFile where+  type Rs DoubleClickSearchReportsGetFile = ()+  type+    Scopes DoubleClickSearchReportsGetFile =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchReportsGetFile {..} =+    go+      reportId+      reportFragment+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go Core.:<|> _ =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DoubleClickSearchReportsGetFileResource)+          Core.mempty++instance+  Core.GoogleRequest+    (Core.MediaDownload DoubleClickSearchReportsGetFile)+  where+  type+    Rs (Core.MediaDownload DoubleClickSearchReportsGetFile) =+      Core.Stream+  type+    Scopes (Core.MediaDownload DoubleClickSearchReportsGetFile) =+      Core.Scopes DoubleClickSearchReportsGetFile+  requestClient+    (Core.MediaDownload DoubleClickSearchReportsGetFile {..}) =+      go+        reportId+        reportFragment+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltMedia)+        doubleClickSearchService+      where+        _ Core.:<|> go =+          Core.buildClient+            (Core.Proxy :: Core.Proxy DoubleClickSearchReportsGetFileResource)+            Core.mempty
+ gen/Gogol/DoubleClickSearch/Reports/GetIdMappingFile.hs view
@@ -0,0 +1,171 @@+{-# 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.DoubleClickSearch.Reports.GetIdMappingFile+-- 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)+--+-- Downloads a csv file(encoded in UTF-8) that contains ID mappings between legacy SA360 and new SA360. The file includes all children entities of the given advertiser(e.g. engine accounts, campaigns, ad groups, etc.) that exist in both legacy SA360 and new SA360.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.reports.getIdMappingFile@.+module Gogol.DoubleClickSearch.Reports.GetIdMappingFile+  ( -- * Resource+    DoubleClickSearchReportsGetIdMappingFileResource,++    -- ** Constructing a Request+    DoubleClickSearchReportsGetIdMappingFile (..),+    newDoubleClickSearchReportsGetIdMappingFile,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.reports.getIdMappingFile@ method which the+-- 'DoubleClickSearchReportsGetIdMappingFile' request conforms to.+type DoubleClickSearchReportsGetIdMappingFileResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "agency"+    Core.:> Core.Capture "agencyId" Core.Int64+    Core.:> "advertiser"+    Core.:> Core.Capture "advertiserId" Core.Int64+    Core.:> "idmapping"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] IdMappingFile+    Core.:<|> "doubleclicksearch"+    Core.:> "v2"+    Core.:> "agency"+    Core.:> Core.Capture "agencyId" Core.Int64+    Core.:> "advertiser"+    Core.:> Core.Capture "advertiserId" Core.Int64+    Core.:> "idmapping"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltMedia+    Core.:> Core.Get '[Core.OctetStream] Core.Stream++-- | Downloads a csv file(encoded in UTF-8) that contains ID mappings between legacy SA360 and new SA360. The file includes all children entities of the given advertiser(e.g. engine accounts, campaigns, ad groups, etc.) that exist in both legacy SA360 and new SA360.+--+-- /See:/ 'newDoubleClickSearchReportsGetIdMappingFile' smart constructor.+data DoubleClickSearchReportsGetIdMappingFile = DoubleClickSearchReportsGetIdMappingFile+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | Legacy SA360 advertiser ID.+    advertiserId :: Core.Int64,+    -- | Legacy SA360 agency ID.+    agencyId :: Core.Int64,+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchReportsGetIdMappingFile' with the minimum fields required to make a request.+newDoubleClickSearchReportsGetIdMappingFile ::+  -- |  Legacy SA360 advertiser ID. See 'advertiserId'.+  Core.Int64 ->+  -- |  Legacy SA360 agency ID. See 'agencyId'.+  Core.Int64 ->+  DoubleClickSearchReportsGetIdMappingFile+newDoubleClickSearchReportsGetIdMappingFile advertiserId agencyId =+  DoubleClickSearchReportsGetIdMappingFile+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      advertiserId = advertiserId,+      agencyId = agencyId,+      callback = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    DoubleClickSearchReportsGetIdMappingFile+  where+  type Rs DoubleClickSearchReportsGetIdMappingFile = IdMappingFile+  type+    Scopes DoubleClickSearchReportsGetIdMappingFile =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchReportsGetIdMappingFile {..} =+    go+      agencyId+      advertiserId+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go Core.:<|> _ =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchReportsGetIdMappingFileResource+          )+          Core.mempty++instance+  Core.GoogleRequest+    (Core.MediaDownload DoubleClickSearchReportsGetIdMappingFile)+  where+  type+    Rs+      (Core.MediaDownload DoubleClickSearchReportsGetIdMappingFile) =+      Core.Stream+  type+    Scopes+      (Core.MediaDownload DoubleClickSearchReportsGetIdMappingFile) =+      Core.Scopes DoubleClickSearchReportsGetIdMappingFile+  requestClient+    (Core.MediaDownload DoubleClickSearchReportsGetIdMappingFile {..}) =+      go+        agencyId+        advertiserId+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltMedia)+        doubleClickSearchService+      where+        _ Core.:<|> go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy DoubleClickSearchReportsGetIdMappingFileResource+            )+            Core.mempty
+ gen/Gogol/DoubleClickSearch/Reports/Request.hs view
@@ -0,0 +1,111 @@+{-# 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.DoubleClickSearch.Reports.Request+-- 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)+--+-- Inserts a report request into the reporting system.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.reports.request@.+module Gogol.DoubleClickSearch.Reports.Request+  ( -- * Resource+    DoubleClickSearchReportsRequestResource,++    -- ** Constructing a Request+    DoubleClickSearchReportsRequest (..),+    newDoubleClickSearchReportsRequest,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.reports.request@ method which the+-- 'DoubleClickSearchReportsRequest' request conforms to.+type DoubleClickSearchReportsRequestResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "reports"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] ReportRequest+    Core.:> Core.Post '[Core.JSON] Report++-- | Inserts a report request into the reporting system.+--+-- /See:/ 'newDoubleClickSearchReportsRequest' smart constructor.+data DoubleClickSearchReportsRequest = DoubleClickSearchReportsRequest+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: ReportRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchReportsRequest' with the minimum fields required to make a request.+newDoubleClickSearchReportsRequest ::+  -- |  Multipart request metadata. See 'payload'.+  ReportRequest ->+  DoubleClickSearchReportsRequest+newDoubleClickSearchReportsRequest payload =+  DoubleClickSearchReportsRequest+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchReportsRequest where+  type Rs DoubleClickSearchReportsRequest = Report+  type+    Scopes DoubleClickSearchReportsRequest =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchReportsRequest {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      doubleClickSearchService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DoubleClickSearchReportsRequestResource)+          Core.mempty
+ gen/Gogol/DoubleClickSearch/SavedColumns/List.hs view
@@ -0,0 +1,122 @@+{-# 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.DoubleClickSearch.SavedColumns.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)+--+-- Retrieve the list of saved columns for a specified advertiser.+--+-- /See:/ <https://developers.google.com/search-ads Search Ads 360 API Reference> for @doubleclicksearch.savedColumns.list@.+module Gogol.DoubleClickSearch.SavedColumns.List+  ( -- * Resource+    DoubleClickSearchSavedColumnsListResource,++    -- ** Constructing a Request+    DoubleClickSearchSavedColumnsList (..),+    newDoubleClickSearchSavedColumnsList,+  )+where++import Gogol.DoubleClickSearch.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @doubleclicksearch.savedColumns.list@ method which the+-- 'DoubleClickSearchSavedColumnsList' request conforms to.+type DoubleClickSearchSavedColumnsListResource =+  "doubleclicksearch"+    Core.:> "v2"+    Core.:> "agency"+    Core.:> Core.Capture "agencyId" Core.Int64+    Core.:> "advertiser"+    Core.:> Core.Capture "advertiserId" Core.Int64+    Core.:> "savedcolumns"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SavedColumnList++-- | Retrieve the list of saved columns for a specified advertiser.+--+-- /See:/ 'newDoubleClickSearchSavedColumnsList' smart constructor.+data DoubleClickSearchSavedColumnsList = DoubleClickSearchSavedColumnsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | DS ID of the advertiser.+    advertiserId :: Core.Int64,+    -- | DS ID of the agency.+    agencyId :: Core.Int64,+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DoubleClickSearchSavedColumnsList' with the minimum fields required to make a request.+newDoubleClickSearchSavedColumnsList ::+  -- |  DS ID of the advertiser. See 'advertiserId'.+  Core.Int64 ->+  -- |  DS ID of the agency. See 'agencyId'.+  Core.Int64 ->+  DoubleClickSearchSavedColumnsList+newDoubleClickSearchSavedColumnsList advertiserId agencyId =+  DoubleClickSearchSavedColumnsList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      advertiserId = advertiserId,+      agencyId = agencyId,+      callback = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest DoubleClickSearchSavedColumnsList where+  type Rs DoubleClickSearchSavedColumnsList = SavedColumnList+  type+    Scopes DoubleClickSearchSavedColumnsList =+      '[Doubleclicksearch'FullControl]+  requestClient DoubleClickSearchSavedColumnsList {..} =+    go+      agencyId+      advertiserId+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      doubleClickSearchService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy DoubleClickSearchSavedColumnsListResource+          )+          Core.mempty
+ gen/Gogol/DoubleClickSearch/Types.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.DoubleClickSearch.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.DoubleClickSearch.Types+  ( -- * Configuration+    doubleClickSearchService,++    -- * OAuth Scopes+    Doubleclicksearch'FullControl,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** Availability+    Availability (..),+    newAvailability,++    -- ** Conversion+    Conversion (..),+    newConversion,++    -- ** Conversion_AdUserDataConsent+    Conversion_AdUserDataConsent (..),++    -- ** ConversionList+    ConversionList (..),+    newConversionList,++    -- ** CustomDimension+    CustomDimension (..),+    newCustomDimension,++    -- ** CustomMetric+    CustomMetric (..),+    newCustomMetric,++    -- ** IdMappingFile+    IdMappingFile (..),+    newIdMappingFile,++    -- ** Report+    Report (..),+    newReport,++    -- ** Report_FilesItem+    Report_FilesItem (..),+    newReport_FilesItem,++    -- ** ReportApiColumnSpec+    ReportApiColumnSpec (..),+    newReportApiColumnSpec,++    -- ** ReportRequest+    ReportRequest (..),+    newReportRequest,++    -- ** ReportRequest_FiltersItem+    ReportRequest_FiltersItem (..),+    newReportRequest_FiltersItem,++    -- ** ReportRequest_OrderByItem+    ReportRequest_OrderByItem (..),+    newReportRequest_OrderByItem,++    -- ** ReportRequest_ReportScope+    ReportRequest_ReportScope (..),+    newReportRequest_ReportScope,++    -- ** ReportRequest_TimeRange+    ReportRequest_TimeRange (..),+    newReportRequest_TimeRange,++    -- ** ReportRow+    ReportRow (..),+    newReportRow,++    -- ** SavedColumn+    SavedColumn (..),+    newSavedColumn,++    -- ** SavedColumnList+    SavedColumnList (..),+    newSavedColumnList,++    -- ** UpdateAvailabilityRequest+    UpdateAvailabilityRequest (..),+    newUpdateAvailabilityRequest,++    -- ** UpdateAvailabilityResponse+    UpdateAvailabilityResponse (..),+    newUpdateAvailabilityResponse,+  )+where++import Gogol.DoubleClickSearch.Internal.Product+import Gogol.DoubleClickSearch.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v2@ of the Search Ads 360 API. This contains the host and root path used as a starting point for constructing service requests.+doubleClickSearchService :: Core.ServiceConfig+doubleClickSearchService =+  Core.defaultService+    (Core.ServiceId "doubleclicksearch:v2")+    "doubleclicksearch.googleapis.com"++-- | View and manage your advertising data in DoubleClick Search+type Doubleclicksearch'FullControl =+  "https://www.googleapis.com/auth/doubleclicksearch"
− gen/Network/Google/DoubleClickSearch.hs
@@ -1,269 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.DoubleClickSearch--- 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)------ Reports and modifies your advertising data in DoubleClick Search (for--- example, campaigns, ad groups, keywords, and conversions).------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference>-module Network.Google.DoubleClickSearch-    (-    -- * Service Configuration-      doubleClickSearchService--    -- * OAuth Scopes-    , doubleClickSearchScope--    -- * API Declaration-    , DoubleClickSearchAPI--    -- * Resources--    -- ** doubleclicksearch.conversion.get-    , module Network.Google.Resource.DoubleClickSearch.Conversion.Get--    -- ** doubleclicksearch.conversion.insert-    , module Network.Google.Resource.DoubleClickSearch.Conversion.Insert--    -- ** doubleclicksearch.conversion.patch-    , module Network.Google.Resource.DoubleClickSearch.Conversion.Patch--    -- ** doubleclicksearch.conversion.update-    , module Network.Google.Resource.DoubleClickSearch.Conversion.Update--    -- ** doubleclicksearch.conversion.updateAvailability-    , module Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability--    -- ** doubleclicksearch.reports.generate-    , module Network.Google.Resource.DoubleClickSearch.Reports.Generate--    -- ** doubleclicksearch.reports.get-    , module Network.Google.Resource.DoubleClickSearch.Reports.Get--    -- ** doubleclicksearch.reports.getFile-    , module Network.Google.Resource.DoubleClickSearch.Reports.GetFile--    -- ** doubleclicksearch.reports.request-    , module Network.Google.Resource.DoubleClickSearch.Reports.Request--    -- ** doubleclicksearch.savedColumns.list-    , module Network.Google.Resource.DoubleClickSearch.SavedColumns.List--    -- * Types--    -- ** ReportRow-    , ReportRow-    , reportRow-    , rrAddtional--    -- ** ReportRequest-    , ReportRequest-    , reportRequest-    , rrMaxRowsPerFile-    , rrReportScope-    , rrStatisticsCurrency-    , rrTimeRange-    , rrOrderBy-    , rrFilters-    , rrIncludeRemovedEntities-    , rrIncludeDeletedEntities-    , rrDownloadFormat-    , rrStartRow-    , rrColumns-    , rrReportType-    , rrVerifySingleTimeZone-    , rrRowCount--    -- ** ReportRequestOrderByItem-    , ReportRequestOrderByItem-    , reportRequestOrderByItem-    , rrobiSortOrder-    , rrobiColumn--    -- ** Report-    , Report-    , report-    , rKind-    , rRows-    , rStatisticsCurrencyCode-    , rIsReportReady-    , rFiles-    , rId-    , rStatisticsTimeZone-    , rRowCount-    , rRequest--    -- ** ReportFilesItem-    , ReportFilesItem-    , reportFilesItem-    , rfiURL-    , rfiByteCount--    -- ** ReportRequestFiltersItem-    , ReportRequestFiltersItem-    , reportRequestFiltersItem-    , rrfiOperator-    , rrfiValues-    , rrfiColumn--    -- ** Availability-    , Availability-    , availability-    , aAgencyId-    , aAdvertiserId-    , aSegmentationId-    , aSegmentationName-    , aAvailabilityTimestamp-    , aSegmentationType--    -- ** UpdateAvailabilityRequest-    , UpdateAvailabilityRequest-    , updateAvailabilityRequest-    , uarAvailabilities--    -- ** CustomMetric-    , CustomMetric-    , customMetric-    , cmValue-    , cmName--    -- ** ConversionList-    , ConversionList-    , conversionList-    , clKind-    , clConversion--    -- ** ReportAPIColumnSpec-    , ReportAPIColumnSpec-    , reportAPIColumnSpec-    , racsCustomDimensionName-    , racsSavedColumnName-    , racsGroupByColumn-    , racsCustomMetricName-    , racsEndDate-    , racsProductReportPerspective-    , racsStartDate-    , racsHeaderText-    , racsPlatformSource-    , racsColumnName--    -- ** ReportRequestTimeRange-    , ReportRequestTimeRange-    , reportRequestTimeRange-    , rrtrEndDate-    , rrtrChangedAttributesSinceTimestamp-    , rrtrStartDate-    , rrtrChangedMetricsSinceTimestamp--    -- ** Conversion-    , Conversion-    , conversion-    , cAdGroupId-    , cConversionModifiedTimestamp-    , cState-    , cEngineAccountId-    , cAgencyId-    , cCurrencyCode-    , cStoreId-    , cDsConversionId-    , cConversionId-    , cAdvertiserId-    , cSegmentationId-    , cChannel-    , cProductCountry-    , cCampaignId-    , cCriterionId-    , cConversionTimestamp-    , cAttributionModel-    , cSegmentationName-    , cProductLanguage-    , cCustomMetric-    , cCountMillis-    , cQuantityMillis-    , cAdId-    , cDeviceType-    , cType-    , cCustomDimension-    , cFloodlightOrderId-    , cRevenueMicros-    , cClickId-    , cInventoryAccountId-    , cSegmentationType-    , cProductId-    , cProductGroupId--    -- ** SavedColumn-    , SavedColumn-    , savedColumn-    , scSavedColumnName-    , scKind-    , scType--    -- ** CustomDimension-    , CustomDimension-    , customDimension-    , cdValue-    , cdName--    -- ** UpdateAvailabilityResponse-    , UpdateAvailabilityResponse-    , updateAvailabilityResponse-    , uAvailabilities--    -- ** ReportRequestReportScope-    , ReportRequestReportScope-    , reportRequestReportScope-    , rrrsKeywordId-    , rrrsAdGroupId-    , rrrsEngineAccountId-    , rrrsAgencyId-    , rrrsAdvertiserId-    , rrrsCampaignId-    , rrrsAdId--    -- ** SavedColumnList-    , SavedColumnList-    , savedColumnList-    , sclKind-    , sclItems-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude-import           Network.Google.Resource.DoubleClickSearch.Conversion.Get-import           Network.Google.Resource.DoubleClickSearch.Conversion.Insert-import           Network.Google.Resource.DoubleClickSearch.Conversion.Patch-import           Network.Google.Resource.DoubleClickSearch.Conversion.Update-import           Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability-import           Network.Google.Resource.DoubleClickSearch.Reports.Generate-import           Network.Google.Resource.DoubleClickSearch.Reports.Get-import           Network.Google.Resource.DoubleClickSearch.Reports.GetFile-import           Network.Google.Resource.DoubleClickSearch.Reports.Request-import           Network.Google.Resource.DoubleClickSearch.SavedColumns.List--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the DoubleClick Search API service.-type DoubleClickSearchAPI =-     ReportsGetResource :<|> ReportsGetFileResource :<|>-       ReportsGenerateResource-       :<|> ReportsRequestResource-       :<|> SavedColumnsListResource-       :<|> ConversionInsertResource-       :<|> ConversionPatchResource-       :<|> ConversionGetResource-       :<|> ConversionUpdateAvailabilityResource-       :<|> ConversionUpdateResource
− gen/Network/Google/DoubleClickSearch/Types.hs
@@ -1,214 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.DoubleClickSearch.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.DoubleClickSearch.Types-    (-    -- * Service Configuration-      doubleClickSearchService--    -- * OAuth Scopes-    , doubleClickSearchScope--    -- * ReportRow-    , ReportRow-    , reportRow-    , rrAddtional--    -- * ReportRequest-    , ReportRequest-    , reportRequest-    , rrMaxRowsPerFile-    , rrReportScope-    , rrStatisticsCurrency-    , rrTimeRange-    , rrOrderBy-    , rrFilters-    , rrIncludeRemovedEntities-    , rrIncludeDeletedEntities-    , rrDownloadFormat-    , rrStartRow-    , rrColumns-    , rrReportType-    , rrVerifySingleTimeZone-    , rrRowCount--    -- * ReportRequestOrderByItem-    , ReportRequestOrderByItem-    , reportRequestOrderByItem-    , rrobiSortOrder-    , rrobiColumn--    -- * Report-    , Report-    , report-    , rKind-    , rRows-    , rStatisticsCurrencyCode-    , rIsReportReady-    , rFiles-    , rId-    , rStatisticsTimeZone-    , rRowCount-    , rRequest--    -- * ReportFilesItem-    , ReportFilesItem-    , reportFilesItem-    , rfiURL-    , rfiByteCount--    -- * ReportRequestFiltersItem-    , ReportRequestFiltersItem-    , reportRequestFiltersItem-    , rrfiOperator-    , rrfiValues-    , rrfiColumn--    -- * Availability-    , Availability-    , availability-    , aAgencyId-    , aAdvertiserId-    , aSegmentationId-    , aSegmentationName-    , aAvailabilityTimestamp-    , aSegmentationType--    -- * UpdateAvailabilityRequest-    , UpdateAvailabilityRequest-    , updateAvailabilityRequest-    , uarAvailabilities--    -- * CustomMetric-    , CustomMetric-    , customMetric-    , cmValue-    , cmName--    -- * ConversionList-    , ConversionList-    , conversionList-    , clKind-    , clConversion--    -- * ReportAPIColumnSpec-    , ReportAPIColumnSpec-    , reportAPIColumnSpec-    , racsCustomDimensionName-    , racsSavedColumnName-    , racsGroupByColumn-    , racsCustomMetricName-    , racsEndDate-    , racsProductReportPerspective-    , racsStartDate-    , racsHeaderText-    , racsPlatformSource-    , racsColumnName--    -- * ReportRequestTimeRange-    , ReportRequestTimeRange-    , reportRequestTimeRange-    , rrtrEndDate-    , rrtrChangedAttributesSinceTimestamp-    , rrtrStartDate-    , rrtrChangedMetricsSinceTimestamp--    -- * Conversion-    , Conversion-    , conversion-    , cAdGroupId-    , cConversionModifiedTimestamp-    , cState-    , cEngineAccountId-    , cAgencyId-    , cCurrencyCode-    , cStoreId-    , cDsConversionId-    , cConversionId-    , cAdvertiserId-    , cSegmentationId-    , cChannel-    , cProductCountry-    , cCampaignId-    , cCriterionId-    , cConversionTimestamp-    , cAttributionModel-    , cSegmentationName-    , cProductLanguage-    , cCustomMetric-    , cCountMillis-    , cQuantityMillis-    , cAdId-    , cDeviceType-    , cType-    , cCustomDimension-    , cFloodlightOrderId-    , cRevenueMicros-    , cClickId-    , cInventoryAccountId-    , cSegmentationType-    , cProductId-    , cProductGroupId--    -- * SavedColumn-    , SavedColumn-    , savedColumn-    , scSavedColumnName-    , scKind-    , scType--    -- * CustomDimension-    , CustomDimension-    , customDimension-    , cdValue-    , cdName--    -- * UpdateAvailabilityResponse-    , UpdateAvailabilityResponse-    , updateAvailabilityResponse-    , uAvailabilities--    -- * ReportRequestReportScope-    , ReportRequestReportScope-    , reportRequestReportScope-    , rrrsKeywordId-    , rrrsAdGroupId-    , rrrsEngineAccountId-    , rrrsAgencyId-    , rrrsAdvertiserId-    , rrrsCampaignId-    , rrrsAdId--    -- * SavedColumnList-    , SavedColumnList-    , savedColumnList-    , sclKind-    , sclItems-    ) where--import           Network.Google.DoubleClickSearch.Types.Product-import           Network.Google.DoubleClickSearch.Types.Sum-import           Network.Google.Prelude---- | Default request referring to version 'v2' of the DoubleClick Search API. This contains the host and root path used as a starting point for constructing service requests.-doubleClickSearchService :: ServiceConfig-doubleClickSearchService-  = defaultService (ServiceId "doubleclicksearch:v2")-      "www.googleapis.com"---- | View and manage your advertising data in DoubleClick Search-doubleClickSearchScope :: Proxy '["https://www.googleapis.com/auth/doubleclicksearch"]-doubleClickSearchScope = Proxy
− gen/Network/Google/DoubleClickSearch/Types/Product.hs
@@ -1,1871 +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.DoubleClickSearch.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.DoubleClickSearch.Types.Product where--import           Network.Google.DoubleClickSearch.Types.Sum-import           Network.Google.Prelude---- | A row in a DoubleClick Search report.------ /See:/ 'reportRow' smart constructor.-newtype ReportRow =-  ReportRow'-    { _rrAddtional :: HashMap Text JSONValue-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrAddtional'-reportRow-    :: HashMap Text JSONValue -- ^ 'rrAddtional'-    -> ReportRow-reportRow pRrAddtional_ = ReportRow' {_rrAddtional = _Coerce # pRrAddtional_}----- | Indicates the columns that are represented in this row. That is, each--- key corresponds to a column with a non-empty cell in this row.-rrAddtional :: Lens' ReportRow (HashMap Text JSONValue)-rrAddtional-  = lens _rrAddtional (\ s a -> s{_rrAddtional = a}) .-      _Coerce--instance FromJSON ReportRow where-        parseJSON-          = withObject "ReportRow"-              (\ o -> ReportRow' <$> (parseJSONObject o))--instance ToJSON ReportRow where-        toJSON = toJSON . _rrAddtional---- | A request object used to create a DoubleClick Search report.------ /See:/ 'reportRequest' smart constructor.-data ReportRequest =-  ReportRequest'-    { _rrMaxRowsPerFile         :: !(Maybe (Textual Int32))-    , _rrReportScope            :: !(Maybe ReportRequestReportScope)-    , _rrStatisticsCurrency     :: !(Maybe Text)-    , _rrTimeRange              :: !(Maybe ReportRequestTimeRange)-    , _rrOrderBy                :: !(Maybe [ReportRequestOrderByItem])-    , _rrFilters                :: !(Maybe [ReportRequestFiltersItem])-    , _rrIncludeRemovedEntities :: !Bool-    , _rrIncludeDeletedEntities :: !Bool-    , _rrDownloadFormat         :: !(Maybe Text)-    , _rrStartRow               :: !(Textual Int32)-    , _rrColumns                :: !(Maybe [ReportAPIColumnSpec])-    , _rrReportType             :: !(Maybe Text)-    , _rrVerifySingleTimeZone   :: !Bool-    , _rrRowCount               :: !(Textual Int32)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrMaxRowsPerFile'------ * 'rrReportScope'------ * 'rrStatisticsCurrency'------ * 'rrTimeRange'------ * 'rrOrderBy'------ * 'rrFilters'------ * 'rrIncludeRemovedEntities'------ * 'rrIncludeDeletedEntities'------ * 'rrDownloadFormat'------ * 'rrStartRow'------ * 'rrColumns'------ * 'rrReportType'------ * 'rrVerifySingleTimeZone'------ * 'rrRowCount'-reportRequest-    :: ReportRequest-reportRequest =-  ReportRequest'-    { _rrMaxRowsPerFile = Nothing-    , _rrReportScope = Nothing-    , _rrStatisticsCurrency = Nothing-    , _rrTimeRange = Nothing-    , _rrOrderBy = Nothing-    , _rrFilters = Nothing-    , _rrIncludeRemovedEntities = False-    , _rrIncludeDeletedEntities = False-    , _rrDownloadFormat = Nothing-    , _rrStartRow = 0-    , _rrColumns = Nothing-    , _rrReportType = Nothing-    , _rrVerifySingleTimeZone = False-    , _rrRowCount = 10000-    }----- | Asynchronous report only. The maximum number of rows per report file. A--- large report is split into many files based on this field. Acceptable--- values are 1000000 to 100000000, inclusive.-rrMaxRowsPerFile :: Lens' ReportRequest (Maybe Int32)-rrMaxRowsPerFile-  = lens _rrMaxRowsPerFile-      (\ s a -> s{_rrMaxRowsPerFile = a})-      . mapping _Coerce---- | The reportScope is a set of IDs that are used to determine which subset--- of entities will be returned in the report. The full lineage of IDs from--- the lowest scoped level desired up through agency is required.-rrReportScope :: Lens' ReportRequest (Maybe ReportRequestReportScope)-rrReportScope-  = lens _rrReportScope-      (\ s a -> s{_rrReportScope = a})---- | Specifies the currency in which monetary will be returned. Possible--- values are: usd, agency (valid if the report is scoped to agency or--- lower), advertiser (valid if the report is scoped to * advertiser or--- lower), or account (valid if the report is scoped to engine account or--- lower).-rrStatisticsCurrency :: Lens' ReportRequest (Maybe Text)-rrStatisticsCurrency-  = lens _rrStatisticsCurrency-      (\ s a -> s{_rrStatisticsCurrency = a})---- | If metrics are requested in a report, this argument will be used to--- restrict the metrics to a specific time range.-rrTimeRange :: Lens' ReportRequest (Maybe ReportRequestTimeRange)-rrTimeRange-  = lens _rrTimeRange (\ s a -> s{_rrTimeRange = a})---- | Synchronous report only. A list of columns and directions defining--- sorting to be performed on the report rows. The maximum number of--- orderings per request is 300.-rrOrderBy :: Lens' ReportRequest [ReportRequestOrderByItem]-rrOrderBy-  = lens _rrOrderBy (\ s a -> s{_rrOrderBy = a}) .-      _Default-      . _Coerce---- | A list of filters to be applied to the report. The maximum number of--- filters per request is 300.-rrFilters :: Lens' ReportRequest [ReportRequestFiltersItem]-rrFilters-  = lens _rrFilters (\ s a -> s{_rrFilters = a}) .-      _Default-      . _Coerce---- | Determines if removed entities should be included in the report.--- Defaults to false.-rrIncludeRemovedEntities :: Lens' ReportRequest Bool-rrIncludeRemovedEntities-  = lens _rrIncludeRemovedEntities-      (\ s a -> s{_rrIncludeRemovedEntities = a})---- | Determines if removed entities should be included in the report.--- Defaults to false. Deprecated, please use includeRemovedEntities--- instead.-rrIncludeDeletedEntities :: Lens' ReportRequest Bool-rrIncludeDeletedEntities-  = lens _rrIncludeDeletedEntities-      (\ s a -> s{_rrIncludeDeletedEntities = a})---- | Format that the report should be returned in. Currently csv or tsv is--- supported.-rrDownloadFormat :: Lens' ReportRequest (Maybe Text)-rrDownloadFormat-  = lens _rrDownloadFormat-      (\ s a -> s{_rrDownloadFormat = a})---- | Synchronous report only. Zero-based index of the first row to return.--- Acceptable values are 0 to 50000, inclusive. Defaults to 0.-rrStartRow :: Lens' ReportRequest Int32-rrStartRow-  = lens _rrStartRow (\ s a -> s{_rrStartRow = a}) .-      _Coerce---- | The columns to include in the report. This includes both DoubleClick--- Search columns and saved columns. For DoubleClick Search columns, only--- the columnName parameter is required. For saved columns only the--- savedColumnName parameter is required. Both columnName and--- savedColumnName cannot be set in the same stanza. The maximum number of--- columns per request is 300.-rrColumns :: Lens' ReportRequest [ReportAPIColumnSpec]-rrColumns-  = lens _rrColumns (\ s a -> s{_rrColumns = a}) .-      _Default-      . _Coerce---- | Determines the type of rows that are returned in the report. For--- example, if you specify reportType: keyword, each row in the report will--- contain data about a keyword. See the Types of Reports reference for the--- columns that are available for each type.-rrReportType :: Lens' ReportRequest (Maybe Text)-rrReportType-  = lens _rrReportType (\ s a -> s{_rrReportType = a})---- | If true, the report would only be created if all the requested stat data--- are sourced from a single timezone. Defaults to false.-rrVerifySingleTimeZone :: Lens' ReportRequest Bool-rrVerifySingleTimeZone-  = lens _rrVerifySingleTimeZone-      (\ s a -> s{_rrVerifySingleTimeZone = a})---- | Synchronous report only. The maximum number of rows to return;--- additional rows are dropped. Acceptable values are 0 to 10000,--- inclusive. Defaults to 10000.-rrRowCount :: Lens' ReportRequest Int32-rrRowCount-  = lens _rrRowCount (\ s a -> s{_rrRowCount = a}) .-      _Coerce--instance FromJSON ReportRequest where-        parseJSON-          = withObject "ReportRequest"-              (\ o ->-                 ReportRequest' <$>-                   (o .:? "maxRowsPerFile") <*> (o .:? "reportScope")-                     <*> (o .:? "statisticsCurrency")-                     <*> (o .:? "timeRange")-                     <*> (o .:? "orderBy" .!= mempty)-                     <*> (o .:? "filters" .!= mempty)-                     <*> (o .:? "includeRemovedEntities" .!= False)-                     <*> (o .:? "includeDeletedEntities" .!= False)-                     <*> (o .:? "downloadFormat")-                     <*> (o .:? "startRow" .!= 0)-                     <*> (o .:? "columns" .!= mempty)-                     <*> (o .:? "reportType")-                     <*> (o .:? "verifySingleTimeZone" .!= False)-                     <*> (o .:? "rowCount" .!= 10000))--instance ToJSON ReportRequest where-        toJSON ReportRequest'{..}-          = object-              (catMaybes-                 [("maxRowsPerFile" .=) <$> _rrMaxRowsPerFile,-                  ("reportScope" .=) <$> _rrReportScope,-                  ("statisticsCurrency" .=) <$> _rrStatisticsCurrency,-                  ("timeRange" .=) <$> _rrTimeRange,-                  ("orderBy" .=) <$> _rrOrderBy,-                  ("filters" .=) <$> _rrFilters,-                  Just-                    ("includeRemovedEntities" .=-                       _rrIncludeRemovedEntities),-                  Just-                    ("includeDeletedEntities" .=-                       _rrIncludeDeletedEntities),-                  ("downloadFormat" .=) <$> _rrDownloadFormat,-                  Just ("startRow" .= _rrStartRow),-                  ("columns" .=) <$> _rrColumns,-                  ("reportType" .=) <$> _rrReportType,-                  Just-                    ("verifySingleTimeZone" .= _rrVerifySingleTimeZone),-                  Just ("rowCount" .= _rrRowCount)])------- /See:/ 'reportRequestOrderByItem' smart constructor.-data ReportRequestOrderByItem =-  ReportRequestOrderByItem'-    { _rrobiSortOrder :: !(Maybe Text)-    , _rrobiColumn    :: !(Maybe ReportAPIColumnSpec)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRequestOrderByItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrobiSortOrder'------ * 'rrobiColumn'-reportRequestOrderByItem-    :: ReportRequestOrderByItem-reportRequestOrderByItem =-  ReportRequestOrderByItem' {_rrobiSortOrder = Nothing, _rrobiColumn = Nothing}----- | The sort direction, which is either ascending or descending.-rrobiSortOrder :: Lens' ReportRequestOrderByItem (Maybe Text)-rrobiSortOrder-  = lens _rrobiSortOrder-      (\ s a -> s{_rrobiSortOrder = a})---- | Column to perform the sort on. This can be a DoubleClick Search-defined--- column or a saved column.-rrobiColumn :: Lens' ReportRequestOrderByItem (Maybe ReportAPIColumnSpec)-rrobiColumn-  = lens _rrobiColumn (\ s a -> s{_rrobiColumn = a})--instance FromJSON ReportRequestOrderByItem where-        parseJSON-          = withObject "ReportRequestOrderByItem"-              (\ o ->-                 ReportRequestOrderByItem' <$>-                   (o .:? "sortOrder") <*> (o .:? "column"))--instance ToJSON ReportRequestOrderByItem where-        toJSON ReportRequestOrderByItem'{..}-          = object-              (catMaybes-                 [("sortOrder" .=) <$> _rrobiSortOrder,-                  ("column" .=) <$> _rrobiColumn])---- | A DoubleClick Search report. This object contains the report request,--- some report metadata such as currency code, and the generated report--- rows or report files.------ /See:/ 'report' smart constructor.-data Report =-  Report'-    { _rKind                   :: !Text-    , _rRows                   :: !(Maybe [ReportRow])-    , _rStatisticsCurrencyCode :: !(Maybe Text)-    , _rIsReportReady          :: !(Maybe Bool)-    , _rFiles                  :: !(Maybe [ReportFilesItem])-    , _rId                     :: !(Maybe Text)-    , _rStatisticsTimeZone     :: !(Maybe Text)-    , _rRowCount               :: !(Maybe (Textual Int32))-    , _rRequest                :: !(Maybe ReportRequest)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Report' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rKind'------ * 'rRows'------ * 'rStatisticsCurrencyCode'------ * 'rIsReportReady'------ * 'rFiles'------ * 'rId'------ * 'rStatisticsTimeZone'------ * 'rRowCount'------ * 'rRequest'-report-    :: Report-report =-  Report'-    { _rKind = "doubleclicksearch#report"-    , _rRows = Nothing-    , _rStatisticsCurrencyCode = Nothing-    , _rIsReportReady = Nothing-    , _rFiles = Nothing-    , _rId = Nothing-    , _rStatisticsTimeZone = Nothing-    , _rRowCount = Nothing-    , _rRequest = Nothing-    }----- | Identifies this as a Report resource. Value: the fixed string--- doubleclicksearch#report.-rKind :: Lens' Report Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | Synchronous report only. Generated report rows.-rRows :: Lens' Report [ReportRow]-rRows-  = lens _rRows (\ s a -> s{_rRows = a}) . _Default .-      _Coerce---- | The currency code of all monetary values produced in the report,--- including values that are set by users (e.g., keyword bid settings) and--- metrics (e.g., cost and revenue). The currency code of a report is--- determined by the statisticsCurrency field of the report request.-rStatisticsCurrencyCode :: Lens' Report (Maybe Text)-rStatisticsCurrencyCode-  = lens _rStatisticsCurrencyCode-      (\ s a -> s{_rStatisticsCurrencyCode = a})---- | Asynchronous report only. True if and only if the report has completed--- successfully and the report files are ready to be downloaded.-rIsReportReady :: Lens' Report (Maybe Bool)-rIsReportReady-  = lens _rIsReportReady-      (\ s a -> s{_rIsReportReady = a})---- | Asynchronous report only. Contains a list of generated report files once--- the report has succesfully completed.-rFiles :: Lens' Report [ReportFilesItem]-rFiles-  = lens _rFiles (\ s a -> s{_rFiles = a}) . _Default .-      _Coerce---- | Asynchronous report only. Id of the report.-rId :: Lens' Report (Maybe Text)-rId = lens _rId (\ s a -> s{_rId = a})---- | If all statistics of the report are sourced from the same time zone,--- this would be it. Otherwise the field is unset.-rStatisticsTimeZone :: Lens' Report (Maybe Text)-rStatisticsTimeZone-  = lens _rStatisticsTimeZone-      (\ s a -> s{_rStatisticsTimeZone = a})---- | The number of report rows generated by the report, not including--- headers.-rRowCount :: Lens' Report (Maybe Int32)-rRowCount-  = lens _rRowCount (\ s a -> s{_rRowCount = a}) .-      mapping _Coerce---- | The request that created the report. Optional fields not specified in--- the original request are filled with default values.-rRequest :: Lens' Report (Maybe ReportRequest)-rRequest = lens _rRequest (\ s a -> s{_rRequest = a})--instance FromJSON Report where-        parseJSON-          = withObject "Report"-              (\ o ->-                 Report' <$>-                   (o .:? "kind" .!= "doubleclicksearch#report") <*>-                     (o .:? "rows" .!= mempty)-                     <*> (o .:? "statisticsCurrencyCode")-                     <*> (o .:? "isReportReady")-                     <*> (o .:? "files" .!= mempty)-                     <*> (o .:? "id")-                     <*> (o .:? "statisticsTimeZone")-                     <*> (o .:? "rowCount")-                     <*> (o .:? "request"))--instance ToJSON Report where-        toJSON Report'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _rKind), ("rows" .=) <$> _rRows,-                  ("statisticsCurrencyCode" .=) <$>-                    _rStatisticsCurrencyCode,-                  ("isReportReady" .=) <$> _rIsReportReady,-                  ("files" .=) <$> _rFiles, ("id" .=) <$> _rId,-                  ("statisticsTimeZone" .=) <$> _rStatisticsTimeZone,-                  ("rowCount" .=) <$> _rRowCount,-                  ("request" .=) <$> _rRequest])------- /See:/ 'reportFilesItem' smart constructor.-data ReportFilesItem =-  ReportFilesItem'-    { _rfiURL       :: !(Maybe Text)-    , _rfiByteCount :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportFilesItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rfiURL'------ * 'rfiByteCount'-reportFilesItem-    :: ReportFilesItem-reportFilesItem = ReportFilesItem' {_rfiURL = Nothing, _rfiByteCount = Nothing}----- | Use this url to download the report file.-rfiURL :: Lens' ReportFilesItem (Maybe Text)-rfiURL = lens _rfiURL (\ s a -> s{_rfiURL = a})---- | The size of this report file in bytes.-rfiByteCount :: Lens' ReportFilesItem (Maybe Int64)-rfiByteCount-  = lens _rfiByteCount (\ s a -> s{_rfiByteCount = a})-      . mapping _Coerce--instance FromJSON ReportFilesItem where-        parseJSON-          = withObject "ReportFilesItem"-              (\ o ->-                 ReportFilesItem' <$>-                   (o .:? "url") <*> (o .:? "byteCount"))--instance ToJSON ReportFilesItem where-        toJSON ReportFilesItem'{..}-          = object-              (catMaybes-                 [("url" .=) <$> _rfiURL,-                  ("byteCount" .=) <$> _rfiByteCount])------- /See:/ 'reportRequestFiltersItem' smart constructor.-data ReportRequestFiltersItem =-  ReportRequestFiltersItem'-    { _rrfiOperator :: !(Maybe Text)-    , _rrfiValues   :: !(Maybe [JSONValue])-    , _rrfiColumn   :: !(Maybe ReportAPIColumnSpec)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRequestFiltersItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrfiOperator'------ * 'rrfiValues'------ * 'rrfiColumn'-reportRequestFiltersItem-    :: ReportRequestFiltersItem-reportRequestFiltersItem =-  ReportRequestFiltersItem'-    {_rrfiOperator = Nothing, _rrfiValues = Nothing, _rrfiColumn = Nothing}----- | Operator to use in the filter. See the filter reference for a list of--- available operators.-rrfiOperator :: Lens' ReportRequestFiltersItem (Maybe Text)-rrfiOperator-  = lens _rrfiOperator (\ s a -> s{_rrfiOperator = a})---- | A list of values to filter the column value against. The maximum number--- of filter values per request is 300.-rrfiValues :: Lens' ReportRequestFiltersItem [JSONValue]-rrfiValues-  = lens _rrfiValues (\ s a -> s{_rrfiValues = a}) .-      _Default-      . _Coerce---- | Column to perform the filter on. This can be a DoubleClick Search column--- or a saved column.-rrfiColumn :: Lens' ReportRequestFiltersItem (Maybe ReportAPIColumnSpec)-rrfiColumn-  = lens _rrfiColumn (\ s a -> s{_rrfiColumn = a})--instance FromJSON ReportRequestFiltersItem where-        parseJSON-          = withObject "ReportRequestFiltersItem"-              (\ o ->-                 ReportRequestFiltersItem' <$>-                   (o .:? "operator") <*> (o .:? "values" .!= mempty)-                     <*> (o .:? "column"))--instance ToJSON ReportRequestFiltersItem where-        toJSON ReportRequestFiltersItem'{..}-          = object-              (catMaybes-                 [("operator" .=) <$> _rrfiOperator,-                  ("values" .=) <$> _rrfiValues,-                  ("column" .=) <$> _rrfiColumn])---- | A message containing availability data relevant to DoubleClick Search.------ /See:/ 'availability' smart constructor.-data Availability =-  Availability'-    { _aAgencyId              :: !(Maybe (Textual Int64))-    , _aAdvertiserId          :: !(Maybe (Textual Int64))-    , _aSegmentationId        :: !(Maybe (Textual Int64))-    , _aSegmentationName      :: !(Maybe Text)-    , _aAvailabilityTimestamp :: !(Maybe (Textual Word64))-    , _aSegmentationType      :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Availability' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aAgencyId'------ * 'aAdvertiserId'------ * 'aSegmentationId'------ * 'aSegmentationName'------ * 'aAvailabilityTimestamp'------ * 'aSegmentationType'-availability-    :: Availability-availability =-  Availability'-    { _aAgencyId = Nothing-    , _aAdvertiserId = Nothing-    , _aSegmentationId = Nothing-    , _aSegmentationName = Nothing-    , _aAvailabilityTimestamp = Nothing-    , _aSegmentationType = Nothing-    }----- | DS agency ID.-aAgencyId :: Lens' Availability (Maybe Int64)-aAgencyId-  = lens _aAgencyId (\ s a -> s{_aAgencyId = a}) .-      mapping _Coerce---- | DS advertiser ID.-aAdvertiserId :: Lens' Availability (Maybe Int64)-aAdvertiserId-  = lens _aAdvertiserId-      (\ s a -> s{_aAdvertiserId = a})-      . mapping _Coerce---- | The numeric segmentation identifier (for example, DoubleClick Search--- Floodlight activity ID).-aSegmentationId :: Lens' Availability (Maybe Int64)-aSegmentationId-  = lens _aSegmentationId-      (\ s a -> s{_aSegmentationId = a})-      . mapping _Coerce---- | The friendly segmentation identifier (for example, DoubleClick Search--- Floodlight activity name).-aSegmentationName :: Lens' Availability (Maybe Text)-aSegmentationName-  = lens _aSegmentationName-      (\ s a -> s{_aSegmentationName = a})---- | The time by which all conversions have been uploaded, in epoch millis--- UTC.-aAvailabilityTimestamp :: Lens' Availability (Maybe Word64)-aAvailabilityTimestamp-  = lens _aAvailabilityTimestamp-      (\ s a -> s{_aAvailabilityTimestamp = a})-      . mapping _Coerce---- | The segmentation type that this availability is for (its default value--- is FLOODLIGHT).-aSegmentationType :: Lens' Availability (Maybe Text)-aSegmentationType-  = lens _aSegmentationType-      (\ s a -> s{_aSegmentationType = a})--instance FromJSON Availability where-        parseJSON-          = withObject "Availability"-              (\ o ->-                 Availability' <$>-                   (o .:? "agencyId") <*> (o .:? "advertiserId") <*>-                     (o .:? "segmentationId")-                     <*> (o .:? "segmentationName")-                     <*> (o .:? "availabilityTimestamp")-                     <*> (o .:? "segmentationType"))--instance ToJSON Availability where-        toJSON Availability'{..}-          = object-              (catMaybes-                 [("agencyId" .=) <$> _aAgencyId,-                  ("advertiserId" .=) <$> _aAdvertiserId,-                  ("segmentationId" .=) <$> _aSegmentationId,-                  ("segmentationName" .=) <$> _aSegmentationName,-                  ("availabilityTimestamp" .=) <$>-                    _aAvailabilityTimestamp,-                  ("segmentationType" .=) <$> _aSegmentationType])---- | The request to update availability.------ /See:/ 'updateAvailabilityRequest' smart constructor.-newtype UpdateAvailabilityRequest =-  UpdateAvailabilityRequest'-    { _uarAvailabilities :: Maybe [Availability]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateAvailabilityRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uarAvailabilities'-updateAvailabilityRequest-    :: UpdateAvailabilityRequest-updateAvailabilityRequest =-  UpdateAvailabilityRequest' {_uarAvailabilities = Nothing}----- | The availabilities being requested.-uarAvailabilities :: Lens' UpdateAvailabilityRequest [Availability]-uarAvailabilities-  = lens _uarAvailabilities-      (\ s a -> s{_uarAvailabilities = a})-      . _Default-      . _Coerce--instance FromJSON UpdateAvailabilityRequest where-        parseJSON-          = withObject "UpdateAvailabilityRequest"-              (\ o ->-                 UpdateAvailabilityRequest' <$>-                   (o .:? "availabilities" .!= mempty))--instance ToJSON UpdateAvailabilityRequest where-        toJSON UpdateAvailabilityRequest'{..}-          = object-              (catMaybes-                 [("availabilities" .=) <$> _uarAvailabilities])---- | A message containing the custome metric.------ /See:/ 'customMetric' smart constructor.-data CustomMetric =-  CustomMetric'-    { _cmValue :: !(Maybe (Textual Double))-    , _cmName  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CustomMetric' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmValue'------ * 'cmName'-customMetric-    :: CustomMetric-customMetric = CustomMetric' {_cmValue = Nothing, _cmName = Nothing}----- | Custom metric numeric value.-cmValue :: Lens' CustomMetric (Maybe Double)-cmValue-  = lens _cmValue (\ s a -> s{_cmValue = a}) .-      mapping _Coerce---- | Custom metric name.-cmName :: Lens' CustomMetric (Maybe Text)-cmName = lens _cmName (\ s a -> s{_cmName = a})--instance FromJSON CustomMetric where-        parseJSON-          = withObject "CustomMetric"-              (\ o ->-                 CustomMetric' <$> (o .:? "value") <*> (o .:? "name"))--instance ToJSON CustomMetric where-        toJSON CustomMetric'{..}-          = object-              (catMaybes-                 [("value" .=) <$> _cmValue, ("name" .=) <$> _cmName])---- | A list of conversions.------ /See:/ 'conversionList' smart constructor.-data ConversionList =-  ConversionList'-    { _clKind       :: !Text-    , _clConversion :: !(Maybe [Conversion])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'clKind'------ * 'clConversion'-conversionList-    :: ConversionList-conversionList =-  ConversionList'-    {_clKind = "doubleclicksearch#conversionList", _clConversion = Nothing}----- | Identifies this as a ConversionList resource. Value: the fixed string--- doubleclicksearch#conversionList.-clKind :: Lens' ConversionList Text-clKind = lens _clKind (\ s a -> s{_clKind = a})---- | The conversions being requested.-clConversion :: Lens' ConversionList [Conversion]-clConversion-  = lens _clConversion (\ s a -> s{_clConversion = a})-      . _Default-      . _Coerce--instance FromJSON ConversionList where-        parseJSON-          = withObject "ConversionList"-              (\ o ->-                 ConversionList' <$>-                   (o .:? "kind" .!= "doubleclicksearch#conversionList")-                     <*> (o .:? "conversion" .!= mempty))--instance ToJSON ConversionList where-        toJSON ConversionList'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _clKind),-                  ("conversion" .=) <$> _clConversion])---- | A request object used to create a DoubleClick Search report.------ /See:/ 'reportAPIColumnSpec' smart constructor.-data ReportAPIColumnSpec =-  ReportAPIColumnSpec'-    { _racsCustomDimensionName      :: !(Maybe Text)-    , _racsSavedColumnName          :: !(Maybe Text)-    , _racsGroupByColumn            :: !Bool-    , _racsCustomMetricName         :: !(Maybe Text)-    , _racsEndDate                  :: !(Maybe Text)-    , _racsProductReportPerspective :: !(Maybe Text)-    , _racsStartDate                :: !(Maybe Text)-    , _racsHeaderText               :: !(Maybe Text)-    , _racsPlatformSource           :: !(Maybe Text)-    , _racsColumnName               :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportAPIColumnSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'racsCustomDimensionName'------ * 'racsSavedColumnName'------ * 'racsGroupByColumn'------ * 'racsCustomMetricName'------ * 'racsEndDate'------ * 'racsProductReportPerspective'------ * 'racsStartDate'------ * 'racsHeaderText'------ * 'racsPlatformSource'------ * 'racsColumnName'-reportAPIColumnSpec-    :: ReportAPIColumnSpec-reportAPIColumnSpec =-  ReportAPIColumnSpec'-    { _racsCustomDimensionName = Nothing-    , _racsSavedColumnName = Nothing-    , _racsGroupByColumn = False-    , _racsCustomMetricName = Nothing-    , _racsEndDate = Nothing-    , _racsProductReportPerspective = Nothing-    , _racsStartDate = Nothing-    , _racsHeaderText = Nothing-    , _racsPlatformSource = Nothing-    , _racsColumnName = Nothing-    }----- | Segments a report by a custom dimension. The report must be scoped to an--- advertiser or lower, and the custom dimension must already be set up in--- DoubleClick Search. The custom dimension name, which appears in--- DoubleClick Search, is case sensitive. If used in a conversion report,--- returns the value of the specified custom dimension for the given--- conversion, if set. This column does not segment the conversion report.-racsCustomDimensionName :: Lens' ReportAPIColumnSpec (Maybe Text)-racsCustomDimensionName-  = lens _racsCustomDimensionName-      (\ s a -> s{_racsCustomDimensionName = a})---- | Name of a saved column to include in the report. The report must be--- scoped at advertiser or lower, and this saved column must already be--- created in the DoubleClick Search UI.-racsSavedColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)-racsSavedColumnName-  = lens _racsSavedColumnName-      (\ s a -> s{_racsSavedColumnName = a})---- | Synchronous report only. Set to true to group by this column. Defaults--- to false.-racsGroupByColumn :: Lens' ReportAPIColumnSpec Bool-racsGroupByColumn-  = lens _racsGroupByColumn-      (\ s a -> s{_racsGroupByColumn = a})---- | Name of a custom metric to include in the report. The report must be--- scoped to an advertiser or lower, and the custom metric must already be--- set up in DoubleClick Search. The custom metric name, which appears in--- DoubleClick Search, is case sensitive.-racsCustomMetricName :: Lens' ReportAPIColumnSpec (Maybe Text)-racsCustomMetricName-  = lens _racsCustomMetricName-      (\ s a -> s{_racsCustomMetricName = a})---- | Inclusive day in YYYY-MM-DD format. When provided, this overrides the--- overall time range of the report for this column only. Must be provided--- together with startDate.-racsEndDate :: Lens' ReportAPIColumnSpec (Maybe Text)-racsEndDate-  = lens _racsEndDate (\ s a -> s{_racsEndDate = a})---- | Returns metrics only for a specific type of product activity. Accepted--- values are: - \"sold\": returns metrics only for products that were sold--- - \"advertised\": returns metrics only for products that were advertised--- in a Shopping campaign, and that might or might not have been sold-racsProductReportPerspective :: Lens' ReportAPIColumnSpec (Maybe Text)-racsProductReportPerspective-  = lens _racsProductReportPerspective-      (\ s a -> s{_racsProductReportPerspective = a})---- | Inclusive date in YYYY-MM-DD format. When provided, this overrides the--- overall time range of the report for this column only. Must be provided--- together with endDate.-racsStartDate :: Lens' ReportAPIColumnSpec (Maybe Text)-racsStartDate-  = lens _racsStartDate-      (\ s a -> s{_racsStartDate = a})---- | Text used to identify this column in the report output; defaults to--- columnName or savedColumnName when not specified. This can be used to--- prevent collisions between DoubleClick Search columns and saved columns--- with the same name.-racsHeaderText :: Lens' ReportAPIColumnSpec (Maybe Text)-racsHeaderText-  = lens _racsHeaderText-      (\ s a -> s{_racsHeaderText = a})---- | The platform that is used to provide data for the custom dimension.--- Acceptable values are \"floodlight\".-racsPlatformSource :: Lens' ReportAPIColumnSpec (Maybe Text)-racsPlatformSource-  = lens _racsPlatformSource-      (\ s a -> s{_racsPlatformSource = a})---- | Name of a DoubleClick Search column to include in the report.-racsColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)-racsColumnName-  = lens _racsColumnName-      (\ s a -> s{_racsColumnName = a})--instance FromJSON ReportAPIColumnSpec where-        parseJSON-          = withObject "ReportAPIColumnSpec"-              (\ o ->-                 ReportAPIColumnSpec' <$>-                   (o .:? "customDimensionName") <*>-                     (o .:? "savedColumnName")-                     <*> (o .:? "groupByColumn" .!= False)-                     <*> (o .:? "customMetricName")-                     <*> (o .:? "endDate")-                     <*> (o .:? "productReportPerspective")-                     <*> (o .:? "startDate")-                     <*> (o .:? "headerText")-                     <*> (o .:? "platformSource")-                     <*> (o .:? "columnName"))--instance ToJSON ReportAPIColumnSpec where-        toJSON ReportAPIColumnSpec'{..}-          = object-              (catMaybes-                 [("customDimensionName" .=) <$>-                    _racsCustomDimensionName,-                  ("savedColumnName" .=) <$> _racsSavedColumnName,-                  Just ("groupByColumn" .= _racsGroupByColumn),-                  ("customMetricName" .=) <$> _racsCustomMetricName,-                  ("endDate" .=) <$> _racsEndDate,-                  ("productReportPerspective" .=) <$>-                    _racsProductReportPerspective,-                  ("startDate" .=) <$> _racsStartDate,-                  ("headerText" .=) <$> _racsHeaderText,-                  ("platformSource" .=) <$> _racsPlatformSource,-                  ("columnName" .=) <$> _racsColumnName])---- | If metrics are requested in a report, this argument will be used to--- restrict the metrics to a specific time range.------ /See:/ 'reportRequestTimeRange' smart constructor.-data ReportRequestTimeRange =-  ReportRequestTimeRange'-    { _rrtrEndDate                         :: !(Maybe Text)-    , _rrtrChangedAttributesSinceTimestamp :: !(Maybe DateTime')-    , _rrtrStartDate                       :: !(Maybe Text)-    , _rrtrChangedMetricsSinceTimestamp    :: !(Maybe DateTime')-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRequestTimeRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrtrEndDate'------ * 'rrtrChangedAttributesSinceTimestamp'------ * 'rrtrStartDate'------ * 'rrtrChangedMetricsSinceTimestamp'-reportRequestTimeRange-    :: ReportRequestTimeRange-reportRequestTimeRange =-  ReportRequestTimeRange'-    { _rrtrEndDate = Nothing-    , _rrtrChangedAttributesSinceTimestamp = Nothing-    , _rrtrStartDate = Nothing-    , _rrtrChangedMetricsSinceTimestamp = Nothing-    }----- | Inclusive date in YYYY-MM-DD format.-rrtrEndDate :: Lens' ReportRequestTimeRange (Maybe Text)-rrtrEndDate-  = lens _rrtrEndDate (\ s a -> s{_rrtrEndDate = a})---- | Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z.--- See additional references on how changed attribute reports work.-rrtrChangedAttributesSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)-rrtrChangedAttributesSinceTimestamp-  = lens _rrtrChangedAttributesSinceTimestamp-      (\ s a ->-         s{_rrtrChangedAttributesSinceTimestamp = a})-      . mapping _DateTime---- | Inclusive date in YYYY-MM-DD format.-rrtrStartDate :: Lens' ReportRequestTimeRange (Maybe Text)-rrtrStartDate-  = lens _rrtrStartDate-      (\ s a -> s{_rrtrStartDate = a})---- | Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z.--- See additional references on how changed metrics reports work.-rrtrChangedMetricsSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)-rrtrChangedMetricsSinceTimestamp-  = lens _rrtrChangedMetricsSinceTimestamp-      (\ s a -> s{_rrtrChangedMetricsSinceTimestamp = a})-      . mapping _DateTime--instance FromJSON ReportRequestTimeRange where-        parseJSON-          = withObject "ReportRequestTimeRange"-              (\ o ->-                 ReportRequestTimeRange' <$>-                   (o .:? "endDate") <*>-                     (o .:? "changedAttributesSinceTimestamp")-                     <*> (o .:? "startDate")-                     <*> (o .:? "changedMetricsSinceTimestamp"))--instance ToJSON ReportRequestTimeRange where-        toJSON ReportRequestTimeRange'{..}-          = object-              (catMaybes-                 [("endDate" .=) <$> _rrtrEndDate,-                  ("changedAttributesSinceTimestamp" .=) <$>-                    _rrtrChangedAttributesSinceTimestamp,-                  ("startDate" .=) <$> _rrtrStartDate,-                  ("changedMetricsSinceTimestamp" .=) <$>-                    _rrtrChangedMetricsSinceTimestamp])---- | A conversion containing data relevant to DoubleClick Search.------ /See:/ 'conversion' smart constructor.-data Conversion =-  Conversion'-    { _cAdGroupId                   :: !(Maybe (Textual Int64))-    , _cConversionModifiedTimestamp :: !(Maybe (Textual Word64))-    , _cState                       :: !(Maybe Text)-    , _cEngineAccountId             :: !(Maybe (Textual Int64))-    , _cAgencyId                    :: !(Maybe (Textual Int64))-    , _cCurrencyCode                :: !(Maybe Text)-    , _cStoreId                     :: !(Maybe Text)-    , _cDsConversionId              :: !(Maybe (Textual Int64))-    , _cConversionId                :: !(Maybe Text)-    , _cAdvertiserId                :: !(Maybe (Textual Int64))-    , _cSegmentationId              :: !(Maybe (Textual Int64))-    , _cChannel                     :: !(Maybe Text)-    , _cProductCountry              :: !(Maybe Text)-    , _cCampaignId                  :: !(Maybe (Textual Int64))-    , _cCriterionId                 :: !(Maybe (Textual Int64))-    , _cConversionTimestamp         :: !(Maybe (Textual Word64))-    , _cAttributionModel            :: !(Maybe Text)-    , _cSegmentationName            :: !(Maybe Text)-    , _cProductLanguage             :: !(Maybe Text)-    , _cCustomMetric                :: !(Maybe [CustomMetric])-    , _cCountMillis                 :: !(Maybe (Textual Int64))-    , _cQuantityMillis              :: !(Maybe (Textual Int64))-    , _cAdId                        :: !(Maybe (Textual Int64))-    , _cDeviceType                  :: !(Maybe Text)-    , _cType                        :: !(Maybe Text)-    , _cCustomDimension             :: !(Maybe [CustomDimension])-    , _cFloodlightOrderId           :: !(Maybe Text)-    , _cRevenueMicros               :: !(Maybe (Textual Int64))-    , _cClickId                     :: !(Maybe Text)-    , _cInventoryAccountId          :: !(Maybe (Textual Int64))-    , _cSegmentationType            :: !(Maybe Text)-    , _cProductId                   :: !(Maybe Text)-    , _cProductGroupId              :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Conversion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cAdGroupId'------ * 'cConversionModifiedTimestamp'------ * 'cState'------ * 'cEngineAccountId'------ * 'cAgencyId'------ * 'cCurrencyCode'------ * 'cStoreId'------ * 'cDsConversionId'------ * 'cConversionId'------ * 'cAdvertiserId'------ * 'cSegmentationId'------ * 'cChannel'------ * 'cProductCountry'------ * 'cCampaignId'------ * 'cCriterionId'------ * 'cConversionTimestamp'------ * 'cAttributionModel'------ * 'cSegmentationName'------ * 'cProductLanguage'------ * 'cCustomMetric'------ * 'cCountMillis'------ * 'cQuantityMillis'------ * 'cAdId'------ * 'cDeviceType'------ * 'cType'------ * 'cCustomDimension'------ * 'cFloodlightOrderId'------ * 'cRevenueMicros'------ * 'cClickId'------ * 'cInventoryAccountId'------ * 'cSegmentationType'------ * 'cProductId'------ * 'cProductGroupId'-conversion-    :: Conversion-conversion =-  Conversion'-    { _cAdGroupId = Nothing-    , _cConversionModifiedTimestamp = Nothing-    , _cState = Nothing-    , _cEngineAccountId = Nothing-    , _cAgencyId = Nothing-    , _cCurrencyCode = Nothing-    , _cStoreId = Nothing-    , _cDsConversionId = Nothing-    , _cConversionId = Nothing-    , _cAdvertiserId = Nothing-    , _cSegmentationId = Nothing-    , _cChannel = Nothing-    , _cProductCountry = Nothing-    , _cCampaignId = Nothing-    , _cCriterionId = Nothing-    , _cConversionTimestamp = Nothing-    , _cAttributionModel = Nothing-    , _cSegmentationName = Nothing-    , _cProductLanguage = Nothing-    , _cCustomMetric = Nothing-    , _cCountMillis = Nothing-    , _cQuantityMillis = Nothing-    , _cAdId = Nothing-    , _cDeviceType = Nothing-    , _cType = Nothing-    , _cCustomDimension = Nothing-    , _cFloodlightOrderId = Nothing-    , _cRevenueMicros = Nothing-    , _cClickId = Nothing-    , _cInventoryAccountId = Nothing-    , _cSegmentationType = Nothing-    , _cProductId = Nothing-    , _cProductGroupId = Nothing-    }----- | DS ad group ID.-cAdGroupId :: Lens' Conversion (Maybe Int64)-cAdGroupId-  = lens _cAdGroupId (\ s a -> s{_cAdGroupId = a}) .-      mapping _Coerce---- | The time at which the conversion was last modified, in epoch millis UTC.-cConversionModifiedTimestamp :: Lens' Conversion (Maybe Word64)-cConversionModifiedTimestamp-  = lens _cConversionModifiedTimestamp-      (\ s a -> s{_cConversionModifiedTimestamp = a})-      . mapping _Coerce---- | The state of the conversion, that is, either ACTIVE or REMOVED. Note:--- state DELETED is deprecated.-cState :: Lens' Conversion (Maybe Text)-cState = lens _cState (\ s a -> s{_cState = a})---- | DS engine account ID.-cEngineAccountId :: Lens' Conversion (Maybe Int64)-cEngineAccountId-  = lens _cEngineAccountId-      (\ s a -> s{_cEngineAccountId = a})-      . mapping _Coerce---- | DS agency ID.-cAgencyId :: Lens' Conversion (Maybe Int64)-cAgencyId-  = lens _cAgencyId (\ s a -> s{_cAgencyId = a}) .-      mapping _Coerce---- | The currency code for the conversion\'s revenue. Should be in ISO 4217--- alphabetic (3-char) format.-cCurrencyCode :: Lens' Conversion (Maybe Text)-cCurrencyCode-  = lens _cCurrencyCode-      (\ s a -> s{_cCurrencyCode = a})---- | The ID of the local store for which the product was advertised.--- Applicable only when the channel is \"local\".-cStoreId :: Lens' Conversion (Maybe Text)-cStoreId = lens _cStoreId (\ s a -> s{_cStoreId = a})---- | ID that DoubleClick Search generates for each conversion.-cDsConversionId :: Lens' Conversion (Maybe Int64)-cDsConversionId-  = lens _cDsConversionId-      (\ s a -> s{_cDsConversionId = a})-      . mapping _Coerce---- | For offline conversions, advertisers provide this ID. Advertisers can--- specify any ID that is meaningful to them. Each conversion in a request--- must specify a unique ID, and the combination of ID and timestamp must--- be unique amongst all conversions within the advertiser. For online--- conversions, DS copies the dsConversionId or floodlightOrderId into this--- property depending on the advertiser\'s Floodlight instructions.-cConversionId :: Lens' Conversion (Maybe Text)-cConversionId-  = lens _cConversionId-      (\ s a -> s{_cConversionId = a})---- | DS advertiser ID.-cAdvertiserId :: Lens' Conversion (Maybe Int64)-cAdvertiserId-  = lens _cAdvertiserId-      (\ s a -> s{_cAdvertiserId = a})-      . mapping _Coerce---- | The numeric segmentation identifier (for example, DoubleClick Search--- Floodlight activity ID).-cSegmentationId :: Lens' Conversion (Maybe Int64)-cSegmentationId-  = lens _cSegmentationId-      (\ s a -> s{_cSegmentationId = a})-      . mapping _Coerce---- | Sales channel for the product. Acceptable values are: - \"local\": a--- physical store - \"online\": an online store-cChannel :: Lens' Conversion (Maybe Text)-cChannel = lens _cChannel (\ s a -> s{_cChannel = a})---- | The country registered for the Merchant Center feed that contains the--- product. Use an ISO 3166 code to specify a country.-cProductCountry :: Lens' Conversion (Maybe Text)-cProductCountry-  = lens _cProductCountry-      (\ s a -> s{_cProductCountry = a})---- | DS campaign ID.-cCampaignId :: Lens' Conversion (Maybe Int64)-cCampaignId-  = lens _cCampaignId (\ s a -> s{_cCampaignId = a}) .-      mapping _Coerce---- | DS criterion (keyword) ID.-cCriterionId :: Lens' Conversion (Maybe Int64)-cCriterionId-  = lens _cCriterionId (\ s a -> s{_cCriterionId = a})-      . mapping _Coerce---- | The time at which the conversion took place, in epoch millis UTC.-cConversionTimestamp :: Lens' Conversion (Maybe Word64)-cConversionTimestamp-  = lens _cConversionTimestamp-      (\ s a -> s{_cConversionTimestamp = a})-      . mapping _Coerce---- | Available to advertisers only after contacting DoubleClick Search--- customer support.-cAttributionModel :: Lens' Conversion (Maybe Text)-cAttributionModel-  = lens _cAttributionModel-      (\ s a -> s{_cAttributionModel = a})---- | The friendly segmentation identifier (for example, DoubleClick Search--- Floodlight activity name).-cSegmentationName :: Lens' Conversion (Maybe Text)-cSegmentationName-  = lens _cSegmentationName-      (\ s a -> s{_cSegmentationName = a})---- | The language registered for the Merchant Center feed that contains the--- product. Use an ISO 639 code to specify a language.-cProductLanguage :: Lens' Conversion (Maybe Text)-cProductLanguage-  = lens _cProductLanguage-      (\ s a -> s{_cProductLanguage = a})---- | Custom metrics for the conversion.-cCustomMetric :: Lens' Conversion [CustomMetric]-cCustomMetric-  = lens _cCustomMetric-      (\ s a -> s{_cCustomMetric = a})-      . _Default-      . _Coerce---- | Available to advertisers only after contacting DoubleClick Search--- customer support.-cCountMillis :: Lens' Conversion (Maybe Int64)-cCountMillis-  = lens _cCountMillis (\ s a -> s{_cCountMillis = a})-      . mapping _Coerce---- | The quantity of this conversion, in millis.-cQuantityMillis :: Lens' Conversion (Maybe Int64)-cQuantityMillis-  = lens _cQuantityMillis-      (\ s a -> s{_cQuantityMillis = a})-      . mapping _Coerce---- | DS ad ID.-cAdId :: Lens' Conversion (Maybe Int64)-cAdId-  = lens _cAdId (\ s a -> s{_cAdId = a}) .-      mapping _Coerce---- | The type of device on which the conversion occurred.-cDeviceType :: Lens' Conversion (Maybe Text)-cDeviceType-  = lens _cDeviceType (\ s a -> s{_cDeviceType = a})---- | The type of the conversion, that is, either ACTION or TRANSACTION. An--- ACTION conversion is an action by the user that has no monetarily--- quantifiable value, while a TRANSACTION conversion is an action that--- does have a monetarily quantifiable value. Examples are email list--- signups (ACTION) versus ecommerce purchases (TRANSACTION).-cType :: Lens' Conversion (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a})---- | Custom dimensions for the conversion, which can be used to filter data--- in a report.-cCustomDimension :: Lens' Conversion [CustomDimension]-cCustomDimension-  = lens _cCustomDimension-      (\ s a -> s{_cCustomDimension = a})-      . _Default-      . _Coerce---- | The Floodlight order ID provided by the advertiser for the conversion.-cFloodlightOrderId :: Lens' Conversion (Maybe Text)-cFloodlightOrderId-  = lens _cFloodlightOrderId-      (\ s a -> s{_cFloodlightOrderId = a})---- | The revenue amount of this TRANSACTION conversion, in micros (value--- multiplied by 1000000, no decimal). For example, to specify a revenue--- value of \"10\" enter \"10000000\" (10 million) in your request.-cRevenueMicros :: Lens' Conversion (Maybe Int64)-cRevenueMicros-  = lens _cRevenueMicros-      (\ s a -> s{_cRevenueMicros = a})-      . mapping _Coerce---- | DS click ID for the conversion.-cClickId :: Lens' Conversion (Maybe Text)-cClickId = lens _cClickId (\ s a -> s{_cClickId = a})---- | ID that DS generates and uses to uniquely identify the inventory account--- that contains the product.-cInventoryAccountId :: Lens' Conversion (Maybe Int64)-cInventoryAccountId-  = lens _cInventoryAccountId-      (\ s a -> s{_cInventoryAccountId = a})-      . mapping _Coerce---- | The segmentation type of this conversion (for example, FLOODLIGHT).-cSegmentationType :: Lens' Conversion (Maybe Text)-cSegmentationType-  = lens _cSegmentationType-      (\ s a -> s{_cSegmentationType = a})---- | The product ID (SKU).-cProductId :: Lens' Conversion (Maybe Text)-cProductId-  = lens _cProductId (\ s a -> s{_cProductId = a})---- | DS product group ID.-cProductGroupId :: Lens' Conversion (Maybe Int64)-cProductGroupId-  = lens _cProductGroupId-      (\ s a -> s{_cProductGroupId = a})-      . mapping _Coerce--instance FromJSON Conversion where-        parseJSON-          = withObject "Conversion"-              (\ o ->-                 Conversion' <$>-                   (o .:? "adGroupId") <*>-                     (o .:? "conversionModifiedTimestamp")-                     <*> (o .:? "state")-                     <*> (o .:? "engineAccountId")-                     <*> (o .:? "agencyId")-                     <*> (o .:? "currencyCode")-                     <*> (o .:? "storeId")-                     <*> (o .:? "dsConversionId")-                     <*> (o .:? "conversionId")-                     <*> (o .:? "advertiserId")-                     <*> (o .:? "segmentationId")-                     <*> (o .:? "channel")-                     <*> (o .:? "productCountry")-                     <*> (o .:? "campaignId")-                     <*> (o .:? "criterionId")-                     <*> (o .:? "conversionTimestamp")-                     <*> (o .:? "attributionModel")-                     <*> (o .:? "segmentationName")-                     <*> (o .:? "productLanguage")-                     <*> (o .:? "customMetric" .!= mempty)-                     <*> (o .:? "countMillis")-                     <*> (o .:? "quantityMillis")-                     <*> (o .:? "adId")-                     <*> (o .:? "deviceType")-                     <*> (o .:? "type")-                     <*> (o .:? "customDimension" .!= mempty)-                     <*> (o .:? "floodlightOrderId")-                     <*> (o .:? "revenueMicros")-                     <*> (o .:? "clickId")-                     <*> (o .:? "inventoryAccountId")-                     <*> (o .:? "segmentationType")-                     <*> (o .:? "productId")-                     <*> (o .:? "productGroupId"))--instance ToJSON Conversion where-        toJSON Conversion'{..}-          = object-              (catMaybes-                 [("adGroupId" .=) <$> _cAdGroupId,-                  ("conversionModifiedTimestamp" .=) <$>-                    _cConversionModifiedTimestamp,-                  ("state" .=) <$> _cState,-                  ("engineAccountId" .=) <$> _cEngineAccountId,-                  ("agencyId" .=) <$> _cAgencyId,-                  ("currencyCode" .=) <$> _cCurrencyCode,-                  ("storeId" .=) <$> _cStoreId,-                  ("dsConversionId" .=) <$> _cDsConversionId,-                  ("conversionId" .=) <$> _cConversionId,-                  ("advertiserId" .=) <$> _cAdvertiserId,-                  ("segmentationId" .=) <$> _cSegmentationId,-                  ("channel" .=) <$> _cChannel,-                  ("productCountry" .=) <$> _cProductCountry,-                  ("campaignId" .=) <$> _cCampaignId,-                  ("criterionId" .=) <$> _cCriterionId,-                  ("conversionTimestamp" .=) <$> _cConversionTimestamp,-                  ("attributionModel" .=) <$> _cAttributionModel,-                  ("segmentationName" .=) <$> _cSegmentationName,-                  ("productLanguage" .=) <$> _cProductLanguage,-                  ("customMetric" .=) <$> _cCustomMetric,-                  ("countMillis" .=) <$> _cCountMillis,-                  ("quantityMillis" .=) <$> _cQuantityMillis,-                  ("adId" .=) <$> _cAdId,-                  ("deviceType" .=) <$> _cDeviceType,-                  ("type" .=) <$> _cType,-                  ("customDimension" .=) <$> _cCustomDimension,-                  ("floodlightOrderId" .=) <$> _cFloodlightOrderId,-                  ("revenueMicros" .=) <$> _cRevenueMicros,-                  ("clickId" .=) <$> _cClickId,-                  ("inventoryAccountId" .=) <$> _cInventoryAccountId,-                  ("segmentationType" .=) <$> _cSegmentationType,-                  ("productId" .=) <$> _cProductId,-                  ("productGroupId" .=) <$> _cProductGroupId])---- | A saved column------ /See:/ 'savedColumn' smart constructor.-data SavedColumn =-  SavedColumn'-    { _scSavedColumnName :: !(Maybe Text)-    , _scKind            :: !Text-    , _scType            :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SavedColumn' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scSavedColumnName'------ * 'scKind'------ * 'scType'-savedColumn-    :: SavedColumn-savedColumn =-  SavedColumn'-    { _scSavedColumnName = Nothing-    , _scKind = "doubleclicksearch#savedColumn"-    , _scType = Nothing-    }----- | The name of the saved column.-scSavedColumnName :: Lens' SavedColumn (Maybe Text)-scSavedColumnName-  = lens _scSavedColumnName-      (\ s a -> s{_scSavedColumnName = a})---- | Identifies this as a SavedColumn resource. Value: the fixed string--- doubleclicksearch#savedColumn.-scKind :: Lens' SavedColumn Text-scKind = lens _scKind (\ s a -> s{_scKind = a})---- | The type of data this saved column will produce.-scType :: Lens' SavedColumn (Maybe Text)-scType = lens _scType (\ s a -> s{_scType = a})--instance FromJSON SavedColumn where-        parseJSON-          = withObject "SavedColumn"-              (\ o ->-                 SavedColumn' <$>-                   (o .:? "savedColumnName") <*>-                     (o .:? "kind" .!= "doubleclicksearch#savedColumn")-                     <*> (o .:? "type"))--instance ToJSON SavedColumn where-        toJSON SavedColumn'{..}-          = object-              (catMaybes-                 [("savedColumnName" .=) <$> _scSavedColumnName,-                  Just ("kind" .= _scKind), ("type" .=) <$> _scType])---- | A message containing the custome dimension.------ /See:/ 'customDimension' smart constructor.-data CustomDimension =-  CustomDimension'-    { _cdValue :: !(Maybe Text)-    , _cdName  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CustomDimension' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdValue'------ * 'cdName'-customDimension-    :: CustomDimension-customDimension = CustomDimension' {_cdValue = Nothing, _cdName = Nothing}----- | Custom dimension value.-cdValue :: Lens' CustomDimension (Maybe Text)-cdValue = lens _cdValue (\ s a -> s{_cdValue = a})---- | Custom dimension name.-cdName :: Lens' CustomDimension (Maybe Text)-cdName = lens _cdName (\ s a -> s{_cdName = a})--instance FromJSON CustomDimension where-        parseJSON-          = withObject "CustomDimension"-              (\ o ->-                 CustomDimension' <$>-                   (o .:? "value") <*> (o .:? "name"))--instance ToJSON CustomDimension where-        toJSON CustomDimension'{..}-          = object-              (catMaybes-                 [("value" .=) <$> _cdValue, ("name" .=) <$> _cdName])---- | The response to a update availability request.------ /See:/ 'updateAvailabilityResponse' smart constructor.-newtype UpdateAvailabilityResponse =-  UpdateAvailabilityResponse'-    { _uAvailabilities :: Maybe [Availability]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateAvailabilityResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uAvailabilities'-updateAvailabilityResponse-    :: UpdateAvailabilityResponse-updateAvailabilityResponse =-  UpdateAvailabilityResponse' {_uAvailabilities = Nothing}----- | The availabilities being returned.-uAvailabilities :: Lens' UpdateAvailabilityResponse [Availability]-uAvailabilities-  = lens _uAvailabilities-      (\ s a -> s{_uAvailabilities = a})-      . _Default-      . _Coerce--instance FromJSON UpdateAvailabilityResponse where-        parseJSON-          = withObject "UpdateAvailabilityResponse"-              (\ o ->-                 UpdateAvailabilityResponse' <$>-                   (o .:? "availabilities" .!= mempty))--instance ToJSON UpdateAvailabilityResponse where-        toJSON UpdateAvailabilityResponse'{..}-          = object-              (catMaybes-                 [("availabilities" .=) <$> _uAvailabilities])---- | The reportScope is a set of IDs that are used to determine which subset--- of entities will be returned in the report. The full lineage of IDs from--- the lowest scoped level desired up through agency is required.------ /See:/ 'reportRequestReportScope' smart constructor.-data ReportRequestReportScope =-  ReportRequestReportScope'-    { _rrrsKeywordId       :: !(Maybe (Textual Int64))-    , _rrrsAdGroupId       :: !(Maybe (Textual Int64))-    , _rrrsEngineAccountId :: !(Maybe (Textual Int64))-    , _rrrsAgencyId        :: !(Maybe (Textual Int64))-    , _rrrsAdvertiserId    :: !(Maybe (Textual Int64))-    , _rrrsCampaignId      :: !(Maybe (Textual Int64))-    , _rrrsAdId            :: !(Maybe (Textual Int64))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportRequestReportScope' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrrsKeywordId'------ * 'rrrsAdGroupId'------ * 'rrrsEngineAccountId'------ * 'rrrsAgencyId'------ * 'rrrsAdvertiserId'------ * 'rrrsCampaignId'------ * 'rrrsAdId'-reportRequestReportScope-    :: ReportRequestReportScope-reportRequestReportScope =-  ReportRequestReportScope'-    { _rrrsKeywordId = Nothing-    , _rrrsAdGroupId = Nothing-    , _rrrsEngineAccountId = Nothing-    , _rrrsAgencyId = Nothing-    , _rrrsAdvertiserId = Nothing-    , _rrrsCampaignId = Nothing-    , _rrrsAdId = Nothing-    }----- | DS keyword ID.-rrrsKeywordId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsKeywordId-  = lens _rrrsKeywordId-      (\ s a -> s{_rrrsKeywordId = a})-      . mapping _Coerce---- | DS ad group ID.-rrrsAdGroupId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsAdGroupId-  = lens _rrrsAdGroupId-      (\ s a -> s{_rrrsAdGroupId = a})-      . mapping _Coerce---- | DS engine account ID.-rrrsEngineAccountId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsEngineAccountId-  = lens _rrrsEngineAccountId-      (\ s a -> s{_rrrsEngineAccountId = a})-      . mapping _Coerce---- | DS agency ID.-rrrsAgencyId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsAgencyId-  = lens _rrrsAgencyId (\ s a -> s{_rrrsAgencyId = a})-      . mapping _Coerce---- | DS advertiser ID.-rrrsAdvertiserId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsAdvertiserId-  = lens _rrrsAdvertiserId-      (\ s a -> s{_rrrsAdvertiserId = a})-      . mapping _Coerce---- | DS campaign ID.-rrrsCampaignId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsCampaignId-  = lens _rrrsCampaignId-      (\ s a -> s{_rrrsCampaignId = a})-      . mapping _Coerce---- | DS ad ID.-rrrsAdId :: Lens' ReportRequestReportScope (Maybe Int64)-rrrsAdId-  = lens _rrrsAdId (\ s a -> s{_rrrsAdId = a}) .-      mapping _Coerce--instance FromJSON ReportRequestReportScope where-        parseJSON-          = withObject "ReportRequestReportScope"-              (\ o ->-                 ReportRequestReportScope' <$>-                   (o .:? "keywordId") <*> (o .:? "adGroupId") <*>-                     (o .:? "engineAccountId")-                     <*> (o .:? "agencyId")-                     <*> (o .:? "advertiserId")-                     <*> (o .:? "campaignId")-                     <*> (o .:? "adId"))--instance ToJSON ReportRequestReportScope where-        toJSON ReportRequestReportScope'{..}-          = object-              (catMaybes-                 [("keywordId" .=) <$> _rrrsKeywordId,-                  ("adGroupId" .=) <$> _rrrsAdGroupId,-                  ("engineAccountId" .=) <$> _rrrsEngineAccountId,-                  ("agencyId" .=) <$> _rrrsAgencyId,-                  ("advertiserId" .=) <$> _rrrsAdvertiserId,-                  ("campaignId" .=) <$> _rrrsCampaignId,-                  ("adId" .=) <$> _rrrsAdId])---- | A list of saved columns. Advertisers create saved columns to report on--- Floodlight activities, Google Analytics goals, or custom KPIs. To--- request reports with saved columns, you\'ll need the saved column names--- that are available from this list.------ /See:/ 'savedColumnList' smart constructor.-data SavedColumnList =-  SavedColumnList'-    { _sclKind  :: !Text-    , _sclItems :: !(Maybe [SavedColumn])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SavedColumnList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sclKind'------ * 'sclItems'-savedColumnList-    :: SavedColumnList-savedColumnList =-  SavedColumnList'-    {_sclKind = "doubleclicksearch#savedColumnList", _sclItems = Nothing}----- | Identifies this as a SavedColumnList resource. Value: the fixed string--- doubleclicksearch#savedColumnList.-sclKind :: Lens' SavedColumnList Text-sclKind = lens _sclKind (\ s a -> s{_sclKind = a})---- | The saved columns being requested.-sclItems :: Lens' SavedColumnList [SavedColumn]-sclItems-  = lens _sclItems (\ s a -> s{_sclItems = a}) .-      _Default-      . _Coerce--instance FromJSON SavedColumnList where-        parseJSON-          = withObject "SavedColumnList"-              (\ o ->-                 SavedColumnList' <$>-                   (o .:? "kind" .!=-                      "doubleclicksearch#savedColumnList")-                     <*> (o .:? "items" .!= mempty))--instance ToJSON SavedColumnList where-        toJSON SavedColumnList'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _sclKind),-                  ("items" .=) <$> _sclItems])
− gen/Network/Google/DoubleClickSearch/Types/Sum.hs
@@ -1,19 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.DoubleClickSearch.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.DoubleClickSearch.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)
− gen/Network/Google/Resource/DoubleClickSearch/Conversion/Get.hs
@@ -1,236 +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.DoubleClickSearch.Conversion.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 list of conversions from a DoubleClick Search engine--- account.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.get@.-module Network.Google.Resource.DoubleClickSearch.Conversion.Get-    (-    -- * REST Resource-      ConversionGetResource--    -- * Creating a Request-    , conversionGet-    , ConversionGet--    -- * Request Lenses-    , cgAdGroupId-    , cgEngineAccountId-    , cgAgencyId-    , cgAdvertiserId-    , cgEndDate-    , cgCampaignId-    , cgCriterionId-    , cgStartDate-    , cgStartRow-    , cgAdId-    , cgRowCount-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.conversion.get@ method which the--- 'ConversionGet' request conforms to.-type ConversionGetResource =-     "doubleclicksearch" :>-       "v2" :>-         "agency" :>-           Capture "agencyId" (Textual Int64) :>-             "advertiser" :>-               Capture "advertiserId" (Textual Int64) :>-                 "engine" :>-                   Capture "engineAccountId" (Textual Int64) :>-                     "conversion" :>-                       QueryParam "endDate" (Textual Int32) :>-                         QueryParam "rowCount" (Textual Int32) :>-                           QueryParam "startDate" (Textual Int32) :>-                             QueryParam "startRow" (Textual Word32) :>-                               QueryParam "adGroupId" (Textual Int64) :>-                                 QueryParam "campaignId" (Textual Int64) :>-                                   QueryParam "criterionId" (Textual Int64) :>-                                     QueryParam "adId" (Textual Int64) :>-                                       QueryParam "alt" AltJSON :>-                                         Get '[JSON] ConversionList---- | Retrieves a list of conversions from a DoubleClick Search engine--- account.------ /See:/ 'conversionGet' smart constructor.-data ConversionGet =-  ConversionGet'-    { _cgAdGroupId       :: !(Maybe (Textual Int64))-    , _cgEngineAccountId :: !(Textual Int64)-    , _cgAgencyId        :: !(Textual Int64)-    , _cgAdvertiserId    :: !(Textual Int64)-    , _cgEndDate         :: !(Textual Int32)-    , _cgCampaignId      :: !(Maybe (Textual Int64))-    , _cgCriterionId     :: !(Maybe (Textual Int64))-    , _cgStartDate       :: !(Textual Int32)-    , _cgStartRow        :: !(Textual Word32)-    , _cgAdId            :: !(Maybe (Textual Int64))-    , _cgRowCount        :: !(Textual Int32)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgAdGroupId'------ * 'cgEngineAccountId'------ * 'cgAgencyId'------ * 'cgAdvertiserId'------ * 'cgEndDate'------ * 'cgCampaignId'------ * 'cgCriterionId'------ * 'cgStartDate'------ * 'cgStartRow'------ * 'cgAdId'------ * 'cgRowCount'-conversionGet-    :: Int64 -- ^ 'cgEngineAccountId'-    -> Int64 -- ^ 'cgAgencyId'-    -> Int64 -- ^ 'cgAdvertiserId'-    -> Int32 -- ^ 'cgEndDate'-    -> Int32 -- ^ 'cgStartDate'-    -> Word32 -- ^ 'cgStartRow'-    -> Int32 -- ^ 'cgRowCount'-    -> ConversionGet-conversionGet pCgEngineAccountId_ pCgAgencyId_ pCgAdvertiserId_ pCgEndDate_ pCgStartDate_ pCgStartRow_ pCgRowCount_ =-  ConversionGet'-    { _cgAdGroupId = Nothing-    , _cgEngineAccountId = _Coerce # pCgEngineAccountId_-    , _cgAgencyId = _Coerce # pCgAgencyId_-    , _cgAdvertiserId = _Coerce # pCgAdvertiserId_-    , _cgEndDate = _Coerce # pCgEndDate_-    , _cgCampaignId = Nothing-    , _cgCriterionId = Nothing-    , _cgStartDate = _Coerce # pCgStartDate_-    , _cgStartRow = _Coerce # pCgStartRow_-    , _cgAdId = Nothing-    , _cgRowCount = _Coerce # pCgRowCount_-    }----- | Numeric ID of the ad group.-cgAdGroupId :: Lens' ConversionGet (Maybe Int64)-cgAdGroupId-  = lens _cgAdGroupId (\ s a -> s{_cgAdGroupId = a}) .-      mapping _Coerce---- | Numeric ID of the engine account.-cgEngineAccountId :: Lens' ConversionGet Int64-cgEngineAccountId-  = lens _cgEngineAccountId-      (\ s a -> s{_cgEngineAccountId = a})-      . _Coerce---- | Numeric ID of the agency.-cgAgencyId :: Lens' ConversionGet Int64-cgAgencyId-  = lens _cgAgencyId (\ s a -> s{_cgAgencyId = a}) .-      _Coerce---- | Numeric ID of the advertiser.-cgAdvertiserId :: Lens' ConversionGet Int64-cgAdvertiserId-  = lens _cgAdvertiserId-      (\ s a -> s{_cgAdvertiserId = a})-      . _Coerce---- | Last date (inclusive) on which to retrieve conversions. Format is--- yyyymmdd.-cgEndDate :: Lens' ConversionGet Int32-cgEndDate-  = lens _cgEndDate (\ s a -> s{_cgEndDate = a}) .-      _Coerce---- | Numeric ID of the campaign.-cgCampaignId :: Lens' ConversionGet (Maybe Int64)-cgCampaignId-  = lens _cgCampaignId (\ s a -> s{_cgCampaignId = a})-      . mapping _Coerce---- | Numeric ID of the criterion.-cgCriterionId :: Lens' ConversionGet (Maybe Int64)-cgCriterionId-  = lens _cgCriterionId-      (\ s a -> s{_cgCriterionId = a})-      . mapping _Coerce---- | First date (inclusive) on which to retrieve conversions. Format is--- yyyymmdd.-cgStartDate :: Lens' ConversionGet Int32-cgStartDate-  = lens _cgStartDate (\ s a -> s{_cgStartDate = a}) .-      _Coerce---- | The 0-based starting index for retrieving conversions results.-cgStartRow :: Lens' ConversionGet Word32-cgStartRow-  = lens _cgStartRow (\ s a -> s{_cgStartRow = a}) .-      _Coerce---- | Numeric ID of the ad.-cgAdId :: Lens' ConversionGet (Maybe Int64)-cgAdId-  = lens _cgAdId (\ s a -> s{_cgAdId = a}) .-      mapping _Coerce---- | The number of conversions to return per call.-cgRowCount :: Lens' ConversionGet Int32-cgRowCount-  = lens _cgRowCount (\ s a -> s{_cgRowCount = a}) .-      _Coerce--instance GoogleRequest ConversionGet where-        type Rs ConversionGet = ConversionList-        type Scopes ConversionGet =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ConversionGet'{..}-          = go _cgAgencyId _cgAdvertiserId _cgEngineAccountId-              (Just _cgEndDate)-              (Just _cgRowCount)-              (Just _cgStartDate)-              (Just _cgStartRow)-              _cgAdGroupId-              _cgCampaignId-              _cgCriterionId-              _cgAdId-              (Just AltJSON)-              doubleClickSearchService-          where go-                  = buildClient (Proxy :: Proxy ConversionGetResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Conversion/Insert.hs
@@ -1,88 +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.DoubleClickSearch.Conversion.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)------ Inserts a batch of new conversions into DoubleClick Search.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.insert@.-module Network.Google.Resource.DoubleClickSearch.Conversion.Insert-    (-    -- * REST Resource-      ConversionInsertResource--    -- * Creating a Request-    , conversionInsert-    , ConversionInsert--    -- * Request Lenses-    , ciPayload-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.conversion.insert@ method which the--- 'ConversionInsert' request conforms to.-type ConversionInsertResource =-     "doubleclicksearch" :>-       "v2" :>-         "conversion" :>-           QueryParam "alt" AltJSON :>-             ReqBody '[JSON] ConversionList :>-               Post '[JSON] ConversionList---- | Inserts a batch of new conversions into DoubleClick Search.------ /See:/ 'conversionInsert' smart constructor.-newtype ConversionInsert =-  ConversionInsert'-    { _ciPayload :: ConversionList-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionInsert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ciPayload'-conversionInsert-    :: ConversionList -- ^ 'ciPayload'-    -> ConversionInsert-conversionInsert pCiPayload_ = ConversionInsert' {_ciPayload = pCiPayload_}----- | Multipart request metadata.-ciPayload :: Lens' ConversionInsert ConversionList-ciPayload-  = lens _ciPayload (\ s a -> s{_ciPayload = a})--instance GoogleRequest ConversionInsert where-        type Rs ConversionInsert = ConversionList-        type Scopes ConversionInsert =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ConversionInsert'{..}-          = go (Just AltJSON) _ciPayload-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy ConversionInsertResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Conversion/Patch.hs
@@ -1,195 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.DoubleClickSearch.Conversion.Patch--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates a batch of conversions in DoubleClick Search. This method--- supports patch semantics.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.patch@.-module Network.Google.Resource.DoubleClickSearch.Conversion.Patch-    (-    -- * REST Resource-      ConversionPatchResource--    -- * Creating a Request-    , conversionPatch-    , ConversionPatch--    -- * Request Lenses-    , cpEngineAccountId-    , cpAgencyId-    , cpAdvertiserId-    , cpEndDate-    , cpPayload-    , cpStartDate-    , cpStartRow-    , cpRowCount-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.conversion.patch@ method which the--- 'ConversionPatch' request conforms to.-type ConversionPatchResource =-     "doubleclicksearch" :>-       "v2" :>-         "conversion" :>-           QueryParam "advertiserId" (Textual Int64) :>-             QueryParam "agencyId" (Textual Int64) :>-               QueryParam "endDate" (Textual Int32) :>-                 QueryParam "engineAccountId" (Textual Int64) :>-                   QueryParam "rowCount" (Textual Int32) :>-                     QueryParam "startDate" (Textual Int32) :>-                       QueryParam "startRow" (Textual Word32) :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] ConversionList :>-                             Patch '[JSON] ConversionList---- | Updates a batch of conversions in DoubleClick Search. This method--- supports patch semantics.------ /See:/ 'conversionPatch' smart constructor.-data ConversionPatch =-  ConversionPatch'-    { _cpEngineAccountId :: !(Textual Int64)-    , _cpAgencyId        :: !(Textual Int64)-    , _cpAdvertiserId    :: !(Textual Int64)-    , _cpEndDate         :: !(Textual Int32)-    , _cpPayload         :: !ConversionList-    , _cpStartDate       :: !(Textual Int32)-    , _cpStartRow        :: !(Textual Word32)-    , _cpRowCount        :: !(Textual Int32)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpEngineAccountId'------ * 'cpAgencyId'------ * 'cpAdvertiserId'------ * 'cpEndDate'------ * 'cpPayload'------ * 'cpStartDate'------ * 'cpStartRow'------ * 'cpRowCount'-conversionPatch-    :: Int64 -- ^ 'cpEngineAccountId'-    -> Int64 -- ^ 'cpAgencyId'-    -> Int64 -- ^ 'cpAdvertiserId'-    -> Int32 -- ^ 'cpEndDate'-    -> ConversionList -- ^ 'cpPayload'-    -> Int32 -- ^ 'cpStartDate'-    -> Word32 -- ^ 'cpStartRow'-    -> Int32 -- ^ 'cpRowCount'-    -> ConversionPatch-conversionPatch pCpEngineAccountId_ pCpAgencyId_ pCpAdvertiserId_ pCpEndDate_ pCpPayload_ pCpStartDate_ pCpStartRow_ pCpRowCount_ =-  ConversionPatch'-    { _cpEngineAccountId = _Coerce # pCpEngineAccountId_-    , _cpAgencyId = _Coerce # pCpAgencyId_-    , _cpAdvertiserId = _Coerce # pCpAdvertiserId_-    , _cpEndDate = _Coerce # pCpEndDate_-    , _cpPayload = pCpPayload_-    , _cpStartDate = _Coerce # pCpStartDate_-    , _cpStartRow = _Coerce # pCpStartRow_-    , _cpRowCount = _Coerce # pCpRowCount_-    }----- | Numeric ID of the engine account.-cpEngineAccountId :: Lens' ConversionPatch Int64-cpEngineAccountId-  = lens _cpEngineAccountId-      (\ s a -> s{_cpEngineAccountId = a})-      . _Coerce---- | Numeric ID of the agency.-cpAgencyId :: Lens' ConversionPatch Int64-cpAgencyId-  = lens _cpAgencyId (\ s a -> s{_cpAgencyId = a}) .-      _Coerce---- | Numeric ID of the advertiser.-cpAdvertiserId :: Lens' ConversionPatch Int64-cpAdvertiserId-  = lens _cpAdvertiserId-      (\ s a -> s{_cpAdvertiserId = a})-      . _Coerce---- | Last date (inclusive) on which to retrieve conversions. Format is--- yyyymmdd.-cpEndDate :: Lens' ConversionPatch Int32-cpEndDate-  = lens _cpEndDate (\ s a -> s{_cpEndDate = a}) .-      _Coerce---- | Multipart request metadata.-cpPayload :: Lens' ConversionPatch ConversionList-cpPayload-  = lens _cpPayload (\ s a -> s{_cpPayload = a})---- | First date (inclusive) on which to retrieve conversions. Format is--- yyyymmdd.-cpStartDate :: Lens' ConversionPatch Int32-cpStartDate-  = lens _cpStartDate (\ s a -> s{_cpStartDate = a}) .-      _Coerce---- | The 0-based starting index for retrieving conversions results.-cpStartRow :: Lens' ConversionPatch Word32-cpStartRow-  = lens _cpStartRow (\ s a -> s{_cpStartRow = a}) .-      _Coerce---- | The number of conversions to return per call.-cpRowCount :: Lens' ConversionPatch Int32-cpRowCount-  = lens _cpRowCount (\ s a -> s{_cpRowCount = a}) .-      _Coerce--instance GoogleRequest ConversionPatch where-        type Rs ConversionPatch = ConversionList-        type Scopes ConversionPatch =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ConversionPatch'{..}-          = go (Just _cpAdvertiserId) (Just _cpAgencyId)-              (Just _cpEndDate)-              (Just _cpEngineAccountId)-              (Just _cpRowCount)-              (Just _cpStartDate)-              (Just _cpStartRow)-              (Just AltJSON)-              _cpPayload-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy ConversionPatchResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Conversion/Update.hs
@@ -1,88 +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.DoubleClickSearch.Conversion.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 a batch of conversions in DoubleClick Search.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.update@.-module Network.Google.Resource.DoubleClickSearch.Conversion.Update-    (-    -- * REST Resource-      ConversionUpdateResource--    -- * Creating a Request-    , conversionUpdate-    , ConversionUpdate--    -- * Request Lenses-    , cuPayload-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.conversion.update@ method which the--- 'ConversionUpdate' request conforms to.-type ConversionUpdateResource =-     "doubleclicksearch" :>-       "v2" :>-         "conversion" :>-           QueryParam "alt" AltJSON :>-             ReqBody '[JSON] ConversionList :>-               Put '[JSON] ConversionList---- | Updates a batch of conversions in DoubleClick Search.------ /See:/ 'conversionUpdate' smart constructor.-newtype ConversionUpdate =-  ConversionUpdate'-    { _cuPayload :: ConversionList-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cuPayload'-conversionUpdate-    :: ConversionList -- ^ 'cuPayload'-    -> ConversionUpdate-conversionUpdate pCuPayload_ = ConversionUpdate' {_cuPayload = pCuPayload_}----- | Multipart request metadata.-cuPayload :: Lens' ConversionUpdate ConversionList-cuPayload-  = lens _cuPayload (\ s a -> s{_cuPayload = a})--instance GoogleRequest ConversionUpdate where-        type Rs ConversionUpdate = ConversionList-        type Scopes ConversionUpdate =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ConversionUpdate'{..}-          = go (Just AltJSON) _cuPayload-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy ConversionUpdateResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Conversion/UpdateAvailability.hs
@@ -1,94 +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.DoubleClickSearch.Conversion.UpdateAvailability--- 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 availabilities of a batch of floodlight activities in--- DoubleClick Search.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.conversion.updateAvailability@.-module Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability-    (-    -- * REST Resource-      ConversionUpdateAvailabilityResource--    -- * Creating a Request-    , conversionUpdateAvailability-    , ConversionUpdateAvailability--    -- * Request Lenses-    , cuaPayload-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.conversion.updateAvailability@ method which the--- 'ConversionUpdateAvailability' request conforms to.-type ConversionUpdateAvailabilityResource =-     "doubleclicksearch" :>-       "v2" :>-         "conversion" :>-           "updateAvailability" :>-             QueryParam "alt" AltJSON :>-               ReqBody '[JSON] UpdateAvailabilityRequest :>-                 Post '[JSON] UpdateAvailabilityResponse---- | Updates the availabilities of a batch of floodlight activities in--- DoubleClick Search.------ /See:/ 'conversionUpdateAvailability' smart constructor.-newtype ConversionUpdateAvailability =-  ConversionUpdateAvailability'-    { _cuaPayload :: UpdateAvailabilityRequest-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ConversionUpdateAvailability' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cuaPayload'-conversionUpdateAvailability-    :: UpdateAvailabilityRequest -- ^ 'cuaPayload'-    -> ConversionUpdateAvailability-conversionUpdateAvailability pCuaPayload_ =-  ConversionUpdateAvailability' {_cuaPayload = pCuaPayload_}----- | Multipart request metadata.-cuaPayload :: Lens' ConversionUpdateAvailability UpdateAvailabilityRequest-cuaPayload-  = lens _cuaPayload (\ s a -> s{_cuaPayload = a})--instance GoogleRequest ConversionUpdateAvailability-         where-        type Rs ConversionUpdateAvailability =-             UpdateAvailabilityResponse-        type Scopes ConversionUpdateAvailability =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ConversionUpdateAvailability'{..}-          = go (Just AltJSON) _cuaPayload-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy ConversionUpdateAvailabilityResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Reports/Generate.hs
@@ -1,88 +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.DoubleClickSearch.Reports.Generate--- 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)------ Generates and returns a report immediately.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.generate@.-module Network.Google.Resource.DoubleClickSearch.Reports.Generate-    (-    -- * REST Resource-      ReportsGenerateResource--    -- * Creating a Request-    , reportsGenerate-    , ReportsGenerate--    -- * Request Lenses-    , rgPayload-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.reports.generate@ method which the--- 'ReportsGenerate' request conforms to.-type ReportsGenerateResource =-     "doubleclicksearch" :>-       "v2" :>-         "reports" :>-           "generate" :>-             QueryParam "alt" AltJSON :>-               ReqBody '[JSON] ReportRequest :> Post '[JSON] Report---- | Generates and returns a report immediately.------ /See:/ 'reportsGenerate' smart constructor.-newtype ReportsGenerate =-  ReportsGenerate'-    { _rgPayload :: ReportRequest-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportsGenerate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgPayload'-reportsGenerate-    :: ReportRequest -- ^ 'rgPayload'-    -> ReportsGenerate-reportsGenerate pRgPayload_ = ReportsGenerate' {_rgPayload = pRgPayload_}----- | Multipart request metadata.-rgPayload :: Lens' ReportsGenerate ReportRequest-rgPayload-  = lens _rgPayload (\ s a -> s{_rgPayload = a})--instance GoogleRequest ReportsGenerate where-        type Rs ReportsGenerate = Report-        type Scopes ReportsGenerate =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ReportsGenerate'{..}-          = go (Just AltJSON) _rgPayload-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy ReportsGenerateResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Reports/Get.hs
@@ -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.DoubleClickSearch.Reports.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)------ Polls for the status of a report request.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.get@.-module Network.Google.Resource.DoubleClickSearch.Reports.Get-    (-    -- * REST Resource-      ReportsGetResource--    -- * Creating a Request-    , reportsGet-    , ReportsGet--    -- * Request Lenses-    , rgReportId-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.reports.get@ method which the--- 'ReportsGet' request conforms to.-type ReportsGetResource =-     "doubleclicksearch" :>-       "v2" :>-         "reports" :>-           Capture "reportId" Text :>-             QueryParam "alt" AltJSON :> Get '[JSON] Report---- | Polls for the status of a report request.------ /See:/ 'reportsGet' smart constructor.-newtype ReportsGet =-  ReportsGet'-    { _rgReportId :: Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgReportId'-reportsGet-    :: Text -- ^ 'rgReportId'-    -> ReportsGet-reportsGet pRgReportId_ = ReportsGet' {_rgReportId = pRgReportId_}----- | ID of the report request being polled.-rgReportId :: Lens' ReportsGet Text-rgReportId-  = lens _rgReportId (\ s a -> s{_rgReportId = a})--instance GoogleRequest ReportsGet where-        type Rs ReportsGet = Report-        type Scopes ReportsGet =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ReportsGet'{..}-          = go _rgReportId (Just AltJSON)-              doubleClickSearchService-          where go-                  = buildClient (Proxy :: Proxy ReportsGetResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Reports/GetFile.hs
@@ -1,125 +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.DoubleClickSearch.Reports.GetFile--- 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)------ Downloads a report file encoded in UTF-8.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.getFile@.-module Network.Google.Resource.DoubleClickSearch.Reports.GetFile-    (-    -- * REST Resource-      ReportsGetFileResource--    -- * Creating a Request-    , reportsGetFile-    , ReportsGetFile--    -- * Request Lenses-    , rgfReportId-    , rgfReportFragment-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.reports.getFile@ method which the--- 'ReportsGetFile' request conforms to.-type ReportsGetFileResource =-     "doubleclicksearch" :>-       "v2" :>-         "reports" :>-           Capture "reportId" Text :>-             "files" :>-               Capture "reportFragment" (Textual Int32) :>-                 QueryParam "alt" AltJSON :> Get '[JSON] ()-       :<|>-       "doubleclicksearch" :>-         "v2" :>-           "reports" :>-             Capture "reportId" Text :>-               "files" :>-                 Capture "reportFragment" (Textual Int32) :>-                   QueryParam "alt" AltMedia :>-                     Get '[OctetStream] Stream---- | Downloads a report file encoded in UTF-8.------ /See:/ 'reportsGetFile' smart constructor.-data ReportsGetFile =-  ReportsGetFile'-    { _rgfReportId       :: !Text-    , _rgfReportFragment :: !(Textual Int32)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportsGetFile' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgfReportId'------ * 'rgfReportFragment'-reportsGetFile-    :: Text -- ^ 'rgfReportId'-    -> Int32 -- ^ 'rgfReportFragment'-    -> ReportsGetFile-reportsGetFile pRgfReportId_ pRgfReportFragment_ =-  ReportsGetFile'-    { _rgfReportId = pRgfReportId_-    , _rgfReportFragment = _Coerce # pRgfReportFragment_-    }----- | ID of the report.-rgfReportId :: Lens' ReportsGetFile Text-rgfReportId-  = lens _rgfReportId (\ s a -> s{_rgfReportId = a})---- | The index of the report fragment to download.-rgfReportFragment :: Lens' ReportsGetFile Int32-rgfReportFragment-  = lens _rgfReportFragment-      (\ s a -> s{_rgfReportFragment = a})-      . _Coerce--instance GoogleRequest ReportsGetFile where-        type Rs ReportsGetFile = ()-        type Scopes ReportsGetFile =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ReportsGetFile'{..}-          = go _rgfReportId _rgfReportFragment (Just AltJSON)-              doubleClickSearchService-          where go :<|> _-                  = buildClient (Proxy :: Proxy ReportsGetFileResource)-                      mempty--instance GoogleRequest (MediaDownload ReportsGetFile)-         where-        type Rs (MediaDownload ReportsGetFile) = Stream-        type Scopes (MediaDownload ReportsGetFile) =-             Scopes ReportsGetFile-        requestClient (MediaDownload ReportsGetFile'{..})-          = go _rgfReportId _rgfReportFragment (Just AltMedia)-              doubleClickSearchService-          where _ :<|> go-                  = buildClient (Proxy :: Proxy ReportsGetFileResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/Reports/Request.hs
@@ -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.DoubleClickSearch.Reports.Request--- 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)------ Inserts a report request into the reporting system.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.reports.request@.-module Network.Google.Resource.DoubleClickSearch.Reports.Request-    (-    -- * REST Resource-      ReportsRequestResource--    -- * Creating a Request-    , reportsRequest-    , ReportsRequest--    -- * Request Lenses-    , rrPayload-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.reports.request@ method which the--- 'ReportsRequest' request conforms to.-type ReportsRequestResource =-     "doubleclicksearch" :>-       "v2" :>-         "reports" :>-           QueryParam "alt" AltJSON :>-             ReqBody '[JSON] ReportRequest :> Post '[JSON] Report---- | Inserts a report request into the reporting system.------ /See:/ 'reportsRequest' smart constructor.-newtype ReportsRequest =-  ReportsRequest'-    { _rrPayload :: ReportRequest-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrPayload'-reportsRequest-    :: ReportRequest -- ^ 'rrPayload'-    -> ReportsRequest-reportsRequest pRrPayload_ = ReportsRequest' {_rrPayload = pRrPayload_}----- | Multipart request metadata.-rrPayload :: Lens' ReportsRequest ReportRequest-rrPayload-  = lens _rrPayload (\ s a -> s{_rrPayload = a})--instance GoogleRequest ReportsRequest where-        type Rs ReportsRequest = Report-        type Scopes ReportsRequest =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient ReportsRequest'{..}-          = go (Just AltJSON) _rrPayload-              doubleClickSearchService-          where go-                  = buildClient (Proxy :: Proxy ReportsRequestResource)-                      mempty
− gen/Network/Google/Resource/DoubleClickSearch/SavedColumns/List.hs
@@ -1,108 +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.DoubleClickSearch.SavedColumns.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)------ Retrieve the list of saved columns for a specified advertiser.------ /See:/ <https://developers.google.com/doubleclick-search/ DoubleClick Search API Reference> for @doubleclicksearch.savedColumns.list@.-module Network.Google.Resource.DoubleClickSearch.SavedColumns.List-    (-    -- * REST Resource-      SavedColumnsListResource--    -- * Creating a Request-    , savedColumnsList-    , SavedColumnsList--    -- * Request Lenses-    , sclAgencyId-    , sclAdvertiserId-    ) where--import           Network.Google.DoubleClickSearch.Types-import           Network.Google.Prelude---- | A resource alias for @doubleclicksearch.savedColumns.list@ method which the--- 'SavedColumnsList' request conforms to.-type SavedColumnsListResource =-     "doubleclicksearch" :>-       "v2" :>-         "agency" :>-           Capture "agencyId" (Textual Int64) :>-             "advertiser" :>-               Capture "advertiserId" (Textual Int64) :>-                 "savedcolumns" :>-                   QueryParam "alt" AltJSON :>-                     Get '[JSON] SavedColumnList---- | Retrieve the list of saved columns for a specified advertiser.------ /See:/ 'savedColumnsList' smart constructor.-data SavedColumnsList =-  SavedColumnsList'-    { _sclAgencyId     :: !(Textual Int64)-    , _sclAdvertiserId :: !(Textual Int64)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SavedColumnsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sclAgencyId'------ * 'sclAdvertiserId'-savedColumnsList-    :: Int64 -- ^ 'sclAgencyId'-    -> Int64 -- ^ 'sclAdvertiserId'-    -> SavedColumnsList-savedColumnsList pSclAgencyId_ pSclAdvertiserId_ =-  SavedColumnsList'-    { _sclAgencyId = _Coerce # pSclAgencyId_-    , _sclAdvertiserId = _Coerce # pSclAdvertiserId_-    }----- | DS ID of the agency.-sclAgencyId :: Lens' SavedColumnsList Int64-sclAgencyId-  = lens _sclAgencyId (\ s a -> s{_sclAgencyId = a}) .-      _Coerce---- | DS ID of the advertiser.-sclAdvertiserId :: Lens' SavedColumnsList Int64-sclAdvertiserId-  = lens _sclAdvertiserId-      (\ s a -> s{_sclAdvertiserId = a})-      . _Coerce--instance GoogleRequest SavedColumnsList where-        type Rs SavedColumnsList = SavedColumnList-        type Scopes SavedColumnsList =-             '["https://www.googleapis.com/auth/doubleclicksearch"]-        requestClient SavedColumnsList'{..}-          = go _sclAgencyId _sclAdvertiserId (Just AltJSON)-              doubleClickSearchService-          where go-                  = buildClient-                      (Proxy :: Proxy SavedColumnsListResource)-                      mempty
gogol-doubleclick-search.cabal view
@@ -1,56 +1,71 @@-name:                  gogol-doubleclick-search-version:               0.5.0-synopsis:              Google DoubleClick Search 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-doubleclick-search+version:            1.0.0+synopsis:           Google Search Ads 360 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:-    Reports and modifies your advertising data in DoubleClick Search (for-    example, campaigns, ad groups, keywords, and conversions).-    .-    /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.+  The Search Ads 360 API allows developers to automate uploading conversions and downloading reports from Search Ads 360.+  .+  /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-doubleclick-search +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.DoubleClickSearch-        , Network.Google.DoubleClickSearch.Types-        , Network.Google.Resource.DoubleClickSearch.Conversion.Get-        , Network.Google.Resource.DoubleClickSearch.Conversion.Insert-        , Network.Google.Resource.DoubleClickSearch.Conversion.Patch-        , Network.Google.Resource.DoubleClickSearch.Conversion.Update-        , Network.Google.Resource.DoubleClickSearch.Conversion.UpdateAvailability-        , Network.Google.Resource.DoubleClickSearch.Reports.Generate-        , Network.Google.Resource.DoubleClickSearch.Reports.Get-        , Network.Google.Resource.DoubleClickSearch.Reports.GetFile-        , Network.Google.Resource.DoubleClickSearch.Reports.Request-        , Network.Google.Resource.DoubleClickSearch.SavedColumns.List+  exposed-modules:+    Gogol.DoubleClickSearch+    Gogol.DoubleClickSearch.Conversion.Get+    Gogol.DoubleClickSearch.Conversion.GetByCustomerId+    Gogol.DoubleClickSearch.Conversion.Insert+    Gogol.DoubleClickSearch.Conversion.Update+    Gogol.DoubleClickSearch.Conversion.UpdateAvailability+    Gogol.DoubleClickSearch.Reports.Generate+    Gogol.DoubleClickSearch.Reports.Get+    Gogol.DoubleClickSearch.Reports.GetFile+    Gogol.DoubleClickSearch.Reports.GetIdMappingFile+    Gogol.DoubleClickSearch.Reports.Request+    Gogol.DoubleClickSearch.SavedColumns.List+    Gogol.DoubleClickSearch.Types -    other-modules:-          Network.Google.DoubleClickSearch.Types.Product-        , Network.Google.DoubleClickSearch.Types.Sum+  other-modules:+    Gogol.DoubleClickSearch.Internal.Product+    Gogol.DoubleClickSearch.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0