packages feed

gogol-doubleclick-search (empty) → 0.0.1

raw patch · 18 files changed

+3918/−0 lines, 18 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-doubleclick-search++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google DoubleClick Search.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-doubleclick-search` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ gen/Network/Google/DoubleClickSearch.hs view
@@ -0,0 +1,266 @@+{-# 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 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)+--+-- Report and modify 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++    -- * 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 view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DoubleClickSearch.Types+-- Copyright   : (c) 2015 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 :: Service+doubleClickSearchService+  = defaultService (ServiceId "doubleclicksearch:v2")+      "www.googleapis.com"++-- | View and manage your advertising data in DoubleClick Search+doubleclicksearchScope :: OAuthScope+doubleclicksearchScope = "https://www.googleapis.com/auth/doubleclicksearch";
+ gen/Network/Google/DoubleClickSearch/Types/Product.hs view
@@ -0,0 +1,1818 @@+{-# 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 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.+rrOrderBy :: Lens' ReportRequest [ReportRequestOrderByItem]+rrOrderBy+  = lens _rrOrderBy (\ s a -> s{_rrOrderBy = a}) .+      _Default+      . _Coerce++-- | A list of filters to be applied to the report.+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.+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 maxinum 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.+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})++-- | Provide different source for product items. Acceptable values are+-- \"advertised\" and \"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, this is an ID provided by advertisers.+-- Advertisers can use this property to specify an ID that is meaningful to+-- them. If an advertiser doesn\'t specify a conversionId, DoubleClick+-- Search generates one. 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++-- | This field is ignored.+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++-- | This field is ignored.+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.+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 view
@@ -0,0 +1,19 @@+{-# 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 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
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Get.hs view
@@ -0,0 +1,230 @@+{-# 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 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+        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 view
@@ -0,0 +1,85 @@+{-# 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 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+        requestClient ConversionInsert{..}+          = go (Just AltJSON) _ciPayload+              doubleClickSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy ConversionInsertResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/Patch.hs view
@@ -0,0 +1,189 @@+{-# 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 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+        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 view
@@ -0,0 +1,85 @@+{-# 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 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+        requestClient ConversionUpdate{..}+          = go (Just AltJSON) _cuPayload+              doubleClickSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy ConversionUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Conversion/UpdateAvailability.hs view
@@ -0,0 +1,90 @@+{-# 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 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+        requestClient ConversionUpdateAvailability{..}+          = go (Just AltJSON) _cuaPayload+              doubleClickSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy ConversionUpdateAvailabilityResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Generate.hs view
@@ -0,0 +1,85 @@+{-# 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 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+        requestClient ReportsGenerate{..}+          = go (Just AltJSON) _rgPayload+              doubleClickSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy ReportsGenerateResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Get.hs view
@@ -0,0 +1,83 @@+{-# 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 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+        requestClient ReportsGet{..}+          = go _rgReportId (Just AltJSON)+              doubleClickSearchService+          where go+                  = buildClient (Proxy :: Proxy ReportsGetResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/GetFile.hs view
@@ -0,0 +1,117 @@+{-# 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 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 = ()+        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+        requestClient (MediaDownload ReportsGetFile{..})+          = go _rgfReportId _rgfReportFragment (Just AltMedia)+              doubleClickSearchService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy ReportsGetFileResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/Reports/Request.hs view
@@ -0,0 +1,83 @@+{-# 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 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+        requestClient ReportsRequest{..}+          = go (Just AltJSON) _rrPayload+              doubleClickSearchService+          where go+                  = buildClient (Proxy :: Proxy ReportsRequestResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickSearch/SavedColumns/List.hs view
@@ -0,0 +1,102 @@+{-# 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 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+        requestClient SavedColumnsList{..}+          = go _sclAgencyId _sclAdvertiserId (Just AltJSON)+              doubleClickSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SavedColumnsListResource)+                      mempty
+ gogol-doubleclick-search.cabal view
@@ -0,0 +1,56 @@+name:                  gogol-doubleclick-search+version:               0.0.1+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 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    Report and modify 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.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    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++    other-modules:+          Network.Google.DoubleClickSearch.Types.Product+        , Network.Google.DoubleClickSearch.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5