packages feed

gogol-doubleclick-bids (empty) → 0.0.1

raw patch · 16 files changed

+5410/−0 lines, 16 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-bids++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google DoubleClick Bid Manager.+++## 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-bids` 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/DoubleClickBids.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.DoubleClickBids+-- 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)+--+-- API for viewing and managing your reports in DoubleClick Bid Manager.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference>+module Network.Google.DoubleClickBids+    (+    -- * Service Configuration+      doubleClickBidsService++    -- * API Declaration+    , DoubleClickBidsAPI++    -- * Resources++    -- ** doubleclickbidmanager.lineitems.downloadlineitems+    , module Network.Google.Resource.DoubleClickBidManager.Lineitems.Downloadlineitems++    -- ** doubleclickbidmanager.lineitems.uploadlineitems+    , module Network.Google.Resource.DoubleClickBidManager.Lineitems.Uploadlineitems++    -- ** doubleclickbidmanager.queries.createquery+    , module Network.Google.Resource.DoubleClickBidManager.Queries.CreateQuery++    -- ** doubleclickbidmanager.queries.deletequery+    , module Network.Google.Resource.DoubleClickBidManager.Queries.DeleteQuery++    -- ** doubleclickbidmanager.queries.getquery+    , module Network.Google.Resource.DoubleClickBidManager.Queries.GetQuery++    -- ** doubleclickbidmanager.queries.listqueries+    , module Network.Google.Resource.DoubleClickBidManager.Queries.Listqueries++    -- ** doubleclickbidmanager.queries.runquery+    , module Network.Google.Resource.DoubleClickBidManager.Queries.RunQuery++    -- ** doubleclickbidmanager.reports.listreports+    , module Network.Google.Resource.DoubleClickBidManager.Reports.Listreports++    -- * Types++    -- ** ListReportsResponse+    , ListReportsResponse+    , listReportsResponse+    , lrrReports+    , lrrKind++    -- ** QueryMetadataFormat+    , QueryMetadataFormat (..)++    -- ** QueryMetadata+    , QueryMetadata+    , queryMetadata+    , qmGoogleCloudStoragePathForLatestReport+    , qmLocale+    , qmFormat+    , qmGoogleDrivePathForLatestReport+    , qmShareEmailAddress+    , qmRunning+    , qmDataRange+    , qmLatestReportRunTimeMs+    , qmReportCount+    , qmTitle+    , qmSendNotification++    -- ** RunQueryRequest+    , RunQueryRequest+    , runQueryRequest+    , rqrReportDataEndTimeMs+    , rqrDataRange+    , rqrReportDataStartTimeMs+    , rqrTimezoneCode++    -- ** FilterPair+    , FilterPair+    , filterPair+    , fpValue+    , fpType++    -- ** UploadLineItemsRequest+    , UploadLineItemsRequest+    , uploadLineItemsRequest+    , ulirLineItems+    , ulirFormat+    , ulirDryRun++    -- ** ParametersType+    , ParametersType (..)++    -- ** DownloadLineItemsRequestFilterType+    , DownloadLineItemsRequestFilterType (..)++    -- ** DownloadLineItemsRequest+    , DownloadLineItemsRequest+    , downloadLineItemsRequest+    , dlirFilterType+    , dlirFormat+    , dlirFileSpec+    , dlirFilterIds++    -- ** ListQueriesResponse+    , ListQueriesResponse+    , listQueriesResponse+    , lqrQueries+    , lqrKind++    -- ** UploadLineItemsResponse+    , UploadLineItemsResponse+    , uploadLineItemsResponse+    , ulirUploadStatus++    -- ** QueryMetadataDataRange+    , QueryMetadataDataRange (..)++    -- ** ParametersMetricsItem+    , ParametersMetricsItem (..)++    -- ** QueryScheduleFrequency+    , QueryScheduleFrequency (..)++    -- ** ReportMetadata+    , ReportMetadata+    , reportMetadata+    , rmStatus+    , rmReportDataEndTimeMs+    , rmGoogleCloudStoragePath+    , rmReportDataStartTimeMs++    -- ** Report+    , Report+    , report+    , rParams+    , rKey+    , rMetadata++    -- ** RowStatus+    , RowStatus+    , rowStatus+    , rsEntityName+    , rsChanged+    , rsPersisted+    , rsRowNumber+    , rsErrors+    , rsEntityId++    -- ** DownloadLineItemsRequestFileSpec+    , DownloadLineItemsRequestFileSpec (..)++    -- ** ReportKey+    , ReportKey+    , reportKey+    , rkQueryId+    , rkReportId++    -- ** UploadLineItemsRequestFormat+    , UploadLineItemsRequestFormat (..)++    -- ** UploadStatus+    , UploadStatus+    , uploadStatus+    , usRowStatus+    , usErrors++    -- ** QuerySchedule+    , QuerySchedule+    , querySchedule+    , qsFrequency+    , qsEndTimeMs+    , qsNextRunMinuteOfDay+    , qsNextRunTimezoneCode++    -- ** DownloadLineItemsResponse+    , DownloadLineItemsResponse+    , downloadLineItemsResponse+    , dlirLineItems++    -- ** ReportStatus+    , ReportStatus+    , reportStatus+    , rsState+    , rsFinishTimeMs+    , rsFormat+    , rsFailure++    -- ** Query+    , Query+    , query+    , qQueryId+    , qReportDataEndTimeMs+    , qSchedule+    , qKind+    , qParams+    , qMetadata+    , qReportDataStartTimeMs+    , qTimezoneCode++    -- ** Parameters+    , Parameters+    , parameters+    , pMetrics+    , pIncludeInviteData+    , pFilters+    , pGroupBys+    , pType++    -- ** FilterPairType+    , FilterPairType (..)++    -- ** RunQueryRequestDataRange+    , RunQueryRequestDataRange (..)++    -- ** ReportStatusState+    , ReportStatusState (..)++    -- ** ParametersGroupBysItem+    , ParametersGroupBysItem (..)++    -- ** ReportFailureErrorCode+    , ReportFailureErrorCode (..)++    -- ** DownloadLineItemsRequestFormat+    , DownloadLineItemsRequestFormat (..)++    -- ** ReportFailure+    , ReportFailure+    , reportFailure+    , rfErrorCode++    -- ** ReportStatusFormat+    , ReportStatusFormat (..)+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude+import           Network.Google.Resource.DoubleClickBidManager.Lineitems.Downloadlineitems+import           Network.Google.Resource.DoubleClickBidManager.Lineitems.Uploadlineitems+import           Network.Google.Resource.DoubleClickBidManager.Queries.CreateQuery+import           Network.Google.Resource.DoubleClickBidManager.Queries.DeleteQuery+import           Network.Google.Resource.DoubleClickBidManager.Queries.GetQuery+import           Network.Google.Resource.DoubleClickBidManager.Queries.Listqueries+import           Network.Google.Resource.DoubleClickBidManager.Queries.RunQuery+import           Network.Google.Resource.DoubleClickBidManager.Reports.Listreports++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the DoubleClick Bid Manager API service.+type DoubleClickBidsAPI =+     QueriesGetQueryResource :<|> QueriesRunQueryResource+       :<|> QueriesDeleteQueryResource+       :<|> QueriesCreateQueryResource+       :<|> QueriesListqueriesResource+       :<|> ReportsListreportsResource+       :<|> LineitemsUploadlineitemsResource+       :<|> LineitemsDownloadlineitemsResource
+ gen/Network/Google/DoubleClickBids/Types.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DoubleClickBids.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.DoubleClickBids.Types+    (+    -- * Service Configuration+      doubleClickBidsService++    -- * ListReportsResponse+    , ListReportsResponse+    , listReportsResponse+    , lrrReports+    , lrrKind++    -- * QueryMetadataFormat+    , QueryMetadataFormat (..)++    -- * QueryMetadata+    , QueryMetadata+    , queryMetadata+    , qmGoogleCloudStoragePathForLatestReport+    , qmLocale+    , qmFormat+    , qmGoogleDrivePathForLatestReport+    , qmShareEmailAddress+    , qmRunning+    , qmDataRange+    , qmLatestReportRunTimeMs+    , qmReportCount+    , qmTitle+    , qmSendNotification++    -- * RunQueryRequest+    , RunQueryRequest+    , runQueryRequest+    , rqrReportDataEndTimeMs+    , rqrDataRange+    , rqrReportDataStartTimeMs+    , rqrTimezoneCode++    -- * FilterPair+    , FilterPair+    , filterPair+    , fpValue+    , fpType++    -- * UploadLineItemsRequest+    , UploadLineItemsRequest+    , uploadLineItemsRequest+    , ulirLineItems+    , ulirFormat+    , ulirDryRun++    -- * ParametersType+    , ParametersType (..)++    -- * DownloadLineItemsRequestFilterType+    , DownloadLineItemsRequestFilterType (..)++    -- * DownloadLineItemsRequest+    , DownloadLineItemsRequest+    , downloadLineItemsRequest+    , dlirFilterType+    , dlirFormat+    , dlirFileSpec+    , dlirFilterIds++    -- * ListQueriesResponse+    , ListQueriesResponse+    , listQueriesResponse+    , lqrQueries+    , lqrKind++    -- * UploadLineItemsResponse+    , UploadLineItemsResponse+    , uploadLineItemsResponse+    , ulirUploadStatus++    -- * QueryMetadataDataRange+    , QueryMetadataDataRange (..)++    -- * ParametersMetricsItem+    , ParametersMetricsItem (..)++    -- * QueryScheduleFrequency+    , QueryScheduleFrequency (..)++    -- * ReportMetadata+    , ReportMetadata+    , reportMetadata+    , rmStatus+    , rmReportDataEndTimeMs+    , rmGoogleCloudStoragePath+    , rmReportDataStartTimeMs++    -- * Report+    , Report+    , report+    , rParams+    , rKey+    , rMetadata++    -- * RowStatus+    , RowStatus+    , rowStatus+    , rsEntityName+    , rsChanged+    , rsPersisted+    , rsRowNumber+    , rsErrors+    , rsEntityId++    -- * DownloadLineItemsRequestFileSpec+    , DownloadLineItemsRequestFileSpec (..)++    -- * ReportKey+    , ReportKey+    , reportKey+    , rkQueryId+    , rkReportId++    -- * UploadLineItemsRequestFormat+    , UploadLineItemsRequestFormat (..)++    -- * UploadStatus+    , UploadStatus+    , uploadStatus+    , usRowStatus+    , usErrors++    -- * QuerySchedule+    , QuerySchedule+    , querySchedule+    , qsFrequency+    , qsEndTimeMs+    , qsNextRunMinuteOfDay+    , qsNextRunTimezoneCode++    -- * DownloadLineItemsResponse+    , DownloadLineItemsResponse+    , downloadLineItemsResponse+    , dlirLineItems++    -- * ReportStatus+    , ReportStatus+    , reportStatus+    , rsState+    , rsFinishTimeMs+    , rsFormat+    , rsFailure++    -- * Query+    , Query+    , query+    , qQueryId+    , qReportDataEndTimeMs+    , qSchedule+    , qKind+    , qParams+    , qMetadata+    , qReportDataStartTimeMs+    , qTimezoneCode++    -- * Parameters+    , Parameters+    , parameters+    , pMetrics+    , pIncludeInviteData+    , pFilters+    , pGroupBys+    , pType++    -- * FilterPairType+    , FilterPairType (..)++    -- * RunQueryRequestDataRange+    , RunQueryRequestDataRange (..)++    -- * ReportStatusState+    , ReportStatusState (..)++    -- * ParametersGroupBysItem+    , ParametersGroupBysItem (..)++    -- * ReportFailureErrorCode+    , ReportFailureErrorCode (..)++    -- * DownloadLineItemsRequestFormat+    , DownloadLineItemsRequestFormat (..)++    -- * ReportFailure+    , ReportFailure+    , reportFailure+    , rfErrorCode++    -- * ReportStatusFormat+    , ReportStatusFormat (..)+    ) where++import           Network.Google.DoubleClickBids.Types.Product+import           Network.Google.DoubleClickBids.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the DoubleClick Bid Manager API. This contains the host and root path used as a starting point for constructing service requests.+doubleClickBidsService :: Service+doubleClickBidsService+  = defaultService+      (ServiceId "doubleclickbidmanager:v1")+      "www.googleapis.com"
+ gen/Network/Google/DoubleClickBids/Types/Product.hs view
@@ -0,0 +1,1340 @@+{-# 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.DoubleClickBids.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.DoubleClickBids.Types.Product where++import           Network.Google.DoubleClickBids.Types.Sum+import           Network.Google.Prelude++-- | List reports response.+--+-- /See:/ 'listReportsResponse' smart constructor.+data ListReportsResponse = ListReportsResponse+    { _lrrReports :: !(Maybe [Report])+    , _lrrKind    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListReportsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrrReports'+--+-- * 'lrrKind'+listReportsResponse+    :: ListReportsResponse+listReportsResponse =+    ListReportsResponse+    { _lrrReports = Nothing+    , _lrrKind = "doubleclickbidmanager#listReportsResponse"+    }++-- | Retrieved reports.+lrrReports :: Lens' ListReportsResponse [Report]+lrrReports+  = lens _lrrReports (\ s a -> s{_lrrReports = a}) .+      _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"doubleclickbidmanager#listReportsResponse\".+lrrKind :: Lens' ListReportsResponse Text+lrrKind = lens _lrrKind (\ s a -> s{_lrrKind = a})++instance FromJSON ListReportsResponse where+        parseJSON+          = withObject "ListReportsResponse"+              (\ o ->+                 ListReportsResponse <$>+                   (o .:? "reports" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "doubleclickbidmanager#listReportsResponse"))++instance ToJSON ListReportsResponse where+        toJSON ListReportsResponse{..}+          = object+              (catMaybes+                 [("reports" .=) <$> _lrrReports,+                  Just ("kind" .= _lrrKind)])++-- | Query metadata.+--+-- /See:/ 'queryMetadata' smart constructor.+data QueryMetadata = QueryMetadata+    { _qmGoogleCloudStoragePathForLatestReport :: !(Maybe Text)+    , _qmLocale                                :: !(Maybe Text)+    , _qmFormat                                :: !(Maybe QueryMetadataFormat)+    , _qmGoogleDrivePathForLatestReport        :: !(Maybe Text)+    , _qmShareEmailAddress                     :: !(Maybe [Text])+    , _qmRunning                               :: !(Maybe Bool)+    , _qmDataRange                             :: !(Maybe QueryMetadataDataRange)+    , _qmLatestReportRunTimeMs                 :: !(Maybe (Textual Int64))+    , _qmReportCount                           :: !(Maybe (Textual Int32))+    , _qmTitle                                 :: !(Maybe Text)+    , _qmSendNotification                      :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qmGoogleCloudStoragePathForLatestReport'+--+-- * 'qmLocale'+--+-- * 'qmFormat'+--+-- * 'qmGoogleDrivePathForLatestReport'+--+-- * 'qmShareEmailAddress'+--+-- * 'qmRunning'+--+-- * 'qmDataRange'+--+-- * 'qmLatestReportRunTimeMs'+--+-- * 'qmReportCount'+--+-- * 'qmTitle'+--+-- * 'qmSendNotification'+queryMetadata+    :: QueryMetadata+queryMetadata =+    QueryMetadata+    { _qmGoogleCloudStoragePathForLatestReport = Nothing+    , _qmLocale = Nothing+    , _qmFormat = Nothing+    , _qmGoogleDrivePathForLatestReport = Nothing+    , _qmShareEmailAddress = Nothing+    , _qmRunning = Nothing+    , _qmDataRange = Nothing+    , _qmLatestReportRunTimeMs = Nothing+    , _qmReportCount = Nothing+    , _qmTitle = Nothing+    , _qmSendNotification = Nothing+    }++-- | The path to the location in Google Cloud Storage where the latest report+-- is stored.+qmGoogleCloudStoragePathForLatestReport :: Lens' QueryMetadata (Maybe Text)+qmGoogleCloudStoragePathForLatestReport+  = lens _qmGoogleCloudStoragePathForLatestReport+      (\ s a ->+         s{_qmGoogleCloudStoragePathForLatestReport = a})++-- | Locale of the generated reports. Valid values are cs CZECH de GERMAN en+-- ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH+-- pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN+-- CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string not in the list+-- above will generate reports in English.+qmLocale :: Lens' QueryMetadata (Maybe Text)+qmLocale = lens _qmLocale (\ s a -> s{_qmLocale = a})++-- | Format of the generated report.+qmFormat :: Lens' QueryMetadata (Maybe QueryMetadataFormat)+qmFormat = lens _qmFormat (\ s a -> s{_qmFormat = a})++-- | The path in Google Drive for the latest report.+qmGoogleDrivePathForLatestReport :: Lens' QueryMetadata (Maybe Text)+qmGoogleDrivePathForLatestReport+  = lens _qmGoogleDrivePathForLatestReport+      (\ s a -> s{_qmGoogleDrivePathForLatestReport = a})++-- | List of email addresses which are sent email notifications when the+-- report is finished. Separate from sendNotification.+qmShareEmailAddress :: Lens' QueryMetadata [Text]+qmShareEmailAddress+  = lens _qmShareEmailAddress+      (\ s a -> s{_qmShareEmailAddress = a})+      . _Default+      . _Coerce++-- | Whether the latest report is currently running.+qmRunning :: Lens' QueryMetadata (Maybe Bool)+qmRunning+  = lens _qmRunning (\ s a -> s{_qmRunning = a})++-- | Range of report data.+qmDataRange :: Lens' QueryMetadata (Maybe QueryMetadataDataRange)+qmDataRange+  = lens _qmDataRange (\ s a -> s{_qmDataRange = a})++-- | The time when the latest report started to run.+qmLatestReportRunTimeMs :: Lens' QueryMetadata (Maybe Int64)+qmLatestReportRunTimeMs+  = lens _qmLatestReportRunTimeMs+      (\ s a -> s{_qmLatestReportRunTimeMs = a})+      . mapping _Coerce++-- | Number of reports that have been generated for the query.+qmReportCount :: Lens' QueryMetadata (Maybe Int32)+qmReportCount+  = lens _qmReportCount+      (\ s a -> s{_qmReportCount = a})+      . mapping _Coerce++-- | Query title. It is used to name the reports generated from this query.+qmTitle :: Lens' QueryMetadata (Maybe Text)+qmTitle = lens _qmTitle (\ s a -> s{_qmTitle = a})++-- | Whether to send an email notification when a report is ready. Default to+-- false.+qmSendNotification :: Lens' QueryMetadata (Maybe Bool)+qmSendNotification+  = lens _qmSendNotification+      (\ s a -> s{_qmSendNotification = a})++instance FromJSON QueryMetadata where+        parseJSON+          = withObject "QueryMetadata"+              (\ o ->+                 QueryMetadata <$>+                   (o .:? "googleCloudStoragePathForLatestReport") <*>+                     (o .:? "locale")+                     <*> (o .:? "format")+                     <*> (o .:? "googleDrivePathForLatestReport")+                     <*> (o .:? "shareEmailAddress" .!= mempty)+                     <*> (o .:? "running")+                     <*> (o .:? "dataRange")+                     <*> (o .:? "latestReportRunTimeMs")+                     <*> (o .:? "reportCount")+                     <*> (o .:? "title")+                     <*> (o .:? "sendNotification"))++instance ToJSON QueryMetadata where+        toJSON QueryMetadata{..}+          = object+              (catMaybes+                 [("googleCloudStoragePathForLatestReport" .=) <$>+                    _qmGoogleCloudStoragePathForLatestReport,+                  ("locale" .=) <$> _qmLocale,+                  ("format" .=) <$> _qmFormat,+                  ("googleDrivePathForLatestReport" .=) <$>+                    _qmGoogleDrivePathForLatestReport,+                  ("shareEmailAddress" .=) <$> _qmShareEmailAddress,+                  ("running" .=) <$> _qmRunning,+                  ("dataRange" .=) <$> _qmDataRange,+                  ("latestReportRunTimeMs" .=) <$>+                    _qmLatestReportRunTimeMs,+                  ("reportCount" .=) <$> _qmReportCount,+                  ("title" .=) <$> _qmTitle,+                  ("sendNotification" .=) <$> _qmSendNotification])++-- | Request to run a stored query to generate a report.+--+-- /See:/ 'runQueryRequest' smart constructor.+data RunQueryRequest = RunQueryRequest+    { _rqrReportDataEndTimeMs   :: !(Maybe (Textual Int64))+    , _rqrDataRange             :: !(Maybe RunQueryRequestDataRange)+    , _rqrReportDataStartTimeMs :: !(Maybe (Textual Int64))+    , _rqrTimezoneCode          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunQueryRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rqrReportDataEndTimeMs'+--+-- * 'rqrDataRange'+--+-- * 'rqrReportDataStartTimeMs'+--+-- * 'rqrTimezoneCode'+runQueryRequest+    :: RunQueryRequest+runQueryRequest =+    RunQueryRequest+    { _rqrReportDataEndTimeMs = Nothing+    , _rqrDataRange = Nothing+    , _rqrReportDataStartTimeMs = Nothing+    , _rqrTimezoneCode = Nothing+    }++-- | The ending time for the data that is shown in the report. Note,+-- reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored+-- otherwise.+rqrReportDataEndTimeMs :: Lens' RunQueryRequest (Maybe Int64)+rqrReportDataEndTimeMs+  = lens _rqrReportDataEndTimeMs+      (\ s a -> s{_rqrReportDataEndTimeMs = a})+      . mapping _Coerce++-- | Report data range used to generate the report.+rqrDataRange :: Lens' RunQueryRequest (Maybe RunQueryRequestDataRange)+rqrDataRange+  = lens _rqrDataRange (\ s a -> s{_rqrDataRange = a})++-- | The starting time for the data that is shown in the report. Note,+-- reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and+-- ignored otherwise.+rqrReportDataStartTimeMs :: Lens' RunQueryRequest (Maybe Int64)+rqrReportDataStartTimeMs+  = lens _rqrReportDataStartTimeMs+      (\ s a -> s{_rqrReportDataStartTimeMs = a})+      . mapping _Coerce++-- | Canonical timezone code for report data time. Defaults to+-- America\/New_York.+rqrTimezoneCode :: Lens' RunQueryRequest (Maybe Text)+rqrTimezoneCode+  = lens _rqrTimezoneCode+      (\ s a -> s{_rqrTimezoneCode = a})++instance FromJSON RunQueryRequest where+        parseJSON+          = withObject "RunQueryRequest"+              (\ o ->+                 RunQueryRequest <$>+                   (o .:? "reportDataEndTimeMs") <*> (o .:? "dataRange")+                     <*> (o .:? "reportDataStartTimeMs")+                     <*> (o .:? "timezoneCode"))++instance ToJSON RunQueryRequest where+        toJSON RunQueryRequest{..}+          = object+              (catMaybes+                 [("reportDataEndTimeMs" .=) <$>+                    _rqrReportDataEndTimeMs,+                  ("dataRange" .=) <$> _rqrDataRange,+                  ("reportDataStartTimeMs" .=) <$>+                    _rqrReportDataStartTimeMs,+                  ("timezoneCode" .=) <$> _rqrTimezoneCode])++-- | Filter used to match traffic data in your report.+--+-- /See:/ 'filterPair' smart constructor.+data FilterPair = FilterPair+    { _fpValue :: !(Maybe Text)+    , _fpType  :: !(Maybe FilterPairType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpValue'+--+-- * 'fpType'+filterPair+    :: FilterPair+filterPair =+    FilterPair+    { _fpValue = Nothing+    , _fpType = Nothing+    }++-- | Filter value.+fpValue :: Lens' FilterPair (Maybe Text)+fpValue = lens _fpValue (\ s a -> s{_fpValue = a})++-- | Filter type.+fpType :: Lens' FilterPair (Maybe FilterPairType)+fpType = lens _fpType (\ s a -> s{_fpType = a})++instance FromJSON FilterPair where+        parseJSON+          = withObject "FilterPair"+              (\ o ->+                 FilterPair <$> (o .:? "value") <*> (o .:? "type"))++instance ToJSON FilterPair where+        toJSON FilterPair{..}+          = object+              (catMaybes+                 [("value" .=) <$> _fpValue, ("type" .=) <$> _fpType])++-- | Request to upload line items.+--+-- /See:/ 'uploadLineItemsRequest' smart constructor.+data UploadLineItemsRequest = UploadLineItemsRequest+    { _ulirLineItems :: !(Maybe Text)+    , _ulirFormat    :: !(Maybe UploadLineItemsRequestFormat)+    , _ulirDryRun    :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadLineItemsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulirLineItems'+--+-- * 'ulirFormat'+--+-- * 'ulirDryRun'+uploadLineItemsRequest+    :: UploadLineItemsRequest+uploadLineItemsRequest =+    UploadLineItemsRequest+    { _ulirLineItems = Nothing+    , _ulirFormat = Nothing+    , _ulirDryRun = Nothing+    }++-- | Line items in CSV to upload. Refer to Entity Write File Format for more+-- information on file format.+ulirLineItems :: Lens' UploadLineItemsRequest (Maybe Text)+ulirLineItems+  = lens _ulirLineItems+      (\ s a -> s{_ulirLineItems = a})++-- | Format the line items are in. Default to CSV.+ulirFormat :: Lens' UploadLineItemsRequest (Maybe UploadLineItemsRequestFormat)+ulirFormat+  = lens _ulirFormat (\ s a -> s{_ulirFormat = a})++-- | Set to true to get upload status without actually persisting the line+-- items.+ulirDryRun :: Lens' UploadLineItemsRequest (Maybe Bool)+ulirDryRun+  = lens _ulirDryRun (\ s a -> s{_ulirDryRun = a})++instance FromJSON UploadLineItemsRequest where+        parseJSON+          = withObject "UploadLineItemsRequest"+              (\ o ->+                 UploadLineItemsRequest <$>+                   (o .:? "lineItems") <*> (o .:? "format") <*>+                     (o .:? "dryRun"))++instance ToJSON UploadLineItemsRequest where+        toJSON UploadLineItemsRequest{..}+          = object+              (catMaybes+                 [("lineItems" .=) <$> _ulirLineItems,+                  ("format" .=) <$> _ulirFormat,+                  ("dryRun" .=) <$> _ulirDryRun])++-- | Request to fetch stored line items.+--+-- /See:/ 'downloadLineItemsRequest' smart constructor.+data DownloadLineItemsRequest = DownloadLineItemsRequest+    { _dlirFilterType :: !(Maybe DownloadLineItemsRequestFilterType)+    , _dlirFormat     :: !(Maybe DownloadLineItemsRequestFormat)+    , _dlirFileSpec   :: !(Maybe DownloadLineItemsRequestFileSpec)+    , _dlirFilterIds  :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadLineItemsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlirFilterType'+--+-- * 'dlirFormat'+--+-- * 'dlirFileSpec'+--+-- * 'dlirFilterIds'+downloadLineItemsRequest+    :: DownloadLineItemsRequest+downloadLineItemsRequest =+    DownloadLineItemsRequest+    { _dlirFilterType = Nothing+    , _dlirFormat = Nothing+    , _dlirFileSpec = Nothing+    , _dlirFilterIds = Nothing+    }++-- | Filter type used to filter line items to fetch.+dlirFilterType :: Lens' DownloadLineItemsRequest (Maybe DownloadLineItemsRequestFilterType)+dlirFilterType+  = lens _dlirFilterType+      (\ s a -> s{_dlirFilterType = a})++-- | Format in which the line items will be returned. Default to CSV.+dlirFormat :: Lens' DownloadLineItemsRequest (Maybe DownloadLineItemsRequestFormat)+dlirFormat+  = lens _dlirFormat (\ s a -> s{_dlirFormat = a})++-- | File specification (column names, types, order) in which the line items+-- will be returned. Default to EWF.+dlirFileSpec :: Lens' DownloadLineItemsRequest (Maybe DownloadLineItemsRequestFileSpec)+dlirFileSpec+  = lens _dlirFileSpec (\ s a -> s{_dlirFileSpec = a})++-- | Ids of the specified filter type used to filter line items to fetch. If+-- omitted, all the line items will be returned.+dlirFilterIds :: Lens' DownloadLineItemsRequest [Int64]+dlirFilterIds+  = lens _dlirFilterIds+      (\ s a -> s{_dlirFilterIds = a})+      . _Default+      . _Coerce++instance FromJSON DownloadLineItemsRequest where+        parseJSON+          = withObject "DownloadLineItemsRequest"+              (\ o ->+                 DownloadLineItemsRequest <$>+                   (o .:? "filterType") <*> (o .:? "format") <*>+                     (o .:? "fileSpec")+                     <*> (o .:? "filterIds" .!= mempty))++instance ToJSON DownloadLineItemsRequest where+        toJSON DownloadLineItemsRequest{..}+          = object+              (catMaybes+                 [("filterType" .=) <$> _dlirFilterType,+                  ("format" .=) <$> _dlirFormat,+                  ("fileSpec" .=) <$> _dlirFileSpec,+                  ("filterIds" .=) <$> _dlirFilterIds])++-- | List queries response.+--+-- /See:/ 'listQueriesResponse' smart constructor.+data ListQueriesResponse = ListQueriesResponse+    { _lqrQueries :: !(Maybe [Query])+    , _lqrKind    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListQueriesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lqrQueries'+--+-- * 'lqrKind'+listQueriesResponse+    :: ListQueriesResponse+listQueriesResponse =+    ListQueriesResponse+    { _lqrQueries = Nothing+    , _lqrKind = "doubleclickbidmanager#listQueriesResponse"+    }++-- | Retrieved queries.+lqrQueries :: Lens' ListQueriesResponse [Query]+lqrQueries+  = lens _lqrQueries (\ s a -> s{_lqrQueries = a}) .+      _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"doubleclickbidmanager#listQueriesResponse\".+lqrKind :: Lens' ListQueriesResponse Text+lqrKind = lens _lqrKind (\ s a -> s{_lqrKind = a})++instance FromJSON ListQueriesResponse where+        parseJSON+          = withObject "ListQueriesResponse"+              (\ o ->+                 ListQueriesResponse <$>+                   (o .:? "queries" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "doubleclickbidmanager#listQueriesResponse"))++instance ToJSON ListQueriesResponse where+        toJSON ListQueriesResponse{..}+          = object+              (catMaybes+                 [("queries" .=) <$> _lqrQueries,+                  Just ("kind" .= _lqrKind)])++-- | Upload line items response.+--+-- /See:/ 'uploadLineItemsResponse' smart constructor.+newtype UploadLineItemsResponse = UploadLineItemsResponse+    { _ulirUploadStatus :: Maybe UploadStatus+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadLineItemsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulirUploadStatus'+uploadLineItemsResponse+    :: UploadLineItemsResponse+uploadLineItemsResponse =+    UploadLineItemsResponse+    { _ulirUploadStatus = Nothing+    }++-- | Status of upload.+ulirUploadStatus :: Lens' UploadLineItemsResponse (Maybe UploadStatus)+ulirUploadStatus+  = lens _ulirUploadStatus+      (\ s a -> s{_ulirUploadStatus = a})++instance FromJSON UploadLineItemsResponse where+        parseJSON+          = withObject "UploadLineItemsResponse"+              (\ o ->+                 UploadLineItemsResponse <$> (o .:? "uploadStatus"))++instance ToJSON UploadLineItemsResponse where+        toJSON UploadLineItemsResponse{..}+          = object+              (catMaybes+                 [("uploadStatus" .=) <$> _ulirUploadStatus])++-- | Report metadata.+--+-- /See:/ 'reportMetadata' smart constructor.+data ReportMetadata = ReportMetadata+    { _rmStatus                 :: !(Maybe ReportStatus)+    , _rmReportDataEndTimeMs    :: !(Maybe (Textual Int64))+    , _rmGoogleCloudStoragePath :: !(Maybe Text)+    , _rmReportDataStartTimeMs  :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rmStatus'+--+-- * 'rmReportDataEndTimeMs'+--+-- * 'rmGoogleCloudStoragePath'+--+-- * 'rmReportDataStartTimeMs'+reportMetadata+    :: ReportMetadata+reportMetadata =+    ReportMetadata+    { _rmStatus = Nothing+    , _rmReportDataEndTimeMs = Nothing+    , _rmGoogleCloudStoragePath = Nothing+    , _rmReportDataStartTimeMs = Nothing+    }++-- | Report status.+rmStatus :: Lens' ReportMetadata (Maybe ReportStatus)+rmStatus = lens _rmStatus (\ s a -> s{_rmStatus = a})++-- | The ending time for the data that is shown in the report.+rmReportDataEndTimeMs :: Lens' ReportMetadata (Maybe Int64)+rmReportDataEndTimeMs+  = lens _rmReportDataEndTimeMs+      (\ s a -> s{_rmReportDataEndTimeMs = a})+      . mapping _Coerce++-- | The path to the location in Google Cloud Storage where the report is+-- stored.+rmGoogleCloudStoragePath :: Lens' ReportMetadata (Maybe Text)+rmGoogleCloudStoragePath+  = lens _rmGoogleCloudStoragePath+      (\ s a -> s{_rmGoogleCloudStoragePath = a})++-- | The starting time for the data that is shown in the report.+rmReportDataStartTimeMs :: Lens' ReportMetadata (Maybe Int64)+rmReportDataStartTimeMs+  = lens _rmReportDataStartTimeMs+      (\ s a -> s{_rmReportDataStartTimeMs = a})+      . mapping _Coerce++instance FromJSON ReportMetadata where+        parseJSON+          = withObject "ReportMetadata"+              (\ o ->+                 ReportMetadata <$>+                   (o .:? "status") <*> (o .:? "reportDataEndTimeMs")+                     <*> (o .:? "googleCloudStoragePath")+                     <*> (o .:? "reportDataStartTimeMs"))++instance ToJSON ReportMetadata where+        toJSON ReportMetadata{..}+          = object+              (catMaybes+                 [("status" .=) <$> _rmStatus,+                  ("reportDataEndTimeMs" .=) <$>+                    _rmReportDataEndTimeMs,+                  ("googleCloudStoragePath" .=) <$>+                    _rmGoogleCloudStoragePath,+                  ("reportDataStartTimeMs" .=) <$>+                    _rmReportDataStartTimeMs])++-- | Represents a report.+--+-- /See:/ 'report' smart constructor.+data Report = Report+    { _rParams   :: !(Maybe Parameters)+    , _rKey      :: !(Maybe ReportKey)+    , _rMetadata :: !(Maybe ReportMetadata)+    } 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:+--+-- * 'rParams'+--+-- * 'rKey'+--+-- * 'rMetadata'+report+    :: Report+report =+    Report+    { _rParams = Nothing+    , _rKey = Nothing+    , _rMetadata = Nothing+    }++-- | Report parameters.+rParams :: Lens' Report (Maybe Parameters)+rParams = lens _rParams (\ s a -> s{_rParams = a})++-- | Key used to identify a report.+rKey :: Lens' Report (Maybe ReportKey)+rKey = lens _rKey (\ s a -> s{_rKey = a})++-- | Report metadata.+rMetadata :: Lens' Report (Maybe ReportMetadata)+rMetadata+  = lens _rMetadata (\ s a -> s{_rMetadata = a})++instance FromJSON Report where+        parseJSON+          = withObject "Report"+              (\ o ->+                 Report <$>+                   (o .:? "params") <*> (o .:? "key") <*>+                     (o .:? "metadata"))++instance ToJSON Report where+        toJSON Report{..}+          = object+              (catMaybes+                 [("params" .=) <$> _rParams, ("key" .=) <$> _rKey,+                  ("metadata" .=) <$> _rMetadata])++-- | Represents the upload status of a row in the request.+--+-- /See:/ 'rowStatus' smart constructor.+data RowStatus = RowStatus+    { _rsEntityName :: !(Maybe Text)+    , _rsChanged    :: !(Maybe Bool)+    , _rsPersisted  :: !(Maybe Bool)+    , _rsRowNumber  :: !(Maybe (Textual Int32))+    , _rsErrors     :: !(Maybe [Text])+    , _rsEntityId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RowStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsEntityName'+--+-- * 'rsChanged'+--+-- * 'rsPersisted'+--+-- * 'rsRowNumber'+--+-- * 'rsErrors'+--+-- * 'rsEntityId'+rowStatus+    :: RowStatus+rowStatus =+    RowStatus+    { _rsEntityName = Nothing+    , _rsChanged = Nothing+    , _rsPersisted = Nothing+    , _rsRowNumber = Nothing+    , _rsErrors = Nothing+    , _rsEntityId = Nothing+    }++-- | Entity name.+rsEntityName :: Lens' RowStatus (Maybe Text)+rsEntityName+  = lens _rsEntityName (\ s a -> s{_rsEntityName = a})++-- | Whether the stored entity is changed as a result of upload.+rsChanged :: Lens' RowStatus (Maybe Bool)+rsChanged+  = lens _rsChanged (\ s a -> s{_rsChanged = a})++-- | Whether the entity is persisted.+rsPersisted :: Lens' RowStatus (Maybe Bool)+rsPersisted+  = lens _rsPersisted (\ s a -> s{_rsPersisted = a})++-- | Row number.+rsRowNumber :: Lens' RowStatus (Maybe Int32)+rsRowNumber+  = lens _rsRowNumber (\ s a -> s{_rsRowNumber = a}) .+      mapping _Coerce++-- | Reasons why the entity can\'t be uploaded.+rsErrors :: Lens' RowStatus [Text]+rsErrors+  = lens _rsErrors (\ s a -> s{_rsErrors = a}) .+      _Default+      . _Coerce++-- | Entity Id.+rsEntityId :: Lens' RowStatus (Maybe Int64)+rsEntityId+  = lens _rsEntityId (\ s a -> s{_rsEntityId = a}) .+      mapping _Coerce++instance FromJSON RowStatus where+        parseJSON+          = withObject "RowStatus"+              (\ o ->+                 RowStatus <$>+                   (o .:? "entityName") <*> (o .:? "changed") <*>+                     (o .:? "persisted")+                     <*> (o .:? "rowNumber")+                     <*> (o .:? "errors" .!= mempty)+                     <*> (o .:? "entityId"))++instance ToJSON RowStatus where+        toJSON RowStatus{..}+          = object+              (catMaybes+                 [("entityName" .=) <$> _rsEntityName,+                  ("changed" .=) <$> _rsChanged,+                  ("persisted" .=) <$> _rsPersisted,+                  ("rowNumber" .=) <$> _rsRowNumber,+                  ("errors" .=) <$> _rsErrors,+                  ("entityId" .=) <$> _rsEntityId])++-- | Key used to identify a report.+--+-- /See:/ 'reportKey' smart constructor.+data ReportKey = ReportKey+    { _rkQueryId  :: !(Maybe (Textual Int64))+    , _rkReportId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rkQueryId'+--+-- * 'rkReportId'+reportKey+    :: ReportKey+reportKey =+    ReportKey+    { _rkQueryId = Nothing+    , _rkReportId = Nothing+    }++-- | Query ID.+rkQueryId :: Lens' ReportKey (Maybe Int64)+rkQueryId+  = lens _rkQueryId (\ s a -> s{_rkQueryId = a}) .+      mapping _Coerce++-- | Report ID.+rkReportId :: Lens' ReportKey (Maybe Int64)+rkReportId+  = lens _rkReportId (\ s a -> s{_rkReportId = a}) .+      mapping _Coerce++instance FromJSON ReportKey where+        parseJSON+          = withObject "ReportKey"+              (\ o ->+                 ReportKey <$>+                   (o .:? "queryId") <*> (o .:? "reportId"))++instance ToJSON ReportKey where+        toJSON ReportKey{..}+          = object+              (catMaybes+                 [("queryId" .=) <$> _rkQueryId,+                  ("reportId" .=) <$> _rkReportId])++-- | Represents the status of upload.+--+-- /See:/ 'uploadStatus' smart constructor.+data UploadStatus = UploadStatus+    { _usRowStatus :: !(Maybe [RowStatus])+    , _usErrors    :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usRowStatus'+--+-- * 'usErrors'+uploadStatus+    :: UploadStatus+uploadStatus =+    UploadStatus+    { _usRowStatus = Nothing+    , _usErrors = Nothing+    }++-- | Per-row upload status.+usRowStatus :: Lens' UploadStatus [RowStatus]+usRowStatus+  = lens _usRowStatus (\ s a -> s{_usRowStatus = a}) .+      _Default+      . _Coerce++-- | Reasons why upload can\'t be completed.+usErrors :: Lens' UploadStatus [Text]+usErrors+  = lens _usErrors (\ s a -> s{_usErrors = a}) .+      _Default+      . _Coerce++instance FromJSON UploadStatus where+        parseJSON+          = withObject "UploadStatus"+              (\ o ->+                 UploadStatus <$>+                   (o .:? "rowStatus" .!= mempty) <*>+                     (o .:? "errors" .!= mempty))++instance ToJSON UploadStatus where+        toJSON UploadStatus{..}+          = object+              (catMaybes+                 [("rowStatus" .=) <$> _usRowStatus,+                  ("errors" .=) <$> _usErrors])++-- | Information on how frequently and when to run a query.+--+-- /See:/ 'querySchedule' smart constructor.+data QuerySchedule = QuerySchedule+    { _qsFrequency           :: !(Maybe QueryScheduleFrequency)+    , _qsEndTimeMs           :: !(Maybe (Textual Int64))+    , _qsNextRunMinuteOfDay  :: !(Maybe (Textual Int32))+    , _qsNextRunTimezoneCode :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qsFrequency'+--+-- * 'qsEndTimeMs'+--+-- * 'qsNextRunMinuteOfDay'+--+-- * 'qsNextRunTimezoneCode'+querySchedule+    :: QuerySchedule+querySchedule =+    QuerySchedule+    { _qsFrequency = Nothing+    , _qsEndTimeMs = Nothing+    , _qsNextRunMinuteOfDay = Nothing+    , _qsNextRunTimezoneCode = Nothing+    }++-- | How often the query is run.+qsFrequency :: Lens' QuerySchedule (Maybe QueryScheduleFrequency)+qsFrequency+  = lens _qsFrequency (\ s a -> s{_qsFrequency = a})++-- | Datetime to periodically run the query until.+qsEndTimeMs :: Lens' QuerySchedule (Maybe Int64)+qsEndTimeMs+  = lens _qsEndTimeMs (\ s a -> s{_qsEndTimeMs = a}) .+      mapping _Coerce++-- | Time of day at which a new report will be generated, represented as+-- minutes past midnight. Range is 0 to 1439. Only applies to scheduled+-- reports.+qsNextRunMinuteOfDay :: Lens' QuerySchedule (Maybe Int32)+qsNextRunMinuteOfDay+  = lens _qsNextRunMinuteOfDay+      (\ s a -> s{_qsNextRunMinuteOfDay = a})+      . mapping _Coerce++-- | Canonical timezone code for report generation time. Defaults to+-- America\/New_York.+qsNextRunTimezoneCode :: Lens' QuerySchedule (Maybe Text)+qsNextRunTimezoneCode+  = lens _qsNextRunTimezoneCode+      (\ s a -> s{_qsNextRunTimezoneCode = a})++instance FromJSON QuerySchedule where+        parseJSON+          = withObject "QuerySchedule"+              (\ o ->+                 QuerySchedule <$>+                   (o .:? "frequency") <*> (o .:? "endTimeMs") <*>+                     (o .:? "nextRunMinuteOfDay")+                     <*> (o .:? "nextRunTimezoneCode"))++instance ToJSON QuerySchedule where+        toJSON QuerySchedule{..}+          = object+              (catMaybes+                 [("frequency" .=) <$> _qsFrequency,+                  ("endTimeMs" .=) <$> _qsEndTimeMs,+                  ("nextRunMinuteOfDay" .=) <$> _qsNextRunMinuteOfDay,+                  ("nextRunTimezoneCode" .=) <$>+                    _qsNextRunTimezoneCode])++-- | Download line items response.+--+-- /See:/ 'downloadLineItemsResponse' smart constructor.+newtype DownloadLineItemsResponse = DownloadLineItemsResponse+    { _dlirLineItems :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadLineItemsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlirLineItems'+downloadLineItemsResponse+    :: DownloadLineItemsResponse+downloadLineItemsResponse =+    DownloadLineItemsResponse+    { _dlirLineItems = Nothing+    }++-- | Retrieved line items in CSV format. Refer to Entity Write File Format or+-- Structured Data File Format for more information on file formats.+dlirLineItems :: Lens' DownloadLineItemsResponse (Maybe Text)+dlirLineItems+  = lens _dlirLineItems+      (\ s a -> s{_dlirLineItems = a})++instance FromJSON DownloadLineItemsResponse where+        parseJSON+          = withObject "DownloadLineItemsResponse"+              (\ o ->+                 DownloadLineItemsResponse <$> (o .:? "lineItems"))++instance ToJSON DownloadLineItemsResponse where+        toJSON DownloadLineItemsResponse{..}+          = object+              (catMaybes [("lineItems" .=) <$> _dlirLineItems])++-- | Report status.+--+-- /See:/ 'reportStatus' smart constructor.+data ReportStatus = ReportStatus+    { _rsState        :: !(Maybe ReportStatusState)+    , _rsFinishTimeMs :: !(Maybe (Textual Int64))+    , _rsFormat       :: !(Maybe ReportStatusFormat)+    , _rsFailure      :: !(Maybe ReportFailure)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsState'+--+-- * 'rsFinishTimeMs'+--+-- * 'rsFormat'+--+-- * 'rsFailure'+reportStatus+    :: ReportStatus+reportStatus =+    ReportStatus+    { _rsState = Nothing+    , _rsFinishTimeMs = Nothing+    , _rsFormat = Nothing+    , _rsFailure = Nothing+    }++-- | The state of the report.+rsState :: Lens' ReportStatus (Maybe ReportStatusState)+rsState = lens _rsState (\ s a -> s{_rsState = a})++-- | The time when this report either completed successfully or failed.+rsFinishTimeMs :: Lens' ReportStatus (Maybe Int64)+rsFinishTimeMs+  = lens _rsFinishTimeMs+      (\ s a -> s{_rsFinishTimeMs = a})+      . mapping _Coerce++-- | The file type of the report.+rsFormat :: Lens' ReportStatus (Maybe ReportStatusFormat)+rsFormat = lens _rsFormat (\ s a -> s{_rsFormat = a})++-- | If the report failed, this records the cause.+rsFailure :: Lens' ReportStatus (Maybe ReportFailure)+rsFailure+  = lens _rsFailure (\ s a -> s{_rsFailure = a})++instance FromJSON ReportStatus where+        parseJSON+          = withObject "ReportStatus"+              (\ o ->+                 ReportStatus <$>+                   (o .:? "state") <*> (o .:? "finishTimeMs") <*>+                     (o .:? "format")+                     <*> (o .:? "failure"))++instance ToJSON ReportStatus where+        toJSON ReportStatus{..}+          = object+              (catMaybes+                 [("state" .=) <$> _rsState,+                  ("finishTimeMs" .=) <$> _rsFinishTimeMs,+                  ("format" .=) <$> _rsFormat,+                  ("failure" .=) <$> _rsFailure])++-- | Represents a query.+--+-- /See:/ 'query' smart constructor.+data Query = Query+    { _qQueryId               :: !(Maybe (Textual Int64))+    , _qReportDataEndTimeMs   :: !(Maybe (Textual Int64))+    , _qSchedule              :: !(Maybe QuerySchedule)+    , _qKind                  :: !Text+    , _qParams                :: !(Maybe Parameters)+    , _qMetadata              :: !(Maybe QueryMetadata)+    , _qReportDataStartTimeMs :: !(Maybe (Textual Int64))+    , _qTimezoneCode          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Query' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qQueryId'+--+-- * 'qReportDataEndTimeMs'+--+-- * 'qSchedule'+--+-- * 'qKind'+--+-- * 'qParams'+--+-- * 'qMetadata'+--+-- * 'qReportDataStartTimeMs'+--+-- * 'qTimezoneCode'+query+    :: Query+query =+    Query+    { _qQueryId = Nothing+    , _qReportDataEndTimeMs = Nothing+    , _qSchedule = Nothing+    , _qKind = "doubleclickbidmanager#query"+    , _qParams = Nothing+    , _qMetadata = Nothing+    , _qReportDataStartTimeMs = Nothing+    , _qTimezoneCode = Nothing+    }++-- | Query ID.+qQueryId :: Lens' Query (Maybe Int64)+qQueryId+  = lens _qQueryId (\ s a -> s{_qQueryId = a}) .+      mapping _Coerce++-- | The ending time for the data that is shown in the report. Note,+-- reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES+-- and ignored otherwise.+qReportDataEndTimeMs :: Lens' Query (Maybe Int64)+qReportDataEndTimeMs+  = lens _qReportDataEndTimeMs+      (\ s a -> s{_qReportDataEndTimeMs = a})+      . mapping _Coerce++-- | Information on how often and when to run a query.+qSchedule :: Lens' Query (Maybe QuerySchedule)+qSchedule+  = lens _qSchedule (\ s a -> s{_qSchedule = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"doubleclickbidmanager#query\".+qKind :: Lens' Query Text+qKind = lens _qKind (\ s a -> s{_qKind = a})++-- | Query parameters.+qParams :: Lens' Query (Maybe Parameters)+qParams = lens _qParams (\ s a -> s{_qParams = a})++-- | Query metadata.+qMetadata :: Lens' Query (Maybe QueryMetadata)+qMetadata+  = lens _qMetadata (\ s a -> s{_qMetadata = a})++-- | The starting time for the data that is shown in the report. Note,+-- reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES+-- and ignored otherwise.+qReportDataStartTimeMs :: Lens' Query (Maybe Int64)+qReportDataStartTimeMs+  = lens _qReportDataStartTimeMs+      (\ s a -> s{_qReportDataStartTimeMs = a})+      . mapping _Coerce++-- | Canonical timezone code for report data time. Defaults to+-- America\/New_York.+qTimezoneCode :: Lens' Query (Maybe Text)+qTimezoneCode+  = lens _qTimezoneCode+      (\ s a -> s{_qTimezoneCode = a})++instance FromJSON Query where+        parseJSON+          = withObject "Query"+              (\ o ->+                 Query <$>+                   (o .:? "queryId") <*> (o .:? "reportDataEndTimeMs")+                     <*> (o .:? "schedule")+                     <*> (o .:? "kind" .!= "doubleclickbidmanager#query")+                     <*> (o .:? "params")+                     <*> (o .:? "metadata")+                     <*> (o .:? "reportDataStartTimeMs")+                     <*> (o .:? "timezoneCode"))++instance ToJSON Query where+        toJSON Query{..}+          = object+              (catMaybes+                 [("queryId" .=) <$> _qQueryId,+                  ("reportDataEndTimeMs" .=) <$> _qReportDataEndTimeMs,+                  ("schedule" .=) <$> _qSchedule,+                  Just ("kind" .= _qKind), ("params" .=) <$> _qParams,+                  ("metadata" .=) <$> _qMetadata,+                  ("reportDataStartTimeMs" .=) <$>+                    _qReportDataStartTimeMs,+                  ("timezoneCode" .=) <$> _qTimezoneCode])++-- | Parameters of a query or report.+--+-- /See:/ 'parameters' smart constructor.+data Parameters = Parameters+    { _pMetrics           :: !(Maybe [ParametersMetricsItem])+    , _pIncludeInviteData :: !(Maybe Bool)+    , _pFilters           :: !(Maybe [FilterPair])+    , _pGroupBys          :: !(Maybe [ParametersGroupBysItem])+    , _pType              :: !(Maybe ParametersType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Parameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pMetrics'+--+-- * 'pIncludeInviteData'+--+-- * 'pFilters'+--+-- * 'pGroupBys'+--+-- * 'pType'+parameters+    :: Parameters+parameters =+    Parameters+    { _pMetrics = Nothing+    , _pIncludeInviteData = Nothing+    , _pFilters = Nothing+    , _pGroupBys = Nothing+    , _pType = Nothing+    }++-- | Metrics to include as columns in your report.+pMetrics :: Lens' Parameters [ParametersMetricsItem]+pMetrics+  = lens _pMetrics (\ s a -> s{_pMetrics = a}) .+      _Default+      . _Coerce++-- | Whether to include data from Invite Media.+pIncludeInviteData :: Lens' Parameters (Maybe Bool)+pIncludeInviteData+  = lens _pIncludeInviteData+      (\ s a -> s{_pIncludeInviteData = a})++-- | Filters used to match traffic data in your report.+pFilters :: Lens' Parameters [FilterPair]+pFilters+  = lens _pFilters (\ s a -> s{_pFilters = a}) .+      _Default+      . _Coerce++-- | Data is grouped by the filters listed in this field.+pGroupBys :: Lens' Parameters [ParametersGroupBysItem]+pGroupBys+  = lens _pGroupBys (\ s a -> s{_pGroupBys = a}) .+      _Default+      . _Coerce++-- | Report type.+pType :: Lens' Parameters (Maybe ParametersType)+pType = lens _pType (\ s a -> s{_pType = a})++instance FromJSON Parameters where+        parseJSON+          = withObject "Parameters"+              (\ o ->+                 Parameters <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "includeInviteData")+                     <*> (o .:? "filters" .!= mempty)+                     <*> (o .:? "groupBys" .!= mempty)+                     <*> (o .:? "type"))++instance ToJSON Parameters where+        toJSON Parameters{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _pMetrics,+                  ("includeInviteData" .=) <$> _pIncludeInviteData,+                  ("filters" .=) <$> _pFilters,+                  ("groupBys" .=) <$> _pGroupBys,+                  ("type" .=) <$> _pType])++-- | An explanation of a report failure.+--+-- /See:/ 'reportFailure' smart constructor.+newtype ReportFailure = ReportFailure+    { _rfErrorCode :: Maybe ReportFailureErrorCode+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportFailure' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfErrorCode'+reportFailure+    :: ReportFailure+reportFailure =+    ReportFailure+    { _rfErrorCode = Nothing+    }++-- | Error code that shows why the report was not created.+rfErrorCode :: Lens' ReportFailure (Maybe ReportFailureErrorCode)+rfErrorCode+  = lens _rfErrorCode (\ s a -> s{_rfErrorCode = a})++instance FromJSON ReportFailure where+        parseJSON+          = withObject "ReportFailure"+              (\ o -> ReportFailure <$> (o .:? "errorCode"))++instance ToJSON ReportFailure where+        toJSON ReportFailure{..}+          = object+              (catMaybes [("errorCode" .=) <$> _rfErrorCode])
+ gen/Network/Google/DoubleClickBids/Types/Sum.hs view
@@ -0,0 +1,2447 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DoubleClickBids.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.DoubleClickBids.Types.Sum where++import           Network.Google.Prelude++-- | Format of the generated report.+data QueryMetadataFormat+    = CSV+      -- ^ @CSV@+    | ExcelCSV+      -- ^ @EXCEL_CSV@+    | Xlsx+      -- ^ @XLSX@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable QueryMetadataFormat++instance FromText QueryMetadataFormat where+    fromText = \case+        "CSV" -> Just CSV+        "EXCEL_CSV" -> Just ExcelCSV+        "XLSX" -> Just Xlsx+        _ -> Nothing++instance ToText QueryMetadataFormat where+    toText = \case+        CSV -> "CSV"+        ExcelCSV -> "EXCEL_CSV"+        Xlsx -> "XLSX"++instance FromJSON QueryMetadataFormat where+    parseJSON = parseJSONText "QueryMetadataFormat"++instance ToJSON QueryMetadataFormat where+    toJSON = toJSONText++-- | Report type.+data ParametersType+    = TypeActiveGrp+      -- ^ @TYPE_ACTIVE_GRP@+    | TypeAudienceComPosition+      -- ^ @TYPE_AUDIENCE_COMPOSITION@+    | TypeAudiencePerformance+      -- ^ @TYPE_AUDIENCE_PERFORMANCE@+    | TypeClientSafe+      -- ^ @TYPE_CLIENT_SAFE@+    | TypeComscoreVce+      -- ^ @TYPE_COMSCORE_VCE@+    | TypeCrossFee+      -- ^ @TYPE_CROSS_FEE@+    | TypeCrossPartner+      -- ^ @TYPE_CROSS_PARTNER@+    | TypeCrossPartnerThirdPartyDataProvider+      -- ^ @TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER@+    | TypeEstimatedConversion+      -- ^ @TYPE_ESTIMATED_CONVERSION@+    | TypeFee+      -- ^ @TYPE_FEE@+    | TypeGeneral+      -- ^ @TYPE_GENERAL@+    | TypeInventoryAvailability+      -- ^ @TYPE_INVENTORY_AVAILABILITY@+    | TypeKeyword+      -- ^ @TYPE_KEYWORD@+    | TypeNielsenAudienceProFile+      -- ^ @TYPE_NIELSEN_AUDIENCE_PROFILE@+    | TypeNielsenDailyReachBuild+      -- ^ @TYPE_NIELSEN_DAILY_REACH_BUILD@+    | TypeNielsenOnlineGlobalMarket+      -- ^ @TYPE_NIELSEN_ONLINE_GLOBAL_MARKET@+    | TypeNielsenSite+      -- ^ @TYPE_NIELSEN_SITE@+    | TypeOrderId+      -- ^ @TYPE_ORDER_ID@+    | TypePageCategory+      -- ^ @TYPE_PAGE_CATEGORY@+    | TypePixelLoad+      -- ^ @TYPE_PIXEL_LOAD@+    | TypeReachAndFrequency+      -- ^ @TYPE_REACH_AND_FREQUENCY@+    | TypeThirdPartyDataProvider+      -- ^ @TYPE_THIRD_PARTY_DATA_PROVIDER@+    | TypeTrueview+      -- ^ @TYPE_TRUEVIEW@+    | TypeTrueviewIar+      -- ^ @TYPE_TRUEVIEW_IAR@+    | TypeVerification+      -- ^ @TYPE_VERIFICATION@+    | TypeYouTubeVertical+      -- ^ @TYPE_YOUTUBE_VERTICAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ParametersType++instance FromText ParametersType where+    fromText = \case+        "TYPE_ACTIVE_GRP" -> Just TypeActiveGrp+        "TYPE_AUDIENCE_COMPOSITION" -> Just TypeAudienceComPosition+        "TYPE_AUDIENCE_PERFORMANCE" -> Just TypeAudiencePerformance+        "TYPE_CLIENT_SAFE" -> Just TypeClientSafe+        "TYPE_COMSCORE_VCE" -> Just TypeComscoreVce+        "TYPE_CROSS_FEE" -> Just TypeCrossFee+        "TYPE_CROSS_PARTNER" -> Just TypeCrossPartner+        "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER" -> Just TypeCrossPartnerThirdPartyDataProvider+        "TYPE_ESTIMATED_CONVERSION" -> Just TypeEstimatedConversion+        "TYPE_FEE" -> Just TypeFee+        "TYPE_GENERAL" -> Just TypeGeneral+        "TYPE_INVENTORY_AVAILABILITY" -> Just TypeInventoryAvailability+        "TYPE_KEYWORD" -> Just TypeKeyword+        "TYPE_NIELSEN_AUDIENCE_PROFILE" -> Just TypeNielsenAudienceProFile+        "TYPE_NIELSEN_DAILY_REACH_BUILD" -> Just TypeNielsenDailyReachBuild+        "TYPE_NIELSEN_ONLINE_GLOBAL_MARKET" -> Just TypeNielsenOnlineGlobalMarket+        "TYPE_NIELSEN_SITE" -> Just TypeNielsenSite+        "TYPE_ORDER_ID" -> Just TypeOrderId+        "TYPE_PAGE_CATEGORY" -> Just TypePageCategory+        "TYPE_PIXEL_LOAD" -> Just TypePixelLoad+        "TYPE_REACH_AND_FREQUENCY" -> Just TypeReachAndFrequency+        "TYPE_THIRD_PARTY_DATA_PROVIDER" -> Just TypeThirdPartyDataProvider+        "TYPE_TRUEVIEW" -> Just TypeTrueview+        "TYPE_TRUEVIEW_IAR" -> Just TypeTrueviewIar+        "TYPE_VERIFICATION" -> Just TypeVerification+        "TYPE_YOUTUBE_VERTICAL" -> Just TypeYouTubeVertical+        _ -> Nothing++instance ToText ParametersType where+    toText = \case+        TypeActiveGrp -> "TYPE_ACTIVE_GRP"+        TypeAudienceComPosition -> "TYPE_AUDIENCE_COMPOSITION"+        TypeAudiencePerformance -> "TYPE_AUDIENCE_PERFORMANCE"+        TypeClientSafe -> "TYPE_CLIENT_SAFE"+        TypeComscoreVce -> "TYPE_COMSCORE_VCE"+        TypeCrossFee -> "TYPE_CROSS_FEE"+        TypeCrossPartner -> "TYPE_CROSS_PARTNER"+        TypeCrossPartnerThirdPartyDataProvider -> "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER"+        TypeEstimatedConversion -> "TYPE_ESTIMATED_CONVERSION"+        TypeFee -> "TYPE_FEE"+        TypeGeneral -> "TYPE_GENERAL"+        TypeInventoryAvailability -> "TYPE_INVENTORY_AVAILABILITY"+        TypeKeyword -> "TYPE_KEYWORD"+        TypeNielsenAudienceProFile -> "TYPE_NIELSEN_AUDIENCE_PROFILE"+        TypeNielsenDailyReachBuild -> "TYPE_NIELSEN_DAILY_REACH_BUILD"+        TypeNielsenOnlineGlobalMarket -> "TYPE_NIELSEN_ONLINE_GLOBAL_MARKET"+        TypeNielsenSite -> "TYPE_NIELSEN_SITE"+        TypeOrderId -> "TYPE_ORDER_ID"+        TypePageCategory -> "TYPE_PAGE_CATEGORY"+        TypePixelLoad -> "TYPE_PIXEL_LOAD"+        TypeReachAndFrequency -> "TYPE_REACH_AND_FREQUENCY"+        TypeThirdPartyDataProvider -> "TYPE_THIRD_PARTY_DATA_PROVIDER"+        TypeTrueview -> "TYPE_TRUEVIEW"+        TypeTrueviewIar -> "TYPE_TRUEVIEW_IAR"+        TypeVerification -> "TYPE_VERIFICATION"+        TypeYouTubeVertical -> "TYPE_YOUTUBE_VERTICAL"++instance FromJSON ParametersType where+    parseJSON = parseJSONText "ParametersType"++instance ToJSON ParametersType where+    toJSON = toJSONText++-- | Filter type used to filter line items to fetch.+data DownloadLineItemsRequestFilterType+    = AdvertiserId+      -- ^ @ADVERTISER_ID@+    | InsertionOrderId+      -- ^ @INSERTION_ORDER_ID@+    | LineItemId+      -- ^ @LINE_ITEM_ID@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DownloadLineItemsRequestFilterType++instance FromText DownloadLineItemsRequestFilterType where+    fromText = \case+        "ADVERTISER_ID" -> Just AdvertiserId+        "INSERTION_ORDER_ID" -> Just InsertionOrderId+        "LINE_ITEM_ID" -> Just LineItemId+        _ -> Nothing++instance ToText DownloadLineItemsRequestFilterType where+    toText = \case+        AdvertiserId -> "ADVERTISER_ID"+        InsertionOrderId -> "INSERTION_ORDER_ID"+        LineItemId -> "LINE_ITEM_ID"++instance FromJSON DownloadLineItemsRequestFilterType where+    parseJSON = parseJSONText "DownloadLineItemsRequestFilterType"++instance ToJSON DownloadLineItemsRequestFilterType where+    toJSON = toJSONText++-- | Range of report data.+data QueryMetadataDataRange+    = AllTime+      -- ^ @ALL_TIME@+    | CurrentDay+      -- ^ @CURRENT_DAY@+    | CustomDates+      -- ^ @CUSTOM_DATES@+    | Last14Days+      -- ^ @LAST_14_DAYS@+    | Last30Days+      -- ^ @LAST_30_DAYS@+    | Last365Days+      -- ^ @LAST_365_DAYS@+    | Last7Days+      -- ^ @LAST_7_DAYS@+    | Last90Days+      -- ^ @LAST_90_DAYS@+    | MonthToDate+      -- ^ @MONTH_TO_DATE@+    | PreviousDay+      -- ^ @PREVIOUS_DAY@+    | PreviousHalfMonth+      -- ^ @PREVIOUS_HALF_MONTH@+    | PreviousMonth+      -- ^ @PREVIOUS_MONTH@+    | PreviousQuarter+      -- ^ @PREVIOUS_QUARTER@+    | PreviousWeek+      -- ^ @PREVIOUS_WEEK@+    | PreviousYear+      -- ^ @PREVIOUS_YEAR@+    | QuarterToDate+      -- ^ @QUARTER_TO_DATE@+    | WeekToDate+      -- ^ @WEEK_TO_DATE@+    | YearToDate+      -- ^ @YEAR_TO_DATE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable QueryMetadataDataRange++instance FromText QueryMetadataDataRange where+    fromText = \case+        "ALL_TIME" -> Just AllTime+        "CURRENT_DAY" -> Just CurrentDay+        "CUSTOM_DATES" -> Just CustomDates+        "LAST_14_DAYS" -> Just Last14Days+        "LAST_30_DAYS" -> Just Last30Days+        "LAST_365_DAYS" -> Just Last365Days+        "LAST_7_DAYS" -> Just Last7Days+        "LAST_90_DAYS" -> Just Last90Days+        "MONTH_TO_DATE" -> Just MonthToDate+        "PREVIOUS_DAY" -> Just PreviousDay+        "PREVIOUS_HALF_MONTH" -> Just PreviousHalfMonth+        "PREVIOUS_MONTH" -> Just PreviousMonth+        "PREVIOUS_QUARTER" -> Just PreviousQuarter+        "PREVIOUS_WEEK" -> Just PreviousWeek+        "PREVIOUS_YEAR" -> Just PreviousYear+        "QUARTER_TO_DATE" -> Just QuarterToDate+        "WEEK_TO_DATE" -> Just WeekToDate+        "YEAR_TO_DATE" -> Just YearToDate+        _ -> Nothing++instance ToText QueryMetadataDataRange where+    toText = \case+        AllTime -> "ALL_TIME"+        CurrentDay -> "CURRENT_DAY"+        CustomDates -> "CUSTOM_DATES"+        Last14Days -> "LAST_14_DAYS"+        Last30Days -> "LAST_30_DAYS"+        Last365Days -> "LAST_365_DAYS"+        Last7Days -> "LAST_7_DAYS"+        Last90Days -> "LAST_90_DAYS"+        MonthToDate -> "MONTH_TO_DATE"+        PreviousDay -> "PREVIOUS_DAY"+        PreviousHalfMonth -> "PREVIOUS_HALF_MONTH"+        PreviousMonth -> "PREVIOUS_MONTH"+        PreviousQuarter -> "PREVIOUS_QUARTER"+        PreviousWeek -> "PREVIOUS_WEEK"+        PreviousYear -> "PREVIOUS_YEAR"+        QuarterToDate -> "QUARTER_TO_DATE"+        WeekToDate -> "WEEK_TO_DATE"+        YearToDate -> "YEAR_TO_DATE"++instance FromJSON QueryMetadataDataRange where+    parseJSON = parseJSONText "QueryMetadataDataRange"++instance ToJSON QueryMetadataDataRange where+    toJSON = toJSONText++data ParametersMetricsItem+    = MetricBidRequests+      -- ^ @METRIC_BID_REQUESTS@+    | MetricBillableCostAdvertiser+      -- ^ @METRIC_BILLABLE_COST_ADVERTISER@+    | MetricBillableCostPartner+      -- ^ @METRIC_BILLABLE_COST_PARTNER@+    | MetricBillableCostUsd+      -- ^ @METRIC_BILLABLE_COST_USD@+    | MetricClicks+      -- ^ @METRIC_CLICKS@+    | MetricClickToPostClickConversionRate+      -- ^ @METRIC_CLICK_TO_POST_CLICK_CONVERSION_RATE@+    | MetricComscoreVceAudienceAvgFrequency+      -- ^ @METRIC_COMSCORE_VCE_AUDIENCE_AVG_FREQUENCY@+    | MetricComscoreVceAudienceImpressions+      -- ^ @METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS@+    | MetricComscoreVceAudienceImpressionsShare+      -- ^ @METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS_SHARE@+    | MetricComscoreVceAudienceReachPct+      -- ^ @METRIC_COMSCORE_VCE_AUDIENCE_REACH_PCT@+    | MetricComscoreVceAudienceSharePct+      -- ^ @METRIC_COMSCORE_VCE_AUDIENCE_SHARE_PCT@+    | MetricComscoreVceGrossRatingPoints+      -- ^ @METRIC_COMSCORE_VCE_GROSS_RATING_POINTS@+    | MetricComscoreVcePopulation+      -- ^ @METRIC_COMSCORE_VCE_POPULATION@+    | MetricComscoreVceUniqueAudience+      -- ^ @METRIC_COMSCORE_VCE_UNIQUE_AUDIENCE@+    | MetricConversionsPerMille+      -- ^ @METRIC_CONVERSIONS_PER_MILLE@+    | MetricCpmFEE1Advertiser+      -- ^ @METRIC_CPM_FEE1_ADVERTISER@+    | MetricCpmFEE1Partner+      -- ^ @METRIC_CPM_FEE1_PARTNER@+    | MetricCpmFEE1Usd+      -- ^ @METRIC_CPM_FEE1_USD@+    | MetricCpmFEE2Advertiser+      -- ^ @METRIC_CPM_FEE2_ADVERTISER@+    | MetricCpmFEE2Partner+      -- ^ @METRIC_CPM_FEE2_PARTNER@+    | MetricCpmFEE2Usd+      -- ^ @METRIC_CPM_FEE2_USD@+    | MetricCpmFEE3Advertiser+      -- ^ @METRIC_CPM_FEE3_ADVERTISER@+    | MetricCpmFEE3Partner+      -- ^ @METRIC_CPM_FEE3_PARTNER@+    | MetricCpmFEE3Usd+      -- ^ @METRIC_CPM_FEE3_USD@+    | MetricCpmFEE4Advertiser+      -- ^ @METRIC_CPM_FEE4_ADVERTISER@+    | MetricCpmFEE4Partner+      -- ^ @METRIC_CPM_FEE4_PARTNER@+    | MetricCpmFEE4Usd+      -- ^ @METRIC_CPM_FEE4_USD@+    | MetricCpmFEE5Advertiser+      -- ^ @METRIC_CPM_FEE5_ADVERTISER@+    | MetricCpmFEE5Partner+      -- ^ @METRIC_CPM_FEE5_PARTNER@+    | MetricCpmFEE5Usd+      -- ^ @METRIC_CPM_FEE5_USD@+    | MetricCtr+      -- ^ @METRIC_CTR@+    | MetricDataCostAdvertiser+      -- ^ @METRIC_DATA_COST_ADVERTISER@+    | MetricDataCostPartner+      -- ^ @METRIC_DATA_COST_PARTNER@+    | MetricDataCostUsd+      -- ^ @METRIC_DATA_COST_USD@+    | MetricFEE10Advertiser+      -- ^ @METRIC_FEE10_ADVERTISER@+    | MetricFEE10Partner+      -- ^ @METRIC_FEE10_PARTNER@+    | MetricFEE10Usd+      -- ^ @METRIC_FEE10_USD@+    | MetricFEE11Advertiser+      -- ^ @METRIC_FEE11_ADVERTISER@+    | MetricFEE11Partner+      -- ^ @METRIC_FEE11_PARTNER@+    | MetricFEE11Usd+      -- ^ @METRIC_FEE11_USD@+    | MetricFEE12Advertiser+      -- ^ @METRIC_FEE12_ADVERTISER@+    | MetricFEE12Partner+      -- ^ @METRIC_FEE12_PARTNER@+    | MetricFEE12Usd+      -- ^ @METRIC_FEE12_USD@+    | MetricFEE13Advertiser+      -- ^ @METRIC_FEE13_ADVERTISER@+    | MetricFEE13Partner+      -- ^ @METRIC_FEE13_PARTNER@+    | MetricFEE13Usd+      -- ^ @METRIC_FEE13_USD@+    | MetricFEE14Advertiser+      -- ^ @METRIC_FEE14_ADVERTISER@+    | MetricFEE14Partner+      -- ^ @METRIC_FEE14_PARTNER@+    | MetricFEE14Usd+      -- ^ @METRIC_FEE14_USD@+    | MetricFEE15Advertiser+      -- ^ @METRIC_FEE15_ADVERTISER@+    | MetricFEE15Partner+      -- ^ @METRIC_FEE15_PARTNER@+    | MetricFEE15Usd+      -- ^ @METRIC_FEE15_USD@+    | MetricFEE16Advertiser+      -- ^ @METRIC_FEE16_ADVERTISER@+    | MetricFEE16Partner+      -- ^ @METRIC_FEE16_PARTNER@+    | MetricFEE16Usd+      -- ^ @METRIC_FEE16_USD@+    | MetricFEE17Advertiser+      -- ^ @METRIC_FEE17_ADVERTISER@+    | MetricFEE17Partner+      -- ^ @METRIC_FEE17_PARTNER@+    | MetricFEE17Usd+      -- ^ @METRIC_FEE17_USD@+    | MetricFEE18Advertiser+      -- ^ @METRIC_FEE18_ADVERTISER@+    | MetricFEE18Partner+      -- ^ @METRIC_FEE18_PARTNER@+    | MetricFEE18Usd+      -- ^ @METRIC_FEE18_USD@+    | MetricFEE19Advertiser+      -- ^ @METRIC_FEE19_ADVERTISER@+    | MetricFEE19Partner+      -- ^ @METRIC_FEE19_PARTNER@+    | MetricFEE19Usd+      -- ^ @METRIC_FEE19_USD@+    | MetricFEE20Advertiser+      -- ^ @METRIC_FEE20_ADVERTISER@+    | MetricFEE20Partner+      -- ^ @METRIC_FEE20_PARTNER@+    | MetricFEE20Usd+      -- ^ @METRIC_FEE20_USD@+    | MetricFEE21Advertiser+      -- ^ @METRIC_FEE21_ADVERTISER@+    | MetricFEE21Partner+      -- ^ @METRIC_FEE21_PARTNER@+    | MetricFEE21Usd+      -- ^ @METRIC_FEE21_USD@+    | MetricFEE22Advertiser+      -- ^ @METRIC_FEE22_ADVERTISER@+    | MetricFEE22Partner+      -- ^ @METRIC_FEE22_PARTNER@+    | MetricFEE22Usd+      -- ^ @METRIC_FEE22_USD@+    | MetricFEE2Advertiser+      -- ^ @METRIC_FEE2_ADVERTISER@+    | MetricFEE2Partner+      -- ^ @METRIC_FEE2_PARTNER@+    | MetricFEE2Usd+      -- ^ @METRIC_FEE2_USD@+    | MetricFEE3Advertiser+      -- ^ @METRIC_FEE3_ADVERTISER@+    | MetricFEE3Partner+      -- ^ @METRIC_FEE3_PARTNER@+    | MetricFEE3Usd+      -- ^ @METRIC_FEE3_USD@+    | MetricFEE4Advertiser+      -- ^ @METRIC_FEE4_ADVERTISER@+    | MetricFEE4Partner+      -- ^ @METRIC_FEE4_PARTNER@+    | MetricFEE4Usd+      -- ^ @METRIC_FEE4_USD@+    | MetricFEE5Advertiser+      -- ^ @METRIC_FEE5_ADVERTISER@+    | MetricFEE5Partner+      -- ^ @METRIC_FEE5_PARTNER@+    | MetricFEE5Usd+      -- ^ @METRIC_FEE5_USD@+    | MetricFEE6Advertiser+      -- ^ @METRIC_FEE6_ADVERTISER@+    | MetricFEE6Partner+      -- ^ @METRIC_FEE6_PARTNER@+    | MetricFEE6Usd+      -- ^ @METRIC_FEE6_USD@+    | MetricFEE7Advertiser+      -- ^ @METRIC_FEE7_ADVERTISER@+    | MetricFEE7Partner+      -- ^ @METRIC_FEE7_PARTNER@+    | MetricFEE7Usd+      -- ^ @METRIC_FEE7_USD@+    | MetricFEE8Advertiser+      -- ^ @METRIC_FEE8_ADVERTISER@+    | MetricFEE8Partner+      -- ^ @METRIC_FEE8_PARTNER@+    | MetricFEE8Usd+      -- ^ @METRIC_FEE8_USD@+    | MetricFEE9Advertiser+      -- ^ @METRIC_FEE9_ADVERTISER@+    | MetricFEE9Partner+      -- ^ @METRIC_FEE9_PARTNER@+    | MetricFEE9Usd+      -- ^ @METRIC_FEE9_USD@+    | MetricImpressions+      -- ^ @METRIC_IMPRESSIONS@+    | MetricImpressionsToConversionRate+      -- ^ @METRIC_IMPRESSIONS_TO_CONVERSION_RATE@+    | MetricLastClicks+      -- ^ @METRIC_LAST_CLICKS@+    | MetricLastImpressions+      -- ^ @METRIC_LAST_IMPRESSIONS@+    | MetricMediaCostAdvertiser+      -- ^ @METRIC_MEDIA_COST_ADVERTISER@+    | MetricMediaCostEcpapcAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPAPC_ADVERTISER@+    | MetricMediaCostEcpapcPartner+      -- ^ @METRIC_MEDIA_COST_ECPAPC_PARTNER@+    | MetricMediaCostEcpapcUsd+      -- ^ @METRIC_MEDIA_COST_ECPAPC_USD@+    | MetricMediaCostEcpapvAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPAPV_ADVERTISER@+    | MetricMediaCostEcpapvPartner+      -- ^ @METRIC_MEDIA_COST_ECPAPV_PARTNER@+    | MetricMediaCostEcpapvUsd+      -- ^ @METRIC_MEDIA_COST_ECPAPV_USD@+    | MetricMediaCostEcpaAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPA_ADVERTISER@+    | MetricMediaCostEcpaPartner+      -- ^ @METRIC_MEDIA_COST_ECPA_PARTNER@+    | MetricMediaCostEcpaUsd+      -- ^ @METRIC_MEDIA_COST_ECPA_USD@+    | MetricMediaCostEcpcvAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPCV_ADVERTISER@+    | MetricMediaCostEcpcvPartner+      -- ^ @METRIC_MEDIA_COST_ECPCV_PARTNER@+    | MetricMediaCostEcpcvUsd+      -- ^ @METRIC_MEDIA_COST_ECPCV_USD@+    | MetricMediaCostEcpcAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPC_ADVERTISER@+    | MetricMediaCostEcpcPartner+      -- ^ @METRIC_MEDIA_COST_ECPC_PARTNER@+    | MetricMediaCostEcpcUsd+      -- ^ @METRIC_MEDIA_COST_ECPC_USD@+    | MetricMediaCostEcpmAdvertiser+      -- ^ @METRIC_MEDIA_COST_ECPM_ADVERTISER@+    | MetricMediaCostEcpmPartner+      -- ^ @METRIC_MEDIA_COST_ECPM_PARTNER@+    | MetricMediaCostEcpmUsd+      -- ^ @METRIC_MEDIA_COST_ECPM_USD@+    | MetricMediaCostPartner+      -- ^ @METRIC_MEDIA_COST_PARTNER@+    | MetricMediaCostUsd+      -- ^ @METRIC_MEDIA_COST_USD@+    | MetricMediaCostViewableEcpmAdvertiser+      -- ^ @METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER@+    | MetricMediaCostViewableEcpmPartner+      -- ^ @METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER@+    | MetricMediaCostViewableEcpmUsd+      -- ^ @METRIC_MEDIA_COST_VIEWABLE_ECPM_USD@+    | MetricMediaFEE1Advertiser+      -- ^ @METRIC_MEDIA_FEE1_ADVERTISER@+    | MetricMediaFEE1Partner+      -- ^ @METRIC_MEDIA_FEE1_PARTNER@+    | MetricMediaFEE1Usd+      -- ^ @METRIC_MEDIA_FEE1_USD@+    | MetricMediaFEE2Advertiser+      -- ^ @METRIC_MEDIA_FEE2_ADVERTISER@+    | MetricMediaFEE2Partner+      -- ^ @METRIC_MEDIA_FEE2_PARTNER@+    | MetricMediaFEE2Usd+      -- ^ @METRIC_MEDIA_FEE2_USD@+    | MetricMediaFEE3Advertiser+      -- ^ @METRIC_MEDIA_FEE3_ADVERTISER@+    | MetricMediaFEE3Partner+      -- ^ @METRIC_MEDIA_FEE3_PARTNER@+    | MetricMediaFEE3Usd+      -- ^ @METRIC_MEDIA_FEE3_USD@+    | MetricMediaFEE4Advertiser+      -- ^ @METRIC_MEDIA_FEE4_ADVERTISER@+    | MetricMediaFEE4Partner+      -- ^ @METRIC_MEDIA_FEE4_PARTNER@+    | MetricMediaFEE4Usd+      -- ^ @METRIC_MEDIA_FEE4_USD@+    | MetricMediaFEE5Advertiser+      -- ^ @METRIC_MEDIA_FEE5_ADVERTISER@+    | MetricMediaFEE5Partner+      -- ^ @METRIC_MEDIA_FEE5_PARTNER@+    | MetricMediaFEE5Usd+      -- ^ @METRIC_MEDIA_FEE5_USD@+    | MetricPixelLoads+      -- ^ @METRIC_PIXEL_LOADS@+    | MetricPlatformFeeAdvertiser+      -- ^ @METRIC_PLATFORM_FEE_ADVERTISER@+    | MetricPlatformFeePartner+      -- ^ @METRIC_PLATFORM_FEE_PARTNER@+    | MetricPlatformFeeUsd+      -- ^ @METRIC_PLATFORM_FEE_USD@+    | MetricPostClickDfaRevenue+      -- ^ @METRIC_POST_CLICK_DFA_REVENUE@+    | MetricPostViewDfaRevenue+      -- ^ @METRIC_POST_VIEW_DFA_REVENUE@+    | MetricProfitAdvertiser+      -- ^ @METRIC_PROFIT_ADVERTISER@+    | MetricProfitEcpapcAdvertiser+      -- ^ @METRIC_PROFIT_ECPAPC_ADVERTISER@+    | MetricProfitEcpapcPartner+      -- ^ @METRIC_PROFIT_ECPAPC_PARTNER@+    | MetricProfitEcpapcUsd+      -- ^ @METRIC_PROFIT_ECPAPC_USD@+    | MetricProfitEcpapvAdvertiser+      -- ^ @METRIC_PROFIT_ECPAPV_ADVERTISER@+    | MetricProfitEcpapvPartner+      -- ^ @METRIC_PROFIT_ECPAPV_PARTNER@+    | MetricProfitEcpapvUsd+      -- ^ @METRIC_PROFIT_ECPAPV_USD@+    | MetricProfitEcpaAdvertiser+      -- ^ @METRIC_PROFIT_ECPA_ADVERTISER@+    | MetricProfitEcpaPartner+      -- ^ @METRIC_PROFIT_ECPA_PARTNER@+    | MetricProfitEcpaUsd+      -- ^ @METRIC_PROFIT_ECPA_USD@+    | MetricProfitEcpcAdvertiser+      -- ^ @METRIC_PROFIT_ECPC_ADVERTISER@+    | MetricProfitEcpcPartner+      -- ^ @METRIC_PROFIT_ECPC_PARTNER@+    | MetricProfitEcpcUsd+      -- ^ @METRIC_PROFIT_ECPC_USD@+    | MetricProfitEcpmAdvertiser+      -- ^ @METRIC_PROFIT_ECPM_ADVERTISER@+    | MetricProfitEcpmPartner+      -- ^ @METRIC_PROFIT_ECPM_PARTNER@+    | MetricProfitEcpmUsd+      -- ^ @METRIC_PROFIT_ECPM_USD@+    | MetricProfitMargin+      -- ^ @METRIC_PROFIT_MARGIN@+    | MetricProfitPartner+      -- ^ @METRIC_PROFIT_PARTNER@+    | MetricProfitUsd+      -- ^ @METRIC_PROFIT_USD@+    | MetricProfitViewableEcpmAdvertiser+      -- ^ @METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER@+    | MetricProfitViewableEcpmPartner+      -- ^ @METRIC_PROFIT_VIEWABLE_ECPM_PARTNER@+    | MetricProfitViewableEcpmUsd+      -- ^ @METRIC_PROFIT_VIEWABLE_ECPM_USD@+    | MetricRevenueAdvertiser+      -- ^ @METRIC_REVENUE_ADVERTISER@+    | MetricRevenueEcpapcAdvertiser+      -- ^ @METRIC_REVENUE_ECPAPC_ADVERTISER@+    | MetricRevenueEcpapcPartner+      -- ^ @METRIC_REVENUE_ECPAPC_PARTNER@+    | MetricRevenueEcpapcUsd+      -- ^ @METRIC_REVENUE_ECPAPC_USD@+    | MetricRevenueEcpapvAdvertiser+      -- ^ @METRIC_REVENUE_ECPAPV_ADVERTISER@+    | MetricRevenueEcpapvPartner+      -- ^ @METRIC_REVENUE_ECPAPV_PARTNER@+    | MetricRevenueEcpapvUsd+      -- ^ @METRIC_REVENUE_ECPAPV_USD@+    | MetricRevenueEcpaAdvertiser+      -- ^ @METRIC_REVENUE_ECPA_ADVERTISER@+    | MetricRevenueEcpaPartner+      -- ^ @METRIC_REVENUE_ECPA_PARTNER@+    | MetricRevenueEcpaUsd+      -- ^ @METRIC_REVENUE_ECPA_USD@+    | MetricRevenueEcpcvAdvertiser+      -- ^ @METRIC_REVENUE_ECPCV_ADVERTISER@+    | MetricRevenueEcpcvPartner+      -- ^ @METRIC_REVENUE_ECPCV_PARTNER@+    | MetricRevenueEcpcvUsd+      -- ^ @METRIC_REVENUE_ECPCV_USD@+    | MetricRevenueEcpcAdvertiser+      -- ^ @METRIC_REVENUE_ECPC_ADVERTISER@+    | MetricRevenueEcpcPartner+      -- ^ @METRIC_REVENUE_ECPC_PARTNER@+    | MetricRevenueEcpcUsd+      -- ^ @METRIC_REVENUE_ECPC_USD@+    | MetricRevenueEcpmAdvertiser+      -- ^ @METRIC_REVENUE_ECPM_ADVERTISER@+    | MetricRevenueEcpmPartner+      -- ^ @METRIC_REVENUE_ECPM_PARTNER@+    | MetricRevenueEcpmUsd+      -- ^ @METRIC_REVENUE_ECPM_USD@+    | MetricRevenuePartner+      -- ^ @METRIC_REVENUE_PARTNER@+    | MetricRevenueUsd+      -- ^ @METRIC_REVENUE_USD@+    | MetricRevenueViewableEcpmAdvertiser+      -- ^ @METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER@+    | MetricRevenueViewableEcpmPartner+      -- ^ @METRIC_REVENUE_VIEWABLE_ECPM_PARTNER@+    | MetricRevenueViewableEcpmUsd+      -- ^ @METRIC_REVENUE_VIEWABLE_ECPM_USD@+    | MetricRichMediaVideoCompletions+      -- ^ @METRIC_RICH_MEDIA_VIDEO_COMPLETIONS@+    | MetricRichMediaVideoFirstQuartileCompletes+      -- ^ @METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES@+    | MetricRichMediaVideoFullScreens+      -- ^ @METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS@+    | MetricRichMediaVideoMidpoints+      -- ^ @METRIC_RICH_MEDIA_VIDEO_MIDPOINTS@+    | MetricRichMediaVideoMutes+      -- ^ @METRIC_RICH_MEDIA_VIDEO_MUTES@+    | MetricRichMediaVideoPauses+      -- ^ @METRIC_RICH_MEDIA_VIDEO_PAUSES@+    | MetricRichMediaVideoPlays+      -- ^ @METRIC_RICH_MEDIA_VIDEO_PLAYS@+    | MetricRichMediaVideoSkips+      -- ^ @METRIC_RICH_MEDIA_VIDEO_SKIPS@+    | MetricRichMediaVideoThirdQuartileCompletes+      -- ^ @METRIC_RICH_MEDIA_VIDEO_THIRD_QUARTILE_COMPLETES@+    | MetricTeaTrueviewImpressions+      -- ^ @METRIC_TEA_TRUEVIEW_IMPRESSIONS@+    | MetricTeaTrueviewUniqueCookies+      -- ^ @METRIC_TEA_TRUEVIEW_UNIQUE_COOKIES@+    | MetricTeaTrueviewUniquePeople+      -- ^ @METRIC_TEA_TRUEVIEW_UNIQUE_PEOPLE@+    | MetricTotalConversions+      -- ^ @METRIC_TOTAL_CONVERSIONS@+    | MetricTotalMediaCostAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ADVERTISER@+    | MetricTotalMediaCostEcpapcAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPC_ADVERTISER@+    | MetricTotalMediaCostEcpapcPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPC_PARTNER@+    | MetricTotalMediaCostEcpapcUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPC_USD@+    | MetricTotalMediaCostEcpapvAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPV_ADVERTISER@+    | MetricTotalMediaCostEcpapvPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPV_PARTNER@+    | MetricTotalMediaCostEcpapvUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPAPV_USD@+    | MetricTotalMediaCostEcpaAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPA_ADVERTISER@+    | MetricTotalMediaCostEcpaPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPA_PARTNER@+    | MetricTotalMediaCostEcpaUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPA_USD@+    | MetricTotalMediaCostEcpcvAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPCV_ADVERTISER@+    | MetricTotalMediaCostEcpcvPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPCV_PARTNER@+    | MetricTotalMediaCostEcpcvUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPCV_USD@+    | MetricTotalMediaCostEcpcAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPC_ADVERTISER@+    | MetricTotalMediaCostEcpcPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPC_PARTNER@+    | MetricTotalMediaCostEcpcUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPC_USD@+    | MetricTotalMediaCostEcpmAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPM_ADVERTISER@+    | MetricTotalMediaCostEcpmPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPM_PARTNER@+    | MetricTotalMediaCostEcpmUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_ECPM_USD@+    | MetricTotalMediaCostPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_PARTNER@+    | MetricTotalMediaCostUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_USD@+    | MetricTotalMediaCostViewableEcpmAdvertiser+      -- ^ @METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER@+    | MetricTotalMediaCostViewableEcpmPartner+      -- ^ @METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER@+    | MetricTotalMediaCostViewableEcpmUsd+      -- ^ @METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD@+    | MetricTrueviewConversionCostManyPerViewAdvertiser+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER@+    | MetricTrueviewConversionCostManyPerViewPartner+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER@+    | MetricTrueviewConversionCostManyPerViewUsd+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD@+    | MetricTrueviewConversionCostOnePerViewAdvertiser+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_ADVERTISER@+    | MetricTrueviewConversionCostOnePerViewPartner+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_PARTNER@+    | MetricTrueviewConversionCostOnePerViewUsd+      -- ^ @METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_USD@+    | MetricTrueviewConversionManyPerView+      -- ^ @METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW@+    | MetricTrueviewConversionOnePerView+      -- ^ @METRIC_TRUEVIEW_CONVERSION_ONE_PER_VIEW@+    | MetricTrueviewConversionRateOnePerView+      -- ^ @METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW@+    | MetricTrueviewConversionValueManyPerViewAdvertiser+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_ADVERTISER@+    | MetricTrueviewConversionValueManyPerViewPartner+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_PARTNER@+    | MetricTrueviewConversionValueManyPerViewUsd+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_USD@+    | MetricTrueviewConversionValueOnePerViewAdvertiser+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_ADVERTISER@+    | MetricTrueviewConversionValueOnePerViewPartner+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_PARTNER@+    | MetricTrueviewConversionValueOnePerViewUsd+      -- ^ @METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_USD@+    | MetricTrueviewCostConversionManyPerViewRatio+      -- ^ @METRIC_TRUEVIEW_COST_CONVERSION_MANY_PER_VIEW_RATIO@+    | MetricTrueviewCostConversionOnePerViewRatio+      -- ^ @METRIC_TRUEVIEW_COST_CONVERSION_ONE_PER_VIEW_RATIO@+    | MetricTrueviewCpvAdvertiser+      -- ^ @METRIC_TRUEVIEW_CPV_ADVERTISER@+    | MetricTrueviewCpvPartner+      -- ^ @METRIC_TRUEVIEW_CPV_PARTNER@+    | MetricTrueviewCpvUsd+      -- ^ @METRIC_TRUEVIEW_CPV_USD@+    | MetricTrueviewEarnedLikes+      -- ^ @METRIC_TRUEVIEW_EARNED_LIKES@+    | MetricTrueviewEarnedPlayListAdditions+      -- ^ @METRIC_TRUEVIEW_EARNED_PLAYLIST_ADDITIONS@+    | MetricTrueviewEarnedShares+      -- ^ @METRIC_TRUEVIEW_EARNED_SHARES@+    | MetricTrueviewEarnedSubscribers+      -- ^ @METRIC_TRUEVIEW_EARNED_SUBSCRIBERS@+    | MetricTrueviewEarnedViews+      -- ^ @METRIC_TRUEVIEW_EARNED_VIEWS@+    | MetricTrueviewImpressionShare+      -- ^ @METRIC_TRUEVIEW_IMPRESSION_SHARE@+    | MetricTrueviewLostIsBudget+      -- ^ @METRIC_TRUEVIEW_LOST_IS_BUDGET@+    | MetricTrueviewLostIsRank+      -- ^ @METRIC_TRUEVIEW_LOST_IS_RANK@+    | MetricTrueviewTotalConversionValue+      -- ^ @METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUE@+    | MetricTrueviewTotalConversionValuesAdvertiser+      -- ^ @METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER@+    | MetricTrueviewTotalConversionValuesPartner+      -- ^ @METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER@+    | MetricTrueviewTotalConversionValuesUsd+      -- ^ @METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD@+    | MetricTrueviewUniqueViewers+      -- ^ @METRIC_TRUEVIEW_UNIQUE_VIEWERS@+    | MetricTrueviewValueConversionManyPerViewRatio+      -- ^ @METRIC_TRUEVIEW_VALUE_CONVERSION_MANY_PER_VIEW_RATIO@+    | MetricTrueviewValueConversionOnePerViewRatio+      -- ^ @METRIC_TRUEVIEW_VALUE_CONVERSION_ONE_PER_VIEW_RATIO@+    | MetricTrueviewViews+      -- ^ @METRIC_TRUEVIEW_VIEWS@+    | MetricTrueviewViewRate+      -- ^ @METRIC_TRUEVIEW_VIEW_RATE@+    | MetricTrueviewViewThroughConversion+      -- ^ @METRIC_TRUEVIEW_VIEW_THROUGH_CONVERSION@+    | MetricUniqueVisitorsCookies+      -- ^ @METRIC_UNIQUE_VISITORS_COOKIES@+    | MetricUnknown+      -- ^ @METRIC_UNKNOWN@+    | MetricVideoCompanionClicks+      -- ^ @METRIC_VIDEO_COMPANION_CLICKS@+    | MetricVideoCompanionImpressions+      -- ^ @METRIC_VIDEO_COMPANION_IMPRESSIONS@+    | MetricVideoCompletionRate+      -- ^ @METRIC_VIDEO_COMPLETION_RATE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ParametersMetricsItem++instance FromText ParametersMetricsItem where+    fromText = \case+        "METRIC_BID_REQUESTS" -> Just MetricBidRequests+        "METRIC_BILLABLE_COST_ADVERTISER" -> Just MetricBillableCostAdvertiser+        "METRIC_BILLABLE_COST_PARTNER" -> Just MetricBillableCostPartner+        "METRIC_BILLABLE_COST_USD" -> Just MetricBillableCostUsd+        "METRIC_CLICKS" -> Just MetricClicks+        "METRIC_CLICK_TO_POST_CLICK_CONVERSION_RATE" -> Just MetricClickToPostClickConversionRate+        "METRIC_COMSCORE_VCE_AUDIENCE_AVG_FREQUENCY" -> Just MetricComscoreVceAudienceAvgFrequency+        "METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS" -> Just MetricComscoreVceAudienceImpressions+        "METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS_SHARE" -> Just MetricComscoreVceAudienceImpressionsShare+        "METRIC_COMSCORE_VCE_AUDIENCE_REACH_PCT" -> Just MetricComscoreVceAudienceReachPct+        "METRIC_COMSCORE_VCE_AUDIENCE_SHARE_PCT" -> Just MetricComscoreVceAudienceSharePct+        "METRIC_COMSCORE_VCE_GROSS_RATING_POINTS" -> Just MetricComscoreVceGrossRatingPoints+        "METRIC_COMSCORE_VCE_POPULATION" -> Just MetricComscoreVcePopulation+        "METRIC_COMSCORE_VCE_UNIQUE_AUDIENCE" -> Just MetricComscoreVceUniqueAudience+        "METRIC_CONVERSIONS_PER_MILLE" -> Just MetricConversionsPerMille+        "METRIC_CPM_FEE1_ADVERTISER" -> Just MetricCpmFEE1Advertiser+        "METRIC_CPM_FEE1_PARTNER" -> Just MetricCpmFEE1Partner+        "METRIC_CPM_FEE1_USD" -> Just MetricCpmFEE1Usd+        "METRIC_CPM_FEE2_ADVERTISER" -> Just MetricCpmFEE2Advertiser+        "METRIC_CPM_FEE2_PARTNER" -> Just MetricCpmFEE2Partner+        "METRIC_CPM_FEE2_USD" -> Just MetricCpmFEE2Usd+        "METRIC_CPM_FEE3_ADVERTISER" -> Just MetricCpmFEE3Advertiser+        "METRIC_CPM_FEE3_PARTNER" -> Just MetricCpmFEE3Partner+        "METRIC_CPM_FEE3_USD" -> Just MetricCpmFEE3Usd+        "METRIC_CPM_FEE4_ADVERTISER" -> Just MetricCpmFEE4Advertiser+        "METRIC_CPM_FEE4_PARTNER" -> Just MetricCpmFEE4Partner+        "METRIC_CPM_FEE4_USD" -> Just MetricCpmFEE4Usd+        "METRIC_CPM_FEE5_ADVERTISER" -> Just MetricCpmFEE5Advertiser+        "METRIC_CPM_FEE5_PARTNER" -> Just MetricCpmFEE5Partner+        "METRIC_CPM_FEE5_USD" -> Just MetricCpmFEE5Usd+        "METRIC_CTR" -> Just MetricCtr+        "METRIC_DATA_COST_ADVERTISER" -> Just MetricDataCostAdvertiser+        "METRIC_DATA_COST_PARTNER" -> Just MetricDataCostPartner+        "METRIC_DATA_COST_USD" -> Just MetricDataCostUsd+        "METRIC_FEE10_ADVERTISER" -> Just MetricFEE10Advertiser+        "METRIC_FEE10_PARTNER" -> Just MetricFEE10Partner+        "METRIC_FEE10_USD" -> Just MetricFEE10Usd+        "METRIC_FEE11_ADVERTISER" -> Just MetricFEE11Advertiser+        "METRIC_FEE11_PARTNER" -> Just MetricFEE11Partner+        "METRIC_FEE11_USD" -> Just MetricFEE11Usd+        "METRIC_FEE12_ADVERTISER" -> Just MetricFEE12Advertiser+        "METRIC_FEE12_PARTNER" -> Just MetricFEE12Partner+        "METRIC_FEE12_USD" -> Just MetricFEE12Usd+        "METRIC_FEE13_ADVERTISER" -> Just MetricFEE13Advertiser+        "METRIC_FEE13_PARTNER" -> Just MetricFEE13Partner+        "METRIC_FEE13_USD" -> Just MetricFEE13Usd+        "METRIC_FEE14_ADVERTISER" -> Just MetricFEE14Advertiser+        "METRIC_FEE14_PARTNER" -> Just MetricFEE14Partner+        "METRIC_FEE14_USD" -> Just MetricFEE14Usd+        "METRIC_FEE15_ADVERTISER" -> Just MetricFEE15Advertiser+        "METRIC_FEE15_PARTNER" -> Just MetricFEE15Partner+        "METRIC_FEE15_USD" -> Just MetricFEE15Usd+        "METRIC_FEE16_ADVERTISER" -> Just MetricFEE16Advertiser+        "METRIC_FEE16_PARTNER" -> Just MetricFEE16Partner+        "METRIC_FEE16_USD" -> Just MetricFEE16Usd+        "METRIC_FEE17_ADVERTISER" -> Just MetricFEE17Advertiser+        "METRIC_FEE17_PARTNER" -> Just MetricFEE17Partner+        "METRIC_FEE17_USD" -> Just MetricFEE17Usd+        "METRIC_FEE18_ADVERTISER" -> Just MetricFEE18Advertiser+        "METRIC_FEE18_PARTNER" -> Just MetricFEE18Partner+        "METRIC_FEE18_USD" -> Just MetricFEE18Usd+        "METRIC_FEE19_ADVERTISER" -> Just MetricFEE19Advertiser+        "METRIC_FEE19_PARTNER" -> Just MetricFEE19Partner+        "METRIC_FEE19_USD" -> Just MetricFEE19Usd+        "METRIC_FEE20_ADVERTISER" -> Just MetricFEE20Advertiser+        "METRIC_FEE20_PARTNER" -> Just MetricFEE20Partner+        "METRIC_FEE20_USD" -> Just MetricFEE20Usd+        "METRIC_FEE21_ADVERTISER" -> Just MetricFEE21Advertiser+        "METRIC_FEE21_PARTNER" -> Just MetricFEE21Partner+        "METRIC_FEE21_USD" -> Just MetricFEE21Usd+        "METRIC_FEE22_ADVERTISER" -> Just MetricFEE22Advertiser+        "METRIC_FEE22_PARTNER" -> Just MetricFEE22Partner+        "METRIC_FEE22_USD" -> Just MetricFEE22Usd+        "METRIC_FEE2_ADVERTISER" -> Just MetricFEE2Advertiser+        "METRIC_FEE2_PARTNER" -> Just MetricFEE2Partner+        "METRIC_FEE2_USD" -> Just MetricFEE2Usd+        "METRIC_FEE3_ADVERTISER" -> Just MetricFEE3Advertiser+        "METRIC_FEE3_PARTNER" -> Just MetricFEE3Partner+        "METRIC_FEE3_USD" -> Just MetricFEE3Usd+        "METRIC_FEE4_ADVERTISER" -> Just MetricFEE4Advertiser+        "METRIC_FEE4_PARTNER" -> Just MetricFEE4Partner+        "METRIC_FEE4_USD" -> Just MetricFEE4Usd+        "METRIC_FEE5_ADVERTISER" -> Just MetricFEE5Advertiser+        "METRIC_FEE5_PARTNER" -> Just MetricFEE5Partner+        "METRIC_FEE5_USD" -> Just MetricFEE5Usd+        "METRIC_FEE6_ADVERTISER" -> Just MetricFEE6Advertiser+        "METRIC_FEE6_PARTNER" -> Just MetricFEE6Partner+        "METRIC_FEE6_USD" -> Just MetricFEE6Usd+        "METRIC_FEE7_ADVERTISER" -> Just MetricFEE7Advertiser+        "METRIC_FEE7_PARTNER" -> Just MetricFEE7Partner+        "METRIC_FEE7_USD" -> Just MetricFEE7Usd+        "METRIC_FEE8_ADVERTISER" -> Just MetricFEE8Advertiser+        "METRIC_FEE8_PARTNER" -> Just MetricFEE8Partner+        "METRIC_FEE8_USD" -> Just MetricFEE8Usd+        "METRIC_FEE9_ADVERTISER" -> Just MetricFEE9Advertiser+        "METRIC_FEE9_PARTNER" -> Just MetricFEE9Partner+        "METRIC_FEE9_USD" -> Just MetricFEE9Usd+        "METRIC_IMPRESSIONS" -> Just MetricImpressions+        "METRIC_IMPRESSIONS_TO_CONVERSION_RATE" -> Just MetricImpressionsToConversionRate+        "METRIC_LAST_CLICKS" -> Just MetricLastClicks+        "METRIC_LAST_IMPRESSIONS" -> Just MetricLastImpressions+        "METRIC_MEDIA_COST_ADVERTISER" -> Just MetricMediaCostAdvertiser+        "METRIC_MEDIA_COST_ECPAPC_ADVERTISER" -> Just MetricMediaCostEcpapcAdvertiser+        "METRIC_MEDIA_COST_ECPAPC_PARTNER" -> Just MetricMediaCostEcpapcPartner+        "METRIC_MEDIA_COST_ECPAPC_USD" -> Just MetricMediaCostEcpapcUsd+        "METRIC_MEDIA_COST_ECPAPV_ADVERTISER" -> Just MetricMediaCostEcpapvAdvertiser+        "METRIC_MEDIA_COST_ECPAPV_PARTNER" -> Just MetricMediaCostEcpapvPartner+        "METRIC_MEDIA_COST_ECPAPV_USD" -> Just MetricMediaCostEcpapvUsd+        "METRIC_MEDIA_COST_ECPA_ADVERTISER" -> Just MetricMediaCostEcpaAdvertiser+        "METRIC_MEDIA_COST_ECPA_PARTNER" -> Just MetricMediaCostEcpaPartner+        "METRIC_MEDIA_COST_ECPA_USD" -> Just MetricMediaCostEcpaUsd+        "METRIC_MEDIA_COST_ECPCV_ADVERTISER" -> Just MetricMediaCostEcpcvAdvertiser+        "METRIC_MEDIA_COST_ECPCV_PARTNER" -> Just MetricMediaCostEcpcvPartner+        "METRIC_MEDIA_COST_ECPCV_USD" -> Just MetricMediaCostEcpcvUsd+        "METRIC_MEDIA_COST_ECPC_ADVERTISER" -> Just MetricMediaCostEcpcAdvertiser+        "METRIC_MEDIA_COST_ECPC_PARTNER" -> Just MetricMediaCostEcpcPartner+        "METRIC_MEDIA_COST_ECPC_USD" -> Just MetricMediaCostEcpcUsd+        "METRIC_MEDIA_COST_ECPM_ADVERTISER" -> Just MetricMediaCostEcpmAdvertiser+        "METRIC_MEDIA_COST_ECPM_PARTNER" -> Just MetricMediaCostEcpmPartner+        "METRIC_MEDIA_COST_ECPM_USD" -> Just MetricMediaCostEcpmUsd+        "METRIC_MEDIA_COST_PARTNER" -> Just MetricMediaCostPartner+        "METRIC_MEDIA_COST_USD" -> Just MetricMediaCostUsd+        "METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER" -> Just MetricMediaCostViewableEcpmAdvertiser+        "METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER" -> Just MetricMediaCostViewableEcpmPartner+        "METRIC_MEDIA_COST_VIEWABLE_ECPM_USD" -> Just MetricMediaCostViewableEcpmUsd+        "METRIC_MEDIA_FEE1_ADVERTISER" -> Just MetricMediaFEE1Advertiser+        "METRIC_MEDIA_FEE1_PARTNER" -> Just MetricMediaFEE1Partner+        "METRIC_MEDIA_FEE1_USD" -> Just MetricMediaFEE1Usd+        "METRIC_MEDIA_FEE2_ADVERTISER" -> Just MetricMediaFEE2Advertiser+        "METRIC_MEDIA_FEE2_PARTNER" -> Just MetricMediaFEE2Partner+        "METRIC_MEDIA_FEE2_USD" -> Just MetricMediaFEE2Usd+        "METRIC_MEDIA_FEE3_ADVERTISER" -> Just MetricMediaFEE3Advertiser+        "METRIC_MEDIA_FEE3_PARTNER" -> Just MetricMediaFEE3Partner+        "METRIC_MEDIA_FEE3_USD" -> Just MetricMediaFEE3Usd+        "METRIC_MEDIA_FEE4_ADVERTISER" -> Just MetricMediaFEE4Advertiser+        "METRIC_MEDIA_FEE4_PARTNER" -> Just MetricMediaFEE4Partner+        "METRIC_MEDIA_FEE4_USD" -> Just MetricMediaFEE4Usd+        "METRIC_MEDIA_FEE5_ADVERTISER" -> Just MetricMediaFEE5Advertiser+        "METRIC_MEDIA_FEE5_PARTNER" -> Just MetricMediaFEE5Partner+        "METRIC_MEDIA_FEE5_USD" -> Just MetricMediaFEE5Usd+        "METRIC_PIXEL_LOADS" -> Just MetricPixelLoads+        "METRIC_PLATFORM_FEE_ADVERTISER" -> Just MetricPlatformFeeAdvertiser+        "METRIC_PLATFORM_FEE_PARTNER" -> Just MetricPlatformFeePartner+        "METRIC_PLATFORM_FEE_USD" -> Just MetricPlatformFeeUsd+        "METRIC_POST_CLICK_DFA_REVENUE" -> Just MetricPostClickDfaRevenue+        "METRIC_POST_VIEW_DFA_REVENUE" -> Just MetricPostViewDfaRevenue+        "METRIC_PROFIT_ADVERTISER" -> Just MetricProfitAdvertiser+        "METRIC_PROFIT_ECPAPC_ADVERTISER" -> Just MetricProfitEcpapcAdvertiser+        "METRIC_PROFIT_ECPAPC_PARTNER" -> Just MetricProfitEcpapcPartner+        "METRIC_PROFIT_ECPAPC_USD" -> Just MetricProfitEcpapcUsd+        "METRIC_PROFIT_ECPAPV_ADVERTISER" -> Just MetricProfitEcpapvAdvertiser+        "METRIC_PROFIT_ECPAPV_PARTNER" -> Just MetricProfitEcpapvPartner+        "METRIC_PROFIT_ECPAPV_USD" -> Just MetricProfitEcpapvUsd+        "METRIC_PROFIT_ECPA_ADVERTISER" -> Just MetricProfitEcpaAdvertiser+        "METRIC_PROFIT_ECPA_PARTNER" -> Just MetricProfitEcpaPartner+        "METRIC_PROFIT_ECPA_USD" -> Just MetricProfitEcpaUsd+        "METRIC_PROFIT_ECPC_ADVERTISER" -> Just MetricProfitEcpcAdvertiser+        "METRIC_PROFIT_ECPC_PARTNER" -> Just MetricProfitEcpcPartner+        "METRIC_PROFIT_ECPC_USD" -> Just MetricProfitEcpcUsd+        "METRIC_PROFIT_ECPM_ADVERTISER" -> Just MetricProfitEcpmAdvertiser+        "METRIC_PROFIT_ECPM_PARTNER" -> Just MetricProfitEcpmPartner+        "METRIC_PROFIT_ECPM_USD" -> Just MetricProfitEcpmUsd+        "METRIC_PROFIT_MARGIN" -> Just MetricProfitMargin+        "METRIC_PROFIT_PARTNER" -> Just MetricProfitPartner+        "METRIC_PROFIT_USD" -> Just MetricProfitUsd+        "METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER" -> Just MetricProfitViewableEcpmAdvertiser+        "METRIC_PROFIT_VIEWABLE_ECPM_PARTNER" -> Just MetricProfitViewableEcpmPartner+        "METRIC_PROFIT_VIEWABLE_ECPM_USD" -> Just MetricProfitViewableEcpmUsd+        "METRIC_REVENUE_ADVERTISER" -> Just MetricRevenueAdvertiser+        "METRIC_REVENUE_ECPAPC_ADVERTISER" -> Just MetricRevenueEcpapcAdvertiser+        "METRIC_REVENUE_ECPAPC_PARTNER" -> Just MetricRevenueEcpapcPartner+        "METRIC_REVENUE_ECPAPC_USD" -> Just MetricRevenueEcpapcUsd+        "METRIC_REVENUE_ECPAPV_ADVERTISER" -> Just MetricRevenueEcpapvAdvertiser+        "METRIC_REVENUE_ECPAPV_PARTNER" -> Just MetricRevenueEcpapvPartner+        "METRIC_REVENUE_ECPAPV_USD" -> Just MetricRevenueEcpapvUsd+        "METRIC_REVENUE_ECPA_ADVERTISER" -> Just MetricRevenueEcpaAdvertiser+        "METRIC_REVENUE_ECPA_PARTNER" -> Just MetricRevenueEcpaPartner+        "METRIC_REVENUE_ECPA_USD" -> Just MetricRevenueEcpaUsd+        "METRIC_REVENUE_ECPCV_ADVERTISER" -> Just MetricRevenueEcpcvAdvertiser+        "METRIC_REVENUE_ECPCV_PARTNER" -> Just MetricRevenueEcpcvPartner+        "METRIC_REVENUE_ECPCV_USD" -> Just MetricRevenueEcpcvUsd+        "METRIC_REVENUE_ECPC_ADVERTISER" -> Just MetricRevenueEcpcAdvertiser+        "METRIC_REVENUE_ECPC_PARTNER" -> Just MetricRevenueEcpcPartner+        "METRIC_REVENUE_ECPC_USD" -> Just MetricRevenueEcpcUsd+        "METRIC_REVENUE_ECPM_ADVERTISER" -> Just MetricRevenueEcpmAdvertiser+        "METRIC_REVENUE_ECPM_PARTNER" -> Just MetricRevenueEcpmPartner+        "METRIC_REVENUE_ECPM_USD" -> Just MetricRevenueEcpmUsd+        "METRIC_REVENUE_PARTNER" -> Just MetricRevenuePartner+        "METRIC_REVENUE_USD" -> Just MetricRevenueUsd+        "METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER" -> Just MetricRevenueViewableEcpmAdvertiser+        "METRIC_REVENUE_VIEWABLE_ECPM_PARTNER" -> Just MetricRevenueViewableEcpmPartner+        "METRIC_REVENUE_VIEWABLE_ECPM_USD" -> Just MetricRevenueViewableEcpmUsd+        "METRIC_RICH_MEDIA_VIDEO_COMPLETIONS" -> Just MetricRichMediaVideoCompletions+        "METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES" -> Just MetricRichMediaVideoFirstQuartileCompletes+        "METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS" -> Just MetricRichMediaVideoFullScreens+        "METRIC_RICH_MEDIA_VIDEO_MIDPOINTS" -> Just MetricRichMediaVideoMidpoints+        "METRIC_RICH_MEDIA_VIDEO_MUTES" -> Just MetricRichMediaVideoMutes+        "METRIC_RICH_MEDIA_VIDEO_PAUSES" -> Just MetricRichMediaVideoPauses+        "METRIC_RICH_MEDIA_VIDEO_PLAYS" -> Just MetricRichMediaVideoPlays+        "METRIC_RICH_MEDIA_VIDEO_SKIPS" -> Just MetricRichMediaVideoSkips+        "METRIC_RICH_MEDIA_VIDEO_THIRD_QUARTILE_COMPLETES" -> Just MetricRichMediaVideoThirdQuartileCompletes+        "METRIC_TEA_TRUEVIEW_IMPRESSIONS" -> Just MetricTeaTrueviewImpressions+        "METRIC_TEA_TRUEVIEW_UNIQUE_COOKIES" -> Just MetricTeaTrueviewUniqueCookies+        "METRIC_TEA_TRUEVIEW_UNIQUE_PEOPLE" -> Just MetricTeaTrueviewUniquePeople+        "METRIC_TOTAL_CONVERSIONS" -> Just MetricTotalConversions+        "METRIC_TOTAL_MEDIA_COST_ADVERTISER" -> Just MetricTotalMediaCostAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPAPC_ADVERTISER" -> Just MetricTotalMediaCostEcpapcAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPAPC_PARTNER" -> Just MetricTotalMediaCostEcpapcPartner+        "METRIC_TOTAL_MEDIA_COST_ECPAPC_USD" -> Just MetricTotalMediaCostEcpapcUsd+        "METRIC_TOTAL_MEDIA_COST_ECPAPV_ADVERTISER" -> Just MetricTotalMediaCostEcpapvAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPAPV_PARTNER" -> Just MetricTotalMediaCostEcpapvPartner+        "METRIC_TOTAL_MEDIA_COST_ECPAPV_USD" -> Just MetricTotalMediaCostEcpapvUsd+        "METRIC_TOTAL_MEDIA_COST_ECPA_ADVERTISER" -> Just MetricTotalMediaCostEcpaAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPA_PARTNER" -> Just MetricTotalMediaCostEcpaPartner+        "METRIC_TOTAL_MEDIA_COST_ECPA_USD" -> Just MetricTotalMediaCostEcpaUsd+        "METRIC_TOTAL_MEDIA_COST_ECPCV_ADVERTISER" -> Just MetricTotalMediaCostEcpcvAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPCV_PARTNER" -> Just MetricTotalMediaCostEcpcvPartner+        "METRIC_TOTAL_MEDIA_COST_ECPCV_USD" -> Just MetricTotalMediaCostEcpcvUsd+        "METRIC_TOTAL_MEDIA_COST_ECPC_ADVERTISER" -> Just MetricTotalMediaCostEcpcAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPC_PARTNER" -> Just MetricTotalMediaCostEcpcPartner+        "METRIC_TOTAL_MEDIA_COST_ECPC_USD" -> Just MetricTotalMediaCostEcpcUsd+        "METRIC_TOTAL_MEDIA_COST_ECPM_ADVERTISER" -> Just MetricTotalMediaCostEcpmAdvertiser+        "METRIC_TOTAL_MEDIA_COST_ECPM_PARTNER" -> Just MetricTotalMediaCostEcpmPartner+        "METRIC_TOTAL_MEDIA_COST_ECPM_USD" -> Just MetricTotalMediaCostEcpmUsd+        "METRIC_TOTAL_MEDIA_COST_PARTNER" -> Just MetricTotalMediaCostPartner+        "METRIC_TOTAL_MEDIA_COST_USD" -> Just MetricTotalMediaCostUsd+        "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER" -> Just MetricTotalMediaCostViewableEcpmAdvertiser+        "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER" -> Just MetricTotalMediaCostViewableEcpmPartner+        "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD" -> Just MetricTotalMediaCostViewableEcpmUsd+        "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER" -> Just MetricTrueviewConversionCostManyPerViewAdvertiser+        "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER" -> Just MetricTrueviewConversionCostManyPerViewPartner+        "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD" -> Just MetricTrueviewConversionCostManyPerViewUsd+        "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_ADVERTISER" -> Just MetricTrueviewConversionCostOnePerViewAdvertiser+        "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_PARTNER" -> Just MetricTrueviewConversionCostOnePerViewPartner+        "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_USD" -> Just MetricTrueviewConversionCostOnePerViewUsd+        "METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW" -> Just MetricTrueviewConversionManyPerView+        "METRIC_TRUEVIEW_CONVERSION_ONE_PER_VIEW" -> Just MetricTrueviewConversionOnePerView+        "METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW" -> Just MetricTrueviewConversionRateOnePerView+        "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_ADVERTISER" -> Just MetricTrueviewConversionValueManyPerViewAdvertiser+        "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_PARTNER" -> Just MetricTrueviewConversionValueManyPerViewPartner+        "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_USD" -> Just MetricTrueviewConversionValueManyPerViewUsd+        "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_ADVERTISER" -> Just MetricTrueviewConversionValueOnePerViewAdvertiser+        "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_PARTNER" -> Just MetricTrueviewConversionValueOnePerViewPartner+        "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_USD" -> Just MetricTrueviewConversionValueOnePerViewUsd+        "METRIC_TRUEVIEW_COST_CONVERSION_MANY_PER_VIEW_RATIO" -> Just MetricTrueviewCostConversionManyPerViewRatio+        "METRIC_TRUEVIEW_COST_CONVERSION_ONE_PER_VIEW_RATIO" -> Just MetricTrueviewCostConversionOnePerViewRatio+        "METRIC_TRUEVIEW_CPV_ADVERTISER" -> Just MetricTrueviewCpvAdvertiser+        "METRIC_TRUEVIEW_CPV_PARTNER" -> Just MetricTrueviewCpvPartner+        "METRIC_TRUEVIEW_CPV_USD" -> Just MetricTrueviewCpvUsd+        "METRIC_TRUEVIEW_EARNED_LIKES" -> Just MetricTrueviewEarnedLikes+        "METRIC_TRUEVIEW_EARNED_PLAYLIST_ADDITIONS" -> Just MetricTrueviewEarnedPlayListAdditions+        "METRIC_TRUEVIEW_EARNED_SHARES" -> Just MetricTrueviewEarnedShares+        "METRIC_TRUEVIEW_EARNED_SUBSCRIBERS" -> Just MetricTrueviewEarnedSubscribers+        "METRIC_TRUEVIEW_EARNED_VIEWS" -> Just MetricTrueviewEarnedViews+        "METRIC_TRUEVIEW_IMPRESSION_SHARE" -> Just MetricTrueviewImpressionShare+        "METRIC_TRUEVIEW_LOST_IS_BUDGET" -> Just MetricTrueviewLostIsBudget+        "METRIC_TRUEVIEW_LOST_IS_RANK" -> Just MetricTrueviewLostIsRank+        "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUE" -> Just MetricTrueviewTotalConversionValue+        "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER" -> Just MetricTrueviewTotalConversionValuesAdvertiser+        "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER" -> Just MetricTrueviewTotalConversionValuesPartner+        "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD" -> Just MetricTrueviewTotalConversionValuesUsd+        "METRIC_TRUEVIEW_UNIQUE_VIEWERS" -> Just MetricTrueviewUniqueViewers+        "METRIC_TRUEVIEW_VALUE_CONVERSION_MANY_PER_VIEW_RATIO" -> Just MetricTrueviewValueConversionManyPerViewRatio+        "METRIC_TRUEVIEW_VALUE_CONVERSION_ONE_PER_VIEW_RATIO" -> Just MetricTrueviewValueConversionOnePerViewRatio+        "METRIC_TRUEVIEW_VIEWS" -> Just MetricTrueviewViews+        "METRIC_TRUEVIEW_VIEW_RATE" -> Just MetricTrueviewViewRate+        "METRIC_TRUEVIEW_VIEW_THROUGH_CONVERSION" -> Just MetricTrueviewViewThroughConversion+        "METRIC_UNIQUE_VISITORS_COOKIES" -> Just MetricUniqueVisitorsCookies+        "METRIC_UNKNOWN" -> Just MetricUnknown+        "METRIC_VIDEO_COMPANION_CLICKS" -> Just MetricVideoCompanionClicks+        "METRIC_VIDEO_COMPANION_IMPRESSIONS" -> Just MetricVideoCompanionImpressions+        "METRIC_VIDEO_COMPLETION_RATE" -> Just MetricVideoCompletionRate+        _ -> Nothing++instance ToText ParametersMetricsItem where+    toText = \case+        MetricBidRequests -> "METRIC_BID_REQUESTS"+        MetricBillableCostAdvertiser -> "METRIC_BILLABLE_COST_ADVERTISER"+        MetricBillableCostPartner -> "METRIC_BILLABLE_COST_PARTNER"+        MetricBillableCostUsd -> "METRIC_BILLABLE_COST_USD"+        MetricClicks -> "METRIC_CLICKS"+        MetricClickToPostClickConversionRate -> "METRIC_CLICK_TO_POST_CLICK_CONVERSION_RATE"+        MetricComscoreVceAudienceAvgFrequency -> "METRIC_COMSCORE_VCE_AUDIENCE_AVG_FREQUENCY"+        MetricComscoreVceAudienceImpressions -> "METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS"+        MetricComscoreVceAudienceImpressionsShare -> "METRIC_COMSCORE_VCE_AUDIENCE_IMPRESSIONS_SHARE"+        MetricComscoreVceAudienceReachPct -> "METRIC_COMSCORE_VCE_AUDIENCE_REACH_PCT"+        MetricComscoreVceAudienceSharePct -> "METRIC_COMSCORE_VCE_AUDIENCE_SHARE_PCT"+        MetricComscoreVceGrossRatingPoints -> "METRIC_COMSCORE_VCE_GROSS_RATING_POINTS"+        MetricComscoreVcePopulation -> "METRIC_COMSCORE_VCE_POPULATION"+        MetricComscoreVceUniqueAudience -> "METRIC_COMSCORE_VCE_UNIQUE_AUDIENCE"+        MetricConversionsPerMille -> "METRIC_CONVERSIONS_PER_MILLE"+        MetricCpmFEE1Advertiser -> "METRIC_CPM_FEE1_ADVERTISER"+        MetricCpmFEE1Partner -> "METRIC_CPM_FEE1_PARTNER"+        MetricCpmFEE1Usd -> "METRIC_CPM_FEE1_USD"+        MetricCpmFEE2Advertiser -> "METRIC_CPM_FEE2_ADVERTISER"+        MetricCpmFEE2Partner -> "METRIC_CPM_FEE2_PARTNER"+        MetricCpmFEE2Usd -> "METRIC_CPM_FEE2_USD"+        MetricCpmFEE3Advertiser -> "METRIC_CPM_FEE3_ADVERTISER"+        MetricCpmFEE3Partner -> "METRIC_CPM_FEE3_PARTNER"+        MetricCpmFEE3Usd -> "METRIC_CPM_FEE3_USD"+        MetricCpmFEE4Advertiser -> "METRIC_CPM_FEE4_ADVERTISER"+        MetricCpmFEE4Partner -> "METRIC_CPM_FEE4_PARTNER"+        MetricCpmFEE4Usd -> "METRIC_CPM_FEE4_USD"+        MetricCpmFEE5Advertiser -> "METRIC_CPM_FEE5_ADVERTISER"+        MetricCpmFEE5Partner -> "METRIC_CPM_FEE5_PARTNER"+        MetricCpmFEE5Usd -> "METRIC_CPM_FEE5_USD"+        MetricCtr -> "METRIC_CTR"+        MetricDataCostAdvertiser -> "METRIC_DATA_COST_ADVERTISER"+        MetricDataCostPartner -> "METRIC_DATA_COST_PARTNER"+        MetricDataCostUsd -> "METRIC_DATA_COST_USD"+        MetricFEE10Advertiser -> "METRIC_FEE10_ADVERTISER"+        MetricFEE10Partner -> "METRIC_FEE10_PARTNER"+        MetricFEE10Usd -> "METRIC_FEE10_USD"+        MetricFEE11Advertiser -> "METRIC_FEE11_ADVERTISER"+        MetricFEE11Partner -> "METRIC_FEE11_PARTNER"+        MetricFEE11Usd -> "METRIC_FEE11_USD"+        MetricFEE12Advertiser -> "METRIC_FEE12_ADVERTISER"+        MetricFEE12Partner -> "METRIC_FEE12_PARTNER"+        MetricFEE12Usd -> "METRIC_FEE12_USD"+        MetricFEE13Advertiser -> "METRIC_FEE13_ADVERTISER"+        MetricFEE13Partner -> "METRIC_FEE13_PARTNER"+        MetricFEE13Usd -> "METRIC_FEE13_USD"+        MetricFEE14Advertiser -> "METRIC_FEE14_ADVERTISER"+        MetricFEE14Partner -> "METRIC_FEE14_PARTNER"+        MetricFEE14Usd -> "METRIC_FEE14_USD"+        MetricFEE15Advertiser -> "METRIC_FEE15_ADVERTISER"+        MetricFEE15Partner -> "METRIC_FEE15_PARTNER"+        MetricFEE15Usd -> "METRIC_FEE15_USD"+        MetricFEE16Advertiser -> "METRIC_FEE16_ADVERTISER"+        MetricFEE16Partner -> "METRIC_FEE16_PARTNER"+        MetricFEE16Usd -> "METRIC_FEE16_USD"+        MetricFEE17Advertiser -> "METRIC_FEE17_ADVERTISER"+        MetricFEE17Partner -> "METRIC_FEE17_PARTNER"+        MetricFEE17Usd -> "METRIC_FEE17_USD"+        MetricFEE18Advertiser -> "METRIC_FEE18_ADVERTISER"+        MetricFEE18Partner -> "METRIC_FEE18_PARTNER"+        MetricFEE18Usd -> "METRIC_FEE18_USD"+        MetricFEE19Advertiser -> "METRIC_FEE19_ADVERTISER"+        MetricFEE19Partner -> "METRIC_FEE19_PARTNER"+        MetricFEE19Usd -> "METRIC_FEE19_USD"+        MetricFEE20Advertiser -> "METRIC_FEE20_ADVERTISER"+        MetricFEE20Partner -> "METRIC_FEE20_PARTNER"+        MetricFEE20Usd -> "METRIC_FEE20_USD"+        MetricFEE21Advertiser -> "METRIC_FEE21_ADVERTISER"+        MetricFEE21Partner -> "METRIC_FEE21_PARTNER"+        MetricFEE21Usd -> "METRIC_FEE21_USD"+        MetricFEE22Advertiser -> "METRIC_FEE22_ADVERTISER"+        MetricFEE22Partner -> "METRIC_FEE22_PARTNER"+        MetricFEE22Usd -> "METRIC_FEE22_USD"+        MetricFEE2Advertiser -> "METRIC_FEE2_ADVERTISER"+        MetricFEE2Partner -> "METRIC_FEE2_PARTNER"+        MetricFEE2Usd -> "METRIC_FEE2_USD"+        MetricFEE3Advertiser -> "METRIC_FEE3_ADVERTISER"+        MetricFEE3Partner -> "METRIC_FEE3_PARTNER"+        MetricFEE3Usd -> "METRIC_FEE3_USD"+        MetricFEE4Advertiser -> "METRIC_FEE4_ADVERTISER"+        MetricFEE4Partner -> "METRIC_FEE4_PARTNER"+        MetricFEE4Usd -> "METRIC_FEE4_USD"+        MetricFEE5Advertiser -> "METRIC_FEE5_ADVERTISER"+        MetricFEE5Partner -> "METRIC_FEE5_PARTNER"+        MetricFEE5Usd -> "METRIC_FEE5_USD"+        MetricFEE6Advertiser -> "METRIC_FEE6_ADVERTISER"+        MetricFEE6Partner -> "METRIC_FEE6_PARTNER"+        MetricFEE6Usd -> "METRIC_FEE6_USD"+        MetricFEE7Advertiser -> "METRIC_FEE7_ADVERTISER"+        MetricFEE7Partner -> "METRIC_FEE7_PARTNER"+        MetricFEE7Usd -> "METRIC_FEE7_USD"+        MetricFEE8Advertiser -> "METRIC_FEE8_ADVERTISER"+        MetricFEE8Partner -> "METRIC_FEE8_PARTNER"+        MetricFEE8Usd -> "METRIC_FEE8_USD"+        MetricFEE9Advertiser -> "METRIC_FEE9_ADVERTISER"+        MetricFEE9Partner -> "METRIC_FEE9_PARTNER"+        MetricFEE9Usd -> "METRIC_FEE9_USD"+        MetricImpressions -> "METRIC_IMPRESSIONS"+        MetricImpressionsToConversionRate -> "METRIC_IMPRESSIONS_TO_CONVERSION_RATE"+        MetricLastClicks -> "METRIC_LAST_CLICKS"+        MetricLastImpressions -> "METRIC_LAST_IMPRESSIONS"+        MetricMediaCostAdvertiser -> "METRIC_MEDIA_COST_ADVERTISER"+        MetricMediaCostEcpapcAdvertiser -> "METRIC_MEDIA_COST_ECPAPC_ADVERTISER"+        MetricMediaCostEcpapcPartner -> "METRIC_MEDIA_COST_ECPAPC_PARTNER"+        MetricMediaCostEcpapcUsd -> "METRIC_MEDIA_COST_ECPAPC_USD"+        MetricMediaCostEcpapvAdvertiser -> "METRIC_MEDIA_COST_ECPAPV_ADVERTISER"+        MetricMediaCostEcpapvPartner -> "METRIC_MEDIA_COST_ECPAPV_PARTNER"+        MetricMediaCostEcpapvUsd -> "METRIC_MEDIA_COST_ECPAPV_USD"+        MetricMediaCostEcpaAdvertiser -> "METRIC_MEDIA_COST_ECPA_ADVERTISER"+        MetricMediaCostEcpaPartner -> "METRIC_MEDIA_COST_ECPA_PARTNER"+        MetricMediaCostEcpaUsd -> "METRIC_MEDIA_COST_ECPA_USD"+        MetricMediaCostEcpcvAdvertiser -> "METRIC_MEDIA_COST_ECPCV_ADVERTISER"+        MetricMediaCostEcpcvPartner -> "METRIC_MEDIA_COST_ECPCV_PARTNER"+        MetricMediaCostEcpcvUsd -> "METRIC_MEDIA_COST_ECPCV_USD"+        MetricMediaCostEcpcAdvertiser -> "METRIC_MEDIA_COST_ECPC_ADVERTISER"+        MetricMediaCostEcpcPartner -> "METRIC_MEDIA_COST_ECPC_PARTNER"+        MetricMediaCostEcpcUsd -> "METRIC_MEDIA_COST_ECPC_USD"+        MetricMediaCostEcpmAdvertiser -> "METRIC_MEDIA_COST_ECPM_ADVERTISER"+        MetricMediaCostEcpmPartner -> "METRIC_MEDIA_COST_ECPM_PARTNER"+        MetricMediaCostEcpmUsd -> "METRIC_MEDIA_COST_ECPM_USD"+        MetricMediaCostPartner -> "METRIC_MEDIA_COST_PARTNER"+        MetricMediaCostUsd -> "METRIC_MEDIA_COST_USD"+        MetricMediaCostViewableEcpmAdvertiser -> "METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER"+        MetricMediaCostViewableEcpmPartner -> "METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER"+        MetricMediaCostViewableEcpmUsd -> "METRIC_MEDIA_COST_VIEWABLE_ECPM_USD"+        MetricMediaFEE1Advertiser -> "METRIC_MEDIA_FEE1_ADVERTISER"+        MetricMediaFEE1Partner -> "METRIC_MEDIA_FEE1_PARTNER"+        MetricMediaFEE1Usd -> "METRIC_MEDIA_FEE1_USD"+        MetricMediaFEE2Advertiser -> "METRIC_MEDIA_FEE2_ADVERTISER"+        MetricMediaFEE2Partner -> "METRIC_MEDIA_FEE2_PARTNER"+        MetricMediaFEE2Usd -> "METRIC_MEDIA_FEE2_USD"+        MetricMediaFEE3Advertiser -> "METRIC_MEDIA_FEE3_ADVERTISER"+        MetricMediaFEE3Partner -> "METRIC_MEDIA_FEE3_PARTNER"+        MetricMediaFEE3Usd -> "METRIC_MEDIA_FEE3_USD"+        MetricMediaFEE4Advertiser -> "METRIC_MEDIA_FEE4_ADVERTISER"+        MetricMediaFEE4Partner -> "METRIC_MEDIA_FEE4_PARTNER"+        MetricMediaFEE4Usd -> "METRIC_MEDIA_FEE4_USD"+        MetricMediaFEE5Advertiser -> "METRIC_MEDIA_FEE5_ADVERTISER"+        MetricMediaFEE5Partner -> "METRIC_MEDIA_FEE5_PARTNER"+        MetricMediaFEE5Usd -> "METRIC_MEDIA_FEE5_USD"+        MetricPixelLoads -> "METRIC_PIXEL_LOADS"+        MetricPlatformFeeAdvertiser -> "METRIC_PLATFORM_FEE_ADVERTISER"+        MetricPlatformFeePartner -> "METRIC_PLATFORM_FEE_PARTNER"+        MetricPlatformFeeUsd -> "METRIC_PLATFORM_FEE_USD"+        MetricPostClickDfaRevenue -> "METRIC_POST_CLICK_DFA_REVENUE"+        MetricPostViewDfaRevenue -> "METRIC_POST_VIEW_DFA_REVENUE"+        MetricProfitAdvertiser -> "METRIC_PROFIT_ADVERTISER"+        MetricProfitEcpapcAdvertiser -> "METRIC_PROFIT_ECPAPC_ADVERTISER"+        MetricProfitEcpapcPartner -> "METRIC_PROFIT_ECPAPC_PARTNER"+        MetricProfitEcpapcUsd -> "METRIC_PROFIT_ECPAPC_USD"+        MetricProfitEcpapvAdvertiser -> "METRIC_PROFIT_ECPAPV_ADVERTISER"+        MetricProfitEcpapvPartner -> "METRIC_PROFIT_ECPAPV_PARTNER"+        MetricProfitEcpapvUsd -> "METRIC_PROFIT_ECPAPV_USD"+        MetricProfitEcpaAdvertiser -> "METRIC_PROFIT_ECPA_ADVERTISER"+        MetricProfitEcpaPartner -> "METRIC_PROFIT_ECPA_PARTNER"+        MetricProfitEcpaUsd -> "METRIC_PROFIT_ECPA_USD"+        MetricProfitEcpcAdvertiser -> "METRIC_PROFIT_ECPC_ADVERTISER"+        MetricProfitEcpcPartner -> "METRIC_PROFIT_ECPC_PARTNER"+        MetricProfitEcpcUsd -> "METRIC_PROFIT_ECPC_USD"+        MetricProfitEcpmAdvertiser -> "METRIC_PROFIT_ECPM_ADVERTISER"+        MetricProfitEcpmPartner -> "METRIC_PROFIT_ECPM_PARTNER"+        MetricProfitEcpmUsd -> "METRIC_PROFIT_ECPM_USD"+        MetricProfitMargin -> "METRIC_PROFIT_MARGIN"+        MetricProfitPartner -> "METRIC_PROFIT_PARTNER"+        MetricProfitUsd -> "METRIC_PROFIT_USD"+        MetricProfitViewableEcpmAdvertiser -> "METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER"+        MetricProfitViewableEcpmPartner -> "METRIC_PROFIT_VIEWABLE_ECPM_PARTNER"+        MetricProfitViewableEcpmUsd -> "METRIC_PROFIT_VIEWABLE_ECPM_USD"+        MetricRevenueAdvertiser -> "METRIC_REVENUE_ADVERTISER"+        MetricRevenueEcpapcAdvertiser -> "METRIC_REVENUE_ECPAPC_ADVERTISER"+        MetricRevenueEcpapcPartner -> "METRIC_REVENUE_ECPAPC_PARTNER"+        MetricRevenueEcpapcUsd -> "METRIC_REVENUE_ECPAPC_USD"+        MetricRevenueEcpapvAdvertiser -> "METRIC_REVENUE_ECPAPV_ADVERTISER"+        MetricRevenueEcpapvPartner -> "METRIC_REVENUE_ECPAPV_PARTNER"+        MetricRevenueEcpapvUsd -> "METRIC_REVENUE_ECPAPV_USD"+        MetricRevenueEcpaAdvertiser -> "METRIC_REVENUE_ECPA_ADVERTISER"+        MetricRevenueEcpaPartner -> "METRIC_REVENUE_ECPA_PARTNER"+        MetricRevenueEcpaUsd -> "METRIC_REVENUE_ECPA_USD"+        MetricRevenueEcpcvAdvertiser -> "METRIC_REVENUE_ECPCV_ADVERTISER"+        MetricRevenueEcpcvPartner -> "METRIC_REVENUE_ECPCV_PARTNER"+        MetricRevenueEcpcvUsd -> "METRIC_REVENUE_ECPCV_USD"+        MetricRevenueEcpcAdvertiser -> "METRIC_REVENUE_ECPC_ADVERTISER"+        MetricRevenueEcpcPartner -> "METRIC_REVENUE_ECPC_PARTNER"+        MetricRevenueEcpcUsd -> "METRIC_REVENUE_ECPC_USD"+        MetricRevenueEcpmAdvertiser -> "METRIC_REVENUE_ECPM_ADVERTISER"+        MetricRevenueEcpmPartner -> "METRIC_REVENUE_ECPM_PARTNER"+        MetricRevenueEcpmUsd -> "METRIC_REVENUE_ECPM_USD"+        MetricRevenuePartner -> "METRIC_REVENUE_PARTNER"+        MetricRevenueUsd -> "METRIC_REVENUE_USD"+        MetricRevenueViewableEcpmAdvertiser -> "METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER"+        MetricRevenueViewableEcpmPartner -> "METRIC_REVENUE_VIEWABLE_ECPM_PARTNER"+        MetricRevenueViewableEcpmUsd -> "METRIC_REVENUE_VIEWABLE_ECPM_USD"+        MetricRichMediaVideoCompletions -> "METRIC_RICH_MEDIA_VIDEO_COMPLETIONS"+        MetricRichMediaVideoFirstQuartileCompletes -> "METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES"+        MetricRichMediaVideoFullScreens -> "METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS"+        MetricRichMediaVideoMidpoints -> "METRIC_RICH_MEDIA_VIDEO_MIDPOINTS"+        MetricRichMediaVideoMutes -> "METRIC_RICH_MEDIA_VIDEO_MUTES"+        MetricRichMediaVideoPauses -> "METRIC_RICH_MEDIA_VIDEO_PAUSES"+        MetricRichMediaVideoPlays -> "METRIC_RICH_MEDIA_VIDEO_PLAYS"+        MetricRichMediaVideoSkips -> "METRIC_RICH_MEDIA_VIDEO_SKIPS"+        MetricRichMediaVideoThirdQuartileCompletes -> "METRIC_RICH_MEDIA_VIDEO_THIRD_QUARTILE_COMPLETES"+        MetricTeaTrueviewImpressions -> "METRIC_TEA_TRUEVIEW_IMPRESSIONS"+        MetricTeaTrueviewUniqueCookies -> "METRIC_TEA_TRUEVIEW_UNIQUE_COOKIES"+        MetricTeaTrueviewUniquePeople -> "METRIC_TEA_TRUEVIEW_UNIQUE_PEOPLE"+        MetricTotalConversions -> "METRIC_TOTAL_CONVERSIONS"+        MetricTotalMediaCostAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ADVERTISER"+        MetricTotalMediaCostEcpapcAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPAPC_ADVERTISER"+        MetricTotalMediaCostEcpapcPartner -> "METRIC_TOTAL_MEDIA_COST_ECPAPC_PARTNER"+        MetricTotalMediaCostEcpapcUsd -> "METRIC_TOTAL_MEDIA_COST_ECPAPC_USD"+        MetricTotalMediaCostEcpapvAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPAPV_ADVERTISER"+        MetricTotalMediaCostEcpapvPartner -> "METRIC_TOTAL_MEDIA_COST_ECPAPV_PARTNER"+        MetricTotalMediaCostEcpapvUsd -> "METRIC_TOTAL_MEDIA_COST_ECPAPV_USD"+        MetricTotalMediaCostEcpaAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPA_ADVERTISER"+        MetricTotalMediaCostEcpaPartner -> "METRIC_TOTAL_MEDIA_COST_ECPA_PARTNER"+        MetricTotalMediaCostEcpaUsd -> "METRIC_TOTAL_MEDIA_COST_ECPA_USD"+        MetricTotalMediaCostEcpcvAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPCV_ADVERTISER"+        MetricTotalMediaCostEcpcvPartner -> "METRIC_TOTAL_MEDIA_COST_ECPCV_PARTNER"+        MetricTotalMediaCostEcpcvUsd -> "METRIC_TOTAL_MEDIA_COST_ECPCV_USD"+        MetricTotalMediaCostEcpcAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPC_ADVERTISER"+        MetricTotalMediaCostEcpcPartner -> "METRIC_TOTAL_MEDIA_COST_ECPC_PARTNER"+        MetricTotalMediaCostEcpcUsd -> "METRIC_TOTAL_MEDIA_COST_ECPC_USD"+        MetricTotalMediaCostEcpmAdvertiser -> "METRIC_TOTAL_MEDIA_COST_ECPM_ADVERTISER"+        MetricTotalMediaCostEcpmPartner -> "METRIC_TOTAL_MEDIA_COST_ECPM_PARTNER"+        MetricTotalMediaCostEcpmUsd -> "METRIC_TOTAL_MEDIA_COST_ECPM_USD"+        MetricTotalMediaCostPartner -> "METRIC_TOTAL_MEDIA_COST_PARTNER"+        MetricTotalMediaCostUsd -> "METRIC_TOTAL_MEDIA_COST_USD"+        MetricTotalMediaCostViewableEcpmAdvertiser -> "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER"+        MetricTotalMediaCostViewableEcpmPartner -> "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER"+        MetricTotalMediaCostViewableEcpmUsd -> "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD"+        MetricTrueviewConversionCostManyPerViewAdvertiser -> "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER"+        MetricTrueviewConversionCostManyPerViewPartner -> "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER"+        MetricTrueviewConversionCostManyPerViewUsd -> "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD"+        MetricTrueviewConversionCostOnePerViewAdvertiser -> "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_ADVERTISER"+        MetricTrueviewConversionCostOnePerViewPartner -> "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_PARTNER"+        MetricTrueviewConversionCostOnePerViewUsd -> "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_USD"+        MetricTrueviewConversionManyPerView -> "METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW"+        MetricTrueviewConversionOnePerView -> "METRIC_TRUEVIEW_CONVERSION_ONE_PER_VIEW"+        MetricTrueviewConversionRateOnePerView -> "METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW"+        MetricTrueviewConversionValueManyPerViewAdvertiser -> "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_ADVERTISER"+        MetricTrueviewConversionValueManyPerViewPartner -> "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_PARTNER"+        MetricTrueviewConversionValueManyPerViewUsd -> "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_USD"+        MetricTrueviewConversionValueOnePerViewAdvertiser -> "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_ADVERTISER"+        MetricTrueviewConversionValueOnePerViewPartner -> "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_PARTNER"+        MetricTrueviewConversionValueOnePerViewUsd -> "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_USD"+        MetricTrueviewCostConversionManyPerViewRatio -> "METRIC_TRUEVIEW_COST_CONVERSION_MANY_PER_VIEW_RATIO"+        MetricTrueviewCostConversionOnePerViewRatio -> "METRIC_TRUEVIEW_COST_CONVERSION_ONE_PER_VIEW_RATIO"+        MetricTrueviewCpvAdvertiser -> "METRIC_TRUEVIEW_CPV_ADVERTISER"+        MetricTrueviewCpvPartner -> "METRIC_TRUEVIEW_CPV_PARTNER"+        MetricTrueviewCpvUsd -> "METRIC_TRUEVIEW_CPV_USD"+        MetricTrueviewEarnedLikes -> "METRIC_TRUEVIEW_EARNED_LIKES"+        MetricTrueviewEarnedPlayListAdditions -> "METRIC_TRUEVIEW_EARNED_PLAYLIST_ADDITIONS"+        MetricTrueviewEarnedShares -> "METRIC_TRUEVIEW_EARNED_SHARES"+        MetricTrueviewEarnedSubscribers -> "METRIC_TRUEVIEW_EARNED_SUBSCRIBERS"+        MetricTrueviewEarnedViews -> "METRIC_TRUEVIEW_EARNED_VIEWS"+        MetricTrueviewImpressionShare -> "METRIC_TRUEVIEW_IMPRESSION_SHARE"+        MetricTrueviewLostIsBudget -> "METRIC_TRUEVIEW_LOST_IS_BUDGET"+        MetricTrueviewLostIsRank -> "METRIC_TRUEVIEW_LOST_IS_RANK"+        MetricTrueviewTotalConversionValue -> "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUE"+        MetricTrueviewTotalConversionValuesAdvertiser -> "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER"+        MetricTrueviewTotalConversionValuesPartner -> "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER"+        MetricTrueviewTotalConversionValuesUsd -> "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD"+        MetricTrueviewUniqueViewers -> "METRIC_TRUEVIEW_UNIQUE_VIEWERS"+        MetricTrueviewValueConversionManyPerViewRatio -> "METRIC_TRUEVIEW_VALUE_CONVERSION_MANY_PER_VIEW_RATIO"+        MetricTrueviewValueConversionOnePerViewRatio -> "METRIC_TRUEVIEW_VALUE_CONVERSION_ONE_PER_VIEW_RATIO"+        MetricTrueviewViews -> "METRIC_TRUEVIEW_VIEWS"+        MetricTrueviewViewRate -> "METRIC_TRUEVIEW_VIEW_RATE"+        MetricTrueviewViewThroughConversion -> "METRIC_TRUEVIEW_VIEW_THROUGH_CONVERSION"+        MetricUniqueVisitorsCookies -> "METRIC_UNIQUE_VISITORS_COOKIES"+        MetricUnknown -> "METRIC_UNKNOWN"+        MetricVideoCompanionClicks -> "METRIC_VIDEO_COMPANION_CLICKS"+        MetricVideoCompanionImpressions -> "METRIC_VIDEO_COMPANION_IMPRESSIONS"+        MetricVideoCompletionRate -> "METRIC_VIDEO_COMPLETION_RATE"++instance FromJSON ParametersMetricsItem where+    parseJSON = parseJSONText "ParametersMetricsItem"++instance ToJSON ParametersMetricsItem where+    toJSON = toJSONText++-- | How often the query is run.+data QueryScheduleFrequency+    = Daily+      -- ^ @DAILY@+    | Monthly+      -- ^ @MONTHLY@+    | OneTime+      -- ^ @ONE_TIME@+    | Quarterly+      -- ^ @QUARTERLY@+    | SemiMonthly+      -- ^ @SEMI_MONTHLY@+    | Weekly+      -- ^ @WEEKLY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable QueryScheduleFrequency++instance FromText QueryScheduleFrequency where+    fromText = \case+        "DAILY" -> Just Daily+        "MONTHLY" -> Just Monthly+        "ONE_TIME" -> Just OneTime+        "QUARTERLY" -> Just Quarterly+        "SEMI_MONTHLY" -> Just SemiMonthly+        "WEEKLY" -> Just Weekly+        _ -> Nothing++instance ToText QueryScheduleFrequency where+    toText = \case+        Daily -> "DAILY"+        Monthly -> "MONTHLY"+        OneTime -> "ONE_TIME"+        Quarterly -> "QUARTERLY"+        SemiMonthly -> "SEMI_MONTHLY"+        Weekly -> "WEEKLY"++instance FromJSON QueryScheduleFrequency where+    parseJSON = parseJSONText "QueryScheduleFrequency"++instance ToJSON QueryScheduleFrequency where+    toJSON = toJSONText++-- | File specification (column names, types, order) in which the line items+-- will be returned. Default to EWF.+data DownloadLineItemsRequestFileSpec+    = Ewf+      -- ^ @EWF@+    | Sdf+      -- ^ @SDF@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DownloadLineItemsRequestFileSpec++instance FromText DownloadLineItemsRequestFileSpec where+    fromText = \case+        "EWF" -> Just Ewf+        "SDF" -> Just Sdf+        _ -> Nothing++instance ToText DownloadLineItemsRequestFileSpec where+    toText = \case+        Ewf -> "EWF"+        Sdf -> "SDF"++instance FromJSON DownloadLineItemsRequestFileSpec where+    parseJSON = parseJSONText "DownloadLineItemsRequestFileSpec"++instance ToJSON DownloadLineItemsRequestFileSpec where+    toJSON = toJSONText++-- | Format the line items are in. Default to CSV.+data UploadLineItemsRequestFormat+    = ULIRFCSV+      -- ^ @CSV@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UploadLineItemsRequestFormat++instance FromText UploadLineItemsRequestFormat where+    fromText = \case+        "CSV" -> Just ULIRFCSV+        _ -> Nothing++instance ToText UploadLineItemsRequestFormat where+    toText = \case+        ULIRFCSV -> "CSV"++instance FromJSON UploadLineItemsRequestFormat where+    parseJSON = parseJSONText "UploadLineItemsRequestFormat"++instance ToJSON UploadLineItemsRequestFormat where+    toJSON = toJSONText++-- | Filter type.+data FilterPairType+    = FilterActiveViewExpectedViewability+      -- ^ @FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY@+    | FilterActivityId+      -- ^ @FILTER_ACTIVITY_ID@+    | FilterAdvertiser+      -- ^ @FILTER_ADVERTISER@+    | FilterAdvertiserCurrency+      -- ^ @FILTER_ADVERTISER_CURRENCY@+    | FilterAdvertiserTimezone+      -- ^ @FILTER_ADVERTISER_TIMEZONE@+    | FilterAdPosition+      -- ^ @FILTER_AD_POSITION@+    | FilterAge+      -- ^ @FILTER_AGE@+    | FilterBrandsafeChannelId+      -- ^ @FILTER_BRANDSAFE_CHANNEL_ID@+    | FilterBrowser+      -- ^ @FILTER_BROWSER@+    | FilterCampaignDailyFrequency+      -- ^ @FILTER_CAMPAIGN_DAILY_FREQUENCY@+    | FilterCarrier+      -- ^ @FILTER_CARRIER@+    | FilterChannelId+      -- ^ @FILTER_CHANNEL_ID@+    | FilterCity+      -- ^ @FILTER_CITY@+    | FilterConversionDelay+      -- ^ @FILTER_CONVERSION_DELAY@+    | FilterCountry+      -- ^ @FILTER_COUNTRY@+    | FilterCreativeHeight+      -- ^ @FILTER_CREATIVE_HEIGHT@+    | FilterCreativeId+      -- ^ @FILTER_CREATIVE_ID@+    | FilterCreativeSize+      -- ^ @FILTER_CREATIVE_SIZE@+    | FilterCreativeType+      -- ^ @FILTER_CREATIVE_TYPE@+    | FilterCreativeWidth+      -- ^ @FILTER_CREATIVE_WIDTH@+    | FilterDataProvider+      -- ^ @FILTER_DATA_PROVIDER@+    | FilterDate+      -- ^ @FILTER_DATE@+    | FilterDayOfWeek+      -- ^ @FILTER_DAY_OF_WEEK@+    | FilterDma+      -- ^ @FILTER_DMA@+    | FilterExchangeId+      -- ^ @FILTER_EXCHANGE_ID@+    | FilterFloodlightPixelId+      -- ^ @FILTER_FLOODLIGHT_PIXEL_ID@+    | FilterGender+      -- ^ @FILTER_GENDER@+    | FilterInsertionOrder+      -- ^ @FILTER_INSERTION_ORDER@+    | FilterInventoryFormat+      -- ^ @FILTER_INVENTORY_FORMAT@+    | FilterInventorySource+      -- ^ @FILTER_INVENTORY_SOURCE@+    | FilterInventorySourceType+      -- ^ @FILTER_INVENTORY_SOURCE_TYPE@+    | FilterKeyword+      -- ^ @FILTER_KEYWORD@+    | FilterLineItem+      -- ^ @FILTER_LINE_ITEM@+    | FilterLineItemDailyFrequency+      -- ^ @FILTER_LINE_ITEM_DAILY_FREQUENCY@+    | FilterLineItemLifetimeFrequency+      -- ^ @FILTER_LINE_ITEM_LIFETIME_FREQUENCY@+    | FilterLineItemType+      -- ^ @FILTER_LINE_ITEM_TYPE@+    | FilterMobileDeviceMake+      -- ^ @FILTER_MOBILE_DEVICE_MAKE@+    | FilterMobileDeviceMakeModel+      -- ^ @FILTER_MOBILE_DEVICE_MAKE_MODEL@+    | FilterMobileDeviceType+      -- ^ @FILTER_MOBILE_DEVICE_TYPE@+    | FilterMobileGeo+      -- ^ @FILTER_MOBILE_GEO@+    | FilterMonth+      -- ^ @FILTER_MONTH@+    | FilterMraidSupport+      -- ^ @FILTER_MRAID_SUPPORT@+    | FilterNielsenAge+      -- ^ @FILTER_NIELSEN_AGE@+    | FilterNielsenCountryCode+      -- ^ @FILTER_NIELSEN_COUNTRY_CODE@+    | FilterNielsenDeviceId+      -- ^ @FILTER_NIELSEN_DEVICE_ID@+    | FilterNielsenGender+      -- ^ @FILTER_NIELSEN_GENDER@+    | FilterOrderId+      -- ^ @FILTER_ORDER_ID@+    | FilterOS+      -- ^ @FILTER_OS@+    | FilterPageCategory+      -- ^ @FILTER_PAGE_CATEGORY@+    | FilterPageLayout+      -- ^ @FILTER_PAGE_LAYOUT@+    | FilterPartner+      -- ^ @FILTER_PARTNER@+    | FilterPartnerCurrency+      -- ^ @FILTER_PARTNER_CURRENCY@+    | FilterPublicInventory+      -- ^ @FILTER_PUBLIC_INVENTORY@+    | FilterQuarter+      -- ^ @FILTER_QUARTER@+    | FilterRegion+      -- ^ @FILTER_REGION@+    | FilterRegularChannelId+      -- ^ @FILTER_REGULAR_CHANNEL_ID@+    | FilterSiteId+      -- ^ @FILTER_SITE_ID@+    | FilterSiteLanguage+      -- ^ @FILTER_SITE_LANGUAGE@+    | FilterTargetedUserList+      -- ^ @FILTER_TARGETED_USER_LIST@+    | FilterTimeOfDay+      -- ^ @FILTER_TIME_OF_DAY@+    | FilterTrueviewConversionType+      -- ^ @FILTER_TRUEVIEW_CONVERSION_TYPE@+    | FilterUnknown+      -- ^ @FILTER_UNKNOWN@+    | FilterUserList+      -- ^ @FILTER_USER_LIST@+    | FilterUserListFirstParty+      -- ^ @FILTER_USER_LIST_FIRST_PARTY@+    | FilterUserListThirdParty+      -- ^ @FILTER_USER_LIST_THIRD_PARTY@+    | FilterVideoAdPositionInStream+      -- ^ @FILTER_VIDEO_AD_POSITION_IN_STREAM@+    | FilterVideoCompanionSize+      -- ^ @FILTER_VIDEO_COMPANION_SIZE@+    | FilterVideoCompanionType+      -- ^ @FILTER_VIDEO_COMPANION_TYPE@+    | FilterVideoCreativeDuration+      -- ^ @FILTER_VIDEO_CREATIVE_DURATION@+    | FilterVideoCreativeDurationSkippable+      -- ^ @FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE@+    | FilterVideoDurationSeconds+      -- ^ @FILTER_VIDEO_DURATION_SECONDS@+    | FilterVideoFormatSupport+      -- ^ @FILTER_VIDEO_FORMAT_SUPPORT@+    | FilterVideoInventoryType+      -- ^ @FILTER_VIDEO_INVENTORY_TYPE@+    | FilterVideoPlayerSize+      -- ^ @FILTER_VIDEO_PLAYER_SIZE@+    | FilterVideoRatingTier+      -- ^ @FILTER_VIDEO_RATING_TIER@+    | FilterVideoSkippableSupport+      -- ^ @FILTER_VIDEO_SKIPPABLE_SUPPORT@+    | FilterVideoVpaidSupport+      -- ^ @FILTER_VIDEO_VPAID_SUPPORT@+    | FilterWeek+      -- ^ @FILTER_WEEK@+    | FilterYear+      -- ^ @FILTER_YEAR@+    | FilterYouTubeVertical+      -- ^ @FILTER_YOUTUBE_VERTICAL@+    | FilterZipCode+      -- ^ @FILTER_ZIP_CODE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilterPairType++instance FromText FilterPairType where+    fromText = \case+        "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY" -> Just FilterActiveViewExpectedViewability+        "FILTER_ACTIVITY_ID" -> Just FilterActivityId+        "FILTER_ADVERTISER" -> Just FilterAdvertiser+        "FILTER_ADVERTISER_CURRENCY" -> Just FilterAdvertiserCurrency+        "FILTER_ADVERTISER_TIMEZONE" -> Just FilterAdvertiserTimezone+        "FILTER_AD_POSITION" -> Just FilterAdPosition+        "FILTER_AGE" -> Just FilterAge+        "FILTER_BRANDSAFE_CHANNEL_ID" -> Just FilterBrandsafeChannelId+        "FILTER_BROWSER" -> Just FilterBrowser+        "FILTER_CAMPAIGN_DAILY_FREQUENCY" -> Just FilterCampaignDailyFrequency+        "FILTER_CARRIER" -> Just FilterCarrier+        "FILTER_CHANNEL_ID" -> Just FilterChannelId+        "FILTER_CITY" -> Just FilterCity+        "FILTER_CONVERSION_DELAY" -> Just FilterConversionDelay+        "FILTER_COUNTRY" -> Just FilterCountry+        "FILTER_CREATIVE_HEIGHT" -> Just FilterCreativeHeight+        "FILTER_CREATIVE_ID" -> Just FilterCreativeId+        "FILTER_CREATIVE_SIZE" -> Just FilterCreativeSize+        "FILTER_CREATIVE_TYPE" -> Just FilterCreativeType+        "FILTER_CREATIVE_WIDTH" -> Just FilterCreativeWidth+        "FILTER_DATA_PROVIDER" -> Just FilterDataProvider+        "FILTER_DATE" -> Just FilterDate+        "FILTER_DAY_OF_WEEK" -> Just FilterDayOfWeek+        "FILTER_DMA" -> Just FilterDma+        "FILTER_EXCHANGE_ID" -> Just FilterExchangeId+        "FILTER_FLOODLIGHT_PIXEL_ID" -> Just FilterFloodlightPixelId+        "FILTER_GENDER" -> Just FilterGender+        "FILTER_INSERTION_ORDER" -> Just FilterInsertionOrder+        "FILTER_INVENTORY_FORMAT" -> Just FilterInventoryFormat+        "FILTER_INVENTORY_SOURCE" -> Just FilterInventorySource+        "FILTER_INVENTORY_SOURCE_TYPE" -> Just FilterInventorySourceType+        "FILTER_KEYWORD" -> Just FilterKeyword+        "FILTER_LINE_ITEM" -> Just FilterLineItem+        "FILTER_LINE_ITEM_DAILY_FREQUENCY" -> Just FilterLineItemDailyFrequency+        "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" -> Just FilterLineItemLifetimeFrequency+        "FILTER_LINE_ITEM_TYPE" -> Just FilterLineItemType+        "FILTER_MOBILE_DEVICE_MAKE" -> Just FilterMobileDeviceMake+        "FILTER_MOBILE_DEVICE_MAKE_MODEL" -> Just FilterMobileDeviceMakeModel+        "FILTER_MOBILE_DEVICE_TYPE" -> Just FilterMobileDeviceType+        "FILTER_MOBILE_GEO" -> Just FilterMobileGeo+        "FILTER_MONTH" -> Just FilterMonth+        "FILTER_MRAID_SUPPORT" -> Just FilterMraidSupport+        "FILTER_NIELSEN_AGE" -> Just FilterNielsenAge+        "FILTER_NIELSEN_COUNTRY_CODE" -> Just FilterNielsenCountryCode+        "FILTER_NIELSEN_DEVICE_ID" -> Just FilterNielsenDeviceId+        "FILTER_NIELSEN_GENDER" -> Just FilterNielsenGender+        "FILTER_ORDER_ID" -> Just FilterOrderId+        "FILTER_OS" -> Just FilterOS+        "FILTER_PAGE_CATEGORY" -> Just FilterPageCategory+        "FILTER_PAGE_LAYOUT" -> Just FilterPageLayout+        "FILTER_PARTNER" -> Just FilterPartner+        "FILTER_PARTNER_CURRENCY" -> Just FilterPartnerCurrency+        "FILTER_PUBLIC_INVENTORY" -> Just FilterPublicInventory+        "FILTER_QUARTER" -> Just FilterQuarter+        "FILTER_REGION" -> Just FilterRegion+        "FILTER_REGULAR_CHANNEL_ID" -> Just FilterRegularChannelId+        "FILTER_SITE_ID" -> Just FilterSiteId+        "FILTER_SITE_LANGUAGE" -> Just FilterSiteLanguage+        "FILTER_TARGETED_USER_LIST" -> Just FilterTargetedUserList+        "FILTER_TIME_OF_DAY" -> Just FilterTimeOfDay+        "FILTER_TRUEVIEW_CONVERSION_TYPE" -> Just FilterTrueviewConversionType+        "FILTER_UNKNOWN" -> Just FilterUnknown+        "FILTER_USER_LIST" -> Just FilterUserList+        "FILTER_USER_LIST_FIRST_PARTY" -> Just FilterUserListFirstParty+        "FILTER_USER_LIST_THIRD_PARTY" -> Just FilterUserListThirdParty+        "FILTER_VIDEO_AD_POSITION_IN_STREAM" -> Just FilterVideoAdPositionInStream+        "FILTER_VIDEO_COMPANION_SIZE" -> Just FilterVideoCompanionSize+        "FILTER_VIDEO_COMPANION_TYPE" -> Just FilterVideoCompanionType+        "FILTER_VIDEO_CREATIVE_DURATION" -> Just FilterVideoCreativeDuration+        "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE" -> Just FilterVideoCreativeDurationSkippable+        "FILTER_VIDEO_DURATION_SECONDS" -> Just FilterVideoDurationSeconds+        "FILTER_VIDEO_FORMAT_SUPPORT" -> Just FilterVideoFormatSupport+        "FILTER_VIDEO_INVENTORY_TYPE" -> Just FilterVideoInventoryType+        "FILTER_VIDEO_PLAYER_SIZE" -> Just FilterVideoPlayerSize+        "FILTER_VIDEO_RATING_TIER" -> Just FilterVideoRatingTier+        "FILTER_VIDEO_SKIPPABLE_SUPPORT" -> Just FilterVideoSkippableSupport+        "FILTER_VIDEO_VPAID_SUPPORT" -> Just FilterVideoVpaidSupport+        "FILTER_WEEK" -> Just FilterWeek+        "FILTER_YEAR" -> Just FilterYear+        "FILTER_YOUTUBE_VERTICAL" -> Just FilterYouTubeVertical+        "FILTER_ZIP_CODE" -> Just FilterZipCode+        _ -> Nothing++instance ToText FilterPairType where+    toText = \case+        FilterActiveViewExpectedViewability -> "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY"+        FilterActivityId -> "FILTER_ACTIVITY_ID"+        FilterAdvertiser -> "FILTER_ADVERTISER"+        FilterAdvertiserCurrency -> "FILTER_ADVERTISER_CURRENCY"+        FilterAdvertiserTimezone -> "FILTER_ADVERTISER_TIMEZONE"+        FilterAdPosition -> "FILTER_AD_POSITION"+        FilterAge -> "FILTER_AGE"+        FilterBrandsafeChannelId -> "FILTER_BRANDSAFE_CHANNEL_ID"+        FilterBrowser -> "FILTER_BROWSER"+        FilterCampaignDailyFrequency -> "FILTER_CAMPAIGN_DAILY_FREQUENCY"+        FilterCarrier -> "FILTER_CARRIER"+        FilterChannelId -> "FILTER_CHANNEL_ID"+        FilterCity -> "FILTER_CITY"+        FilterConversionDelay -> "FILTER_CONVERSION_DELAY"+        FilterCountry -> "FILTER_COUNTRY"+        FilterCreativeHeight -> "FILTER_CREATIVE_HEIGHT"+        FilterCreativeId -> "FILTER_CREATIVE_ID"+        FilterCreativeSize -> "FILTER_CREATIVE_SIZE"+        FilterCreativeType -> "FILTER_CREATIVE_TYPE"+        FilterCreativeWidth -> "FILTER_CREATIVE_WIDTH"+        FilterDataProvider -> "FILTER_DATA_PROVIDER"+        FilterDate -> "FILTER_DATE"+        FilterDayOfWeek -> "FILTER_DAY_OF_WEEK"+        FilterDma -> "FILTER_DMA"+        FilterExchangeId -> "FILTER_EXCHANGE_ID"+        FilterFloodlightPixelId -> "FILTER_FLOODLIGHT_PIXEL_ID"+        FilterGender -> "FILTER_GENDER"+        FilterInsertionOrder -> "FILTER_INSERTION_ORDER"+        FilterInventoryFormat -> "FILTER_INVENTORY_FORMAT"+        FilterInventorySource -> "FILTER_INVENTORY_SOURCE"+        FilterInventorySourceType -> "FILTER_INVENTORY_SOURCE_TYPE"+        FilterKeyword -> "FILTER_KEYWORD"+        FilterLineItem -> "FILTER_LINE_ITEM"+        FilterLineItemDailyFrequency -> "FILTER_LINE_ITEM_DAILY_FREQUENCY"+        FilterLineItemLifetimeFrequency -> "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"+        FilterLineItemType -> "FILTER_LINE_ITEM_TYPE"+        FilterMobileDeviceMake -> "FILTER_MOBILE_DEVICE_MAKE"+        FilterMobileDeviceMakeModel -> "FILTER_MOBILE_DEVICE_MAKE_MODEL"+        FilterMobileDeviceType -> "FILTER_MOBILE_DEVICE_TYPE"+        FilterMobileGeo -> "FILTER_MOBILE_GEO"+        FilterMonth -> "FILTER_MONTH"+        FilterMraidSupport -> "FILTER_MRAID_SUPPORT"+        FilterNielsenAge -> "FILTER_NIELSEN_AGE"+        FilterNielsenCountryCode -> "FILTER_NIELSEN_COUNTRY_CODE"+        FilterNielsenDeviceId -> "FILTER_NIELSEN_DEVICE_ID"+        FilterNielsenGender -> "FILTER_NIELSEN_GENDER"+        FilterOrderId -> "FILTER_ORDER_ID"+        FilterOS -> "FILTER_OS"+        FilterPageCategory -> "FILTER_PAGE_CATEGORY"+        FilterPageLayout -> "FILTER_PAGE_LAYOUT"+        FilterPartner -> "FILTER_PARTNER"+        FilterPartnerCurrency -> "FILTER_PARTNER_CURRENCY"+        FilterPublicInventory -> "FILTER_PUBLIC_INVENTORY"+        FilterQuarter -> "FILTER_QUARTER"+        FilterRegion -> "FILTER_REGION"+        FilterRegularChannelId -> "FILTER_REGULAR_CHANNEL_ID"+        FilterSiteId -> "FILTER_SITE_ID"+        FilterSiteLanguage -> "FILTER_SITE_LANGUAGE"+        FilterTargetedUserList -> "FILTER_TARGETED_USER_LIST"+        FilterTimeOfDay -> "FILTER_TIME_OF_DAY"+        FilterTrueviewConversionType -> "FILTER_TRUEVIEW_CONVERSION_TYPE"+        FilterUnknown -> "FILTER_UNKNOWN"+        FilterUserList -> "FILTER_USER_LIST"+        FilterUserListFirstParty -> "FILTER_USER_LIST_FIRST_PARTY"+        FilterUserListThirdParty -> "FILTER_USER_LIST_THIRD_PARTY"+        FilterVideoAdPositionInStream -> "FILTER_VIDEO_AD_POSITION_IN_STREAM"+        FilterVideoCompanionSize -> "FILTER_VIDEO_COMPANION_SIZE"+        FilterVideoCompanionType -> "FILTER_VIDEO_COMPANION_TYPE"+        FilterVideoCreativeDuration -> "FILTER_VIDEO_CREATIVE_DURATION"+        FilterVideoCreativeDurationSkippable -> "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE"+        FilterVideoDurationSeconds -> "FILTER_VIDEO_DURATION_SECONDS"+        FilterVideoFormatSupport -> "FILTER_VIDEO_FORMAT_SUPPORT"+        FilterVideoInventoryType -> "FILTER_VIDEO_INVENTORY_TYPE"+        FilterVideoPlayerSize -> "FILTER_VIDEO_PLAYER_SIZE"+        FilterVideoRatingTier -> "FILTER_VIDEO_RATING_TIER"+        FilterVideoSkippableSupport -> "FILTER_VIDEO_SKIPPABLE_SUPPORT"+        FilterVideoVpaidSupport -> "FILTER_VIDEO_VPAID_SUPPORT"+        FilterWeek -> "FILTER_WEEK"+        FilterYear -> "FILTER_YEAR"+        FilterYouTubeVertical -> "FILTER_YOUTUBE_VERTICAL"+        FilterZipCode -> "FILTER_ZIP_CODE"++instance FromJSON FilterPairType where+    parseJSON = parseJSONText "FilterPairType"++instance ToJSON FilterPairType where+    toJSON = toJSONText++-- | Report data range used to generate the report.+data RunQueryRequestDataRange+    = RQRDRAllTime+      -- ^ @ALL_TIME@+    | RQRDRCurrentDay+      -- ^ @CURRENT_DAY@+    | RQRDRCustomDates+      -- ^ @CUSTOM_DATES@+    | RQRDRLast14Days+      -- ^ @LAST_14_DAYS@+    | RQRDRLast30Days+      -- ^ @LAST_30_DAYS@+    | RQRDRLast365Days+      -- ^ @LAST_365_DAYS@+    | RQRDRLast7Days+      -- ^ @LAST_7_DAYS@+    | RQRDRLast90Days+      -- ^ @LAST_90_DAYS@+    | RQRDRMonthToDate+      -- ^ @MONTH_TO_DATE@+    | RQRDRPreviousDay+      -- ^ @PREVIOUS_DAY@+    | RQRDRPreviousHalfMonth+      -- ^ @PREVIOUS_HALF_MONTH@+    | RQRDRPreviousMonth+      -- ^ @PREVIOUS_MONTH@+    | RQRDRPreviousQuarter+      -- ^ @PREVIOUS_QUARTER@+    | RQRDRPreviousWeek+      -- ^ @PREVIOUS_WEEK@+    | RQRDRPreviousYear+      -- ^ @PREVIOUS_YEAR@+    | RQRDRQuarterToDate+      -- ^ @QUARTER_TO_DATE@+    | RQRDRWeekToDate+      -- ^ @WEEK_TO_DATE@+    | RQRDRYearToDate+      -- ^ @YEAR_TO_DATE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RunQueryRequestDataRange++instance FromText RunQueryRequestDataRange where+    fromText = \case+        "ALL_TIME" -> Just RQRDRAllTime+        "CURRENT_DAY" -> Just RQRDRCurrentDay+        "CUSTOM_DATES" -> Just RQRDRCustomDates+        "LAST_14_DAYS" -> Just RQRDRLast14Days+        "LAST_30_DAYS" -> Just RQRDRLast30Days+        "LAST_365_DAYS" -> Just RQRDRLast365Days+        "LAST_7_DAYS" -> Just RQRDRLast7Days+        "LAST_90_DAYS" -> Just RQRDRLast90Days+        "MONTH_TO_DATE" -> Just RQRDRMonthToDate+        "PREVIOUS_DAY" -> Just RQRDRPreviousDay+        "PREVIOUS_HALF_MONTH" -> Just RQRDRPreviousHalfMonth+        "PREVIOUS_MONTH" -> Just RQRDRPreviousMonth+        "PREVIOUS_QUARTER" -> Just RQRDRPreviousQuarter+        "PREVIOUS_WEEK" -> Just RQRDRPreviousWeek+        "PREVIOUS_YEAR" -> Just RQRDRPreviousYear+        "QUARTER_TO_DATE" -> Just RQRDRQuarterToDate+        "WEEK_TO_DATE" -> Just RQRDRWeekToDate+        "YEAR_TO_DATE" -> Just RQRDRYearToDate+        _ -> Nothing++instance ToText RunQueryRequestDataRange where+    toText = \case+        RQRDRAllTime -> "ALL_TIME"+        RQRDRCurrentDay -> "CURRENT_DAY"+        RQRDRCustomDates -> "CUSTOM_DATES"+        RQRDRLast14Days -> "LAST_14_DAYS"+        RQRDRLast30Days -> "LAST_30_DAYS"+        RQRDRLast365Days -> "LAST_365_DAYS"+        RQRDRLast7Days -> "LAST_7_DAYS"+        RQRDRLast90Days -> "LAST_90_DAYS"+        RQRDRMonthToDate -> "MONTH_TO_DATE"+        RQRDRPreviousDay -> "PREVIOUS_DAY"+        RQRDRPreviousHalfMonth -> "PREVIOUS_HALF_MONTH"+        RQRDRPreviousMonth -> "PREVIOUS_MONTH"+        RQRDRPreviousQuarter -> "PREVIOUS_QUARTER"+        RQRDRPreviousWeek -> "PREVIOUS_WEEK"+        RQRDRPreviousYear -> "PREVIOUS_YEAR"+        RQRDRQuarterToDate -> "QUARTER_TO_DATE"+        RQRDRWeekToDate -> "WEEK_TO_DATE"+        RQRDRYearToDate -> "YEAR_TO_DATE"++instance FromJSON RunQueryRequestDataRange where+    parseJSON = parseJSONText "RunQueryRequestDataRange"++instance ToJSON RunQueryRequestDataRange where+    toJSON = toJSONText++-- | The state of the report.+data ReportStatusState+    = Done+      -- ^ @DONE@+    | Failed+      -- ^ @FAILED@+    | Running+      -- ^ @RUNNING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportStatusState++instance FromText ReportStatusState where+    fromText = \case+        "DONE" -> Just Done+        "FAILED" -> Just Failed+        "RUNNING" -> Just Running+        _ -> Nothing++instance ToText ReportStatusState where+    toText = \case+        Done -> "DONE"+        Failed -> "FAILED"+        Running -> "RUNNING"++instance FromJSON ReportStatusState where+    parseJSON = parseJSONText "ReportStatusState"++instance ToJSON ReportStatusState where+    toJSON = toJSONText++data ParametersGroupBysItem+    = PGBIFilterActiveViewExpectedViewability+      -- ^ @FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY@+    | PGBIFilterActivityId+      -- ^ @FILTER_ACTIVITY_ID@+    | PGBIFilterAdvertiser+      -- ^ @FILTER_ADVERTISER@+    | PGBIFilterAdvertiserCurrency+      -- ^ @FILTER_ADVERTISER_CURRENCY@+    | PGBIFilterAdvertiserTimezone+      -- ^ @FILTER_ADVERTISER_TIMEZONE@+    | PGBIFilterAdPosition+      -- ^ @FILTER_AD_POSITION@+    | PGBIFilterAge+      -- ^ @FILTER_AGE@+    | PGBIFilterBrandsafeChannelId+      -- ^ @FILTER_BRANDSAFE_CHANNEL_ID@+    | PGBIFilterBrowser+      -- ^ @FILTER_BROWSER@+    | PGBIFilterCampaignDailyFrequency+      -- ^ @FILTER_CAMPAIGN_DAILY_FREQUENCY@+    | PGBIFilterCarrier+      -- ^ @FILTER_CARRIER@+    | PGBIFilterChannelId+      -- ^ @FILTER_CHANNEL_ID@+    | PGBIFilterCity+      -- ^ @FILTER_CITY@+    | PGBIFilterConversionDelay+      -- ^ @FILTER_CONVERSION_DELAY@+    | PGBIFilterCountry+      -- ^ @FILTER_COUNTRY@+    | PGBIFilterCreativeHeight+      -- ^ @FILTER_CREATIVE_HEIGHT@+    | PGBIFilterCreativeId+      -- ^ @FILTER_CREATIVE_ID@+    | PGBIFilterCreativeSize+      -- ^ @FILTER_CREATIVE_SIZE@+    | PGBIFilterCreativeType+      -- ^ @FILTER_CREATIVE_TYPE@+    | PGBIFilterCreativeWidth+      -- ^ @FILTER_CREATIVE_WIDTH@+    | PGBIFilterDataProvider+      -- ^ @FILTER_DATA_PROVIDER@+    | PGBIFilterDate+      -- ^ @FILTER_DATE@+    | PGBIFilterDayOfWeek+      -- ^ @FILTER_DAY_OF_WEEK@+    | PGBIFilterDma+      -- ^ @FILTER_DMA@+    | PGBIFilterExchangeId+      -- ^ @FILTER_EXCHANGE_ID@+    | PGBIFilterFloodlightPixelId+      -- ^ @FILTER_FLOODLIGHT_PIXEL_ID@+    | PGBIFilterGender+      -- ^ @FILTER_GENDER@+    | PGBIFilterInsertionOrder+      -- ^ @FILTER_INSERTION_ORDER@+    | PGBIFilterInventoryFormat+      -- ^ @FILTER_INVENTORY_FORMAT@+    | PGBIFilterInventorySource+      -- ^ @FILTER_INVENTORY_SOURCE@+    | PGBIFilterInventorySourceType+      -- ^ @FILTER_INVENTORY_SOURCE_TYPE@+    | PGBIFilterKeyword+      -- ^ @FILTER_KEYWORD@+    | PGBIFilterLineItem+      -- ^ @FILTER_LINE_ITEM@+    | PGBIFilterLineItemDailyFrequency+      -- ^ @FILTER_LINE_ITEM_DAILY_FREQUENCY@+    | PGBIFilterLineItemLifetimeFrequency+      -- ^ @FILTER_LINE_ITEM_LIFETIME_FREQUENCY@+    | PGBIFilterLineItemType+      -- ^ @FILTER_LINE_ITEM_TYPE@+    | PGBIFilterMobileDeviceMake+      -- ^ @FILTER_MOBILE_DEVICE_MAKE@+    | PGBIFilterMobileDeviceMakeModel+      -- ^ @FILTER_MOBILE_DEVICE_MAKE_MODEL@+    | PGBIFilterMobileDeviceType+      -- ^ @FILTER_MOBILE_DEVICE_TYPE@+    | PGBIFilterMobileGeo+      -- ^ @FILTER_MOBILE_GEO@+    | PGBIFilterMonth+      -- ^ @FILTER_MONTH@+    | PGBIFilterMraidSupport+      -- ^ @FILTER_MRAID_SUPPORT@+    | PGBIFilterNielsenAge+      -- ^ @FILTER_NIELSEN_AGE@+    | PGBIFilterNielsenCountryCode+      -- ^ @FILTER_NIELSEN_COUNTRY_CODE@+    | PGBIFilterNielsenDeviceId+      -- ^ @FILTER_NIELSEN_DEVICE_ID@+    | PGBIFilterNielsenGender+      -- ^ @FILTER_NIELSEN_GENDER@+    | PGBIFilterOrderId+      -- ^ @FILTER_ORDER_ID@+    | PGBIFilterOS+      -- ^ @FILTER_OS@+    | PGBIFilterPageCategory+      -- ^ @FILTER_PAGE_CATEGORY@+    | PGBIFilterPageLayout+      -- ^ @FILTER_PAGE_LAYOUT@+    | PGBIFilterPartner+      -- ^ @FILTER_PARTNER@+    | PGBIFilterPartnerCurrency+      -- ^ @FILTER_PARTNER_CURRENCY@+    | PGBIFilterPublicInventory+      -- ^ @FILTER_PUBLIC_INVENTORY@+    | PGBIFilterQuarter+      -- ^ @FILTER_QUARTER@+    | PGBIFilterRegion+      -- ^ @FILTER_REGION@+    | PGBIFilterRegularChannelId+      -- ^ @FILTER_REGULAR_CHANNEL_ID@+    | PGBIFilterSiteId+      -- ^ @FILTER_SITE_ID@+    | PGBIFilterSiteLanguage+      -- ^ @FILTER_SITE_LANGUAGE@+    | PGBIFilterTargetedUserList+      -- ^ @FILTER_TARGETED_USER_LIST@+    | PGBIFilterTimeOfDay+      -- ^ @FILTER_TIME_OF_DAY@+    | PGBIFilterTrueviewConversionType+      -- ^ @FILTER_TRUEVIEW_CONVERSION_TYPE@+    | PGBIFilterUnknown+      -- ^ @FILTER_UNKNOWN@+    | PGBIFilterUserList+      -- ^ @FILTER_USER_LIST@+    | PGBIFilterUserListFirstParty+      -- ^ @FILTER_USER_LIST_FIRST_PARTY@+    | PGBIFilterUserListThirdParty+      -- ^ @FILTER_USER_LIST_THIRD_PARTY@+    | PGBIFilterVideoAdPositionInStream+      -- ^ @FILTER_VIDEO_AD_POSITION_IN_STREAM@+    | PGBIFilterVideoCompanionSize+      -- ^ @FILTER_VIDEO_COMPANION_SIZE@+    | PGBIFilterVideoCompanionType+      -- ^ @FILTER_VIDEO_COMPANION_TYPE@+    | PGBIFilterVideoCreativeDuration+      -- ^ @FILTER_VIDEO_CREATIVE_DURATION@+    | PGBIFilterVideoCreativeDurationSkippable+      -- ^ @FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE@+    | PGBIFilterVideoDurationSeconds+      -- ^ @FILTER_VIDEO_DURATION_SECONDS@+    | PGBIFilterVideoFormatSupport+      -- ^ @FILTER_VIDEO_FORMAT_SUPPORT@+    | PGBIFilterVideoInventoryType+      -- ^ @FILTER_VIDEO_INVENTORY_TYPE@+    | PGBIFilterVideoPlayerSize+      -- ^ @FILTER_VIDEO_PLAYER_SIZE@+    | PGBIFilterVideoRatingTier+      -- ^ @FILTER_VIDEO_RATING_TIER@+    | PGBIFilterVideoSkippableSupport+      -- ^ @FILTER_VIDEO_SKIPPABLE_SUPPORT@+    | PGBIFilterVideoVpaidSupport+      -- ^ @FILTER_VIDEO_VPAID_SUPPORT@+    | PGBIFilterWeek+      -- ^ @FILTER_WEEK@+    | PGBIFilterYear+      -- ^ @FILTER_YEAR@+    | PGBIFilterYouTubeVertical+      -- ^ @FILTER_YOUTUBE_VERTICAL@+    | PGBIFilterZipCode+      -- ^ @FILTER_ZIP_CODE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ParametersGroupBysItem++instance FromText ParametersGroupBysItem where+    fromText = \case+        "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY" -> Just PGBIFilterActiveViewExpectedViewability+        "FILTER_ACTIVITY_ID" -> Just PGBIFilterActivityId+        "FILTER_ADVERTISER" -> Just PGBIFilterAdvertiser+        "FILTER_ADVERTISER_CURRENCY" -> Just PGBIFilterAdvertiserCurrency+        "FILTER_ADVERTISER_TIMEZONE" -> Just PGBIFilterAdvertiserTimezone+        "FILTER_AD_POSITION" -> Just PGBIFilterAdPosition+        "FILTER_AGE" -> Just PGBIFilterAge+        "FILTER_BRANDSAFE_CHANNEL_ID" -> Just PGBIFilterBrandsafeChannelId+        "FILTER_BROWSER" -> Just PGBIFilterBrowser+        "FILTER_CAMPAIGN_DAILY_FREQUENCY" -> Just PGBIFilterCampaignDailyFrequency+        "FILTER_CARRIER" -> Just PGBIFilterCarrier+        "FILTER_CHANNEL_ID" -> Just PGBIFilterChannelId+        "FILTER_CITY" -> Just PGBIFilterCity+        "FILTER_CONVERSION_DELAY" -> Just PGBIFilterConversionDelay+        "FILTER_COUNTRY" -> Just PGBIFilterCountry+        "FILTER_CREATIVE_HEIGHT" -> Just PGBIFilterCreativeHeight+        "FILTER_CREATIVE_ID" -> Just PGBIFilterCreativeId+        "FILTER_CREATIVE_SIZE" -> Just PGBIFilterCreativeSize+        "FILTER_CREATIVE_TYPE" -> Just PGBIFilterCreativeType+        "FILTER_CREATIVE_WIDTH" -> Just PGBIFilterCreativeWidth+        "FILTER_DATA_PROVIDER" -> Just PGBIFilterDataProvider+        "FILTER_DATE" -> Just PGBIFilterDate+        "FILTER_DAY_OF_WEEK" -> Just PGBIFilterDayOfWeek+        "FILTER_DMA" -> Just PGBIFilterDma+        "FILTER_EXCHANGE_ID" -> Just PGBIFilterExchangeId+        "FILTER_FLOODLIGHT_PIXEL_ID" -> Just PGBIFilterFloodlightPixelId+        "FILTER_GENDER" -> Just PGBIFilterGender+        "FILTER_INSERTION_ORDER" -> Just PGBIFilterInsertionOrder+        "FILTER_INVENTORY_FORMAT" -> Just PGBIFilterInventoryFormat+        "FILTER_INVENTORY_SOURCE" -> Just PGBIFilterInventorySource+        "FILTER_INVENTORY_SOURCE_TYPE" -> Just PGBIFilterInventorySourceType+        "FILTER_KEYWORD" -> Just PGBIFilterKeyword+        "FILTER_LINE_ITEM" -> Just PGBIFilterLineItem+        "FILTER_LINE_ITEM_DAILY_FREQUENCY" -> Just PGBIFilterLineItemDailyFrequency+        "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" -> Just PGBIFilterLineItemLifetimeFrequency+        "FILTER_LINE_ITEM_TYPE" -> Just PGBIFilterLineItemType+        "FILTER_MOBILE_DEVICE_MAKE" -> Just PGBIFilterMobileDeviceMake+        "FILTER_MOBILE_DEVICE_MAKE_MODEL" -> Just PGBIFilterMobileDeviceMakeModel+        "FILTER_MOBILE_DEVICE_TYPE" -> Just PGBIFilterMobileDeviceType+        "FILTER_MOBILE_GEO" -> Just PGBIFilterMobileGeo+        "FILTER_MONTH" -> Just PGBIFilterMonth+        "FILTER_MRAID_SUPPORT" -> Just PGBIFilterMraidSupport+        "FILTER_NIELSEN_AGE" -> Just PGBIFilterNielsenAge+        "FILTER_NIELSEN_COUNTRY_CODE" -> Just PGBIFilterNielsenCountryCode+        "FILTER_NIELSEN_DEVICE_ID" -> Just PGBIFilterNielsenDeviceId+        "FILTER_NIELSEN_GENDER" -> Just PGBIFilterNielsenGender+        "FILTER_ORDER_ID" -> Just PGBIFilterOrderId+        "FILTER_OS" -> Just PGBIFilterOS+        "FILTER_PAGE_CATEGORY" -> Just PGBIFilterPageCategory+        "FILTER_PAGE_LAYOUT" -> Just PGBIFilterPageLayout+        "FILTER_PARTNER" -> Just PGBIFilterPartner+        "FILTER_PARTNER_CURRENCY" -> Just PGBIFilterPartnerCurrency+        "FILTER_PUBLIC_INVENTORY" -> Just PGBIFilterPublicInventory+        "FILTER_QUARTER" -> Just PGBIFilterQuarter+        "FILTER_REGION" -> Just PGBIFilterRegion+        "FILTER_REGULAR_CHANNEL_ID" -> Just PGBIFilterRegularChannelId+        "FILTER_SITE_ID" -> Just PGBIFilterSiteId+        "FILTER_SITE_LANGUAGE" -> Just PGBIFilterSiteLanguage+        "FILTER_TARGETED_USER_LIST" -> Just PGBIFilterTargetedUserList+        "FILTER_TIME_OF_DAY" -> Just PGBIFilterTimeOfDay+        "FILTER_TRUEVIEW_CONVERSION_TYPE" -> Just PGBIFilterTrueviewConversionType+        "FILTER_UNKNOWN" -> Just PGBIFilterUnknown+        "FILTER_USER_LIST" -> Just PGBIFilterUserList+        "FILTER_USER_LIST_FIRST_PARTY" -> Just PGBIFilterUserListFirstParty+        "FILTER_USER_LIST_THIRD_PARTY" -> Just PGBIFilterUserListThirdParty+        "FILTER_VIDEO_AD_POSITION_IN_STREAM" -> Just PGBIFilterVideoAdPositionInStream+        "FILTER_VIDEO_COMPANION_SIZE" -> Just PGBIFilterVideoCompanionSize+        "FILTER_VIDEO_COMPANION_TYPE" -> Just PGBIFilterVideoCompanionType+        "FILTER_VIDEO_CREATIVE_DURATION" -> Just PGBIFilterVideoCreativeDuration+        "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE" -> Just PGBIFilterVideoCreativeDurationSkippable+        "FILTER_VIDEO_DURATION_SECONDS" -> Just PGBIFilterVideoDurationSeconds+        "FILTER_VIDEO_FORMAT_SUPPORT" -> Just PGBIFilterVideoFormatSupport+        "FILTER_VIDEO_INVENTORY_TYPE" -> Just PGBIFilterVideoInventoryType+        "FILTER_VIDEO_PLAYER_SIZE" -> Just PGBIFilterVideoPlayerSize+        "FILTER_VIDEO_RATING_TIER" -> Just PGBIFilterVideoRatingTier+        "FILTER_VIDEO_SKIPPABLE_SUPPORT" -> Just PGBIFilterVideoSkippableSupport+        "FILTER_VIDEO_VPAID_SUPPORT" -> Just PGBIFilterVideoVpaidSupport+        "FILTER_WEEK" -> Just PGBIFilterWeek+        "FILTER_YEAR" -> Just PGBIFilterYear+        "FILTER_YOUTUBE_VERTICAL" -> Just PGBIFilterYouTubeVertical+        "FILTER_ZIP_CODE" -> Just PGBIFilterZipCode+        _ -> Nothing++instance ToText ParametersGroupBysItem where+    toText = \case+        PGBIFilterActiveViewExpectedViewability -> "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY"+        PGBIFilterActivityId -> "FILTER_ACTIVITY_ID"+        PGBIFilterAdvertiser -> "FILTER_ADVERTISER"+        PGBIFilterAdvertiserCurrency -> "FILTER_ADVERTISER_CURRENCY"+        PGBIFilterAdvertiserTimezone -> "FILTER_ADVERTISER_TIMEZONE"+        PGBIFilterAdPosition -> "FILTER_AD_POSITION"+        PGBIFilterAge -> "FILTER_AGE"+        PGBIFilterBrandsafeChannelId -> "FILTER_BRANDSAFE_CHANNEL_ID"+        PGBIFilterBrowser -> "FILTER_BROWSER"+        PGBIFilterCampaignDailyFrequency -> "FILTER_CAMPAIGN_DAILY_FREQUENCY"+        PGBIFilterCarrier -> "FILTER_CARRIER"+        PGBIFilterChannelId -> "FILTER_CHANNEL_ID"+        PGBIFilterCity -> "FILTER_CITY"+        PGBIFilterConversionDelay -> "FILTER_CONVERSION_DELAY"+        PGBIFilterCountry -> "FILTER_COUNTRY"+        PGBIFilterCreativeHeight -> "FILTER_CREATIVE_HEIGHT"+        PGBIFilterCreativeId -> "FILTER_CREATIVE_ID"+        PGBIFilterCreativeSize -> "FILTER_CREATIVE_SIZE"+        PGBIFilterCreativeType -> "FILTER_CREATIVE_TYPE"+        PGBIFilterCreativeWidth -> "FILTER_CREATIVE_WIDTH"+        PGBIFilterDataProvider -> "FILTER_DATA_PROVIDER"+        PGBIFilterDate -> "FILTER_DATE"+        PGBIFilterDayOfWeek -> "FILTER_DAY_OF_WEEK"+        PGBIFilterDma -> "FILTER_DMA"+        PGBIFilterExchangeId -> "FILTER_EXCHANGE_ID"+        PGBIFilterFloodlightPixelId -> "FILTER_FLOODLIGHT_PIXEL_ID"+        PGBIFilterGender -> "FILTER_GENDER"+        PGBIFilterInsertionOrder -> "FILTER_INSERTION_ORDER"+        PGBIFilterInventoryFormat -> "FILTER_INVENTORY_FORMAT"+        PGBIFilterInventorySource -> "FILTER_INVENTORY_SOURCE"+        PGBIFilterInventorySourceType -> "FILTER_INVENTORY_SOURCE_TYPE"+        PGBIFilterKeyword -> "FILTER_KEYWORD"+        PGBIFilterLineItem -> "FILTER_LINE_ITEM"+        PGBIFilterLineItemDailyFrequency -> "FILTER_LINE_ITEM_DAILY_FREQUENCY"+        PGBIFilterLineItemLifetimeFrequency -> "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"+        PGBIFilterLineItemType -> "FILTER_LINE_ITEM_TYPE"+        PGBIFilterMobileDeviceMake -> "FILTER_MOBILE_DEVICE_MAKE"+        PGBIFilterMobileDeviceMakeModel -> "FILTER_MOBILE_DEVICE_MAKE_MODEL"+        PGBIFilterMobileDeviceType -> "FILTER_MOBILE_DEVICE_TYPE"+        PGBIFilterMobileGeo -> "FILTER_MOBILE_GEO"+        PGBIFilterMonth -> "FILTER_MONTH"+        PGBIFilterMraidSupport -> "FILTER_MRAID_SUPPORT"+        PGBIFilterNielsenAge -> "FILTER_NIELSEN_AGE"+        PGBIFilterNielsenCountryCode -> "FILTER_NIELSEN_COUNTRY_CODE"+        PGBIFilterNielsenDeviceId -> "FILTER_NIELSEN_DEVICE_ID"+        PGBIFilterNielsenGender -> "FILTER_NIELSEN_GENDER"+        PGBIFilterOrderId -> "FILTER_ORDER_ID"+        PGBIFilterOS -> "FILTER_OS"+        PGBIFilterPageCategory -> "FILTER_PAGE_CATEGORY"+        PGBIFilterPageLayout -> "FILTER_PAGE_LAYOUT"+        PGBIFilterPartner -> "FILTER_PARTNER"+        PGBIFilterPartnerCurrency -> "FILTER_PARTNER_CURRENCY"+        PGBIFilterPublicInventory -> "FILTER_PUBLIC_INVENTORY"+        PGBIFilterQuarter -> "FILTER_QUARTER"+        PGBIFilterRegion -> "FILTER_REGION"+        PGBIFilterRegularChannelId -> "FILTER_REGULAR_CHANNEL_ID"+        PGBIFilterSiteId -> "FILTER_SITE_ID"+        PGBIFilterSiteLanguage -> "FILTER_SITE_LANGUAGE"+        PGBIFilterTargetedUserList -> "FILTER_TARGETED_USER_LIST"+        PGBIFilterTimeOfDay -> "FILTER_TIME_OF_DAY"+        PGBIFilterTrueviewConversionType -> "FILTER_TRUEVIEW_CONVERSION_TYPE"+        PGBIFilterUnknown -> "FILTER_UNKNOWN"+        PGBIFilterUserList -> "FILTER_USER_LIST"+        PGBIFilterUserListFirstParty -> "FILTER_USER_LIST_FIRST_PARTY"+        PGBIFilterUserListThirdParty -> "FILTER_USER_LIST_THIRD_PARTY"+        PGBIFilterVideoAdPositionInStream -> "FILTER_VIDEO_AD_POSITION_IN_STREAM"+        PGBIFilterVideoCompanionSize -> "FILTER_VIDEO_COMPANION_SIZE"+        PGBIFilterVideoCompanionType -> "FILTER_VIDEO_COMPANION_TYPE"+        PGBIFilterVideoCreativeDuration -> "FILTER_VIDEO_CREATIVE_DURATION"+        PGBIFilterVideoCreativeDurationSkippable -> "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE"+        PGBIFilterVideoDurationSeconds -> "FILTER_VIDEO_DURATION_SECONDS"+        PGBIFilterVideoFormatSupport -> "FILTER_VIDEO_FORMAT_SUPPORT"+        PGBIFilterVideoInventoryType -> "FILTER_VIDEO_INVENTORY_TYPE"+        PGBIFilterVideoPlayerSize -> "FILTER_VIDEO_PLAYER_SIZE"+        PGBIFilterVideoRatingTier -> "FILTER_VIDEO_RATING_TIER"+        PGBIFilterVideoSkippableSupport -> "FILTER_VIDEO_SKIPPABLE_SUPPORT"+        PGBIFilterVideoVpaidSupport -> "FILTER_VIDEO_VPAID_SUPPORT"+        PGBIFilterWeek -> "FILTER_WEEK"+        PGBIFilterYear -> "FILTER_YEAR"+        PGBIFilterYouTubeVertical -> "FILTER_YOUTUBE_VERTICAL"+        PGBIFilterZipCode -> "FILTER_ZIP_CODE"++instance FromJSON ParametersGroupBysItem where+    parseJSON = parseJSONText "ParametersGroupBysItem"++instance ToJSON ParametersGroupBysItem where+    toJSON = toJSONText++-- | Error code that shows why the report was not created.+data ReportFailureErrorCode+    = AuthenticationError+      -- ^ @AUTHENTICATION_ERROR@+    | DeprecatedReportingInvalidQuery+      -- ^ @DEPRECATED_REPORTING_INVALID_QUERY@+    | ReportingBucketNotFound+      -- ^ @REPORTING_BUCKET_NOT_FOUND@+    | ReportingCreateBucketFailed+      -- ^ @REPORTING_CREATE_BUCKET_FAILED@+    | ReportingDeleteBucketFailed+      -- ^ @REPORTING_DELETE_BUCKET_FAILED@+    | ReportingFatalError+      -- ^ @REPORTING_FATAL_ERROR@+    | ReportingIllegalFilename+      -- ^ @REPORTING_ILLEGAL_FILENAME@+    | ReportingImcompatibleMetrics+      -- ^ @REPORTING_IMCOMPATIBLE_METRICS@+    | ReportingInvalidQueryMissingPartnerAndAdvertiserFilters+      -- ^ @REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS@+    | ReportingInvalidQueryTitleMissing+      -- ^ @REPORTING_INVALID_QUERY_TITLE_MISSING@+    | ReportingInvalidQueryTooManyUnfilteredLargeGroupBys+      -- ^ @REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS@+    | ReportingQueryNotFound+      -- ^ @REPORTING_QUERY_NOT_FOUND@+    | ReportingTransientError+      -- ^ @REPORTING_TRANSIENT_ERROR@+    | ReportingUpdateBucketPermissionFailed+      -- ^ @REPORTING_UPDATE_BUCKET_PERMISSION_FAILED@+    | ReportingWriteBucketObjectFailed+      -- ^ @REPORTING_WRITE_BUCKET_OBJECT_FAILED@+    | ServerError+      -- ^ @SERVER_ERROR@+    | UnauthorizedAPIAccess+      -- ^ @UNAUTHORIZED_API_ACCESS@+    | ValidationError+      -- ^ @VALIDATION_ERROR@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportFailureErrorCode++instance FromText ReportFailureErrorCode where+    fromText = \case+        "AUTHENTICATION_ERROR" -> Just AuthenticationError+        "DEPRECATED_REPORTING_INVALID_QUERY" -> Just DeprecatedReportingInvalidQuery+        "REPORTING_BUCKET_NOT_FOUND" -> Just ReportingBucketNotFound+        "REPORTING_CREATE_BUCKET_FAILED" -> Just ReportingCreateBucketFailed+        "REPORTING_DELETE_BUCKET_FAILED" -> Just ReportingDeleteBucketFailed+        "REPORTING_FATAL_ERROR" -> Just ReportingFatalError+        "REPORTING_ILLEGAL_FILENAME" -> Just ReportingIllegalFilename+        "REPORTING_IMCOMPATIBLE_METRICS" -> Just ReportingImcompatibleMetrics+        "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS" -> Just ReportingInvalidQueryMissingPartnerAndAdvertiserFilters+        "REPORTING_INVALID_QUERY_TITLE_MISSING" -> Just ReportingInvalidQueryTitleMissing+        "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS" -> Just ReportingInvalidQueryTooManyUnfilteredLargeGroupBys+        "REPORTING_QUERY_NOT_FOUND" -> Just ReportingQueryNotFound+        "REPORTING_TRANSIENT_ERROR" -> Just ReportingTransientError+        "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED" -> Just ReportingUpdateBucketPermissionFailed+        "REPORTING_WRITE_BUCKET_OBJECT_FAILED" -> Just ReportingWriteBucketObjectFailed+        "SERVER_ERROR" -> Just ServerError+        "UNAUTHORIZED_API_ACCESS" -> Just UnauthorizedAPIAccess+        "VALIDATION_ERROR" -> Just ValidationError+        _ -> Nothing++instance ToText ReportFailureErrorCode where+    toText = \case+        AuthenticationError -> "AUTHENTICATION_ERROR"+        DeprecatedReportingInvalidQuery -> "DEPRECATED_REPORTING_INVALID_QUERY"+        ReportingBucketNotFound -> "REPORTING_BUCKET_NOT_FOUND"+        ReportingCreateBucketFailed -> "REPORTING_CREATE_BUCKET_FAILED"+        ReportingDeleteBucketFailed -> "REPORTING_DELETE_BUCKET_FAILED"+        ReportingFatalError -> "REPORTING_FATAL_ERROR"+        ReportingIllegalFilename -> "REPORTING_ILLEGAL_FILENAME"+        ReportingImcompatibleMetrics -> "REPORTING_IMCOMPATIBLE_METRICS"+        ReportingInvalidQueryMissingPartnerAndAdvertiserFilters -> "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS"+        ReportingInvalidQueryTitleMissing -> "REPORTING_INVALID_QUERY_TITLE_MISSING"+        ReportingInvalidQueryTooManyUnfilteredLargeGroupBys -> "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS"+        ReportingQueryNotFound -> "REPORTING_QUERY_NOT_FOUND"+        ReportingTransientError -> "REPORTING_TRANSIENT_ERROR"+        ReportingUpdateBucketPermissionFailed -> "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED"+        ReportingWriteBucketObjectFailed -> "REPORTING_WRITE_BUCKET_OBJECT_FAILED"+        ServerError -> "SERVER_ERROR"+        UnauthorizedAPIAccess -> "UNAUTHORIZED_API_ACCESS"+        ValidationError -> "VALIDATION_ERROR"++instance FromJSON ReportFailureErrorCode where+    parseJSON = parseJSONText "ReportFailureErrorCode"++instance ToJSON ReportFailureErrorCode where+    toJSON = toJSONText++-- | Format in which the line items will be returned. Default to CSV.+data DownloadLineItemsRequestFormat+    = DLIRFCSV+      -- ^ @CSV@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DownloadLineItemsRequestFormat++instance FromText DownloadLineItemsRequestFormat where+    fromText = \case+        "CSV" -> Just DLIRFCSV+        _ -> Nothing++instance ToText DownloadLineItemsRequestFormat where+    toText = \case+        DLIRFCSV -> "CSV"++instance FromJSON DownloadLineItemsRequestFormat where+    parseJSON = parseJSONText "DownloadLineItemsRequestFormat"++instance ToJSON DownloadLineItemsRequestFormat where+    toJSON = toJSONText++-- | The file type of the report.+data ReportStatusFormat+    = RSFCSV+      -- ^ @CSV@+    | RSFExcelCSV+      -- ^ @EXCEL_CSV@+    | RSFXlsx+      -- ^ @XLSX@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportStatusFormat++instance FromText ReportStatusFormat where+    fromText = \case+        "CSV" -> Just RSFCSV+        "EXCEL_CSV" -> Just RSFExcelCSV+        "XLSX" -> Just RSFXlsx+        _ -> Nothing++instance ToText ReportStatusFormat where+    toText = \case+        RSFCSV -> "CSV"+        RSFExcelCSV -> "EXCEL_CSV"+        RSFXlsx -> "XLSX"++instance FromJSON ReportStatusFormat where+    parseJSON = parseJSONText "ReportStatusFormat"++instance ToJSON ReportStatusFormat where+    toJSON = toJSONText
+ gen/Network/Google/Resource/DoubleClickBidManager/Lineitems/Downloadlineitems.hs view
@@ -0,0 +1,87 @@+{-# 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.DoubleClickBidManager.Lineitems.Downloadlineitems+-- 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 line items in CSV format.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.lineitems.downloadlineitems@.+module Network.Google.Resource.DoubleClickBidManager.Lineitems.Downloadlineitems+    (+    -- * REST Resource+      LineitemsDownloadlineitemsResource++    -- * Creating a Request+    , lineitemsDownloadlineitems+    , LineitemsDownloadlineitems++    -- * Request Lenses+    , ldPayload+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.lineitems.downloadlineitems@ method which the+-- 'LineitemsDownloadlineitems' request conforms to.+type LineitemsDownloadlineitemsResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "lineitems" :>+           "downloadlineitems" :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] DownloadLineItemsRequest :>+                 Post '[JSON] DownloadLineItemsResponse++-- | Retrieves line items in CSV format.+--+-- /See:/ 'lineitemsDownloadlineitems' smart constructor.+newtype LineitemsDownloadlineitems = LineitemsDownloadlineitems+    { _ldPayload :: DownloadLineItemsRequest+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LineitemsDownloadlineitems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldPayload'+lineitemsDownloadlineitems+    :: DownloadLineItemsRequest -- ^ 'ldPayload'+    -> LineitemsDownloadlineitems+lineitemsDownloadlineitems pLdPayload_ =+    LineitemsDownloadlineitems+    { _ldPayload = pLdPayload_+    }++-- | Multipart request metadata.+ldPayload :: Lens' LineitemsDownloadlineitems DownloadLineItemsRequest+ldPayload+  = lens _ldPayload (\ s a -> s{_ldPayload = a})++instance GoogleRequest LineitemsDownloadlineitems+         where+        type Rs LineitemsDownloadlineitems =+             DownloadLineItemsResponse+        requestClient LineitemsDownloadlineitems{..}+          = go (Just AltJSON) _ldPayload doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy LineitemsDownloadlineitemsResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Lineitems/Uploadlineitems.hs view
@@ -0,0 +1,86 @@+{-# 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.DoubleClickBidManager.Lineitems.Uploadlineitems+-- 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)+--+-- Uploads line items in CSV format.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.lineitems.uploadlineitems@.+module Network.Google.Resource.DoubleClickBidManager.Lineitems.Uploadlineitems+    (+    -- * REST Resource+      LineitemsUploadlineitemsResource++    -- * Creating a Request+    , lineitemsUploadlineitems+    , LineitemsUploadlineitems++    -- * Request Lenses+    , luPayload+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.lineitems.uploadlineitems@ method which the+-- 'LineitemsUploadlineitems' request conforms to.+type LineitemsUploadlineitemsResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "lineitems" :>+           "uploadlineitems" :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] UploadLineItemsRequest :>+                 Post '[JSON] UploadLineItemsResponse++-- | Uploads line items in CSV format.+--+-- /See:/ 'lineitemsUploadlineitems' smart constructor.+newtype LineitemsUploadlineitems = LineitemsUploadlineitems+    { _luPayload :: UploadLineItemsRequest+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LineitemsUploadlineitems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'luPayload'+lineitemsUploadlineitems+    :: UploadLineItemsRequest -- ^ 'luPayload'+    -> LineitemsUploadlineitems+lineitemsUploadlineitems pLuPayload_ =+    LineitemsUploadlineitems+    { _luPayload = pLuPayload_+    }++-- | Multipart request metadata.+luPayload :: Lens' LineitemsUploadlineitems UploadLineItemsRequest+luPayload+  = lens _luPayload (\ s a -> s{_luPayload = a})++instance GoogleRequest LineitemsUploadlineitems where+        type Rs LineitemsUploadlineitems =+             UploadLineItemsResponse+        requestClient LineitemsUploadlineitems{..}+          = go (Just AltJSON) _luPayload doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy LineitemsUploadlineitemsResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Queries/CreateQuery.hs view
@@ -0,0 +1,84 @@+{-# 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.DoubleClickBidManager.Queries.CreateQuery+-- 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)+--+-- Creates a query.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.queries.createquery@.+module Network.Google.Resource.DoubleClickBidManager.Queries.CreateQuery+    (+    -- * REST Resource+      QueriesCreateQueryResource++    -- * Creating a Request+    , queriesCreateQuery+    , QueriesCreateQuery++    -- * Request Lenses+    , qcqPayload+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.queries.createquery@ method which the+-- 'QueriesCreateQuery' request conforms to.+type QueriesCreateQueryResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "query" :>+           QueryParam "alt" AltJSON :>+             ReqBody '[JSON] Query :> Post '[JSON] Query++-- | Creates a query.+--+-- /See:/ 'queriesCreateQuery' smart constructor.+newtype QueriesCreateQuery = QueriesCreateQuery+    { _qcqPayload :: Query+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueriesCreateQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qcqPayload'+queriesCreateQuery+    :: Query -- ^ 'qcqPayload'+    -> QueriesCreateQuery+queriesCreateQuery pQcqPayload_ =+    QueriesCreateQuery+    { _qcqPayload = pQcqPayload_+    }++-- | Multipart request metadata.+qcqPayload :: Lens' QueriesCreateQuery Query+qcqPayload+  = lens _qcqPayload (\ s a -> s{_qcqPayload = a})++instance GoogleRequest QueriesCreateQuery where+        type Rs QueriesCreateQuery = Query+        requestClient QueriesCreateQuery{..}+          = go (Just AltJSON) _qcqPayload+              doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy QueriesCreateQueryResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Queries/DeleteQuery.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.DoubleClickBidManager.Queries.DeleteQuery+-- 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)+--+-- Deletes a stored query as well as the associated stored reports.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.queries.deletequery@.+module Network.Google.Resource.DoubleClickBidManager.Queries.DeleteQuery+    (+    -- * REST Resource+      QueriesDeleteQueryResource++    -- * Creating a Request+    , queriesDeleteQuery+    , QueriesDeleteQuery++    -- * Request Lenses+    , qdqQueryId+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.queries.deletequery@ method which the+-- 'QueriesDeleteQuery' request conforms to.+type QueriesDeleteQueryResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "query" :>+           Capture "queryId" (Textual Int64) :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a stored query as well as the associated stored reports.+--+-- /See:/ 'queriesDeleteQuery' smart constructor.+newtype QueriesDeleteQuery = QueriesDeleteQuery+    { _qdqQueryId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueriesDeleteQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qdqQueryId'+queriesDeleteQuery+    :: Int64 -- ^ 'qdqQueryId'+    -> QueriesDeleteQuery+queriesDeleteQuery pQdqQueryId_ =+    QueriesDeleteQuery+    { _qdqQueryId = _Coerce # pQdqQueryId_+    }++-- | Query ID to delete.+qdqQueryId :: Lens' QueriesDeleteQuery Int64+qdqQueryId+  = lens _qdqQueryId (\ s a -> s{_qdqQueryId = a}) .+      _Coerce++instance GoogleRequest QueriesDeleteQuery where+        type Rs QueriesDeleteQuery = ()+        requestClient QueriesDeleteQuery{..}+          = go _qdqQueryId (Just AltJSON)+              doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy QueriesDeleteQueryResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Queries/GetQuery.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.DoubleClickBidManager.Queries.GetQuery+-- 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 stored query.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.queries.getquery@.+module Network.Google.Resource.DoubleClickBidManager.Queries.GetQuery+    (+    -- * REST Resource+      QueriesGetQueryResource++    -- * Creating a Request+    , queriesGetQuery+    , QueriesGetQuery++    -- * Request Lenses+    , qgqQueryId+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.queries.getquery@ method which the+-- 'QueriesGetQuery' request conforms to.+type QueriesGetQueryResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "query" :>+           Capture "queryId" (Textual Int64) :>+             QueryParam "alt" AltJSON :> Get '[JSON] Query++-- | Retrieves a stored query.+--+-- /See:/ 'queriesGetQuery' smart constructor.+newtype QueriesGetQuery = QueriesGetQuery+    { _qgqQueryId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueriesGetQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qgqQueryId'+queriesGetQuery+    :: Int64 -- ^ 'qgqQueryId'+    -> QueriesGetQuery+queriesGetQuery pQgqQueryId_ =+    QueriesGetQuery+    { _qgqQueryId = _Coerce # pQgqQueryId_+    }++-- | Query ID to retrieve.+qgqQueryId :: Lens' QueriesGetQuery Int64+qgqQueryId+  = lens _qgqQueryId (\ s a -> s{_qgqQueryId = a}) .+      _Coerce++instance GoogleRequest QueriesGetQuery where+        type Rs QueriesGetQuery = Query+        requestClient QueriesGetQuery{..}+          = go _qgqQueryId (Just AltJSON)+              doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy QueriesGetQueryResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Queries/Listqueries.hs view
@@ -0,0 +1,69 @@+{-# 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.DoubleClickBidManager.Queries.Listqueries+-- 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 stored queries.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.queries.listqueries@.+module Network.Google.Resource.DoubleClickBidManager.Queries.Listqueries+    (+    -- * REST Resource+      QueriesListqueriesResource++    -- * Creating a Request+    , queriesListqueries+    , QueriesListqueries++    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.queries.listqueries@ method which the+-- 'QueriesListqueries' request conforms to.+type QueriesListqueriesResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "queries" :>+           QueryParam "alt" AltJSON :>+             Get '[JSON] ListQueriesResponse++-- | Retrieves stored queries.+--+-- /See:/ 'queriesListqueries' smart constructor.+data QueriesListqueries =+    QueriesListqueries+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueriesListqueries' with the minimum fields required to make a request.+--+queriesListqueries+    :: QueriesListqueries+queriesListqueries = QueriesListqueries++instance GoogleRequest QueriesListqueries where+        type Rs QueriesListqueries = ListQueriesResponse+        requestClient QueriesListqueries{}+          = go (Just AltJSON) doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy QueriesListqueriesResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Queries/RunQuery.hs view
@@ -0,0 +1,97 @@+{-# 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.DoubleClickBidManager.Queries.RunQuery+-- 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)+--+-- Runs a stored query to generate a report.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.queries.runquery@.+module Network.Google.Resource.DoubleClickBidManager.Queries.RunQuery+    (+    -- * REST Resource+      QueriesRunQueryResource++    -- * Creating a Request+    , queriesRunQuery+    , QueriesRunQuery++    -- * Request Lenses+    , qrqQueryId+    , qrqPayload+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.queries.runquery@ method which the+-- 'QueriesRunQuery' request conforms to.+type QueriesRunQueryResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "query" :>+           Capture "queryId" (Textual Int64) :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] RunQueryRequest :> Post '[JSON] ()++-- | Runs a stored query to generate a report.+--+-- /See:/ 'queriesRunQuery' smart constructor.+data QueriesRunQuery = QueriesRunQuery+    { _qrqQueryId :: !(Textual Int64)+    , _qrqPayload :: !RunQueryRequest+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueriesRunQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qrqQueryId'+--+-- * 'qrqPayload'+queriesRunQuery+    :: Int64 -- ^ 'qrqQueryId'+    -> RunQueryRequest -- ^ 'qrqPayload'+    -> QueriesRunQuery+queriesRunQuery pQrqQueryId_ pQrqPayload_ =+    QueriesRunQuery+    { _qrqQueryId = _Coerce # pQrqQueryId_+    , _qrqPayload = pQrqPayload_+    }++-- | Query ID to run.+qrqQueryId :: Lens' QueriesRunQuery Int64+qrqQueryId+  = lens _qrqQueryId (\ s a -> s{_qrqQueryId = a}) .+      _Coerce++-- | Multipart request metadata.+qrqPayload :: Lens' QueriesRunQuery RunQueryRequest+qrqPayload+  = lens _qrqPayload (\ s a -> s{_qrqPayload = a})++instance GoogleRequest QueriesRunQuery where+        type Rs QueriesRunQuery = ()+        requestClient QueriesRunQuery{..}+          = go _qrqQueryId (Just AltJSON) _qrqPayload+              doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy QueriesRunQueryResource)+                      mempty
+ gen/Network/Google/Resource/DoubleClickBidManager/Reports/Listreports.hs view
@@ -0,0 +1,86 @@+{-# 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.DoubleClickBidManager.Reports.Listreports+-- 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 stored reports.+--+-- /See:/ <https://developers.google.com/bid-manager/ DoubleClick Bid Manager API Reference> for @doubleclickbidmanager.reports.listreports@.+module Network.Google.Resource.DoubleClickBidManager.Reports.Listreports+    (+    -- * REST Resource+      ReportsListreportsResource++    -- * Creating a Request+    , reportsListreports+    , ReportsListreports++    -- * Request Lenses+    , rlQueryId+    ) where++import           Network.Google.DoubleClickBids.Types+import           Network.Google.Prelude++-- | A resource alias for @doubleclickbidmanager.reports.listreports@ method which the+-- 'ReportsListreports' request conforms to.+type ReportsListreportsResource =+     "doubleclickbidmanager" :>+       "v1" :>+         "queries" :>+           Capture "queryId" (Textual Int64) :>+             "reports" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] ListReportsResponse++-- | Retrieves stored reports.+--+-- /See:/ 'reportsListreports' smart constructor.+newtype ReportsListreports = ReportsListreports+    { _rlQueryId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsListreports' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlQueryId'+reportsListreports+    :: Int64 -- ^ 'rlQueryId'+    -> ReportsListreports+reportsListreports pRlQueryId_ =+    ReportsListreports+    { _rlQueryId = _Coerce # pRlQueryId_+    }++-- | Query ID with which the reports are associated.+rlQueryId :: Lens' ReportsListreports Int64+rlQueryId+  = lens _rlQueryId (\ s a -> s{_rlQueryId = a}) .+      _Coerce++instance GoogleRequest ReportsListreports where+        type Rs ReportsListreports = ListReportsResponse+        requestClient ReportsListreports{..}+          = go _rlQueryId (Just AltJSON) doubleClickBidsService+          where go+                  = buildClient+                      (Proxy :: Proxy ReportsListreportsResource)+                      mempty
+ gogol-doubleclick-bids.cabal view
@@ -0,0 +1,57 @@+name:                  gogol-doubleclick-bids+version:               0.0.1+synopsis:              Google DoubleClick Bid Manager SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    API for viewing and managing your reports in DoubleClick Bid Manager.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.+    .+    Labels:+    .+    * Limited Availability++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.DoubleClickBids+        , Network.Google.DoubleClickBids.Types+        , Network.Google.Resource.DoubleClickBidManager.Lineitems.Downloadlineitems+        , Network.Google.Resource.DoubleClickBidManager.Lineitems.Uploadlineitems+        , Network.Google.Resource.DoubleClickBidManager.Queries.CreateQuery+        , Network.Google.Resource.DoubleClickBidManager.Queries.DeleteQuery+        , Network.Google.Resource.DoubleClickBidManager.Queries.GetQuery+        , Network.Google.Resource.DoubleClickBidManager.Queries.Listqueries+        , Network.Google.Resource.DoubleClickBidManager.Queries.RunQuery+        , Network.Google.Resource.DoubleClickBidManager.Reports.Listreports++    other-modules:+          Network.Google.DoubleClickBids.Types.Product+        , Network.Google.DoubleClickBids.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5