packages feed

gogol-adexchange-seller (empty) → 0.0.1

raw patch · 22 files changed

+4006/−0 lines, 22 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-adexchange-seller++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Ad Exchange Seller.+++## 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-adexchange-seller` 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/AdExchangeSeller.hs view
@@ -0,0 +1,266 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.AdExchangeSeller+-- 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)+--+-- Gives Ad Exchange seller users access to their inventory and the ability+-- to generate reports+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference>+module Network.Google.AdExchangeSeller+    (+    -- * Service Configuration+      adExchangeSellerService++    -- * API Declaration+    , AdExchangeSellerAPI++    -- * Resources++    -- ** adexchangeseller.accounts.adclients.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List++    -- ** adexchangeseller.accounts.alerts.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List++    -- ** adexchangeseller.accounts.customchannels.get+    , module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get++    -- ** adexchangeseller.accounts.customchannels.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List++    -- ** adexchangeseller.accounts.get+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Get++    -- ** adexchangeseller.accounts.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.List++    -- ** adexchangeseller.accounts.metadata.dimensions.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List++    -- ** adexchangeseller.accounts.metadata.metrics.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List++    -- ** adexchangeseller.accounts.preferreddeals.get+    , module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get++    -- ** adexchangeseller.accounts.preferreddeals.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List++    -- ** adexchangeseller.accounts.reports.generate+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate++    -- ** adexchangeseller.accounts.reports.saved.generate+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate++    -- ** adexchangeseller.accounts.reports.saved.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List++    -- ** adexchangeseller.accounts.urlchannels.list+    , module Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List++    -- * Types++    -- ** AdClients+    , AdClients+    , adClients+    , acEtag+    , acNextPageToken+    , acKind+    , acItems++    -- ** ReportingMetadataEntry+    , ReportingMetadataEntry+    , reportingMetadataEntry+    , rmeKind+    , rmeRequiredMetrics+    , rmeCompatibleMetrics+    , rmeRequiredDimensions+    , rmeId+    , rmeCompatibleDimensions+    , rmeSupportedProducts++    -- ** Accounts+    , Accounts+    , accounts+    , aEtag+    , aNextPageToken+    , aKind+    , aItems++    -- ** Alerts+    , Alerts+    , alerts+    , aleKind+    , aleItems++    -- ** SavedReports+    , SavedReports+    , savedReports+    , srEtag+    , srNextPageToken+    , srKind+    , srItems++    -- ** SavedReport+    , SavedReport+    , savedReport+    , sKind+    , sName+    , sId++    -- ** URLChannels+    , URLChannels+    , urlChannels+    , ucEtag+    , ucNextPageToken+    , ucKind+    , ucItems++    -- ** CustomChannels+    , CustomChannels+    , customChannels+    , ccEtag+    , ccNextPageToken+    , ccKind+    , ccItems++    -- ** Report+    , Report+    , report+    , rKind+    , rAverages+    , rWarnings+    , rRows+    , rTotals+    , rHeaders+    , rTotalMatchedRows++    -- ** Alert+    , Alert+    , alert+    , aaKind+    , aaSeverity+    , aaId+    , aaType+    , aaMessage++    -- ** Account+    , Account+    , account+    , accKind+    , accName+    , accId++    -- ** AdClient+    , AdClient+    , adClient+    , adKind+    , adArcOptIn+    , adSupportsReporting+    , adId+    , adProductCode++    -- ** ReportHeadersItem+    , ReportHeadersItem+    , reportHeadersItem+    , rhiName+    , rhiCurrency+    , rhiType++    -- ** CustomChannelTargetingInfo+    , CustomChannelTargetingInfo+    , customChannelTargetingInfo+    , cctiLocation+    , cctiSiteLanguage+    , cctiAdsAppearOn+    , cctiDescription++    -- ** PreferredDeals+    , PreferredDeals+    , preferredDeals+    , pdKind+    , pdItems++    -- ** Metadata+    , Metadata+    , metadata+    , mKind+    , mItems++    -- ** CustomChannel+    , CustomChannel+    , customChannel+    , cTargetingInfo+    , cKind+    , cName+    , cCode+    , cId++    -- ** URLChannel+    , URLChannel+    , urlChannel+    , urlcKind+    , urlcId+    , urlcURLPattern++    -- ** PreferredDeal+    , PreferredDeal+    , preferredDeal+    , pAdvertiserName+    , pCurrencyCode+    , pStartTime+    , pKind+    , pBuyerNetworkName+    , pEndTime+    , pId+    , pFixedCpm+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude+import           Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get+import           Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.Get+import           Network.Google.Resource.AdExchangeSeller.Accounts.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get+import           Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate+import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate+import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List+import           Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Ad Exchange Seller API service.+type AdExchangeSellerAPI =+     AccountsAdClientsListResource :<|>+       AccountsReportsSavedListResource+       :<|> AccountsReportsSavedGenerateResource+       :<|> AccountsReportsGenerateResource+       :<|> AccountsAlertsListResource+       :<|> AccountsURLChannelsListResource+       :<|> AccountsCustomChannelsListResource+       :<|> AccountsCustomChannelsGetResource+       :<|> AccountsPreferredDealsListResource+       :<|> AccountsPreferredDealsGetResource+       :<|> AccountsMetadataMetricsListResource+       :<|> AccountsMetadataDimensionsListResource+       :<|> AccountsListResource+       :<|> AccountsGetResource
+ gen/Network/Google/AdExchangeSeller/Types.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AdExchangeSeller.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.AdExchangeSeller.Types+    (+    -- * Service Configuration+      adExchangeSellerService++    -- * OAuth Scopes+    , adexchangeSellerReadonlyScope+    , adexchangeSellerScope++    -- * AdClients+    , AdClients+    , adClients+    , acEtag+    , acNextPageToken+    , acKind+    , acItems++    -- * ReportingMetadataEntry+    , ReportingMetadataEntry+    , reportingMetadataEntry+    , rmeKind+    , rmeRequiredMetrics+    , rmeCompatibleMetrics+    , rmeRequiredDimensions+    , rmeId+    , rmeCompatibleDimensions+    , rmeSupportedProducts++    -- * Accounts+    , Accounts+    , accounts+    , aEtag+    , aNextPageToken+    , aKind+    , aItems++    -- * Alerts+    , Alerts+    , alerts+    , aleKind+    , aleItems++    -- * SavedReports+    , SavedReports+    , savedReports+    , srEtag+    , srNextPageToken+    , srKind+    , srItems++    -- * SavedReport+    , SavedReport+    , savedReport+    , sKind+    , sName+    , sId++    -- * URLChannels+    , URLChannels+    , urlChannels+    , ucEtag+    , ucNextPageToken+    , ucKind+    , ucItems++    -- * CustomChannels+    , CustomChannels+    , customChannels+    , ccEtag+    , ccNextPageToken+    , ccKind+    , ccItems++    -- * Report+    , Report+    , report+    , rKind+    , rAverages+    , rWarnings+    , rRows+    , rTotals+    , rHeaders+    , rTotalMatchedRows++    -- * Alert+    , Alert+    , alert+    , aaKind+    , aaSeverity+    , aaId+    , aaType+    , aaMessage++    -- * Account+    , Account+    , account+    , accKind+    , accName+    , accId++    -- * AdClient+    , AdClient+    , adClient+    , adKind+    , adArcOptIn+    , adSupportsReporting+    , adId+    , adProductCode++    -- * ReportHeadersItem+    , ReportHeadersItem+    , reportHeadersItem+    , rhiName+    , rhiCurrency+    , rhiType++    -- * CustomChannelTargetingInfo+    , CustomChannelTargetingInfo+    , customChannelTargetingInfo+    , cctiLocation+    , cctiSiteLanguage+    , cctiAdsAppearOn+    , cctiDescription++    -- * PreferredDeals+    , PreferredDeals+    , preferredDeals+    , pdKind+    , pdItems++    -- * Metadata+    , Metadata+    , metadata+    , mKind+    , mItems++    -- * CustomChannel+    , CustomChannel+    , customChannel+    , cTargetingInfo+    , cKind+    , cName+    , cCode+    , cId++    -- * URLChannel+    , URLChannel+    , urlChannel+    , urlcKind+    , urlcId+    , urlcURLPattern++    -- * PreferredDeal+    , PreferredDeal+    , preferredDeal+    , pAdvertiserName+    , pCurrencyCode+    , pStartTime+    , pKind+    , pBuyerNetworkName+    , pEndTime+    , pId+    , pFixedCpm+    ) where++import           Network.Google.AdExchangeSeller.Types.Product+import           Network.Google.AdExchangeSeller.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2.0' of the Ad Exchange Seller API. This contains the host and root path used as a starting point for constructing service requests.+adExchangeSellerService :: Service+adExchangeSellerService+  = defaultService (ServiceId "adexchangeseller:v2.0")+      "www.googleapis.com"++-- | View your Ad Exchange data+adexchangeSellerReadonlyScope :: OAuthScope+adexchangeSellerReadonlyScope = "https://www.googleapis.com/auth/adexchange.seller.readonly";++-- | View and manage your Ad Exchange data+adexchangeSellerScope :: OAuthScope+adexchangeSellerScope = "https://www.googleapis.com/auth/adexchange.seller";
+ gen/Network/Google/AdExchangeSeller/Types/Product.hs view
@@ -0,0 +1,1414 @@+{-# 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.AdExchangeSeller.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.AdExchangeSeller.Types.Product where++import           Network.Google.AdExchangeSeller.Types.Sum+import           Network.Google.Prelude++--+-- /See:/ 'adClients' smart constructor.+data AdClients = AdClients+    { _acEtag          :: !(Maybe Text)+    , _acNextPageToken :: !(Maybe Text)+    , _acKind          :: !Text+    , _acItems         :: !(Maybe [AdClient])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdClients' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acEtag'+--+-- * 'acNextPageToken'+--+-- * 'acKind'+--+-- * 'acItems'+adClients+    :: AdClients+adClients =+    AdClients+    { _acEtag = Nothing+    , _acNextPageToken = Nothing+    , _acKind = "adexchangeseller#adClients"+    , _acItems = Nothing+    }++-- | ETag of this response for caching purposes.+acEtag :: Lens' AdClients (Maybe Text)+acEtag = lens _acEtag (\ s a -> s{_acEtag = a})++-- | Continuation token used to page through ad clients. To retrieve the next+-- page of results, set the next request\'s \"pageToken\" value to this.+acNextPageToken :: Lens' AdClients (Maybe Text)+acNextPageToken+  = lens _acNextPageToken+      (\ s a -> s{_acNextPageToken = a})++-- | Kind of list this is, in this case adexchangeseller#adClients.+acKind :: Lens' AdClients Text+acKind = lens _acKind (\ s a -> s{_acKind = a})++-- | The ad clients returned in this list response.+acItems :: Lens' AdClients [AdClient]+acItems+  = lens _acItems (\ s a -> s{_acItems = a}) . _Default+      . _Coerce++instance FromJSON AdClients where+        parseJSON+          = withObject "AdClients"+              (\ o ->+                 AdClients <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "adexchangeseller#adClients")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON AdClients where+        toJSON AdClients{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _acEtag,+                  ("nextPageToken" .=) <$> _acNextPageToken,+                  Just ("kind" .= _acKind), ("items" .=) <$> _acItems])++--+-- /See:/ 'reportingMetadataEntry' smart constructor.+data ReportingMetadataEntry = ReportingMetadataEntry+    { _rmeKind                 :: !Text+    , _rmeRequiredMetrics      :: !(Maybe [Text])+    , _rmeCompatibleMetrics    :: !(Maybe [Text])+    , _rmeRequiredDimensions   :: !(Maybe [Text])+    , _rmeId                   :: !(Maybe Text)+    , _rmeCompatibleDimensions :: !(Maybe [Text])+    , _rmeSupportedProducts    :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportingMetadataEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rmeKind'+--+-- * 'rmeRequiredMetrics'+--+-- * 'rmeCompatibleMetrics'+--+-- * 'rmeRequiredDimensions'+--+-- * 'rmeId'+--+-- * 'rmeCompatibleDimensions'+--+-- * 'rmeSupportedProducts'+reportingMetadataEntry+    :: ReportingMetadataEntry+reportingMetadataEntry =+    ReportingMetadataEntry+    { _rmeKind = "adexchangeseller#reportingMetadataEntry"+    , _rmeRequiredMetrics = Nothing+    , _rmeCompatibleMetrics = Nothing+    , _rmeRequiredDimensions = Nothing+    , _rmeId = Nothing+    , _rmeCompatibleDimensions = Nothing+    , _rmeSupportedProducts = Nothing+    }++-- | Kind of resource this is, in this case+-- adexchangeseller#reportingMetadataEntry.+rmeKind :: Lens' ReportingMetadataEntry Text+rmeKind = lens _rmeKind (\ s a -> s{_rmeKind = a})++-- | The names of the metrics which the dimension or metric this reporting+-- metadata entry describes requires to also be present in order for the+-- report to be valid. Omitting these will not cause an error or warning,+-- but may result in data which cannot be correctly interpreted.+rmeRequiredMetrics :: Lens' ReportingMetadataEntry [Text]+rmeRequiredMetrics+  = lens _rmeRequiredMetrics+      (\ s a -> s{_rmeRequiredMetrics = a})+      . _Default+      . _Coerce++-- | The names of the metrics the dimension or metric this reporting metadata+-- entry describes is compatible with.+rmeCompatibleMetrics :: Lens' ReportingMetadataEntry [Text]+rmeCompatibleMetrics+  = lens _rmeCompatibleMetrics+      (\ s a -> s{_rmeCompatibleMetrics = a})+      . _Default+      . _Coerce++-- | The names of the dimensions which the dimension or metric this reporting+-- metadata entry describes requires to also be present in order for the+-- report to be valid. Omitting these will not cause an error or warning,+-- but may result in data which cannot be correctly interpreted.+rmeRequiredDimensions :: Lens' ReportingMetadataEntry [Text]+rmeRequiredDimensions+  = lens _rmeRequiredDimensions+      (\ s a -> s{_rmeRequiredDimensions = a})+      . _Default+      . _Coerce++-- | Unique identifier of this reporting metadata entry, corresponding to the+-- name of the appropriate dimension or metric.+rmeId :: Lens' ReportingMetadataEntry (Maybe Text)+rmeId = lens _rmeId (\ s a -> s{_rmeId = a})++-- | For metrics this is a list of dimension IDs which the metric is+-- compatible with, for dimensions it is a list of compatibility groups the+-- dimension belongs to.+rmeCompatibleDimensions :: Lens' ReportingMetadataEntry [Text]+rmeCompatibleDimensions+  = lens _rmeCompatibleDimensions+      (\ s a -> s{_rmeCompatibleDimensions = a})+      . _Default+      . _Coerce++-- | The codes of the projects supported by the dimension or metric this+-- reporting metadata entry describes.+rmeSupportedProducts :: Lens' ReportingMetadataEntry [Text]+rmeSupportedProducts+  = lens _rmeSupportedProducts+      (\ s a -> s{_rmeSupportedProducts = a})+      . _Default+      . _Coerce++instance FromJSON ReportingMetadataEntry where+        parseJSON+          = withObject "ReportingMetadataEntry"+              (\ o ->+                 ReportingMetadataEntry <$>+                   (o .:? "kind" .!=+                      "adexchangeseller#reportingMetadataEntry")+                     <*> (o .:? "requiredMetrics" .!= mempty)+                     <*> (o .:? "compatibleMetrics" .!= mempty)+                     <*> (o .:? "requiredDimensions" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "compatibleDimensions" .!= mempty)+                     <*> (o .:? "supportedProducts" .!= mempty))++instance ToJSON ReportingMetadataEntry where+        toJSON ReportingMetadataEntry{..}+          = object+              (catMaybes+                 [Just ("kind" .= _rmeKind),+                  ("requiredMetrics" .=) <$> _rmeRequiredMetrics,+                  ("compatibleMetrics" .=) <$> _rmeCompatibleMetrics,+                  ("requiredDimensions" .=) <$> _rmeRequiredDimensions,+                  ("id" .=) <$> _rmeId,+                  ("compatibleDimensions" .=) <$>+                    _rmeCompatibleDimensions,+                  ("supportedProducts" .=) <$> _rmeSupportedProducts])++--+-- /See:/ 'accounts' smart constructor.+data Accounts = Accounts+    { _aEtag          :: !(Maybe Text)+    , _aNextPageToken :: !(Maybe Text)+    , _aKind          :: !Text+    , _aItems         :: !(Maybe [Account])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Accounts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aEtag'+--+-- * 'aNextPageToken'+--+-- * 'aKind'+--+-- * 'aItems'+accounts+    :: Accounts+accounts =+    Accounts+    { _aEtag = Nothing+    , _aNextPageToken = Nothing+    , _aKind = "adexchangeseller#accounts"+    , _aItems = Nothing+    }++-- | ETag of this response for caching purposes.+aEtag :: Lens' Accounts (Maybe Text)+aEtag = lens _aEtag (\ s a -> s{_aEtag = a})++-- | Continuation token used to page through accounts. To retrieve the next+-- page of results, set the next request\'s \"pageToken\" value to this.+aNextPageToken :: Lens' Accounts (Maybe Text)+aNextPageToken+  = lens _aNextPageToken+      (\ s a -> s{_aNextPageToken = a})++-- | Kind of list this is, in this case adexchangeseller#accounts.+aKind :: Lens' Accounts Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | The accounts returned in this list response.+aItems :: Lens' Accounts [Account]+aItems+  = lens _aItems (\ s a -> s{_aItems = a}) . _Default .+      _Coerce++instance FromJSON Accounts where+        parseJSON+          = withObject "Accounts"+              (\ o ->+                 Accounts <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "adexchangeseller#accounts")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON Accounts where+        toJSON Accounts{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _aEtag,+                  ("nextPageToken" .=) <$> _aNextPageToken,+                  Just ("kind" .= _aKind), ("items" .=) <$> _aItems])++--+-- /See:/ 'alerts' smart constructor.+data Alerts = Alerts+    { _aleKind  :: !Text+    , _aleItems :: !(Maybe [Alert])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Alerts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aleKind'+--+-- * 'aleItems'+alerts+    :: Alerts+alerts =+    Alerts+    { _aleKind = "adexchangeseller#alerts"+    , _aleItems = Nothing+    }++-- | Kind of list this is, in this case adexchangeseller#alerts.+aleKind :: Lens' Alerts Text+aleKind = lens _aleKind (\ s a -> s{_aleKind = a})++-- | The alerts returned in this list response.+aleItems :: Lens' Alerts [Alert]+aleItems+  = lens _aleItems (\ s a -> s{_aleItems = a}) .+      _Default+      . _Coerce++instance FromJSON Alerts where+        parseJSON+          = withObject "Alerts"+              (\ o ->+                 Alerts <$>+                   (o .:? "kind" .!= "adexchangeseller#alerts") <*>+                     (o .:? "items" .!= mempty))++instance ToJSON Alerts where+        toJSON Alerts{..}+          = object+              (catMaybes+                 [Just ("kind" .= _aleKind),+                  ("items" .=) <$> _aleItems])++--+-- /See:/ 'savedReports' smart constructor.+data SavedReports = SavedReports+    { _srEtag          :: !(Maybe Text)+    , _srNextPageToken :: !(Maybe Text)+    , _srKind          :: !Text+    , _srItems         :: !(Maybe [SavedReport])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SavedReports' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srEtag'+--+-- * 'srNextPageToken'+--+-- * 'srKind'+--+-- * 'srItems'+savedReports+    :: SavedReports+savedReports =+    SavedReports+    { _srEtag = Nothing+    , _srNextPageToken = Nothing+    , _srKind = "adexchangeseller#savedReports"+    , _srItems = Nothing+    }++-- | ETag of this response for caching purposes.+srEtag :: Lens' SavedReports (Maybe Text)+srEtag = lens _srEtag (\ s a -> s{_srEtag = a})++-- | Continuation token used to page through saved reports. To retrieve the+-- next page of results, set the next request\'s \"pageToken\" value to+-- this.+srNextPageToken :: Lens' SavedReports (Maybe Text)+srNextPageToken+  = lens _srNextPageToken+      (\ s a -> s{_srNextPageToken = a})++-- | Kind of list this is, in this case adexchangeseller#savedReports.+srKind :: Lens' SavedReports Text+srKind = lens _srKind (\ s a -> s{_srKind = a})++-- | The saved reports returned in this list response.+srItems :: Lens' SavedReports [SavedReport]+srItems+  = lens _srItems (\ s a -> s{_srItems = a}) . _Default+      . _Coerce++instance FromJSON SavedReports where+        parseJSON+          = withObject "SavedReports"+              (\ o ->+                 SavedReports <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "adexchangeseller#savedReports")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON SavedReports where+        toJSON SavedReports{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _srEtag,+                  ("nextPageToken" .=) <$> _srNextPageToken,+                  Just ("kind" .= _srKind), ("items" .=) <$> _srItems])++--+-- /See:/ 'savedReport' smart constructor.+data SavedReport = SavedReport+    { _sKind :: !Text+    , _sName :: !(Maybe Text)+    , _sId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SavedReport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sKind'+--+-- * 'sName'+--+-- * 'sId'+savedReport+    :: SavedReport+savedReport =+    SavedReport+    { _sKind = "adexchangeseller#savedReport"+    , _sName = Nothing+    , _sId = Nothing+    }++-- | Kind of resource this is, in this case adexchangeseller#savedReport.+sKind :: Lens' SavedReport Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | This saved report\'s name.+sName :: Lens' SavedReport (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | Unique identifier of this saved report.+sId :: Lens' SavedReport (Maybe Text)+sId = lens _sId (\ s a -> s{_sId = a})++instance FromJSON SavedReport where+        parseJSON+          = withObject "SavedReport"+              (\ o ->+                 SavedReport <$>+                   (o .:? "kind" .!= "adexchangeseller#savedReport") <*>+                     (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON SavedReport where+        toJSON SavedReport{..}+          = object+              (catMaybes+                 [Just ("kind" .= _sKind), ("name" .=) <$> _sName,+                  ("id" .=) <$> _sId])++--+-- /See:/ 'urlChannels' smart constructor.+data URLChannels = URLChannels+    { _ucEtag          :: !(Maybe Text)+    , _ucNextPageToken :: !(Maybe Text)+    , _ucKind          :: !Text+    , _ucItems         :: !(Maybe [URLChannel])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLChannels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucEtag'+--+-- * 'ucNextPageToken'+--+-- * 'ucKind'+--+-- * 'ucItems'+urlChannels+    :: URLChannels+urlChannels =+    URLChannels+    { _ucEtag = Nothing+    , _ucNextPageToken = Nothing+    , _ucKind = "adexchangeseller#urlChannels"+    , _ucItems = Nothing+    }++-- | ETag of this response for caching purposes.+ucEtag :: Lens' URLChannels (Maybe Text)+ucEtag = lens _ucEtag (\ s a -> s{_ucEtag = a})++-- | Continuation token used to page through URL channels. To retrieve the+-- next page of results, set the next request\'s \"pageToken\" value to+-- this.+ucNextPageToken :: Lens' URLChannels (Maybe Text)+ucNextPageToken+  = lens _ucNextPageToken+      (\ s a -> s{_ucNextPageToken = a})++-- | Kind of list this is, in this case adexchangeseller#urlChannels.+ucKind :: Lens' URLChannels Text+ucKind = lens _ucKind (\ s a -> s{_ucKind = a})++-- | The URL channels returned in this list response.+ucItems :: Lens' URLChannels [URLChannel]+ucItems+  = lens _ucItems (\ s a -> s{_ucItems = a}) . _Default+      . _Coerce++instance FromJSON URLChannels where+        parseJSON+          = withObject "URLChannels"+              (\ o ->+                 URLChannels <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "adexchangeseller#urlChannels")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON URLChannels where+        toJSON URLChannels{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _ucEtag,+                  ("nextPageToken" .=) <$> _ucNextPageToken,+                  Just ("kind" .= _ucKind), ("items" .=) <$> _ucItems])++--+-- /See:/ 'customChannels' smart constructor.+data CustomChannels = CustomChannels+    { _ccEtag          :: !(Maybe Text)+    , _ccNextPageToken :: !(Maybe Text)+    , _ccKind          :: !Text+    , _ccItems         :: !(Maybe [CustomChannel])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomChannels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccEtag'+--+-- * 'ccNextPageToken'+--+-- * 'ccKind'+--+-- * 'ccItems'+customChannels+    :: CustomChannels+customChannels =+    CustomChannels+    { _ccEtag = Nothing+    , _ccNextPageToken = Nothing+    , _ccKind = "adexchangeseller#customChannels"+    , _ccItems = Nothing+    }++-- | ETag of this response for caching purposes.+ccEtag :: Lens' CustomChannels (Maybe Text)+ccEtag = lens _ccEtag (\ s a -> s{_ccEtag = a})++-- | Continuation token used to page through custom channels. To retrieve the+-- next page of results, set the next request\'s \"pageToken\" value to+-- this.+ccNextPageToken :: Lens' CustomChannels (Maybe Text)+ccNextPageToken+  = lens _ccNextPageToken+      (\ s a -> s{_ccNextPageToken = a})++-- | Kind of list this is, in this case adexchangeseller#customChannels.+ccKind :: Lens' CustomChannels Text+ccKind = lens _ccKind (\ s a -> s{_ccKind = a})++-- | The custom channels returned in this list response.+ccItems :: Lens' CustomChannels [CustomChannel]+ccItems+  = lens _ccItems (\ s a -> s{_ccItems = a}) . _Default+      . _Coerce++instance FromJSON CustomChannels where+        parseJSON+          = withObject "CustomChannels"+              (\ o ->+                 CustomChannels <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "adexchangeseller#customChannels")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON CustomChannels where+        toJSON CustomChannels{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _ccEtag,+                  ("nextPageToken" .=) <$> _ccNextPageToken,+                  Just ("kind" .= _ccKind), ("items" .=) <$> _ccItems])++--+-- /See:/ 'report' smart constructor.+data Report = Report+    { _rKind             :: !Text+    , _rAverages         :: !(Maybe [Text])+    , _rWarnings         :: !(Maybe [Text])+    , _rRows             :: !(Maybe [[Text]])+    , _rTotals           :: !(Maybe [Text])+    , _rHeaders          :: !(Maybe [ReportHeadersItem])+    , _rTotalMatchedRows :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Report' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rKind'+--+-- * 'rAverages'+--+-- * 'rWarnings'+--+-- * 'rRows'+--+-- * 'rTotals'+--+-- * 'rHeaders'+--+-- * 'rTotalMatchedRows'+report+    :: Report+report =+    Report+    { _rKind = "adexchangeseller#report"+    , _rAverages = Nothing+    , _rWarnings = Nothing+    , _rRows = Nothing+    , _rTotals = Nothing+    , _rHeaders = Nothing+    , _rTotalMatchedRows = Nothing+    }++-- | Kind this is, in this case adexchangeseller#report.+rKind :: Lens' Report Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | The averages of the report. This is the same length as any other row in+-- the report; cells corresponding to dimension columns are empty.+rAverages :: Lens' Report [Text]+rAverages+  = lens _rAverages (\ s a -> s{_rAverages = a}) .+      _Default+      . _Coerce++-- | Any warnings associated with generation of the report.+rWarnings :: Lens' Report [Text]+rWarnings+  = lens _rWarnings (\ s a -> s{_rWarnings = a}) .+      _Default+      . _Coerce++-- | The output rows of the report. Each row is a list of cells; one for each+-- dimension in the request, followed by one for each metric in the+-- request. The dimension cells contain strings, and the metric cells+-- contain numbers.+rRows :: Lens' Report [[Text]]+rRows+  = lens _rRows (\ s a -> s{_rRows = a}) . _Default .+      _Coerce++-- | The totals of the report. This is the same length as any other row in+-- the report; cells corresponding to dimension columns are empty.+rTotals :: Lens' Report [Text]+rTotals+  = lens _rTotals (\ s a -> s{_rTotals = a}) . _Default+      . _Coerce++-- | The header information of the columns requested in the report. This is a+-- list of headers; one for each dimension in the request, followed by one+-- for each metric in the request.+rHeaders :: Lens' Report [ReportHeadersItem]+rHeaders+  = lens _rHeaders (\ s a -> s{_rHeaders = a}) .+      _Default+      . _Coerce++-- | The total number of rows matched by the report request. Fewer rows may+-- be returned in the response due to being limited by the row count+-- requested or the report row limit.+rTotalMatchedRows :: Lens' Report (Maybe Int64)+rTotalMatchedRows+  = lens _rTotalMatchedRows+      (\ s a -> s{_rTotalMatchedRows = a})+      . mapping _Coerce++instance FromJSON Report where+        parseJSON+          = withObject "Report"+              (\ o ->+                 Report <$>+                   (o .:? "kind" .!= "adexchangeseller#report") <*>+                     (o .:? "averages" .!= mempty)+                     <*> (o .:? "warnings" .!= mempty)+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "totals" .!= mempty)+                     <*> (o .:? "headers" .!= mempty)+                     <*> (o .:? "totalMatchedRows"))++instance ToJSON Report where+        toJSON Report{..}+          = object+              (catMaybes+                 [Just ("kind" .= _rKind),+                  ("averages" .=) <$> _rAverages,+                  ("warnings" .=) <$> _rWarnings,+                  ("rows" .=) <$> _rRows, ("totals" .=) <$> _rTotals,+                  ("headers" .=) <$> _rHeaders,+                  ("totalMatchedRows" .=) <$> _rTotalMatchedRows])++--+-- /See:/ 'alert' smart constructor.+data Alert = Alert+    { _aaKind     :: !Text+    , _aaSeverity :: !(Maybe Text)+    , _aaId       :: !(Maybe Text)+    , _aaType     :: !(Maybe Text)+    , _aaMessage  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Alert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaKind'+--+-- * 'aaSeverity'+--+-- * 'aaId'+--+-- * 'aaType'+--+-- * 'aaMessage'+alert+    :: Alert+alert =+    Alert+    { _aaKind = "adexchangeseller#alert"+    , _aaSeverity = Nothing+    , _aaId = Nothing+    , _aaType = Nothing+    , _aaMessage = Nothing+    }++-- | Kind of resource this is, in this case adexchangeseller#alert.+aaKind :: Lens' Alert Text+aaKind = lens _aaKind (\ s a -> s{_aaKind = a})++-- | Severity of this alert. Possible values: INFO, WARNING, SEVERE.+aaSeverity :: Lens' Alert (Maybe Text)+aaSeverity+  = lens _aaSeverity (\ s a -> s{_aaSeverity = a})++-- | Unique identifier of this alert. This should be considered an opaque+-- identifier; it is not safe to rely on it being in any particular format.+aaId :: Lens' Alert (Maybe Text)+aaId = lens _aaId (\ s a -> s{_aaId = a})++-- | Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3,+-- ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY,+-- GRAYLISTED_PUBLISHER, API_HOLD.+aaType :: Lens' Alert (Maybe Text)+aaType = lens _aaType (\ s a -> s{_aaType = a})++-- | The localized alert message.+aaMessage :: Lens' Alert (Maybe Text)+aaMessage+  = lens _aaMessage (\ s a -> s{_aaMessage = a})++instance FromJSON Alert where+        parseJSON+          = withObject "Alert"+              (\ o ->+                 Alert <$>+                   (o .:? "kind" .!= "adexchangeseller#alert") <*>+                     (o .:? "severity")+                     <*> (o .:? "id")+                     <*> (o .:? "type")+                     <*> (o .:? "message"))++instance ToJSON Alert where+        toJSON Alert{..}+          = object+              (catMaybes+                 [Just ("kind" .= _aaKind),+                  ("severity" .=) <$> _aaSeverity, ("id" .=) <$> _aaId,+                  ("type" .=) <$> _aaType,+                  ("message" .=) <$> _aaMessage])++--+-- /See:/ 'account' smart constructor.+data Account = Account+    { _accKind :: !Text+    , _accName :: !(Maybe Text)+    , _accId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Account' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'accKind'+--+-- * 'accName'+--+-- * 'accId'+account+    :: Account+account =+    Account+    { _accKind = "adexchangeseller#account"+    , _accName = Nothing+    , _accId = Nothing+    }++-- | Kind of resource this is, in this case adexchangeseller#account.+accKind :: Lens' Account Text+accKind = lens _accKind (\ s a -> s{_accKind = a})++-- | Name of this account.+accName :: Lens' Account (Maybe Text)+accName = lens _accName (\ s a -> s{_accName = a})++-- | Unique identifier of this account.+accId :: Lens' Account (Maybe Text)+accId = lens _accId (\ s a -> s{_accId = a})++instance FromJSON Account where+        parseJSON+          = withObject "Account"+              (\ o ->+                 Account <$>+                   (o .:? "kind" .!= "adexchangeseller#account") <*>+                     (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON Account where+        toJSON Account{..}+          = object+              (catMaybes+                 [Just ("kind" .= _accKind), ("name" .=) <$> _accName,+                  ("id" .=) <$> _accId])++--+-- /See:/ 'adClient' smart constructor.+data AdClient = AdClient+    { _adKind              :: !Text+    , _adArcOptIn          :: !(Maybe Bool)+    , _adSupportsReporting :: !(Maybe Bool)+    , _adId                :: !(Maybe Text)+    , _adProductCode       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdClient' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adKind'+--+-- * 'adArcOptIn'+--+-- * 'adSupportsReporting'+--+-- * 'adId'+--+-- * 'adProductCode'+adClient+    :: AdClient+adClient =+    AdClient+    { _adKind = "adexchangeseller#adClient"+    , _adArcOptIn = Nothing+    , _adSupportsReporting = Nothing+    , _adId = Nothing+    , _adProductCode = Nothing+    }++-- | Kind of resource this is, in this case adexchangeseller#adClient.+adKind :: Lens' AdClient Text+adKind = lens _adKind (\ s a -> s{_adKind = a})++-- | Whether this ad client is opted in to ARC.+adArcOptIn :: Lens' AdClient (Maybe Bool)+adArcOptIn+  = lens _adArcOptIn (\ s a -> s{_adArcOptIn = a})++-- | Whether this ad client supports being reported on.+adSupportsReporting :: Lens' AdClient (Maybe Bool)+adSupportsReporting+  = lens _adSupportsReporting+      (\ s a -> s{_adSupportsReporting = a})++-- | Unique identifier of this ad client.+adId :: Lens' AdClient (Maybe Text)+adId = lens _adId (\ s a -> s{_adId = a})++-- | This ad client\'s product code, which corresponds to the PRODUCT_CODE+-- report dimension.+adProductCode :: Lens' AdClient (Maybe Text)+adProductCode+  = lens _adProductCode+      (\ s a -> s{_adProductCode = a})++instance FromJSON AdClient where+        parseJSON+          = withObject "AdClient"+              (\ o ->+                 AdClient <$>+                   (o .:? "kind" .!= "adexchangeseller#adClient") <*>+                     (o .:? "arcOptIn")+                     <*> (o .:? "supportsReporting")+                     <*> (o .:? "id")+                     <*> (o .:? "productCode"))++instance ToJSON AdClient where+        toJSON AdClient{..}+          = object+              (catMaybes+                 [Just ("kind" .= _adKind),+                  ("arcOptIn" .=) <$> _adArcOptIn,+                  ("supportsReporting" .=) <$> _adSupportsReporting,+                  ("id" .=) <$> _adId,+                  ("productCode" .=) <$> _adProductCode])++--+-- /See:/ 'reportHeadersItem' smart constructor.+data ReportHeadersItem = ReportHeadersItem+    { _rhiName     :: !(Maybe Text)+    , _rhiCurrency :: !(Maybe Text)+    , _rhiType     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportHeadersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rhiName'+--+-- * 'rhiCurrency'+--+-- * 'rhiType'+reportHeadersItem+    :: ReportHeadersItem+reportHeadersItem =+    ReportHeadersItem+    { _rhiName = Nothing+    , _rhiCurrency = Nothing+    , _rhiType = Nothing+    }++-- | The name of the header.+rhiName :: Lens' ReportHeadersItem (Maybe Text)+rhiName = lens _rhiName (\ s a -> s{_rhiName = a})++-- | The currency of this column. Only present if the header type is+-- METRIC_CURRENCY.+rhiCurrency :: Lens' ReportHeadersItem (Maybe Text)+rhiCurrency+  = lens _rhiCurrency (\ s a -> s{_rhiCurrency = a})++-- | The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or+-- METRIC_CURRENCY.+rhiType :: Lens' ReportHeadersItem (Maybe Text)+rhiType = lens _rhiType (\ s a -> s{_rhiType = a})++instance FromJSON ReportHeadersItem where+        parseJSON+          = withObject "ReportHeadersItem"+              (\ o ->+                 ReportHeadersItem <$>+                   (o .:? "name") <*> (o .:? "currency") <*>+                     (o .:? "type"))++instance ToJSON ReportHeadersItem where+        toJSON ReportHeadersItem{..}+          = object+              (catMaybes+                 [("name" .=) <$> _rhiName,+                  ("currency" .=) <$> _rhiCurrency,+                  ("type" .=) <$> _rhiType])++-- | The targeting information of this custom channel, if activated.+--+-- /See:/ 'customChannelTargetingInfo' smart constructor.+data CustomChannelTargetingInfo = CustomChannelTargetingInfo+    { _cctiLocation     :: !(Maybe Text)+    , _cctiSiteLanguage :: !(Maybe Text)+    , _cctiAdsAppearOn  :: !(Maybe Text)+    , _cctiDescription  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomChannelTargetingInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cctiLocation'+--+-- * 'cctiSiteLanguage'+--+-- * 'cctiAdsAppearOn'+--+-- * 'cctiDescription'+customChannelTargetingInfo+    :: CustomChannelTargetingInfo+customChannelTargetingInfo =+    CustomChannelTargetingInfo+    { _cctiLocation = Nothing+    , _cctiSiteLanguage = Nothing+    , _cctiAdsAppearOn = Nothing+    , _cctiDescription = Nothing+    }++-- | The locations in which ads appear. (Only valid for content and mobile+-- content ads). Acceptable values for content ads are: TOP_LEFT,+-- TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT,+-- BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable+-- values for mobile content ads are: TOP, MIDDLE, BOTTOM,+-- MULTIPLE_LOCATIONS.+cctiLocation :: Lens' CustomChannelTargetingInfo (Maybe Text)+cctiLocation+  = lens _cctiLocation (\ s a -> s{_cctiLocation = a})++-- | The language of the sites ads will be displayed on.+cctiSiteLanguage :: Lens' CustomChannelTargetingInfo (Maybe Text)+cctiSiteLanguage+  = lens _cctiSiteLanguage+      (\ s a -> s{_cctiSiteLanguage = a})++-- | The name used to describe this channel externally.+cctiAdsAppearOn :: Lens' CustomChannelTargetingInfo (Maybe Text)+cctiAdsAppearOn+  = lens _cctiAdsAppearOn+      (\ s a -> s{_cctiAdsAppearOn = a})++-- | The external description of the channel.+cctiDescription :: Lens' CustomChannelTargetingInfo (Maybe Text)+cctiDescription+  = lens _cctiDescription+      (\ s a -> s{_cctiDescription = a})++instance FromJSON CustomChannelTargetingInfo where+        parseJSON+          = withObject "CustomChannelTargetingInfo"+              (\ o ->+                 CustomChannelTargetingInfo <$>+                   (o .:? "location") <*> (o .:? "siteLanguage") <*>+                     (o .:? "adsAppearOn")+                     <*> (o .:? "description"))++instance ToJSON CustomChannelTargetingInfo where+        toJSON CustomChannelTargetingInfo{..}+          = object+              (catMaybes+                 [("location" .=) <$> _cctiLocation,+                  ("siteLanguage" .=) <$> _cctiSiteLanguage,+                  ("adsAppearOn" .=) <$> _cctiAdsAppearOn,+                  ("description" .=) <$> _cctiDescription])++--+-- /See:/ 'preferredDeals' smart constructor.+data PreferredDeals = PreferredDeals+    { _pdKind  :: !Text+    , _pdItems :: !(Maybe [PreferredDeal])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PreferredDeals' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdKind'+--+-- * 'pdItems'+preferredDeals+    :: PreferredDeals+preferredDeals =+    PreferredDeals+    { _pdKind = "adexchangeseller#preferredDeals"+    , _pdItems = Nothing+    }++-- | Kind of list this is, in this case adexchangeseller#preferredDeals.+pdKind :: Lens' PreferredDeals Text+pdKind = lens _pdKind (\ s a -> s{_pdKind = a})++-- | The preferred deals returned in this list response.+pdItems :: Lens' PreferredDeals [PreferredDeal]+pdItems+  = lens _pdItems (\ s a -> s{_pdItems = a}) . _Default+      . _Coerce++instance FromJSON PreferredDeals where+        parseJSON+          = withObject "PreferredDeals"+              (\ o ->+                 PreferredDeals <$>+                   (o .:? "kind" .!= "adexchangeseller#preferredDeals")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON PreferredDeals where+        toJSON PreferredDeals{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pdKind),+                  ("items" .=) <$> _pdItems])++--+-- /See:/ 'metadata' smart constructor.+data Metadata = Metadata+    { _mKind  :: !Text+    , _mItems :: !(Maybe [ReportingMetadataEntry])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mKind'+--+-- * 'mItems'+metadata+    :: Metadata+metadata =+    Metadata+    { _mKind = "adexchangeseller#metadata"+    , _mItems = Nothing+    }++-- | Kind of list this is, in this case adexchangeseller#metadata.+mKind :: Lens' Metadata Text+mKind = lens _mKind (\ s a -> s{_mKind = a})++mItems :: Lens' Metadata [ReportingMetadataEntry]+mItems+  = lens _mItems (\ s a -> s{_mItems = a}) . _Default .+      _Coerce++instance FromJSON Metadata where+        parseJSON+          = withObject "Metadata"+              (\ o ->+                 Metadata <$>+                   (o .:? "kind" .!= "adexchangeseller#metadata") <*>+                     (o .:? "items" .!= mempty))++instance ToJSON Metadata where+        toJSON Metadata{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mKind), ("items" .=) <$> _mItems])++--+-- /See:/ 'customChannel' smart constructor.+data CustomChannel = CustomChannel+    { _cTargetingInfo :: !(Maybe CustomChannelTargetingInfo)+    , _cKind          :: !Text+    , _cName          :: !(Maybe Text)+    , _cCode          :: !(Maybe Text)+    , _cId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cTargetingInfo'+--+-- * 'cKind'+--+-- * 'cName'+--+-- * 'cCode'+--+-- * 'cId'+customChannel+    :: CustomChannel+customChannel =+    CustomChannel+    { _cTargetingInfo = Nothing+    , _cKind = "adexchangeseller#customChannel"+    , _cName = Nothing+    , _cCode = Nothing+    , _cId = Nothing+    }++-- | The targeting information of this custom channel, if activated.+cTargetingInfo :: Lens' CustomChannel (Maybe CustomChannelTargetingInfo)+cTargetingInfo+  = lens _cTargetingInfo+      (\ s a -> s{_cTargetingInfo = a})++-- | Kind of resource this is, in this case adexchangeseller#customChannel.+cKind :: Lens' CustomChannel Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Name of this custom channel.+cName :: Lens' CustomChannel (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Code of this custom channel, not necessarily unique across ad clients.+cCode :: Lens' CustomChannel (Maybe Text)+cCode = lens _cCode (\ s a -> s{_cCode = a})++-- | Unique identifier of this custom channel. This should be considered an+-- opaque identifier; it is not safe to rely on it being in any particular+-- format.+cId :: Lens' CustomChannel (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++instance FromJSON CustomChannel where+        parseJSON+          = withObject "CustomChannel"+              (\ o ->+                 CustomChannel <$>+                   (o .:? "targetingInfo") <*>+                     (o .:? "kind" .!= "adexchangeseller#customChannel")+                     <*> (o .:? "name")+                     <*> (o .:? "code")+                     <*> (o .:? "id"))++instance ToJSON CustomChannel where+        toJSON CustomChannel{..}+          = object+              (catMaybes+                 [("targetingInfo" .=) <$> _cTargetingInfo,+                  Just ("kind" .= _cKind), ("name" .=) <$> _cName,+                  ("code" .=) <$> _cCode, ("id" .=) <$> _cId])++--+-- /See:/ 'urlChannel' smart constructor.+data URLChannel = URLChannel+    { _urlcKind       :: !Text+    , _urlcId         :: !(Maybe Text)+    , _urlcURLPattern :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urlcKind'+--+-- * 'urlcId'+--+-- * 'urlcURLPattern'+urlChannel+    :: URLChannel+urlChannel =+    URLChannel+    { _urlcKind = "adexchangeseller#urlChannel"+    , _urlcId = Nothing+    , _urlcURLPattern = Nothing+    }++-- | Kind of resource this is, in this case adexchangeseller#urlChannel.+urlcKind :: Lens' URLChannel Text+urlcKind = lens _urlcKind (\ s a -> s{_urlcKind = a})++-- | Unique identifier of this URL channel. This should be considered an+-- opaque identifier; it is not safe to rely on it being in any particular+-- format.+urlcId :: Lens' URLChannel (Maybe Text)+urlcId = lens _urlcId (\ s a -> s{_urlcId = a})++-- | URL Pattern of this URL channel. Does not include \"http:\/\/\" or+-- \"https:\/\/\". Example: www.example.com\/home+urlcURLPattern :: Lens' URLChannel (Maybe Text)+urlcURLPattern+  = lens _urlcURLPattern+      (\ s a -> s{_urlcURLPattern = a})++instance FromJSON URLChannel where+        parseJSON+          = withObject "URLChannel"+              (\ o ->+                 URLChannel <$>+                   (o .:? "kind" .!= "adexchangeseller#urlChannel") <*>+                     (o .:? "id")+                     <*> (o .:? "urlPattern"))++instance ToJSON URLChannel where+        toJSON URLChannel{..}+          = object+              (catMaybes+                 [Just ("kind" .= _urlcKind), ("id" .=) <$> _urlcId,+                  ("urlPattern" .=) <$> _urlcURLPattern])++--+-- /See:/ 'preferredDeal' smart constructor.+data PreferredDeal = PreferredDeal+    { _pAdvertiserName   :: !(Maybe Text)+    , _pCurrencyCode     :: !(Maybe Text)+    , _pStartTime        :: !(Maybe (Textual Word64))+    , _pKind             :: !Text+    , _pBuyerNetworkName :: !(Maybe Text)+    , _pEndTime          :: !(Maybe (Textual Word64))+    , _pId               :: !(Maybe (Textual Int64))+    , _pFixedCpm         :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PreferredDeal' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAdvertiserName'+--+-- * 'pCurrencyCode'+--+-- * 'pStartTime'+--+-- * 'pKind'+--+-- * 'pBuyerNetworkName'+--+-- * 'pEndTime'+--+-- * 'pId'+--+-- * 'pFixedCpm'+preferredDeal+    :: PreferredDeal+preferredDeal =+    PreferredDeal+    { _pAdvertiserName = Nothing+    , _pCurrencyCode = Nothing+    , _pStartTime = Nothing+    , _pKind = "adexchangeseller#preferredDeal"+    , _pBuyerNetworkName = Nothing+    , _pEndTime = Nothing+    , _pId = Nothing+    , _pFixedCpm = Nothing+    }++-- | The name of the advertiser this deal is for.+pAdvertiserName :: Lens' PreferredDeal (Maybe Text)+pAdvertiserName+  = lens _pAdvertiserName+      (\ s a -> s{_pAdvertiserName = a})++-- | The currency code that applies to the fixed_cpm value. If not set then+-- assumed to be USD.+pCurrencyCode :: Lens' PreferredDeal (Maybe Text)+pCurrencyCode+  = lens _pCurrencyCode+      (\ s a -> s{_pCurrencyCode = a})++-- | Time when this deal becomes active in seconds since the epoch (GMT). If+-- not set then this deal is active immediately upon creation.+pStartTime :: Lens' PreferredDeal (Maybe Word64)+pStartTime+  = lens _pStartTime (\ s a -> s{_pStartTime = a}) .+      mapping _Coerce++-- | Kind of resource this is, in this case adexchangeseller#preferredDeal.+pKind :: Lens' PreferredDeal Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The name of the buyer network this deal is for.+pBuyerNetworkName :: Lens' PreferredDeal (Maybe Text)+pBuyerNetworkName+  = lens _pBuyerNetworkName+      (\ s a -> s{_pBuyerNetworkName = a})++-- | Time when this deal stops being active in seconds since the epoch (GMT).+-- If not set then this deal is valid until manually disabled by the+-- publisher.+pEndTime :: Lens' PreferredDeal (Maybe Word64)+pEndTime+  = lens _pEndTime (\ s a -> s{_pEndTime = a}) .+      mapping _Coerce++-- | Unique identifier of this preferred deal.+pId :: Lens' PreferredDeal (Maybe Int64)+pId+  = lens _pId (\ s a -> s{_pId = a}) . mapping _Coerce++-- | The fixed price for this preferred deal. In cpm micros of currency+-- according to currencyCode. If set, then this preferred deal is eligible+-- for the fixed price tier of buying (highest priority, pay exactly the+-- configured fixed price).+pFixedCpm :: Lens' PreferredDeal (Maybe Int64)+pFixedCpm+  = lens _pFixedCpm (\ s a -> s{_pFixedCpm = a}) .+      mapping _Coerce++instance FromJSON PreferredDeal where+        parseJSON+          = withObject "PreferredDeal"+              (\ o ->+                 PreferredDeal <$>+                   (o .:? "advertiserName") <*> (o .:? "currencyCode")+                     <*> (o .:? "startTime")+                     <*>+                     (o .:? "kind" .!= "adexchangeseller#preferredDeal")+                     <*> (o .:? "buyerNetworkName")+                     <*> (o .:? "endTime")+                     <*> (o .:? "id")+                     <*> (o .:? "fixedCpm"))++instance ToJSON PreferredDeal where+        toJSON PreferredDeal{..}+          = object+              (catMaybes+                 [("advertiserName" .=) <$> _pAdvertiserName,+                  ("currencyCode" .=) <$> _pCurrencyCode,+                  ("startTime" .=) <$> _pStartTime,+                  Just ("kind" .= _pKind),+                  ("buyerNetworkName" .=) <$> _pBuyerNetworkName,+                  ("endTime" .=) <$> _pEndTime, ("id" .=) <$> _pId,+                  ("fixedCpm" .=) <$> _pFixedCpm])
+ gen/Network/Google/AdExchangeSeller/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AdExchangeSeller.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.AdExchangeSeller.Types.Sum where++import           Network.Google.Prelude
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/AdClients/List.hs view
@@ -0,0 +1,115 @@+{-# 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.AdExchangeSeller.Accounts.AdClients.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all ad clients in this Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.adclients.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List+    (+    -- * REST Resource+      AccountsAdClientsListResource++    -- * Creating a Request+    , accountsAdClientsList+    , AccountsAdClientsList++    -- * Request Lenses+    , aaclAccountId+    , aaclPageToken+    , aaclMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.adclients.list@ method which the+-- 'AccountsAdClientsList' request conforms to.+type AccountsAdClientsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "adclients" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :> Get '[JSON] AdClients++-- | List all ad clients in this Ad Exchange account.+--+-- /See:/ 'accountsAdClientsList' smart constructor.+data AccountsAdClientsList = AccountsAdClientsList+    { _aaclAccountId  :: !Text+    , _aaclPageToken  :: !(Maybe Text)+    , _aaclMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsAdClientsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaclAccountId'+--+-- * 'aaclPageToken'+--+-- * 'aaclMaxResults'+accountsAdClientsList+    :: Text -- ^ 'aaclAccountId'+    -> AccountsAdClientsList+accountsAdClientsList pAaclAccountId_ =+    AccountsAdClientsList+    { _aaclAccountId = pAaclAccountId_+    , _aaclPageToken = Nothing+    , _aaclMaxResults = Nothing+    }++-- | Account to which the ad client belongs.+aaclAccountId :: Lens' AccountsAdClientsList Text+aaclAccountId+  = lens _aaclAccountId+      (\ s a -> s{_aaclAccountId = a})++-- | A continuation token, used to page through ad clients. To retrieve the+-- next page, set this parameter to the value of \"nextPageToken\" from the+-- previous response.+aaclPageToken :: Lens' AccountsAdClientsList (Maybe Text)+aaclPageToken+  = lens _aaclPageToken+      (\ s a -> s{_aaclPageToken = a})++-- | The maximum number of ad clients to include in the response, used for+-- paging.+aaclMaxResults :: Lens' AccountsAdClientsList (Maybe Word32)+aaclMaxResults+  = lens _aaclMaxResults+      (\ s a -> s{_aaclMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsAdClientsList where+        type Rs AccountsAdClientsList = AdClients+        requestClient AccountsAdClientsList{..}+          = go _aaclAccountId _aaclPageToken _aaclMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsAdClientsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Alerts/List.hs view
@@ -0,0 +1,98 @@+{-# 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.AdExchangeSeller.Accounts.Alerts.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the alerts for this Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.alerts.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List+    (+    -- * REST Resource+      AccountsAlertsListResource++    -- * Creating a Request+    , accountsAlertsList+    , AccountsAlertsList++    -- * Request Lenses+    , aalLocale+    , aalAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.alerts.list@ method which the+-- 'AccountsAlertsList' request conforms to.+type AccountsAlertsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "alerts" :>+               QueryParam "locale" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Alerts++-- | List the alerts for this Ad Exchange account.+--+-- /See:/ 'accountsAlertsList' smart constructor.+data AccountsAlertsList = AccountsAlertsList+    { _aalLocale    :: !(Maybe Text)+    , _aalAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsAlertsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aalLocale'+--+-- * 'aalAccountId'+accountsAlertsList+    :: Text -- ^ 'aalAccountId'+    -> AccountsAlertsList+accountsAlertsList pAalAccountId_ =+    AccountsAlertsList+    { _aalLocale = Nothing+    , _aalAccountId = pAalAccountId_+    }++-- | The locale to use for translating alert messages. The account locale+-- will be used if this is not supplied. The AdSense default (English) will+-- be used if the supplied locale is invalid or unsupported.+aalLocale :: Lens' AccountsAlertsList (Maybe Text)+aalLocale+  = lens _aalLocale (\ s a -> s{_aalLocale = a})++-- | Account owning the alerts.+aalAccountId :: Lens' AccountsAlertsList Text+aalAccountId+  = lens _aalAccountId (\ s a -> s{_aalAccountId = a})++instance GoogleRequest AccountsAlertsList where+        type Rs AccountsAlertsList = Alerts+        requestClient AccountsAlertsList{..}+          = go _aalAccountId _aalLocale (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsAlertsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/Get.hs view
@@ -0,0 +1,116 @@+{-# 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.AdExchangeSeller.Accounts.CustomChannels.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the specified custom channel from the specified ad client.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.get@.+module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get+    (+    -- * REST Resource+      AccountsCustomChannelsGetResource++    -- * Creating a Request+    , accountsCustomChannelsGet+    , AccountsCustomChannelsGet++    -- * Request Lenses+    , accgCustomChannelId+    , accgAdClientId+    , accgAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.customchannels.get@ method which the+-- 'AccountsCustomChannelsGet' request conforms to.+type AccountsCustomChannelsGetResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "adclients" :>+               Capture "adClientId" Text :>+                 "customchannels" :>+                   Capture "customChannelId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] CustomChannel++-- | Get the specified custom channel from the specified ad client.+--+-- /See:/ 'accountsCustomChannelsGet' smart constructor.+data AccountsCustomChannelsGet = AccountsCustomChannelsGet+    { _accgCustomChannelId :: !Text+    , _accgAdClientId      :: !Text+    , _accgAccountId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsCustomChannelsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'accgCustomChannelId'+--+-- * 'accgAdClientId'+--+-- * 'accgAccountId'+accountsCustomChannelsGet+    :: Text -- ^ 'accgCustomChannelId'+    -> Text -- ^ 'accgAdClientId'+    -> Text -- ^ 'accgAccountId'+    -> AccountsCustomChannelsGet+accountsCustomChannelsGet pAccgCustomChannelId_ pAccgAdClientId_ pAccgAccountId_ =+    AccountsCustomChannelsGet+    { _accgCustomChannelId = pAccgCustomChannelId_+    , _accgAdClientId = pAccgAdClientId_+    , _accgAccountId = pAccgAccountId_+    }++-- | Custom channel to retrieve.+accgCustomChannelId :: Lens' AccountsCustomChannelsGet Text+accgCustomChannelId+  = lens _accgCustomChannelId+      (\ s a -> s{_accgCustomChannelId = a})++-- | Ad client which contains the custom channel.+accgAdClientId :: Lens' AccountsCustomChannelsGet Text+accgAdClientId+  = lens _accgAdClientId+      (\ s a -> s{_accgAdClientId = a})++-- | Account to which the ad client belongs.+accgAccountId :: Lens' AccountsCustomChannelsGet Text+accgAccountId+  = lens _accgAccountId+      (\ s a -> s{_accgAccountId = a})++instance GoogleRequest AccountsCustomChannelsGet+         where+        type Rs AccountsCustomChannelsGet = CustomChannel+        requestClient AccountsCustomChannelsGet{..}+          = go _accgAccountId _accgAdClientId+              _accgCustomChannelId+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsCustomChannelsGetResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/List.hs view
@@ -0,0 +1,134 @@+{-# 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.AdExchangeSeller.Accounts.CustomChannels.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all custom channels in the specified ad client for this Ad Exchange+-- account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List+    (+    -- * REST Resource+      AccountsCustomChannelsListResource++    -- * Creating a Request+    , accountsCustomChannelsList+    , AccountsCustomChannelsList++    -- * Request Lenses+    , acclAdClientId+    , acclAccountId+    , acclPageToken+    , acclMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.customchannels.list@ method which the+-- 'AccountsCustomChannelsList' request conforms to.+type AccountsCustomChannelsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "adclients" :>+               Capture "adClientId" Text :>+                 "customchannels" :>+                   QueryParam "pageToken" Text :>+                     QueryParam "maxResults" (Textual Word32) :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] CustomChannels++-- | List all custom channels in the specified ad client for this Ad Exchange+-- account.+--+-- /See:/ 'accountsCustomChannelsList' smart constructor.+data AccountsCustomChannelsList = AccountsCustomChannelsList+    { _acclAdClientId :: !Text+    , _acclAccountId  :: !Text+    , _acclPageToken  :: !(Maybe Text)+    , _acclMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsCustomChannelsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acclAdClientId'+--+-- * 'acclAccountId'+--+-- * 'acclPageToken'+--+-- * 'acclMaxResults'+accountsCustomChannelsList+    :: Text -- ^ 'acclAdClientId'+    -> Text -- ^ 'acclAccountId'+    -> AccountsCustomChannelsList+accountsCustomChannelsList pAcclAdClientId_ pAcclAccountId_ =+    AccountsCustomChannelsList+    { _acclAdClientId = pAcclAdClientId_+    , _acclAccountId = pAcclAccountId_+    , _acclPageToken = Nothing+    , _acclMaxResults = Nothing+    }++-- | Ad client for which to list custom channels.+acclAdClientId :: Lens' AccountsCustomChannelsList Text+acclAdClientId+  = lens _acclAdClientId+      (\ s a -> s{_acclAdClientId = a})++-- | Account to which the ad client belongs.+acclAccountId :: Lens' AccountsCustomChannelsList Text+acclAccountId+  = lens _acclAccountId+      (\ s a -> s{_acclAccountId = a})++-- | A continuation token, used to page through custom channels. To retrieve+-- the next page, set this parameter to the value of \"nextPageToken\" from+-- the previous response.+acclPageToken :: Lens' AccountsCustomChannelsList (Maybe Text)+acclPageToken+  = lens _acclPageToken+      (\ s a -> s{_acclPageToken = a})++-- | The maximum number of custom channels to include in the response, used+-- for paging.+acclMaxResults :: Lens' AccountsCustomChannelsList (Maybe Word32)+acclMaxResults+  = lens _acclMaxResults+      (\ s a -> s{_acclMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsCustomChannelsList+         where+        type Rs AccountsCustomChannelsList = CustomChannels+        requestClient AccountsCustomChannelsList{..}+          = go _acclAccountId _acclAdClientId _acclPageToken+              _acclMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsCustomChannelsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Get.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AdExchangeSeller.Accounts.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get information about the selected Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.get@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Get+    (+    -- * REST Resource+      AccountsGetResource++    -- * Creating a Request+    , accountsGet+    , AccountsGet++    -- * Request Lenses+    , agAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.get@ method which the+-- 'AccountsGet' request conforms to.+type AccountsGetResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             QueryParam "alt" AltJSON :> Get '[JSON] Account++-- | Get information about the selected Ad Exchange account.+--+-- /See:/ 'accountsGet' smart constructor.+newtype AccountsGet = AccountsGet+    { _agAccountId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agAccountId'+accountsGet+    :: Text -- ^ 'agAccountId'+    -> AccountsGet+accountsGet pAgAccountId_ =+    AccountsGet+    { _agAccountId = pAgAccountId_+    }++-- | Account to get information about. Tip: \'myaccount\' is a valid ID.+agAccountId :: Lens' AccountsGet Text+agAccountId+  = lens _agAccountId (\ s a -> s{_agAccountId = a})++instance GoogleRequest AccountsGet where+        type Rs AccountsGet = Account+        requestClient AccountsGet{..}+          = go _agAccountId (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient (Proxy :: Proxy AccountsGetResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/List.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.AdExchangeSeller.Accounts.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all accounts available to this Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.List+    (+    -- * REST Resource+      AccountsListResource++    -- * Creating a Request+    , accountsList+    , AccountsList++    -- * Request Lenses+    , alPageToken+    , alMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.list@ method which the+-- 'AccountsList' request conforms to.+type AccountsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           QueryParam "pageToken" Text :>+             QueryParam "maxResults" (Textual Int32) :>+               QueryParam "alt" AltJSON :> Get '[JSON] Accounts++-- | List all accounts available to this Ad Exchange account.+--+-- /See:/ 'accountsList' smart constructor.+data AccountsList = AccountsList+    { _alPageToken  :: !(Maybe Text)+    , _alMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alPageToken'+--+-- * 'alMaxResults'+accountsList+    :: AccountsList+accountsList =+    AccountsList+    { _alPageToken = Nothing+    , _alMaxResults = Nothing+    }++-- | A continuation token, used to page through accounts. To retrieve the+-- next page, set this parameter to the value of \"nextPageToken\" from the+-- previous response.+alPageToken :: Lens' AccountsList (Maybe Text)+alPageToken+  = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | The maximum number of accounts to include in the response, used for+-- paging.+alMaxResults :: Lens' AccountsList (Maybe Int32)+alMaxResults+  = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsList where+        type Rs AccountsList = Accounts+        requestClient AccountsList{..}+          = go _alPageToken _alMaxResults (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient (Proxy :: Proxy AccountsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs view
@@ -0,0 +1,91 @@+{-# 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.AdExchangeSeller.Accounts.Metadata.Dimensions.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the metadata for the dimensions available to this AdExchange+-- account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.dimensions.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List+    (+    -- * REST Resource+      AccountsMetadataDimensionsListResource++    -- * Creating a Request+    , accountsMetadataDimensionsList+    , AccountsMetadataDimensionsList++    -- * Request Lenses+    , amdlAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.metadata.dimensions.list@ method which the+-- 'AccountsMetadataDimensionsList' request conforms to.+type AccountsMetadataDimensionsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "metadata" :>+               "dimensions" :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Metadata++-- | List the metadata for the dimensions available to this AdExchange+-- account.+--+-- /See:/ 'accountsMetadataDimensionsList' smart constructor.+newtype AccountsMetadataDimensionsList = AccountsMetadataDimensionsList+    { _amdlAccountId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsMetadataDimensionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amdlAccountId'+accountsMetadataDimensionsList+    :: Text -- ^ 'amdlAccountId'+    -> AccountsMetadataDimensionsList+accountsMetadataDimensionsList pAmdlAccountId_ =+    AccountsMetadataDimensionsList+    { _amdlAccountId = pAmdlAccountId_+    }++-- | Account with visibility to the dimensions.+amdlAccountId :: Lens' AccountsMetadataDimensionsList Text+amdlAccountId+  = lens _amdlAccountId+      (\ s a -> s{_amdlAccountId = a})++instance GoogleRequest AccountsMetadataDimensionsList+         where+        type Rs AccountsMetadataDimensionsList = Metadata+        requestClient AccountsMetadataDimensionsList{..}+          = go _amdlAccountId (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy AccountsMetadataDimensionsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs view
@@ -0,0 +1,88 @@+{-# 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.AdExchangeSeller.Accounts.Metadata.Metrics.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the metadata for the metrics available to this AdExchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.metrics.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List+    (+    -- * REST Resource+      AccountsMetadataMetricsListResource++    -- * Creating a Request+    , accountsMetadataMetricsList+    , AccountsMetadataMetricsList++    -- * Request Lenses+    , ammlAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.metadata.metrics.list@ method which the+-- 'AccountsMetadataMetricsList' request conforms to.+type AccountsMetadataMetricsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "metadata" :>+               "metrics" :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Metadata++-- | List the metadata for the metrics available to this AdExchange account.+--+-- /See:/ 'accountsMetadataMetricsList' smart constructor.+newtype AccountsMetadataMetricsList = AccountsMetadataMetricsList+    { _ammlAccountId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsMetadataMetricsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ammlAccountId'+accountsMetadataMetricsList+    :: Text -- ^ 'ammlAccountId'+    -> AccountsMetadataMetricsList+accountsMetadataMetricsList pAmmlAccountId_ =+    AccountsMetadataMetricsList+    { _ammlAccountId = pAmmlAccountId_+    }++-- | Account with visibility to the metrics.+ammlAccountId :: Lens' AccountsMetadataMetricsList Text+ammlAccountId+  = lens _ammlAccountId+      (\ s a -> s{_ammlAccountId = a})++instance GoogleRequest AccountsMetadataMetricsList+         where+        type Rs AccountsMetadataMetricsList = Metadata+        requestClient AccountsMetadataMetricsList{..}+          = go _ammlAccountId (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsMetadataMetricsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/Get.hs view
@@ -0,0 +1,99 @@+{-# 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.AdExchangeSeller.Accounts.PreferredDeals.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get information about the selected Ad Exchange Preferred Deal.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.get@.+module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get+    (+    -- * REST Resource+      AccountsPreferredDealsGetResource++    -- * Creating a Request+    , accountsPreferredDealsGet+    , AccountsPreferredDealsGet++    -- * Request Lenses+    , apdgDealId+    , apdgAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.preferreddeals.get@ method which the+-- 'AccountsPreferredDealsGet' request conforms to.+type AccountsPreferredDealsGetResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "preferreddeals" :>+               Capture "dealId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] PreferredDeal++-- | Get information about the selected Ad Exchange Preferred Deal.+--+-- /See:/ 'accountsPreferredDealsGet' smart constructor.+data AccountsPreferredDealsGet = AccountsPreferredDealsGet+    { _apdgDealId    :: !Text+    , _apdgAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsPreferredDealsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apdgDealId'+--+-- * 'apdgAccountId'+accountsPreferredDealsGet+    :: Text -- ^ 'apdgDealId'+    -> Text -- ^ 'apdgAccountId'+    -> AccountsPreferredDealsGet+accountsPreferredDealsGet pApdgDealId_ pApdgAccountId_ =+    AccountsPreferredDealsGet+    { _apdgDealId = pApdgDealId_+    , _apdgAccountId = pApdgAccountId_+    }++-- | Preferred deal to get information about.+apdgDealId :: Lens' AccountsPreferredDealsGet Text+apdgDealId+  = lens _apdgDealId (\ s a -> s{_apdgDealId = a})++-- | Account owning the deal.+apdgAccountId :: Lens' AccountsPreferredDealsGet Text+apdgAccountId+  = lens _apdgAccountId+      (\ s a -> s{_apdgAccountId = a})++instance GoogleRequest AccountsPreferredDealsGet+         where+        type Rs AccountsPreferredDealsGet = PreferredDeal+        requestClient AccountsPreferredDealsGet{..}+          = go _apdgAccountId _apdgDealId (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsPreferredDealsGetResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/List.hs view
@@ -0,0 +1,88 @@+{-# 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.AdExchangeSeller.Accounts.PreferredDeals.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the preferred deals for this Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List+    (+    -- * REST Resource+      AccountsPreferredDealsListResource++    -- * Creating a Request+    , accountsPreferredDealsList+    , AccountsPreferredDealsList++    -- * Request Lenses+    , apdlAccountId+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.preferreddeals.list@ method which the+-- 'AccountsPreferredDealsList' request conforms to.+type AccountsPreferredDealsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "preferreddeals" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PreferredDeals++-- | List the preferred deals for this Ad Exchange account.+--+-- /See:/ 'accountsPreferredDealsList' smart constructor.+newtype AccountsPreferredDealsList = AccountsPreferredDealsList+    { _apdlAccountId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsPreferredDealsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apdlAccountId'+accountsPreferredDealsList+    :: Text -- ^ 'apdlAccountId'+    -> AccountsPreferredDealsList+accountsPreferredDealsList pApdlAccountId_ =+    AccountsPreferredDealsList+    { _apdlAccountId = pApdlAccountId_+    }++-- | Account owning the deals.+apdlAccountId :: Lens' AccountsPreferredDealsList Text+apdlAccountId+  = lens _apdlAccountId+      (\ s a -> s{_apdlAccountId = a})++instance GoogleRequest AccountsPreferredDealsList+         where+        type Rs AccountsPreferredDealsList = PreferredDeals+        requestClient AccountsPreferredDealsList{..}+          = go _apdlAccountId (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsPreferredDealsListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Generate.hs view
@@ -0,0 +1,253 @@+{-# 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.AdExchangeSeller.Accounts.Reports.Generate+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generate an Ad Exchange report based on the report request sent in the+-- query parameters. Returns the result as JSON; to retrieve output in CSV+-- format specify \"alt=csv\" as a query parameter.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.generate@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate+    (+    -- * REST Resource+      AccountsReportsGenerateResource++    -- * Creating a Request+    , accountsReportsGenerate+    , AccountsReportsGenerate++    -- * Request Lenses+    , argDimension+    , argLocale+    , argEndDate+    , argStartDate+    , argAccountId+    , argMetric+    , argSort+    , argFilter+    , argStartIndex+    , argMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.reports.generate@ method which the+-- 'AccountsReportsGenerate' request conforms to.+type AccountsReportsGenerateResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "reports" :>+               QueryParam "startDate" Text :>+                 QueryParam "endDate" Text :>+                   QueryParams "dimension" Text :>+                     QueryParam "locale" Text :>+                       QueryParams "metric" Text :>+                         QueryParams "sort" Text :>+                           QueryParams "filter" Text :>+                             QueryParam "startIndex" (Textual Word32) :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "alt" AltJSON :> Get '[JSON] Report+       :<|>+       "adexchangeseller" :>+         "v2.0" :>+           "accounts" :>+             Capture "accountId" Text :>+               "reports" :>+                 QueryParam "startDate" Text :>+                   QueryParam "endDate" Text :>+                     QueryParams "dimension" Text :>+                       QueryParam "locale" Text :>+                         QueryParams "metric" Text :>+                           QueryParams "sort" Text :>+                             QueryParams "filter" Text :>+                               QueryParam "startIndex" (Textual Word32) :>+                                 QueryParam "maxResults" (Textual Word32) :>+                                   QueryParam "alt" AltMedia :>+                                     Get '[OctetStream] Stream++-- | Generate an Ad Exchange report based on the report request sent in the+-- query parameters. Returns the result as JSON; to retrieve output in CSV+-- format specify \"alt=csv\" as a query parameter.+--+-- /See:/ 'accountsReportsGenerate' smart constructor.+data AccountsReportsGenerate = AccountsReportsGenerate+    { _argDimension  :: !(Maybe [Text])+    , _argLocale     :: !(Maybe Text)+    , _argEndDate    :: !Text+    , _argStartDate  :: !Text+    , _argAccountId  :: !Text+    , _argMetric     :: !(Maybe [Text])+    , _argSort       :: !(Maybe [Text])+    , _argFilter     :: !(Maybe [Text])+    , _argStartIndex :: !(Maybe (Textual Word32))+    , _argMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsReportsGenerate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'argDimension'+--+-- * 'argLocale'+--+-- * 'argEndDate'+--+-- * 'argStartDate'+--+-- * 'argAccountId'+--+-- * 'argMetric'+--+-- * 'argSort'+--+-- * 'argFilter'+--+-- * 'argStartIndex'+--+-- * 'argMaxResults'+accountsReportsGenerate+    :: Text -- ^ 'argEndDate'+    -> Text -- ^ 'argStartDate'+    -> Text -- ^ 'argAccountId'+    -> AccountsReportsGenerate+accountsReportsGenerate pArgEndDate_ pArgStartDate_ pArgAccountId_ =+    AccountsReportsGenerate+    { _argDimension = Nothing+    , _argLocale = Nothing+    , _argEndDate = pArgEndDate_+    , _argStartDate = pArgStartDate_+    , _argAccountId = pArgAccountId_+    , _argMetric = Nothing+    , _argSort = Nothing+    , _argFilter = Nothing+    , _argStartIndex = Nothing+    , _argMaxResults = Nothing+    }++-- | Dimensions to base the report on.+argDimension :: Lens' AccountsReportsGenerate [Text]+argDimension+  = lens _argDimension (\ s a -> s{_argDimension = a})+      . _Default+      . _Coerce++-- | Optional locale to use for translating report output to a local+-- language. Defaults to \"en_US\" if not specified.+argLocale :: Lens' AccountsReportsGenerate (Maybe Text)+argLocale+  = lens _argLocale (\ s a -> s{_argLocale = a})++-- | End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.+argEndDate :: Lens' AccountsReportsGenerate Text+argEndDate+  = lens _argEndDate (\ s a -> s{_argEndDate = a})++-- | Start of the date range to report on in \"YYYY-MM-DD\" format,+-- inclusive.+argStartDate :: Lens' AccountsReportsGenerate Text+argStartDate+  = lens _argStartDate (\ s a -> s{_argStartDate = a})++-- | Account which owns the generated report.+argAccountId :: Lens' AccountsReportsGenerate Text+argAccountId+  = lens _argAccountId (\ s a -> s{_argAccountId = a})++-- | Numeric columns to include in the report.+argMetric :: Lens' AccountsReportsGenerate [Text]+argMetric+  = lens _argMetric (\ s a -> s{_argMetric = a}) .+      _Default+      . _Coerce++-- | The name of a dimension or metric to sort the resulting report on,+-- optionally prefixed with \"+\" to sort ascending or \"-\" to sort+-- descending. If no prefix is specified, the column is sorted ascending.+argSort :: Lens' AccountsReportsGenerate [Text]+argSort+  = lens _argSort (\ s a -> s{_argSort = a}) . _Default+      . _Coerce++-- | Filters to be run on the report.+argFilter :: Lens' AccountsReportsGenerate [Text]+argFilter+  = lens _argFilter (\ s a -> s{_argFilter = a}) .+      _Default+      . _Coerce++-- | Index of the first row of report data to return.+argStartIndex :: Lens' AccountsReportsGenerate (Maybe Word32)+argStartIndex+  = lens _argStartIndex+      (\ s a -> s{_argStartIndex = a})+      . mapping _Coerce++-- | The maximum number of rows of report data to return.+argMaxResults :: Lens' AccountsReportsGenerate (Maybe Word32)+argMaxResults+  = lens _argMaxResults+      (\ s a -> s{_argMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsReportsGenerate where+        type Rs AccountsReportsGenerate = Report+        requestClient AccountsReportsGenerate{..}+          = go _argAccountId (Just _argStartDate)+              (Just _argEndDate)+              (_argDimension ^. _Default)+              _argLocale+              (_argMetric ^. _Default)+              (_argSort ^. _Default)+              (_argFilter ^. _Default)+              _argStartIndex+              _argMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy AccountsReportsGenerateResource)+                      mempty++instance GoogleRequest+         (MediaDownload AccountsReportsGenerate) where+        type Rs (MediaDownload AccountsReportsGenerate) =+             Stream+        requestClient+          (MediaDownload AccountsReportsGenerate{..})+          = go _argAccountId (Just _argStartDate)+              (Just _argEndDate)+              (_argDimension ^. _Default)+              _argLocale+              (_argMetric ^. _Default)+              (_argSort ^. _Default)+              (_argFilter ^. _Default)+              _argStartIndex+              _argMaxResults+              (Just AltMedia)+              adExchangeSellerService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy AccountsReportsGenerateResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs view
@@ -0,0 +1,143 @@+{-# 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.AdExchangeSeller.Accounts.Reports.Saved.Generate+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generate an Ad Exchange report based on the saved report ID sent in the+-- query parameters.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.generate@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate+    (+    -- * REST Resource+      AccountsReportsSavedGenerateResource++    -- * Creating a Request+    , accountsReportsSavedGenerate+    , AccountsReportsSavedGenerate++    -- * Request Lenses+    , arsgLocale+    , arsgSavedReportId+    , arsgAccountId+    , arsgStartIndex+    , arsgMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.reports.saved.generate@ method which the+-- 'AccountsReportsSavedGenerate' request conforms to.+type AccountsReportsSavedGenerateResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "reports" :>+               Capture "savedReportId" Text :>+                 QueryParam "locale" Text :>+                   QueryParam "startIndex" (Textual Int32) :>+                     QueryParam "maxResults" (Textual Int32) :>+                       QueryParam "alt" AltJSON :> Get '[JSON] Report++-- | Generate an Ad Exchange report based on the saved report ID sent in the+-- query parameters.+--+-- /See:/ 'accountsReportsSavedGenerate' smart constructor.+data AccountsReportsSavedGenerate = AccountsReportsSavedGenerate+    { _arsgLocale        :: !(Maybe Text)+    , _arsgSavedReportId :: !Text+    , _arsgAccountId     :: !Text+    , _arsgStartIndex    :: !(Maybe (Textual Int32))+    , _arsgMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsReportsSavedGenerate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsgLocale'+--+-- * 'arsgSavedReportId'+--+-- * 'arsgAccountId'+--+-- * 'arsgStartIndex'+--+-- * 'arsgMaxResults'+accountsReportsSavedGenerate+    :: Text -- ^ 'arsgSavedReportId'+    -> Text -- ^ 'arsgAccountId'+    -> AccountsReportsSavedGenerate+accountsReportsSavedGenerate pArsgSavedReportId_ pArsgAccountId_ =+    AccountsReportsSavedGenerate+    { _arsgLocale = Nothing+    , _arsgSavedReportId = pArsgSavedReportId_+    , _arsgAccountId = pArsgAccountId_+    , _arsgStartIndex = Nothing+    , _arsgMaxResults = Nothing+    }++-- | Optional locale to use for translating report output to a local+-- language. Defaults to \"en_US\" if not specified.+arsgLocale :: Lens' AccountsReportsSavedGenerate (Maybe Text)+arsgLocale+  = lens _arsgLocale (\ s a -> s{_arsgLocale = a})++-- | The saved report to retrieve.+arsgSavedReportId :: Lens' AccountsReportsSavedGenerate Text+arsgSavedReportId+  = lens _arsgSavedReportId+      (\ s a -> s{_arsgSavedReportId = a})++-- | Account owning the saved report.+arsgAccountId :: Lens' AccountsReportsSavedGenerate Text+arsgAccountId+  = lens _arsgAccountId+      (\ s a -> s{_arsgAccountId = a})++-- | Index of the first row of report data to return.+arsgStartIndex :: Lens' AccountsReportsSavedGenerate (Maybe Int32)+arsgStartIndex+  = lens _arsgStartIndex+      (\ s a -> s{_arsgStartIndex = a})+      . mapping _Coerce++-- | The maximum number of rows of report data to return.+arsgMaxResults :: Lens' AccountsReportsSavedGenerate (Maybe Int32)+arsgMaxResults+  = lens _arsgMaxResults+      (\ s a -> s{_arsgMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsReportsSavedGenerate+         where+        type Rs AccountsReportsSavedGenerate = Report+        requestClient AccountsReportsSavedGenerate{..}+          = go _arsgAccountId _arsgSavedReportId _arsgLocale+              _arsgStartIndex+              _arsgMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsReportsSavedGenerateResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/List.hs view
@@ -0,0 +1,116 @@+{-# 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.AdExchangeSeller.Accounts.Reports.Saved.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all saved reports in this Ad Exchange account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List+    (+    -- * REST Resource+      AccountsReportsSavedListResource++    -- * Creating a Request+    , accountsReportsSavedList+    , AccountsReportsSavedList++    -- * Request Lenses+    , arslAccountId+    , arslPageToken+    , arslMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.reports.saved.list@ method which the+-- 'AccountsReportsSavedList' request conforms to.+type AccountsReportsSavedListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "reports" :>+               "saved" :>+                 QueryParam "pageToken" Text :>+                   QueryParam "maxResults" (Textual Int32) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] SavedReports++-- | List all saved reports in this Ad Exchange account.+--+-- /See:/ 'accountsReportsSavedList' smart constructor.+data AccountsReportsSavedList = AccountsReportsSavedList+    { _arslAccountId  :: !Text+    , _arslPageToken  :: !(Maybe Text)+    , _arslMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsReportsSavedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arslAccountId'+--+-- * 'arslPageToken'+--+-- * 'arslMaxResults'+accountsReportsSavedList+    :: Text -- ^ 'arslAccountId'+    -> AccountsReportsSavedList+accountsReportsSavedList pArslAccountId_ =+    AccountsReportsSavedList+    { _arslAccountId = pArslAccountId_+    , _arslPageToken = Nothing+    , _arslMaxResults = Nothing+    }++-- | Account owning the saved reports.+arslAccountId :: Lens' AccountsReportsSavedList Text+arslAccountId+  = lens _arslAccountId+      (\ s a -> s{_arslAccountId = a})++-- | A continuation token, used to page through saved reports. To retrieve+-- the next page, set this parameter to the value of \"nextPageToken\" from+-- the previous response.+arslPageToken :: Lens' AccountsReportsSavedList (Maybe Text)+arslPageToken+  = lens _arslPageToken+      (\ s a -> s{_arslPageToken = a})++-- | The maximum number of saved reports to include in the response, used for+-- paging.+arslMaxResults :: Lens' AccountsReportsSavedList (Maybe Int32)+arslMaxResults+  = lens _arslMaxResults+      (\ s a -> s{_arslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsReportsSavedList where+        type Rs AccountsReportsSavedList = SavedReports+        requestClient AccountsReportsSavedList{..}+          = go _arslAccountId _arslPageToken _arslMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsReportsSavedListResource)+                      mempty
+ gen/Network/Google/Resource/AdExchangeSeller/Accounts/URLChannels/List.hs view
@@ -0,0 +1,132 @@+{-# 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.AdExchangeSeller.Accounts.URLChannels.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all URL channels in the specified ad client for this Ad Exchange+-- account.+--+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.urlchannels.list@.+module Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List+    (+    -- * REST Resource+      AccountsURLChannelsListResource++    -- * Creating a Request+    , accountsURLChannelsList+    , AccountsURLChannelsList++    -- * Request Lenses+    , auclAdClientId+    , auclAccountId+    , auclPageToken+    , auclMaxResults+    ) where++import           Network.Google.AdExchangeSeller.Types+import           Network.Google.Prelude++-- | A resource alias for @adexchangeseller.accounts.urlchannels.list@ method which the+-- 'AccountsURLChannelsList' request conforms to.+type AccountsURLChannelsListResource =+     "adexchangeseller" :>+       "v2.0" :>+         "accounts" :>+           Capture "accountId" Text :>+             "adclients" :>+               Capture "adClientId" Text :>+                 "urlchannels" :>+                   QueryParam "pageToken" Text :>+                     QueryParam "maxResults" (Textual Word32) :>+                       QueryParam "alt" AltJSON :> Get '[JSON] URLChannels++-- | List all URL channels in the specified ad client for this Ad Exchange+-- account.+--+-- /See:/ 'accountsURLChannelsList' smart constructor.+data AccountsURLChannelsList = AccountsURLChannelsList+    { _auclAdClientId :: !Text+    , _auclAccountId  :: !Text+    , _auclPageToken  :: !(Maybe Text)+    , _auclMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsURLChannelsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auclAdClientId'+--+-- * 'auclAccountId'+--+-- * 'auclPageToken'+--+-- * 'auclMaxResults'+accountsURLChannelsList+    :: Text -- ^ 'auclAdClientId'+    -> Text -- ^ 'auclAccountId'+    -> AccountsURLChannelsList+accountsURLChannelsList pAuclAdClientId_ pAuclAccountId_ =+    AccountsURLChannelsList+    { _auclAdClientId = pAuclAdClientId_+    , _auclAccountId = pAuclAccountId_+    , _auclPageToken = Nothing+    , _auclMaxResults = Nothing+    }++-- | Ad client for which to list URL channels.+auclAdClientId :: Lens' AccountsURLChannelsList Text+auclAdClientId+  = lens _auclAdClientId+      (\ s a -> s{_auclAdClientId = a})++-- | Account to which the ad client belongs.+auclAccountId :: Lens' AccountsURLChannelsList Text+auclAccountId+  = lens _auclAccountId+      (\ s a -> s{_auclAccountId = a})++-- | A continuation token, used to page through URL channels. To retrieve the+-- next page, set this parameter to the value of \"nextPageToken\" from the+-- previous response.+auclPageToken :: Lens' AccountsURLChannelsList (Maybe Text)+auclPageToken+  = lens _auclPageToken+      (\ s a -> s{_auclPageToken = a})++-- | The maximum number of URL channels to include in the response, used for+-- paging.+auclMaxResults :: Lens' AccountsURLChannelsList (Maybe Word32)+auclMaxResults+  = lens _auclMaxResults+      (\ s a -> s{_auclMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsURLChannelsList where+        type Rs AccountsURLChannelsList = URLChannels+        requestClient AccountsURLChannelsList{..}+          = go _auclAccountId _auclAdClientId _auclPageToken+              _auclMaxResults+              (Just AltJSON)+              adExchangeSellerService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountsURLChannelsListResource)+                      mempty
+ gogol-adexchange-seller.cabal view
@@ -0,0 +1,60 @@+name:                  gogol-adexchange-seller+version:               0.0.1+synopsis:              Google Ad Exchange Seller 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:+    Gives Ad Exchange seller users access to their inventory and the ability+    to generate reports+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v2.0@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.AdExchangeSeller+        , Network.Google.AdExchangeSeller.Types+        , Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get+        , Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.Get+        , Network.Google.Resource.AdExchangeSeller.Accounts.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get+        , Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate+        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate+        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List+        , Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List++    other-modules:+          Network.Google.AdExchangeSeller.Types.Product+        , Network.Google.AdExchangeSeller.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5