packages feed

gogol-dfareporting (empty) → 0.0.1

raw patch · 201 files changed

+58537/−0 lines, 201 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-dfareporting++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google DCM/DFA Reporting And Trafficking.+++## 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-dfareporting` 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/DFAReporting.hs view
@@ -0,0 +1,3498 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.DFAReporting+-- 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)+--+-- Manage your DoubleClick Campaign Manager ad campaigns and reports.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference>+module Network.Google.DFAReporting+    (+    -- * Service Configuration+      dFAReportingService++    -- * API Declaration+    , DFAReportingAPI++    -- * Resources++    -- ** dfareporting.accountActiveAdSummaries.get+    , module Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get++    -- ** dfareporting.accountPermissionGroups.get+    , module Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get++    -- ** dfareporting.accountPermissionGroups.list+    , module Network.Google.Resource.DFAReporting.AccountPermissionGroups.List++    -- ** dfareporting.accountPermissions.get+    , module Network.Google.Resource.DFAReporting.AccountPermissions.Get++    -- ** dfareporting.accountPermissions.list+    , module Network.Google.Resource.DFAReporting.AccountPermissions.List++    -- ** dfareporting.accountUserProfiles.get+    , module Network.Google.Resource.DFAReporting.AccountUserProFiles.Get++    -- ** dfareporting.accountUserProfiles.insert+    , module Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert++    -- ** dfareporting.accountUserProfiles.list+    , module Network.Google.Resource.DFAReporting.AccountUserProFiles.List++    -- ** dfareporting.accountUserProfiles.patch+    , module Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch++    -- ** dfareporting.accountUserProfiles.update+    , module Network.Google.Resource.DFAReporting.AccountUserProFiles.Update++    -- ** dfareporting.accounts.get+    , module Network.Google.Resource.DFAReporting.Accounts.Get++    -- ** dfareporting.accounts.list+    , module Network.Google.Resource.DFAReporting.Accounts.List++    -- ** dfareporting.accounts.patch+    , module Network.Google.Resource.DFAReporting.Accounts.Patch++    -- ** dfareporting.accounts.update+    , module Network.Google.Resource.DFAReporting.Accounts.Update++    -- ** dfareporting.ads.get+    , module Network.Google.Resource.DFAReporting.Ads.Get++    -- ** dfareporting.ads.insert+    , module Network.Google.Resource.DFAReporting.Ads.Insert++    -- ** dfareporting.ads.list+    , module Network.Google.Resource.DFAReporting.Ads.List++    -- ** dfareporting.ads.patch+    , module Network.Google.Resource.DFAReporting.Ads.Patch++    -- ** dfareporting.ads.update+    , module Network.Google.Resource.DFAReporting.Ads.Update++    -- ** dfareporting.advertiserGroups.delete+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete++    -- ** dfareporting.advertiserGroups.get+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.Get++    -- ** dfareporting.advertiserGroups.insert+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert++    -- ** dfareporting.advertiserGroups.list+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.List++    -- ** dfareporting.advertiserGroups.patch+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch++    -- ** dfareporting.advertiserGroups.update+    , module Network.Google.Resource.DFAReporting.AdvertiserGroups.Update++    -- ** dfareporting.advertisers.get+    , module Network.Google.Resource.DFAReporting.Advertisers.Get++    -- ** dfareporting.advertisers.insert+    , module Network.Google.Resource.DFAReporting.Advertisers.Insert++    -- ** dfareporting.advertisers.list+    , module Network.Google.Resource.DFAReporting.Advertisers.List++    -- ** dfareporting.advertisers.patch+    , module Network.Google.Resource.DFAReporting.Advertisers.Patch++    -- ** dfareporting.advertisers.update+    , module Network.Google.Resource.DFAReporting.Advertisers.Update++    -- ** dfareporting.browsers.list+    , module Network.Google.Resource.DFAReporting.Browsers.List++    -- ** dfareporting.campaignCreativeAssociations.insert+    , module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert++    -- ** dfareporting.campaignCreativeAssociations.list+    , module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List++    -- ** dfareporting.campaigns.get+    , module Network.Google.Resource.DFAReporting.Campaigns.Get++    -- ** dfareporting.campaigns.insert+    , module Network.Google.Resource.DFAReporting.Campaigns.Insert++    -- ** dfareporting.campaigns.list+    , module Network.Google.Resource.DFAReporting.Campaigns.List++    -- ** dfareporting.campaigns.patch+    , module Network.Google.Resource.DFAReporting.Campaigns.Patch++    -- ** dfareporting.campaigns.update+    , module Network.Google.Resource.DFAReporting.Campaigns.Update++    -- ** dfareporting.changeLogs.get+    , module Network.Google.Resource.DFAReporting.ChangeLogs.Get++    -- ** dfareporting.changeLogs.list+    , module Network.Google.Resource.DFAReporting.ChangeLogs.List++    -- ** dfareporting.cities.list+    , module Network.Google.Resource.DFAReporting.Cities.List++    -- ** dfareporting.connectionTypes.get+    , module Network.Google.Resource.DFAReporting.ConnectionTypes.Get++    -- ** dfareporting.connectionTypes.list+    , module Network.Google.Resource.DFAReporting.ConnectionTypes.List++    -- ** dfareporting.contentCategories.delete+    , module Network.Google.Resource.DFAReporting.ContentCategories.Delete++    -- ** dfareporting.contentCategories.get+    , module Network.Google.Resource.DFAReporting.ContentCategories.Get++    -- ** dfareporting.contentCategories.insert+    , module Network.Google.Resource.DFAReporting.ContentCategories.Insert++    -- ** dfareporting.contentCategories.list+    , module Network.Google.Resource.DFAReporting.ContentCategories.List++    -- ** dfareporting.contentCategories.patch+    , module Network.Google.Resource.DFAReporting.ContentCategories.Patch++    -- ** dfareporting.contentCategories.update+    , module Network.Google.Resource.DFAReporting.ContentCategories.Update++    -- ** dfareporting.countries.get+    , module Network.Google.Resource.DFAReporting.Countries.Get++    -- ** dfareporting.countries.list+    , module Network.Google.Resource.DFAReporting.Countries.List++    -- ** dfareporting.creativeAssets.insert+    , module Network.Google.Resource.DFAReporting.CreativeAssets.Insert++    -- ** dfareporting.creativeFieldValues.delete+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete++    -- ** dfareporting.creativeFieldValues.get+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.Get++    -- ** dfareporting.creativeFieldValues.insert+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert++    -- ** dfareporting.creativeFieldValues.list+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.List++    -- ** dfareporting.creativeFieldValues.patch+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch++    -- ** dfareporting.creativeFieldValues.update+    , module Network.Google.Resource.DFAReporting.CreativeFieldValues.Update++    -- ** dfareporting.creativeFields.delete+    , module Network.Google.Resource.DFAReporting.CreativeFields.Delete++    -- ** dfareporting.creativeFields.get+    , module Network.Google.Resource.DFAReporting.CreativeFields.Get++    -- ** dfareporting.creativeFields.insert+    , module Network.Google.Resource.DFAReporting.CreativeFields.Insert++    -- ** dfareporting.creativeFields.list+    , module Network.Google.Resource.DFAReporting.CreativeFields.List++    -- ** dfareporting.creativeFields.patch+    , module Network.Google.Resource.DFAReporting.CreativeFields.Patch++    -- ** dfareporting.creativeFields.update+    , module Network.Google.Resource.DFAReporting.CreativeFields.Update++    -- ** dfareporting.creativeGroups.get+    , module Network.Google.Resource.DFAReporting.CreativeGroups.Get++    -- ** dfareporting.creativeGroups.insert+    , module Network.Google.Resource.DFAReporting.CreativeGroups.Insert++    -- ** dfareporting.creativeGroups.list+    , module Network.Google.Resource.DFAReporting.CreativeGroups.List++    -- ** dfareporting.creativeGroups.patch+    , module Network.Google.Resource.DFAReporting.CreativeGroups.Patch++    -- ** dfareporting.creativeGroups.update+    , module Network.Google.Resource.DFAReporting.CreativeGroups.Update++    -- ** dfareporting.creatives.get+    , module Network.Google.Resource.DFAReporting.Creatives.Get++    -- ** dfareporting.creatives.insert+    , module Network.Google.Resource.DFAReporting.Creatives.Insert++    -- ** dfareporting.creatives.list+    , module Network.Google.Resource.DFAReporting.Creatives.List++    -- ** dfareporting.creatives.patch+    , module Network.Google.Resource.DFAReporting.Creatives.Patch++    -- ** dfareporting.creatives.update+    , module Network.Google.Resource.DFAReporting.Creatives.Update++    -- ** dfareporting.dimensionValues.query+    , module Network.Google.Resource.DFAReporting.DimensionValues.Query++    -- ** dfareporting.directorySiteContacts.get+    , module Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get++    -- ** dfareporting.directorySiteContacts.list+    , module Network.Google.Resource.DFAReporting.DirectorySiteContacts.List++    -- ** dfareporting.directorySites.get+    , module Network.Google.Resource.DFAReporting.DirectorySites.Get++    -- ** dfareporting.directorySites.insert+    , module Network.Google.Resource.DFAReporting.DirectorySites.Insert++    -- ** dfareporting.directorySites.list+    , module Network.Google.Resource.DFAReporting.DirectorySites.List++    -- ** dfareporting.eventTags.delete+    , module Network.Google.Resource.DFAReporting.EventTags.Delete++    -- ** dfareporting.eventTags.get+    , module Network.Google.Resource.DFAReporting.EventTags.Get++    -- ** dfareporting.eventTags.insert+    , module Network.Google.Resource.DFAReporting.EventTags.Insert++    -- ** dfareporting.eventTags.list+    , module Network.Google.Resource.DFAReporting.EventTags.List++    -- ** dfareporting.eventTags.patch+    , module Network.Google.Resource.DFAReporting.EventTags.Patch++    -- ** dfareporting.eventTags.update+    , module Network.Google.Resource.DFAReporting.EventTags.Update++    -- ** dfareporting.files.get+    , module Network.Google.Resource.DFAReporting.Files.Get++    -- ** dfareporting.files.list+    , module Network.Google.Resource.DFAReporting.Files.List++    -- ** dfareporting.floodlightActivities.delete+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Delete++    -- ** dfareporting.floodlightActivities.generatetag+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag++    -- ** dfareporting.floodlightActivities.get+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Get++    -- ** dfareporting.floodlightActivities.insert+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Insert++    -- ** dfareporting.floodlightActivities.list+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.List++    -- ** dfareporting.floodlightActivities.patch+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Patch++    -- ** dfareporting.floodlightActivities.update+    , module Network.Google.Resource.DFAReporting.FloodlightActivities.Update++    -- ** dfareporting.floodlightActivityGroups.delete+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Delete++    -- ** dfareporting.floodlightActivityGroups.get+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get++    -- ** dfareporting.floodlightActivityGroups.insert+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert++    -- ** dfareporting.floodlightActivityGroups.list+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List++    -- ** dfareporting.floodlightActivityGroups.patch+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch++    -- ** dfareporting.floodlightActivityGroups.update+    , module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update++    -- ** dfareporting.floodlightConfigurations.get+    , module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get++    -- ** dfareporting.floodlightConfigurations.list+    , module Network.Google.Resource.DFAReporting.FloodlightConfigurations.List++    -- ** dfareporting.floodlightConfigurations.patch+    , module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch++    -- ** dfareporting.floodlightConfigurations.update+    , module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update++    -- ** dfareporting.inventoryItems.get+    , module Network.Google.Resource.DFAReporting.InventoryItems.Get++    -- ** dfareporting.inventoryItems.list+    , module Network.Google.Resource.DFAReporting.InventoryItems.List++    -- ** dfareporting.landingPages.delete+    , module Network.Google.Resource.DFAReporting.LandingPages.Delete++    -- ** dfareporting.landingPages.get+    , module Network.Google.Resource.DFAReporting.LandingPages.Get++    -- ** dfareporting.landingPages.insert+    , module Network.Google.Resource.DFAReporting.LandingPages.Insert++    -- ** dfareporting.landingPages.list+    , module Network.Google.Resource.DFAReporting.LandingPages.List++    -- ** dfareporting.landingPages.patch+    , module Network.Google.Resource.DFAReporting.LandingPages.Patch++    -- ** dfareporting.landingPages.update+    , module Network.Google.Resource.DFAReporting.LandingPages.Update++    -- ** dfareporting.metros.list+    , module Network.Google.Resource.DFAReporting.Metros.List++    -- ** dfareporting.mobileCarriers.get+    , module Network.Google.Resource.DFAReporting.MobileCarriers.Get++    -- ** dfareporting.mobileCarriers.list+    , module Network.Google.Resource.DFAReporting.MobileCarriers.List++    -- ** dfareporting.operatingSystemVersions.get+    , module Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get++    -- ** dfareporting.operatingSystemVersions.list+    , module Network.Google.Resource.DFAReporting.OperatingSystemVersions.List++    -- ** dfareporting.operatingSystems.get+    , module Network.Google.Resource.DFAReporting.OperatingSystems.Get++    -- ** dfareporting.operatingSystems.list+    , module Network.Google.Resource.DFAReporting.OperatingSystems.List++    -- ** dfareporting.orderDocuments.get+    , module Network.Google.Resource.DFAReporting.OrderDocuments.Get++    -- ** dfareporting.orderDocuments.list+    , module Network.Google.Resource.DFAReporting.OrderDocuments.List++    -- ** dfareporting.orders.get+    , module Network.Google.Resource.DFAReporting.Orders.Get++    -- ** dfareporting.orders.list+    , module Network.Google.Resource.DFAReporting.Orders.List++    -- ** dfareporting.placementGroups.get+    , module Network.Google.Resource.DFAReporting.PlacementGroups.Get++    -- ** dfareporting.placementGroups.insert+    , module Network.Google.Resource.DFAReporting.PlacementGroups.Insert++    -- ** dfareporting.placementGroups.list+    , module Network.Google.Resource.DFAReporting.PlacementGroups.List++    -- ** dfareporting.placementGroups.patch+    , module Network.Google.Resource.DFAReporting.PlacementGroups.Patch++    -- ** dfareporting.placementGroups.update+    , module Network.Google.Resource.DFAReporting.PlacementGroups.Update++    -- ** dfareporting.placementStrategies.delete+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.Delete++    -- ** dfareporting.placementStrategies.get+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.Get++    -- ** dfareporting.placementStrategies.insert+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.Insert++    -- ** dfareporting.placementStrategies.list+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.List++    -- ** dfareporting.placementStrategies.patch+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.Patch++    -- ** dfareporting.placementStrategies.update+    , module Network.Google.Resource.DFAReporting.PlacementStrategies.Update++    -- ** dfareporting.placements.generatetags+    , module Network.Google.Resource.DFAReporting.Placements.Generatetags++    -- ** dfareporting.placements.get+    , module Network.Google.Resource.DFAReporting.Placements.Get++    -- ** dfareporting.placements.insert+    , module Network.Google.Resource.DFAReporting.Placements.Insert++    -- ** dfareporting.placements.list+    , module Network.Google.Resource.DFAReporting.Placements.List++    -- ** dfareporting.placements.patch+    , module Network.Google.Resource.DFAReporting.Placements.Patch++    -- ** dfareporting.placements.update+    , module Network.Google.Resource.DFAReporting.Placements.Update++    -- ** dfareporting.platformTypes.get+    , module Network.Google.Resource.DFAReporting.PlatformTypes.Get++    -- ** dfareporting.platformTypes.list+    , module Network.Google.Resource.DFAReporting.PlatformTypes.List++    -- ** dfareporting.postalCodes.get+    , module Network.Google.Resource.DFAReporting.PostalCodes.Get++    -- ** dfareporting.postalCodes.list+    , module Network.Google.Resource.DFAReporting.PostalCodes.List++    -- ** dfareporting.projects.get+    , module Network.Google.Resource.DFAReporting.Projects.Get++    -- ** dfareporting.projects.list+    , module Network.Google.Resource.DFAReporting.Projects.List++    -- ** dfareporting.regions.list+    , module Network.Google.Resource.DFAReporting.Regions.List++    -- ** dfareporting.remarketingListShares.get+    , module Network.Google.Resource.DFAReporting.RemarketingListShares.Get++    -- ** dfareporting.remarketingListShares.patch+    , module Network.Google.Resource.DFAReporting.RemarketingListShares.Patch++    -- ** dfareporting.remarketingListShares.update+    , module Network.Google.Resource.DFAReporting.RemarketingListShares.Update++    -- ** dfareporting.remarketingLists.get+    , module Network.Google.Resource.DFAReporting.RemarketingLists.Get++    -- ** dfareporting.remarketingLists.insert+    , module Network.Google.Resource.DFAReporting.RemarketingLists.Insert++    -- ** dfareporting.remarketingLists.list+    , module Network.Google.Resource.DFAReporting.RemarketingLists.List++    -- ** dfareporting.remarketingLists.patch+    , module Network.Google.Resource.DFAReporting.RemarketingLists.Patch++    -- ** dfareporting.remarketingLists.update+    , module Network.Google.Resource.DFAReporting.RemarketingLists.Update++    -- ** dfareporting.reports.compatibleFields.query+    , module Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query++    -- ** dfareporting.reports.delete+    , module Network.Google.Resource.DFAReporting.Reports.Delete++    -- ** dfareporting.reports.files.get+    , module Network.Google.Resource.DFAReporting.Reports.Files.Get++    -- ** dfareporting.reports.files.list+    , module Network.Google.Resource.DFAReporting.Reports.Files.List++    -- ** dfareporting.reports.get+    , module Network.Google.Resource.DFAReporting.Reports.Get++    -- ** dfareporting.reports.insert+    , module Network.Google.Resource.DFAReporting.Reports.Insert++    -- ** dfareporting.reports.list+    , module Network.Google.Resource.DFAReporting.Reports.List++    -- ** dfareporting.reports.patch+    , module Network.Google.Resource.DFAReporting.Reports.Patch++    -- ** dfareporting.reports.run+    , module Network.Google.Resource.DFAReporting.Reports.Run++    -- ** dfareporting.reports.update+    , module Network.Google.Resource.DFAReporting.Reports.Update++    -- ** dfareporting.sites.get+    , module Network.Google.Resource.DFAReporting.Sites.Get++    -- ** dfareporting.sites.insert+    , module Network.Google.Resource.DFAReporting.Sites.Insert++    -- ** dfareporting.sites.list+    , module Network.Google.Resource.DFAReporting.Sites.List++    -- ** dfareporting.sites.patch+    , module Network.Google.Resource.DFAReporting.Sites.Patch++    -- ** dfareporting.sites.update+    , module Network.Google.Resource.DFAReporting.Sites.Update++    -- ** dfareporting.sizes.get+    , module Network.Google.Resource.DFAReporting.Sizes.Get++    -- ** dfareporting.sizes.insert+    , module Network.Google.Resource.DFAReporting.Sizes.Insert++    -- ** dfareporting.sizes.list+    , module Network.Google.Resource.DFAReporting.Sizes.List++    -- ** dfareporting.subaccounts.get+    , module Network.Google.Resource.DFAReporting.SubAccounts.Get++    -- ** dfareporting.subaccounts.insert+    , module Network.Google.Resource.DFAReporting.SubAccounts.Insert++    -- ** dfareporting.subaccounts.list+    , module Network.Google.Resource.DFAReporting.SubAccounts.List++    -- ** dfareporting.subaccounts.patch+    , module Network.Google.Resource.DFAReporting.SubAccounts.Patch++    -- ** dfareporting.subaccounts.update+    , module Network.Google.Resource.DFAReporting.SubAccounts.Update++    -- ** dfareporting.targetableRemarketingLists.get+    , module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get++    -- ** dfareporting.targetableRemarketingLists.list+    , module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List++    -- ** dfareporting.userProfiles.get+    , module Network.Google.Resource.DFAReporting.UserProFiles.Get++    -- ** dfareporting.userProfiles.list+    , module Network.Google.Resource.DFAReporting.UserProFiles.List++    -- ** dfareporting.userRolePermissionGroups.get+    , module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get++    -- ** dfareporting.userRolePermissionGroups.list+    , module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List++    -- ** dfareporting.userRolePermissions.get+    , module Network.Google.Resource.DFAReporting.UserRolePermissions.Get++    -- ** dfareporting.userRolePermissions.list+    , module Network.Google.Resource.DFAReporting.UserRolePermissions.List++    -- ** dfareporting.userRoles.delete+    , module Network.Google.Resource.DFAReporting.UserRoles.Delete++    -- ** dfareporting.userRoles.get+    , module Network.Google.Resource.DFAReporting.UserRoles.Get++    -- ** dfareporting.userRoles.insert+    , module Network.Google.Resource.DFAReporting.UserRoles.Insert++    -- ** dfareporting.userRoles.list+    , module Network.Google.Resource.DFAReporting.UserRoles.List++    -- ** dfareporting.userRoles.patch+    , module Network.Google.Resource.DFAReporting.UserRoles.Patch++    -- ** dfareporting.userRoles.update+    , module Network.Google.Resource.DFAReporting.UserRoles.Update++    -- * Types++    -- ** PlacementsListSortOrder+    , PlacementsListSortOrder (..)++    -- ** DateRangeRelativeDateRange+    , DateRangeRelativeDateRange (..)++    -- ** AdvertisersListSortField+    , AdvertisersListSortField (..)++    -- ** CreativeFieldsListSortOrder+    , CreativeFieldsListSortOrder (..)++    -- ** FileList+    , FileList+    , fileList+    , flEtag+    , flNextPageToken+    , flKind+    , flItems++    -- ** OptimizationActivity+    , OptimizationActivity+    , optimizationActivity+    , oaWeight+    , oaFloodlightActivityId+    , oaFloodlightActivityIdDimensionValue++    -- ** ListPopulationClause+    , ListPopulationClause+    , listPopulationClause+    , lpcTerms++    -- ** CreativeCustomEvent+    , CreativeCustomEvent+    , creativeCustomEvent+    , cceAdvertiserCustomEventType+    , cceAdvertiserCustomEventName+    , cceExitURL+    , cceTargetType+    , ccePopupWindowProperties+    , cceVideoReportingId+    , cceId+    , cceArtworkLabel+    , cceArtworkType++    -- ** ClickTag+    , ClickTag+    , clickTag+    , ctValue+    , ctName+    , ctEventName++    -- ** CampaignsListResponse+    , CampaignsListResponse+    , campaignsListResponse+    , clrNextPageToken+    , clrCampaigns+    , clrKind++    -- ** GeoTargeting+    , GeoTargeting+    , geoTargeting+    , gtRegions+    , gtCountries+    , gtCities+    , gtMetros+    , gtExcludeCountries+    , gtPostalCodes++    -- ** UserRolesListSortField+    , UserRolesListSortField (..)++    -- ** ReachReportCompatibleFields+    , ReachReportCompatibleFields+    , reachReportCompatibleFields+    , rrcfMetrics+    , rrcfReachByFrequencyMetrics+    , rrcfKind+    , rrcfDimensionFilters+    , rrcfPivotedActivityMetrics+    , rrcfDimensions++    -- ** Browser+    , Browser+    , browser+    , bMinorVersion+    , bKind+    , bBrowserVersionId+    , bMajorVersion+    , bName+    , bDartId++    -- ** FloodlightActivityTagFormat+    , FloodlightActivityTagFormat (..)++    -- ** OrderDocumentsListSortOrder+    , OrderDocumentsListSortOrder (..)++    -- ** CreativeGroupAssignment+    , CreativeGroupAssignment+    , creativeGroupAssignment+    , cgaCreativeGroupNumber+    , cgaCreativeGroupId++    -- ** CreativeAssetRole+    , CreativeAssetRole (..)++    -- ** RecipientDeliveryType+    , RecipientDeliveryType (..)++    -- ** ThirdPartyTrackingURLThirdPartyURLType+    , ThirdPartyTrackingURLThirdPartyURLType (..)++    -- ** DirectorySiteSettings+    , DirectorySiteSettings+    , directorySiteSettings+    , dssInterstitialPlacementAccepted+    , dssDfpSettings+    , dssVerificationTagOptOut+    , dssActiveViewOptOut+    , dssVideoActiveViewOptOut+    , dssInstreamVideoPlacementAccepted+    , dssNielsenOCROptOut++    -- ** TargetableRemarketingListsListSortOrder+    , TargetableRemarketingListsListSortOrder (..)++    -- ** CreativeAssetPositionLeftUnit+    , CreativeAssetPositionLeftUnit (..)++    -- ** PricingScheduleCapCostOption+    , PricingScheduleCapCostOption (..)++    -- ** ListPopulationRule+    , ListPopulationRule+    , listPopulationRule+    , lprFloodlightActivityName+    , lprFloodlightActivityId+    , lprListPopulationClauses++    -- ** UserRolePermissionAvailability+    , UserRolePermissionAvailability (..)++    -- ** DirectorySiteContactAssignmentVisibility+    , DirectorySiteContactAssignmentVisibility (..)++    -- ** SizesListResponse+    , SizesListResponse+    , sizesListResponse+    , slrKind+    , slrSizes++    -- ** PlacementCompatibility+    , PlacementCompatibility (..)++    -- ** CreativeRotation+    , CreativeRotation+    , creativeRotation+    , crWeightCalculationStrategy+    , crCreativeAssignments+    , crCreativeOptimizationConfigurationId+    , crType++    -- ** TechnologyTargeting+    , TechnologyTargeting+    , technologyTargeting+    , ttMobileCarriers+    , ttOperatingSystemVersions+    , ttPlatformTypes+    , ttBrowsers+    , ttConnectionTypes+    , ttOperatingSystems++    -- ** ListPopulationTermOperator+    , ListPopulationTermOperator (..)++    -- ** PlacementsListPaymentSource+    , PlacementsListPaymentSource (..)++    -- ** InventoryItem+    , InventoryItem+    , inventoryItem+    , iiPlacementStrategyId+    , iiEstimatedClickThroughRate+    , iiPricing+    , iiKind+    , iiAdvertiserId+    , iiRfpId+    , iiContentCategoryId+    , iiInPlan+    , iiAccountId+    , iiName+    , iiAdSlots+    , iiNegotiationChannelId+    , iiLastModifiedInfo+    , iiId+    , iiEstimatedConversionRate+    , iiProjectId+    , iiSubAccountId+    , iiOrderId+    , iiSiteId++    -- ** ProjectsListResponse+    , ProjectsListResponse+    , projectsListResponse+    , plrNextPageToken+    , plrKind+    , plrProjects++    -- ** AdsListResponse+    , AdsListResponse+    , adsListResponse+    , alrNextPageToken+    , alrKind+    , alrAds++    -- ** ReportsListSortField+    , ReportsListSortField (..)++    -- ** AdSlotCompatibility+    , AdSlotCompatibility (..)++    -- ** ListPopulationTerm+    , ListPopulationTerm+    , listPopulationTerm+    , lptOperator+    , lptValue+    , lptVariableFriendlyName+    , lptNegation+    , lptVariableName+    , lptRemarketingListId+    , lptType+    , lptContains++    -- ** TagSettings+    , TagSettings+    , tagSettings+    , tsDynamicTagEnabled+    , tsImageTagEnabled++    -- ** SubAccountsListResponse+    , SubAccountsListResponse+    , subAccountsListResponse+    , salrNextPageToken+    , salrKind+    , salrSubAccounts++    -- ** CampaignsListSortField+    , CampaignsListSortField (..)++    -- ** DirectorySiteContact+    , DirectorySiteContact+    , directorySiteContact+    , dscEmail+    , dscPhone+    , dscLastName+    , dscKind+    , dscAddress+    , dscRole+    , dscFirstName+    , dscId+    , dscTitle+    , dscType++    -- ** RegionsListResponse+    , RegionsListResponse+    , regionsListResponse+    , rlrKind+    , rlrRegions++    -- ** FloodlightActivityDynamicTag+    , FloodlightActivityDynamicTag+    , floodlightActivityDynamicTag+    , fadtTag+    , fadtName+    , fadtId++    -- ** AccountUserProFileTraffickerType+    , AccountUserProFileTraffickerType (..)++    -- ** DirectorySite+    , DirectorySite+    , directorySite+    , dsCurrencyId+    , dsSettings+    , dsInterstitialTagFormats+    , dsKind+    , dsURL+    , dsIdDimensionValue+    , dsInpageTagFormats+    , dsActive+    , dsName+    , dsId+    , dsCountryId+    , dsContactAssignments+    , dsDescription+    , dsParentId++    -- ** CreativeAssetMetadataDetectedFeaturesItem+    , CreativeAssetMetadataDetectedFeaturesItem (..)++    -- ** ReportFloodlightCriteriaReportProperties+    , ReportFloodlightCriteriaReportProperties+    , reportFloodlightCriteriaReportProperties+    , rfcrpIncludeUnattributedIPConversions+    , rfcrpIncludeUnattributedCookieConversions+    , rfcrpIncludeAttributedIPConversions++    -- ** FloodlightActivityGroup+    , FloodlightActivityGroup+    , floodlightActivityGroup+    , fagTagString+    , fagFloodlightConfigurationId+    , fagKind+    , fagAdvertiserId+    , fagAdvertiserIdDimensionValue+    , fagIdDimensionValue+    , fagAccountId+    , fagName+    , fagId+    , fagSubAccountId+    , fagType+    , fagFloodlightConfigurationIdDimensionValue++    -- ** AdsListCompatibility+    , AdsListCompatibility (..)++    -- ** CrossDimensionReachReportCompatibleFields+    , CrossDimensionReachReportCompatibleFields+    , crossDimensionReachReportCompatibleFields+    , cdrrcfMetrics+    , cdrrcfBreakdown+    , cdrrcfKind+    , cdrrcfDimensionFilters+    , cdrrcfOverlapMetrics++    -- ** FsCommand+    , FsCommand+    , fsCommand+    , fcPositionOption+    , fcLeft+    , fcWindowHeight+    , fcWindowWidth+    , fcTop++    -- ** PlacementAssignment+    , PlacementAssignment+    , placementAssignment+    , paPlacementId+    , paPlacementIdDimensionValue+    , paActive+    , paSSLRequired++    -- ** CreativeFieldValue+    , CreativeFieldValue+    , creativeFieldValue+    , cfvKind+    , cfvValue+    , cfvId++    -- ** EventTagStatus+    , EventTagStatus (..)++    -- ** SitesListSortField+    , SitesListSortField (..)++    -- ** DimensionValueRequest+    , DimensionValueRequest+    , dimensionValueRequest+    , dvrKind+    , dvrEndDate+    , dvrFilters+    , dvrStartDate+    , dvrDimensionName++    -- ** EventTagsListEventTagTypes+    , EventTagsListEventTagTypes (..)++    -- ** FloodlightConfigurationsListResponse+    , FloodlightConfigurationsListResponse+    , floodlightConfigurationsListResponse+    , fclrKind+    , fclrFloodlightConfigurations++    -- ** FloodlightActivitiesListResponse+    , FloodlightActivitiesListResponse+    , floodlightActivitiesListResponse+    , falrNextPageToken+    , falrKind+    , falrFloodlightActivities++    -- ** FileStatus+    , FileStatus (..)++    -- ** CreativeCustomEventArtworkType+    , CreativeCustomEventArtworkType (..)++    -- ** CreativeFieldAssignment+    , CreativeFieldAssignment+    , creativeFieldAssignment+    , cfaCreativeFieldId+    , cfaCreativeFieldValueId++    -- ** AdvertiserGroup+    , AdvertiserGroup+    , advertiserGroup+    , agKind+    , agAccountId+    , agName+    , agId++    -- ** TagData+    , TagData+    , tagData+    , tdClickTag+    , tdFormat+    , tdCreativeId+    , tdAdId+    , tdImpressionTag++    -- ** DayPartTargeting+    , DayPartTargeting+    , dayPartTargeting+    , dptDaysOfWeek+    , dptHoursOfDay+    , dptUserLocalTime++    -- ** CreativeOptimizationConfiguration+    , CreativeOptimizationConfiguration+    , creativeOptimizationConfiguration+    , cocOptimizationModel+    , cocName+    , cocOptimizationActivitys+    , cocId++    -- ** ReportCriteria+    , ReportCriteria+    , reportCriteria+    , rcMetricNames+    , rcCustomRichMediaEvents+    , rcDimensionFilters+    , rcActivities+    , rcDateRange+    , rcDimensions++    -- ** FloodlightConfigurationNATuralSearchConversionAttributionOption+    , FloodlightConfigurationNATuralSearchConversionAttributionOption (..)++    -- ** PlacementStrategiesListResponse+    , PlacementStrategiesListResponse+    , placementStrategiesListResponse+    , pslrPlacementStrategies+    , pslrNextPageToken+    , pslrKind++    -- ** CreativeAssetArtworkType+    , CreativeAssetArtworkType (..)++    -- ** SubAccount+    , SubAccount+    , subAccount+    , saKind+    , saAvailablePermissionIds+    , saAccountId+    , saName+    , saId++    -- ** InventoryItemsListResponse+    , InventoryItemsListResponse+    , inventoryItemsListResponse+    , iilrInventoryItems+    , iilrNextPageToken+    , iilrKind++    -- ** Ad+    , Ad+    , ad+    , aCreativeGroupAssignments+    , aGeoTargeting+    , aCreativeRotation+    , aTechnologyTargeting+    , aAudienceSegmentId+    , aDayPartTargeting+    , aSize+    , aStartTime+    , aKind+    , aClickThroughURLSuffixProperties+    , aCampaignIdDimensionValue+    , aAdvertiserId+    , aAdvertiserIdDimensionValue+    , aSSLCompliant+    , aCampaignId+    , aIdDimensionValue+    , aClickThroughURL+    , aDeliverySchedule+    , aEventTagOverrides+    , aActive+    , aAccountId+    , aName+    , aKeyValueTargetingExpression+    , aEndTime+    , aCreateInfo+    , aLastModifiedInfo+    , aId+    , aSSLRequired+    , aComments+    , aSubAccountId+    , aType+    , aRemarketingListExpression+    , aDynamicClickTracker+    , aCompatibility+    , aArchived+    , aDefaultClickThroughEventTagProperties+    , aPlacementAssignments++    -- ** FloodlightActivitiesListSortOrder+    , FloodlightActivitiesListSortOrder (..)++    -- ** Project+    , Project+    , project+    , pTargetClicks+    , pClientBillingCode+    , pTargetCpmNanos+    , pTargetConversions+    , pBudget+    , pKind+    , pAdvertiserId+    , pEndDate+    , pOverview+    , pTargetImpressions+    , pStartDate+    , pTargetCpcNanos+    , pAccountId+    , pName+    , pLastModifiedInfo+    , pId+    , pAudienceAgeGroup+    , pSubAccountId+    , pAudienceGender+    , pClientName+    , pTargetCpaNanos++    -- ** FileFormat+    , FileFormat (..)++    -- ** PricingSchedulePricingType+    , PricingSchedulePricingType (..)++    -- ** ReportFloodlightCriteria+    , ReportFloodlightCriteria+    , reportFloodlightCriteria+    , rfcReportProperties+    , rfcMetricNames+    , rfcCustomRichMediaEvents+    , rfcDimensionFilters+    , rfcDateRange+    , rfcFloodlightConfigId+    , rfcDimensions++    -- ** CreativeCustomEventTargetType+    , CreativeCustomEventTargetType (..)++    -- ** ReportsListScope+    , ReportsListScope (..)++    -- ** Size+    , Size+    , size+    , sHeight+    , sKind+    , sWidth+    , sIab+    , sId++    -- ** CreativeAssetDurationType+    , CreativeAssetDurationType (..)++    -- ** TargetableRemarketingListListSource+    , TargetableRemarketingListListSource (..)++    -- ** ObjectFilter+    , ObjectFilter+    , objectFilter+    , ofStatus+    , ofKind+    , ofObjectIds++    -- ** CreativeGroupsListSortField+    , CreativeGroupsListSortField (..)++    -- ** ReportsConfiguration+    , ReportsConfiguration+    , reportsConfiguration+    , rcExposureToConversionEnabled+    , rcReportGenerationTimeZoneId+    , rcLookbackConfiguration++    -- ** PricingSchedule+    , PricingSchedule+    , pricingSchedule+    , psTestingStartDate+    , psFloodlightActivityId+    , psEndDate+    , psDisregardOverdelivery+    , psStartDate+    , psCapCostOption+    , psPricingType+    , psPricingPeriods+    , psFlighted++    -- ** PostalCode+    , PostalCode+    , postalCode+    , pcKind+    , pcCode+    , pcCountryCode+    , pcId+    , pcCountryDartId++    -- ** AccountPermissionsListResponse+    , AccountPermissionsListResponse+    , accountPermissionsListResponse+    , aplrKind+    , aplrAccountPermissions++    -- ** Country+    , Country+    , country+    , cKind+    , cName+    , cCountryCode+    , cDartId+    , cSSLEnabled++    -- ** PlacementsListSortField+    , PlacementsListSortField (..)++    -- ** CreativeBackupImageFeaturesItem+    , CreativeBackupImageFeaturesItem (..)++    -- ** OperatingSystemVersionsListResponse+    , OperatingSystemVersionsListResponse+    , operatingSystemVersionsListResponse+    , osvlrKind+    , osvlrOperatingSystemVersions++    -- ** ClickThroughURLSuffixProperties+    , ClickThroughURLSuffixProperties+    , clickThroughURLSuffixProperties+    , ctuspOverrideInheritedSuffix+    , ctuspClickThroughURLSuffix++    -- ** AdvertisersListSortOrder+    , AdvertisersListSortOrder (..)++    -- ** CreativeFieldsListSortField+    , CreativeFieldsListSortField (..)++    -- ** Pricing+    , Pricing+    , pricing+    , priEndDate+    , priStartDate+    , priGroupType+    , priPricingType+    , priFlights+    , priCapCostType++    -- ** AudienceSegmentGroup+    , AudienceSegmentGroup+    , audienceSegmentGroup+    , asgAudienceSegments+    , asgName+    , asgId++    -- ** OperatingSystem+    , OperatingSystem+    , operatingSystem+    , osDesktop+    , osKind+    , osName+    , osMobile+    , osDartId++    -- ** Flight+    , Flight+    , flight+    , fRateOrCost+    , fEndDate+    , fStartDate+    , fUnits++    -- ** UserDefinedVariableConfigurationVariableType+    , UserDefinedVariableConfigurationVariableType (..)++    -- ** FsCommandPositionOption+    , FsCommandPositionOption (..)++    -- ** CitiesListResponse+    , CitiesListResponse+    , citiesListResponse+    , citKind+    , citCities++    -- ** Dimension+    , Dimension+    , dimension+    , dKind+    , dName++    -- ** ReportReachCriteria+    , ReportReachCriteria+    , reportReachCriteria+    , rrcReachByFrequencyMetricNames+    , rrcEnableAllDimensionCombinations+    , rrcMetricNames+    , rrcCustomRichMediaEvents+    , rrcDimensionFilters+    , rrcActivities+    , rrcDateRange+    , rrcDimensions++    -- ** CustomRichMediaEvents+    , CustomRichMediaEvents+    , customRichMediaEvents+    , crmeKind+    , crmeFilteredEventIds++    -- ** UserRolesListSortOrder+    , UserRolesListSortOrder (..)++    -- ** PlacementsListCompatibilities+    , PlacementsListCompatibilities (..)++    -- ** TargetableRemarketingListsListResponse+    , TargetableRemarketingListsListResponse+    , targetableRemarketingListsListResponse+    , trllrNextPageToken+    , trllrKind+    , trllrTargetableRemarketingLists++    -- ** OrderDocumentsListSortField+    , OrderDocumentsListSortField (..)++    -- ** CreativeCompatibilityItem+    , CreativeCompatibilityItem (..)++    -- ** ChangeLogsListResponse+    , ChangeLogsListResponse+    , changeLogsListResponse+    , cllrNextPageToken+    , cllrKind+    , cllrChangeLogs++    -- ** ReportDeliveryEmailOwnerDeliveryType+    , ReportDeliveryEmailOwnerDeliveryType (..)++    -- ** SiteContactContactType+    , SiteContactContactType (..)++    -- ** AccountUserProFile+    , AccountUserProFile+    , accountUserProFile+    , aupfEmail+    , aupfUserRoleFilter+    , aupfAdvertiserFilter+    , aupfUserRoleId+    , aupfKind+    , aupfLocale+    , aupfSiteFilter+    , aupfTraffickerType+    , aupfActive+    , aupfAccountId+    , aupfName+    , aupfId+    , aupfUserAccessType+    , aupfComments+    , aupfSubAccountId+    , aupfCampaignFilter++    -- ** ReportsListSortOrder+    , ReportsListSortOrder (..)++    -- ** DimensionValue+    , DimensionValue+    , dimensionValue+    , dvEtag+    , dvKind+    , dvValue+    , dvMatchType+    , dvDimensionName+    , dvId++    -- ** TargetableRemarketingListsListSortField+    , TargetableRemarketingListsListSortField (..)++    -- ** CampaignsListSortOrder+    , CampaignsListSortOrder (..)++    -- ** Activities+    , Activities+    , activities+    , actKind+    , actMetricNames+    , actFilters++    -- ** FloodlightActivityGroupsListType+    , FloodlightActivityGroupsListType (..)++    -- ** FloodlightConfigurationFirstDayOfWeek+    , FloodlightConfigurationFirstDayOfWeek (..)++    -- ** UserRolePermissionGroupsListResponse+    , UserRolePermissionGroupsListResponse+    , userRolePermissionGroupsListResponse+    , urpglrUserRolePermissionGroups+    , urpglrKind++    -- ** PlacementTag+    , PlacementTag+    , placementTag+    , ptPlacementId+    , ptTagDatas++    -- ** DeliverySchedulePriority+    , DeliverySchedulePriority (..)++    -- ** FloodlightActivitiesListFloodlightActivityGroupType+    , FloodlightActivitiesListFloodlightActivityGroupType (..)++    -- ** RemarketingListsListResponse+    , RemarketingListsListResponse+    , remarketingListsListResponse+    , rllrNextPageToken+    , rllrRemarketingLists+    , rllrKind++    -- ** Creative+    , Creative+    , creative+    , creConvertFlashToHTML5+    , creBackupImageTargetWindow+    , creRenderingIdDimensionValue+    , creCustomKeyValues+    , creVideoDuration+    , creRenderingId+    , creThirdPartyBackupImageImpressionsURL+    , creFsCommand+    , creAllowScriptAccess+    , creHTMLCodeLocked+    , creRequiredFlashPluginVersion+    , creAuthoringTool+    , creSize+    , creThirdPartyURLs+    , creCounterCustomEvents+    , creKind+    , creSSLOverride+    , creHTMLCode+    , creAdvertiserId+    , creRequiredFlashVersion+    , creBackgRoundColor+    , creAdTagKeys+    , creSkippable+    , creSSLCompliant+    , creIdDimensionValue+    , creBackupImageReportingLabel+    , creCommercialId+    , creActive+    , creExitCustomEvents+    , creAccountId+    , creBackupImageClickThroughURL+    , creName+    , creOverrideCss+    , creVideoDescription+    , creClickTags+    , creAdParameters+    , creVersion+    , creLatestTraffickedCreativeId+    , creThirdPartyRichMediaImpressionsURL+    , creLastModifiedInfo+    , creId+    , creStudioAdvertiserId+    , creCreativeAssets+    , creSubAccountId+    , creType+    , creTimerCustomEvents+    , creStudioCreativeId+    , creCompatibility+    , creBackupImageFeatures+    , creArtworkType+    , creArchived+    , creCompanionCreatives+    , creTotalFileSize+    , creStudioTraffickedCreativeId+    , creRedirectURL+    , creAutoAdvanceImages+    , creCreativeFieldAssignments++    -- ** SiteContact+    , SiteContact+    , siteContact+    , scEmail+    , scPhone+    , scLastName+    , scAddress+    , scFirstName+    , scId+    , scTitle+    , scContactType++    -- ** AccountsListResponse+    , AccountsListResponse+    , accountsListResponse+    , accNextPageToken+    , accAccounts+    , accKind++    -- ** DateRange+    , DateRange+    , dateRange+    , drKind+    , drEndDate+    , drStartDate+    , drRelativeDateRange++    -- ** FloodlightConfigurationStandardVariableTypesItem+    , FloodlightConfigurationStandardVariableTypesItem (..)++    -- ** Report+    , Report+    , report+    , rDelivery+    , rEtag+    , rOwnerProFileId+    , rSchedule+    , rPathToConversionCriteria+    , rKind+    , rFormat+    , rReachCriteria+    , rLastModifiedTime+    , rAccountId+    , rName+    , rId+    , rCrossDimensionReachCriteria+    , rType+    , rSubAccountId+    , rFloodlightCriteria+    , rCriteria+    , rFileName++    -- ** PlacementPaymentSource+    , PlacementPaymentSource (..)++    -- ** ReportsFilesListSortOrder+    , ReportsFilesListSortOrder (..)++    -- ** Campaign+    , Campaign+    , campaign+    , camCreativeOptimizationConfiguration+    , camCreativeGroupIds+    , camNielsenOCREnabled+    , camKind+    , camClickThroughURLSuffixProperties+    , camAdvertiserId+    , camEndDate+    , camAdvertiserIdDimensionValue+    , camIdDimensionValue+    , camEventTagOverrides+    , camLookbackConfiguration+    , camStartDate+    , camAccountId+    , camComscoreVceEnabled+    , camName+    , camAdvertiserGroupId+    , camBillingInvoiceCode+    , camCreateInfo+    , camLastModifiedInfo+    , camId+    , camSubAccountId+    , camAdditionalCreativeOptimizationConfigurations+    , camExternalId+    , camComment+    , camAudienceSegmentGroups+    , camArchived+    , camTraffickerEmails+    , camDefaultClickThroughEventTagProperties++    -- ** InventoryItemsListSortField+    , InventoryItemsListSortField (..)++    -- ** EventTagType+    , EventTagType (..)++    -- ** CreativesListSortOrder+    , CreativesListSortOrder (..)++    -- ** ThirdPartyAuthenticationToken+    , ThirdPartyAuthenticationToken+    , thirdPartyAuthenticationToken+    , tpatValue+    , tpatName++    -- ** PopupWindowPropertiesPositionType+    , PopupWindowPropertiesPositionType (..)++    -- ** DirectorySiteContactRole+    , DirectorySiteContactRole (..)++    -- ** ClickThroughURL+    , ClickThroughURL+    , clickThroughURL+    , ctuDefaultLandingPage+    , ctuComputedClickThroughURL+    , ctuCustomClickThroughURL+    , ctuLandingPageId++    -- ** TagSettingKeywordOption+    , TagSettingKeywordOption (..)++    -- ** CreativeAuthoringTool+    , CreativeAuthoringTool (..)++    -- ** OrderContactContactType+    , OrderContactContactType (..)++    -- ** CreativeAssetIdType+    , CreativeAssetIdType (..)++    -- ** AccountUserProFilesListSortOrder+    , AccountUserProFilesListSortOrder (..)++    -- ** RemarketingListListSource+    , RemarketingListListSource (..)++    -- ** BrowsersListResponse+    , BrowsersListResponse+    , browsersListResponse+    , blrKind+    , blrBrowsers++    -- ** AccountUserProFileUserAccessType+    , AccountUserProFileUserAccessType (..)++    -- ** CreativeAssetStartTimeType+    , CreativeAssetStartTimeType (..)++    -- ** ProjectAudienceGender+    , ProjectAudienceGender (..)++    -- ** SiteSettings+    , SiteSettings+    , siteSettings+    , ssDisableNewCookie+    , ssDisableBrandSafeAds+    , ssLookbackConfiguration+    , ssTagSetting+    , ssActiveViewOptOut+    , ssCreativeSettings++    -- ** PlacementStrategiesListSortField+    , PlacementStrategiesListSortField (..)++    -- ** ContentCategoriesListResponse+    , ContentCategoriesListResponse+    , contentCategoriesListResponse+    , cclrNextPageToken+    , cclrKind+    , cclrContentCategories++    -- ** UserDefinedVariableConfigurationDataType+    , UserDefinedVariableConfigurationDataType (..)++    -- ** FloodlightActivityCacheBustingType+    , FloodlightActivityCacheBustingType (..)++    -- ** CreativesListResponse+    , CreativesListResponse+    , creativesListResponse+    , clrlNextPageToken+    , clrlKind+    , clrlCreatives++    -- ** CreativeGroupsListSortOrder+    , CreativeGroupsListSortOrder (..)++    -- ** OrderDocumentType+    , OrderDocumentType (..)++    -- ** TagDataFormat+    , TagDataFormat (..)++    -- ** Account+    , Account+    , account+    , aaAccountPermissionIds+    , aaMaximumImageSize+    , aaCurrencyId+    , aaReportsConfiguration+    , aaNielsenOCREnabled+    , aaKind+    , aaLocale+    , aaActive+    , aaAvailablePermissionIds+    , aaTeaserSizeLimit+    , aaComscoreVceEnabled+    , aaActiveViewOptOut+    , aaName+    , aaAccountProFile+    , aaId+    , aaCountryId+    , aaActiveAdsLimitTier+    , aaDefaultCreativeSizeId+    , aaDescription++    -- ** AccountActiveAdSummaryActiveAdsLimitTier+    , AccountActiveAdSummaryActiveAdsLimitTier (..)++    -- ** CreativeAssetChildAssetType+    , CreativeAssetChildAssetType (..)++    -- ** PlacementGroupsListPlacementGroupType+    , PlacementGroupsListPlacementGroupType (..)++    -- ** AccountUserProFilesListResponse+    , AccountUserProFilesListResponse+    , accountUserProFilesListResponse+    , aupflrNextPageToken+    , aupflrAccountUserProFiles+    , aupflrKind++    -- ** ContentCategory+    , ContentCategory+    , contentCategory+    , conKind+    , conAccountId+    , conName+    , conId++    -- ** ObjectFilterStatus+    , ObjectFilterStatus (..)++    -- ** ReportCompatibleFields+    , ReportCompatibleFields+    , reportCompatibleFields+    , rcfMetrics+    , rcfKind+    , rcfDimensionFilters+    , rcfPivotedActivityMetrics+    , rcfDimensions++    -- ** CampaignCreativeAssociationsListSortOrder+    , CampaignCreativeAssociationsListSortOrder (..)++    -- ** DeliverySchedule+    , DeliverySchedule+    , deliverySchedule+    , dsHardCutoff+    , dsPriority+    , dsImpressionRatio+    , dsFrequencyCap++    -- ** RemarketingList+    , RemarketingList+    , remarketingList+    , rlListSize+    , rlListPopulationRule+    , rlLifeSpan+    , rlKind+    , rlAdvertiserId+    , rlAdvertiserIdDimensionValue+    , rlActive+    , rlAccountId+    , rlName+    , rlListSource+    , rlId+    , rlSubAccountId+    , rlDescription++    -- ** FloodlightActivitiesListSortField+    , FloodlightActivitiesListSortField (..)++    -- ** DimensionValueList+    , DimensionValueList+    , dimensionValueList+    , dvlEtag+    , dvlNextPageToken+    , dvlKind+    , dvlItems++    -- ** FloodlightReportCompatibleFields+    , FloodlightReportCompatibleFields+    , floodlightReportCompatibleFields+    , frcfMetrics+    , frcfKind+    , frcfDimensionFilters+    , frcfDimensions++    -- ** UserRolePermissionGroup+    , UserRolePermissionGroup+    , userRolePermissionGroup+    , urpgKind+    , urpgName+    , urpgId++    -- ** CreativesListTypes+    , CreativesListTypes (..)++    -- ** DirectorySiteInpageTagFormatsItem+    , DirectorySiteInpageTagFormatsItem (..)++    -- ** TagSetting+    , TagSetting+    , tagSetting+    , tsKeywordOption+    , tsIncludeClickThroughURLs+    , tsIncludeClickTracking+    , tsAdditionalKeyValues++    -- ** CreativeAssetWindowMode+    , CreativeAssetWindowMode (..)++    -- ** CreativeAssetAlignment+    , CreativeAssetAlignment (..)++    -- ** RemarketingListsListSortOrder+    , RemarketingListsListSortOrder (..)++    -- ** ReportPathToConversionCriteriaReportProperties+    , ReportPathToConversionCriteriaReportProperties+    , reportPathToConversionCriteriaReportProperties+    , rptccrpMaximumInteractionGap+    , rptccrpMaximumClickInteractions+    , rptccrpPivotOnInteractionPath+    , rptccrpMaximumImpressionInteractions+    , rptccrpIncludeUnattributedIPConversions+    , rptccrpImpressionsLookbackWindow+    , rptccrpClicksLookbackWindow+    , rptccrpIncludeUnattributedCookieConversions+    , rptccrpIncludeAttributedIPConversions++    -- ** UserRolePermissionsListResponse+    , UserRolePermissionsListResponse+    , userRolePermissionsListResponse+    , urplrKind+    , urplrUserRolePermissions++    -- ** PlacementGroupsListPricingTypes+    , PlacementGroupsListPricingTypes (..)++    -- ** AccountActiveAdsLimitTier+    , AccountActiveAdsLimitTier (..)++    -- ** AccountsListSortOrder+    , AccountsListSortOrder (..)++    -- ** PlacementGroupsListResponse+    , PlacementGroupsListResponse+    , placementGroupsListResponse+    , pglrNextPageToken+    , pglrKind+    , pglrPlacementGroups++    -- ** MobileCarrier+    , MobileCarrier+    , mobileCarrier+    , mcKind+    , mcName+    , mcCountryCode+    , mcId+    , mcCountryDartId++    -- ** LandingPage+    , LandingPage+    , landingPage+    , lpKind+    , lpDefault+    , lpURL+    , lpName+    , lpId++    -- ** ConnectionTypesListResponse+    , ConnectionTypesListResponse+    , connectionTypesListResponse+    , ctlrKind+    , ctlrConnectionTypes++    -- ** OrdersListResponse+    , OrdersListResponse+    , ordersListResponse+    , olrNextPageToken+    , olrKind+    , olrOrders++    -- ** ReportList+    , ReportList+    , reportList+    , repEtag+    , repNextPageToken+    , repKind+    , repItems++    -- ** CreativeGroup+    , CreativeGroup+    , creativeGroup+    , cgKind+    , cgAdvertiserId+    , cgAdvertiserIdDimensionValue+    , cgGroupNumber+    , cgAccountId+    , cgName+    , cgId+    , cgSubAccountId++    -- ** SubAccountsListSortField+    , SubAccountsListSortField (..)++    -- ** CampaignCreativeAssociation+    , CampaignCreativeAssociation+    , campaignCreativeAssociation+    , ccaKind+    , ccaCreativeId++    -- ** LookbackConfiguration+    , LookbackConfiguration+    , lookbackConfiguration+    , lcClickDuration+    , lcPostImpressionActivitiesDuration++    -- ** AdsListSortField+    , AdsListSortField (..)++    -- ** ProjectsListSortField+    , ProjectsListSortField (..)++    -- ** FloodlightActivityPublisherDynamicTag+    , FloodlightActivityPublisherDynamicTag+    , floodlightActivityPublisherDynamicTag+    , fapdtClickThrough+    , fapdtSiteIdDimensionValue+    , fapdtDynamicTag+    , fapdtDirectorySiteId+    , fapdtSiteId+    , fapdtViewThrough++    -- ** AdsListType+    , AdsListType (..)++    -- ** AccountActiveAdSummary+    , AccountActiveAdSummary+    , accountActiveAdSummary+    , aaasAvailableAds+    , aaasKind+    , aaasAccountId+    , aaasActiveAds+    , aaasActiveAdsLimitTier++    -- ** CreativeOptimizationConfigurationOptimizationModel+    , CreativeOptimizationConfigurationOptimizationModel (..)++    -- ** AccountPermissionLevel+    , AccountPermissionLevel (..)++    -- ** OffSetPosition+    , OffSetPosition+    , offSetPosition+    , ospLeft+    , ospTop++    -- ** Metric+    , Metric+    , metric+    , mKind+    , mName++    -- ** RemarketingListShare+    , RemarketingListShare+    , remarketingListShare+    , rlsSharedAdvertiserIds+    , rlsKind+    , rlsRemarketingListId+    , rlsSharedAccountIds++    -- ** EventTagsListResponse+    , EventTagsListResponse+    , eventTagsListResponse+    , etlrKind+    , etlrEventTags++    -- ** UserRolesListResponse+    , UserRolesListResponse+    , userRolesListResponse+    , urlrNextPageToken+    , urlrKind+    , urlrUserRoles++    -- ** ListPopulationTermType+    , ListPopulationTermType (..)++    -- ** AdvertiserGroupsListSortOrder+    , AdvertiserGroupsListSortOrder (..)++    -- ** CreativeFieldValuesListSortOrder+    , CreativeFieldValuesListSortOrder (..)++    -- ** SortedDimensionSortOrder+    , SortedDimensionSortOrder (..)++    -- ** CompatibleFields+    , CompatibleFields+    , compatibleFields+    , cfReachReportCompatibleFields+    , cfCrossDimensionReachReportCompatibleFields+    , cfKind+    , cfFloodlightReportCompatibleFields+    , cfReportCompatibleFields+    , cfPathToConversionReportCompatibleFields++    -- ** AudienceSegment+    , AudienceSegment+    , audienceSegment+    , asName+    , asId+    , asAllocation++    -- ** FilesListSortField+    , FilesListSortField (..)++    -- ** DirectorySiteInterstitialTagFormatsItem+    , DirectorySiteInterstitialTagFormatsItem (..)++    -- ** DfpSettings+    , DfpSettings+    , dfpSettings+    , dsPubPaidPlacementAccepted+    , dsDfpNetworkName+    , dsPublisherPortalOnly+    , dsProgrammaticPlacementAccepted+    , dsDfpNetworkCode++    -- ** EventTagsListSortField+    , EventTagsListSortField (..)++    -- ** PathToConversionReportCompatibleFields+    , PathToConversionReportCompatibleFields+    , pathToConversionReportCompatibleFields+    , ptcrcfMetrics+    , ptcrcfKind+    , ptcrcfConversionDimensions+    , ptcrcfCustomFloodlightVariables+    , ptcrcfPerInteractionDimensions++    -- ** CreativeAssetPositionTopUnit+    , CreativeAssetPositionTopUnit (..)++    -- ** City+    , City+    , city+    , ccMetroCode+    , ccRegionCode+    , ccKind+    , ccRegionDartId+    , ccMetroDmaId+    , ccName+    , ccCountryCode+    , ccCountryDartId+    , ccDartId++    -- ** PlatformType+    , PlatformType+    , platformType+    , ptKind+    , ptName+    , ptId++    -- ** FloodlightActivityFloodlightActivityGroupType+    , FloodlightActivityFloodlightActivityGroupType (..)++    -- ** DirectorySiteContactsListSortOrder+    , DirectorySiteContactsListSortOrder (..)++    -- ** PricingGroupType+    , PricingGroupType (..)++    -- ** KeyValueTargetingExpression+    , KeyValueTargetingExpression+    , keyValueTargetingExpression+    , kvteExpression++    -- ** CompanionClickThroughOverride+    , CompanionClickThroughOverride+    , companionClickThroughOverride+    , cctoCreativeId+    , cctoClickThroughURL++    -- ** AdsListCreativeType+    , AdsListCreativeType (..)++    -- ** FloodlightActivityGroupsListSortOrder+    , FloodlightActivityGroupsListSortOrder (..)++    -- ** CreativeRotationType+    , CreativeRotationType (..)++    -- ** OrdersListSortField+    , OrdersListSortField (..)++    -- ** PlacementGroupsListSortField+    , PlacementGroupsListSortField (..)++    -- ** DirectorySitesListSortOrder+    , DirectorySitesListSortOrder (..)++    -- ** AdvertisersListResponse+    , AdvertisersListResponse+    , advertisersListResponse+    , advNextPageToken+    , advKind+    , advAdvertisers++    -- ** CountriesListResponse+    , CountriesListResponse+    , countriesListResponse+    , couKind+    , couCountries++    -- ** AccountPermissionGroupsListResponse+    , AccountPermissionGroupsListResponse+    , accountPermissionGroupsListResponse+    , apglrKind+    , apglrAccountPermissionGroups++    -- ** PopupWindowProperties+    , PopupWindowProperties+    , popupWindowProperties+    , pwpOffSet+    , pwpDimension+    , pwpShowStatusBar+    , pwpShowMenuBar+    , pwpPositionType+    , pwpShowAddressBar+    , pwpShowScrollBar+    , pwpShowToolBar+    , pwpTitle++    -- ** CreativeAssetDetectedFeaturesItem+    , CreativeAssetDetectedFeaturesItem (..)++    -- ** FloodlightActivityGroupType+    , FloodlightActivityGroupType (..)++    -- ** DirectorySiteContactType+    , DirectorySiteContactType (..)++    -- ** EventTagOverride+    , EventTagOverride+    , eventTagOverride+    , etoEnabled+    , etoId++    -- ** PlacementsGeneratetagsTagFormats+    , PlacementsGeneratetagsTagFormats (..)++    -- ** AccountUserProFilesListSortField+    , AccountUserProFilesListSortField (..)++    -- ** OperatingSystemVersion+    , OperatingSystemVersion+    , operatingSystemVersion+    , osvMinorVersion+    , osvKind+    , osvOperatingSystem+    , osvMajorVersion+    , osvName+    , osvId++    -- ** InventoryItemsListSortOrder+    , InventoryItemsListSortOrder (..)++    -- ** PlacementStrategiesListSortOrder+    , PlacementStrategiesListSortOrder (..)++    -- ** AccountPermission+    , AccountPermission+    , accountPermission+    , acccKind+    , acccAccountProFiles+    , acccName+    , acccId+    , acccLevel+    , acccPermissionGroupId++    -- ** UserProFile+    , UserProFile+    , userProFile+    , upfEtag+    , upfKind+    , upfAccountName+    , upfProFileId+    , upfUserName+    , upfAccountId+    , upfSubAccountName+    , upfSubAccountId++    -- ** OperatingSystemsListResponse+    , OperatingSystemsListResponse+    , operatingSystemsListResponse+    , oslrKind+    , oslrOperatingSystems++    -- ** ReportDelivery+    , ReportDelivery+    , reportDelivery+    , rdEmailOwner+    , rdRecipients+    , rdMessage+    , rdEmailOwnerDeliveryType++    -- ** TargetableRemarketingList+    , TargetableRemarketingList+    , targetableRemarketingList+    , trlListSize+    , trlLifeSpan+    , trlKind+    , trlAdvertiserId+    , trlAdvertiserIdDimensionValue+    , trlActive+    , trlAccountId+    , trlName+    , trlListSource+    , trlId+    , trlSubAccountId+    , trlDescription++    -- ** ReportsFilesListSortField+    , ReportsFilesListSortField (..)++    -- ** PostalCodesListResponse+    , PostalCodesListResponse+    , postalCodesListResponse+    , pclrKind+    , pclrPostalCodes++    -- ** ChangeLog+    , ChangeLog+    , changeLog+    , chaUserProFileId+    , chaObjectType+    , chaUserProFileName+    , chaKind+    , chaObjectId+    , chaAction+    , chaTransactionId+    , chaOldValue+    , chaAccountId+    , chaNewValue+    , chaFieldName+    , chaId+    , chaSubAccountId+    , chaChangeTime++    -- ** CreativesListSortField+    , CreativesListSortField (..)++    -- ** PlacementStrategy+    , PlacementStrategy+    , placementStrategy+    , psKind+    , psAccountId+    , psName+    , psId++    -- ** FloodlightActivity+    , FloodlightActivity+    , floodlightActivity+    , faCountingMethod+    , faTagString+    , faSecure+    , faExpectedURL+    , faFloodlightActivityGroupTagString+    , faFloodlightConfigurationId+    , faKind+    , faImageTagEnabled+    , faAdvertiserId+    , faAdvertiserIdDimensionValue+    , faSSLCompliant+    , faIdDimensionValue+    , faTagFormat+    , faCacheBustingType+    , faAccountId+    , faName+    , faPublisherTags+    , faFloodlightActivityGroupId+    , faHidden+    , faFloodlightActivityGroupType+    , faDefaultTags+    , faFloodlightActivityGroupName+    , faId+    , faSSLRequired+    , faUserDefinedVariableTypes+    , faSubAccountId+    , faNotes+    , faFloodlightConfigurationIdDimensionValue++    -- ** DayPartTargetingDaysOfWeekItem+    , DayPartTargetingDaysOfWeekItem (..)++    -- ** CreativeRotationWeightCalculationStrategy+    , CreativeRotationWeightCalculationStrategy (..)++    -- ** FilesListScope+    , FilesListScope (..)++    -- ** ContentCategoriesListSortField+    , ContentCategoriesListSortField (..)++    -- ** ProjectAudienceAgeGroup+    , ProjectAudienceAgeGroup (..)++    -- ** PlatformTypesListResponse+    , PlatformTypesListResponse+    , platformTypesListResponse+    , ptlrKind+    , ptlrPlatformTypes++    -- ** AdType+    , AdType (..)++    -- ** LastModifiedInfo+    , LastModifiedInfo+    , lastModifiedInfo+    , lmiTime++    -- ** TargetWindow+    , TargetWindow+    , targetWindow+    , twCustomHTML+    , twTargetWindowOption++    -- ** ChangeLogsListAction+    , ChangeLogsListAction (..)++    -- ** CreativeArtworkType+    , CreativeArtworkType (..)++    -- ** PlacementStatus+    , PlacementStatus (..)++    -- ** AccountPermissionGroup+    , AccountPermissionGroup+    , accountPermissionGroup+    , apgpKind+    , apgpName+    , apgpId++    -- ** Advertiser+    , Advertiser+    , advertiser+    , advdOriginalFloodlightConfigurationId+    , advdStatus+    , advdFloodlightConfigurationId+    , advdKind+    , advdSuspended+    , advdIdDimensionValue+    , advdAccountId+    , advdDefaultEmail+    , advdName+    , advdAdvertiserGroupId+    , advdDefaultClickThroughEventTagId+    , advdId+    , advdSubAccountId+    , advdFloodlightConfigurationIdDimensionValue+    , advdClickThroughURLSuffix++    -- ** ReportScheduleRunsOnDayOfMonth+    , ReportScheduleRunsOnDayOfMonth (..)++    -- ** UserRole+    , UserRole+    , userRole+    , urParentUserRoleId+    , urKind+    , urDefaultUserRole+    , urAccountId+    , urName+    , urId+    , urPermissions+    , urSubAccountId++    -- ** FloodlightActivityUserDefinedVariableTypesItem+    , FloodlightActivityUserDefinedVariableTypesItem (..)++    -- ** EventTagSiteFilterType+    , EventTagSiteFilterType (..)++    -- ** ReportFormat+    , ReportFormat (..)++    -- ** PlacementGroupPlacementGroupType+    , PlacementGroupPlacementGroupType (..)++    -- ** DirectorySitesListResponse+    , DirectorySitesListResponse+    , directorySitesListResponse+    , dslrNextPageToken+    , dslrKind+    , dslrDirectorySites++    -- ** PricingPricingType+    , PricingPricingType (..)++    -- ** PricingSchedulePricingPeriod+    , PricingSchedulePricingPeriod+    , pricingSchedulePricingPeriod+    , psppEndDate+    , psppRateOrCostNanos+    , psppStartDate+    , psppUnits+    , psppPricingComment++    -- ** SubAccountsListSortOrder+    , SubAccountsListSortOrder (..)++    -- ** DirectorySiteContactsListResponse+    , DirectorySiteContactsListResponse+    , directorySiteContactsListResponse+    , dsclrNextPageToken+    , dsclrKind+    , dsclrDirectorySiteContacts++    -- ** Region+    , Region+    , region+    , regRegionCode+    , regKind+    , regName+    , regCountryCode+    , regCountryDartId+    , regDartId++    -- ** AdvertiserGroupsListResponse+    , AdvertiserGroupsListResponse+    , advertiserGroupsListResponse+    , aglrNextPageToken+    , aglrKind+    , aglrAdvertiserGroups++    -- ** AdsListSortOrder+    , AdsListSortOrder (..)++    -- ** ProjectsListSortOrder+    , ProjectsListSortOrder (..)++    -- ** CreativeAssignment+    , CreativeAssignment+    , creativeAssignment+    , caCreativeGroupAssignments+    , caStartTime+    , caWeight+    , caRichMediaExitOverrides+    , caSSLCompliant+    , caCreativeId+    , caClickThroughURL+    , caApplyEventTags+    , caActive+    , caSequence+    , caEndTime+    , caCompanionCreativeOverrides+    , caCreativeIdDimensionValue++    -- ** DimensionFilter+    , DimensionFilter+    , dimensionFilter+    , dfKind+    , dfValue+    , dfDimensionName++    -- ** UserProFileList+    , UserProFileList+    , userProFileList+    , upflEtag+    , upflKind+    , upflItems++    -- ** RemarketingListsListSortField+    , RemarketingListsListSortField (..)++    -- ** FloodlightConfiguration+    , FloodlightConfiguration+    , floodlightConfiguration+    , fcTagSettings+    , fcExposureToConversionEnabled+    , fcInAppAttributionTrackingEnabled+    , fcThirdPartyAuthenticationTokens+    , fcKind+    , fcAdvertiserId+    , fcAnalyticsDataSharingEnabled+    , fcAdvertiserIdDimensionValue+    , fcIdDimensionValue+    , fcLookbackConfiguration+    , fcAccountId+    , fcId+    , fcSSLRequired+    , fcNATuralSearchConversionAttributionOption+    , fcUserDefinedVariableConfigurations+    , fcSubAccountId+    , fcFirstDayOfWeek+    , fcOmnitureSettings+    , fcStandardVariableTypes++    -- ** ReportScheduleRepeatsOnWeekDaysItem+    , ReportScheduleRepeatsOnWeekDaysItem (..)++    -- ** FloodlightActivityGroupsListResponse+    , FloodlightActivityGroupsListResponse+    , floodlightActivityGroupsListResponse+    , faglrNextPageToken+    , faglrKind+    , faglrFloodlightActivityGroups++    -- ** CreativeGroupAssignmentCreativeGroupNumber+    , CreativeGroupAssignmentCreativeGroupNumber (..)++    -- ** CreativeFieldValuesListResponse+    , CreativeFieldValuesListResponse+    , creativeFieldValuesListResponse+    , cfvlrNextPageToken+    , cfvlrKind+    , cfvlrCreativeFieldValues++    -- ** AccountsListSortField+    , AccountsListSortField (..)++    -- ** RichMediaExitOverride+    , RichMediaExitOverride+    , richMediaExitOverride+    , rmeoUseCustomExitURL+    , rmeoExitId+    , rmeoCustomExitURL++    -- ** AdvertisersListStatus+    , AdvertisersListStatus (..)++    -- ** DimensionValueMatchType+    , DimensionValueMatchType (..)++    -- ** SortedDimension+    , SortedDimension+    , sortedDimension+    , sdKind+    , sdSortOrder+    , sdName++    -- ** PlacementGroupsListSortOrder+    , PlacementGroupsListSortOrder (..)++    -- ** CreativeFieldsListResponse+    , CreativeFieldsListResponse+    , creativeFieldsListResponse+    , cflrNextPageToken+    , cflrKind+    , cflrCreativeFields++    -- ** PlacementsGenerateTagsResponse+    , PlacementsGenerateTagsResponse+    , placementsGenerateTagsResponse+    , pgtrKind+    , pgtrPlacementTags++    -- ** CreativeAsset+    , CreativeAsset+    , creativeAsset+    , caaZIndex+    , caaPushdown+    , caaVideoDuration+    , caaOriginalBackup+    , caaWindowMode+    , caaFlashVersion+    , caaPushdownDuration+    , caaSize+    , caaVerticallyLocked+    , caaOffSet+    , caaStreamingServingURL+    , caaZipFilesize+    , caaTransparency+    , caaHideSelectionBoxes+    , caaSSLCompliant+    , caaFileSize+    , caaAssetIdentifier+    , caaDurationType+    , caaProgressiveServingURL+    , caaActive+    , caaRole+    , caaMimeType+    , caaPositionTopUnit+    , caaPositionLeftUnit+    , caaAlignment+    , caaExpandedDimension+    , caaZipFilename+    , caaActionScript3+    , caaDisplayType+    , caaChildAssetType+    , caaCollapsedSize+    , caaId+    , caaBitRate+    , caaCustomStartTimeValue+    , caaStartTimeType+    , caaDuration+    , caaArtworkType+    , caaHideFlashObjects+    , caaDetectedFeatures+    , caaBackupImageExit+    , caaPosition+    , caaHorizontallyLocked++    -- ** AdCompatibility+    , AdCompatibility (..)++    -- ** CreativeFieldValuesListSortField+    , CreativeFieldValuesListSortField (..)++    -- ** PlacementsListResponse+    , PlacementsListResponse+    , placementsListResponse+    , plaNextPageToken+    , plaKind+    , plaPlacements++    -- ** FloodlightActivityGroupsListSortField+    , FloodlightActivityGroupsListSortField (..)++    -- ** OrdersListSortOrder+    , OrdersListSortOrder (..)++    -- ** ReportSchedule+    , ReportSchedule+    , reportSchedule+    , rsEvery+    , rsActive+    , rsRepeats+    , rsStartDate+    , rsExpirationDate+    , rsRunsOnDayOfMonth+    , rsRepeatsOnWeekDays++    -- ** ReportPathToConversionCriteria+    , ReportPathToConversionCriteria+    , reportPathToConversionCriteria+    , rptccReportProperties+    , rptccMetricNames+    , rptccCustomRichMediaEvents+    , rptccDateRange+    , rptccConversionDimensions+    , rptccCustomFloodlightVariables+    , rptccFloodlightConfigId+    , rptccActivityFilters+    , rptccPerInteractionDimensions++    -- ** MetrosListResponse+    , MetrosListResponse+    , metrosListResponse+    , mlrKind+    , mlrMetros++    -- ** AccountAccountProFile+    , AccountAccountProFile (..)++    -- ** OrderDocumentsListResponse+    , OrderDocumentsListResponse+    , orderDocumentsListResponse+    , odlrNextPageToken+    , odlrKind+    , odlrOrderDocuments++    -- ** Recipient+    , Recipient+    , recipient+    , recEmail+    , recKind+    , recDeliveryType++    -- ** CreativeType+    , CreativeType (..)++    -- ** FilesListSortOrder+    , FilesListSortOrder (..)++    -- ** AdvertiserGroupsListSortField+    , AdvertiserGroupsListSortField (..)++    -- ** TargetWindowTargetWindowOption+    , TargetWindowTargetWindowOption (..)++    -- ** DirectorySiteContactsListSortField+    , DirectorySiteContactsListSortField (..)++    -- ** PlacementsListPricingTypes+    , PlacementsListPricingTypes (..)++    -- ** EventTagsListSortOrder+    , EventTagsListSortOrder (..)++    -- ** DirectorySitesListSortField+    , DirectorySitesListSortField (..)++    -- ** Site+    , Site+    , site+    , ssKind+    , ssKeyName+    , ssSiteContacts+    , ssSiteSettings+    , ssIdDimensionValue+    , ssDirectorySiteIdDimensionValue+    , ssAccountId+    , ssName+    , ssDirectorySiteId+    , ssId+    , ssSubAccountId+    , ssApproved++    -- ** ReportCrossDimensionReachCriteriaDimension+    , ReportCrossDimensionReachCriteriaDimension (..)++    -- ** SitesListSortOrder+    , SitesListSortOrder (..)++    -- ** UserDefinedVariableConfiguration+    , UserDefinedVariableConfiguration+    , userDefinedVariableConfiguration+    , udvcReportName+    , udvcDataType+    , udvcVariableType++    -- ** ReportCrossDimensionReachCriteria+    , ReportCrossDimensionReachCriteria+    , reportCrossDimensionReachCriteria+    , rcdrcPivoted+    , rcdrcBreakdown+    , rcdrcDimension+    , rcdrcMetricNames+    , rcdrcDimensionFilters+    , rcdrcDateRange+    , rcdrcOverlapMetricNames++    -- ** FileURLs+    , FileURLs+    , fileURLs+    , fuBrowserURL+    , fuAPIURL++    -- ** CampaignCreativeAssociationsListResponse+    , CampaignCreativeAssociationsListResponse+    , campaignCreativeAssociationsListResponse+    , ccalrCampaignCreativeAssociations+    , ccalrNextPageToken+    , ccalrKind++    -- ** PlacementTagFormatsItem+    , PlacementTagFormatsItem (..)++    -- ** Order+    , Order+    , order+    , oSellerOrderId+    , oSellerOrganizationName+    , oKind+    , oAdvertiserId+    , oPlanningTermId+    , oAccountId+    , oName+    , oSiteNames+    , oLastModifiedInfo+    , oBuyerOrganizationName+    , oId+    , oBuyerInvoiceId+    , oComments+    , oProjectId+    , oSubAccountId+    , oNotes+    , oContacts+    , oSiteId+    , oTermsAndConditions+    , oApproverUserProFileIds++    -- ** CreativeAssetId+    , CreativeAssetId+    , creativeAssetId+    , caiName+    , caiType++    -- ** FrequencyCap+    , FrequencyCap+    , frequencyCap+    , fcImpressions+    , fcDuration++    -- ** File+    , File+    , file+    , filStatus+    , filEtag+    , filKind+    , filURLs+    , filReportId+    , filDateRange+    , filFormat+    , filLastModifiedTime+    , filId+    , filFileName++    -- ** CreativeSettings+    , CreativeSettings+    , creativeSettings+    , csIFrameHeader+    , csIFrameFooter++    -- ** ReportType+    , ReportType (..)++    -- ** CreativeAssetMetadataWarnedValidationRulesItem+    , CreativeAssetMetadataWarnedValidationRulesItem (..)++    -- ** CreativeGroupsListResponse+    , CreativeGroupsListResponse+    , creativeGroupsListResponse+    , cglrCreativeGroups+    , cglrNextPageToken+    , cglrKind++    -- ** AdSlotPaymentSourceType+    , AdSlotPaymentSourceType (..)++    -- ** MobileCarriersListResponse+    , MobileCarriersListResponse+    , mobileCarriersListResponse+    , mclrMobileCarriers+    , mclrKind++    -- ** LandingPagesListResponse+    , LandingPagesListResponse+    , landingPagesListResponse+    , lplrLandingPages+    , lplrKind++    -- ** AccountPermissionAccountProFilesItem+    , AccountPermissionAccountProFilesItem (..)++    -- ** CreativeAssetMetadata+    , CreativeAssetMetadata+    , creativeAssetMetadata+    , camaKind+    , camaAssetIdentifier+    , camaClickTags+    , camaWarnedValidationRules+    , camaDetectedFeatures++    -- ** OmnitureSettings+    , OmnitureSettings+    , omnitureSettings+    , osOmnitureCostDataEnabled+    , osOmnitureIntegrationEnabled++    -- ** ConnectionType+    , ConnectionType+    , connectionType+    , cttKind+    , cttName+    , cttId++    -- ** CreativeCustomEventAdvertiserCustomEventType+    , CreativeCustomEventAdvertiserCustomEventType (..)++    -- ** PlacementGroup+    , PlacementGroup+    , placementGroup+    , plalPlacementStrategyId+    , plalSiteIdDimensionValue+    , plalPricingSchedule+    , plalKind+    , plalCampaignIdDimensionValue+    , plalAdvertiserId+    , plalAdvertiserIdDimensionValue+    , plalCampaignId+    , plalIdDimensionValue+    , plalPlacementGroupType+    , plalContentCategoryId+    , plalDirectorySiteIdDimensionValue+    , plalAccountId+    , plalName+    , plalDirectorySiteId+    , plalCreateInfo+    , plalChildPlacementIds+    , plalLastModifiedInfo+    , plalId+    , plalPrimaryPlacementId+    , plalSubAccountId+    , plalExternalId+    , plalComment+    , plalPrimaryPlacementIdDimensionValue+    , plalSiteId+    , plalArchived++    -- ** EventTag+    , EventTag+    , eventTag+    , etStatus+    , etExcludeFromAdxRequests+    , etEnabledByDefault+    , etKind+    , etCampaignIdDimensionValue+    , etAdvertiserId+    , etURL+    , etAdvertiserIdDimensionValue+    , etSSLCompliant+    , etCampaignId+    , etAccountId+    , etName+    , etURLEscapeLevels+    , etSiteIds+    , etId+    , etSubAccountId+    , etType+    , etSiteFilterType++    -- ** UserRolePermission+    , UserRolePermission+    , userRolePermission+    , useKind+    , useAvailability+    , useName+    , useId+    , usePermissionGroupId++    -- ** ChangeLogsListObjectType+    , ChangeLogsListObjectType (..)++    -- ** OrderContact+    , OrderContact+    , orderContact+    , ocSignatureUserProFileId+    , ocContactName+    , ocContactTitle+    , ocContactType+    , ocContactInfo++    -- ** FloodlightActivitiesGenerateTagResponse+    , FloodlightActivitiesGenerateTagResponse+    , floodlightActivitiesGenerateTagResponse+    , fagtrFloodlightActivityTag+    , fagtrKind++    -- ** DirectorySiteContactAssignment+    , DirectorySiteContactAssignment+    , directorySiteContactAssignment+    , dscaVisibility+    , dscaContactId++    -- ** AdSlot+    , AdSlot+    , adSlot+    , assHeight+    , assPaymentSourceType+    , assLinkedPlacementId+    , assWidth+    , assPrimary+    , assName+    , assComment+    , assCompatibility++    -- ** ThirdPartyTrackingURL+    , ThirdPartyTrackingURL+    , thirdPartyTrackingURL+    , tptuURL+    , tptuThirdPartyURLType++    -- ** PricingCapCostType+    , PricingCapCostType (..)++    -- ** OrderDocument+    , OrderDocument+    , orderDocument+    , odSigned+    , odKind+    , odAdvertiserId+    , odLastSentTime+    , odAmendedOrderDocumentId+    , odLastSentRecipients+    , odEffectiveDate+    , odApprovedByUserProFileIds+    , odAccountId+    , odId+    , odProjectId+    , odTitle+    , odSubAccountId+    , odType+    , odOrderId+    , odCancelled+    , odCreatedInfo++    -- ** Metro+    , Metro+    , metro+    , metMetroCode+    , metKind+    , metName+    , metCountryCode+    , metDmaId+    , metCountryDartId+    , metDartId++    -- ** CreativeAssetDisplayType+    , CreativeAssetDisplayType (..)++    -- ** Placement+    , Placement+    , placement+    , p1Status+    , p1PlacementStrategyId+    , p1TagFormats+    , p1SiteIdDimensionValue+    , p1PricingSchedule+    , p1Size+    , p1Kind+    , p1KeyName+    , p1CampaignIdDimensionValue+    , p1AdvertiserId+    , p1AdvertiserIdDimensionValue+    , p1CampaignId+    , p1IdDimensionValue+    , p1Primary+    , p1LookbackConfiguration+    , p1TagSetting+    , p1ContentCategoryId+    , p1DirectorySiteIdDimensionValue+    , p1AccountId+    , p1PaymentSource+    , p1Name+    , p1DirectorySiteId+    , p1CreateInfo+    , p1LastModifiedInfo+    , p1Id+    , p1SSLRequired+    , p1SubAccountId+    , p1PlacementGroupIdDimensionValue+    , p1ExternalId+    , p1PlacementGroupId+    , p1Comment+    , p1SiteId+    , p1Compatibility+    , p1Archived+    , p1PaymentApproved+    , p1PublisherUpdateInfo++    -- ** FloodlightActivityCountingMethod+    , FloodlightActivityCountingMethod (..)++    -- ** SitesListResponse+    , SitesListResponse+    , sitesListResponse+    , sitNextPageToken+    , sitKind+    , sitSites++    -- ** ContentCategoriesListSortOrder+    , ContentCategoriesListSortOrder (..)++    -- ** CreativeField+    , CreativeField+    , creativeField+    , cffKind+    , cffAdvertiserId+    , cffAdvertiserIdDimensionValue+    , cffAccountId+    , cffName+    , cffId+    , cffSubAccountId++    -- ** AdvertiserStatus+    , AdvertiserStatus (..)++    -- ** DefaultClickThroughEventTagProperties+    , DefaultClickThroughEventTagProperties+    , defaultClickThroughEventTagProperties+    , dctetpOverrideInheritedEventTag+    , dctetpDefaultClickThroughEventTagId++    -- ** ListTargetingExpression+    , ListTargetingExpression+    , listTargetingExpression+    , lteExpression+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude+import           Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get+import           Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get+import           Network.Google.Resource.DFAReporting.AccountPermissionGroups.List+import           Network.Google.Resource.DFAReporting.AccountPermissions.Get+import           Network.Google.Resource.DFAReporting.AccountPermissions.List+import           Network.Google.Resource.DFAReporting.Accounts.Get+import           Network.Google.Resource.DFAReporting.Accounts.List+import           Network.Google.Resource.DFAReporting.Accounts.Patch+import           Network.Google.Resource.DFAReporting.Accounts.Update+import           Network.Google.Resource.DFAReporting.AccountUserProFiles.Get+import           Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert+import           Network.Google.Resource.DFAReporting.AccountUserProFiles.List+import           Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch+import           Network.Google.Resource.DFAReporting.AccountUserProFiles.Update+import           Network.Google.Resource.DFAReporting.Ads.Get+import           Network.Google.Resource.DFAReporting.Ads.Insert+import           Network.Google.Resource.DFAReporting.Ads.List+import           Network.Google.Resource.DFAReporting.Ads.Patch+import           Network.Google.Resource.DFAReporting.Ads.Update+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.Get+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.List+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch+import           Network.Google.Resource.DFAReporting.AdvertiserGroups.Update+import           Network.Google.Resource.DFAReporting.Advertisers.Get+import           Network.Google.Resource.DFAReporting.Advertisers.Insert+import           Network.Google.Resource.DFAReporting.Advertisers.List+import           Network.Google.Resource.DFAReporting.Advertisers.Patch+import           Network.Google.Resource.DFAReporting.Advertisers.Update+import           Network.Google.Resource.DFAReporting.Browsers.List+import           Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert+import           Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List+import           Network.Google.Resource.DFAReporting.Campaigns.Get+import           Network.Google.Resource.DFAReporting.Campaigns.Insert+import           Network.Google.Resource.DFAReporting.Campaigns.List+import           Network.Google.Resource.DFAReporting.Campaigns.Patch+import           Network.Google.Resource.DFAReporting.Campaigns.Update+import           Network.Google.Resource.DFAReporting.ChangeLogs.Get+import           Network.Google.Resource.DFAReporting.ChangeLogs.List+import           Network.Google.Resource.DFAReporting.Cities.List+import           Network.Google.Resource.DFAReporting.ConnectionTypes.Get+import           Network.Google.Resource.DFAReporting.ConnectionTypes.List+import           Network.Google.Resource.DFAReporting.ContentCategories.Delete+import           Network.Google.Resource.DFAReporting.ContentCategories.Get+import           Network.Google.Resource.DFAReporting.ContentCategories.Insert+import           Network.Google.Resource.DFAReporting.ContentCategories.List+import           Network.Google.Resource.DFAReporting.ContentCategories.Patch+import           Network.Google.Resource.DFAReporting.ContentCategories.Update+import           Network.Google.Resource.DFAReporting.Countries.Get+import           Network.Google.Resource.DFAReporting.Countries.List+import           Network.Google.Resource.DFAReporting.CreativeAssets.Insert+import           Network.Google.Resource.DFAReporting.CreativeFields.Delete+import           Network.Google.Resource.DFAReporting.CreativeFields.Get+import           Network.Google.Resource.DFAReporting.CreativeFields.Insert+import           Network.Google.Resource.DFAReporting.CreativeFields.List+import           Network.Google.Resource.DFAReporting.CreativeFields.Patch+import           Network.Google.Resource.DFAReporting.CreativeFields.Update+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.Get+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.List+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch+import           Network.Google.Resource.DFAReporting.CreativeFieldValues.Update+import           Network.Google.Resource.DFAReporting.CreativeGroups.Get+import           Network.Google.Resource.DFAReporting.CreativeGroups.Insert+import           Network.Google.Resource.DFAReporting.CreativeGroups.List+import           Network.Google.Resource.DFAReporting.CreativeGroups.Patch+import           Network.Google.Resource.DFAReporting.CreativeGroups.Update+import           Network.Google.Resource.DFAReporting.Creatives.Get+import           Network.Google.Resource.DFAReporting.Creatives.Insert+import           Network.Google.Resource.DFAReporting.Creatives.List+import           Network.Google.Resource.DFAReporting.Creatives.Patch+import           Network.Google.Resource.DFAReporting.Creatives.Update+import           Network.Google.Resource.DFAReporting.DimensionValues.Query+import           Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get+import           Network.Google.Resource.DFAReporting.DirectorySiteContacts.List+import           Network.Google.Resource.DFAReporting.DirectorySites.Get+import           Network.Google.Resource.DFAReporting.DirectorySites.Insert+import           Network.Google.Resource.DFAReporting.DirectorySites.List+import           Network.Google.Resource.DFAReporting.EventTags.Delete+import           Network.Google.Resource.DFAReporting.EventTags.Get+import           Network.Google.Resource.DFAReporting.EventTags.Insert+import           Network.Google.Resource.DFAReporting.EventTags.List+import           Network.Google.Resource.DFAReporting.EventTags.Patch+import           Network.Google.Resource.DFAReporting.EventTags.Update+import           Network.Google.Resource.DFAReporting.Files.Get+import           Network.Google.Resource.DFAReporting.Files.List+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Delete+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Get+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Insert+import           Network.Google.Resource.DFAReporting.FloodlightActivities.List+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Patch+import           Network.Google.Resource.DFAReporting.FloodlightActivities.Update+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Delete+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch+import           Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update+import           Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get+import           Network.Google.Resource.DFAReporting.FloodlightConfigurations.List+import           Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch+import           Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update+import           Network.Google.Resource.DFAReporting.InventoryItems.Get+import           Network.Google.Resource.DFAReporting.InventoryItems.List+import           Network.Google.Resource.DFAReporting.LandingPages.Delete+import           Network.Google.Resource.DFAReporting.LandingPages.Get+import           Network.Google.Resource.DFAReporting.LandingPages.Insert+import           Network.Google.Resource.DFAReporting.LandingPages.List+import           Network.Google.Resource.DFAReporting.LandingPages.Patch+import           Network.Google.Resource.DFAReporting.LandingPages.Update+import           Network.Google.Resource.DFAReporting.Metros.List+import           Network.Google.Resource.DFAReporting.MobileCarriers.Get+import           Network.Google.Resource.DFAReporting.MobileCarriers.List+import           Network.Google.Resource.DFAReporting.OperatingSystems.Get+import           Network.Google.Resource.DFAReporting.OperatingSystems.List+import           Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get+import           Network.Google.Resource.DFAReporting.OperatingSystemVersions.List+import           Network.Google.Resource.DFAReporting.OrderDocuments.Get+import           Network.Google.Resource.DFAReporting.OrderDocuments.List+import           Network.Google.Resource.DFAReporting.Orders.Get+import           Network.Google.Resource.DFAReporting.Orders.List+import           Network.Google.Resource.DFAReporting.PlacementGroups.Get+import           Network.Google.Resource.DFAReporting.PlacementGroups.Insert+import           Network.Google.Resource.DFAReporting.PlacementGroups.List+import           Network.Google.Resource.DFAReporting.PlacementGroups.Patch+import           Network.Google.Resource.DFAReporting.PlacementGroups.Update+import           Network.Google.Resource.DFAReporting.Placements.Generatetags+import           Network.Google.Resource.DFAReporting.Placements.Get+import           Network.Google.Resource.DFAReporting.Placements.Insert+import           Network.Google.Resource.DFAReporting.Placements.List+import           Network.Google.Resource.DFAReporting.Placements.Patch+import           Network.Google.Resource.DFAReporting.Placements.Update+import           Network.Google.Resource.DFAReporting.PlacementStrategies.Delete+import           Network.Google.Resource.DFAReporting.PlacementStrategies.Get+import           Network.Google.Resource.DFAReporting.PlacementStrategies.Insert+import           Network.Google.Resource.DFAReporting.PlacementStrategies.List+import           Network.Google.Resource.DFAReporting.PlacementStrategies.Patch+import           Network.Google.Resource.DFAReporting.PlacementStrategies.Update+import           Network.Google.Resource.DFAReporting.PlatformTypes.Get+import           Network.Google.Resource.DFAReporting.PlatformTypes.List+import           Network.Google.Resource.DFAReporting.PostalCodes.Get+import           Network.Google.Resource.DFAReporting.PostalCodes.List+import           Network.Google.Resource.DFAReporting.Projects.Get+import           Network.Google.Resource.DFAReporting.Projects.List+import           Network.Google.Resource.DFAReporting.Regions.List+import           Network.Google.Resource.DFAReporting.RemarketingLists.Get+import           Network.Google.Resource.DFAReporting.RemarketingLists.Insert+import           Network.Google.Resource.DFAReporting.RemarketingLists.List+import           Network.Google.Resource.DFAReporting.RemarketingLists.Patch+import           Network.Google.Resource.DFAReporting.RemarketingLists.Update+import           Network.Google.Resource.DFAReporting.RemarketingListShares.Get+import           Network.Google.Resource.DFAReporting.RemarketingListShares.Patch+import           Network.Google.Resource.DFAReporting.RemarketingListShares.Update+import           Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query+import           Network.Google.Resource.DFAReporting.Reports.Delete+import           Network.Google.Resource.DFAReporting.Reports.Files.Get+import           Network.Google.Resource.DFAReporting.Reports.Files.List+import           Network.Google.Resource.DFAReporting.Reports.Get+import           Network.Google.Resource.DFAReporting.Reports.Insert+import           Network.Google.Resource.DFAReporting.Reports.List+import           Network.Google.Resource.DFAReporting.Reports.Patch+import           Network.Google.Resource.DFAReporting.Reports.Run+import           Network.Google.Resource.DFAReporting.Reports.Update+import           Network.Google.Resource.DFAReporting.Sites.Get+import           Network.Google.Resource.DFAReporting.Sites.Insert+import           Network.Google.Resource.DFAReporting.Sites.List+import           Network.Google.Resource.DFAReporting.Sites.Patch+import           Network.Google.Resource.DFAReporting.Sites.Update+import           Network.Google.Resource.DFAReporting.Sizes.Get+import           Network.Google.Resource.DFAReporting.Sizes.Insert+import           Network.Google.Resource.DFAReporting.Sizes.List+import           Network.Google.Resource.DFAReporting.SubAccounts.Get+import           Network.Google.Resource.DFAReporting.SubAccounts.Insert+import           Network.Google.Resource.DFAReporting.SubAccounts.List+import           Network.Google.Resource.DFAReporting.SubAccounts.Patch+import           Network.Google.Resource.DFAReporting.SubAccounts.Update+import           Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get+import           Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List+import           Network.Google.Resource.DFAReporting.UserProFiles.Get+import           Network.Google.Resource.DFAReporting.UserProFiles.List+import           Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get+import           Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List+import           Network.Google.Resource.DFAReporting.UserRolePermissions.Get+import           Network.Google.Resource.DFAReporting.UserRolePermissions.List+import           Network.Google.Resource.DFAReporting.UserRoles.Delete+import           Network.Google.Resource.DFAReporting.UserRoles.Get+import           Network.Google.Resource.DFAReporting.UserRoles.Insert+import           Network.Google.Resource.DFAReporting.UserRoles.List+import           Network.Google.Resource.DFAReporting.UserRoles.Patch+import           Network.Google.Resource.DFAReporting.UserRoles.Update++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the DCM/DFA Reporting And Trafficking API service.+type DFAReportingAPI =+     InventoryItemsListResource :<|>+       InventoryItemsGetResource+       :<|> PlacementStrategiesInsertResource+       :<|> PlacementStrategiesListResource+       :<|> PlacementStrategiesPatchResource+       :<|> PlacementStrategiesGetResource+       :<|> PlacementStrategiesDeleteResource+       :<|> PlacementStrategiesUpdateResource+       :<|> CampaignCreativeAssociationsInsertResource+       :<|> CampaignCreativeAssociationsListResource+       :<|> RemarketingListSharesPatchResource+       :<|> RemarketingListSharesGetResource+       :<|> RemarketingListSharesUpdateResource+       :<|> LandingPagesInsertResource+       :<|> LandingPagesListResource+       :<|> LandingPagesPatchResource+       :<|> LandingPagesGetResource+       :<|> LandingPagesDeleteResource+       :<|> LandingPagesUpdateResource+       :<|> MobileCarriersListResource+       :<|> MobileCarriersGetResource+       :<|> CreativeGroupsInsertResource+       :<|> CreativeGroupsListResource+       :<|> CreativeGroupsPatchResource+       :<|> CreativeGroupsGetResource+       :<|> CreativeGroupsUpdateResource+       :<|> RemarketingListsInsertResource+       :<|> RemarketingListsListResource+       :<|> RemarketingListsPatchResource+       :<|> RemarketingListsGetResource+       :<|> RemarketingListsUpdateResource+       :<|> AccountActiveAdSummariesGetResource+       :<|> UserRolePermissionGroupsListResource+       :<|> UserRolePermissionGroupsGetResource+       :<|> AccountsListResource+       :<|> AccountsPatchResource+       :<|> AccountsGetResource+       :<|> AccountsUpdateResource+       :<|> ReportsCompatibleFieldsQueryResource+       :<|> ReportsFilesListResource+       :<|> ReportsFilesGetResource+       :<|> ReportsInsertResource+       :<|> ReportsListResource+       :<|> ReportsPatchResource+       :<|> ReportsGetResource+       :<|> ReportsRunResource+       :<|> ReportsDeleteResource+       :<|> ReportsUpdateResource+       :<|> CampaignsInsertResource+       :<|> CampaignsListResource+       :<|> CampaignsPatchResource+       :<|> CampaignsGetResource+       :<|> CampaignsUpdateResource+       :<|> AccountUserProFilesInsertResource+       :<|> AccountUserProFilesListResource+       :<|> AccountUserProFilesPatchResource+       :<|> AccountUserProFilesGetResource+       :<|> AccountUserProFilesUpdateResource+       :<|> CreativesInsertResource+       :<|> CreativesListResource+       :<|> CreativesPatchResource+       :<|> CreativesGetResource+       :<|> CreativesUpdateResource+       :<|> DimensionValuesQueryResource+       :<|> RegionsListResource+       :<|> FloodlightConfigurationsListResource+       :<|> FloodlightConfigurationsPatchResource+       :<|> FloodlightConfigurationsGetResource+       :<|> FloodlightConfigurationsUpdateResource+       :<|> FloodlightActivitiesInsertResource+       :<|> FloodlightActivitiesListResource+       :<|> FloodlightActivitiesPatchResource+       :<|> FloodlightActivitiesGetResource+       :<|> FloodlightActivitiesGeneratetagResource+       :<|> FloodlightActivitiesDeleteResource+       :<|> FloodlightActivitiesUpdateResource+       :<|> UserRolesInsertResource+       :<|> UserRolesListResource+       :<|> UserRolesPatchResource+       :<|> UserRolesGetResource+       :<|> UserRolesDeleteResource+       :<|> UserRolesUpdateResource+       :<|> AccountPermissionGroupsListResource+       :<|> AccountPermissionGroupsGetResource+       :<|> AdvertisersInsertResource+       :<|> AdvertisersListResource+       :<|> AdvertisersPatchResource+       :<|> AdvertisersGetResource+       :<|> AdvertisersUpdateResource+       :<|> CountriesListResource+       :<|> CountriesGetResource+       :<|> AccountPermissionsListResource+       :<|> AccountPermissionsGetResource+       :<|> UserProFilesListResource+       :<|> UserProFilesGetResource+       :<|> OperatingSystemVersionsListResource+       :<|> OperatingSystemVersionsGetResource+       :<|> ChangeLogsListResource+       :<|> ChangeLogsGetResource+       :<|> CitiesListResource+       :<|> TargetableRemarketingListsListResource+       :<|> TargetableRemarketingListsGetResource+       :<|> PlatformTypesListResource+       :<|> PlatformTypesGetResource+       :<|> BrowsersListResource+       :<|> ContentCategoriesInsertResource+       :<|> ContentCategoriesListResource+       :<|> ContentCategoriesPatchResource+       :<|> ContentCategoriesGetResource+       :<|> ContentCategoriesDeleteResource+       :<|> ContentCategoriesUpdateResource+       :<|> PlacementsInsertResource+       :<|> PlacementsGeneratetagsResource+       :<|> PlacementsListResource+       :<|> PlacementsPatchResource+       :<|> PlacementsGetResource+       :<|> PlacementsUpdateResource+       :<|> MetrosListResource+       :<|> OrderDocumentsListResource+       :<|> OrderDocumentsGetResource+       :<|> CreativeFieldsInsertResource+       :<|> CreativeFieldsListResource+       :<|> CreativeFieldsPatchResource+       :<|> CreativeFieldsGetResource+       :<|> CreativeFieldsDeleteResource+       :<|> CreativeFieldsUpdateResource+       :<|> EventTagsInsertResource+       :<|> EventTagsListResource+       :<|> EventTagsPatchResource+       :<|> EventTagsGetResource+       :<|> EventTagsDeleteResource+       :<|> EventTagsUpdateResource+       :<|> FilesListResource+       :<|> FilesGetResource+       :<|> UserRolePermissionsListResource+       :<|> UserRolePermissionsGetResource+       :<|> PlacementGroupsInsertResource+       :<|> PlacementGroupsListResource+       :<|> PlacementGroupsPatchResource+       :<|> PlacementGroupsGetResource+       :<|> PlacementGroupsUpdateResource+       :<|> OrdersListResource+       :<|> OrdersGetResource+       :<|> ConnectionTypesListResource+       :<|> ConnectionTypesGetResource+       :<|> CreativeAssetsInsertResource+       :<|> SitesInsertResource+       :<|> SitesListResource+       :<|> SitesPatchResource+       :<|> SitesGetResource+       :<|> SitesUpdateResource+       :<|> PostalCodesListResource+       :<|> PostalCodesGetResource+       :<|> OperatingSystemsListResource+       :<|> OperatingSystemsGetResource+       :<|> SizesInsertResource+       :<|> SizesListResource+       :<|> SizesGetResource+       :<|> AdsInsertResource+       :<|> AdsListResource+       :<|> AdsPatchResource+       :<|> AdsGetResource+       :<|> AdsUpdateResource+       :<|> ProjectsListResource+       :<|> ProjectsGetResource+       :<|> SubAccountsInsertResource+       :<|> SubAccountsListResource+       :<|> SubAccountsPatchResource+       :<|> SubAccountsGetResource+       :<|> SubAccountsUpdateResource+       :<|> CreativeFieldValuesInsertResource+       :<|> CreativeFieldValuesListResource+       :<|> CreativeFieldValuesPatchResource+       :<|> CreativeFieldValuesGetResource+       :<|> CreativeFieldValuesDeleteResource+       :<|> CreativeFieldValuesUpdateResource+       :<|> DirectorySitesInsertResource+       :<|> DirectorySitesListResource+       :<|> DirectorySitesGetResource+       :<|> AdvertiserGroupsInsertResource+       :<|> AdvertiserGroupsListResource+       :<|> AdvertiserGroupsPatchResource+       :<|> AdvertiserGroupsGetResource+       :<|> AdvertiserGroupsDeleteResource+       :<|> AdvertiserGroupsUpdateResource+       :<|> DirectorySiteContactsListResource+       :<|> DirectorySiteContactsGetResource+       :<|> FloodlightActivityGroupsInsertResource+       :<|> FloodlightActivityGroupsListResource+       :<|> FloodlightActivityGroupsPatchResource+       :<|> FloodlightActivityGroupsGetResource+       :<|> FloodlightActivityGroupsDeleteResource+       :<|> FloodlightActivityGroupsUpdateResource
+ gen/Network/Google/DFAReporting/Types.hs view
@@ -0,0 +1,2536 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DFAReporting.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.DFAReporting.Types+    (+    -- * Service Configuration+      dFAReportingService++    -- * OAuth Scopes+    , dfareportingScope+    , dfatraffickingScope++    -- * PlacementsListSortOrder+    , PlacementsListSortOrder (..)++    -- * DateRangeRelativeDateRange+    , DateRangeRelativeDateRange (..)++    -- * AdvertisersListSortField+    , AdvertisersListSortField (..)++    -- * CreativeFieldsListSortOrder+    , CreativeFieldsListSortOrder (..)++    -- * FileList+    , FileList+    , fileList+    , flEtag+    , flNextPageToken+    , flKind+    , flItems++    -- * OptimizationActivity+    , OptimizationActivity+    , optimizationActivity+    , oaWeight+    , oaFloodlightActivityId+    , oaFloodlightActivityIdDimensionValue++    -- * ListPopulationClause+    , ListPopulationClause+    , listPopulationClause+    , lpcTerms++    -- * CreativeCustomEvent+    , CreativeCustomEvent+    , creativeCustomEvent+    , cceAdvertiserCustomEventType+    , cceAdvertiserCustomEventName+    , cceExitURL+    , cceTargetType+    , ccePopupWindowProperties+    , cceVideoReportingId+    , cceId+    , cceArtworkLabel+    , cceArtworkType++    -- * ClickTag+    , ClickTag+    , clickTag+    , ctValue+    , ctName+    , ctEventName++    -- * CampaignsListResponse+    , CampaignsListResponse+    , campaignsListResponse+    , clrNextPageToken+    , clrCampaigns+    , clrKind++    -- * GeoTargeting+    , GeoTargeting+    , geoTargeting+    , gtRegions+    , gtCountries+    , gtCities+    , gtMetros+    , gtExcludeCountries+    , gtPostalCodes++    -- * UserRolesListSortField+    , UserRolesListSortField (..)++    -- * ReachReportCompatibleFields+    , ReachReportCompatibleFields+    , reachReportCompatibleFields+    , rrcfMetrics+    , rrcfReachByFrequencyMetrics+    , rrcfKind+    , rrcfDimensionFilters+    , rrcfPivotedActivityMetrics+    , rrcfDimensions++    -- * Browser+    , Browser+    , browser+    , bMinorVersion+    , bKind+    , bBrowserVersionId+    , bMajorVersion+    , bName+    , bDartId++    -- * FloodlightActivityTagFormat+    , FloodlightActivityTagFormat (..)++    -- * OrderDocumentsListSortOrder+    , OrderDocumentsListSortOrder (..)++    -- * CreativeGroupAssignment+    , CreativeGroupAssignment+    , creativeGroupAssignment+    , cgaCreativeGroupNumber+    , cgaCreativeGroupId++    -- * CreativeAssetRole+    , CreativeAssetRole (..)++    -- * RecipientDeliveryType+    , RecipientDeliveryType (..)++    -- * ThirdPartyTrackingURLThirdPartyURLType+    , ThirdPartyTrackingURLThirdPartyURLType (..)++    -- * DirectorySiteSettings+    , DirectorySiteSettings+    , directorySiteSettings+    , dssInterstitialPlacementAccepted+    , dssDfpSettings+    , dssVerificationTagOptOut+    , dssActiveViewOptOut+    , dssVideoActiveViewOptOut+    , dssInstreamVideoPlacementAccepted+    , dssNielsenOCROptOut++    -- * TargetableRemarketingListsListSortOrder+    , TargetableRemarketingListsListSortOrder (..)++    -- * CreativeAssetPositionLeftUnit+    , CreativeAssetPositionLeftUnit (..)++    -- * PricingScheduleCapCostOption+    , PricingScheduleCapCostOption (..)++    -- * ListPopulationRule+    , ListPopulationRule+    , listPopulationRule+    , lprFloodlightActivityName+    , lprFloodlightActivityId+    , lprListPopulationClauses++    -- * UserRolePermissionAvailability+    , UserRolePermissionAvailability (..)++    -- * DirectorySiteContactAssignmentVisibility+    , DirectorySiteContactAssignmentVisibility (..)++    -- * SizesListResponse+    , SizesListResponse+    , sizesListResponse+    , slrKind+    , slrSizes++    -- * PlacementCompatibility+    , PlacementCompatibility (..)++    -- * CreativeRotation+    , CreativeRotation+    , creativeRotation+    , crWeightCalculationStrategy+    , crCreativeAssignments+    , crCreativeOptimizationConfigurationId+    , crType++    -- * TechnologyTargeting+    , TechnologyTargeting+    , technologyTargeting+    , ttMobileCarriers+    , ttOperatingSystemVersions+    , ttPlatformTypes+    , ttBrowsers+    , ttConnectionTypes+    , ttOperatingSystems++    -- * ListPopulationTermOperator+    , ListPopulationTermOperator (..)++    -- * PlacementsListPaymentSource+    , PlacementsListPaymentSource (..)++    -- * InventoryItem+    , InventoryItem+    , inventoryItem+    , iiPlacementStrategyId+    , iiEstimatedClickThroughRate+    , iiPricing+    , iiKind+    , iiAdvertiserId+    , iiRfpId+    , iiContentCategoryId+    , iiInPlan+    , iiAccountId+    , iiName+    , iiAdSlots+    , iiNegotiationChannelId+    , iiLastModifiedInfo+    , iiId+    , iiEstimatedConversionRate+    , iiProjectId+    , iiSubAccountId+    , iiOrderId+    , iiSiteId++    -- * ProjectsListResponse+    , ProjectsListResponse+    , projectsListResponse+    , plrNextPageToken+    , plrKind+    , plrProjects++    -- * AdsListResponse+    , AdsListResponse+    , adsListResponse+    , alrNextPageToken+    , alrKind+    , alrAds++    -- * ReportsListSortField+    , ReportsListSortField (..)++    -- * AdSlotCompatibility+    , AdSlotCompatibility (..)++    -- * ListPopulationTerm+    , ListPopulationTerm+    , listPopulationTerm+    , lptOperator+    , lptValue+    , lptVariableFriendlyName+    , lptNegation+    , lptVariableName+    , lptRemarketingListId+    , lptType+    , lptContains++    -- * TagSettings+    , TagSettings+    , tagSettings+    , tsDynamicTagEnabled+    , tsImageTagEnabled++    -- * SubAccountsListResponse+    , SubAccountsListResponse+    , subAccountsListResponse+    , salrNextPageToken+    , salrKind+    , salrSubAccounts++    -- * CampaignsListSortField+    , CampaignsListSortField (..)++    -- * DirectorySiteContact+    , DirectorySiteContact+    , directorySiteContact+    , dscEmail+    , dscPhone+    , dscLastName+    , dscKind+    , dscAddress+    , dscRole+    , dscFirstName+    , dscId+    , dscTitle+    , dscType++    -- * RegionsListResponse+    , RegionsListResponse+    , regionsListResponse+    , rlrKind+    , rlrRegions++    -- * FloodlightActivityDynamicTag+    , FloodlightActivityDynamicTag+    , floodlightActivityDynamicTag+    , fadtTag+    , fadtName+    , fadtId++    -- * AccountUserProFileTraffickerType+    , AccountUserProFileTraffickerType (..)++    -- * DirectorySite+    , DirectorySite+    , directorySite+    , dsCurrencyId+    , dsSettings+    , dsInterstitialTagFormats+    , dsKind+    , dsURL+    , dsIdDimensionValue+    , dsInpageTagFormats+    , dsActive+    , dsName+    , dsId+    , dsCountryId+    , dsContactAssignments+    , dsDescription+    , dsParentId++    -- * CreativeAssetMetadataDetectedFeaturesItem+    , CreativeAssetMetadataDetectedFeaturesItem (..)++    -- * ReportFloodlightCriteriaReportProperties+    , ReportFloodlightCriteriaReportProperties+    , reportFloodlightCriteriaReportProperties+    , rfcrpIncludeUnattributedIPConversions+    , rfcrpIncludeUnattributedCookieConversions+    , rfcrpIncludeAttributedIPConversions++    -- * FloodlightActivityGroup+    , FloodlightActivityGroup+    , floodlightActivityGroup+    , fagTagString+    , fagFloodlightConfigurationId+    , fagKind+    , fagAdvertiserId+    , fagAdvertiserIdDimensionValue+    , fagIdDimensionValue+    , fagAccountId+    , fagName+    , fagId+    , fagSubAccountId+    , fagType+    , fagFloodlightConfigurationIdDimensionValue++    -- * AdsListCompatibility+    , AdsListCompatibility (..)++    -- * CrossDimensionReachReportCompatibleFields+    , CrossDimensionReachReportCompatibleFields+    , crossDimensionReachReportCompatibleFields+    , cdrrcfMetrics+    , cdrrcfBreakdown+    , cdrrcfKind+    , cdrrcfDimensionFilters+    , cdrrcfOverlapMetrics++    -- * FsCommand+    , FsCommand+    , fsCommand+    , fcPositionOption+    , fcLeft+    , fcWindowHeight+    , fcWindowWidth+    , fcTop++    -- * PlacementAssignment+    , PlacementAssignment+    , placementAssignment+    , paPlacementId+    , paPlacementIdDimensionValue+    , paActive+    , paSSLRequired++    -- * CreativeFieldValue+    , CreativeFieldValue+    , creativeFieldValue+    , cfvKind+    , cfvValue+    , cfvId++    -- * EventTagStatus+    , EventTagStatus (..)++    -- * SitesListSortField+    , SitesListSortField (..)++    -- * DimensionValueRequest+    , DimensionValueRequest+    , dimensionValueRequest+    , dvrKind+    , dvrEndDate+    , dvrFilters+    , dvrStartDate+    , dvrDimensionName++    -- * EventTagsListEventTagTypes+    , EventTagsListEventTagTypes (..)++    -- * FloodlightConfigurationsListResponse+    , FloodlightConfigurationsListResponse+    , floodlightConfigurationsListResponse+    , fclrKind+    , fclrFloodlightConfigurations++    -- * FloodlightActivitiesListResponse+    , FloodlightActivitiesListResponse+    , floodlightActivitiesListResponse+    , falrNextPageToken+    , falrKind+    , falrFloodlightActivities++    -- * FileStatus+    , FileStatus (..)++    -- * CreativeCustomEventArtworkType+    , CreativeCustomEventArtworkType (..)++    -- * CreativeFieldAssignment+    , CreativeFieldAssignment+    , creativeFieldAssignment+    , cfaCreativeFieldId+    , cfaCreativeFieldValueId++    -- * AdvertiserGroup+    , AdvertiserGroup+    , advertiserGroup+    , agKind+    , agAccountId+    , agName+    , agId++    -- * TagData+    , TagData+    , tagData+    , tdClickTag+    , tdFormat+    , tdCreativeId+    , tdAdId+    , tdImpressionTag++    -- * DayPartTargeting+    , DayPartTargeting+    , dayPartTargeting+    , dptDaysOfWeek+    , dptHoursOfDay+    , dptUserLocalTime++    -- * CreativeOptimizationConfiguration+    , CreativeOptimizationConfiguration+    , creativeOptimizationConfiguration+    , cocOptimizationModel+    , cocName+    , cocOptimizationActivitys+    , cocId++    -- * ReportCriteria+    , ReportCriteria+    , reportCriteria+    , rcMetricNames+    , rcCustomRichMediaEvents+    , rcDimensionFilters+    , rcActivities+    , rcDateRange+    , rcDimensions++    -- * FloodlightConfigurationNATuralSearchConversionAttributionOption+    , FloodlightConfigurationNATuralSearchConversionAttributionOption (..)++    -- * PlacementStrategiesListResponse+    , PlacementStrategiesListResponse+    , placementStrategiesListResponse+    , pslrPlacementStrategies+    , pslrNextPageToken+    , pslrKind++    -- * CreativeAssetArtworkType+    , CreativeAssetArtworkType (..)++    -- * SubAccount+    , SubAccount+    , subAccount+    , saKind+    , saAvailablePermissionIds+    , saAccountId+    , saName+    , saId++    -- * InventoryItemsListResponse+    , InventoryItemsListResponse+    , inventoryItemsListResponse+    , iilrInventoryItems+    , iilrNextPageToken+    , iilrKind++    -- * Ad+    , Ad+    , ad+    , aCreativeGroupAssignments+    , aGeoTargeting+    , aCreativeRotation+    , aTechnologyTargeting+    , aAudienceSegmentId+    , aDayPartTargeting+    , aSize+    , aStartTime+    , aKind+    , aClickThroughURLSuffixProperties+    , aCampaignIdDimensionValue+    , aAdvertiserId+    , aAdvertiserIdDimensionValue+    , aSSLCompliant+    , aCampaignId+    , aIdDimensionValue+    , aClickThroughURL+    , aDeliverySchedule+    , aEventTagOverrides+    , aActive+    , aAccountId+    , aName+    , aKeyValueTargetingExpression+    , aEndTime+    , aCreateInfo+    , aLastModifiedInfo+    , aId+    , aSSLRequired+    , aComments+    , aSubAccountId+    , aType+    , aRemarketingListExpression+    , aDynamicClickTracker+    , aCompatibility+    , aArchived+    , aDefaultClickThroughEventTagProperties+    , aPlacementAssignments++    -- * FloodlightActivitiesListSortOrder+    , FloodlightActivitiesListSortOrder (..)++    -- * Project+    , Project+    , project+    , pTargetClicks+    , pClientBillingCode+    , pTargetCpmNanos+    , pTargetConversions+    , pBudget+    , pKind+    , pAdvertiserId+    , pEndDate+    , pOverview+    , pTargetImpressions+    , pStartDate+    , pTargetCpcNanos+    , pAccountId+    , pName+    , pLastModifiedInfo+    , pId+    , pAudienceAgeGroup+    , pSubAccountId+    , pAudienceGender+    , pClientName+    , pTargetCpaNanos++    -- * FileFormat+    , FileFormat (..)++    -- * PricingSchedulePricingType+    , PricingSchedulePricingType (..)++    -- * ReportFloodlightCriteria+    , ReportFloodlightCriteria+    , reportFloodlightCriteria+    , rfcReportProperties+    , rfcMetricNames+    , rfcCustomRichMediaEvents+    , rfcDimensionFilters+    , rfcDateRange+    , rfcFloodlightConfigId+    , rfcDimensions++    -- * CreativeCustomEventTargetType+    , CreativeCustomEventTargetType (..)++    -- * ReportsListScope+    , ReportsListScope (..)++    -- * Size+    , Size+    , size+    , sHeight+    , sKind+    , sWidth+    , sIab+    , sId++    -- * CreativeAssetDurationType+    , CreativeAssetDurationType (..)++    -- * TargetableRemarketingListListSource+    , TargetableRemarketingListListSource (..)++    -- * ObjectFilter+    , ObjectFilter+    , objectFilter+    , ofStatus+    , ofKind+    , ofObjectIds++    -- * CreativeGroupsListSortField+    , CreativeGroupsListSortField (..)++    -- * ReportsConfiguration+    , ReportsConfiguration+    , reportsConfiguration+    , rcExposureToConversionEnabled+    , rcReportGenerationTimeZoneId+    , rcLookbackConfiguration++    -- * PricingSchedule+    , PricingSchedule+    , pricingSchedule+    , psTestingStartDate+    , psFloodlightActivityId+    , psEndDate+    , psDisregardOverdelivery+    , psStartDate+    , psCapCostOption+    , psPricingType+    , psPricingPeriods+    , psFlighted++    -- * PostalCode+    , PostalCode+    , postalCode+    , pcKind+    , pcCode+    , pcCountryCode+    , pcId+    , pcCountryDartId++    -- * AccountPermissionsListResponse+    , AccountPermissionsListResponse+    , accountPermissionsListResponse+    , aplrKind+    , aplrAccountPermissions++    -- * Country+    , Country+    , country+    , cKind+    , cName+    , cCountryCode+    , cDartId+    , cSSLEnabled++    -- * PlacementsListSortField+    , PlacementsListSortField (..)++    -- * CreativeBackupImageFeaturesItem+    , CreativeBackupImageFeaturesItem (..)++    -- * OperatingSystemVersionsListResponse+    , OperatingSystemVersionsListResponse+    , operatingSystemVersionsListResponse+    , osvlrKind+    , osvlrOperatingSystemVersions++    -- * ClickThroughURLSuffixProperties+    , ClickThroughURLSuffixProperties+    , clickThroughURLSuffixProperties+    , ctuspOverrideInheritedSuffix+    , ctuspClickThroughURLSuffix++    -- * AdvertisersListSortOrder+    , AdvertisersListSortOrder (..)++    -- * CreativeFieldsListSortField+    , CreativeFieldsListSortField (..)++    -- * Pricing+    , Pricing+    , pricing+    , priEndDate+    , priStartDate+    , priGroupType+    , priPricingType+    , priFlights+    , priCapCostType++    -- * AudienceSegmentGroup+    , AudienceSegmentGroup+    , audienceSegmentGroup+    , asgAudienceSegments+    , asgName+    , asgId++    -- * OperatingSystem+    , OperatingSystem+    , operatingSystem+    , osDesktop+    , osKind+    , osName+    , osMobile+    , osDartId++    -- * Flight+    , Flight+    , flight+    , fRateOrCost+    , fEndDate+    , fStartDate+    , fUnits++    -- * UserDefinedVariableConfigurationVariableType+    , UserDefinedVariableConfigurationVariableType (..)++    -- * FsCommandPositionOption+    , FsCommandPositionOption (..)++    -- * CitiesListResponse+    , CitiesListResponse+    , citiesListResponse+    , citKind+    , citCities++    -- * Dimension+    , Dimension+    , dimension+    , dKind+    , dName++    -- * ReportReachCriteria+    , ReportReachCriteria+    , reportReachCriteria+    , rrcReachByFrequencyMetricNames+    , rrcEnableAllDimensionCombinations+    , rrcMetricNames+    , rrcCustomRichMediaEvents+    , rrcDimensionFilters+    , rrcActivities+    , rrcDateRange+    , rrcDimensions++    -- * CustomRichMediaEvents+    , CustomRichMediaEvents+    , customRichMediaEvents+    , crmeKind+    , crmeFilteredEventIds++    -- * UserRolesListSortOrder+    , UserRolesListSortOrder (..)++    -- * PlacementsListCompatibilities+    , PlacementsListCompatibilities (..)++    -- * TargetableRemarketingListsListResponse+    , TargetableRemarketingListsListResponse+    , targetableRemarketingListsListResponse+    , trllrNextPageToken+    , trllrKind+    , trllrTargetableRemarketingLists++    -- * OrderDocumentsListSortField+    , OrderDocumentsListSortField (..)++    -- * CreativeCompatibilityItem+    , CreativeCompatibilityItem (..)++    -- * ChangeLogsListResponse+    , ChangeLogsListResponse+    , changeLogsListResponse+    , cllrNextPageToken+    , cllrKind+    , cllrChangeLogs++    -- * ReportDeliveryEmailOwnerDeliveryType+    , ReportDeliveryEmailOwnerDeliveryType (..)++    -- * SiteContactContactType+    , SiteContactContactType (..)++    -- * AccountUserProFile+    , AccountUserProFile+    , accountUserProFile+    , aupfEmail+    , aupfUserRoleFilter+    , aupfAdvertiserFilter+    , aupfUserRoleId+    , aupfKind+    , aupfLocale+    , aupfSiteFilter+    , aupfTraffickerType+    , aupfActive+    , aupfAccountId+    , aupfName+    , aupfId+    , aupfUserAccessType+    , aupfComments+    , aupfSubAccountId+    , aupfCampaignFilter++    -- * ReportsListSortOrder+    , ReportsListSortOrder (..)++    -- * DimensionValue+    , DimensionValue+    , dimensionValue+    , dvEtag+    , dvKind+    , dvValue+    , dvMatchType+    , dvDimensionName+    , dvId++    -- * TargetableRemarketingListsListSortField+    , TargetableRemarketingListsListSortField (..)++    -- * CampaignsListSortOrder+    , CampaignsListSortOrder (..)++    -- * Activities+    , Activities+    , activities+    , actKind+    , actMetricNames+    , actFilters++    -- * FloodlightActivityGroupsListType+    , FloodlightActivityGroupsListType (..)++    -- * FloodlightConfigurationFirstDayOfWeek+    , FloodlightConfigurationFirstDayOfWeek (..)++    -- * UserRolePermissionGroupsListResponse+    , UserRolePermissionGroupsListResponse+    , userRolePermissionGroupsListResponse+    , urpglrUserRolePermissionGroups+    , urpglrKind++    -- * PlacementTag+    , PlacementTag+    , placementTag+    , ptPlacementId+    , ptTagDatas++    -- * DeliverySchedulePriority+    , DeliverySchedulePriority (..)++    -- * FloodlightActivitiesListFloodlightActivityGroupType+    , FloodlightActivitiesListFloodlightActivityGroupType (..)++    -- * RemarketingListsListResponse+    , RemarketingListsListResponse+    , remarketingListsListResponse+    , rllrNextPageToken+    , rllrRemarketingLists+    , rllrKind++    -- * Creative+    , Creative+    , creative+    , creConvertFlashToHTML5+    , creBackupImageTargetWindow+    , creRenderingIdDimensionValue+    , creCustomKeyValues+    , creVideoDuration+    , creRenderingId+    , creThirdPartyBackupImageImpressionsURL+    , creFsCommand+    , creAllowScriptAccess+    , creHTMLCodeLocked+    , creRequiredFlashPluginVersion+    , creAuthoringTool+    , creSize+    , creThirdPartyURLs+    , creCounterCustomEvents+    , creKind+    , creSSLOverride+    , creHTMLCode+    , creAdvertiserId+    , creRequiredFlashVersion+    , creBackgRoundColor+    , creAdTagKeys+    , creSkippable+    , creSSLCompliant+    , creIdDimensionValue+    , creBackupImageReportingLabel+    , creCommercialId+    , creActive+    , creExitCustomEvents+    , creAccountId+    , creBackupImageClickThroughURL+    , creName+    , creOverrideCss+    , creVideoDescription+    , creClickTags+    , creAdParameters+    , creVersion+    , creLatestTraffickedCreativeId+    , creThirdPartyRichMediaImpressionsURL+    , creLastModifiedInfo+    , creId+    , creStudioAdvertiserId+    , creCreativeAssets+    , creSubAccountId+    , creType+    , creTimerCustomEvents+    , creStudioCreativeId+    , creCompatibility+    , creBackupImageFeatures+    , creArtworkType+    , creArchived+    , creCompanionCreatives+    , creTotalFileSize+    , creStudioTraffickedCreativeId+    , creRedirectURL+    , creAutoAdvanceImages+    , creCreativeFieldAssignments++    -- * SiteContact+    , SiteContact+    , siteContact+    , scEmail+    , scPhone+    , scLastName+    , scAddress+    , scFirstName+    , scId+    , scTitle+    , scContactType++    -- * AccountsListResponse+    , AccountsListResponse+    , accountsListResponse+    , accNextPageToken+    , accAccounts+    , accKind++    -- * DateRange+    , DateRange+    , dateRange+    , drKind+    , drEndDate+    , drStartDate+    , drRelativeDateRange++    -- * FloodlightConfigurationStandardVariableTypesItem+    , FloodlightConfigurationStandardVariableTypesItem (..)++    -- * Report+    , Report+    , report+    , rDelivery+    , rEtag+    , rOwnerProFileId+    , rSchedule+    , rPathToConversionCriteria+    , rKind+    , rFormat+    , rReachCriteria+    , rLastModifiedTime+    , rAccountId+    , rName+    , rId+    , rCrossDimensionReachCriteria+    , rType+    , rSubAccountId+    , rFloodlightCriteria+    , rCriteria+    , rFileName++    -- * PlacementPaymentSource+    , PlacementPaymentSource (..)++    -- * ReportsFilesListSortOrder+    , ReportsFilesListSortOrder (..)++    -- * Campaign+    , Campaign+    , campaign+    , camCreativeOptimizationConfiguration+    , camCreativeGroupIds+    , camNielsenOCREnabled+    , camKind+    , camClickThroughURLSuffixProperties+    , camAdvertiserId+    , camEndDate+    , camAdvertiserIdDimensionValue+    , camIdDimensionValue+    , camEventTagOverrides+    , camLookbackConfiguration+    , camStartDate+    , camAccountId+    , camComscoreVceEnabled+    , camName+    , camAdvertiserGroupId+    , camBillingInvoiceCode+    , camCreateInfo+    , camLastModifiedInfo+    , camId+    , camSubAccountId+    , camAdditionalCreativeOptimizationConfigurations+    , camExternalId+    , camComment+    , camAudienceSegmentGroups+    , camArchived+    , camTraffickerEmails+    , camDefaultClickThroughEventTagProperties++    -- * InventoryItemsListSortField+    , InventoryItemsListSortField (..)++    -- * EventTagType+    , EventTagType (..)++    -- * CreativesListSortOrder+    , CreativesListSortOrder (..)++    -- * ThirdPartyAuthenticationToken+    , ThirdPartyAuthenticationToken+    , thirdPartyAuthenticationToken+    , tpatValue+    , tpatName++    -- * PopupWindowPropertiesPositionType+    , PopupWindowPropertiesPositionType (..)++    -- * DirectorySiteContactRole+    , DirectorySiteContactRole (..)++    -- * ClickThroughURL+    , ClickThroughURL+    , clickThroughURL+    , ctuDefaultLandingPage+    , ctuComputedClickThroughURL+    , ctuCustomClickThroughURL+    , ctuLandingPageId++    -- * TagSettingKeywordOption+    , TagSettingKeywordOption (..)++    -- * CreativeAuthoringTool+    , CreativeAuthoringTool (..)++    -- * OrderContactContactType+    , OrderContactContactType (..)++    -- * CreativeAssetIdType+    , CreativeAssetIdType (..)++    -- * AccountUserProFilesListSortOrder+    , AccountUserProFilesListSortOrder (..)++    -- * RemarketingListListSource+    , RemarketingListListSource (..)++    -- * BrowsersListResponse+    , BrowsersListResponse+    , browsersListResponse+    , blrKind+    , blrBrowsers++    -- * AccountUserProFileUserAccessType+    , AccountUserProFileUserAccessType (..)++    -- * CreativeAssetStartTimeType+    , CreativeAssetStartTimeType (..)++    -- * ProjectAudienceGender+    , ProjectAudienceGender (..)++    -- * SiteSettings+    , SiteSettings+    , siteSettings+    , ssDisableNewCookie+    , ssDisableBrandSafeAds+    , ssLookbackConfiguration+    , ssTagSetting+    , ssActiveViewOptOut+    , ssCreativeSettings++    -- * PlacementStrategiesListSortField+    , PlacementStrategiesListSortField (..)++    -- * ContentCategoriesListResponse+    , ContentCategoriesListResponse+    , contentCategoriesListResponse+    , cclrNextPageToken+    , cclrKind+    , cclrContentCategories++    -- * UserDefinedVariableConfigurationDataType+    , UserDefinedVariableConfigurationDataType (..)++    -- * FloodlightActivityCacheBustingType+    , FloodlightActivityCacheBustingType (..)++    -- * CreativesListResponse+    , CreativesListResponse+    , creativesListResponse+    , clrlNextPageToken+    , clrlKind+    , clrlCreatives++    -- * CreativeGroupsListSortOrder+    , CreativeGroupsListSortOrder (..)++    -- * OrderDocumentType+    , OrderDocumentType (..)++    -- * TagDataFormat+    , TagDataFormat (..)++    -- * Account+    , Account+    , account+    , aaAccountPermissionIds+    , aaMaximumImageSize+    , aaCurrencyId+    , aaReportsConfiguration+    , aaNielsenOCREnabled+    , aaKind+    , aaLocale+    , aaActive+    , aaAvailablePermissionIds+    , aaTeaserSizeLimit+    , aaComscoreVceEnabled+    , aaActiveViewOptOut+    , aaName+    , aaAccountProFile+    , aaId+    , aaCountryId+    , aaActiveAdsLimitTier+    , aaDefaultCreativeSizeId+    , aaDescription++    -- * AccountActiveAdSummaryActiveAdsLimitTier+    , AccountActiveAdSummaryActiveAdsLimitTier (..)++    -- * CreativeAssetChildAssetType+    , CreativeAssetChildAssetType (..)++    -- * PlacementGroupsListPlacementGroupType+    , PlacementGroupsListPlacementGroupType (..)++    -- * AccountUserProFilesListResponse+    , AccountUserProFilesListResponse+    , accountUserProFilesListResponse+    , aupflrNextPageToken+    , aupflrAccountUserProFiles+    , aupflrKind++    -- * ContentCategory+    , ContentCategory+    , contentCategory+    , conKind+    , conAccountId+    , conName+    , conId++    -- * ObjectFilterStatus+    , ObjectFilterStatus (..)++    -- * ReportCompatibleFields+    , ReportCompatibleFields+    , reportCompatibleFields+    , rcfMetrics+    , rcfKind+    , rcfDimensionFilters+    , rcfPivotedActivityMetrics+    , rcfDimensions++    -- * CampaignCreativeAssociationsListSortOrder+    , CampaignCreativeAssociationsListSortOrder (..)++    -- * DeliverySchedule+    , DeliverySchedule+    , deliverySchedule+    , dsHardCutoff+    , dsPriority+    , dsImpressionRatio+    , dsFrequencyCap++    -- * RemarketingList+    , RemarketingList+    , remarketingList+    , rlListSize+    , rlListPopulationRule+    , rlLifeSpan+    , rlKind+    , rlAdvertiserId+    , rlAdvertiserIdDimensionValue+    , rlActive+    , rlAccountId+    , rlName+    , rlListSource+    , rlId+    , rlSubAccountId+    , rlDescription++    -- * FloodlightActivitiesListSortField+    , FloodlightActivitiesListSortField (..)++    -- * DimensionValueList+    , DimensionValueList+    , dimensionValueList+    , dvlEtag+    , dvlNextPageToken+    , dvlKind+    , dvlItems++    -- * FloodlightReportCompatibleFields+    , FloodlightReportCompatibleFields+    , floodlightReportCompatibleFields+    , frcfMetrics+    , frcfKind+    , frcfDimensionFilters+    , frcfDimensions++    -- * UserRolePermissionGroup+    , UserRolePermissionGroup+    , userRolePermissionGroup+    , urpgKind+    , urpgName+    , urpgId++    -- * CreativesListTypes+    , CreativesListTypes (..)++    -- * DirectorySiteInpageTagFormatsItem+    , DirectorySiteInpageTagFormatsItem (..)++    -- * TagSetting+    , TagSetting+    , tagSetting+    , tsKeywordOption+    , tsIncludeClickThroughURLs+    , tsIncludeClickTracking+    , tsAdditionalKeyValues++    -- * CreativeAssetWindowMode+    , CreativeAssetWindowMode (..)++    -- * CreativeAssetAlignment+    , CreativeAssetAlignment (..)++    -- * RemarketingListsListSortOrder+    , RemarketingListsListSortOrder (..)++    -- * ReportPathToConversionCriteriaReportProperties+    , ReportPathToConversionCriteriaReportProperties+    , reportPathToConversionCriteriaReportProperties+    , rptccrpMaximumInteractionGap+    , rptccrpMaximumClickInteractions+    , rptccrpPivotOnInteractionPath+    , rptccrpMaximumImpressionInteractions+    , rptccrpIncludeUnattributedIPConversions+    , rptccrpImpressionsLookbackWindow+    , rptccrpClicksLookbackWindow+    , rptccrpIncludeUnattributedCookieConversions+    , rptccrpIncludeAttributedIPConversions++    -- * UserRolePermissionsListResponse+    , UserRolePermissionsListResponse+    , userRolePermissionsListResponse+    , urplrKind+    , urplrUserRolePermissions++    -- * PlacementGroupsListPricingTypes+    , PlacementGroupsListPricingTypes (..)++    -- * AccountActiveAdsLimitTier+    , AccountActiveAdsLimitTier (..)++    -- * AccountsListSortOrder+    , AccountsListSortOrder (..)++    -- * PlacementGroupsListResponse+    , PlacementGroupsListResponse+    , placementGroupsListResponse+    , pglrNextPageToken+    , pglrKind+    , pglrPlacementGroups++    -- * MobileCarrier+    , MobileCarrier+    , mobileCarrier+    , mcKind+    , mcName+    , mcCountryCode+    , mcId+    , mcCountryDartId++    -- * LandingPage+    , LandingPage+    , landingPage+    , lpKind+    , lpDefault+    , lpURL+    , lpName+    , lpId++    -- * ConnectionTypesListResponse+    , ConnectionTypesListResponse+    , connectionTypesListResponse+    , ctlrKind+    , ctlrConnectionTypes++    -- * OrdersListResponse+    , OrdersListResponse+    , ordersListResponse+    , olrNextPageToken+    , olrKind+    , olrOrders++    -- * ReportList+    , ReportList+    , reportList+    , repEtag+    , repNextPageToken+    , repKind+    , repItems++    -- * CreativeGroup+    , CreativeGroup+    , creativeGroup+    , cgKind+    , cgAdvertiserId+    , cgAdvertiserIdDimensionValue+    , cgGroupNumber+    , cgAccountId+    , cgName+    , cgId+    , cgSubAccountId++    -- * SubAccountsListSortField+    , SubAccountsListSortField (..)++    -- * CampaignCreativeAssociation+    , CampaignCreativeAssociation+    , campaignCreativeAssociation+    , ccaKind+    , ccaCreativeId++    -- * LookbackConfiguration+    , LookbackConfiguration+    , lookbackConfiguration+    , lcClickDuration+    , lcPostImpressionActivitiesDuration++    -- * AdsListSortField+    , AdsListSortField (..)++    -- * ProjectsListSortField+    , ProjectsListSortField (..)++    -- * FloodlightActivityPublisherDynamicTag+    , FloodlightActivityPublisherDynamicTag+    , floodlightActivityPublisherDynamicTag+    , fapdtClickThrough+    , fapdtSiteIdDimensionValue+    , fapdtDynamicTag+    , fapdtDirectorySiteId+    , fapdtSiteId+    , fapdtViewThrough++    -- * AdsListType+    , AdsListType (..)++    -- * AccountActiveAdSummary+    , AccountActiveAdSummary+    , accountActiveAdSummary+    , aaasAvailableAds+    , aaasKind+    , aaasAccountId+    , aaasActiveAds+    , aaasActiveAdsLimitTier++    -- * CreativeOptimizationConfigurationOptimizationModel+    , CreativeOptimizationConfigurationOptimizationModel (..)++    -- * AccountPermissionLevel+    , AccountPermissionLevel (..)++    -- * OffSetPosition+    , OffSetPosition+    , offSetPosition+    , ospLeft+    , ospTop++    -- * Metric+    , Metric+    , metric+    , mKind+    , mName++    -- * RemarketingListShare+    , RemarketingListShare+    , remarketingListShare+    , rlsSharedAdvertiserIds+    , rlsKind+    , rlsRemarketingListId+    , rlsSharedAccountIds++    -- * EventTagsListResponse+    , EventTagsListResponse+    , eventTagsListResponse+    , etlrKind+    , etlrEventTags++    -- * UserRolesListResponse+    , UserRolesListResponse+    , userRolesListResponse+    , urlrNextPageToken+    , urlrKind+    , urlrUserRoles++    -- * ListPopulationTermType+    , ListPopulationTermType (..)++    -- * AdvertiserGroupsListSortOrder+    , AdvertiserGroupsListSortOrder (..)++    -- * CreativeFieldValuesListSortOrder+    , CreativeFieldValuesListSortOrder (..)++    -- * SortedDimensionSortOrder+    , SortedDimensionSortOrder (..)++    -- * CompatibleFields+    , CompatibleFields+    , compatibleFields+    , cfReachReportCompatibleFields+    , cfCrossDimensionReachReportCompatibleFields+    , cfKind+    , cfFloodlightReportCompatibleFields+    , cfReportCompatibleFields+    , cfPathToConversionReportCompatibleFields++    -- * AudienceSegment+    , AudienceSegment+    , audienceSegment+    , asName+    , asId+    , asAllocation++    -- * FilesListSortField+    , FilesListSortField (..)++    -- * DirectorySiteInterstitialTagFormatsItem+    , DirectorySiteInterstitialTagFormatsItem (..)++    -- * DfpSettings+    , DfpSettings+    , dfpSettings+    , dsPubPaidPlacementAccepted+    , dsDfpNetworkName+    , dsPublisherPortalOnly+    , dsProgrammaticPlacementAccepted+    , dsDfpNetworkCode++    -- * EventTagsListSortField+    , EventTagsListSortField (..)++    -- * PathToConversionReportCompatibleFields+    , PathToConversionReportCompatibleFields+    , pathToConversionReportCompatibleFields+    , ptcrcfMetrics+    , ptcrcfKind+    , ptcrcfConversionDimensions+    , ptcrcfCustomFloodlightVariables+    , ptcrcfPerInteractionDimensions++    -- * CreativeAssetPositionTopUnit+    , CreativeAssetPositionTopUnit (..)++    -- * City+    , City+    , city+    , ccMetroCode+    , ccRegionCode+    , ccKind+    , ccRegionDartId+    , ccMetroDmaId+    , ccName+    , ccCountryCode+    , ccCountryDartId+    , ccDartId++    -- * PlatformType+    , PlatformType+    , platformType+    , ptKind+    , ptName+    , ptId++    -- * FloodlightActivityFloodlightActivityGroupType+    , FloodlightActivityFloodlightActivityGroupType (..)++    -- * DirectorySiteContactsListSortOrder+    , DirectorySiteContactsListSortOrder (..)++    -- * PricingGroupType+    , PricingGroupType (..)++    -- * KeyValueTargetingExpression+    , KeyValueTargetingExpression+    , keyValueTargetingExpression+    , kvteExpression++    -- * CompanionClickThroughOverride+    , CompanionClickThroughOverride+    , companionClickThroughOverride+    , cctoCreativeId+    , cctoClickThroughURL++    -- * AdsListCreativeType+    , AdsListCreativeType (..)++    -- * FloodlightActivityGroupsListSortOrder+    , FloodlightActivityGroupsListSortOrder (..)++    -- * CreativeRotationType+    , CreativeRotationType (..)++    -- * OrdersListSortField+    , OrdersListSortField (..)++    -- * PlacementGroupsListSortField+    , PlacementGroupsListSortField (..)++    -- * DirectorySitesListSortOrder+    , DirectorySitesListSortOrder (..)++    -- * AdvertisersListResponse+    , AdvertisersListResponse+    , advertisersListResponse+    , advNextPageToken+    , advKind+    , advAdvertisers++    -- * CountriesListResponse+    , CountriesListResponse+    , countriesListResponse+    , couKind+    , couCountries++    -- * AccountPermissionGroupsListResponse+    , AccountPermissionGroupsListResponse+    , accountPermissionGroupsListResponse+    , apglrKind+    , apglrAccountPermissionGroups++    -- * PopupWindowProperties+    , PopupWindowProperties+    , popupWindowProperties+    , pwpOffSet+    , pwpDimension+    , pwpShowStatusBar+    , pwpShowMenuBar+    , pwpPositionType+    , pwpShowAddressBar+    , pwpShowScrollBar+    , pwpShowToolBar+    , pwpTitle++    -- * CreativeAssetDetectedFeaturesItem+    , CreativeAssetDetectedFeaturesItem (..)++    -- * FloodlightActivityGroupType+    , FloodlightActivityGroupType (..)++    -- * DirectorySiteContactType+    , DirectorySiteContactType (..)++    -- * EventTagOverride+    , EventTagOverride+    , eventTagOverride+    , etoEnabled+    , etoId++    -- * PlacementsGeneratetagsTagFormats+    , PlacementsGeneratetagsTagFormats (..)++    -- * AccountUserProFilesListSortField+    , AccountUserProFilesListSortField (..)++    -- * OperatingSystemVersion+    , OperatingSystemVersion+    , operatingSystemVersion+    , osvMinorVersion+    , osvKind+    , osvOperatingSystem+    , osvMajorVersion+    , osvName+    , osvId++    -- * InventoryItemsListSortOrder+    , InventoryItemsListSortOrder (..)++    -- * PlacementStrategiesListSortOrder+    , PlacementStrategiesListSortOrder (..)++    -- * AccountPermission+    , AccountPermission+    , accountPermission+    , acccKind+    , acccAccountProFiles+    , acccName+    , acccId+    , acccLevel+    , acccPermissionGroupId++    -- * UserProFile+    , UserProFile+    , userProFile+    , upfEtag+    , upfKind+    , upfAccountName+    , upfProFileId+    , upfUserName+    , upfAccountId+    , upfSubAccountName+    , upfSubAccountId++    -- * OperatingSystemsListResponse+    , OperatingSystemsListResponse+    , operatingSystemsListResponse+    , oslrKind+    , oslrOperatingSystems++    -- * ReportDelivery+    , ReportDelivery+    , reportDelivery+    , rdEmailOwner+    , rdRecipients+    , rdMessage+    , rdEmailOwnerDeliveryType++    -- * TargetableRemarketingList+    , TargetableRemarketingList+    , targetableRemarketingList+    , trlListSize+    , trlLifeSpan+    , trlKind+    , trlAdvertiserId+    , trlAdvertiserIdDimensionValue+    , trlActive+    , trlAccountId+    , trlName+    , trlListSource+    , trlId+    , trlSubAccountId+    , trlDescription++    -- * ReportsFilesListSortField+    , ReportsFilesListSortField (..)++    -- * PostalCodesListResponse+    , PostalCodesListResponse+    , postalCodesListResponse+    , pclrKind+    , pclrPostalCodes++    -- * ChangeLog+    , ChangeLog+    , changeLog+    , chaUserProFileId+    , chaObjectType+    , chaUserProFileName+    , chaKind+    , chaObjectId+    , chaAction+    , chaTransactionId+    , chaOldValue+    , chaAccountId+    , chaNewValue+    , chaFieldName+    , chaId+    , chaSubAccountId+    , chaChangeTime++    -- * CreativesListSortField+    , CreativesListSortField (..)++    -- * PlacementStrategy+    , PlacementStrategy+    , placementStrategy+    , psKind+    , psAccountId+    , psName+    , psId++    -- * FloodlightActivity+    , FloodlightActivity+    , floodlightActivity+    , faCountingMethod+    , faTagString+    , faSecure+    , faExpectedURL+    , faFloodlightActivityGroupTagString+    , faFloodlightConfigurationId+    , faKind+    , faImageTagEnabled+    , faAdvertiserId+    , faAdvertiserIdDimensionValue+    , faSSLCompliant+    , faIdDimensionValue+    , faTagFormat+    , faCacheBustingType+    , faAccountId+    , faName+    , faPublisherTags+    , faFloodlightActivityGroupId+    , faHidden+    , faFloodlightActivityGroupType+    , faDefaultTags+    , faFloodlightActivityGroupName+    , faId+    , faSSLRequired+    , faUserDefinedVariableTypes+    , faSubAccountId+    , faNotes+    , faFloodlightConfigurationIdDimensionValue++    -- * DayPartTargetingDaysOfWeekItem+    , DayPartTargetingDaysOfWeekItem (..)++    -- * CreativeRotationWeightCalculationStrategy+    , CreativeRotationWeightCalculationStrategy (..)++    -- * FilesListScope+    , FilesListScope (..)++    -- * ContentCategoriesListSortField+    , ContentCategoriesListSortField (..)++    -- * ProjectAudienceAgeGroup+    , ProjectAudienceAgeGroup (..)++    -- * PlatformTypesListResponse+    , PlatformTypesListResponse+    , platformTypesListResponse+    , ptlrKind+    , ptlrPlatformTypes++    -- * AdType+    , AdType (..)++    -- * LastModifiedInfo+    , LastModifiedInfo+    , lastModifiedInfo+    , lmiTime++    -- * TargetWindow+    , TargetWindow+    , targetWindow+    , twCustomHTML+    , twTargetWindowOption++    -- * ChangeLogsListAction+    , ChangeLogsListAction (..)++    -- * CreativeArtworkType+    , CreativeArtworkType (..)++    -- * PlacementStatus+    , PlacementStatus (..)++    -- * AccountPermissionGroup+    , AccountPermissionGroup+    , accountPermissionGroup+    , apgpKind+    , apgpName+    , apgpId++    -- * Advertiser+    , Advertiser+    , advertiser+    , advdOriginalFloodlightConfigurationId+    , advdStatus+    , advdFloodlightConfigurationId+    , advdKind+    , advdSuspended+    , advdIdDimensionValue+    , advdAccountId+    , advdDefaultEmail+    , advdName+    , advdAdvertiserGroupId+    , advdDefaultClickThroughEventTagId+    , advdId+    , advdSubAccountId+    , advdFloodlightConfigurationIdDimensionValue+    , advdClickThroughURLSuffix++    -- * ReportScheduleRunsOnDayOfMonth+    , ReportScheduleRunsOnDayOfMonth (..)++    -- * UserRole+    , UserRole+    , userRole+    , urParentUserRoleId+    , urKind+    , urDefaultUserRole+    , urAccountId+    , urName+    , urId+    , urPermissions+    , urSubAccountId++    -- * FloodlightActivityUserDefinedVariableTypesItem+    , FloodlightActivityUserDefinedVariableTypesItem (..)++    -- * EventTagSiteFilterType+    , EventTagSiteFilterType (..)++    -- * ReportFormat+    , ReportFormat (..)++    -- * PlacementGroupPlacementGroupType+    , PlacementGroupPlacementGroupType (..)++    -- * DirectorySitesListResponse+    , DirectorySitesListResponse+    , directorySitesListResponse+    , dslrNextPageToken+    , dslrKind+    , dslrDirectorySites++    -- * PricingPricingType+    , PricingPricingType (..)++    -- * PricingSchedulePricingPeriod+    , PricingSchedulePricingPeriod+    , pricingSchedulePricingPeriod+    , psppEndDate+    , psppRateOrCostNanos+    , psppStartDate+    , psppUnits+    , psppPricingComment++    -- * SubAccountsListSortOrder+    , SubAccountsListSortOrder (..)++    -- * DirectorySiteContactsListResponse+    , DirectorySiteContactsListResponse+    , directorySiteContactsListResponse+    , dsclrNextPageToken+    , dsclrKind+    , dsclrDirectorySiteContacts++    -- * Region+    , Region+    , region+    , regRegionCode+    , regKind+    , regName+    , regCountryCode+    , regCountryDartId+    , regDartId++    -- * AdvertiserGroupsListResponse+    , AdvertiserGroupsListResponse+    , advertiserGroupsListResponse+    , aglrNextPageToken+    , aglrKind+    , aglrAdvertiserGroups++    -- * AdsListSortOrder+    , AdsListSortOrder (..)++    -- * ProjectsListSortOrder+    , ProjectsListSortOrder (..)++    -- * CreativeAssignment+    , CreativeAssignment+    , creativeAssignment+    , caCreativeGroupAssignments+    , caStartTime+    , caWeight+    , caRichMediaExitOverrides+    , caSSLCompliant+    , caCreativeId+    , caClickThroughURL+    , caApplyEventTags+    , caActive+    , caSequence+    , caEndTime+    , caCompanionCreativeOverrides+    , caCreativeIdDimensionValue++    -- * DimensionFilter+    , DimensionFilter+    , dimensionFilter+    , dfKind+    , dfValue+    , dfDimensionName++    -- * UserProFileList+    , UserProFileList+    , userProFileList+    , upflEtag+    , upflKind+    , upflItems++    -- * RemarketingListsListSortField+    , RemarketingListsListSortField (..)++    -- * FloodlightConfiguration+    , FloodlightConfiguration+    , floodlightConfiguration+    , fcTagSettings+    , fcExposureToConversionEnabled+    , fcInAppAttributionTrackingEnabled+    , fcThirdPartyAuthenticationTokens+    , fcKind+    , fcAdvertiserId+    , fcAnalyticsDataSharingEnabled+    , fcAdvertiserIdDimensionValue+    , fcIdDimensionValue+    , fcLookbackConfiguration+    , fcAccountId+    , fcId+    , fcSSLRequired+    , fcNATuralSearchConversionAttributionOption+    , fcUserDefinedVariableConfigurations+    , fcSubAccountId+    , fcFirstDayOfWeek+    , fcOmnitureSettings+    , fcStandardVariableTypes++    -- * ReportScheduleRepeatsOnWeekDaysItem+    , ReportScheduleRepeatsOnWeekDaysItem (..)++    -- * FloodlightActivityGroupsListResponse+    , FloodlightActivityGroupsListResponse+    , floodlightActivityGroupsListResponse+    , faglrNextPageToken+    , faglrKind+    , faglrFloodlightActivityGroups++    -- * CreativeGroupAssignmentCreativeGroupNumber+    , CreativeGroupAssignmentCreativeGroupNumber (..)++    -- * CreativeFieldValuesListResponse+    , CreativeFieldValuesListResponse+    , creativeFieldValuesListResponse+    , cfvlrNextPageToken+    , cfvlrKind+    , cfvlrCreativeFieldValues++    -- * AccountsListSortField+    , AccountsListSortField (..)++    -- * RichMediaExitOverride+    , RichMediaExitOverride+    , richMediaExitOverride+    , rmeoUseCustomExitURL+    , rmeoExitId+    , rmeoCustomExitURL++    -- * AdvertisersListStatus+    , AdvertisersListStatus (..)++    -- * DimensionValueMatchType+    , DimensionValueMatchType (..)++    -- * SortedDimension+    , SortedDimension+    , sortedDimension+    , sdKind+    , sdSortOrder+    , sdName++    -- * PlacementGroupsListSortOrder+    , PlacementGroupsListSortOrder (..)++    -- * CreativeFieldsListResponse+    , CreativeFieldsListResponse+    , creativeFieldsListResponse+    , cflrNextPageToken+    , cflrKind+    , cflrCreativeFields++    -- * PlacementsGenerateTagsResponse+    , PlacementsGenerateTagsResponse+    , placementsGenerateTagsResponse+    , pgtrKind+    , pgtrPlacementTags++    -- * CreativeAsset+    , CreativeAsset+    , creativeAsset+    , caaZIndex+    , caaPushdown+    , caaVideoDuration+    , caaOriginalBackup+    , caaWindowMode+    , caaFlashVersion+    , caaPushdownDuration+    , caaSize+    , caaVerticallyLocked+    , caaOffSet+    , caaStreamingServingURL+    , caaZipFilesize+    , caaTransparency+    , caaHideSelectionBoxes+    , caaSSLCompliant+    , caaFileSize+    , caaAssetIdentifier+    , caaDurationType+    , caaProgressiveServingURL+    , caaActive+    , caaRole+    , caaMimeType+    , caaPositionTopUnit+    , caaPositionLeftUnit+    , caaAlignment+    , caaExpandedDimension+    , caaZipFilename+    , caaActionScript3+    , caaDisplayType+    , caaChildAssetType+    , caaCollapsedSize+    , caaId+    , caaBitRate+    , caaCustomStartTimeValue+    , caaStartTimeType+    , caaDuration+    , caaArtworkType+    , caaHideFlashObjects+    , caaDetectedFeatures+    , caaBackupImageExit+    , caaPosition+    , caaHorizontallyLocked++    -- * AdCompatibility+    , AdCompatibility (..)++    -- * CreativeFieldValuesListSortField+    , CreativeFieldValuesListSortField (..)++    -- * PlacementsListResponse+    , PlacementsListResponse+    , placementsListResponse+    , plaNextPageToken+    , plaKind+    , plaPlacements++    -- * FloodlightActivityGroupsListSortField+    , FloodlightActivityGroupsListSortField (..)++    -- * OrdersListSortOrder+    , OrdersListSortOrder (..)++    -- * ReportSchedule+    , ReportSchedule+    , reportSchedule+    , rsEvery+    , rsActive+    , rsRepeats+    , rsStartDate+    , rsExpirationDate+    , rsRunsOnDayOfMonth+    , rsRepeatsOnWeekDays++    -- * ReportPathToConversionCriteria+    , ReportPathToConversionCriteria+    , reportPathToConversionCriteria+    , rptccReportProperties+    , rptccMetricNames+    , rptccCustomRichMediaEvents+    , rptccDateRange+    , rptccConversionDimensions+    , rptccCustomFloodlightVariables+    , rptccFloodlightConfigId+    , rptccActivityFilters+    , rptccPerInteractionDimensions++    -- * MetrosListResponse+    , MetrosListResponse+    , metrosListResponse+    , mlrKind+    , mlrMetros++    -- * AccountAccountProFile+    , AccountAccountProFile (..)++    -- * OrderDocumentsListResponse+    , OrderDocumentsListResponse+    , orderDocumentsListResponse+    , odlrNextPageToken+    , odlrKind+    , odlrOrderDocuments++    -- * Recipient+    , Recipient+    , recipient+    , recEmail+    , recKind+    , recDeliveryType++    -- * CreativeType+    , CreativeType (..)++    -- * FilesListSortOrder+    , FilesListSortOrder (..)++    -- * AdvertiserGroupsListSortField+    , AdvertiserGroupsListSortField (..)++    -- * TargetWindowTargetWindowOption+    , TargetWindowTargetWindowOption (..)++    -- * DirectorySiteContactsListSortField+    , DirectorySiteContactsListSortField (..)++    -- * PlacementsListPricingTypes+    , PlacementsListPricingTypes (..)++    -- * EventTagsListSortOrder+    , EventTagsListSortOrder (..)++    -- * DirectorySitesListSortField+    , DirectorySitesListSortField (..)++    -- * Site+    , Site+    , site+    , ssKind+    , ssKeyName+    , ssSiteContacts+    , ssSiteSettings+    , ssIdDimensionValue+    , ssDirectorySiteIdDimensionValue+    , ssAccountId+    , ssName+    , ssDirectorySiteId+    , ssId+    , ssSubAccountId+    , ssApproved++    -- * ReportCrossDimensionReachCriteriaDimension+    , ReportCrossDimensionReachCriteriaDimension (..)++    -- * SitesListSortOrder+    , SitesListSortOrder (..)++    -- * UserDefinedVariableConfiguration+    , UserDefinedVariableConfiguration+    , userDefinedVariableConfiguration+    , udvcReportName+    , udvcDataType+    , udvcVariableType++    -- * ReportCrossDimensionReachCriteria+    , ReportCrossDimensionReachCriteria+    , reportCrossDimensionReachCriteria+    , rcdrcPivoted+    , rcdrcBreakdown+    , rcdrcDimension+    , rcdrcMetricNames+    , rcdrcDimensionFilters+    , rcdrcDateRange+    , rcdrcOverlapMetricNames++    -- * FileURLs+    , FileURLs+    , fileURLs+    , fuBrowserURL+    , fuAPIURL++    -- * CampaignCreativeAssociationsListResponse+    , CampaignCreativeAssociationsListResponse+    , campaignCreativeAssociationsListResponse+    , ccalrCampaignCreativeAssociations+    , ccalrNextPageToken+    , ccalrKind++    -- * PlacementTagFormatsItem+    , PlacementTagFormatsItem (..)++    -- * Order+    , Order+    , order+    , oSellerOrderId+    , oSellerOrganizationName+    , oKind+    , oAdvertiserId+    , oPlanningTermId+    , oAccountId+    , oName+    , oSiteNames+    , oLastModifiedInfo+    , oBuyerOrganizationName+    , oId+    , oBuyerInvoiceId+    , oComments+    , oProjectId+    , oSubAccountId+    , oNotes+    , oContacts+    , oSiteId+    , oTermsAndConditions+    , oApproverUserProFileIds++    -- * CreativeAssetId+    , CreativeAssetId+    , creativeAssetId+    , caiName+    , caiType++    -- * FrequencyCap+    , FrequencyCap+    , frequencyCap+    , fcImpressions+    , fcDuration++    -- * File+    , File+    , file+    , filStatus+    , filEtag+    , filKind+    , filURLs+    , filReportId+    , filDateRange+    , filFormat+    , filLastModifiedTime+    , filId+    , filFileName++    -- * CreativeSettings+    , CreativeSettings+    , creativeSettings+    , csIFrameHeader+    , csIFrameFooter++    -- * ReportType+    , ReportType (..)++    -- * CreativeAssetMetadataWarnedValidationRulesItem+    , CreativeAssetMetadataWarnedValidationRulesItem (..)++    -- * CreativeGroupsListResponse+    , CreativeGroupsListResponse+    , creativeGroupsListResponse+    , cglrCreativeGroups+    , cglrNextPageToken+    , cglrKind++    -- * AdSlotPaymentSourceType+    , AdSlotPaymentSourceType (..)++    -- * MobileCarriersListResponse+    , MobileCarriersListResponse+    , mobileCarriersListResponse+    , mclrMobileCarriers+    , mclrKind++    -- * LandingPagesListResponse+    , LandingPagesListResponse+    , landingPagesListResponse+    , lplrLandingPages+    , lplrKind++    -- * AccountPermissionAccountProFilesItem+    , AccountPermissionAccountProFilesItem (..)++    -- * CreativeAssetMetadata+    , CreativeAssetMetadata+    , creativeAssetMetadata+    , camaKind+    , camaAssetIdentifier+    , camaClickTags+    , camaWarnedValidationRules+    , camaDetectedFeatures++    -- * OmnitureSettings+    , OmnitureSettings+    , omnitureSettings+    , osOmnitureCostDataEnabled+    , osOmnitureIntegrationEnabled++    -- * ConnectionType+    , ConnectionType+    , connectionType+    , cttKind+    , cttName+    , cttId++    -- * CreativeCustomEventAdvertiserCustomEventType+    , CreativeCustomEventAdvertiserCustomEventType (..)++    -- * PlacementGroup+    , PlacementGroup+    , placementGroup+    , plalPlacementStrategyId+    , plalSiteIdDimensionValue+    , plalPricingSchedule+    , plalKind+    , plalCampaignIdDimensionValue+    , plalAdvertiserId+    , plalAdvertiserIdDimensionValue+    , plalCampaignId+    , plalIdDimensionValue+    , plalPlacementGroupType+    , plalContentCategoryId+    , plalDirectorySiteIdDimensionValue+    , plalAccountId+    , plalName+    , plalDirectorySiteId+    , plalCreateInfo+    , plalChildPlacementIds+    , plalLastModifiedInfo+    , plalId+    , plalPrimaryPlacementId+    , plalSubAccountId+    , plalExternalId+    , plalComment+    , plalPrimaryPlacementIdDimensionValue+    , plalSiteId+    , plalArchived++    -- * EventTag+    , EventTag+    , eventTag+    , etStatus+    , etExcludeFromAdxRequests+    , etEnabledByDefault+    , etKind+    , etCampaignIdDimensionValue+    , etAdvertiserId+    , etURL+    , etAdvertiserIdDimensionValue+    , etSSLCompliant+    , etCampaignId+    , etAccountId+    , etName+    , etURLEscapeLevels+    , etSiteIds+    , etId+    , etSubAccountId+    , etType+    , etSiteFilterType++    -- * UserRolePermission+    , UserRolePermission+    , userRolePermission+    , useKind+    , useAvailability+    , useName+    , useId+    , usePermissionGroupId++    -- * ChangeLogsListObjectType+    , ChangeLogsListObjectType (..)++    -- * OrderContact+    , OrderContact+    , orderContact+    , ocSignatureUserProFileId+    , ocContactName+    , ocContactTitle+    , ocContactType+    , ocContactInfo++    -- * FloodlightActivitiesGenerateTagResponse+    , FloodlightActivitiesGenerateTagResponse+    , floodlightActivitiesGenerateTagResponse+    , fagtrFloodlightActivityTag+    , fagtrKind++    -- * DirectorySiteContactAssignment+    , DirectorySiteContactAssignment+    , directorySiteContactAssignment+    , dscaVisibility+    , dscaContactId++    -- * AdSlot+    , AdSlot+    , adSlot+    , assHeight+    , assPaymentSourceType+    , assLinkedPlacementId+    , assWidth+    , assPrimary+    , assName+    , assComment+    , assCompatibility++    -- * ThirdPartyTrackingURL+    , ThirdPartyTrackingURL+    , thirdPartyTrackingURL+    , tptuURL+    , tptuThirdPartyURLType++    -- * PricingCapCostType+    , PricingCapCostType (..)++    -- * OrderDocument+    , OrderDocument+    , orderDocument+    , odSigned+    , odKind+    , odAdvertiserId+    , odLastSentTime+    , odAmendedOrderDocumentId+    , odLastSentRecipients+    , odEffectiveDate+    , odApprovedByUserProFileIds+    , odAccountId+    , odId+    , odProjectId+    , odTitle+    , odSubAccountId+    , odType+    , odOrderId+    , odCancelled+    , odCreatedInfo++    -- * Metro+    , Metro+    , metro+    , metMetroCode+    , metKind+    , metName+    , metCountryCode+    , metDmaId+    , metCountryDartId+    , metDartId++    -- * CreativeAssetDisplayType+    , CreativeAssetDisplayType (..)++    -- * Placement+    , Placement+    , placement+    , p1Status+    , p1PlacementStrategyId+    , p1TagFormats+    , p1SiteIdDimensionValue+    , p1PricingSchedule+    , p1Size+    , p1Kind+    , p1KeyName+    , p1CampaignIdDimensionValue+    , p1AdvertiserId+    , p1AdvertiserIdDimensionValue+    , p1CampaignId+    , p1IdDimensionValue+    , p1Primary+    , p1LookbackConfiguration+    , p1TagSetting+    , p1ContentCategoryId+    , p1DirectorySiteIdDimensionValue+    , p1AccountId+    , p1PaymentSource+    , p1Name+    , p1DirectorySiteId+    , p1CreateInfo+    , p1LastModifiedInfo+    , p1Id+    , p1SSLRequired+    , p1SubAccountId+    , p1PlacementGroupIdDimensionValue+    , p1ExternalId+    , p1PlacementGroupId+    , p1Comment+    , p1SiteId+    , p1Compatibility+    , p1Archived+    , p1PaymentApproved+    , p1PublisherUpdateInfo++    -- * FloodlightActivityCountingMethod+    , FloodlightActivityCountingMethod (..)++    -- * SitesListResponse+    , SitesListResponse+    , sitesListResponse+    , sitNextPageToken+    , sitKind+    , sitSites++    -- * ContentCategoriesListSortOrder+    , ContentCategoriesListSortOrder (..)++    -- * CreativeField+    , CreativeField+    , creativeField+    , cffKind+    , cffAdvertiserId+    , cffAdvertiserIdDimensionValue+    , cffAccountId+    , cffName+    , cffId+    , cffSubAccountId++    -- * AdvertiserStatus+    , AdvertiserStatus (..)++    -- * DefaultClickThroughEventTagProperties+    , DefaultClickThroughEventTagProperties+    , defaultClickThroughEventTagProperties+    , dctetpOverrideInheritedEventTag+    , dctetpDefaultClickThroughEventTagId++    -- * ListTargetingExpression+    , ListTargetingExpression+    , listTargetingExpression+    , lteExpression+    ) where++import           Network.Google.DFAReporting.Types.Product+import           Network.Google.DFAReporting.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2.2' of the DCM/DFA Reporting And Trafficking API. This contains the host and root path used as a starting point for constructing service requests.+dFAReportingService :: Service+dFAReportingService+  = defaultService (ServiceId "dfareporting:v2.2")+      "www.googleapis.com"++-- | View and manage DoubleClick for Advertisers reports+dfareportingScope :: OAuthScope+dfareportingScope = "https://www.googleapis.com/auth/dfareporting";++-- | View and manage your DoubleClick Campaign Manager\'s (DCM) display ad+-- campaigns+dfatraffickingScope :: OAuthScope+dfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking";
+ gen/Network/Google/DFAReporting/Types/Product.hs view
@@ -0,0 +1,20455 @@+{-# 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.DFAReporting.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.DFAReporting.Types.Product where++import           Network.Google.DFAReporting.Types.Sum+import           Network.Google.Prelude++-- | Represents the list of File resources.+--+-- /See:/ 'fileList' smart constructor.+data FileList = FileList+    { _flEtag          :: !(Maybe Text)+    , _flNextPageToken :: !(Maybe Text)+    , _flKind          :: !Text+    , _flItems         :: !(Maybe [File])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flEtag'+--+-- * 'flNextPageToken'+--+-- * 'flKind'+--+-- * 'flItems'+fileList+    :: FileList+fileList =+    FileList+    { _flEtag = Nothing+    , _flNextPageToken = Nothing+    , _flKind = "dfareporting#fileList"+    , _flItems = Nothing+    }++-- | The eTag of this response for caching purposes.+flEtag :: Lens' FileList (Maybe Text)+flEtag = lens _flEtag (\ s a -> s{_flEtag = a})++-- | Continuation token used to page through files. To retrieve the next page+-- of results, set the next request\'s \"pageToken\" to the value of this+-- field. The page token is only valid for a limited amount of time and+-- should not be persisted.+flNextPageToken :: Lens' FileList (Maybe Text)+flNextPageToken+  = lens _flNextPageToken+      (\ s a -> s{_flNextPageToken = a})++-- | The kind of list this is, in this case dfareporting#fileList.+flKind :: Lens' FileList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | The files returned in this response.+flItems :: Lens' FileList [File]+flItems+  = lens _flItems (\ s a -> s{_flItems = a}) . _Default+      . _Coerce++instance FromJSON FileList where+        parseJSON+          = withObject "FileList"+              (\ o ->+                 FileList <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#fileList")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON FileList where+        toJSON FileList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _flEtag,+                  ("nextPageToken" .=) <$> _flNextPageToken,+                  Just ("kind" .= _flKind), ("items" .=) <$> _flItems])++-- | Creative optimization activity.+--+-- /See:/ 'optimizationActivity' smart constructor.+data OptimizationActivity = OptimizationActivity+    { _oaWeight                             :: !(Maybe (Textual Int32))+    , _oaFloodlightActivityId               :: !(Maybe (Textual Int64))+    , _oaFloodlightActivityIdDimensionValue :: !(Maybe DimensionValue)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OptimizationActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oaWeight'+--+-- * 'oaFloodlightActivityId'+--+-- * 'oaFloodlightActivityIdDimensionValue'+optimizationActivity+    :: OptimizationActivity+optimizationActivity =+    OptimizationActivity+    { _oaWeight = Nothing+    , _oaFloodlightActivityId = Nothing+    , _oaFloodlightActivityIdDimensionValue = Nothing+    }++-- | Weight associated with this optimization. Must be greater than 1. The+-- weight assigned will be understood in proportion to the weights assigned+-- to the other optimization activities.+oaWeight :: Lens' OptimizationActivity (Maybe Int32)+oaWeight+  = lens _oaWeight (\ s a -> s{_oaWeight = a}) .+      mapping _Coerce++-- | Floodlight activity ID of this optimization activity. This is a required+-- field.+oaFloodlightActivityId :: Lens' OptimizationActivity (Maybe Int64)+oaFloodlightActivityId+  = lens _oaFloodlightActivityId+      (\ s a -> s{_oaFloodlightActivityId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the floodlight activity. This is a+-- read-only, auto-generated field.+oaFloodlightActivityIdDimensionValue :: Lens' OptimizationActivity (Maybe DimensionValue)+oaFloodlightActivityIdDimensionValue+  = lens _oaFloodlightActivityIdDimensionValue+      (\ s a ->+         s{_oaFloodlightActivityIdDimensionValue = a})++instance FromJSON OptimizationActivity where+        parseJSON+          = withObject "OptimizationActivity"+              (\ o ->+                 OptimizationActivity <$>+                   (o .:? "weight") <*> (o .:? "floodlightActivityId")+                     <*> (o .:? "floodlightActivityIdDimensionValue"))++instance ToJSON OptimizationActivity where+        toJSON OptimizationActivity{..}+          = object+              (catMaybes+                 [("weight" .=) <$> _oaWeight,+                  ("floodlightActivityId" .=) <$>+                    _oaFloodlightActivityId,+                  ("floodlightActivityIdDimensionValue" .=) <$>+                    _oaFloodlightActivityIdDimensionValue])++-- | A group clause made up of list population terms representing constraints+-- joined by ORs.+--+-- /See:/ 'listPopulationClause' smart constructor.+newtype ListPopulationClause = ListPopulationClause+    { _lpcTerms :: Maybe [ListPopulationTerm]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPopulationClause' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpcTerms'+listPopulationClause+    :: ListPopulationClause+listPopulationClause =+    ListPopulationClause+    { _lpcTerms = Nothing+    }++-- | Terms of this list population clause. Each clause is made up of list+-- population terms representing constraints and are joined by ORs.+lpcTerms :: Lens' ListPopulationClause [ListPopulationTerm]+lpcTerms+  = lens _lpcTerms (\ s a -> s{_lpcTerms = a}) .+      _Default+      . _Coerce++instance FromJSON ListPopulationClause where+        parseJSON+          = withObject "ListPopulationClause"+              (\ o ->+                 ListPopulationClause <$> (o .:? "terms" .!= mempty))++instance ToJSON ListPopulationClause where+        toJSON ListPopulationClause{..}+          = object (catMaybes [("terms" .=) <$> _lpcTerms])++-- | Creative Custom Event.+--+-- /See:/ 'creativeCustomEvent' smart constructor.+data CreativeCustomEvent = CreativeCustomEvent+    { _cceAdvertiserCustomEventType :: !(Maybe CreativeCustomEventAdvertiserCustomEventType)+    , _cceAdvertiserCustomEventName :: !(Maybe Text)+    , _cceExitURL                   :: !(Maybe Text)+    , _cceTargetType                :: !(Maybe CreativeCustomEventTargetType)+    , _ccePopupWindowProperties     :: !(Maybe PopupWindowProperties)+    , _cceVideoReportingId          :: !(Maybe Text)+    , _cceId                        :: !(Maybe (Textual Int64))+    , _cceArtworkLabel              :: !(Maybe Text)+    , _cceArtworkType               :: !(Maybe CreativeCustomEventArtworkType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeCustomEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cceAdvertiserCustomEventType'+--+-- * 'cceAdvertiserCustomEventName'+--+-- * 'cceExitURL'+--+-- * 'cceTargetType'+--+-- * 'ccePopupWindowProperties'+--+-- * 'cceVideoReportingId'+--+-- * 'cceId'+--+-- * 'cceArtworkLabel'+--+-- * 'cceArtworkType'+creativeCustomEvent+    :: CreativeCustomEvent+creativeCustomEvent =+    CreativeCustomEvent+    { _cceAdvertiserCustomEventType = Nothing+    , _cceAdvertiserCustomEventName = Nothing+    , _cceExitURL = Nothing+    , _cceTargetType = Nothing+    , _ccePopupWindowProperties = Nothing+    , _cceVideoReportingId = Nothing+    , _cceId = Nothing+    , _cceArtworkLabel = Nothing+    , _cceArtworkType = Nothing+    }++-- | Type of the event. This is a read-only field.+cceAdvertiserCustomEventType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventAdvertiserCustomEventType)+cceAdvertiserCustomEventType+  = lens _cceAdvertiserCustomEventType+      (\ s a -> s{_cceAdvertiserCustomEventType = a})++-- | User-entered name for the event.+cceAdvertiserCustomEventName :: Lens' CreativeCustomEvent (Maybe Text)+cceAdvertiserCustomEventName+  = lens _cceAdvertiserCustomEventName+      (\ s a -> s{_cceAdvertiserCustomEventName = a})++-- | Exit URL of the event. This field is used only for exit events.+cceExitURL :: Lens' CreativeCustomEvent (Maybe Text)+cceExitURL+  = lens _cceExitURL (\ s a -> s{_cceExitURL = a})++-- | Target type used by the event.+cceTargetType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventTargetType)+cceTargetType+  = lens _cceTargetType+      (\ s a -> s{_cceTargetType = a})++-- | Properties for rich media popup windows. This field is used only for+-- exit events.+ccePopupWindowProperties :: Lens' CreativeCustomEvent (Maybe PopupWindowProperties)+ccePopupWindowProperties+  = lens _ccePopupWindowProperties+      (\ s a -> s{_ccePopupWindowProperties = a})++-- | Reporting ID, used to differentiate multiple videos in a single+-- creative.+cceVideoReportingId :: Lens' CreativeCustomEvent (Maybe Text)+cceVideoReportingId+  = lens _cceVideoReportingId+      (\ s a -> s{_cceVideoReportingId = a})++-- | ID of this event. This is a required field and should not be modified+-- after insertion.+cceId :: Lens' CreativeCustomEvent (Maybe Int64)+cceId+  = lens _cceId (\ s a -> s{_cceId = a}) .+      mapping _Coerce++-- | Artwork label column, used to link events in DCM back to events in+-- Studio. This is a required field and should not be modified after+-- insertion.+cceArtworkLabel :: Lens' CreativeCustomEvent (Maybe Text)+cceArtworkLabel+  = lens _cceArtworkLabel+      (\ s a -> s{_cceArtworkLabel = a})++-- | Artwork type used by the creative.This is a read-only field.+cceArtworkType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventArtworkType)+cceArtworkType+  = lens _cceArtworkType+      (\ s a -> s{_cceArtworkType = a})++instance FromJSON CreativeCustomEvent where+        parseJSON+          = withObject "CreativeCustomEvent"+              (\ o ->+                 CreativeCustomEvent <$>+                   (o .:? "advertiserCustomEventType") <*>+                     (o .:? "advertiserCustomEventName")+                     <*> (o .:? "exitUrl")+                     <*> (o .:? "targetType")+                     <*> (o .:? "popupWindowProperties")+                     <*> (o .:? "videoReportingId")+                     <*> (o .:? "id")+                     <*> (o .:? "artworkLabel")+                     <*> (o .:? "artworkType"))++instance ToJSON CreativeCustomEvent where+        toJSON CreativeCustomEvent{..}+          = object+              (catMaybes+                 [("advertiserCustomEventType" .=) <$>+                    _cceAdvertiserCustomEventType,+                  ("advertiserCustomEventName" .=) <$>+                    _cceAdvertiserCustomEventName,+                  ("exitUrl" .=) <$> _cceExitURL,+                  ("targetType" .=) <$> _cceTargetType,+                  ("popupWindowProperties" .=) <$>+                    _ccePopupWindowProperties,+                  ("videoReportingId" .=) <$> _cceVideoReportingId,+                  ("id" .=) <$> _cceId,+                  ("artworkLabel" .=) <$> _cceArtworkLabel,+                  ("artworkType" .=) <$> _cceArtworkType])++-- | Creative Click Tag.+--+-- /See:/ 'clickTag' smart constructor.+data ClickTag = ClickTag+    { _ctValue     :: !(Maybe Text)+    , _ctName      :: !(Maybe Text)+    , _ctEventName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClickTag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctValue'+--+-- * 'ctName'+--+-- * 'ctEventName'+clickTag+    :: ClickTag+clickTag =+    ClickTag+    { _ctValue = Nothing+    , _ctName = Nothing+    , _ctEventName = Nothing+    }++-- | Parameter value for the specified click tag. This field contains a+-- click-through url.+ctValue :: Lens' ClickTag (Maybe Text)+ctValue = lens _ctValue (\ s a -> s{_ctValue = a})++-- | Parameter name for the specified click tag. For ENHANCED_IMAGE creative+-- assets, this field must match the value of the creative asset\'s+-- creativeAssetId.name field.+ctName :: Lens' ClickTag (Maybe Text)+ctName = lens _ctName (\ s a -> s{_ctName = a})++-- | Advertiser event name associated with the click tag. This field is used+-- by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.+ctEventName :: Lens' ClickTag (Maybe Text)+ctEventName+  = lens _ctEventName (\ s a -> s{_ctEventName = a})++instance FromJSON ClickTag where+        parseJSON+          = withObject "ClickTag"+              (\ o ->+                 ClickTag <$>+                   (o .:? "value") <*> (o .:? "name") <*>+                     (o .:? "eventName"))++instance ToJSON ClickTag where+        toJSON ClickTag{..}+          = object+              (catMaybes+                 [("value" .=) <$> _ctValue, ("name" .=) <$> _ctName,+                  ("eventName" .=) <$> _ctEventName])++-- | Campaign List Response+--+-- /See:/ 'campaignsListResponse' smart constructor.+data CampaignsListResponse = CampaignsListResponse+    { _clrNextPageToken :: !(Maybe Text)+    , _clrCampaigns     :: !(Maybe [Campaign])+    , _clrKind          :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clrNextPageToken'+--+-- * 'clrCampaigns'+--+-- * 'clrKind'+campaignsListResponse+    :: CampaignsListResponse+campaignsListResponse =+    CampaignsListResponse+    { _clrNextPageToken = Nothing+    , _clrCampaigns = Nothing+    , _clrKind = "dfareporting#campaignsListResponse"+    }++-- | Pagination token to be used for the next list operation.+clrNextPageToken :: Lens' CampaignsListResponse (Maybe Text)+clrNextPageToken+  = lens _clrNextPageToken+      (\ s a -> s{_clrNextPageToken = a})++-- | Campaign collection.+clrCampaigns :: Lens' CampaignsListResponse [Campaign]+clrCampaigns+  = lens _clrCampaigns (\ s a -> s{_clrCampaigns = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#campaignsListResponse\".+clrKind :: Lens' CampaignsListResponse Text+clrKind = lens _clrKind (\ s a -> s{_clrKind = a})++instance FromJSON CampaignsListResponse where+        parseJSON+          = withObject "CampaignsListResponse"+              (\ o ->+                 CampaignsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "campaigns" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#campaignsListResponse"))++instance ToJSON CampaignsListResponse where+        toJSON CampaignsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _clrNextPageToken,+                  ("campaigns" .=) <$> _clrCampaigns,+                  Just ("kind" .= _clrKind)])++-- | Geographical Targeting.+--+-- /See:/ 'geoTargeting' smart constructor.+data GeoTargeting = GeoTargeting+    { _gtRegions          :: !(Maybe [Region])+    , _gtCountries        :: !(Maybe [Country])+    , _gtCities           :: !(Maybe [City])+    , _gtMetros           :: !(Maybe [Metro])+    , _gtExcludeCountries :: !(Maybe Bool)+    , _gtPostalCodes      :: !(Maybe [PostalCode])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoTargeting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtRegions'+--+-- * 'gtCountries'+--+-- * 'gtCities'+--+-- * 'gtMetros'+--+-- * 'gtExcludeCountries'+--+-- * 'gtPostalCodes'+geoTargeting+    :: GeoTargeting+geoTargeting =+    GeoTargeting+    { _gtRegions = Nothing+    , _gtCountries = Nothing+    , _gtCities = Nothing+    , _gtMetros = Nothing+    , _gtExcludeCountries = Nothing+    , _gtPostalCodes = Nothing+    }++-- | Regions to be targeted. For each region only dartId is required. The+-- other fields are populated automatically when the ad is inserted or+-- updated. If targeting a region, do not target or exclude the country of+-- the region.+gtRegions :: Lens' GeoTargeting [Region]+gtRegions+  = lens _gtRegions (\ s a -> s{_gtRegions = a}) .+      _Default+      . _Coerce++-- | Countries to be targeted or excluded from targeting, depending on the+-- setting of the excludeCountries field. For each country only dartId is+-- required. The other fields are populated automatically when the ad is+-- inserted or updated. If targeting or excluding a country, do not target+-- regions, cities, metros, or postal codes in the same country.+gtCountries :: Lens' GeoTargeting [Country]+gtCountries+  = lens _gtCountries (\ s a -> s{_gtCountries = a}) .+      _Default+      . _Coerce++-- | Cities to be targeted. For each city only dartId is required. The other+-- fields are populated automatically when the ad is inserted or updated.+-- If targeting a city, do not target or exclude the country of the city,+-- and do not target the metro or region of the city.+gtCities :: Lens' GeoTargeting [City]+gtCities+  = lens _gtCities (\ s a -> s{_gtCities = a}) .+      _Default+      . _Coerce++-- | Metros to be targeted. For each metro only dmaId is required. The other+-- fields are populated automatically when the ad is inserted or updated.+-- If targeting a metro, do not target or exclude the country of the metro.+gtMetros :: Lens' GeoTargeting [Metro]+gtMetros+  = lens _gtMetros (\ s a -> s{_gtMetros = a}) .+      _Default+      . _Coerce++-- | Whether or not to exclude the countries in the countries field from+-- targeting. If false, the countries field refers to countries which will+-- be targeted by the ad.+gtExcludeCountries :: Lens' GeoTargeting (Maybe Bool)+gtExcludeCountries+  = lens _gtExcludeCountries+      (\ s a -> s{_gtExcludeCountries = a})++-- | Postal codes to be targeted. For each postal code only id is required.+-- The other fields are populated automatically when the ad is inserted or+-- updated. If targeting a postal code, do not target or exclude the+-- country of the postal code.+gtPostalCodes :: Lens' GeoTargeting [PostalCode]+gtPostalCodes+  = lens _gtPostalCodes+      (\ s a -> s{_gtPostalCodes = a})+      . _Default+      . _Coerce++instance FromJSON GeoTargeting where+        parseJSON+          = withObject "GeoTargeting"+              (\ o ->+                 GeoTargeting <$>+                   (o .:? "regions" .!= mempty) <*>+                     (o .:? "countries" .!= mempty)+                     <*> (o .:? "cities" .!= mempty)+                     <*> (o .:? "metros" .!= mempty)+                     <*> (o .:? "excludeCountries")+                     <*> (o .:? "postalCodes" .!= mempty))++instance ToJSON GeoTargeting where+        toJSON GeoTargeting{..}+          = object+              (catMaybes+                 [("regions" .=) <$> _gtRegions,+                  ("countries" .=) <$> _gtCountries,+                  ("cities" .=) <$> _gtCities,+                  ("metros" .=) <$> _gtMetros,+                  ("excludeCountries" .=) <$> _gtExcludeCountries,+                  ("postalCodes" .=) <$> _gtPostalCodes])++-- | Represents fields that are compatible to be selected for a report of+-- type \"REACH\".+--+-- /See:/ 'reachReportCompatibleFields' smart constructor.+data ReachReportCompatibleFields = ReachReportCompatibleFields+    { _rrcfMetrics                 :: !(Maybe [Metric])+    , _rrcfReachByFrequencyMetrics :: !(Maybe [Metric])+    , _rrcfKind                    :: !Text+    , _rrcfDimensionFilters        :: !(Maybe [Dimension])+    , _rrcfPivotedActivityMetrics  :: !(Maybe [Metric])+    , _rrcfDimensions              :: !(Maybe [Dimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReachReportCompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrcfMetrics'+--+-- * 'rrcfReachByFrequencyMetrics'+--+-- * 'rrcfKind'+--+-- * 'rrcfDimensionFilters'+--+-- * 'rrcfPivotedActivityMetrics'+--+-- * 'rrcfDimensions'+reachReportCompatibleFields+    :: ReachReportCompatibleFields+reachReportCompatibleFields =+    ReachReportCompatibleFields+    { _rrcfMetrics = Nothing+    , _rrcfReachByFrequencyMetrics = Nothing+    , _rrcfKind = "dfareporting#reachReportCompatibleFields"+    , _rrcfDimensionFilters = Nothing+    , _rrcfPivotedActivityMetrics = Nothing+    , _rrcfDimensions = Nothing+    }++-- | Metrics which are compatible to be selected in the \"metricNames\"+-- section of the report.+rrcfMetrics :: Lens' ReachReportCompatibleFields [Metric]+rrcfMetrics+  = lens _rrcfMetrics (\ s a -> s{_rrcfMetrics = a}) .+      _Default+      . _Coerce++-- | Metrics which are compatible to be selected in the+-- \"reachByFrequencyMetricNames\" section of the report.+rrcfReachByFrequencyMetrics :: Lens' ReachReportCompatibleFields [Metric]+rrcfReachByFrequencyMetrics+  = lens _rrcfReachByFrequencyMetrics+      (\ s a -> s{_rrcfReachByFrequencyMetrics = a})+      . _Default+      . _Coerce++-- | The kind of resource this is, in this case+-- dfareporting#reachReportCompatibleFields.+rrcfKind :: Lens' ReachReportCompatibleFields Text+rrcfKind = lens _rrcfKind (\ s a -> s{_rrcfKind = a})++-- | Dimensions which are compatible to be selected in the+-- \"dimensionFilters\" section of the report.+rrcfDimensionFilters :: Lens' ReachReportCompatibleFields [Dimension]+rrcfDimensionFilters+  = lens _rrcfDimensionFilters+      (\ s a -> s{_rrcfDimensionFilters = a})+      . _Default+      . _Coerce++-- | Metrics which are compatible to be selected as activity metrics to pivot+-- on in the \"activities\" section of the report.+rrcfPivotedActivityMetrics :: Lens' ReachReportCompatibleFields [Metric]+rrcfPivotedActivityMetrics+  = lens _rrcfPivotedActivityMetrics+      (\ s a -> s{_rrcfPivotedActivityMetrics = a})+      . _Default+      . _Coerce++-- | Dimensions which are compatible to be selected in the \"dimensions\"+-- section of the report.+rrcfDimensions :: Lens' ReachReportCompatibleFields [Dimension]+rrcfDimensions+  = lens _rrcfDimensions+      (\ s a -> s{_rrcfDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReachReportCompatibleFields where+        parseJSON+          = withObject "ReachReportCompatibleFields"+              (\ o ->+                 ReachReportCompatibleFields <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "reachByFrequencyMetrics" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#reachReportCompatibleFields")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "pivotedActivityMetrics" .!= mempty)+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON ReachReportCompatibleFields where+        toJSON ReachReportCompatibleFields{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _rrcfMetrics,+                  ("reachByFrequencyMetrics" .=) <$>+                    _rrcfReachByFrequencyMetrics,+                  Just ("kind" .= _rrcfKind),+                  ("dimensionFilters" .=) <$> _rrcfDimensionFilters,+                  ("pivotedActivityMetrics" .=) <$>+                    _rrcfPivotedActivityMetrics,+                  ("dimensions" .=) <$> _rrcfDimensions])++-- | Contains information about a browser that can be targeted by ads.+--+-- /See:/ 'browser' smart constructor.+data Browser = Browser+    { _bMinorVersion     :: !(Maybe Text)+    , _bKind             :: !Text+    , _bBrowserVersionId :: !(Maybe (Textual Int64))+    , _bMajorVersion     :: !(Maybe Text)+    , _bName             :: !(Maybe Text)+    , _bDartId           :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Browser' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bMinorVersion'+--+-- * 'bKind'+--+-- * 'bBrowserVersionId'+--+-- * 'bMajorVersion'+--+-- * 'bName'+--+-- * 'bDartId'+browser+    :: Browser+browser =+    Browser+    { _bMinorVersion = Nothing+    , _bKind = "dfareporting#browser"+    , _bBrowserVersionId = Nothing+    , _bMajorVersion = Nothing+    , _bName = Nothing+    , _bDartId = Nothing+    }++-- | Minor version number (number after first dot on left) of this browser.+-- For example, for Chrome 5.0.375.86 beta, this field should be set to 0.+-- An asterisk (*) may be used to target any version number, and a question+-- mark (?) may be used to target cases where the version number cannot be+-- identified. For example, Chrome *.* targets any version of Chrome: 1.2,+-- 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0.+-- Firefox ?.? targets cases where the ad server knows the browser is+-- Firefox but can\'t tell which version it is.+bMinorVersion :: Lens' Browser (Maybe Text)+bMinorVersion+  = lens _bMinorVersion+      (\ s a -> s{_bMinorVersion = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#browser\".+bKind :: Lens' Browser Text+bKind = lens _bKind (\ s a -> s{_bKind = a})++-- | ID referring to this grouping of browser and version numbers. This is+-- the ID used for targeting.+bBrowserVersionId :: Lens' Browser (Maybe Int64)+bBrowserVersionId+  = lens _bBrowserVersionId+      (\ s a -> s{_bBrowserVersionId = a})+      . mapping _Coerce++-- | Major version number (leftmost number) of this browser. For example, for+-- Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*)+-- may be used to target any version number, and a question mark (?) may be+-- used to target cases where the version number cannot be identified. For+-- example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so+-- on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets+-- cases where the ad server knows the browser is Firefox but can\'t tell+-- which version it is.+bMajorVersion :: Lens' Browser (Maybe Text)+bMajorVersion+  = lens _bMajorVersion+      (\ s a -> s{_bMajorVersion = a})++-- | Name of this browser.+bName :: Lens' Browser (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a})++-- | DART ID of this browser. This is the ID used when generating reports.+bDartId :: Lens' Browser (Maybe Int64)+bDartId+  = lens _bDartId (\ s a -> s{_bDartId = a}) .+      mapping _Coerce++instance FromJSON Browser where+        parseJSON+          = withObject "Browser"+              (\ o ->+                 Browser <$>+                   (o .:? "minorVersion") <*>+                     (o .:? "kind" .!= "dfareporting#browser")+                     <*> (o .:? "browserVersionId")+                     <*> (o .:? "majorVersion")+                     <*> (o .:? "name")+                     <*> (o .:? "dartId"))++instance ToJSON Browser where+        toJSON Browser{..}+          = object+              (catMaybes+                 [("minorVersion" .=) <$> _bMinorVersion,+                  Just ("kind" .= _bKind),+                  ("browserVersionId" .=) <$> _bBrowserVersionId,+                  ("majorVersion" .=) <$> _bMajorVersion,+                  ("name" .=) <$> _bName, ("dartId" .=) <$> _bDartId])++-- | Creative Group Assignment.+--+-- /See:/ 'creativeGroupAssignment' smart constructor.+data CreativeGroupAssignment = CreativeGroupAssignment+    { _cgaCreativeGroupNumber :: !(Maybe CreativeGroupAssignmentCreativeGroupNumber)+    , _cgaCreativeGroupId     :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgaCreativeGroupNumber'+--+-- * 'cgaCreativeGroupId'+creativeGroupAssignment+    :: CreativeGroupAssignment+creativeGroupAssignment =+    CreativeGroupAssignment+    { _cgaCreativeGroupNumber = Nothing+    , _cgaCreativeGroupId = Nothing+    }++-- | Creative group number of the creative group assignment.+cgaCreativeGroupNumber :: Lens' CreativeGroupAssignment (Maybe CreativeGroupAssignmentCreativeGroupNumber)+cgaCreativeGroupNumber+  = lens _cgaCreativeGroupNumber+      (\ s a -> s{_cgaCreativeGroupNumber = a})++-- | ID of the creative group to be assigned.+cgaCreativeGroupId :: Lens' CreativeGroupAssignment (Maybe Int64)+cgaCreativeGroupId+  = lens _cgaCreativeGroupId+      (\ s a -> s{_cgaCreativeGroupId = a})+      . mapping _Coerce++instance FromJSON CreativeGroupAssignment where+        parseJSON+          = withObject "CreativeGroupAssignment"+              (\ o ->+                 CreativeGroupAssignment <$>+                   (o .:? "creativeGroupNumber") <*>+                     (o .:? "creativeGroupId"))++instance ToJSON CreativeGroupAssignment where+        toJSON CreativeGroupAssignment{..}+          = object+              (catMaybes+                 [("creativeGroupNumber" .=) <$>+                    _cgaCreativeGroupNumber,+                  ("creativeGroupId" .=) <$> _cgaCreativeGroupId])++-- | Directory Site Settings+--+-- /See:/ 'directorySiteSettings' smart constructor.+data DirectorySiteSettings = DirectorySiteSettings+    { _dssInterstitialPlacementAccepted  :: !(Maybe Bool)+    , _dssDfpSettings                    :: !(Maybe DfpSettings)+    , _dssVerificationTagOptOut          :: !(Maybe Bool)+    , _dssActiveViewOptOut               :: !(Maybe Bool)+    , _dssVideoActiveViewOptOut          :: !(Maybe Bool)+    , _dssInstreamVideoPlacementAccepted :: !(Maybe Bool)+    , _dssNielsenOCROptOut               :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssInterstitialPlacementAccepted'+--+-- * 'dssDfpSettings'+--+-- * 'dssVerificationTagOptOut'+--+-- * 'dssActiveViewOptOut'+--+-- * 'dssVideoActiveViewOptOut'+--+-- * 'dssInstreamVideoPlacementAccepted'+--+-- * 'dssNielsenOCROptOut'+directorySiteSettings+    :: DirectorySiteSettings+directorySiteSettings =+    DirectorySiteSettings+    { _dssInterstitialPlacementAccepted = Nothing+    , _dssDfpSettings = Nothing+    , _dssVerificationTagOptOut = Nothing+    , _dssActiveViewOptOut = Nothing+    , _dssVideoActiveViewOptOut = Nothing+    , _dssInstreamVideoPlacementAccepted = Nothing+    , _dssNielsenOCROptOut = Nothing+    }++-- | Whether this site accepts interstitial ads.+dssInterstitialPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)+dssInterstitialPlacementAccepted+  = lens _dssInterstitialPlacementAccepted+      (\ s a -> s{_dssInterstitialPlacementAccepted = a})++-- | Directory site DFP settings.+dssDfpSettings :: Lens' DirectorySiteSettings (Maybe DfpSettings)+dssDfpSettings+  = lens _dssDfpSettings+      (\ s a -> s{_dssDfpSettings = a})++-- | Whether this directory site has disabled generation of Verification ins+-- tags.+dssVerificationTagOptOut :: Lens' DirectorySiteSettings (Maybe Bool)+dssVerificationTagOptOut+  = lens _dssVerificationTagOptOut+      (\ s a -> s{_dssVerificationTagOptOut = a})++-- | Whether this directory site has disabled active view creatives.+dssActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)+dssActiveViewOptOut+  = lens _dssActiveViewOptOut+      (\ s a -> s{_dssActiveViewOptOut = a})++-- | Whether this directory site has disabled active view for in-stream video+-- creatives.+dssVideoActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)+dssVideoActiveViewOptOut+  = lens _dssVideoActiveViewOptOut+      (\ s a -> s{_dssVideoActiveViewOptOut = a})++-- | Whether this site accepts in-stream video ads.+dssInstreamVideoPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)+dssInstreamVideoPlacementAccepted+  = lens _dssInstreamVideoPlacementAccepted+      (\ s a -> s{_dssInstreamVideoPlacementAccepted = a})++-- | Whether this directory site has disabled Nielsen OCR reach ratings.+dssNielsenOCROptOut :: Lens' DirectorySiteSettings (Maybe Bool)+dssNielsenOCROptOut+  = lens _dssNielsenOCROptOut+      (\ s a -> s{_dssNielsenOCROptOut = a})++instance FromJSON DirectorySiteSettings where+        parseJSON+          = withObject "DirectorySiteSettings"+              (\ o ->+                 DirectorySiteSettings <$>+                   (o .:? "interstitialPlacementAccepted") <*>+                     (o .:? "dfp_settings")+                     <*> (o .:? "verificationTagOptOut")+                     <*> (o .:? "activeViewOptOut")+                     <*> (o .:? "videoActiveViewOptOut")+                     <*> (o .:? "instream_video_placement_accepted")+                     <*> (o .:? "nielsenOcrOptOut"))++instance ToJSON DirectorySiteSettings where+        toJSON DirectorySiteSettings{..}+          = object+              (catMaybes+                 [("interstitialPlacementAccepted" .=) <$>+                    _dssInterstitialPlacementAccepted,+                  ("dfp_settings" .=) <$> _dssDfpSettings,+                  ("verificationTagOptOut" .=) <$>+                    _dssVerificationTagOptOut,+                  ("activeViewOptOut" .=) <$> _dssActiveViewOptOut,+                  ("videoActiveViewOptOut" .=) <$>+                    _dssVideoActiveViewOptOut,+                  ("instream_video_placement_accepted" .=) <$>+                    _dssInstreamVideoPlacementAccepted,+                  ("nielsenOcrOptOut" .=) <$> _dssNielsenOCROptOut])++-- | Remarketing List Population Rule.+--+-- /See:/ 'listPopulationRule' smart constructor.+data ListPopulationRule = ListPopulationRule+    { _lprFloodlightActivityName :: !(Maybe Text)+    , _lprFloodlightActivityId   :: !(Maybe (Textual Int64))+    , _lprListPopulationClauses  :: !(Maybe [ListPopulationClause])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPopulationRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprFloodlightActivityName'+--+-- * 'lprFloodlightActivityId'+--+-- * 'lprListPopulationClauses'+listPopulationRule+    :: ListPopulationRule+listPopulationRule =+    ListPopulationRule+    { _lprFloodlightActivityName = Nothing+    , _lprFloodlightActivityId = Nothing+    , _lprListPopulationClauses = Nothing+    }++-- | Name of floodlight activity associated with this rule. This is a+-- read-only, auto-generated field.+lprFloodlightActivityName :: Lens' ListPopulationRule (Maybe Text)+lprFloodlightActivityName+  = lens _lprFloodlightActivityName+      (\ s a -> s{_lprFloodlightActivityName = a})++-- | Floodlight activity ID associated with this rule. This field can be left+-- blank.+lprFloodlightActivityId :: Lens' ListPopulationRule (Maybe Int64)+lprFloodlightActivityId+  = lens _lprFloodlightActivityId+      (\ s a -> s{_lprFloodlightActivityId = a})+      . mapping _Coerce++-- | Clauses that make up this list population rule. Clauses are joined by+-- ANDs, and the clauses themselves are made up of list population terms+-- which are joined by ORs.+lprListPopulationClauses :: Lens' ListPopulationRule [ListPopulationClause]+lprListPopulationClauses+  = lens _lprListPopulationClauses+      (\ s a -> s{_lprListPopulationClauses = a})+      . _Default+      . _Coerce++instance FromJSON ListPopulationRule where+        parseJSON+          = withObject "ListPopulationRule"+              (\ o ->+                 ListPopulationRule <$>+                   (o .:? "floodlightActivityName") <*>+                     (o .:? "floodlightActivityId")+                     <*> (o .:? "listPopulationClauses" .!= mempty))++instance ToJSON ListPopulationRule where+        toJSON ListPopulationRule{..}+          = object+              (catMaybes+                 [("floodlightActivityName" .=) <$>+                    _lprFloodlightActivityName,+                  ("floodlightActivityId" .=) <$>+                    _lprFloodlightActivityId,+                  ("listPopulationClauses" .=) <$>+                    _lprListPopulationClauses])++-- | Size List Response+--+-- /See:/ 'sizesListResponse' smart constructor.+data SizesListResponse = SizesListResponse+    { _slrKind  :: !Text+    , _slrSizes :: !(Maybe [Size])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SizesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slrKind'+--+-- * 'slrSizes'+sizesListResponse+    :: SizesListResponse+sizesListResponse =+    SizesListResponse+    { _slrKind = "dfareporting#sizesListResponse"+    , _slrSizes = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#sizesListResponse\".+slrKind :: Lens' SizesListResponse Text+slrKind = lens _slrKind (\ s a -> s{_slrKind = a})++-- | Size collection.+slrSizes :: Lens' SizesListResponse [Size]+slrSizes+  = lens _slrSizes (\ s a -> s{_slrSizes = a}) .+      _Default+      . _Coerce++instance FromJSON SizesListResponse where+        parseJSON+          = withObject "SizesListResponse"+              (\ o ->+                 SizesListResponse <$>+                   (o .:? "kind" .!= "dfareporting#sizesListResponse")+                     <*> (o .:? "sizes" .!= mempty))++instance ToJSON SizesListResponse where+        toJSON SizesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _slrKind),+                  ("sizes" .=) <$> _slrSizes])++-- | Creative Rotation.+--+-- /See:/ 'creativeRotation' smart constructor.+data CreativeRotation = CreativeRotation+    { _crWeightCalculationStrategy           :: !(Maybe CreativeRotationWeightCalculationStrategy)+    , _crCreativeAssignments                 :: !(Maybe [CreativeAssignment])+    , _crCreativeOptimizationConfigurationId :: !(Maybe (Textual Int64))+    , _crType                                :: !(Maybe CreativeRotationType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeRotation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crWeightCalculationStrategy'+--+-- * 'crCreativeAssignments'+--+-- * 'crCreativeOptimizationConfigurationId'+--+-- * 'crType'+creativeRotation+    :: CreativeRotation+creativeRotation =+    CreativeRotation+    { _crWeightCalculationStrategy = Nothing+    , _crCreativeAssignments = Nothing+    , _crCreativeOptimizationConfigurationId = Nothing+    , _crType = Nothing+    }++-- | Strategy for calculating weights. Used with+-- CREATIVE_ROTATION_TYPE_RANDOM.+crWeightCalculationStrategy :: Lens' CreativeRotation (Maybe CreativeRotationWeightCalculationStrategy)+crWeightCalculationStrategy+  = lens _crWeightCalculationStrategy+      (\ s a -> s{_crWeightCalculationStrategy = a})++-- | Creative assignments in this creative rotation.+crCreativeAssignments :: Lens' CreativeRotation [CreativeAssignment]+crCreativeAssignments+  = lens _crCreativeAssignments+      (\ s a -> s{_crCreativeAssignments = a})+      . _Default+      . _Coerce++-- | Creative optimization configuration that is used by this ad. It should+-- refer to one of the existing optimization configurations in the ad\'s+-- campaign. If it is unset or set to 0, then the campaign\'s default+-- optimization configuration will be used for this ad.+crCreativeOptimizationConfigurationId :: Lens' CreativeRotation (Maybe Int64)+crCreativeOptimizationConfigurationId+  = lens _crCreativeOptimizationConfigurationId+      (\ s a ->+         s{_crCreativeOptimizationConfigurationId = a})+      . mapping _Coerce++-- | Type of creative rotation. Can be used to specify whether to use+-- sequential or random rotation.+crType :: Lens' CreativeRotation (Maybe CreativeRotationType)+crType = lens _crType (\ s a -> s{_crType = a})++instance FromJSON CreativeRotation where+        parseJSON+          = withObject "CreativeRotation"+              (\ o ->+                 CreativeRotation <$>+                   (o .:? "weightCalculationStrategy") <*>+                     (o .:? "creativeAssignments" .!= mempty)+                     <*> (o .:? "creativeOptimizationConfigurationId")+                     <*> (o .:? "type"))++instance ToJSON CreativeRotation where+        toJSON CreativeRotation{..}+          = object+              (catMaybes+                 [("weightCalculationStrategy" .=) <$>+                    _crWeightCalculationStrategy,+                  ("creativeAssignments" .=) <$>+                    _crCreativeAssignments,+                  ("creativeOptimizationConfigurationId" .=) <$>+                    _crCreativeOptimizationConfigurationId,+                  ("type" .=) <$> _crType])++-- | Technology Targeting.+--+-- /See:/ 'technologyTargeting' smart constructor.+data TechnologyTargeting = TechnologyTargeting+    { _ttMobileCarriers          :: !(Maybe [MobileCarrier])+    , _ttOperatingSystemVersions :: !(Maybe [OperatingSystemVersion])+    , _ttPlatformTypes           :: !(Maybe [PlatformType])+    , _ttBrowsers                :: !(Maybe [Browser])+    , _ttConnectionTypes         :: !(Maybe [ConnectionType])+    , _ttOperatingSystems        :: !(Maybe [OperatingSystem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TechnologyTargeting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ttMobileCarriers'+--+-- * 'ttOperatingSystemVersions'+--+-- * 'ttPlatformTypes'+--+-- * 'ttBrowsers'+--+-- * 'ttConnectionTypes'+--+-- * 'ttOperatingSystems'+technologyTargeting+    :: TechnologyTargeting+technologyTargeting =+    TechnologyTargeting+    { _ttMobileCarriers = Nothing+    , _ttOperatingSystemVersions = Nothing+    , _ttPlatformTypes = Nothing+    , _ttBrowsers = Nothing+    , _ttConnectionTypes = Nothing+    , _ttOperatingSystems = Nothing+    }++-- | Mobile carriers that this ad targets. For each mobile carrier only id is+-- required, and the other fields are populated automatically when the ad+-- is inserted or updated. If targeting a mobile carrier, do not set+-- targeting for any zip codes.+ttMobileCarriers :: Lens' TechnologyTargeting [MobileCarrier]+ttMobileCarriers+  = lens _ttMobileCarriers+      (\ s a -> s{_ttMobileCarriers = a})+      . _Default+      . _Coerce++-- | Operating system versions that this ad targets. To target all versions,+-- use operatingSystems. For each operating system version, only id is+-- required. The other fields are populated automatically when the ad is+-- inserted or updated. If targeting an operating system version, do not+-- set targeting for the corresponding operating system in+-- operatingSystems.+ttOperatingSystemVersions :: Lens' TechnologyTargeting [OperatingSystemVersion]+ttOperatingSystemVersions+  = lens _ttOperatingSystemVersions+      (\ s a -> s{_ttOperatingSystemVersions = a})+      . _Default+      . _Coerce++-- | Platform types that this ad targets. For example, desktop, mobile, or+-- tablet. For each platform type, only id is required, and the other+-- fields are populated automatically when the ad is inserted or updated.+ttPlatformTypes :: Lens' TechnologyTargeting [PlatformType]+ttPlatformTypes+  = lens _ttPlatformTypes+      (\ s a -> s{_ttPlatformTypes = a})+      . _Default+      . _Coerce++-- | Browsers that this ad targets. For each browser either set+-- browserVersionId or dartId along with the version numbers. If both are+-- specified, only browserVersionId will be used.The other fields are+-- populated automatically when the ad is inserted or updated.+ttBrowsers :: Lens' TechnologyTargeting [Browser]+ttBrowsers+  = lens _ttBrowsers (\ s a -> s{_ttBrowsers = a}) .+      _Default+      . _Coerce++-- | Connection types that this ad targets. For each connection type only id+-- is required.The other fields are populated automatically when the ad is+-- inserted or updated.+ttConnectionTypes :: Lens' TechnologyTargeting [ConnectionType]+ttConnectionTypes+  = lens _ttConnectionTypes+      (\ s a -> s{_ttConnectionTypes = a})+      . _Default+      . _Coerce++-- | Operating systems that this ad targets. To target specific versions, use+-- operatingSystemVersions. For each operating system only dartId is+-- required. The other fields are populated automatically when the ad is+-- inserted or updated. If targeting an operating system, do not set+-- targeting for operating system versions for the same operating system.+ttOperatingSystems :: Lens' TechnologyTargeting [OperatingSystem]+ttOperatingSystems+  = lens _ttOperatingSystems+      (\ s a -> s{_ttOperatingSystems = a})+      . _Default+      . _Coerce++instance FromJSON TechnologyTargeting where+        parseJSON+          = withObject "TechnologyTargeting"+              (\ o ->+                 TechnologyTargeting <$>+                   (o .:? "mobileCarriers" .!= mempty) <*>+                     (o .:? "operatingSystemVersions" .!= mempty)+                     <*> (o .:? "platformTypes" .!= mempty)+                     <*> (o .:? "browsers" .!= mempty)+                     <*> (o .:? "connectionTypes" .!= mempty)+                     <*> (o .:? "operatingSystems" .!= mempty))++instance ToJSON TechnologyTargeting where+        toJSON TechnologyTargeting{..}+          = object+              (catMaybes+                 [("mobileCarriers" .=) <$> _ttMobileCarriers,+                  ("operatingSystemVersions" .=) <$>+                    _ttOperatingSystemVersions,+                  ("platformTypes" .=) <$> _ttPlatformTypes,+                  ("browsers" .=) <$> _ttBrowsers,+                  ("connectionTypes" .=) <$> _ttConnectionTypes,+                  ("operatingSystems" .=) <$> _ttOperatingSystems])++-- | Represents a buy from the DoubleClick Planning inventory store.+--+-- /See:/ 'inventoryItem' smart constructor.+data InventoryItem = InventoryItem+    { _iiPlacementStrategyId       :: !(Maybe (Textual Int64))+    , _iiEstimatedClickThroughRate :: !(Maybe (Textual Int64))+    , _iiPricing                   :: !(Maybe Pricing)+    , _iiKind                      :: !Text+    , _iiAdvertiserId              :: !(Maybe (Textual Int64))+    , _iiRfpId                     :: !(Maybe (Textual Int64))+    , _iiContentCategoryId         :: !(Maybe (Textual Int64))+    , _iiInPlan                    :: !(Maybe Bool)+    , _iiAccountId                 :: !(Maybe (Textual Int64))+    , _iiName                      :: !(Maybe Text)+    , _iiAdSlots                   :: !(Maybe [AdSlot])+    , _iiNegotiationChannelId      :: !(Maybe (Textual Int64))+    , _iiLastModifiedInfo          :: !(Maybe LastModifiedInfo)+    , _iiId                        :: !(Maybe (Textual Int64))+    , _iiEstimatedConversionRate   :: !(Maybe (Textual Int64))+    , _iiProjectId                 :: !(Maybe (Textual Int64))+    , _iiSubAccountId              :: !(Maybe (Textual Int64))+    , _iiOrderId                   :: !(Maybe (Textual Int64))+    , _iiSiteId                    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InventoryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiPlacementStrategyId'+--+-- * 'iiEstimatedClickThroughRate'+--+-- * 'iiPricing'+--+-- * 'iiKind'+--+-- * 'iiAdvertiserId'+--+-- * 'iiRfpId'+--+-- * 'iiContentCategoryId'+--+-- * 'iiInPlan'+--+-- * 'iiAccountId'+--+-- * 'iiName'+--+-- * 'iiAdSlots'+--+-- * 'iiNegotiationChannelId'+--+-- * 'iiLastModifiedInfo'+--+-- * 'iiId'+--+-- * 'iiEstimatedConversionRate'+--+-- * 'iiProjectId'+--+-- * 'iiSubAccountId'+--+-- * 'iiOrderId'+--+-- * 'iiSiteId'+inventoryItem+    :: InventoryItem+inventoryItem =+    InventoryItem+    { _iiPlacementStrategyId = Nothing+    , _iiEstimatedClickThroughRate = Nothing+    , _iiPricing = Nothing+    , _iiKind = "dfareporting#inventoryItem"+    , _iiAdvertiserId = Nothing+    , _iiRfpId = Nothing+    , _iiContentCategoryId = Nothing+    , _iiInPlan = Nothing+    , _iiAccountId = Nothing+    , _iiName = Nothing+    , _iiAdSlots = Nothing+    , _iiNegotiationChannelId = Nothing+    , _iiLastModifiedInfo = Nothing+    , _iiId = Nothing+    , _iiEstimatedConversionRate = Nothing+    , _iiProjectId = Nothing+    , _iiSubAccountId = Nothing+    , _iiOrderId = Nothing+    , _iiSiteId = Nothing+    }++-- | Placement strategy ID of this inventory item.+iiPlacementStrategyId :: Lens' InventoryItem (Maybe Int64)+iiPlacementStrategyId+  = lens _iiPlacementStrategyId+      (\ s a -> s{_iiPlacementStrategyId = a})+      . mapping _Coerce++-- | Estimated click-through rate of this inventory item.+iiEstimatedClickThroughRate :: Lens' InventoryItem (Maybe Int64)+iiEstimatedClickThroughRate+  = lens _iiEstimatedClickThroughRate+      (\ s a -> s{_iiEstimatedClickThroughRate = a})+      . mapping _Coerce++-- | Pricing of this inventory item.+iiPricing :: Lens' InventoryItem (Maybe Pricing)+iiPricing+  = lens _iiPricing (\ s a -> s{_iiPricing = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#inventoryItem\".+iiKind :: Lens' InventoryItem Text+iiKind = lens _iiKind (\ s a -> s{_iiKind = a})++-- | Advertiser ID of this inventory item.+iiAdvertiserId :: Lens' InventoryItem (Maybe Int64)+iiAdvertiserId+  = lens _iiAdvertiserId+      (\ s a -> s{_iiAdvertiserId = a})+      . mapping _Coerce++-- | RFP ID of this inventory item.+iiRfpId :: Lens' InventoryItem (Maybe Int64)+iiRfpId+  = lens _iiRfpId (\ s a -> s{_iiRfpId = a}) .+      mapping _Coerce++-- | Content category ID of this inventory item.+iiContentCategoryId :: Lens' InventoryItem (Maybe Int64)+iiContentCategoryId+  = lens _iiContentCategoryId+      (\ s a -> s{_iiContentCategoryId = a})+      . mapping _Coerce++-- | Whether this inventory item is in plan.+iiInPlan :: Lens' InventoryItem (Maybe Bool)+iiInPlan = lens _iiInPlan (\ s a -> s{_iiInPlan = a})++-- | Account ID of this inventory item.+iiAccountId :: Lens' InventoryItem (Maybe Int64)+iiAccountId+  = lens _iiAccountId (\ s a -> s{_iiAccountId = a}) .+      mapping _Coerce++-- | Name of this inventory item. For standalone inventory items, this is the+-- same name as that of its only ad slot. For group inventory items, this+-- can differ from the name of any of its ad slots.+iiName :: Lens' InventoryItem (Maybe Text)+iiName = lens _iiName (\ s a -> s{_iiName = a})++-- | Ad slots of this inventory item. If this inventory item represents a+-- standalone placement, there will be exactly one ad slot. If this+-- inventory item represents a placement group, there will be more than one+-- ad slot, each representing one child placement in that placement group.+iiAdSlots :: Lens' InventoryItem [AdSlot]+iiAdSlots+  = lens _iiAdSlots (\ s a -> s{_iiAdSlots = a}) .+      _Default+      . _Coerce++-- | Negotiation channel ID of this inventory item.+iiNegotiationChannelId :: Lens' InventoryItem (Maybe Int64)+iiNegotiationChannelId+  = lens _iiNegotiationChannelId+      (\ s a -> s{_iiNegotiationChannelId = a})+      . mapping _Coerce++-- | Information about the most recent modification of this inventory item.+iiLastModifiedInfo :: Lens' InventoryItem (Maybe LastModifiedInfo)+iiLastModifiedInfo+  = lens _iiLastModifiedInfo+      (\ s a -> s{_iiLastModifiedInfo = a})++-- | ID of this inventory item.+iiId :: Lens' InventoryItem (Maybe Int64)+iiId+  = lens _iiId (\ s a -> s{_iiId = a}) .+      mapping _Coerce++-- | Estimated conversion rate of this inventory item.+iiEstimatedConversionRate :: Lens' InventoryItem (Maybe Int64)+iiEstimatedConversionRate+  = lens _iiEstimatedConversionRate+      (\ s a -> s{_iiEstimatedConversionRate = a})+      . mapping _Coerce++-- | Project ID of this inventory item.+iiProjectId :: Lens' InventoryItem (Maybe Int64)+iiProjectId+  = lens _iiProjectId (\ s a -> s{_iiProjectId = a}) .+      mapping _Coerce++-- | Subaccount ID of this inventory item.+iiSubAccountId :: Lens' InventoryItem (Maybe Int64)+iiSubAccountId+  = lens _iiSubAccountId+      (\ s a -> s{_iiSubAccountId = a})+      . mapping _Coerce++-- | Order ID of this inventory item.+iiOrderId :: Lens' InventoryItem (Maybe Int64)+iiOrderId+  = lens _iiOrderId (\ s a -> s{_iiOrderId = a}) .+      mapping _Coerce++-- | ID of the site this inventory item is associated with.+iiSiteId :: Lens' InventoryItem (Maybe Int64)+iiSiteId+  = lens _iiSiteId (\ s a -> s{_iiSiteId = a}) .+      mapping _Coerce++instance FromJSON InventoryItem where+        parseJSON+          = withObject "InventoryItem"+              (\ o ->+                 InventoryItem <$>+                   (o .:? "placementStrategyId") <*>+                     (o .:? "estimatedClickThroughRate")+                     <*> (o .:? "pricing")+                     <*> (o .:? "kind" .!= "dfareporting#inventoryItem")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "rfpId")+                     <*> (o .:? "contentCategoryId")+                     <*> (o .:? "inPlan")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "adSlots" .!= mempty)+                     <*> (o .:? "negotiationChannelId")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "estimatedConversionRate")+                     <*> (o .:? "projectId")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "orderId")+                     <*> (o .:? "siteId"))++instance ToJSON InventoryItem where+        toJSON InventoryItem{..}+          = object+              (catMaybes+                 [("placementStrategyId" .=) <$>+                    _iiPlacementStrategyId,+                  ("estimatedClickThroughRate" .=) <$>+                    _iiEstimatedClickThroughRate,+                  ("pricing" .=) <$> _iiPricing,+                  Just ("kind" .= _iiKind),+                  ("advertiserId" .=) <$> _iiAdvertiserId,+                  ("rfpId" .=) <$> _iiRfpId,+                  ("contentCategoryId" .=) <$> _iiContentCategoryId,+                  ("inPlan" .=) <$> _iiInPlan,+                  ("accountId" .=) <$> _iiAccountId,+                  ("name" .=) <$> _iiName,+                  ("adSlots" .=) <$> _iiAdSlots,+                  ("negotiationChannelId" .=) <$>+                    _iiNegotiationChannelId,+                  ("lastModifiedInfo" .=) <$> _iiLastModifiedInfo,+                  ("id" .=) <$> _iiId,+                  ("estimatedConversionRate" .=) <$>+                    _iiEstimatedConversionRate,+                  ("projectId" .=) <$> _iiProjectId,+                  ("subaccountId" .=) <$> _iiSubAccountId,+                  ("orderId" .=) <$> _iiOrderId,+                  ("siteId" .=) <$> _iiSiteId])++-- | Project List Response+--+-- /See:/ 'projectsListResponse' smart constructor.+data ProjectsListResponse = ProjectsListResponse+    { _plrNextPageToken :: !(Maybe Text)+    , _plrKind          :: !Text+    , _plrProjects      :: !(Maybe [Project])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plrNextPageToken'+--+-- * 'plrKind'+--+-- * 'plrProjects'+projectsListResponse+    :: ProjectsListResponse+projectsListResponse =+    ProjectsListResponse+    { _plrNextPageToken = Nothing+    , _plrKind = "dfareporting#projectsListResponse"+    , _plrProjects = Nothing+    }++-- | Pagination token to be used for the next list operation.+plrNextPageToken :: Lens' ProjectsListResponse (Maybe Text)+plrNextPageToken+  = lens _plrNextPageToken+      (\ s a -> s{_plrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#projectsListResponse\".+plrKind :: Lens' ProjectsListResponse Text+plrKind = lens _plrKind (\ s a -> s{_plrKind = a})++-- | Project collection.+plrProjects :: Lens' ProjectsListResponse [Project]+plrProjects+  = lens _plrProjects (\ s a -> s{_plrProjects = a}) .+      _Default+      . _Coerce++instance FromJSON ProjectsListResponse where+        parseJSON+          = withObject "ProjectsListResponse"+              (\ o ->+                 ProjectsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#projectsListResponse")+                     <*> (o .:? "projects" .!= mempty))++instance ToJSON ProjectsListResponse where+        toJSON ProjectsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _plrNextPageToken,+                  Just ("kind" .= _plrKind),+                  ("projects" .=) <$> _plrProjects])++-- | Ad List Response+--+-- /See:/ 'adsListResponse' smart constructor.+data AdsListResponse = AdsListResponse+    { _alrNextPageToken :: !(Maybe Text)+    , _alrKind          :: !Text+    , _alrAds           :: !(Maybe [Ad])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alrNextPageToken'+--+-- * 'alrKind'+--+-- * 'alrAds'+adsListResponse+    :: AdsListResponse+adsListResponse =+    AdsListResponse+    { _alrNextPageToken = Nothing+    , _alrKind = "dfareporting#adsListResponse"+    , _alrAds = Nothing+    }++-- | Pagination token to be used for the next list operation.+alrNextPageToken :: Lens' AdsListResponse (Maybe Text)+alrNextPageToken+  = lens _alrNextPageToken+      (\ s a -> s{_alrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#adsListResponse\".+alrKind :: Lens' AdsListResponse Text+alrKind = lens _alrKind (\ s a -> s{_alrKind = a})++-- | Ad collection.+alrAds :: Lens' AdsListResponse [Ad]+alrAds+  = lens _alrAds (\ s a -> s{_alrAds = a}) . _Default .+      _Coerce++instance FromJSON AdsListResponse where+        parseJSON+          = withObject "AdsListResponse"+              (\ o ->+                 AdsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#adsListResponse")+                     <*> (o .:? "ads" .!= mempty))++instance ToJSON AdsListResponse where+        toJSON AdsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _alrNextPageToken,+                  Just ("kind" .= _alrKind), ("ads" .=) <$> _alrAds])++-- | Remarketing List Population Rule Term.+--+-- /See:/ 'listPopulationTerm' smart constructor.+data ListPopulationTerm = ListPopulationTerm+    { _lptOperator             :: !(Maybe ListPopulationTermOperator)+    , _lptValue                :: !(Maybe Text)+    , _lptVariableFriendlyName :: !(Maybe Text)+    , _lptNegation             :: !(Maybe Bool)+    , _lptVariableName         :: !(Maybe Text)+    , _lptRemarketingListId    :: !(Maybe (Textual Int64))+    , _lptType                 :: !(Maybe ListPopulationTermType)+    , _lptContains             :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPopulationTerm' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lptOperator'+--+-- * 'lptValue'+--+-- * 'lptVariableFriendlyName'+--+-- * 'lptNegation'+--+-- * 'lptVariableName'+--+-- * 'lptRemarketingListId'+--+-- * 'lptType'+--+-- * 'lptContains'+listPopulationTerm+    :: ListPopulationTerm+listPopulationTerm =+    ListPopulationTerm+    { _lptOperator = Nothing+    , _lptValue = Nothing+    , _lptVariableFriendlyName = Nothing+    , _lptNegation = Nothing+    , _lptVariableName = Nothing+    , _lptRemarketingListId = Nothing+    , _lptType = Nothing+    , _lptContains = Nothing+    }++-- | Comparison operator of this term. This field is only relevant when type+-- is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.+lptOperator :: Lens' ListPopulationTerm (Maybe ListPopulationTermOperator)+lptOperator+  = lens _lptOperator (\ s a -> s{_lptOperator = a})++-- | Literal to compare the variable to. This field is only relevant when+-- type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.+lptValue :: Lens' ListPopulationTerm (Maybe Text)+lptValue = lens _lptValue (\ s a -> s{_lptValue = a})++-- | Friendly name of this term\'s variable. This is a read-only,+-- auto-generated field. This field is only relevant when type is left+-- unset or set to CUSTOM_VARIABLE_TERM.+lptVariableFriendlyName :: Lens' ListPopulationTerm (Maybe Text)+lptVariableFriendlyName+  = lens _lptVariableFriendlyName+      (\ s a -> s{_lptVariableFriendlyName = a})++-- | Whether to negate the comparison result of this term during rule+-- evaluation. This field is only relevant when type is left unset or set+-- to CUSTOM_VARIABLE_TERM or REFERRER_TERM.+lptNegation :: Lens' ListPopulationTerm (Maybe Bool)+lptNegation+  = lens _lptNegation (\ s a -> s{_lptNegation = a})++-- | Name of the variable (U1, U2, etc.) being compared in this term. This+-- field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or+-- REFERRER_TERM.+lptVariableName :: Lens' ListPopulationTerm (Maybe Text)+lptVariableName+  = lens _lptVariableName+      (\ s a -> s{_lptVariableName = a})++-- | ID of the list in question. This field is only relevant when type is set+-- to LIST_MEMBERSHIP_TERM.+lptRemarketingListId :: Lens' ListPopulationTerm (Maybe Int64)+lptRemarketingListId+  = lens _lptRemarketingListId+      (\ s a -> s{_lptRemarketingListId = a})+      . mapping _Coerce++-- | List population term type determines the applicable fields in this+-- object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName,+-- variableFriendlyName, operator, value, and negation are applicable. If+-- set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are+-- applicable. If set to REFERRER_TERM then operator, value, and negation+-- are applicable.+lptType :: Lens' ListPopulationTerm (Maybe ListPopulationTermType)+lptType = lens _lptType (\ s a -> s{_lptType = a})++-- | Will be true if the term should check if the user is in the list and+-- false if the term should check if the user is not in the list. This+-- field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False+-- by default.+lptContains :: Lens' ListPopulationTerm (Maybe Bool)+lptContains+  = lens _lptContains (\ s a -> s{_lptContains = a})++instance FromJSON ListPopulationTerm where+        parseJSON+          = withObject "ListPopulationTerm"+              (\ o ->+                 ListPopulationTerm <$>+                   (o .:? "operator") <*> (o .:? "value") <*>+                     (o .:? "variableFriendlyName")+                     <*> (o .:? "negation")+                     <*> (o .:? "variableName")+                     <*> (o .:? "remarketingListId")+                     <*> (o .:? "type")+                     <*> (o .:? "contains"))++instance ToJSON ListPopulationTerm where+        toJSON ListPopulationTerm{..}+          = object+              (catMaybes+                 [("operator" .=) <$> _lptOperator,+                  ("value" .=) <$> _lptValue,+                  ("variableFriendlyName" .=) <$>+                    _lptVariableFriendlyName,+                  ("negation" .=) <$> _lptNegation,+                  ("variableName" .=) <$> _lptVariableName,+                  ("remarketingListId" .=) <$> _lptRemarketingListId,+                  ("type" .=) <$> _lptType,+                  ("contains" .=) <$> _lptContains])++-- | Dynamic and Image Tag Settings.+--+-- /See:/ 'tagSettings' smart constructor.+data TagSettings = TagSettings+    { _tsDynamicTagEnabled :: !(Maybe Bool)+    , _tsImageTagEnabled   :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TagSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsDynamicTagEnabled'+--+-- * 'tsImageTagEnabled'+tagSettings+    :: TagSettings+tagSettings =+    TagSettings+    { _tsDynamicTagEnabled = Nothing+    , _tsImageTagEnabled = Nothing+    }++-- | Whether dynamic floodlight tags are enabled.+tsDynamicTagEnabled :: Lens' TagSettings (Maybe Bool)+tsDynamicTagEnabled+  = lens _tsDynamicTagEnabled+      (\ s a -> s{_tsDynamicTagEnabled = a})++-- | Whether image tags are enabled.+tsImageTagEnabled :: Lens' TagSettings (Maybe Bool)+tsImageTagEnabled+  = lens _tsImageTagEnabled+      (\ s a -> s{_tsImageTagEnabled = a})++instance FromJSON TagSettings where+        parseJSON+          = withObject "TagSettings"+              (\ o ->+                 TagSettings <$>+                   (o .:? "dynamicTagEnabled") <*>+                     (o .:? "imageTagEnabled"))++instance ToJSON TagSettings where+        toJSON TagSettings{..}+          = object+              (catMaybes+                 [("dynamicTagEnabled" .=) <$> _tsDynamicTagEnabled,+                  ("imageTagEnabled" .=) <$> _tsImageTagEnabled])++-- | Subaccount List Response+--+-- /See:/ 'subAccountsListResponse' smart constructor.+data SubAccountsListResponse = SubAccountsListResponse+    { _salrNextPageToken :: !(Maybe Text)+    , _salrKind          :: !Text+    , _salrSubAccounts   :: !(Maybe [SubAccount])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'salrNextPageToken'+--+-- * 'salrKind'+--+-- * 'salrSubAccounts'+subAccountsListResponse+    :: SubAccountsListResponse+subAccountsListResponse =+    SubAccountsListResponse+    { _salrNextPageToken = Nothing+    , _salrKind = "dfareporting#subaccountsListResponse"+    , _salrSubAccounts = Nothing+    }++-- | Pagination token to be used for the next list operation.+salrNextPageToken :: Lens' SubAccountsListResponse (Maybe Text)+salrNextPageToken+  = lens _salrNextPageToken+      (\ s a -> s{_salrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#subaccountsListResponse\".+salrKind :: Lens' SubAccountsListResponse Text+salrKind = lens _salrKind (\ s a -> s{_salrKind = a})++-- | Subaccount collection.+salrSubAccounts :: Lens' SubAccountsListResponse [SubAccount]+salrSubAccounts+  = lens _salrSubAccounts+      (\ s a -> s{_salrSubAccounts = a})+      . _Default+      . _Coerce++instance FromJSON SubAccountsListResponse where+        parseJSON+          = withObject "SubAccountsListResponse"+              (\ o ->+                 SubAccountsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#subaccountsListResponse")+                     <*> (o .:? "subaccounts" .!= mempty))++instance ToJSON SubAccountsListResponse where+        toJSON SubAccountsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _salrNextPageToken,+                  Just ("kind" .= _salrKind),+                  ("subaccounts" .=) <$> _salrSubAccounts])++-- | Contains properties of a Site Directory contact.+--+-- /See:/ 'directorySiteContact' smart constructor.+data DirectorySiteContact = DirectorySiteContact+    { _dscEmail     :: !(Maybe Text)+    , _dscPhone     :: !(Maybe Text)+    , _dscLastName  :: !(Maybe Text)+    , _dscKind      :: !Text+    , _dscAddress   :: !(Maybe Text)+    , _dscRole      :: !(Maybe DirectorySiteContactRole)+    , _dscFirstName :: !(Maybe Text)+    , _dscId        :: !(Maybe (Textual Int64))+    , _dscTitle     :: !(Maybe Text)+    , _dscType      :: !(Maybe DirectorySiteContactType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteContact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscEmail'+--+-- * 'dscPhone'+--+-- * 'dscLastName'+--+-- * 'dscKind'+--+-- * 'dscAddress'+--+-- * 'dscRole'+--+-- * 'dscFirstName'+--+-- * 'dscId'+--+-- * 'dscTitle'+--+-- * 'dscType'+directorySiteContact+    :: DirectorySiteContact+directorySiteContact =+    DirectorySiteContact+    { _dscEmail = Nothing+    , _dscPhone = Nothing+    , _dscLastName = Nothing+    , _dscKind = "dfareporting#directorySiteContact"+    , _dscAddress = Nothing+    , _dscRole = Nothing+    , _dscFirstName = Nothing+    , _dscId = Nothing+    , _dscTitle = Nothing+    , _dscType = Nothing+    }++-- | Email address of this directory site contact.+dscEmail :: Lens' DirectorySiteContact (Maybe Text)+dscEmail = lens _dscEmail (\ s a -> s{_dscEmail = a})++-- | Phone number of this directory site contact.+dscPhone :: Lens' DirectorySiteContact (Maybe Text)+dscPhone = lens _dscPhone (\ s a -> s{_dscPhone = a})++-- | Last name of this directory site contact.+dscLastName :: Lens' DirectorySiteContact (Maybe Text)+dscLastName+  = lens _dscLastName (\ s a -> s{_dscLastName = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#directorySiteContact\".+dscKind :: Lens' DirectorySiteContact Text+dscKind = lens _dscKind (\ s a -> s{_dscKind = a})++-- | Address of this directory site contact.+dscAddress :: Lens' DirectorySiteContact (Maybe Text)+dscAddress+  = lens _dscAddress (\ s a -> s{_dscAddress = a})++-- | Directory site contact role.+dscRole :: Lens' DirectorySiteContact (Maybe DirectorySiteContactRole)+dscRole = lens _dscRole (\ s a -> s{_dscRole = a})++-- | First name of this directory site contact.+dscFirstName :: Lens' DirectorySiteContact (Maybe Text)+dscFirstName+  = lens _dscFirstName (\ s a -> s{_dscFirstName = a})++-- | ID of this directory site contact. This is a read-only, auto-generated+-- field.+dscId :: Lens' DirectorySiteContact (Maybe Int64)+dscId+  = lens _dscId (\ s a -> s{_dscId = a}) .+      mapping _Coerce++-- | Title or designation of this directory site contact.+dscTitle :: Lens' DirectorySiteContact (Maybe Text)+dscTitle = lens _dscTitle (\ s a -> s{_dscTitle = a})++-- | Directory site contact type.+dscType :: Lens' DirectorySiteContact (Maybe DirectorySiteContactType)+dscType = lens _dscType (\ s a -> s{_dscType = a})++instance FromJSON DirectorySiteContact where+        parseJSON+          = withObject "DirectorySiteContact"+              (\ o ->+                 DirectorySiteContact <$>+                   (o .:? "email") <*> (o .:? "phone") <*>+                     (o .:? "lastName")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#directorySiteContact")+                     <*> (o .:? "address")+                     <*> (o .:? "role")+                     <*> (o .:? "firstName")+                     <*> (o .:? "id")+                     <*> (o .:? "title")+                     <*> (o .:? "type"))++instance ToJSON DirectorySiteContact where+        toJSON DirectorySiteContact{..}+          = object+              (catMaybes+                 [("email" .=) <$> _dscEmail,+                  ("phone" .=) <$> _dscPhone,+                  ("lastName" .=) <$> _dscLastName,+                  Just ("kind" .= _dscKind),+                  ("address" .=) <$> _dscAddress,+                  ("role" .=) <$> _dscRole,+                  ("firstName" .=) <$> _dscFirstName,+                  ("id" .=) <$> _dscId, ("title" .=) <$> _dscTitle,+                  ("type" .=) <$> _dscType])++-- | Region List Response+--+-- /See:/ 'regionsListResponse' smart constructor.+data RegionsListResponse = RegionsListResponse+    { _rlrKind    :: !Text+    , _rlrRegions :: !(Maybe [Region])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlrKind'+--+-- * 'rlrRegions'+regionsListResponse+    :: RegionsListResponse+regionsListResponse =+    RegionsListResponse+    { _rlrKind = "dfareporting#regionsListResponse"+    , _rlrRegions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#regionsListResponse\".+rlrKind :: Lens' RegionsListResponse Text+rlrKind = lens _rlrKind (\ s a -> s{_rlrKind = a})++-- | Region collection.+rlrRegions :: Lens' RegionsListResponse [Region]+rlrRegions+  = lens _rlrRegions (\ s a -> s{_rlrRegions = a}) .+      _Default+      . _Coerce++instance FromJSON RegionsListResponse where+        parseJSON+          = withObject "RegionsListResponse"+              (\ o ->+                 RegionsListResponse <$>+                   (o .:? "kind" .!= "dfareporting#regionsListResponse")+                     <*> (o .:? "regions" .!= mempty))++instance ToJSON RegionsListResponse where+        toJSON RegionsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _rlrKind),+                  ("regions" .=) <$> _rlrRegions])++-- | Dynamic Tag+--+-- /See:/ 'floodlightActivityDynamicTag' smart constructor.+data FloodlightActivityDynamicTag = FloodlightActivityDynamicTag+    { _fadtTag  :: !(Maybe Text)+    , _fadtName :: !(Maybe Text)+    , _fadtId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityDynamicTag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fadtTag'+--+-- * 'fadtName'+--+-- * 'fadtId'+floodlightActivityDynamicTag+    :: FloodlightActivityDynamicTag+floodlightActivityDynamicTag =+    FloodlightActivityDynamicTag+    { _fadtTag = Nothing+    , _fadtName = Nothing+    , _fadtId = Nothing+    }++-- | Tag code.+fadtTag :: Lens' FloodlightActivityDynamicTag (Maybe Text)+fadtTag = lens _fadtTag (\ s a -> s{_fadtTag = a})++-- | Name of this tag.+fadtName :: Lens' FloodlightActivityDynamicTag (Maybe Text)+fadtName = lens _fadtName (\ s a -> s{_fadtName = a})++-- | ID of this dynamic tag. This is a read-only, auto-generated field.+fadtId :: Lens' FloodlightActivityDynamicTag (Maybe Int64)+fadtId+  = lens _fadtId (\ s a -> s{_fadtId = a}) .+      mapping _Coerce++instance FromJSON FloodlightActivityDynamicTag where+        parseJSON+          = withObject "FloodlightActivityDynamicTag"+              (\ o ->+                 FloodlightActivityDynamicTag <$>+                   (o .:? "tag") <*> (o .:? "name") <*> (o .:? "id"))++instance ToJSON FloodlightActivityDynamicTag where+        toJSON FloodlightActivityDynamicTag{..}+          = object+              (catMaybes+                 [("tag" .=) <$> _fadtTag, ("name" .=) <$> _fadtName,+                  ("id" .=) <$> _fadtId])++-- | DirectorySites contains properties of a website from the Site Directory.+-- Sites need to be added to an account via the Sites resource before they+-- can be assigned to a placement.+--+-- /See:/ 'directorySite' smart constructor.+data DirectorySite = DirectorySite+    { _dsCurrencyId             :: !(Maybe (Textual Int64))+    , _dsSettings               :: !(Maybe DirectorySiteSettings)+    , _dsInterstitialTagFormats :: !(Maybe [DirectorySiteInterstitialTagFormatsItem])+    , _dsKind                   :: !Text+    , _dsURL                    :: !(Maybe Text)+    , _dsIdDimensionValue       :: !(Maybe DimensionValue)+    , _dsInpageTagFormats       :: !(Maybe [DirectorySiteInpageTagFormatsItem])+    , _dsActive                 :: !(Maybe Bool)+    , _dsName                   :: !(Maybe Text)+    , _dsId                     :: !(Maybe (Textual Int64))+    , _dsCountryId              :: !(Maybe (Textual Int64))+    , _dsContactAssignments     :: !(Maybe [DirectorySiteContactAssignment])+    , _dsDescription            :: !(Maybe Text)+    , _dsParentId               :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySite' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsCurrencyId'+--+-- * 'dsSettings'+--+-- * 'dsInterstitialTagFormats'+--+-- * 'dsKind'+--+-- * 'dsURL'+--+-- * 'dsIdDimensionValue'+--+-- * 'dsInpageTagFormats'+--+-- * 'dsActive'+--+-- * 'dsName'+--+-- * 'dsId'+--+-- * 'dsCountryId'+--+-- * 'dsContactAssignments'+--+-- * 'dsDescription'+--+-- * 'dsParentId'+directorySite+    :: DirectorySite+directorySite =+    DirectorySite+    { _dsCurrencyId = Nothing+    , _dsSettings = Nothing+    , _dsInterstitialTagFormats = Nothing+    , _dsKind = "dfareporting#directorySite"+    , _dsURL = Nothing+    , _dsIdDimensionValue = Nothing+    , _dsInpageTagFormats = Nothing+    , _dsActive = Nothing+    , _dsName = Nothing+    , _dsId = Nothing+    , _dsCountryId = Nothing+    , _dsContactAssignments = Nothing+    , _dsDescription = Nothing+    , _dsParentId = Nothing+    }++-- | Currency ID of this directory site. Possible values are: - \"1\" for USD+-- - \"2\" for GBP - \"3\" for ESP - \"4\" for SEK - \"5\" for CAD - \"6\"+-- for JPY - \"7\" for DEM - \"8\" for AUD - \"9\" for FRF - \"10\" for ITL+-- - \"11\" for DKK - \"12\" for NOK - \"13\" for FIM - \"14\" for ZAR -+-- \"15\" for IEP - \"16\" for NLG - \"17\" for EUR - \"18\" for KRW -+-- \"19\" for TWD - \"20\" for SGD - \"21\" for CNY - \"22\" for HKD -+-- \"23\" for NZD - \"24\" for MYR - \"25\" for BRL - \"26\" for PTE -+-- \"27\" for MXP - \"28\" for CLP - \"29\" for TRY - \"30\" for ARS -+-- \"31\" for PEN - \"32\" for ILS - \"33\" for CHF - \"34\" for VEF -+-- \"35\" for COP - \"36\" for GTQ+dsCurrencyId :: Lens' DirectorySite (Maybe Int64)+dsCurrencyId+  = lens _dsCurrencyId (\ s a -> s{_dsCurrencyId = a})+      . mapping _Coerce++-- | Directory site settings.+dsSettings :: Lens' DirectorySite (Maybe DirectorySiteSettings)+dsSettings+  = lens _dsSettings (\ s a -> s{_dsSettings = a})++-- | Tag types for interstitial placements. Acceptable values are: -+-- \"IFRAME_JAVASCRIPT_INTERSTITIAL\" - \"INTERNAL_REDIRECT_INTERSTITIAL\"+-- - \"JAVASCRIPT_INTERSTITIAL\"+dsInterstitialTagFormats :: Lens' DirectorySite [DirectorySiteInterstitialTagFormatsItem]+dsInterstitialTagFormats+  = lens _dsInterstitialTagFormats+      (\ s a -> s{_dsInterstitialTagFormats = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#directorySite\".+dsKind :: Lens' DirectorySite Text+dsKind = lens _dsKind (\ s a -> s{_dsKind = a})++-- | URL of this directory site.+dsURL :: Lens' DirectorySite (Maybe Text)+dsURL = lens _dsURL (\ s a -> s{_dsURL = a})++-- | Dimension value for the ID of this directory site. This is a read-only,+-- auto-generated field.+dsIdDimensionValue :: Lens' DirectorySite (Maybe DimensionValue)+dsIdDimensionValue+  = lens _dsIdDimensionValue+      (\ s a -> s{_dsIdDimensionValue = a})++-- | Tag types for regular placements. Acceptable values are: - \"STANDARD\"+-- - \"IFRAME_JAVASCRIPT_INPAGE\" - \"INTERNAL_REDIRECT_INPAGE\" -+-- \"JAVASCRIPT_INPAGE\"+dsInpageTagFormats :: Lens' DirectorySite [DirectorySiteInpageTagFormatsItem]+dsInpageTagFormats+  = lens _dsInpageTagFormats+      (\ s a -> s{_dsInpageTagFormats = a})+      . _Default+      . _Coerce++-- | Whether this directory site is active.+dsActive :: Lens' DirectorySite (Maybe Bool)+dsActive = lens _dsActive (\ s a -> s{_dsActive = a})++-- | Name of this directory site.+dsName :: Lens' DirectorySite (Maybe Text)+dsName = lens _dsName (\ s a -> s{_dsName = a})++-- | ID of this directory site. This is a read-only, auto-generated field.+dsId :: Lens' DirectorySite (Maybe Int64)+dsId+  = lens _dsId (\ s a -> s{_dsId = a}) .+      mapping _Coerce++-- | Country ID of this directory site.+dsCountryId :: Lens' DirectorySite (Maybe Int64)+dsCountryId+  = lens _dsCountryId (\ s a -> s{_dsCountryId = a}) .+      mapping _Coerce++-- | Directory site contacts.+dsContactAssignments :: Lens' DirectorySite [DirectorySiteContactAssignment]+dsContactAssignments+  = lens _dsContactAssignments+      (\ s a -> s{_dsContactAssignments = a})+      . _Default+      . _Coerce++-- | Description of this directory site.+dsDescription :: Lens' DirectorySite (Maybe Text)+dsDescription+  = lens _dsDescription+      (\ s a -> s{_dsDescription = a})++-- | Parent directory site ID.+dsParentId :: Lens' DirectorySite (Maybe Int64)+dsParentId+  = lens _dsParentId (\ s a -> s{_dsParentId = a}) .+      mapping _Coerce++instance FromJSON DirectorySite where+        parseJSON+          = withObject "DirectorySite"+              (\ o ->+                 DirectorySite <$>+                   (o .:? "currencyId") <*> (o .:? "settings") <*>+                     (o .:? "interstitialTagFormats" .!= mempty)+                     <*> (o .:? "kind" .!= "dfareporting#directorySite")+                     <*> (o .:? "url")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "inpageTagFormats" .!= mempty)+                     <*> (o .:? "active")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "countryId")+                     <*> (o .:? "contactAssignments" .!= mempty)+                     <*> (o .:? "description")+                     <*> (o .:? "parentId"))++instance ToJSON DirectorySite where+        toJSON DirectorySite{..}+          = object+              (catMaybes+                 [("currencyId" .=) <$> _dsCurrencyId,+                  ("settings" .=) <$> _dsSettings,+                  ("interstitialTagFormats" .=) <$>+                    _dsInterstitialTagFormats,+                  Just ("kind" .= _dsKind), ("url" .=) <$> _dsURL,+                  ("idDimensionValue" .=) <$> _dsIdDimensionValue,+                  ("inpageTagFormats" .=) <$> _dsInpageTagFormats,+                  ("active" .=) <$> _dsActive, ("name" .=) <$> _dsName,+                  ("id" .=) <$> _dsId,+                  ("countryId" .=) <$> _dsCountryId,+                  ("contactAssignments" .=) <$> _dsContactAssignments,+                  ("description" .=) <$> _dsDescription,+                  ("parentId" .=) <$> _dsParentId])++-- | The properties of the report.+--+-- /See:/ 'reportFloodlightCriteriaReportProperties' smart constructor.+data ReportFloodlightCriteriaReportProperties = ReportFloodlightCriteriaReportProperties+    { _rfcrpIncludeUnattributedIPConversions     :: !(Maybe Bool)+    , _rfcrpIncludeUnattributedCookieConversions :: !(Maybe Bool)+    , _rfcrpIncludeAttributedIPConversions       :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportFloodlightCriteriaReportProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfcrpIncludeUnattributedIPConversions'+--+-- * 'rfcrpIncludeUnattributedCookieConversions'+--+-- * 'rfcrpIncludeAttributedIPConversions'+reportFloodlightCriteriaReportProperties+    :: ReportFloodlightCriteriaReportProperties+reportFloodlightCriteriaReportProperties =+    ReportFloodlightCriteriaReportProperties+    { _rfcrpIncludeUnattributedIPConversions = Nothing+    , _rfcrpIncludeUnattributedCookieConversions = Nothing+    , _rfcrpIncludeAttributedIPConversions = Nothing+    }++-- | Include conversions that have no associated cookies and no exposures.+-- It’s therefore impossible to know how the user was exposed to your ads+-- during the lookback window prior to a conversion.+rfcrpIncludeUnattributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)+rfcrpIncludeUnattributedIPConversions+  = lens _rfcrpIncludeUnattributedIPConversions+      (\ s a ->+         s{_rfcrpIncludeUnattributedIPConversions = a})++-- | Include conversions of users with a DoubleClick cookie but without an+-- exposure. That means the user did not click or see an ad from the+-- advertiser within the Floodlight group, or that the interaction happened+-- outside the lookback window.+rfcrpIncludeUnattributedCookieConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)+rfcrpIncludeUnattributedCookieConversions+  = lens _rfcrpIncludeUnattributedCookieConversions+      (\ s a ->+         s{_rfcrpIncludeUnattributedCookieConversions = a})++-- | Include conversions that have no cookie, but do have an exposure path.+rfcrpIncludeAttributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)+rfcrpIncludeAttributedIPConversions+  = lens _rfcrpIncludeAttributedIPConversions+      (\ s a ->+         s{_rfcrpIncludeAttributedIPConversions = a})++instance FromJSON+         ReportFloodlightCriteriaReportProperties where+        parseJSON+          = withObject+              "ReportFloodlightCriteriaReportProperties"+              (\ o ->+                 ReportFloodlightCriteriaReportProperties <$>+                   (o .:? "includeUnattributedIPConversions") <*>+                     (o .:? "includeUnattributedCookieConversions")+                     <*> (o .:? "includeAttributedIPConversions"))++instance ToJSON+         ReportFloodlightCriteriaReportProperties where+        toJSON ReportFloodlightCriteriaReportProperties{..}+          = object+              (catMaybes+                 [("includeUnattributedIPConversions" .=) <$>+                    _rfcrpIncludeUnattributedIPConversions,+                  ("includeUnattributedCookieConversions" .=) <$>+                    _rfcrpIncludeUnattributedCookieConversions,+                  ("includeAttributedIPConversions" .=) <$>+                    _rfcrpIncludeAttributedIPConversions])++-- | Contains properties of a Floodlight activity group.+--+-- /See:/ 'floodlightActivityGroup' smart constructor.+data FloodlightActivityGroup = FloodlightActivityGroup+    { _fagTagString                               :: !(Maybe Text)+    , _fagFloodlightConfigurationId               :: !(Maybe (Textual Int64))+    , _fagKind                                    :: !Text+    , _fagAdvertiserId                            :: !(Maybe (Textual Int64))+    , _fagAdvertiserIdDimensionValue              :: !(Maybe DimensionValue)+    , _fagIdDimensionValue                        :: !(Maybe DimensionValue)+    , _fagAccountId                               :: !(Maybe (Textual Int64))+    , _fagName                                    :: !(Maybe Text)+    , _fagId                                      :: !(Maybe (Textual Int64))+    , _fagSubAccountId                            :: !(Maybe (Textual Int64))+    , _fagType                                    :: !(Maybe FloodlightActivityGroupType)+    , _fagFloodlightConfigurationIdDimensionValue :: !(Maybe DimensionValue)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagTagString'+--+-- * 'fagFloodlightConfigurationId'+--+-- * 'fagKind'+--+-- * 'fagAdvertiserId'+--+-- * 'fagAdvertiserIdDimensionValue'+--+-- * 'fagIdDimensionValue'+--+-- * 'fagAccountId'+--+-- * 'fagName'+--+-- * 'fagId'+--+-- * 'fagSubAccountId'+--+-- * 'fagType'+--+-- * 'fagFloodlightConfigurationIdDimensionValue'+floodlightActivityGroup+    :: FloodlightActivityGroup+floodlightActivityGroup =+    FloodlightActivityGroup+    { _fagTagString = Nothing+    , _fagFloodlightConfigurationId = Nothing+    , _fagKind = "dfareporting#floodlightActivityGroup"+    , _fagAdvertiserId = Nothing+    , _fagAdvertiserIdDimensionValue = Nothing+    , _fagIdDimensionValue = Nothing+    , _fagAccountId = Nothing+    , _fagName = Nothing+    , _fagId = Nothing+    , _fagSubAccountId = Nothing+    , _fagType = Nothing+    , _fagFloodlightConfigurationIdDimensionValue = Nothing+    }++-- | Value of the type= parameter in the floodlight tag, which the ad servers+-- use to identify the activity group that the activity belongs to. This is+-- optional: if empty, a new tag string will be generated for you. This+-- string must be 1 to 8 characters long, with valid characters being+-- [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among+-- activity groups of the same floodlight configuration. This field is+-- read-only after insertion.+fagTagString :: Lens' FloodlightActivityGroup (Maybe Text)+fagTagString+  = lens _fagTagString (\ s a -> s{_fagTagString = a})++-- | Floodlight configuration ID of this floodlight activity group. This is a+-- required field.+fagFloodlightConfigurationId :: Lens' FloodlightActivityGroup (Maybe Int64)+fagFloodlightConfigurationId+  = lens _fagFloodlightConfigurationId+      (\ s a -> s{_fagFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightActivityGroup\".+fagKind :: Lens' FloodlightActivityGroup Text+fagKind = lens _fagKind (\ s a -> s{_fagKind = a})++-- | Advertiser ID of this floodlight activity group. If this field is left+-- blank, the value will be copied over either from the floodlight+-- configuration\'s advertiser or from the existing activity group\'s+-- advertiser.+fagAdvertiserId :: Lens' FloodlightActivityGroup (Maybe Int64)+fagAdvertiserId+  = lens _fagAdvertiserId+      (\ s a -> s{_fagAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+fagAdvertiserIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)+fagAdvertiserIdDimensionValue+  = lens _fagAdvertiserIdDimensionValue+      (\ s a -> s{_fagAdvertiserIdDimensionValue = a})++-- | Dimension value for the ID of this floodlight activity group. This is a+-- read-only, auto-generated field.+fagIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)+fagIdDimensionValue+  = lens _fagIdDimensionValue+      (\ s a -> s{_fagIdDimensionValue = a})++-- | Account ID of this floodlight activity group. This is a read-only field+-- that can be left blank.+fagAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)+fagAccountId+  = lens _fagAccountId (\ s a -> s{_fagAccountId = a})+      . mapping _Coerce++-- | Name of this floodlight activity group. This is a required field. Must+-- be less than 65 characters long and cannot contain quotes.+fagName :: Lens' FloodlightActivityGroup (Maybe Text)+fagName = lens _fagName (\ s a -> s{_fagName = a})++-- | ID of this floodlight activity group. This is a read-only,+-- auto-generated field.+fagId :: Lens' FloodlightActivityGroup (Maybe Int64)+fagId+  = lens _fagId (\ s a -> s{_fagId = a}) .+      mapping _Coerce++-- | Subaccount ID of this floodlight activity group. This is a read-only+-- field that can be left blank.+fagSubAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)+fagSubAccountId+  = lens _fagSubAccountId+      (\ s a -> s{_fagSubAccountId = a})+      . mapping _Coerce++-- | Type of the floodlight activity group. This is a required field that is+-- read-only after insertion.+fagType :: Lens' FloodlightActivityGroup (Maybe FloodlightActivityGroupType)+fagType = lens _fagType (\ s a -> s{_fagType = a})++-- | Dimension value for the ID of the floodlight configuration. This is a+-- read-only, auto-generated field.+fagFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)+fagFloodlightConfigurationIdDimensionValue+  = lens _fagFloodlightConfigurationIdDimensionValue+      (\ s a ->+         s{_fagFloodlightConfigurationIdDimensionValue = a})++instance FromJSON FloodlightActivityGroup where+        parseJSON+          = withObject "FloodlightActivityGroup"+              (\ o ->+                 FloodlightActivityGroup <$>+                   (o .:? "tagString") <*>+                     (o .:? "floodlightConfigurationId")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightActivityGroup")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "type")+                     <*>+                     (o .:? "floodlightConfigurationIdDimensionValue"))++instance ToJSON FloodlightActivityGroup where+        toJSON FloodlightActivityGroup{..}+          = object+              (catMaybes+                 [("tagString" .=) <$> _fagTagString,+                  ("floodlightConfigurationId" .=) <$>+                    _fagFloodlightConfigurationId,+                  Just ("kind" .= _fagKind),+                  ("advertiserId" .=) <$> _fagAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _fagAdvertiserIdDimensionValue,+                  ("idDimensionValue" .=) <$> _fagIdDimensionValue,+                  ("accountId" .=) <$> _fagAccountId,+                  ("name" .=) <$> _fagName, ("id" .=) <$> _fagId,+                  ("subaccountId" .=) <$> _fagSubAccountId,+                  ("type" .=) <$> _fagType,+                  ("floodlightConfigurationIdDimensionValue" .=) <$>+                    _fagFloodlightConfigurationIdDimensionValue])++-- | Represents fields that are compatible to be selected for a report of+-- type \"CROSS_DIMENSION_REACH\".+--+-- /See:/ 'crossDimensionReachReportCompatibleFields' smart constructor.+data CrossDimensionReachReportCompatibleFields = CrossDimensionReachReportCompatibleFields+    { _cdrrcfMetrics          :: !(Maybe [Metric])+    , _cdrrcfBreakdown        :: !(Maybe [Dimension])+    , _cdrrcfKind             :: !Text+    , _cdrrcfDimensionFilters :: !(Maybe [Dimension])+    , _cdrrcfOverlapMetrics   :: !(Maybe [Metric])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CrossDimensionReachReportCompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrrcfMetrics'+--+-- * 'cdrrcfBreakdown'+--+-- * 'cdrrcfKind'+--+-- * 'cdrrcfDimensionFilters'+--+-- * 'cdrrcfOverlapMetrics'+crossDimensionReachReportCompatibleFields+    :: CrossDimensionReachReportCompatibleFields+crossDimensionReachReportCompatibleFields =+    CrossDimensionReachReportCompatibleFields+    { _cdrrcfMetrics = Nothing+    , _cdrrcfBreakdown = Nothing+    , _cdrrcfKind = "dfareporting#crossDimensionReachReportCompatibleFields"+    , _cdrrcfDimensionFilters = Nothing+    , _cdrrcfOverlapMetrics = Nothing+    }++-- | Metrics which are compatible to be selected in the \"metricNames\"+-- section of the report.+cdrrcfMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]+cdrrcfMetrics+  = lens _cdrrcfMetrics+      (\ s a -> s{_cdrrcfMetrics = a})+      . _Default+      . _Coerce++-- | Dimensions which are compatible to be selected in the \"breakdown\"+-- section of the report.+cdrrcfBreakdown :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]+cdrrcfBreakdown+  = lens _cdrrcfBreakdown+      (\ s a -> s{_cdrrcfBreakdown = a})+      . _Default+      . _Coerce++-- | The kind of resource this is, in this case+-- dfareporting#crossDimensionReachReportCompatibleFields.+cdrrcfKind :: Lens' CrossDimensionReachReportCompatibleFields Text+cdrrcfKind+  = lens _cdrrcfKind (\ s a -> s{_cdrrcfKind = a})++-- | Dimensions which are compatible to be selected in the+-- \"dimensionFilters\" section of the report.+cdrrcfDimensionFilters :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]+cdrrcfDimensionFilters+  = lens _cdrrcfDimensionFilters+      (\ s a -> s{_cdrrcfDimensionFilters = a})+      . _Default+      . _Coerce++-- | Metrics which are compatible to be selected in the+-- \"overlapMetricNames\" section of the report.+cdrrcfOverlapMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]+cdrrcfOverlapMetrics+  = lens _cdrrcfOverlapMetrics+      (\ s a -> s{_cdrrcfOverlapMetrics = a})+      . _Default+      . _Coerce++instance FromJSON+         CrossDimensionReachReportCompatibleFields where+        parseJSON+          = withObject+              "CrossDimensionReachReportCompatibleFields"+              (\ o ->+                 CrossDimensionReachReportCompatibleFields <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "breakdown" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#crossDimensionReachReportCompatibleFields")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "overlapMetrics" .!= mempty))++instance ToJSON+         CrossDimensionReachReportCompatibleFields where+        toJSON CrossDimensionReachReportCompatibleFields{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _cdrrcfMetrics,+                  ("breakdown" .=) <$> _cdrrcfBreakdown,+                  Just ("kind" .= _cdrrcfKind),+                  ("dimensionFilters" .=) <$> _cdrrcfDimensionFilters,+                  ("overlapMetrics" .=) <$> _cdrrcfOverlapMetrics])++-- | FsCommand.+--+-- /See:/ 'fsCommand' smart constructor.+data FsCommand = FsCommand+    { _fcPositionOption :: !(Maybe FsCommandPositionOption)+    , _fcLeft           :: !(Maybe (Textual Int32))+    , _fcWindowHeight   :: !(Maybe (Textual Int32))+    , _fcWindowWidth    :: !(Maybe (Textual Int32))+    , _fcTop            :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FsCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcPositionOption'+--+-- * 'fcLeft'+--+-- * 'fcWindowHeight'+--+-- * 'fcWindowWidth'+--+-- * 'fcTop'+fsCommand+    :: FsCommand+fsCommand =+    FsCommand+    { _fcPositionOption = Nothing+    , _fcLeft = Nothing+    , _fcWindowHeight = Nothing+    , _fcWindowWidth = Nothing+    , _fcTop = Nothing+    }++-- | Position in the browser where the window will open.+fcPositionOption :: Lens' FsCommand (Maybe FsCommandPositionOption)+fcPositionOption+  = lens _fcPositionOption+      (\ s a -> s{_fcPositionOption = a})++-- | Distance from the left of the browser.Applicable when positionOption is+-- DISTANCE_FROM_TOP_LEFT_CORNER.+fcLeft :: Lens' FsCommand (Maybe Int32)+fcLeft+  = lens _fcLeft (\ s a -> s{_fcLeft = a}) .+      mapping _Coerce++-- | Height of the window.+fcWindowHeight :: Lens' FsCommand (Maybe Int32)+fcWindowHeight+  = lens _fcWindowHeight+      (\ s a -> s{_fcWindowHeight = a})+      . mapping _Coerce++-- | Width of the window.+fcWindowWidth :: Lens' FsCommand (Maybe Int32)+fcWindowWidth+  = lens _fcWindowWidth+      (\ s a -> s{_fcWindowWidth = a})+      . mapping _Coerce++-- | Distance from the top of the browser. Applicable when positionOption is+-- DISTANCE_FROM_TOP_LEFT_CORNER.+fcTop :: Lens' FsCommand (Maybe Int32)+fcTop+  = lens _fcTop (\ s a -> s{_fcTop = a}) .+      mapping _Coerce++instance FromJSON FsCommand where+        parseJSON+          = withObject "FsCommand"+              (\ o ->+                 FsCommand <$>+                   (o .:? "positionOption") <*> (o .:? "left") <*>+                     (o .:? "windowHeight")+                     <*> (o .:? "windowWidth")+                     <*> (o .:? "top"))++instance ToJSON FsCommand where+        toJSON FsCommand{..}+          = object+              (catMaybes+                 [("positionOption" .=) <$> _fcPositionOption,+                  ("left" .=) <$> _fcLeft,+                  ("windowHeight" .=) <$> _fcWindowHeight,+                  ("windowWidth" .=) <$> _fcWindowWidth,+                  ("top" .=) <$> _fcTop])++-- | Placement Assignment.+--+-- /See:/ 'placementAssignment' smart constructor.+data PlacementAssignment = PlacementAssignment+    { _paPlacementId               :: !(Maybe (Textual Int64))+    , _paPlacementIdDimensionValue :: !(Maybe DimensionValue)+    , _paActive                    :: !(Maybe Bool)+    , _paSSLRequired               :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paPlacementId'+--+-- * 'paPlacementIdDimensionValue'+--+-- * 'paActive'+--+-- * 'paSSLRequired'+placementAssignment+    :: PlacementAssignment+placementAssignment =+    PlacementAssignment+    { _paPlacementId = Nothing+    , _paPlacementIdDimensionValue = Nothing+    , _paActive = Nothing+    , _paSSLRequired = Nothing+    }++-- | ID of the placement to be assigned. This is a required field.+paPlacementId :: Lens' PlacementAssignment (Maybe Int64)+paPlacementId+  = lens _paPlacementId+      (\ s a -> s{_paPlacementId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the placement. This is a read-only,+-- auto-generated field.+paPlacementIdDimensionValue :: Lens' PlacementAssignment (Maybe DimensionValue)+paPlacementIdDimensionValue+  = lens _paPlacementIdDimensionValue+      (\ s a -> s{_paPlacementIdDimensionValue = a})++-- | Whether this placement assignment is active. When true, the placement+-- will be included in the ad\'s rotation.+paActive :: Lens' PlacementAssignment (Maybe Bool)+paActive = lens _paActive (\ s a -> s{_paActive = a})++-- | Whether the placement to be assigned requires SSL. This is a read-only+-- field that is auto-generated when the ad is inserted or updated.+paSSLRequired :: Lens' PlacementAssignment (Maybe Bool)+paSSLRequired+  = lens _paSSLRequired+      (\ s a -> s{_paSSLRequired = a})++instance FromJSON PlacementAssignment where+        parseJSON+          = withObject "PlacementAssignment"+              (\ o ->+                 PlacementAssignment <$>+                   (o .:? "placementId") <*>+                     (o .:? "placementIdDimensionValue")+                     <*> (o .:? "active")+                     <*> (o .:? "sslRequired"))++instance ToJSON PlacementAssignment where+        toJSON PlacementAssignment{..}+          = object+              (catMaybes+                 [("placementId" .=) <$> _paPlacementId,+                  ("placementIdDimensionValue" .=) <$>+                    _paPlacementIdDimensionValue,+                  ("active" .=) <$> _paActive,+                  ("sslRequired" .=) <$> _paSSLRequired])++-- | Contains properties of a creative field value.+--+-- /See:/ 'creativeFieldValue' smart constructor.+data CreativeFieldValue = CreativeFieldValue+    { _cfvKind  :: !Text+    , _cfvValue :: !(Maybe Text)+    , _cfvId    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvKind'+--+-- * 'cfvValue'+--+-- * 'cfvId'+creativeFieldValue+    :: CreativeFieldValue+creativeFieldValue =+    CreativeFieldValue+    { _cfvKind = "dfareporting#creativeFieldValue"+    , _cfvValue = Nothing+    , _cfvId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeFieldValue\".+cfvKind :: Lens' CreativeFieldValue Text+cfvKind = lens _cfvKind (\ s a -> s{_cfvKind = a})++-- | Value of this creative field value. It needs to be less than 256+-- characters in length and unique per creative field.+cfvValue :: Lens' CreativeFieldValue (Maybe Text)+cfvValue = lens _cfvValue (\ s a -> s{_cfvValue = a})++-- | ID of this creative field value. This is a read-only, auto-generated+-- field.+cfvId :: Lens' CreativeFieldValue (Maybe Int64)+cfvId+  = lens _cfvId (\ s a -> s{_cfvId = a}) .+      mapping _Coerce++instance FromJSON CreativeFieldValue where+        parseJSON+          = withObject "CreativeFieldValue"+              (\ o ->+                 CreativeFieldValue <$>+                   (o .:? "kind" .!= "dfareporting#creativeFieldValue")+                     <*> (o .:? "value")+                     <*> (o .:? "id"))++instance ToJSON CreativeFieldValue where+        toJSON CreativeFieldValue{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cfvKind),+                  ("value" .=) <$> _cfvValue, ("id" .=) <$> _cfvId])++-- | Represents a DimensionValuesRequest.+--+-- /See:/ 'dimensionValueRequest' smart constructor.+data DimensionValueRequest = DimensionValueRequest+    { _dvrKind          :: !Text+    , _dvrEndDate       :: !(Maybe Date')+    , _dvrFilters       :: !(Maybe [DimensionFilter])+    , _dvrStartDate     :: !(Maybe Date')+    , _dvrDimensionName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionValueRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvrKind'+--+-- * 'dvrEndDate'+--+-- * 'dvrFilters'+--+-- * 'dvrStartDate'+--+-- * 'dvrDimensionName'+dimensionValueRequest+    :: DimensionValueRequest+dimensionValueRequest =+    DimensionValueRequest+    { _dvrKind = "dfareporting#dimensionValueRequest"+    , _dvrEndDate = Nothing+    , _dvrFilters = Nothing+    , _dvrStartDate = Nothing+    , _dvrDimensionName = Nothing+    }++-- | The kind of request this is, in this case+-- dfareporting#dimensionValueRequest.+dvrKind :: Lens' DimensionValueRequest Text+dvrKind = lens _dvrKind (\ s a -> s{_dvrKind = a})++-- | The end date of the date range for which to retrieve dimension values. A+-- string of the format \"yyyy-MM-dd\".+dvrEndDate :: Lens' DimensionValueRequest (Maybe Day)+dvrEndDate+  = lens _dvrEndDate (\ s a -> s{_dvrEndDate = a}) .+      mapping _Date++-- | The list of filters by which to filter values. The filters are ANDed.+dvrFilters :: Lens' DimensionValueRequest [DimensionFilter]+dvrFilters+  = lens _dvrFilters (\ s a -> s{_dvrFilters = a}) .+      _Default+      . _Coerce++-- | The start date of the date range for which to retrieve dimension values.+-- A string of the format \"yyyy-MM-dd\".+dvrStartDate :: Lens' DimensionValueRequest (Maybe Day)+dvrStartDate+  = lens _dvrStartDate (\ s a -> s{_dvrStartDate = a})+      . mapping _Date++-- | The name of the dimension for which values should be requested.+dvrDimensionName :: Lens' DimensionValueRequest (Maybe Text)+dvrDimensionName+  = lens _dvrDimensionName+      (\ s a -> s{_dvrDimensionName = a})++instance FromJSON DimensionValueRequest where+        parseJSON+          = withObject "DimensionValueRequest"+              (\ o ->+                 DimensionValueRequest <$>+                   (o .:? "kind" .!=+                      "dfareporting#dimensionValueRequest")+                     <*> (o .:? "endDate")+                     <*> (o .:? "filters" .!= mempty)+                     <*> (o .:? "startDate")+                     <*> (o .:? "dimensionName"))++instance ToJSON DimensionValueRequest where+        toJSON DimensionValueRequest{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dvrKind),+                  ("endDate" .=) <$> _dvrEndDate,+                  ("filters" .=) <$> _dvrFilters,+                  ("startDate" .=) <$> _dvrStartDate,+                  ("dimensionName" .=) <$> _dvrDimensionName])++-- | Floodlight Configuration List Response+--+-- /See:/ 'floodlightConfigurationsListResponse' smart constructor.+data FloodlightConfigurationsListResponse = FloodlightConfigurationsListResponse+    { _fclrKind                     :: !Text+    , _fclrFloodlightConfigurations :: !(Maybe [FloodlightConfiguration])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfigurationsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fclrKind'+--+-- * 'fclrFloodlightConfigurations'+floodlightConfigurationsListResponse+    :: FloodlightConfigurationsListResponse+floodlightConfigurationsListResponse =+    FloodlightConfigurationsListResponse+    { _fclrKind = "dfareporting#floodlightConfigurationsListResponse"+    , _fclrFloodlightConfigurations = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightConfigurationsListResponse\".+fclrKind :: Lens' FloodlightConfigurationsListResponse Text+fclrKind = lens _fclrKind (\ s a -> s{_fclrKind = a})++-- | Floodlight configuration collection.+fclrFloodlightConfigurations :: Lens' FloodlightConfigurationsListResponse [FloodlightConfiguration]+fclrFloodlightConfigurations+  = lens _fclrFloodlightConfigurations+      (\ s a -> s{_fclrFloodlightConfigurations = a})+      . _Default+      . _Coerce++instance FromJSON+         FloodlightConfigurationsListResponse where+        parseJSON+          = withObject "FloodlightConfigurationsListResponse"+              (\ o ->+                 FloodlightConfigurationsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#floodlightConfigurationsListResponse")+                     <*> (o .:? "floodlightConfigurations" .!= mempty))++instance ToJSON FloodlightConfigurationsListResponse+         where+        toJSON FloodlightConfigurationsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _fclrKind),+                  ("floodlightConfigurations" .=) <$>+                    _fclrFloodlightConfigurations])++-- | Floodlight Activity List Response+--+-- /See:/ 'floodlightActivitiesListResponse' smart constructor.+data FloodlightActivitiesListResponse = FloodlightActivitiesListResponse+    { _falrNextPageToken        :: !(Maybe Text)+    , _falrKind                 :: !Text+    , _falrFloodlightActivities :: !(Maybe [FloodlightActivity])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'falrNextPageToken'+--+-- * 'falrKind'+--+-- * 'falrFloodlightActivities'+floodlightActivitiesListResponse+    :: FloodlightActivitiesListResponse+floodlightActivitiesListResponse =+    FloodlightActivitiesListResponse+    { _falrNextPageToken = Nothing+    , _falrKind = "dfareporting#floodlightActivitiesListResponse"+    , _falrFloodlightActivities = Nothing+    }++-- | Pagination token to be used for the next list operation.+falrNextPageToken :: Lens' FloodlightActivitiesListResponse (Maybe Text)+falrNextPageToken+  = lens _falrNextPageToken+      (\ s a -> s{_falrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightActivitiesListResponse\".+falrKind :: Lens' FloodlightActivitiesListResponse Text+falrKind = lens _falrKind (\ s a -> s{_falrKind = a})++-- | Floodlight activity collection.+falrFloodlightActivities :: Lens' FloodlightActivitiesListResponse [FloodlightActivity]+falrFloodlightActivities+  = lens _falrFloodlightActivities+      (\ s a -> s{_falrFloodlightActivities = a})+      . _Default+      . _Coerce++instance FromJSON FloodlightActivitiesListResponse+         where+        parseJSON+          = withObject "FloodlightActivitiesListResponse"+              (\ o ->+                 FloodlightActivitiesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightActivitiesListResponse")+                     <*> (o .:? "floodlightActivities" .!= mempty))++instance ToJSON FloodlightActivitiesListResponse+         where+        toJSON FloodlightActivitiesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _falrNextPageToken,+                  Just ("kind" .= _falrKind),+                  ("floodlightActivities" .=) <$>+                    _falrFloodlightActivities])++-- | Creative Field Assignment.+--+-- /See:/ 'creativeFieldAssignment' smart constructor.+data CreativeFieldAssignment = CreativeFieldAssignment+    { _cfaCreativeFieldId      :: !(Maybe (Textual Int64))+    , _cfaCreativeFieldValueId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfaCreativeFieldId'+--+-- * 'cfaCreativeFieldValueId'+creativeFieldAssignment+    :: CreativeFieldAssignment+creativeFieldAssignment =+    CreativeFieldAssignment+    { _cfaCreativeFieldId = Nothing+    , _cfaCreativeFieldValueId = Nothing+    }++-- | ID of the creative field.+cfaCreativeFieldId :: Lens' CreativeFieldAssignment (Maybe Int64)+cfaCreativeFieldId+  = lens _cfaCreativeFieldId+      (\ s a -> s{_cfaCreativeFieldId = a})+      . mapping _Coerce++-- | ID of the creative field value.+cfaCreativeFieldValueId :: Lens' CreativeFieldAssignment (Maybe Int64)+cfaCreativeFieldValueId+  = lens _cfaCreativeFieldValueId+      (\ s a -> s{_cfaCreativeFieldValueId = a})+      . mapping _Coerce++instance FromJSON CreativeFieldAssignment where+        parseJSON+          = withObject "CreativeFieldAssignment"+              (\ o ->+                 CreativeFieldAssignment <$>+                   (o .:? "creativeFieldId") <*>+                     (o .:? "creativeFieldValueId"))++instance ToJSON CreativeFieldAssignment where+        toJSON CreativeFieldAssignment{..}+          = object+              (catMaybes+                 [("creativeFieldId" .=) <$> _cfaCreativeFieldId,+                  ("creativeFieldValueId" .=) <$>+                    _cfaCreativeFieldValueId])++-- | Groups advertisers together so that reports can be generated for the+-- entire group at once.+--+-- /See:/ 'advertiserGroup' smart constructor.+data AdvertiserGroup = AdvertiserGroup+    { _agKind      :: !Text+    , _agAccountId :: !(Maybe (Textual Int64))+    , _agName      :: !(Maybe Text)+    , _agId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agKind'+--+-- * 'agAccountId'+--+-- * 'agName'+--+-- * 'agId'+advertiserGroup+    :: AdvertiserGroup+advertiserGroup =+    AdvertiserGroup+    { _agKind = "dfareporting#advertiserGroup"+    , _agAccountId = Nothing+    , _agName = Nothing+    , _agId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#advertiserGroup\".+agKind :: Lens' AdvertiserGroup Text+agKind = lens _agKind (\ s a -> s{_agKind = a})++-- | Account ID of this advertiser group. This is a read-only field that can+-- be left blank.+agAccountId :: Lens' AdvertiserGroup (Maybe Int64)+agAccountId+  = lens _agAccountId (\ s a -> s{_agAccountId = a}) .+      mapping _Coerce++-- | Name of this advertiser group. This is a required field and must be less+-- than 256 characters long and unique among advertiser groups of the same+-- account.+agName :: Lens' AdvertiserGroup (Maybe Text)+agName = lens _agName (\ s a -> s{_agName = a})++-- | ID of this advertiser group. This is a read-only, auto-generated field.+agId :: Lens' AdvertiserGroup (Maybe Int64)+agId+  = lens _agId (\ s a -> s{_agId = a}) .+      mapping _Coerce++instance FromJSON AdvertiserGroup where+        parseJSON+          = withObject "AdvertiserGroup"+              (\ o ->+                 AdvertiserGroup <$>+                   (o .:? "kind" .!= "dfareporting#advertiserGroup") <*>+                     (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON AdvertiserGroup where+        toJSON AdvertiserGroup{..}+          = object+              (catMaybes+                 [Just ("kind" .= _agKind),+                  ("accountId" .=) <$> _agAccountId,+                  ("name" .=) <$> _agName, ("id" .=) <$> _agId])++-- | Placement Tag Data+--+-- /See:/ 'tagData' smart constructor.+data TagData = TagData+    { _tdClickTag      :: !(Maybe Text)+    , _tdFormat        :: !(Maybe TagDataFormat)+    , _tdCreativeId    :: !(Maybe (Textual Int64))+    , _tdAdId          :: !(Maybe (Textual Int64))+    , _tdImpressionTag :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TagData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdClickTag'+--+-- * 'tdFormat'+--+-- * 'tdCreativeId'+--+-- * 'tdAdId'+--+-- * 'tdImpressionTag'+tagData+    :: TagData+tagData =+    TagData+    { _tdClickTag = Nothing+    , _tdFormat = Nothing+    , _tdCreativeId = Nothing+    , _tdAdId = Nothing+    , _tdImpressionTag = Nothing+    }++-- | Tag string to record a click.+tdClickTag :: Lens' TagData (Maybe Text)+tdClickTag+  = lens _tdClickTag (\ s a -> s{_tdClickTag = a})++-- | TagData tag format of this tag.+tdFormat :: Lens' TagData (Maybe TagDataFormat)+tdFormat = lens _tdFormat (\ s a -> s{_tdFormat = a})++-- | Creative associated with this placement tag.+tdCreativeId :: Lens' TagData (Maybe Int64)+tdCreativeId+  = lens _tdCreativeId (\ s a -> s{_tdCreativeId = a})+      . mapping _Coerce++-- | Ad associated with this placement tag.+tdAdId :: Lens' TagData (Maybe Int64)+tdAdId+  = lens _tdAdId (\ s a -> s{_tdAdId = a}) .+      mapping _Coerce++-- | Tag string for serving an ad.+tdImpressionTag :: Lens' TagData (Maybe Text)+tdImpressionTag+  = lens _tdImpressionTag+      (\ s a -> s{_tdImpressionTag = a})++instance FromJSON TagData where+        parseJSON+          = withObject "TagData"+              (\ o ->+                 TagData <$>+                   (o .:? "clickTag") <*> (o .:? "format") <*>+                     (o .:? "creativeId")+                     <*> (o .:? "adId")+                     <*> (o .:? "impressionTag"))++instance ToJSON TagData where+        toJSON TagData{..}+          = object+              (catMaybes+                 [("clickTag" .=) <$> _tdClickTag,+                  ("format" .=) <$> _tdFormat,+                  ("creativeId" .=) <$> _tdCreativeId,+                  ("adId" .=) <$> _tdAdId,+                  ("impressionTag" .=) <$> _tdImpressionTag])++-- | Day Part Targeting.+--+-- /See:/ 'dayPartTargeting' smart constructor.+data DayPartTargeting = DayPartTargeting+    { _dptDaysOfWeek    :: !(Maybe [DayPartTargetingDaysOfWeekItem])+    , _dptHoursOfDay    :: !(Maybe [Textual Int32])+    , _dptUserLocalTime :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DayPartTargeting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dptDaysOfWeek'+--+-- * 'dptHoursOfDay'+--+-- * 'dptUserLocalTime'+dayPartTargeting+    :: DayPartTargeting+dayPartTargeting =+    DayPartTargeting+    { _dptDaysOfWeek = Nothing+    , _dptHoursOfDay = Nothing+    , _dptUserLocalTime = Nothing+    }++-- | Days of the week when the ad will serve. Acceptable values are: -+-- \"SUNDAY\" - \"MONDAY\" - \"TUESDAY\" - \"WEDNESDAY\" - \"THURSDAY\" -+-- \"FRIDAY\" - \"SATURDAY\"+dptDaysOfWeek :: Lens' DayPartTargeting [DayPartTargetingDaysOfWeekItem]+dptDaysOfWeek+  = lens _dptDaysOfWeek+      (\ s a -> s{_dptDaysOfWeek = a})+      . _Default+      . _Coerce++-- | Hours of the day when the ad will serve. Must be an integer between 0+-- and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to+-- midnight. Can be specified with days of week, in which case the ad would+-- serve during these hours on the specified days. For example, if Monday,+-- Wednesday, Friday are the days of week specified and 9-10am, 3-5pm+-- (hours 9, 15, and 16) is specified, the ad would serve Monday,+-- Wednesdays, and Fridays at 9-10am and 3-5pm.+dptHoursOfDay :: Lens' DayPartTargeting [Int32]+dptHoursOfDay+  = lens _dptHoursOfDay+      (\ s a -> s{_dptHoursOfDay = a})+      . _Default+      . _Coerce++-- | Whether or not to use the user\'s local time. If false, the America\/New+-- York time zone applies.+dptUserLocalTime :: Lens' DayPartTargeting (Maybe Bool)+dptUserLocalTime+  = lens _dptUserLocalTime+      (\ s a -> s{_dptUserLocalTime = a})++instance FromJSON DayPartTargeting where+        parseJSON+          = withObject "DayPartTargeting"+              (\ o ->+                 DayPartTargeting <$>+                   (o .:? "daysOfWeek" .!= mempty) <*>+                     (o .:? "hoursOfDay" .!= mempty)+                     <*> (o .:? "userLocalTime"))++instance ToJSON DayPartTargeting where+        toJSON DayPartTargeting{..}+          = object+              (catMaybes+                 [("daysOfWeek" .=) <$> _dptDaysOfWeek,+                  ("hoursOfDay" .=) <$> _dptHoursOfDay,+                  ("userLocalTime" .=) <$> _dptUserLocalTime])++-- | Creative optimization settings.+--+-- /See:/ 'creativeOptimizationConfiguration' smart constructor.+data CreativeOptimizationConfiguration = CreativeOptimizationConfiguration+    { _cocOptimizationModel     :: !(Maybe CreativeOptimizationConfigurationOptimizationModel)+    , _cocName                  :: !(Maybe Text)+    , _cocOptimizationActivitys :: !(Maybe [OptimizationActivity])+    , _cocId                    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeOptimizationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cocOptimizationModel'+--+-- * 'cocName'+--+-- * 'cocOptimizationActivitys'+--+-- * 'cocId'+creativeOptimizationConfiguration+    :: CreativeOptimizationConfiguration+creativeOptimizationConfiguration =+    CreativeOptimizationConfiguration+    { _cocOptimizationModel = Nothing+    , _cocName = Nothing+    , _cocOptimizationActivitys = Nothing+    , _cocId = Nothing+    }++-- | Optimization model for this configuration.+cocOptimizationModel :: Lens' CreativeOptimizationConfiguration (Maybe CreativeOptimizationConfigurationOptimizationModel)+cocOptimizationModel+  = lens _cocOptimizationModel+      (\ s a -> s{_cocOptimizationModel = a})++-- | Name of this creative optimization config. This is a required field and+-- must be less than 129 characters long.+cocName :: Lens' CreativeOptimizationConfiguration (Maybe Text)+cocName = lens _cocName (\ s a -> s{_cocName = a})++-- | List of optimization activities associated with this configuration.+cocOptimizationActivitys :: Lens' CreativeOptimizationConfiguration [OptimizationActivity]+cocOptimizationActivitys+  = lens _cocOptimizationActivitys+      (\ s a -> s{_cocOptimizationActivitys = a})+      . _Default+      . _Coerce++-- | ID of this creative optimization config. This field is auto-generated+-- when the campaign is inserted or updated. It can be null for existing+-- campaigns.+cocId :: Lens' CreativeOptimizationConfiguration (Maybe Int64)+cocId+  = lens _cocId (\ s a -> s{_cocId = a}) .+      mapping _Coerce++instance FromJSON CreativeOptimizationConfiguration+         where+        parseJSON+          = withObject "CreativeOptimizationConfiguration"+              (\ o ->+                 CreativeOptimizationConfiguration <$>+                   (o .:? "optimizationModel") <*> (o .:? "name") <*>+                     (o .:? "optimizationActivitys" .!= mempty)+                     <*> (o .:? "id"))++instance ToJSON CreativeOptimizationConfiguration+         where+        toJSON CreativeOptimizationConfiguration{..}+          = object+              (catMaybes+                 [("optimizationModel" .=) <$> _cocOptimizationModel,+                  ("name" .=) <$> _cocName,+                  ("optimizationActivitys" .=) <$>+                    _cocOptimizationActivitys,+                  ("id" .=) <$> _cocId])++-- | The report criteria for a report of type \"STANDARD\".+--+-- /See:/ 'reportCriteria' smart constructor.+data ReportCriteria = ReportCriteria+    { _rcMetricNames           :: !(Maybe [Text])+    , _rcCustomRichMediaEvents :: !(Maybe CustomRichMediaEvents)+    , _rcDimensionFilters      :: !(Maybe [DimensionValue])+    , _rcActivities            :: !(Maybe Activities)+    , _rcDateRange             :: !(Maybe DateRange)+    , _rcDimensions            :: !(Maybe [SortedDimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcMetricNames'+--+-- * 'rcCustomRichMediaEvents'+--+-- * 'rcDimensionFilters'+--+-- * 'rcActivities'+--+-- * 'rcDateRange'+--+-- * 'rcDimensions'+reportCriteria+    :: ReportCriteria+reportCriteria =+    ReportCriteria+    { _rcMetricNames = Nothing+    , _rcCustomRichMediaEvents = Nothing+    , _rcDimensionFilters = Nothing+    , _rcActivities = Nothing+    , _rcDateRange = Nothing+    , _rcDimensions = Nothing+    }++-- | The list of names of metrics the report should include.+rcMetricNames :: Lens' ReportCriteria [Text]+rcMetricNames+  = lens _rcMetricNames+      (\ s a -> s{_rcMetricNames = a})+      . _Default+      . _Coerce++-- | Custom Rich Media Events group.+rcCustomRichMediaEvents :: Lens' ReportCriteria (Maybe CustomRichMediaEvents)+rcCustomRichMediaEvents+  = lens _rcCustomRichMediaEvents+      (\ s a -> s{_rcCustomRichMediaEvents = a})++-- | The list of filters on which dimensions are filtered. Filters for+-- different dimensions are ANDed, filters for the same dimension are+-- grouped together and ORed.+rcDimensionFilters :: Lens' ReportCriteria [DimensionValue]+rcDimensionFilters+  = lens _rcDimensionFilters+      (\ s a -> s{_rcDimensionFilters = a})+      . _Default+      . _Coerce++-- | Activity group.+rcActivities :: Lens' ReportCriteria (Maybe Activities)+rcActivities+  = lens _rcActivities (\ s a -> s{_rcActivities = a})++-- | The date range for which this report should be run.+rcDateRange :: Lens' ReportCriteria (Maybe DateRange)+rcDateRange+  = lens _rcDateRange (\ s a -> s{_rcDateRange = a})++-- | The list of standard dimensions the report should include.+rcDimensions :: Lens' ReportCriteria [SortedDimension]+rcDimensions+  = lens _rcDimensions (\ s a -> s{_rcDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReportCriteria where+        parseJSON+          = withObject "ReportCriteria"+              (\ o ->+                 ReportCriteria <$>+                   (o .:? "metricNames" .!= mempty) <*>+                     (o .:? "customRichMediaEvents")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "activities")+                     <*> (o .:? "dateRange")+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON ReportCriteria where+        toJSON ReportCriteria{..}+          = object+              (catMaybes+                 [("metricNames" .=) <$> _rcMetricNames,+                  ("customRichMediaEvents" .=) <$>+                    _rcCustomRichMediaEvents,+                  ("dimensionFilters" .=) <$> _rcDimensionFilters,+                  ("activities" .=) <$> _rcActivities,+                  ("dateRange" .=) <$> _rcDateRange,+                  ("dimensions" .=) <$> _rcDimensions])++-- | Placement Strategy List Response+--+-- /See:/ 'placementStrategiesListResponse' smart constructor.+data PlacementStrategiesListResponse = PlacementStrategiesListResponse+    { _pslrPlacementStrategies :: !(Maybe [PlacementStrategy])+    , _pslrNextPageToken       :: !(Maybe Text)+    , _pslrKind                :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pslrPlacementStrategies'+--+-- * 'pslrNextPageToken'+--+-- * 'pslrKind'+placementStrategiesListResponse+    :: PlacementStrategiesListResponse+placementStrategiesListResponse =+    PlacementStrategiesListResponse+    { _pslrPlacementStrategies = Nothing+    , _pslrNextPageToken = Nothing+    , _pslrKind = "dfareporting#placementStrategiesListResponse"+    }++-- | Placement strategy collection.+pslrPlacementStrategies :: Lens' PlacementStrategiesListResponse [PlacementStrategy]+pslrPlacementStrategies+  = lens _pslrPlacementStrategies+      (\ s a -> s{_pslrPlacementStrategies = a})+      . _Default+      . _Coerce++-- | Pagination token to be used for the next list operation.+pslrNextPageToken :: Lens' PlacementStrategiesListResponse (Maybe Text)+pslrNextPageToken+  = lens _pslrNextPageToken+      (\ s a -> s{_pslrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementStrategiesListResponse\".+pslrKind :: Lens' PlacementStrategiesListResponse Text+pslrKind = lens _pslrKind (\ s a -> s{_pslrKind = a})++instance FromJSON PlacementStrategiesListResponse+         where+        parseJSON+          = withObject "PlacementStrategiesListResponse"+              (\ o ->+                 PlacementStrategiesListResponse <$>+                   (o .:? "placementStrategies" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#placementStrategiesListResponse"))++instance ToJSON PlacementStrategiesListResponse where+        toJSON PlacementStrategiesListResponse{..}+          = object+              (catMaybes+                 [("placementStrategies" .=) <$>+                    _pslrPlacementStrategies,+                  ("nextPageToken" .=) <$> _pslrNextPageToken,+                  Just ("kind" .= _pslrKind)])++-- | Contains properties of a DCM subaccount.+--+-- /See:/ 'subAccount' smart constructor.+data SubAccount = SubAccount+    { _saKind                   :: !Text+    , _saAvailablePermissionIds :: !(Maybe [Textual Int64])+    , _saAccountId              :: !(Maybe (Textual Int64))+    , _saName                   :: !(Maybe Text)+    , _saId                     :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saKind'+--+-- * 'saAvailablePermissionIds'+--+-- * 'saAccountId'+--+-- * 'saName'+--+-- * 'saId'+subAccount+    :: SubAccount+subAccount =+    SubAccount+    { _saKind = "dfareporting#subaccount"+    , _saAvailablePermissionIds = Nothing+    , _saAccountId = Nothing+    , _saName = Nothing+    , _saId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#subaccount\".+saKind :: Lens' SubAccount Text+saKind = lens _saKind (\ s a -> s{_saKind = a})++-- | IDs of the available user role permissions for this subaccount.+saAvailablePermissionIds :: Lens' SubAccount [Int64]+saAvailablePermissionIds+  = lens _saAvailablePermissionIds+      (\ s a -> s{_saAvailablePermissionIds = a})+      . _Default+      . _Coerce++-- | ID of the account that contains this subaccount. This is a read-only+-- field that can be left blank.+saAccountId :: Lens' SubAccount (Maybe Int64)+saAccountId+  = lens _saAccountId (\ s a -> s{_saAccountId = a}) .+      mapping _Coerce++-- | Name of this subaccount. This is a required field. Must be less than 128+-- characters long and be unique among subaccounts of the same account.+saName :: Lens' SubAccount (Maybe Text)+saName = lens _saName (\ s a -> s{_saName = a})++-- | ID of this subaccount. This is a read-only, auto-generated field.+saId :: Lens' SubAccount (Maybe Int64)+saId+  = lens _saId (\ s a -> s{_saId = a}) .+      mapping _Coerce++instance FromJSON SubAccount where+        parseJSON+          = withObject "SubAccount"+              (\ o ->+                 SubAccount <$>+                   (o .:? "kind" .!= "dfareporting#subaccount") <*>+                     (o .:? "availablePermissionIds" .!= mempty)+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON SubAccount where+        toJSON SubAccount{..}+          = object+              (catMaybes+                 [Just ("kind" .= _saKind),+                  ("availablePermissionIds" .=) <$>+                    _saAvailablePermissionIds,+                  ("accountId" .=) <$> _saAccountId,+                  ("name" .=) <$> _saName, ("id" .=) <$> _saId])++-- | Inventory item List Response+--+-- /See:/ 'inventoryItemsListResponse' smart constructor.+data InventoryItemsListResponse = InventoryItemsListResponse+    { _iilrInventoryItems :: !(Maybe [InventoryItem])+    , _iilrNextPageToken  :: !(Maybe Text)+    , _iilrKind           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InventoryItemsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iilrInventoryItems'+--+-- * 'iilrNextPageToken'+--+-- * 'iilrKind'+inventoryItemsListResponse+    :: InventoryItemsListResponse+inventoryItemsListResponse =+    InventoryItemsListResponse+    { _iilrInventoryItems = Nothing+    , _iilrNextPageToken = Nothing+    , _iilrKind = "dfareporting#inventoryItemsListResponse"+    }++-- | Inventory item collection+iilrInventoryItems :: Lens' InventoryItemsListResponse [InventoryItem]+iilrInventoryItems+  = lens _iilrInventoryItems+      (\ s a -> s{_iilrInventoryItems = a})+      . _Default+      . _Coerce++-- | Pagination token to be used for the next list operation.+iilrNextPageToken :: Lens' InventoryItemsListResponse (Maybe Text)+iilrNextPageToken+  = lens _iilrNextPageToken+      (\ s a -> s{_iilrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#inventoryItemsListResponse\".+iilrKind :: Lens' InventoryItemsListResponse Text+iilrKind = lens _iilrKind (\ s a -> s{_iilrKind = a})++instance FromJSON InventoryItemsListResponse where+        parseJSON+          = withObject "InventoryItemsListResponse"+              (\ o ->+                 InventoryItemsListResponse <$>+                   (o .:? "inventoryItems" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#inventoryItemsListResponse"))++instance ToJSON InventoryItemsListResponse where+        toJSON InventoryItemsListResponse{..}+          = object+              (catMaybes+                 [("inventoryItems" .=) <$> _iilrInventoryItems,+                  ("nextPageToken" .=) <$> _iilrNextPageToken,+                  Just ("kind" .= _iilrKind)])++-- | Contains properties of a DCM ad.+--+-- /See:/ 'ad' smart constructor.+data Ad = Ad+    { _aCreativeGroupAssignments              :: !(Maybe [CreativeGroupAssignment])+    , _aGeoTargeting                          :: !(Maybe GeoTargeting)+    , _aCreativeRotation                      :: !(Maybe CreativeRotation)+    , _aTechnologyTargeting                   :: !(Maybe TechnologyTargeting)+    , _aAudienceSegmentId                     :: !(Maybe (Textual Int64))+    , _aDayPartTargeting                      :: !(Maybe DayPartTargeting)+    , _aSize                                  :: !(Maybe Size)+    , _aStartTime                             :: !(Maybe DateTime')+    , _aKind                                  :: !Text+    , _aClickThroughURLSuffixProperties       :: !(Maybe ClickThroughURLSuffixProperties)+    , _aCampaignIdDimensionValue              :: !(Maybe DimensionValue)+    , _aAdvertiserId                          :: !(Maybe (Textual Int64))+    , _aAdvertiserIdDimensionValue            :: !(Maybe DimensionValue)+    , _aSSLCompliant                          :: !(Maybe Bool)+    , _aCampaignId                            :: !(Maybe (Textual Int64))+    , _aIdDimensionValue                      :: !(Maybe DimensionValue)+    , _aClickThroughURL                       :: !(Maybe ClickThroughURL)+    , _aDeliverySchedule                      :: !(Maybe DeliverySchedule)+    , _aEventTagOverrides                     :: !(Maybe [EventTagOverride])+    , _aActive                                :: !(Maybe Bool)+    , _aAccountId                             :: !(Maybe (Textual Int64))+    , _aName                                  :: !(Maybe Text)+    , _aKeyValueTargetingExpression           :: !(Maybe KeyValueTargetingExpression)+    , _aEndTime                               :: !(Maybe DateTime')+    , _aCreateInfo                            :: !(Maybe LastModifiedInfo)+    , _aLastModifiedInfo                      :: !(Maybe LastModifiedInfo)+    , _aId                                    :: !(Maybe (Textual Int64))+    , _aSSLRequired                           :: !(Maybe Bool)+    , _aComments                              :: !(Maybe Text)+    , _aSubAccountId                          :: !(Maybe (Textual Int64))+    , _aType                                  :: !(Maybe AdType)+    , _aRemarketingListExpression             :: !(Maybe ListTargetingExpression)+    , _aDynamicClickTracker                   :: !(Maybe Bool)+    , _aCompatibility                         :: !(Maybe AdCompatibility)+    , _aArchived                              :: !(Maybe Bool)+    , _aDefaultClickThroughEventTagProperties :: !(Maybe DefaultClickThroughEventTagProperties)+    , _aPlacementAssignments                  :: !(Maybe [PlacementAssignment])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Ad' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aCreativeGroupAssignments'+--+-- * 'aGeoTargeting'+--+-- * 'aCreativeRotation'+--+-- * 'aTechnologyTargeting'+--+-- * 'aAudienceSegmentId'+--+-- * 'aDayPartTargeting'+--+-- * 'aSize'+--+-- * 'aStartTime'+--+-- * 'aKind'+--+-- * 'aClickThroughURLSuffixProperties'+--+-- * 'aCampaignIdDimensionValue'+--+-- * 'aAdvertiserId'+--+-- * 'aAdvertiserIdDimensionValue'+--+-- * 'aSSLCompliant'+--+-- * 'aCampaignId'+--+-- * 'aIdDimensionValue'+--+-- * 'aClickThroughURL'+--+-- * 'aDeliverySchedule'+--+-- * 'aEventTagOverrides'+--+-- * 'aActive'+--+-- * 'aAccountId'+--+-- * 'aName'+--+-- * 'aKeyValueTargetingExpression'+--+-- * 'aEndTime'+--+-- * 'aCreateInfo'+--+-- * 'aLastModifiedInfo'+--+-- * 'aId'+--+-- * 'aSSLRequired'+--+-- * 'aComments'+--+-- * 'aSubAccountId'+--+-- * 'aType'+--+-- * 'aRemarketingListExpression'+--+-- * 'aDynamicClickTracker'+--+-- * 'aCompatibility'+--+-- * 'aArchived'+--+-- * 'aDefaultClickThroughEventTagProperties'+--+-- * 'aPlacementAssignments'+ad+    :: Ad+ad =+    Ad+    { _aCreativeGroupAssignments = Nothing+    , _aGeoTargeting = Nothing+    , _aCreativeRotation = Nothing+    , _aTechnologyTargeting = Nothing+    , _aAudienceSegmentId = Nothing+    , _aDayPartTargeting = Nothing+    , _aSize = Nothing+    , _aStartTime = Nothing+    , _aKind = "dfareporting#ad"+    , _aClickThroughURLSuffixProperties = Nothing+    , _aCampaignIdDimensionValue = Nothing+    , _aAdvertiserId = Nothing+    , _aAdvertiserIdDimensionValue = Nothing+    , _aSSLCompliant = Nothing+    , _aCampaignId = Nothing+    , _aIdDimensionValue = Nothing+    , _aClickThroughURL = Nothing+    , _aDeliverySchedule = Nothing+    , _aEventTagOverrides = Nothing+    , _aActive = Nothing+    , _aAccountId = Nothing+    , _aName = Nothing+    , _aKeyValueTargetingExpression = Nothing+    , _aEndTime = Nothing+    , _aCreateInfo = Nothing+    , _aLastModifiedInfo = Nothing+    , _aId = Nothing+    , _aSSLRequired = Nothing+    , _aComments = Nothing+    , _aSubAccountId = Nothing+    , _aType = Nothing+    , _aRemarketingListExpression = Nothing+    , _aDynamicClickTracker = Nothing+    , _aCompatibility = Nothing+    , _aArchived = Nothing+    , _aDefaultClickThroughEventTagProperties = Nothing+    , _aPlacementAssignments = Nothing+    }++-- | Creative group assignments for this ad. Applicable when type is+-- AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number+-- is allowed for a maximum of two assignments.+aCreativeGroupAssignments :: Lens' Ad [CreativeGroupAssignment]+aCreativeGroupAssignments+  = lens _aCreativeGroupAssignments+      (\ s a -> s{_aCreativeGroupAssignments = a})+      . _Default+      . _Coerce++-- | Geographical targeting information for this ad.Applicable when type is+-- AD_SERVING_STANDARD_AD.+aGeoTargeting :: Lens' Ad (Maybe GeoTargeting)+aGeoTargeting+  = lens _aGeoTargeting+      (\ s a -> s{_aGeoTargeting = a})++-- | Creative rotation for this ad. Applicable when type is+-- AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING.+-- When type is AD_SERVING_DEFAULT_AD, this field should have exactly one+-- creativeAssignment.+aCreativeRotation :: Lens' Ad (Maybe CreativeRotation)+aCreativeRotation+  = lens _aCreativeRotation+      (\ s a -> s{_aCreativeRotation = a})++-- | Technology platform targeting information for this ad. Applicable when+-- type is AD_SERVING_STANDARD_AD.+aTechnologyTargeting :: Lens' Ad (Maybe TechnologyTargeting)+aTechnologyTargeting+  = lens _aTechnologyTargeting+      (\ s a -> s{_aTechnologyTargeting = a})++-- | Audience segment ID that is being targeted for this ad. Applicable when+-- type is AD_SERVING_STANDARD_AD.+aAudienceSegmentId :: Lens' Ad (Maybe Int64)+aAudienceSegmentId+  = lens _aAudienceSegmentId+      (\ s a -> s{_aAudienceSegmentId = a})+      . mapping _Coerce++-- | Time and day targeting information for this ad. Applicable when type is+-- AD_SERVING_STANDARD_AD.+aDayPartTargeting :: Lens' Ad (Maybe DayPartTargeting)+aDayPartTargeting+  = lens _aDayPartTargeting+      (\ s a -> s{_aDayPartTargeting = a})++-- | Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.+aSize :: Lens' Ad (Maybe Size)+aSize = lens _aSize (\ s a -> s{_aSize = a})++-- | Date and time that this ad should start serving. If creating an ad, this+-- field must be a time in the future. This is a required field on+-- insertion.+aStartTime :: Lens' Ad (Maybe UTCTime)+aStartTime+  = lens _aStartTime (\ s a -> s{_aStartTime = a}) .+      mapping _DateTime++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#ad\".+aKind :: Lens' Ad Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | Click-through URL suffix properties for this ad. Applies to the URL in+-- the ad or (if overriding ad properties) the URL in the creative.+aClickThroughURLSuffixProperties :: Lens' Ad (Maybe ClickThroughURLSuffixProperties)+aClickThroughURLSuffixProperties+  = lens _aClickThroughURLSuffixProperties+      (\ s a -> s{_aClickThroughURLSuffixProperties = a})++-- | Dimension value for the ID of the campaign. This is a read-only,+-- auto-generated field.+aCampaignIdDimensionValue :: Lens' Ad (Maybe DimensionValue)+aCampaignIdDimensionValue+  = lens _aCampaignIdDimensionValue+      (\ s a -> s{_aCampaignIdDimensionValue = a})++-- | Advertiser ID of this ad. This is a required field on insertion.+aAdvertiserId :: Lens' Ad (Maybe Int64)+aAdvertiserId+  = lens _aAdvertiserId+      (\ s a -> s{_aAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+aAdvertiserIdDimensionValue :: Lens' Ad (Maybe DimensionValue)+aAdvertiserIdDimensionValue+  = lens _aAdvertiserIdDimensionValue+      (\ s a -> s{_aAdvertiserIdDimensionValue = a})++-- | Whether this ad is ssl compliant. This is a read-only field that is+-- auto-generated when the ad is inserted or updated.+aSSLCompliant :: Lens' Ad (Maybe Bool)+aSSLCompliant+  = lens _aSSLCompliant+      (\ s a -> s{_aSSLCompliant = a})++-- | Campaign ID of this ad. This is a required field on insertion.+aCampaignId :: Lens' Ad (Maybe Int64)+aCampaignId+  = lens _aCampaignId (\ s a -> s{_aCampaignId = a}) .+      mapping _Coerce++-- | Dimension value for the ID of this ad. This is a read-only,+-- auto-generated field.+aIdDimensionValue :: Lens' Ad (Maybe DimensionValue)+aIdDimensionValue+  = lens _aIdDimensionValue+      (\ s a -> s{_aIdDimensionValue = a})++-- | Click-through URL for this ad. This is a required field on insertion.+-- Applicable when type is AD_SERVING_CLICK_TRACKER.+aClickThroughURL :: Lens' Ad (Maybe ClickThroughURL)+aClickThroughURL+  = lens _aClickThroughURL+      (\ s a -> s{_aClickThroughURL = a})++-- | Delivery schedule information for this ad. Applicable when type is+-- AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with+-- subfields priority and impressionRatio are required on insertion when+-- type is AD_SERVING_STANDARD_AD.+aDeliverySchedule :: Lens' Ad (Maybe DeliverySchedule)+aDeliverySchedule+  = lens _aDeliverySchedule+      (\ s a -> s{_aDeliverySchedule = a})++-- | Event tag overrides for this ad.+aEventTagOverrides :: Lens' Ad [EventTagOverride]+aEventTagOverrides+  = lens _aEventTagOverrides+      (\ s a -> s{_aEventTagOverrides = a})+      . _Default+      . _Coerce++-- | Whether this ad is active.+aActive :: Lens' Ad (Maybe Bool)+aActive = lens _aActive (\ s a -> s{_aActive = a})++-- | Account ID of this ad. This is a read-only field that can be left blank.+aAccountId :: Lens' Ad (Maybe Int64)+aAccountId+  = lens _aAccountId (\ s a -> s{_aAccountId = a}) .+      mapping _Coerce++-- | Name of this ad. This is a required field and must be less than 256+-- characters long.+aName :: Lens' Ad (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | Key-value targeting information for this ad. Applicable when type is+-- AD_SERVING_STANDARD_AD.+aKeyValueTargetingExpression :: Lens' Ad (Maybe KeyValueTargetingExpression)+aKeyValueTargetingExpression+  = lens _aKeyValueTargetingExpression+      (\ s a -> s{_aKeyValueTargetingExpression = a})++-- | Date and time that this ad should stop serving. Must be later than the+-- start time. This is a required field on insertion.+aEndTime :: Lens' Ad (Maybe UTCTime)+aEndTime+  = lens _aEndTime (\ s a -> s{_aEndTime = a}) .+      mapping _DateTime++-- | Information about the creation of this ad.This is a read-only field.+aCreateInfo :: Lens' Ad (Maybe LastModifiedInfo)+aCreateInfo+  = lens _aCreateInfo (\ s a -> s{_aCreateInfo = a})++-- | Information about the most recent modification of this ad. This is a+-- read-only field.+aLastModifiedInfo :: Lens' Ad (Maybe LastModifiedInfo)+aLastModifiedInfo+  = lens _aLastModifiedInfo+      (\ s a -> s{_aLastModifiedInfo = a})++-- | ID of this ad. This is a read-only, auto-generated field.+aId :: Lens' Ad (Maybe Int64)+aId+  = lens _aId (\ s a -> s{_aId = a}) . mapping _Coerce++-- | Whether this ad requires ssl. This is a read-only field that is+-- auto-generated when the ad is inserted or updated.+aSSLRequired :: Lens' Ad (Maybe Bool)+aSSLRequired+  = lens _aSSLRequired (\ s a -> s{_aSSLRequired = a})++-- | Comments for this ad.+aComments :: Lens' Ad (Maybe Text)+aComments+  = lens _aComments (\ s a -> s{_aComments = a})++-- | Subaccount ID of this ad. This is a read-only field that can be left+-- blank.+aSubAccountId :: Lens' Ad (Maybe Int64)+aSubAccountId+  = lens _aSubAccountId+      (\ s a -> s{_aSubAccountId = a})+      . mapping _Coerce++-- | Type of ad. This is a required field on insertion. Note that default ads+-- (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative+-- resource).+aType :: Lens' Ad (Maybe AdType)+aType = lens _aType (\ s a -> s{_aType = a})++-- | Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list+-- targeting expression for this ad.+aRemarketingListExpression :: Lens' Ad (Maybe ListTargetingExpression)+aRemarketingListExpression+  = lens _aRemarketingListExpression+      (\ s a -> s{_aRemarketingListExpression = a})++-- | Whether this ad is a dynamic click tracker. Applicable when type is+-- AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is+-- read-only after insert.+aDynamicClickTracker :: Lens' Ad (Maybe Bool)+aDynamicClickTracker+  = lens _aDynamicClickTracker+      (\ s a -> s{_aDynamicClickTracker = a})++-- | Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.+-- WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on+-- mobile devices for regular or interstitial ads, respectively. APP and+-- APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO+-- refers to rendering an in-stream video ads developed with the VAST+-- standard.+aCompatibility :: Lens' Ad (Maybe AdCompatibility)+aCompatibility+  = lens _aCompatibility+      (\ s a -> s{_aCompatibility = a})++-- | Whether this ad is archived.+aArchived :: Lens' Ad (Maybe Bool)+aArchived+  = lens _aArchived (\ s a -> s{_aArchived = a})++-- | Default click-through event tag properties for this ad.+aDefaultClickThroughEventTagProperties :: Lens' Ad (Maybe DefaultClickThroughEventTagProperties)+aDefaultClickThroughEventTagProperties+  = lens _aDefaultClickThroughEventTagProperties+      (\ s a ->+         s{_aDefaultClickThroughEventTagProperties = a})++-- | Placement assignments for this ad.+aPlacementAssignments :: Lens' Ad [PlacementAssignment]+aPlacementAssignments+  = lens _aPlacementAssignments+      (\ s a -> s{_aPlacementAssignments = a})+      . _Default+      . _Coerce++instance FromJSON Ad where+        parseJSON+          = withObject "Ad"+              (\ o ->+                 Ad <$>+                   (o .:? "creativeGroupAssignments" .!= mempty) <*>+                     (o .:? "geoTargeting")+                     <*> (o .:? "creativeRotation")+                     <*> (o .:? "technologyTargeting")+                     <*> (o .:? "audienceSegmentId")+                     <*> (o .:? "dayPartTargeting")+                     <*> (o .:? "size")+                     <*> (o .:? "startTime")+                     <*> (o .:? "kind" .!= "dfareporting#ad")+                     <*> (o .:? "clickThroughUrlSuffixProperties")+                     <*> (o .:? "campaignIdDimensionValue")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "campaignId")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "clickThroughUrl")+                     <*> (o .:? "deliverySchedule")+                     <*> (o .:? "eventTagOverrides" .!= mempty)+                     <*> (o .:? "active")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "keyValueTargetingExpression")+                     <*> (o .:? "endTime")+                     <*> (o .:? "createInfo")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "sslRequired")+                     <*> (o .:? "comments")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "type")+                     <*> (o .:? "remarketingListExpression")+                     <*> (o .:? "dynamicClickTracker")+                     <*> (o .:? "compatibility")+                     <*> (o .:? "archived")+                     <*> (o .:? "defaultClickThroughEventTagProperties")+                     <*> (o .:? "placementAssignments" .!= mempty))++instance ToJSON Ad where+        toJSON Ad{..}+          = object+              (catMaybes+                 [("creativeGroupAssignments" .=) <$>+                    _aCreativeGroupAssignments,+                  ("geoTargeting" .=) <$> _aGeoTargeting,+                  ("creativeRotation" .=) <$> _aCreativeRotation,+                  ("technologyTargeting" .=) <$> _aTechnologyTargeting,+                  ("audienceSegmentId" .=) <$> _aAudienceSegmentId,+                  ("dayPartTargeting" .=) <$> _aDayPartTargeting,+                  ("size" .=) <$> _aSize,+                  ("startTime" .=) <$> _aStartTime,+                  Just ("kind" .= _aKind),+                  ("clickThroughUrlSuffixProperties" .=) <$>+                    _aClickThroughURLSuffixProperties,+                  ("campaignIdDimensionValue" .=) <$>+                    _aCampaignIdDimensionValue,+                  ("advertiserId" .=) <$> _aAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _aAdvertiserIdDimensionValue,+                  ("sslCompliant" .=) <$> _aSSLCompliant,+                  ("campaignId" .=) <$> _aCampaignId,+                  ("idDimensionValue" .=) <$> _aIdDimensionValue,+                  ("clickThroughUrl" .=) <$> _aClickThroughURL,+                  ("deliverySchedule" .=) <$> _aDeliverySchedule,+                  ("eventTagOverrides" .=) <$> _aEventTagOverrides,+                  ("active" .=) <$> _aActive,+                  ("accountId" .=) <$> _aAccountId,+                  ("name" .=) <$> _aName,+                  ("keyValueTargetingExpression" .=) <$>+                    _aKeyValueTargetingExpression,+                  ("endTime" .=) <$> _aEndTime,+                  ("createInfo" .=) <$> _aCreateInfo,+                  ("lastModifiedInfo" .=) <$> _aLastModifiedInfo,+                  ("id" .=) <$> _aId,+                  ("sslRequired" .=) <$> _aSSLRequired,+                  ("comments" .=) <$> _aComments,+                  ("subaccountId" .=) <$> _aSubAccountId,+                  ("type" .=) <$> _aType,+                  ("remarketingListExpression" .=) <$>+                    _aRemarketingListExpression,+                  ("dynamicClickTracker" .=) <$> _aDynamicClickTracker,+                  ("compatibility" .=) <$> _aCompatibility,+                  ("archived" .=) <$> _aArchived,+                  ("defaultClickThroughEventTagProperties" .=) <$>+                    _aDefaultClickThroughEventTagProperties,+                  ("placementAssignments" .=) <$>+                    _aPlacementAssignments])++-- | Contains properties of a DoubleClick Planning project.+--+-- /See:/ 'project' smart constructor.+data Project = Project+    { _pTargetClicks      :: !(Maybe (Textual Int64))+    , _pClientBillingCode :: !(Maybe Text)+    , _pTargetCpmNanos    :: !(Maybe (Textual Int64))+    , _pTargetConversions :: !(Maybe (Textual Int64))+    , _pBudget            :: !(Maybe (Textual Int64))+    , _pKind              :: !Text+    , _pAdvertiserId      :: !(Maybe (Textual Int64))+    , _pEndDate           :: !(Maybe Date')+    , _pOverview          :: !(Maybe Text)+    , _pTargetImpressions :: !(Maybe (Textual Int64))+    , _pStartDate         :: !(Maybe Date')+    , _pTargetCpcNanos    :: !(Maybe (Textual Int64))+    , _pAccountId         :: !(Maybe (Textual Int64))+    , _pName              :: !(Maybe Text)+    , _pLastModifiedInfo  :: !(Maybe LastModifiedInfo)+    , _pId                :: !(Maybe (Textual Int64))+    , _pAudienceAgeGroup  :: !(Maybe ProjectAudienceAgeGroup)+    , _pSubAccountId      :: !(Maybe (Textual Int64))+    , _pAudienceGender    :: !(Maybe ProjectAudienceGender)+    , _pClientName        :: !(Maybe Text)+    , _pTargetCpaNanos    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Project' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pTargetClicks'+--+-- * 'pClientBillingCode'+--+-- * 'pTargetCpmNanos'+--+-- * 'pTargetConversions'+--+-- * 'pBudget'+--+-- * 'pKind'+--+-- * 'pAdvertiserId'+--+-- * 'pEndDate'+--+-- * 'pOverview'+--+-- * 'pTargetImpressions'+--+-- * 'pStartDate'+--+-- * 'pTargetCpcNanos'+--+-- * 'pAccountId'+--+-- * 'pName'+--+-- * 'pLastModifiedInfo'+--+-- * 'pId'+--+-- * 'pAudienceAgeGroup'+--+-- * 'pSubAccountId'+--+-- * 'pAudienceGender'+--+-- * 'pClientName'+--+-- * 'pTargetCpaNanos'+project+    :: Project+project =+    Project+    { _pTargetClicks = Nothing+    , _pClientBillingCode = Nothing+    , _pTargetCpmNanos = Nothing+    , _pTargetConversions = Nothing+    , _pBudget = Nothing+    , _pKind = "dfareporting#project"+    , _pAdvertiserId = Nothing+    , _pEndDate = Nothing+    , _pOverview = Nothing+    , _pTargetImpressions = Nothing+    , _pStartDate = Nothing+    , _pTargetCpcNanos = Nothing+    , _pAccountId = Nothing+    , _pName = Nothing+    , _pLastModifiedInfo = Nothing+    , _pId = Nothing+    , _pAudienceAgeGroup = Nothing+    , _pSubAccountId = Nothing+    , _pAudienceGender = Nothing+    , _pClientName = Nothing+    , _pTargetCpaNanos = Nothing+    }++-- | Number of clicks that the advertiser is targeting.+pTargetClicks :: Lens' Project (Maybe Int64)+pTargetClicks+  = lens _pTargetClicks+      (\ s a -> s{_pTargetClicks = a})+      . mapping _Coerce++-- | Client billing code of this project.+pClientBillingCode :: Lens' Project (Maybe Text)+pClientBillingCode+  = lens _pClientBillingCode+      (\ s a -> s{_pClientBillingCode = a})++-- | CPM that the advertiser is targeting.+pTargetCpmNanos :: Lens' Project (Maybe Int64)+pTargetCpmNanos+  = lens _pTargetCpmNanos+      (\ s a -> s{_pTargetCpmNanos = a})+      . mapping _Coerce++-- | Number of conversions that the advertiser is targeting.+pTargetConversions :: Lens' Project (Maybe Int64)+pTargetConversions+  = lens _pTargetConversions+      (\ s a -> s{_pTargetConversions = a})+      . mapping _Coerce++-- | Budget of this project in the currency specified by the current account.+-- The value stored in this field represents only the non-fractional+-- amount. For example, for USD, the smallest value that can be represented+-- by this field is 1 US dollar.+pBudget :: Lens' Project (Maybe Int64)+pBudget+  = lens _pBudget (\ s a -> s{_pBudget = a}) .+      mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#project\".+pKind :: Lens' Project Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | Advertiser ID of this project.+pAdvertiserId :: Lens' Project (Maybe Int64)+pAdvertiserId+  = lens _pAdvertiserId+      (\ s a -> s{_pAdvertiserId = a})+      . mapping _Coerce++-- | End date of the project.+pEndDate :: Lens' Project (Maybe Day)+pEndDate+  = lens _pEndDate (\ s a -> s{_pEndDate = a}) .+      mapping _Date++-- | Overview of this project.+pOverview :: Lens' Project (Maybe Text)+pOverview+  = lens _pOverview (\ s a -> s{_pOverview = a})++-- | Number of impressions that the advertiser is targeting.+pTargetImpressions :: Lens' Project (Maybe Int64)+pTargetImpressions+  = lens _pTargetImpressions+      (\ s a -> s{_pTargetImpressions = a})+      . mapping _Coerce++-- | Start date of the project.+pStartDate :: Lens' Project (Maybe Day)+pStartDate+  = lens _pStartDate (\ s a -> s{_pStartDate = a}) .+      mapping _Date++-- | CPC that the advertiser is targeting.+pTargetCpcNanos :: Lens' Project (Maybe Int64)+pTargetCpcNanos+  = lens _pTargetCpcNanos+      (\ s a -> s{_pTargetCpcNanos = a})+      . mapping _Coerce++-- | Account ID of this project.+pAccountId :: Lens' Project (Maybe Int64)+pAccountId+  = lens _pAccountId (\ s a -> s{_pAccountId = a}) .+      mapping _Coerce++-- | Name of this project.+pName :: Lens' Project (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | Information about the most recent modification of this project.+pLastModifiedInfo :: Lens' Project (Maybe LastModifiedInfo)+pLastModifiedInfo+  = lens _pLastModifiedInfo+      (\ s a -> s{_pLastModifiedInfo = a})++-- | ID of this project. This is a read-only, auto-generated field.+pId :: Lens' Project (Maybe Int64)+pId+  = lens _pId (\ s a -> s{_pId = a}) . mapping _Coerce++-- | Audience age group of this project.+pAudienceAgeGroup :: Lens' Project (Maybe ProjectAudienceAgeGroup)+pAudienceAgeGroup+  = lens _pAudienceAgeGroup+      (\ s a -> s{_pAudienceAgeGroup = a})++-- | Subaccount ID of this project.+pSubAccountId :: Lens' Project (Maybe Int64)+pSubAccountId+  = lens _pSubAccountId+      (\ s a -> s{_pSubAccountId = a})+      . mapping _Coerce++-- | Audience gender of this project.+pAudienceGender :: Lens' Project (Maybe ProjectAudienceGender)+pAudienceGender+  = lens _pAudienceGender+      (\ s a -> s{_pAudienceGender = a})++-- | Name of the project client.+pClientName :: Lens' Project (Maybe Text)+pClientName+  = lens _pClientName (\ s a -> s{_pClientName = a})++-- | CPA that the advertiser is targeting.+pTargetCpaNanos :: Lens' Project (Maybe Int64)+pTargetCpaNanos+  = lens _pTargetCpaNanos+      (\ s a -> s{_pTargetCpaNanos = a})+      . mapping _Coerce++instance FromJSON Project where+        parseJSON+          = withObject "Project"+              (\ o ->+                 Project <$>+                   (o .:? "targetClicks") <*>+                     (o .:? "clientBillingCode")+                     <*> (o .:? "targetCpmNanos")+                     <*> (o .:? "targetConversions")+                     <*> (o .:? "budget")+                     <*> (o .:? "kind" .!= "dfareporting#project")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "endDate")+                     <*> (o .:? "overview")+                     <*> (o .:? "targetImpressions")+                     <*> (o .:? "startDate")+                     <*> (o .:? "targetCpcNanos")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "audienceAgeGroup")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "audienceGender")+                     <*> (o .:? "clientName")+                     <*> (o .:? "targetCpaNanos"))++instance ToJSON Project where+        toJSON Project{..}+          = object+              (catMaybes+                 [("targetClicks" .=) <$> _pTargetClicks,+                  ("clientBillingCode" .=) <$> _pClientBillingCode,+                  ("targetCpmNanos" .=) <$> _pTargetCpmNanos,+                  ("targetConversions" .=) <$> _pTargetConversions,+                  ("budget" .=) <$> _pBudget, Just ("kind" .= _pKind),+                  ("advertiserId" .=) <$> _pAdvertiserId,+                  ("endDate" .=) <$> _pEndDate,+                  ("overview" .=) <$> _pOverview,+                  ("targetImpressions" .=) <$> _pTargetImpressions,+                  ("startDate" .=) <$> _pStartDate,+                  ("targetCpcNanos" .=) <$> _pTargetCpcNanos,+                  ("accountId" .=) <$> _pAccountId,+                  ("name" .=) <$> _pName,+                  ("lastModifiedInfo" .=) <$> _pLastModifiedInfo,+                  ("id" .=) <$> _pId,+                  ("audienceAgeGroup" .=) <$> _pAudienceAgeGroup,+                  ("subaccountId" .=) <$> _pSubAccountId,+                  ("audienceGender" .=) <$> _pAudienceGender,+                  ("clientName" .=) <$> _pClientName,+                  ("targetCpaNanos" .=) <$> _pTargetCpaNanos])++-- | The report criteria for a report of type \"FLOODLIGHT\".+--+-- /See:/ 'reportFloodlightCriteria' smart constructor.+data ReportFloodlightCriteria = ReportFloodlightCriteria+    { _rfcReportProperties      :: !(Maybe ReportFloodlightCriteriaReportProperties)+    , _rfcMetricNames           :: !(Maybe [Text])+    , _rfcCustomRichMediaEvents :: !(Maybe [DimensionValue])+    , _rfcDimensionFilters      :: !(Maybe [DimensionValue])+    , _rfcDateRange             :: !(Maybe DateRange)+    , _rfcFloodlightConfigId    :: !(Maybe DimensionValue)+    , _rfcDimensions            :: !(Maybe [SortedDimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportFloodlightCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfcReportProperties'+--+-- * 'rfcMetricNames'+--+-- * 'rfcCustomRichMediaEvents'+--+-- * 'rfcDimensionFilters'+--+-- * 'rfcDateRange'+--+-- * 'rfcFloodlightConfigId'+--+-- * 'rfcDimensions'+reportFloodlightCriteria+    :: ReportFloodlightCriteria+reportFloodlightCriteria =+    ReportFloodlightCriteria+    { _rfcReportProperties = Nothing+    , _rfcMetricNames = Nothing+    , _rfcCustomRichMediaEvents = Nothing+    , _rfcDimensionFilters = Nothing+    , _rfcDateRange = Nothing+    , _rfcFloodlightConfigId = Nothing+    , _rfcDimensions = Nothing+    }++-- | The properties of the report.+rfcReportProperties :: Lens' ReportFloodlightCriteria (Maybe ReportFloodlightCriteriaReportProperties)+rfcReportProperties+  = lens _rfcReportProperties+      (\ s a -> s{_rfcReportProperties = a})++-- | The list of names of metrics the report should include.+rfcMetricNames :: Lens' ReportFloodlightCriteria [Text]+rfcMetricNames+  = lens _rfcMetricNames+      (\ s a -> s{_rfcMetricNames = a})+      . _Default+      . _Coerce++-- | The list of custom rich media events to include.+rfcCustomRichMediaEvents :: Lens' ReportFloodlightCriteria [DimensionValue]+rfcCustomRichMediaEvents+  = lens _rfcCustomRichMediaEvents+      (\ s a -> s{_rfcCustomRichMediaEvents = a})+      . _Default+      . _Coerce++-- | The list of filters on which dimensions are filtered. Filters for+-- different dimensions are ANDed, filters for the same dimension are+-- grouped together and ORed.+rfcDimensionFilters :: Lens' ReportFloodlightCriteria [DimensionValue]+rfcDimensionFilters+  = lens _rfcDimensionFilters+      (\ s a -> s{_rfcDimensionFilters = a})+      . _Default+      . _Coerce++-- | The date range this report should be run for.+rfcDateRange :: Lens' ReportFloodlightCriteria (Maybe DateRange)+rfcDateRange+  = lens _rfcDateRange (\ s a -> s{_rfcDateRange = a})++-- | The floodlight ID for which to show data in this report. All advertisers+-- associated with that ID will automatically be added. The dimension of+-- the value needs to be \'dfa:floodlightConfigId\'.+rfcFloodlightConfigId :: Lens' ReportFloodlightCriteria (Maybe DimensionValue)+rfcFloodlightConfigId+  = lens _rfcFloodlightConfigId+      (\ s a -> s{_rfcFloodlightConfigId = a})++-- | The list of dimensions the report should include.+rfcDimensions :: Lens' ReportFloodlightCriteria [SortedDimension]+rfcDimensions+  = lens _rfcDimensions+      (\ s a -> s{_rfcDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReportFloodlightCriteria where+        parseJSON+          = withObject "ReportFloodlightCriteria"+              (\ o ->+                 ReportFloodlightCriteria <$>+                   (o .:? "reportProperties") <*>+                     (o .:? "metricNames" .!= mempty)+                     <*> (o .:? "customRichMediaEvents" .!= mempty)+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "dateRange")+                     <*> (o .:? "floodlightConfigId")+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON ReportFloodlightCriteria where+        toJSON ReportFloodlightCriteria{..}+          = object+              (catMaybes+                 [("reportProperties" .=) <$> _rfcReportProperties,+                  ("metricNames" .=) <$> _rfcMetricNames,+                  ("customRichMediaEvents" .=) <$>+                    _rfcCustomRichMediaEvents,+                  ("dimensionFilters" .=) <$> _rfcDimensionFilters,+                  ("dateRange" .=) <$> _rfcDateRange,+                  ("floodlightConfigId" .=) <$> _rfcFloodlightConfigId,+                  ("dimensions" .=) <$> _rfcDimensions])++-- | Represents the dimensions of ads, placements, creatives, or creative+-- assets.+--+-- /See:/ 'size' smart constructor.+data Size = Size+    { _sHeight :: !(Maybe (Textual Int32))+    , _sKind   :: !Text+    , _sWidth  :: !(Maybe (Textual Int32))+    , _sIab    :: !(Maybe Bool)+    , _sId     :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Size' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sHeight'+--+-- * 'sKind'+--+-- * 'sWidth'+--+-- * 'sIab'+--+-- * 'sId'+size+    :: Size+size =+    Size+    { _sHeight = Nothing+    , _sKind = "dfareporting#size"+    , _sWidth = Nothing+    , _sIab = Nothing+    , _sId = Nothing+    }++-- | Height of this size.+sHeight :: Lens' Size (Maybe Int32)+sHeight+  = lens _sHeight (\ s a -> s{_sHeight = a}) .+      mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#size\".+sKind :: Lens' Size Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | Width of this size.+sWidth :: Lens' Size (Maybe Int32)+sWidth+  = lens _sWidth (\ s a -> s{_sWidth = a}) .+      mapping _Coerce++-- | IAB standard size. This is a read-only, auto-generated field.+sIab :: Lens' Size (Maybe Bool)+sIab = lens _sIab (\ s a -> s{_sIab = a})++-- | ID of this size. This is a read-only, auto-generated field.+sId :: Lens' Size (Maybe Int64)+sId+  = lens _sId (\ s a -> s{_sId = a}) . mapping _Coerce++instance FromJSON Size where+        parseJSON+          = withObject "Size"+              (\ o ->+                 Size <$>+                   (o .:? "height") <*>+                     (o .:? "kind" .!= "dfareporting#size")+                     <*> (o .:? "width")+                     <*> (o .:? "iab")+                     <*> (o .:? "id"))++instance ToJSON Size where+        toJSON Size{..}+          = object+              (catMaybes+                 [("height" .=) <$> _sHeight, Just ("kind" .= _sKind),+                  ("width" .=) <$> _sWidth, ("iab" .=) <$> _sIab,+                  ("id" .=) <$> _sId])++-- | Object Filter.+--+-- /See:/ 'objectFilter' smart constructor.+data ObjectFilter = ObjectFilter+    { _ofStatus    :: !(Maybe ObjectFilterStatus)+    , _ofKind      :: !Text+    , _ofObjectIds :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ofStatus'+--+-- * 'ofKind'+--+-- * 'ofObjectIds'+objectFilter+    :: ObjectFilter+objectFilter =+    ObjectFilter+    { _ofStatus = Nothing+    , _ofKind = "dfareporting#objectFilter"+    , _ofObjectIds = Nothing+    }++-- | Status of the filter. NONE means the user has access to none of the+-- objects. ALL means the user has access to all objects. ASSIGNED means+-- the user has access to the objects with IDs in the objectIds list.+ofStatus :: Lens' ObjectFilter (Maybe ObjectFilterStatus)+ofStatus = lens _ofStatus (\ s a -> s{_ofStatus = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#objectFilter\".+ofKind :: Lens' ObjectFilter Text+ofKind = lens _ofKind (\ s a -> s{_ofKind = a})++-- | Applicable when status is ASSIGNED. The user has access to objects with+-- these object IDs.+ofObjectIds :: Lens' ObjectFilter [Int64]+ofObjectIds+  = lens _ofObjectIds (\ s a -> s{_ofObjectIds = a}) .+      _Default+      . _Coerce++instance FromJSON ObjectFilter where+        parseJSON+          = withObject "ObjectFilter"+              (\ o ->+                 ObjectFilter <$>+                   (o .:? "status") <*>+                     (o .:? "kind" .!= "dfareporting#objectFilter")+                     <*> (o .:? "objectIds" .!= mempty))++instance ToJSON ObjectFilter where+        toJSON ObjectFilter{..}+          = object+              (catMaybes+                 [("status" .=) <$> _ofStatus,+                  Just ("kind" .= _ofKind),+                  ("objectIds" .=) <$> _ofObjectIds])++-- | Reporting Configuration+--+-- /See:/ 'reportsConfiguration' smart constructor.+data ReportsConfiguration = ReportsConfiguration+    { _rcExposureToConversionEnabled :: !(Maybe Bool)+    , _rcReportGenerationTimeZoneId  :: !(Maybe (Textual Int64))+    , _rcLookbackConfiguration       :: !(Maybe LookbackConfiguration)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcExposureToConversionEnabled'+--+-- * 'rcReportGenerationTimeZoneId'+--+-- * 'rcLookbackConfiguration'+reportsConfiguration+    :: ReportsConfiguration+reportsConfiguration =+    ReportsConfiguration+    { _rcExposureToConversionEnabled = Nothing+    , _rcReportGenerationTimeZoneId = Nothing+    , _rcLookbackConfiguration = Nothing+    }++-- | Whether the exposure to conversion report is enabled. This report shows+-- detailed pathway information on up to 10 of the most recent ad exposures+-- seen by a user before converting.+rcExposureToConversionEnabled :: Lens' ReportsConfiguration (Maybe Bool)+rcExposureToConversionEnabled+  = lens _rcExposureToConversionEnabled+      (\ s a -> s{_rcExposureToConversionEnabled = a})++-- | Report generation time zone ID of this account. This is a required field+-- that can only be changed by a superuser. Acceptable values are: - \"1\"+-- for \"America\/New_York\" - \"2\" for \"Europe\/London\" - \"3\" for+-- \"Europe\/Paris\" - \"4\" for \"Africa\/Johannesburg\" - \"5\" for+-- \"Asia\/Jerusalem\" - \"6\" for \"Asia\/Shanghai\" - \"7\" for+-- \"Asia\/Hong_Kong\" - \"8\" for \"Asia\/Tokyo\" - \"9\" for+-- \"Australia\/Sydney\" - \"10\" for \"Asia\/Dubai\" - \"11\" for+-- \"America\/Los_Angeles\" - \"12\" for \"Pacific\/Auckland\" - \"13\" for+-- \"America\/Sao_Paulo\"+rcReportGenerationTimeZoneId :: Lens' ReportsConfiguration (Maybe Int64)+rcReportGenerationTimeZoneId+  = lens _rcReportGenerationTimeZoneId+      (\ s a -> s{_rcReportGenerationTimeZoneId = a})+      . mapping _Coerce++-- | Default lookback windows for new advertisers in this account.+rcLookbackConfiguration :: Lens' ReportsConfiguration (Maybe LookbackConfiguration)+rcLookbackConfiguration+  = lens _rcLookbackConfiguration+      (\ s a -> s{_rcLookbackConfiguration = a})++instance FromJSON ReportsConfiguration where+        parseJSON+          = withObject "ReportsConfiguration"+              (\ o ->+                 ReportsConfiguration <$>+                   (o .:? "exposureToConversionEnabled") <*>+                     (o .:? "reportGenerationTimeZoneId")+                     <*> (o .:? "lookbackConfiguration"))++instance ToJSON ReportsConfiguration where+        toJSON ReportsConfiguration{..}+          = object+              (catMaybes+                 [("exposureToConversionEnabled" .=) <$>+                    _rcExposureToConversionEnabled,+                  ("reportGenerationTimeZoneId" .=) <$>+                    _rcReportGenerationTimeZoneId,+                  ("lookbackConfiguration" .=) <$>+                    _rcLookbackConfiguration])++-- | Pricing Schedule+--+-- /See:/ 'pricingSchedule' smart constructor.+data PricingSchedule = PricingSchedule+    { _psTestingStartDate      :: !(Maybe Date')+    , _psFloodlightActivityId  :: !(Maybe (Textual Int64))+    , _psEndDate               :: !(Maybe Date')+    , _psDisregardOverdelivery :: !(Maybe Bool)+    , _psStartDate             :: !(Maybe Date')+    , _psCapCostOption         :: !(Maybe PricingScheduleCapCostOption)+    , _psPricingType           :: !(Maybe PricingSchedulePricingType)+    , _psPricingPeriods        :: !(Maybe [PricingSchedulePricingPeriod])+    , _psFlighted              :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PricingSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psTestingStartDate'+--+-- * 'psFloodlightActivityId'+--+-- * 'psEndDate'+--+-- * 'psDisregardOverdelivery'+--+-- * 'psStartDate'+--+-- * 'psCapCostOption'+--+-- * 'psPricingType'+--+-- * 'psPricingPeriods'+--+-- * 'psFlighted'+pricingSchedule+    :: PricingSchedule+pricingSchedule =+    PricingSchedule+    { _psTestingStartDate = Nothing+    , _psFloodlightActivityId = Nothing+    , _psEndDate = Nothing+    , _psDisregardOverdelivery = Nothing+    , _psStartDate = Nothing+    , _psCapCostOption = Nothing+    , _psPricingType = Nothing+    , _psPricingPeriods = Nothing+    , _psFlighted = Nothing+    }++-- | Testing start date of this placement. The hours, minutes, and seconds of+-- the start date should not be set, as doing so will result in an error.+psTestingStartDate :: Lens' PricingSchedule (Maybe Day)+psTestingStartDate+  = lens _psTestingStartDate+      (\ s a -> s{_psTestingStartDate = a})+      . mapping _Date++-- | Floodlight activity ID associated with this placement. This field should+-- be set when placement pricing type is set to PRICING_TYPE_CPA.+psFloodlightActivityId :: Lens' PricingSchedule (Maybe Int64)+psFloodlightActivityId+  = lens _psFloodlightActivityId+      (\ s a -> s{_psFloodlightActivityId = a})+      . mapping _Coerce++-- | Placement end date. This date must be later than, or the same day as,+-- the placement start date, but not later than the campaign end date. If,+-- for example, you set 6\/25\/2015 as both the start and end dates, the+-- effective placement date is just that day only, 6\/25\/2015. The hours,+-- minutes, and seconds of the end date should not be set, as doing so will+-- result in an error. This field is required on insertion.+psEndDate :: Lens' PricingSchedule (Maybe Day)+psEndDate+  = lens _psEndDate (\ s a -> s{_psEndDate = a}) .+      mapping _Date++-- | Whether cap costs are ignored by ad serving.+psDisregardOverdelivery :: Lens' PricingSchedule (Maybe Bool)+psDisregardOverdelivery+  = lens _psDisregardOverdelivery+      (\ s a -> s{_psDisregardOverdelivery = a})++-- | Placement start date. This date must be later than, or the same day as,+-- the campaign start date. The hours, minutes, and seconds of the start+-- date should not be set, as doing so will result in an error. This field+-- is required on insertion.+psStartDate :: Lens' PricingSchedule (Maybe Day)+psStartDate+  = lens _psStartDate (\ s a -> s{_psStartDate = a}) .+      mapping _Date++-- | Placement cap cost option.+psCapCostOption :: Lens' PricingSchedule (Maybe PricingScheduleCapCostOption)+psCapCostOption+  = lens _psCapCostOption+      (\ s a -> s{_psCapCostOption = a})++-- | Placement pricing type. This field is required on insertion.+psPricingType :: Lens' PricingSchedule (Maybe PricingSchedulePricingType)+psPricingType+  = lens _psPricingType+      (\ s a -> s{_psPricingType = a})++-- | Pricing periods for this placement.+psPricingPeriods :: Lens' PricingSchedule [PricingSchedulePricingPeriod]+psPricingPeriods+  = lens _psPricingPeriods+      (\ s a -> s{_psPricingPeriods = a})+      . _Default+      . _Coerce++-- | Whether this placement is flighted. If true, pricing periods will be+-- computed automatically.+psFlighted :: Lens' PricingSchedule (Maybe Bool)+psFlighted+  = lens _psFlighted (\ s a -> s{_psFlighted = a})++instance FromJSON PricingSchedule where+        parseJSON+          = withObject "PricingSchedule"+              (\ o ->+                 PricingSchedule <$>+                   (o .:? "testingStartDate") <*>+                     (o .:? "floodlightActivityId")+                     <*> (o .:? "endDate")+                     <*> (o .:? "disregardOverdelivery")+                     <*> (o .:? "startDate")+                     <*> (o .:? "capCostOption")+                     <*> (o .:? "pricingType")+                     <*> (o .:? "pricingPeriods" .!= mempty)+                     <*> (o .:? "flighted"))++instance ToJSON PricingSchedule where+        toJSON PricingSchedule{..}+          = object+              (catMaybes+                 [("testingStartDate" .=) <$> _psTestingStartDate,+                  ("floodlightActivityId" .=) <$>+                    _psFloodlightActivityId,+                  ("endDate" .=) <$> _psEndDate,+                  ("disregardOverdelivery" .=) <$>+                    _psDisregardOverdelivery,+                  ("startDate" .=) <$> _psStartDate,+                  ("capCostOption" .=) <$> _psCapCostOption,+                  ("pricingType" .=) <$> _psPricingType,+                  ("pricingPeriods" .=) <$> _psPricingPeriods,+                  ("flighted" .=) <$> _psFlighted])++-- | Contains information about a postal code that can be targeted by ads.+--+-- /See:/ 'postalCode' smart constructor.+data PostalCode = PostalCode+    { _pcKind          :: !Text+    , _pcCode          :: !(Maybe Text)+    , _pcCountryCode   :: !(Maybe Text)+    , _pcId            :: !(Maybe Text)+    , _pcCountryDartId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostalCode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcKind'+--+-- * 'pcCode'+--+-- * 'pcCountryCode'+--+-- * 'pcId'+--+-- * 'pcCountryDartId'+postalCode+    :: PostalCode+postalCode =+    PostalCode+    { _pcKind = "dfareporting#postalCode"+    , _pcCode = Nothing+    , _pcCountryCode = Nothing+    , _pcId = Nothing+    , _pcCountryDartId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#postalCode\".+pcKind :: Lens' PostalCode Text+pcKind = lens _pcKind (\ s a -> s{_pcKind = a})++-- | Postal code. This is equivalent to the id field.+pcCode :: Lens' PostalCode (Maybe Text)+pcCode = lens _pcCode (\ s a -> s{_pcCode = a})++-- | Country code of the country to which this postal code belongs.+pcCountryCode :: Lens' PostalCode (Maybe Text)+pcCountryCode+  = lens _pcCountryCode+      (\ s a -> s{_pcCountryCode = a})++-- | ID of this postal code.+pcId :: Lens' PostalCode (Maybe Text)+pcId = lens _pcId (\ s a -> s{_pcId = a})++-- | DART ID of the country to which this postal code belongs.+pcCountryDartId :: Lens' PostalCode (Maybe Int64)+pcCountryDartId+  = lens _pcCountryDartId+      (\ s a -> s{_pcCountryDartId = a})+      . mapping _Coerce++instance FromJSON PostalCode where+        parseJSON+          = withObject "PostalCode"+              (\ o ->+                 PostalCode <$>+                   (o .:? "kind" .!= "dfareporting#postalCode") <*>+                     (o .:? "code")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "id")+                     <*> (o .:? "countryDartId"))++instance ToJSON PostalCode where+        toJSON PostalCode{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pcKind), ("code" .=) <$> _pcCode,+                  ("countryCode" .=) <$> _pcCountryCode,+                  ("id" .=) <$> _pcId,+                  ("countryDartId" .=) <$> _pcCountryDartId])++-- | Account Permission List Response+--+-- /See:/ 'accountPermissionsListResponse' smart constructor.+data AccountPermissionsListResponse = AccountPermissionsListResponse+    { _aplrKind               :: !Text+    , _aplrAccountPermissions :: !(Maybe [AccountPermission])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aplrKind'+--+-- * 'aplrAccountPermissions'+accountPermissionsListResponse+    :: AccountPermissionsListResponse+accountPermissionsListResponse =+    AccountPermissionsListResponse+    { _aplrKind = "dfareporting#accountPermissionsListResponse"+    , _aplrAccountPermissions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountPermissionsListResponse\".+aplrKind :: Lens' AccountPermissionsListResponse Text+aplrKind = lens _aplrKind (\ s a -> s{_aplrKind = a})++-- | Account permission collection.+aplrAccountPermissions :: Lens' AccountPermissionsListResponse [AccountPermission]+aplrAccountPermissions+  = lens _aplrAccountPermissions+      (\ s a -> s{_aplrAccountPermissions = a})+      . _Default+      . _Coerce++instance FromJSON AccountPermissionsListResponse+         where+        parseJSON+          = withObject "AccountPermissionsListResponse"+              (\ o ->+                 AccountPermissionsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#accountPermissionsListResponse")+                     <*> (o .:? "accountPermissions" .!= mempty))++instance ToJSON AccountPermissionsListResponse where+        toJSON AccountPermissionsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _aplrKind),+                  ("accountPermissions" .=) <$>+                    _aplrAccountPermissions])++-- | Contains information about a country that can be targeted by ads.+--+-- /See:/ 'country' smart constructor.+data Country = Country+    { _cKind        :: !Text+    , _cName        :: !(Maybe Text)+    , _cCountryCode :: !(Maybe Text)+    , _cDartId      :: !(Maybe (Textual Int64))+    , _cSSLEnabled  :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Country' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cKind'+--+-- * 'cName'+--+-- * 'cCountryCode'+--+-- * 'cDartId'+--+-- * 'cSSLEnabled'+country+    :: Country+country =+    Country+    { _cKind = "dfareporting#country"+    , _cName = Nothing+    , _cCountryCode = Nothing+    , _cDartId = Nothing+    , _cSSLEnabled = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#country\".+cKind :: Lens' Country Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Name of this country.+cName :: Lens' Country (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Country code.+cCountryCode :: Lens' Country (Maybe Text)+cCountryCode+  = lens _cCountryCode (\ s a -> s{_cCountryCode = a})++-- | DART ID of this country. This is the ID used for targeting and+-- generating reports.+cDartId :: Lens' Country (Maybe Int64)+cDartId+  = lens _cDartId (\ s a -> s{_cDartId = a}) .+      mapping _Coerce++-- | Whether ad serving supports secure servers in this country.+cSSLEnabled :: Lens' Country (Maybe Bool)+cSSLEnabled+  = lens _cSSLEnabled (\ s a -> s{_cSSLEnabled = a})++instance FromJSON Country where+        parseJSON+          = withObject "Country"+              (\ o ->+                 Country <$>+                   (o .:? "kind" .!= "dfareporting#country") <*>+                     (o .:? "name")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "dartId")+                     <*> (o .:? "sslEnabled"))++instance ToJSON Country where+        toJSON Country{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cKind), ("name" .=) <$> _cName,+                  ("countryCode" .=) <$> _cCountryCode,+                  ("dartId" .=) <$> _cDartId,+                  ("sslEnabled" .=) <$> _cSSLEnabled])++-- | Operating System Version List Response+--+-- /See:/ 'operatingSystemVersionsListResponse' smart constructor.+data OperatingSystemVersionsListResponse = OperatingSystemVersionsListResponse+    { _osvlrKind                    :: !Text+    , _osvlrOperatingSystemVersions :: !(Maybe [OperatingSystemVersion])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemVersionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osvlrKind'+--+-- * 'osvlrOperatingSystemVersions'+operatingSystemVersionsListResponse+    :: OperatingSystemVersionsListResponse+operatingSystemVersionsListResponse =+    OperatingSystemVersionsListResponse+    { _osvlrKind = "dfareporting#operatingSystemVersionsListResponse"+    , _osvlrOperatingSystemVersions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#operatingSystemVersionsListResponse\".+osvlrKind :: Lens' OperatingSystemVersionsListResponse Text+osvlrKind+  = lens _osvlrKind (\ s a -> s{_osvlrKind = a})++-- | Operating system version collection.+osvlrOperatingSystemVersions :: Lens' OperatingSystemVersionsListResponse [OperatingSystemVersion]+osvlrOperatingSystemVersions+  = lens _osvlrOperatingSystemVersions+      (\ s a -> s{_osvlrOperatingSystemVersions = a})+      . _Default+      . _Coerce++instance FromJSON OperatingSystemVersionsListResponse+         where+        parseJSON+          = withObject "OperatingSystemVersionsListResponse"+              (\ o ->+                 OperatingSystemVersionsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#operatingSystemVersionsListResponse")+                     <*> (o .:? "operatingSystemVersions" .!= mempty))++instance ToJSON OperatingSystemVersionsListResponse+         where+        toJSON OperatingSystemVersionsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _osvlrKind),+                  ("operatingSystemVersions" .=) <$>+                    _osvlrOperatingSystemVersions])++-- | Click Through URL Suffix settings.+--+-- /See:/ 'clickThroughURLSuffixProperties' smart constructor.+data ClickThroughURLSuffixProperties = ClickThroughURLSuffixProperties+    { _ctuspOverrideInheritedSuffix :: !(Maybe Bool)+    , _ctuspClickThroughURLSuffix   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClickThroughURLSuffixProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctuspOverrideInheritedSuffix'+--+-- * 'ctuspClickThroughURLSuffix'+clickThroughURLSuffixProperties+    :: ClickThroughURLSuffixProperties+clickThroughURLSuffixProperties =+    ClickThroughURLSuffixProperties+    { _ctuspOverrideInheritedSuffix = Nothing+    , _ctuspClickThroughURLSuffix = Nothing+    }++-- | Whether this entity should override the inherited click-through URL+-- suffix with its own defined value.+ctuspOverrideInheritedSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Bool)+ctuspOverrideInheritedSuffix+  = lens _ctuspOverrideInheritedSuffix+      (\ s a -> s{_ctuspOverrideInheritedSuffix = a})++-- | Click-through URL suffix to apply to all ads in this entity\'s scope.+-- Must be less than 128 characters long.+ctuspClickThroughURLSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Text)+ctuspClickThroughURLSuffix+  = lens _ctuspClickThroughURLSuffix+      (\ s a -> s{_ctuspClickThroughURLSuffix = a})++instance FromJSON ClickThroughURLSuffixProperties+         where+        parseJSON+          = withObject "ClickThroughURLSuffixProperties"+              (\ o ->+                 ClickThroughURLSuffixProperties <$>+                   (o .:? "overrideInheritedSuffix") <*>+                     (o .:? "clickThroughUrlSuffix"))++instance ToJSON ClickThroughURLSuffixProperties where+        toJSON ClickThroughURLSuffixProperties{..}+          = object+              (catMaybes+                 [("overrideInheritedSuffix" .=) <$>+                    _ctuspOverrideInheritedSuffix,+                  ("clickThroughUrlSuffix" .=) <$>+                    _ctuspClickThroughURLSuffix])++-- | Pricing Information+--+-- /See:/ 'pricing' smart constructor.+data Pricing = Pricing+    { _priEndDate     :: !(Maybe Date')+    , _priStartDate   :: !(Maybe Date')+    , _priGroupType   :: !(Maybe PricingGroupType)+    , _priPricingType :: !(Maybe PricingPricingType)+    , _priFlights     :: !(Maybe [Flight])+    , _priCapCostType :: !(Maybe PricingCapCostType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Pricing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'priEndDate'+--+-- * 'priStartDate'+--+-- * 'priGroupType'+--+-- * 'priPricingType'+--+-- * 'priFlights'+--+-- * 'priCapCostType'+pricing+    :: Pricing+pricing =+    Pricing+    { _priEndDate = Nothing+    , _priStartDate = Nothing+    , _priGroupType = Nothing+    , _priPricingType = Nothing+    , _priFlights = Nothing+    , _priCapCostType = Nothing+    }++-- | End date of this inventory item.+priEndDate :: Lens' Pricing (Maybe Day)+priEndDate+  = lens _priEndDate (\ s a -> s{_priEndDate = a}) .+      mapping _Date++-- | Start date of this inventory item.+priStartDate :: Lens' Pricing (Maybe Day)+priStartDate+  = lens _priStartDate (\ s a -> s{_priStartDate = a})+      . mapping _Date++-- | Group type of this inventory item if it represents a placement group. Is+-- null otherwise. There are two type of placement groups:+-- PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory+-- items that acts as a single pricing point for a group of tags.+-- PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items+-- that not only acts as a single pricing point, but also assumes that all+-- the tags in it will be served at the same time. A roadblock requires one+-- of its assigned inventory items to be marked as primary.+priGroupType :: Lens' Pricing (Maybe PricingGroupType)+priGroupType+  = lens _priGroupType (\ s a -> s{_priGroupType = a})++-- | Pricing type of this inventory item.+priPricingType :: Lens' Pricing (Maybe PricingPricingType)+priPricingType+  = lens _priPricingType+      (\ s a -> s{_priPricingType = a})++-- | Flights of this inventory item. A flight (a.k.a. pricing period)+-- represents the inventory item pricing information for a specific period+-- of time.+priFlights :: Lens' Pricing [Flight]+priFlights+  = lens _priFlights (\ s a -> s{_priFlights = a}) .+      _Default+      . _Coerce++-- | Cap cost type of this inventory item.+priCapCostType :: Lens' Pricing (Maybe PricingCapCostType)+priCapCostType+  = lens _priCapCostType+      (\ s a -> s{_priCapCostType = a})++instance FromJSON Pricing where+        parseJSON+          = withObject "Pricing"+              (\ o ->+                 Pricing <$>+                   (o .:? "endDate") <*> (o .:? "startDate") <*>+                     (o .:? "groupType")+                     <*> (o .:? "pricingType")+                     <*> (o .:? "flights" .!= mempty)+                     <*> (o .:? "capCostType"))++instance ToJSON Pricing where+        toJSON Pricing{..}+          = object+              (catMaybes+                 [("endDate" .=) <$> _priEndDate,+                  ("startDate" .=) <$> _priStartDate,+                  ("groupType" .=) <$> _priGroupType,+                  ("pricingType" .=) <$> _priPricingType,+                  ("flights" .=) <$> _priFlights,+                  ("capCostType" .=) <$> _priCapCostType])++-- | Audience Segment Group.+--+-- /See:/ 'audienceSegmentGroup' smart constructor.+data AudienceSegmentGroup = AudienceSegmentGroup+    { _asgAudienceSegments :: !(Maybe [AudienceSegment])+    , _asgName             :: !(Maybe Text)+    , _asgId               :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AudienceSegmentGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asgAudienceSegments'+--+-- * 'asgName'+--+-- * 'asgId'+audienceSegmentGroup+    :: AudienceSegmentGroup+audienceSegmentGroup =+    AudienceSegmentGroup+    { _asgAudienceSegments = Nothing+    , _asgName = Nothing+    , _asgId = Nothing+    }++-- | Audience segments assigned to this group. The number of segments must be+-- between 2 and 100.+asgAudienceSegments :: Lens' AudienceSegmentGroup [AudienceSegment]+asgAudienceSegments+  = lens _asgAudienceSegments+      (\ s a -> s{_asgAudienceSegments = a})+      . _Default+      . _Coerce++-- | Name of this audience segment group. This is a required field and must+-- be less than 65 characters long.+asgName :: Lens' AudienceSegmentGroup (Maybe Text)+asgName = lens _asgName (\ s a -> s{_asgName = a})++-- | ID of this audience segment group. This is a read-only, auto-generated+-- field.+asgId :: Lens' AudienceSegmentGroup (Maybe Int64)+asgId+  = lens _asgId (\ s a -> s{_asgId = a}) .+      mapping _Coerce++instance FromJSON AudienceSegmentGroup where+        parseJSON+          = withObject "AudienceSegmentGroup"+              (\ o ->+                 AudienceSegmentGroup <$>+                   (o .:? "audienceSegments" .!= mempty) <*>+                     (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON AudienceSegmentGroup where+        toJSON AudienceSegmentGroup{..}+          = object+              (catMaybes+                 [("audienceSegments" .=) <$> _asgAudienceSegments,+                  ("name" .=) <$> _asgName, ("id" .=) <$> _asgId])++-- | Contains information about an operating system that can be targeted by+-- ads.+--+-- /See:/ 'operatingSystem' smart constructor.+data OperatingSystem = OperatingSystem+    { _osDesktop :: !(Maybe Bool)+    , _osKind    :: !Text+    , _osName    :: !(Maybe Text)+    , _osMobile  :: !(Maybe Bool)+    , _osDartId  :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osDesktop'+--+-- * 'osKind'+--+-- * 'osName'+--+-- * 'osMobile'+--+-- * 'osDartId'+operatingSystem+    :: OperatingSystem+operatingSystem =+    OperatingSystem+    { _osDesktop = Nothing+    , _osKind = "dfareporting#operatingSystem"+    , _osName = Nothing+    , _osMobile = Nothing+    , _osDartId = Nothing+    }++-- | Whether this operating system is for desktop.+osDesktop :: Lens' OperatingSystem (Maybe Bool)+osDesktop+  = lens _osDesktop (\ s a -> s{_osDesktop = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#operatingSystem\".+osKind :: Lens' OperatingSystem Text+osKind = lens _osKind (\ s a -> s{_osKind = a})++-- | Name of this operating system.+osName :: Lens' OperatingSystem (Maybe Text)+osName = lens _osName (\ s a -> s{_osName = a})++-- | Whether this operating system is for mobile.+osMobile :: Lens' OperatingSystem (Maybe Bool)+osMobile = lens _osMobile (\ s a -> s{_osMobile = a})++-- | DART ID of this operating system. This is the ID used for targeting.+osDartId :: Lens' OperatingSystem (Maybe Int64)+osDartId+  = lens _osDartId (\ s a -> s{_osDartId = a}) .+      mapping _Coerce++instance FromJSON OperatingSystem where+        parseJSON+          = withObject "OperatingSystem"+              (\ o ->+                 OperatingSystem <$>+                   (o .:? "desktop") <*>+                     (o .:? "kind" .!= "dfareporting#operatingSystem")+                     <*> (o .:? "name")+                     <*> (o .:? "mobile")+                     <*> (o .:? "dartId"))++instance ToJSON OperatingSystem where+        toJSON OperatingSystem{..}+          = object+              (catMaybes+                 [("desktop" .=) <$> _osDesktop,+                  Just ("kind" .= _osKind), ("name" .=) <$> _osName,+                  ("mobile" .=) <$> _osMobile,+                  ("dartId" .=) <$> _osDartId])++-- | Flight+--+-- /See:/ 'flight' smart constructor.+data Flight = Flight+    { _fRateOrCost :: !(Maybe (Textual Int64))+    , _fEndDate    :: !(Maybe Date')+    , _fStartDate  :: !(Maybe Date')+    , _fUnits      :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Flight' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fRateOrCost'+--+-- * 'fEndDate'+--+-- * 'fStartDate'+--+-- * 'fUnits'+flight+    :: Flight+flight =+    Flight+    { _fRateOrCost = Nothing+    , _fEndDate = Nothing+    , _fStartDate = Nothing+    , _fUnits = Nothing+    }++-- | Rate or cost of this flight.+fRateOrCost :: Lens' Flight (Maybe Int64)+fRateOrCost+  = lens _fRateOrCost (\ s a -> s{_fRateOrCost = a}) .+      mapping _Coerce++-- | Inventory item flight end date.+fEndDate :: Lens' Flight (Maybe Day)+fEndDate+  = lens _fEndDate (\ s a -> s{_fEndDate = a}) .+      mapping _Date++-- | Inventory item flight start date.+fStartDate :: Lens' Flight (Maybe Day)+fStartDate+  = lens _fStartDate (\ s a -> s{_fStartDate = a}) .+      mapping _Date++-- | Units of this flight.+fUnits :: Lens' Flight (Maybe Int64)+fUnits+  = lens _fUnits (\ s a -> s{_fUnits = a}) .+      mapping _Coerce++instance FromJSON Flight where+        parseJSON+          = withObject "Flight"+              (\ o ->+                 Flight <$>+                   (o .:? "rateOrCost") <*> (o .:? "endDate") <*>+                     (o .:? "startDate")+                     <*> (o .:? "units"))++instance ToJSON Flight where+        toJSON Flight{..}+          = object+              (catMaybes+                 [("rateOrCost" .=) <$> _fRateOrCost,+                  ("endDate" .=) <$> _fEndDate,+                  ("startDate" .=) <$> _fStartDate,+                  ("units" .=) <$> _fUnits])++-- | City List Response+--+-- /See:/ 'citiesListResponse' smart constructor.+data CitiesListResponse = CitiesListResponse+    { _citKind   :: !Text+    , _citCities :: !(Maybe [City])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CitiesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'citKind'+--+-- * 'citCities'+citiesListResponse+    :: CitiesListResponse+citiesListResponse =+    CitiesListResponse+    { _citKind = "dfareporting#citiesListResponse"+    , _citCities = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#citiesListResponse\".+citKind :: Lens' CitiesListResponse Text+citKind = lens _citKind (\ s a -> s{_citKind = a})++-- | City collection.+citCities :: Lens' CitiesListResponse [City]+citCities+  = lens _citCities (\ s a -> s{_citCities = a}) .+      _Default+      . _Coerce++instance FromJSON CitiesListResponse where+        parseJSON+          = withObject "CitiesListResponse"+              (\ o ->+                 CitiesListResponse <$>+                   (o .:? "kind" .!= "dfareporting#citiesListResponse")+                     <*> (o .:? "cities" .!= mempty))++instance ToJSON CitiesListResponse where+        toJSON CitiesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _citKind),+                  ("cities" .=) <$> _citCities])++-- | Represents a dimension.+--+-- /See:/ 'dimension' smart constructor.+data Dimension = Dimension+    { _dKind :: !Text+    , _dName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Dimension' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dKind'+--+-- * 'dName'+dimension+    :: Dimension+dimension =+    Dimension+    { _dKind = "dfareporting#dimension"+    , _dName = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#dimension.+dKind :: Lens' Dimension Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | The dimension name, e.g. dfa:advertiser+dName :: Lens' Dimension (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++instance FromJSON Dimension where+        parseJSON+          = withObject "Dimension"+              (\ o ->+                 Dimension <$>+                   (o .:? "kind" .!= "dfareporting#dimension") <*>+                     (o .:? "name"))++instance ToJSON Dimension where+        toJSON Dimension{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dKind), ("name" .=) <$> _dName])++-- | The report criteria for a report of type \"REACH\".+--+-- /See:/ 'reportReachCriteria' smart constructor.+data ReportReachCriteria = ReportReachCriteria+    { _rrcReachByFrequencyMetricNames    :: !(Maybe [Text])+    , _rrcEnableAllDimensionCombinations :: !(Maybe Bool)+    , _rrcMetricNames                    :: !(Maybe [Text])+    , _rrcCustomRichMediaEvents          :: !(Maybe CustomRichMediaEvents)+    , _rrcDimensionFilters               :: !(Maybe [DimensionValue])+    , _rrcActivities                     :: !(Maybe Activities)+    , _rrcDateRange                      :: !(Maybe DateRange)+    , _rrcDimensions                     :: !(Maybe [SortedDimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportReachCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrcReachByFrequencyMetricNames'+--+-- * 'rrcEnableAllDimensionCombinations'+--+-- * 'rrcMetricNames'+--+-- * 'rrcCustomRichMediaEvents'+--+-- * 'rrcDimensionFilters'+--+-- * 'rrcActivities'+--+-- * 'rrcDateRange'+--+-- * 'rrcDimensions'+reportReachCriteria+    :: ReportReachCriteria+reportReachCriteria =+    ReportReachCriteria+    { _rrcReachByFrequencyMetricNames = Nothing+    , _rrcEnableAllDimensionCombinations = Nothing+    , _rrcMetricNames = Nothing+    , _rrcCustomRichMediaEvents = Nothing+    , _rrcDimensionFilters = Nothing+    , _rrcActivities = Nothing+    , _rrcDateRange = Nothing+    , _rrcDimensions = Nothing+    }++-- | The list of names of Reach By Frequency metrics the report should+-- include.+rrcReachByFrequencyMetricNames :: Lens' ReportReachCriteria [Text]+rrcReachByFrequencyMetricNames+  = lens _rrcReachByFrequencyMetricNames+      (\ s a -> s{_rrcReachByFrequencyMetricNames = a})+      . _Default+      . _Coerce++-- | Whether to enable all reach dimension combinations in the report.+-- Defaults to false. If enabled, the date range of the report should be+-- within the last three months.+rrcEnableAllDimensionCombinations :: Lens' ReportReachCriteria (Maybe Bool)+rrcEnableAllDimensionCombinations+  = lens _rrcEnableAllDimensionCombinations+      (\ s a -> s{_rrcEnableAllDimensionCombinations = a})++-- | The list of names of metrics the report should include.+rrcMetricNames :: Lens' ReportReachCriteria [Text]+rrcMetricNames+  = lens _rrcMetricNames+      (\ s a -> s{_rrcMetricNames = a})+      . _Default+      . _Coerce++-- | Custom Rich Media Events group.+rrcCustomRichMediaEvents :: Lens' ReportReachCriteria (Maybe CustomRichMediaEvents)+rrcCustomRichMediaEvents+  = lens _rrcCustomRichMediaEvents+      (\ s a -> s{_rrcCustomRichMediaEvents = a})++-- | The list of filters on which dimensions are filtered. Filters for+-- different dimensions are ANDed, filters for the same dimension are+-- grouped together and ORed.+rrcDimensionFilters :: Lens' ReportReachCriteria [DimensionValue]+rrcDimensionFilters+  = lens _rrcDimensionFilters+      (\ s a -> s{_rrcDimensionFilters = a})+      . _Default+      . _Coerce++-- | Activity group.+rrcActivities :: Lens' ReportReachCriteria (Maybe Activities)+rrcActivities+  = lens _rrcActivities+      (\ s a -> s{_rrcActivities = a})++-- | The date range this report should be run for.+rrcDateRange :: Lens' ReportReachCriteria (Maybe DateRange)+rrcDateRange+  = lens _rrcDateRange (\ s a -> s{_rrcDateRange = a})++-- | The list of dimensions the report should include.+rrcDimensions :: Lens' ReportReachCriteria [SortedDimension]+rrcDimensions+  = lens _rrcDimensions+      (\ s a -> s{_rrcDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReportReachCriteria where+        parseJSON+          = withObject "ReportReachCriteria"+              (\ o ->+                 ReportReachCriteria <$>+                   (o .:? "reachByFrequencyMetricNames" .!= mempty) <*>+                     (o .:? "enableAllDimensionCombinations")+                     <*> (o .:? "metricNames" .!= mempty)+                     <*> (o .:? "customRichMediaEvents")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "activities")+                     <*> (o .:? "dateRange")+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON ReportReachCriteria where+        toJSON ReportReachCriteria{..}+          = object+              (catMaybes+                 [("reachByFrequencyMetricNames" .=) <$>+                    _rrcReachByFrequencyMetricNames,+                  ("enableAllDimensionCombinations" .=) <$>+                    _rrcEnableAllDimensionCombinations,+                  ("metricNames" .=) <$> _rrcMetricNames,+                  ("customRichMediaEvents" .=) <$>+                    _rrcCustomRichMediaEvents,+                  ("dimensionFilters" .=) <$> _rrcDimensionFilters,+                  ("activities" .=) <$> _rrcActivities,+                  ("dateRange" .=) <$> _rrcDateRange,+                  ("dimensions" .=) <$> _rrcDimensions])++-- | Represents a Custom Rich Media Events group.+--+-- /See:/ 'customRichMediaEvents' smart constructor.+data CustomRichMediaEvents = CustomRichMediaEvents+    { _crmeKind             :: !Text+    , _crmeFilteredEventIds :: !(Maybe [DimensionValue])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomRichMediaEvents' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crmeKind'+--+-- * 'crmeFilteredEventIds'+customRichMediaEvents+    :: CustomRichMediaEvents+customRichMediaEvents =+    CustomRichMediaEvents+    { _crmeKind = "dfareporting#customRichMediaEvents"+    , _crmeFilteredEventIds = Nothing+    }++-- | The kind of resource this is, in this case+-- dfareporting#customRichMediaEvents.+crmeKind :: Lens' CustomRichMediaEvents Text+crmeKind = lens _crmeKind (\ s a -> s{_crmeKind = a})++-- | List of custom rich media event IDs. Dimension values must be all of+-- type dfa:richMediaEventTypeIdAndName.+crmeFilteredEventIds :: Lens' CustomRichMediaEvents [DimensionValue]+crmeFilteredEventIds+  = lens _crmeFilteredEventIds+      (\ s a -> s{_crmeFilteredEventIds = a})+      . _Default+      . _Coerce++instance FromJSON CustomRichMediaEvents where+        parseJSON+          = withObject "CustomRichMediaEvents"+              (\ o ->+                 CustomRichMediaEvents <$>+                   (o .:? "kind" .!=+                      "dfareporting#customRichMediaEvents")+                     <*> (o .:? "filteredEventIds" .!= mempty))++instance ToJSON CustomRichMediaEvents where+        toJSON CustomRichMediaEvents{..}+          = object+              (catMaybes+                 [Just ("kind" .= _crmeKind),+                  ("filteredEventIds" .=) <$> _crmeFilteredEventIds])++-- | Targetable remarketing list response+--+-- /See:/ 'targetableRemarketingListsListResponse' smart constructor.+data TargetableRemarketingListsListResponse = TargetableRemarketingListsListResponse+    { _trllrNextPageToken              :: !(Maybe Text)+    , _trllrKind                       :: !Text+    , _trllrTargetableRemarketingLists :: !(Maybe [TargetableRemarketingList])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetableRemarketingListsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trllrNextPageToken'+--+-- * 'trllrKind'+--+-- * 'trllrTargetableRemarketingLists'+targetableRemarketingListsListResponse+    :: TargetableRemarketingListsListResponse+targetableRemarketingListsListResponse =+    TargetableRemarketingListsListResponse+    { _trllrNextPageToken = Nothing+    , _trllrKind = "dfareporting#targetableRemarketingListsListResponse"+    , _trllrTargetableRemarketingLists = Nothing+    }++-- | Pagination token to be used for the next list operation.+trllrNextPageToken :: Lens' TargetableRemarketingListsListResponse (Maybe Text)+trllrNextPageToken+  = lens _trllrNextPageToken+      (\ s a -> s{_trllrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#targetableRemarketingListsListResponse\".+trllrKind :: Lens' TargetableRemarketingListsListResponse Text+trllrKind+  = lens _trllrKind (\ s a -> s{_trllrKind = a})++-- | Targetable remarketing list collection.+trllrTargetableRemarketingLists :: Lens' TargetableRemarketingListsListResponse [TargetableRemarketingList]+trllrTargetableRemarketingLists+  = lens _trllrTargetableRemarketingLists+      (\ s a -> s{_trllrTargetableRemarketingLists = a})+      . _Default+      . _Coerce++instance FromJSON+         TargetableRemarketingListsListResponse where+        parseJSON+          = withObject "TargetableRemarketingListsListResponse"+              (\ o ->+                 TargetableRemarketingListsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#targetableRemarketingListsListResponse")+                     <*> (o .:? "targetableRemarketingLists" .!= mempty))++instance ToJSON+         TargetableRemarketingListsListResponse where+        toJSON TargetableRemarketingListsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _trllrNextPageToken,+                  Just ("kind" .= _trllrKind),+                  ("targetableRemarketingLists" .=) <$>+                    _trllrTargetableRemarketingLists])++-- | Change Log List Response+--+-- /See:/ 'changeLogsListResponse' smart constructor.+data ChangeLogsListResponse = ChangeLogsListResponse+    { _cllrNextPageToken :: !(Maybe Text)+    , _cllrKind          :: !Text+    , _cllrChangeLogs    :: !(Maybe [ChangeLog])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeLogsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllrNextPageToken'+--+-- * 'cllrKind'+--+-- * 'cllrChangeLogs'+changeLogsListResponse+    :: ChangeLogsListResponse+changeLogsListResponse =+    ChangeLogsListResponse+    { _cllrNextPageToken = Nothing+    , _cllrKind = "dfareporting#changeLogsListResponse"+    , _cllrChangeLogs = Nothing+    }++-- | Pagination token to be used for the next list operation.+cllrNextPageToken :: Lens' ChangeLogsListResponse (Maybe Text)+cllrNextPageToken+  = lens _cllrNextPageToken+      (\ s a -> s{_cllrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#changeLogsListResponse\".+cllrKind :: Lens' ChangeLogsListResponse Text+cllrKind = lens _cllrKind (\ s a -> s{_cllrKind = a})++-- | Change log collection.+cllrChangeLogs :: Lens' ChangeLogsListResponse [ChangeLog]+cllrChangeLogs+  = lens _cllrChangeLogs+      (\ s a -> s{_cllrChangeLogs = a})+      . _Default+      . _Coerce++instance FromJSON ChangeLogsListResponse where+        parseJSON+          = withObject "ChangeLogsListResponse"+              (\ o ->+                 ChangeLogsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#changeLogsListResponse")+                     <*> (o .:? "changeLogs" .!= mempty))++instance ToJSON ChangeLogsListResponse where+        toJSON ChangeLogsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cllrNextPageToken,+                  Just ("kind" .= _cllrKind),+                  ("changeLogs" .=) <$> _cllrChangeLogs])++-- | AccountUserProfiles contains properties of a DCM user profile. This+-- resource is specifically for managing user profiles, whereas+-- UserProfiles is for accessing the API.+--+-- /See:/ 'accountUserProFile' smart constructor.+data AccountUserProFile = AccountUserProFile+    { _aupfEmail            :: !(Maybe Text)+    , _aupfUserRoleFilter   :: !(Maybe ObjectFilter)+    , _aupfAdvertiserFilter :: !(Maybe ObjectFilter)+    , _aupfUserRoleId       :: !(Maybe (Textual Int64))+    , _aupfKind             :: !Text+    , _aupfLocale           :: !(Maybe Text)+    , _aupfSiteFilter       :: !(Maybe ObjectFilter)+    , _aupfTraffickerType   :: !(Maybe AccountUserProFileTraffickerType)+    , _aupfActive           :: !(Maybe Bool)+    , _aupfAccountId        :: !(Maybe (Textual Int64))+    , _aupfName             :: !(Maybe Text)+    , _aupfId               :: !(Maybe (Textual Int64))+    , _aupfUserAccessType   :: !(Maybe AccountUserProFileUserAccessType)+    , _aupfComments         :: !(Maybe Text)+    , _aupfSubAccountId     :: !(Maybe (Textual Int64))+    , _aupfCampaignFilter   :: !(Maybe ObjectFilter)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupfEmail'+--+-- * 'aupfUserRoleFilter'+--+-- * 'aupfAdvertiserFilter'+--+-- * 'aupfUserRoleId'+--+-- * 'aupfKind'+--+-- * 'aupfLocale'+--+-- * 'aupfSiteFilter'+--+-- * 'aupfTraffickerType'+--+-- * 'aupfActive'+--+-- * 'aupfAccountId'+--+-- * 'aupfName'+--+-- * 'aupfId'+--+-- * 'aupfUserAccessType'+--+-- * 'aupfComments'+--+-- * 'aupfSubAccountId'+--+-- * 'aupfCampaignFilter'+accountUserProFile+    :: AccountUserProFile+accountUserProFile =+    AccountUserProFile+    { _aupfEmail = Nothing+    , _aupfUserRoleFilter = Nothing+    , _aupfAdvertiserFilter = Nothing+    , _aupfUserRoleId = Nothing+    , _aupfKind = "dfareporting#accountUserProfile"+    , _aupfLocale = Nothing+    , _aupfSiteFilter = Nothing+    , _aupfTraffickerType = Nothing+    , _aupfActive = Nothing+    , _aupfAccountId = Nothing+    , _aupfName = Nothing+    , _aupfId = Nothing+    , _aupfUserAccessType = Nothing+    , _aupfComments = Nothing+    , _aupfSubAccountId = Nothing+    , _aupfCampaignFilter = Nothing+    }++-- | Email of the user profile. The email addresss must be linked to a Google+-- Account. This field is required on insertion and is read-only after+-- insertion.+aupfEmail :: Lens' AccountUserProFile (Maybe Text)+aupfEmail+  = lens _aupfEmail (\ s a -> s{_aupfEmail = a})++-- | Filter that describes which user roles are visible to the user profile.+aupfUserRoleFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)+aupfUserRoleFilter+  = lens _aupfUserRoleFilter+      (\ s a -> s{_aupfUserRoleFilter = a})++-- | Filter that describes which advertisers are visible to the user profile.+aupfAdvertiserFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)+aupfAdvertiserFilter+  = lens _aupfAdvertiserFilter+      (\ s a -> s{_aupfAdvertiserFilter = a})++-- | User role ID of the user profile. This is a required field.+aupfUserRoleId :: Lens' AccountUserProFile (Maybe Int64)+aupfUserRoleId+  = lens _aupfUserRoleId+      (\ s a -> s{_aupfUserRoleId = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountUserProfile\".+aupfKind :: Lens' AccountUserProFile Text+aupfKind = lens _aupfKind (\ s a -> s{_aupfKind = a})++-- | Locale of the user profile. This is a required field. Acceptable values+-- are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\"+-- (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\"+-- (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) -+-- \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) -+-- \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese+-- Traditional)+aupfLocale :: Lens' AccountUserProFile (Maybe Text)+aupfLocale+  = lens _aupfLocale (\ s a -> s{_aupfLocale = a})++-- | Filter that describes which sites are visible to the user profile.+aupfSiteFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)+aupfSiteFilter+  = lens _aupfSiteFilter+      (\ s a -> s{_aupfSiteFilter = a})++-- | Trafficker type of this user profile.+aupfTraffickerType :: Lens' AccountUserProFile (Maybe AccountUserProFileTraffickerType)+aupfTraffickerType+  = lens _aupfTraffickerType+      (\ s a -> s{_aupfTraffickerType = a})++-- | Whether this user profile is active. This defaults to false, and must be+-- set true on insert for the user profile to be usable.+aupfActive :: Lens' AccountUserProFile (Maybe Bool)+aupfActive+  = lens _aupfActive (\ s a -> s{_aupfActive = a})++-- | Account ID of the user profile. This is a read-only field that can be+-- left blank.+aupfAccountId :: Lens' AccountUserProFile (Maybe Int64)+aupfAccountId+  = lens _aupfAccountId+      (\ s a -> s{_aupfAccountId = a})+      . mapping _Coerce++-- | Name of the user profile. This is a required field. Must be less than 64+-- characters long, must be globally unique, and cannot contain whitespace+-- or any of the following characters: \"&;\"#%,\".+aupfName :: Lens' AccountUserProFile (Maybe Text)+aupfName = lens _aupfName (\ s a -> s{_aupfName = a})++-- | ID of the user profile. This is a read-only, auto-generated field.+aupfId :: Lens' AccountUserProFile (Maybe Int64)+aupfId+  = lens _aupfId (\ s a -> s{_aupfId = a}) .+      mapping _Coerce++-- | User type of the user profile. This is a read-only field that can be+-- left blank.+aupfUserAccessType :: Lens' AccountUserProFile (Maybe AccountUserProFileUserAccessType)+aupfUserAccessType+  = lens _aupfUserAccessType+      (\ s a -> s{_aupfUserAccessType = a})++-- | Comments for this user profile.+aupfComments :: Lens' AccountUserProFile (Maybe Text)+aupfComments+  = lens _aupfComments (\ s a -> s{_aupfComments = a})++-- | Subaccount ID of the user profile. This is a read-only field that can be+-- left blank.+aupfSubAccountId :: Lens' AccountUserProFile (Maybe Int64)+aupfSubAccountId+  = lens _aupfSubAccountId+      (\ s a -> s{_aupfSubAccountId = a})+      . mapping _Coerce++-- | Filter that describes which campaigns are visible to the user profile.+aupfCampaignFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)+aupfCampaignFilter+  = lens _aupfCampaignFilter+      (\ s a -> s{_aupfCampaignFilter = a})++instance FromJSON AccountUserProFile where+        parseJSON+          = withObject "AccountUserProFile"+              (\ o ->+                 AccountUserProFile <$>+                   (o .:? "email") <*> (o .:? "userRoleFilter") <*>+                     (o .:? "advertiserFilter")+                     <*> (o .:? "userRoleId")+                     <*>+                     (o .:? "kind" .!= "dfareporting#accountUserProfile")+                     <*> (o .:? "locale")+                     <*> (o .:? "siteFilter")+                     <*> (o .:? "traffickerType")+                     <*> (o .:? "active")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "userAccessType")+                     <*> (o .:? "comments")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "campaignFilter"))++instance ToJSON AccountUserProFile where+        toJSON AccountUserProFile{..}+          = object+              (catMaybes+                 [("email" .=) <$> _aupfEmail,+                  ("userRoleFilter" .=) <$> _aupfUserRoleFilter,+                  ("advertiserFilter" .=) <$> _aupfAdvertiserFilter,+                  ("userRoleId" .=) <$> _aupfUserRoleId,+                  Just ("kind" .= _aupfKind),+                  ("locale" .=) <$> _aupfLocale,+                  ("siteFilter" .=) <$> _aupfSiteFilter,+                  ("traffickerType" .=) <$> _aupfTraffickerType,+                  ("active" .=) <$> _aupfActive,+                  ("accountId" .=) <$> _aupfAccountId,+                  ("name" .=) <$> _aupfName, ("id" .=) <$> _aupfId,+                  ("userAccessType" .=) <$> _aupfUserAccessType,+                  ("comments" .=) <$> _aupfComments,+                  ("subaccountId" .=) <$> _aupfSubAccountId,+                  ("campaignFilter" .=) <$> _aupfCampaignFilter])++-- | Represents a DimensionValue resource.+--+-- /See:/ 'dimensionValue' smart constructor.+data DimensionValue = DimensionValue+    { _dvEtag          :: !(Maybe Text)+    , _dvKind          :: !Text+    , _dvValue         :: !(Maybe Text)+    , _dvMatchType     :: !(Maybe DimensionValueMatchType)+    , _dvDimensionName :: !(Maybe Text)+    , _dvId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvEtag'+--+-- * 'dvKind'+--+-- * 'dvValue'+--+-- * 'dvMatchType'+--+-- * 'dvDimensionName'+--+-- * 'dvId'+dimensionValue+    :: DimensionValue+dimensionValue =+    DimensionValue+    { _dvEtag = Nothing+    , _dvKind = "dfareporting#dimensionValue"+    , _dvValue = Nothing+    , _dvMatchType = Nothing+    , _dvDimensionName = Nothing+    , _dvId = Nothing+    }++-- | The eTag of this response for caching purposes.+dvEtag :: Lens' DimensionValue (Maybe Text)+dvEtag = lens _dvEtag (\ s a -> s{_dvEtag = a})++-- | The kind of resource this is, in this case dfareporting#dimensionValue.+dvKind :: Lens' DimensionValue Text+dvKind = lens _dvKind (\ s a -> s{_dvKind = a})++-- | The value of the dimension.+dvValue :: Lens' DimensionValue (Maybe Text)+dvValue = lens _dvValue (\ s a -> s{_dvValue = a})++-- | Determines how the \'value\' field is matched when filtering. If not+-- specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, \'*\' is+-- allowed as a placeholder for variable length character sequences, and it+-- can be escaped with a backslash. Note, only paid search dimensions+-- (\'dfa:paidSearch*\') allow a matchType other than EXACT.+dvMatchType :: Lens' DimensionValue (Maybe DimensionValueMatchType)+dvMatchType+  = lens _dvMatchType (\ s a -> s{_dvMatchType = a})++-- | The name of the dimension.+dvDimensionName :: Lens' DimensionValue (Maybe Text)+dvDimensionName+  = lens _dvDimensionName+      (\ s a -> s{_dvDimensionName = a})++-- | The ID associated with the value if available.+dvId :: Lens' DimensionValue (Maybe Text)+dvId = lens _dvId (\ s a -> s{_dvId = a})++instance FromJSON DimensionValue where+        parseJSON+          = withObject "DimensionValue"+              (\ o ->+                 DimensionValue <$>+                   (o .:? "etag") <*>+                     (o .:? "kind" .!= "dfareporting#dimensionValue")+                     <*> (o .:? "value")+                     <*> (o .:? "matchType")+                     <*> (o .:? "dimensionName")+                     <*> (o .:? "id"))++instance ToJSON DimensionValue where+        toJSON DimensionValue{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _dvEtag, Just ("kind" .= _dvKind),+                  ("value" .=) <$> _dvValue,+                  ("matchType" .=) <$> _dvMatchType,+                  ("dimensionName" .=) <$> _dvDimensionName,+                  ("id" .=) <$> _dvId])++-- | Represents an activity group.+--+-- /See:/ 'activities' smart constructor.+data Activities = Activities+    { _actKind        :: !Text+    , _actMetricNames :: !(Maybe [Text])+    , _actFilters     :: !(Maybe [DimensionValue])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Activities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'actKind'+--+-- * 'actMetricNames'+--+-- * 'actFilters'+activities+    :: Activities+activities =+    Activities+    { _actKind = "dfareporting#activities"+    , _actMetricNames = Nothing+    , _actFilters = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#activities.+actKind :: Lens' Activities Text+actKind = lens _actKind (\ s a -> s{_actKind = a})++-- | List of names of floodlight activity metrics.+actMetricNames :: Lens' Activities [Text]+actMetricNames+  = lens _actMetricNames+      (\ s a -> s{_actMetricNames = a})+      . _Default+      . _Coerce++-- | List of activity filters. The dimension values need to be all either of+-- type \"dfa:activity\" or \"dfa:activityGroup\".+actFilters :: Lens' Activities [DimensionValue]+actFilters+  = lens _actFilters (\ s a -> s{_actFilters = a}) .+      _Default+      . _Coerce++instance FromJSON Activities where+        parseJSON+          = withObject "Activities"+              (\ o ->+                 Activities <$>+                   (o .:? "kind" .!= "dfareporting#activities") <*>+                     (o .:? "metricNames" .!= mempty)+                     <*> (o .:? "filters" .!= mempty))++instance ToJSON Activities where+        toJSON Activities{..}+          = object+              (catMaybes+                 [Just ("kind" .= _actKind),+                  ("metricNames" .=) <$> _actMetricNames,+                  ("filters" .=) <$> _actFilters])++-- | User Role Permission Group List Response+--+-- /See:/ 'userRolePermissionGroupsListResponse' smart constructor.+data UserRolePermissionGroupsListResponse = UserRolePermissionGroupsListResponse+    { _urpglrUserRolePermissionGroups :: !(Maybe [UserRolePermissionGroup])+    , _urpglrKind                     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpglrUserRolePermissionGroups'+--+-- * 'urpglrKind'+userRolePermissionGroupsListResponse+    :: UserRolePermissionGroupsListResponse+userRolePermissionGroupsListResponse =+    UserRolePermissionGroupsListResponse+    { _urpglrUserRolePermissionGroups = Nothing+    , _urpglrKind = "dfareporting#userRolePermissionGroupsListResponse"+    }++-- | User role permission group collection.+urpglrUserRolePermissionGroups :: Lens' UserRolePermissionGroupsListResponse [UserRolePermissionGroup]+urpglrUserRolePermissionGroups+  = lens _urpglrUserRolePermissionGroups+      (\ s a -> s{_urpglrUserRolePermissionGroups = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRolePermissionGroupsListResponse\".+urpglrKind :: Lens' UserRolePermissionGroupsListResponse Text+urpglrKind+  = lens _urpglrKind (\ s a -> s{_urpglrKind = a})++instance FromJSON+         UserRolePermissionGroupsListResponse where+        parseJSON+          = withObject "UserRolePermissionGroupsListResponse"+              (\ o ->+                 UserRolePermissionGroupsListResponse <$>+                   (o .:? "userRolePermissionGroups" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#userRolePermissionGroupsListResponse"))++instance ToJSON UserRolePermissionGroupsListResponse+         where+        toJSON UserRolePermissionGroupsListResponse{..}+          = object+              (catMaybes+                 [("userRolePermissionGroups" .=) <$>+                    _urpglrUserRolePermissionGroups,+                  Just ("kind" .= _urpglrKind)])++-- | Placement Tag+--+-- /See:/ 'placementTag' smart constructor.+data PlacementTag = PlacementTag+    { _ptPlacementId :: !(Maybe (Textual Int64))+    , _ptTagDatas    :: !(Maybe [TagData])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementTag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptPlacementId'+--+-- * 'ptTagDatas'+placementTag+    :: PlacementTag+placementTag =+    PlacementTag+    { _ptPlacementId = Nothing+    , _ptTagDatas = Nothing+    }++-- | Placement ID+ptPlacementId :: Lens' PlacementTag (Maybe Int64)+ptPlacementId+  = lens _ptPlacementId+      (\ s a -> s{_ptPlacementId = a})+      . mapping _Coerce++-- | Tags generated for this placement.+ptTagDatas :: Lens' PlacementTag [TagData]+ptTagDatas+  = lens _ptTagDatas (\ s a -> s{_ptTagDatas = a}) .+      _Default+      . _Coerce++instance FromJSON PlacementTag where+        parseJSON+          = withObject "PlacementTag"+              (\ o ->+                 PlacementTag <$>+                   (o .:? "placementId") <*>+                     (o .:? "tagDatas" .!= mempty))++instance ToJSON PlacementTag where+        toJSON PlacementTag{..}+          = object+              (catMaybes+                 [("placementId" .=) <$> _ptPlacementId,+                  ("tagDatas" .=) <$> _ptTagDatas])++-- | Remarketing list response+--+-- /See:/ 'remarketingListsListResponse' smart constructor.+data RemarketingListsListResponse = RemarketingListsListResponse+    { _rllrNextPageToken    :: !(Maybe Text)+    , _rllrRemarketingLists :: !(Maybe [RemarketingList])+    , _rllrKind             :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllrNextPageToken'+--+-- * 'rllrRemarketingLists'+--+-- * 'rllrKind'+remarketingListsListResponse+    :: RemarketingListsListResponse+remarketingListsListResponse =+    RemarketingListsListResponse+    { _rllrNextPageToken = Nothing+    , _rllrRemarketingLists = Nothing+    , _rllrKind = "dfareporting#remarketingListsListResponse"+    }++-- | Pagination token to be used for the next list operation.+rllrNextPageToken :: Lens' RemarketingListsListResponse (Maybe Text)+rllrNextPageToken+  = lens _rllrNextPageToken+      (\ s a -> s{_rllrNextPageToken = a})++-- | Remarketing list collection.+rllrRemarketingLists :: Lens' RemarketingListsListResponse [RemarketingList]+rllrRemarketingLists+  = lens _rllrRemarketingLists+      (\ s a -> s{_rllrRemarketingLists = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#remarketingListsListResponse\".+rllrKind :: Lens' RemarketingListsListResponse Text+rllrKind = lens _rllrKind (\ s a -> s{_rllrKind = a})++instance FromJSON RemarketingListsListResponse where+        parseJSON+          = withObject "RemarketingListsListResponse"+              (\ o ->+                 RemarketingListsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "remarketingLists" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#remarketingListsListResponse"))++instance ToJSON RemarketingListsListResponse where+        toJSON RemarketingListsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rllrNextPageToken,+                  ("remarketingLists" .=) <$> _rllrRemarketingLists,+                  Just ("kind" .= _rllrKind)])++-- | Contains properties of a Creative.+--+-- /See:/ 'creative' smart constructor.+data Creative = Creative+    { _creConvertFlashToHTML5                 :: !(Maybe Bool)+    , _creBackupImageTargetWindow             :: !(Maybe TargetWindow)+    , _creRenderingIdDimensionValue           :: !(Maybe DimensionValue)+    , _creCustomKeyValues                     :: !(Maybe [Text])+    , _creVideoDuration                       :: !(Maybe (Textual Double))+    , _creRenderingId                         :: !(Maybe (Textual Int64))+    , _creThirdPartyBackupImageImpressionsURL :: !(Maybe Text)+    , _creFsCommand                           :: !(Maybe FsCommand)+    , _creAllowScriptAccess                   :: !(Maybe Bool)+    , _creHTMLCodeLocked                      :: !(Maybe Bool)+    , _creRequiredFlashPluginVersion          :: !(Maybe Text)+    , _creAuthoringTool                       :: !(Maybe CreativeAuthoringTool)+    , _creSize                                :: !(Maybe Size)+    , _creThirdPartyURLs                      :: !(Maybe [ThirdPartyTrackingURL])+    , _creCounterCustomEvents                 :: !(Maybe [CreativeCustomEvent])+    , _creKind                                :: !Text+    , _creSSLOverride                         :: !(Maybe Bool)+    , _creHTMLCode                            :: !(Maybe Text)+    , _creAdvertiserId                        :: !(Maybe (Textual Int64))+    , _creRequiredFlashVersion                :: !(Maybe (Textual Int32))+    , _creBackgRoundColor                     :: !(Maybe Text)+    , _creAdTagKeys                           :: !(Maybe [Text])+    , _creSkippable                           :: !(Maybe Bool)+    , _creSSLCompliant                        :: !(Maybe Bool)+    , _creIdDimensionValue                    :: !(Maybe DimensionValue)+    , _creBackupImageReportingLabel           :: !(Maybe Text)+    , _creCommercialId                        :: !(Maybe Text)+    , _creActive                              :: !(Maybe Bool)+    , _creExitCustomEvents                    :: !(Maybe [CreativeCustomEvent])+    , _creAccountId                           :: !(Maybe (Textual Int64))+    , _creBackupImageClickThroughURL          :: !(Maybe Text)+    , _creName                                :: !(Maybe Text)+    , _creOverrideCss                         :: !(Maybe Text)+    , _creVideoDescription                    :: !(Maybe Text)+    , _creClickTags                           :: !(Maybe [ClickTag])+    , _creAdParameters                        :: !(Maybe Text)+    , _creVersion                             :: !(Maybe (Textual Int32))+    , _creLatestTraffickedCreativeId          :: !(Maybe (Textual Int64))+    , _creThirdPartyRichMediaImpressionsURL   :: !(Maybe Text)+    , _creLastModifiedInfo                    :: !(Maybe LastModifiedInfo)+    , _creId                                  :: !(Maybe (Textual Int64))+    , _creStudioAdvertiserId                  :: !(Maybe (Textual Int64))+    , _creCreativeAssets                      :: !(Maybe [CreativeAsset])+    , _creSubAccountId                        :: !(Maybe (Textual Int64))+    , _creType                                :: !(Maybe CreativeType)+    , _creTimerCustomEvents                   :: !(Maybe [CreativeCustomEvent])+    , _creStudioCreativeId                    :: !(Maybe (Textual Int64))+    , _creCompatibility                       :: !(Maybe [CreativeCompatibilityItem])+    , _creBackupImageFeatures                 :: !(Maybe [CreativeBackupImageFeaturesItem])+    , _creArtworkType                         :: !(Maybe CreativeArtworkType)+    , _creArchived                            :: !(Maybe Bool)+    , _creCompanionCreatives                  :: !(Maybe [Textual Int64])+    , _creTotalFileSize                       :: !(Maybe (Textual Int64))+    , _creStudioTraffickedCreativeId          :: !(Maybe (Textual Int64))+    , _creRedirectURL                         :: !(Maybe Text)+    , _creAutoAdvanceImages                   :: !(Maybe Bool)+    , _creCreativeFieldAssignments            :: !(Maybe [CreativeFieldAssignment])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Creative' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'creConvertFlashToHTML5'+--+-- * 'creBackupImageTargetWindow'+--+-- * 'creRenderingIdDimensionValue'+--+-- * 'creCustomKeyValues'+--+-- * 'creVideoDuration'+--+-- * 'creRenderingId'+--+-- * 'creThirdPartyBackupImageImpressionsURL'+--+-- * 'creFsCommand'+--+-- * 'creAllowScriptAccess'+--+-- * 'creHTMLCodeLocked'+--+-- * 'creRequiredFlashPluginVersion'+--+-- * 'creAuthoringTool'+--+-- * 'creSize'+--+-- * 'creThirdPartyURLs'+--+-- * 'creCounterCustomEvents'+--+-- * 'creKind'+--+-- * 'creSSLOverride'+--+-- * 'creHTMLCode'+--+-- * 'creAdvertiserId'+--+-- * 'creRequiredFlashVersion'+--+-- * 'creBackgRoundColor'+--+-- * 'creAdTagKeys'+--+-- * 'creSkippable'+--+-- * 'creSSLCompliant'+--+-- * 'creIdDimensionValue'+--+-- * 'creBackupImageReportingLabel'+--+-- * 'creCommercialId'+--+-- * 'creActive'+--+-- * 'creExitCustomEvents'+--+-- * 'creAccountId'+--+-- * 'creBackupImageClickThroughURL'+--+-- * 'creName'+--+-- * 'creOverrideCss'+--+-- * 'creVideoDescription'+--+-- * 'creClickTags'+--+-- * 'creAdParameters'+--+-- * 'creVersion'+--+-- * 'creLatestTraffickedCreativeId'+--+-- * 'creThirdPartyRichMediaImpressionsURL'+--+-- * 'creLastModifiedInfo'+--+-- * 'creId'+--+-- * 'creStudioAdvertiserId'+--+-- * 'creCreativeAssets'+--+-- * 'creSubAccountId'+--+-- * 'creType'+--+-- * 'creTimerCustomEvents'+--+-- * 'creStudioCreativeId'+--+-- * 'creCompatibility'+--+-- * 'creBackupImageFeatures'+--+-- * 'creArtworkType'+--+-- * 'creArchived'+--+-- * 'creCompanionCreatives'+--+-- * 'creTotalFileSize'+--+-- * 'creStudioTraffickedCreativeId'+--+-- * 'creRedirectURL'+--+-- * 'creAutoAdvanceImages'+--+-- * 'creCreativeFieldAssignments'+creative+    :: Creative+creative =+    Creative+    { _creConvertFlashToHTML5 = Nothing+    , _creBackupImageTargetWindow = Nothing+    , _creRenderingIdDimensionValue = Nothing+    , _creCustomKeyValues = Nothing+    , _creVideoDuration = Nothing+    , _creRenderingId = Nothing+    , _creThirdPartyBackupImageImpressionsURL = Nothing+    , _creFsCommand = Nothing+    , _creAllowScriptAccess = Nothing+    , _creHTMLCodeLocked = Nothing+    , _creRequiredFlashPluginVersion = Nothing+    , _creAuthoringTool = Nothing+    , _creSize = Nothing+    , _creThirdPartyURLs = Nothing+    , _creCounterCustomEvents = Nothing+    , _creKind = "dfareporting#creative"+    , _creSSLOverride = Nothing+    , _creHTMLCode = Nothing+    , _creAdvertiserId = Nothing+    , _creRequiredFlashVersion = Nothing+    , _creBackgRoundColor = Nothing+    , _creAdTagKeys = Nothing+    , _creSkippable = Nothing+    , _creSSLCompliant = Nothing+    , _creIdDimensionValue = Nothing+    , _creBackupImageReportingLabel = Nothing+    , _creCommercialId = Nothing+    , _creActive = Nothing+    , _creExitCustomEvents = Nothing+    , _creAccountId = Nothing+    , _creBackupImageClickThroughURL = Nothing+    , _creName = Nothing+    , _creOverrideCss = Nothing+    , _creVideoDescription = Nothing+    , _creClickTags = Nothing+    , _creAdParameters = Nothing+    , _creVersion = Nothing+    , _creLatestTraffickedCreativeId = Nothing+    , _creThirdPartyRichMediaImpressionsURL = Nothing+    , _creLastModifiedInfo = Nothing+    , _creId = Nothing+    , _creStudioAdvertiserId = Nothing+    , _creCreativeAssets = Nothing+    , _creSubAccountId = Nothing+    , _creType = Nothing+    , _creTimerCustomEvents = Nothing+    , _creStudioCreativeId = Nothing+    , _creCompatibility = Nothing+    , _creBackupImageFeatures = Nothing+    , _creArtworkType = Nothing+    , _creArchived = Nothing+    , _creCompanionCreatives = Nothing+    , _creTotalFileSize = Nothing+    , _creStudioTraffickedCreativeId = Nothing+    , _creRedirectURL = Nothing+    , _creAutoAdvanceImages = Nothing+    , _creCreativeFieldAssignments = Nothing+    }++-- | Whether Flash assets associated with the creative need to be+-- automatically converted to HTML5. This flag is enabled by default and+-- users can choose to disable it if they don\'t want the system to+-- generate and use HTML5 asset for this creative. Applicable to the+-- following creative types: ENHANCED_BANNER and FLASH_INPAGE.+creConvertFlashToHTML5 :: Lens' Creative (Maybe Bool)+creConvertFlashToHTML5+  = lens _creConvertFlashToHTML5+      (\ s a -> s{_creConvertFlashToHTML5 = a})++-- | Target window for backup image. Applicable to the following creative+-- types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.+creBackupImageTargetWindow :: Lens' Creative (Maybe TargetWindow)+creBackupImageTargetWindow+  = lens _creBackupImageTargetWindow+      (\ s a -> s{_creBackupImageTargetWindow = a})++-- | Dimension value for the rendering ID of this creative. This is a+-- read-only field. Applicable to all creative types.+creRenderingIdDimensionValue :: Lens' Creative (Maybe DimensionValue)+creRenderingIdDimensionValue+  = lens _creRenderingIdDimensionValue+      (\ s a -> s{_creRenderingIdDimensionValue = a})++-- | Custom key-values for a Rich Media creative. Key-values let you+-- customize the creative settings of a Rich Media ad running on your site+-- without having to contact the advertiser. You can use key-values to+-- dynamically change the look or functionality of a creative. Applicable+-- to the following creative types: all RICH_MEDIA, and all VPAID.+creCustomKeyValues :: Lens' Creative [Text]+creCustomKeyValues+  = lens _creCustomKeyValues+      (\ s a -> s{_creCustomKeyValues = a})+      . _Default+      . _Coerce++-- | Creative video duration in seconds. This is a read-only field.+-- Applicable to the following creative types: INSTREAM_VIDEO, all+-- RICH_MEDIA, and all VPAID.+creVideoDuration :: Lens' Creative (Maybe Double)+creVideoDuration+  = lens _creVideoDuration+      (\ s a -> s{_creVideoDuration = a})+      . mapping _Coerce++-- | ID of current rendering version. This is a read-only field. Applicable+-- to all creative types.+creRenderingId :: Lens' Creative (Maybe Int64)+creRenderingId+  = lens _creRenderingId+      (\ s a -> s{_creRenderingId = a})+      . mapping _Coerce++-- | Third-party URL used to record backup image impressions. Applicable to+-- the following creative types: all RICH_MEDIA+creThirdPartyBackupImageImpressionsURL :: Lens' Creative (Maybe Text)+creThirdPartyBackupImageImpressionsURL+  = lens _creThirdPartyBackupImageImpressionsURL+      (\ s a ->+         s{_creThirdPartyBackupImageImpressionsURL = a})++-- | OpenWindow FSCommand of this creative. This lets the SWF file+-- communicate with either Flash Player or the program hosting Flash+-- Player, such as a web browser. This is only triggered if+-- allowScriptAccess field is true. Applicable to the following creative+-- types: FLASH_INPAGE.+creFsCommand :: Lens' Creative (Maybe FsCommand)+creFsCommand+  = lens _creFsCommand (\ s a -> s{_creFsCommand = a})++-- | Whether script access is allowed for this creative. This is a read-only+-- and deprecated field which will automatically be set to true on update.+-- Applicable to the following creative types: FLASH_INPAGE.+creAllowScriptAccess :: Lens' Creative (Maybe Bool)+creAllowScriptAccess+  = lens _creAllowScriptAccess+      (\ s a -> s{_creAllowScriptAccess = a})++-- | Whether HTML code is DCM-generated or manually entered. Set to true to+-- ignore changes to htmlCode. Applicable to the following creative types:+-- FLASH_INPAGE and HTML5_BANNER.+creHTMLCodeLocked :: Lens' Creative (Maybe Bool)+creHTMLCodeLocked+  = lens _creHTMLCodeLocked+      (\ s a -> s{_creHTMLCodeLocked = a})++-- | The minimum required Flash plugin version for this creative. For+-- example, 11.2.202.235. This is a read-only field. Applicable to the+-- following creative types: all RICH_MEDIA, and all VPAID.+creRequiredFlashPluginVersion :: Lens' Creative (Maybe Text)+creRequiredFlashPluginVersion+  = lens _creRequiredFlashPluginVersion+      (\ s a -> s{_creRequiredFlashPluginVersion = a})++-- | Authoring tool for HTML5 banner creatives. This is a read-only field.+-- Applicable to the following creative types: HTML5_BANNER.+creAuthoringTool :: Lens' Creative (Maybe CreativeAuthoringTool)+creAuthoringTool+  = lens _creAuthoringTool+      (\ s a -> s{_creAuthoringTool = a})++-- | Size associated with this creative. When inserting or updating a+-- creative either the size ID field or size width and height fields can be+-- used. This is a required field when applicable; however for IMAGE and+-- FLASH_INPAGE creatives, if left blank, this field will be automatically+-- set using the actual size of the associated image assets. Applicable to+-- the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE,+-- FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.+creSize :: Lens' Creative (Maybe Size)+creSize = lens _creSize (\ s a -> s{_creSize = a})++-- | Third-party URLs for tracking in-stream video creative events.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+creThirdPartyURLs :: Lens' Creative [ThirdPartyTrackingURL]+creThirdPartyURLs+  = lens _creThirdPartyURLs+      (\ s a -> s{_creThirdPartyURLs = a})+      . _Default+      . _Coerce++-- | List of counter events configured for the creative. Applicable to the+-- following creative types: all RICH_MEDIA, and all VPAID.+creCounterCustomEvents :: Lens' Creative [CreativeCustomEvent]+creCounterCustomEvents+  = lens _creCounterCustomEvents+      (\ s a -> s{_creCounterCustomEvents = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creative\".+creKind :: Lens' Creative Text+creKind = lens _creKind (\ s a -> s{_creKind = a})++-- | Whether creative should be treated as SSL compliant even if the system+-- scan shows it\'s not.+creSSLOverride :: Lens' Creative (Maybe Bool)+creSSLOverride+  = lens _creSSLOverride+      (\ s a -> s{_creSSLOverride = a})++-- | HTML code for the creative. This is a required field when applicable.+-- This field is ignored if htmlCodeLocked is false. Applicable to the+-- following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER,+-- and all RICH_MEDIA.+creHTMLCode :: Lens' Creative (Maybe Text)+creHTMLCode+  = lens _creHTMLCode (\ s a -> s{_creHTMLCode = a})++-- | Advertiser ID of this creative. This is a required field. Applicable to+-- all creative types.+creAdvertiserId :: Lens' Creative (Maybe Int64)+creAdvertiserId+  = lens _creAdvertiserId+      (\ s a -> s{_creAdvertiserId = a})+      . mapping _Coerce++-- | The internal Flash version for this creative as calculated by+-- DoubleClick Studio. This is a read-only field. Applicable to the+-- following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA,+-- and all VPAID.+creRequiredFlashVersion :: Lens' Creative (Maybe Int32)+creRequiredFlashVersion+  = lens _creRequiredFlashVersion+      (\ s a -> s{_creRequiredFlashVersion = a})+      . mapping _Coerce++-- | The 6-character HTML color code, beginning with #, for the background of+-- the window area where the Flash file is displayed. Default is white.+-- Applicable to the following creative types: FLASH_INPAGE.+creBackgRoundColor :: Lens' Creative (Maybe Text)+creBackgRoundColor+  = lens _creBackgRoundColor+      (\ s a -> s{_creBackgRoundColor = a})++-- | Keywords for a Rich Media creative. Keywords let you customize the+-- creative settings of a Rich Media ad running on your site without having+-- to contact the advertiser. You can use keywords to dynamically change+-- the look or functionality of a creative. Applicable to the following+-- creative types: all RICH_MEDIA, and all VPAID.+creAdTagKeys :: Lens' Creative [Text]+creAdTagKeys+  = lens _creAdTagKeys (\ s a -> s{_creAdTagKeys = a})+      . _Default+      . _Coerce++-- | Whether the user can choose to skip the creative. Applicable to the+-- following creative types: INSTREAM_VIDEO.+creSkippable :: Lens' Creative (Maybe Bool)+creSkippable+  = lens _creSkippable (\ s a -> s{_creSkippable = a})++-- | Whether the creative is SSL-compliant. This is a read-only field.+-- Applicable to all creative types.+creSSLCompliant :: Lens' Creative (Maybe Bool)+creSSLCompliant+  = lens _creSSLCompliant+      (\ s a -> s{_creSSLCompliant = a})++-- | Dimension value for the ID of this creative. This is a read-only field.+-- Applicable to all creative types.+creIdDimensionValue :: Lens' Creative (Maybe DimensionValue)+creIdDimensionValue+  = lens _creIdDimensionValue+      (\ s a -> s{_creIdDimensionValue = a})++-- | Reporting label used for HTML5 banner backup image. Applicable to the+-- following creative types: ENHANCED_BANNER.+creBackupImageReportingLabel :: Lens' Creative (Maybe Text)+creBackupImageReportingLabel+  = lens _creBackupImageReportingLabel+      (\ s a -> s{_creBackupImageReportingLabel = a})++-- | Industry standard ID assigned to creative for reach and frequency.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+creCommercialId :: Lens' Creative (Maybe Text)+creCommercialId+  = lens _creCommercialId+      (\ s a -> s{_creCommercialId = a})++-- | Whether the creative is active. Applicable to all creative types.+creActive :: Lens' Creative (Maybe Bool)+creActive+  = lens _creActive (\ s a -> s{_creActive = a})++-- | List of exit events configured for the creative. Applicable to the+-- following creative types: all RICH_MEDIA, and all VPAID.+creExitCustomEvents :: Lens' Creative [CreativeCustomEvent]+creExitCustomEvents+  = lens _creExitCustomEvents+      (\ s a -> s{_creExitCustomEvents = a})+      . _Default+      . _Coerce++-- | Account ID of this creative. This field, if left unset, will be+-- auto-generated for both insert and update operations. Applicable to all+-- creative types.+creAccountId :: Lens' Creative (Maybe Int64)+creAccountId+  = lens _creAccountId (\ s a -> s{_creAccountId = a})+      . mapping _Coerce++-- | Click-through URL for backup image. Applicable to the following creative+-- types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.+creBackupImageClickThroughURL :: Lens' Creative (Maybe Text)+creBackupImageClickThroughURL+  = lens _creBackupImageClickThroughURL+      (\ s a -> s{_creBackupImageClickThroughURL = a})++-- | Name of the creative. This is a required field and must be less than 256+-- characters long. Applicable to all creative types.+creName :: Lens' Creative (Maybe Text)+creName = lens _creName (\ s a -> s{_creName = a})++-- | Override CSS value for rich media creatives. Applicable to the following+-- creative types: all RICH_MEDIA.+creOverrideCss :: Lens' Creative (Maybe Text)+creOverrideCss+  = lens _creOverrideCss+      (\ s a -> s{_creOverrideCss = a})++-- | Description of the video ad. Applicable to the following creative types:+-- INSTREAM_VIDEO and all VPAID.+creVideoDescription :: Lens' Creative (Maybe Text)+creVideoDescription+  = lens _creVideoDescription+      (\ s a -> s{_creVideoDescription = a})++-- | Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and+-- HTML5_BANNER creatives, this is a subset of detected click tags for the+-- assets associated with this creative. After creating a flash asset,+-- detected click tags will be returned in the creativeAssetMetadata. When+-- inserting the creative, populate the creative clickTags field using the+-- creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives,+-- there should be exactly one entry in this list for each image creative+-- asset. A click tag is matched with a corresponding creative asset by+-- matching the clickTag.name field with the+-- creativeAsset.assetIdentifier.name field. Applicable to the following+-- creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE,+-- HTML5_BANNER.+creClickTags :: Lens' Creative [ClickTag]+creClickTags+  = lens _creClickTags (\ s a -> s{_creClickTags = a})+      . _Default+      . _Coerce++-- | Ad parameters user for VPAID creative. This is a read-only field.+-- Applicable to the following creative types: all VPAID.+creAdParameters :: Lens' Creative (Maybe Text)+creAdParameters+  = lens _creAdParameters+      (\ s a -> s{_creAdParameters = a})++-- | The version number helps you keep track of multiple versions of your+-- creative in your reports. The version number will always be+-- auto-generated during insert operations to start at 1. For tracking+-- creatives the version cannot be incremented and will always remain at 1.+-- For all other creative types the version can be incremented only by 1+-- during update operations. In addition, the version will be automatically+-- incremented by 1 when undergoing Rich Media creative merging. Applicable+-- to all creative types.+creVersion :: Lens' Creative (Maybe Int32)+creVersion+  = lens _creVersion (\ s a -> s{_creVersion = a}) .+      mapping _Coerce++-- | Latest Studio trafficked creative ID associated with rich media and+-- VPAID creatives. This is a read-only field. Applicable to the following+-- creative types: all RICH_MEDIA, and all VPAID.+creLatestTraffickedCreativeId :: Lens' Creative (Maybe Int64)+creLatestTraffickedCreativeId+  = lens _creLatestTraffickedCreativeId+      (\ s a -> s{_creLatestTraffickedCreativeId = a})+      . mapping _Coerce++-- | Third-party URL used to record rich media impressions. Applicable to the+-- following creative types: all RICH_MEDIA+creThirdPartyRichMediaImpressionsURL :: Lens' Creative (Maybe Text)+creThirdPartyRichMediaImpressionsURL+  = lens _creThirdPartyRichMediaImpressionsURL+      (\ s a ->+         s{_creThirdPartyRichMediaImpressionsURL = a})++-- | Creative last modification information. This is a read-only field.+-- Applicable to all creative types.+creLastModifiedInfo :: Lens' Creative (Maybe LastModifiedInfo)+creLastModifiedInfo+  = lens _creLastModifiedInfo+      (\ s a -> s{_creLastModifiedInfo = a})++-- | ID of this creative. This is a read-only, auto-generated field.+-- Applicable to all creative types.+creId :: Lens' Creative (Maybe Int64)+creId+  = lens _creId (\ s a -> s{_creId = a}) .+      mapping _Coerce++-- | Studio advertiser ID associated with rich media and VPAID creatives.+-- This is a read-only field. Applicable to the following creative types:+-- all RICH_MEDIA, and all VPAID.+creStudioAdvertiserId :: Lens' Creative (Maybe Int64)+creStudioAdvertiserId+  = lens _creStudioAdvertiserId+      (\ s a -> s{_creStudioAdvertiserId = a})+      . mapping _Coerce++-- | Assets associated with a creative. Applicable to all but the following+-- creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and+-- REDIRECT+creCreativeAssets :: Lens' Creative [CreativeAsset]+creCreativeAssets+  = lens _creCreativeAssets+      (\ s a -> s{_creCreativeAssets = a})+      . _Default+      . _Coerce++-- | Subaccount ID of this creative. This field, if left unset, will be+-- auto-generated for both insert and update operations. Applicable to all+-- creative types.+creSubAccountId :: Lens' Creative (Maybe Int64)+creSubAccountId+  = lens _creSubAccountId+      (\ s a -> s{_creSubAccountId = a})+      . mapping _Coerce++-- | Type of this creative.This is a required field. Applicable to all+-- creative types.+creType :: Lens' Creative (Maybe CreativeType)+creType = lens _creType (\ s a -> s{_creType = a})++-- | List of timer events configured for the creative. Applicable to the+-- following creative types: all RICH_MEDIA, and all VPAID.+creTimerCustomEvents :: Lens' Creative [CreativeCustomEvent]+creTimerCustomEvents+  = lens _creTimerCustomEvents+      (\ s a -> s{_creTimerCustomEvents = a})+      . _Default+      . _Coerce++-- | Studio creative ID associated with rich media and VPAID creatives. This+-- is a read-only field. Applicable to the following creative types: all+-- RICH_MEDIA, and all VPAID.+creStudioCreativeId :: Lens' Creative (Maybe Int64)+creStudioCreativeId+  = lens _creStudioCreativeId+      (\ s a -> s{_creStudioCreativeId = a})+      . mapping _Coerce++-- | Compatibilities associated with this creative. This is a read-only+-- field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or+-- on mobile devices for regular or interstitial ads, respectively. APP and+-- APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO+-- refers to rendering in in-stream video ads developed with the VAST+-- standard. Applicable to all creative types. Acceptable values are: -+-- \"APP\" - \"APP_INTERSTITIAL\" - \"IN_STREAM_VIDEO\" - \"WEB\" -+-- \"WEB_INTERSTITIAL\"+creCompatibility :: Lens' Creative [CreativeCompatibilityItem]+creCompatibility+  = lens _creCompatibility+      (\ s a -> s{_creCompatibility = a})+      . _Default+      . _Coerce++-- | List of feature dependencies that will cause a backup image to be served+-- if the browser that serves the ad does not support them. Feature+-- dependencies are features that a browser must be able to support in+-- order to render your HTML5 creative asset correctly. This field is+-- initially auto-generated to contain all features detected by DCM for all+-- the assets of this creative and can then be modified by the client. To+-- reset this field, copy over all the creativeAssets\' detected features.+-- Applicable to the following creative types: ENHANCED_BANNER and+-- HTML5_BANNER.+creBackupImageFeatures :: Lens' Creative [CreativeBackupImageFeaturesItem]+creBackupImageFeatures+  = lens _creBackupImageFeatures+      (\ s a -> s{_creBackupImageFeatures = a})+      . _Default+      . _Coerce++-- | Type of artwork used for the creative. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA, and all+-- VPAID.+creArtworkType :: Lens' Creative (Maybe CreativeArtworkType)+creArtworkType+  = lens _creArtworkType+      (\ s a -> s{_creArtworkType = a})++-- | Whether the creative is archived. Applicable to all creative types.+creArchived :: Lens' Creative (Maybe Bool)+creArchived+  = lens _creArchived (\ s a -> s{_creArchived = a})++-- | List of companion creatives assigned to an in-Stream videocreative.+-- Acceptable values include IDs of existing flash and image creatives.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+creCompanionCreatives :: Lens' Creative [Int64]+creCompanionCreatives+  = lens _creCompanionCreatives+      (\ s a -> s{_creCompanionCreatives = a})+      . _Default+      . _Coerce++-- | Combined size of all creative assets. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA, and all+-- VPAID.+creTotalFileSize :: Lens' Creative (Maybe Int64)+creTotalFileSize+  = lens _creTotalFileSize+      (\ s a -> s{_creTotalFileSize = a})+      . mapping _Coerce++-- | Studio trafficked creative ID associated with rich media and VPAID+-- creatives. This is a read-only field. Applicable to the following+-- creative types: all RICH_MEDIA, and all VPAID.+creStudioTraffickedCreativeId :: Lens' Creative (Maybe Int64)+creStudioTraffickedCreativeId+  = lens _creStudioTraffickedCreativeId+      (\ s a -> s{_creStudioTraffickedCreativeId = a})+      . mapping _Coerce++-- | URL of hosted image or another ad tag. This is a required field when+-- applicable. Applicable to the following creative types:+-- INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT+creRedirectURL :: Lens' Creative (Maybe Text)+creRedirectURL+  = lens _creRedirectURL+      (\ s a -> s{_creRedirectURL = a})++-- | Whether images are automatically advanced for enhanced image creatives.+-- Applicable to the following creative types: ENHANCED_IMAGE.+creAutoAdvanceImages :: Lens' Creative (Maybe Bool)+creAutoAdvanceImages+  = lens _creAutoAdvanceImages+      (\ s a -> s{_creAutoAdvanceImages = a})++-- | Creative field assignments for this creative. Applicable to all creative+-- types.+creCreativeFieldAssignments :: Lens' Creative [CreativeFieldAssignment]+creCreativeFieldAssignments+  = lens _creCreativeFieldAssignments+      (\ s a -> s{_creCreativeFieldAssignments = a})+      . _Default+      . _Coerce++instance FromJSON Creative where+        parseJSON+          = withObject "Creative"+              (\ o ->+                 Creative <$>+                   (o .:? "convertFlashToHtml5") <*>+                     (o .:? "backupImageTargetWindow")+                     <*> (o .:? "renderingIdDimensionValue")+                     <*> (o .:? "customKeyValues" .!= mempty)+                     <*> (o .:? "videoDuration")+                     <*> (o .:? "renderingId")+                     <*> (o .:? "thirdPartyBackupImageImpressionsUrl")+                     <*> (o .:? "fsCommand")+                     <*> (o .:? "allowScriptAccess")+                     <*> (o .:? "htmlCodeLocked")+                     <*> (o .:? "requiredFlashPluginVersion")+                     <*> (o .:? "authoringTool")+                     <*> (o .:? "size")+                     <*> (o .:? "thirdPartyUrls" .!= mempty)+                     <*> (o .:? "counterCustomEvents" .!= mempty)+                     <*> (o .:? "kind" .!= "dfareporting#creative")+                     <*> (o .:? "sslOverride")+                     <*> (o .:? "htmlCode")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "requiredFlashVersion")+                     <*> (o .:? "backgroundColor")+                     <*> (o .:? "adTagKeys" .!= mempty)+                     <*> (o .:? "skippable")+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "backupImageReportingLabel")+                     <*> (o .:? "commercialId")+                     <*> (o .:? "active")+                     <*> (o .:? "exitCustomEvents" .!= mempty)+                     <*> (o .:? "accountId")+                     <*> (o .:? "backupImageClickThroughUrl")+                     <*> (o .:? "name")+                     <*> (o .:? "overrideCss")+                     <*> (o .:? "videoDescription")+                     <*> (o .:? "clickTags" .!= mempty)+                     <*> (o .:? "adParameters")+                     <*> (o .:? "version")+                     <*> (o .:? "latestTraffickedCreativeId")+                     <*> (o .:? "thirdPartyRichMediaImpressionsUrl")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "studioAdvertiserId")+                     <*> (o .:? "creativeAssets" .!= mempty)+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "type")+                     <*> (o .:? "timerCustomEvents" .!= mempty)+                     <*> (o .:? "studioCreativeId")+                     <*> (o .:? "compatibility" .!= mempty)+                     <*> (o .:? "backupImageFeatures" .!= mempty)+                     <*> (o .:? "artworkType")+                     <*> (o .:? "archived")+                     <*> (o .:? "companionCreatives" .!= mempty)+                     <*> (o .:? "totalFileSize")+                     <*> (o .:? "studioTraffickedCreativeId")+                     <*> (o .:? "redirectUrl")+                     <*> (o .:? "auto_advance_images")+                     <*> (o .:? "creativeFieldAssignments" .!= mempty))++instance ToJSON Creative where+        toJSON Creative{..}+          = object+              (catMaybes+                 [("convertFlashToHtml5" .=) <$>+                    _creConvertFlashToHTML5,+                  ("backupImageTargetWindow" .=) <$>+                    _creBackupImageTargetWindow,+                  ("renderingIdDimensionValue" .=) <$>+                    _creRenderingIdDimensionValue,+                  ("customKeyValues" .=) <$> _creCustomKeyValues,+                  ("videoDuration" .=) <$> _creVideoDuration,+                  ("renderingId" .=) <$> _creRenderingId,+                  ("thirdPartyBackupImageImpressionsUrl" .=) <$>+                    _creThirdPartyBackupImageImpressionsURL,+                  ("fsCommand" .=) <$> _creFsCommand,+                  ("allowScriptAccess" .=) <$> _creAllowScriptAccess,+                  ("htmlCodeLocked" .=) <$> _creHTMLCodeLocked,+                  ("requiredFlashPluginVersion" .=) <$>+                    _creRequiredFlashPluginVersion,+                  ("authoringTool" .=) <$> _creAuthoringTool,+                  ("size" .=) <$> _creSize,+                  ("thirdPartyUrls" .=) <$> _creThirdPartyURLs,+                  ("counterCustomEvents" .=) <$>+                    _creCounterCustomEvents,+                  Just ("kind" .= _creKind),+                  ("sslOverride" .=) <$> _creSSLOverride,+                  ("htmlCode" .=) <$> _creHTMLCode,+                  ("advertiserId" .=) <$> _creAdvertiserId,+                  ("requiredFlashVersion" .=) <$>+                    _creRequiredFlashVersion,+                  ("backgroundColor" .=) <$> _creBackgRoundColor,+                  ("adTagKeys" .=) <$> _creAdTagKeys,+                  ("skippable" .=) <$> _creSkippable,+                  ("sslCompliant" .=) <$> _creSSLCompliant,+                  ("idDimensionValue" .=) <$> _creIdDimensionValue,+                  ("backupImageReportingLabel" .=) <$>+                    _creBackupImageReportingLabel,+                  ("commercialId" .=) <$> _creCommercialId,+                  ("active" .=) <$> _creActive,+                  ("exitCustomEvents" .=) <$> _creExitCustomEvents,+                  ("accountId" .=) <$> _creAccountId,+                  ("backupImageClickThroughUrl" .=) <$>+                    _creBackupImageClickThroughURL,+                  ("name" .=) <$> _creName,+                  ("overrideCss" .=) <$> _creOverrideCss,+                  ("videoDescription" .=) <$> _creVideoDescription,+                  ("clickTags" .=) <$> _creClickTags,+                  ("adParameters" .=) <$> _creAdParameters,+                  ("version" .=) <$> _creVersion,+                  ("latestTraffickedCreativeId" .=) <$>+                    _creLatestTraffickedCreativeId,+                  ("thirdPartyRichMediaImpressionsUrl" .=) <$>+                    _creThirdPartyRichMediaImpressionsURL,+                  ("lastModifiedInfo" .=) <$> _creLastModifiedInfo,+                  ("id" .=) <$> _creId,+                  ("studioAdvertiserId" .=) <$> _creStudioAdvertiserId,+                  ("creativeAssets" .=) <$> _creCreativeAssets,+                  ("subaccountId" .=) <$> _creSubAccountId,+                  ("type" .=) <$> _creType,+                  ("timerCustomEvents" .=) <$> _creTimerCustomEvents,+                  ("studioCreativeId" .=) <$> _creStudioCreativeId,+                  ("compatibility" .=) <$> _creCompatibility,+                  ("backupImageFeatures" .=) <$>+                    _creBackupImageFeatures,+                  ("artworkType" .=) <$> _creArtworkType,+                  ("archived" .=) <$> _creArchived,+                  ("companionCreatives" .=) <$> _creCompanionCreatives,+                  ("totalFileSize" .=) <$> _creTotalFileSize,+                  ("studioTraffickedCreativeId" .=) <$>+                    _creStudioTraffickedCreativeId,+                  ("redirectUrl" .=) <$> _creRedirectURL,+                  ("auto_advance_images" .=) <$> _creAutoAdvanceImages,+                  ("creativeFieldAssignments" .=) <$>+                    _creCreativeFieldAssignments])++-- | Site Contact+--+-- /See:/ 'siteContact' smart constructor.+data SiteContact = SiteContact+    { _scEmail       :: !(Maybe Text)+    , _scPhone       :: !(Maybe Text)+    , _scLastName    :: !(Maybe Text)+    , _scAddress     :: !(Maybe Text)+    , _scFirstName   :: !(Maybe Text)+    , _scId          :: !(Maybe (Textual Int64))+    , _scTitle       :: !(Maybe Text)+    , _scContactType :: !(Maybe SiteContactContactType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SiteContact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scEmail'+--+-- * 'scPhone'+--+-- * 'scLastName'+--+-- * 'scAddress'+--+-- * 'scFirstName'+--+-- * 'scId'+--+-- * 'scTitle'+--+-- * 'scContactType'+siteContact+    :: SiteContact+siteContact =+    SiteContact+    { _scEmail = Nothing+    , _scPhone = Nothing+    , _scLastName = Nothing+    , _scAddress = Nothing+    , _scFirstName = Nothing+    , _scId = Nothing+    , _scTitle = Nothing+    , _scContactType = Nothing+    }++-- | Email address of this site contact. This is a required field.+scEmail :: Lens' SiteContact (Maybe Text)+scEmail = lens _scEmail (\ s a -> s{_scEmail = a})++-- | Primary phone number of this site contact.+scPhone :: Lens' SiteContact (Maybe Text)+scPhone = lens _scPhone (\ s a -> s{_scPhone = a})++-- | Last name of this site contact.+scLastName :: Lens' SiteContact (Maybe Text)+scLastName+  = lens _scLastName (\ s a -> s{_scLastName = a})++-- | Address of this site contact.+scAddress :: Lens' SiteContact (Maybe Text)+scAddress+  = lens _scAddress (\ s a -> s{_scAddress = a})++-- | First name of this site contact.+scFirstName :: Lens' SiteContact (Maybe Text)+scFirstName+  = lens _scFirstName (\ s a -> s{_scFirstName = a})++-- | ID of this site contact. This is a read-only, auto-generated field.+scId :: Lens' SiteContact (Maybe Int64)+scId+  = lens _scId (\ s a -> s{_scId = a}) .+      mapping _Coerce++-- | Title or designation of this site contact.+scTitle :: Lens' SiteContact (Maybe Text)+scTitle = lens _scTitle (\ s a -> s{_scTitle = a})++-- | Site contact type.+scContactType :: Lens' SiteContact (Maybe SiteContactContactType)+scContactType+  = lens _scContactType+      (\ s a -> s{_scContactType = a})++instance FromJSON SiteContact where+        parseJSON+          = withObject "SiteContact"+              (\ o ->+                 SiteContact <$>+                   (o .:? "email") <*> (o .:? "phone") <*>+                     (o .:? "lastName")+                     <*> (o .:? "address")+                     <*> (o .:? "firstName")+                     <*> (o .:? "id")+                     <*> (o .:? "title")+                     <*> (o .:? "contactType"))++instance ToJSON SiteContact where+        toJSON SiteContact{..}+          = object+              (catMaybes+                 [("email" .=) <$> _scEmail,+                  ("phone" .=) <$> _scPhone,+                  ("lastName" .=) <$> _scLastName,+                  ("address" .=) <$> _scAddress,+                  ("firstName" .=) <$> _scFirstName,+                  ("id" .=) <$> _scId, ("title" .=) <$> _scTitle,+                  ("contactType" .=) <$> _scContactType])++-- | Account List Response+--+-- /See:/ 'accountsListResponse' smart constructor.+data AccountsListResponse = AccountsListResponse+    { _accNextPageToken :: !(Maybe Text)+    , _accAccounts      :: !(Maybe [Account])+    , _accKind          :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'accNextPageToken'+--+-- * 'accAccounts'+--+-- * 'accKind'+accountsListResponse+    :: AccountsListResponse+accountsListResponse =+    AccountsListResponse+    { _accNextPageToken = Nothing+    , _accAccounts = Nothing+    , _accKind = "dfareporting#accountsListResponse"+    }++-- | Pagination token to be used for the next list operation.+accNextPageToken :: Lens' AccountsListResponse (Maybe Text)+accNextPageToken+  = lens _accNextPageToken+      (\ s a -> s{_accNextPageToken = a})++-- | Account collection.+accAccounts :: Lens' AccountsListResponse [Account]+accAccounts+  = lens _accAccounts (\ s a -> s{_accAccounts = a}) .+      _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountsListResponse\".+accKind :: Lens' AccountsListResponse Text+accKind = lens _accKind (\ s a -> s{_accKind = a})++instance FromJSON AccountsListResponse where+        parseJSON+          = withObject "AccountsListResponse"+              (\ o ->+                 AccountsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "accounts" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#accountsListResponse"))++instance ToJSON AccountsListResponse where+        toJSON AccountsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _accNextPageToken,+                  ("accounts" .=) <$> _accAccounts,+                  Just ("kind" .= _accKind)])++-- | Represents a date range.+--+-- /See:/ 'dateRange' smart constructor.+data DateRange = DateRange+    { _drKind              :: !Text+    , _drEndDate           :: !(Maybe Date')+    , _drStartDate         :: !(Maybe Date')+    , _drRelativeDateRange :: !(Maybe DateRangeRelativeDateRange)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DateRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drKind'+--+-- * 'drEndDate'+--+-- * 'drStartDate'+--+-- * 'drRelativeDateRange'+dateRange+    :: DateRange+dateRange =+    DateRange+    { _drKind = "dfareporting#dateRange"+    , _drEndDate = Nothing+    , _drStartDate = Nothing+    , _drRelativeDateRange = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#dateRange.+drKind :: Lens' DateRange Text+drKind = lens _drKind (\ s a -> s{_drKind = a})++-- | The end date of the date range, inclusive. A string of the format:+-- \"yyyy-MM-dd\".+drEndDate :: Lens' DateRange (Maybe Day)+drEndDate+  = lens _drEndDate (\ s a -> s{_drEndDate = a}) .+      mapping _Date++-- | The start date of the date range, inclusive. A string of the format:+-- \"yyyy-MM-dd\".+drStartDate :: Lens' DateRange (Maybe Day)+drStartDate+  = lens _drStartDate (\ s a -> s{_drStartDate = a}) .+      mapping _Date++-- | The date range relative to the date of when the report is run.+drRelativeDateRange :: Lens' DateRange (Maybe DateRangeRelativeDateRange)+drRelativeDateRange+  = lens _drRelativeDateRange+      (\ s a -> s{_drRelativeDateRange = a})++instance FromJSON DateRange where+        parseJSON+          = withObject "DateRange"+              (\ o ->+                 DateRange <$>+                   (o .:? "kind" .!= "dfareporting#dateRange") <*>+                     (o .:? "endDate")+                     <*> (o .:? "startDate")+                     <*> (o .:? "relativeDateRange"))++instance ToJSON DateRange where+        toJSON DateRange{..}+          = object+              (catMaybes+                 [Just ("kind" .= _drKind),+                  ("endDate" .=) <$> _drEndDate,+                  ("startDate" .=) <$> _drStartDate,+                  ("relativeDateRange" .=) <$> _drRelativeDateRange])++-- | Represents a Report resource.+--+-- /See:/ 'report' smart constructor.+data Report = Report+    { _rDelivery                    :: !(Maybe ReportDelivery)+    , _rEtag                        :: !(Maybe Text)+    , _rOwnerProFileId              :: !(Maybe (Textual Int64))+    , _rSchedule                    :: !(Maybe ReportSchedule)+    , _rPathToConversionCriteria    :: !(Maybe ReportPathToConversionCriteria)+    , _rKind                        :: !Text+    , _rFormat                      :: !(Maybe ReportFormat)+    , _rReachCriteria               :: !(Maybe ReportReachCriteria)+    , _rLastModifiedTime            :: !(Maybe (Textual Word64))+    , _rAccountId                   :: !(Maybe (Textual Int64))+    , _rName                        :: !(Maybe Text)+    , _rId                          :: !(Maybe (Textual Int64))+    , _rCrossDimensionReachCriteria :: !(Maybe ReportCrossDimensionReachCriteria)+    , _rType                        :: !(Maybe ReportType)+    , _rSubAccountId                :: !(Maybe (Textual Int64))+    , _rFloodlightCriteria          :: !(Maybe ReportFloodlightCriteria)+    , _rCriteria                    :: !(Maybe ReportCriteria)+    , _rFileName                    :: !(Maybe Text)+    } 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:+--+-- * 'rDelivery'+--+-- * 'rEtag'+--+-- * 'rOwnerProFileId'+--+-- * 'rSchedule'+--+-- * 'rPathToConversionCriteria'+--+-- * 'rKind'+--+-- * 'rFormat'+--+-- * 'rReachCriteria'+--+-- * 'rLastModifiedTime'+--+-- * 'rAccountId'+--+-- * 'rName'+--+-- * 'rId'+--+-- * 'rCrossDimensionReachCriteria'+--+-- * 'rType'+--+-- * 'rSubAccountId'+--+-- * 'rFloodlightCriteria'+--+-- * 'rCriteria'+--+-- * 'rFileName'+report+    :: Report+report =+    Report+    { _rDelivery = Nothing+    , _rEtag = Nothing+    , _rOwnerProFileId = Nothing+    , _rSchedule = Nothing+    , _rPathToConversionCriteria = Nothing+    , _rKind = "dfareporting#report"+    , _rFormat = Nothing+    , _rReachCriteria = Nothing+    , _rLastModifiedTime = Nothing+    , _rAccountId = Nothing+    , _rName = Nothing+    , _rId = Nothing+    , _rCrossDimensionReachCriteria = Nothing+    , _rType = Nothing+    , _rSubAccountId = Nothing+    , _rFloodlightCriteria = Nothing+    , _rCriteria = Nothing+    , _rFileName = Nothing+    }++-- | The report\'s email delivery settings.+rDelivery :: Lens' Report (Maybe ReportDelivery)+rDelivery+  = lens _rDelivery (\ s a -> s{_rDelivery = a})++-- | The eTag of this response for caching purposes.+rEtag :: Lens' Report (Maybe Text)+rEtag = lens _rEtag (\ s a -> s{_rEtag = a})++-- | The user profile id of the owner of this report.+rOwnerProFileId :: Lens' Report (Maybe Int64)+rOwnerProFileId+  = lens _rOwnerProFileId+      (\ s a -> s{_rOwnerProFileId = a})+      . mapping _Coerce++-- | The report\'s schedule. Can only be set if the report\'s \'dateRange\'+-- is a relative date range and the relative date range is not \"TODAY\".+rSchedule :: Lens' Report (Maybe ReportSchedule)+rSchedule+  = lens _rSchedule (\ s a -> s{_rSchedule = a})++-- | The report criteria for a report of type \"PATH_TO_CONVERSION\".+rPathToConversionCriteria :: Lens' Report (Maybe ReportPathToConversionCriteria)+rPathToConversionCriteria+  = lens _rPathToConversionCriteria+      (\ s a -> s{_rPathToConversionCriteria = a})++-- | The kind of resource this is, in this case dfareporting#report.+rKind :: Lens' Report Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | The output format of the report. If not specified, default format is+-- \"CSV\". Note that the actual format in the completed report file might+-- differ if for instance the report\'s size exceeds the format\'s+-- capabilities. \"CSV\" will then be the fallback format.+rFormat :: Lens' Report (Maybe ReportFormat)+rFormat = lens _rFormat (\ s a -> s{_rFormat = a})++-- | The report criteria for a report of type \"REACH\".+rReachCriteria :: Lens' Report (Maybe ReportReachCriteria)+rReachCriteria+  = lens _rReachCriteria+      (\ s a -> s{_rReachCriteria = a})++-- | The timestamp (in milliseconds since epoch) of when this report was last+-- modified.+rLastModifiedTime :: Lens' Report (Maybe Word64)+rLastModifiedTime+  = lens _rLastModifiedTime+      (\ s a -> s{_rLastModifiedTime = a})+      . mapping _Coerce++-- | The account ID to which this report belongs.+rAccountId :: Lens' Report (Maybe Int64)+rAccountId+  = lens _rAccountId (\ s a -> s{_rAccountId = a}) .+      mapping _Coerce++-- | The name of the report.+rName :: Lens' Report (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a})++-- | The unique ID identifying this report resource.+rId :: Lens' Report (Maybe Int64)+rId+  = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce++-- | The report criteria for a report of type \"CROSS_DIMENSION_REACH\".+rCrossDimensionReachCriteria :: Lens' Report (Maybe ReportCrossDimensionReachCriteria)+rCrossDimensionReachCriteria+  = lens _rCrossDimensionReachCriteria+      (\ s a -> s{_rCrossDimensionReachCriteria = a})++-- | The type of the report.+rType :: Lens' Report (Maybe ReportType)+rType = lens _rType (\ s a -> s{_rType = a})++-- | The subaccount ID to which this report belongs if applicable.+rSubAccountId :: Lens' Report (Maybe Int64)+rSubAccountId+  = lens _rSubAccountId+      (\ s a -> s{_rSubAccountId = a})+      . mapping _Coerce++-- | The report criteria for a report of type \"FLOODLIGHT\".+rFloodlightCriteria :: Lens' Report (Maybe ReportFloodlightCriteria)+rFloodlightCriteria+  = lens _rFloodlightCriteria+      (\ s a -> s{_rFloodlightCriteria = a})++-- | The report criteria for a report of type \"STANDARD\".+rCriteria :: Lens' Report (Maybe ReportCriteria)+rCriteria+  = lens _rCriteria (\ s a -> s{_rCriteria = a})++-- | The filename used when generating report files for this report.+rFileName :: Lens' Report (Maybe Text)+rFileName+  = lens _rFileName (\ s a -> s{_rFileName = a})++instance FromJSON Report where+        parseJSON+          = withObject "Report"+              (\ o ->+                 Report <$>+                   (o .:? "delivery") <*> (o .:? "etag") <*>+                     (o .:? "ownerProfileId")+                     <*> (o .:? "schedule")+                     <*> (o .:? "pathToConversionCriteria")+                     <*> (o .:? "kind" .!= "dfareporting#report")+                     <*> (o .:? "format")+                     <*> (o .:? "reachCriteria")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "crossDimensionReachCriteria")+                     <*> (o .:? "type")+                     <*> (o .:? "subAccountId")+                     <*> (o .:? "floodlightCriteria")+                     <*> (o .:? "criteria")+                     <*> (o .:? "fileName"))++instance ToJSON Report where+        toJSON Report{..}+          = object+              (catMaybes+                 [("delivery" .=) <$> _rDelivery,+                  ("etag" .=) <$> _rEtag,+                  ("ownerProfileId" .=) <$> _rOwnerProFileId,+                  ("schedule" .=) <$> _rSchedule,+                  ("pathToConversionCriteria" .=) <$>+                    _rPathToConversionCriteria,+                  Just ("kind" .= _rKind), ("format" .=) <$> _rFormat,+                  ("reachCriteria" .=) <$> _rReachCriteria,+                  ("lastModifiedTime" .=) <$> _rLastModifiedTime,+                  ("accountId" .=) <$> _rAccountId,+                  ("name" .=) <$> _rName, ("id" .=) <$> _rId,+                  ("crossDimensionReachCriteria" .=) <$>+                    _rCrossDimensionReachCriteria,+                  ("type" .=) <$> _rType,+                  ("subAccountId" .=) <$> _rSubAccountId,+                  ("floodlightCriteria" .=) <$> _rFloodlightCriteria,+                  ("criteria" .=) <$> _rCriteria,+                  ("fileName" .=) <$> _rFileName])++-- | Contains properties of a DCM campaign.+--+-- /See:/ 'campaign' smart constructor.+data Campaign = Campaign+    { _camCreativeOptimizationConfiguration            :: !(Maybe CreativeOptimizationConfiguration)+    , _camCreativeGroupIds                             :: !(Maybe [Textual Int64])+    , _camNielsenOCREnabled                            :: !(Maybe Bool)+    , _camKind                                         :: !Text+    , _camClickThroughURLSuffixProperties              :: !(Maybe ClickThroughURLSuffixProperties)+    , _camAdvertiserId                                 :: !(Maybe (Textual Int64))+    , _camEndDate                                      :: !(Maybe Date')+    , _camAdvertiserIdDimensionValue                   :: !(Maybe DimensionValue)+    , _camIdDimensionValue                             :: !(Maybe DimensionValue)+    , _camEventTagOverrides                            :: !(Maybe [EventTagOverride])+    , _camLookbackConfiguration                        :: !(Maybe LookbackConfiguration)+    , _camStartDate                                    :: !(Maybe Date')+    , _camAccountId                                    :: !(Maybe (Textual Int64))+    , _camComscoreVceEnabled                           :: !(Maybe Bool)+    , _camName                                         :: !(Maybe Text)+    , _camAdvertiserGroupId                            :: !(Maybe (Textual Int64))+    , _camBillingInvoiceCode                           :: !(Maybe Text)+    , _camCreateInfo                                   :: !(Maybe LastModifiedInfo)+    , _camLastModifiedInfo                             :: !(Maybe LastModifiedInfo)+    , _camId                                           :: !(Maybe (Textual Int64))+    , _camSubAccountId                                 :: !(Maybe (Textual Int64))+    , _camAdditionalCreativeOptimizationConfigurations :: !(Maybe [CreativeOptimizationConfiguration])+    , _camExternalId                                   :: !(Maybe Text)+    , _camComment                                      :: !(Maybe Text)+    , _camAudienceSegmentGroups                        :: !(Maybe [AudienceSegmentGroup])+    , _camArchived                                     :: !(Maybe Bool)+    , _camTraffickerEmails                             :: !(Maybe [Text])+    , _camDefaultClickThroughEventTagProperties        :: !(Maybe DefaultClickThroughEventTagProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Campaign' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'camCreativeOptimizationConfiguration'+--+-- * 'camCreativeGroupIds'+--+-- * 'camNielsenOCREnabled'+--+-- * 'camKind'+--+-- * 'camClickThroughURLSuffixProperties'+--+-- * 'camAdvertiserId'+--+-- * 'camEndDate'+--+-- * 'camAdvertiserIdDimensionValue'+--+-- * 'camIdDimensionValue'+--+-- * 'camEventTagOverrides'+--+-- * 'camLookbackConfiguration'+--+-- * 'camStartDate'+--+-- * 'camAccountId'+--+-- * 'camComscoreVceEnabled'+--+-- * 'camName'+--+-- * 'camAdvertiserGroupId'+--+-- * 'camBillingInvoiceCode'+--+-- * 'camCreateInfo'+--+-- * 'camLastModifiedInfo'+--+-- * 'camId'+--+-- * 'camSubAccountId'+--+-- * 'camAdditionalCreativeOptimizationConfigurations'+--+-- * 'camExternalId'+--+-- * 'camComment'+--+-- * 'camAudienceSegmentGroups'+--+-- * 'camArchived'+--+-- * 'camTraffickerEmails'+--+-- * 'camDefaultClickThroughEventTagProperties'+campaign+    :: Campaign+campaign =+    Campaign+    { _camCreativeOptimizationConfiguration = Nothing+    , _camCreativeGroupIds = Nothing+    , _camNielsenOCREnabled = Nothing+    , _camKind = "dfareporting#campaign"+    , _camClickThroughURLSuffixProperties = Nothing+    , _camAdvertiserId = Nothing+    , _camEndDate = Nothing+    , _camAdvertiserIdDimensionValue = Nothing+    , _camIdDimensionValue = Nothing+    , _camEventTagOverrides = Nothing+    , _camLookbackConfiguration = Nothing+    , _camStartDate = Nothing+    , _camAccountId = Nothing+    , _camComscoreVceEnabled = Nothing+    , _camName = Nothing+    , _camAdvertiserGroupId = Nothing+    , _camBillingInvoiceCode = Nothing+    , _camCreateInfo = Nothing+    , _camLastModifiedInfo = Nothing+    , _camId = Nothing+    , _camSubAccountId = Nothing+    , _camAdditionalCreativeOptimizationConfigurations = Nothing+    , _camExternalId = Nothing+    , _camComment = Nothing+    , _camAudienceSegmentGroups = Nothing+    , _camArchived = Nothing+    , _camTraffickerEmails = Nothing+    , _camDefaultClickThroughEventTagProperties = Nothing+    }++-- | Creative optimization configuration for the campaign.+camCreativeOptimizationConfiguration :: Lens' Campaign (Maybe CreativeOptimizationConfiguration)+camCreativeOptimizationConfiguration+  = lens _camCreativeOptimizationConfiguration+      (\ s a ->+         s{_camCreativeOptimizationConfiguration = a})++-- | List of creative group IDs that are assigned to the campaign.+camCreativeGroupIds :: Lens' Campaign [Int64]+camCreativeGroupIds+  = lens _camCreativeGroupIds+      (\ s a -> s{_camCreativeGroupIds = a})+      . _Default+      . _Coerce++-- | Whether Nielsen reports are enabled for this campaign.+camNielsenOCREnabled :: Lens' Campaign (Maybe Bool)+camNielsenOCREnabled+  = lens _camNielsenOCREnabled+      (\ s a -> s{_camNielsenOCREnabled = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#campaign\".+camKind :: Lens' Campaign Text+camKind = lens _camKind (\ s a -> s{_camKind = a})++-- | Click-through URL suffix override properties for this campaign.+camClickThroughURLSuffixProperties :: Lens' Campaign (Maybe ClickThroughURLSuffixProperties)+camClickThroughURLSuffixProperties+  = lens _camClickThroughURLSuffixProperties+      (\ s a -> s{_camClickThroughURLSuffixProperties = a})++-- | Advertiser ID of this campaign. This is a required field.+camAdvertiserId :: Lens' Campaign (Maybe Int64)+camAdvertiserId+  = lens _camAdvertiserId+      (\ s a -> s{_camAdvertiserId = a})+      . mapping _Coerce++-- | Date on which the campaign will stop running. On insert, the end date+-- must be today or a future date. The end date must be later than or be+-- the same as the start date. If, for example, you set 6\/25\/2015 as both+-- the start and end dates, the effective campaign run date is just that+-- day only, 6\/25\/2015. The hours, minutes, and seconds of the end date+-- should not be set, as doing so will result in an error. This is a+-- required field.+camEndDate :: Lens' Campaign (Maybe Day)+camEndDate+  = lens _camEndDate (\ s a -> s{_camEndDate = a}) .+      mapping _Date++-- | Dimension value for the advertiser ID of this campaign. This is a+-- read-only, auto-generated field.+camAdvertiserIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)+camAdvertiserIdDimensionValue+  = lens _camAdvertiserIdDimensionValue+      (\ s a -> s{_camAdvertiserIdDimensionValue = a})++-- | Dimension value for the ID of this campaign. This is a read-only,+-- auto-generated field.+camIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)+camIdDimensionValue+  = lens _camIdDimensionValue+      (\ s a -> s{_camIdDimensionValue = a})++-- | Overrides that can be used to activate or deactivate advertiser event+-- tags.+camEventTagOverrides :: Lens' Campaign [EventTagOverride]+camEventTagOverrides+  = lens _camEventTagOverrides+      (\ s a -> s{_camEventTagOverrides = a})+      . _Default+      . _Coerce++-- | Lookback window settings for the campaign.+camLookbackConfiguration :: Lens' Campaign (Maybe LookbackConfiguration)+camLookbackConfiguration+  = lens _camLookbackConfiguration+      (\ s a -> s{_camLookbackConfiguration = a})++-- | Date on which the campaign starts running. The start date can be any+-- date. The hours, minutes, and seconds of the start date should not be+-- set, as doing so will result in an error. This is a required field.+camStartDate :: Lens' Campaign (Maybe Day)+camStartDate+  = lens _camStartDate (\ s a -> s{_camStartDate = a})+      . mapping _Date++-- | Account ID of this campaign. This is a read-only field that can be left+-- blank.+camAccountId :: Lens' Campaign (Maybe Int64)+camAccountId+  = lens _camAccountId (\ s a -> s{_camAccountId = a})+      . mapping _Coerce++-- | Whether comScore vCE reports are enabled for this campaign.+camComscoreVceEnabled :: Lens' Campaign (Maybe Bool)+camComscoreVceEnabled+  = lens _camComscoreVceEnabled+      (\ s a -> s{_camComscoreVceEnabled = a})++-- | Name of this campaign. This is a required field and must be less than+-- 256 characters long and unique among campaigns of the same advertiser.+camName :: Lens' Campaign (Maybe Text)+camName = lens _camName (\ s a -> s{_camName = a})++-- | Advertiser group ID of the associated advertiser.+camAdvertiserGroupId :: Lens' Campaign (Maybe Int64)+camAdvertiserGroupId+  = lens _camAdvertiserGroupId+      (\ s a -> s{_camAdvertiserGroupId = a})+      . mapping _Coerce++-- | Billing invoice code included in the DCM client billing invoices+-- associated with the campaign.+camBillingInvoiceCode :: Lens' Campaign (Maybe Text)+camBillingInvoiceCode+  = lens _camBillingInvoiceCode+      (\ s a -> s{_camBillingInvoiceCode = a})++-- | Information about the creation of this campaign. This is a read-only+-- field.+camCreateInfo :: Lens' Campaign (Maybe LastModifiedInfo)+camCreateInfo+  = lens _camCreateInfo+      (\ s a -> s{_camCreateInfo = a})++-- | Information about the most recent modification of this campaign. This is+-- a read-only field.+camLastModifiedInfo :: Lens' Campaign (Maybe LastModifiedInfo)+camLastModifiedInfo+  = lens _camLastModifiedInfo+      (\ s a -> s{_camLastModifiedInfo = a})++-- | ID of this campaign. This is a read-only auto-generated field.+camId :: Lens' Campaign (Maybe Int64)+camId+  = lens _camId (\ s a -> s{_camId = a}) .+      mapping _Coerce++-- | Subaccount ID of this campaign. This is a read-only field that can be+-- left blank.+camSubAccountId :: Lens' Campaign (Maybe Int64)+camSubAccountId+  = lens _camSubAccountId+      (\ s a -> s{_camSubAccountId = a})+      . mapping _Coerce++-- | Additional creative optimization configurations for the campaign.+camAdditionalCreativeOptimizationConfigurations :: Lens' Campaign [CreativeOptimizationConfiguration]+camAdditionalCreativeOptimizationConfigurations+  = lens+      _camAdditionalCreativeOptimizationConfigurations+      (\ s a ->+         s{_camAdditionalCreativeOptimizationConfigurations =+             a})+      . _Default+      . _Coerce++-- | External ID for this campaign.+camExternalId :: Lens' Campaign (Maybe Text)+camExternalId+  = lens _camExternalId+      (\ s a -> s{_camExternalId = a})++-- | Arbitrary comments about this campaign. Must be less than 256 characters+-- long.+camComment :: Lens' Campaign (Maybe Text)+camComment+  = lens _camComment (\ s a -> s{_camComment = a})++-- | Audience segment groups assigned to this campaign. Cannot have more than+-- 300 segment groups.+camAudienceSegmentGroups :: Lens' Campaign [AudienceSegmentGroup]+camAudienceSegmentGroups+  = lens _camAudienceSegmentGroups+      (\ s a -> s{_camAudienceSegmentGroups = a})+      . _Default+      . _Coerce++-- | Whether this campaign has been archived.+camArchived :: Lens' Campaign (Maybe Bool)+camArchived+  = lens _camArchived (\ s a -> s{_camArchived = a})++-- | Campaign trafficker contact emails.+camTraffickerEmails :: Lens' Campaign [Text]+camTraffickerEmails+  = lens _camTraffickerEmails+      (\ s a -> s{_camTraffickerEmails = a})+      . _Default+      . _Coerce++-- | Click-through event tag ID override properties for this campaign.+camDefaultClickThroughEventTagProperties :: Lens' Campaign (Maybe DefaultClickThroughEventTagProperties)+camDefaultClickThroughEventTagProperties+  = lens _camDefaultClickThroughEventTagProperties+      (\ s a ->+         s{_camDefaultClickThroughEventTagProperties = a})++instance FromJSON Campaign where+        parseJSON+          = withObject "Campaign"+              (\ o ->+                 Campaign <$>+                   (o .:? "creativeOptimizationConfiguration") <*>+                     (o .:? "creativeGroupIds" .!= mempty)+                     <*> (o .:? "nielsenOcrEnabled")+                     <*> (o .:? "kind" .!= "dfareporting#campaign")+                     <*> (o .:? "clickThroughUrlSuffixProperties")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "endDate")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "eventTagOverrides" .!= mempty)+                     <*> (o .:? "lookbackConfiguration")+                     <*> (o .:? "startDate")+                     <*> (o .:? "accountId")+                     <*> (o .:? "comscoreVceEnabled")+                     <*> (o .:? "name")+                     <*> (o .:? "advertiserGroupId")+                     <*> (o .:? "billingInvoiceCode")+                     <*> (o .:? "createInfo")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*>+                     (o .:? "additionalCreativeOptimizationConfigurations"+                        .!= mempty)+                     <*> (o .:? "externalId")+                     <*> (o .:? "comment")+                     <*> (o .:? "audienceSegmentGroups" .!= mempty)+                     <*> (o .:? "archived")+                     <*> (o .:? "traffickerEmails" .!= mempty)+                     <*> (o .:? "defaultClickThroughEventTagProperties"))++instance ToJSON Campaign where+        toJSON Campaign{..}+          = object+              (catMaybes+                 [("creativeOptimizationConfiguration" .=) <$>+                    _camCreativeOptimizationConfiguration,+                  ("creativeGroupIds" .=) <$> _camCreativeGroupIds,+                  ("nielsenOcrEnabled" .=) <$> _camNielsenOCREnabled,+                  Just ("kind" .= _camKind),+                  ("clickThroughUrlSuffixProperties" .=) <$>+                    _camClickThroughURLSuffixProperties,+                  ("advertiserId" .=) <$> _camAdvertiserId,+                  ("endDate" .=) <$> _camEndDate,+                  ("advertiserIdDimensionValue" .=) <$>+                    _camAdvertiserIdDimensionValue,+                  ("idDimensionValue" .=) <$> _camIdDimensionValue,+                  ("eventTagOverrides" .=) <$> _camEventTagOverrides,+                  ("lookbackConfiguration" .=) <$>+                    _camLookbackConfiguration,+                  ("startDate" .=) <$> _camStartDate,+                  ("accountId" .=) <$> _camAccountId,+                  ("comscoreVceEnabled" .=) <$> _camComscoreVceEnabled,+                  ("name" .=) <$> _camName,+                  ("advertiserGroupId" .=) <$> _camAdvertiserGroupId,+                  ("billingInvoiceCode" .=) <$> _camBillingInvoiceCode,+                  ("createInfo" .=) <$> _camCreateInfo,+                  ("lastModifiedInfo" .=) <$> _camLastModifiedInfo,+                  ("id" .=) <$> _camId,+                  ("subaccountId" .=) <$> _camSubAccountId,+                  ("additionalCreativeOptimizationConfigurations" .=)+                    <$> _camAdditionalCreativeOptimizationConfigurations,+                  ("externalId" .=) <$> _camExternalId,+                  ("comment" .=) <$> _camComment,+                  ("audienceSegmentGroups" .=) <$>+                    _camAudienceSegmentGroups,+                  ("archived" .=) <$> _camArchived,+                  ("traffickerEmails" .=) <$> _camTraffickerEmails,+                  ("defaultClickThroughEventTagProperties" .=) <$>+                    _camDefaultClickThroughEventTagProperties])++-- | Third Party Authentication Token+--+-- /See:/ 'thirdPartyAuthenticationToken' smart constructor.+data ThirdPartyAuthenticationToken = ThirdPartyAuthenticationToken+    { _tpatValue :: !(Maybe Text)+    , _tpatName  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThirdPartyAuthenticationToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpatValue'+--+-- * 'tpatName'+thirdPartyAuthenticationToken+    :: ThirdPartyAuthenticationToken+thirdPartyAuthenticationToken =+    ThirdPartyAuthenticationToken+    { _tpatValue = Nothing+    , _tpatName = Nothing+    }++-- | Value of the third-party authentication token. This is a read-only,+-- auto-generated field.+tpatValue :: Lens' ThirdPartyAuthenticationToken (Maybe Text)+tpatValue+  = lens _tpatValue (\ s a -> s{_tpatValue = a})++-- | Name of the third-party authentication token.+tpatName :: Lens' ThirdPartyAuthenticationToken (Maybe Text)+tpatName = lens _tpatName (\ s a -> s{_tpatName = a})++instance FromJSON ThirdPartyAuthenticationToken where+        parseJSON+          = withObject "ThirdPartyAuthenticationToken"+              (\ o ->+                 ThirdPartyAuthenticationToken <$>+                   (o .:? "value") <*> (o .:? "name"))++instance ToJSON ThirdPartyAuthenticationToken where+        toJSON ThirdPartyAuthenticationToken{..}+          = object+              (catMaybes+                 [("value" .=) <$> _tpatValue,+                  ("name" .=) <$> _tpatName])++-- | Click-through URL+--+-- /See:/ 'clickThroughURL' smart constructor.+data ClickThroughURL = ClickThroughURL+    { _ctuDefaultLandingPage      :: !(Maybe Bool)+    , _ctuComputedClickThroughURL :: !(Maybe Text)+    , _ctuCustomClickThroughURL   :: !(Maybe Text)+    , _ctuLandingPageId           :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClickThroughURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctuDefaultLandingPage'+--+-- * 'ctuComputedClickThroughURL'+--+-- * 'ctuCustomClickThroughURL'+--+-- * 'ctuLandingPageId'+clickThroughURL+    :: ClickThroughURL+clickThroughURL =+    ClickThroughURL+    { _ctuDefaultLandingPage = Nothing+    , _ctuComputedClickThroughURL = Nothing+    , _ctuCustomClickThroughURL = Nothing+    , _ctuLandingPageId = Nothing+    }++-- | Whether the campaign default landing page is used.+ctuDefaultLandingPage :: Lens' ClickThroughURL (Maybe Bool)+ctuDefaultLandingPage+  = lens _ctuDefaultLandingPage+      (\ s a -> s{_ctuDefaultLandingPage = a})++-- | Read-only convenience field representing the actual URL that will be+-- used for this click-through. The URL is computed as follows: - If+-- defaultLandingPage is enabled then the campaign\'s default landing page+-- URL is assigned to this field. - If defaultLandingPage is not enabled+-- and a landingPageId is specified then that landing page\'s URL is+-- assigned to this field. - If neither of the above cases apply, then the+-- customClickThroughUrl is assigned to this field.+ctuComputedClickThroughURL :: Lens' ClickThroughURL (Maybe Text)+ctuComputedClickThroughURL+  = lens _ctuComputedClickThroughURL+      (\ s a -> s{_ctuComputedClickThroughURL = a})++-- | Custom click-through URL. Applicable if the defaultLandingPage field is+-- set to false and the landingPageId field is left unset.+ctuCustomClickThroughURL :: Lens' ClickThroughURL (Maybe Text)+ctuCustomClickThroughURL+  = lens _ctuCustomClickThroughURL+      (\ s a -> s{_ctuCustomClickThroughURL = a})++-- | ID of the landing page for the click-through URL. Applicable if the+-- defaultLandingPage field is set to false.+ctuLandingPageId :: Lens' ClickThroughURL (Maybe Int64)+ctuLandingPageId+  = lens _ctuLandingPageId+      (\ s a -> s{_ctuLandingPageId = a})+      . mapping _Coerce++instance FromJSON ClickThroughURL where+        parseJSON+          = withObject "ClickThroughURL"+              (\ o ->+                 ClickThroughURL <$>+                   (o .:? "defaultLandingPage") <*>+                     (o .:? "computedClickThroughUrl")+                     <*> (o .:? "customClickThroughUrl")+                     <*> (o .:? "landingPageId"))++instance ToJSON ClickThroughURL where+        toJSON ClickThroughURL{..}+          = object+              (catMaybes+                 [("defaultLandingPage" .=) <$>+                    _ctuDefaultLandingPage,+                  ("computedClickThroughUrl" .=) <$>+                    _ctuComputedClickThroughURL,+                  ("customClickThroughUrl" .=) <$>+                    _ctuCustomClickThroughURL,+                  ("landingPageId" .=) <$> _ctuLandingPageId])++-- | Browser List Response+--+-- /See:/ 'browsersListResponse' smart constructor.+data BrowsersListResponse = BrowsersListResponse+    { _blrKind     :: !Text+    , _blrBrowsers :: !(Maybe [Browser])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BrowsersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blrKind'+--+-- * 'blrBrowsers'+browsersListResponse+    :: BrowsersListResponse+browsersListResponse =+    BrowsersListResponse+    { _blrKind = "dfareporting#browsersListResponse"+    , _blrBrowsers = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#browsersListResponse\".+blrKind :: Lens' BrowsersListResponse Text+blrKind = lens _blrKind (\ s a -> s{_blrKind = a})++-- | Browser collection.+blrBrowsers :: Lens' BrowsersListResponse [Browser]+blrBrowsers+  = lens _blrBrowsers (\ s a -> s{_blrBrowsers = a}) .+      _Default+      . _Coerce++instance FromJSON BrowsersListResponse where+        parseJSON+          = withObject "BrowsersListResponse"+              (\ o ->+                 BrowsersListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#browsersListResponse")+                     <*> (o .:? "browsers" .!= mempty))++instance ToJSON BrowsersListResponse where+        toJSON BrowsersListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _blrKind),+                  ("browsers" .=) <$> _blrBrowsers])++-- | Site Settings+--+-- /See:/ 'siteSettings' smart constructor.+data SiteSettings = SiteSettings+    { _ssDisableNewCookie      :: !(Maybe Bool)+    , _ssDisableBrandSafeAds   :: !(Maybe Bool)+    , _ssLookbackConfiguration :: !(Maybe LookbackConfiguration)+    , _ssTagSetting            :: !(Maybe TagSetting)+    , _ssActiveViewOptOut      :: !(Maybe Bool)+    , _ssCreativeSettings      :: !(Maybe CreativeSettings)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SiteSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssDisableNewCookie'+--+-- * 'ssDisableBrandSafeAds'+--+-- * 'ssLookbackConfiguration'+--+-- * 'ssTagSetting'+--+-- * 'ssActiveViewOptOut'+--+-- * 'ssCreativeSettings'+siteSettings+    :: SiteSettings+siteSettings =+    SiteSettings+    { _ssDisableNewCookie = Nothing+    , _ssDisableBrandSafeAds = Nothing+    , _ssLookbackConfiguration = Nothing+    , _ssTagSetting = Nothing+    , _ssActiveViewOptOut = Nothing+    , _ssCreativeSettings = Nothing+    }++-- | Whether new cookies are disabled for this site.+ssDisableNewCookie :: Lens' SiteSettings (Maybe Bool)+ssDisableNewCookie+  = lens _ssDisableNewCookie+      (\ s a -> s{_ssDisableNewCookie = a})++-- | Whether brand safe ads are disabled for this site.+ssDisableBrandSafeAds :: Lens' SiteSettings (Maybe Bool)+ssDisableBrandSafeAds+  = lens _ssDisableBrandSafeAds+      (\ s a -> s{_ssDisableBrandSafeAds = a})++-- | Lookback window settings for this site.+ssLookbackConfiguration :: Lens' SiteSettings (Maybe LookbackConfiguration)+ssLookbackConfiguration+  = lens _ssLookbackConfiguration+      (\ s a -> s{_ssLookbackConfiguration = a})++-- | Configuration settings for dynamic and image floodlight tags.+ssTagSetting :: Lens' SiteSettings (Maybe TagSetting)+ssTagSetting+  = lens _ssTagSetting (\ s a -> s{_ssTagSetting = a})++-- | Whether active view creatives are disabled for this site.+ssActiveViewOptOut :: Lens' SiteSettings (Maybe Bool)+ssActiveViewOptOut+  = lens _ssActiveViewOptOut+      (\ s a -> s{_ssActiveViewOptOut = a})++-- | Site-wide creative settings.+ssCreativeSettings :: Lens' SiteSettings (Maybe CreativeSettings)+ssCreativeSettings+  = lens _ssCreativeSettings+      (\ s a -> s{_ssCreativeSettings = a})++instance FromJSON SiteSettings where+        parseJSON+          = withObject "SiteSettings"+              (\ o ->+                 SiteSettings <$>+                   (o .:? "disableNewCookie") <*>+                     (o .:? "disableBrandSafeAds")+                     <*> (o .:? "lookbackConfiguration")+                     <*> (o .:? "tagSetting")+                     <*> (o .:? "activeViewOptOut")+                     <*> (o .:? "creativeSettings"))++instance ToJSON SiteSettings where+        toJSON SiteSettings{..}+          = object+              (catMaybes+                 [("disableNewCookie" .=) <$> _ssDisableNewCookie,+                  ("disableBrandSafeAds" .=) <$>+                    _ssDisableBrandSafeAds,+                  ("lookbackConfiguration" .=) <$>+                    _ssLookbackConfiguration,+                  ("tagSetting" .=) <$> _ssTagSetting,+                  ("activeViewOptOut" .=) <$> _ssActiveViewOptOut,+                  ("creativeSettings" .=) <$> _ssCreativeSettings])++-- | Content Category List Response+--+-- /See:/ 'contentCategoriesListResponse' smart constructor.+data ContentCategoriesListResponse = ContentCategoriesListResponse+    { _cclrNextPageToken     :: !(Maybe Text)+    , _cclrKind              :: !Text+    , _cclrContentCategories :: !(Maybe [ContentCategory])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cclrNextPageToken'+--+-- * 'cclrKind'+--+-- * 'cclrContentCategories'+contentCategoriesListResponse+    :: ContentCategoriesListResponse+contentCategoriesListResponse =+    ContentCategoriesListResponse+    { _cclrNextPageToken = Nothing+    , _cclrKind = "dfareporting#contentCategoriesListResponse"+    , _cclrContentCategories = Nothing+    }++-- | Pagination token to be used for the next list operation.+cclrNextPageToken :: Lens' ContentCategoriesListResponse (Maybe Text)+cclrNextPageToken+  = lens _cclrNextPageToken+      (\ s a -> s{_cclrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#contentCategoriesListResponse\".+cclrKind :: Lens' ContentCategoriesListResponse Text+cclrKind = lens _cclrKind (\ s a -> s{_cclrKind = a})++-- | Content category collection.+cclrContentCategories :: Lens' ContentCategoriesListResponse [ContentCategory]+cclrContentCategories+  = lens _cclrContentCategories+      (\ s a -> s{_cclrContentCategories = a})+      . _Default+      . _Coerce++instance FromJSON ContentCategoriesListResponse where+        parseJSON+          = withObject "ContentCategoriesListResponse"+              (\ o ->+                 ContentCategoriesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#contentCategoriesListResponse")+                     <*> (o .:? "contentCategories" .!= mempty))++instance ToJSON ContentCategoriesListResponse where+        toJSON ContentCategoriesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cclrNextPageToken,+                  Just ("kind" .= _cclrKind),+                  ("contentCategories" .=) <$> _cclrContentCategories])++-- | Creative List Response+--+-- /See:/ 'creativesListResponse' smart constructor.+data CreativesListResponse = CreativesListResponse+    { _clrlNextPageToken :: !(Maybe Text)+    , _clrlKind          :: !Text+    , _clrlCreatives     :: !(Maybe [Creative])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clrlNextPageToken'+--+-- * 'clrlKind'+--+-- * 'clrlCreatives'+creativesListResponse+    :: CreativesListResponse+creativesListResponse =+    CreativesListResponse+    { _clrlNextPageToken = Nothing+    , _clrlKind = "dfareporting#creativesListResponse"+    , _clrlCreatives = Nothing+    }++-- | Pagination token to be used for the next list operation.+clrlNextPageToken :: Lens' CreativesListResponse (Maybe Text)+clrlNextPageToken+  = lens _clrlNextPageToken+      (\ s a -> s{_clrlNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativesListResponse\".+clrlKind :: Lens' CreativesListResponse Text+clrlKind = lens _clrlKind (\ s a -> s{_clrlKind = a})++-- | Creative collection.+clrlCreatives :: Lens' CreativesListResponse [Creative]+clrlCreatives+  = lens _clrlCreatives+      (\ s a -> s{_clrlCreatives = a})+      . _Default+      . _Coerce++instance FromJSON CreativesListResponse where+        parseJSON+          = withObject "CreativesListResponse"+              (\ o ->+                 CreativesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#creativesListResponse")+                     <*> (o .:? "creatives" .!= mempty))++instance ToJSON CreativesListResponse where+        toJSON CreativesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _clrlNextPageToken,+                  Just ("kind" .= _clrlKind),+                  ("creatives" .=) <$> _clrlCreatives])++-- | Contains properties of a DCM account.+--+-- /See:/ 'account' smart constructor.+data Account = Account+    { _aaAccountPermissionIds   :: !(Maybe [Textual Int64])+    , _aaMaximumImageSize       :: !(Maybe (Textual Int64))+    , _aaCurrencyId             :: !(Maybe (Textual Int64))+    , _aaReportsConfiguration   :: !(Maybe ReportsConfiguration)+    , _aaNielsenOCREnabled      :: !(Maybe Bool)+    , _aaKind                   :: !Text+    , _aaLocale                 :: !(Maybe Text)+    , _aaActive                 :: !(Maybe Bool)+    , _aaAvailablePermissionIds :: !(Maybe [Textual Int64])+    , _aaTeaserSizeLimit        :: !(Maybe (Textual Int64))+    , _aaComscoreVceEnabled     :: !(Maybe Bool)+    , _aaActiveViewOptOut       :: !(Maybe Bool)+    , _aaName                   :: !(Maybe Text)+    , _aaAccountProFile         :: !(Maybe AccountAccountProFile)+    , _aaId                     :: !(Maybe (Textual Int64))+    , _aaCountryId              :: !(Maybe (Textual Int64))+    , _aaActiveAdsLimitTier     :: !(Maybe AccountActiveAdsLimitTier)+    , _aaDefaultCreativeSizeId  :: !(Maybe (Textual Int64))+    , _aaDescription            :: !(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:+--+-- * 'aaAccountPermissionIds'+--+-- * 'aaMaximumImageSize'+--+-- * 'aaCurrencyId'+--+-- * 'aaReportsConfiguration'+--+-- * 'aaNielsenOCREnabled'+--+-- * 'aaKind'+--+-- * 'aaLocale'+--+-- * 'aaActive'+--+-- * 'aaAvailablePermissionIds'+--+-- * 'aaTeaserSizeLimit'+--+-- * 'aaComscoreVceEnabled'+--+-- * 'aaActiveViewOptOut'+--+-- * 'aaName'+--+-- * 'aaAccountProFile'+--+-- * 'aaId'+--+-- * 'aaCountryId'+--+-- * 'aaActiveAdsLimitTier'+--+-- * 'aaDefaultCreativeSizeId'+--+-- * 'aaDescription'+account+    :: Account+account =+    Account+    { _aaAccountPermissionIds = Nothing+    , _aaMaximumImageSize = Nothing+    , _aaCurrencyId = Nothing+    , _aaReportsConfiguration = Nothing+    , _aaNielsenOCREnabled = Nothing+    , _aaKind = "dfareporting#account"+    , _aaLocale = Nothing+    , _aaActive = Nothing+    , _aaAvailablePermissionIds = Nothing+    , _aaTeaserSizeLimit = Nothing+    , _aaComscoreVceEnabled = Nothing+    , _aaActiveViewOptOut = Nothing+    , _aaName = Nothing+    , _aaAccountProFile = Nothing+    , _aaId = Nothing+    , _aaCountryId = Nothing+    , _aaActiveAdsLimitTier = Nothing+    , _aaDefaultCreativeSizeId = Nothing+    , _aaDescription = Nothing+    }++-- | Account permissions assigned to this account.+aaAccountPermissionIds :: Lens' Account [Int64]+aaAccountPermissionIds+  = lens _aaAccountPermissionIds+      (\ s a -> s{_aaAccountPermissionIds = a})+      . _Default+      . _Coerce++-- | Maximum image size allowed for this account.+aaMaximumImageSize :: Lens' Account (Maybe Int64)+aaMaximumImageSize+  = lens _aaMaximumImageSize+      (\ s a -> s{_aaMaximumImageSize = a})+      . mapping _Coerce++-- | ID of currency associated with this account. This is a required field.+-- Acceptable values are: - \"1\" for USD - \"2\" for GBP - \"3\" for ESP -+-- \"4\" for SEK - \"5\" for CAD - \"6\" for JPY - \"7\" for DEM - \"8\"+-- for AUD - \"9\" for FRF - \"10\" for ITL - \"11\" for DKK - \"12\" for+-- NOK - \"13\" for FIM - \"14\" for ZAR - \"15\" for IEP - \"16\" for NLG+-- - \"17\" for EUR - \"18\" for KRW - \"19\" for TWD - \"20\" for SGD -+-- \"21\" for CNY - \"22\" for HKD - \"23\" for NZD - \"24\" for MYR -+-- \"25\" for BRL - \"26\" for PTE - \"27\" for MXP - \"28\" for CLP -+-- \"29\" for TRY - \"30\" for ARS - \"31\" for PEN - \"32\" for ILS -+-- \"33\" for CHF - \"34\" for VEF - \"35\" for COP - \"36\" for GTQ+aaCurrencyId :: Lens' Account (Maybe Int64)+aaCurrencyId+  = lens _aaCurrencyId (\ s a -> s{_aaCurrencyId = a})+      . mapping _Coerce++-- | Reporting configuration of this account.+aaReportsConfiguration :: Lens' Account (Maybe ReportsConfiguration)+aaReportsConfiguration+  = lens _aaReportsConfiguration+      (\ s a -> s{_aaReportsConfiguration = a})++-- | Whether campaigns created in this account will be enabled for Nielsen+-- OCR reach ratings by default.+aaNielsenOCREnabled :: Lens' Account (Maybe Bool)+aaNielsenOCREnabled+  = lens _aaNielsenOCREnabled+      (\ s a -> s{_aaNielsenOCREnabled = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#account\".+aaKind :: Lens' Account Text+aaKind = lens _aaKind (\ s a -> s{_aaKind = a})++-- | Locale of this account. Acceptable values are: - \"cs\" (Czech) - \"de\"+-- (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) -+-- \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\"+-- (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese+-- Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) -+-- \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional)+aaLocale :: Lens' Account (Maybe Text)+aaLocale = lens _aaLocale (\ s a -> s{_aaLocale = a})++-- | Whether this account is active.+aaActive :: Lens' Account (Maybe Bool)+aaActive = lens _aaActive (\ s a -> s{_aaActive = a})++-- | User role permissions available to the user roles of this account.+aaAvailablePermissionIds :: Lens' Account [Int64]+aaAvailablePermissionIds+  = lens _aaAvailablePermissionIds+      (\ s a -> s{_aaAvailablePermissionIds = a})+      . _Default+      . _Coerce++-- | File size limit in kilobytes of Rich Media teaser creatives. Must be+-- between 1 and 10240.+aaTeaserSizeLimit :: Lens' Account (Maybe Int64)+aaTeaserSizeLimit+  = lens _aaTeaserSizeLimit+      (\ s a -> s{_aaTeaserSizeLimit = a})+      . mapping _Coerce++-- | Whether campaigns created in this account will be enabled for comScore+-- vCE by default.+aaComscoreVceEnabled :: Lens' Account (Maybe Bool)+aaComscoreVceEnabled+  = lens _aaComscoreVceEnabled+      (\ s a -> s{_aaComscoreVceEnabled = a})++-- | Whether to serve creatives with Active View tags. If disabled,+-- viewability data will not be available for any impressions.+aaActiveViewOptOut :: Lens' Account (Maybe Bool)+aaActiveViewOptOut+  = lens _aaActiveViewOptOut+      (\ s a -> s{_aaActiveViewOptOut = a})++-- | Name of this account. This is a required field, and must be less than+-- 128 characters long and be globally unique.+aaName :: Lens' Account (Maybe Text)+aaName = lens _aaName (\ s a -> s{_aaName = a})++-- | Profile for this account. This is a read-only field that can be left+-- blank.+aaAccountProFile :: Lens' Account (Maybe AccountAccountProFile)+aaAccountProFile+  = lens _aaAccountProFile+      (\ s a -> s{_aaAccountProFile = a})++-- | ID of this account. This is a read-only, auto-generated field.+aaId :: Lens' Account (Maybe Int64)+aaId+  = lens _aaId (\ s a -> s{_aaId = a}) .+      mapping _Coerce++-- | ID of the country associated with this account.+aaCountryId :: Lens' Account (Maybe Int64)+aaCountryId+  = lens _aaCountryId (\ s a -> s{_aaCountryId = a}) .+      mapping _Coerce++-- | Maximum number of active ads allowed for this account.+aaActiveAdsLimitTier :: Lens' Account (Maybe AccountActiveAdsLimitTier)+aaActiveAdsLimitTier+  = lens _aaActiveAdsLimitTier+      (\ s a -> s{_aaActiveAdsLimitTier = a})++-- | Default placement dimensions for this account.+aaDefaultCreativeSizeId :: Lens' Account (Maybe Int64)+aaDefaultCreativeSizeId+  = lens _aaDefaultCreativeSizeId+      (\ s a -> s{_aaDefaultCreativeSizeId = a})+      . mapping _Coerce++-- | Description of this account.+aaDescription :: Lens' Account (Maybe Text)+aaDescription+  = lens _aaDescription+      (\ s a -> s{_aaDescription = a})++instance FromJSON Account where+        parseJSON+          = withObject "Account"+              (\ o ->+                 Account <$>+                   (o .:? "accountPermissionIds" .!= mempty) <*>+                     (o .:? "maximumImageSize")+                     <*> (o .:? "currencyId")+                     <*> (o .:? "reportsConfiguration")+                     <*> (o .:? "nielsenOcrEnabled")+                     <*> (o .:? "kind" .!= "dfareporting#account")+                     <*> (o .:? "locale")+                     <*> (o .:? "active")+                     <*> (o .:? "availablePermissionIds" .!= mempty)+                     <*> (o .:? "teaserSizeLimit")+                     <*> (o .:? "comscoreVceEnabled")+                     <*> (o .:? "activeViewOptOut")+                     <*> (o .:? "name")+                     <*> (o .:? "accountProfile")+                     <*> (o .:? "id")+                     <*> (o .:? "countryId")+                     <*> (o .:? "activeAdsLimitTier")+                     <*> (o .:? "defaultCreativeSizeId")+                     <*> (o .:? "description"))++instance ToJSON Account where+        toJSON Account{..}+          = object+              (catMaybes+                 [("accountPermissionIds" .=) <$>+                    _aaAccountPermissionIds,+                  ("maximumImageSize" .=) <$> _aaMaximumImageSize,+                  ("currencyId" .=) <$> _aaCurrencyId,+                  ("reportsConfiguration" .=) <$>+                    _aaReportsConfiguration,+                  ("nielsenOcrEnabled" .=) <$> _aaNielsenOCREnabled,+                  Just ("kind" .= _aaKind),+                  ("locale" .=) <$> _aaLocale,+                  ("active" .=) <$> _aaActive,+                  ("availablePermissionIds" .=) <$>+                    _aaAvailablePermissionIds,+                  ("teaserSizeLimit" .=) <$> _aaTeaserSizeLimit,+                  ("comscoreVceEnabled" .=) <$> _aaComscoreVceEnabled,+                  ("activeViewOptOut" .=) <$> _aaActiveViewOptOut,+                  ("name" .=) <$> _aaName,+                  ("accountProfile" .=) <$> _aaAccountProFile,+                  ("id" .=) <$> _aaId,+                  ("countryId" .=) <$> _aaCountryId,+                  ("activeAdsLimitTier" .=) <$> _aaActiveAdsLimitTier,+                  ("defaultCreativeSizeId" .=) <$>+                    _aaDefaultCreativeSizeId,+                  ("description" .=) <$> _aaDescription])++-- | Account User Profile List Response+--+-- /See:/ 'accountUserProFilesListResponse' smart constructor.+data AccountUserProFilesListResponse = AccountUserProFilesListResponse+    { _aupflrNextPageToken       :: !(Maybe Text)+    , _aupflrAccountUserProFiles :: !(Maybe [AccountUserProFile])+    , _aupflrKind                :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupflrNextPageToken'+--+-- * 'aupflrAccountUserProFiles'+--+-- * 'aupflrKind'+accountUserProFilesListResponse+    :: AccountUserProFilesListResponse+accountUserProFilesListResponse =+    AccountUserProFilesListResponse+    { _aupflrNextPageToken = Nothing+    , _aupflrAccountUserProFiles = Nothing+    , _aupflrKind = "dfareporting#accountUserProfilesListResponse"+    }++-- | Pagination token to be used for the next list operation.+aupflrNextPageToken :: Lens' AccountUserProFilesListResponse (Maybe Text)+aupflrNextPageToken+  = lens _aupflrNextPageToken+      (\ s a -> s{_aupflrNextPageToken = a})++-- | Account user profile collection.+aupflrAccountUserProFiles :: Lens' AccountUserProFilesListResponse [AccountUserProFile]+aupflrAccountUserProFiles+  = lens _aupflrAccountUserProFiles+      (\ s a -> s{_aupflrAccountUserProFiles = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountUserProfilesListResponse\".+aupflrKind :: Lens' AccountUserProFilesListResponse Text+aupflrKind+  = lens _aupflrKind (\ s a -> s{_aupflrKind = a})++instance FromJSON AccountUserProFilesListResponse+         where+        parseJSON+          = withObject "AccountUserProFilesListResponse"+              (\ o ->+                 AccountUserProFilesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "accountUserProfiles" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#accountUserProfilesListResponse"))++instance ToJSON AccountUserProFilesListResponse where+        toJSON AccountUserProFilesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _aupflrNextPageToken,+                  ("accountUserProfiles" .=) <$>+                    _aupflrAccountUserProFiles,+                  Just ("kind" .= _aupflrKind)])++-- | Organizes placements according to the contents of their associated+-- webpages.+--+-- /See:/ 'contentCategory' smart constructor.+data ContentCategory = ContentCategory+    { _conKind      :: !Text+    , _conAccountId :: !(Maybe (Textual Int64))+    , _conName      :: !(Maybe Text)+    , _conId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'conKind'+--+-- * 'conAccountId'+--+-- * 'conName'+--+-- * 'conId'+contentCategory+    :: ContentCategory+contentCategory =+    ContentCategory+    { _conKind = "dfareporting#contentCategory"+    , _conAccountId = Nothing+    , _conName = Nothing+    , _conId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#contentCategory\".+conKind :: Lens' ContentCategory Text+conKind = lens _conKind (\ s a -> s{_conKind = a})++-- | Account ID of this content category. This is a read-only field that can+-- be left blank.+conAccountId :: Lens' ContentCategory (Maybe Int64)+conAccountId+  = lens _conAccountId (\ s a -> s{_conAccountId = a})+      . mapping _Coerce++-- | Name of this content category. This is a required field and must be less+-- than 256 characters long and unique among content categories of the same+-- account.+conName :: Lens' ContentCategory (Maybe Text)+conName = lens _conName (\ s a -> s{_conName = a})++-- | ID of this content category. This is a read-only, auto-generated field.+conId :: Lens' ContentCategory (Maybe Int64)+conId+  = lens _conId (\ s a -> s{_conId = a}) .+      mapping _Coerce++instance FromJSON ContentCategory where+        parseJSON+          = withObject "ContentCategory"+              (\ o ->+                 ContentCategory <$>+                   (o .:? "kind" .!= "dfareporting#contentCategory") <*>+                     (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON ContentCategory where+        toJSON ContentCategory{..}+          = object+              (catMaybes+                 [Just ("kind" .= _conKind),+                  ("accountId" .=) <$> _conAccountId,+                  ("name" .=) <$> _conName, ("id" .=) <$> _conId])++-- | Represents fields that are compatible to be selected for a report of+-- type \"STANDARD\".+--+-- /See:/ 'reportCompatibleFields' smart constructor.+data ReportCompatibleFields = ReportCompatibleFields+    { _rcfMetrics                :: !(Maybe [Metric])+    , _rcfKind                   :: !Text+    , _rcfDimensionFilters       :: !(Maybe [Dimension])+    , _rcfPivotedActivityMetrics :: !(Maybe [Metric])+    , _rcfDimensions             :: !(Maybe [Dimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportCompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcfMetrics'+--+-- * 'rcfKind'+--+-- * 'rcfDimensionFilters'+--+-- * 'rcfPivotedActivityMetrics'+--+-- * 'rcfDimensions'+reportCompatibleFields+    :: ReportCompatibleFields+reportCompatibleFields =+    ReportCompatibleFields+    { _rcfMetrics = Nothing+    , _rcfKind = "dfareporting#reportCompatibleFields"+    , _rcfDimensionFilters = Nothing+    , _rcfPivotedActivityMetrics = Nothing+    , _rcfDimensions = Nothing+    }++-- | Metrics which are compatible to be selected in the \"metricNames\"+-- section of the report.+rcfMetrics :: Lens' ReportCompatibleFields [Metric]+rcfMetrics+  = lens _rcfMetrics (\ s a -> s{_rcfMetrics = a}) .+      _Default+      . _Coerce++-- | The kind of resource this is, in this case+-- dfareporting#reportCompatibleFields.+rcfKind :: Lens' ReportCompatibleFields Text+rcfKind = lens _rcfKind (\ s a -> s{_rcfKind = a})++-- | Dimensions which are compatible to be selected in the+-- \"dimensionFilters\" section of the report.+rcfDimensionFilters :: Lens' ReportCompatibleFields [Dimension]+rcfDimensionFilters+  = lens _rcfDimensionFilters+      (\ s a -> s{_rcfDimensionFilters = a})+      . _Default+      . _Coerce++-- | Metrics which are compatible to be selected as activity metrics to pivot+-- on in the \"activities\" section of the report.+rcfPivotedActivityMetrics :: Lens' ReportCompatibleFields [Metric]+rcfPivotedActivityMetrics+  = lens _rcfPivotedActivityMetrics+      (\ s a -> s{_rcfPivotedActivityMetrics = a})+      . _Default+      . _Coerce++-- | Dimensions which are compatible to be selected in the \"dimensions\"+-- section of the report.+rcfDimensions :: Lens' ReportCompatibleFields [Dimension]+rcfDimensions+  = lens _rcfDimensions+      (\ s a -> s{_rcfDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReportCompatibleFields where+        parseJSON+          = withObject "ReportCompatibleFields"+              (\ o ->+                 ReportCompatibleFields <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#reportCompatibleFields")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "pivotedActivityMetrics" .!= mempty)+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON ReportCompatibleFields where+        toJSON ReportCompatibleFields{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _rcfMetrics,+                  Just ("kind" .= _rcfKind),+                  ("dimensionFilters" .=) <$> _rcfDimensionFilters,+                  ("pivotedActivityMetrics" .=) <$>+                    _rcfPivotedActivityMetrics,+                  ("dimensions" .=) <$> _rcfDimensions])++-- | Delivery Schedule.+--+-- /See:/ 'deliverySchedule' smart constructor.+data DeliverySchedule = DeliverySchedule+    { _dsHardCutoff      :: !(Maybe Bool)+    , _dsPriority        :: !(Maybe DeliverySchedulePriority)+    , _dsImpressionRatio :: !(Maybe (Textual Int64))+    , _dsFrequencyCap    :: !(Maybe FrequencyCap)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeliverySchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsHardCutoff'+--+-- * 'dsPriority'+--+-- * 'dsImpressionRatio'+--+-- * 'dsFrequencyCap'+deliverySchedule+    :: DeliverySchedule+deliverySchedule =+    DeliverySchedule+    { _dsHardCutoff = Nothing+    , _dsPriority = Nothing+    , _dsImpressionRatio = Nothing+    , _dsFrequencyCap = Nothing+    }++-- | Whether or not hard cutoff is enabled. If true, the ad will not serve+-- after the end date and time. Otherwise the ad will continue to be served+-- until it has reached its delivery goals.+dsHardCutoff :: Lens' DeliverySchedule (Maybe Bool)+dsHardCutoff+  = lens _dsHardCutoff (\ s a -> s{_dsHardCutoff = a})++-- | Serving priority of an ad, with respect to other ads. The lower the+-- priority number, the greater the priority with which it is served.+dsPriority :: Lens' DeliverySchedule (Maybe DeliverySchedulePriority)+dsPriority+  = lens _dsPriority (\ s a -> s{_dsPriority = a})++-- | Impression ratio for this ad. This ratio determines how often each ad is+-- served relative to the others. For example, if ad A has an impression+-- ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad+-- B three times as often as ad A. Must be between 1 and 10.+dsImpressionRatio :: Lens' DeliverySchedule (Maybe Int64)+dsImpressionRatio+  = lens _dsImpressionRatio+      (\ s a -> s{_dsImpressionRatio = a})+      . mapping _Coerce++-- | Limit on the number of times an individual user can be served the ad+-- within a specified period of time.+dsFrequencyCap :: Lens' DeliverySchedule (Maybe FrequencyCap)+dsFrequencyCap+  = lens _dsFrequencyCap+      (\ s a -> s{_dsFrequencyCap = a})++instance FromJSON DeliverySchedule where+        parseJSON+          = withObject "DeliverySchedule"+              (\ o ->+                 DeliverySchedule <$>+                   (o .:? "hardCutoff") <*> (o .:? "priority") <*>+                     (o .:? "impressionRatio")+                     <*> (o .:? "frequencyCap"))++instance ToJSON DeliverySchedule where+        toJSON DeliverySchedule{..}+          = object+              (catMaybes+                 [("hardCutoff" .=) <$> _dsHardCutoff,+                  ("priority" .=) <$> _dsPriority,+                  ("impressionRatio" .=) <$> _dsImpressionRatio,+                  ("frequencyCap" .=) <$> _dsFrequencyCap])++-- | Contains properties of a remarketing list. Remarketing enables you to+-- create lists of users who have performed specific actions on a site,+-- then target ads to members of those lists. This resource can be used to+-- manage remarketing lists that are owned by your advertisers. To see all+-- remarketing lists that are visible to your advertisers, including those+-- that are shared to your advertiser or account, use the+-- TargetableRemarketingLists resource.+--+-- /See:/ 'remarketingList' smart constructor.+data RemarketingList = RemarketingList+    { _rlListSize                   :: !(Maybe (Textual Int64))+    , _rlListPopulationRule         :: !(Maybe ListPopulationRule)+    , _rlLifeSpan                   :: !(Maybe (Textual Int64))+    , _rlKind                       :: !Text+    , _rlAdvertiserId               :: !(Maybe (Textual Int64))+    , _rlAdvertiserIdDimensionValue :: !(Maybe DimensionValue)+    , _rlActive                     :: !(Maybe Bool)+    , _rlAccountId                  :: !(Maybe (Textual Int64))+    , _rlName                       :: !(Maybe Text)+    , _rlListSource                 :: !(Maybe RemarketingListListSource)+    , _rlId                         :: !(Maybe (Textual Int64))+    , _rlSubAccountId               :: !(Maybe (Textual Int64))+    , _rlDescription                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlListSize'+--+-- * 'rlListPopulationRule'+--+-- * 'rlLifeSpan'+--+-- * 'rlKind'+--+-- * 'rlAdvertiserId'+--+-- * 'rlAdvertiserIdDimensionValue'+--+-- * 'rlActive'+--+-- * 'rlAccountId'+--+-- * 'rlName'+--+-- * 'rlListSource'+--+-- * 'rlId'+--+-- * 'rlSubAccountId'+--+-- * 'rlDescription'+remarketingList+    :: RemarketingList+remarketingList =+    RemarketingList+    { _rlListSize = Nothing+    , _rlListPopulationRule = Nothing+    , _rlLifeSpan = Nothing+    , _rlKind = "dfareporting#remarketingList"+    , _rlAdvertiserId = Nothing+    , _rlAdvertiserIdDimensionValue = Nothing+    , _rlActive = Nothing+    , _rlAccountId = Nothing+    , _rlName = Nothing+    , _rlListSource = Nothing+    , _rlId = Nothing+    , _rlSubAccountId = Nothing+    , _rlDescription = Nothing+    }++-- | Number of users currently in the list. This is a read-only field.+rlListSize :: Lens' RemarketingList (Maybe Int64)+rlListSize+  = lens _rlListSize (\ s a -> s{_rlListSize = a}) .+      mapping _Coerce++-- | Rule used to populate the remarketing list with users.+rlListPopulationRule :: Lens' RemarketingList (Maybe ListPopulationRule)+rlListPopulationRule+  = lens _rlListPopulationRule+      (\ s a -> s{_rlListPopulationRule = a})++-- | Number of days that a user should remain in the remarketing list without+-- an impression.+rlLifeSpan :: Lens' RemarketingList (Maybe Int64)+rlLifeSpan+  = lens _rlLifeSpan (\ s a -> s{_rlLifeSpan = a}) .+      mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#remarketingList\".+rlKind :: Lens' RemarketingList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | Dimension value for the advertiser ID that owns this remarketing list.+-- This is a required field.+rlAdvertiserId :: Lens' RemarketingList (Maybe Int64)+rlAdvertiserId+  = lens _rlAdvertiserId+      (\ s a -> s{_rlAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+rlAdvertiserIdDimensionValue :: Lens' RemarketingList (Maybe DimensionValue)+rlAdvertiserIdDimensionValue+  = lens _rlAdvertiserIdDimensionValue+      (\ s a -> s{_rlAdvertiserIdDimensionValue = a})++-- | Whether this remarketing list is active.+rlActive :: Lens' RemarketingList (Maybe Bool)+rlActive = lens _rlActive (\ s a -> s{_rlActive = a})++-- | Account ID of this remarketing list. This is a read-only, auto-generated+-- field that is only returned in GET requests.+rlAccountId :: Lens' RemarketingList (Maybe Int64)+rlAccountId+  = lens _rlAccountId (\ s a -> s{_rlAccountId = a}) .+      mapping _Coerce++-- | Name of the remarketing list. This is a required field. Must be no+-- greater than 128 characters long.+rlName :: Lens' RemarketingList (Maybe Text)+rlName = lens _rlName (\ s a -> s{_rlName = a})++-- | Product from which this remarketing list was originated.+rlListSource :: Lens' RemarketingList (Maybe RemarketingListListSource)+rlListSource+  = lens _rlListSource (\ s a -> s{_rlListSource = a})++-- | Remarketing list ID. This is a read-only, auto-generated field.+rlId :: Lens' RemarketingList (Maybe Int64)+rlId+  = lens _rlId (\ s a -> s{_rlId = a}) .+      mapping _Coerce++-- | Subaccount ID of this remarketing list. This is a read-only,+-- auto-generated field that is only returned in GET requests.+rlSubAccountId :: Lens' RemarketingList (Maybe Int64)+rlSubAccountId+  = lens _rlSubAccountId+      (\ s a -> s{_rlSubAccountId = a})+      . mapping _Coerce++-- | Remarketing list description.+rlDescription :: Lens' RemarketingList (Maybe Text)+rlDescription+  = lens _rlDescription+      (\ s a -> s{_rlDescription = a})++instance FromJSON RemarketingList where+        parseJSON+          = withObject "RemarketingList"+              (\ o ->+                 RemarketingList <$>+                   (o .:? "listSize") <*> (o .:? "listPopulationRule")+                     <*> (o .:? "lifeSpan")+                     <*> (o .:? "kind" .!= "dfareporting#remarketingList")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "active")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "listSource")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "description"))++instance ToJSON RemarketingList where+        toJSON RemarketingList{..}+          = object+              (catMaybes+                 [("listSize" .=) <$> _rlListSize,+                  ("listPopulationRule" .=) <$> _rlListPopulationRule,+                  ("lifeSpan" .=) <$> _rlLifeSpan,+                  Just ("kind" .= _rlKind),+                  ("advertiserId" .=) <$> _rlAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _rlAdvertiserIdDimensionValue,+                  ("active" .=) <$> _rlActive,+                  ("accountId" .=) <$> _rlAccountId,+                  ("name" .=) <$> _rlName,+                  ("listSource" .=) <$> _rlListSource,+                  ("id" .=) <$> _rlId,+                  ("subaccountId" .=) <$> _rlSubAccountId,+                  ("description" .=) <$> _rlDescription])++-- | Represents the list of DimensionValue resources.+--+-- /See:/ 'dimensionValueList' smart constructor.+data DimensionValueList = DimensionValueList+    { _dvlEtag          :: !(Maybe Text)+    , _dvlNextPageToken :: !(Maybe Text)+    , _dvlKind          :: !Text+    , _dvlItems         :: !(Maybe [DimensionValue])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionValueList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvlEtag'+--+-- * 'dvlNextPageToken'+--+-- * 'dvlKind'+--+-- * 'dvlItems'+dimensionValueList+    :: DimensionValueList+dimensionValueList =+    DimensionValueList+    { _dvlEtag = Nothing+    , _dvlNextPageToken = Nothing+    , _dvlKind = "dfareporting#dimensionValueList"+    , _dvlItems = Nothing+    }++-- | The eTag of this response for caching purposes.+dvlEtag :: Lens' DimensionValueList (Maybe Text)+dvlEtag = lens _dvlEtag (\ s a -> s{_dvlEtag = a})++-- | Continuation token used to page through dimension values. To retrieve+-- the next page of results, set the next request\'s \"pageToken\" to the+-- value of this field. The page token is only valid for a limited amount+-- of time and should not be persisted.+dvlNextPageToken :: Lens' DimensionValueList (Maybe Text)+dvlNextPageToken+  = lens _dvlNextPageToken+      (\ s a -> s{_dvlNextPageToken = a})++-- | The kind of list this is, in this case dfareporting#dimensionValueList.+dvlKind :: Lens' DimensionValueList Text+dvlKind = lens _dvlKind (\ s a -> s{_dvlKind = a})++-- | The dimension values returned in this response.+dvlItems :: Lens' DimensionValueList [DimensionValue]+dvlItems+  = lens _dvlItems (\ s a -> s{_dvlItems = a}) .+      _Default+      . _Coerce++instance FromJSON DimensionValueList where+        parseJSON+          = withObject "DimensionValueList"+              (\ o ->+                 DimensionValueList <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#dimensionValueList")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON DimensionValueList where+        toJSON DimensionValueList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _dvlEtag,+                  ("nextPageToken" .=) <$> _dvlNextPageToken,+                  Just ("kind" .= _dvlKind),+                  ("items" .=) <$> _dvlItems])++-- | Represents fields that are compatible to be selected for a report of+-- type \"FlOODLIGHT\".+--+-- /See:/ 'floodlightReportCompatibleFields' smart constructor.+data FloodlightReportCompatibleFields = FloodlightReportCompatibleFields+    { _frcfMetrics          :: !(Maybe [Metric])+    , _frcfKind             :: !Text+    , _frcfDimensionFilters :: !(Maybe [Dimension])+    , _frcfDimensions       :: !(Maybe [Dimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightReportCompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frcfMetrics'+--+-- * 'frcfKind'+--+-- * 'frcfDimensionFilters'+--+-- * 'frcfDimensions'+floodlightReportCompatibleFields+    :: FloodlightReportCompatibleFields+floodlightReportCompatibleFields =+    FloodlightReportCompatibleFields+    { _frcfMetrics = Nothing+    , _frcfKind = "dfareporting#floodlightReportCompatibleFields"+    , _frcfDimensionFilters = Nothing+    , _frcfDimensions = Nothing+    }++-- | Metrics which are compatible to be selected in the \"metricNames\"+-- section of the report.+frcfMetrics :: Lens' FloodlightReportCompatibleFields [Metric]+frcfMetrics+  = lens _frcfMetrics (\ s a -> s{_frcfMetrics = a}) .+      _Default+      . _Coerce++-- | The kind of resource this is, in this case+-- dfareporting#floodlightReportCompatibleFields.+frcfKind :: Lens' FloodlightReportCompatibleFields Text+frcfKind = lens _frcfKind (\ s a -> s{_frcfKind = a})++-- | Dimensions which are compatible to be selected in the+-- \"dimensionFilters\" section of the report.+frcfDimensionFilters :: Lens' FloodlightReportCompatibleFields [Dimension]+frcfDimensionFilters+  = lens _frcfDimensionFilters+      (\ s a -> s{_frcfDimensionFilters = a})+      . _Default+      . _Coerce++-- | Dimensions which are compatible to be selected in the \"dimensions\"+-- section of the report.+frcfDimensions :: Lens' FloodlightReportCompatibleFields [Dimension]+frcfDimensions+  = lens _frcfDimensions+      (\ s a -> s{_frcfDimensions = a})+      . _Default+      . _Coerce++instance FromJSON FloodlightReportCompatibleFields+         where+        parseJSON+          = withObject "FloodlightReportCompatibleFields"+              (\ o ->+                 FloodlightReportCompatibleFields <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightReportCompatibleFields")+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "dimensions" .!= mempty))++instance ToJSON FloodlightReportCompatibleFields+         where+        toJSON FloodlightReportCompatibleFields{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _frcfMetrics,+                  Just ("kind" .= _frcfKind),+                  ("dimensionFilters" .=) <$> _frcfDimensionFilters,+                  ("dimensions" .=) <$> _frcfDimensions])++-- | Represents a grouping of related user role permissions.+--+-- /See:/ 'userRolePermissionGroup' smart constructor.+data UserRolePermissionGroup = UserRolePermissionGroup+    { _urpgKind :: !Text+    , _urpgName :: !(Maybe Text)+    , _urpgId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpgKind'+--+-- * 'urpgName'+--+-- * 'urpgId'+userRolePermissionGroup+    :: UserRolePermissionGroup+userRolePermissionGroup =+    UserRolePermissionGroup+    { _urpgKind = "dfareporting#userRolePermissionGroup"+    , _urpgName = Nothing+    , _urpgId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRolePermissionGroup\".+urpgKind :: Lens' UserRolePermissionGroup Text+urpgKind = lens _urpgKind (\ s a -> s{_urpgKind = a})++-- | Name of this user role permission group.+urpgName :: Lens' UserRolePermissionGroup (Maybe Text)+urpgName = lens _urpgName (\ s a -> s{_urpgName = a})++-- | ID of this user role permission.+urpgId :: Lens' UserRolePermissionGroup (Maybe Int64)+urpgId+  = lens _urpgId (\ s a -> s{_urpgId = a}) .+      mapping _Coerce++instance FromJSON UserRolePermissionGroup where+        parseJSON+          = withObject "UserRolePermissionGroup"+              (\ o ->+                 UserRolePermissionGroup <$>+                   (o .:? "kind" .!=+                      "dfareporting#userRolePermissionGroup")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON UserRolePermissionGroup where+        toJSON UserRolePermissionGroup{..}+          = object+              (catMaybes+                 [Just ("kind" .= _urpgKind),+                  ("name" .=) <$> _urpgName, ("id" .=) <$> _urpgId])++-- | Tag Settings+--+-- /See:/ 'tagSetting' smart constructor.+data TagSetting = TagSetting+    { _tsKeywordOption           :: !(Maybe TagSettingKeywordOption)+    , _tsIncludeClickThroughURLs :: !(Maybe Bool)+    , _tsIncludeClickTracking    :: !(Maybe Bool)+    , _tsAdditionalKeyValues     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TagSetting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsKeywordOption'+--+-- * 'tsIncludeClickThroughURLs'+--+-- * 'tsIncludeClickTracking'+--+-- * 'tsAdditionalKeyValues'+tagSetting+    :: TagSetting+tagSetting =+    TagSetting+    { _tsKeywordOption = Nothing+    , _tsIncludeClickThroughURLs = Nothing+    , _tsIncludeClickTracking = Nothing+    , _tsAdditionalKeyValues = Nothing+    }++-- | Option specifying how keywords are embedded in ad tags. This setting can+-- be used to specify whether keyword placeholders are inserted in+-- placement tags for this site. Publishers can then add keywords to those+-- placeholders.+tsKeywordOption :: Lens' TagSetting (Maybe TagSettingKeywordOption)+tsKeywordOption+  = lens _tsKeywordOption+      (\ s a -> s{_tsKeywordOption = a})++-- | Whether static landing page URLs should be included in the tags. This+-- setting applies only to placements.+tsIncludeClickThroughURLs :: Lens' TagSetting (Maybe Bool)+tsIncludeClickThroughURLs+  = lens _tsIncludeClickThroughURLs+      (\ s a -> s{_tsIncludeClickThroughURLs = a})++-- | Whether click-tracking string should be included in the tags.+tsIncludeClickTracking :: Lens' TagSetting (Maybe Bool)+tsIncludeClickTracking+  = lens _tsIncludeClickTracking+      (\ s a -> s{_tsIncludeClickTracking = a})++-- | Additional key-values to be included in tags. Each key-value pair must+-- be of the form key=value, and pairs must be separated by a semicolon+-- (;). Keys and values must not contain commas. For example,+-- id=2;color=red is a valid value for this field.+tsAdditionalKeyValues :: Lens' TagSetting (Maybe Text)+tsAdditionalKeyValues+  = lens _tsAdditionalKeyValues+      (\ s a -> s{_tsAdditionalKeyValues = a})++instance FromJSON TagSetting where+        parseJSON+          = withObject "TagSetting"+              (\ o ->+                 TagSetting <$>+                   (o .:? "keywordOption") <*>+                     (o .:? "includeClickThroughUrls")+                     <*> (o .:? "includeClickTracking")+                     <*> (o .:? "additionalKeyValues"))++instance ToJSON TagSetting where+        toJSON TagSetting{..}+          = object+              (catMaybes+                 [("keywordOption" .=) <$> _tsKeywordOption,+                  ("includeClickThroughUrls" .=) <$>+                    _tsIncludeClickThroughURLs,+                  ("includeClickTracking" .=) <$>+                    _tsIncludeClickTracking,+                  ("additionalKeyValues" .=) <$>+                    _tsAdditionalKeyValues])++-- | The properties of the report.+--+-- /See:/ 'reportPathToConversionCriteriaReportProperties' smart constructor.+data ReportPathToConversionCriteriaReportProperties = ReportPathToConversionCriteriaReportProperties+    { _rptccrpMaximumInteractionGap                :: !(Maybe (Textual Int32))+    , _rptccrpMaximumClickInteractions             :: !(Maybe (Textual Int32))+    , _rptccrpPivotOnInteractionPath               :: !(Maybe Bool)+    , _rptccrpMaximumImpressionInteractions        :: !(Maybe (Textual Int32))+    , _rptccrpIncludeUnattributedIPConversions     :: !(Maybe Bool)+    , _rptccrpImpressionsLookbackWindow            :: !(Maybe (Textual Int32))+    , _rptccrpClicksLookbackWindow                 :: !(Maybe (Textual Int32))+    , _rptccrpIncludeUnattributedCookieConversions :: !(Maybe Bool)+    , _rptccrpIncludeAttributedIPConversions       :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportPathToConversionCriteriaReportProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rptccrpMaximumInteractionGap'+--+-- * 'rptccrpMaximumClickInteractions'+--+-- * 'rptccrpPivotOnInteractionPath'+--+-- * 'rptccrpMaximumImpressionInteractions'+--+-- * 'rptccrpIncludeUnattributedIPConversions'+--+-- * 'rptccrpImpressionsLookbackWindow'+--+-- * 'rptccrpClicksLookbackWindow'+--+-- * 'rptccrpIncludeUnattributedCookieConversions'+--+-- * 'rptccrpIncludeAttributedIPConversions'+reportPathToConversionCriteriaReportProperties+    :: ReportPathToConversionCriteriaReportProperties+reportPathToConversionCriteriaReportProperties =+    ReportPathToConversionCriteriaReportProperties+    { _rptccrpMaximumInteractionGap = Nothing+    , _rptccrpMaximumClickInteractions = Nothing+    , _rptccrpPivotOnInteractionPath = Nothing+    , _rptccrpMaximumImpressionInteractions = Nothing+    , _rptccrpIncludeUnattributedIPConversions = Nothing+    , _rptccrpImpressionsLookbackWindow = Nothing+    , _rptccrpClicksLookbackWindow = Nothing+    , _rptccrpIncludeUnattributedCookieConversions = Nothing+    , _rptccrpIncludeAttributedIPConversions = Nothing+    }++-- | The maximum amount of time that can take place between interactions+-- (clicks or impressions) by the same user. Valid values: 1-90.+rptccrpMaximumInteractionGap :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)+rptccrpMaximumInteractionGap+  = lens _rptccrpMaximumInteractionGap+      (\ s a -> s{_rptccrpMaximumInteractionGap = a})+      . mapping _Coerce++-- | The maximum number of click interactions to include in the report.+-- Advertisers currently paying for E2C reports get up to 200 (100 clicks,+-- 100 impressions). If another advertiser in your network is paying for+-- E2C, you can have up to 5 total exposures per report.+rptccrpMaximumClickInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)+rptccrpMaximumClickInteractions+  = lens _rptccrpMaximumClickInteractions+      (\ s a -> s{_rptccrpMaximumClickInteractions = a})+      . mapping _Coerce++-- | Enable pivoting on interaction path.+rptccrpPivotOnInteractionPath :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)+rptccrpPivotOnInteractionPath+  = lens _rptccrpPivotOnInteractionPath+      (\ s a -> s{_rptccrpPivotOnInteractionPath = a})++-- | The maximum number of click interactions to include in the report.+-- Advertisers currently paying for E2C reports get up to 200 (100 clicks,+-- 100 impressions). If another advertiser in your network is paying for+-- E2C, you can have up to 5 total exposures per report.+rptccrpMaximumImpressionInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)+rptccrpMaximumImpressionInteractions+  = lens _rptccrpMaximumImpressionInteractions+      (\ s a ->+         s{_rptccrpMaximumImpressionInteractions = a})+      . mapping _Coerce++-- | Include conversions that have no associated cookies and no exposures.+-- It’s therefore impossible to know how the user was exposed to your ads+-- during the lookback window prior to a conversion.+rptccrpIncludeUnattributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)+rptccrpIncludeUnattributedIPConversions+  = lens _rptccrpIncludeUnattributedIPConversions+      (\ s a ->+         s{_rptccrpIncludeUnattributedIPConversions = a})++-- | DFA checks to see if an impression interaction occurred within the+-- specified period of time before a conversion. By default the value is+-- pulled from Floodlight or you can manually enter a custom value. Valid+-- values: 1-90.+rptccrpImpressionsLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)+rptccrpImpressionsLookbackWindow+  = lens _rptccrpImpressionsLookbackWindow+      (\ s a -> s{_rptccrpImpressionsLookbackWindow = a})+      . mapping _Coerce++-- | DFA checks to see if a click interaction occurred within the specified+-- period of time before a conversion. By default the value is pulled from+-- Floodlight or you can manually enter a custom value. Valid values: 1-90.+rptccrpClicksLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)+rptccrpClicksLookbackWindow+  = lens _rptccrpClicksLookbackWindow+      (\ s a -> s{_rptccrpClicksLookbackWindow = a})+      . mapping _Coerce++-- | Include conversions of users with a DoubleClick cookie but without an+-- exposure. That means the user did not click or see an ad from the+-- advertiser within the Floodlight group, or that the interaction happened+-- outside the lookback window.+rptccrpIncludeUnattributedCookieConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)+rptccrpIncludeUnattributedCookieConversions+  = lens _rptccrpIncludeUnattributedCookieConversions+      (\ s a ->+         s{_rptccrpIncludeUnattributedCookieConversions = a})++-- | Deprecated: has no effect.+rptccrpIncludeAttributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)+rptccrpIncludeAttributedIPConversions+  = lens _rptccrpIncludeAttributedIPConversions+      (\ s a ->+         s{_rptccrpIncludeAttributedIPConversions = a})++instance FromJSON+         ReportPathToConversionCriteriaReportProperties where+        parseJSON+          = withObject+              "ReportPathToConversionCriteriaReportProperties"+              (\ o ->+                 ReportPathToConversionCriteriaReportProperties <$>+                   (o .:? "maximumInteractionGap") <*>+                     (o .:? "maximumClickInteractions")+                     <*> (o .:? "pivotOnInteractionPath")+                     <*> (o .:? "maximumImpressionInteractions")+                     <*> (o .:? "includeUnattributedIPConversions")+                     <*> (o .:? "impressionsLookbackWindow")+                     <*> (o .:? "clicksLookbackWindow")+                     <*> (o .:? "includeUnattributedCookieConversions")+                     <*> (o .:? "includeAttributedIPConversions"))++instance ToJSON+         ReportPathToConversionCriteriaReportProperties where+        toJSON+          ReportPathToConversionCriteriaReportProperties{..}+          = object+              (catMaybes+                 [("maximumInteractionGap" .=) <$>+                    _rptccrpMaximumInteractionGap,+                  ("maximumClickInteractions" .=) <$>+                    _rptccrpMaximumClickInteractions,+                  ("pivotOnInteractionPath" .=) <$>+                    _rptccrpPivotOnInteractionPath,+                  ("maximumImpressionInteractions" .=) <$>+                    _rptccrpMaximumImpressionInteractions,+                  ("includeUnattributedIPConversions" .=) <$>+                    _rptccrpIncludeUnattributedIPConversions,+                  ("impressionsLookbackWindow" .=) <$>+                    _rptccrpImpressionsLookbackWindow,+                  ("clicksLookbackWindow" .=) <$>+                    _rptccrpClicksLookbackWindow,+                  ("includeUnattributedCookieConversions" .=) <$>+                    _rptccrpIncludeUnattributedCookieConversions,+                  ("includeAttributedIPConversions" .=) <$>+                    _rptccrpIncludeAttributedIPConversions])++-- | User Role Permission List Response+--+-- /See:/ 'userRolePermissionsListResponse' smart constructor.+data UserRolePermissionsListResponse = UserRolePermissionsListResponse+    { _urplrKind                :: !Text+    , _urplrUserRolePermissions :: !(Maybe [UserRolePermission])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urplrKind'+--+-- * 'urplrUserRolePermissions'+userRolePermissionsListResponse+    :: UserRolePermissionsListResponse+userRolePermissionsListResponse =+    UserRolePermissionsListResponse+    { _urplrKind = "dfareporting#userRolePermissionsListResponse"+    , _urplrUserRolePermissions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRolePermissionsListResponse\".+urplrKind :: Lens' UserRolePermissionsListResponse Text+urplrKind+  = lens _urplrKind (\ s a -> s{_urplrKind = a})++-- | User role permission collection.+urplrUserRolePermissions :: Lens' UserRolePermissionsListResponse [UserRolePermission]+urplrUserRolePermissions+  = lens _urplrUserRolePermissions+      (\ s a -> s{_urplrUserRolePermissions = a})+      . _Default+      . _Coerce++instance FromJSON UserRolePermissionsListResponse+         where+        parseJSON+          = withObject "UserRolePermissionsListResponse"+              (\ o ->+                 UserRolePermissionsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#userRolePermissionsListResponse")+                     <*> (o .:? "userRolePermissions" .!= mempty))++instance ToJSON UserRolePermissionsListResponse where+        toJSON UserRolePermissionsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _urplrKind),+                  ("userRolePermissions" .=) <$>+                    _urplrUserRolePermissions])++-- | Placement Group List Response+--+-- /See:/ 'placementGroupsListResponse' smart constructor.+data PlacementGroupsListResponse = PlacementGroupsListResponse+    { _pglrNextPageToken   :: !(Maybe Text)+    , _pglrKind            :: !Text+    , _pglrPlacementGroups :: !(Maybe [PlacementGroup])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pglrNextPageToken'+--+-- * 'pglrKind'+--+-- * 'pglrPlacementGroups'+placementGroupsListResponse+    :: PlacementGroupsListResponse+placementGroupsListResponse =+    PlacementGroupsListResponse+    { _pglrNextPageToken = Nothing+    , _pglrKind = "dfareporting#placementGroupsListResponse"+    , _pglrPlacementGroups = Nothing+    }++-- | Pagination token to be used for the next list operation.+pglrNextPageToken :: Lens' PlacementGroupsListResponse (Maybe Text)+pglrNextPageToken+  = lens _pglrNextPageToken+      (\ s a -> s{_pglrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementGroupsListResponse\".+pglrKind :: Lens' PlacementGroupsListResponse Text+pglrKind = lens _pglrKind (\ s a -> s{_pglrKind = a})++-- | Placement group collection.+pglrPlacementGroups :: Lens' PlacementGroupsListResponse [PlacementGroup]+pglrPlacementGroups+  = lens _pglrPlacementGroups+      (\ s a -> s{_pglrPlacementGroups = a})+      . _Default+      . _Coerce++instance FromJSON PlacementGroupsListResponse where+        parseJSON+          = withObject "PlacementGroupsListResponse"+              (\ o ->+                 PlacementGroupsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#placementGroupsListResponse")+                     <*> (o .:? "placementGroups" .!= mempty))++instance ToJSON PlacementGroupsListResponse where+        toJSON PlacementGroupsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _pglrNextPageToken,+                  Just ("kind" .= _pglrKind),+                  ("placementGroups" .=) <$> _pglrPlacementGroups])++-- | Contains information about a mobile carrier that can be targeted by ads.+--+-- /See:/ 'mobileCarrier' smart constructor.+data MobileCarrier = MobileCarrier+    { _mcKind          :: !Text+    , _mcName          :: !(Maybe Text)+    , _mcCountryCode   :: !(Maybe Text)+    , _mcId            :: !(Maybe (Textual Int64))+    , _mcCountryDartId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MobileCarrier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcKind'+--+-- * 'mcName'+--+-- * 'mcCountryCode'+--+-- * 'mcId'+--+-- * 'mcCountryDartId'+mobileCarrier+    :: MobileCarrier+mobileCarrier =+    MobileCarrier+    { _mcKind = "dfareporting#mobileCarrier"+    , _mcName = Nothing+    , _mcCountryCode = Nothing+    , _mcId = Nothing+    , _mcCountryDartId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#mobileCarrier\".+mcKind :: Lens' MobileCarrier Text+mcKind = lens _mcKind (\ s a -> s{_mcKind = a})++-- | Name of this mobile carrier.+mcName :: Lens' MobileCarrier (Maybe Text)+mcName = lens _mcName (\ s a -> s{_mcName = a})++-- | Country code of the country to which this mobile carrier belongs.+mcCountryCode :: Lens' MobileCarrier (Maybe Text)+mcCountryCode+  = lens _mcCountryCode+      (\ s a -> s{_mcCountryCode = a})++-- | ID of this mobile carrier.+mcId :: Lens' MobileCarrier (Maybe Int64)+mcId+  = lens _mcId (\ s a -> s{_mcId = a}) .+      mapping _Coerce++-- | DART ID of the country to which this mobile carrier belongs.+mcCountryDartId :: Lens' MobileCarrier (Maybe Int64)+mcCountryDartId+  = lens _mcCountryDartId+      (\ s a -> s{_mcCountryDartId = a})+      . mapping _Coerce++instance FromJSON MobileCarrier where+        parseJSON+          = withObject "MobileCarrier"+              (\ o ->+                 MobileCarrier <$>+                   (o .:? "kind" .!= "dfareporting#mobileCarrier") <*>+                     (o .:? "name")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "id")+                     <*> (o .:? "countryDartId"))++instance ToJSON MobileCarrier where+        toJSON MobileCarrier{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mcKind), ("name" .=) <$> _mcName,+                  ("countryCode" .=) <$> _mcCountryCode,+                  ("id" .=) <$> _mcId,+                  ("countryDartId" .=) <$> _mcCountryDartId])++-- | Contains information about where a user\'s browser is taken after the+-- user clicks an ad.+--+-- /See:/ 'landingPage' smart constructor.+data LandingPage = LandingPage+    { _lpKind    :: !Text+    , _lpDefault :: !(Maybe Bool)+    , _lpURL     :: !(Maybe Text)+    , _lpName    :: !(Maybe Text)+    , _lpId      :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpKind'+--+-- * 'lpDefault'+--+-- * 'lpURL'+--+-- * 'lpName'+--+-- * 'lpId'+landingPage+    :: LandingPage+landingPage =+    LandingPage+    { _lpKind = "dfareporting#landingPage"+    , _lpDefault = Nothing+    , _lpURL = Nothing+    , _lpName = Nothing+    , _lpId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#landingPage\".+lpKind :: Lens' LandingPage Text+lpKind = lens _lpKind (\ s a -> s{_lpKind = a})++-- | Whether or not this landing page will be assigned to any ads or+-- creatives that do not have a landing page assigned explicitly. Only one+-- default landing page is allowed per campaign.+lpDefault :: Lens' LandingPage (Maybe Bool)+lpDefault+  = lens _lpDefault (\ s a -> s{_lpDefault = a})++-- | URL of this landing page. This is a required field.+lpURL :: Lens' LandingPage (Maybe Text)+lpURL = lens _lpURL (\ s a -> s{_lpURL = a})++-- | Name of this landing page. This is a required field. It must be less+-- than 256 characters long, and must be unique among landing pages of the+-- same campaign.+lpName :: Lens' LandingPage (Maybe Text)+lpName = lens _lpName (\ s a -> s{_lpName = a})++-- | ID of this landing page. This is a read-only, auto-generated field.+lpId :: Lens' LandingPage (Maybe Int64)+lpId+  = lens _lpId (\ s a -> s{_lpId = a}) .+      mapping _Coerce++instance FromJSON LandingPage where+        parseJSON+          = withObject "LandingPage"+              (\ o ->+                 LandingPage <$>+                   (o .:? "kind" .!= "dfareporting#landingPage") <*>+                     (o .:? "default")+                     <*> (o .:? "url")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON LandingPage where+        toJSON LandingPage{..}+          = object+              (catMaybes+                 [Just ("kind" .= _lpKind),+                  ("default" .=) <$> _lpDefault, ("url" .=) <$> _lpURL,+                  ("name" .=) <$> _lpName, ("id" .=) <$> _lpId])++-- | Connection Type List Response+--+-- /See:/ 'connectionTypesListResponse' smart constructor.+data ConnectionTypesListResponse = ConnectionTypesListResponse+    { _ctlrKind            :: !Text+    , _ctlrConnectionTypes :: !(Maybe [ConnectionType])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectionTypesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctlrKind'+--+-- * 'ctlrConnectionTypes'+connectionTypesListResponse+    :: ConnectionTypesListResponse+connectionTypesListResponse =+    ConnectionTypesListResponse+    { _ctlrKind = "dfareporting#connectionTypesListResponse"+    , _ctlrConnectionTypes = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#connectionTypesListResponse\".+ctlrKind :: Lens' ConnectionTypesListResponse Text+ctlrKind = lens _ctlrKind (\ s a -> s{_ctlrKind = a})++-- | Collection of connection types such as broadband and mobile.+ctlrConnectionTypes :: Lens' ConnectionTypesListResponse [ConnectionType]+ctlrConnectionTypes+  = lens _ctlrConnectionTypes+      (\ s a -> s{_ctlrConnectionTypes = a})+      . _Default+      . _Coerce++instance FromJSON ConnectionTypesListResponse where+        parseJSON+          = withObject "ConnectionTypesListResponse"+              (\ o ->+                 ConnectionTypesListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#connectionTypesListResponse")+                     <*> (o .:? "connectionTypes" .!= mempty))++instance ToJSON ConnectionTypesListResponse where+        toJSON ConnectionTypesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ctlrKind),+                  ("connectionTypes" .=) <$> _ctlrConnectionTypes])++-- | Order List Response+--+-- /See:/ 'ordersListResponse' smart constructor.+data OrdersListResponse = OrdersListResponse+    { _olrNextPageToken :: !(Maybe Text)+    , _olrKind          :: !Text+    , _olrOrders        :: !(Maybe [Order])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrdersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olrNextPageToken'+--+-- * 'olrKind'+--+-- * 'olrOrders'+ordersListResponse+    :: OrdersListResponse+ordersListResponse =+    OrdersListResponse+    { _olrNextPageToken = Nothing+    , _olrKind = "dfareporting#ordersListResponse"+    , _olrOrders = Nothing+    }++-- | Pagination token to be used for the next list operation.+olrNextPageToken :: Lens' OrdersListResponse (Maybe Text)+olrNextPageToken+  = lens _olrNextPageToken+      (\ s a -> s{_olrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#ordersListResponse\".+olrKind :: Lens' OrdersListResponse Text+olrKind = lens _olrKind (\ s a -> s{_olrKind = a})++-- | Order collection.+olrOrders :: Lens' OrdersListResponse [Order]+olrOrders+  = lens _olrOrders (\ s a -> s{_olrOrders = a}) .+      _Default+      . _Coerce++instance FromJSON OrdersListResponse where+        parseJSON+          = withObject "OrdersListResponse"+              (\ o ->+                 OrdersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#ordersListResponse")+                     <*> (o .:? "orders" .!= mempty))++instance ToJSON OrdersListResponse where+        toJSON OrdersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _olrNextPageToken,+                  Just ("kind" .= _olrKind),+                  ("orders" .=) <$> _olrOrders])++-- | Represents the list of reports.+--+-- /See:/ 'reportList' smart constructor.+data ReportList = ReportList+    { _repEtag          :: !(Maybe Text)+    , _repNextPageToken :: !(Maybe Text)+    , _repKind          :: !Text+    , _repItems         :: !(Maybe [Report])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'repEtag'+--+-- * 'repNextPageToken'+--+-- * 'repKind'+--+-- * 'repItems'+reportList+    :: ReportList+reportList =+    ReportList+    { _repEtag = Nothing+    , _repNextPageToken = Nothing+    , _repKind = "dfareporting#reportList"+    , _repItems = Nothing+    }++-- | The eTag of this response for caching purposes.+repEtag :: Lens' ReportList (Maybe Text)+repEtag = lens _repEtag (\ s a -> s{_repEtag = a})++-- | Continuation token used to page through reports. To retrieve the next+-- page of results, set the next request\'s \"pageToken\" to the value of+-- this field. The page token is only valid for a limited amount of time+-- and should not be persisted.+repNextPageToken :: Lens' ReportList (Maybe Text)+repNextPageToken+  = lens _repNextPageToken+      (\ s a -> s{_repNextPageToken = a})++-- | The kind of list this is, in this case dfareporting#reportList.+repKind :: Lens' ReportList Text+repKind = lens _repKind (\ s a -> s{_repKind = a})++-- | The reports returned in this response.+repItems :: Lens' ReportList [Report]+repItems+  = lens _repItems (\ s a -> s{_repItems = a}) .+      _Default+      . _Coerce++instance FromJSON ReportList where+        parseJSON+          = withObject "ReportList"+              (\ o ->+                 ReportList <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#reportList")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON ReportList where+        toJSON ReportList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _repEtag,+                  ("nextPageToken" .=) <$> _repNextPageToken,+                  Just ("kind" .= _repKind),+                  ("items" .=) <$> _repItems])++-- | Contains properties of a creative group.+--+-- /See:/ 'creativeGroup' smart constructor.+data CreativeGroup = CreativeGroup+    { _cgKind                       :: !Text+    , _cgAdvertiserId               :: !(Maybe (Textual Int64))+    , _cgAdvertiserIdDimensionValue :: !(Maybe DimensionValue)+    , _cgGroupNumber                :: !(Maybe (Textual Int32))+    , _cgAccountId                  :: !(Maybe (Textual Int64))+    , _cgName                       :: !(Maybe Text)+    , _cgId                         :: !(Maybe (Textual Int64))+    , _cgSubAccountId               :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgKind'+--+-- * 'cgAdvertiserId'+--+-- * 'cgAdvertiserIdDimensionValue'+--+-- * 'cgGroupNumber'+--+-- * 'cgAccountId'+--+-- * 'cgName'+--+-- * 'cgId'+--+-- * 'cgSubAccountId'+creativeGroup+    :: CreativeGroup+creativeGroup =+    CreativeGroup+    { _cgKind = "dfareporting#creativeGroup"+    , _cgAdvertiserId = Nothing+    , _cgAdvertiserIdDimensionValue = Nothing+    , _cgGroupNumber = Nothing+    , _cgAccountId = Nothing+    , _cgName = Nothing+    , _cgId = Nothing+    , _cgSubAccountId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeGroup\".+cgKind :: Lens' CreativeGroup Text+cgKind = lens _cgKind (\ s a -> s{_cgKind = a})++-- | Advertiser ID of this creative group. This is a required field on+-- insertion.+cgAdvertiserId :: Lens' CreativeGroup (Maybe Int64)+cgAdvertiserId+  = lens _cgAdvertiserId+      (\ s a -> s{_cgAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+cgAdvertiserIdDimensionValue :: Lens' CreativeGroup (Maybe DimensionValue)+cgAdvertiserIdDimensionValue+  = lens _cgAdvertiserIdDimensionValue+      (\ s a -> s{_cgAdvertiserIdDimensionValue = a})++-- | Subgroup of the creative group. Assign your creative groups to one of+-- the following subgroups in order to filter or manage them more easily.+-- This field is required on insertion and is read-only after insertion.+-- Acceptable values are: - 1 - 2+cgGroupNumber :: Lens' CreativeGroup (Maybe Int32)+cgGroupNumber+  = lens _cgGroupNumber+      (\ s a -> s{_cgGroupNumber = a})+      . mapping _Coerce++-- | Account ID of this creative group. This is a read-only field that can be+-- left blank.+cgAccountId :: Lens' CreativeGroup (Maybe Int64)+cgAccountId+  = lens _cgAccountId (\ s a -> s{_cgAccountId = a}) .+      mapping _Coerce++-- | Name of this creative group. This is a required field and must be less+-- than 256 characters long and unique among creative groups of the same+-- advertiser.+cgName :: Lens' CreativeGroup (Maybe Text)+cgName = lens _cgName (\ s a -> s{_cgName = a})++-- | ID of this creative group. This is a read-only, auto-generated field.+cgId :: Lens' CreativeGroup (Maybe Int64)+cgId+  = lens _cgId (\ s a -> s{_cgId = a}) .+      mapping _Coerce++-- | Subaccount ID of this creative group. This is a read-only field that can+-- be left blank.+cgSubAccountId :: Lens' CreativeGroup (Maybe Int64)+cgSubAccountId+  = lens _cgSubAccountId+      (\ s a -> s{_cgSubAccountId = a})+      . mapping _Coerce++instance FromJSON CreativeGroup where+        parseJSON+          = withObject "CreativeGroup"+              (\ o ->+                 CreativeGroup <$>+                   (o .:? "kind" .!= "dfareporting#creativeGroup") <*>+                     (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "groupNumber")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId"))++instance ToJSON CreativeGroup where+        toJSON CreativeGroup{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cgKind),+                  ("advertiserId" .=) <$> _cgAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _cgAdvertiserIdDimensionValue,+                  ("groupNumber" .=) <$> _cgGroupNumber,+                  ("accountId" .=) <$> _cgAccountId,+                  ("name" .=) <$> _cgName, ("id" .=) <$> _cgId,+                  ("subaccountId" .=) <$> _cgSubAccountId])++-- | Identifies a creative which has been associated with a given campaign.+--+-- /See:/ 'campaignCreativeAssociation' smart constructor.+data CampaignCreativeAssociation = CampaignCreativeAssociation+    { _ccaKind       :: !Text+    , _ccaCreativeId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignCreativeAssociation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccaKind'+--+-- * 'ccaCreativeId'+campaignCreativeAssociation+    :: CampaignCreativeAssociation+campaignCreativeAssociation =+    CampaignCreativeAssociation+    { _ccaKind = "dfareporting#campaignCreativeAssociation"+    , _ccaCreativeId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#campaignCreativeAssociation\".+ccaKind :: Lens' CampaignCreativeAssociation Text+ccaKind = lens _ccaKind (\ s a -> s{_ccaKind = a})++-- | ID of the creative associated with the campaign. This is a required+-- field.+ccaCreativeId :: Lens' CampaignCreativeAssociation (Maybe Int64)+ccaCreativeId+  = lens _ccaCreativeId+      (\ s a -> s{_ccaCreativeId = a})+      . mapping _Coerce++instance FromJSON CampaignCreativeAssociation where+        parseJSON+          = withObject "CampaignCreativeAssociation"+              (\ o ->+                 CampaignCreativeAssociation <$>+                   (o .:? "kind" .!=+                      "dfareporting#campaignCreativeAssociation")+                     <*> (o .:? "creativeId"))++instance ToJSON CampaignCreativeAssociation where+        toJSON CampaignCreativeAssociation{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ccaKind),+                  ("creativeId" .=) <$> _ccaCreativeId])++-- | Lookback configuration settings.+--+-- /See:/ 'lookbackConfiguration' smart constructor.+data LookbackConfiguration = LookbackConfiguration+    { _lcClickDuration                    :: !(Maybe (Textual Int32))+    , _lcPostImpressionActivitiesDuration :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LookbackConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcClickDuration'+--+-- * 'lcPostImpressionActivitiesDuration'+lookbackConfiguration+    :: LookbackConfiguration+lookbackConfiguration =+    LookbackConfiguration+    { _lcClickDuration = Nothing+    , _lcPostImpressionActivitiesDuration = Nothing+    }++-- | Lookback window, in days, from the last time a given user clicked on one+-- of your ads. If you enter 0, clicks will not be considered as triggering+-- events for floodlight tracking. If you leave this field blank, the+-- default value for your account will be used.+lcClickDuration :: Lens' LookbackConfiguration (Maybe Int32)+lcClickDuration+  = lens _lcClickDuration+      (\ s a -> s{_lcClickDuration = a})+      . mapping _Coerce++-- | Lookback window, in days, from the last time a given user viewed one of+-- your ads. If you enter 0, impressions will not be considered as+-- triggering events for floodlight tracking. If you leave this field+-- blank, the default value for your account will be used.+lcPostImpressionActivitiesDuration :: Lens' LookbackConfiguration (Maybe Int32)+lcPostImpressionActivitiesDuration+  = lens _lcPostImpressionActivitiesDuration+      (\ s a -> s{_lcPostImpressionActivitiesDuration = a})+      . mapping _Coerce++instance FromJSON LookbackConfiguration where+        parseJSON+          = withObject "LookbackConfiguration"+              (\ o ->+                 LookbackConfiguration <$>+                   (o .:? "clickDuration") <*>+                     (o .:? "postImpressionActivitiesDuration"))++instance ToJSON LookbackConfiguration where+        toJSON LookbackConfiguration{..}+          = object+              (catMaybes+                 [("clickDuration" .=) <$> _lcClickDuration,+                  ("postImpressionActivitiesDuration" .=) <$>+                    _lcPostImpressionActivitiesDuration])++-- | Publisher Dynamic Tag+--+-- /See:/ 'floodlightActivityPublisherDynamicTag' smart constructor.+data FloodlightActivityPublisherDynamicTag = FloodlightActivityPublisherDynamicTag+    { _fapdtClickThrough         :: !(Maybe Bool)+    , _fapdtSiteIdDimensionValue :: !(Maybe DimensionValue)+    , _fapdtDynamicTag           :: !(Maybe FloodlightActivityDynamicTag)+    , _fapdtDirectorySiteId      :: !(Maybe (Textual Int64))+    , _fapdtSiteId               :: !(Maybe (Textual Int64))+    , _fapdtViewThrough          :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityPublisherDynamicTag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fapdtClickThrough'+--+-- * 'fapdtSiteIdDimensionValue'+--+-- * 'fapdtDynamicTag'+--+-- * 'fapdtDirectorySiteId'+--+-- * 'fapdtSiteId'+--+-- * 'fapdtViewThrough'+floodlightActivityPublisherDynamicTag+    :: FloodlightActivityPublisherDynamicTag+floodlightActivityPublisherDynamicTag =+    FloodlightActivityPublisherDynamicTag+    { _fapdtClickThrough = Nothing+    , _fapdtSiteIdDimensionValue = Nothing+    , _fapdtDynamicTag = Nothing+    , _fapdtDirectorySiteId = Nothing+    , _fapdtSiteId = Nothing+    , _fapdtViewThrough = Nothing+    }++-- | Whether this tag is applicable only for click-throughs.+fapdtClickThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)+fapdtClickThrough+  = lens _fapdtClickThrough+      (\ s a -> s{_fapdtClickThrough = a})++-- | Dimension value for the ID of the site. This is a read-only,+-- auto-generated field.+fapdtSiteIdDimensionValue :: Lens' FloodlightActivityPublisherDynamicTag (Maybe DimensionValue)+fapdtSiteIdDimensionValue+  = lens _fapdtSiteIdDimensionValue+      (\ s a -> s{_fapdtSiteIdDimensionValue = a})++-- | Dynamic floodlight tag.+fapdtDynamicTag :: Lens' FloodlightActivityPublisherDynamicTag (Maybe FloodlightActivityDynamicTag)+fapdtDynamicTag+  = lens _fapdtDynamicTag+      (\ s a -> s{_fapdtDynamicTag = a})++-- | Directory site ID of this dynamic tag. This is a write-only field that+-- can be used as an alternative to the siteId field. When this resource is+-- retrieved, only the siteId field will be populated.+fapdtDirectorySiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)+fapdtDirectorySiteId+  = lens _fapdtDirectorySiteId+      (\ s a -> s{_fapdtDirectorySiteId = a})+      . mapping _Coerce++-- | Site ID of this dynamic tag.+fapdtSiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)+fapdtSiteId+  = lens _fapdtSiteId (\ s a -> s{_fapdtSiteId = a}) .+      mapping _Coerce++-- | Whether this tag is applicable only for view-throughs.+fapdtViewThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)+fapdtViewThrough+  = lens _fapdtViewThrough+      (\ s a -> s{_fapdtViewThrough = a})++instance FromJSON+         FloodlightActivityPublisherDynamicTag where+        parseJSON+          = withObject "FloodlightActivityPublisherDynamicTag"+              (\ o ->+                 FloodlightActivityPublisherDynamicTag <$>+                   (o .:? "clickThrough") <*>+                     (o .:? "siteIdDimensionValue")+                     <*> (o .:? "dynamicTag")+                     <*> (o .:? "directorySiteId")+                     <*> (o .:? "siteId")+                     <*> (o .:? "viewThrough"))++instance ToJSON FloodlightActivityPublisherDynamicTag+         where+        toJSON FloodlightActivityPublisherDynamicTag{..}+          = object+              (catMaybes+                 [("clickThrough" .=) <$> _fapdtClickThrough,+                  ("siteIdDimensionValue" .=) <$>+                    _fapdtSiteIdDimensionValue,+                  ("dynamicTag" .=) <$> _fapdtDynamicTag,+                  ("directorySiteId" .=) <$> _fapdtDirectorySiteId,+                  ("siteId" .=) <$> _fapdtSiteId,+                  ("viewThrough" .=) <$> _fapdtViewThrough])++-- | Gets a summary of active ads in an account.+--+-- /See:/ 'accountActiveAdSummary' smart constructor.+data AccountActiveAdSummary = AccountActiveAdSummary+    { _aaasAvailableAds       :: !(Maybe (Textual Int64))+    , _aaasKind               :: !Text+    , _aaasAccountId          :: !(Maybe (Textual Int64))+    , _aaasActiveAds          :: !(Maybe (Textual Int64))+    , _aaasActiveAdsLimitTier :: !(Maybe AccountActiveAdSummaryActiveAdsLimitTier)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountActiveAdSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaasAvailableAds'+--+-- * 'aaasKind'+--+-- * 'aaasAccountId'+--+-- * 'aaasActiveAds'+--+-- * 'aaasActiveAdsLimitTier'+accountActiveAdSummary+    :: AccountActiveAdSummary+accountActiveAdSummary =+    AccountActiveAdSummary+    { _aaasAvailableAds = Nothing+    , _aaasKind = "dfareporting#accountActiveAdSummary"+    , _aaasAccountId = Nothing+    , _aaasActiveAds = Nothing+    , _aaasActiveAdsLimitTier = Nothing+    }++-- | Ads that can be activated for the account.+aaasAvailableAds :: Lens' AccountActiveAdSummary (Maybe Int64)+aaasAvailableAds+  = lens _aaasAvailableAds+      (\ s a -> s{_aaasAvailableAds = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountActiveAdSummary\".+aaasKind :: Lens' AccountActiveAdSummary Text+aaasKind = lens _aaasKind (\ s a -> s{_aaasKind = a})++-- | ID of the account.+aaasAccountId :: Lens' AccountActiveAdSummary (Maybe Int64)+aaasAccountId+  = lens _aaasAccountId+      (\ s a -> s{_aaasAccountId = a})+      . mapping _Coerce++-- | Ads that have been activated for the account+aaasActiveAds :: Lens' AccountActiveAdSummary (Maybe Int64)+aaasActiveAds+  = lens _aaasActiveAds+      (\ s a -> s{_aaasActiveAds = a})+      . mapping _Coerce++-- | Maximum number of active ads allowed for the account.+aaasActiveAdsLimitTier :: Lens' AccountActiveAdSummary (Maybe AccountActiveAdSummaryActiveAdsLimitTier)+aaasActiveAdsLimitTier+  = lens _aaasActiveAdsLimitTier+      (\ s a -> s{_aaasActiveAdsLimitTier = a})++instance FromJSON AccountActiveAdSummary where+        parseJSON+          = withObject "AccountActiveAdSummary"+              (\ o ->+                 AccountActiveAdSummary <$>+                   (o .:? "availableAds") <*>+                     (o .:? "kind" .!=+                        "dfareporting#accountActiveAdSummary")+                     <*> (o .:? "accountId")+                     <*> (o .:? "activeAds")+                     <*> (o .:? "activeAdsLimitTier"))++instance ToJSON AccountActiveAdSummary where+        toJSON AccountActiveAdSummary{..}+          = object+              (catMaybes+                 [("availableAds" .=) <$> _aaasAvailableAds,+                  Just ("kind" .= _aaasKind),+                  ("accountId" .=) <$> _aaasAccountId,+                  ("activeAds" .=) <$> _aaasActiveAds,+                  ("activeAdsLimitTier" .=) <$>+                    _aaasActiveAdsLimitTier])++-- | Offset Position.+--+-- /See:/ 'offSetPosition' smart constructor.+data OffSetPosition = OffSetPosition+    { _ospLeft :: !(Maybe (Textual Int32))+    , _ospTop  :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OffSetPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ospLeft'+--+-- * 'ospTop'+offSetPosition+    :: OffSetPosition+offSetPosition =+    OffSetPosition+    { _ospLeft = Nothing+    , _ospTop = Nothing+    }++-- | Offset distance from left side of an asset or a window.+ospLeft :: Lens' OffSetPosition (Maybe Int32)+ospLeft+  = lens _ospLeft (\ s a -> s{_ospLeft = a}) .+      mapping _Coerce++-- | Offset distance from top side of an asset or a window.+ospTop :: Lens' OffSetPosition (Maybe Int32)+ospTop+  = lens _ospTop (\ s a -> s{_ospTop = a}) .+      mapping _Coerce++instance FromJSON OffSetPosition where+        parseJSON+          = withObject "OffSetPosition"+              (\ o ->+                 OffSetPosition <$> (o .:? "left") <*> (o .:? "top"))++instance ToJSON OffSetPosition where+        toJSON OffSetPosition{..}+          = object+              (catMaybes+                 [("left" .=) <$> _ospLeft, ("top" .=) <$> _ospTop])++-- | Represents a metric.+--+-- /See:/ 'metric' smart constructor.+data Metric = Metric+    { _mKind :: !Text+    , _mName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metric' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mKind'+--+-- * 'mName'+metric+    :: Metric+metric =+    Metric+    { _mKind = "dfareporting#metric"+    , _mName = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#metric.+mKind :: Lens' Metric Text+mKind = lens _mKind (\ s a -> s{_mKind = a})++-- | The metric name, e.g. dfa:impressions+mName :: Lens' Metric (Maybe Text)+mName = lens _mName (\ s a -> s{_mName = a})++instance FromJSON Metric where+        parseJSON+          = withObject "Metric"+              (\ o ->+                 Metric <$>+                   (o .:? "kind" .!= "dfareporting#metric") <*>+                     (o .:? "name"))++instance ToJSON Metric where+        toJSON Metric{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mKind), ("name" .=) <$> _mName])++-- | Contains properties of a remarketing list\'s sharing information.+-- Sharing allows other accounts or advertisers to target to your+-- remarketing lists. This resource can be used to manage remarketing list+-- sharing to other accounts and advertisers.+--+-- /See:/ 'remarketingListShare' smart constructor.+data RemarketingListShare = RemarketingListShare+    { _rlsSharedAdvertiserIds :: !(Maybe [Textual Int64])+    , _rlsKind                :: !Text+    , _rlsRemarketingListId   :: !(Maybe (Textual Int64))+    , _rlsSharedAccountIds    :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListShare' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlsSharedAdvertiserIds'+--+-- * 'rlsKind'+--+-- * 'rlsRemarketingListId'+--+-- * 'rlsSharedAccountIds'+remarketingListShare+    :: RemarketingListShare+remarketingListShare =+    RemarketingListShare+    { _rlsSharedAdvertiserIds = Nothing+    , _rlsKind = "dfareporting#remarketingListShare"+    , _rlsRemarketingListId = Nothing+    , _rlsSharedAccountIds = Nothing+    }++-- | Advertisers that the remarketing list is shared with.+rlsSharedAdvertiserIds :: Lens' RemarketingListShare [Int64]+rlsSharedAdvertiserIds+  = lens _rlsSharedAdvertiserIds+      (\ s a -> s{_rlsSharedAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#remarketingListShare\".+rlsKind :: Lens' RemarketingListShare Text+rlsKind = lens _rlsKind (\ s a -> s{_rlsKind = a})++-- | Remarketing list ID. This is a read-only, auto-generated field.+rlsRemarketingListId :: Lens' RemarketingListShare (Maybe Int64)+rlsRemarketingListId+  = lens _rlsRemarketingListId+      (\ s a -> s{_rlsRemarketingListId = a})+      . mapping _Coerce++-- | Accounts that the remarketing list is shared with.+rlsSharedAccountIds :: Lens' RemarketingListShare [Int64]+rlsSharedAccountIds+  = lens _rlsSharedAccountIds+      (\ s a -> s{_rlsSharedAccountIds = a})+      . _Default+      . _Coerce++instance FromJSON RemarketingListShare where+        parseJSON+          = withObject "RemarketingListShare"+              (\ o ->+                 RemarketingListShare <$>+                   (o .:? "sharedAdvertiserIds" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#remarketingListShare")+                     <*> (o .:? "remarketingListId")+                     <*> (o .:? "sharedAccountIds" .!= mempty))++instance ToJSON RemarketingListShare where+        toJSON RemarketingListShare{..}+          = object+              (catMaybes+                 [("sharedAdvertiserIds" .=) <$>+                    _rlsSharedAdvertiserIds,+                  Just ("kind" .= _rlsKind),+                  ("remarketingListId" .=) <$> _rlsRemarketingListId,+                  ("sharedAccountIds" .=) <$> _rlsSharedAccountIds])++-- | Event Tag List Response+--+-- /See:/ 'eventTagsListResponse' smart constructor.+data EventTagsListResponse = EventTagsListResponse+    { _etlrKind      :: !Text+    , _etlrEventTags :: !(Maybe [EventTag])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etlrKind'+--+-- * 'etlrEventTags'+eventTagsListResponse+    :: EventTagsListResponse+eventTagsListResponse =+    EventTagsListResponse+    { _etlrKind = "dfareporting#eventTagsListResponse"+    , _etlrEventTags = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#eventTagsListResponse\".+etlrKind :: Lens' EventTagsListResponse Text+etlrKind = lens _etlrKind (\ s a -> s{_etlrKind = a})++-- | Event tag collection.+etlrEventTags :: Lens' EventTagsListResponse [EventTag]+etlrEventTags+  = lens _etlrEventTags+      (\ s a -> s{_etlrEventTags = a})+      . _Default+      . _Coerce++instance FromJSON EventTagsListResponse where+        parseJSON+          = withObject "EventTagsListResponse"+              (\ o ->+                 EventTagsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#eventTagsListResponse")+                     <*> (o .:? "eventTags" .!= mempty))++instance ToJSON EventTagsListResponse where+        toJSON EventTagsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _etlrKind),+                  ("eventTags" .=) <$> _etlrEventTags])++-- | User Role List Response+--+-- /See:/ 'userRolesListResponse' smart constructor.+data UserRolesListResponse = UserRolesListResponse+    { _urlrNextPageToken :: !(Maybe Text)+    , _urlrKind          :: !Text+    , _urlrUserRoles     :: !(Maybe [UserRole])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urlrNextPageToken'+--+-- * 'urlrKind'+--+-- * 'urlrUserRoles'+userRolesListResponse+    :: UserRolesListResponse+userRolesListResponse =+    UserRolesListResponse+    { _urlrNextPageToken = Nothing+    , _urlrKind = "dfareporting#userRolesListResponse"+    , _urlrUserRoles = Nothing+    }++-- | Pagination token to be used for the next list operation.+urlrNextPageToken :: Lens' UserRolesListResponse (Maybe Text)+urlrNextPageToken+  = lens _urlrNextPageToken+      (\ s a -> s{_urlrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRolesListResponse\".+urlrKind :: Lens' UserRolesListResponse Text+urlrKind = lens _urlrKind (\ s a -> s{_urlrKind = a})++-- | User role collection.+urlrUserRoles :: Lens' UserRolesListResponse [UserRole]+urlrUserRoles+  = lens _urlrUserRoles+      (\ s a -> s{_urlrUserRoles = a})+      . _Default+      . _Coerce++instance FromJSON UserRolesListResponse where+        parseJSON+          = withObject "UserRolesListResponse"+              (\ o ->+                 UserRolesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#userRolesListResponse")+                     <*> (o .:? "userRoles" .!= mempty))++instance ToJSON UserRolesListResponse where+        toJSON UserRolesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _urlrNextPageToken,+                  Just ("kind" .= _urlrKind),+                  ("userRoles" .=) <$> _urlrUserRoles])++-- | Represents a response to the queryCompatibleFields method.+--+-- /See:/ 'compatibleFields' smart constructor.+data CompatibleFields = CompatibleFields+    { _cfReachReportCompatibleFields               :: !(Maybe ReachReportCompatibleFields)+    , _cfCrossDimensionReachReportCompatibleFields :: !(Maybe CrossDimensionReachReportCompatibleFields)+    , _cfKind                                      :: !Text+    , _cfFloodlightReportCompatibleFields          :: !(Maybe FloodlightReportCompatibleFields)+    , _cfReportCompatibleFields                    :: !(Maybe ReportCompatibleFields)+    , _cfPathToConversionReportCompatibleFields    :: !(Maybe PathToConversionReportCompatibleFields)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfReachReportCompatibleFields'+--+-- * 'cfCrossDimensionReachReportCompatibleFields'+--+-- * 'cfKind'+--+-- * 'cfFloodlightReportCompatibleFields'+--+-- * 'cfReportCompatibleFields'+--+-- * 'cfPathToConversionReportCompatibleFields'+compatibleFields+    :: CompatibleFields+compatibleFields =+    CompatibleFields+    { _cfReachReportCompatibleFields = Nothing+    , _cfCrossDimensionReachReportCompatibleFields = Nothing+    , _cfKind = "dfareporting#compatibleFields"+    , _cfFloodlightReportCompatibleFields = Nothing+    , _cfReportCompatibleFields = Nothing+    , _cfPathToConversionReportCompatibleFields = Nothing+    }++-- | Contains items that are compatible to be selected for a report of type+-- \"REACH\".+cfReachReportCompatibleFields :: Lens' CompatibleFields (Maybe ReachReportCompatibleFields)+cfReachReportCompatibleFields+  = lens _cfReachReportCompatibleFields+      (\ s a -> s{_cfReachReportCompatibleFields = a})++-- | Contains items that are compatible to be selected for a report of type+-- \"CROSS_DIMENSION_REACH\".+cfCrossDimensionReachReportCompatibleFields :: Lens' CompatibleFields (Maybe CrossDimensionReachReportCompatibleFields)+cfCrossDimensionReachReportCompatibleFields+  = lens _cfCrossDimensionReachReportCompatibleFields+      (\ s a ->+         s{_cfCrossDimensionReachReportCompatibleFields = a})++-- | The kind of resource this is, in this case+-- dfareporting#compatibleFields.+cfKind :: Lens' CompatibleFields Text+cfKind = lens _cfKind (\ s a -> s{_cfKind = a})++-- | Contains items that are compatible to be selected for a report of type+-- \"FLOODLIGHT\".+cfFloodlightReportCompatibleFields :: Lens' CompatibleFields (Maybe FloodlightReportCompatibleFields)+cfFloodlightReportCompatibleFields+  = lens _cfFloodlightReportCompatibleFields+      (\ s a -> s{_cfFloodlightReportCompatibleFields = a})++-- | Contains items that are compatible to be selected for a report of type+-- \"STANDARD\".+cfReportCompatibleFields :: Lens' CompatibleFields (Maybe ReportCompatibleFields)+cfReportCompatibleFields+  = lens _cfReportCompatibleFields+      (\ s a -> s{_cfReportCompatibleFields = a})++-- | Contains items that are compatible to be selected for a report of type+-- \"PATH_TO_CONVERSION\".+cfPathToConversionReportCompatibleFields :: Lens' CompatibleFields (Maybe PathToConversionReportCompatibleFields)+cfPathToConversionReportCompatibleFields+  = lens _cfPathToConversionReportCompatibleFields+      (\ s a ->+         s{_cfPathToConversionReportCompatibleFields = a})++instance FromJSON CompatibleFields where+        parseJSON+          = withObject "CompatibleFields"+              (\ o ->+                 CompatibleFields <$>+                   (o .:? "reachReportCompatibleFields") <*>+                     (o .:? "crossDimensionReachReportCompatibleFields")+                     <*>+                     (o .:? "kind" .!= "dfareporting#compatibleFields")+                     <*> (o .:? "floodlightReportCompatibleFields")+                     <*> (o .:? "reportCompatibleFields")+                     <*> (o .:? "pathToConversionReportCompatibleFields"))++instance ToJSON CompatibleFields where+        toJSON CompatibleFields{..}+          = object+              (catMaybes+                 [("reachReportCompatibleFields" .=) <$>+                    _cfReachReportCompatibleFields,+                  ("crossDimensionReachReportCompatibleFields" .=) <$>+                    _cfCrossDimensionReachReportCompatibleFields,+                  Just ("kind" .= _cfKind),+                  ("floodlightReportCompatibleFields" .=) <$>+                    _cfFloodlightReportCompatibleFields,+                  ("reportCompatibleFields" .=) <$>+                    _cfReportCompatibleFields,+                  ("pathToConversionReportCompatibleFields" .=) <$>+                    _cfPathToConversionReportCompatibleFields])++-- | Audience Segment.+--+-- /See:/ 'audienceSegment' smart constructor.+data AudienceSegment = AudienceSegment+    { _asName       :: !(Maybe Text)+    , _asId         :: !(Maybe (Textual Int64))+    , _asAllocation :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AudienceSegment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asName'+--+-- * 'asId'+--+-- * 'asAllocation'+audienceSegment+    :: AudienceSegment+audienceSegment =+    AudienceSegment+    { _asName = Nothing+    , _asId = Nothing+    , _asAllocation = Nothing+    }++-- | Name of this audience segment. This is a required field and must be less+-- than 65 characters long.+asName :: Lens' AudienceSegment (Maybe Text)+asName = lens _asName (\ s a -> s{_asName = a})++-- | ID of this audience segment. This is a read-only, auto-generated field.+asId :: Lens' AudienceSegment (Maybe Int64)+asId+  = lens _asId (\ s a -> s{_asId = a}) .+      mapping _Coerce++-- | Weight allocated to this segment. Must be between 1 and 1000. The weight+-- assigned will be understood in proportion to the weights assigned to+-- other segments in the same segment group.+asAllocation :: Lens' AudienceSegment (Maybe Int32)+asAllocation+  = lens _asAllocation (\ s a -> s{_asAllocation = a})+      . mapping _Coerce++instance FromJSON AudienceSegment where+        parseJSON+          = withObject "AudienceSegment"+              (\ o ->+                 AudienceSegment <$>+                   (o .:? "name") <*> (o .:? "id") <*>+                     (o .:? "allocation"))++instance ToJSON AudienceSegment where+        toJSON AudienceSegment{..}+          = object+              (catMaybes+                 [("name" .=) <$> _asName, ("id" .=) <$> _asId,+                  ("allocation" .=) <$> _asAllocation])++-- | DFP Settings+--+-- /See:/ 'dfpSettings' smart constructor.+data DfpSettings = DfpSettings+    { _dsPubPaidPlacementAccepted      :: !(Maybe Bool)+    , _dsDfpNetworkName                :: !(Maybe Text)+    , _dsPublisherPortalOnly           :: !(Maybe Bool)+    , _dsProgrammaticPlacementAccepted :: !(Maybe Bool)+    , _dsDfpNetworkCode                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DfpSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsPubPaidPlacementAccepted'+--+-- * 'dsDfpNetworkName'+--+-- * 'dsPublisherPortalOnly'+--+-- * 'dsProgrammaticPlacementAccepted'+--+-- * 'dsDfpNetworkCode'+dfpSettings+    :: DfpSettings+dfpSettings =+    DfpSettings+    { _dsPubPaidPlacementAccepted = Nothing+    , _dsDfpNetworkName = Nothing+    , _dsPublisherPortalOnly = Nothing+    , _dsProgrammaticPlacementAccepted = Nothing+    , _dsDfpNetworkCode = Nothing+    }++-- | Whether this directory site accepts publisher-paid tags.+dsPubPaidPlacementAccepted :: Lens' DfpSettings (Maybe Bool)+dsPubPaidPlacementAccepted+  = lens _dsPubPaidPlacementAccepted+      (\ s a -> s{_dsPubPaidPlacementAccepted = a})++-- | DFP network name for this directory site.+dsDfpNetworkName :: Lens' DfpSettings (Maybe Text)+dsDfpNetworkName+  = lens _dsDfpNetworkName+      (\ s a -> s{_dsDfpNetworkName = a})++-- | Whether this directory site is available only via DoubleClick Publisher+-- Portal.+dsPublisherPortalOnly :: Lens' DfpSettings (Maybe Bool)+dsPublisherPortalOnly+  = lens _dsPublisherPortalOnly+      (\ s a -> s{_dsPublisherPortalOnly = a})++-- | Whether this directory site accepts programmatic placements.+dsProgrammaticPlacementAccepted :: Lens' DfpSettings (Maybe Bool)+dsProgrammaticPlacementAccepted+  = lens _dsProgrammaticPlacementAccepted+      (\ s a -> s{_dsProgrammaticPlacementAccepted = a})++-- | DFP network code for this directory site.+dsDfpNetworkCode :: Lens' DfpSettings (Maybe Text)+dsDfpNetworkCode+  = lens _dsDfpNetworkCode+      (\ s a -> s{_dsDfpNetworkCode = a})++instance FromJSON DfpSettings where+        parseJSON+          = withObject "DfpSettings"+              (\ o ->+                 DfpSettings <$>+                   (o .:? "pubPaidPlacementAccepted") <*>+                     (o .:? "dfp_network_name")+                     <*> (o .:? "publisherPortalOnly")+                     <*> (o .:? "programmaticPlacementAccepted")+                     <*> (o .:? "dfp_network_code"))++instance ToJSON DfpSettings where+        toJSON DfpSettings{..}+          = object+              (catMaybes+                 [("pubPaidPlacementAccepted" .=) <$>+                    _dsPubPaidPlacementAccepted,+                  ("dfp_network_name" .=) <$> _dsDfpNetworkName,+                  ("publisherPortalOnly" .=) <$>+                    _dsPublisherPortalOnly,+                  ("programmaticPlacementAccepted" .=) <$>+                    _dsProgrammaticPlacementAccepted,+                  ("dfp_network_code" .=) <$> _dsDfpNetworkCode])++-- | Represents fields that are compatible to be selected for a report of+-- type \"PATH_TO_CONVERSION\".+--+-- /See:/ 'pathToConversionReportCompatibleFields' smart constructor.+data PathToConversionReportCompatibleFields = PathToConversionReportCompatibleFields+    { _ptcrcfMetrics                   :: !(Maybe [Metric])+    , _ptcrcfKind                      :: !Text+    , _ptcrcfConversionDimensions      :: !(Maybe [Dimension])+    , _ptcrcfCustomFloodlightVariables :: !(Maybe [Dimension])+    , _ptcrcfPerInteractionDimensions  :: !(Maybe [Dimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PathToConversionReportCompatibleFields' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptcrcfMetrics'+--+-- * 'ptcrcfKind'+--+-- * 'ptcrcfConversionDimensions'+--+-- * 'ptcrcfCustomFloodlightVariables'+--+-- * 'ptcrcfPerInteractionDimensions'+pathToConversionReportCompatibleFields+    :: PathToConversionReportCompatibleFields+pathToConversionReportCompatibleFields =+    PathToConversionReportCompatibleFields+    { _ptcrcfMetrics = Nothing+    , _ptcrcfKind = "dfareporting#pathToConversionReportCompatibleFields"+    , _ptcrcfConversionDimensions = Nothing+    , _ptcrcfCustomFloodlightVariables = Nothing+    , _ptcrcfPerInteractionDimensions = Nothing+    }++-- | Metrics which are compatible to be selected in the \"metricNames\"+-- section of the report.+ptcrcfMetrics :: Lens' PathToConversionReportCompatibleFields [Metric]+ptcrcfMetrics+  = lens _ptcrcfMetrics+      (\ s a -> s{_ptcrcfMetrics = a})+      . _Default+      . _Coerce++-- | The kind of resource this is, in this case+-- dfareporting#pathToConversionReportCompatibleFields.+ptcrcfKind :: Lens' PathToConversionReportCompatibleFields Text+ptcrcfKind+  = lens _ptcrcfKind (\ s a -> s{_ptcrcfKind = a})++-- | Conversion dimensions which are compatible to be selected in the+-- \"conversionDimensions\" section of the report.+ptcrcfConversionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]+ptcrcfConversionDimensions+  = lens _ptcrcfConversionDimensions+      (\ s a -> s{_ptcrcfConversionDimensions = a})+      . _Default+      . _Coerce++-- | Custom floodlight variables which are compatible to be selected in the+-- \"customFloodlightVariables\" section of the report.+ptcrcfCustomFloodlightVariables :: Lens' PathToConversionReportCompatibleFields [Dimension]+ptcrcfCustomFloodlightVariables+  = lens _ptcrcfCustomFloodlightVariables+      (\ s a -> s{_ptcrcfCustomFloodlightVariables = a})+      . _Default+      . _Coerce++-- | Per-interaction dimensions which are compatible to be selected in the+-- \"perInteractionDimensions\" section of the report.+ptcrcfPerInteractionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]+ptcrcfPerInteractionDimensions+  = lens _ptcrcfPerInteractionDimensions+      (\ s a -> s{_ptcrcfPerInteractionDimensions = a})+      . _Default+      . _Coerce++instance FromJSON+         PathToConversionReportCompatibleFields where+        parseJSON+          = withObject "PathToConversionReportCompatibleFields"+              (\ o ->+                 PathToConversionReportCompatibleFields <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#pathToConversionReportCompatibleFields")+                     <*> (o .:? "conversionDimensions" .!= mempty)+                     <*> (o .:? "customFloodlightVariables" .!= mempty)+                     <*> (o .:? "perInteractionDimensions" .!= mempty))++instance ToJSON+         PathToConversionReportCompatibleFields where+        toJSON PathToConversionReportCompatibleFields{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _ptcrcfMetrics,+                  Just ("kind" .= _ptcrcfKind),+                  ("conversionDimensions" .=) <$>+                    _ptcrcfConversionDimensions,+                  ("customFloodlightVariables" .=) <$>+                    _ptcrcfCustomFloodlightVariables,+                  ("perInteractionDimensions" .=) <$>+                    _ptcrcfPerInteractionDimensions])++-- | Contains information about a city that can be targeted by ads.+--+-- /See:/ 'city' smart constructor.+data City = City+    { _ccMetroCode     :: !(Maybe Text)+    , _ccRegionCode    :: !(Maybe Text)+    , _ccKind          :: !Text+    , _ccRegionDartId  :: !(Maybe (Textual Int64))+    , _ccMetroDmaId    :: !(Maybe (Textual Int64))+    , _ccName          :: !(Maybe Text)+    , _ccCountryCode   :: !(Maybe Text)+    , _ccCountryDartId :: !(Maybe (Textual Int64))+    , _ccDartId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'City' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccMetroCode'+--+-- * 'ccRegionCode'+--+-- * 'ccKind'+--+-- * 'ccRegionDartId'+--+-- * 'ccMetroDmaId'+--+-- * 'ccName'+--+-- * 'ccCountryCode'+--+-- * 'ccCountryDartId'+--+-- * 'ccDartId'+city+    :: City+city =+    City+    { _ccMetroCode = Nothing+    , _ccRegionCode = Nothing+    , _ccKind = "dfareporting#city"+    , _ccRegionDartId = Nothing+    , _ccMetroDmaId = Nothing+    , _ccName = Nothing+    , _ccCountryCode = Nothing+    , _ccCountryDartId = Nothing+    , _ccDartId = Nothing+    }++-- | Metro region code of the metro region (DMA) to which this city belongs.+ccMetroCode :: Lens' City (Maybe Text)+ccMetroCode+  = lens _ccMetroCode (\ s a -> s{_ccMetroCode = a})++-- | Region code of the region to which this city belongs.+ccRegionCode :: Lens' City (Maybe Text)+ccRegionCode+  = lens _ccRegionCode (\ s a -> s{_ccRegionCode = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#city\".+ccKind :: Lens' City Text+ccKind = lens _ccKind (\ s a -> s{_ccKind = a})++-- | DART ID of the region to which this city belongs.+ccRegionDartId :: Lens' City (Maybe Int64)+ccRegionDartId+  = lens _ccRegionDartId+      (\ s a -> s{_ccRegionDartId = a})+      . mapping _Coerce++-- | ID of the metro region (DMA) to which this city belongs.+ccMetroDmaId :: Lens' City (Maybe Int64)+ccMetroDmaId+  = lens _ccMetroDmaId (\ s a -> s{_ccMetroDmaId = a})+      . mapping _Coerce++-- | Name of this city.+ccName :: Lens' City (Maybe Text)+ccName = lens _ccName (\ s a -> s{_ccName = a})++-- | Country code of the country to which this city belongs.+ccCountryCode :: Lens' City (Maybe Text)+ccCountryCode+  = lens _ccCountryCode+      (\ s a -> s{_ccCountryCode = a})++-- | DART ID of the country to which this city belongs.+ccCountryDartId :: Lens' City (Maybe Int64)+ccCountryDartId+  = lens _ccCountryDartId+      (\ s a -> s{_ccCountryDartId = a})+      . mapping _Coerce++-- | DART ID of this city. This is the ID used for targeting and generating+-- reports.+ccDartId :: Lens' City (Maybe Int64)+ccDartId+  = lens _ccDartId (\ s a -> s{_ccDartId = a}) .+      mapping _Coerce++instance FromJSON City where+        parseJSON+          = withObject "City"+              (\ o ->+                 City <$>+                   (o .:? "metroCode") <*> (o .:? "regionCode") <*>+                     (o .:? "kind" .!= "dfareporting#city")+                     <*> (o .:? "regionDartId")+                     <*> (o .:? "metroDmaId")+                     <*> (o .:? "name")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "countryDartId")+                     <*> (o .:? "dartId"))++instance ToJSON City where+        toJSON City{..}+          = object+              (catMaybes+                 [("metroCode" .=) <$> _ccMetroCode,+                  ("regionCode" .=) <$> _ccRegionCode,+                  Just ("kind" .= _ccKind),+                  ("regionDartId" .=) <$> _ccRegionDartId,+                  ("metroDmaId" .=) <$> _ccMetroDmaId,+                  ("name" .=) <$> _ccName,+                  ("countryCode" .=) <$> _ccCountryCode,+                  ("countryDartId" .=) <$> _ccCountryDartId,+                  ("dartId" .=) <$> _ccDartId])++-- | Contains information about a platform type that can be targeted by ads.+--+-- /See:/ 'platformType' smart constructor.+data PlatformType = PlatformType+    { _ptKind :: !Text+    , _ptName :: !(Maybe Text)+    , _ptId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlatformType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptKind'+--+-- * 'ptName'+--+-- * 'ptId'+platformType+    :: PlatformType+platformType =+    PlatformType+    { _ptKind = "dfareporting#platformType"+    , _ptName = Nothing+    , _ptId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#platformType\".+ptKind :: Lens' PlatformType Text+ptKind = lens _ptKind (\ s a -> s{_ptKind = a})++-- | Name of this platform type.+ptName :: Lens' PlatformType (Maybe Text)+ptName = lens _ptName (\ s a -> s{_ptName = a})++-- | ID of this platform type.+ptId :: Lens' PlatformType (Maybe Int64)+ptId+  = lens _ptId (\ s a -> s{_ptId = a}) .+      mapping _Coerce++instance FromJSON PlatformType where+        parseJSON+          = withObject "PlatformType"+              (\ o ->+                 PlatformType <$>+                   (o .:? "kind" .!= "dfareporting#platformType") <*>+                     (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON PlatformType where+        toJSON PlatformType{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ptKind), ("name" .=) <$> _ptName,+                  ("id" .=) <$> _ptId])++-- | Key Value Targeting Expression.+--+-- /See:/ 'keyValueTargetingExpression' smart constructor.+newtype KeyValueTargetingExpression = KeyValueTargetingExpression+    { _kvteExpression :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyValueTargetingExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kvteExpression'+keyValueTargetingExpression+    :: KeyValueTargetingExpression+keyValueTargetingExpression =+    KeyValueTargetingExpression+    { _kvteExpression = Nothing+    }++-- | Keyword expression being targeted by the ad.+kvteExpression :: Lens' KeyValueTargetingExpression (Maybe Text)+kvteExpression+  = lens _kvteExpression+      (\ s a -> s{_kvteExpression = a})++instance FromJSON KeyValueTargetingExpression where+        parseJSON+          = withObject "KeyValueTargetingExpression"+              (\ o ->+                 KeyValueTargetingExpression <$> (o .:? "expression"))++instance ToJSON KeyValueTargetingExpression where+        toJSON KeyValueTargetingExpression{..}+          = object+              (catMaybes [("expression" .=) <$> _kvteExpression])++-- | Companion Click-through override.+--+-- /See:/ 'companionClickThroughOverride' smart constructor.+data CompanionClickThroughOverride = CompanionClickThroughOverride+    { _cctoCreativeId      :: !(Maybe (Textual Int64))+    , _cctoClickThroughURL :: !(Maybe ClickThroughURL)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompanionClickThroughOverride' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cctoCreativeId'+--+-- * 'cctoClickThroughURL'+companionClickThroughOverride+    :: CompanionClickThroughOverride+companionClickThroughOverride =+    CompanionClickThroughOverride+    { _cctoCreativeId = Nothing+    , _cctoClickThroughURL = Nothing+    }++-- | ID of the creative for this companion click-through override.+cctoCreativeId :: Lens' CompanionClickThroughOverride (Maybe Int64)+cctoCreativeId+  = lens _cctoCreativeId+      (\ s a -> s{_cctoCreativeId = a})+      . mapping _Coerce++-- | Click-through URL of this companion click-through override.+cctoClickThroughURL :: Lens' CompanionClickThroughOverride (Maybe ClickThroughURL)+cctoClickThroughURL+  = lens _cctoClickThroughURL+      (\ s a -> s{_cctoClickThroughURL = a})++instance FromJSON CompanionClickThroughOverride where+        parseJSON+          = withObject "CompanionClickThroughOverride"+              (\ o ->+                 CompanionClickThroughOverride <$>+                   (o .:? "creativeId") <*> (o .:? "clickThroughUrl"))++instance ToJSON CompanionClickThroughOverride where+        toJSON CompanionClickThroughOverride{..}+          = object+              (catMaybes+                 [("creativeId" .=) <$> _cctoCreativeId,+                  ("clickThroughUrl" .=) <$> _cctoClickThroughURL])++-- | Advertiser List Response+--+-- /See:/ 'advertisersListResponse' smart constructor.+data AdvertisersListResponse = AdvertisersListResponse+    { _advNextPageToken :: !(Maybe Text)+    , _advKind          :: !Text+    , _advAdvertisers   :: !(Maybe [Advertiser])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'advNextPageToken'+--+-- * 'advKind'+--+-- * 'advAdvertisers'+advertisersListResponse+    :: AdvertisersListResponse+advertisersListResponse =+    AdvertisersListResponse+    { _advNextPageToken = Nothing+    , _advKind = "dfareporting#advertisersListResponse"+    , _advAdvertisers = Nothing+    }++-- | Pagination token to be used for the next list operation.+advNextPageToken :: Lens' AdvertisersListResponse (Maybe Text)+advNextPageToken+  = lens _advNextPageToken+      (\ s a -> s{_advNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#advertisersListResponse\".+advKind :: Lens' AdvertisersListResponse Text+advKind = lens _advKind (\ s a -> s{_advKind = a})++-- | Advertiser collection.+advAdvertisers :: Lens' AdvertisersListResponse [Advertiser]+advAdvertisers+  = lens _advAdvertisers+      (\ s a -> s{_advAdvertisers = a})+      . _Default+      . _Coerce++instance FromJSON AdvertisersListResponse where+        parseJSON+          = withObject "AdvertisersListResponse"+              (\ o ->+                 AdvertisersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#advertisersListResponse")+                     <*> (o .:? "advertisers" .!= mempty))++instance ToJSON AdvertisersListResponse where+        toJSON AdvertisersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _advNextPageToken,+                  Just ("kind" .= _advKind),+                  ("advertisers" .=) <$> _advAdvertisers])++-- | Country List Response+--+-- /See:/ 'countriesListResponse' smart constructor.+data CountriesListResponse = CountriesListResponse+    { _couKind      :: !Text+    , _couCountries :: !(Maybe [Country])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CountriesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'couKind'+--+-- * 'couCountries'+countriesListResponse+    :: CountriesListResponse+countriesListResponse =+    CountriesListResponse+    { _couKind = "dfareporting#countriesListResponse"+    , _couCountries = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#countriesListResponse\".+couKind :: Lens' CountriesListResponse Text+couKind = lens _couKind (\ s a -> s{_couKind = a})++-- | Country collection.+couCountries :: Lens' CountriesListResponse [Country]+couCountries+  = lens _couCountries (\ s a -> s{_couCountries = a})+      . _Default+      . _Coerce++instance FromJSON CountriesListResponse where+        parseJSON+          = withObject "CountriesListResponse"+              (\ o ->+                 CountriesListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#countriesListResponse")+                     <*> (o .:? "countries" .!= mempty))++instance ToJSON CountriesListResponse where+        toJSON CountriesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _couKind),+                  ("countries" .=) <$> _couCountries])++-- | Account Permission Group List Response+--+-- /See:/ 'accountPermissionGroupsListResponse' smart constructor.+data AccountPermissionGroupsListResponse = AccountPermissionGroupsListResponse+    { _apglrKind                    :: !Text+    , _apglrAccountPermissionGroups :: !(Maybe [AccountPermissionGroup])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apglrKind'+--+-- * 'apglrAccountPermissionGroups'+accountPermissionGroupsListResponse+    :: AccountPermissionGroupsListResponse+accountPermissionGroupsListResponse =+    AccountPermissionGroupsListResponse+    { _apglrKind = "dfareporting#accountPermissionGroupsListResponse"+    , _apglrAccountPermissionGroups = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountPermissionGroupsListResponse\".+apglrKind :: Lens' AccountPermissionGroupsListResponse Text+apglrKind+  = lens _apglrKind (\ s a -> s{_apglrKind = a})++-- | Account permission group collection.+apglrAccountPermissionGroups :: Lens' AccountPermissionGroupsListResponse [AccountPermissionGroup]+apglrAccountPermissionGroups+  = lens _apglrAccountPermissionGroups+      (\ s a -> s{_apglrAccountPermissionGroups = a})+      . _Default+      . _Coerce++instance FromJSON AccountPermissionGroupsListResponse+         where+        parseJSON+          = withObject "AccountPermissionGroupsListResponse"+              (\ o ->+                 AccountPermissionGroupsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#accountPermissionGroupsListResponse")+                     <*> (o .:? "accountPermissionGroups" .!= mempty))++instance ToJSON AccountPermissionGroupsListResponse+         where+        toJSON AccountPermissionGroupsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _apglrKind),+                  ("accountPermissionGroups" .=) <$>+                    _apglrAccountPermissionGroups])++-- | Popup Window Properties.+--+-- /See:/ 'popupWindowProperties' smart constructor.+data PopupWindowProperties = PopupWindowProperties+    { _pwpOffSet         :: !(Maybe OffSetPosition)+    , _pwpDimension      :: !(Maybe Size)+    , _pwpShowStatusBar  :: !(Maybe Bool)+    , _pwpShowMenuBar    :: !(Maybe Bool)+    , _pwpPositionType   :: !(Maybe PopupWindowPropertiesPositionType)+    , _pwpShowAddressBar :: !(Maybe Bool)+    , _pwpShowScrollBar  :: !(Maybe Bool)+    , _pwpShowToolBar    :: !(Maybe Bool)+    , _pwpTitle          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PopupWindowProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pwpOffSet'+--+-- * 'pwpDimension'+--+-- * 'pwpShowStatusBar'+--+-- * 'pwpShowMenuBar'+--+-- * 'pwpPositionType'+--+-- * 'pwpShowAddressBar'+--+-- * 'pwpShowScrollBar'+--+-- * 'pwpShowToolBar'+--+-- * 'pwpTitle'+popupWindowProperties+    :: PopupWindowProperties+popupWindowProperties =+    PopupWindowProperties+    { _pwpOffSet = Nothing+    , _pwpDimension = Nothing+    , _pwpShowStatusBar = Nothing+    , _pwpShowMenuBar = Nothing+    , _pwpPositionType = Nothing+    , _pwpShowAddressBar = Nothing+    , _pwpShowScrollBar = Nothing+    , _pwpShowToolBar = Nothing+    , _pwpTitle = Nothing+    }++-- | Upper-left corner coordinates of the popup window. Applicable if+-- positionType is COORDINATES.+pwpOffSet :: Lens' PopupWindowProperties (Maybe OffSetPosition)+pwpOffSet+  = lens _pwpOffSet (\ s a -> s{_pwpOffSet = a})++-- | Popup dimension for a creative. This is a read-only field. Applicable to+-- the following creative types: all RICH_MEDIA and all VPAID+pwpDimension :: Lens' PopupWindowProperties (Maybe Size)+pwpDimension+  = lens _pwpDimension (\ s a -> s{_pwpDimension = a})++-- | Whether to display the browser status bar.+pwpShowStatusBar :: Lens' PopupWindowProperties (Maybe Bool)+pwpShowStatusBar+  = lens _pwpShowStatusBar+      (\ s a -> s{_pwpShowStatusBar = a})++-- | Whether to display the browser menu bar.+pwpShowMenuBar :: Lens' PopupWindowProperties (Maybe Bool)+pwpShowMenuBar+  = lens _pwpShowMenuBar+      (\ s a -> s{_pwpShowMenuBar = a})++-- | Popup window position either centered or at specific coordinate.+pwpPositionType :: Lens' PopupWindowProperties (Maybe PopupWindowPropertiesPositionType)+pwpPositionType+  = lens _pwpPositionType+      (\ s a -> s{_pwpPositionType = a})++-- | Whether to display the browser address bar.+pwpShowAddressBar :: Lens' PopupWindowProperties (Maybe Bool)+pwpShowAddressBar+  = lens _pwpShowAddressBar+      (\ s a -> s{_pwpShowAddressBar = a})++-- | Whether to display the browser scroll bar.+pwpShowScrollBar :: Lens' PopupWindowProperties (Maybe Bool)+pwpShowScrollBar+  = lens _pwpShowScrollBar+      (\ s a -> s{_pwpShowScrollBar = a})++-- | Whether to display the browser tool bar.+pwpShowToolBar :: Lens' PopupWindowProperties (Maybe Bool)+pwpShowToolBar+  = lens _pwpShowToolBar+      (\ s a -> s{_pwpShowToolBar = a})++-- | Title of popup window.+pwpTitle :: Lens' PopupWindowProperties (Maybe Text)+pwpTitle = lens _pwpTitle (\ s a -> s{_pwpTitle = a})++instance FromJSON PopupWindowProperties where+        parseJSON+          = withObject "PopupWindowProperties"+              (\ o ->+                 PopupWindowProperties <$>+                   (o .:? "offset") <*> (o .:? "dimension") <*>+                     (o .:? "showStatusBar")+                     <*> (o .:? "showMenuBar")+                     <*> (o .:? "positionType")+                     <*> (o .:? "showAddressBar")+                     <*> (o .:? "showScrollBar")+                     <*> (o .:? "showToolBar")+                     <*> (o .:? "title"))++instance ToJSON PopupWindowProperties where+        toJSON PopupWindowProperties{..}+          = object+              (catMaybes+                 [("offset" .=) <$> _pwpOffSet,+                  ("dimension" .=) <$> _pwpDimension,+                  ("showStatusBar" .=) <$> _pwpShowStatusBar,+                  ("showMenuBar" .=) <$> _pwpShowMenuBar,+                  ("positionType" .=) <$> _pwpPositionType,+                  ("showAddressBar" .=) <$> _pwpShowAddressBar,+                  ("showScrollBar" .=) <$> _pwpShowScrollBar,+                  ("showToolBar" .=) <$> _pwpShowToolBar,+                  ("title" .=) <$> _pwpTitle])++-- | Event tag override information.+--+-- /See:/ 'eventTagOverride' smart constructor.+data EventTagOverride = EventTagOverride+    { _etoEnabled :: !(Maybe Bool)+    , _etoId      :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagOverride' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etoEnabled'+--+-- * 'etoId'+eventTagOverride+    :: EventTagOverride+eventTagOverride =+    EventTagOverride+    { _etoEnabled = Nothing+    , _etoId = Nothing+    }++-- | Whether this override is enabled.+etoEnabled :: Lens' EventTagOverride (Maybe Bool)+etoEnabled+  = lens _etoEnabled (\ s a -> s{_etoEnabled = a})++-- | ID of this event tag override. This is a read-only, auto-generated+-- field.+etoId :: Lens' EventTagOverride (Maybe Int64)+etoId+  = lens _etoId (\ s a -> s{_etoId = a}) .+      mapping _Coerce++instance FromJSON EventTagOverride where+        parseJSON+          = withObject "EventTagOverride"+              (\ o ->+                 EventTagOverride <$>+                   (o .:? "enabled") <*> (o .:? "id"))++instance ToJSON EventTagOverride where+        toJSON EventTagOverride{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _etoEnabled,+                  ("id" .=) <$> _etoId])++-- | Contains information about a particular version of an operating system+-- that can be targeted by ads.+--+-- /See:/ 'operatingSystemVersion' smart constructor.+data OperatingSystemVersion = OperatingSystemVersion+    { _osvMinorVersion    :: !(Maybe Text)+    , _osvKind            :: !Text+    , _osvOperatingSystem :: !(Maybe OperatingSystem)+    , _osvMajorVersion    :: !(Maybe Text)+    , _osvName            :: !(Maybe Text)+    , _osvId              :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osvMinorVersion'+--+-- * 'osvKind'+--+-- * 'osvOperatingSystem'+--+-- * 'osvMajorVersion'+--+-- * 'osvName'+--+-- * 'osvId'+operatingSystemVersion+    :: OperatingSystemVersion+operatingSystemVersion =+    OperatingSystemVersion+    { _osvMinorVersion = Nothing+    , _osvKind = "dfareporting#operatingSystemVersion"+    , _osvOperatingSystem = Nothing+    , _osvMajorVersion = Nothing+    , _osvName = Nothing+    , _osvId = Nothing+    }++-- | Minor version (number after the first dot) of this operating system+-- version.+osvMinorVersion :: Lens' OperatingSystemVersion (Maybe Text)+osvMinorVersion+  = lens _osvMinorVersion+      (\ s a -> s{_osvMinorVersion = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#operatingSystemVersion\".+osvKind :: Lens' OperatingSystemVersion Text+osvKind = lens _osvKind (\ s a -> s{_osvKind = a})++-- | Operating system of this operating system version.+osvOperatingSystem :: Lens' OperatingSystemVersion (Maybe OperatingSystem)+osvOperatingSystem+  = lens _osvOperatingSystem+      (\ s a -> s{_osvOperatingSystem = a})++-- | Major version (leftmost number) of this operating system version.+osvMajorVersion :: Lens' OperatingSystemVersion (Maybe Text)+osvMajorVersion+  = lens _osvMajorVersion+      (\ s a -> s{_osvMajorVersion = a})++-- | Name of this operating system version.+osvName :: Lens' OperatingSystemVersion (Maybe Text)+osvName = lens _osvName (\ s a -> s{_osvName = a})++-- | ID of this operating system version.+osvId :: Lens' OperatingSystemVersion (Maybe Int64)+osvId+  = lens _osvId (\ s a -> s{_osvId = a}) .+      mapping _Coerce++instance FromJSON OperatingSystemVersion where+        parseJSON+          = withObject "OperatingSystemVersion"+              (\ o ->+                 OperatingSystemVersion <$>+                   (o .:? "minorVersion") <*>+                     (o .:? "kind" .!=+                        "dfareporting#operatingSystemVersion")+                     <*> (o .:? "operatingSystem")+                     <*> (o .:? "majorVersion")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON OperatingSystemVersion where+        toJSON OperatingSystemVersion{..}+          = object+              (catMaybes+                 [("minorVersion" .=) <$> _osvMinorVersion,+                  Just ("kind" .= _osvKind),+                  ("operatingSystem" .=) <$> _osvOperatingSystem,+                  ("majorVersion" .=) <$> _osvMajorVersion,+                  ("name" .=) <$> _osvName, ("id" .=) <$> _osvId])++-- | AccountPermissions contains information about a particular account+-- permission. Some features of DCM require an account permission to be+-- present in the account.+--+-- /See:/ 'accountPermission' smart constructor.+data AccountPermission = AccountPermission+    { _acccKind              :: !Text+    , _acccAccountProFiles   :: !(Maybe [AccountPermissionAccountProFilesItem])+    , _acccName              :: !(Maybe Text)+    , _acccId                :: !(Maybe (Textual Int64))+    , _acccLevel             :: !(Maybe AccountPermissionLevel)+    , _acccPermissionGroupId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acccKind'+--+-- * 'acccAccountProFiles'+--+-- * 'acccName'+--+-- * 'acccId'+--+-- * 'acccLevel'+--+-- * 'acccPermissionGroupId'+accountPermission+    :: AccountPermission+accountPermission =+    AccountPermission+    { _acccKind = "dfareporting#accountPermission"+    , _acccAccountProFiles = Nothing+    , _acccName = Nothing+    , _acccId = Nothing+    , _acccLevel = Nothing+    , _acccPermissionGroupId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountPermission\".+acccKind :: Lens' AccountPermission Text+acccKind = lens _acccKind (\ s a -> s{_acccKind = a})++-- | Account profiles associated with this account permission. Possible+-- values are: - \"ACCOUNT_PROFILE_BASIC\" - \"ACCOUNT_PROFILE_STANDARD\"+acccAccountProFiles :: Lens' AccountPermission [AccountPermissionAccountProFilesItem]+acccAccountProFiles+  = lens _acccAccountProFiles+      (\ s a -> s{_acccAccountProFiles = a})+      . _Default+      . _Coerce++-- | Name of this account permission.+acccName :: Lens' AccountPermission (Maybe Text)+acccName = lens _acccName (\ s a -> s{_acccName = a})++-- | ID of this account permission.+acccId :: Lens' AccountPermission (Maybe Int64)+acccId+  = lens _acccId (\ s a -> s{_acccId = a}) .+      mapping _Coerce++-- | Administrative level required to enable this account permission.+acccLevel :: Lens' AccountPermission (Maybe AccountPermissionLevel)+acccLevel+  = lens _acccLevel (\ s a -> s{_acccLevel = a})++-- | Permission group of this account permission.+acccPermissionGroupId :: Lens' AccountPermission (Maybe Int64)+acccPermissionGroupId+  = lens _acccPermissionGroupId+      (\ s a -> s{_acccPermissionGroupId = a})+      . mapping _Coerce++instance FromJSON AccountPermission where+        parseJSON+          = withObject "AccountPermission"+              (\ o ->+                 AccountPermission <$>+                   (o .:? "kind" .!= "dfareporting#accountPermission")+                     <*> (o .:? "accountProfiles" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "level")+                     <*> (o .:? "permissionGroupId"))++instance ToJSON AccountPermission where+        toJSON AccountPermission{..}+          = object+              (catMaybes+                 [Just ("kind" .= _acccKind),+                  ("accountProfiles" .=) <$> _acccAccountProFiles,+                  ("name" .=) <$> _acccName, ("id" .=) <$> _acccId,+                  ("level" .=) <$> _acccLevel,+                  ("permissionGroupId" .=) <$> _acccPermissionGroupId])++-- | Represents a UserProfile resource.+--+-- /See:/ 'userProFile' smart constructor.+data UserProFile = UserProFile+    { _upfEtag           :: !(Maybe Text)+    , _upfKind           :: !Text+    , _upfAccountName    :: !(Maybe Text)+    , _upfProFileId      :: !(Maybe (Textual Int64))+    , _upfUserName       :: !(Maybe Text)+    , _upfAccountId      :: !(Maybe (Textual Int64))+    , _upfSubAccountName :: !(Maybe Text)+    , _upfSubAccountId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upfEtag'+--+-- * 'upfKind'+--+-- * 'upfAccountName'+--+-- * 'upfProFileId'+--+-- * 'upfUserName'+--+-- * 'upfAccountId'+--+-- * 'upfSubAccountName'+--+-- * 'upfSubAccountId'+userProFile+    :: UserProFile+userProFile =+    UserProFile+    { _upfEtag = Nothing+    , _upfKind = "dfareporting#userProfile"+    , _upfAccountName = Nothing+    , _upfProFileId = Nothing+    , _upfUserName = Nothing+    , _upfAccountId = Nothing+    , _upfSubAccountName = Nothing+    , _upfSubAccountId = Nothing+    }++-- | The eTag of this response for caching purposes.+upfEtag :: Lens' UserProFile (Maybe Text)+upfEtag = lens _upfEtag (\ s a -> s{_upfEtag = a})++-- | The kind of resource this is, in this case dfareporting#userProfile.+upfKind :: Lens' UserProFile Text+upfKind = lens _upfKind (\ s a -> s{_upfKind = a})++-- | The account name this profile belongs to.+upfAccountName :: Lens' UserProFile (Maybe Text)+upfAccountName+  = lens _upfAccountName+      (\ s a -> s{_upfAccountName = a})++-- | The unique ID of the user profile.+upfProFileId :: Lens' UserProFile (Maybe Int64)+upfProFileId+  = lens _upfProFileId (\ s a -> s{_upfProFileId = a})+      . mapping _Coerce++-- | The user name.+upfUserName :: Lens' UserProFile (Maybe Text)+upfUserName+  = lens _upfUserName (\ s a -> s{_upfUserName = a})++-- | The account ID to which this profile belongs.+upfAccountId :: Lens' UserProFile (Maybe Int64)+upfAccountId+  = lens _upfAccountId (\ s a -> s{_upfAccountId = a})+      . mapping _Coerce++-- | The sub account name this profile belongs to if applicable.+upfSubAccountName :: Lens' UserProFile (Maybe Text)+upfSubAccountName+  = lens _upfSubAccountName+      (\ s a -> s{_upfSubAccountName = a})++-- | The sub account ID this profile belongs to if applicable.+upfSubAccountId :: Lens' UserProFile (Maybe Int64)+upfSubAccountId+  = lens _upfSubAccountId+      (\ s a -> s{_upfSubAccountId = a})+      . mapping _Coerce++instance FromJSON UserProFile where+        parseJSON+          = withObject "UserProFile"+              (\ o ->+                 UserProFile <$>+                   (o .:? "etag") <*>+                     (o .:? "kind" .!= "dfareporting#userProfile")+                     <*> (o .:? "accountName")+                     <*> (o .:? "profileId")+                     <*> (o .:? "userName")+                     <*> (o .:? "accountId")+                     <*> (o .:? "subAccountName")+                     <*> (o .:? "subAccountId"))++instance ToJSON UserProFile where+        toJSON UserProFile{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _upfEtag, Just ("kind" .= _upfKind),+                  ("accountName" .=) <$> _upfAccountName,+                  ("profileId" .=) <$> _upfProFileId,+                  ("userName" .=) <$> _upfUserName,+                  ("accountId" .=) <$> _upfAccountId,+                  ("subAccountName" .=) <$> _upfSubAccountName,+                  ("subAccountId" .=) <$> _upfSubAccountId])++-- | Operating System List Response+--+-- /See:/ 'operatingSystemsListResponse' smart constructor.+data OperatingSystemsListResponse = OperatingSystemsListResponse+    { _oslrKind             :: !Text+    , _oslrOperatingSystems :: !(Maybe [OperatingSystem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oslrKind'+--+-- * 'oslrOperatingSystems'+operatingSystemsListResponse+    :: OperatingSystemsListResponse+operatingSystemsListResponse =+    OperatingSystemsListResponse+    { _oslrKind = "dfareporting#operatingSystemsListResponse"+    , _oslrOperatingSystems = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#operatingSystemsListResponse\".+oslrKind :: Lens' OperatingSystemsListResponse Text+oslrKind = lens _oslrKind (\ s a -> s{_oslrKind = a})++-- | Operating system collection.+oslrOperatingSystems :: Lens' OperatingSystemsListResponse [OperatingSystem]+oslrOperatingSystems+  = lens _oslrOperatingSystems+      (\ s a -> s{_oslrOperatingSystems = a})+      . _Default+      . _Coerce++instance FromJSON OperatingSystemsListResponse where+        parseJSON+          = withObject "OperatingSystemsListResponse"+              (\ o ->+                 OperatingSystemsListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#operatingSystemsListResponse")+                     <*> (o .:? "operatingSystems" .!= mempty))++instance ToJSON OperatingSystemsListResponse where+        toJSON OperatingSystemsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _oslrKind),+                  ("operatingSystems" .=) <$> _oslrOperatingSystems])++-- | The report\'s email delivery settings.+--+-- /See:/ 'reportDelivery' smart constructor.+data ReportDelivery = ReportDelivery+    { _rdEmailOwner             :: !(Maybe Bool)+    , _rdRecipients             :: !(Maybe [Recipient])+    , _rdMessage                :: !(Maybe Text)+    , _rdEmailOwnerDeliveryType :: !(Maybe ReportDeliveryEmailOwnerDeliveryType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportDelivery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdEmailOwner'+--+-- * 'rdRecipients'+--+-- * 'rdMessage'+--+-- * 'rdEmailOwnerDeliveryType'+reportDelivery+    :: ReportDelivery+reportDelivery =+    ReportDelivery+    { _rdEmailOwner = Nothing+    , _rdRecipients = Nothing+    , _rdMessage = Nothing+    , _rdEmailOwnerDeliveryType = Nothing+    }++-- | Whether the report should be emailed to the report owner.+rdEmailOwner :: Lens' ReportDelivery (Maybe Bool)+rdEmailOwner+  = lens _rdEmailOwner (\ s a -> s{_rdEmailOwner = a})++-- | The list of recipients to which to email the report.+rdRecipients :: Lens' ReportDelivery [Recipient]+rdRecipients+  = lens _rdRecipients (\ s a -> s{_rdRecipients = a})+      . _Default+      . _Coerce++-- | The message to be sent with each email.+rdMessage :: Lens' ReportDelivery (Maybe Text)+rdMessage+  = lens _rdMessage (\ s a -> s{_rdMessage = a})++-- | The type of delivery for the owner to receive, if enabled.+rdEmailOwnerDeliveryType :: Lens' ReportDelivery (Maybe ReportDeliveryEmailOwnerDeliveryType)+rdEmailOwnerDeliveryType+  = lens _rdEmailOwnerDeliveryType+      (\ s a -> s{_rdEmailOwnerDeliveryType = a})++instance FromJSON ReportDelivery where+        parseJSON+          = withObject "ReportDelivery"+              (\ o ->+                 ReportDelivery <$>+                   (o .:? "emailOwner") <*>+                     (o .:? "recipients" .!= mempty)+                     <*> (o .:? "message")+                     <*> (o .:? "emailOwnerDeliveryType"))++instance ToJSON ReportDelivery where+        toJSON ReportDelivery{..}+          = object+              (catMaybes+                 [("emailOwner" .=) <$> _rdEmailOwner,+                  ("recipients" .=) <$> _rdRecipients,+                  ("message" .=) <$> _rdMessage,+                  ("emailOwnerDeliveryType" .=) <$>+                    _rdEmailOwnerDeliveryType])++-- | Contains properties of a targetable remarketing list. Remarketing+-- enables you to create lists of users who have performed specific actions+-- on a site, then target ads to members of those lists. This resource is a+-- read-only view of a remarketing list to be used to faciliate targeting+-- ads to specific lists. Remarketing lists that are owned by your+-- advertisers and those that are shared to your advertisers or account are+-- accessible via this resource. To manage remarketing lists that are owned+-- by your advertisers, use the RemarketingLists resource.+--+-- /See:/ 'targetableRemarketingList' smart constructor.+data TargetableRemarketingList = TargetableRemarketingList+    { _trlListSize                   :: !(Maybe (Textual Int64))+    , _trlLifeSpan                   :: !(Maybe (Textual Int64))+    , _trlKind                       :: !Text+    , _trlAdvertiserId               :: !(Maybe (Textual Int64))+    , _trlAdvertiserIdDimensionValue :: !(Maybe DimensionValue)+    , _trlActive                     :: !(Maybe Bool)+    , _trlAccountId                  :: !(Maybe (Textual Int64))+    , _trlName                       :: !(Maybe Text)+    , _trlListSource                 :: !(Maybe TargetableRemarketingListListSource)+    , _trlId                         :: !(Maybe (Textual Int64))+    , _trlSubAccountId               :: !(Maybe (Textual Int64))+    , _trlDescription                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetableRemarketingList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trlListSize'+--+-- * 'trlLifeSpan'+--+-- * 'trlKind'+--+-- * 'trlAdvertiserId'+--+-- * 'trlAdvertiserIdDimensionValue'+--+-- * 'trlActive'+--+-- * 'trlAccountId'+--+-- * 'trlName'+--+-- * 'trlListSource'+--+-- * 'trlId'+--+-- * 'trlSubAccountId'+--+-- * 'trlDescription'+targetableRemarketingList+    :: TargetableRemarketingList+targetableRemarketingList =+    TargetableRemarketingList+    { _trlListSize = Nothing+    , _trlLifeSpan = Nothing+    , _trlKind = "dfareporting#targetableRemarketingList"+    , _trlAdvertiserId = Nothing+    , _trlAdvertiserIdDimensionValue = Nothing+    , _trlActive = Nothing+    , _trlAccountId = Nothing+    , _trlName = Nothing+    , _trlListSource = Nothing+    , _trlId = Nothing+    , _trlSubAccountId = Nothing+    , _trlDescription = Nothing+    }++-- | Number of users currently in the list. This is a read-only field.+trlListSize :: Lens' TargetableRemarketingList (Maybe Int64)+trlListSize+  = lens _trlListSize (\ s a -> s{_trlListSize = a}) .+      mapping _Coerce++-- | Number of days that a user should remain in the targetable remarketing+-- list without an impression.+trlLifeSpan :: Lens' TargetableRemarketingList (Maybe Int64)+trlLifeSpan+  = lens _trlLifeSpan (\ s a -> s{_trlLifeSpan = a}) .+      mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#targetableRemarketingList\".+trlKind :: Lens' TargetableRemarketingList Text+trlKind = lens _trlKind (\ s a -> s{_trlKind = a})++-- | Dimension value for the advertiser ID that owns this targetable+-- remarketing list.+trlAdvertiserId :: Lens' TargetableRemarketingList (Maybe Int64)+trlAdvertiserId+  = lens _trlAdvertiserId+      (\ s a -> s{_trlAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser.+trlAdvertiserIdDimensionValue :: Lens' TargetableRemarketingList (Maybe DimensionValue)+trlAdvertiserIdDimensionValue+  = lens _trlAdvertiserIdDimensionValue+      (\ s a -> s{_trlAdvertiserIdDimensionValue = a})++-- | Whether this targetable remarketing list is active.+trlActive :: Lens' TargetableRemarketingList (Maybe Bool)+trlActive+  = lens _trlActive (\ s a -> s{_trlActive = a})++-- | Account ID of this remarketing list. This is a read-only, auto-generated+-- field that is only returned in GET requests.+trlAccountId :: Lens' TargetableRemarketingList (Maybe Int64)+trlAccountId+  = lens _trlAccountId (\ s a -> s{_trlAccountId = a})+      . mapping _Coerce++-- | Name of the targetable remarketing list. Is no greater than 128+-- characters long.+trlName :: Lens' TargetableRemarketingList (Maybe Text)+trlName = lens _trlName (\ s a -> s{_trlName = a})++-- | Product from which this targetable remarketing list was originated.+trlListSource :: Lens' TargetableRemarketingList (Maybe TargetableRemarketingListListSource)+trlListSource+  = lens _trlListSource+      (\ s a -> s{_trlListSource = a})++-- | Targetable remarketing list ID.+trlId :: Lens' TargetableRemarketingList (Maybe Int64)+trlId+  = lens _trlId (\ s a -> s{_trlId = a}) .+      mapping _Coerce++-- | Subaccount ID of this remarketing list. This is a read-only,+-- auto-generated field that is only returned in GET requests.+trlSubAccountId :: Lens' TargetableRemarketingList (Maybe Int64)+trlSubAccountId+  = lens _trlSubAccountId+      (\ s a -> s{_trlSubAccountId = a})+      . mapping _Coerce++-- | Targetable remarketing list description.+trlDescription :: Lens' TargetableRemarketingList (Maybe Text)+trlDescription+  = lens _trlDescription+      (\ s a -> s{_trlDescription = a})++instance FromJSON TargetableRemarketingList where+        parseJSON+          = withObject "TargetableRemarketingList"+              (\ o ->+                 TargetableRemarketingList <$>+                   (o .:? "listSize") <*> (o .:? "lifeSpan") <*>+                     (o .:? "kind" .!=+                        "dfareporting#targetableRemarketingList")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "active")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "listSource")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "description"))++instance ToJSON TargetableRemarketingList where+        toJSON TargetableRemarketingList{..}+          = object+              (catMaybes+                 [("listSize" .=) <$> _trlListSize,+                  ("lifeSpan" .=) <$> _trlLifeSpan,+                  Just ("kind" .= _trlKind),+                  ("advertiserId" .=) <$> _trlAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _trlAdvertiserIdDimensionValue,+                  ("active" .=) <$> _trlActive,+                  ("accountId" .=) <$> _trlAccountId,+                  ("name" .=) <$> _trlName,+                  ("listSource" .=) <$> _trlListSource,+                  ("id" .=) <$> _trlId,+                  ("subaccountId" .=) <$> _trlSubAccountId,+                  ("description" .=) <$> _trlDescription])++-- | Postal Code List Response+--+-- /See:/ 'postalCodesListResponse' smart constructor.+data PostalCodesListResponse = PostalCodesListResponse+    { _pclrKind        :: !Text+    , _pclrPostalCodes :: !(Maybe [PostalCode])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostalCodesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pclrKind'+--+-- * 'pclrPostalCodes'+postalCodesListResponse+    :: PostalCodesListResponse+postalCodesListResponse =+    PostalCodesListResponse+    { _pclrKind = "dfareporting#postalCodesListResponse"+    , _pclrPostalCodes = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#postalCodesListResponse\".+pclrKind :: Lens' PostalCodesListResponse Text+pclrKind = lens _pclrKind (\ s a -> s{_pclrKind = a})++-- | Postal code collection.+pclrPostalCodes :: Lens' PostalCodesListResponse [PostalCode]+pclrPostalCodes+  = lens _pclrPostalCodes+      (\ s a -> s{_pclrPostalCodes = a})+      . _Default+      . _Coerce++instance FromJSON PostalCodesListResponse where+        parseJSON+          = withObject "PostalCodesListResponse"+              (\ o ->+                 PostalCodesListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#postalCodesListResponse")+                     <*> (o .:? "postalCodes" .!= mempty))++instance ToJSON PostalCodesListResponse where+        toJSON PostalCodesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pclrKind),+                  ("postalCodes" .=) <$> _pclrPostalCodes])++-- | Describes a change that a user has made to a resource.+--+-- /See:/ 'changeLog' smart constructor.+data ChangeLog = ChangeLog+    { _chaUserProFileId   :: !(Maybe (Textual Int64))+    , _chaObjectType      :: !(Maybe Text)+    , _chaUserProFileName :: !(Maybe Text)+    , _chaKind            :: !Text+    , _chaObjectId        :: !(Maybe (Textual Int64))+    , _chaAction          :: !(Maybe Text)+    , _chaTransactionId   :: !(Maybe (Textual Int64))+    , _chaOldValue        :: !(Maybe Text)+    , _chaAccountId       :: !(Maybe (Textual Int64))+    , _chaNewValue        :: !(Maybe Text)+    , _chaFieldName       :: !(Maybe Text)+    , _chaId              :: !(Maybe (Textual Int64))+    , _chaSubAccountId    :: !(Maybe (Textual Int64))+    , _chaChangeTime      :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeLog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chaUserProFileId'+--+-- * 'chaObjectType'+--+-- * 'chaUserProFileName'+--+-- * 'chaKind'+--+-- * 'chaObjectId'+--+-- * 'chaAction'+--+-- * 'chaTransactionId'+--+-- * 'chaOldValue'+--+-- * 'chaAccountId'+--+-- * 'chaNewValue'+--+-- * 'chaFieldName'+--+-- * 'chaId'+--+-- * 'chaSubAccountId'+--+-- * 'chaChangeTime'+changeLog+    :: ChangeLog+changeLog =+    ChangeLog+    { _chaUserProFileId = Nothing+    , _chaObjectType = Nothing+    , _chaUserProFileName = Nothing+    , _chaKind = "dfareporting#changeLog"+    , _chaObjectId = Nothing+    , _chaAction = Nothing+    , _chaTransactionId = Nothing+    , _chaOldValue = Nothing+    , _chaAccountId = Nothing+    , _chaNewValue = Nothing+    , _chaFieldName = Nothing+    , _chaId = Nothing+    , _chaSubAccountId = Nothing+    , _chaChangeTime = Nothing+    }++-- | ID of the user who modified the object.+chaUserProFileId :: Lens' ChangeLog (Maybe Int64)+chaUserProFileId+  = lens _chaUserProFileId+      (\ s a -> s{_chaUserProFileId = a})+      . mapping _Coerce++-- | Object type of the change log.+chaObjectType :: Lens' ChangeLog (Maybe Text)+chaObjectType+  = lens _chaObjectType+      (\ s a -> s{_chaObjectType = a})++-- | User profile name of the user who modified the object.+chaUserProFileName :: Lens' ChangeLog (Maybe Text)+chaUserProFileName+  = lens _chaUserProFileName+      (\ s a -> s{_chaUserProFileName = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#changeLog\".+chaKind :: Lens' ChangeLog Text+chaKind = lens _chaKind (\ s a -> s{_chaKind = a})++-- | ID of the object of this change log. The object could be a campaign,+-- placement, ad, or other type.+chaObjectId :: Lens' ChangeLog (Maybe Int64)+chaObjectId+  = lens _chaObjectId (\ s a -> s{_chaObjectId = a}) .+      mapping _Coerce++-- | Action which caused the change.+chaAction :: Lens' ChangeLog (Maybe Text)+chaAction+  = lens _chaAction (\ s a -> s{_chaAction = a})++-- | Transaction ID of this change log. When a single API call results in+-- many changes, each change will have a separate ID in the change log but+-- will share the same transactionId.+chaTransactionId :: Lens' ChangeLog (Maybe Int64)+chaTransactionId+  = lens _chaTransactionId+      (\ s a -> s{_chaTransactionId = a})+      . mapping _Coerce++-- | Old value of the object field.+chaOldValue :: Lens' ChangeLog (Maybe Text)+chaOldValue+  = lens _chaOldValue (\ s a -> s{_chaOldValue = a})++-- | Account ID of the modified object.+chaAccountId :: Lens' ChangeLog (Maybe Int64)+chaAccountId+  = lens _chaAccountId (\ s a -> s{_chaAccountId = a})+      . mapping _Coerce++-- | New value of the object field.+chaNewValue :: Lens' ChangeLog (Maybe Text)+chaNewValue+  = lens _chaNewValue (\ s a -> s{_chaNewValue = a})++-- | Field name of the object which changed.+chaFieldName :: Lens' ChangeLog (Maybe Text)+chaFieldName+  = lens _chaFieldName (\ s a -> s{_chaFieldName = a})++-- | ID of this change log.+chaId :: Lens' ChangeLog (Maybe Int64)+chaId+  = lens _chaId (\ s a -> s{_chaId = a}) .+      mapping _Coerce++-- | Subaccount ID of the modified object.+chaSubAccountId :: Lens' ChangeLog (Maybe Int64)+chaSubAccountId+  = lens _chaSubAccountId+      (\ s a -> s{_chaSubAccountId = a})+      . mapping _Coerce++-- | Time when the object was modified.+chaChangeTime :: Lens' ChangeLog (Maybe UTCTime)+chaChangeTime+  = lens _chaChangeTime+      (\ s a -> s{_chaChangeTime = a})+      . mapping _DateTime++instance FromJSON ChangeLog where+        parseJSON+          = withObject "ChangeLog"+              (\ o ->+                 ChangeLog <$>+                   (o .:? "userProfileId") <*> (o .:? "objectType") <*>+                     (o .:? "userProfileName")+                     <*> (o .:? "kind" .!= "dfareporting#changeLog")+                     <*> (o .:? "objectId")+                     <*> (o .:? "action")+                     <*> (o .:? "transactionId")+                     <*> (o .:? "oldValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "newValue")+                     <*> (o .:? "fieldName")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "changeTime"))++instance ToJSON ChangeLog where+        toJSON ChangeLog{..}+          = object+              (catMaybes+                 [("userProfileId" .=) <$> _chaUserProFileId,+                  ("objectType" .=) <$> _chaObjectType,+                  ("userProfileName" .=) <$> _chaUserProFileName,+                  Just ("kind" .= _chaKind),+                  ("objectId" .=) <$> _chaObjectId,+                  ("action" .=) <$> _chaAction,+                  ("transactionId" .=) <$> _chaTransactionId,+                  ("oldValue" .=) <$> _chaOldValue,+                  ("accountId" .=) <$> _chaAccountId,+                  ("newValue" .=) <$> _chaNewValue,+                  ("fieldName" .=) <$> _chaFieldName,+                  ("id" .=) <$> _chaId,+                  ("subaccountId" .=) <$> _chaSubAccountId,+                  ("changeTime" .=) <$> _chaChangeTime])++-- | Contains properties of a placement strategy.+--+-- /See:/ 'placementStrategy' smart constructor.+data PlacementStrategy = PlacementStrategy+    { _psKind      :: !Text+    , _psAccountId :: !(Maybe (Textual Int64))+    , _psName      :: !(Maybe Text)+    , _psId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psKind'+--+-- * 'psAccountId'+--+-- * 'psName'+--+-- * 'psId'+placementStrategy+    :: PlacementStrategy+placementStrategy =+    PlacementStrategy+    { _psKind = "dfareporting#placementStrategy"+    , _psAccountId = Nothing+    , _psName = Nothing+    , _psId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementStrategy\".+psKind :: Lens' PlacementStrategy Text+psKind = lens _psKind (\ s a -> s{_psKind = a})++-- | Account ID of this placement strategy.This is a read-only field that can+-- be left blank.+psAccountId :: Lens' PlacementStrategy (Maybe Int64)+psAccountId+  = lens _psAccountId (\ s a -> s{_psAccountId = a}) .+      mapping _Coerce++-- | Name of this placement strategy. This is a required field. It must be+-- less than 256 characters long and unique among placement strategies of+-- the same account.+psName :: Lens' PlacementStrategy (Maybe Text)+psName = lens _psName (\ s a -> s{_psName = a})++-- | ID of this placement strategy. This is a read-only, auto-generated+-- field.+psId :: Lens' PlacementStrategy (Maybe Int64)+psId+  = lens _psId (\ s a -> s{_psId = a}) .+      mapping _Coerce++instance FromJSON PlacementStrategy where+        parseJSON+          = withObject "PlacementStrategy"+              (\ o ->+                 PlacementStrategy <$>+                   (o .:? "kind" .!= "dfareporting#placementStrategy")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON PlacementStrategy where+        toJSON PlacementStrategy{..}+          = object+              (catMaybes+                 [Just ("kind" .= _psKind),+                  ("accountId" .=) <$> _psAccountId,+                  ("name" .=) <$> _psName, ("id" .=) <$> _psId])++-- | Contains properties of a Floodlight activity.+--+-- /See:/ 'floodlightActivity' smart constructor.+data FloodlightActivity = FloodlightActivity+    { _faCountingMethod                          :: !(Maybe FloodlightActivityCountingMethod)+    , _faTagString                               :: !(Maybe Text)+    , _faSecure                                  :: !(Maybe Bool)+    , _faExpectedURL                             :: !(Maybe Text)+    , _faFloodlightActivityGroupTagString        :: !(Maybe Text)+    , _faFloodlightConfigurationId               :: !(Maybe (Textual Int64))+    , _faKind                                    :: !Text+    , _faImageTagEnabled                         :: !(Maybe Bool)+    , _faAdvertiserId                            :: !(Maybe (Textual Int64))+    , _faAdvertiserIdDimensionValue              :: !(Maybe DimensionValue)+    , _faSSLCompliant                            :: !(Maybe Bool)+    , _faIdDimensionValue                        :: !(Maybe DimensionValue)+    , _faTagFormat                               :: !(Maybe FloodlightActivityTagFormat)+    , _faCacheBustingType                        :: !(Maybe FloodlightActivityCacheBustingType)+    , _faAccountId                               :: !(Maybe (Textual Int64))+    , _faName                                    :: !(Maybe Text)+    , _faPublisherTags                           :: !(Maybe [FloodlightActivityPublisherDynamicTag])+    , _faFloodlightActivityGroupId               :: !(Maybe (Textual Int64))+    , _faHidden                                  :: !(Maybe Bool)+    , _faFloodlightActivityGroupType             :: !(Maybe FloodlightActivityFloodlightActivityGroupType)+    , _faDefaultTags                             :: !(Maybe [FloodlightActivityDynamicTag])+    , _faFloodlightActivityGroupName             :: !(Maybe Text)+    , _faId                                      :: !(Maybe (Textual Int64))+    , _faSSLRequired                             :: !(Maybe Bool)+    , _faUserDefinedVariableTypes                :: !(Maybe [FloodlightActivityUserDefinedVariableTypesItem])+    , _faSubAccountId                            :: !(Maybe (Textual Int64))+    , _faNotes                                   :: !(Maybe Text)+    , _faFloodlightConfigurationIdDimensionValue :: !(Maybe DimensionValue)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faCountingMethod'+--+-- * 'faTagString'+--+-- * 'faSecure'+--+-- * 'faExpectedURL'+--+-- * 'faFloodlightActivityGroupTagString'+--+-- * 'faFloodlightConfigurationId'+--+-- * 'faKind'+--+-- * 'faImageTagEnabled'+--+-- * 'faAdvertiserId'+--+-- * 'faAdvertiserIdDimensionValue'+--+-- * 'faSSLCompliant'+--+-- * 'faIdDimensionValue'+--+-- * 'faTagFormat'+--+-- * 'faCacheBustingType'+--+-- * 'faAccountId'+--+-- * 'faName'+--+-- * 'faPublisherTags'+--+-- * 'faFloodlightActivityGroupId'+--+-- * 'faHidden'+--+-- * 'faFloodlightActivityGroupType'+--+-- * 'faDefaultTags'+--+-- * 'faFloodlightActivityGroupName'+--+-- * 'faId'+--+-- * 'faSSLRequired'+--+-- * 'faUserDefinedVariableTypes'+--+-- * 'faSubAccountId'+--+-- * 'faNotes'+--+-- * 'faFloodlightConfigurationIdDimensionValue'+floodlightActivity+    :: FloodlightActivity+floodlightActivity =+    FloodlightActivity+    { _faCountingMethod = Nothing+    , _faTagString = Nothing+    , _faSecure = Nothing+    , _faExpectedURL = Nothing+    , _faFloodlightActivityGroupTagString = Nothing+    , _faFloodlightConfigurationId = Nothing+    , _faKind = "dfareporting#floodlightActivity"+    , _faImageTagEnabled = Nothing+    , _faAdvertiserId = Nothing+    , _faAdvertiserIdDimensionValue = Nothing+    , _faSSLCompliant = Nothing+    , _faIdDimensionValue = Nothing+    , _faTagFormat = Nothing+    , _faCacheBustingType = Nothing+    , _faAccountId = Nothing+    , _faName = Nothing+    , _faPublisherTags = Nothing+    , _faFloodlightActivityGroupId = Nothing+    , _faHidden = Nothing+    , _faFloodlightActivityGroupType = Nothing+    , _faDefaultTags = Nothing+    , _faFloodlightActivityGroupName = Nothing+    , _faId = Nothing+    , _faSSLRequired = Nothing+    , _faUserDefinedVariableTypes = Nothing+    , _faSubAccountId = Nothing+    , _faNotes = Nothing+    , _faFloodlightConfigurationIdDimensionValue = Nothing+    }++-- | Counting method for conversions for this floodlight activity. This is a+-- required field.+faCountingMethod :: Lens' FloodlightActivity (Maybe FloodlightActivityCountingMethod)+faCountingMethod+  = lens _faCountingMethod+      (\ s a -> s{_faCountingMethod = a})++-- | Value of the cat= paramter in the floodlight tag, which the ad servers+-- use to identify the activity. This is optional: if empty, a new tag+-- string will be generated for you. This string must be 1 to 8 characters+-- long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag+-- string must also be unique among activities of the same activity group.+-- This field is read-only after insertion.+faTagString :: Lens' FloodlightActivity (Maybe Text)+faTagString+  = lens _faTagString (\ s a -> s{_faTagString = a})++-- | Whether this tag should use SSL.+faSecure :: Lens' FloodlightActivity (Maybe Bool)+faSecure = lens _faSecure (\ s a -> s{_faSecure = a})++-- | URL where this tag will be deployed. If specified, must be less than 256+-- characters long.+faExpectedURL :: Lens' FloodlightActivity (Maybe Text)+faExpectedURL+  = lens _faExpectedURL+      (\ s a -> s{_faExpectedURL = a})++-- | Tag string of the associated floodlight activity group. This is a+-- read-only field.+faFloodlightActivityGroupTagString :: Lens' FloodlightActivity (Maybe Text)+faFloodlightActivityGroupTagString+  = lens _faFloodlightActivityGroupTagString+      (\ s a -> s{_faFloodlightActivityGroupTagString = a})++-- | Floodlight configuration ID of this floodlight activity. If this field+-- is left blank, the value will be copied over either from the activity+-- group\'s floodlight configuration or from the existing activity\'s+-- floodlight configuration.+faFloodlightConfigurationId :: Lens' FloodlightActivity (Maybe Int64)+faFloodlightConfigurationId+  = lens _faFloodlightConfigurationId+      (\ s a -> s{_faFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightActivity\".+faKind :: Lens' FloodlightActivity Text+faKind = lens _faKind (\ s a -> s{_faKind = a})++-- | Whether the image tag is enabled for this activity.+faImageTagEnabled :: Lens' FloodlightActivity (Maybe Bool)+faImageTagEnabled+  = lens _faImageTagEnabled+      (\ s a -> s{_faImageTagEnabled = a})++-- | Advertiser ID of this floodlight activity. If this field is left blank,+-- the value will be copied over either from the activity group\'s+-- advertiser or the existing activity\'s advertiser.+faAdvertiserId :: Lens' FloodlightActivity (Maybe Int64)+faAdvertiserId+  = lens _faAdvertiserId+      (\ s a -> s{_faAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+faAdvertiserIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)+faAdvertiserIdDimensionValue+  = lens _faAdvertiserIdDimensionValue+      (\ s a -> s{_faAdvertiserIdDimensionValue = a})++-- | Whether the floodlight activity is SSL-compliant. This is a read-only+-- field, its value detected by the system from the floodlight tags.+faSSLCompliant :: Lens' FloodlightActivity (Maybe Bool)+faSSLCompliant+  = lens _faSSLCompliant+      (\ s a -> s{_faSSLCompliant = a})++-- | Dimension value for the ID of this floodlight activity. This is a+-- read-only, auto-generated field.+faIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)+faIdDimensionValue+  = lens _faIdDimensionValue+      (\ s a -> s{_faIdDimensionValue = a})++-- | Tag format type for the floodlight activity. If left blank, the tag+-- format will default to HTML.+faTagFormat :: Lens' FloodlightActivity (Maybe FloodlightActivityTagFormat)+faTagFormat+  = lens _faTagFormat (\ s a -> s{_faTagFormat = a})++-- | Code type used for cache busting in the generated tag.+faCacheBustingType :: Lens' FloodlightActivity (Maybe FloodlightActivityCacheBustingType)+faCacheBustingType+  = lens _faCacheBustingType+      (\ s a -> s{_faCacheBustingType = a})++-- | Account ID of this floodlight activity. This is a read-only field that+-- can be left blank.+faAccountId :: Lens' FloodlightActivity (Maybe Int64)+faAccountId+  = lens _faAccountId (\ s a -> s{_faAccountId = a}) .+      mapping _Coerce++-- | Name of this floodlight activity. This is a required field. Must be less+-- than 129 characters long and cannot contain quotes.+faName :: Lens' FloodlightActivity (Maybe Text)+faName = lens _faName (\ s a -> s{_faName = a})++-- | Publisher dynamic floodlight tags.+faPublisherTags :: Lens' FloodlightActivity [FloodlightActivityPublisherDynamicTag]+faPublisherTags+  = lens _faPublisherTags+      (\ s a -> s{_faPublisherTags = a})+      . _Default+      . _Coerce++-- | Floodlight activity group ID of this floodlight activity. This is a+-- required field.+faFloodlightActivityGroupId :: Lens' FloodlightActivity (Maybe Int64)+faFloodlightActivityGroupId+  = lens _faFloodlightActivityGroupId+      (\ s a -> s{_faFloodlightActivityGroupId = a})+      . mapping _Coerce++-- | Whether this activity is archived.+faHidden :: Lens' FloodlightActivity (Maybe Bool)+faHidden = lens _faHidden (\ s a -> s{_faHidden = a})++-- | Type of the associated floodlight activity group. This is a read-only+-- field.+faFloodlightActivityGroupType :: Lens' FloodlightActivity (Maybe FloodlightActivityFloodlightActivityGroupType)+faFloodlightActivityGroupType+  = lens _faFloodlightActivityGroupType+      (\ s a -> s{_faFloodlightActivityGroupType = a})++-- | Dynamic floodlight tags.+faDefaultTags :: Lens' FloodlightActivity [FloodlightActivityDynamicTag]+faDefaultTags+  = lens _faDefaultTags+      (\ s a -> s{_faDefaultTags = a})+      . _Default+      . _Coerce++-- | Name of the associated floodlight activity group. This is a read-only+-- field.+faFloodlightActivityGroupName :: Lens' FloodlightActivity (Maybe Text)+faFloodlightActivityGroupName+  = lens _faFloodlightActivityGroupName+      (\ s a -> s{_faFloodlightActivityGroupName = a})++-- | ID of this floodlight activity. This is a read-only, auto-generated+-- field.+faId :: Lens' FloodlightActivity (Maybe Int64)+faId+  = lens _faId (\ s a -> s{_faId = a}) .+      mapping _Coerce++-- | Whether this floodlight activity must be SSL-compliant.+faSSLRequired :: Lens' FloodlightActivity (Maybe Bool)+faSSLRequired+  = lens _faSSLRequired+      (\ s a -> s{_faSSLRequired = a})++-- | List of the user-defined variables used by this conversion tag. These+-- map to the \"u[1-20]=\" in the tags. Each of these can have a user+-- defined type. Acceptable values are: - \"U1\" - \"U2\" - \"U3\" - \"U4\"+-- - \"U5\" - \"U6\" - \"U7\" - \"U8\" - \"U9\" - \"U10\" - \"U11\" -+-- \"U12\" - \"U13\" - \"U14\" - \"U15\" - \"U16\" - \"U17\" - \"U18\" -+-- \"U19\" - \"U20\"+faUserDefinedVariableTypes :: Lens' FloodlightActivity [FloodlightActivityUserDefinedVariableTypesItem]+faUserDefinedVariableTypes+  = lens _faUserDefinedVariableTypes+      (\ s a -> s{_faUserDefinedVariableTypes = a})+      . _Default+      . _Coerce++-- | Subaccount ID of this floodlight activity. This is a read-only field+-- that can be left blank.+faSubAccountId :: Lens' FloodlightActivity (Maybe Int64)+faSubAccountId+  = lens _faSubAccountId+      (\ s a -> s{_faSubAccountId = a})+      . mapping _Coerce++-- | General notes or implementation instructions for the tag.+faNotes :: Lens' FloodlightActivity (Maybe Text)+faNotes = lens _faNotes (\ s a -> s{_faNotes = a})++-- | Dimension value for the ID of the floodlight configuration. This is a+-- read-only, auto-generated field.+faFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)+faFloodlightConfigurationIdDimensionValue+  = lens _faFloodlightConfigurationIdDimensionValue+      (\ s a ->+         s{_faFloodlightConfigurationIdDimensionValue = a})++instance FromJSON FloodlightActivity where+        parseJSON+          = withObject "FloodlightActivity"+              (\ o ->+                 FloodlightActivity <$>+                   (o .:? "countingMethod") <*> (o .:? "tagString") <*>+                     (o .:? "secure")+                     <*> (o .:? "expectedUrl")+                     <*> (o .:? "floodlightActivityGroupTagString")+                     <*> (o .:? "floodlightConfigurationId")+                     <*>+                     (o .:? "kind" .!= "dfareporting#floodlightActivity")+                     <*> (o .:? "imageTagEnabled")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "tagFormat")+                     <*> (o .:? "cacheBustingType")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "publisherTags" .!= mempty)+                     <*> (o .:? "floodlightActivityGroupId")+                     <*> (o .:? "hidden")+                     <*> (o .:? "floodlightActivityGroupType")+                     <*> (o .:? "defaultTags" .!= mempty)+                     <*> (o .:? "floodlightActivityGroupName")+                     <*> (o .:? "id")+                     <*> (o .:? "sslRequired")+                     <*> (o .:? "userDefinedVariableTypes" .!= mempty)+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "notes")+                     <*>+                     (o .:? "floodlightConfigurationIdDimensionValue"))++instance ToJSON FloodlightActivity where+        toJSON FloodlightActivity{..}+          = object+              (catMaybes+                 [("countingMethod" .=) <$> _faCountingMethod,+                  ("tagString" .=) <$> _faTagString,+                  ("secure" .=) <$> _faSecure,+                  ("expectedUrl" .=) <$> _faExpectedURL,+                  ("floodlightActivityGroupTagString" .=) <$>+                    _faFloodlightActivityGroupTagString,+                  ("floodlightConfigurationId" .=) <$>+                    _faFloodlightConfigurationId,+                  Just ("kind" .= _faKind),+                  ("imageTagEnabled" .=) <$> _faImageTagEnabled,+                  ("advertiserId" .=) <$> _faAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _faAdvertiserIdDimensionValue,+                  ("sslCompliant" .=) <$> _faSSLCompliant,+                  ("idDimensionValue" .=) <$> _faIdDimensionValue,+                  ("tagFormat" .=) <$> _faTagFormat,+                  ("cacheBustingType" .=) <$> _faCacheBustingType,+                  ("accountId" .=) <$> _faAccountId,+                  ("name" .=) <$> _faName,+                  ("publisherTags" .=) <$> _faPublisherTags,+                  ("floodlightActivityGroupId" .=) <$>+                    _faFloodlightActivityGroupId,+                  ("hidden" .=) <$> _faHidden,+                  ("floodlightActivityGroupType" .=) <$>+                    _faFloodlightActivityGroupType,+                  ("defaultTags" .=) <$> _faDefaultTags,+                  ("floodlightActivityGroupName" .=) <$>+                    _faFloodlightActivityGroupName,+                  ("id" .=) <$> _faId,+                  ("sslRequired" .=) <$> _faSSLRequired,+                  ("userDefinedVariableTypes" .=) <$>+                    _faUserDefinedVariableTypes,+                  ("subaccountId" .=) <$> _faSubAccountId,+                  ("notes" .=) <$> _faNotes,+                  ("floodlightConfigurationIdDimensionValue" .=) <$>+                    _faFloodlightConfigurationIdDimensionValue])++-- | Platform Type List Response+--+-- /See:/ 'platformTypesListResponse' smart constructor.+data PlatformTypesListResponse = PlatformTypesListResponse+    { _ptlrKind          :: !Text+    , _ptlrPlatformTypes :: !(Maybe [PlatformType])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlatformTypesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptlrKind'+--+-- * 'ptlrPlatformTypes'+platformTypesListResponse+    :: PlatformTypesListResponse+platformTypesListResponse =+    PlatformTypesListResponse+    { _ptlrKind = "dfareporting#platformTypesListResponse"+    , _ptlrPlatformTypes = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#platformTypesListResponse\".+ptlrKind :: Lens' PlatformTypesListResponse Text+ptlrKind = lens _ptlrKind (\ s a -> s{_ptlrKind = a})++-- | Platform type collection.+ptlrPlatformTypes :: Lens' PlatformTypesListResponse [PlatformType]+ptlrPlatformTypes+  = lens _ptlrPlatformTypes+      (\ s a -> s{_ptlrPlatformTypes = a})+      . _Default+      . _Coerce++instance FromJSON PlatformTypesListResponse where+        parseJSON+          = withObject "PlatformTypesListResponse"+              (\ o ->+                 PlatformTypesListResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#platformTypesListResponse")+                     <*> (o .:? "platformTypes" .!= mempty))++instance ToJSON PlatformTypesListResponse where+        toJSON PlatformTypesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ptlrKind),+                  ("platformTypes" .=) <$> _ptlrPlatformTypes])++-- | Modification timestamp.+--+-- /See:/ 'lastModifiedInfo' smart constructor.+newtype LastModifiedInfo = LastModifiedInfo+    { _lmiTime :: Maybe (Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LastModifiedInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lmiTime'+lastModifiedInfo+    :: LastModifiedInfo+lastModifiedInfo =+    LastModifiedInfo+    { _lmiTime = Nothing+    }++-- | Timestamp of the last change in milliseconds since epoch.+lmiTime :: Lens' LastModifiedInfo (Maybe Int64)+lmiTime+  = lens _lmiTime (\ s a -> s{_lmiTime = a}) .+      mapping _Coerce++instance FromJSON LastModifiedInfo where+        parseJSON+          = withObject "LastModifiedInfo"+              (\ o -> LastModifiedInfo <$> (o .:? "time"))++instance ToJSON LastModifiedInfo where+        toJSON LastModifiedInfo{..}+          = object (catMaybes [("time" .=) <$> _lmiTime])++-- | Target Window.+--+-- /See:/ 'targetWindow' smart constructor.+data TargetWindow = TargetWindow+    { _twCustomHTML         :: !(Maybe Text)+    , _twTargetWindowOption :: !(Maybe TargetWindowTargetWindowOption)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetWindow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'twCustomHTML'+--+-- * 'twTargetWindowOption'+targetWindow+    :: TargetWindow+targetWindow =+    TargetWindow+    { _twCustomHTML = Nothing+    , _twTargetWindowOption = Nothing+    }++-- | User-entered value.+twCustomHTML :: Lens' TargetWindow (Maybe Text)+twCustomHTML+  = lens _twCustomHTML (\ s a -> s{_twCustomHTML = a})++-- | Type of browser window for which the backup image of the flash creative+-- can be displayed.+twTargetWindowOption :: Lens' TargetWindow (Maybe TargetWindowTargetWindowOption)+twTargetWindowOption+  = lens _twTargetWindowOption+      (\ s a -> s{_twTargetWindowOption = a})++instance FromJSON TargetWindow where+        parseJSON+          = withObject "TargetWindow"+              (\ o ->+                 TargetWindow <$>+                   (o .:? "customHtml") <*>+                     (o .:? "targetWindowOption"))++instance ToJSON TargetWindow where+        toJSON TargetWindow{..}+          = object+              (catMaybes+                 [("customHtml" .=) <$> _twCustomHTML,+                  ("targetWindowOption" .=) <$> _twTargetWindowOption])++-- | AccountPermissionGroups contains a mapping of permission group IDs to+-- names. A permission group is a grouping of account permissions.+--+-- /See:/ 'accountPermissionGroup' smart constructor.+data AccountPermissionGroup = AccountPermissionGroup+    { _apgpKind :: !Text+    , _apgpName :: !(Maybe Text)+    , _apgpId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apgpKind'+--+-- * 'apgpName'+--+-- * 'apgpId'+accountPermissionGroup+    :: AccountPermissionGroup+accountPermissionGroup =+    AccountPermissionGroup+    { _apgpKind = "dfareporting#accountPermissionGroup"+    , _apgpName = Nothing+    , _apgpId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#accountPermissionGroup\".+apgpKind :: Lens' AccountPermissionGroup Text+apgpKind = lens _apgpKind (\ s a -> s{_apgpKind = a})++-- | Name of this account permission group.+apgpName :: Lens' AccountPermissionGroup (Maybe Text)+apgpName = lens _apgpName (\ s a -> s{_apgpName = a})++-- | ID of this account permission group.+apgpId :: Lens' AccountPermissionGroup (Maybe Int64)+apgpId+  = lens _apgpId (\ s a -> s{_apgpId = a}) .+      mapping _Coerce++instance FromJSON AccountPermissionGroup where+        parseJSON+          = withObject "AccountPermissionGroup"+              (\ o ->+                 AccountPermissionGroup <$>+                   (o .:? "kind" .!=+                      "dfareporting#accountPermissionGroup")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON AccountPermissionGroup where+        toJSON AccountPermissionGroup{..}+          = object+              (catMaybes+                 [Just ("kind" .= _apgpKind),+                  ("name" .=) <$> _apgpName, ("id" .=) <$> _apgpId])++-- | Contains properties of a DCM advertiser.+--+-- /See:/ 'advertiser' smart constructor.+data Advertiser = Advertiser+    { _advdOriginalFloodlightConfigurationId       :: !(Maybe (Textual Int64))+    , _advdStatus                                  :: !(Maybe AdvertiserStatus)+    , _advdFloodlightConfigurationId               :: !(Maybe (Textual Int64))+    , _advdKind                                    :: !Text+    , _advdSuspended                               :: !(Maybe Bool)+    , _advdIdDimensionValue                        :: !(Maybe DimensionValue)+    , _advdAccountId                               :: !(Maybe (Textual Int64))+    , _advdDefaultEmail                            :: !(Maybe Text)+    , _advdName                                    :: !(Maybe Text)+    , _advdAdvertiserGroupId                       :: !(Maybe (Textual Int64))+    , _advdDefaultClickThroughEventTagId           :: !(Maybe (Textual Int64))+    , _advdId                                      :: !(Maybe (Textual Int64))+    , _advdSubAccountId                            :: !(Maybe (Textual Int64))+    , _advdFloodlightConfigurationIdDimensionValue :: !(Maybe DimensionValue)+    , _advdClickThroughURLSuffix                   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Advertiser' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'advdOriginalFloodlightConfigurationId'+--+-- * 'advdStatus'+--+-- * 'advdFloodlightConfigurationId'+--+-- * 'advdKind'+--+-- * 'advdSuspended'+--+-- * 'advdIdDimensionValue'+--+-- * 'advdAccountId'+--+-- * 'advdDefaultEmail'+--+-- * 'advdName'+--+-- * 'advdAdvertiserGroupId'+--+-- * 'advdDefaultClickThroughEventTagId'+--+-- * 'advdId'+--+-- * 'advdSubAccountId'+--+-- * 'advdFloodlightConfigurationIdDimensionValue'+--+-- * 'advdClickThroughURLSuffix'+advertiser+    :: Advertiser+advertiser =+    Advertiser+    { _advdOriginalFloodlightConfigurationId = Nothing+    , _advdStatus = Nothing+    , _advdFloodlightConfigurationId = Nothing+    , _advdKind = "dfareporting#advertiser"+    , _advdSuspended = Nothing+    , _advdIdDimensionValue = Nothing+    , _advdAccountId = Nothing+    , _advdDefaultEmail = Nothing+    , _advdName = Nothing+    , _advdAdvertiserGroupId = Nothing+    , _advdDefaultClickThroughEventTagId = Nothing+    , _advdId = Nothing+    , _advdSubAccountId = Nothing+    , _advdFloodlightConfigurationIdDimensionValue = Nothing+    , _advdClickThroughURLSuffix = Nothing+    }++-- | Original floodlight configuration before any sharing occurred. Set the+-- floodlightConfigurationId of this advertiser to+-- originalFloodlightConfigurationId to unshare the advertiser\'s current+-- floodlight configuration. You cannot unshare an advertiser\'s floodlight+-- configuration if the shared configuration has activities associated with+-- any campaign or placement.+advdOriginalFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)+advdOriginalFloodlightConfigurationId+  = lens _advdOriginalFloodlightConfigurationId+      (\ s a ->+         s{_advdOriginalFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Status of this advertiser.+advdStatus :: Lens' Advertiser (Maybe AdvertiserStatus)+advdStatus+  = lens _advdStatus (\ s a -> s{_advdStatus = a})++-- | Floodlight configuration ID of this advertiser. The floodlight+-- configuration ID will be created automatically, so on insert this field+-- should be left blank. This field can be set to another advertiser\'s+-- floodlight configuration ID in order to share that advertiser\'s+-- floodlight configuration with this advertiser, so long as: - This+-- advertiser\'s original floodlight configuration is not already+-- associated with floodlight activities or floodlight activity groups. -+-- This advertiser\'s original floodlight configuration is not already+-- shared with another advertiser.+advdFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)+advdFloodlightConfigurationId+  = lens _advdFloodlightConfigurationId+      (\ s a -> s{_advdFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#advertiser\".+advdKind :: Lens' Advertiser Text+advdKind = lens _advdKind (\ s a -> s{_advdKind = a})++-- | Suspension status of this advertiser.+advdSuspended :: Lens' Advertiser (Maybe Bool)+advdSuspended+  = lens _advdSuspended+      (\ s a -> s{_advdSuspended = a})++-- | Dimension value for the ID of this advertiser. This is a read-only,+-- auto-generated field.+advdIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)+advdIdDimensionValue+  = lens _advdIdDimensionValue+      (\ s a -> s{_advdIdDimensionValue = a})++-- | Account ID of this advertiser.This is a read-only field that can be left+-- blank.+advdAccountId :: Lens' Advertiser (Maybe Int64)+advdAccountId+  = lens _advdAccountId+      (\ s a -> s{_advdAccountId = a})+      . mapping _Coerce++-- | Default email address used in sender field for tag emails.+advdDefaultEmail :: Lens' Advertiser (Maybe Text)+advdDefaultEmail+  = lens _advdDefaultEmail+      (\ s a -> s{_advdDefaultEmail = a})++-- | Name of this advertiser. This is a required field and must be less than+-- 256 characters long and unique among advertisers of the same account.+advdName :: Lens' Advertiser (Maybe Text)+advdName = lens _advdName (\ s a -> s{_advdName = a})++-- | ID of the advertiser group this advertiser belongs to. You can group+-- advertisers for reporting purposes, allowing you to see aggregated+-- information for all advertisers in each group.+advdAdvertiserGroupId :: Lens' Advertiser (Maybe Int64)+advdAdvertiserGroupId+  = lens _advdAdvertiserGroupId+      (\ s a -> s{_advdAdvertiserGroupId = a})+      . mapping _Coerce++-- | ID of the click-through event tag to apply by default to the landing+-- pages of this advertiser\'s campaigns.+advdDefaultClickThroughEventTagId :: Lens' Advertiser (Maybe Int64)+advdDefaultClickThroughEventTagId+  = lens _advdDefaultClickThroughEventTagId+      (\ s a -> s{_advdDefaultClickThroughEventTagId = a})+      . mapping _Coerce++-- | ID of this advertiser. This is a read-only, auto-generated field.+advdId :: Lens' Advertiser (Maybe Int64)+advdId+  = lens _advdId (\ s a -> s{_advdId = a}) .+      mapping _Coerce++-- | Subaccount ID of this advertiser.This is a read-only field that can be+-- left blank.+advdSubAccountId :: Lens' Advertiser (Maybe Int64)+advdSubAccountId+  = lens _advdSubAccountId+      (\ s a -> s{_advdSubAccountId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the floodlight configuration. This is a+-- read-only, auto-generated field.+advdFloodlightConfigurationIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)+advdFloodlightConfigurationIdDimensionValue+  = lens _advdFloodlightConfigurationIdDimensionValue+      (\ s a ->+         s{_advdFloodlightConfigurationIdDimensionValue = a})++-- | Suffix added to click-through URL of ad creative associations under this+-- advertiser. Must be less than 129 characters long.+advdClickThroughURLSuffix :: Lens' Advertiser (Maybe Text)+advdClickThroughURLSuffix+  = lens _advdClickThroughURLSuffix+      (\ s a -> s{_advdClickThroughURLSuffix = a})++instance FromJSON Advertiser where+        parseJSON+          = withObject "Advertiser"+              (\ o ->+                 Advertiser <$>+                   (o .:? "originalFloodlightConfigurationId") <*>+                     (o .:? "status")+                     <*> (o .:? "floodlightConfigurationId")+                     <*> (o .:? "kind" .!= "dfareporting#advertiser")+                     <*> (o .:? "suspended")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "defaultEmail")+                     <*> (o .:? "name")+                     <*> (o .:? "advertiserGroupId")+                     <*> (o .:? "defaultClickThroughEventTagId")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "floodlightConfigurationIdDimensionValue")+                     <*> (o .:? "clickThroughUrlSuffix"))++instance ToJSON Advertiser where+        toJSON Advertiser{..}+          = object+              (catMaybes+                 [("originalFloodlightConfigurationId" .=) <$>+                    _advdOriginalFloodlightConfigurationId,+                  ("status" .=) <$> _advdStatus,+                  ("floodlightConfigurationId" .=) <$>+                    _advdFloodlightConfigurationId,+                  Just ("kind" .= _advdKind),+                  ("suspended" .=) <$> _advdSuspended,+                  ("idDimensionValue" .=) <$> _advdIdDimensionValue,+                  ("accountId" .=) <$> _advdAccountId,+                  ("defaultEmail" .=) <$> _advdDefaultEmail,+                  ("name" .=) <$> _advdName,+                  ("advertiserGroupId" .=) <$> _advdAdvertiserGroupId,+                  ("defaultClickThroughEventTagId" .=) <$>+                    _advdDefaultClickThroughEventTagId,+                  ("id" .=) <$> _advdId,+                  ("subaccountId" .=) <$> _advdSubAccountId,+                  ("floodlightConfigurationIdDimensionValue" .=) <$>+                    _advdFloodlightConfigurationIdDimensionValue,+                  ("clickThroughUrlSuffix" .=) <$>+                    _advdClickThroughURLSuffix])++-- | Contains properties of auser role, which is used to manage user access.+--+-- /See:/ 'userRole' smart constructor.+data UserRole = UserRole+    { _urParentUserRoleId :: !(Maybe (Textual Int64))+    , _urKind             :: !Text+    , _urDefaultUserRole  :: !(Maybe Bool)+    , _urAccountId        :: !(Maybe (Textual Int64))+    , _urName             :: !(Maybe Text)+    , _urId               :: !(Maybe (Textual Int64))+    , _urPermissions      :: !(Maybe [UserRolePermission])+    , _urSubAccountId     :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRole' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urParentUserRoleId'+--+-- * 'urKind'+--+-- * 'urDefaultUserRole'+--+-- * 'urAccountId'+--+-- * 'urName'+--+-- * 'urId'+--+-- * 'urPermissions'+--+-- * 'urSubAccountId'+userRole+    :: UserRole+userRole =+    UserRole+    { _urParentUserRoleId = Nothing+    , _urKind = "dfareporting#userRole"+    , _urDefaultUserRole = Nothing+    , _urAccountId = Nothing+    , _urName = Nothing+    , _urId = Nothing+    , _urPermissions = Nothing+    , _urSubAccountId = Nothing+    }++-- | ID of the user role that this user role is based on or copied from. This+-- is a required field.+urParentUserRoleId :: Lens' UserRole (Maybe Int64)+urParentUserRoleId+  = lens _urParentUserRoleId+      (\ s a -> s{_urParentUserRoleId = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRole\".+urKind :: Lens' UserRole Text+urKind = lens _urKind (\ s a -> s{_urKind = a})++-- | Whether this is a default user role. Default user roles are created by+-- the system for the account\/subaccount and cannot be modified or+-- deleted. Each default user role comes with a basic set of preassigned+-- permissions.+urDefaultUserRole :: Lens' UserRole (Maybe Bool)+urDefaultUserRole+  = lens _urDefaultUserRole+      (\ s a -> s{_urDefaultUserRole = a})++-- | Account ID of this user role. This is a read-only field that can be left+-- blank.+urAccountId :: Lens' UserRole (Maybe Int64)+urAccountId+  = lens _urAccountId (\ s a -> s{_urAccountId = a}) .+      mapping _Coerce++-- | Name of this user role. This is a required field. Must be less than 256+-- characters long. If this user role is under a subaccount, the name must+-- be unique among sites of the same subaccount. Otherwise, this user role+-- is a top-level user role, and the name must be unique among top-level+-- user roles of the same account.+urName :: Lens' UserRole (Maybe Text)+urName = lens _urName (\ s a -> s{_urName = a})++-- | ID of this user role. This is a read-only, auto-generated field.+urId :: Lens' UserRole (Maybe Int64)+urId+  = lens _urId (\ s a -> s{_urId = a}) .+      mapping _Coerce++-- | List of permissions associated with this user role.+urPermissions :: Lens' UserRole [UserRolePermission]+urPermissions+  = lens _urPermissions+      (\ s a -> s{_urPermissions = a})+      . _Default+      . _Coerce++-- | Subaccount ID of this user role. This is a read-only field that can be+-- left blank.+urSubAccountId :: Lens' UserRole (Maybe Int64)+urSubAccountId+  = lens _urSubAccountId+      (\ s a -> s{_urSubAccountId = a})+      . mapping _Coerce++instance FromJSON UserRole where+        parseJSON+          = withObject "UserRole"+              (\ o ->+                 UserRole <$>+                   (o .:? "parentUserRoleId") <*>+                     (o .:? "kind" .!= "dfareporting#userRole")+                     <*> (o .:? "defaultUserRole")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "permissions" .!= mempty)+                     <*> (o .:? "subaccountId"))++instance ToJSON UserRole where+        toJSON UserRole{..}+          = object+              (catMaybes+                 [("parentUserRoleId" .=) <$> _urParentUserRoleId,+                  Just ("kind" .= _urKind),+                  ("defaultUserRole" .=) <$> _urDefaultUserRole,+                  ("accountId" .=) <$> _urAccountId,+                  ("name" .=) <$> _urName, ("id" .=) <$> _urId,+                  ("permissions" .=) <$> _urPermissions,+                  ("subaccountId" .=) <$> _urSubAccountId])++-- | Directory Site List Response+--+-- /See:/ 'directorySitesListResponse' smart constructor.+data DirectorySitesListResponse = DirectorySitesListResponse+    { _dslrNextPageToken  :: !(Maybe Text)+    , _dslrKind           :: !Text+    , _dslrDirectorySites :: !(Maybe [DirectorySite])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySitesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslrNextPageToken'+--+-- * 'dslrKind'+--+-- * 'dslrDirectorySites'+directorySitesListResponse+    :: DirectorySitesListResponse+directorySitesListResponse =+    DirectorySitesListResponse+    { _dslrNextPageToken = Nothing+    , _dslrKind = "dfareporting#directorySitesListResponse"+    , _dslrDirectorySites = Nothing+    }++-- | Pagination token to be used for the next list operation.+dslrNextPageToken :: Lens' DirectorySitesListResponse (Maybe Text)+dslrNextPageToken+  = lens _dslrNextPageToken+      (\ s a -> s{_dslrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#directorySitesListResponse\".+dslrKind :: Lens' DirectorySitesListResponse Text+dslrKind = lens _dslrKind (\ s a -> s{_dslrKind = a})++-- | Directory site collection.+dslrDirectorySites :: Lens' DirectorySitesListResponse [DirectorySite]+dslrDirectorySites+  = lens _dslrDirectorySites+      (\ s a -> s{_dslrDirectorySites = a})+      . _Default+      . _Coerce++instance FromJSON DirectorySitesListResponse where+        parseJSON+          = withObject "DirectorySitesListResponse"+              (\ o ->+                 DirectorySitesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#directorySitesListResponse")+                     <*> (o .:? "directorySites" .!= mempty))++instance ToJSON DirectorySitesListResponse where+        toJSON DirectorySitesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _dslrNextPageToken,+                  Just ("kind" .= _dslrKind),+                  ("directorySites" .=) <$> _dslrDirectorySites])++-- | Pricing Period+--+-- /See:/ 'pricingSchedulePricingPeriod' smart constructor.+data PricingSchedulePricingPeriod = PricingSchedulePricingPeriod+    { _psppEndDate         :: !(Maybe Date')+    , _psppRateOrCostNanos :: !(Maybe (Textual Int64))+    , _psppStartDate       :: !(Maybe Date')+    , _psppUnits           :: !(Maybe (Textual Int64))+    , _psppPricingComment  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PricingSchedulePricingPeriod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psppEndDate'+--+-- * 'psppRateOrCostNanos'+--+-- * 'psppStartDate'+--+-- * 'psppUnits'+--+-- * 'psppPricingComment'+pricingSchedulePricingPeriod+    :: PricingSchedulePricingPeriod+pricingSchedulePricingPeriod =+    PricingSchedulePricingPeriod+    { _psppEndDate = Nothing+    , _psppRateOrCostNanos = Nothing+    , _psppStartDate = Nothing+    , _psppUnits = Nothing+    , _psppPricingComment = Nothing+    }++-- | Pricing period end date. This date must be later than, or the same day+-- as, the pricing period start date, but not later than the placement end+-- date. The period end date can be the same date as the period start date.+-- If, for example, you set 6\/25\/2015 as both the start and end dates,+-- the effective pricing period date is just that day only, 6\/25\/2015.+-- The hours, minutes, and seconds of the end date should not be set, as+-- doing so will result in an error.+psppEndDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)+psppEndDate+  = lens _psppEndDate (\ s a -> s{_psppEndDate = a}) .+      mapping _Date++-- | Rate or cost of this pricing period.+psppRateOrCostNanos :: Lens' PricingSchedulePricingPeriod (Maybe Int64)+psppRateOrCostNanos+  = lens _psppRateOrCostNanos+      (\ s a -> s{_psppRateOrCostNanos = a})+      . mapping _Coerce++-- | Pricing period start date. This date must be later than, or the same day+-- as, the placement start date. The hours, minutes, and seconds of the+-- start date should not be set, as doing so will result in an error.+psppStartDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)+psppStartDate+  = lens _psppStartDate+      (\ s a -> s{_psppStartDate = a})+      . mapping _Date++-- | Units of this pricing period.+psppUnits :: Lens' PricingSchedulePricingPeriod (Maybe Int64)+psppUnits+  = lens _psppUnits (\ s a -> s{_psppUnits = a}) .+      mapping _Coerce++-- | Comments for this pricing period.+psppPricingComment :: Lens' PricingSchedulePricingPeriod (Maybe Text)+psppPricingComment+  = lens _psppPricingComment+      (\ s a -> s{_psppPricingComment = a})++instance FromJSON PricingSchedulePricingPeriod where+        parseJSON+          = withObject "PricingSchedulePricingPeriod"+              (\ o ->+                 PricingSchedulePricingPeriod <$>+                   (o .:? "endDate") <*> (o .:? "rateOrCostNanos") <*>+                     (o .:? "startDate")+                     <*> (o .:? "units")+                     <*> (o .:? "pricingComment"))++instance ToJSON PricingSchedulePricingPeriod where+        toJSON PricingSchedulePricingPeriod{..}+          = object+              (catMaybes+                 [("endDate" .=) <$> _psppEndDate,+                  ("rateOrCostNanos" .=) <$> _psppRateOrCostNanos,+                  ("startDate" .=) <$> _psppStartDate,+                  ("units" .=) <$> _psppUnits,+                  ("pricingComment" .=) <$> _psppPricingComment])++-- | Directory Site Contact List Response+--+-- /See:/ 'directorySiteContactsListResponse' smart constructor.+data DirectorySiteContactsListResponse = DirectorySiteContactsListResponse+    { _dsclrNextPageToken         :: !(Maybe Text)+    , _dsclrKind                  :: !Text+    , _dsclrDirectorySiteContacts :: !(Maybe [DirectorySiteContact])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteContactsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsclrNextPageToken'+--+-- * 'dsclrKind'+--+-- * 'dsclrDirectorySiteContacts'+directorySiteContactsListResponse+    :: DirectorySiteContactsListResponse+directorySiteContactsListResponse =+    DirectorySiteContactsListResponse+    { _dsclrNextPageToken = Nothing+    , _dsclrKind = "dfareporting#directorySiteContactsListResponse"+    , _dsclrDirectorySiteContacts = Nothing+    }++-- | Pagination token to be used for the next list operation.+dsclrNextPageToken :: Lens' DirectorySiteContactsListResponse (Maybe Text)+dsclrNextPageToken+  = lens _dsclrNextPageToken+      (\ s a -> s{_dsclrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#directorySiteContactsListResponse\".+dsclrKind :: Lens' DirectorySiteContactsListResponse Text+dsclrKind+  = lens _dsclrKind (\ s a -> s{_dsclrKind = a})++-- | Directory site contact collection+dsclrDirectorySiteContacts :: Lens' DirectorySiteContactsListResponse [DirectorySiteContact]+dsclrDirectorySiteContacts+  = lens _dsclrDirectorySiteContacts+      (\ s a -> s{_dsclrDirectorySiteContacts = a})+      . _Default+      . _Coerce++instance FromJSON DirectorySiteContactsListResponse+         where+        parseJSON+          = withObject "DirectorySiteContactsListResponse"+              (\ o ->+                 DirectorySiteContactsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#directorySiteContactsListResponse")+                     <*> (o .:? "directorySiteContacts" .!= mempty))++instance ToJSON DirectorySiteContactsListResponse+         where+        toJSON DirectorySiteContactsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _dsclrNextPageToken,+                  Just ("kind" .= _dsclrKind),+                  ("directorySiteContacts" .=) <$>+                    _dsclrDirectorySiteContacts])++-- | Contains information about a region that can be targeted by ads.+--+-- /See:/ 'region' smart constructor.+data Region = Region+    { _regRegionCode    :: !(Maybe Text)+    , _regKind          :: !Text+    , _regName          :: !(Maybe Text)+    , _regCountryCode   :: !(Maybe Text)+    , _regCountryDartId :: !(Maybe (Textual Int64))+    , _regDartId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Region' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'regRegionCode'+--+-- * 'regKind'+--+-- * 'regName'+--+-- * 'regCountryCode'+--+-- * 'regCountryDartId'+--+-- * 'regDartId'+region+    :: Region+region =+    Region+    { _regRegionCode = Nothing+    , _regKind = "dfareporting#region"+    , _regName = Nothing+    , _regCountryCode = Nothing+    , _regCountryDartId = Nothing+    , _regDartId = Nothing+    }++-- | Region code.+regRegionCode :: Lens' Region (Maybe Text)+regRegionCode+  = lens _regRegionCode+      (\ s a -> s{_regRegionCode = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#region\".+regKind :: Lens' Region Text+regKind = lens _regKind (\ s a -> s{_regKind = a})++-- | Name of this region.+regName :: Lens' Region (Maybe Text)+regName = lens _regName (\ s a -> s{_regName = a})++-- | Country code of the country to which this region belongs.+regCountryCode :: Lens' Region (Maybe Text)+regCountryCode+  = lens _regCountryCode+      (\ s a -> s{_regCountryCode = a})++-- | DART ID of the country to which this region belongs.+regCountryDartId :: Lens' Region (Maybe Int64)+regCountryDartId+  = lens _regCountryDartId+      (\ s a -> s{_regCountryDartId = a})+      . mapping _Coerce++-- | DART ID of this region.+regDartId :: Lens' Region (Maybe Int64)+regDartId+  = lens _regDartId (\ s a -> s{_regDartId = a}) .+      mapping _Coerce++instance FromJSON Region where+        parseJSON+          = withObject "Region"+              (\ o ->+                 Region <$>+                   (o .:? "regionCode") <*>+                     (o .:? "kind" .!= "dfareporting#region")+                     <*> (o .:? "name")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "countryDartId")+                     <*> (o .:? "dartId"))++instance ToJSON Region where+        toJSON Region{..}+          = object+              (catMaybes+                 [("regionCode" .=) <$> _regRegionCode,+                  Just ("kind" .= _regKind), ("name" .=) <$> _regName,+                  ("countryCode" .=) <$> _regCountryCode,+                  ("countryDartId" .=) <$> _regCountryDartId,+                  ("dartId" .=) <$> _regDartId])++-- | Advertiser Group List Response+--+-- /See:/ 'advertiserGroupsListResponse' smart constructor.+data AdvertiserGroupsListResponse = AdvertiserGroupsListResponse+    { _aglrNextPageToken    :: !(Maybe Text)+    , _aglrKind             :: !Text+    , _aglrAdvertiserGroups :: !(Maybe [AdvertiserGroup])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aglrNextPageToken'+--+-- * 'aglrKind'+--+-- * 'aglrAdvertiserGroups'+advertiserGroupsListResponse+    :: AdvertiserGroupsListResponse+advertiserGroupsListResponse =+    AdvertiserGroupsListResponse+    { _aglrNextPageToken = Nothing+    , _aglrKind = "dfareporting#advertiserGroupsListResponse"+    , _aglrAdvertiserGroups = Nothing+    }++-- | Pagination token to be used for the next list operation.+aglrNextPageToken :: Lens' AdvertiserGroupsListResponse (Maybe Text)+aglrNextPageToken+  = lens _aglrNextPageToken+      (\ s a -> s{_aglrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#advertiserGroupsListResponse\".+aglrKind :: Lens' AdvertiserGroupsListResponse Text+aglrKind = lens _aglrKind (\ s a -> s{_aglrKind = a})++-- | Advertiser group collection.+aglrAdvertiserGroups :: Lens' AdvertiserGroupsListResponse [AdvertiserGroup]+aglrAdvertiserGroups+  = lens _aglrAdvertiserGroups+      (\ s a -> s{_aglrAdvertiserGroups = a})+      . _Default+      . _Coerce++instance FromJSON AdvertiserGroupsListResponse where+        parseJSON+          = withObject "AdvertiserGroupsListResponse"+              (\ o ->+                 AdvertiserGroupsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#advertiserGroupsListResponse")+                     <*> (o .:? "advertiserGroups" .!= mempty))++instance ToJSON AdvertiserGroupsListResponse where+        toJSON AdvertiserGroupsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _aglrNextPageToken,+                  Just ("kind" .= _aglrKind),+                  ("advertiserGroups" .=) <$> _aglrAdvertiserGroups])++-- | Creative Assignment.+--+-- /See:/ 'creativeAssignment' smart constructor.+data CreativeAssignment = CreativeAssignment+    { _caCreativeGroupAssignments   :: !(Maybe [CreativeGroupAssignment])+    , _caStartTime                  :: !(Maybe DateTime')+    , _caWeight                     :: !(Maybe (Textual Int32))+    , _caRichMediaExitOverrides     :: !(Maybe [RichMediaExitOverride])+    , _caSSLCompliant               :: !(Maybe Bool)+    , _caCreativeId                 :: !(Maybe (Textual Int64))+    , _caClickThroughURL            :: !(Maybe ClickThroughURL)+    , _caApplyEventTags             :: !(Maybe Bool)+    , _caActive                     :: !(Maybe Bool)+    , _caSequence                   :: !(Maybe (Textual Int32))+    , _caEndTime                    :: !(Maybe DateTime')+    , _caCompanionCreativeOverrides :: !(Maybe [CompanionClickThroughOverride])+    , _caCreativeIdDimensionValue   :: !(Maybe DimensionValue)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caCreativeGroupAssignments'+--+-- * 'caStartTime'+--+-- * 'caWeight'+--+-- * 'caRichMediaExitOverrides'+--+-- * 'caSSLCompliant'+--+-- * 'caCreativeId'+--+-- * 'caClickThroughURL'+--+-- * 'caApplyEventTags'+--+-- * 'caActive'+--+-- * 'caSequence'+--+-- * 'caEndTime'+--+-- * 'caCompanionCreativeOverrides'+--+-- * 'caCreativeIdDimensionValue'+creativeAssignment+    :: CreativeAssignment+creativeAssignment =+    CreativeAssignment+    { _caCreativeGroupAssignments = Nothing+    , _caStartTime = Nothing+    , _caWeight = Nothing+    , _caRichMediaExitOverrides = Nothing+    , _caSSLCompliant = Nothing+    , _caCreativeId = Nothing+    , _caClickThroughURL = Nothing+    , _caApplyEventTags = Nothing+    , _caActive = Nothing+    , _caSequence = Nothing+    , _caEndTime = Nothing+    , _caCompanionCreativeOverrides = Nothing+    , _caCreativeIdDimensionValue = Nothing+    }++-- | Creative group assignments for this creative assignment. Only one+-- assignment per creative group number is allowed for a maximum of two+-- assignments.+caCreativeGroupAssignments :: Lens' CreativeAssignment [CreativeGroupAssignment]+caCreativeGroupAssignments+  = lens _caCreativeGroupAssignments+      (\ s a -> s{_caCreativeGroupAssignments = a})+      . _Default+      . _Coerce++-- | Date and time that the assigned creative should start serving.+caStartTime :: Lens' CreativeAssignment (Maybe UTCTime)+caStartTime+  = lens _caStartTime (\ s a -> s{_caStartTime = a}) .+      mapping _DateTime++-- | Weight of the creative assignment, applicable when the rotation type is+-- CREATIVE_ROTATION_TYPE_RANDOM.+caWeight :: Lens' CreativeAssignment (Maybe Int32)+caWeight+  = lens _caWeight (\ s a -> s{_caWeight = a}) .+      mapping _Coerce++-- | Rich media exit overrides for this creative assignment. Applicable when+-- the creative type is any of the following: - RICH_MEDIA_INPAGE -+-- RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING+-- - RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -+-- RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - ADVANCED_BANNER -+-- VPAID_LINEAR - VPAID_NON_LINEAR+caRichMediaExitOverrides :: Lens' CreativeAssignment [RichMediaExitOverride]+caRichMediaExitOverrides+  = lens _caRichMediaExitOverrides+      (\ s a -> s{_caRichMediaExitOverrides = a})+      . _Default+      . _Coerce++-- | Whether the creative to be assigned is SSL-compliant. This is a+-- read-only field that is auto-generated when the ad is inserted or+-- updated.+caSSLCompliant :: Lens' CreativeAssignment (Maybe Bool)+caSSLCompliant+  = lens _caSSLCompliant+      (\ s a -> s{_caSSLCompliant = a})++-- | ID of the creative to be assigned. This is a required field.+caCreativeId :: Lens' CreativeAssignment (Maybe Int64)+caCreativeId+  = lens _caCreativeId (\ s a -> s{_caCreativeId = a})+      . mapping _Coerce++-- | Click-through URL of the creative assignment.+caClickThroughURL :: Lens' CreativeAssignment (Maybe ClickThroughURL)+caClickThroughURL+  = lens _caClickThroughURL+      (\ s a -> s{_caClickThroughURL = a})++-- | Whether applicable event tags should fire when this creative assignment+-- is rendered. If this value is unset when the ad is inserted or updated,+-- it will default to true for all creative types EXCEPT for+-- INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.+caApplyEventTags :: Lens' CreativeAssignment (Maybe Bool)+caApplyEventTags+  = lens _caApplyEventTags+      (\ s a -> s{_caApplyEventTags = a})++-- | Whether this creative assignment is active. When true, the creative will+-- be included in the ad\'s rotation.+caActive :: Lens' CreativeAssignment (Maybe Bool)+caActive = lens _caActive (\ s a -> s{_caActive = a})++-- | Sequence number of the creative assignment, applicable when the rotation+-- type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.+caSequence :: Lens' CreativeAssignment (Maybe Int32)+caSequence+  = lens _caSequence (\ s a -> s{_caSequence = a}) .+      mapping _Coerce++-- | Date and time that the assigned creative should stop serving. Must be+-- later than the start time.+caEndTime :: Lens' CreativeAssignment (Maybe UTCTime)+caEndTime+  = lens _caEndTime (\ s a -> s{_caEndTime = a}) .+      mapping _DateTime++-- | Companion creative overrides for this creative assignment. Applicable to+-- video ads.+caCompanionCreativeOverrides :: Lens' CreativeAssignment [CompanionClickThroughOverride]+caCompanionCreativeOverrides+  = lens _caCompanionCreativeOverrides+      (\ s a -> s{_caCompanionCreativeOverrides = a})+      . _Default+      . _Coerce++-- | Dimension value for the ID of the creative. This is a read-only,+-- auto-generated field.+caCreativeIdDimensionValue :: Lens' CreativeAssignment (Maybe DimensionValue)+caCreativeIdDimensionValue+  = lens _caCreativeIdDimensionValue+      (\ s a -> s{_caCreativeIdDimensionValue = a})++instance FromJSON CreativeAssignment where+        parseJSON+          = withObject "CreativeAssignment"+              (\ o ->+                 CreativeAssignment <$>+                   (o .:? "creativeGroupAssignments" .!= mempty) <*>+                     (o .:? "startTime")+                     <*> (o .:? "weight")+                     <*> (o .:? "richMediaExitOverrides" .!= mempty)+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "creativeId")+                     <*> (o .:? "clickThroughUrl")+                     <*> (o .:? "applyEventTags")+                     <*> (o .:? "active")+                     <*> (o .:? "sequence")+                     <*> (o .:? "endTime")+                     <*> (o .:? "companionCreativeOverrides" .!= mempty)+                     <*> (o .:? "creativeIdDimensionValue"))++instance ToJSON CreativeAssignment where+        toJSON CreativeAssignment{..}+          = object+              (catMaybes+                 [("creativeGroupAssignments" .=) <$>+                    _caCreativeGroupAssignments,+                  ("startTime" .=) <$> _caStartTime,+                  ("weight" .=) <$> _caWeight,+                  ("richMediaExitOverrides" .=) <$>+                    _caRichMediaExitOverrides,+                  ("sslCompliant" .=) <$> _caSSLCompliant,+                  ("creativeId" .=) <$> _caCreativeId,+                  ("clickThroughUrl" .=) <$> _caClickThroughURL,+                  ("applyEventTags" .=) <$> _caApplyEventTags,+                  ("active" .=) <$> _caActive,+                  ("sequence" .=) <$> _caSequence,+                  ("endTime" .=) <$> _caEndTime,+                  ("companionCreativeOverrides" .=) <$>+                    _caCompanionCreativeOverrides,+                  ("creativeIdDimensionValue" .=) <$>+                    _caCreativeIdDimensionValue])++-- | Represents a dimension filter.+--+-- /See:/ 'dimensionFilter' smart constructor.+data DimensionFilter = DimensionFilter+    { _dfKind          :: !Text+    , _dfValue         :: !(Maybe Text)+    , _dfDimensionName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfKind'+--+-- * 'dfValue'+--+-- * 'dfDimensionName'+dimensionFilter+    :: DimensionFilter+dimensionFilter =+    DimensionFilter+    { _dfKind = "dfareporting#dimensionFilter"+    , _dfValue = Nothing+    , _dfDimensionName = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#dimensionFilter.+dfKind :: Lens' DimensionFilter Text+dfKind = lens _dfKind (\ s a -> s{_dfKind = a})++-- | The value of the dimension to filter.+dfValue :: Lens' DimensionFilter (Maybe Text)+dfValue = lens _dfValue (\ s a -> s{_dfValue = a})++-- | The name of the dimension to filter.+dfDimensionName :: Lens' DimensionFilter (Maybe Text)+dfDimensionName+  = lens _dfDimensionName+      (\ s a -> s{_dfDimensionName = a})++instance FromJSON DimensionFilter where+        parseJSON+          = withObject "DimensionFilter"+              (\ o ->+                 DimensionFilter <$>+                   (o .:? "kind" .!= "dfareporting#dimensionFilter") <*>+                     (o .:? "value")+                     <*> (o .:? "dimensionName"))++instance ToJSON DimensionFilter where+        toJSON DimensionFilter{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dfKind), ("value" .=) <$> _dfValue,+                  ("dimensionName" .=) <$> _dfDimensionName])++-- | Represents the list of user profiles.+--+-- /See:/ 'userProFileList' smart constructor.+data UserProFileList = UserProFileList+    { _upflEtag  :: !(Maybe Text)+    , _upflKind  :: !Text+    , _upflItems :: !(Maybe [UserProFile])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFileList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upflEtag'+--+-- * 'upflKind'+--+-- * 'upflItems'+userProFileList+    :: UserProFileList+userProFileList =+    UserProFileList+    { _upflEtag = Nothing+    , _upflKind = "dfareporting#userProfileList"+    , _upflItems = Nothing+    }++-- | The eTag of this response for caching purposes.+upflEtag :: Lens' UserProFileList (Maybe Text)+upflEtag = lens _upflEtag (\ s a -> s{_upflEtag = a})++-- | The kind of list this is, in this case dfareporting#userProfileList.+upflKind :: Lens' UserProFileList Text+upflKind = lens _upflKind (\ s a -> s{_upflKind = a})++-- | The user profiles returned in this response.+upflItems :: Lens' UserProFileList [UserProFile]+upflItems+  = lens _upflItems (\ s a -> s{_upflItems = a}) .+      _Default+      . _Coerce++instance FromJSON UserProFileList where+        parseJSON+          = withObject "UserProFileList"+              (\ o ->+                 UserProFileList <$>+                   (o .:? "etag") <*>+                     (o .:? "kind" .!= "dfareporting#userProfileList")+                     <*> (o .:? "items" .!= mempty))++instance ToJSON UserProFileList where+        toJSON UserProFileList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _upflEtag,+                  Just ("kind" .= _upflKind),+                  ("items" .=) <$> _upflItems])++-- | Contains properties of a Floodlight configuration.+--+-- /See:/ 'floodlightConfiguration' smart constructor.+data FloodlightConfiguration = FloodlightConfiguration+    { _fcTagSettings                              :: !(Maybe TagSettings)+    , _fcExposureToConversionEnabled              :: !(Maybe Bool)+    , _fcInAppAttributionTrackingEnabled          :: !(Maybe Bool)+    , _fcThirdPartyAuthenticationTokens           :: !(Maybe [ThirdPartyAuthenticationToken])+    , _fcKind                                     :: !Text+    , _fcAdvertiserId                             :: !(Maybe (Textual Int64))+    , _fcAnalyticsDataSharingEnabled              :: !(Maybe Bool)+    , _fcAdvertiserIdDimensionValue               :: !(Maybe DimensionValue)+    , _fcIdDimensionValue                         :: !(Maybe DimensionValue)+    , _fcLookbackConfiguration                    :: !(Maybe LookbackConfiguration)+    , _fcAccountId                                :: !(Maybe (Textual Int64))+    , _fcId                                       :: !(Maybe (Textual Int64))+    , _fcSSLRequired                              :: !(Maybe Bool)+    , _fcNATuralSearchConversionAttributionOption :: !(Maybe FloodlightConfigurationNATuralSearchConversionAttributionOption)+    , _fcUserDefinedVariableConfigurations        :: !(Maybe [UserDefinedVariableConfiguration])+    , _fcSubAccountId                             :: !(Maybe (Textual Int64))+    , _fcFirstDayOfWeek                           :: !(Maybe FloodlightConfigurationFirstDayOfWeek)+    , _fcOmnitureSettings                         :: !(Maybe OmnitureSettings)+    , _fcStandardVariableTypes                    :: !(Maybe [FloodlightConfigurationStandardVariableTypesItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcTagSettings'+--+-- * 'fcExposureToConversionEnabled'+--+-- * 'fcInAppAttributionTrackingEnabled'+--+-- * 'fcThirdPartyAuthenticationTokens'+--+-- * 'fcKind'+--+-- * 'fcAdvertiserId'+--+-- * 'fcAnalyticsDataSharingEnabled'+--+-- * 'fcAdvertiserIdDimensionValue'+--+-- * 'fcIdDimensionValue'+--+-- * 'fcLookbackConfiguration'+--+-- * 'fcAccountId'+--+-- * 'fcId'+--+-- * 'fcSSLRequired'+--+-- * 'fcNATuralSearchConversionAttributionOption'+--+-- * 'fcUserDefinedVariableConfigurations'+--+-- * 'fcSubAccountId'+--+-- * 'fcFirstDayOfWeek'+--+-- * 'fcOmnitureSettings'+--+-- * 'fcStandardVariableTypes'+floodlightConfiguration+    :: FloodlightConfiguration+floodlightConfiguration =+    FloodlightConfiguration+    { _fcTagSettings = Nothing+    , _fcExposureToConversionEnabled = Nothing+    , _fcInAppAttributionTrackingEnabled = Nothing+    , _fcThirdPartyAuthenticationTokens = Nothing+    , _fcKind = "dfareporting#floodlightConfiguration"+    , _fcAdvertiserId = Nothing+    , _fcAnalyticsDataSharingEnabled = Nothing+    , _fcAdvertiserIdDimensionValue = Nothing+    , _fcIdDimensionValue = Nothing+    , _fcLookbackConfiguration = Nothing+    , _fcAccountId = Nothing+    , _fcId = Nothing+    , _fcSSLRequired = Nothing+    , _fcNATuralSearchConversionAttributionOption = Nothing+    , _fcUserDefinedVariableConfigurations = Nothing+    , _fcSubAccountId = Nothing+    , _fcFirstDayOfWeek = Nothing+    , _fcOmnitureSettings = Nothing+    , _fcStandardVariableTypes = Nothing+    }++-- | Configuration settings for dynamic and image floodlight tags.+fcTagSettings :: Lens' FloodlightConfiguration (Maybe TagSettings)+fcTagSettings+  = lens _fcTagSettings+      (\ s a -> s{_fcTagSettings = a})++-- | Whether the exposure-to-conversion report is enabled. This report shows+-- detailed pathway information on up to 10 of the most recent ad exposures+-- seen by a user before converting.+fcExposureToConversionEnabled :: Lens' FloodlightConfiguration (Maybe Bool)+fcExposureToConversionEnabled+  = lens _fcExposureToConversionEnabled+      (\ s a -> s{_fcExposureToConversionEnabled = a})++-- | Whether in-app attribution tracking is enabled.+fcInAppAttributionTrackingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)+fcInAppAttributionTrackingEnabled+  = lens _fcInAppAttributionTrackingEnabled+      (\ s a -> s{_fcInAppAttributionTrackingEnabled = a})++-- | List of third-party authentication tokens enabled for this+-- configuration.+fcThirdPartyAuthenticationTokens :: Lens' FloodlightConfiguration [ThirdPartyAuthenticationToken]+fcThirdPartyAuthenticationTokens+  = lens _fcThirdPartyAuthenticationTokens+      (\ s a -> s{_fcThirdPartyAuthenticationTokens = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightConfiguration\".+fcKind :: Lens' FloodlightConfiguration Text+fcKind = lens _fcKind (\ s a -> s{_fcKind = a})++-- | Advertiser ID of the parent advertiser of this floodlight configuration.+fcAdvertiserId :: Lens' FloodlightConfiguration (Maybe Int64)+fcAdvertiserId+  = lens _fcAdvertiserId+      (\ s a -> s{_fcAdvertiserId = a})+      . mapping _Coerce++-- | Whether advertiser data is shared with Google Analytics.+fcAnalyticsDataSharingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)+fcAnalyticsDataSharingEnabled+  = lens _fcAnalyticsDataSharingEnabled+      (\ s a -> s{_fcAnalyticsDataSharingEnabled = a})++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+fcAdvertiserIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)+fcAdvertiserIdDimensionValue+  = lens _fcAdvertiserIdDimensionValue+      (\ s a -> s{_fcAdvertiserIdDimensionValue = a})++-- | Dimension value for the ID of this floodlight configuration. This is a+-- read-only, auto-generated field.+fcIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)+fcIdDimensionValue+  = lens _fcIdDimensionValue+      (\ s a -> s{_fcIdDimensionValue = a})++-- | Lookback window settings for this floodlight configuration.+fcLookbackConfiguration :: Lens' FloodlightConfiguration (Maybe LookbackConfiguration)+fcLookbackConfiguration+  = lens _fcLookbackConfiguration+      (\ s a -> s{_fcLookbackConfiguration = a})++-- | Account ID of this floodlight configuration. This is a read-only field+-- that can be left blank.+fcAccountId :: Lens' FloodlightConfiguration (Maybe Int64)+fcAccountId+  = lens _fcAccountId (\ s a -> s{_fcAccountId = a}) .+      mapping _Coerce++-- | ID of this floodlight configuration. This is a read-only, auto-generated+-- field.+fcId :: Lens' FloodlightConfiguration (Maybe Int64)+fcId+  = lens _fcId (\ s a -> s{_fcId = a}) .+      mapping _Coerce++-- | Whether floodlight activities owned by this configuration are required+-- to be SSL-compliant.+fcSSLRequired :: Lens' FloodlightConfiguration (Maybe Bool)+fcSSLRequired+  = lens _fcSSLRequired+      (\ s a -> s{_fcSSLRequired = a})++-- | Types of attribution options for natural search conversions.+fcNATuralSearchConversionAttributionOption :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationNATuralSearchConversionAttributionOption)+fcNATuralSearchConversionAttributionOption+  = lens _fcNATuralSearchConversionAttributionOption+      (\ s a ->+         s{_fcNATuralSearchConversionAttributionOption = a})++-- | List of user defined variables enabled for this configuration.+fcUserDefinedVariableConfigurations :: Lens' FloodlightConfiguration [UserDefinedVariableConfiguration]+fcUserDefinedVariableConfigurations+  = lens _fcUserDefinedVariableConfigurations+      (\ s a ->+         s{_fcUserDefinedVariableConfigurations = a})+      . _Default+      . _Coerce++-- | Subaccount ID of this floodlight configuration. This is a read-only+-- field that can be left blank.+fcSubAccountId :: Lens' FloodlightConfiguration (Maybe Int64)+fcSubAccountId+  = lens _fcSubAccountId+      (\ s a -> s{_fcSubAccountId = a})+      . mapping _Coerce++-- | Day that will be counted as the first day of the week in reports. This+-- is a required field.+fcFirstDayOfWeek :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationFirstDayOfWeek)+fcFirstDayOfWeek+  = lens _fcFirstDayOfWeek+      (\ s a -> s{_fcFirstDayOfWeek = a})++-- | Settings for DCM Omniture integration.+fcOmnitureSettings :: Lens' FloodlightConfiguration (Maybe OmnitureSettings)+fcOmnitureSettings+  = lens _fcOmnitureSettings+      (\ s a -> s{_fcOmnitureSettings = a})++-- | List of standard variables enabled for this configuration. Acceptable+-- values are: - \"ORD\" - \"NUM\"+fcStandardVariableTypes :: Lens' FloodlightConfiguration [FloodlightConfigurationStandardVariableTypesItem]+fcStandardVariableTypes+  = lens _fcStandardVariableTypes+      (\ s a -> s{_fcStandardVariableTypes = a})+      . _Default+      . _Coerce++instance FromJSON FloodlightConfiguration where+        parseJSON+          = withObject "FloodlightConfiguration"+              (\ o ->+                 FloodlightConfiguration <$>+                   (o .:? "tagSettings") <*>+                     (o .:? "exposureToConversionEnabled")+                     <*> (o .:? "inAppAttributionTrackingEnabled")+                     <*>+                     (o .:? "thirdPartyAuthenticationTokens" .!= mempty)+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightConfiguration")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "analyticsDataSharingEnabled")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "lookbackConfiguration")+                     <*> (o .:? "accountId")+                     <*> (o .:? "id")+                     <*> (o .:? "sslRequired")+                     <*>+                     (o .:? "naturalSearchConversionAttributionOption")+                     <*>+                     (o .:? "userDefinedVariableConfigurations" .!=+                        mempty)+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "firstDayOfWeek")+                     <*> (o .:? "omnitureSettings")+                     <*> (o .:? "standardVariableTypes" .!= mempty))++instance ToJSON FloodlightConfiguration where+        toJSON FloodlightConfiguration{..}+          = object+              (catMaybes+                 [("tagSettings" .=) <$> _fcTagSettings,+                  ("exposureToConversionEnabled" .=) <$>+                    _fcExposureToConversionEnabled,+                  ("inAppAttributionTrackingEnabled" .=) <$>+                    _fcInAppAttributionTrackingEnabled,+                  ("thirdPartyAuthenticationTokens" .=) <$>+                    _fcThirdPartyAuthenticationTokens,+                  Just ("kind" .= _fcKind),+                  ("advertiserId" .=) <$> _fcAdvertiserId,+                  ("analyticsDataSharingEnabled" .=) <$>+                    _fcAnalyticsDataSharingEnabled,+                  ("advertiserIdDimensionValue" .=) <$>+                    _fcAdvertiserIdDimensionValue,+                  ("idDimensionValue" .=) <$> _fcIdDimensionValue,+                  ("lookbackConfiguration" .=) <$>+                    _fcLookbackConfiguration,+                  ("accountId" .=) <$> _fcAccountId,+                  ("id" .=) <$> _fcId,+                  ("sslRequired" .=) <$> _fcSSLRequired,+                  ("naturalSearchConversionAttributionOption" .=) <$>+                    _fcNATuralSearchConversionAttributionOption,+                  ("userDefinedVariableConfigurations" .=) <$>+                    _fcUserDefinedVariableConfigurations,+                  ("subaccountId" .=) <$> _fcSubAccountId,+                  ("firstDayOfWeek" .=) <$> _fcFirstDayOfWeek,+                  ("omnitureSettings" .=) <$> _fcOmnitureSettings,+                  ("standardVariableTypes" .=) <$>+                    _fcStandardVariableTypes])++-- | Floodlight Activity Group List Response+--+-- /See:/ 'floodlightActivityGroupsListResponse' smart constructor.+data FloodlightActivityGroupsListResponse = FloodlightActivityGroupsListResponse+    { _faglrNextPageToken            :: !(Maybe Text)+    , _faglrKind                     :: !Text+    , _faglrFloodlightActivityGroups :: !(Maybe [FloodlightActivityGroup])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faglrNextPageToken'+--+-- * 'faglrKind'+--+-- * 'faglrFloodlightActivityGroups'+floodlightActivityGroupsListResponse+    :: FloodlightActivityGroupsListResponse+floodlightActivityGroupsListResponse =+    FloodlightActivityGroupsListResponse+    { _faglrNextPageToken = Nothing+    , _faglrKind = "dfareporting#floodlightActivityGroupsListResponse"+    , _faglrFloodlightActivityGroups = Nothing+    }++-- | Pagination token to be used for the next list operation.+faglrNextPageToken :: Lens' FloodlightActivityGroupsListResponse (Maybe Text)+faglrNextPageToken+  = lens _faglrNextPageToken+      (\ s a -> s{_faglrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightActivityGroupsListResponse\".+faglrKind :: Lens' FloodlightActivityGroupsListResponse Text+faglrKind+  = lens _faglrKind (\ s a -> s{_faglrKind = a})++-- | Floodlight activity group collection.+faglrFloodlightActivityGroups :: Lens' FloodlightActivityGroupsListResponse [FloodlightActivityGroup]+faglrFloodlightActivityGroups+  = lens _faglrFloodlightActivityGroups+      (\ s a -> s{_faglrFloodlightActivityGroups = a})+      . _Default+      . _Coerce++instance FromJSON+         FloodlightActivityGroupsListResponse where+        parseJSON+          = withObject "FloodlightActivityGroupsListResponse"+              (\ o ->+                 FloodlightActivityGroupsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightActivityGroupsListResponse")+                     <*> (o .:? "floodlightActivityGroups" .!= mempty))++instance ToJSON FloodlightActivityGroupsListResponse+         where+        toJSON FloodlightActivityGroupsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _faglrNextPageToken,+                  Just ("kind" .= _faglrKind),+                  ("floodlightActivityGroups" .=) <$>+                    _faglrFloodlightActivityGroups])++-- | Creative Field Value List Response+--+-- /See:/ 'creativeFieldValuesListResponse' smart constructor.+data CreativeFieldValuesListResponse = CreativeFieldValuesListResponse+    { _cfvlrNextPageToken       :: !(Maybe Text)+    , _cfvlrKind                :: !Text+    , _cfvlrCreativeFieldValues :: !(Maybe [CreativeFieldValue])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvlrNextPageToken'+--+-- * 'cfvlrKind'+--+-- * 'cfvlrCreativeFieldValues'+creativeFieldValuesListResponse+    :: CreativeFieldValuesListResponse+creativeFieldValuesListResponse =+    CreativeFieldValuesListResponse+    { _cfvlrNextPageToken = Nothing+    , _cfvlrKind = "dfareporting#creativeFieldValuesListResponse"+    , _cfvlrCreativeFieldValues = Nothing+    }++-- | Pagination token to be used for the next list operation.+cfvlrNextPageToken :: Lens' CreativeFieldValuesListResponse (Maybe Text)+cfvlrNextPageToken+  = lens _cfvlrNextPageToken+      (\ s a -> s{_cfvlrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeFieldValuesListResponse\".+cfvlrKind :: Lens' CreativeFieldValuesListResponse Text+cfvlrKind+  = lens _cfvlrKind (\ s a -> s{_cfvlrKind = a})++-- | Creative field value collection.+cfvlrCreativeFieldValues :: Lens' CreativeFieldValuesListResponse [CreativeFieldValue]+cfvlrCreativeFieldValues+  = lens _cfvlrCreativeFieldValues+      (\ s a -> s{_cfvlrCreativeFieldValues = a})+      . _Default+      . _Coerce++instance FromJSON CreativeFieldValuesListResponse+         where+        parseJSON+          = withObject "CreativeFieldValuesListResponse"+              (\ o ->+                 CreativeFieldValuesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#creativeFieldValuesListResponse")+                     <*> (o .:? "creativeFieldValues" .!= mempty))++instance ToJSON CreativeFieldValuesListResponse where+        toJSON CreativeFieldValuesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cfvlrNextPageToken,+                  Just ("kind" .= _cfvlrKind),+                  ("creativeFieldValues" .=) <$>+                    _cfvlrCreativeFieldValues])++-- | Rich Media Exit Override.+--+-- /See:/ 'richMediaExitOverride' smart constructor.+data RichMediaExitOverride = RichMediaExitOverride+    { _rmeoUseCustomExitURL :: !(Maybe Bool)+    , _rmeoExitId           :: !(Maybe (Textual Int64))+    , _rmeoCustomExitURL    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RichMediaExitOverride' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rmeoUseCustomExitURL'+--+-- * 'rmeoExitId'+--+-- * 'rmeoCustomExitURL'+richMediaExitOverride+    :: RichMediaExitOverride+richMediaExitOverride =+    RichMediaExitOverride+    { _rmeoUseCustomExitURL = Nothing+    , _rmeoExitId = Nothing+    , _rmeoCustomExitURL = Nothing+    }++-- | Whether to use the custom exit URL.+rmeoUseCustomExitURL :: Lens' RichMediaExitOverride (Maybe Bool)+rmeoUseCustomExitURL+  = lens _rmeoUseCustomExitURL+      (\ s a -> s{_rmeoUseCustomExitURL = a})++-- | ID for the override to refer to a specific exit in the creative.+rmeoExitId :: Lens' RichMediaExitOverride (Maybe Int64)+rmeoExitId+  = lens _rmeoExitId (\ s a -> s{_rmeoExitId = a}) .+      mapping _Coerce++-- | Click-through URL to override the default exit URL. Applicable if the+-- useCustomExitUrl field is set to true.+rmeoCustomExitURL :: Lens' RichMediaExitOverride (Maybe Text)+rmeoCustomExitURL+  = lens _rmeoCustomExitURL+      (\ s a -> s{_rmeoCustomExitURL = a})++instance FromJSON RichMediaExitOverride where+        parseJSON+          = withObject "RichMediaExitOverride"+              (\ o ->+                 RichMediaExitOverride <$>+                   (o .:? "useCustomExitUrl") <*> (o .:? "exitId") <*>+                     (o .:? "customExitUrl"))++instance ToJSON RichMediaExitOverride where+        toJSON RichMediaExitOverride{..}+          = object+              (catMaybes+                 [("useCustomExitUrl" .=) <$> _rmeoUseCustomExitURL,+                  ("exitId" .=) <$> _rmeoExitId,+                  ("customExitUrl" .=) <$> _rmeoCustomExitURL])++-- | Represents a sorted dimension.+--+-- /See:/ 'sortedDimension' smart constructor.+data SortedDimension = SortedDimension+    { _sdKind      :: !Text+    , _sdSortOrder :: !(Maybe SortedDimensionSortOrder)+    , _sdName      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SortedDimension' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdKind'+--+-- * 'sdSortOrder'+--+-- * 'sdName'+sortedDimension+    :: SortedDimension+sortedDimension =+    SortedDimension+    { _sdKind = "dfareporting#sortedDimension"+    , _sdSortOrder = Nothing+    , _sdName = Nothing+    }++-- | The kind of resource this is, in this case dfareporting#sortedDimension.+sdKind :: Lens' SortedDimension Text+sdKind = lens _sdKind (\ s a -> s{_sdKind = a})++-- | An optional sort order for the dimension column.+sdSortOrder :: Lens' SortedDimension (Maybe SortedDimensionSortOrder)+sdSortOrder+  = lens _sdSortOrder (\ s a -> s{_sdSortOrder = a})++-- | The name of the dimension.+sdName :: Lens' SortedDimension (Maybe Text)+sdName = lens _sdName (\ s a -> s{_sdName = a})++instance FromJSON SortedDimension where+        parseJSON+          = withObject "SortedDimension"+              (\ o ->+                 SortedDimension <$>+                   (o .:? "kind" .!= "dfareporting#sortedDimension") <*>+                     (o .:? "sortOrder")+                     <*> (o .:? "name"))++instance ToJSON SortedDimension where+        toJSON SortedDimension{..}+          = object+              (catMaybes+                 [Just ("kind" .= _sdKind),+                  ("sortOrder" .=) <$> _sdSortOrder,+                  ("name" .=) <$> _sdName])++-- | Creative Field List Response+--+-- /See:/ 'creativeFieldsListResponse' smart constructor.+data CreativeFieldsListResponse = CreativeFieldsListResponse+    { _cflrNextPageToken  :: !(Maybe Text)+    , _cflrKind           :: !Text+    , _cflrCreativeFields :: !(Maybe [CreativeField])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cflrNextPageToken'+--+-- * 'cflrKind'+--+-- * 'cflrCreativeFields'+creativeFieldsListResponse+    :: CreativeFieldsListResponse+creativeFieldsListResponse =+    CreativeFieldsListResponse+    { _cflrNextPageToken = Nothing+    , _cflrKind = "dfareporting#creativeFieldsListResponse"+    , _cflrCreativeFields = Nothing+    }++-- | Pagination token to be used for the next list operation.+cflrNextPageToken :: Lens' CreativeFieldsListResponse (Maybe Text)+cflrNextPageToken+  = lens _cflrNextPageToken+      (\ s a -> s{_cflrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeFieldsListResponse\".+cflrKind :: Lens' CreativeFieldsListResponse Text+cflrKind = lens _cflrKind (\ s a -> s{_cflrKind = a})++-- | Creative field collection.+cflrCreativeFields :: Lens' CreativeFieldsListResponse [CreativeField]+cflrCreativeFields+  = lens _cflrCreativeFields+      (\ s a -> s{_cflrCreativeFields = a})+      . _Default+      . _Coerce++instance FromJSON CreativeFieldsListResponse where+        parseJSON+          = withObject "CreativeFieldsListResponse"+              (\ o ->+                 CreativeFieldsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#creativeFieldsListResponse")+                     <*> (o .:? "creativeFields" .!= mempty))++instance ToJSON CreativeFieldsListResponse where+        toJSON CreativeFieldsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _cflrNextPageToken,+                  Just ("kind" .= _cflrKind),+                  ("creativeFields" .=) <$> _cflrCreativeFields])++-- | Placement GenerateTags Response+--+-- /See:/ 'placementsGenerateTagsResponse' smart constructor.+data PlacementsGenerateTagsResponse = PlacementsGenerateTagsResponse+    { _pgtrKind          :: !Text+    , _pgtrPlacementTags :: !(Maybe [PlacementTag])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsGenerateTagsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgtrKind'+--+-- * 'pgtrPlacementTags'+placementsGenerateTagsResponse+    :: PlacementsGenerateTagsResponse+placementsGenerateTagsResponse =+    PlacementsGenerateTagsResponse+    { _pgtrKind = "dfareporting#placementsGenerateTagsResponse"+    , _pgtrPlacementTags = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementsGenerateTagsResponse\".+pgtrKind :: Lens' PlacementsGenerateTagsResponse Text+pgtrKind = lens _pgtrKind (\ s a -> s{_pgtrKind = a})++-- | Set of generated tags for the specified placements.+pgtrPlacementTags :: Lens' PlacementsGenerateTagsResponse [PlacementTag]+pgtrPlacementTags+  = lens _pgtrPlacementTags+      (\ s a -> s{_pgtrPlacementTags = a})+      . _Default+      . _Coerce++instance FromJSON PlacementsGenerateTagsResponse+         where+        parseJSON+          = withObject "PlacementsGenerateTagsResponse"+              (\ o ->+                 PlacementsGenerateTagsResponse <$>+                   (o .:? "kind" .!=+                      "dfareporting#placementsGenerateTagsResponse")+                     <*> (o .:? "placementTags" .!= mempty))++instance ToJSON PlacementsGenerateTagsResponse where+        toJSON PlacementsGenerateTagsResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pgtrKind),+                  ("placementTags" .=) <$> _pgtrPlacementTags])++-- | Creative Asset.+--+-- /See:/ 'creativeAsset' smart constructor.+data CreativeAsset = CreativeAsset+    { _caaZIndex                :: !(Maybe (Textual Int32))+    , _caaPushdown              :: !(Maybe Bool)+    , _caaVideoDuration         :: !(Maybe (Textual Double))+    , _caaOriginalBackup        :: !(Maybe Bool)+    , _caaWindowMode            :: !(Maybe CreativeAssetWindowMode)+    , _caaFlashVersion          :: !(Maybe (Textual Int32))+    , _caaPushdownDuration      :: !(Maybe (Textual Double))+    , _caaSize                  :: !(Maybe Size)+    , _caaVerticallyLocked      :: !(Maybe Bool)+    , _caaOffSet                :: !(Maybe OffSetPosition)+    , _caaStreamingServingURL   :: !(Maybe Text)+    , _caaZipFilesize           :: !(Maybe Text)+    , _caaTransparency          :: !(Maybe Bool)+    , _caaHideSelectionBoxes    :: !(Maybe Bool)+    , _caaSSLCompliant          :: !(Maybe Bool)+    , _caaFileSize              :: !(Maybe (Textual Int64))+    , _caaAssetIdentifier       :: !(Maybe CreativeAssetId)+    , _caaDurationType          :: !(Maybe CreativeAssetDurationType)+    , _caaProgressiveServingURL :: !(Maybe Text)+    , _caaActive                :: !(Maybe Bool)+    , _caaRole                  :: !(Maybe CreativeAssetRole)+    , _caaMimeType              :: !(Maybe Text)+    , _caaPositionTopUnit       :: !(Maybe CreativeAssetPositionTopUnit)+    , _caaPositionLeftUnit      :: !(Maybe CreativeAssetPositionLeftUnit)+    , _caaAlignment             :: !(Maybe CreativeAssetAlignment)+    , _caaExpandedDimension     :: !(Maybe Size)+    , _caaZipFilename           :: !(Maybe Text)+    , _caaActionScript3         :: !(Maybe Bool)+    , _caaDisplayType           :: !(Maybe CreativeAssetDisplayType)+    , _caaChildAssetType        :: !(Maybe CreativeAssetChildAssetType)+    , _caaCollapsedSize         :: !(Maybe Size)+    , _caaId                    :: !(Maybe (Textual Int64))+    , _caaBitRate               :: !(Maybe (Textual Int32))+    , _caaCustomStartTimeValue  :: !(Maybe (Textual Int32))+    , _caaStartTimeType         :: !(Maybe CreativeAssetStartTimeType)+    , _caaDuration              :: !(Maybe (Textual Int32))+    , _caaArtworkType           :: !(Maybe CreativeAssetArtworkType)+    , _caaHideFlashObjects      :: !(Maybe Bool)+    , _caaDetectedFeatures      :: !(Maybe [CreativeAssetDetectedFeaturesItem])+    , _caaBackupImageExit       :: !(Maybe CreativeCustomEvent)+    , _caaPosition              :: !(Maybe OffSetPosition)+    , _caaHorizontallyLocked    :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeAsset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caaZIndex'+--+-- * 'caaPushdown'+--+-- * 'caaVideoDuration'+--+-- * 'caaOriginalBackup'+--+-- * 'caaWindowMode'+--+-- * 'caaFlashVersion'+--+-- * 'caaPushdownDuration'+--+-- * 'caaSize'+--+-- * 'caaVerticallyLocked'+--+-- * 'caaOffSet'+--+-- * 'caaStreamingServingURL'+--+-- * 'caaZipFilesize'+--+-- * 'caaTransparency'+--+-- * 'caaHideSelectionBoxes'+--+-- * 'caaSSLCompliant'+--+-- * 'caaFileSize'+--+-- * 'caaAssetIdentifier'+--+-- * 'caaDurationType'+--+-- * 'caaProgressiveServingURL'+--+-- * 'caaActive'+--+-- * 'caaRole'+--+-- * 'caaMimeType'+--+-- * 'caaPositionTopUnit'+--+-- * 'caaPositionLeftUnit'+--+-- * 'caaAlignment'+--+-- * 'caaExpandedDimension'+--+-- * 'caaZipFilename'+--+-- * 'caaActionScript3'+--+-- * 'caaDisplayType'+--+-- * 'caaChildAssetType'+--+-- * 'caaCollapsedSize'+--+-- * 'caaId'+--+-- * 'caaBitRate'+--+-- * 'caaCustomStartTimeValue'+--+-- * 'caaStartTimeType'+--+-- * 'caaDuration'+--+-- * 'caaArtworkType'+--+-- * 'caaHideFlashObjects'+--+-- * 'caaDetectedFeatures'+--+-- * 'caaBackupImageExit'+--+-- * 'caaPosition'+--+-- * 'caaHorizontallyLocked'+creativeAsset+    :: CreativeAsset+creativeAsset =+    CreativeAsset+    { _caaZIndex = Nothing+    , _caaPushdown = Nothing+    , _caaVideoDuration = Nothing+    , _caaOriginalBackup = Nothing+    , _caaWindowMode = Nothing+    , _caaFlashVersion = Nothing+    , _caaPushdownDuration = Nothing+    , _caaSize = Nothing+    , _caaVerticallyLocked = Nothing+    , _caaOffSet = Nothing+    , _caaStreamingServingURL = Nothing+    , _caaZipFilesize = Nothing+    , _caaTransparency = Nothing+    , _caaHideSelectionBoxes = Nothing+    , _caaSSLCompliant = Nothing+    , _caaFileSize = Nothing+    , _caaAssetIdentifier = Nothing+    , _caaDurationType = Nothing+    , _caaProgressiveServingURL = Nothing+    , _caaActive = Nothing+    , _caaRole = Nothing+    , _caaMimeType = Nothing+    , _caaPositionTopUnit = Nothing+    , _caaPositionLeftUnit = Nothing+    , _caaAlignment = Nothing+    , _caaExpandedDimension = Nothing+    , _caaZipFilename = Nothing+    , _caaActionScript3 = Nothing+    , _caaDisplayType = Nothing+    , _caaChildAssetType = Nothing+    , _caaCollapsedSize = Nothing+    , _caaId = Nothing+    , _caaBitRate = Nothing+    , _caaCustomStartTimeValue = Nothing+    , _caaStartTimeType = Nothing+    , _caaDuration = Nothing+    , _caaArtworkType = Nothing+    , _caaHideFlashObjects = Nothing+    , _caaDetectedFeatures = Nothing+    , _caaBackupImageExit = Nothing+    , _caaPosition = Nothing+    , _caaHorizontallyLocked = Nothing+    }++-- | zIndex value of an asset. This is a read-only field. Applicable to the+-- following creative types: all RICH_MEDIA.Additionally, only applicable+-- to assets whose displayType is NOT one of the following types:+-- ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.+caaZIndex :: Lens' CreativeAsset (Maybe Int32)+caaZIndex+  = lens _caaZIndex (\ s a -> s{_caaZIndex = a}) .+      mapping _Coerce++-- | Whether the asset pushes down other content. Applicable to the following+-- creative types: all RICH_MEDIA. Additionally, only applicable when the+-- asset offsets are 0, the collapsedSize.width matches size.width, and the+-- collapsedSize.height is less than size.height.+caaPushdown :: Lens' CreativeAsset (Maybe Bool)+caaPushdown+  = lens _caaPushdown (\ s a -> s{_caaPushdown = a})++-- | Detected video duration for video asset. This is a read-only field.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+caaVideoDuration :: Lens' CreativeAsset (Maybe Double)+caaVideoDuration+  = lens _caaVideoDuration+      (\ s a -> s{_caaVideoDuration = a})+      . mapping _Coerce++-- | Whether the backup asset is original or changed by the user in DCM.+-- Applicable to the following creative types: all RICH_MEDIA.+caaOriginalBackup :: Lens' CreativeAsset (Maybe Bool)+caaOriginalBackup+  = lens _caaOriginalBackup+      (\ s a -> s{_caaOriginalBackup = a})++-- | Window mode options for flash assets. Applicable to the following+-- creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING,+-- RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.+caaWindowMode :: Lens' CreativeAsset (Maybe CreativeAssetWindowMode)+caaWindowMode+  = lens _caaWindowMode+      (\ s a -> s{_caaWindowMode = a})++-- | Flash version of the asset. This is a read-only field. Applicable to the+-- following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA,+-- and all VPAID.+caaFlashVersion :: Lens' CreativeAsset (Maybe Int32)+caaFlashVersion+  = lens _caaFlashVersion+      (\ s a -> s{_caaFlashVersion = a})+      . mapping _Coerce++-- | Pushdown duration in seconds for an asset. Must be between 0 and 9.99.+-- Applicable to the following creative types: all RICH_MEDIA.Additionally,+-- only applicable when the asset pushdown field is true, the offsets are+-- 0, the collapsedSize.width matches size.width, and the+-- collapsedSize.height is less than size.height.+caaPushdownDuration :: Lens' CreativeAsset (Maybe Double)+caaPushdownDuration+  = lens _caaPushdownDuration+      (\ s a -> s{_caaPushdownDuration = a})+      . mapping _Coerce++-- | Size associated with this creative asset. This is a required field when+-- applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank,+-- this field will be automatically set using the actual size of the+-- associated image asset. Applicable to the following creative types:+-- ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and+-- all RICH_MEDIA.+caaSize :: Lens' CreativeAsset (Maybe Size)+caaSize = lens _caaSize (\ s a -> s{_caaSize = a})++-- | Whether the asset is vertically locked. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA.+caaVerticallyLocked :: Lens' CreativeAsset (Maybe Bool)+caaVerticallyLocked+  = lens _caaVerticallyLocked+      (\ s a -> s{_caaVerticallyLocked = a})++-- | Offset position for an asset in collapsed mode. This is a read-only+-- field. Applicable to the following creative types: all RICH_MEDIA and+-- all VPAID. Additionally, only applicable to assets whose displayType is+-- ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.+caaOffSet :: Lens' CreativeAsset (Maybe OffSetPosition)+caaOffSet+  = lens _caaOffSet (\ s a -> s{_caaOffSet = a})++-- | Streaming URL for video asset. This is a read-only field. Applicable to+-- the following creative types: INSTREAM_VIDEO and all VPAID.+caaStreamingServingURL :: Lens' CreativeAsset (Maybe Text)+caaStreamingServingURL+  = lens _caaStreamingServingURL+      (\ s a -> s{_caaStreamingServingURL = a})++-- | Size of zip file. This is a read-only field. Applicable to the following+-- creative types: HTML5_BANNER.+caaZipFilesize :: Lens' CreativeAsset (Maybe Text)+caaZipFilesize+  = lens _caaZipFilesize+      (\ s a -> s{_caaZipFilesize = a})++-- | Whether the asset is transparent. Applicable to the following creative+-- types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.+caaTransparency :: Lens' CreativeAsset (Maybe Bool)+caaTransparency+  = lens _caaTransparency+      (\ s a -> s{_caaTransparency = a})++-- | Whether to hide selection boxes flag for an asset. Applicable to the+-- following creative types: all RICH_MEDIA.+caaHideSelectionBoxes :: Lens' CreativeAsset (Maybe Bool)+caaHideSelectionBoxes+  = lens _caaHideSelectionBoxes+      (\ s a -> s{_caaHideSelectionBoxes = a})++-- | Whether the asset is SSL-compliant. This is a read-only field.+-- Applicable to all but the following creative types: all REDIRECT and+-- TRACKING_TEXT.+caaSSLCompliant :: Lens' CreativeAsset (Maybe Bool)+caaSSLCompliant+  = lens _caaSSLCompliant+      (\ s a -> s{_caaSSLCompliant = a})++-- | File size associated with this creative asset. This is a read-only+-- field. Applicable to all but the following creative types: all REDIRECT+-- and TRACKING_TEXT.+caaFileSize :: Lens' CreativeAsset (Maybe Int64)+caaFileSize+  = lens _caaFileSize (\ s a -> s{_caaFileSize = a}) .+      mapping _Coerce++-- | Identifier of this asset. This is the same identifier returned during+-- creative asset insert operation. This is a required field. Applicable to+-- all but the following creative types: all REDIRECT and TRACKING_TEXT.+caaAssetIdentifier :: Lens' CreativeAsset (Maybe CreativeAssetId)+caaAssetIdentifier+  = lens _caaAssetIdentifier+      (\ s a -> s{_caaAssetIdentifier = a})++-- | Duration type for which an asset will be displayed. Applicable to the+-- following creative types: all RICH_MEDIA.+caaDurationType :: Lens' CreativeAsset (Maybe CreativeAssetDurationType)+caaDurationType+  = lens _caaDurationType+      (\ s a -> s{_caaDurationType = a})++-- | Progressive URL for video asset. This is a read-only field. Applicable+-- to the following creative types: INSTREAM_VIDEO and all VPAID.+caaProgressiveServingURL :: Lens' CreativeAsset (Maybe Text)+caaProgressiveServingURL+  = lens _caaProgressiveServingURL+      (\ s a -> s{_caaProgressiveServingURL = a})++-- | Whether the video asset is active. This is a read-only field for+-- VPAID_NON_LINEAR assets. Applicable to the following creative types:+-- INSTREAM_VIDEO and all VPAID.+caaActive :: Lens' CreativeAsset (Maybe Bool)+caaActive+  = lens _caaActive (\ s a -> s{_caaActive = a})++-- | Role of the asset in relation to creative. Applicable to all but the+-- following creative types: all REDIRECT and TRACKING_TEXT. This is a+-- required field. PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE,+-- HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain+-- multiple primary assets), and all VPAID creatives. BACKUP_IMAGE applies+-- to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all+-- VPAID creatives. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to+-- FLASH_INPAGE creatives. OTHER refers to assets from sources other than+-- DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and+-- all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the user+-- in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.+-- TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO+-- assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.+-- ALTERNATE_VIDEO refers to the DCM representation of child asset videos+-- from Studio, and is applicable to VPAID_LINEAR creatives. These cannot+-- be added or removed within DCM. For VPAID_LINEAR creatives,+-- PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are+-- marked active serve as backup in case the VPAID creative cannot be+-- served. Only PARENT_VIDEO assets can be added or removed for an+-- INSTREAM_VIDEO or VPAID_LINEAR creative.+caaRole :: Lens' CreativeAsset (Maybe CreativeAssetRole)+caaRole = lens _caaRole (\ s a -> s{_caaRole = a})++-- | Detected MIME type for video asset. This is a read-only field.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+caaMimeType :: Lens' CreativeAsset (Maybe Text)+caaMimeType+  = lens _caaMimeType (\ s a -> s{_caaMimeType = a})++-- | Offset top unit for an asset. This is a read-only field if the asset+-- displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following+-- creative types: all RICH_MEDIA.+caaPositionTopUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionTopUnit)+caaPositionTopUnit+  = lens _caaPositionTopUnit+      (\ s a -> s{_caaPositionTopUnit = a})++-- | Offset left unit for an asset. This is a read-only field. Applicable to+-- the following creative types: all RICH_MEDIA.+caaPositionLeftUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionLeftUnit)+caaPositionLeftUnit+  = lens _caaPositionLeftUnit+      (\ s a -> s{_caaPositionLeftUnit = a})++-- | Possible alignments for an asset. This is a read-only field. Applicable+-- to the following creative types: RICH_MEDIA_MULTI_FLOATING.+caaAlignment :: Lens' CreativeAsset (Maybe CreativeAssetAlignment)+caaAlignment+  = lens _caaAlignment (\ s a -> s{_caaAlignment = a})++-- | Detected expanded dimension for video asset. This is a read-only field.+-- Applicable to the following creative types: INSTREAM_VIDEO and all+-- VPAID.+caaExpandedDimension :: Lens' CreativeAsset (Maybe Size)+caaExpandedDimension+  = lens _caaExpandedDimension+      (\ s a -> s{_caaExpandedDimension = a})++-- | File name of zip file. This is a read-only field. Applicable to the+-- following creative types: HTML5_BANNER.+caaZipFilename :: Lens' CreativeAsset (Maybe Text)+caaZipFilename+  = lens _caaZipFilename+      (\ s a -> s{_caaZipFilename = a})++-- | Whether ActionScript3 is enabled for the flash asset. This is a+-- read-only field. Applicable to the following creative types:+-- FLASH_INPAGE and ENHANCED_BANNER.+caaActionScript3 :: Lens' CreativeAsset (Maybe Bool)+caaActionScript3+  = lens _caaActionScript3+      (\ s a -> s{_caaActionScript3 = a})++-- | Type of rich media asset. This is a read-only field. Applicable to the+-- following creative types: all RICH_MEDIA.+caaDisplayType :: Lens' CreativeAsset (Maybe CreativeAssetDisplayType)+caaDisplayType+  = lens _caaDisplayType+      (\ s a -> s{_caaDisplayType = a})++-- | Rich media child asset type. This is a read-only field. Applicable to+-- the following creative types: all VPAID.+caaChildAssetType :: Lens' CreativeAsset (Maybe CreativeAssetChildAssetType)+caaChildAssetType+  = lens _caaChildAssetType+      (\ s a -> s{_caaChildAssetType = a})++-- | Size of an asset when collapsed. This is a read-only field. Applicable+-- to the following creative types: all RICH_MEDIA and all VPAID.+-- Additionally, applicable to assets whose displayType is+-- ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.+caaCollapsedSize :: Lens' CreativeAsset (Maybe Size)+caaCollapsedSize+  = lens _caaCollapsedSize+      (\ s a -> s{_caaCollapsedSize = a})++-- | Numeric ID of this creative asset. This is a required field and should+-- not be modified. Applicable to all but the following creative types: all+-- REDIRECT and TRACKING_TEXT.+caaId :: Lens' CreativeAsset (Maybe Int64)+caaId+  = lens _caaId (\ s a -> s{_caaId = a}) .+      mapping _Coerce++-- | Detected bit-rate for video asset. This is a read-only field. Applicable+-- to the following creative types: INSTREAM_VIDEO and all VPAID.+caaBitRate :: Lens' CreativeAsset (Maybe Int32)+caaBitRate+  = lens _caaBitRate (\ s a -> s{_caaBitRate = a}) .+      mapping _Coerce++-- | Custom start time in seconds for making the asset visible. Applicable to+-- the following creative types: all RICH_MEDIA.+caaCustomStartTimeValue :: Lens' CreativeAsset (Maybe Int32)+caaCustomStartTimeValue+  = lens _caaCustomStartTimeValue+      (\ s a -> s{_caaCustomStartTimeValue = a})+      . mapping _Coerce++-- | Initial wait time type before making the asset visible. Applicable to+-- the following creative types: all RICH_MEDIA.+caaStartTimeType :: Lens' CreativeAsset (Maybe CreativeAssetStartTimeType)+caaStartTimeType+  = lens _caaStartTimeType+      (\ s a -> s{_caaStartTimeType = a})++-- | Duration in seconds for which an asset will be displayed. Applicable to+-- the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.+caaDuration :: Lens' CreativeAsset (Maybe Int32)+caaDuration+  = lens _caaDuration (\ s a -> s{_caaDuration = a}) .+      mapping _Coerce++-- | Artwork type of rich media creative. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA.+caaArtworkType :: Lens' CreativeAsset (Maybe CreativeAssetArtworkType)+caaArtworkType+  = lens _caaArtworkType+      (\ s a -> s{_caaArtworkType = a})++-- | Whether to hide Flash objects flag for an asset. Applicable to the+-- following creative types: all RICH_MEDIA.+caaHideFlashObjects :: Lens' CreativeAsset (Maybe Bool)+caaHideFlashObjects+  = lens _caaHideFlashObjects+      (\ s a -> s{_caaHideFlashObjects = a})++-- | List of feature dependencies for the creative asset that are detected by+-- DCM. Feature dependencies are features that a browser must be able to+-- support in order to render your HTML5 creative correctly. This is a+-- read-only, auto-generated field. Applicable to the following creative+-- types: ENHANCED_BANNER and HTML5_BANNER.+caaDetectedFeatures :: Lens' CreativeAsset [CreativeAssetDetectedFeaturesItem]+caaDetectedFeatures+  = lens _caaDetectedFeatures+      (\ s a -> s{_caaDetectedFeatures = a})+      . _Default+      . _Coerce++-- | Exit event configured for the backup image. Applicable to the following+-- creative types: all RICH_MEDIA.+caaBackupImageExit :: Lens' CreativeAsset (Maybe CreativeCustomEvent)+caaBackupImageExit+  = lens _caaBackupImageExit+      (\ s a -> s{_caaBackupImageExit = a})++-- | Offset position for an asset. Applicable to the following creative+-- types: all RICH_MEDIA.+caaPosition :: Lens' CreativeAsset (Maybe OffSetPosition)+caaPosition+  = lens _caaPosition (\ s a -> s{_caaPosition = a})++-- | Whether the asset is horizontally locked. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA.+caaHorizontallyLocked :: Lens' CreativeAsset (Maybe Bool)+caaHorizontallyLocked+  = lens _caaHorizontallyLocked+      (\ s a -> s{_caaHorizontallyLocked = a})++instance FromJSON CreativeAsset where+        parseJSON+          = withObject "CreativeAsset"+              (\ o ->+                 CreativeAsset <$>+                   (o .:? "zIndex") <*> (o .:? "pushdown") <*>+                     (o .:? "videoDuration")+                     <*> (o .:? "originalBackup")+                     <*> (o .:? "windowMode")+                     <*> (o .:? "flashVersion")+                     <*> (o .:? "pushdownDuration")+                     <*> (o .:? "size")+                     <*> (o .:? "verticallyLocked")+                     <*> (o .:? "offset")+                     <*> (o .:? "streamingServingUrl")+                     <*> (o .:? "zipFilesize")+                     <*> (o .:? "transparency")+                     <*> (o .:? "hideSelectionBoxes")+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "fileSize")+                     <*> (o .:? "assetIdentifier")+                     <*> (o .:? "durationType")+                     <*> (o .:? "progressiveServingUrl")+                     <*> (o .:? "active")+                     <*> (o .:? "role")+                     <*> (o .:? "mimeType")+                     <*> (o .:? "positionTopUnit")+                     <*> (o .:? "positionLeftUnit")+                     <*> (o .:? "alignment")+                     <*> (o .:? "expandedDimension")+                     <*> (o .:? "zipFilename")+                     <*> (o .:? "actionScript3")+                     <*> (o .:? "displayType")+                     <*> (o .:? "childAssetType")+                     <*> (o .:? "collapsedSize")+                     <*> (o .:? "id")+                     <*> (o .:? "bitRate")+                     <*> (o .:? "customStartTimeValue")+                     <*> (o .:? "startTimeType")+                     <*> (o .:? "duration")+                     <*> (o .:? "artworkType")+                     <*> (o .:? "hideFlashObjects")+                     <*> (o .:? "detectedFeatures" .!= mempty)+                     <*> (o .:? "backupImageExit")+                     <*> (o .:? "position")+                     <*> (o .:? "horizontallyLocked"))++instance ToJSON CreativeAsset where+        toJSON CreativeAsset{..}+          = object+              (catMaybes+                 [("zIndex" .=) <$> _caaZIndex,+                  ("pushdown" .=) <$> _caaPushdown,+                  ("videoDuration" .=) <$> _caaVideoDuration,+                  ("originalBackup" .=) <$> _caaOriginalBackup,+                  ("windowMode" .=) <$> _caaWindowMode,+                  ("flashVersion" .=) <$> _caaFlashVersion,+                  ("pushdownDuration" .=) <$> _caaPushdownDuration,+                  ("size" .=) <$> _caaSize,+                  ("verticallyLocked" .=) <$> _caaVerticallyLocked,+                  ("offset" .=) <$> _caaOffSet,+                  ("streamingServingUrl" .=) <$>+                    _caaStreamingServingURL,+                  ("zipFilesize" .=) <$> _caaZipFilesize,+                  ("transparency" .=) <$> _caaTransparency,+                  ("hideSelectionBoxes" .=) <$> _caaHideSelectionBoxes,+                  ("sslCompliant" .=) <$> _caaSSLCompliant,+                  ("fileSize" .=) <$> _caaFileSize,+                  ("assetIdentifier" .=) <$> _caaAssetIdentifier,+                  ("durationType" .=) <$> _caaDurationType,+                  ("progressiveServingUrl" .=) <$>+                    _caaProgressiveServingURL,+                  ("active" .=) <$> _caaActive,+                  ("role" .=) <$> _caaRole,+                  ("mimeType" .=) <$> _caaMimeType,+                  ("positionTopUnit" .=) <$> _caaPositionTopUnit,+                  ("positionLeftUnit" .=) <$> _caaPositionLeftUnit,+                  ("alignment" .=) <$> _caaAlignment,+                  ("expandedDimension" .=) <$> _caaExpandedDimension,+                  ("zipFilename" .=) <$> _caaZipFilename,+                  ("actionScript3" .=) <$> _caaActionScript3,+                  ("displayType" .=) <$> _caaDisplayType,+                  ("childAssetType" .=) <$> _caaChildAssetType,+                  ("collapsedSize" .=) <$> _caaCollapsedSize,+                  ("id" .=) <$> _caaId, ("bitRate" .=) <$> _caaBitRate,+                  ("customStartTimeValue" .=) <$>+                    _caaCustomStartTimeValue,+                  ("startTimeType" .=) <$> _caaStartTimeType,+                  ("duration" .=) <$> _caaDuration,+                  ("artworkType" .=) <$> _caaArtworkType,+                  ("hideFlashObjects" .=) <$> _caaHideFlashObjects,+                  ("detectedFeatures" .=) <$> _caaDetectedFeatures,+                  ("backupImageExit" .=) <$> _caaBackupImageExit,+                  ("position" .=) <$> _caaPosition,+                  ("horizontallyLocked" .=) <$>+                    _caaHorizontallyLocked])++-- | Placement List Response+--+-- /See:/ 'placementsListResponse' smart constructor.+data PlacementsListResponse = PlacementsListResponse+    { _plaNextPageToken :: !(Maybe Text)+    , _plaKind          :: !Text+    , _plaPlacements    :: !(Maybe [Placement])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plaNextPageToken'+--+-- * 'plaKind'+--+-- * 'plaPlacements'+placementsListResponse+    :: PlacementsListResponse+placementsListResponse =+    PlacementsListResponse+    { _plaNextPageToken = Nothing+    , _plaKind = "dfareporting#placementsListResponse"+    , _plaPlacements = Nothing+    }++-- | Pagination token to be used for the next list operation.+plaNextPageToken :: Lens' PlacementsListResponse (Maybe Text)+plaNextPageToken+  = lens _plaNextPageToken+      (\ s a -> s{_plaNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementsListResponse\".+plaKind :: Lens' PlacementsListResponse Text+plaKind = lens _plaKind (\ s a -> s{_plaKind = a})++-- | Placement collection.+plaPlacements :: Lens' PlacementsListResponse [Placement]+plaPlacements+  = lens _plaPlacements+      (\ s a -> s{_plaPlacements = a})+      . _Default+      . _Coerce++instance FromJSON PlacementsListResponse where+        parseJSON+          = withObject "PlacementsListResponse"+              (\ o ->+                 PlacementsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#placementsListResponse")+                     <*> (o .:? "placements" .!= mempty))++instance ToJSON PlacementsListResponse where+        toJSON PlacementsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _plaNextPageToken,+                  Just ("kind" .= _plaKind),+                  ("placements" .=) <$> _plaPlacements])++-- | The report\'s schedule. Can only be set if the report\'s \'dateRange\'+-- is a relative date range and the relative date range is not \"TODAY\".+--+-- /See:/ 'reportSchedule' smart constructor.+data ReportSchedule = ReportSchedule+    { _rsEvery             :: !(Maybe (Textual Int32))+    , _rsActive            :: !(Maybe Bool)+    , _rsRepeats           :: !(Maybe Text)+    , _rsStartDate         :: !(Maybe Date')+    , _rsExpirationDate    :: !(Maybe Date')+    , _rsRunsOnDayOfMonth  :: !(Maybe ReportScheduleRunsOnDayOfMonth)+    , _rsRepeatsOnWeekDays :: !(Maybe [ReportScheduleRepeatsOnWeekDaysItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsEvery'+--+-- * 'rsActive'+--+-- * 'rsRepeats'+--+-- * 'rsStartDate'+--+-- * 'rsExpirationDate'+--+-- * 'rsRunsOnDayOfMonth'+--+-- * 'rsRepeatsOnWeekDays'+reportSchedule+    :: ReportSchedule+reportSchedule =+    ReportSchedule+    { _rsEvery = Nothing+    , _rsActive = Nothing+    , _rsRepeats = Nothing+    , _rsStartDate = Nothing+    , _rsExpirationDate = Nothing+    , _rsRunsOnDayOfMonth = Nothing+    , _rsRepeatsOnWeekDays = Nothing+    }++-- | Defines every how many days, weeks or months the report should be run.+-- Needs to be set when \"repeats\" is either \"DAILY\", \"WEEKLY\" or+-- \"MONTHLY\".+rsEvery :: Lens' ReportSchedule (Maybe Int32)+rsEvery+  = lens _rsEvery (\ s a -> s{_rsEvery = a}) .+      mapping _Coerce++-- | Whether the schedule is active or not. Must be set to either true or+-- false.+rsActive :: Lens' ReportSchedule (Maybe Bool)+rsActive = lens _rsActive (\ s a -> s{_rsActive = a})++-- | The interval for which the report is repeated. Note: - \"DAILY\" also+-- requires field \"every\" to be set. - \"WEEKLY\" also requires fields+-- \"every\" and \"repeatsOnWeekDays\" to be set. - \"MONTHLY\" also+-- requires fields \"every\" and \"runsOnDayOfMonth\" to be set.+rsRepeats :: Lens' ReportSchedule (Maybe Text)+rsRepeats+  = lens _rsRepeats (\ s a -> s{_rsRepeats = a})++-- | Start date of date range for which scheduled reports should be run.+rsStartDate :: Lens' ReportSchedule (Maybe Day)+rsStartDate+  = lens _rsStartDate (\ s a -> s{_rsStartDate = a}) .+      mapping _Date++-- | The expiration date when the scheduled report stops running.+rsExpirationDate :: Lens' ReportSchedule (Maybe Day)+rsExpirationDate+  = lens _rsExpirationDate+      (\ s a -> s{_rsExpirationDate = a})+      . mapping _Date++-- | Enum to define for \"MONTHLY\" scheduled reports whether reports should+-- be repeated on the same day of the month as \"startDate\" or the same+-- day of the week of the month. Example: If \'startDate\' is Monday, April+-- 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on+-- the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent+-- reports on the first Monday of the month.+rsRunsOnDayOfMonth :: Lens' ReportSchedule (Maybe ReportScheduleRunsOnDayOfMonth)+rsRunsOnDayOfMonth+  = lens _rsRunsOnDayOfMonth+      (\ s a -> s{_rsRunsOnDayOfMonth = a})++-- | List of week days \"WEEKLY\" on which scheduled reports should run.+rsRepeatsOnWeekDays :: Lens' ReportSchedule [ReportScheduleRepeatsOnWeekDaysItem]+rsRepeatsOnWeekDays+  = lens _rsRepeatsOnWeekDays+      (\ s a -> s{_rsRepeatsOnWeekDays = a})+      . _Default+      . _Coerce++instance FromJSON ReportSchedule where+        parseJSON+          = withObject "ReportSchedule"+              (\ o ->+                 ReportSchedule <$>+                   (o .:? "every") <*> (o .:? "active") <*>+                     (o .:? "repeats")+                     <*> (o .:? "startDate")+                     <*> (o .:? "expirationDate")+                     <*> (o .:? "runsOnDayOfMonth")+                     <*> (o .:? "repeatsOnWeekDays" .!= mempty))++instance ToJSON ReportSchedule where+        toJSON ReportSchedule{..}+          = object+              (catMaybes+                 [("every" .=) <$> _rsEvery,+                  ("active" .=) <$> _rsActive,+                  ("repeats" .=) <$> _rsRepeats,+                  ("startDate" .=) <$> _rsStartDate,+                  ("expirationDate" .=) <$> _rsExpirationDate,+                  ("runsOnDayOfMonth" .=) <$> _rsRunsOnDayOfMonth,+                  ("repeatsOnWeekDays" .=) <$> _rsRepeatsOnWeekDays])++-- | The report criteria for a report of type \"PATH_TO_CONVERSION\".+--+-- /See:/ 'reportPathToConversionCriteria' smart constructor.+data ReportPathToConversionCriteria = ReportPathToConversionCriteria+    { _rptccReportProperties          :: !(Maybe ReportPathToConversionCriteriaReportProperties)+    , _rptccMetricNames               :: !(Maybe [Text])+    , _rptccCustomRichMediaEvents     :: !(Maybe [DimensionValue])+    , _rptccDateRange                 :: !(Maybe DateRange)+    , _rptccConversionDimensions      :: !(Maybe [SortedDimension])+    , _rptccCustomFloodlightVariables :: !(Maybe [SortedDimension])+    , _rptccFloodlightConfigId        :: !(Maybe DimensionValue)+    , _rptccActivityFilters           :: !(Maybe [DimensionValue])+    , _rptccPerInteractionDimensions  :: !(Maybe [SortedDimension])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportPathToConversionCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rptccReportProperties'+--+-- * 'rptccMetricNames'+--+-- * 'rptccCustomRichMediaEvents'+--+-- * 'rptccDateRange'+--+-- * 'rptccConversionDimensions'+--+-- * 'rptccCustomFloodlightVariables'+--+-- * 'rptccFloodlightConfigId'+--+-- * 'rptccActivityFilters'+--+-- * 'rptccPerInteractionDimensions'+reportPathToConversionCriteria+    :: ReportPathToConversionCriteria+reportPathToConversionCriteria =+    ReportPathToConversionCriteria+    { _rptccReportProperties = Nothing+    , _rptccMetricNames = Nothing+    , _rptccCustomRichMediaEvents = Nothing+    , _rptccDateRange = Nothing+    , _rptccConversionDimensions = Nothing+    , _rptccCustomFloodlightVariables = Nothing+    , _rptccFloodlightConfigId = Nothing+    , _rptccActivityFilters = Nothing+    , _rptccPerInteractionDimensions = Nothing+    }++-- | The properties of the report.+rptccReportProperties :: Lens' ReportPathToConversionCriteria (Maybe ReportPathToConversionCriteriaReportProperties)+rptccReportProperties+  = lens _rptccReportProperties+      (\ s a -> s{_rptccReportProperties = a})++-- | The list of names of metrics the report should include.+rptccMetricNames :: Lens' ReportPathToConversionCriteria [Text]+rptccMetricNames+  = lens _rptccMetricNames+      (\ s a -> s{_rptccMetricNames = a})+      . _Default+      . _Coerce++-- | The list of custom rich media events to include.+rptccCustomRichMediaEvents :: Lens' ReportPathToConversionCriteria [DimensionValue]+rptccCustomRichMediaEvents+  = lens _rptccCustomRichMediaEvents+      (\ s a -> s{_rptccCustomRichMediaEvents = a})+      . _Default+      . _Coerce++-- | The date range this report should be run for.+rptccDateRange :: Lens' ReportPathToConversionCriteria (Maybe DateRange)+rptccDateRange+  = lens _rptccDateRange+      (\ s a -> s{_rptccDateRange = a})++-- | The list of conversion dimensions the report should include.+rptccConversionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]+rptccConversionDimensions+  = lens _rptccConversionDimensions+      (\ s a -> s{_rptccConversionDimensions = a})+      . _Default+      . _Coerce++-- | The list of custom floodlight variables the report should include.+rptccCustomFloodlightVariables :: Lens' ReportPathToConversionCriteria [SortedDimension]+rptccCustomFloodlightVariables+  = lens _rptccCustomFloodlightVariables+      (\ s a -> s{_rptccCustomFloodlightVariables = a})+      . _Default+      . _Coerce++-- | The floodlight ID for which to show data in this report. All advertisers+-- associated with that ID will automatically be added. The dimension of+-- the value needs to be \'dfa:floodlightConfigId\'.+rptccFloodlightConfigId :: Lens' ReportPathToConversionCriteria (Maybe DimensionValue)+rptccFloodlightConfigId+  = lens _rptccFloodlightConfigId+      (\ s a -> s{_rptccFloodlightConfigId = a})++-- | The list of \'dfa:activity\' values to filter on.+rptccActivityFilters :: Lens' ReportPathToConversionCriteria [DimensionValue]+rptccActivityFilters+  = lens _rptccActivityFilters+      (\ s a -> s{_rptccActivityFilters = a})+      . _Default+      . _Coerce++-- | The list of per interaction dimensions the report should include.+rptccPerInteractionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]+rptccPerInteractionDimensions+  = lens _rptccPerInteractionDimensions+      (\ s a -> s{_rptccPerInteractionDimensions = a})+      . _Default+      . _Coerce++instance FromJSON ReportPathToConversionCriteria+         where+        parseJSON+          = withObject "ReportPathToConversionCriteria"+              (\ o ->+                 ReportPathToConversionCriteria <$>+                   (o .:? "reportProperties") <*>+                     (o .:? "metricNames" .!= mempty)+                     <*> (o .:? "customRichMediaEvents" .!= mempty)+                     <*> (o .:? "dateRange")+                     <*> (o .:? "conversionDimensions" .!= mempty)+                     <*> (o .:? "customFloodlightVariables" .!= mempty)+                     <*> (o .:? "floodlightConfigId")+                     <*> (o .:? "activityFilters" .!= mempty)+                     <*> (o .:? "perInteractionDimensions" .!= mempty))++instance ToJSON ReportPathToConversionCriteria where+        toJSON ReportPathToConversionCriteria{..}+          = object+              (catMaybes+                 [("reportProperties" .=) <$> _rptccReportProperties,+                  ("metricNames" .=) <$> _rptccMetricNames,+                  ("customRichMediaEvents" .=) <$>+                    _rptccCustomRichMediaEvents,+                  ("dateRange" .=) <$> _rptccDateRange,+                  ("conversionDimensions" .=) <$>+                    _rptccConversionDimensions,+                  ("customFloodlightVariables" .=) <$>+                    _rptccCustomFloodlightVariables,+                  ("floodlightConfigId" .=) <$>+                    _rptccFloodlightConfigId,+                  ("activityFilters" .=) <$> _rptccActivityFilters,+                  ("perInteractionDimensions" .=) <$>+                    _rptccPerInteractionDimensions])++-- | Metro List Response+--+-- /See:/ 'metrosListResponse' smart constructor.+data MetrosListResponse = MetrosListResponse+    { _mlrKind   :: !Text+    , _mlrMetros :: !(Maybe [Metro])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetrosListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlrKind'+--+-- * 'mlrMetros'+metrosListResponse+    :: MetrosListResponse+metrosListResponse =+    MetrosListResponse+    { _mlrKind = "dfareporting#metrosListResponse"+    , _mlrMetros = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#metrosListResponse\".+mlrKind :: Lens' MetrosListResponse Text+mlrKind = lens _mlrKind (\ s a -> s{_mlrKind = a})++-- | Metro collection.+mlrMetros :: Lens' MetrosListResponse [Metro]+mlrMetros+  = lens _mlrMetros (\ s a -> s{_mlrMetros = a}) .+      _Default+      . _Coerce++instance FromJSON MetrosListResponse where+        parseJSON+          = withObject "MetrosListResponse"+              (\ o ->+                 MetrosListResponse <$>+                   (o .:? "kind" .!= "dfareporting#metrosListResponse")+                     <*> (o .:? "metros" .!= mempty))++instance ToJSON MetrosListResponse where+        toJSON MetrosListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _mlrKind),+                  ("metros" .=) <$> _mlrMetros])++-- | Order document List Response+--+-- /See:/ 'orderDocumentsListResponse' smart constructor.+data OrderDocumentsListResponse = OrderDocumentsListResponse+    { _odlrNextPageToken  :: !(Maybe Text)+    , _odlrKind           :: !Text+    , _odlrOrderDocuments :: !(Maybe [OrderDocument])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderDocumentsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odlrNextPageToken'+--+-- * 'odlrKind'+--+-- * 'odlrOrderDocuments'+orderDocumentsListResponse+    :: OrderDocumentsListResponse+orderDocumentsListResponse =+    OrderDocumentsListResponse+    { _odlrNextPageToken = Nothing+    , _odlrKind = "dfareporting#orderDocumentsListResponse"+    , _odlrOrderDocuments = Nothing+    }++-- | Pagination token to be used for the next list operation.+odlrNextPageToken :: Lens' OrderDocumentsListResponse (Maybe Text)+odlrNextPageToken+  = lens _odlrNextPageToken+      (\ s a -> s{_odlrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#orderDocumentsListResponse\".+odlrKind :: Lens' OrderDocumentsListResponse Text+odlrKind = lens _odlrKind (\ s a -> s{_odlrKind = a})++-- | Order document collection+odlrOrderDocuments :: Lens' OrderDocumentsListResponse [OrderDocument]+odlrOrderDocuments+  = lens _odlrOrderDocuments+      (\ s a -> s{_odlrOrderDocuments = a})+      . _Default+      . _Coerce++instance FromJSON OrderDocumentsListResponse where+        parseJSON+          = withObject "OrderDocumentsListResponse"+              (\ o ->+                 OrderDocumentsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dfareporting#orderDocumentsListResponse")+                     <*> (o .:? "orderDocuments" .!= mempty))++instance ToJSON OrderDocumentsListResponse where+        toJSON OrderDocumentsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _odlrNextPageToken,+                  Just ("kind" .= _odlrKind),+                  ("orderDocuments" .=) <$> _odlrOrderDocuments])++-- | Represents a recipient.+--+-- /See:/ 'recipient' smart constructor.+data Recipient = Recipient+    { _recEmail        :: !(Maybe Text)+    , _recKind         :: !Text+    , _recDeliveryType :: !(Maybe RecipientDeliveryType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Recipient' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'recEmail'+--+-- * 'recKind'+--+-- * 'recDeliveryType'+recipient+    :: Recipient+recipient =+    Recipient+    { _recEmail = Nothing+    , _recKind = "dfareporting#recipient"+    , _recDeliveryType = Nothing+    }++-- | The email address of the recipient.+recEmail :: Lens' Recipient (Maybe Text)+recEmail = lens _recEmail (\ s a -> s{_recEmail = a})++-- | The kind of resource this is, in this case dfareporting#recipient.+recKind :: Lens' Recipient Text+recKind = lens _recKind (\ s a -> s{_recKind = a})++-- | The delivery type for the recipient.+recDeliveryType :: Lens' Recipient (Maybe RecipientDeliveryType)+recDeliveryType+  = lens _recDeliveryType+      (\ s a -> s{_recDeliveryType = a})++instance FromJSON Recipient where+        parseJSON+          = withObject "Recipient"+              (\ o ->+                 Recipient <$>+                   (o .:? "email") <*>+                     (o .:? "kind" .!= "dfareporting#recipient")+                     <*> (o .:? "deliveryType"))++instance ToJSON Recipient where+        toJSON Recipient{..}+          = object+              (catMaybes+                 [("email" .=) <$> _recEmail,+                  Just ("kind" .= _recKind),+                  ("deliveryType" .=) <$> _recDeliveryType])++-- | Contains properties of a site.+--+-- /See:/ 'site' smart constructor.+data Site = Site+    { _ssKind                          :: !Text+    , _ssKeyName                       :: !(Maybe Text)+    , _ssSiteContacts                  :: !(Maybe [SiteContact])+    , _ssSiteSettings                  :: !(Maybe SiteSettings)+    , _ssIdDimensionValue              :: !(Maybe DimensionValue)+    , _ssDirectorySiteIdDimensionValue :: !(Maybe DimensionValue)+    , _ssAccountId                     :: !(Maybe (Textual Int64))+    , _ssName                          :: !(Maybe Text)+    , _ssDirectorySiteId               :: !(Maybe (Textual Int64))+    , _ssId                            :: !(Maybe (Textual Int64))+    , _ssSubAccountId                  :: !(Maybe (Textual Int64))+    , _ssApproved                      :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Site' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssKind'+--+-- * 'ssKeyName'+--+-- * 'ssSiteContacts'+--+-- * 'ssSiteSettings'+--+-- * 'ssIdDimensionValue'+--+-- * 'ssDirectorySiteIdDimensionValue'+--+-- * 'ssAccountId'+--+-- * 'ssName'+--+-- * 'ssDirectorySiteId'+--+-- * 'ssId'+--+-- * 'ssSubAccountId'+--+-- * 'ssApproved'+site+    :: Site+site =+    Site+    { _ssKind = "dfareporting#site"+    , _ssKeyName = Nothing+    , _ssSiteContacts = Nothing+    , _ssSiteSettings = Nothing+    , _ssIdDimensionValue = Nothing+    , _ssDirectorySiteIdDimensionValue = Nothing+    , _ssAccountId = Nothing+    , _ssName = Nothing+    , _ssDirectorySiteId = Nothing+    , _ssId = Nothing+    , _ssSubAccountId = Nothing+    , _ssApproved = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#site\".+ssKind :: Lens' Site Text+ssKind = lens _ssKind (\ s a -> s{_ssKind = a})++-- | Key name of this site. This is a read-only, auto-generated field.+ssKeyName :: Lens' Site (Maybe Text)+ssKeyName+  = lens _ssKeyName (\ s a -> s{_ssKeyName = a})++-- | Site contacts.+ssSiteContacts :: Lens' Site [SiteContact]+ssSiteContacts+  = lens _ssSiteContacts+      (\ s a -> s{_ssSiteContacts = a})+      . _Default+      . _Coerce++-- | Site-wide settings.+ssSiteSettings :: Lens' Site (Maybe SiteSettings)+ssSiteSettings+  = lens _ssSiteSettings+      (\ s a -> s{_ssSiteSettings = a})++-- | Dimension value for the ID of this site. This is a read-only,+-- auto-generated field.+ssIdDimensionValue :: Lens' Site (Maybe DimensionValue)+ssIdDimensionValue+  = lens _ssIdDimensionValue+      (\ s a -> s{_ssIdDimensionValue = a})++-- | Dimension value for the ID of the directory site. This is a read-only,+-- auto-generated field.+ssDirectorySiteIdDimensionValue :: Lens' Site (Maybe DimensionValue)+ssDirectorySiteIdDimensionValue+  = lens _ssDirectorySiteIdDimensionValue+      (\ s a -> s{_ssDirectorySiteIdDimensionValue = a})++-- | Account ID of this site. This is a read-only field that can be left+-- blank.+ssAccountId :: Lens' Site (Maybe Int64)+ssAccountId+  = lens _ssAccountId (\ s a -> s{_ssAccountId = a}) .+      mapping _Coerce++-- | Name of this site.This is a required field. Must be less than 128+-- characters long. If this site is under a subaccount, the name must be+-- unique among sites of the same subaccount. Otherwise, this site is a+-- top-level site, and the name must be unique among top-level sites of the+-- same account.+ssName :: Lens' Site (Maybe Text)+ssName = lens _ssName (\ s a -> s{_ssName = a})++-- | Directory site associated with this site. This is a required field that+-- is read-only after insertion.+ssDirectorySiteId :: Lens' Site (Maybe Int64)+ssDirectorySiteId+  = lens _ssDirectorySiteId+      (\ s a -> s{_ssDirectorySiteId = a})+      . mapping _Coerce++-- | ID of this site. This is a read-only, auto-generated field.+ssId :: Lens' Site (Maybe Int64)+ssId+  = lens _ssId (\ s a -> s{_ssId = a}) .+      mapping _Coerce++-- | Subaccount ID of this site. This is a read-only field that can be left+-- blank.+ssSubAccountId :: Lens' Site (Maybe Int64)+ssSubAccountId+  = lens _ssSubAccountId+      (\ s a -> s{_ssSubAccountId = a})+      . mapping _Coerce++-- | Whether this site is approved.+ssApproved :: Lens' Site (Maybe Bool)+ssApproved+  = lens _ssApproved (\ s a -> s{_ssApproved = a})++instance FromJSON Site where+        parseJSON+          = withObject "Site"+              (\ o ->+                 Site <$>+                   (o .:? "kind" .!= "dfareporting#site") <*>+                     (o .:? "keyName")+                     <*> (o .:? "siteContacts" .!= mempty)+                     <*> (o .:? "siteSettings")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "directorySiteIdDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "directorySiteId")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "approved"))++instance ToJSON Site where+        toJSON Site{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ssKind),+                  ("keyName" .=) <$> _ssKeyName,+                  ("siteContacts" .=) <$> _ssSiteContacts,+                  ("siteSettings" .=) <$> _ssSiteSettings,+                  ("idDimensionValue" .=) <$> _ssIdDimensionValue,+                  ("directorySiteIdDimensionValue" .=) <$>+                    _ssDirectorySiteIdDimensionValue,+                  ("accountId" .=) <$> _ssAccountId,+                  ("name" .=) <$> _ssName,+                  ("directorySiteId" .=) <$> _ssDirectorySiteId,+                  ("id" .=) <$> _ssId,+                  ("subaccountId" .=) <$> _ssSubAccountId,+                  ("approved" .=) <$> _ssApproved])++-- | User Defined Variable configuration.+--+-- /See:/ 'userDefinedVariableConfiguration' smart constructor.+data UserDefinedVariableConfiguration = UserDefinedVariableConfiguration+    { _udvcReportName   :: !(Maybe Text)+    , _udvcDataType     :: !(Maybe UserDefinedVariableConfigurationDataType)+    , _udvcVariableType :: !(Maybe UserDefinedVariableConfigurationVariableType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserDefinedVariableConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udvcReportName'+--+-- * 'udvcDataType'+--+-- * 'udvcVariableType'+userDefinedVariableConfiguration+    :: UserDefinedVariableConfiguration+userDefinedVariableConfiguration =+    UserDefinedVariableConfiguration+    { _udvcReportName = Nothing+    , _udvcDataType = Nothing+    , _udvcVariableType = Nothing+    }++-- | User-friendly name for the variable which will appear in reports. This+-- is a required field, must be less than 64 characters long, and cannot+-- contain the following characters: \"\"\<>\".+udvcReportName :: Lens' UserDefinedVariableConfiguration (Maybe Text)+udvcReportName+  = lens _udvcReportName+      (\ s a -> s{_udvcReportName = a})++-- | Data type for the variable. This is a required field.+udvcDataType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationDataType)+udvcDataType+  = lens _udvcDataType (\ s a -> s{_udvcDataType = a})++-- | Variable name in the tag. This is a required field.+udvcVariableType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationVariableType)+udvcVariableType+  = lens _udvcVariableType+      (\ s a -> s{_udvcVariableType = a})++instance FromJSON UserDefinedVariableConfiguration+         where+        parseJSON+          = withObject "UserDefinedVariableConfiguration"+              (\ o ->+                 UserDefinedVariableConfiguration <$>+                   (o .:? "reportName") <*> (o .:? "dataType") <*>+                     (o .:? "variableType"))++instance ToJSON UserDefinedVariableConfiguration+         where+        toJSON UserDefinedVariableConfiguration{..}+          = object+              (catMaybes+                 [("reportName" .=) <$> _udvcReportName,+                  ("dataType" .=) <$> _udvcDataType,+                  ("variableType" .=) <$> _udvcVariableType])++-- | The report criteria for a report of type \"CROSS_DIMENSION_REACH\".+--+-- /See:/ 'reportCrossDimensionReachCriteria' smart constructor.+data ReportCrossDimensionReachCriteria = ReportCrossDimensionReachCriteria+    { _rcdrcPivoted            :: !(Maybe Bool)+    , _rcdrcBreakdown          :: !(Maybe [SortedDimension])+    , _rcdrcDimension          :: !(Maybe ReportCrossDimensionReachCriteriaDimension)+    , _rcdrcMetricNames        :: !(Maybe [Text])+    , _rcdrcDimensionFilters   :: !(Maybe [DimensionValue])+    , _rcdrcDateRange          :: !(Maybe DateRange)+    , _rcdrcOverlapMetricNames :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportCrossDimensionReachCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcdrcPivoted'+--+-- * 'rcdrcBreakdown'+--+-- * 'rcdrcDimension'+--+-- * 'rcdrcMetricNames'+--+-- * 'rcdrcDimensionFilters'+--+-- * 'rcdrcDateRange'+--+-- * 'rcdrcOverlapMetricNames'+reportCrossDimensionReachCriteria+    :: ReportCrossDimensionReachCriteria+reportCrossDimensionReachCriteria =+    ReportCrossDimensionReachCriteria+    { _rcdrcPivoted = Nothing+    , _rcdrcBreakdown = Nothing+    , _rcdrcDimension = Nothing+    , _rcdrcMetricNames = Nothing+    , _rcdrcDimensionFilters = Nothing+    , _rcdrcDateRange = Nothing+    , _rcdrcOverlapMetricNames = Nothing+    }++-- | Whether the report is pivoted or not. Defaults to true.+rcdrcPivoted :: Lens' ReportCrossDimensionReachCriteria (Maybe Bool)+rcdrcPivoted+  = lens _rcdrcPivoted (\ s a -> s{_rcdrcPivoted = a})++-- | The list of dimensions the report should include.+rcdrcBreakdown :: Lens' ReportCrossDimensionReachCriteria [SortedDimension]+rcdrcBreakdown+  = lens _rcdrcBreakdown+      (\ s a -> s{_rcdrcBreakdown = a})+      . _Default+      . _Coerce++-- | The dimension option.+rcdrcDimension :: Lens' ReportCrossDimensionReachCriteria (Maybe ReportCrossDimensionReachCriteriaDimension)+rcdrcDimension+  = lens _rcdrcDimension+      (\ s a -> s{_rcdrcDimension = a})++-- | The list of names of metrics the report should include.+rcdrcMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]+rcdrcMetricNames+  = lens _rcdrcMetricNames+      (\ s a -> s{_rcdrcMetricNames = a})+      . _Default+      . _Coerce++-- | The list of filters on which dimensions are filtered.+rcdrcDimensionFilters :: Lens' ReportCrossDimensionReachCriteria [DimensionValue]+rcdrcDimensionFilters+  = lens _rcdrcDimensionFilters+      (\ s a -> s{_rcdrcDimensionFilters = a})+      . _Default+      . _Coerce++-- | The date range this report should be run for.+rcdrcDateRange :: Lens' ReportCrossDimensionReachCriteria (Maybe DateRange)+rcdrcDateRange+  = lens _rcdrcDateRange+      (\ s a -> s{_rcdrcDateRange = a})++-- | The list of names of overlap metrics the report should include.+rcdrcOverlapMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]+rcdrcOverlapMetricNames+  = lens _rcdrcOverlapMetricNames+      (\ s a -> s{_rcdrcOverlapMetricNames = a})+      . _Default+      . _Coerce++instance FromJSON ReportCrossDimensionReachCriteria+         where+        parseJSON+          = withObject "ReportCrossDimensionReachCriteria"+              (\ o ->+                 ReportCrossDimensionReachCriteria <$>+                   (o .:? "pivoted") <*> (o .:? "breakdown" .!= mempty)+                     <*> (o .:? "dimension")+                     <*> (o .:? "metricNames" .!= mempty)+                     <*> (o .:? "dimensionFilters" .!= mempty)+                     <*> (o .:? "dateRange")+                     <*> (o .:? "overlapMetricNames" .!= mempty))++instance ToJSON ReportCrossDimensionReachCriteria+         where+        toJSON ReportCrossDimensionReachCriteria{..}+          = object+              (catMaybes+                 [("pivoted" .=) <$> _rcdrcPivoted,+                  ("breakdown" .=) <$> _rcdrcBreakdown,+                  ("dimension" .=) <$> _rcdrcDimension,+                  ("metricNames" .=) <$> _rcdrcMetricNames,+                  ("dimensionFilters" .=) <$> _rcdrcDimensionFilters,+                  ("dateRange" .=) <$> _rcdrcDateRange,+                  ("overlapMetricNames" .=) <$>+                    _rcdrcOverlapMetricNames])++-- | The URLs where the completed report file can be downloaded.+--+-- /See:/ 'fileURLs' smart constructor.+data FileURLs = FileURLs+    { _fuBrowserURL :: !(Maybe Text)+    , _fuAPIURL     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileURLs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fuBrowserURL'+--+-- * 'fuAPIURL'+fileURLs+    :: FileURLs+fileURLs =+    FileURLs+    { _fuBrowserURL = Nothing+    , _fuAPIURL = Nothing+    }++-- | The URL for downloading the report data through a browser.+fuBrowserURL :: Lens' FileURLs (Maybe Text)+fuBrowserURL+  = lens _fuBrowserURL (\ s a -> s{_fuBrowserURL = a})++-- | The URL for downloading the report data through the API.+fuAPIURL :: Lens' FileURLs (Maybe Text)+fuAPIURL = lens _fuAPIURL (\ s a -> s{_fuAPIURL = a})++instance FromJSON FileURLs where+        parseJSON+          = withObject "FileURLs"+              (\ o ->+                 FileURLs <$>+                   (o .:? "browserUrl") <*> (o .:? "apiUrl"))++instance ToJSON FileURLs where+        toJSON FileURLs{..}+          = object+              (catMaybes+                 [("browserUrl" .=) <$> _fuBrowserURL,+                  ("apiUrl" .=) <$> _fuAPIURL])++-- | Campaign Creative Association List Response+--+-- /See:/ 'campaignCreativeAssociationsListResponse' smart constructor.+data CampaignCreativeAssociationsListResponse = CampaignCreativeAssociationsListResponse+    { _ccalrCampaignCreativeAssociations :: !(Maybe [CampaignCreativeAssociation])+    , _ccalrNextPageToken                :: !(Maybe Text)+    , _ccalrKind                         :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignCreativeAssociationsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccalrCampaignCreativeAssociations'+--+-- * 'ccalrNextPageToken'+--+-- * 'ccalrKind'+campaignCreativeAssociationsListResponse+    :: CampaignCreativeAssociationsListResponse+campaignCreativeAssociationsListResponse =+    CampaignCreativeAssociationsListResponse+    { _ccalrCampaignCreativeAssociations = Nothing+    , _ccalrNextPageToken = Nothing+    , _ccalrKind = "dfareporting#campaignCreativeAssociationsListResponse"+    }++-- | Campaign creative association collection+ccalrCampaignCreativeAssociations :: Lens' CampaignCreativeAssociationsListResponse [CampaignCreativeAssociation]+ccalrCampaignCreativeAssociations+  = lens _ccalrCampaignCreativeAssociations+      (\ s a -> s{_ccalrCampaignCreativeAssociations = a})+      . _Default+      . _Coerce++-- | Pagination token to be used for the next list operation.+ccalrNextPageToken :: Lens' CampaignCreativeAssociationsListResponse (Maybe Text)+ccalrNextPageToken+  = lens _ccalrNextPageToken+      (\ s a -> s{_ccalrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#campaignCreativeAssociationsListResponse\".+ccalrKind :: Lens' CampaignCreativeAssociationsListResponse Text+ccalrKind+  = lens _ccalrKind (\ s a -> s{_ccalrKind = a})++instance FromJSON+         CampaignCreativeAssociationsListResponse where+        parseJSON+          = withObject+              "CampaignCreativeAssociationsListResponse"+              (\ o ->+                 CampaignCreativeAssociationsListResponse <$>+                   (o .:? "campaignCreativeAssociations" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#campaignCreativeAssociationsListResponse"))++instance ToJSON+         CampaignCreativeAssociationsListResponse where+        toJSON CampaignCreativeAssociationsListResponse{..}+          = object+              (catMaybes+                 [("campaignCreativeAssociations" .=) <$>+                    _ccalrCampaignCreativeAssociations,+                  ("nextPageToken" .=) <$> _ccalrNextPageToken,+                  Just ("kind" .= _ccalrKind)])++-- | Describes properties of a DoubleClick Planning order.+--+-- /See:/ 'order' smart constructor.+data Order = Order+    { _oSellerOrderId          :: !(Maybe Text)+    , _oSellerOrganizationName :: !(Maybe Text)+    , _oKind                   :: !Text+    , _oAdvertiserId           :: !(Maybe (Textual Int64))+    , _oPlanningTermId         :: !(Maybe (Textual Int64))+    , _oAccountId              :: !(Maybe (Textual Int64))+    , _oName                   :: !(Maybe Text)+    , _oSiteNames              :: !(Maybe [Text])+    , _oLastModifiedInfo       :: !(Maybe LastModifiedInfo)+    , _oBuyerOrganizationName  :: !(Maybe Text)+    , _oId                     :: !(Maybe (Textual Int64))+    , _oBuyerInvoiceId         :: !(Maybe Text)+    , _oComments               :: !(Maybe Text)+    , _oProjectId              :: !(Maybe (Textual Int64))+    , _oSubAccountId           :: !(Maybe (Textual Int64))+    , _oNotes                  :: !(Maybe Text)+    , _oContacts               :: !(Maybe [OrderContact])+    , _oSiteId                 :: !(Maybe [Textual Int64])+    , _oTermsAndConditions     :: !(Maybe Text)+    , _oApproverUserProFileIds :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Order' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oSellerOrderId'+--+-- * 'oSellerOrganizationName'+--+-- * 'oKind'+--+-- * 'oAdvertiserId'+--+-- * 'oPlanningTermId'+--+-- * 'oAccountId'+--+-- * 'oName'+--+-- * 'oSiteNames'+--+-- * 'oLastModifiedInfo'+--+-- * 'oBuyerOrganizationName'+--+-- * 'oId'+--+-- * 'oBuyerInvoiceId'+--+-- * 'oComments'+--+-- * 'oProjectId'+--+-- * 'oSubAccountId'+--+-- * 'oNotes'+--+-- * 'oContacts'+--+-- * 'oSiteId'+--+-- * 'oTermsAndConditions'+--+-- * 'oApproverUserProFileIds'+order+    :: Order+order =+    Order+    { _oSellerOrderId = Nothing+    , _oSellerOrganizationName = Nothing+    , _oKind = "dfareporting#order"+    , _oAdvertiserId = Nothing+    , _oPlanningTermId = Nothing+    , _oAccountId = Nothing+    , _oName = Nothing+    , _oSiteNames = Nothing+    , _oLastModifiedInfo = Nothing+    , _oBuyerOrganizationName = Nothing+    , _oId = Nothing+    , _oBuyerInvoiceId = Nothing+    , _oComments = Nothing+    , _oProjectId = Nothing+    , _oSubAccountId = Nothing+    , _oNotes = Nothing+    , _oContacts = Nothing+    , _oSiteId = Nothing+    , _oTermsAndConditions = Nothing+    , _oApproverUserProFileIds = Nothing+    }++-- | Seller order ID associated with this order.+oSellerOrderId :: Lens' Order (Maybe Text)+oSellerOrderId+  = lens _oSellerOrderId+      (\ s a -> s{_oSellerOrderId = a})++-- | Name of the seller organization.+oSellerOrganizationName :: Lens' Order (Maybe Text)+oSellerOrganizationName+  = lens _oSellerOrganizationName+      (\ s a -> s{_oSellerOrganizationName = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#order\".+oKind :: Lens' Order Text+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | Advertiser ID of this order.+oAdvertiserId :: Lens' Order (Maybe Int64)+oAdvertiserId+  = lens _oAdvertiserId+      (\ s a -> s{_oAdvertiserId = a})+      . mapping _Coerce++-- | ID of the terms and conditions template used in this order.+oPlanningTermId :: Lens' Order (Maybe Int64)+oPlanningTermId+  = lens _oPlanningTermId+      (\ s a -> s{_oPlanningTermId = a})+      . mapping _Coerce++-- | Account ID of this order.+oAccountId :: Lens' Order (Maybe Int64)+oAccountId+  = lens _oAccountId (\ s a -> s{_oAccountId = a}) .+      mapping _Coerce++-- | Name of this order.+oName :: Lens' Order (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Free-form site names this order is associated with.+oSiteNames :: Lens' Order [Text]+oSiteNames+  = lens _oSiteNames (\ s a -> s{_oSiteNames = a}) .+      _Default+      . _Coerce++-- | Information about the most recent modification of this order.+oLastModifiedInfo :: Lens' Order (Maybe LastModifiedInfo)+oLastModifiedInfo+  = lens _oLastModifiedInfo+      (\ s a -> s{_oLastModifiedInfo = a})++-- | Name of the buyer organization.+oBuyerOrganizationName :: Lens' Order (Maybe Text)+oBuyerOrganizationName+  = lens _oBuyerOrganizationName+      (\ s a -> s{_oBuyerOrganizationName = a})++-- | ID of this order. This is a read-only, auto-generated field.+oId :: Lens' Order (Maybe Int64)+oId+  = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce++-- | Buyer invoice ID associated with this order.+oBuyerInvoiceId :: Lens' Order (Maybe Text)+oBuyerInvoiceId+  = lens _oBuyerInvoiceId+      (\ s a -> s{_oBuyerInvoiceId = a})++-- | Comments in this order.+oComments :: Lens' Order (Maybe Text)+oComments+  = lens _oComments (\ s a -> s{_oComments = a})++-- | Project ID of this order.+oProjectId :: Lens' Order (Maybe Int64)+oProjectId+  = lens _oProjectId (\ s a -> s{_oProjectId = a}) .+      mapping _Coerce++-- | Subaccount ID of this order.+oSubAccountId :: Lens' Order (Maybe Int64)+oSubAccountId+  = lens _oSubAccountId+      (\ s a -> s{_oSubAccountId = a})+      . mapping _Coerce++-- | Notes of this order.+oNotes :: Lens' Order (Maybe Text)+oNotes = lens _oNotes (\ s a -> s{_oNotes = a})++-- | Contacts for this order.+oContacts :: Lens' Order [OrderContact]+oContacts+  = lens _oContacts (\ s a -> s{_oContacts = a}) .+      _Default+      . _Coerce++-- | Site IDs this order is associated with.+oSiteId :: Lens' Order [Int64]+oSiteId+  = lens _oSiteId (\ s a -> s{_oSiteId = a}) . _Default+      . _Coerce++-- | Terms and conditions of this order.+oTermsAndConditions :: Lens' Order (Maybe Text)+oTermsAndConditions+  = lens _oTermsAndConditions+      (\ s a -> s{_oTermsAndConditions = a})++-- | IDs for users that have to approve documents created for this order.+oApproverUserProFileIds :: Lens' Order [Int64]+oApproverUserProFileIds+  = lens _oApproverUserProFileIds+      (\ s a -> s{_oApproverUserProFileIds = a})+      . _Default+      . _Coerce++instance FromJSON Order where+        parseJSON+          = withObject "Order"+              (\ o ->+                 Order <$>+                   (o .:? "sellerOrderId") <*>+                     (o .:? "sellerOrganizationName")+                     <*> (o .:? "kind" .!= "dfareporting#order")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "planningTermId")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "siteNames" .!= mempty)+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "buyerOrganizationName")+                     <*> (o .:? "id")+                     <*> (o .:? "buyerInvoiceId")+                     <*> (o .:? "comments")+                     <*> (o .:? "projectId")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "notes")+                     <*> (o .:? "contacts" .!= mempty)+                     <*> (o .:? "siteId" .!= mempty)+                     <*> (o .:? "termsAndConditions")+                     <*> (o .:? "approverUserProfileIds" .!= mempty))++instance ToJSON Order where+        toJSON Order{..}+          = object+              (catMaybes+                 [("sellerOrderId" .=) <$> _oSellerOrderId,+                  ("sellerOrganizationName" .=) <$>+                    _oSellerOrganizationName,+                  Just ("kind" .= _oKind),+                  ("advertiserId" .=) <$> _oAdvertiserId,+                  ("planningTermId" .=) <$> _oPlanningTermId,+                  ("accountId" .=) <$> _oAccountId,+                  ("name" .=) <$> _oName,+                  ("siteNames" .=) <$> _oSiteNames,+                  ("lastModifiedInfo" .=) <$> _oLastModifiedInfo,+                  ("buyerOrganizationName" .=) <$>+                    _oBuyerOrganizationName,+                  ("id" .=) <$> _oId,+                  ("buyerInvoiceId" .=) <$> _oBuyerInvoiceId,+                  ("comments" .=) <$> _oComments,+                  ("projectId" .=) <$> _oProjectId,+                  ("subaccountId" .=) <$> _oSubAccountId,+                  ("notes" .=) <$> _oNotes,+                  ("contacts" .=) <$> _oContacts,+                  ("siteId" .=) <$> _oSiteId,+                  ("termsAndConditions" .=) <$> _oTermsAndConditions,+                  ("approverUserProfileIds" .=) <$>+                    _oApproverUserProFileIds])++-- | Creative Asset ID.+--+-- /See:/ 'creativeAssetId' smart constructor.+data CreativeAssetId = CreativeAssetId+    { _caiName :: !(Maybe Text)+    , _caiType :: !(Maybe CreativeAssetIdType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeAssetId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caiName'+--+-- * 'caiType'+creativeAssetId+    :: CreativeAssetId+creativeAssetId =+    CreativeAssetId+    { _caiName = Nothing+    , _caiType = Nothing+    }++-- | Name of the creative asset. This is a required field while inserting an+-- asset. After insertion, this assetIdentifier is used to identify the+-- uploaded asset. Characters in the name must be alphanumeric or one of+-- the following: \".-_ \". Spaces are allowed.+caiName :: Lens' CreativeAssetId (Maybe Text)+caiName = lens _caiName (\ s a -> s{_caiName = a})++-- | Type of asset to upload. This is a required field. IMAGE is solely used+-- for IMAGE creatives. Other image assets should use HTML_IMAGE.+caiType :: Lens' CreativeAssetId (Maybe CreativeAssetIdType)+caiType = lens _caiType (\ s a -> s{_caiType = a})++instance FromJSON CreativeAssetId where+        parseJSON+          = withObject "CreativeAssetId"+              (\ o ->+                 CreativeAssetId <$>+                   (o .:? "name") <*> (o .:? "type"))++instance ToJSON CreativeAssetId where+        toJSON CreativeAssetId{..}+          = object+              (catMaybes+                 [("name" .=) <$> _caiName, ("type" .=) <$> _caiType])++-- | Frequency Cap.+--+-- /See:/ 'frequencyCap' smart constructor.+data FrequencyCap = FrequencyCap+    { _fcImpressions :: !(Maybe (Textual Int64))+    , _fcDuration    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FrequencyCap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcImpressions'+--+-- * 'fcDuration'+frequencyCap+    :: FrequencyCap+frequencyCap =+    FrequencyCap+    { _fcImpressions = Nothing+    , _fcDuration = Nothing+    }++-- | Number of times an individual user can be served the ad within the+-- specified duration. The maximum allowed is 15.+fcImpressions :: Lens' FrequencyCap (Maybe Int64)+fcImpressions+  = lens _fcImpressions+      (\ s a -> s{_fcImpressions = a})+      . mapping _Coerce++-- | Duration of time, in seconds, for this frequency cap. The maximum+-- duration is 90 days in seconds, or 7,776,000.+fcDuration :: Lens' FrequencyCap (Maybe Int64)+fcDuration+  = lens _fcDuration (\ s a -> s{_fcDuration = a}) .+      mapping _Coerce++instance FromJSON FrequencyCap where+        parseJSON+          = withObject "FrequencyCap"+              (\ o ->+                 FrequencyCap <$>+                   (o .:? "impressions") <*> (o .:? "duration"))++instance ToJSON FrequencyCap where+        toJSON FrequencyCap{..}+          = object+              (catMaybes+                 [("impressions" .=) <$> _fcImpressions,+                  ("duration" .=) <$> _fcDuration])++-- | Represents a File resource. A file contains the metadata for a report+-- run. It shows the status of the run and holds the URLs to the generated+-- report data if the run is finished and the status is+-- \"REPORT_AVAILABLE\".+--+-- /See:/ 'file' smart constructor.+data File = File+    { _filStatus           :: !(Maybe FileStatus)+    , _filEtag             :: !(Maybe Text)+    , _filKind             :: !Text+    , _filURLs             :: !(Maybe FileURLs)+    , _filReportId         :: !(Maybe (Textual Int64))+    , _filDateRange        :: !(Maybe DateRange)+    , _filFormat           :: !(Maybe FileFormat)+    , _filLastModifiedTime :: !(Maybe (Textual Int64))+    , _filId               :: !(Maybe (Textual Int64))+    , _filFileName         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'File' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'filStatus'+--+-- * 'filEtag'+--+-- * 'filKind'+--+-- * 'filURLs'+--+-- * 'filReportId'+--+-- * 'filDateRange'+--+-- * 'filFormat'+--+-- * 'filLastModifiedTime'+--+-- * 'filId'+--+-- * 'filFileName'+file+    :: File+file =+    File+    { _filStatus = Nothing+    , _filEtag = Nothing+    , _filKind = "dfareporting#file"+    , _filURLs = Nothing+    , _filReportId = Nothing+    , _filDateRange = Nothing+    , _filFormat = Nothing+    , _filLastModifiedTime = Nothing+    , _filId = Nothing+    , _filFileName = Nothing+    }++-- | The status of the report file.+filStatus :: Lens' File (Maybe FileStatus)+filStatus+  = lens _filStatus (\ s a -> s{_filStatus = a})++-- | The eTag of this response for caching purposes.+filEtag :: Lens' File (Maybe Text)+filEtag = lens _filEtag (\ s a -> s{_filEtag = a})++-- | The kind of resource this is, in this case dfareporting#file.+filKind :: Lens' File Text+filKind = lens _filKind (\ s a -> s{_filKind = a})++-- | The URLs where the completed report file can be downloaded.+filURLs :: Lens' File (Maybe FileURLs)+filURLs = lens _filURLs (\ s a -> s{_filURLs = a})++-- | The ID of the report this file was generated from.+filReportId :: Lens' File (Maybe Int64)+filReportId+  = lens _filReportId (\ s a -> s{_filReportId = a}) .+      mapping _Coerce++-- | The date range for which the file has report data. The date range will+-- always be the absolute date range for which the report is run.+filDateRange :: Lens' File (Maybe DateRange)+filDateRange+  = lens _filDateRange (\ s a -> s{_filDateRange = a})++-- | The output format of the report. Only available once the file is+-- available.+filFormat :: Lens' File (Maybe FileFormat)+filFormat+  = lens _filFormat (\ s a -> s{_filFormat = a})++-- | The timestamp in milliseconds since epoch when this file was last+-- modified.+filLastModifiedTime :: Lens' File (Maybe Int64)+filLastModifiedTime+  = lens _filLastModifiedTime+      (\ s a -> s{_filLastModifiedTime = a})+      . mapping _Coerce++-- | The unique ID of this report file.+filId :: Lens' File (Maybe Int64)+filId+  = lens _filId (\ s a -> s{_filId = a}) .+      mapping _Coerce++-- | The filename of the file.+filFileName :: Lens' File (Maybe Text)+filFileName+  = lens _filFileName (\ s a -> s{_filFileName = a})++instance FromJSON File where+        parseJSON+          = withObject "File"+              (\ o ->+                 File <$>+                   (o .:? "status") <*> (o .:? "etag") <*>+                     (o .:? "kind" .!= "dfareporting#file")+                     <*> (o .:? "urls")+                     <*> (o .:? "reportId")+                     <*> (o .:? "dateRange")+                     <*> (o .:? "format")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "id")+                     <*> (o .:? "fileName"))++instance ToJSON File where+        toJSON File{..}+          = object+              (catMaybes+                 [("status" .=) <$> _filStatus,+                  ("etag" .=) <$> _filEtag, Just ("kind" .= _filKind),+                  ("urls" .=) <$> _filURLs,+                  ("reportId" .=) <$> _filReportId,+                  ("dateRange" .=) <$> _filDateRange,+                  ("format" .=) <$> _filFormat,+                  ("lastModifiedTime" .=) <$> _filLastModifiedTime,+                  ("id" .=) <$> _filId,+                  ("fileName" .=) <$> _filFileName])++-- | Creative Settings+--+-- /See:/ 'creativeSettings' smart constructor.+data CreativeSettings = CreativeSettings+    { _csIFrameHeader :: !(Maybe Text)+    , _csIFrameFooter :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csIFrameHeader'+--+-- * 'csIFrameFooter'+creativeSettings+    :: CreativeSettings+creativeSettings =+    CreativeSettings+    { _csIFrameHeader = Nothing+    , _csIFrameFooter = Nothing+    }++-- | Header text for iFrames for this site. Must be less than or equal to+-- 2000 characters long.+csIFrameHeader :: Lens' CreativeSettings (Maybe Text)+csIFrameHeader+  = lens _csIFrameHeader+      (\ s a -> s{_csIFrameHeader = a})++-- | Header text for iFrames for this site. Must be less than or equal to+-- 2000 characters long.+csIFrameFooter :: Lens' CreativeSettings (Maybe Text)+csIFrameFooter+  = lens _csIFrameFooter+      (\ s a -> s{_csIFrameFooter = a})++instance FromJSON CreativeSettings where+        parseJSON+          = withObject "CreativeSettings"+              (\ o ->+                 CreativeSettings <$>+                   (o .:? "iFrameHeader") <*> (o .:? "iFrameFooter"))++instance ToJSON CreativeSettings where+        toJSON CreativeSettings{..}+          = object+              (catMaybes+                 [("iFrameHeader" .=) <$> _csIFrameHeader,+                  ("iFrameFooter" .=) <$> _csIFrameFooter])++-- | Creative Group List Response+--+-- /See:/ 'creativeGroupsListResponse' smart constructor.+data CreativeGroupsListResponse = CreativeGroupsListResponse+    { _cglrCreativeGroups :: !(Maybe [CreativeGroup])+    , _cglrNextPageToken  :: !(Maybe Text)+    , _cglrKind           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cglrCreativeGroups'+--+-- * 'cglrNextPageToken'+--+-- * 'cglrKind'+creativeGroupsListResponse+    :: CreativeGroupsListResponse+creativeGroupsListResponse =+    CreativeGroupsListResponse+    { _cglrCreativeGroups = Nothing+    , _cglrNextPageToken = Nothing+    , _cglrKind = "dfareporting#creativeGroupsListResponse"+    }++-- | Creative group collection.+cglrCreativeGroups :: Lens' CreativeGroupsListResponse [CreativeGroup]+cglrCreativeGroups+  = lens _cglrCreativeGroups+      (\ s a -> s{_cglrCreativeGroups = a})+      . _Default+      . _Coerce++-- | Pagination token to be used for the next list operation.+cglrNextPageToken :: Lens' CreativeGroupsListResponse (Maybe Text)+cglrNextPageToken+  = lens _cglrNextPageToken+      (\ s a -> s{_cglrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeGroupsListResponse\".+cglrKind :: Lens' CreativeGroupsListResponse Text+cglrKind = lens _cglrKind (\ s a -> s{_cglrKind = a})++instance FromJSON CreativeGroupsListResponse where+        parseJSON+          = withObject "CreativeGroupsListResponse"+              (\ o ->+                 CreativeGroupsListResponse <$>+                   (o .:? "creativeGroups" .!= mempty) <*>+                     (o .:? "nextPageToken")+                     <*>+                     (o .:? "kind" .!=+                        "dfareporting#creativeGroupsListResponse"))++instance ToJSON CreativeGroupsListResponse where+        toJSON CreativeGroupsListResponse{..}+          = object+              (catMaybes+                 [("creativeGroups" .=) <$> _cglrCreativeGroups,+                  ("nextPageToken" .=) <$> _cglrNextPageToken,+                  Just ("kind" .= _cglrKind)])++-- | Mobile Carrier List Response+--+-- /See:/ 'mobileCarriersListResponse' smart constructor.+data MobileCarriersListResponse = MobileCarriersListResponse+    { _mclrMobileCarriers :: !(Maybe [MobileCarrier])+    , _mclrKind           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MobileCarriersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mclrMobileCarriers'+--+-- * 'mclrKind'+mobileCarriersListResponse+    :: MobileCarriersListResponse+mobileCarriersListResponse =+    MobileCarriersListResponse+    { _mclrMobileCarriers = Nothing+    , _mclrKind = "dfareporting#mobileCarriersListResponse"+    }++-- | Mobile carrier collection.+mclrMobileCarriers :: Lens' MobileCarriersListResponse [MobileCarrier]+mclrMobileCarriers+  = lens _mclrMobileCarriers+      (\ s a -> s{_mclrMobileCarriers = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#mobileCarriersListResponse\".+mclrKind :: Lens' MobileCarriersListResponse Text+mclrKind = lens _mclrKind (\ s a -> s{_mclrKind = a})++instance FromJSON MobileCarriersListResponse where+        parseJSON+          = withObject "MobileCarriersListResponse"+              (\ o ->+                 MobileCarriersListResponse <$>+                   (o .:? "mobileCarriers" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#mobileCarriersListResponse"))++instance ToJSON MobileCarriersListResponse where+        toJSON MobileCarriersListResponse{..}+          = object+              (catMaybes+                 [("mobileCarriers" .=) <$> _mclrMobileCarriers,+                  Just ("kind" .= _mclrKind)])++-- | Landing Page List Response+--+-- /See:/ 'landingPagesListResponse' smart constructor.+data LandingPagesListResponse = LandingPagesListResponse+    { _lplrLandingPages :: !(Maybe [LandingPage])+    , _lplrKind         :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lplrLandingPages'+--+-- * 'lplrKind'+landingPagesListResponse+    :: LandingPagesListResponse+landingPagesListResponse =+    LandingPagesListResponse+    { _lplrLandingPages = Nothing+    , _lplrKind = "dfareporting#landingPagesListResponse"+    }++-- | Landing page collection+lplrLandingPages :: Lens' LandingPagesListResponse [LandingPage]+lplrLandingPages+  = lens _lplrLandingPages+      (\ s a -> s{_lplrLandingPages = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#landingPagesListResponse\".+lplrKind :: Lens' LandingPagesListResponse Text+lplrKind = lens _lplrKind (\ s a -> s{_lplrKind = a})++instance FromJSON LandingPagesListResponse where+        parseJSON+          = withObject "LandingPagesListResponse"+              (\ o ->+                 LandingPagesListResponse <$>+                   (o .:? "landingPages" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "dfareporting#landingPagesListResponse"))++instance ToJSON LandingPagesListResponse where+        toJSON LandingPagesListResponse{..}+          = object+              (catMaybes+                 [("landingPages" .=) <$> _lplrLandingPages,+                  Just ("kind" .= _lplrKind)])++-- | CreativeAssets contains properties of a creative asset file which will+-- be uploaded or has already been uploaded. Refer to the creative sample+-- code for how to upload assets and insert a creative.+--+-- /See:/ 'creativeAssetMetadata' smart constructor.+data CreativeAssetMetadata = CreativeAssetMetadata+    { _camaKind                  :: !Text+    , _camaAssetIdentifier       :: !(Maybe CreativeAssetId)+    , _camaClickTags             :: !(Maybe [ClickTag])+    , _camaWarnedValidationRules :: !(Maybe [CreativeAssetMetadataWarnedValidationRulesItem])+    , _camaDetectedFeatures      :: !(Maybe [CreativeAssetMetadataDetectedFeaturesItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeAssetMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'camaKind'+--+-- * 'camaAssetIdentifier'+--+-- * 'camaClickTags'+--+-- * 'camaWarnedValidationRules'+--+-- * 'camaDetectedFeatures'+creativeAssetMetadata+    :: CreativeAssetMetadata+creativeAssetMetadata =+    CreativeAssetMetadata+    { _camaKind = "dfareporting#creativeAssetMetadata"+    , _camaAssetIdentifier = Nothing+    , _camaClickTags = Nothing+    , _camaWarnedValidationRules = Nothing+    , _camaDetectedFeatures = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeAssetMetadata\".+camaKind :: Lens' CreativeAssetMetadata Text+camaKind = lens _camaKind (\ s a -> s{_camaKind = a})++-- | ID of the creative asset. This is a required field.+camaAssetIdentifier :: Lens' CreativeAssetMetadata (Maybe CreativeAssetId)+camaAssetIdentifier+  = lens _camaAssetIdentifier+      (\ s a -> s{_camaAssetIdentifier = a})++-- | List of detected click tags for assets. This is a read-only+-- auto-generated field.+camaClickTags :: Lens' CreativeAssetMetadata [ClickTag]+camaClickTags+  = lens _camaClickTags+      (\ s a -> s{_camaClickTags = a})+      . _Default+      . _Coerce++-- | Rules validated during code generation that generated a warning. This is+-- a read-only, auto-generated field. Possible values are: -+-- \"CLICK_TAG_NON_TOP_LEVEL\" - \"CLICK_TAG_MISSING\" -+-- \"CLICK_TAG_MORE_THAN_ONE\" - \"CLICK_TAG_INVALID\" - \"ORPHANED_ASSET\"+-- - \"PRIMARY_HTML_MISSING\" - \"EXTERNAL_FILE_REFERENCED\" -+-- \"MRAID_REFERENCED\" - \"ADMOB_REFERENCED\" - \"FILE_TYPE_INVALID\" -+-- \"ZIP_INVALID\" - \"LINKED_FILE_NOT_FOUND\" - \"MAX_FLASH_VERSION_11\" -+-- \"NOT_SSL_COMPLIANT\" - \"FILE_DETAIL_EMPTY\" - \"ASSET_INVALID\" -+-- \"GWD_PROPERTIES_INVALID\" - \"ENABLER_UNSUPPORTED_METHOD_DCM\" -+-- \"ASSET_FORMAT_UNSUPPORTED_DCM\" - \"COMPONENT_UNSUPPORTED_DCM\" -+-- \"HTML5_FEATURE_UNSUPPORTED\' \"+camaWarnedValidationRules :: Lens' CreativeAssetMetadata [CreativeAssetMetadataWarnedValidationRulesItem]+camaWarnedValidationRules+  = lens _camaWarnedValidationRules+      (\ s a -> s{_camaWarnedValidationRules = a})+      . _Default+      . _Coerce++-- | List of feature dependencies for the creative asset that are detected by+-- DCM. Feature dependencies are features that a browser must be able to+-- support in order to render your HTML5 creative correctly. This is a+-- read-only, auto-generated field.+camaDetectedFeatures :: Lens' CreativeAssetMetadata [CreativeAssetMetadataDetectedFeaturesItem]+camaDetectedFeatures+  = lens _camaDetectedFeatures+      (\ s a -> s{_camaDetectedFeatures = a})+      . _Default+      . _Coerce++instance FromJSON CreativeAssetMetadata where+        parseJSON+          = withObject "CreativeAssetMetadata"+              (\ o ->+                 CreativeAssetMetadata <$>+                   (o .:? "kind" .!=+                      "dfareporting#creativeAssetMetadata")+                     <*> (o .:? "assetIdentifier")+                     <*> (o .:? "clickTags" .!= mempty)+                     <*> (o .:? "warnedValidationRules" .!= mempty)+                     <*> (o .:? "detectedFeatures" .!= mempty))++instance ToJSON CreativeAssetMetadata where+        toJSON CreativeAssetMetadata{..}+          = object+              (catMaybes+                 [Just ("kind" .= _camaKind),+                  ("assetIdentifier" .=) <$> _camaAssetIdentifier,+                  ("clickTags" .=) <$> _camaClickTags,+                  ("warnedValidationRules" .=) <$>+                    _camaWarnedValidationRules,+                  ("detectedFeatures" .=) <$> _camaDetectedFeatures])++-- | Omniture Integration Settings.+--+-- /See:/ 'omnitureSettings' smart constructor.+data OmnitureSettings = OmnitureSettings+    { _osOmnitureCostDataEnabled    :: !(Maybe Bool)+    , _osOmnitureIntegrationEnabled :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OmnitureSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osOmnitureCostDataEnabled'+--+-- * 'osOmnitureIntegrationEnabled'+omnitureSettings+    :: OmnitureSettings+omnitureSettings =+    OmnitureSettings+    { _osOmnitureCostDataEnabled = Nothing+    , _osOmnitureIntegrationEnabled = Nothing+    }++-- | Whether placement cost data will be sent to Omniture. This property can+-- be enabled only if omnitureIntegrationEnabled is true.+osOmnitureCostDataEnabled :: Lens' OmnitureSettings (Maybe Bool)+osOmnitureCostDataEnabled+  = lens _osOmnitureCostDataEnabled+      (\ s a -> s{_osOmnitureCostDataEnabled = a})++-- | Whether Omniture integration is enabled. This property can be enabled+-- only when the \"Advanced Ad Serving\" account setting is enabled.+osOmnitureIntegrationEnabled :: Lens' OmnitureSettings (Maybe Bool)+osOmnitureIntegrationEnabled+  = lens _osOmnitureIntegrationEnabled+      (\ s a -> s{_osOmnitureIntegrationEnabled = a})++instance FromJSON OmnitureSettings where+        parseJSON+          = withObject "OmnitureSettings"+              (\ o ->+                 OmnitureSettings <$>+                   (o .:? "omnitureCostDataEnabled") <*>+                     (o .:? "omnitureIntegrationEnabled"))++instance ToJSON OmnitureSettings where+        toJSON OmnitureSettings{..}+          = object+              (catMaybes+                 [("omnitureCostDataEnabled" .=) <$>+                    _osOmnitureCostDataEnabled,+                  ("omnitureIntegrationEnabled" .=) <$>+                    _osOmnitureIntegrationEnabled])++-- | Contains information about an internet connection type that can be+-- targeted by ads. Clients can use the connection type to target mobile+-- vs. broadband users.+--+-- /See:/ 'connectionType' smart constructor.+data ConnectionType = ConnectionType+    { _cttKind :: !Text+    , _cttName :: !(Maybe Text)+    , _cttId   :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectionType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cttKind'+--+-- * 'cttName'+--+-- * 'cttId'+connectionType+    :: ConnectionType+connectionType =+    ConnectionType+    { _cttKind = "dfareporting#connectionType"+    , _cttName = Nothing+    , _cttId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#connectionType\".+cttKind :: Lens' ConnectionType Text+cttKind = lens _cttKind (\ s a -> s{_cttKind = a})++-- | Name of this connection type.+cttName :: Lens' ConnectionType (Maybe Text)+cttName = lens _cttName (\ s a -> s{_cttName = a})++-- | ID of this connection type.+cttId :: Lens' ConnectionType (Maybe Int64)+cttId+  = lens _cttId (\ s a -> s{_cttId = a}) .+      mapping _Coerce++instance FromJSON ConnectionType where+        parseJSON+          = withObject "ConnectionType"+              (\ o ->+                 ConnectionType <$>+                   (o .:? "kind" .!= "dfareporting#connectionType") <*>+                     (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON ConnectionType where+        toJSON ConnectionType{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cttKind), ("name" .=) <$> _cttName,+                  ("id" .=) <$> _cttId])++-- | Contains properties of a package or roadblock.+--+-- /See:/ 'placementGroup' smart constructor.+data PlacementGroup = PlacementGroup+    { _plalPlacementStrategyId              :: !(Maybe (Textual Int64))+    , _plalSiteIdDimensionValue             :: !(Maybe DimensionValue)+    , _plalPricingSchedule                  :: !(Maybe PricingSchedule)+    , _plalKind                             :: !Text+    , _plalCampaignIdDimensionValue         :: !(Maybe DimensionValue)+    , _plalAdvertiserId                     :: !(Maybe (Textual Int64))+    , _plalAdvertiserIdDimensionValue       :: !(Maybe DimensionValue)+    , _plalCampaignId                       :: !(Maybe (Textual Int64))+    , _plalIdDimensionValue                 :: !(Maybe DimensionValue)+    , _plalPlacementGroupType               :: !(Maybe PlacementGroupPlacementGroupType)+    , _plalContentCategoryId                :: !(Maybe (Textual Int64))+    , _plalDirectorySiteIdDimensionValue    :: !(Maybe DimensionValue)+    , _plalAccountId                        :: !(Maybe (Textual Int64))+    , _plalName                             :: !(Maybe Text)+    , _plalDirectorySiteId                  :: !(Maybe (Textual Int64))+    , _plalCreateInfo                       :: !(Maybe LastModifiedInfo)+    , _plalChildPlacementIds                :: !(Maybe [Textual Int64])+    , _plalLastModifiedInfo                 :: !(Maybe LastModifiedInfo)+    , _plalId                               :: !(Maybe (Textual Int64))+    , _plalPrimaryPlacementId               :: !(Maybe (Textual Int64))+    , _plalSubAccountId                     :: !(Maybe (Textual Int64))+    , _plalExternalId                       :: !(Maybe Text)+    , _plalComment                          :: !(Maybe Text)+    , _plalPrimaryPlacementIdDimensionValue :: !(Maybe DimensionValue)+    , _plalSiteId                           :: !(Maybe (Textual Int64))+    , _plalArchived                         :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plalPlacementStrategyId'+--+-- * 'plalSiteIdDimensionValue'+--+-- * 'plalPricingSchedule'+--+-- * 'plalKind'+--+-- * 'plalCampaignIdDimensionValue'+--+-- * 'plalAdvertiserId'+--+-- * 'plalAdvertiserIdDimensionValue'+--+-- * 'plalCampaignId'+--+-- * 'plalIdDimensionValue'+--+-- * 'plalPlacementGroupType'+--+-- * 'plalContentCategoryId'+--+-- * 'plalDirectorySiteIdDimensionValue'+--+-- * 'plalAccountId'+--+-- * 'plalName'+--+-- * 'plalDirectorySiteId'+--+-- * 'plalCreateInfo'+--+-- * 'plalChildPlacementIds'+--+-- * 'plalLastModifiedInfo'+--+-- * 'plalId'+--+-- * 'plalPrimaryPlacementId'+--+-- * 'plalSubAccountId'+--+-- * 'plalExternalId'+--+-- * 'plalComment'+--+-- * 'plalPrimaryPlacementIdDimensionValue'+--+-- * 'plalSiteId'+--+-- * 'plalArchived'+placementGroup+    :: PlacementGroup+placementGroup =+    PlacementGroup+    { _plalPlacementStrategyId = Nothing+    , _plalSiteIdDimensionValue = Nothing+    , _plalPricingSchedule = Nothing+    , _plalKind = "dfareporting#placementGroup"+    , _plalCampaignIdDimensionValue = Nothing+    , _plalAdvertiserId = Nothing+    , _plalAdvertiserIdDimensionValue = Nothing+    , _plalCampaignId = Nothing+    , _plalIdDimensionValue = Nothing+    , _plalPlacementGroupType = Nothing+    , _plalContentCategoryId = Nothing+    , _plalDirectorySiteIdDimensionValue = Nothing+    , _plalAccountId = Nothing+    , _plalName = Nothing+    , _plalDirectorySiteId = Nothing+    , _plalCreateInfo = Nothing+    , _plalChildPlacementIds = Nothing+    , _plalLastModifiedInfo = Nothing+    , _plalId = Nothing+    , _plalPrimaryPlacementId = Nothing+    , _plalSubAccountId = Nothing+    , _plalExternalId = Nothing+    , _plalComment = Nothing+    , _plalPrimaryPlacementIdDimensionValue = Nothing+    , _plalSiteId = Nothing+    , _plalArchived = Nothing+    }++-- | ID of the placement strategy assigned to this placement group.+plalPlacementStrategyId :: Lens' PlacementGroup (Maybe Int64)+plalPlacementStrategyId+  = lens _plalPlacementStrategyId+      (\ s a -> s{_plalPlacementStrategyId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the site. This is a read-only,+-- auto-generated field.+plalSiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalSiteIdDimensionValue+  = lens _plalSiteIdDimensionValue+      (\ s a -> s{_plalSiteIdDimensionValue = a})++-- | Pricing schedule of this placement group. This field is required on+-- insertion.+plalPricingSchedule :: Lens' PlacementGroup (Maybe PricingSchedule)+plalPricingSchedule+  = lens _plalPricingSchedule+      (\ s a -> s{_plalPricingSchedule = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placementGroup\".+plalKind :: Lens' PlacementGroup Text+plalKind = lens _plalKind (\ s a -> s{_plalKind = a})++-- | Dimension value for the ID of the campaign. This is a read-only,+-- auto-generated field.+plalCampaignIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalCampaignIdDimensionValue+  = lens _plalCampaignIdDimensionValue+      (\ s a -> s{_plalCampaignIdDimensionValue = a})++-- | Advertiser ID of this placement group. This is a required field on+-- insertion.+plalAdvertiserId :: Lens' PlacementGroup (Maybe Int64)+plalAdvertiserId+  = lens _plalAdvertiserId+      (\ s a -> s{_plalAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+plalAdvertiserIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalAdvertiserIdDimensionValue+  = lens _plalAdvertiserIdDimensionValue+      (\ s a -> s{_plalAdvertiserIdDimensionValue = a})++-- | Campaign ID of this placement group. This field is required on+-- insertion.+plalCampaignId :: Lens' PlacementGroup (Maybe Int64)+plalCampaignId+  = lens _plalCampaignId+      (\ s a -> s{_plalCampaignId = a})+      . mapping _Coerce++-- | Dimension value for the ID of this placement group. This is a read-only,+-- auto-generated field.+plalIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalIdDimensionValue+  = lens _plalIdDimensionValue+      (\ s a -> s{_plalIdDimensionValue = a})++-- | Type of this placement group. A package is a simple group of placements+-- that acts as a single pricing point for a group of tags. A roadblock is+-- a group of placements that not only acts as a single pricing point, but+-- also assumes that all the tags in it will be served at the same time. A+-- roadblock requires one of its assigned placements to be marked as+-- primary for reporting. This field is required on insertion.+plalPlacementGroupType :: Lens' PlacementGroup (Maybe PlacementGroupPlacementGroupType)+plalPlacementGroupType+  = lens _plalPlacementGroupType+      (\ s a -> s{_plalPlacementGroupType = a})++-- | ID of the content category assigned to this placement group.+plalContentCategoryId :: Lens' PlacementGroup (Maybe Int64)+plalContentCategoryId+  = lens _plalContentCategoryId+      (\ s a -> s{_plalContentCategoryId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the directory site. This is a read-only,+-- auto-generated field.+plalDirectorySiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalDirectorySiteIdDimensionValue+  = lens _plalDirectorySiteIdDimensionValue+      (\ s a -> s{_plalDirectorySiteIdDimensionValue = a})++-- | Account ID of this placement group. This is a read-only field that can+-- be left blank.+plalAccountId :: Lens' PlacementGroup (Maybe Int64)+plalAccountId+  = lens _plalAccountId+      (\ s a -> s{_plalAccountId = a})+      . mapping _Coerce++-- | Name of this placement group. This is a required field and must be less+-- than 256 characters long.+plalName :: Lens' PlacementGroup (Maybe Text)+plalName = lens _plalName (\ s a -> s{_plalName = a})++-- | Directory site ID associated with this placement group. On insert, you+-- must set either this field or the site_id field to specify the site+-- associated with this placement group. This is a required field that is+-- read-only after insertion.+plalDirectorySiteId :: Lens' PlacementGroup (Maybe Int64)+plalDirectorySiteId+  = lens _plalDirectorySiteId+      (\ s a -> s{_plalDirectorySiteId = a})+      . mapping _Coerce++-- | Information about the creation of this placement group. This is a+-- read-only field.+plalCreateInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)+plalCreateInfo+  = lens _plalCreateInfo+      (\ s a -> s{_plalCreateInfo = a})++-- | IDs of placements which are assigned to this placement group. This is a+-- read-only, auto-generated field.+plalChildPlacementIds :: Lens' PlacementGroup [Int64]+plalChildPlacementIds+  = lens _plalChildPlacementIds+      (\ s a -> s{_plalChildPlacementIds = a})+      . _Default+      . _Coerce++-- | Information about the most recent modification of this placement group.+-- This is a read-only field.+plalLastModifiedInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)+plalLastModifiedInfo+  = lens _plalLastModifiedInfo+      (\ s a -> s{_plalLastModifiedInfo = a})++-- | ID of this placement group. This is a read-only, auto-generated field.+plalId :: Lens' PlacementGroup (Maybe Int64)+plalId+  = lens _plalId (\ s a -> s{_plalId = a}) .+      mapping _Coerce++-- | ID of the primary placement, used to calculate the media cost of a+-- roadblock (placement group). Modifying this field will automatically+-- modify the primary field on all affected roadblock child placements.+plalPrimaryPlacementId :: Lens' PlacementGroup (Maybe Int64)+plalPrimaryPlacementId+  = lens _plalPrimaryPlacementId+      (\ s a -> s{_plalPrimaryPlacementId = a})+      . mapping _Coerce++-- | Subaccount ID of this placement group. This is a read-only field that+-- can be left blank.+plalSubAccountId :: Lens' PlacementGroup (Maybe Int64)+plalSubAccountId+  = lens _plalSubAccountId+      (\ s a -> s{_plalSubAccountId = a})+      . mapping _Coerce++-- | External ID for this placement.+plalExternalId :: Lens' PlacementGroup (Maybe Text)+plalExternalId+  = lens _plalExternalId+      (\ s a -> s{_plalExternalId = a})++-- | Comments for this placement group.+plalComment :: Lens' PlacementGroup (Maybe Text)+plalComment+  = lens _plalComment (\ s a -> s{_plalComment = a})++-- | Dimension value for the ID of the primary placement. This is a+-- read-only, auto-generated field.+plalPrimaryPlacementIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)+plalPrimaryPlacementIdDimensionValue+  = lens _plalPrimaryPlacementIdDimensionValue+      (\ s a ->+         s{_plalPrimaryPlacementIdDimensionValue = a})++-- | Site ID associated with this placement group. On insert, you must set+-- either this field or the directorySiteId field to specify the site+-- associated with this placement group. This is a required field that is+-- read-only after insertion.+plalSiteId :: Lens' PlacementGroup (Maybe Int64)+plalSiteId+  = lens _plalSiteId (\ s a -> s{_plalSiteId = a}) .+      mapping _Coerce++-- | Whether this placement group is archived.+plalArchived :: Lens' PlacementGroup (Maybe Bool)+plalArchived+  = lens _plalArchived (\ s a -> s{_plalArchived = a})++instance FromJSON PlacementGroup where+        parseJSON+          = withObject "PlacementGroup"+              (\ o ->+                 PlacementGroup <$>+                   (o .:? "placementStrategyId") <*>+                     (o .:? "siteIdDimensionValue")+                     <*> (o .:? "pricingSchedule")+                     <*> (o .:? "kind" .!= "dfareporting#placementGroup")+                     <*> (o .:? "campaignIdDimensionValue")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "campaignId")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "placementGroupType")+                     <*> (o .:? "contentCategoryId")+                     <*> (o .:? "directorySiteIdDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "directorySiteId")+                     <*> (o .:? "createInfo")+                     <*> (o .:? "childPlacementIds" .!= mempty)+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "primaryPlacementId")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "externalId")+                     <*> (o .:? "comment")+                     <*> (o .:? "primaryPlacementIdDimensionValue")+                     <*> (o .:? "siteId")+                     <*> (o .:? "archived"))++instance ToJSON PlacementGroup where+        toJSON PlacementGroup{..}+          = object+              (catMaybes+                 [("placementStrategyId" .=) <$>+                    _plalPlacementStrategyId,+                  ("siteIdDimensionValue" .=) <$>+                    _plalSiteIdDimensionValue,+                  ("pricingSchedule" .=) <$> _plalPricingSchedule,+                  Just ("kind" .= _plalKind),+                  ("campaignIdDimensionValue" .=) <$>+                    _plalCampaignIdDimensionValue,+                  ("advertiserId" .=) <$> _plalAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _plalAdvertiserIdDimensionValue,+                  ("campaignId" .=) <$> _plalCampaignId,+                  ("idDimensionValue" .=) <$> _plalIdDimensionValue,+                  ("placementGroupType" .=) <$>+                    _plalPlacementGroupType,+                  ("contentCategoryId" .=) <$> _plalContentCategoryId,+                  ("directorySiteIdDimensionValue" .=) <$>+                    _plalDirectorySiteIdDimensionValue,+                  ("accountId" .=) <$> _plalAccountId,+                  ("name" .=) <$> _plalName,+                  ("directorySiteId" .=) <$> _plalDirectorySiteId,+                  ("createInfo" .=) <$> _plalCreateInfo,+                  ("childPlacementIds" .=) <$> _plalChildPlacementIds,+                  ("lastModifiedInfo" .=) <$> _plalLastModifiedInfo,+                  ("id" .=) <$> _plalId,+                  ("primaryPlacementId" .=) <$>+                    _plalPrimaryPlacementId,+                  ("subaccountId" .=) <$> _plalSubAccountId,+                  ("externalId" .=) <$> _plalExternalId,+                  ("comment" .=) <$> _plalComment,+                  ("primaryPlacementIdDimensionValue" .=) <$>+                    _plalPrimaryPlacementIdDimensionValue,+                  ("siteId" .=) <$> _plalSiteId,+                  ("archived" .=) <$> _plalArchived])++-- | Contains properties of an event tag.+--+-- /See:/ 'eventTag' smart constructor.+data EventTag = EventTag+    { _etStatus                     :: !(Maybe EventTagStatus)+    , _etExcludeFromAdxRequests     :: !(Maybe Bool)+    , _etEnabledByDefault           :: !(Maybe Bool)+    , _etKind                       :: !Text+    , _etCampaignIdDimensionValue   :: !(Maybe DimensionValue)+    , _etAdvertiserId               :: !(Maybe (Textual Int64))+    , _etURL                        :: !(Maybe Text)+    , _etAdvertiserIdDimensionValue :: !(Maybe DimensionValue)+    , _etSSLCompliant               :: !(Maybe Bool)+    , _etCampaignId                 :: !(Maybe (Textual Int64))+    , _etAccountId                  :: !(Maybe (Textual Int64))+    , _etName                       :: !(Maybe Text)+    , _etURLEscapeLevels            :: !(Maybe (Textual Int32))+    , _etSiteIds                    :: !(Maybe [Textual Int64])+    , _etId                         :: !(Maybe (Textual Int64))+    , _etSubAccountId               :: !(Maybe (Textual Int64))+    , _etType                       :: !(Maybe EventTagType)+    , _etSiteFilterType             :: !(Maybe EventTagSiteFilterType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etStatus'+--+-- * 'etExcludeFromAdxRequests'+--+-- * 'etEnabledByDefault'+--+-- * 'etKind'+--+-- * 'etCampaignIdDimensionValue'+--+-- * 'etAdvertiserId'+--+-- * 'etURL'+--+-- * 'etAdvertiserIdDimensionValue'+--+-- * 'etSSLCompliant'+--+-- * 'etCampaignId'+--+-- * 'etAccountId'+--+-- * 'etName'+--+-- * 'etURLEscapeLevels'+--+-- * 'etSiteIds'+--+-- * 'etId'+--+-- * 'etSubAccountId'+--+-- * 'etType'+--+-- * 'etSiteFilterType'+eventTag+    :: EventTag+eventTag =+    EventTag+    { _etStatus = Nothing+    , _etExcludeFromAdxRequests = Nothing+    , _etEnabledByDefault = Nothing+    , _etKind = "dfareporting#eventTag"+    , _etCampaignIdDimensionValue = Nothing+    , _etAdvertiserId = Nothing+    , _etURL = Nothing+    , _etAdvertiserIdDimensionValue = Nothing+    , _etSSLCompliant = Nothing+    , _etCampaignId = Nothing+    , _etAccountId = Nothing+    , _etName = Nothing+    , _etURLEscapeLevels = Nothing+    , _etSiteIds = Nothing+    , _etId = Nothing+    , _etSubAccountId = Nothing+    , _etType = Nothing+    , _etSiteFilterType = Nothing+    }++-- | Status of this event tag. Must be ENABLED for this event tag to fire.+-- This is a required field.+etStatus :: Lens' EventTag (Maybe EventTagStatus)+etStatus = lens _etStatus (\ s a -> s{_etStatus = a})++-- | Whether to remove this event tag from ads that are trafficked through+-- DoubleClick Bid Manager to Ad Exchange. This may be useful if the event+-- tag uses a pixel that is unapproved for Ad Exchange bids on one or more+-- networks, such as the Google Display Network.+etExcludeFromAdxRequests :: Lens' EventTag (Maybe Bool)+etExcludeFromAdxRequests+  = lens _etExcludeFromAdxRequests+      (\ s a -> s{_etExcludeFromAdxRequests = a})++-- | Whether this event tag should be automatically enabled for all of the+-- advertiser\'s campaigns and ads.+etEnabledByDefault :: Lens' EventTag (Maybe Bool)+etEnabledByDefault+  = lens _etEnabledByDefault+      (\ s a -> s{_etEnabledByDefault = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#eventTag\".+etKind :: Lens' EventTag Text+etKind = lens _etKind (\ s a -> s{_etKind = a})++-- | Dimension value for the ID of the campaign. This is a read-only,+-- auto-generated field.+etCampaignIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)+etCampaignIdDimensionValue+  = lens _etCampaignIdDimensionValue+      (\ s a -> s{_etCampaignIdDimensionValue = a})++-- | Advertiser ID of this event tag. This field or the campaignId field is+-- required on insertion.+etAdvertiserId :: Lens' EventTag (Maybe Int64)+etAdvertiserId+  = lens _etAdvertiserId+      (\ s a -> s{_etAdvertiserId = a})+      . mapping _Coerce++-- | Payload URL for this event tag. The URL on a click-through event tag+-- should have a landing page URL appended to the end of it. This field is+-- required on insertion.+etURL :: Lens' EventTag (Maybe Text)+etURL = lens _etURL (\ s a -> s{_etURL = a})++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+etAdvertiserIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)+etAdvertiserIdDimensionValue+  = lens _etAdvertiserIdDimensionValue+      (\ s a -> s{_etAdvertiserIdDimensionValue = a})++-- | Whether this tag is SSL-compliant or not. This is a read-only field.+etSSLCompliant :: Lens' EventTag (Maybe Bool)+etSSLCompliant+  = lens _etSSLCompliant+      (\ s a -> s{_etSSLCompliant = a})++-- | Campaign ID of this event tag. This field or the advertiserId field is+-- required on insertion.+etCampaignId :: Lens' EventTag (Maybe Int64)+etCampaignId+  = lens _etCampaignId (\ s a -> s{_etCampaignId = a})+      . mapping _Coerce++-- | Account ID of this event tag. This is a read-only field that can be left+-- blank.+etAccountId :: Lens' EventTag (Maybe Int64)+etAccountId+  = lens _etAccountId (\ s a -> s{_etAccountId = a}) .+      mapping _Coerce++-- | Name of this event tag. This is a required field and must be less than+-- 256 characters long.+etName :: Lens' EventTag (Maybe Text)+etName = lens _etName (\ s a -> s{_etName = a})++-- | Number of times the landing page URL should be URL-escaped before being+-- appended to the click-through event tag URL. Only applies to+-- click-through event tags as specified by the event tag type.+etURLEscapeLevels :: Lens' EventTag (Maybe Int32)+etURLEscapeLevels+  = lens _etURLEscapeLevels+      (\ s a -> s{_etURLEscapeLevels = a})+      . mapping _Coerce++-- | Filter list of site IDs associated with this event tag. The+-- siteFilterType determines whether this is a whitelist or blacklist+-- filter.+etSiteIds :: Lens' EventTag [Int64]+etSiteIds+  = lens _etSiteIds (\ s a -> s{_etSiteIds = a}) .+      _Default+      . _Coerce++-- | ID of this event tag. This is a read-only, auto-generated field.+etId :: Lens' EventTag (Maybe Int64)+etId+  = lens _etId (\ s a -> s{_etId = a}) .+      mapping _Coerce++-- | Subaccount ID of this event tag. This is a read-only field that can be+-- left blank.+etSubAccountId :: Lens' EventTag (Maybe Int64)+etSubAccountId+  = lens _etSubAccountId+      (\ s a -> s{_etSubAccountId = a})+      . mapping _Coerce++-- | Event tag type. Can be used to specify whether to use a third-party+-- pixel, a third-party JavaScript URL, or a third-party click-through URL+-- for either impression or click tracking. This is a required field.+etType :: Lens' EventTag (Maybe EventTagType)+etType = lens _etType (\ s a -> s{_etType = a})++-- | Site filter type for this event tag. If no type is specified then the+-- event tag will be applied to all sites.+etSiteFilterType :: Lens' EventTag (Maybe EventTagSiteFilterType)+etSiteFilterType+  = lens _etSiteFilterType+      (\ s a -> s{_etSiteFilterType = a})++instance FromJSON EventTag where+        parseJSON+          = withObject "EventTag"+              (\ o ->+                 EventTag <$>+                   (o .:? "status") <*> (o .:? "excludeFromAdxRequests")+                     <*> (o .:? "enabledByDefault")+                     <*> (o .:? "kind" .!= "dfareporting#eventTag")+                     <*> (o .:? "campaignIdDimensionValue")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "url")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "sslCompliant")+                     <*> (o .:? "campaignId")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "urlEscapeLevels")+                     <*> (o .:? "siteIds" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "type")+                     <*> (o .:? "siteFilterType"))++instance ToJSON EventTag where+        toJSON EventTag{..}+          = object+              (catMaybes+                 [("status" .=) <$> _etStatus,+                  ("excludeFromAdxRequests" .=) <$>+                    _etExcludeFromAdxRequests,+                  ("enabledByDefault" .=) <$> _etEnabledByDefault,+                  Just ("kind" .= _etKind),+                  ("campaignIdDimensionValue" .=) <$>+                    _etCampaignIdDimensionValue,+                  ("advertiserId" .=) <$> _etAdvertiserId,+                  ("url" .=) <$> _etURL,+                  ("advertiserIdDimensionValue" .=) <$>+                    _etAdvertiserIdDimensionValue,+                  ("sslCompliant" .=) <$> _etSSLCompliant,+                  ("campaignId" .=) <$> _etCampaignId,+                  ("accountId" .=) <$> _etAccountId,+                  ("name" .=) <$> _etName,+                  ("urlEscapeLevels" .=) <$> _etURLEscapeLevels,+                  ("siteIds" .=) <$> _etSiteIds, ("id" .=) <$> _etId,+                  ("subaccountId" .=) <$> _etSubAccountId,+                  ("type" .=) <$> _etType,+                  ("siteFilterType" .=) <$> _etSiteFilterType])++-- | Contains properties of a user role permission.+--+-- /See:/ 'userRolePermission' smart constructor.+data UserRolePermission = UserRolePermission+    { _useKind              :: !Text+    , _useAvailability      :: !(Maybe UserRolePermissionAvailability)+    , _useName              :: !(Maybe Text)+    , _useId                :: !(Maybe (Textual Int64))+    , _usePermissionGroupId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'useKind'+--+-- * 'useAvailability'+--+-- * 'useName'+--+-- * 'useId'+--+-- * 'usePermissionGroupId'+userRolePermission+    :: UserRolePermission+userRolePermission =+    UserRolePermission+    { _useKind = "dfareporting#userRolePermission"+    , _useAvailability = Nothing+    , _useName = Nothing+    , _useId = Nothing+    , _usePermissionGroupId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#userRolePermission\".+useKind :: Lens' UserRolePermission Text+useKind = lens _useKind (\ s a -> s{_useKind = a})++-- | Levels of availability for a user role permission.+useAvailability :: Lens' UserRolePermission (Maybe UserRolePermissionAvailability)+useAvailability+  = lens _useAvailability+      (\ s a -> s{_useAvailability = a})++-- | Name of this user role permission.+useName :: Lens' UserRolePermission (Maybe Text)+useName = lens _useName (\ s a -> s{_useName = a})++-- | ID of this user role permission.+useId :: Lens' UserRolePermission (Maybe Int64)+useId+  = lens _useId (\ s a -> s{_useId = a}) .+      mapping _Coerce++-- | ID of the permission group that this user role permission belongs to.+usePermissionGroupId :: Lens' UserRolePermission (Maybe Int64)+usePermissionGroupId+  = lens _usePermissionGroupId+      (\ s a -> s{_usePermissionGroupId = a})+      . mapping _Coerce++instance FromJSON UserRolePermission where+        parseJSON+          = withObject "UserRolePermission"+              (\ o ->+                 UserRolePermission <$>+                   (o .:? "kind" .!= "dfareporting#userRolePermission")+                     <*> (o .:? "availability")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "permissionGroupId"))++instance ToJSON UserRolePermission where+        toJSON UserRolePermission{..}+          = object+              (catMaybes+                 [Just ("kind" .= _useKind),+                  ("availability" .=) <$> _useAvailability,+                  ("name" .=) <$> _useName, ("id" .=) <$> _useId,+                  ("permissionGroupId" .=) <$> _usePermissionGroupId])++-- | Contact of an order.+--+-- /See:/ 'orderContact' smart constructor.+data OrderContact = OrderContact+    { _ocSignatureUserProFileId :: !(Maybe (Textual Int64))+    , _ocContactName            :: !(Maybe Text)+    , _ocContactTitle           :: !(Maybe Text)+    , _ocContactType            :: !(Maybe OrderContactContactType)+    , _ocContactInfo            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderContact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocSignatureUserProFileId'+--+-- * 'ocContactName'+--+-- * 'ocContactTitle'+--+-- * 'ocContactType'+--+-- * 'ocContactInfo'+orderContact+    :: OrderContact+orderContact =+    OrderContact+    { _ocSignatureUserProFileId = Nothing+    , _ocContactName = Nothing+    , _ocContactTitle = Nothing+    , _ocContactType = Nothing+    , _ocContactInfo = Nothing+    }++-- | ID of the user profile containing the signature that will be embedded+-- into order documents.+ocSignatureUserProFileId :: Lens' OrderContact (Maybe Int64)+ocSignatureUserProFileId+  = lens _ocSignatureUserProFileId+      (\ s a -> s{_ocSignatureUserProFileId = a})+      . mapping _Coerce++-- | Name of this contact.+ocContactName :: Lens' OrderContact (Maybe Text)+ocContactName+  = lens _ocContactName+      (\ s a -> s{_ocContactName = a})++-- | Title of this contact.+ocContactTitle :: Lens' OrderContact (Maybe Text)+ocContactTitle+  = lens _ocContactTitle+      (\ s a -> s{_ocContactTitle = a})++-- | Type of this contact.+ocContactType :: Lens' OrderContact (Maybe OrderContactContactType)+ocContactType+  = lens _ocContactType+      (\ s a -> s{_ocContactType = a})++-- | Free-form information about this contact. It could be any information+-- related to this contact in addition to type, title, name, and signature+-- user profile ID.+ocContactInfo :: Lens' OrderContact (Maybe Text)+ocContactInfo+  = lens _ocContactInfo+      (\ s a -> s{_ocContactInfo = a})++instance FromJSON OrderContact where+        parseJSON+          = withObject "OrderContact"+              (\ o ->+                 OrderContact <$>+                   (o .:? "signatureUserProfileId") <*>+                     (o .:? "contactName")+                     <*> (o .:? "contactTitle")+                     <*> (o .:? "contactType")+                     <*> (o .:? "contactInfo"))++instance ToJSON OrderContact where+        toJSON OrderContact{..}+          = object+              (catMaybes+                 [("signatureUserProfileId" .=) <$>+                    _ocSignatureUserProFileId,+                  ("contactName" .=) <$> _ocContactName,+                  ("contactTitle" .=) <$> _ocContactTitle,+                  ("contactType" .=) <$> _ocContactType,+                  ("contactInfo" .=) <$> _ocContactInfo])++-- | Floodlight Activity GenerateTag Response+--+-- /See:/ 'floodlightActivitiesGenerateTagResponse' smart constructor.+data FloodlightActivitiesGenerateTagResponse = FloodlightActivitiesGenerateTagResponse+    { _fagtrFloodlightActivityTag :: !(Maybe Text)+    , _fagtrKind                  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesGenerateTagResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagtrFloodlightActivityTag'+--+-- * 'fagtrKind'+floodlightActivitiesGenerateTagResponse+    :: FloodlightActivitiesGenerateTagResponse+floodlightActivitiesGenerateTagResponse =+    FloodlightActivitiesGenerateTagResponse+    { _fagtrFloodlightActivityTag = Nothing+    , _fagtrKind = "dfareporting#floodlightActivitiesGenerateTagResponse"+    }++-- | Generated tag for this floodlight activity.+fagtrFloodlightActivityTag :: Lens' FloodlightActivitiesGenerateTagResponse (Maybe Text)+fagtrFloodlightActivityTag+  = lens _fagtrFloodlightActivityTag+      (\ s a -> s{_fagtrFloodlightActivityTag = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#floodlightActivitiesGenerateTagResponse\".+fagtrKind :: Lens' FloodlightActivitiesGenerateTagResponse Text+fagtrKind+  = lens _fagtrKind (\ s a -> s{_fagtrKind = a})++instance FromJSON+         FloodlightActivitiesGenerateTagResponse where+        parseJSON+          = withObject+              "FloodlightActivitiesGenerateTagResponse"+              (\ o ->+                 FloodlightActivitiesGenerateTagResponse <$>+                   (o .:? "floodlightActivityTag") <*>+                     (o .:? "kind" .!=+                        "dfareporting#floodlightActivitiesGenerateTagResponse"))++instance ToJSON+         FloodlightActivitiesGenerateTagResponse where+        toJSON FloodlightActivitiesGenerateTagResponse{..}+          = object+              (catMaybes+                 [("floodlightActivityTag" .=) <$>+                    _fagtrFloodlightActivityTag,+                  Just ("kind" .= _fagtrKind)])++-- | Directory Site Contact Assignment+--+-- /See:/ 'directorySiteContactAssignment' smart constructor.+data DirectorySiteContactAssignment = DirectorySiteContactAssignment+    { _dscaVisibility :: !(Maybe DirectorySiteContactAssignmentVisibility)+    , _dscaContactId  :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteContactAssignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscaVisibility'+--+-- * 'dscaContactId'+directorySiteContactAssignment+    :: DirectorySiteContactAssignment+directorySiteContactAssignment =+    DirectorySiteContactAssignment+    { _dscaVisibility = Nothing+    , _dscaContactId = Nothing+    }++-- | Visibility of this directory site contact assignment. When set to PUBLIC+-- this contact assignment is visible to all account and agency users; when+-- set to PRIVATE it is visible only to the site.+dscaVisibility :: Lens' DirectorySiteContactAssignment (Maybe DirectorySiteContactAssignmentVisibility)+dscaVisibility+  = lens _dscaVisibility+      (\ s a -> s{_dscaVisibility = a})++-- | ID of this directory site contact. This is a read-only, auto-generated+-- field.+dscaContactId :: Lens' DirectorySiteContactAssignment (Maybe Int64)+dscaContactId+  = lens _dscaContactId+      (\ s a -> s{_dscaContactId = a})+      . mapping _Coerce++instance FromJSON DirectorySiteContactAssignment+         where+        parseJSON+          = withObject "DirectorySiteContactAssignment"+              (\ o ->+                 DirectorySiteContactAssignment <$>+                   (o .:? "visibility") <*> (o .:? "contactId"))++instance ToJSON DirectorySiteContactAssignment where+        toJSON DirectorySiteContactAssignment{..}+          = object+              (catMaybes+                 [("visibility" .=) <$> _dscaVisibility,+                  ("contactId" .=) <$> _dscaContactId])++-- | Ad Slot+--+-- /See:/ 'adSlot' smart constructor.+data AdSlot = AdSlot+    { _assHeight            :: !(Maybe (Textual Int64))+    , _assPaymentSourceType :: !(Maybe AdSlotPaymentSourceType)+    , _assLinkedPlacementId :: !(Maybe (Textual Int64))+    , _assWidth             :: !(Maybe (Textual Int64))+    , _assPrimary           :: !(Maybe Bool)+    , _assName              :: !(Maybe Text)+    , _assComment           :: !(Maybe Text)+    , _assCompatibility     :: !(Maybe AdSlotCompatibility)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdSlot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'assHeight'+--+-- * 'assPaymentSourceType'+--+-- * 'assLinkedPlacementId'+--+-- * 'assWidth'+--+-- * 'assPrimary'+--+-- * 'assName'+--+-- * 'assComment'+--+-- * 'assCompatibility'+adSlot+    :: AdSlot+adSlot =+    AdSlot+    { _assHeight = Nothing+    , _assPaymentSourceType = Nothing+    , _assLinkedPlacementId = Nothing+    , _assWidth = Nothing+    , _assPrimary = Nothing+    , _assName = Nothing+    , _assComment = Nothing+    , _assCompatibility = Nothing+    }++-- | Height of this ad slot.+assHeight :: Lens' AdSlot (Maybe Int64)+assHeight+  = lens _assHeight (\ s a -> s{_assHeight = a}) .+      mapping _Coerce++-- | Payment source type of this ad slot.+assPaymentSourceType :: Lens' AdSlot (Maybe AdSlotPaymentSourceType)+assPaymentSourceType+  = lens _assPaymentSourceType+      (\ s a -> s{_assPaymentSourceType = a})++-- | ID of the placement from an external platform that is linked to this ad+-- slot.+assLinkedPlacementId :: Lens' AdSlot (Maybe Int64)+assLinkedPlacementId+  = lens _assLinkedPlacementId+      (\ s a -> s{_assLinkedPlacementId = a})+      . mapping _Coerce++-- | Width of this ad slot.+assWidth :: Lens' AdSlot (Maybe Int64)+assWidth+  = lens _assWidth (\ s a -> s{_assWidth = a}) .+      mapping _Coerce++-- | Primary ad slot of a roadblock inventory item.+assPrimary :: Lens' AdSlot (Maybe Bool)+assPrimary+  = lens _assPrimary (\ s a -> s{_assPrimary = a})++-- | Name of this ad slot.+assName :: Lens' AdSlot (Maybe Text)+assName = lens _assName (\ s a -> s{_assName = a})++-- | Comment for this ad slot.+assComment :: Lens' AdSlot (Maybe Text)+assComment+  = lens _assComment (\ s a -> s{_assComment = a})++-- | Ad slot compatibility. WEB and WEB_INTERSTITIAL refer to rendering+-- either on desktop or on mobile devices for regular or interstitial ads+-- respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.+-- IN_STREAM_VIDEO refers to rendering in in-stream video ads developed+-- with the VAST standard.+assCompatibility :: Lens' AdSlot (Maybe AdSlotCompatibility)+assCompatibility+  = lens _assCompatibility+      (\ s a -> s{_assCompatibility = a})++instance FromJSON AdSlot where+        parseJSON+          = withObject "AdSlot"+              (\ o ->+                 AdSlot <$>+                   (o .:? "height") <*> (o .:? "paymentSourceType") <*>+                     (o .:? "linkedPlacementId")+                     <*> (o .:? "width")+                     <*> (o .:? "primary")+                     <*> (o .:? "name")+                     <*> (o .:? "comment")+                     <*> (o .:? "compatibility"))++instance ToJSON AdSlot where+        toJSON AdSlot{..}+          = object+              (catMaybes+                 [("height" .=) <$> _assHeight,+                  ("paymentSourceType" .=) <$> _assPaymentSourceType,+                  ("linkedPlacementId" .=) <$> _assLinkedPlacementId,+                  ("width" .=) <$> _assWidth,+                  ("primary" .=) <$> _assPrimary,+                  ("name" .=) <$> _assName,+                  ("comment" .=) <$> _assComment,+                  ("compatibility" .=) <$> _assCompatibility])++-- | Third-party Tracking URL.+--+-- /See:/ 'thirdPartyTrackingURL' smart constructor.+data ThirdPartyTrackingURL = ThirdPartyTrackingURL+    { _tptuURL               :: !(Maybe Text)+    , _tptuThirdPartyURLType :: !(Maybe ThirdPartyTrackingURLThirdPartyURLType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThirdPartyTrackingURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tptuURL'+--+-- * 'tptuThirdPartyURLType'+thirdPartyTrackingURL+    :: ThirdPartyTrackingURL+thirdPartyTrackingURL =+    ThirdPartyTrackingURL+    { _tptuURL = Nothing+    , _tptuThirdPartyURLType = Nothing+    }++-- | URL for the specified third-party URL type.+tptuURL :: Lens' ThirdPartyTrackingURL (Maybe Text)+tptuURL = lens _tptuURL (\ s a -> s{_tptuURL = a})++-- | Third-party URL type for in-stream video creatives.+tptuThirdPartyURLType :: Lens' ThirdPartyTrackingURL (Maybe ThirdPartyTrackingURLThirdPartyURLType)+tptuThirdPartyURLType+  = lens _tptuThirdPartyURLType+      (\ s a -> s{_tptuThirdPartyURLType = a})++instance FromJSON ThirdPartyTrackingURL where+        parseJSON+          = withObject "ThirdPartyTrackingURL"+              (\ o ->+                 ThirdPartyTrackingURL <$>+                   (o .:? "url") <*> (o .:? "thirdPartyUrlType"))++instance ToJSON ThirdPartyTrackingURL where+        toJSON ThirdPartyTrackingURL{..}+          = object+              (catMaybes+                 [("url" .=) <$> _tptuURL,+                  ("thirdPartyUrlType" .=) <$> _tptuThirdPartyURLType])++-- | Contains properties of a DoubleClick Planning order document.+--+-- /See:/ 'orderDocument' smart constructor.+data OrderDocument = OrderDocument+    { _odSigned                   :: !(Maybe Bool)+    , _odKind                     :: !Text+    , _odAdvertiserId             :: !(Maybe (Textual Int64))+    , _odLastSentTime             :: !(Maybe DateTime')+    , _odAmendedOrderDocumentId   :: !(Maybe (Textual Int64))+    , _odLastSentRecipients       :: !(Maybe [Text])+    , _odEffectiveDate            :: !(Maybe Date')+    , _odApprovedByUserProFileIds :: !(Maybe [Textual Int64])+    , _odAccountId                :: !(Maybe (Textual Int64))+    , _odId                       :: !(Maybe (Textual Int64))+    , _odProjectId                :: !(Maybe (Textual Int64))+    , _odTitle                    :: !(Maybe Text)+    , _odSubAccountId             :: !(Maybe (Textual Int64))+    , _odType                     :: !(Maybe OrderDocumentType)+    , _odOrderId                  :: !(Maybe (Textual Int64))+    , _odCancelled                :: !(Maybe Bool)+    , _odCreatedInfo              :: !(Maybe LastModifiedInfo)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderDocument' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odSigned'+--+-- * 'odKind'+--+-- * 'odAdvertiserId'+--+-- * 'odLastSentTime'+--+-- * 'odAmendedOrderDocumentId'+--+-- * 'odLastSentRecipients'+--+-- * 'odEffectiveDate'+--+-- * 'odApprovedByUserProFileIds'+--+-- * 'odAccountId'+--+-- * 'odId'+--+-- * 'odProjectId'+--+-- * 'odTitle'+--+-- * 'odSubAccountId'+--+-- * 'odType'+--+-- * 'odOrderId'+--+-- * 'odCancelled'+--+-- * 'odCreatedInfo'+orderDocument+    :: OrderDocument+orderDocument =+    OrderDocument+    { _odSigned = Nothing+    , _odKind = "dfareporting#orderDocument"+    , _odAdvertiserId = Nothing+    , _odLastSentTime = Nothing+    , _odAmendedOrderDocumentId = Nothing+    , _odLastSentRecipients = Nothing+    , _odEffectiveDate = Nothing+    , _odApprovedByUserProFileIds = Nothing+    , _odAccountId = Nothing+    , _odId = Nothing+    , _odProjectId = Nothing+    , _odTitle = Nothing+    , _odSubAccountId = Nothing+    , _odType = Nothing+    , _odOrderId = Nothing+    , _odCancelled = Nothing+    , _odCreatedInfo = Nothing+    }++-- | Whether this order document has been signed.+odSigned :: Lens' OrderDocument (Maybe Bool)+odSigned = lens _odSigned (\ s a -> s{_odSigned = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#orderDocument\".+odKind :: Lens' OrderDocument Text+odKind = lens _odKind (\ s a -> s{_odKind = a})++-- | Advertiser ID of this order document.+odAdvertiserId :: Lens' OrderDocument (Maybe Int64)+odAdvertiserId+  = lens _odAdvertiserId+      (\ s a -> s{_odAdvertiserId = a})+      . mapping _Coerce++-- | Timestamp of the last email sent with this order document.+odLastSentTime :: Lens' OrderDocument (Maybe UTCTime)+odLastSentTime+  = lens _odLastSentTime+      (\ s a -> s{_odLastSentTime = a})+      . mapping _DateTime++-- | The amended order document ID of this order document. An order document+-- can be created by optionally amending another order document so that the+-- change history can be preserved.+odAmendedOrderDocumentId :: Lens' OrderDocument (Maybe Int64)+odAmendedOrderDocumentId+  = lens _odAmendedOrderDocumentId+      (\ s a -> s{_odAmendedOrderDocumentId = a})+      . mapping _Coerce++-- | List of email addresses that received the last sent document.+odLastSentRecipients :: Lens' OrderDocument [Text]+odLastSentRecipients+  = lens _odLastSentRecipients+      (\ s a -> s{_odLastSentRecipients = a})+      . _Default+      . _Coerce++-- | Effective date of this order document.+odEffectiveDate :: Lens' OrderDocument (Maybe Day)+odEffectiveDate+  = lens _odEffectiveDate+      (\ s a -> s{_odEffectiveDate = a})+      . mapping _Date++-- | IDs of users who have approved this order document.+odApprovedByUserProFileIds :: Lens' OrderDocument [Int64]+odApprovedByUserProFileIds+  = lens _odApprovedByUserProFileIds+      (\ s a -> s{_odApprovedByUserProFileIds = a})+      . _Default+      . _Coerce++-- | Account ID of this order document.+odAccountId :: Lens' OrderDocument (Maybe Int64)+odAccountId+  = lens _odAccountId (\ s a -> s{_odAccountId = a}) .+      mapping _Coerce++-- | ID of this order document.+odId :: Lens' OrderDocument (Maybe Int64)+odId+  = lens _odId (\ s a -> s{_odId = a}) .+      mapping _Coerce++-- | Project ID of this order document.+odProjectId :: Lens' OrderDocument (Maybe Int64)+odProjectId+  = lens _odProjectId (\ s a -> s{_odProjectId = a}) .+      mapping _Coerce++-- | Title of this order document.+odTitle :: Lens' OrderDocument (Maybe Text)+odTitle = lens _odTitle (\ s a -> s{_odTitle = a})++-- | Subaccount ID of this order document.+odSubAccountId :: Lens' OrderDocument (Maybe Int64)+odSubAccountId+  = lens _odSubAccountId+      (\ s a -> s{_odSubAccountId = a})+      . mapping _Coerce++-- | Type of this order document+odType :: Lens' OrderDocument (Maybe OrderDocumentType)+odType = lens _odType (\ s a -> s{_odType = a})++-- | ID of the order from which this order document is created.+odOrderId :: Lens' OrderDocument (Maybe Int64)+odOrderId+  = lens _odOrderId (\ s a -> s{_odOrderId = a}) .+      mapping _Coerce++-- | Whether this order document is cancelled.+odCancelled :: Lens' OrderDocument (Maybe Bool)+odCancelled+  = lens _odCancelled (\ s a -> s{_odCancelled = a})++-- | Information about the creation of this order document.+odCreatedInfo :: Lens' OrderDocument (Maybe LastModifiedInfo)+odCreatedInfo+  = lens _odCreatedInfo+      (\ s a -> s{_odCreatedInfo = a})++instance FromJSON OrderDocument where+        parseJSON+          = withObject "OrderDocument"+              (\ o ->+                 OrderDocument <$>+                   (o .:? "signed") <*>+                     (o .:? "kind" .!= "dfareporting#orderDocument")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "lastSentTime")+                     <*> (o .:? "amendedOrderDocumentId")+                     <*> (o .:? "lastSentRecipients" .!= mempty)+                     <*> (o .:? "effectiveDate")+                     <*> (o .:? "approvedByUserProfileIds" .!= mempty)+                     <*> (o .:? "accountId")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "title")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "type")+                     <*> (o .:? "orderId")+                     <*> (o .:? "cancelled")+                     <*> (o .:? "createdInfo"))++instance ToJSON OrderDocument where+        toJSON OrderDocument{..}+          = object+              (catMaybes+                 [("signed" .=) <$> _odSigned,+                  Just ("kind" .= _odKind),+                  ("advertiserId" .=) <$> _odAdvertiserId,+                  ("lastSentTime" .=) <$> _odLastSentTime,+                  ("amendedOrderDocumentId" .=) <$>+                    _odAmendedOrderDocumentId,+                  ("lastSentRecipients" .=) <$> _odLastSentRecipients,+                  ("effectiveDate" .=) <$> _odEffectiveDate,+                  ("approvedByUserProfileIds" .=) <$>+                    _odApprovedByUserProFileIds,+                  ("accountId" .=) <$> _odAccountId,+                  ("id" .=) <$> _odId,+                  ("projectId" .=) <$> _odProjectId,+                  ("title" .=) <$> _odTitle,+                  ("subaccountId" .=) <$> _odSubAccountId,+                  ("type" .=) <$> _odType,+                  ("orderId" .=) <$> _odOrderId,+                  ("cancelled" .=) <$> _odCancelled,+                  ("createdInfo" .=) <$> _odCreatedInfo])++-- | Contains information about a metro region that can be targeted by ads.+--+-- /See:/ 'metro' smart constructor.+data Metro = Metro+    { _metMetroCode     :: !(Maybe Text)+    , _metKind          :: !Text+    , _metName          :: !(Maybe Text)+    , _metCountryCode   :: !(Maybe Text)+    , _metDmaId         :: !(Maybe (Textual Int64))+    , _metCountryDartId :: !(Maybe (Textual Int64))+    , _metDartId        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metro' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'metMetroCode'+--+-- * 'metKind'+--+-- * 'metName'+--+-- * 'metCountryCode'+--+-- * 'metDmaId'+--+-- * 'metCountryDartId'+--+-- * 'metDartId'+metro+    :: Metro+metro =+    Metro+    { _metMetroCode = Nothing+    , _metKind = "dfareporting#metro"+    , _metName = Nothing+    , _metCountryCode = Nothing+    , _metDmaId = Nothing+    , _metCountryDartId = Nothing+    , _metDartId = Nothing+    }++-- | Metro code of this metro region. This is equivalent to dma_id.+metMetroCode :: Lens' Metro (Maybe Text)+metMetroCode+  = lens _metMetroCode (\ s a -> s{_metMetroCode = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#metro\".+metKind :: Lens' Metro Text+metKind = lens _metKind (\ s a -> s{_metKind = a})++-- | Name of this metro region.+metName :: Lens' Metro (Maybe Text)+metName = lens _metName (\ s a -> s{_metName = a})++-- | Country code of the country to which this metro region belongs.+metCountryCode :: Lens' Metro (Maybe Text)+metCountryCode+  = lens _metCountryCode+      (\ s a -> s{_metCountryCode = a})++-- | DMA ID of this metro region. This is the ID used for targeting and+-- generating reports, and is equivalent to metro_code.+metDmaId :: Lens' Metro (Maybe Int64)+metDmaId+  = lens _metDmaId (\ s a -> s{_metDmaId = a}) .+      mapping _Coerce++-- | DART ID of the country to which this metro region belongs.+metCountryDartId :: Lens' Metro (Maybe Int64)+metCountryDartId+  = lens _metCountryDartId+      (\ s a -> s{_metCountryDartId = a})+      . mapping _Coerce++-- | DART ID of this metro region.+metDartId :: Lens' Metro (Maybe Int64)+metDartId+  = lens _metDartId (\ s a -> s{_metDartId = a}) .+      mapping _Coerce++instance FromJSON Metro where+        parseJSON+          = withObject "Metro"+              (\ o ->+                 Metro <$>+                   (o .:? "metroCode") <*>+                     (o .:? "kind" .!= "dfareporting#metro")+                     <*> (o .:? "name")+                     <*> (o .:? "countryCode")+                     <*> (o .:? "dmaId")+                     <*> (o .:? "countryDartId")+                     <*> (o .:? "dartId"))++instance ToJSON Metro where+        toJSON Metro{..}+          = object+              (catMaybes+                 [("metroCode" .=) <$> _metMetroCode,+                  Just ("kind" .= _metKind), ("name" .=) <$> _metName,+                  ("countryCode" .=) <$> _metCountryCode,+                  ("dmaId" .=) <$> _metDmaId,+                  ("countryDartId" .=) <$> _metCountryDartId,+                  ("dartId" .=) <$> _metDartId])++-- | Contains properties of a placement.+--+-- /See:/ 'placement' smart constructor.+data Placement = Placement+    { _p1Status                         :: !(Maybe PlacementStatus)+    , _p1PlacementStrategyId            :: !(Maybe (Textual Int64))+    , _p1TagFormats                     :: !(Maybe [PlacementTagFormatsItem])+    , _p1SiteIdDimensionValue           :: !(Maybe DimensionValue)+    , _p1PricingSchedule                :: !(Maybe PricingSchedule)+    , _p1Size                           :: !(Maybe Size)+    , _p1Kind                           :: !Text+    , _p1KeyName                        :: !(Maybe Text)+    , _p1CampaignIdDimensionValue       :: !(Maybe DimensionValue)+    , _p1AdvertiserId                   :: !(Maybe (Textual Int64))+    , _p1AdvertiserIdDimensionValue     :: !(Maybe DimensionValue)+    , _p1CampaignId                     :: !(Maybe (Textual Int64))+    , _p1IdDimensionValue               :: !(Maybe DimensionValue)+    , _p1Primary                        :: !(Maybe Bool)+    , _p1LookbackConfiguration          :: !(Maybe LookbackConfiguration)+    , _p1TagSetting                     :: !(Maybe TagSetting)+    , _p1ContentCategoryId              :: !(Maybe (Textual Int64))+    , _p1DirectorySiteIdDimensionValue  :: !(Maybe DimensionValue)+    , _p1AccountId                      :: !(Maybe (Textual Int64))+    , _p1PaymentSource                  :: !(Maybe PlacementPaymentSource)+    , _p1Name                           :: !(Maybe Text)+    , _p1DirectorySiteId                :: !(Maybe (Textual Int64))+    , _p1CreateInfo                     :: !(Maybe LastModifiedInfo)+    , _p1LastModifiedInfo               :: !(Maybe LastModifiedInfo)+    , _p1Id                             :: !(Maybe (Textual Int64))+    , _p1SSLRequired                    :: !(Maybe Bool)+    , _p1SubAccountId                   :: !(Maybe (Textual Int64))+    , _p1PlacementGroupIdDimensionValue :: !(Maybe DimensionValue)+    , _p1ExternalId                     :: !(Maybe Text)+    , _p1PlacementGroupId               :: !(Maybe (Textual Int64))+    , _p1Comment                        :: !(Maybe Text)+    , _p1SiteId                         :: !(Maybe (Textual Int64))+    , _p1Compatibility                  :: !(Maybe PlacementCompatibility)+    , _p1Archived                       :: !(Maybe Bool)+    , _p1PaymentApproved                :: !(Maybe Bool)+    , _p1PublisherUpdateInfo            :: !(Maybe LastModifiedInfo)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Placement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'p1Status'+--+-- * 'p1PlacementStrategyId'+--+-- * 'p1TagFormats'+--+-- * 'p1SiteIdDimensionValue'+--+-- * 'p1PricingSchedule'+--+-- * 'p1Size'+--+-- * 'p1Kind'+--+-- * 'p1KeyName'+--+-- * 'p1CampaignIdDimensionValue'+--+-- * 'p1AdvertiserId'+--+-- * 'p1AdvertiserIdDimensionValue'+--+-- * 'p1CampaignId'+--+-- * 'p1IdDimensionValue'+--+-- * 'p1Primary'+--+-- * 'p1LookbackConfiguration'+--+-- * 'p1TagSetting'+--+-- * 'p1ContentCategoryId'+--+-- * 'p1DirectorySiteIdDimensionValue'+--+-- * 'p1AccountId'+--+-- * 'p1PaymentSource'+--+-- * 'p1Name'+--+-- * 'p1DirectorySiteId'+--+-- * 'p1CreateInfo'+--+-- * 'p1LastModifiedInfo'+--+-- * 'p1Id'+--+-- * 'p1SSLRequired'+--+-- * 'p1SubAccountId'+--+-- * 'p1PlacementGroupIdDimensionValue'+--+-- * 'p1ExternalId'+--+-- * 'p1PlacementGroupId'+--+-- * 'p1Comment'+--+-- * 'p1SiteId'+--+-- * 'p1Compatibility'+--+-- * 'p1Archived'+--+-- * 'p1PaymentApproved'+--+-- * 'p1PublisherUpdateInfo'+placement+    :: Placement+placement =+    Placement+    { _p1Status = Nothing+    , _p1PlacementStrategyId = Nothing+    , _p1TagFormats = Nothing+    , _p1SiteIdDimensionValue = Nothing+    , _p1PricingSchedule = Nothing+    , _p1Size = Nothing+    , _p1Kind = "dfareporting#placement"+    , _p1KeyName = Nothing+    , _p1CampaignIdDimensionValue = Nothing+    , _p1AdvertiserId = Nothing+    , _p1AdvertiserIdDimensionValue = Nothing+    , _p1CampaignId = Nothing+    , _p1IdDimensionValue = Nothing+    , _p1Primary = Nothing+    , _p1LookbackConfiguration = Nothing+    , _p1TagSetting = Nothing+    , _p1ContentCategoryId = Nothing+    , _p1DirectorySiteIdDimensionValue = Nothing+    , _p1AccountId = Nothing+    , _p1PaymentSource = Nothing+    , _p1Name = Nothing+    , _p1DirectorySiteId = Nothing+    , _p1CreateInfo = Nothing+    , _p1LastModifiedInfo = Nothing+    , _p1Id = Nothing+    , _p1SSLRequired = Nothing+    , _p1SubAccountId = Nothing+    , _p1PlacementGroupIdDimensionValue = Nothing+    , _p1ExternalId = Nothing+    , _p1PlacementGroupId = Nothing+    , _p1Comment = Nothing+    , _p1SiteId = Nothing+    , _p1Compatibility = Nothing+    , _p1Archived = Nothing+    , _p1PaymentApproved = Nothing+    , _p1PublisherUpdateInfo = Nothing+    }++-- | Third-party placement status.+p1Status :: Lens' Placement (Maybe PlacementStatus)+p1Status = lens _p1Status (\ s a -> s{_p1Status = a})++-- | ID of the placement strategy assigned to this placement.+p1PlacementStrategyId :: Lens' Placement (Maybe Int64)+p1PlacementStrategyId+  = lens _p1PlacementStrategyId+      (\ s a -> s{_p1PlacementStrategyId = a})+      . mapping _Coerce++-- | Tag formats to generate for this placement. This field is required on+-- insertion. Acceptable values are: - \"PLACEMENT_TAG_STANDARD\" -+-- \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_IFRAME_ILAYER\" -+-- \"PLACEMENT_TAG_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_JAVASCRIPT\" -+-- \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\" -+-- \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\" -+-- \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\" -+-- \"PLACEMENT_TAG_CLICK_COMMANDS\" -+-- \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\" - \"PLACEMENT_TAG_TRACKING\" -+-- \"PLACEMENT_TAG_TRACKING_IFRAME\" -+-- \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\"+p1TagFormats :: Lens' Placement [PlacementTagFormatsItem]+p1TagFormats+  = lens _p1TagFormats (\ s a -> s{_p1TagFormats = a})+      . _Default+      . _Coerce++-- | Dimension value for the ID of the site. This is a read-only,+-- auto-generated field.+p1SiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1SiteIdDimensionValue+  = lens _p1SiteIdDimensionValue+      (\ s a -> s{_p1SiteIdDimensionValue = a})++-- | Pricing schedule of this placement. This field is required on insertion,+-- specifically subfields startDate, endDate and pricingType.+p1PricingSchedule :: Lens' Placement (Maybe PricingSchedule)+p1PricingSchedule+  = lens _p1PricingSchedule+      (\ s a -> s{_p1PricingSchedule = a})++-- | Size associated with this placement. When inserting or updating a+-- placement, only the size ID field is used. This field is required on+-- insertion.+p1Size :: Lens' Placement (Maybe Size)+p1Size = lens _p1Size (\ s a -> s{_p1Size = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#placement\".+p1Kind :: Lens' Placement Text+p1Kind = lens _p1Kind (\ s a -> s{_p1Kind = a})++-- | Key name of this placement. This is a read-only, auto-generated field.+p1KeyName :: Lens' Placement (Maybe Text)+p1KeyName+  = lens _p1KeyName (\ s a -> s{_p1KeyName = a})++-- | Dimension value for the ID of the campaign. This is a read-only,+-- auto-generated field.+p1CampaignIdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1CampaignIdDimensionValue+  = lens _p1CampaignIdDimensionValue+      (\ s a -> s{_p1CampaignIdDimensionValue = a})++-- | Advertiser ID of this placement. This field can be left blank.+p1AdvertiserId :: Lens' Placement (Maybe Int64)+p1AdvertiserId+  = lens _p1AdvertiserId+      (\ s a -> s{_p1AdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+p1AdvertiserIdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1AdvertiserIdDimensionValue+  = lens _p1AdvertiserIdDimensionValue+      (\ s a -> s{_p1AdvertiserIdDimensionValue = a})++-- | Campaign ID of this placement. This field is a required field on+-- insertion.+p1CampaignId :: Lens' Placement (Maybe Int64)+p1CampaignId+  = lens _p1CampaignId (\ s a -> s{_p1CampaignId = a})+      . mapping _Coerce++-- | Dimension value for the ID of this placement. This is a read-only,+-- auto-generated field.+p1IdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1IdDimensionValue+  = lens _p1IdDimensionValue+      (\ s a -> s{_p1IdDimensionValue = a})++-- | Whether this placement is the primary placement of a roadblock+-- (placement group). You cannot change this field from true to false.+-- Setting this field to true will automatically set the primary field on+-- the original primary placement of the roadblock to false, and it will+-- automatically set the roadblock\'s primaryPlacementId field to the ID of+-- this placement.+p1Primary :: Lens' Placement (Maybe Bool)+p1Primary+  = lens _p1Primary (\ s a -> s{_p1Primary = a})++-- | Lookback window settings for this placement.+p1LookbackConfiguration :: Lens' Placement (Maybe LookbackConfiguration)+p1LookbackConfiguration+  = lens _p1LookbackConfiguration+      (\ s a -> s{_p1LookbackConfiguration = a})++-- | Tag settings for this placement.+p1TagSetting :: Lens' Placement (Maybe TagSetting)+p1TagSetting+  = lens _p1TagSetting (\ s a -> s{_p1TagSetting = a})++-- | ID of the content category assigned to this placement.+p1ContentCategoryId :: Lens' Placement (Maybe Int64)+p1ContentCategoryId+  = lens _p1ContentCategoryId+      (\ s a -> s{_p1ContentCategoryId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the directory site. This is a read-only,+-- auto-generated field.+p1DirectorySiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1DirectorySiteIdDimensionValue+  = lens _p1DirectorySiteIdDimensionValue+      (\ s a -> s{_p1DirectorySiteIdDimensionValue = a})++-- | Account ID of this placement. This field can be left blank.+p1AccountId :: Lens' Placement (Maybe Int64)+p1AccountId+  = lens _p1AccountId (\ s a -> s{_p1AccountId = a}) .+      mapping _Coerce++-- | Payment source for this placement. This is a required field that is+-- read-only after insertion.+p1PaymentSource :: Lens' Placement (Maybe PlacementPaymentSource)+p1PaymentSource+  = lens _p1PaymentSource+      (\ s a -> s{_p1PaymentSource = a})++-- | Name of this placement.This is a required field and must be less than+-- 256 characters long.+p1Name :: Lens' Placement (Maybe Text)+p1Name = lens _p1Name (\ s a -> s{_p1Name = a})++-- | Directory site ID of this placement. On insert, you must set either this+-- field or the siteId field to specify the site associated with this+-- placement. This is a required field that is read-only after insertion.+p1DirectorySiteId :: Lens' Placement (Maybe Int64)+p1DirectorySiteId+  = lens _p1DirectorySiteId+      (\ s a -> s{_p1DirectorySiteId = a})+      . mapping _Coerce++-- | Information about the creation of this placement. This is a read-only+-- field.+p1CreateInfo :: Lens' Placement (Maybe LastModifiedInfo)+p1CreateInfo+  = lens _p1CreateInfo (\ s a -> s{_p1CreateInfo = a})++-- | Information about the most recent modification of this placement. This+-- is a read-only field.+p1LastModifiedInfo :: Lens' Placement (Maybe LastModifiedInfo)+p1LastModifiedInfo+  = lens _p1LastModifiedInfo+      (\ s a -> s{_p1LastModifiedInfo = a})++-- | ID of this placement. This is a read-only, auto-generated field.+p1Id :: Lens' Placement (Maybe Int64)+p1Id+  = lens _p1Id (\ s a -> s{_p1Id = a}) .+      mapping _Coerce++-- | Whether creatives assigned to this placement must be SSL-compliant.+p1SSLRequired :: Lens' Placement (Maybe Bool)+p1SSLRequired+  = lens _p1SSLRequired+      (\ s a -> s{_p1SSLRequired = a})++-- | Subaccount ID of this placement. This field can be left blank.+p1SubAccountId :: Lens' Placement (Maybe Int64)+p1SubAccountId+  = lens _p1SubAccountId+      (\ s a -> s{_p1SubAccountId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the placement group. This is a read-only,+-- auto-generated field.+p1PlacementGroupIdDimensionValue :: Lens' Placement (Maybe DimensionValue)+p1PlacementGroupIdDimensionValue+  = lens _p1PlacementGroupIdDimensionValue+      (\ s a -> s{_p1PlacementGroupIdDimensionValue = a})++-- | External ID for this placement.+p1ExternalId :: Lens' Placement (Maybe Text)+p1ExternalId+  = lens _p1ExternalId (\ s a -> s{_p1ExternalId = a})++-- | ID of this placement\'s group, if applicable.+p1PlacementGroupId :: Lens' Placement (Maybe Int64)+p1PlacementGroupId+  = lens _p1PlacementGroupId+      (\ s a -> s{_p1PlacementGroupId = a})+      . mapping _Coerce++-- | Comments for this placement.+p1Comment :: Lens' Placement (Maybe Text)+p1Comment+  = lens _p1Comment (\ s a -> s{_p1Comment = a})++-- | Site ID associated with this placement. On insert, you must set either+-- this field or the directorySiteId field to specify the site associated+-- with this placement. This is a required field that is read-only after+-- insertion.+p1SiteId :: Lens' Placement (Maybe Int64)+p1SiteId+  = lens _p1SiteId (\ s a -> s{_p1SiteId = a}) .+      mapping _Coerce++-- | Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering+-- either on desktop or on mobile devices for regular or interstitial ads,+-- respectively. APP and APP_INTERSTITIAL are for rendering in mobile+-- apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads+-- developed with the VAST standard. This field is required on insertion.+p1Compatibility :: Lens' Placement (Maybe PlacementCompatibility)+p1Compatibility+  = lens _p1Compatibility+      (\ s a -> s{_p1Compatibility = a})++-- | Whether this placement is archived.+p1Archived :: Lens' Placement (Maybe Bool)+p1Archived+  = lens _p1Archived (\ s a -> s{_p1Archived = a})++-- | Whether payment was approved for this placement. This is a read-only+-- field relevant only to publisher-paid placements.+p1PaymentApproved :: Lens' Placement (Maybe Bool)+p1PaymentApproved+  = lens _p1PaymentApproved+      (\ s a -> s{_p1PaymentApproved = a})++-- | Information about the last publisher update. This is a read-only field.+p1PublisherUpdateInfo :: Lens' Placement (Maybe LastModifiedInfo)+p1PublisherUpdateInfo+  = lens _p1PublisherUpdateInfo+      (\ s a -> s{_p1PublisherUpdateInfo = a})++instance FromJSON Placement where+        parseJSON+          = withObject "Placement"+              (\ o ->+                 Placement <$>+                   (o .:? "status") <*> (o .:? "placementStrategyId")+                     <*> (o .:? "tagFormats" .!= mempty)+                     <*> (o .:? "siteIdDimensionValue")+                     <*> (o .:? "pricingSchedule")+                     <*> (o .:? "size")+                     <*> (o .:? "kind" .!= "dfareporting#placement")+                     <*> (o .:? "keyName")+                     <*> (o .:? "campaignIdDimensionValue")+                     <*> (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "campaignId")+                     <*> (o .:? "idDimensionValue")+                     <*> (o .:? "primary")+                     <*> (o .:? "lookbackConfiguration")+                     <*> (o .:? "tagSetting")+                     <*> (o .:? "contentCategoryId")+                     <*> (o .:? "directorySiteIdDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "paymentSource")+                     <*> (o .:? "name")+                     <*> (o .:? "directorySiteId")+                     <*> (o .:? "createInfo")+                     <*> (o .:? "lastModifiedInfo")+                     <*> (o .:? "id")+                     <*> (o .:? "sslRequired")+                     <*> (o .:? "subaccountId")+                     <*> (o .:? "placementGroupIdDimensionValue")+                     <*> (o .:? "externalId")+                     <*> (o .:? "placementGroupId")+                     <*> (o .:? "comment")+                     <*> (o .:? "siteId")+                     <*> (o .:? "compatibility")+                     <*> (o .:? "archived")+                     <*> (o .:? "paymentApproved")+                     <*> (o .:? "publisherUpdateInfo"))++instance ToJSON Placement where+        toJSON Placement{..}+          = object+              (catMaybes+                 [("status" .=) <$> _p1Status,+                  ("placementStrategyId" .=) <$>+                    _p1PlacementStrategyId,+                  ("tagFormats" .=) <$> _p1TagFormats,+                  ("siteIdDimensionValue" .=) <$>+                    _p1SiteIdDimensionValue,+                  ("pricingSchedule" .=) <$> _p1PricingSchedule,+                  ("size" .=) <$> _p1Size, Just ("kind" .= _p1Kind),+                  ("keyName" .=) <$> _p1KeyName,+                  ("campaignIdDimensionValue" .=) <$>+                    _p1CampaignIdDimensionValue,+                  ("advertiserId" .=) <$> _p1AdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _p1AdvertiserIdDimensionValue,+                  ("campaignId" .=) <$> _p1CampaignId,+                  ("idDimensionValue" .=) <$> _p1IdDimensionValue,+                  ("primary" .=) <$> _p1Primary,+                  ("lookbackConfiguration" .=) <$>+                    _p1LookbackConfiguration,+                  ("tagSetting" .=) <$> _p1TagSetting,+                  ("contentCategoryId" .=) <$> _p1ContentCategoryId,+                  ("directorySiteIdDimensionValue" .=) <$>+                    _p1DirectorySiteIdDimensionValue,+                  ("accountId" .=) <$> _p1AccountId,+                  ("paymentSource" .=) <$> _p1PaymentSource,+                  ("name" .=) <$> _p1Name,+                  ("directorySiteId" .=) <$> _p1DirectorySiteId,+                  ("createInfo" .=) <$> _p1CreateInfo,+                  ("lastModifiedInfo" .=) <$> _p1LastModifiedInfo,+                  ("id" .=) <$> _p1Id,+                  ("sslRequired" .=) <$> _p1SSLRequired,+                  ("subaccountId" .=) <$> _p1SubAccountId,+                  ("placementGroupIdDimensionValue" .=) <$>+                    _p1PlacementGroupIdDimensionValue,+                  ("externalId" .=) <$> _p1ExternalId,+                  ("placementGroupId" .=) <$> _p1PlacementGroupId,+                  ("comment" .=) <$> _p1Comment,+                  ("siteId" .=) <$> _p1SiteId,+                  ("compatibility" .=) <$> _p1Compatibility,+                  ("archived" .=) <$> _p1Archived,+                  ("paymentApproved" .=) <$> _p1PaymentApproved,+                  ("publisherUpdateInfo" .=) <$>+                    _p1PublisherUpdateInfo])++-- | Site List Response+--+-- /See:/ 'sitesListResponse' smart constructor.+data SitesListResponse = SitesListResponse+    { _sitNextPageToken :: !(Maybe Text)+    , _sitKind          :: !Text+    , _sitSites         :: !(Maybe [Site])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sitNextPageToken'+--+-- * 'sitKind'+--+-- * 'sitSites'+sitesListResponse+    :: SitesListResponse+sitesListResponse =+    SitesListResponse+    { _sitNextPageToken = Nothing+    , _sitKind = "dfareporting#sitesListResponse"+    , _sitSites = Nothing+    }++-- | Pagination token to be used for the next list operation.+sitNextPageToken :: Lens' SitesListResponse (Maybe Text)+sitNextPageToken+  = lens _sitNextPageToken+      (\ s a -> s{_sitNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#sitesListResponse\".+sitKind :: Lens' SitesListResponse Text+sitKind = lens _sitKind (\ s a -> s{_sitKind = a})++-- | Site collection.+sitSites :: Lens' SitesListResponse [Site]+sitSites+  = lens _sitSites (\ s a -> s{_sitSites = a}) .+      _Default+      . _Coerce++instance FromJSON SitesListResponse where+        parseJSON+          = withObject "SitesListResponse"+              (\ o ->+                 SitesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dfareporting#sitesListResponse")+                     <*> (o .:? "sites" .!= mempty))++instance ToJSON SitesListResponse where+        toJSON SitesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _sitNextPageToken,+                  Just ("kind" .= _sitKind),+                  ("sites" .=) <$> _sitSites])++-- | Contains properties of a creative field.+--+-- /See:/ 'creativeField' smart constructor.+data CreativeField = CreativeField+    { _cffKind                       :: !Text+    , _cffAdvertiserId               :: !(Maybe (Textual Int64))+    , _cffAdvertiserIdDimensionValue :: !(Maybe DimensionValue)+    , _cffAccountId                  :: !(Maybe (Textual Int64))+    , _cffName                       :: !(Maybe Text)+    , _cffId                         :: !(Maybe (Textual Int64))+    , _cffSubAccountId               :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cffKind'+--+-- * 'cffAdvertiserId'+--+-- * 'cffAdvertiserIdDimensionValue'+--+-- * 'cffAccountId'+--+-- * 'cffName'+--+-- * 'cffId'+--+-- * 'cffSubAccountId'+creativeField+    :: CreativeField+creativeField =+    CreativeField+    { _cffKind = "dfareporting#creativeField"+    , _cffAdvertiserId = Nothing+    , _cffAdvertiserIdDimensionValue = Nothing+    , _cffAccountId = Nothing+    , _cffName = Nothing+    , _cffId = Nothing+    , _cffSubAccountId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dfareporting#creativeField\".+cffKind :: Lens' CreativeField Text+cffKind = lens _cffKind (\ s a -> s{_cffKind = a})++-- | Advertiser ID of this creative field. This is a required field on+-- insertion.+cffAdvertiserId :: Lens' CreativeField (Maybe Int64)+cffAdvertiserId+  = lens _cffAdvertiserId+      (\ s a -> s{_cffAdvertiserId = a})+      . mapping _Coerce++-- | Dimension value for the ID of the advertiser. This is a read-only,+-- auto-generated field.+cffAdvertiserIdDimensionValue :: Lens' CreativeField (Maybe DimensionValue)+cffAdvertiserIdDimensionValue+  = lens _cffAdvertiserIdDimensionValue+      (\ s a -> s{_cffAdvertiserIdDimensionValue = a})++-- | Account ID of this creative field. This is a read-only field that can be+-- left blank.+cffAccountId :: Lens' CreativeField (Maybe Int64)+cffAccountId+  = lens _cffAccountId (\ s a -> s{_cffAccountId = a})+      . mapping _Coerce++-- | Name of this creative field. This is a required field and must be less+-- than 256 characters long and unique among creative fields of the same+-- advertiser.+cffName :: Lens' CreativeField (Maybe Text)+cffName = lens _cffName (\ s a -> s{_cffName = a})++-- | ID of this creative field. This is a read-only, auto-generated field.+cffId :: Lens' CreativeField (Maybe Int64)+cffId+  = lens _cffId (\ s a -> s{_cffId = a}) .+      mapping _Coerce++-- | Subaccount ID of this creative field. This is a read-only field that can+-- be left blank.+cffSubAccountId :: Lens' CreativeField (Maybe Int64)+cffSubAccountId+  = lens _cffSubAccountId+      (\ s a -> s{_cffSubAccountId = a})+      . mapping _Coerce++instance FromJSON CreativeField where+        parseJSON+          = withObject "CreativeField"+              (\ o ->+                 CreativeField <$>+                   (o .:? "kind" .!= "dfareporting#creativeField") <*>+                     (o .:? "advertiserId")+                     <*> (o .:? "advertiserIdDimensionValue")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "subaccountId"))++instance ToJSON CreativeField where+        toJSON CreativeField{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cffKind),+                  ("advertiserId" .=) <$> _cffAdvertiserId,+                  ("advertiserIdDimensionValue" .=) <$>+                    _cffAdvertiserIdDimensionValue,+                  ("accountId" .=) <$> _cffAccountId,+                  ("name" .=) <$> _cffName, ("id" .=) <$> _cffId,+                  ("subaccountId" .=) <$> _cffSubAccountId])++-- | Properties of inheriting and overriding the default click-through event+-- tag. A campaign may override the event tag defined at the advertiser+-- level, and an ad may also override the campaign\'s setting further.+--+-- /See:/ 'defaultClickThroughEventTagProperties' smart constructor.+data DefaultClickThroughEventTagProperties = DefaultClickThroughEventTagProperties+    { _dctetpOverrideInheritedEventTag     :: !(Maybe Bool)+    , _dctetpDefaultClickThroughEventTagId :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DefaultClickThroughEventTagProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dctetpOverrideInheritedEventTag'+--+-- * 'dctetpDefaultClickThroughEventTagId'+defaultClickThroughEventTagProperties+    :: DefaultClickThroughEventTagProperties+defaultClickThroughEventTagProperties =+    DefaultClickThroughEventTagProperties+    { _dctetpOverrideInheritedEventTag = Nothing+    , _dctetpDefaultClickThroughEventTagId = Nothing+    }++-- | Whether this entity should override the inherited default click-through+-- event tag with its own defined value.+dctetpOverrideInheritedEventTag :: Lens' DefaultClickThroughEventTagProperties (Maybe Bool)+dctetpOverrideInheritedEventTag+  = lens _dctetpOverrideInheritedEventTag+      (\ s a -> s{_dctetpOverrideInheritedEventTag = a})++-- | ID of the click-through event tag to apply to all ads in this entity\'s+-- scope.+dctetpDefaultClickThroughEventTagId :: Lens' DefaultClickThroughEventTagProperties (Maybe Int64)+dctetpDefaultClickThroughEventTagId+  = lens _dctetpDefaultClickThroughEventTagId+      (\ s a ->+         s{_dctetpDefaultClickThroughEventTagId = a})+      . mapping _Coerce++instance FromJSON+         DefaultClickThroughEventTagProperties where+        parseJSON+          = withObject "DefaultClickThroughEventTagProperties"+              (\ o ->+                 DefaultClickThroughEventTagProperties <$>+                   (o .:? "overrideInheritedEventTag") <*>+                     (o .:? "defaultClickThroughEventTagId"))++instance ToJSON DefaultClickThroughEventTagProperties+         where+        toJSON DefaultClickThroughEventTagProperties{..}+          = object+              (catMaybes+                 [("overrideInheritedEventTag" .=) <$>+                    _dctetpOverrideInheritedEventTag,+                  ("defaultClickThroughEventTagId" .=) <$>+                    _dctetpDefaultClickThroughEventTagId])++-- | Remarketing List Targeting Expression.+--+-- /See:/ 'listTargetingExpression' smart constructor.+newtype ListTargetingExpression = ListTargetingExpression+    { _lteExpression :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTargetingExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lteExpression'+listTargetingExpression+    :: ListTargetingExpression+listTargetingExpression =+    ListTargetingExpression+    { _lteExpression = Nothing+    }++-- | Expression describing which lists are being targeted by the ad.+lteExpression :: Lens' ListTargetingExpression (Maybe Text)+lteExpression+  = lens _lteExpression+      (\ s a -> s{_lteExpression = a})++instance FromJSON ListTargetingExpression where+        parseJSON+          = withObject "ListTargetingExpression"+              (\ o ->+                 ListTargetingExpression <$> (o .:? "expression"))++instance ToJSON ListTargetingExpression where+        toJSON ListTargetingExpression{..}+          = object+              (catMaybes [("expression" .=) <$> _lteExpression])
+ gen/Network/Google/DFAReporting/Types/Sum.hs view
@@ -0,0 +1,7376 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DFAReporting.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.DFAReporting.Types.Sum where++import           Network.Google.Prelude++-- | Order of sorted results, default is ASCENDING.+data PlacementsListSortOrder+    = Ascending+      -- ^ @ASCENDING@+    | Descending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsListSortOrder++instance FromText PlacementsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just Ascending+        "DESCENDING" -> Just Descending+        _ -> Nothing++instance ToText PlacementsListSortOrder where+    toText = \case+        Ascending -> "ASCENDING"+        Descending -> "DESCENDING"++instance FromJSON PlacementsListSortOrder where+    parseJSON = parseJSONText "PlacementsListSortOrder"++instance ToJSON PlacementsListSortOrder where+    toJSON = toJSONText++-- | The date range relative to the date of when the report is run.+data DateRangeRelativeDateRange+    = Last24Months+      -- ^ @LAST_24_MONTHS@+    | Last30Days+      -- ^ @LAST_30_DAYS@+    | Last365Days+      -- ^ @LAST_365_DAYS@+    | Last7Days+      -- ^ @LAST_7_DAYS@+    | Last90Days+      -- ^ @LAST_90_DAYS@+    | MonthToDate+      -- ^ @MONTH_TO_DATE@+    | PreviousMonth+      -- ^ @PREVIOUS_MONTH@+    | PreviousQuarter+      -- ^ @PREVIOUS_QUARTER@+    | PreviousWeek+      -- ^ @PREVIOUS_WEEK@+    | PreviousYear+      -- ^ @PREVIOUS_YEAR@+    | QuarterToDate+      -- ^ @QUARTER_TO_DATE@+    | Today+      -- ^ @TODAY@+    | WeekToDate+      -- ^ @WEEK_TO_DATE@+    | YearToDate+      -- ^ @YEAR_TO_DATE@+    | Yesterday+      -- ^ @YESTERDAY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DateRangeRelativeDateRange++instance FromText DateRangeRelativeDateRange where+    fromText = \case+        "LAST_24_MONTHS" -> Just Last24Months+        "LAST_30_DAYS" -> Just Last30Days+        "LAST_365_DAYS" -> Just Last365Days+        "LAST_7_DAYS" -> Just Last7Days+        "LAST_90_DAYS" -> Just Last90Days+        "MONTH_TO_DATE" -> Just MonthToDate+        "PREVIOUS_MONTH" -> Just PreviousMonth+        "PREVIOUS_QUARTER" -> Just PreviousQuarter+        "PREVIOUS_WEEK" -> Just PreviousWeek+        "PREVIOUS_YEAR" -> Just PreviousYear+        "QUARTER_TO_DATE" -> Just QuarterToDate+        "TODAY" -> Just Today+        "WEEK_TO_DATE" -> Just WeekToDate+        "YEAR_TO_DATE" -> Just YearToDate+        "YESTERDAY" -> Just Yesterday+        _ -> Nothing++instance ToText DateRangeRelativeDateRange where+    toText = \case+        Last24Months -> "LAST_24_MONTHS"+        Last30Days -> "LAST_30_DAYS"+        Last365Days -> "LAST_365_DAYS"+        Last7Days -> "LAST_7_DAYS"+        Last90Days -> "LAST_90_DAYS"+        MonthToDate -> "MONTH_TO_DATE"+        PreviousMonth -> "PREVIOUS_MONTH"+        PreviousQuarter -> "PREVIOUS_QUARTER"+        PreviousWeek -> "PREVIOUS_WEEK"+        PreviousYear -> "PREVIOUS_YEAR"+        QuarterToDate -> "QUARTER_TO_DATE"+        Today -> "TODAY"+        WeekToDate -> "WEEK_TO_DATE"+        YearToDate -> "YEAR_TO_DATE"+        Yesterday -> "YESTERDAY"++instance FromJSON DateRangeRelativeDateRange where+    parseJSON = parseJSONText "DateRangeRelativeDateRange"++instance ToJSON DateRangeRelativeDateRange where+    toJSON = toJSONText++-- | Field by which to sort the list.+data AdvertisersListSortField+    = ID+      -- ^ @ID@+    | Name+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersListSortField++instance FromText AdvertisersListSortField where+    fromText = \case+        "ID" -> Just ID+        "NAME" -> Just Name+        _ -> Nothing++instance ToText AdvertisersListSortField where+    toText = \case+        ID -> "ID"+        Name -> "NAME"++instance FromJSON AdvertisersListSortField where+    parseJSON = parseJSONText "AdvertisersListSortField"++instance ToJSON AdvertisersListSortField where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CreativeFieldsListSortOrder+    = CFLSOAscending+      -- ^ @ASCENDING@+    | CFLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeFieldsListSortOrder++instance FromText CreativeFieldsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CFLSOAscending+        "DESCENDING" -> Just CFLSODescending+        _ -> Nothing++instance ToText CreativeFieldsListSortOrder where+    toText = \case+        CFLSOAscending -> "ASCENDING"+        CFLSODescending -> "DESCENDING"++instance FromJSON CreativeFieldsListSortOrder where+    parseJSON = parseJSONText "CreativeFieldsListSortOrder"++instance ToJSON CreativeFieldsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data UserRolesListSortField+    = URLSFID+      -- ^ @ID@+    | URLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UserRolesListSortField++instance FromText UserRolesListSortField where+    fromText = \case+        "ID" -> Just URLSFID+        "NAME" -> Just URLSFName+        _ -> Nothing++instance ToText UserRolesListSortField where+    toText = \case+        URLSFID -> "ID"+        URLSFName -> "NAME"++instance FromJSON UserRolesListSortField where+    parseJSON = parseJSONText "UserRolesListSortField"++instance ToJSON UserRolesListSortField where+    toJSON = toJSONText++-- | Tag format type for the floodlight activity. If left blank, the tag+-- format will default to HTML.+data FloodlightActivityTagFormat+    = HTML+      -- ^ @HTML@+    | Xhtml+      -- ^ @XHTML@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityTagFormat++instance FromText FloodlightActivityTagFormat where+    fromText = \case+        "HTML" -> Just HTML+        "XHTML" -> Just Xhtml+        _ -> Nothing++instance ToText FloodlightActivityTagFormat where+    toText = \case+        HTML -> "HTML"+        Xhtml -> "XHTML"++instance FromJSON FloodlightActivityTagFormat where+    parseJSON = parseJSONText "FloodlightActivityTagFormat"++instance ToJSON FloodlightActivityTagFormat where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data OrderDocumentsListSortOrder+    = ODLSOAscending+      -- ^ @ASCENDING@+    | ODLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrderDocumentsListSortOrder++instance FromText OrderDocumentsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just ODLSOAscending+        "DESCENDING" -> Just ODLSODescending+        _ -> Nothing++instance ToText OrderDocumentsListSortOrder where+    toText = \case+        ODLSOAscending -> "ASCENDING"+        ODLSODescending -> "DESCENDING"++instance FromJSON OrderDocumentsListSortOrder where+    parseJSON = parseJSONText "OrderDocumentsListSortOrder"++instance ToJSON OrderDocumentsListSortOrder where+    toJSON = toJSONText++-- | Role of the asset in relation to creative. Applicable to all but the+-- following creative types: all REDIRECT and TRACKING_TEXT. This is a+-- required field. PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE,+-- HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain+-- multiple primary assets), and all VPAID creatives. BACKUP_IMAGE applies+-- to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all+-- VPAID creatives. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to+-- FLASH_INPAGE creatives. OTHER refers to assets from sources other than+-- DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and+-- all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the user+-- in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.+-- TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO+-- assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.+-- ALTERNATE_VIDEO refers to the DCM representation of child asset videos+-- from Studio, and is applicable to VPAID_LINEAR creatives. These cannot+-- be added or removed within DCM. For VPAID_LINEAR creatives,+-- PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are+-- marked active serve as backup in case the VPAID creative cannot be+-- served. Only PARENT_VIDEO assets can be added or removed for an+-- INSTREAM_VIDEO or VPAID_LINEAR creative.+data CreativeAssetRole+    = AdditionalFlash+      -- ^ @ADDITIONAL_FLASH@+    | AdditionalImage+      -- ^ @ADDITIONAL_IMAGE@+    | AlternateVideo+      -- ^ @ALTERNATE_VIDEO@+    | BackupImage+      -- ^ @BACKUP_IMAGE@+    | Other+      -- ^ @OTHER@+    | ParentVideo+      -- ^ @PARENT_VIDEO@+    | Primary+      -- ^ @PRIMARY@+    | TranscodedVideo+      -- ^ @TRANSCODED_VIDEO@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetRole++instance FromText CreativeAssetRole where+    fromText = \case+        "ADDITIONAL_FLASH" -> Just AdditionalFlash+        "ADDITIONAL_IMAGE" -> Just AdditionalImage+        "ALTERNATE_VIDEO" -> Just AlternateVideo+        "BACKUP_IMAGE" -> Just BackupImage+        "OTHER" -> Just Other+        "PARENT_VIDEO" -> Just ParentVideo+        "PRIMARY" -> Just Primary+        "TRANSCODED_VIDEO" -> Just TranscodedVideo+        _ -> Nothing++instance ToText CreativeAssetRole where+    toText = \case+        AdditionalFlash -> "ADDITIONAL_FLASH"+        AdditionalImage -> "ADDITIONAL_IMAGE"+        AlternateVideo -> "ALTERNATE_VIDEO"+        BackupImage -> "BACKUP_IMAGE"+        Other -> "OTHER"+        ParentVideo -> "PARENT_VIDEO"+        Primary -> "PRIMARY"+        TranscodedVideo -> "TRANSCODED_VIDEO"++instance FromJSON CreativeAssetRole where+    parseJSON = parseJSONText "CreativeAssetRole"++instance ToJSON CreativeAssetRole where+    toJSON = toJSONText++-- | The delivery type for the recipient.+data RecipientDeliveryType+    = Attachment+      -- ^ @ATTACHMENT@+    | Link+      -- ^ @LINK@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RecipientDeliveryType++instance FromText RecipientDeliveryType where+    fromText = \case+        "ATTACHMENT" -> Just Attachment+        "LINK" -> Just Link+        _ -> Nothing++instance ToText RecipientDeliveryType where+    toText = \case+        Attachment -> "ATTACHMENT"+        Link -> "LINK"++instance FromJSON RecipientDeliveryType where+    parseJSON = parseJSONText "RecipientDeliveryType"++instance ToJSON RecipientDeliveryType where+    toJSON = toJSONText++-- | Third-party URL type for in-stream video creatives.+data ThirdPartyTrackingURLThirdPartyURLType+    = ClickTracking+      -- ^ @CLICK_TRACKING@+    | Impression+      -- ^ @IMPRESSION@+    | RichMediaBackupImpression+      -- ^ @RICH_MEDIA_BACKUP_IMPRESSION@+    | RichMediaImpression+      -- ^ @RICH_MEDIA_IMPRESSION@+    | RichMediaRmImpression+      -- ^ @RICH_MEDIA_RM_IMPRESSION@+    | Survey+      -- ^ @SURVEY@+    | VideoComplete+      -- ^ @VIDEO_COMPLETE@+    | VideoCustom+      -- ^ @VIDEO_CUSTOM@+    | VideoFirstQuartile+      -- ^ @VIDEO_FIRST_QUARTILE@+    | VideoFullscreen+      -- ^ @VIDEO_FULLSCREEN@+    | VideoMidpoint+      -- ^ @VIDEO_MIDPOINT@+    | VideoMute+      -- ^ @VIDEO_MUTE@+    | VideoPause+      -- ^ @VIDEO_PAUSE@+    | VideoRewind+      -- ^ @VIDEO_REWIND@+    | VideoStart+      -- ^ @VIDEO_START@+    | VideoStop+      -- ^ @VIDEO_STOP@+    | VideoThirdQuartile+      -- ^ @VIDEO_THIRD_QUARTILE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ThirdPartyTrackingURLThirdPartyURLType++instance FromText ThirdPartyTrackingURLThirdPartyURLType where+    fromText = \case+        "CLICK_TRACKING" -> Just ClickTracking+        "IMPRESSION" -> Just Impression+        "RICH_MEDIA_BACKUP_IMPRESSION" -> Just RichMediaBackupImpression+        "RICH_MEDIA_IMPRESSION" -> Just RichMediaImpression+        "RICH_MEDIA_RM_IMPRESSION" -> Just RichMediaRmImpression+        "SURVEY" -> Just Survey+        "VIDEO_COMPLETE" -> Just VideoComplete+        "VIDEO_CUSTOM" -> Just VideoCustom+        "VIDEO_FIRST_QUARTILE" -> Just VideoFirstQuartile+        "VIDEO_FULLSCREEN" -> Just VideoFullscreen+        "VIDEO_MIDPOINT" -> Just VideoMidpoint+        "VIDEO_MUTE" -> Just VideoMute+        "VIDEO_PAUSE" -> Just VideoPause+        "VIDEO_REWIND" -> Just VideoRewind+        "VIDEO_START" -> Just VideoStart+        "VIDEO_STOP" -> Just VideoStop+        "VIDEO_THIRD_QUARTILE" -> Just VideoThirdQuartile+        _ -> Nothing++instance ToText ThirdPartyTrackingURLThirdPartyURLType where+    toText = \case+        ClickTracking -> "CLICK_TRACKING"+        Impression -> "IMPRESSION"+        RichMediaBackupImpression -> "RICH_MEDIA_BACKUP_IMPRESSION"+        RichMediaImpression -> "RICH_MEDIA_IMPRESSION"+        RichMediaRmImpression -> "RICH_MEDIA_RM_IMPRESSION"+        Survey -> "SURVEY"+        VideoComplete -> "VIDEO_COMPLETE"+        VideoCustom -> "VIDEO_CUSTOM"+        VideoFirstQuartile -> "VIDEO_FIRST_QUARTILE"+        VideoFullscreen -> "VIDEO_FULLSCREEN"+        VideoMidpoint -> "VIDEO_MIDPOINT"+        VideoMute -> "VIDEO_MUTE"+        VideoPause -> "VIDEO_PAUSE"+        VideoRewind -> "VIDEO_REWIND"+        VideoStart -> "VIDEO_START"+        VideoStop -> "VIDEO_STOP"+        VideoThirdQuartile -> "VIDEO_THIRD_QUARTILE"++instance FromJSON ThirdPartyTrackingURLThirdPartyURLType where+    parseJSON = parseJSONText "ThirdPartyTrackingURLThirdPartyURLType"++instance ToJSON ThirdPartyTrackingURLThirdPartyURLType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data TargetableRemarketingListsListSortOrder+    = TRLLSOAscending+      -- ^ @ASCENDING@+    | TRLLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TargetableRemarketingListsListSortOrder++instance FromText TargetableRemarketingListsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just TRLLSOAscending+        "DESCENDING" -> Just TRLLSODescending+        _ -> Nothing++instance ToText TargetableRemarketingListsListSortOrder where+    toText = \case+        TRLLSOAscending -> "ASCENDING"+        TRLLSODescending -> "DESCENDING"++instance FromJSON TargetableRemarketingListsListSortOrder where+    parseJSON = parseJSONText "TargetableRemarketingListsListSortOrder"++instance ToJSON TargetableRemarketingListsListSortOrder where+    toJSON = toJSONText++-- | Offset left unit for an asset. This is a read-only field. Applicable to+-- the following creative types: all RICH_MEDIA.+data CreativeAssetPositionLeftUnit+    = OffSetUnitPercent+      -- ^ @OFFSET_UNIT_PERCENT@+    | OffSetUnitPixel+      -- ^ @OFFSET_UNIT_PIXEL@+    | OffSetUnitPixelFromCenter+      -- ^ @OFFSET_UNIT_PIXEL_FROM_CENTER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetPositionLeftUnit++instance FromText CreativeAssetPositionLeftUnit where+    fromText = \case+        "OFFSET_UNIT_PERCENT" -> Just OffSetUnitPercent+        "OFFSET_UNIT_PIXEL" -> Just OffSetUnitPixel+        "OFFSET_UNIT_PIXEL_FROM_CENTER" -> Just OffSetUnitPixelFromCenter+        _ -> Nothing++instance ToText CreativeAssetPositionLeftUnit where+    toText = \case+        OffSetUnitPercent -> "OFFSET_UNIT_PERCENT"+        OffSetUnitPixel -> "OFFSET_UNIT_PIXEL"+        OffSetUnitPixelFromCenter -> "OFFSET_UNIT_PIXEL_FROM_CENTER"++instance FromJSON CreativeAssetPositionLeftUnit where+    parseJSON = parseJSONText "CreativeAssetPositionLeftUnit"++instance ToJSON CreativeAssetPositionLeftUnit where+    toJSON = toJSONText++-- | Placement cap cost option.+data PricingScheduleCapCostOption+    = CapCostCumulative+      -- ^ @CAP_COST_CUMULATIVE@+    | CapCostMonthly+      -- ^ @CAP_COST_MONTHLY@+    | CapCostNone+      -- ^ @CAP_COST_NONE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PricingScheduleCapCostOption++instance FromText PricingScheduleCapCostOption where+    fromText = \case+        "CAP_COST_CUMULATIVE" -> Just CapCostCumulative+        "CAP_COST_MONTHLY" -> Just CapCostMonthly+        "CAP_COST_NONE" -> Just CapCostNone+        _ -> Nothing++instance ToText PricingScheduleCapCostOption where+    toText = \case+        CapCostCumulative -> "CAP_COST_CUMULATIVE"+        CapCostMonthly -> "CAP_COST_MONTHLY"+        CapCostNone -> "CAP_COST_NONE"++instance FromJSON PricingScheduleCapCostOption where+    parseJSON = parseJSONText "PricingScheduleCapCostOption"++instance ToJSON PricingScheduleCapCostOption where+    toJSON = toJSONText++-- | Levels of availability for a user role permission.+data UserRolePermissionAvailability+    = AccountAlways+      -- ^ @ACCOUNT_ALWAYS@+    | AccountByDefault+      -- ^ @ACCOUNT_BY_DEFAULT@+    | NotAvailableByDefault+      -- ^ @NOT_AVAILABLE_BY_DEFAULT@+    | SubAccountAndAccountAlways+      -- ^ @SUBACCOUNT_AND_ACCOUNT_ALWAYS@+    | SubAccountAndAccountByDefault+      -- ^ @SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UserRolePermissionAvailability++instance FromText UserRolePermissionAvailability where+    fromText = \case+        "ACCOUNT_ALWAYS" -> Just AccountAlways+        "ACCOUNT_BY_DEFAULT" -> Just AccountByDefault+        "NOT_AVAILABLE_BY_DEFAULT" -> Just NotAvailableByDefault+        "SUBACCOUNT_AND_ACCOUNT_ALWAYS" -> Just SubAccountAndAccountAlways+        "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT" -> Just SubAccountAndAccountByDefault+        _ -> Nothing++instance ToText UserRolePermissionAvailability where+    toText = \case+        AccountAlways -> "ACCOUNT_ALWAYS"+        AccountByDefault -> "ACCOUNT_BY_DEFAULT"+        NotAvailableByDefault -> "NOT_AVAILABLE_BY_DEFAULT"+        SubAccountAndAccountAlways -> "SUBACCOUNT_AND_ACCOUNT_ALWAYS"+        SubAccountAndAccountByDefault -> "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"++instance FromJSON UserRolePermissionAvailability where+    parseJSON = parseJSONText "UserRolePermissionAvailability"++instance ToJSON UserRolePermissionAvailability where+    toJSON = toJSONText++-- | Visibility of this directory site contact assignment. When set to PUBLIC+-- this contact assignment is visible to all account and agency users; when+-- set to PRIVATE it is visible only to the site.+data DirectorySiteContactAssignmentVisibility+    = Private+      -- ^ @PRIVATE@+    | Public+      -- ^ @PUBLIC@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteContactAssignmentVisibility++instance FromText DirectorySiteContactAssignmentVisibility where+    fromText = \case+        "PRIVATE" -> Just Private+        "PUBLIC" -> Just Public+        _ -> Nothing++instance ToText DirectorySiteContactAssignmentVisibility where+    toText = \case+        Private -> "PRIVATE"+        Public -> "PUBLIC"++instance FromJSON DirectorySiteContactAssignmentVisibility where+    parseJSON = parseJSONText "DirectorySiteContactAssignmentVisibility"++instance ToJSON DirectorySiteContactAssignmentVisibility where+    toJSON = toJSONText++-- | Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering+-- either on desktop or on mobile devices for regular or interstitial ads,+-- respectively. APP and APP_INTERSTITIAL are for rendering in mobile+-- apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads+-- developed with the VAST standard. This field is required on insertion.+data PlacementCompatibility+    = App+      -- ^ @APP@+    | AppInterstitial+      -- ^ @APP_INTERSTITIAL@+    | InStreamVideo+      -- ^ @IN_STREAM_VIDEO@+    | Web+      -- ^ @WEB@+    | WebInterstitial+      -- ^ @WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementCompatibility++instance FromText PlacementCompatibility where+    fromText = \case+        "APP" -> Just App+        "APP_INTERSTITIAL" -> Just AppInterstitial+        "IN_STREAM_VIDEO" -> Just InStreamVideo+        "WEB" -> Just Web+        "WEB_INTERSTITIAL" -> Just WebInterstitial+        _ -> Nothing++instance ToText PlacementCompatibility where+    toText = \case+        App -> "APP"+        AppInterstitial -> "APP_INTERSTITIAL"+        InStreamVideo -> "IN_STREAM_VIDEO"+        Web -> "WEB"+        WebInterstitial -> "WEB_INTERSTITIAL"++instance FromJSON PlacementCompatibility where+    parseJSON = parseJSONText "PlacementCompatibility"++instance ToJSON PlacementCompatibility where+    toJSON = toJSONText++-- | Comparison operator of this term. This field is only relevant when type+-- is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.+data ListPopulationTermOperator+    = NumEquals+      -- ^ @NUM_EQUALS@+    | NumGreaterThan+      -- ^ @NUM_GREATER_THAN@+    | NumGreaterThanEqual+      -- ^ @NUM_GREATER_THAN_EQUAL@+    | NumLessThan+      -- ^ @NUM_LESS_THAN@+    | NumLessThanEqual+      -- ^ @NUM_LESS_THAN_EQUAL@+    | StringContains+      -- ^ @STRING_CONTAINS@+    | StringEquals+      -- ^ @STRING_EQUALS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ListPopulationTermOperator++instance FromText ListPopulationTermOperator where+    fromText = \case+        "NUM_EQUALS" -> Just NumEquals+        "NUM_GREATER_THAN" -> Just NumGreaterThan+        "NUM_GREATER_THAN_EQUAL" -> Just NumGreaterThanEqual+        "NUM_LESS_THAN" -> Just NumLessThan+        "NUM_LESS_THAN_EQUAL" -> Just NumLessThanEqual+        "STRING_CONTAINS" -> Just StringContains+        "STRING_EQUALS" -> Just StringEquals+        _ -> Nothing++instance ToText ListPopulationTermOperator where+    toText = \case+        NumEquals -> "NUM_EQUALS"+        NumGreaterThan -> "NUM_GREATER_THAN"+        NumGreaterThanEqual -> "NUM_GREATER_THAN_EQUAL"+        NumLessThan -> "NUM_LESS_THAN"+        NumLessThanEqual -> "NUM_LESS_THAN_EQUAL"+        StringContains -> "STRING_CONTAINS"+        StringEquals -> "STRING_EQUALS"++instance FromJSON ListPopulationTermOperator where+    parseJSON = parseJSONText "ListPopulationTermOperator"++instance ToJSON ListPopulationTermOperator where+    toJSON = toJSONText++-- | Select only placements with this payment source.+data PlacementsListPaymentSource+    = PlacementAgencyPaid+      -- ^ @PLACEMENT_AGENCY_PAID@+    | PlacementPublisherPaid+      -- ^ @PLACEMENT_PUBLISHER_PAID@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsListPaymentSource++instance FromText PlacementsListPaymentSource where+    fromText = \case+        "PLACEMENT_AGENCY_PAID" -> Just PlacementAgencyPaid+        "PLACEMENT_PUBLISHER_PAID" -> Just PlacementPublisherPaid+        _ -> Nothing++instance ToText PlacementsListPaymentSource where+    toText = \case+        PlacementAgencyPaid -> "PLACEMENT_AGENCY_PAID"+        PlacementPublisherPaid -> "PLACEMENT_PUBLISHER_PAID"++instance FromJSON PlacementsListPaymentSource where+    parseJSON = parseJSONText "PlacementsListPaymentSource"++instance ToJSON PlacementsListPaymentSource where+    toJSON = toJSONText++-- | The field by which to sort the list.+data ReportsListSortField+    = RLSFID+      -- ^ @ID@+      -- Sort by report ID.+    | RLSFLastModifiedTime+      -- ^ @LAST_MODIFIED_TIME@+      -- Sort by \'lastModifiedTime\' field.+    | RLSFName+      -- ^ @NAME@+      -- Sort by name of reports.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsListSortField++instance FromText ReportsListSortField where+    fromText = \case+        "ID" -> Just RLSFID+        "LAST_MODIFIED_TIME" -> Just RLSFLastModifiedTime+        "NAME" -> Just RLSFName+        _ -> Nothing++instance ToText ReportsListSortField where+    toText = \case+        RLSFID -> "ID"+        RLSFLastModifiedTime -> "LAST_MODIFIED_TIME"+        RLSFName -> "NAME"++instance FromJSON ReportsListSortField where+    parseJSON = parseJSONText "ReportsListSortField"++instance ToJSON ReportsListSortField where+    toJSON = toJSONText++-- | Ad slot compatibility. WEB and WEB_INTERSTITIAL refer to rendering+-- either on desktop or on mobile devices for regular or interstitial ads+-- respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.+-- IN_STREAM_VIDEO refers to rendering in in-stream video ads developed+-- with the VAST standard.+data AdSlotCompatibility+    = PlanningRenderingEnvironmentTypeApp+      -- ^ @PLANNING_RENDERING_ENVIRONMENT_TYPE_APP@+    | PlanningRenderingEnvironmentTypeAppInterstitial+      -- ^ @PLANNING_RENDERING_ENVIRONMENT_TYPE_APP_INTERSTITIAL@+    | PlanningRenderingEnvironmentTypeInStreamVideo+      -- ^ @PLANNING_RENDERING_ENVIRONMENT_TYPE_IN_STREAM_VIDEO@+    | PlanningRenderingEnvironmentTypeWeb+      -- ^ @PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB@+    | PlanningRenderingEnvironmentTypeWebInterstitial+      -- ^ @PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdSlotCompatibility++instance FromText AdSlotCompatibility where+    fromText = \case+        "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP" -> Just PlanningRenderingEnvironmentTypeApp+        "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP_INTERSTITIAL" -> Just PlanningRenderingEnvironmentTypeAppInterstitial+        "PLANNING_RENDERING_ENVIRONMENT_TYPE_IN_STREAM_VIDEO" -> Just PlanningRenderingEnvironmentTypeInStreamVideo+        "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB" -> Just PlanningRenderingEnvironmentTypeWeb+        "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB_INTERSTITIAL" -> Just PlanningRenderingEnvironmentTypeWebInterstitial+        _ -> Nothing++instance ToText AdSlotCompatibility where+    toText = \case+        PlanningRenderingEnvironmentTypeApp -> "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP"+        PlanningRenderingEnvironmentTypeAppInterstitial -> "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP_INTERSTITIAL"+        PlanningRenderingEnvironmentTypeInStreamVideo -> "PLANNING_RENDERING_ENVIRONMENT_TYPE_IN_STREAM_VIDEO"+        PlanningRenderingEnvironmentTypeWeb -> "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB"+        PlanningRenderingEnvironmentTypeWebInterstitial -> "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB_INTERSTITIAL"++instance FromJSON AdSlotCompatibility where+    parseJSON = parseJSONText "AdSlotCompatibility"++instance ToJSON AdSlotCompatibility where+    toJSON = toJSONText++-- | Field by which to sort the list.+data CampaignsListSortField+    = CLSFID+      -- ^ @ID@+    | CLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CampaignsListSortField++instance FromText CampaignsListSortField where+    fromText = \case+        "ID" -> Just CLSFID+        "NAME" -> Just CLSFName+        _ -> Nothing++instance ToText CampaignsListSortField where+    toText = \case+        CLSFID -> "ID"+        CLSFName -> "NAME"++instance FromJSON CampaignsListSortField where+    parseJSON = parseJSONText "CampaignsListSortField"++instance ToJSON CampaignsListSortField where+    toJSON = toJSONText++-- | Trafficker type of this user profile.+data AccountUserProFileTraffickerType+    = ExternalTrafficker+      -- ^ @EXTERNAL_TRAFFICKER@+    | InternalNonTrafficker+      -- ^ @INTERNAL_NON_TRAFFICKER@+    | InternalTrafficker+      -- ^ @INTERNAL_TRAFFICKER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountUserProFileTraffickerType++instance FromText AccountUserProFileTraffickerType where+    fromText = \case+        "EXTERNAL_TRAFFICKER" -> Just ExternalTrafficker+        "INTERNAL_NON_TRAFFICKER" -> Just InternalNonTrafficker+        "INTERNAL_TRAFFICKER" -> Just InternalTrafficker+        _ -> Nothing++instance ToText AccountUserProFileTraffickerType where+    toText = \case+        ExternalTrafficker -> "EXTERNAL_TRAFFICKER"+        InternalNonTrafficker -> "INTERNAL_NON_TRAFFICKER"+        InternalTrafficker -> "INTERNAL_TRAFFICKER"++instance FromJSON AccountUserProFileTraffickerType where+    parseJSON = parseJSONText "AccountUserProFileTraffickerType"++instance ToJSON AccountUserProFileTraffickerType where+    toJSON = toJSONText++data CreativeAssetMetadataDetectedFeaturesItem+    = ApplicationCache+      -- ^ @APPLICATION_CACHE@+    | Audio+      -- ^ @AUDIO@+    | Canvas+      -- ^ @CANVAS@+    | CanvasText+      -- ^ @CANVAS_TEXT@+    | CssAnimations+      -- ^ @CSS_ANIMATIONS@+    | CssBackgRoundSize+      -- ^ @CSS_BACKGROUND_SIZE@+    | CssBOrderImage+      -- ^ @CSS_BORDER_IMAGE@+    | CssBOrderRadius+      -- ^ @CSS_BORDER_RADIUS@+    | CssBoxShadow+      -- ^ @CSS_BOX_SHADOW@+    | CssColumns+      -- ^ @CSS_COLUMNS@+    | CssFlexBox+      -- ^ @CSS_FLEX_BOX@+    | CssFontFace+      -- ^ @CSS_FONT_FACE@+    | CssGeneratedContent+      -- ^ @CSS_GENERATED_CONTENT@+    | CssGradients+      -- ^ @CSS_GRADIENTS@+    | CssHsla+      -- ^ @CSS_HSLA@+    | CssMultipleBgs+      -- ^ @CSS_MULTIPLE_BGS@+    | CssOpacity+      -- ^ @CSS_OPACITY@+    | CssReflections+      -- ^ @CSS_REFLECTIONS@+    | CssRgba+      -- ^ @CSS_RGBA@+    | CssTextShadow+      -- ^ @CSS_TEXT_SHADOW@+    | CssTransforms+      -- ^ @CSS_TRANSFORMS@+    | CssTRANSFORMS3D+      -- ^ @CSS_TRANSFORMS3D@+    | CssTransitions+      -- ^ @CSS_TRANSITIONS@+    | DragAndDrop+      -- ^ @DRAG_AND_DROP@+    | GeoLocation+      -- ^ @GEO_LOCATION@+    | HashChange+      -- ^ @HASH_CHANGE@+    | History+      -- ^ @HISTORY@+    | IndexedDB+      -- ^ @INDEXED_DB@+    | InlineSvg+      -- ^ @INLINE_SVG@+    | InputAttrAutocomplete+      -- ^ @INPUT_ATTR_AUTOCOMPLETE@+    | InputAttrAutofocus+      -- ^ @INPUT_ATTR_AUTOFOCUS@+    | InputAttrList+      -- ^ @INPUT_ATTR_LIST@+    | InputAttrMax+      -- ^ @INPUT_ATTR_MAX@+    | InputAttrMin+      -- ^ @INPUT_ATTR_MIN@+    | InputAttrMultiple+      -- ^ @INPUT_ATTR_MULTIPLE@+    | InputAttrPattern+      -- ^ @INPUT_ATTR_PATTERN@+    | InputAttrPlaceholder+      -- ^ @INPUT_ATTR_PLACEHOLDER@+    | InputAttrRequired+      -- ^ @INPUT_ATTR_REQUIRED@+    | InputAttrStep+      -- ^ @INPUT_ATTR_STEP@+    | InputTypeColor+      -- ^ @INPUT_TYPE_COLOR@+    | InputTypeDate+      -- ^ @INPUT_TYPE_DATE@+    | InputTypeDatetime+      -- ^ @INPUT_TYPE_DATETIME@+    | InputTypeDatetimeLocal+      -- ^ @INPUT_TYPE_DATETIME_LOCAL@+    | InputTypeEmail+      -- ^ @INPUT_TYPE_EMAIL@+    | InputTypeMonth+      -- ^ @INPUT_TYPE_MONTH@+    | InputTypeNumber+      -- ^ @INPUT_TYPE_NUMBER@+    | InputTypeRange+      -- ^ @INPUT_TYPE_RANGE@+    | InputTypeSearch+      -- ^ @INPUT_TYPE_SEARCH@+    | InputTypeTel+      -- ^ @INPUT_TYPE_TEL@+    | InputTypeTime+      -- ^ @INPUT_TYPE_TIME@+    | InputTypeURL+      -- ^ @INPUT_TYPE_URL@+    | InputTypeWeek+      -- ^ @INPUT_TYPE_WEEK@+    | LocalStorage+      -- ^ @LOCAL_STORAGE@+    | PostMessage+      -- ^ @POST_MESSAGE@+    | SessionStorage+      -- ^ @SESSION_STORAGE@+    | Smil+      -- ^ @SMIL@+    | SvgClipPaths+      -- ^ @SVG_CLIP_PATHS@+    | SvgFeImage+      -- ^ @SVG_FE_IMAGE@+    | SvgFilters+      -- ^ @SVG_FILTERS@+    | SvgHref+      -- ^ @SVG_HREF@+    | Touch+      -- ^ @TOUCH@+    | Video+      -- ^ @VIDEO@+    | Webgl+      -- ^ @WEBGL@+    | WebSockets+      -- ^ @WEB_SOCKETS@+    | WebSQLDatabase+      -- ^ @WEB_SQL_DATABASE@+    | WebWorkers+      -- ^ @WEB_WORKERS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetMetadataDetectedFeaturesItem++instance FromText CreativeAssetMetadataDetectedFeaturesItem where+    fromText = \case+        "APPLICATION_CACHE" -> Just ApplicationCache+        "AUDIO" -> Just Audio+        "CANVAS" -> Just Canvas+        "CANVAS_TEXT" -> Just CanvasText+        "CSS_ANIMATIONS" -> Just CssAnimations+        "CSS_BACKGROUND_SIZE" -> Just CssBackgRoundSize+        "CSS_BORDER_IMAGE" -> Just CssBOrderImage+        "CSS_BORDER_RADIUS" -> Just CssBOrderRadius+        "CSS_BOX_SHADOW" -> Just CssBoxShadow+        "CSS_COLUMNS" -> Just CssColumns+        "CSS_FLEX_BOX" -> Just CssFlexBox+        "CSS_FONT_FACE" -> Just CssFontFace+        "CSS_GENERATED_CONTENT" -> Just CssGeneratedContent+        "CSS_GRADIENTS" -> Just CssGradients+        "CSS_HSLA" -> Just CssHsla+        "CSS_MULTIPLE_BGS" -> Just CssMultipleBgs+        "CSS_OPACITY" -> Just CssOpacity+        "CSS_REFLECTIONS" -> Just CssReflections+        "CSS_RGBA" -> Just CssRgba+        "CSS_TEXT_SHADOW" -> Just CssTextShadow+        "CSS_TRANSFORMS" -> Just CssTransforms+        "CSS_TRANSFORMS3D" -> Just CssTRANSFORMS3D+        "CSS_TRANSITIONS" -> Just CssTransitions+        "DRAG_AND_DROP" -> Just DragAndDrop+        "GEO_LOCATION" -> Just GeoLocation+        "HASH_CHANGE" -> Just HashChange+        "HISTORY" -> Just History+        "INDEXED_DB" -> Just IndexedDB+        "INLINE_SVG" -> Just InlineSvg+        "INPUT_ATTR_AUTOCOMPLETE" -> Just InputAttrAutocomplete+        "INPUT_ATTR_AUTOFOCUS" -> Just InputAttrAutofocus+        "INPUT_ATTR_LIST" -> Just InputAttrList+        "INPUT_ATTR_MAX" -> Just InputAttrMax+        "INPUT_ATTR_MIN" -> Just InputAttrMin+        "INPUT_ATTR_MULTIPLE" -> Just InputAttrMultiple+        "INPUT_ATTR_PATTERN" -> Just InputAttrPattern+        "INPUT_ATTR_PLACEHOLDER" -> Just InputAttrPlaceholder+        "INPUT_ATTR_REQUIRED" -> Just InputAttrRequired+        "INPUT_ATTR_STEP" -> Just InputAttrStep+        "INPUT_TYPE_COLOR" -> Just InputTypeColor+        "INPUT_TYPE_DATE" -> Just InputTypeDate+        "INPUT_TYPE_DATETIME" -> Just InputTypeDatetime+        "INPUT_TYPE_DATETIME_LOCAL" -> Just InputTypeDatetimeLocal+        "INPUT_TYPE_EMAIL" -> Just InputTypeEmail+        "INPUT_TYPE_MONTH" -> Just InputTypeMonth+        "INPUT_TYPE_NUMBER" -> Just InputTypeNumber+        "INPUT_TYPE_RANGE" -> Just InputTypeRange+        "INPUT_TYPE_SEARCH" -> Just InputTypeSearch+        "INPUT_TYPE_TEL" -> Just InputTypeTel+        "INPUT_TYPE_TIME" -> Just InputTypeTime+        "INPUT_TYPE_URL" -> Just InputTypeURL+        "INPUT_TYPE_WEEK" -> Just InputTypeWeek+        "LOCAL_STORAGE" -> Just LocalStorage+        "POST_MESSAGE" -> Just PostMessage+        "SESSION_STORAGE" -> Just SessionStorage+        "SMIL" -> Just Smil+        "SVG_CLIP_PATHS" -> Just SvgClipPaths+        "SVG_FE_IMAGE" -> Just SvgFeImage+        "SVG_FILTERS" -> Just SvgFilters+        "SVG_HREF" -> Just SvgHref+        "TOUCH" -> Just Touch+        "VIDEO" -> Just Video+        "WEBGL" -> Just Webgl+        "WEB_SOCKETS" -> Just WebSockets+        "WEB_SQL_DATABASE" -> Just WebSQLDatabase+        "WEB_WORKERS" -> Just WebWorkers+        _ -> Nothing++instance ToText CreativeAssetMetadataDetectedFeaturesItem where+    toText = \case+        ApplicationCache -> "APPLICATION_CACHE"+        Audio -> "AUDIO"+        Canvas -> "CANVAS"+        CanvasText -> "CANVAS_TEXT"+        CssAnimations -> "CSS_ANIMATIONS"+        CssBackgRoundSize -> "CSS_BACKGROUND_SIZE"+        CssBOrderImage -> "CSS_BORDER_IMAGE"+        CssBOrderRadius -> "CSS_BORDER_RADIUS"+        CssBoxShadow -> "CSS_BOX_SHADOW"+        CssColumns -> "CSS_COLUMNS"+        CssFlexBox -> "CSS_FLEX_BOX"+        CssFontFace -> "CSS_FONT_FACE"+        CssGeneratedContent -> "CSS_GENERATED_CONTENT"+        CssGradients -> "CSS_GRADIENTS"+        CssHsla -> "CSS_HSLA"+        CssMultipleBgs -> "CSS_MULTIPLE_BGS"+        CssOpacity -> "CSS_OPACITY"+        CssReflections -> "CSS_REFLECTIONS"+        CssRgba -> "CSS_RGBA"+        CssTextShadow -> "CSS_TEXT_SHADOW"+        CssTransforms -> "CSS_TRANSFORMS"+        CssTRANSFORMS3D -> "CSS_TRANSFORMS3D"+        CssTransitions -> "CSS_TRANSITIONS"+        DragAndDrop -> "DRAG_AND_DROP"+        GeoLocation -> "GEO_LOCATION"+        HashChange -> "HASH_CHANGE"+        History -> "HISTORY"+        IndexedDB -> "INDEXED_DB"+        InlineSvg -> "INLINE_SVG"+        InputAttrAutocomplete -> "INPUT_ATTR_AUTOCOMPLETE"+        InputAttrAutofocus -> "INPUT_ATTR_AUTOFOCUS"+        InputAttrList -> "INPUT_ATTR_LIST"+        InputAttrMax -> "INPUT_ATTR_MAX"+        InputAttrMin -> "INPUT_ATTR_MIN"+        InputAttrMultiple -> "INPUT_ATTR_MULTIPLE"+        InputAttrPattern -> "INPUT_ATTR_PATTERN"+        InputAttrPlaceholder -> "INPUT_ATTR_PLACEHOLDER"+        InputAttrRequired -> "INPUT_ATTR_REQUIRED"+        InputAttrStep -> "INPUT_ATTR_STEP"+        InputTypeColor -> "INPUT_TYPE_COLOR"+        InputTypeDate -> "INPUT_TYPE_DATE"+        InputTypeDatetime -> "INPUT_TYPE_DATETIME"+        InputTypeDatetimeLocal -> "INPUT_TYPE_DATETIME_LOCAL"+        InputTypeEmail -> "INPUT_TYPE_EMAIL"+        InputTypeMonth -> "INPUT_TYPE_MONTH"+        InputTypeNumber -> "INPUT_TYPE_NUMBER"+        InputTypeRange -> "INPUT_TYPE_RANGE"+        InputTypeSearch -> "INPUT_TYPE_SEARCH"+        InputTypeTel -> "INPUT_TYPE_TEL"+        InputTypeTime -> "INPUT_TYPE_TIME"+        InputTypeURL -> "INPUT_TYPE_URL"+        InputTypeWeek -> "INPUT_TYPE_WEEK"+        LocalStorage -> "LOCAL_STORAGE"+        PostMessage -> "POST_MESSAGE"+        SessionStorage -> "SESSION_STORAGE"+        Smil -> "SMIL"+        SvgClipPaths -> "SVG_CLIP_PATHS"+        SvgFeImage -> "SVG_FE_IMAGE"+        SvgFilters -> "SVG_FILTERS"+        SvgHref -> "SVG_HREF"+        Touch -> "TOUCH"+        Video -> "VIDEO"+        Webgl -> "WEBGL"+        WebSockets -> "WEB_SOCKETS"+        WebSQLDatabase -> "WEB_SQL_DATABASE"+        WebWorkers -> "WEB_WORKERS"++instance FromJSON CreativeAssetMetadataDetectedFeaturesItem where+    parseJSON = parseJSONText "CreativeAssetMetadataDetectedFeaturesItem"++instance ToJSON CreativeAssetMetadataDetectedFeaturesItem where+    toJSON = toJSONText++-- | Select default ads with the specified compatibility. Applicable when+-- type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to+-- rendering either on desktop or on mobile devices for regular or+-- interstitial ads, respectively. APP and APP_INTERSTITIAL are for+-- rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an+-- in-stream video ads developed with the VAST standard.+data AdsListCompatibility+    = ALCApp+      -- ^ @APP@+    | ALCAppInterstitial+      -- ^ @APP_INTERSTITIAL@+    | ALCInStreamVideo+      -- ^ @IN_STREAM_VIDEO@+    | ALCWeb+      -- ^ @WEB@+    | ALCWebInterstitial+      -- ^ @WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdsListCompatibility++instance FromText AdsListCompatibility where+    fromText = \case+        "APP" -> Just ALCApp+        "APP_INTERSTITIAL" -> Just ALCAppInterstitial+        "IN_STREAM_VIDEO" -> Just ALCInStreamVideo+        "WEB" -> Just ALCWeb+        "WEB_INTERSTITIAL" -> Just ALCWebInterstitial+        _ -> Nothing++instance ToText AdsListCompatibility where+    toText = \case+        ALCApp -> "APP"+        ALCAppInterstitial -> "APP_INTERSTITIAL"+        ALCInStreamVideo -> "IN_STREAM_VIDEO"+        ALCWeb -> "WEB"+        ALCWebInterstitial -> "WEB_INTERSTITIAL"++instance FromJSON AdsListCompatibility where+    parseJSON = parseJSONText "AdsListCompatibility"++instance ToJSON AdsListCompatibility where+    toJSON = toJSONText++-- | Status of this event tag. Must be ENABLED for this event tag to fire.+-- This is a required field.+data EventTagStatus+    = Disabled+      -- ^ @DISABLED@+    | Enabled+      -- ^ @ENABLED@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagStatus++instance FromText EventTagStatus where+    fromText = \case+        "DISABLED" -> Just Disabled+        "ENABLED" -> Just Enabled+        _ -> Nothing++instance ToText EventTagStatus where+    toText = \case+        Disabled -> "DISABLED"+        Enabled -> "ENABLED"++instance FromJSON EventTagStatus where+    parseJSON = parseJSONText "EventTagStatus"++instance ToJSON EventTagStatus where+    toJSON = toJSONText++-- | Field by which to sort the list.+data SitesListSortField+    = SLSFID+      -- ^ @ID@+    | SLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SitesListSortField++instance FromText SitesListSortField where+    fromText = \case+        "ID" -> Just SLSFID+        "NAME" -> Just SLSFName+        _ -> Nothing++instance ToText SitesListSortField where+    toText = \case+        SLSFID -> "ID"+        SLSFName -> "NAME"++instance FromJSON SitesListSortField where+    parseJSON = parseJSONText "SitesListSortField"++instance ToJSON SitesListSortField where+    toJSON = toJSONText++-- | Select only event tags with the specified event tag types. Event tag+-- types can be used to specify whether to use a third-party pixel, a+-- third-party JavaScript URL, or a third-party click-through URL for+-- either impression or click tracking.+data EventTagsListEventTagTypes+    = ClickThroughEventTag+      -- ^ @CLICK_THROUGH_EVENT_TAG@+    | ImpressionImageEventTag+      -- ^ @IMPRESSION_IMAGE_EVENT_TAG@+    | ImpressionJavascriptEventTag+      -- ^ @IMPRESSION_JAVASCRIPT_EVENT_TAG@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagsListEventTagTypes++instance FromText EventTagsListEventTagTypes where+    fromText = \case+        "CLICK_THROUGH_EVENT_TAG" -> Just ClickThroughEventTag+        "IMPRESSION_IMAGE_EVENT_TAG" -> Just ImpressionImageEventTag+        "IMPRESSION_JAVASCRIPT_EVENT_TAG" -> Just ImpressionJavascriptEventTag+        _ -> Nothing++instance ToText EventTagsListEventTagTypes where+    toText = \case+        ClickThroughEventTag -> "CLICK_THROUGH_EVENT_TAG"+        ImpressionImageEventTag -> "IMPRESSION_IMAGE_EVENT_TAG"+        ImpressionJavascriptEventTag -> "IMPRESSION_JAVASCRIPT_EVENT_TAG"++instance FromJSON EventTagsListEventTagTypes where+    parseJSON = parseJSONText "EventTagsListEventTagTypes"++instance ToJSON EventTagsListEventTagTypes where+    toJSON = toJSONText++-- | The status of the report file.+data FileStatus+    = Cancelled+      -- ^ @CANCELLED@+    | Failed+      -- ^ @FAILED@+    | Processing+      -- ^ @PROCESSING@+    | ReportAvailable+      -- ^ @REPORT_AVAILABLE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FileStatus++instance FromText FileStatus where+    fromText = \case+        "CANCELLED" -> Just Cancelled+        "FAILED" -> Just Failed+        "PROCESSING" -> Just Processing+        "REPORT_AVAILABLE" -> Just ReportAvailable+        _ -> Nothing++instance ToText FileStatus where+    toText = \case+        Cancelled -> "CANCELLED"+        Failed -> "FAILED"+        Processing -> "PROCESSING"+        ReportAvailable -> "REPORT_AVAILABLE"++instance FromJSON FileStatus where+    parseJSON = parseJSONText "FileStatus"++instance ToJSON FileStatus where+    toJSON = toJSONText++-- | Artwork type used by the creative.This is a read-only field.+data CreativeCustomEventArtworkType+    = ArtworkTypeFlash+      -- ^ @ARTWORK_TYPE_FLASH@+    | ArtworkTypeHTML5+      -- ^ @ARTWORK_TYPE_HTML5@+    | ArtworkTypeMixed+      -- ^ @ARTWORK_TYPE_MIXED@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeCustomEventArtworkType++instance FromText CreativeCustomEventArtworkType where+    fromText = \case+        "ARTWORK_TYPE_FLASH" -> Just ArtworkTypeFlash+        "ARTWORK_TYPE_HTML5" -> Just ArtworkTypeHTML5+        "ARTWORK_TYPE_MIXED" -> Just ArtworkTypeMixed+        _ -> Nothing++instance ToText CreativeCustomEventArtworkType where+    toText = \case+        ArtworkTypeFlash -> "ARTWORK_TYPE_FLASH"+        ArtworkTypeHTML5 -> "ARTWORK_TYPE_HTML5"+        ArtworkTypeMixed -> "ARTWORK_TYPE_MIXED"++instance FromJSON CreativeCustomEventArtworkType where+    parseJSON = parseJSONText "CreativeCustomEventArtworkType"++instance ToJSON CreativeCustomEventArtworkType where+    toJSON = toJSONText++-- | Types of attribution options for natural search conversions.+data FloodlightConfigurationNATuralSearchConversionAttributionOption+    = ExcludeNATuralSearchConversionAttribution+      -- ^ @EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION@+    | IncludeNATuralSearchConversionAttribution+      -- ^ @INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION@+    | IncludeNATuralSearchTieredConversionAttribution+      -- ^ @INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightConfigurationNATuralSearchConversionAttributionOption++instance FromText FloodlightConfigurationNATuralSearchConversionAttributionOption where+    fromText = \case+        "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION" -> Just ExcludeNATuralSearchConversionAttribution+        "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION" -> Just IncludeNATuralSearchConversionAttribution+        "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION" -> Just IncludeNATuralSearchTieredConversionAttribution+        _ -> Nothing++instance ToText FloodlightConfigurationNATuralSearchConversionAttributionOption where+    toText = \case+        ExcludeNATuralSearchConversionAttribution -> "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"+        IncludeNATuralSearchConversionAttribution -> "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"+        IncludeNATuralSearchTieredConversionAttribution -> "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"++instance FromJSON FloodlightConfigurationNATuralSearchConversionAttributionOption where+    parseJSON = parseJSONText "FloodlightConfigurationNATuralSearchConversionAttributionOption"++instance ToJSON FloodlightConfigurationNATuralSearchConversionAttributionOption where+    toJSON = toJSONText++-- | Artwork type of rich media creative. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA.+data CreativeAssetArtworkType+    = CAATArtworkTypeFlash+      -- ^ @ARTWORK_TYPE_FLASH@+    | CAATArtworkTypeHTML5+      -- ^ @ARTWORK_TYPE_HTML5@+    | CAATArtworkTypeMixed+      -- ^ @ARTWORK_TYPE_MIXED@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetArtworkType++instance FromText CreativeAssetArtworkType where+    fromText = \case+        "ARTWORK_TYPE_FLASH" -> Just CAATArtworkTypeFlash+        "ARTWORK_TYPE_HTML5" -> Just CAATArtworkTypeHTML5+        "ARTWORK_TYPE_MIXED" -> Just CAATArtworkTypeMixed+        _ -> Nothing++instance ToText CreativeAssetArtworkType where+    toText = \case+        CAATArtworkTypeFlash -> "ARTWORK_TYPE_FLASH"+        CAATArtworkTypeHTML5 -> "ARTWORK_TYPE_HTML5"+        CAATArtworkTypeMixed -> "ARTWORK_TYPE_MIXED"++instance FromJSON CreativeAssetArtworkType where+    parseJSON = parseJSONText "CreativeAssetArtworkType"++instance ToJSON CreativeAssetArtworkType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data FloodlightActivitiesListSortOrder+    = FALSOAscending+      -- ^ @ASCENDING@+    | FALSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivitiesListSortOrder++instance FromText FloodlightActivitiesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just FALSOAscending+        "DESCENDING" -> Just FALSODescending+        _ -> Nothing++instance ToText FloodlightActivitiesListSortOrder where+    toText = \case+        FALSOAscending -> "ASCENDING"+        FALSODescending -> "DESCENDING"++instance FromJSON FloodlightActivitiesListSortOrder where+    parseJSON = parseJSONText "FloodlightActivitiesListSortOrder"++instance ToJSON FloodlightActivitiesListSortOrder where+    toJSON = toJSONText++-- | The output format of the report. Only available once the file is+-- available.+data FileFormat+    = CSV+      -- ^ @CSV@+    | Excel+      -- ^ @EXCEL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FileFormat++instance FromText FileFormat where+    fromText = \case+        "CSV" -> Just CSV+        "EXCEL" -> Just Excel+        _ -> Nothing++instance ToText FileFormat where+    toText = \case+        CSV -> "CSV"+        Excel -> "EXCEL"++instance FromJSON FileFormat where+    parseJSON = parseJSONText "FileFormat"++instance ToJSON FileFormat where+    toJSON = toJSONText++-- | Placement pricing type. This field is required on insertion.+data PricingSchedulePricingType+    = PricingTypeCpa+      -- ^ @PRICING_TYPE_CPA@+    | PricingTypeCpc+      -- ^ @PRICING_TYPE_CPC@+    | PricingTypeCpm+      -- ^ @PRICING_TYPE_CPM@+    | PricingTypeFlatRateClicks+      -- ^ @PRICING_TYPE_FLAT_RATE_CLICKS@+    | PricingTypeFlatRateImpressions+      -- ^ @PRICING_TYPE_FLAT_RATE_IMPRESSIONS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PricingSchedulePricingType++instance FromText PricingSchedulePricingType where+    fromText = \case+        "PRICING_TYPE_CPA" -> Just PricingTypeCpa+        "PRICING_TYPE_CPC" -> Just PricingTypeCpc+        "PRICING_TYPE_CPM" -> Just PricingTypeCpm+        "PRICING_TYPE_FLAT_RATE_CLICKS" -> Just PricingTypeFlatRateClicks+        "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" -> Just PricingTypeFlatRateImpressions+        _ -> Nothing++instance ToText PricingSchedulePricingType where+    toText = \case+        PricingTypeCpa -> "PRICING_TYPE_CPA"+        PricingTypeCpc -> "PRICING_TYPE_CPC"+        PricingTypeCpm -> "PRICING_TYPE_CPM"+        PricingTypeFlatRateClicks -> "PRICING_TYPE_FLAT_RATE_CLICKS"+        PricingTypeFlatRateImpressions -> "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"++instance FromJSON PricingSchedulePricingType where+    parseJSON = parseJSONText "PricingSchedulePricingType"++instance ToJSON PricingSchedulePricingType where+    toJSON = toJSONText++-- | Target type used by the event.+data CreativeCustomEventTargetType+    = TargetBlank+      -- ^ @TARGET_BLANK@+    | TargetParent+      -- ^ @TARGET_PARENT@+    | TargetPopup+      -- ^ @TARGET_POPUP@+    | TargetSelf+      -- ^ @TARGET_SELF@+    | TargetTop+      -- ^ @TARGET_TOP@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeCustomEventTargetType++instance FromText CreativeCustomEventTargetType where+    fromText = \case+        "TARGET_BLANK" -> Just TargetBlank+        "TARGET_PARENT" -> Just TargetParent+        "TARGET_POPUP" -> Just TargetPopup+        "TARGET_SELF" -> Just TargetSelf+        "TARGET_TOP" -> Just TargetTop+        _ -> Nothing++instance ToText CreativeCustomEventTargetType where+    toText = \case+        TargetBlank -> "TARGET_BLANK"+        TargetParent -> "TARGET_PARENT"+        TargetPopup -> "TARGET_POPUP"+        TargetSelf -> "TARGET_SELF"+        TargetTop -> "TARGET_TOP"++instance FromJSON CreativeCustomEventTargetType where+    parseJSON = parseJSONText "CreativeCustomEventTargetType"++instance ToJSON CreativeCustomEventTargetType where+    toJSON = toJSONText++-- | The scope that defines which results are returned, default is \'MINE\'.+data ReportsListScope+    = All+      -- ^ @ALL@+      -- All reports in account.+    | Mine+      -- ^ @MINE@+      -- My reports.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsListScope++instance FromText ReportsListScope where+    fromText = \case+        "ALL" -> Just All+        "MINE" -> Just Mine+        _ -> Nothing++instance ToText ReportsListScope where+    toText = \case+        All -> "ALL"+        Mine -> "MINE"++instance FromJSON ReportsListScope where+    parseJSON = parseJSONText "ReportsListScope"++instance ToJSON ReportsListScope where+    toJSON = toJSONText++-- | Duration type for which an asset will be displayed. Applicable to the+-- following creative types: all RICH_MEDIA.+data CreativeAssetDurationType+    = AssetDurationTypeAuto+      -- ^ @ASSET_DURATION_TYPE_AUTO@+    | AssetDurationTypeCustom+      -- ^ @ASSET_DURATION_TYPE_CUSTOM@+    | AssetDurationTypeNone+      -- ^ @ASSET_DURATION_TYPE_NONE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetDurationType++instance FromText CreativeAssetDurationType where+    fromText = \case+        "ASSET_DURATION_TYPE_AUTO" -> Just AssetDurationTypeAuto+        "ASSET_DURATION_TYPE_CUSTOM" -> Just AssetDurationTypeCustom+        "ASSET_DURATION_TYPE_NONE" -> Just AssetDurationTypeNone+        _ -> Nothing++instance ToText CreativeAssetDurationType where+    toText = \case+        AssetDurationTypeAuto -> "ASSET_DURATION_TYPE_AUTO"+        AssetDurationTypeCustom -> "ASSET_DURATION_TYPE_CUSTOM"+        AssetDurationTypeNone -> "ASSET_DURATION_TYPE_NONE"++instance FromJSON CreativeAssetDurationType where+    parseJSON = parseJSONText "CreativeAssetDurationType"++instance ToJSON CreativeAssetDurationType where+    toJSON = toJSONText++-- | Product from which this targetable remarketing list was originated.+data TargetableRemarketingListListSource+    = RemarketingListSourceDBm+      -- ^ @REMARKETING_LIST_SOURCE_DBM@+    | RemarketingListSourceDfa+      -- ^ @REMARKETING_LIST_SOURCE_DFA@+    | RemarketingListSourceDmp+      -- ^ @REMARKETING_LIST_SOURCE_DMP@+    | RemarketingListSourceGa+      -- ^ @REMARKETING_LIST_SOURCE_GA@+    | RemarketingListSourceOther+      -- ^ @REMARKETING_LIST_SOURCE_OTHER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TargetableRemarketingListListSource++instance FromText TargetableRemarketingListListSource where+    fromText = \case+        "REMARKETING_LIST_SOURCE_DBM" -> Just RemarketingListSourceDBm+        "REMARKETING_LIST_SOURCE_DFA" -> Just RemarketingListSourceDfa+        "REMARKETING_LIST_SOURCE_DMP" -> Just RemarketingListSourceDmp+        "REMARKETING_LIST_SOURCE_GA" -> Just RemarketingListSourceGa+        "REMARKETING_LIST_SOURCE_OTHER" -> Just RemarketingListSourceOther+        _ -> Nothing++instance ToText TargetableRemarketingListListSource where+    toText = \case+        RemarketingListSourceDBm -> "REMARKETING_LIST_SOURCE_DBM"+        RemarketingListSourceDfa -> "REMARKETING_LIST_SOURCE_DFA"+        RemarketingListSourceDmp -> "REMARKETING_LIST_SOURCE_DMP"+        RemarketingListSourceGa -> "REMARKETING_LIST_SOURCE_GA"+        RemarketingListSourceOther -> "REMARKETING_LIST_SOURCE_OTHER"++instance FromJSON TargetableRemarketingListListSource where+    parseJSON = parseJSONText "TargetableRemarketingListListSource"++instance ToJSON TargetableRemarketingListListSource where+    toJSON = toJSONText++-- | Field by which to sort the list.+data CreativeGroupsListSortField+    = CGLSFID+      -- ^ @ID@+    | CGLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeGroupsListSortField++instance FromText CreativeGroupsListSortField where+    fromText = \case+        "ID" -> Just CGLSFID+        "NAME" -> Just CGLSFName+        _ -> Nothing++instance ToText CreativeGroupsListSortField where+    toText = \case+        CGLSFID -> "ID"+        CGLSFName -> "NAME"++instance FromJSON CreativeGroupsListSortField where+    parseJSON = parseJSONText "CreativeGroupsListSortField"++instance ToJSON CreativeGroupsListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data PlacementsListSortField+    = PLSFID+      -- ^ @ID@+    | PLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsListSortField++instance FromText PlacementsListSortField where+    fromText = \case+        "ID" -> Just PLSFID+        "NAME" -> Just PLSFName+        _ -> Nothing++instance ToText PlacementsListSortField where+    toText = \case+        PLSFID -> "ID"+        PLSFName -> "NAME"++instance FromJSON PlacementsListSortField where+    parseJSON = parseJSONText "PlacementsListSortField"++instance ToJSON PlacementsListSortField where+    toJSON = toJSONText++data CreativeBackupImageFeaturesItem+    = CBIFIApplicationCache+      -- ^ @APPLICATION_CACHE@+    | CBIFIAudio+      -- ^ @AUDIO@+    | CBIFICanvas+      -- ^ @CANVAS@+    | CBIFICanvasText+      -- ^ @CANVAS_TEXT@+    | CBIFICssAnimations+      -- ^ @CSS_ANIMATIONS@+    | CBIFICssBackgRoundSize+      -- ^ @CSS_BACKGROUND_SIZE@+    | CBIFICssBOrderImage+      -- ^ @CSS_BORDER_IMAGE@+    | CBIFICssBOrderRadius+      -- ^ @CSS_BORDER_RADIUS@+    | CBIFICssBoxShadow+      -- ^ @CSS_BOX_SHADOW@+    | CBIFICssColumns+      -- ^ @CSS_COLUMNS@+    | CBIFICssFlexBox+      -- ^ @CSS_FLEX_BOX@+    | CBIFICssFontFace+      -- ^ @CSS_FONT_FACE@+    | CBIFICssGeneratedContent+      -- ^ @CSS_GENERATED_CONTENT@+    | CBIFICssGradients+      -- ^ @CSS_GRADIENTS@+    | CBIFICssHsla+      -- ^ @CSS_HSLA@+    | CBIFICssMultipleBgs+      -- ^ @CSS_MULTIPLE_BGS@+    | CBIFICssOpacity+      -- ^ @CSS_OPACITY@+    | CBIFICssReflections+      -- ^ @CSS_REFLECTIONS@+    | CBIFICssRgba+      -- ^ @CSS_RGBA@+    | CBIFICssTextShadow+      -- ^ @CSS_TEXT_SHADOW@+    | CBIFICssTransforms+      -- ^ @CSS_TRANSFORMS@+    | CBIFICssTRANSFORMS3D+      -- ^ @CSS_TRANSFORMS3D@+    | CBIFICssTransitions+      -- ^ @CSS_TRANSITIONS@+    | CBIFIDragAndDrop+      -- ^ @DRAG_AND_DROP@+    | CBIFIGeoLocation+      -- ^ @GEO_LOCATION@+    | CBIFIHashChange+      -- ^ @HASH_CHANGE@+    | CBIFIHistory+      -- ^ @HISTORY@+    | CBIFIIndexedDB+      -- ^ @INDEXED_DB@+    | CBIFIInlineSvg+      -- ^ @INLINE_SVG@+    | CBIFIInputAttrAutocomplete+      -- ^ @INPUT_ATTR_AUTOCOMPLETE@+    | CBIFIInputAttrAutofocus+      -- ^ @INPUT_ATTR_AUTOFOCUS@+    | CBIFIInputAttrList+      -- ^ @INPUT_ATTR_LIST@+    | CBIFIInputAttrMax+      -- ^ @INPUT_ATTR_MAX@+    | CBIFIInputAttrMin+      -- ^ @INPUT_ATTR_MIN@+    | CBIFIInputAttrMultiple+      -- ^ @INPUT_ATTR_MULTIPLE@+    | CBIFIInputAttrPattern+      -- ^ @INPUT_ATTR_PATTERN@+    | CBIFIInputAttrPlaceholder+      -- ^ @INPUT_ATTR_PLACEHOLDER@+    | CBIFIInputAttrRequired+      -- ^ @INPUT_ATTR_REQUIRED@+    | CBIFIInputAttrStep+      -- ^ @INPUT_ATTR_STEP@+    | CBIFIInputTypeColor+      -- ^ @INPUT_TYPE_COLOR@+    | CBIFIInputTypeDate+      -- ^ @INPUT_TYPE_DATE@+    | CBIFIInputTypeDatetime+      -- ^ @INPUT_TYPE_DATETIME@+    | CBIFIInputTypeDatetimeLocal+      -- ^ @INPUT_TYPE_DATETIME_LOCAL@+    | CBIFIInputTypeEmail+      -- ^ @INPUT_TYPE_EMAIL@+    | CBIFIInputTypeMonth+      -- ^ @INPUT_TYPE_MONTH@+    | CBIFIInputTypeNumber+      -- ^ @INPUT_TYPE_NUMBER@+    | CBIFIInputTypeRange+      -- ^ @INPUT_TYPE_RANGE@+    | CBIFIInputTypeSearch+      -- ^ @INPUT_TYPE_SEARCH@+    | CBIFIInputTypeTel+      -- ^ @INPUT_TYPE_TEL@+    | CBIFIInputTypeTime+      -- ^ @INPUT_TYPE_TIME@+    | CBIFIInputTypeURL+      -- ^ @INPUT_TYPE_URL@+    | CBIFIInputTypeWeek+      -- ^ @INPUT_TYPE_WEEK@+    | CBIFILocalStorage+      -- ^ @LOCAL_STORAGE@+    | CBIFIPostMessage+      -- ^ @POST_MESSAGE@+    | CBIFISessionStorage+      -- ^ @SESSION_STORAGE@+    | CBIFISmil+      -- ^ @SMIL@+    | CBIFISvgClipPaths+      -- ^ @SVG_CLIP_PATHS@+    | CBIFISvgFeImage+      -- ^ @SVG_FE_IMAGE@+    | CBIFISvgFilters+      -- ^ @SVG_FILTERS@+    | CBIFISvgHref+      -- ^ @SVG_HREF@+    | CBIFITouch+      -- ^ @TOUCH@+    | CBIFIVideo+      -- ^ @VIDEO@+    | CBIFIWebgl+      -- ^ @WEBGL@+    | CBIFIWebSockets+      -- ^ @WEB_SOCKETS@+    | CBIFIWebSQLDatabase+      -- ^ @WEB_SQL_DATABASE@+    | CBIFIWebWorkers+      -- ^ @WEB_WORKERS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeBackupImageFeaturesItem++instance FromText CreativeBackupImageFeaturesItem where+    fromText = \case+        "APPLICATION_CACHE" -> Just CBIFIApplicationCache+        "AUDIO" -> Just CBIFIAudio+        "CANVAS" -> Just CBIFICanvas+        "CANVAS_TEXT" -> Just CBIFICanvasText+        "CSS_ANIMATIONS" -> Just CBIFICssAnimations+        "CSS_BACKGROUND_SIZE" -> Just CBIFICssBackgRoundSize+        "CSS_BORDER_IMAGE" -> Just CBIFICssBOrderImage+        "CSS_BORDER_RADIUS" -> Just CBIFICssBOrderRadius+        "CSS_BOX_SHADOW" -> Just CBIFICssBoxShadow+        "CSS_COLUMNS" -> Just CBIFICssColumns+        "CSS_FLEX_BOX" -> Just CBIFICssFlexBox+        "CSS_FONT_FACE" -> Just CBIFICssFontFace+        "CSS_GENERATED_CONTENT" -> Just CBIFICssGeneratedContent+        "CSS_GRADIENTS" -> Just CBIFICssGradients+        "CSS_HSLA" -> Just CBIFICssHsla+        "CSS_MULTIPLE_BGS" -> Just CBIFICssMultipleBgs+        "CSS_OPACITY" -> Just CBIFICssOpacity+        "CSS_REFLECTIONS" -> Just CBIFICssReflections+        "CSS_RGBA" -> Just CBIFICssRgba+        "CSS_TEXT_SHADOW" -> Just CBIFICssTextShadow+        "CSS_TRANSFORMS" -> Just CBIFICssTransforms+        "CSS_TRANSFORMS3D" -> Just CBIFICssTRANSFORMS3D+        "CSS_TRANSITIONS" -> Just CBIFICssTransitions+        "DRAG_AND_DROP" -> Just CBIFIDragAndDrop+        "GEO_LOCATION" -> Just CBIFIGeoLocation+        "HASH_CHANGE" -> Just CBIFIHashChange+        "HISTORY" -> Just CBIFIHistory+        "INDEXED_DB" -> Just CBIFIIndexedDB+        "INLINE_SVG" -> Just CBIFIInlineSvg+        "INPUT_ATTR_AUTOCOMPLETE" -> Just CBIFIInputAttrAutocomplete+        "INPUT_ATTR_AUTOFOCUS" -> Just CBIFIInputAttrAutofocus+        "INPUT_ATTR_LIST" -> Just CBIFIInputAttrList+        "INPUT_ATTR_MAX" -> Just CBIFIInputAttrMax+        "INPUT_ATTR_MIN" -> Just CBIFIInputAttrMin+        "INPUT_ATTR_MULTIPLE" -> Just CBIFIInputAttrMultiple+        "INPUT_ATTR_PATTERN" -> Just CBIFIInputAttrPattern+        "INPUT_ATTR_PLACEHOLDER" -> Just CBIFIInputAttrPlaceholder+        "INPUT_ATTR_REQUIRED" -> Just CBIFIInputAttrRequired+        "INPUT_ATTR_STEP" -> Just CBIFIInputAttrStep+        "INPUT_TYPE_COLOR" -> Just CBIFIInputTypeColor+        "INPUT_TYPE_DATE" -> Just CBIFIInputTypeDate+        "INPUT_TYPE_DATETIME" -> Just CBIFIInputTypeDatetime+        "INPUT_TYPE_DATETIME_LOCAL" -> Just CBIFIInputTypeDatetimeLocal+        "INPUT_TYPE_EMAIL" -> Just CBIFIInputTypeEmail+        "INPUT_TYPE_MONTH" -> Just CBIFIInputTypeMonth+        "INPUT_TYPE_NUMBER" -> Just CBIFIInputTypeNumber+        "INPUT_TYPE_RANGE" -> Just CBIFIInputTypeRange+        "INPUT_TYPE_SEARCH" -> Just CBIFIInputTypeSearch+        "INPUT_TYPE_TEL" -> Just CBIFIInputTypeTel+        "INPUT_TYPE_TIME" -> Just CBIFIInputTypeTime+        "INPUT_TYPE_URL" -> Just CBIFIInputTypeURL+        "INPUT_TYPE_WEEK" -> Just CBIFIInputTypeWeek+        "LOCAL_STORAGE" -> Just CBIFILocalStorage+        "POST_MESSAGE" -> Just CBIFIPostMessage+        "SESSION_STORAGE" -> Just CBIFISessionStorage+        "SMIL" -> Just CBIFISmil+        "SVG_CLIP_PATHS" -> Just CBIFISvgClipPaths+        "SVG_FE_IMAGE" -> Just CBIFISvgFeImage+        "SVG_FILTERS" -> Just CBIFISvgFilters+        "SVG_HREF" -> Just CBIFISvgHref+        "TOUCH" -> Just CBIFITouch+        "VIDEO" -> Just CBIFIVideo+        "WEBGL" -> Just CBIFIWebgl+        "WEB_SOCKETS" -> Just CBIFIWebSockets+        "WEB_SQL_DATABASE" -> Just CBIFIWebSQLDatabase+        "WEB_WORKERS" -> Just CBIFIWebWorkers+        _ -> Nothing++instance ToText CreativeBackupImageFeaturesItem where+    toText = \case+        CBIFIApplicationCache -> "APPLICATION_CACHE"+        CBIFIAudio -> "AUDIO"+        CBIFICanvas -> "CANVAS"+        CBIFICanvasText -> "CANVAS_TEXT"+        CBIFICssAnimations -> "CSS_ANIMATIONS"+        CBIFICssBackgRoundSize -> "CSS_BACKGROUND_SIZE"+        CBIFICssBOrderImage -> "CSS_BORDER_IMAGE"+        CBIFICssBOrderRadius -> "CSS_BORDER_RADIUS"+        CBIFICssBoxShadow -> "CSS_BOX_SHADOW"+        CBIFICssColumns -> "CSS_COLUMNS"+        CBIFICssFlexBox -> "CSS_FLEX_BOX"+        CBIFICssFontFace -> "CSS_FONT_FACE"+        CBIFICssGeneratedContent -> "CSS_GENERATED_CONTENT"+        CBIFICssGradients -> "CSS_GRADIENTS"+        CBIFICssHsla -> "CSS_HSLA"+        CBIFICssMultipleBgs -> "CSS_MULTIPLE_BGS"+        CBIFICssOpacity -> "CSS_OPACITY"+        CBIFICssReflections -> "CSS_REFLECTIONS"+        CBIFICssRgba -> "CSS_RGBA"+        CBIFICssTextShadow -> "CSS_TEXT_SHADOW"+        CBIFICssTransforms -> "CSS_TRANSFORMS"+        CBIFICssTRANSFORMS3D -> "CSS_TRANSFORMS3D"+        CBIFICssTransitions -> "CSS_TRANSITIONS"+        CBIFIDragAndDrop -> "DRAG_AND_DROP"+        CBIFIGeoLocation -> "GEO_LOCATION"+        CBIFIHashChange -> "HASH_CHANGE"+        CBIFIHistory -> "HISTORY"+        CBIFIIndexedDB -> "INDEXED_DB"+        CBIFIInlineSvg -> "INLINE_SVG"+        CBIFIInputAttrAutocomplete -> "INPUT_ATTR_AUTOCOMPLETE"+        CBIFIInputAttrAutofocus -> "INPUT_ATTR_AUTOFOCUS"+        CBIFIInputAttrList -> "INPUT_ATTR_LIST"+        CBIFIInputAttrMax -> "INPUT_ATTR_MAX"+        CBIFIInputAttrMin -> "INPUT_ATTR_MIN"+        CBIFIInputAttrMultiple -> "INPUT_ATTR_MULTIPLE"+        CBIFIInputAttrPattern -> "INPUT_ATTR_PATTERN"+        CBIFIInputAttrPlaceholder -> "INPUT_ATTR_PLACEHOLDER"+        CBIFIInputAttrRequired -> "INPUT_ATTR_REQUIRED"+        CBIFIInputAttrStep -> "INPUT_ATTR_STEP"+        CBIFIInputTypeColor -> "INPUT_TYPE_COLOR"+        CBIFIInputTypeDate -> "INPUT_TYPE_DATE"+        CBIFIInputTypeDatetime -> "INPUT_TYPE_DATETIME"+        CBIFIInputTypeDatetimeLocal -> "INPUT_TYPE_DATETIME_LOCAL"+        CBIFIInputTypeEmail -> "INPUT_TYPE_EMAIL"+        CBIFIInputTypeMonth -> "INPUT_TYPE_MONTH"+        CBIFIInputTypeNumber -> "INPUT_TYPE_NUMBER"+        CBIFIInputTypeRange -> "INPUT_TYPE_RANGE"+        CBIFIInputTypeSearch -> "INPUT_TYPE_SEARCH"+        CBIFIInputTypeTel -> "INPUT_TYPE_TEL"+        CBIFIInputTypeTime -> "INPUT_TYPE_TIME"+        CBIFIInputTypeURL -> "INPUT_TYPE_URL"+        CBIFIInputTypeWeek -> "INPUT_TYPE_WEEK"+        CBIFILocalStorage -> "LOCAL_STORAGE"+        CBIFIPostMessage -> "POST_MESSAGE"+        CBIFISessionStorage -> "SESSION_STORAGE"+        CBIFISmil -> "SMIL"+        CBIFISvgClipPaths -> "SVG_CLIP_PATHS"+        CBIFISvgFeImage -> "SVG_FE_IMAGE"+        CBIFISvgFilters -> "SVG_FILTERS"+        CBIFISvgHref -> "SVG_HREF"+        CBIFITouch -> "TOUCH"+        CBIFIVideo -> "VIDEO"+        CBIFIWebgl -> "WEBGL"+        CBIFIWebSockets -> "WEB_SOCKETS"+        CBIFIWebSQLDatabase -> "WEB_SQL_DATABASE"+        CBIFIWebWorkers -> "WEB_WORKERS"++instance FromJSON CreativeBackupImageFeaturesItem where+    parseJSON = parseJSONText "CreativeBackupImageFeaturesItem"++instance ToJSON CreativeBackupImageFeaturesItem where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data AdvertisersListSortOrder+    = ALSOAscending+      -- ^ @ASCENDING@+    | ALSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersListSortOrder++instance FromText AdvertisersListSortOrder where+    fromText = \case+        "ASCENDING" -> Just ALSOAscending+        "DESCENDING" -> Just ALSODescending+        _ -> Nothing++instance ToText AdvertisersListSortOrder where+    toText = \case+        ALSOAscending -> "ASCENDING"+        ALSODescending -> "DESCENDING"++instance FromJSON AdvertisersListSortOrder where+    parseJSON = parseJSONText "AdvertisersListSortOrder"++instance ToJSON AdvertisersListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data CreativeFieldsListSortField+    = CFLSFID+      -- ^ @ID@+    | CFLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeFieldsListSortField++instance FromText CreativeFieldsListSortField where+    fromText = \case+        "ID" -> Just CFLSFID+        "NAME" -> Just CFLSFName+        _ -> Nothing++instance ToText CreativeFieldsListSortField where+    toText = \case+        CFLSFID -> "ID"+        CFLSFName -> "NAME"++instance FromJSON CreativeFieldsListSortField where+    parseJSON = parseJSONText "CreativeFieldsListSortField"++instance ToJSON CreativeFieldsListSortField where+    toJSON = toJSONText++-- | Variable name in the tag. This is a required field.+data UserDefinedVariableConfigurationVariableType+    = U1+      -- ^ @U1@+    | U10+      -- ^ @U10@+    | U11+      -- ^ @U11@+    | U12+      -- ^ @U12@+    | U13+      -- ^ @U13@+    | U14+      -- ^ @U14@+    | U15+      -- ^ @U15@+    | U16+      -- ^ @U16@+    | U17+      -- ^ @U17@+    | U18+      -- ^ @U18@+    | U19+      -- ^ @U19@+    | U2+      -- ^ @U2@+    | U20+      -- ^ @U20@+    | U3+      -- ^ @U3@+    | U4+      -- ^ @U4@+    | U5+      -- ^ @U5@+    | U6+      -- ^ @U6@+    | U7+      -- ^ @U7@+    | U8+      -- ^ @U8@+    | U9+      -- ^ @U9@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UserDefinedVariableConfigurationVariableType++instance FromText UserDefinedVariableConfigurationVariableType where+    fromText = \case+        "U1" -> Just U1+        "U10" -> Just U10+        "U11" -> Just U11+        "U12" -> Just U12+        "U13" -> Just U13+        "U14" -> Just U14+        "U15" -> Just U15+        "U16" -> Just U16+        "U17" -> Just U17+        "U18" -> Just U18+        "U19" -> Just U19+        "U2" -> Just U2+        "U20" -> Just U20+        "U3" -> Just U3+        "U4" -> Just U4+        "U5" -> Just U5+        "U6" -> Just U6+        "U7" -> Just U7+        "U8" -> Just U8+        "U9" -> Just U9+        _ -> Nothing++instance ToText UserDefinedVariableConfigurationVariableType where+    toText = \case+        U1 -> "U1"+        U10 -> "U10"+        U11 -> "U11"+        U12 -> "U12"+        U13 -> "U13"+        U14 -> "U14"+        U15 -> "U15"+        U16 -> "U16"+        U17 -> "U17"+        U18 -> "U18"+        U19 -> "U19"+        U2 -> "U2"+        U20 -> "U20"+        U3 -> "U3"+        U4 -> "U4"+        U5 -> "U5"+        U6 -> "U6"+        U7 -> "U7"+        U8 -> "U8"+        U9 -> "U9"++instance FromJSON UserDefinedVariableConfigurationVariableType where+    parseJSON = parseJSONText "UserDefinedVariableConfigurationVariableType"++instance ToJSON UserDefinedVariableConfigurationVariableType where+    toJSON = toJSONText++-- | Position in the browser where the window will open.+data FsCommandPositionOption+    = Centered+      -- ^ @CENTERED@+    | DistanceFromTopLeftCorner+      -- ^ @DISTANCE_FROM_TOP_LEFT_CORNER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FsCommandPositionOption++instance FromText FsCommandPositionOption where+    fromText = \case+        "CENTERED" -> Just Centered+        "DISTANCE_FROM_TOP_LEFT_CORNER" -> Just DistanceFromTopLeftCorner+        _ -> Nothing++instance ToText FsCommandPositionOption where+    toText = \case+        Centered -> "CENTERED"+        DistanceFromTopLeftCorner -> "DISTANCE_FROM_TOP_LEFT_CORNER"++instance FromJSON FsCommandPositionOption where+    parseJSON = parseJSONText "FsCommandPositionOption"++instance ToJSON FsCommandPositionOption where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data UserRolesListSortOrder+    = URLSOAscending+      -- ^ @ASCENDING@+    | URLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UserRolesListSortOrder++instance FromText UserRolesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just URLSOAscending+        "DESCENDING" -> Just URLSODescending+        _ -> Nothing++instance ToText UserRolesListSortOrder where+    toText = \case+        URLSOAscending -> "ASCENDING"+        URLSODescending -> "DESCENDING"++instance FromJSON UserRolesListSortOrder where+    parseJSON = parseJSONText "UserRolesListSortOrder"++instance ToJSON UserRolesListSortOrder where+    toJSON = toJSONText++-- | Select only placements that are associated with these compatibilities.+-- WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on+-- mobile devices for regular or interstitial ads respectively. APP and+-- APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers+-- to rendering in in-stream video ads developed with the VAST standard.+data PlacementsListCompatibilities+    = PLCApp+      -- ^ @APP@+    | PLCAppInterstitial+      -- ^ @APP_INTERSTITIAL@+    | PLCInStreamVideo+      -- ^ @IN_STREAM_VIDEO@+    | PLCWeb+      -- ^ @WEB@+    | PLCWebInterstitial+      -- ^ @WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsListCompatibilities++instance FromText PlacementsListCompatibilities where+    fromText = \case+        "APP" -> Just PLCApp+        "APP_INTERSTITIAL" -> Just PLCAppInterstitial+        "IN_STREAM_VIDEO" -> Just PLCInStreamVideo+        "WEB" -> Just PLCWeb+        "WEB_INTERSTITIAL" -> Just PLCWebInterstitial+        _ -> Nothing++instance ToText PlacementsListCompatibilities where+    toText = \case+        PLCApp -> "APP"+        PLCAppInterstitial -> "APP_INTERSTITIAL"+        PLCInStreamVideo -> "IN_STREAM_VIDEO"+        PLCWeb -> "WEB"+        PLCWebInterstitial -> "WEB_INTERSTITIAL"++instance FromJSON PlacementsListCompatibilities where+    parseJSON = parseJSONText "PlacementsListCompatibilities"++instance ToJSON PlacementsListCompatibilities where+    toJSON = toJSONText++-- | Field by which to sort the list.+data OrderDocumentsListSortField+    = ODLSFID+      -- ^ @ID@+    | ODLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrderDocumentsListSortField++instance FromText OrderDocumentsListSortField where+    fromText = \case+        "ID" -> Just ODLSFID+        "NAME" -> Just ODLSFName+        _ -> Nothing++instance ToText OrderDocumentsListSortField where+    toText = \case+        ODLSFID -> "ID"+        ODLSFName -> "NAME"++instance FromJSON OrderDocumentsListSortField where+    parseJSON = parseJSONText "OrderDocumentsListSortField"++instance ToJSON OrderDocumentsListSortField where+    toJSON = toJSONText++data CreativeCompatibilityItem+    = CCIApp+      -- ^ @APP@+    | CCIAppInterstitial+      -- ^ @APP_INTERSTITIAL@+    | CCIInStreamVideo+      -- ^ @IN_STREAM_VIDEO@+    | CCIWeb+      -- ^ @WEB@+    | CCIWebInterstitial+      -- ^ @WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeCompatibilityItem++instance FromText CreativeCompatibilityItem where+    fromText = \case+        "APP" -> Just CCIApp+        "APP_INTERSTITIAL" -> Just CCIAppInterstitial+        "IN_STREAM_VIDEO" -> Just CCIInStreamVideo+        "WEB" -> Just CCIWeb+        "WEB_INTERSTITIAL" -> Just CCIWebInterstitial+        _ -> Nothing++instance ToText CreativeCompatibilityItem where+    toText = \case+        CCIApp -> "APP"+        CCIAppInterstitial -> "APP_INTERSTITIAL"+        CCIInStreamVideo -> "IN_STREAM_VIDEO"+        CCIWeb -> "WEB"+        CCIWebInterstitial -> "WEB_INTERSTITIAL"++instance FromJSON CreativeCompatibilityItem where+    parseJSON = parseJSONText "CreativeCompatibilityItem"++instance ToJSON CreativeCompatibilityItem where+    toJSON = toJSONText++-- | The type of delivery for the owner to receive, if enabled.+data ReportDeliveryEmailOwnerDeliveryType+    = RDEODTAttachment+      -- ^ @ATTACHMENT@+    | RDEODTLink+      -- ^ @LINK@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportDeliveryEmailOwnerDeliveryType++instance FromText ReportDeliveryEmailOwnerDeliveryType where+    fromText = \case+        "ATTACHMENT" -> Just RDEODTAttachment+        "LINK" -> Just RDEODTLink+        _ -> Nothing++instance ToText ReportDeliveryEmailOwnerDeliveryType where+    toText = \case+        RDEODTAttachment -> "ATTACHMENT"+        RDEODTLink -> "LINK"++instance FromJSON ReportDeliveryEmailOwnerDeliveryType where+    parseJSON = parseJSONText "ReportDeliveryEmailOwnerDeliveryType"++instance ToJSON ReportDeliveryEmailOwnerDeliveryType where+    toJSON = toJSONText++-- | Site contact type.+data SiteContactContactType+    = SalesPerson+      -- ^ @SALES_PERSON@+    | Trafficker+      -- ^ @TRAFFICKER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SiteContactContactType++instance FromText SiteContactContactType where+    fromText = \case+        "SALES_PERSON" -> Just SalesPerson+        "TRAFFICKER" -> Just Trafficker+        _ -> Nothing++instance ToText SiteContactContactType where+    toText = \case+        SalesPerson -> "SALES_PERSON"+        Trafficker -> "TRAFFICKER"++instance FromJSON SiteContactContactType where+    parseJSON = parseJSONText "SiteContactContactType"++instance ToJSON SiteContactContactType where+    toJSON = toJSONText++-- | Order of sorted results, default is \'DESCENDING\'.+data ReportsListSortOrder+    = RLSOAscending+      -- ^ @ASCENDING@+      -- Ascending order.+    | RLSODescending+      -- ^ @DESCENDING@+      -- Descending order.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsListSortOrder++instance FromText ReportsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just RLSOAscending+        "DESCENDING" -> Just RLSODescending+        _ -> Nothing++instance ToText ReportsListSortOrder where+    toText = \case+        RLSOAscending -> "ASCENDING"+        RLSODescending -> "DESCENDING"++instance FromJSON ReportsListSortOrder where+    parseJSON = parseJSONText "ReportsListSortOrder"++instance ToJSON ReportsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data TargetableRemarketingListsListSortField+    = TRLLSFID+      -- ^ @ID@+    | TRLLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TargetableRemarketingListsListSortField++instance FromText TargetableRemarketingListsListSortField where+    fromText = \case+        "ID" -> Just TRLLSFID+        "NAME" -> Just TRLLSFName+        _ -> Nothing++instance ToText TargetableRemarketingListsListSortField where+    toText = \case+        TRLLSFID -> "ID"+        TRLLSFName -> "NAME"++instance FromJSON TargetableRemarketingListsListSortField where+    parseJSON = parseJSONText "TargetableRemarketingListsListSortField"++instance ToJSON TargetableRemarketingListsListSortField where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CampaignsListSortOrder+    = CLSOAscending+      -- ^ @ASCENDING@+    | CLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CampaignsListSortOrder++instance FromText CampaignsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CLSOAscending+        "DESCENDING" -> Just CLSODescending+        _ -> Nothing++instance ToText CampaignsListSortOrder where+    toText = \case+        CLSOAscending -> "ASCENDING"+        CLSODescending -> "DESCENDING"++instance FromJSON CampaignsListSortOrder where+    parseJSON = parseJSONText "CampaignsListSortOrder"++instance ToJSON CampaignsListSortOrder where+    toJSON = toJSONText++-- | Select only floodlight activity groups with the specified floodlight+-- activity group type.+data FloodlightActivityGroupsListType+    = Counter+      -- ^ @COUNTER@+    | Sale+      -- ^ @SALE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityGroupsListType++instance FromText FloodlightActivityGroupsListType where+    fromText = \case+        "COUNTER" -> Just Counter+        "SALE" -> Just Sale+        _ -> Nothing++instance ToText FloodlightActivityGroupsListType where+    toText = \case+        Counter -> "COUNTER"+        Sale -> "SALE"++instance FromJSON FloodlightActivityGroupsListType where+    parseJSON = parseJSONText "FloodlightActivityGroupsListType"++instance ToJSON FloodlightActivityGroupsListType where+    toJSON = toJSONText++-- | Day that will be counted as the first day of the week in reports. This+-- is a required field.+data FloodlightConfigurationFirstDayOfWeek+    = Monday+      -- ^ @MONDAY@+    | Sunday+      -- ^ @SUNDAY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightConfigurationFirstDayOfWeek++instance FromText FloodlightConfigurationFirstDayOfWeek where+    fromText = \case+        "MONDAY" -> Just Monday+        "SUNDAY" -> Just Sunday+        _ -> Nothing++instance ToText FloodlightConfigurationFirstDayOfWeek where+    toText = \case+        Monday -> "MONDAY"+        Sunday -> "SUNDAY"++instance FromJSON FloodlightConfigurationFirstDayOfWeek where+    parseJSON = parseJSONText "FloodlightConfigurationFirstDayOfWeek"++instance ToJSON FloodlightConfigurationFirstDayOfWeek where+    toJSON = toJSONText++-- | Serving priority of an ad, with respect to other ads. The lower the+-- priority number, the greater the priority with which it is served.+data DeliverySchedulePriority+    = AdPriority01+      -- ^ @AD_PRIORITY_01@+    | AdPriority02+      -- ^ @AD_PRIORITY_02@+    | AdPriority03+      -- ^ @AD_PRIORITY_03@+    | AdPriority04+      -- ^ @AD_PRIORITY_04@+    | AdPriority05+      -- ^ @AD_PRIORITY_05@+    | AdPriority06+      -- ^ @AD_PRIORITY_06@+    | AdPriority07+      -- ^ @AD_PRIORITY_07@+    | AdPriority08+      -- ^ @AD_PRIORITY_08@+    | AdPriority09+      -- ^ @AD_PRIORITY_09@+    | AdPriority10+      -- ^ @AD_PRIORITY_10@+    | AdPriority11+      -- ^ @AD_PRIORITY_11@+    | AdPriority12+      -- ^ @AD_PRIORITY_12@+    | AdPriority13+      -- ^ @AD_PRIORITY_13@+    | AdPriority14+      -- ^ @AD_PRIORITY_14@+    | AdPriority15+      -- ^ @AD_PRIORITY_15@+    | AdPriority16+      -- ^ @AD_PRIORITY_16@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DeliverySchedulePriority++instance FromText DeliverySchedulePriority where+    fromText = \case+        "AD_PRIORITY_01" -> Just AdPriority01+        "AD_PRIORITY_02" -> Just AdPriority02+        "AD_PRIORITY_03" -> Just AdPriority03+        "AD_PRIORITY_04" -> Just AdPriority04+        "AD_PRIORITY_05" -> Just AdPriority05+        "AD_PRIORITY_06" -> Just AdPriority06+        "AD_PRIORITY_07" -> Just AdPriority07+        "AD_PRIORITY_08" -> Just AdPriority08+        "AD_PRIORITY_09" -> Just AdPriority09+        "AD_PRIORITY_10" -> Just AdPriority10+        "AD_PRIORITY_11" -> Just AdPriority11+        "AD_PRIORITY_12" -> Just AdPriority12+        "AD_PRIORITY_13" -> Just AdPriority13+        "AD_PRIORITY_14" -> Just AdPriority14+        "AD_PRIORITY_15" -> Just AdPriority15+        "AD_PRIORITY_16" -> Just AdPriority16+        _ -> Nothing++instance ToText DeliverySchedulePriority where+    toText = \case+        AdPriority01 -> "AD_PRIORITY_01"+        AdPriority02 -> "AD_PRIORITY_02"+        AdPriority03 -> "AD_PRIORITY_03"+        AdPriority04 -> "AD_PRIORITY_04"+        AdPriority05 -> "AD_PRIORITY_05"+        AdPriority06 -> "AD_PRIORITY_06"+        AdPriority07 -> "AD_PRIORITY_07"+        AdPriority08 -> "AD_PRIORITY_08"+        AdPriority09 -> "AD_PRIORITY_09"+        AdPriority10 -> "AD_PRIORITY_10"+        AdPriority11 -> "AD_PRIORITY_11"+        AdPriority12 -> "AD_PRIORITY_12"+        AdPriority13 -> "AD_PRIORITY_13"+        AdPriority14 -> "AD_PRIORITY_14"+        AdPriority15 -> "AD_PRIORITY_15"+        AdPriority16 -> "AD_PRIORITY_16"++instance FromJSON DeliverySchedulePriority where+    parseJSON = parseJSONText "DeliverySchedulePriority"++instance ToJSON DeliverySchedulePriority where+    toJSON = toJSONText++-- | Select only floodlight activities with the specified floodlight activity+-- group type.+data FloodlightActivitiesListFloodlightActivityGroupType+    = FALFAGTCounter+      -- ^ @COUNTER@+    | FALFAGTSale+      -- ^ @SALE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivitiesListFloodlightActivityGroupType++instance FromText FloodlightActivitiesListFloodlightActivityGroupType where+    fromText = \case+        "COUNTER" -> Just FALFAGTCounter+        "SALE" -> Just FALFAGTSale+        _ -> Nothing++instance ToText FloodlightActivitiesListFloodlightActivityGroupType where+    toText = \case+        FALFAGTCounter -> "COUNTER"+        FALFAGTSale -> "SALE"++instance FromJSON FloodlightActivitiesListFloodlightActivityGroupType where+    parseJSON = parseJSONText "FloodlightActivitiesListFloodlightActivityGroupType"++instance ToJSON FloodlightActivitiesListFloodlightActivityGroupType where+    toJSON = toJSONText++data FloodlightConfigurationStandardVariableTypesItem+    = Num+      -- ^ @NUM@+    | Ord+      -- ^ @ORD@+    | Tran+      -- ^ @TRAN@+    | U+      -- ^ @U@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightConfigurationStandardVariableTypesItem++instance FromText FloodlightConfigurationStandardVariableTypesItem where+    fromText = \case+        "NUM" -> Just Num+        "ORD" -> Just Ord+        "TRAN" -> Just Tran+        "U" -> Just U+        _ -> Nothing++instance ToText FloodlightConfigurationStandardVariableTypesItem where+    toText = \case+        Num -> "NUM"+        Ord -> "ORD"+        Tran -> "TRAN"+        U -> "U"++instance FromJSON FloodlightConfigurationStandardVariableTypesItem where+    parseJSON = parseJSONText "FloodlightConfigurationStandardVariableTypesItem"++instance ToJSON FloodlightConfigurationStandardVariableTypesItem where+    toJSON = toJSONText++-- | Payment source for this placement. This is a required field that is+-- read-only after insertion.+data PlacementPaymentSource+    = PPSPlacementAgencyPaid+      -- ^ @PLACEMENT_AGENCY_PAID@+    | PPSPlacementPublisherPaid+      -- ^ @PLACEMENT_PUBLISHER_PAID@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementPaymentSource++instance FromText PlacementPaymentSource where+    fromText = \case+        "PLACEMENT_AGENCY_PAID" -> Just PPSPlacementAgencyPaid+        "PLACEMENT_PUBLISHER_PAID" -> Just PPSPlacementPublisherPaid+        _ -> Nothing++instance ToText PlacementPaymentSource where+    toText = \case+        PPSPlacementAgencyPaid -> "PLACEMENT_AGENCY_PAID"+        PPSPlacementPublisherPaid -> "PLACEMENT_PUBLISHER_PAID"++instance FromJSON PlacementPaymentSource where+    parseJSON = parseJSONText "PlacementPaymentSource"++instance ToJSON PlacementPaymentSource where+    toJSON = toJSONText++-- | Order of sorted results, default is \'DESCENDING\'.+data ReportsFilesListSortOrder+    = RFLSOAscending+      -- ^ @ASCENDING@+      -- Ascending order.+    | RFLSODescending+      -- ^ @DESCENDING@+      -- Descending order.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsFilesListSortOrder++instance FromText ReportsFilesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just RFLSOAscending+        "DESCENDING" -> Just RFLSODescending+        _ -> Nothing++instance ToText ReportsFilesListSortOrder where+    toText = \case+        RFLSOAscending -> "ASCENDING"+        RFLSODescending -> "DESCENDING"++instance FromJSON ReportsFilesListSortOrder where+    parseJSON = parseJSONText "ReportsFilesListSortOrder"++instance ToJSON ReportsFilesListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data InventoryItemsListSortField+    = IILSFID+      -- ^ @ID@+    | IILSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable InventoryItemsListSortField++instance FromText InventoryItemsListSortField where+    fromText = \case+        "ID" -> Just IILSFID+        "NAME" -> Just IILSFName+        _ -> Nothing++instance ToText InventoryItemsListSortField where+    toText = \case+        IILSFID -> "ID"+        IILSFName -> "NAME"++instance FromJSON InventoryItemsListSortField where+    parseJSON = parseJSONText "InventoryItemsListSortField"++instance ToJSON InventoryItemsListSortField where+    toJSON = toJSONText++-- | Event tag type. Can be used to specify whether to use a third-party+-- pixel, a third-party JavaScript URL, or a third-party click-through URL+-- for either impression or click tracking. This is a required field.+data EventTagType+    = ETTClickThroughEventTag+      -- ^ @CLICK_THROUGH_EVENT_TAG@+    | ETTImpressionImageEventTag+      -- ^ @IMPRESSION_IMAGE_EVENT_TAG@+    | ETTImpressionJavascriptEventTag+      -- ^ @IMPRESSION_JAVASCRIPT_EVENT_TAG@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagType++instance FromText EventTagType where+    fromText = \case+        "CLICK_THROUGH_EVENT_TAG" -> Just ETTClickThroughEventTag+        "IMPRESSION_IMAGE_EVENT_TAG" -> Just ETTImpressionImageEventTag+        "IMPRESSION_JAVASCRIPT_EVENT_TAG" -> Just ETTImpressionJavascriptEventTag+        _ -> Nothing++instance ToText EventTagType where+    toText = \case+        ETTClickThroughEventTag -> "CLICK_THROUGH_EVENT_TAG"+        ETTImpressionImageEventTag -> "IMPRESSION_IMAGE_EVENT_TAG"+        ETTImpressionJavascriptEventTag -> "IMPRESSION_JAVASCRIPT_EVENT_TAG"++instance FromJSON EventTagType where+    parseJSON = parseJSONText "EventTagType"++instance ToJSON EventTagType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CreativesListSortOrder+    = CAscending+      -- ^ @ASCENDING@+    | CDescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativesListSortOrder++instance FromText CreativesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CAscending+        "DESCENDING" -> Just CDescending+        _ -> Nothing++instance ToText CreativesListSortOrder where+    toText = \case+        CAscending -> "ASCENDING"+        CDescending -> "DESCENDING"++instance FromJSON CreativesListSortOrder where+    parseJSON = parseJSONText "CreativesListSortOrder"++instance ToJSON CreativesListSortOrder where+    toJSON = toJSONText++-- | Popup window position either centered or at specific coordinate.+data PopupWindowPropertiesPositionType+    = Center+      -- ^ @CENTER@+    | Coordinates+      -- ^ @COORDINATES@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PopupWindowPropertiesPositionType++instance FromText PopupWindowPropertiesPositionType where+    fromText = \case+        "CENTER" -> Just Center+        "COORDINATES" -> Just Coordinates+        _ -> Nothing++instance ToText PopupWindowPropertiesPositionType where+    toText = \case+        Center -> "CENTER"+        Coordinates -> "COORDINATES"++instance FromJSON PopupWindowPropertiesPositionType where+    parseJSON = parseJSONText "PopupWindowPropertiesPositionType"++instance ToJSON PopupWindowPropertiesPositionType where+    toJSON = toJSONText++-- | Directory site contact role.+data DirectorySiteContactRole+    = Admin+      -- ^ @ADMIN@+    | Edit+      -- ^ @EDIT@+    | View+      -- ^ @VIEW@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteContactRole++instance FromText DirectorySiteContactRole where+    fromText = \case+        "ADMIN" -> Just Admin+        "EDIT" -> Just Edit+        "VIEW" -> Just View+        _ -> Nothing++instance ToText DirectorySiteContactRole where+    toText = \case+        Admin -> "ADMIN"+        Edit -> "EDIT"+        View -> "VIEW"++instance FromJSON DirectorySiteContactRole where+    parseJSON = parseJSONText "DirectorySiteContactRole"++instance ToJSON DirectorySiteContactRole where+    toJSON = toJSONText++-- | Option specifying how keywords are embedded in ad tags. This setting can+-- be used to specify whether keyword placeholders are inserted in+-- placement tags for this site. Publishers can then add keywords to those+-- placeholders.+data TagSettingKeywordOption+    = GenerateSeparateTagForEachKeyword+      -- ^ @GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD@+    | Ignore+      -- ^ @IGNORE@+    | PlaceholderWithListOfKeywords+      -- ^ @PLACEHOLDER_WITH_LIST_OF_KEYWORDS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TagSettingKeywordOption++instance FromText TagSettingKeywordOption where+    fromText = \case+        "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" -> Just GenerateSeparateTagForEachKeyword+        "IGNORE" -> Just Ignore+        "PLACEHOLDER_WITH_LIST_OF_KEYWORDS" -> Just PlaceholderWithListOfKeywords+        _ -> Nothing++instance ToText TagSettingKeywordOption where+    toText = \case+        GenerateSeparateTagForEachKeyword -> "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"+        Ignore -> "IGNORE"+        PlaceholderWithListOfKeywords -> "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"++instance FromJSON TagSettingKeywordOption where+    parseJSON = parseJSONText "TagSettingKeywordOption"++instance ToJSON TagSettingKeywordOption where+    toJSON = toJSONText++-- | Authoring tool for HTML5 banner creatives. This is a read-only field.+-- Applicable to the following creative types: HTML5_BANNER.+data CreativeAuthoringTool+    = Ninja+      -- ^ @NINJA@+    | Swiffy+      -- ^ @SWIFFY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAuthoringTool++instance FromText CreativeAuthoringTool where+    fromText = \case+        "NINJA" -> Just Ninja+        "SWIFFY" -> Just Swiffy+        _ -> Nothing++instance ToText CreativeAuthoringTool where+    toText = \case+        Ninja -> "NINJA"+        Swiffy -> "SWIFFY"++instance FromJSON CreativeAuthoringTool where+    parseJSON = parseJSONText "CreativeAuthoringTool"++instance ToJSON CreativeAuthoringTool where+    toJSON = toJSONText++-- | Type of this contact.+data OrderContactContactType+    = PlanningOrderContactBuyerBillingContact+      -- ^ @PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT@+    | PlanningOrderContactBuyerContact+      -- ^ @PLANNING_ORDER_CONTACT_BUYER_CONTACT@+    | PlanningOrderContactSellerContact+      -- ^ @PLANNING_ORDER_CONTACT_SELLER_CONTACT@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrderContactContactType++instance FromText OrderContactContactType where+    fromText = \case+        "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT" -> Just PlanningOrderContactBuyerBillingContact+        "PLANNING_ORDER_CONTACT_BUYER_CONTACT" -> Just PlanningOrderContactBuyerContact+        "PLANNING_ORDER_CONTACT_SELLER_CONTACT" -> Just PlanningOrderContactSellerContact+        _ -> Nothing++instance ToText OrderContactContactType where+    toText = \case+        PlanningOrderContactBuyerBillingContact -> "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"+        PlanningOrderContactBuyerContact -> "PLANNING_ORDER_CONTACT_BUYER_CONTACT"+        PlanningOrderContactSellerContact -> "PLANNING_ORDER_CONTACT_SELLER_CONTACT"++instance FromJSON OrderContactContactType where+    parseJSON = parseJSONText "OrderContactContactType"++instance ToJSON OrderContactContactType where+    toJSON = toJSONText++-- | Type of asset to upload. This is a required field. IMAGE is solely used+-- for IMAGE creatives. Other image assets should use HTML_IMAGE.+data CreativeAssetIdType+    = CAITFlash+      -- ^ @FLASH@+    | CAITHTML+      -- ^ @HTML@+    | CAITHTMLImage+      -- ^ @HTML_IMAGE@+    | CAITImage+      -- ^ @IMAGE@+    | CAITVideo+      -- ^ @VIDEO@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetIdType++instance FromText CreativeAssetIdType where+    fromText = \case+        "FLASH" -> Just CAITFlash+        "HTML" -> Just CAITHTML+        "HTML_IMAGE" -> Just CAITHTMLImage+        "IMAGE" -> Just CAITImage+        "VIDEO" -> Just CAITVideo+        _ -> Nothing++instance ToText CreativeAssetIdType where+    toText = \case+        CAITFlash -> "FLASH"+        CAITHTML -> "HTML"+        CAITHTMLImage -> "HTML_IMAGE"+        CAITImage -> "IMAGE"+        CAITVideo -> "VIDEO"++instance FromJSON CreativeAssetIdType where+    parseJSON = parseJSONText "CreativeAssetIdType"++instance ToJSON CreativeAssetIdType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data AccountUserProFilesListSortOrder+    = AUPFLSOAscending+      -- ^ @ASCENDING@+    | AUPFLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountUserProFilesListSortOrder++instance FromText AccountUserProFilesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just AUPFLSOAscending+        "DESCENDING" -> Just AUPFLSODescending+        _ -> Nothing++instance ToText AccountUserProFilesListSortOrder where+    toText = \case+        AUPFLSOAscending -> "ASCENDING"+        AUPFLSODescending -> "DESCENDING"++instance FromJSON AccountUserProFilesListSortOrder where+    parseJSON = parseJSONText "AccountUserProFilesListSortOrder"++instance ToJSON AccountUserProFilesListSortOrder where+    toJSON = toJSONText++-- | Product from which this remarketing list was originated.+data RemarketingListListSource+    = RLLSRemarketingListSourceDBm+      -- ^ @REMARKETING_LIST_SOURCE_DBM@+    | RLLSRemarketingListSourceDfa+      -- ^ @REMARKETING_LIST_SOURCE_DFA@+    | RLLSRemarketingListSourceDmp+      -- ^ @REMARKETING_LIST_SOURCE_DMP@+    | RLLSRemarketingListSourceGa+      -- ^ @REMARKETING_LIST_SOURCE_GA@+    | RLLSRemarketingListSourceOther+      -- ^ @REMARKETING_LIST_SOURCE_OTHER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RemarketingListListSource++instance FromText RemarketingListListSource where+    fromText = \case+        "REMARKETING_LIST_SOURCE_DBM" -> Just RLLSRemarketingListSourceDBm+        "REMARKETING_LIST_SOURCE_DFA" -> Just RLLSRemarketingListSourceDfa+        "REMARKETING_LIST_SOURCE_DMP" -> Just RLLSRemarketingListSourceDmp+        "REMARKETING_LIST_SOURCE_GA" -> Just RLLSRemarketingListSourceGa+        "REMARKETING_LIST_SOURCE_OTHER" -> Just RLLSRemarketingListSourceOther+        _ -> Nothing++instance ToText RemarketingListListSource where+    toText = \case+        RLLSRemarketingListSourceDBm -> "REMARKETING_LIST_SOURCE_DBM"+        RLLSRemarketingListSourceDfa -> "REMARKETING_LIST_SOURCE_DFA"+        RLLSRemarketingListSourceDmp -> "REMARKETING_LIST_SOURCE_DMP"+        RLLSRemarketingListSourceGa -> "REMARKETING_LIST_SOURCE_GA"+        RLLSRemarketingListSourceOther -> "REMARKETING_LIST_SOURCE_OTHER"++instance FromJSON RemarketingListListSource where+    parseJSON = parseJSONText "RemarketingListListSource"++instance ToJSON RemarketingListListSource where+    toJSON = toJSONText++-- | User type of the user profile. This is a read-only field that can be+-- left blank.+data AccountUserProFileUserAccessType+    = InternalAdministrator+      -- ^ @INTERNAL_ADMINISTRATOR@+    | NormalUser+      -- ^ @NORMAL_USER@+    | SuperUser+      -- ^ @SUPER_USER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountUserProFileUserAccessType++instance FromText AccountUserProFileUserAccessType where+    fromText = \case+        "INTERNAL_ADMINISTRATOR" -> Just InternalAdministrator+        "NORMAL_USER" -> Just NormalUser+        "SUPER_USER" -> Just SuperUser+        _ -> Nothing++instance ToText AccountUserProFileUserAccessType where+    toText = \case+        InternalAdministrator -> "INTERNAL_ADMINISTRATOR"+        NormalUser -> "NORMAL_USER"+        SuperUser -> "SUPER_USER"++instance FromJSON AccountUserProFileUserAccessType where+    parseJSON = parseJSONText "AccountUserProFileUserAccessType"++instance ToJSON AccountUserProFileUserAccessType where+    toJSON = toJSONText++-- | Initial wait time type before making the asset visible. Applicable to+-- the following creative types: all RICH_MEDIA.+data CreativeAssetStartTimeType+    = AssetStartTimeTypeCustom+      -- ^ @ASSET_START_TIME_TYPE_CUSTOM@+    | AssetStartTimeTypeNone+      -- ^ @ASSET_START_TIME_TYPE_NONE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetStartTimeType++instance FromText CreativeAssetStartTimeType where+    fromText = \case+        "ASSET_START_TIME_TYPE_CUSTOM" -> Just AssetStartTimeTypeCustom+        "ASSET_START_TIME_TYPE_NONE" -> Just AssetStartTimeTypeNone+        _ -> Nothing++instance ToText CreativeAssetStartTimeType where+    toText = \case+        AssetStartTimeTypeCustom -> "ASSET_START_TIME_TYPE_CUSTOM"+        AssetStartTimeTypeNone -> "ASSET_START_TIME_TYPE_NONE"++instance FromJSON CreativeAssetStartTimeType where+    parseJSON = parseJSONText "CreativeAssetStartTimeType"++instance ToJSON CreativeAssetStartTimeType where+    toJSON = toJSONText++-- | Audience gender of this project.+data ProjectAudienceGender+    = PlanningAudienceGenderFemale+      -- ^ @PLANNING_AUDIENCE_GENDER_FEMALE@+    | PlanningAudienceGenderMale+      -- ^ @PLANNING_AUDIENCE_GENDER_MALE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ProjectAudienceGender++instance FromText ProjectAudienceGender where+    fromText = \case+        "PLANNING_AUDIENCE_GENDER_FEMALE" -> Just PlanningAudienceGenderFemale+        "PLANNING_AUDIENCE_GENDER_MALE" -> Just PlanningAudienceGenderMale+        _ -> Nothing++instance ToText ProjectAudienceGender where+    toText = \case+        PlanningAudienceGenderFemale -> "PLANNING_AUDIENCE_GENDER_FEMALE"+        PlanningAudienceGenderMale -> "PLANNING_AUDIENCE_GENDER_MALE"++instance FromJSON ProjectAudienceGender where+    parseJSON = parseJSONText "ProjectAudienceGender"++instance ToJSON ProjectAudienceGender where+    toJSON = toJSONText++-- | Field by which to sort the list.+data PlacementStrategiesListSortField+    = PSLSFID+      -- ^ @ID@+    | PSLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementStrategiesListSortField++instance FromText PlacementStrategiesListSortField where+    fromText = \case+        "ID" -> Just PSLSFID+        "NAME" -> Just PSLSFName+        _ -> Nothing++instance ToText PlacementStrategiesListSortField where+    toText = \case+        PSLSFID -> "ID"+        PSLSFName -> "NAME"++instance FromJSON PlacementStrategiesListSortField where+    parseJSON = parseJSONText "PlacementStrategiesListSortField"++instance ToJSON PlacementStrategiesListSortField where+    toJSON = toJSONText++-- | Data type for the variable. This is a required field.+data UserDefinedVariableConfigurationDataType+    = Number+      -- ^ @NUMBER@+    | String+      -- ^ @STRING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable UserDefinedVariableConfigurationDataType++instance FromText UserDefinedVariableConfigurationDataType where+    fromText = \case+        "NUMBER" -> Just Number+        "STRING" -> Just String+        _ -> Nothing++instance ToText UserDefinedVariableConfigurationDataType where+    toText = \case+        Number -> "NUMBER"+        String -> "STRING"++instance FromJSON UserDefinedVariableConfigurationDataType where+    parseJSON = parseJSONText "UserDefinedVariableConfigurationDataType"++instance ToJSON UserDefinedVariableConfigurationDataType where+    toJSON = toJSONText++-- | Code type used for cache busting in the generated tag.+data FloodlightActivityCacheBustingType+    = ActiveServerPage+      -- ^ @ACTIVE_SERVER_PAGE@+    | ColdFusion+      -- ^ @COLD_FUSION@+    | Javascript+      -- ^ @JAVASCRIPT@+    | Jsp+      -- ^ @JSP@+    | Php+      -- ^ @PHP@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityCacheBustingType++instance FromText FloodlightActivityCacheBustingType where+    fromText = \case+        "ACTIVE_SERVER_PAGE" -> Just ActiveServerPage+        "COLD_FUSION" -> Just ColdFusion+        "JAVASCRIPT" -> Just Javascript+        "JSP" -> Just Jsp+        "PHP" -> Just Php+        _ -> Nothing++instance ToText FloodlightActivityCacheBustingType where+    toText = \case+        ActiveServerPage -> "ACTIVE_SERVER_PAGE"+        ColdFusion -> "COLD_FUSION"+        Javascript -> "JAVASCRIPT"+        Jsp -> "JSP"+        Php -> "PHP"++instance FromJSON FloodlightActivityCacheBustingType where+    parseJSON = parseJSONText "FloodlightActivityCacheBustingType"++instance ToJSON FloodlightActivityCacheBustingType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CreativeGroupsListSortOrder+    = CGLSOAscending+      -- ^ @ASCENDING@+    | CGLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeGroupsListSortOrder++instance FromText CreativeGroupsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CGLSOAscending+        "DESCENDING" -> Just CGLSODescending+        _ -> Nothing++instance ToText CreativeGroupsListSortOrder where+    toText = \case+        CGLSOAscending -> "ASCENDING"+        CGLSODescending -> "DESCENDING"++instance FromJSON CreativeGroupsListSortOrder where+    parseJSON = parseJSONText "CreativeGroupsListSortOrder"++instance ToJSON CreativeGroupsListSortOrder where+    toJSON = toJSONText++-- | Type of this order document+data OrderDocumentType+    = PlanningOrderTypeChangeOrder+      -- ^ @PLANNING_ORDER_TYPE_CHANGE_ORDER@+    | PlanningOrderTypeInsertionOrder+      -- ^ @PLANNING_ORDER_TYPE_INSERTION_ORDER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrderDocumentType++instance FromText OrderDocumentType where+    fromText = \case+        "PLANNING_ORDER_TYPE_CHANGE_ORDER" -> Just PlanningOrderTypeChangeOrder+        "PLANNING_ORDER_TYPE_INSERTION_ORDER" -> Just PlanningOrderTypeInsertionOrder+        _ -> Nothing++instance ToText OrderDocumentType where+    toText = \case+        PlanningOrderTypeChangeOrder -> "PLANNING_ORDER_TYPE_CHANGE_ORDER"+        PlanningOrderTypeInsertionOrder -> "PLANNING_ORDER_TYPE_INSERTION_ORDER"++instance FromJSON OrderDocumentType where+    parseJSON = parseJSONText "OrderDocumentType"++instance ToJSON OrderDocumentType where+    toJSON = toJSONText++-- | TagData tag format of this tag.+data TagDataFormat+    = PlacementTagClickCommands+      -- ^ @PLACEMENT_TAG_CLICK_COMMANDS@+    | PlacementTagIframeIlayer+      -- ^ @PLACEMENT_TAG_IFRAME_ILAYER@+    | PlacementTagIframeJavascript+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT@+    | PlacementTagIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY@+    | PlacementTagInstreamVideoPrefetch+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH@+    | PlacementTagInstreamVideoPrefetchVast3+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3@+    | PlacementTagInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERNAL_REDIRECT@+    | PlacementTagInterstitialIframeJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT@+    | PlacementTagInterstitialIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY@+    | PlacementTagInterstitialInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT@+    | PlacementTagInterstitialJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT@+    | PlacementTagInterstitialJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY@+    | PlacementTagJavascript+      -- ^ @PLACEMENT_TAG_JAVASCRIPT@+    | PlacementTagJavascriptLegacy+      -- ^ @PLACEMENT_TAG_JAVASCRIPT_LEGACY@+    | PlacementTagStandard+      -- ^ @PLACEMENT_TAG_STANDARD@+    | PlacementTagTracking+      -- ^ @PLACEMENT_TAG_TRACKING@+    | PlacementTagTrackingIframe+      -- ^ @PLACEMENT_TAG_TRACKING_IFRAME@+    | PlacementTagTrackingJavascript+      -- ^ @PLACEMENT_TAG_TRACKING_JAVASCRIPT@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TagDataFormat++instance FromText TagDataFormat where+    fromText = \case+        "PLACEMENT_TAG_CLICK_COMMANDS" -> Just PlacementTagClickCommands+        "PLACEMENT_TAG_IFRAME_ILAYER" -> Just PlacementTagIframeIlayer+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -> Just PlacementTagIframeJavascript+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY" -> Just PlacementTagIframeJavascriptLegacy+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -> Just PlacementTagInstreamVideoPrefetch+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -> Just PlacementTagInstreamVideoPrefetchVast3+        "PLACEMENT_TAG_INTERNAL_REDIRECT" -> Just PlacementTagInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -> Just PlacementTagInterstitialIframeJavascript+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY" -> Just PlacementTagInterstitialIframeJavascriptLegacy+        "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -> Just PlacementTagInterstitialInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -> Just PlacementTagInterstitialJavascript+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY" -> Just PlacementTagInterstitialJavascriptLegacy+        "PLACEMENT_TAG_JAVASCRIPT" -> Just PlacementTagJavascript+        "PLACEMENT_TAG_JAVASCRIPT_LEGACY" -> Just PlacementTagJavascriptLegacy+        "PLACEMENT_TAG_STANDARD" -> Just PlacementTagStandard+        "PLACEMENT_TAG_TRACKING" -> Just PlacementTagTracking+        "PLACEMENT_TAG_TRACKING_IFRAME" -> Just PlacementTagTrackingIframe+        "PLACEMENT_TAG_TRACKING_JAVASCRIPT" -> Just PlacementTagTrackingJavascript+        _ -> Nothing++instance ToText TagDataFormat where+    toText = \case+        PlacementTagClickCommands -> "PLACEMENT_TAG_CLICK_COMMANDS"+        PlacementTagIframeIlayer -> "PLACEMENT_TAG_IFRAME_ILAYER"+        PlacementTagIframeJavascript -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT"+        PlacementTagIframeJavascriptLegacy -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"+        PlacementTagInstreamVideoPrefetch -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"+        PlacementTagInstreamVideoPrefetchVast3 -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"+        PlacementTagInternalRedirect -> "PLACEMENT_TAG_INTERNAL_REDIRECT"+        PlacementTagInterstitialIframeJavascript -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"+        PlacementTagInterstitialIframeJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"+        PlacementTagInterstitialInternalRedirect -> "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"+        PlacementTagInterstitialJavascript -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"+        PlacementTagInterstitialJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"+        PlacementTagJavascript -> "PLACEMENT_TAG_JAVASCRIPT"+        PlacementTagJavascriptLegacy -> "PLACEMENT_TAG_JAVASCRIPT_LEGACY"+        PlacementTagStandard -> "PLACEMENT_TAG_STANDARD"+        PlacementTagTracking -> "PLACEMENT_TAG_TRACKING"+        PlacementTagTrackingIframe -> "PLACEMENT_TAG_TRACKING_IFRAME"+        PlacementTagTrackingJavascript -> "PLACEMENT_TAG_TRACKING_JAVASCRIPT"++instance FromJSON TagDataFormat where+    parseJSON = parseJSONText "TagDataFormat"++instance ToJSON TagDataFormat where+    toJSON = toJSONText++-- | Maximum number of active ads allowed for the account.+data AccountActiveAdSummaryActiveAdsLimitTier+    = ActiveAdsTier100K+      -- ^ @ACTIVE_ADS_TIER_100K@+    | ActiveAdsTier200K+      -- ^ @ACTIVE_ADS_TIER_200K@+    | ActiveAdsTier300K+      -- ^ @ACTIVE_ADS_TIER_300K@+    | ActiveAdsTier40K+      -- ^ @ACTIVE_ADS_TIER_40K@+    | ActiveAdsTier75K+      -- ^ @ACTIVE_ADS_TIER_75K@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountActiveAdSummaryActiveAdsLimitTier++instance FromText AccountActiveAdSummaryActiveAdsLimitTier where+    fromText = \case+        "ACTIVE_ADS_TIER_100K" -> Just ActiveAdsTier100K+        "ACTIVE_ADS_TIER_200K" -> Just ActiveAdsTier200K+        "ACTIVE_ADS_TIER_300K" -> Just ActiveAdsTier300K+        "ACTIVE_ADS_TIER_40K" -> Just ActiveAdsTier40K+        "ACTIVE_ADS_TIER_75K" -> Just ActiveAdsTier75K+        _ -> Nothing++instance ToText AccountActiveAdSummaryActiveAdsLimitTier where+    toText = \case+        ActiveAdsTier100K -> "ACTIVE_ADS_TIER_100K"+        ActiveAdsTier200K -> "ACTIVE_ADS_TIER_200K"+        ActiveAdsTier300K -> "ACTIVE_ADS_TIER_300K"+        ActiveAdsTier40K -> "ACTIVE_ADS_TIER_40K"+        ActiveAdsTier75K -> "ACTIVE_ADS_TIER_75K"++instance FromJSON AccountActiveAdSummaryActiveAdsLimitTier where+    parseJSON = parseJSONText "AccountActiveAdSummaryActiveAdsLimitTier"++instance ToJSON AccountActiveAdSummaryActiveAdsLimitTier where+    toJSON = toJSONText++-- | Rich media child asset type. This is a read-only field. Applicable to+-- the following creative types: all VPAID.+data CreativeAssetChildAssetType+    = ChildAssetTypeData+      -- ^ @CHILD_ASSET_TYPE_DATA@+    | ChildAssetTypeFlash+      -- ^ @CHILD_ASSET_TYPE_FLASH@+    | ChildAssetTypeImage+      -- ^ @CHILD_ASSET_TYPE_IMAGE@+    | ChildAssetTypeVideo+      -- ^ @CHILD_ASSET_TYPE_VIDEO@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetChildAssetType++instance FromText CreativeAssetChildAssetType where+    fromText = \case+        "CHILD_ASSET_TYPE_DATA" -> Just ChildAssetTypeData+        "CHILD_ASSET_TYPE_FLASH" -> Just ChildAssetTypeFlash+        "CHILD_ASSET_TYPE_IMAGE" -> Just ChildAssetTypeImage+        "CHILD_ASSET_TYPE_VIDEO" -> Just ChildAssetTypeVideo+        _ -> Nothing++instance ToText CreativeAssetChildAssetType where+    toText = \case+        ChildAssetTypeData -> "CHILD_ASSET_TYPE_DATA"+        ChildAssetTypeFlash -> "CHILD_ASSET_TYPE_FLASH"+        ChildAssetTypeImage -> "CHILD_ASSET_TYPE_IMAGE"+        ChildAssetTypeVideo -> "CHILD_ASSET_TYPE_VIDEO"++instance FromJSON CreativeAssetChildAssetType where+    parseJSON = parseJSONText "CreativeAssetChildAssetType"++instance ToJSON CreativeAssetChildAssetType where+    toJSON = toJSONText++-- | Select only placement groups belonging with this group type. A package+-- is a simple group of placements that acts as a single pricing point for+-- a group of tags. A roadblock is a group of placements that not only acts+-- as a single pricing point but also assumes that all the tags in it will+-- be served at the same time. A roadblock requires one of its assigned+-- placements to be marked as primary for reporting.+data PlacementGroupsListPlacementGroupType+    = PlacementPackage+      -- ^ @PLACEMENT_PACKAGE@+    | PlacementRoadblock+      -- ^ @PLACEMENT_ROADBLOCK@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementGroupsListPlacementGroupType++instance FromText PlacementGroupsListPlacementGroupType where+    fromText = \case+        "PLACEMENT_PACKAGE" -> Just PlacementPackage+        "PLACEMENT_ROADBLOCK" -> Just PlacementRoadblock+        _ -> Nothing++instance ToText PlacementGroupsListPlacementGroupType where+    toText = \case+        PlacementPackage -> "PLACEMENT_PACKAGE"+        PlacementRoadblock -> "PLACEMENT_ROADBLOCK"++instance FromJSON PlacementGroupsListPlacementGroupType where+    parseJSON = parseJSONText "PlacementGroupsListPlacementGroupType"++instance ToJSON PlacementGroupsListPlacementGroupType where+    toJSON = toJSONText++-- | Status of the filter. NONE means the user has access to none of the+-- objects. ALL means the user has access to all objects. ASSIGNED means+-- the user has access to the objects with IDs in the objectIds list.+data ObjectFilterStatus+    = OFSAll+      -- ^ @ALL@+    | OFSAssigned+      -- ^ @ASSIGNED@+    | OFSNone+      -- ^ @NONE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ObjectFilterStatus++instance FromText ObjectFilterStatus where+    fromText = \case+        "ALL" -> Just OFSAll+        "ASSIGNED" -> Just OFSAssigned+        "NONE" -> Just OFSNone+        _ -> Nothing++instance ToText ObjectFilterStatus where+    toText = \case+        OFSAll -> "ALL"+        OFSAssigned -> "ASSIGNED"+        OFSNone -> "NONE"++instance FromJSON ObjectFilterStatus where+    parseJSON = parseJSONText "ObjectFilterStatus"++instance ToJSON ObjectFilterStatus where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CampaignCreativeAssociationsListSortOrder+    = CCALSOAscending+      -- ^ @ASCENDING@+    | CCALSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CampaignCreativeAssociationsListSortOrder++instance FromText CampaignCreativeAssociationsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CCALSOAscending+        "DESCENDING" -> Just CCALSODescending+        _ -> Nothing++instance ToText CampaignCreativeAssociationsListSortOrder where+    toText = \case+        CCALSOAscending -> "ASCENDING"+        CCALSODescending -> "DESCENDING"++instance FromJSON CampaignCreativeAssociationsListSortOrder where+    parseJSON = parseJSONText "CampaignCreativeAssociationsListSortOrder"++instance ToJSON CampaignCreativeAssociationsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data FloodlightActivitiesListSortField+    = FALSFID+      -- ^ @ID@+    | FALSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivitiesListSortField++instance FromText FloodlightActivitiesListSortField where+    fromText = \case+        "ID" -> Just FALSFID+        "NAME" -> Just FALSFName+        _ -> Nothing++instance ToText FloodlightActivitiesListSortField where+    toText = \case+        FALSFID -> "ID"+        FALSFName -> "NAME"++instance FromJSON FloodlightActivitiesListSortField where+    parseJSON = parseJSONText "FloodlightActivitiesListSortField"++instance ToJSON FloodlightActivitiesListSortField where+    toJSON = toJSONText++-- | Select only creatives with these creative types.+data CreativesListTypes+    = BrandSafeDefaultInstreamVideo+      -- ^ @BRAND_SAFE_DEFAULT_INSTREAM_VIDEO@+    | CustomInpage+      -- ^ @CUSTOM_INPAGE@+    | CustomInterstitial+      -- ^ @CUSTOM_INTERSTITIAL@+    | EnhancedBanner+      -- ^ @ENHANCED_BANNER@+    | EnhancedImage+      -- ^ @ENHANCED_IMAGE@+    | FlashInpage+      -- ^ @FLASH_INPAGE@+    | HTML5Banner+      -- ^ @HTML5_BANNER@+    | Image+      -- ^ @IMAGE@+    | InstreamVideo+      -- ^ @INSTREAM_VIDEO@+    | InternalRedirect+      -- ^ @INTERNAL_REDIRECT@+    | InterstitialInternalRedirect+      -- ^ @INTERSTITIAL_INTERNAL_REDIRECT@+    | Redirect+      -- ^ @REDIRECT@+    | RichMediaExpanding+      -- ^ @RICH_MEDIA_EXPANDING@+    | RichMediaImExpand+      -- ^ @RICH_MEDIA_IM_EXPAND@+    | RichMediaInpage+      -- ^ @RICH_MEDIA_INPAGE@+    | RichMediaInpageFloating+      -- ^ @RICH_MEDIA_INPAGE_FLOATING@+    | RichMediaInterstitialFloat+      -- ^ @RICH_MEDIA_INTERSTITIAL_FLOAT@+    | RichMediaMobileInApp+      -- ^ @RICH_MEDIA_MOBILE_IN_APP@+    | RichMediaMultiFloating+      -- ^ @RICH_MEDIA_MULTI_FLOATING@+    | RichMediaPeelDown+      -- ^ @RICH_MEDIA_PEEL_DOWN@+    | TrackingText+      -- ^ @TRACKING_TEXT@+    | VastRedirect+      -- ^ @VAST_REDIRECT@+    | VpaidLinear+      -- ^ @VPAID_LINEAR@+    | VpaidNonLinear+      -- ^ @VPAID_NON_LINEAR@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativesListTypes++instance FromText CreativesListTypes where+    fromText = \case+        "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO" -> Just BrandSafeDefaultInstreamVideo+        "CUSTOM_INPAGE" -> Just CustomInpage+        "CUSTOM_INTERSTITIAL" -> Just CustomInterstitial+        "ENHANCED_BANNER" -> Just EnhancedBanner+        "ENHANCED_IMAGE" -> Just EnhancedImage+        "FLASH_INPAGE" -> Just FlashInpage+        "HTML5_BANNER" -> Just HTML5Banner+        "IMAGE" -> Just Image+        "INSTREAM_VIDEO" -> Just InstreamVideo+        "INTERNAL_REDIRECT" -> Just InternalRedirect+        "INTERSTITIAL_INTERNAL_REDIRECT" -> Just InterstitialInternalRedirect+        "REDIRECT" -> Just Redirect+        "RICH_MEDIA_EXPANDING" -> Just RichMediaExpanding+        "RICH_MEDIA_IM_EXPAND" -> Just RichMediaImExpand+        "RICH_MEDIA_INPAGE" -> Just RichMediaInpage+        "RICH_MEDIA_INPAGE_FLOATING" -> Just RichMediaInpageFloating+        "RICH_MEDIA_INTERSTITIAL_FLOAT" -> Just RichMediaInterstitialFloat+        "RICH_MEDIA_MOBILE_IN_APP" -> Just RichMediaMobileInApp+        "RICH_MEDIA_MULTI_FLOATING" -> Just RichMediaMultiFloating+        "RICH_MEDIA_PEEL_DOWN" -> Just RichMediaPeelDown+        "TRACKING_TEXT" -> Just TrackingText+        "VAST_REDIRECT" -> Just VastRedirect+        "VPAID_LINEAR" -> Just VpaidLinear+        "VPAID_NON_LINEAR" -> Just VpaidNonLinear+        _ -> Nothing++instance ToText CreativesListTypes where+    toText = \case+        BrandSafeDefaultInstreamVideo -> "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"+        CustomInpage -> "CUSTOM_INPAGE"+        CustomInterstitial -> "CUSTOM_INTERSTITIAL"+        EnhancedBanner -> "ENHANCED_BANNER"+        EnhancedImage -> "ENHANCED_IMAGE"+        FlashInpage -> "FLASH_INPAGE"+        HTML5Banner -> "HTML5_BANNER"+        Image -> "IMAGE"+        InstreamVideo -> "INSTREAM_VIDEO"+        InternalRedirect -> "INTERNAL_REDIRECT"+        InterstitialInternalRedirect -> "INTERSTITIAL_INTERNAL_REDIRECT"+        Redirect -> "REDIRECT"+        RichMediaExpanding -> "RICH_MEDIA_EXPANDING"+        RichMediaImExpand -> "RICH_MEDIA_IM_EXPAND"+        RichMediaInpage -> "RICH_MEDIA_INPAGE"+        RichMediaInpageFloating -> "RICH_MEDIA_INPAGE_FLOATING"+        RichMediaInterstitialFloat -> "RICH_MEDIA_INTERSTITIAL_FLOAT"+        RichMediaMobileInApp -> "RICH_MEDIA_MOBILE_IN_APP"+        RichMediaMultiFloating -> "RICH_MEDIA_MULTI_FLOATING"+        RichMediaPeelDown -> "RICH_MEDIA_PEEL_DOWN"+        TrackingText -> "TRACKING_TEXT"+        VastRedirect -> "VAST_REDIRECT"+        VpaidLinear -> "VPAID_LINEAR"+        VpaidNonLinear -> "VPAID_NON_LINEAR"++instance FromJSON CreativesListTypes where+    parseJSON = parseJSONText "CreativesListTypes"++instance ToJSON CreativesListTypes where+    toJSON = toJSONText++data DirectorySiteInpageTagFormatsItem+    = IframeJavascriptInpage+      -- ^ @IFRAME_JAVASCRIPT_INPAGE@+    | InternalRedirectInpage+      -- ^ @INTERNAL_REDIRECT_INPAGE@+    | JavascriptInpage+      -- ^ @JAVASCRIPT_INPAGE@+    | Standard+      -- ^ @STANDARD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteInpageTagFormatsItem++instance FromText DirectorySiteInpageTagFormatsItem where+    fromText = \case+        "IFRAME_JAVASCRIPT_INPAGE" -> Just IframeJavascriptInpage+        "INTERNAL_REDIRECT_INPAGE" -> Just InternalRedirectInpage+        "JAVASCRIPT_INPAGE" -> Just JavascriptInpage+        "STANDARD" -> Just Standard+        _ -> Nothing++instance ToText DirectorySiteInpageTagFormatsItem where+    toText = \case+        IframeJavascriptInpage -> "IFRAME_JAVASCRIPT_INPAGE"+        InternalRedirectInpage -> "INTERNAL_REDIRECT_INPAGE"+        JavascriptInpage -> "JAVASCRIPT_INPAGE"+        Standard -> "STANDARD"++instance FromJSON DirectorySiteInpageTagFormatsItem where+    parseJSON = parseJSONText "DirectorySiteInpageTagFormatsItem"++instance ToJSON DirectorySiteInpageTagFormatsItem where+    toJSON = toJSONText++-- | Window mode options for flash assets. Applicable to the following+-- creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING,+-- RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.+data CreativeAssetWindowMode+    = Opaque+      -- ^ @OPAQUE@+    | Transparent+      -- ^ @TRANSPARENT@+    | Window+      -- ^ @WINDOW@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetWindowMode++instance FromText CreativeAssetWindowMode where+    fromText = \case+        "OPAQUE" -> Just Opaque+        "TRANSPARENT" -> Just Transparent+        "WINDOW" -> Just Window+        _ -> Nothing++instance ToText CreativeAssetWindowMode where+    toText = \case+        Opaque -> "OPAQUE"+        Transparent -> "TRANSPARENT"+        Window -> "WINDOW"++instance FromJSON CreativeAssetWindowMode where+    parseJSON = parseJSONText "CreativeAssetWindowMode"++instance ToJSON CreativeAssetWindowMode where+    toJSON = toJSONText++-- | Possible alignments for an asset. This is a read-only field. Applicable+-- to the following creative types: RICH_MEDIA_MULTI_FLOATING.+data CreativeAssetAlignment+    = AlignmentBottom+      -- ^ @ALIGNMENT_BOTTOM@+    | AlignmentLeft+      -- ^ @ALIGNMENT_LEFT@+    | AlignmentRight+      -- ^ @ALIGNMENT_RIGHT@+    | AlignmentTop+      -- ^ @ALIGNMENT_TOP@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetAlignment++instance FromText CreativeAssetAlignment where+    fromText = \case+        "ALIGNMENT_BOTTOM" -> Just AlignmentBottom+        "ALIGNMENT_LEFT" -> Just AlignmentLeft+        "ALIGNMENT_RIGHT" -> Just AlignmentRight+        "ALIGNMENT_TOP" -> Just AlignmentTop+        _ -> Nothing++instance ToText CreativeAssetAlignment where+    toText = \case+        AlignmentBottom -> "ALIGNMENT_BOTTOM"+        AlignmentLeft -> "ALIGNMENT_LEFT"+        AlignmentRight -> "ALIGNMENT_RIGHT"+        AlignmentTop -> "ALIGNMENT_TOP"++instance FromJSON CreativeAssetAlignment where+    parseJSON = parseJSONText "CreativeAssetAlignment"++instance ToJSON CreativeAssetAlignment where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data RemarketingListsListSortOrder+    = RLLSOAscending+      -- ^ @ASCENDING@+    | RLLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RemarketingListsListSortOrder++instance FromText RemarketingListsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just RLLSOAscending+        "DESCENDING" -> Just RLLSODescending+        _ -> Nothing++instance ToText RemarketingListsListSortOrder where+    toText = \case+        RLLSOAscending -> "ASCENDING"+        RLLSODescending -> "DESCENDING"++instance FromJSON RemarketingListsListSortOrder where+    parseJSON = parseJSONText "RemarketingListsListSortOrder"++instance ToJSON RemarketingListsListSortOrder where+    toJSON = toJSONText++-- | Select only placement groups with these pricing types.+data PlacementGroupsListPricingTypes+    = PGLPTPricingTypeCpa+      -- ^ @PRICING_TYPE_CPA@+    | PGLPTPricingTypeCpc+      -- ^ @PRICING_TYPE_CPC@+    | PGLPTPricingTypeCpm+      -- ^ @PRICING_TYPE_CPM@+    | PGLPTPricingTypeFlatRateClicks+      -- ^ @PRICING_TYPE_FLAT_RATE_CLICKS@+    | PGLPTPricingTypeFlatRateImpressions+      -- ^ @PRICING_TYPE_FLAT_RATE_IMPRESSIONS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementGroupsListPricingTypes++instance FromText PlacementGroupsListPricingTypes where+    fromText = \case+        "PRICING_TYPE_CPA" -> Just PGLPTPricingTypeCpa+        "PRICING_TYPE_CPC" -> Just PGLPTPricingTypeCpc+        "PRICING_TYPE_CPM" -> Just PGLPTPricingTypeCpm+        "PRICING_TYPE_FLAT_RATE_CLICKS" -> Just PGLPTPricingTypeFlatRateClicks+        "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" -> Just PGLPTPricingTypeFlatRateImpressions+        _ -> Nothing++instance ToText PlacementGroupsListPricingTypes where+    toText = \case+        PGLPTPricingTypeCpa -> "PRICING_TYPE_CPA"+        PGLPTPricingTypeCpc -> "PRICING_TYPE_CPC"+        PGLPTPricingTypeCpm -> "PRICING_TYPE_CPM"+        PGLPTPricingTypeFlatRateClicks -> "PRICING_TYPE_FLAT_RATE_CLICKS"+        PGLPTPricingTypeFlatRateImpressions -> "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"++instance FromJSON PlacementGroupsListPricingTypes where+    parseJSON = parseJSONText "PlacementGroupsListPricingTypes"++instance ToJSON PlacementGroupsListPricingTypes where+    toJSON = toJSONText++-- | Maximum number of active ads allowed for this account.+data AccountActiveAdsLimitTier+    = AAALTActiveAdsTier100K+      -- ^ @ACTIVE_ADS_TIER_100K@+    | AAALTActiveAdsTier200K+      -- ^ @ACTIVE_ADS_TIER_200K@+    | AAALTActiveAdsTier300K+      -- ^ @ACTIVE_ADS_TIER_300K@+    | AAALTActiveAdsTier40K+      -- ^ @ACTIVE_ADS_TIER_40K@+    | AAALTActiveAdsTier75K+      -- ^ @ACTIVE_ADS_TIER_75K@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountActiveAdsLimitTier++instance FromText AccountActiveAdsLimitTier where+    fromText = \case+        "ACTIVE_ADS_TIER_100K" -> Just AAALTActiveAdsTier100K+        "ACTIVE_ADS_TIER_200K" -> Just AAALTActiveAdsTier200K+        "ACTIVE_ADS_TIER_300K" -> Just AAALTActiveAdsTier300K+        "ACTIVE_ADS_TIER_40K" -> Just AAALTActiveAdsTier40K+        "ACTIVE_ADS_TIER_75K" -> Just AAALTActiveAdsTier75K+        _ -> Nothing++instance ToText AccountActiveAdsLimitTier where+    toText = \case+        AAALTActiveAdsTier100K -> "ACTIVE_ADS_TIER_100K"+        AAALTActiveAdsTier200K -> "ACTIVE_ADS_TIER_200K"+        AAALTActiveAdsTier300K -> "ACTIVE_ADS_TIER_300K"+        AAALTActiveAdsTier40K -> "ACTIVE_ADS_TIER_40K"+        AAALTActiveAdsTier75K -> "ACTIVE_ADS_TIER_75K"++instance FromJSON AccountActiveAdsLimitTier where+    parseJSON = parseJSONText "AccountActiveAdsLimitTier"++instance ToJSON AccountActiveAdsLimitTier where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data AccountsListSortOrder+    = AAscending+      -- ^ @ASCENDING@+    | ADescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountsListSortOrder++instance FromText AccountsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just AAscending+        "DESCENDING" -> Just ADescending+        _ -> Nothing++instance ToText AccountsListSortOrder where+    toText = \case+        AAscending -> "ASCENDING"+        ADescending -> "DESCENDING"++instance FromJSON AccountsListSortOrder where+    parseJSON = parseJSONText "AccountsListSortOrder"++instance ToJSON AccountsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data SubAccountsListSortField+    = SALSFID+      -- ^ @ID@+    | SALSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SubAccountsListSortField++instance FromText SubAccountsListSortField where+    fromText = \case+        "ID" -> Just SALSFID+        "NAME" -> Just SALSFName+        _ -> Nothing++instance ToText SubAccountsListSortField where+    toText = \case+        SALSFID -> "ID"+        SALSFName -> "NAME"++instance FromJSON SubAccountsListSortField where+    parseJSON = parseJSONText "SubAccountsListSortField"++instance ToJSON SubAccountsListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data AdsListSortField+    = ALSFID+      -- ^ @ID@+    | ALSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdsListSortField++instance FromText AdsListSortField where+    fromText = \case+        "ID" -> Just ALSFID+        "NAME" -> Just ALSFName+        _ -> Nothing++instance ToText AdsListSortField where+    toText = \case+        ALSFID -> "ID"+        ALSFName -> "NAME"++instance FromJSON AdsListSortField where+    parseJSON = parseJSONText "AdsListSortField"++instance ToJSON AdsListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data ProjectsListSortField+    = PID+      -- ^ @ID@+    | PName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ProjectsListSortField++instance FromText ProjectsListSortField where+    fromText = \case+        "ID" -> Just PID+        "NAME" -> Just PName+        _ -> Nothing++instance ToText ProjectsListSortField where+    toText = \case+        PID -> "ID"+        PName -> "NAME"++instance FromJSON ProjectsListSortField where+    parseJSON = parseJSONText "ProjectsListSortField"++instance ToJSON ProjectsListSortField where+    toJSON = toJSONText++-- | Select only ads with these types.+data AdsListType+    = AdServingClickTracker+      -- ^ @AD_SERVING_CLICK_TRACKER@+    | AdServingDefaultAd+      -- ^ @AD_SERVING_DEFAULT_AD@+    | AdServingStandardAd+      -- ^ @AD_SERVING_STANDARD_AD@+    | AdServingTracking+      -- ^ @AD_SERVING_TRACKING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdsListType++instance FromText AdsListType where+    fromText = \case+        "AD_SERVING_CLICK_TRACKER" -> Just AdServingClickTracker+        "AD_SERVING_DEFAULT_AD" -> Just AdServingDefaultAd+        "AD_SERVING_STANDARD_AD" -> Just AdServingStandardAd+        "AD_SERVING_TRACKING" -> Just AdServingTracking+        _ -> Nothing++instance ToText AdsListType where+    toText = \case+        AdServingClickTracker -> "AD_SERVING_CLICK_TRACKER"+        AdServingDefaultAd -> "AD_SERVING_DEFAULT_AD"+        AdServingStandardAd -> "AD_SERVING_STANDARD_AD"+        AdServingTracking -> "AD_SERVING_TRACKING"++instance FromJSON AdsListType where+    parseJSON = parseJSONText "AdsListType"++instance ToJSON AdsListType where+    toJSON = toJSONText++-- | Optimization model for this configuration.+data CreativeOptimizationConfigurationOptimizationModel+    = Click+      -- ^ @CLICK@+    | PostClick+      -- ^ @POST_CLICK@+    | PostClickAndImpression+      -- ^ @POST_CLICK_AND_IMPRESSION@+    | PostImpression+      -- ^ @POST_IMPRESSION@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeOptimizationConfigurationOptimizationModel++instance FromText CreativeOptimizationConfigurationOptimizationModel where+    fromText = \case+        "CLICK" -> Just Click+        "POST_CLICK" -> Just PostClick+        "POST_CLICK_AND_IMPRESSION" -> Just PostClickAndImpression+        "POST_IMPRESSION" -> Just PostImpression+        _ -> Nothing++instance ToText CreativeOptimizationConfigurationOptimizationModel where+    toText = \case+        Click -> "CLICK"+        PostClick -> "POST_CLICK"+        PostClickAndImpression -> "POST_CLICK_AND_IMPRESSION"+        PostImpression -> "POST_IMPRESSION"++instance FromJSON CreativeOptimizationConfigurationOptimizationModel where+    parseJSON = parseJSONText "CreativeOptimizationConfigurationOptimizationModel"++instance ToJSON CreativeOptimizationConfigurationOptimizationModel where+    toJSON = toJSONText++-- | Administrative level required to enable this account permission.+data AccountPermissionLevel+    = Administrator+      -- ^ @ADMINISTRATOR@+    | User+      -- ^ @USER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountPermissionLevel++instance FromText AccountPermissionLevel where+    fromText = \case+        "ADMINISTRATOR" -> Just Administrator+        "USER" -> Just User+        _ -> Nothing++instance ToText AccountPermissionLevel where+    toText = \case+        Administrator -> "ADMINISTRATOR"+        User -> "USER"++instance FromJSON AccountPermissionLevel where+    parseJSON = parseJSONText "AccountPermissionLevel"++instance ToJSON AccountPermissionLevel where+    toJSON = toJSONText++-- | List population term type determines the applicable fields in this+-- object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName,+-- variableFriendlyName, operator, value, and negation are applicable. If+-- set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are+-- applicable. If set to REFERRER_TERM then operator, value, and negation+-- are applicable.+data ListPopulationTermType+    = CustomVariableTerm+      -- ^ @CUSTOM_VARIABLE_TERM@+    | ListMembershipTerm+      -- ^ @LIST_MEMBERSHIP_TERM@+    | ReferrerTerm+      -- ^ @REFERRER_TERM@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ListPopulationTermType++instance FromText ListPopulationTermType where+    fromText = \case+        "CUSTOM_VARIABLE_TERM" -> Just CustomVariableTerm+        "LIST_MEMBERSHIP_TERM" -> Just ListMembershipTerm+        "REFERRER_TERM" -> Just ReferrerTerm+        _ -> Nothing++instance ToText ListPopulationTermType where+    toText = \case+        CustomVariableTerm -> "CUSTOM_VARIABLE_TERM"+        ListMembershipTerm -> "LIST_MEMBERSHIP_TERM"+        ReferrerTerm -> "REFERRER_TERM"++instance FromJSON ListPopulationTermType where+    parseJSON = parseJSONText "ListPopulationTermType"++instance ToJSON ListPopulationTermType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data AdvertiserGroupsListSortOrder+    = AGLSOAscending+      -- ^ @ASCENDING@+    | AGLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertiserGroupsListSortOrder++instance FromText AdvertiserGroupsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just AGLSOAscending+        "DESCENDING" -> Just AGLSODescending+        _ -> Nothing++instance ToText AdvertiserGroupsListSortOrder where+    toText = \case+        AGLSOAscending -> "ASCENDING"+        AGLSODescending -> "DESCENDING"++instance FromJSON AdvertiserGroupsListSortOrder where+    parseJSON = parseJSONText "AdvertiserGroupsListSortOrder"++instance ToJSON AdvertiserGroupsListSortOrder where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data CreativeFieldValuesListSortOrder+    = CFVLSOAscending+      -- ^ @ASCENDING@+    | CFVLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeFieldValuesListSortOrder++instance FromText CreativeFieldValuesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CFVLSOAscending+        "DESCENDING" -> Just CFVLSODescending+        _ -> Nothing++instance ToText CreativeFieldValuesListSortOrder where+    toText = \case+        CFVLSOAscending -> "ASCENDING"+        CFVLSODescending -> "DESCENDING"++instance FromJSON CreativeFieldValuesListSortOrder where+    parseJSON = parseJSONText "CreativeFieldValuesListSortOrder"++instance ToJSON CreativeFieldValuesListSortOrder where+    toJSON = toJSONText++-- | An optional sort order for the dimension column.+data SortedDimensionSortOrder+    = SDSOAscending+      -- ^ @ASCENDING@+    | SDSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SortedDimensionSortOrder++instance FromText SortedDimensionSortOrder where+    fromText = \case+        "ASCENDING" -> Just SDSOAscending+        "DESCENDING" -> Just SDSODescending+        _ -> Nothing++instance ToText SortedDimensionSortOrder where+    toText = \case+        SDSOAscending -> "ASCENDING"+        SDSODescending -> "DESCENDING"++instance FromJSON SortedDimensionSortOrder where+    parseJSON = parseJSONText "SortedDimensionSortOrder"++instance ToJSON SortedDimensionSortOrder where+    toJSON = toJSONText++-- | The field by which to sort the list.+data FilesListSortField+    = FLSFID+      -- ^ @ID@+      -- Sort by file ID.+    | FLSFLastModifiedTime+      -- ^ @LAST_MODIFIED_TIME@+      -- Sort by \'lastmodifiedAt\' field.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesListSortField++instance FromText FilesListSortField where+    fromText = \case+        "ID" -> Just FLSFID+        "LAST_MODIFIED_TIME" -> Just FLSFLastModifiedTime+        _ -> Nothing++instance ToText FilesListSortField where+    toText = \case+        FLSFID -> "ID"+        FLSFLastModifiedTime -> "LAST_MODIFIED_TIME"++instance FromJSON FilesListSortField where+    parseJSON = parseJSONText "FilesListSortField"++instance ToJSON FilesListSortField where+    toJSON = toJSONText++data DirectorySiteInterstitialTagFormatsItem+    = IframeJavascriptInterstitial+      -- ^ @IFRAME_JAVASCRIPT_INTERSTITIAL@+    | InternalRedirectInterstitial+      -- ^ @INTERNAL_REDIRECT_INTERSTITIAL@+    | JavascriptInterstitial+      -- ^ @JAVASCRIPT_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteInterstitialTagFormatsItem++instance FromText DirectorySiteInterstitialTagFormatsItem where+    fromText = \case+        "IFRAME_JAVASCRIPT_INTERSTITIAL" -> Just IframeJavascriptInterstitial+        "INTERNAL_REDIRECT_INTERSTITIAL" -> Just InternalRedirectInterstitial+        "JAVASCRIPT_INTERSTITIAL" -> Just JavascriptInterstitial+        _ -> Nothing++instance ToText DirectorySiteInterstitialTagFormatsItem where+    toText = \case+        IframeJavascriptInterstitial -> "IFRAME_JAVASCRIPT_INTERSTITIAL"+        InternalRedirectInterstitial -> "INTERNAL_REDIRECT_INTERSTITIAL"+        JavascriptInterstitial -> "JAVASCRIPT_INTERSTITIAL"++instance FromJSON DirectorySiteInterstitialTagFormatsItem where+    parseJSON = parseJSONText "DirectorySiteInterstitialTagFormatsItem"++instance ToJSON DirectorySiteInterstitialTagFormatsItem where+    toJSON = toJSONText++-- | Field by which to sort the list.+data EventTagsListSortField+    = ETLSFID+      -- ^ @ID@+    | ETLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagsListSortField++instance FromText EventTagsListSortField where+    fromText = \case+        "ID" -> Just ETLSFID+        "NAME" -> Just ETLSFName+        _ -> Nothing++instance ToText EventTagsListSortField where+    toText = \case+        ETLSFID -> "ID"+        ETLSFName -> "NAME"++instance FromJSON EventTagsListSortField where+    parseJSON = parseJSONText "EventTagsListSortField"++instance ToJSON EventTagsListSortField where+    toJSON = toJSONText++-- | Offset top unit for an asset. This is a read-only field if the asset+-- displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following+-- creative types: all RICH_MEDIA.+data CreativeAssetPositionTopUnit+    = CAPTUOffSetUnitPercent+      -- ^ @OFFSET_UNIT_PERCENT@+    | CAPTUOffSetUnitPixel+      -- ^ @OFFSET_UNIT_PIXEL@+    | CAPTUOffSetUnitPixelFromCenter+      -- ^ @OFFSET_UNIT_PIXEL_FROM_CENTER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetPositionTopUnit++instance FromText CreativeAssetPositionTopUnit where+    fromText = \case+        "OFFSET_UNIT_PERCENT" -> Just CAPTUOffSetUnitPercent+        "OFFSET_UNIT_PIXEL" -> Just CAPTUOffSetUnitPixel+        "OFFSET_UNIT_PIXEL_FROM_CENTER" -> Just CAPTUOffSetUnitPixelFromCenter+        _ -> Nothing++instance ToText CreativeAssetPositionTopUnit where+    toText = \case+        CAPTUOffSetUnitPercent -> "OFFSET_UNIT_PERCENT"+        CAPTUOffSetUnitPixel -> "OFFSET_UNIT_PIXEL"+        CAPTUOffSetUnitPixelFromCenter -> "OFFSET_UNIT_PIXEL_FROM_CENTER"++instance FromJSON CreativeAssetPositionTopUnit where+    parseJSON = parseJSONText "CreativeAssetPositionTopUnit"++instance ToJSON CreativeAssetPositionTopUnit where+    toJSON = toJSONText++-- | Type of the associated floodlight activity group. This is a read-only+-- field.+data FloodlightActivityFloodlightActivityGroupType+    = FAFAGTCounter+      -- ^ @COUNTER@+    | FAFAGTSale+      -- ^ @SALE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityFloodlightActivityGroupType++instance FromText FloodlightActivityFloodlightActivityGroupType where+    fromText = \case+        "COUNTER" -> Just FAFAGTCounter+        "SALE" -> Just FAFAGTSale+        _ -> Nothing++instance ToText FloodlightActivityFloodlightActivityGroupType where+    toText = \case+        FAFAGTCounter -> "COUNTER"+        FAFAGTSale -> "SALE"++instance FromJSON FloodlightActivityFloodlightActivityGroupType where+    parseJSON = parseJSONText "FloodlightActivityFloodlightActivityGroupType"++instance ToJSON FloodlightActivityFloodlightActivityGroupType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data DirectorySiteContactsListSortOrder+    = DSCLSOAscending+      -- ^ @ASCENDING@+    | DSCLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteContactsListSortOrder++instance FromText DirectorySiteContactsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just DSCLSOAscending+        "DESCENDING" -> Just DSCLSODescending+        _ -> Nothing++instance ToText DirectorySiteContactsListSortOrder where+    toText = \case+        DSCLSOAscending -> "ASCENDING"+        DSCLSODescending -> "DESCENDING"++instance FromJSON DirectorySiteContactsListSortOrder where+    parseJSON = parseJSONText "DirectorySiteContactsListSortOrder"++instance ToJSON DirectorySiteContactsListSortOrder where+    toJSON = toJSONText++-- | Group type of this inventory item if it represents a placement group. Is+-- null otherwise. There are two type of placement groups:+-- PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory+-- items that acts as a single pricing point for a group of tags.+-- PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items+-- that not only acts as a single pricing point, but also assumes that all+-- the tags in it will be served at the same time. A roadblock requires one+-- of its assigned inventory items to be marked as primary.+data PricingGroupType+    = PlanningPlacementGroupTypePackage+      -- ^ @PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE@+    | PlanningPlacementGroupTypeRoadblock+      -- ^ @PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PricingGroupType++instance FromText PricingGroupType where+    fromText = \case+        "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE" -> Just PlanningPlacementGroupTypePackage+        "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK" -> Just PlanningPlacementGroupTypeRoadblock+        _ -> Nothing++instance ToText PricingGroupType where+    toText = \case+        PlanningPlacementGroupTypePackage -> "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"+        PlanningPlacementGroupTypeRoadblock -> "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"++instance FromJSON PricingGroupType where+    parseJSON = parseJSONText "PricingGroupType"++instance ToJSON PricingGroupType where+    toJSON = toJSONText++-- | Select only ads with the specified creativeType.+data AdsListCreativeType+    = ALCTBrandSafeDefaultInstreamVideo+      -- ^ @BRAND_SAFE_DEFAULT_INSTREAM_VIDEO@+    | ALCTCustomInpage+      -- ^ @CUSTOM_INPAGE@+    | ALCTCustomInterstitial+      -- ^ @CUSTOM_INTERSTITIAL@+    | ALCTEnhancedBanner+      -- ^ @ENHANCED_BANNER@+    | ALCTEnhancedImage+      -- ^ @ENHANCED_IMAGE@+    | ALCTFlashInpage+      -- ^ @FLASH_INPAGE@+    | ALCTHTML5Banner+      -- ^ @HTML5_BANNER@+    | ALCTImage+      -- ^ @IMAGE@+    | ALCTInstreamVideo+      -- ^ @INSTREAM_VIDEO@+    | ALCTInternalRedirect+      -- ^ @INTERNAL_REDIRECT@+    | ALCTInterstitialInternalRedirect+      -- ^ @INTERSTITIAL_INTERNAL_REDIRECT@+    | ALCTRedirect+      -- ^ @REDIRECT@+    | ALCTRichMediaExpanding+      -- ^ @RICH_MEDIA_EXPANDING@+    | ALCTRichMediaImExpand+      -- ^ @RICH_MEDIA_IM_EXPAND@+    | ALCTRichMediaInpage+      -- ^ @RICH_MEDIA_INPAGE@+    | ALCTRichMediaInpageFloating+      -- ^ @RICH_MEDIA_INPAGE_FLOATING@+    | ALCTRichMediaInterstitialFloat+      -- ^ @RICH_MEDIA_INTERSTITIAL_FLOAT@+    | ALCTRichMediaMobileInApp+      -- ^ @RICH_MEDIA_MOBILE_IN_APP@+    | ALCTRichMediaMultiFloating+      -- ^ @RICH_MEDIA_MULTI_FLOATING@+    | ALCTRichMediaPeelDown+      -- ^ @RICH_MEDIA_PEEL_DOWN@+    | ALCTTrackingText+      -- ^ @TRACKING_TEXT@+    | ALCTVastRedirect+      -- ^ @VAST_REDIRECT@+    | ALCTVpaidLinear+      -- ^ @VPAID_LINEAR@+    | ALCTVpaidNonLinear+      -- ^ @VPAID_NON_LINEAR@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdsListCreativeType++instance FromText AdsListCreativeType where+    fromText = \case+        "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO" -> Just ALCTBrandSafeDefaultInstreamVideo+        "CUSTOM_INPAGE" -> Just ALCTCustomInpage+        "CUSTOM_INTERSTITIAL" -> Just ALCTCustomInterstitial+        "ENHANCED_BANNER" -> Just ALCTEnhancedBanner+        "ENHANCED_IMAGE" -> Just ALCTEnhancedImage+        "FLASH_INPAGE" -> Just ALCTFlashInpage+        "HTML5_BANNER" -> Just ALCTHTML5Banner+        "IMAGE" -> Just ALCTImage+        "INSTREAM_VIDEO" -> Just ALCTInstreamVideo+        "INTERNAL_REDIRECT" -> Just ALCTInternalRedirect+        "INTERSTITIAL_INTERNAL_REDIRECT" -> Just ALCTInterstitialInternalRedirect+        "REDIRECT" -> Just ALCTRedirect+        "RICH_MEDIA_EXPANDING" -> Just ALCTRichMediaExpanding+        "RICH_MEDIA_IM_EXPAND" -> Just ALCTRichMediaImExpand+        "RICH_MEDIA_INPAGE" -> Just ALCTRichMediaInpage+        "RICH_MEDIA_INPAGE_FLOATING" -> Just ALCTRichMediaInpageFloating+        "RICH_MEDIA_INTERSTITIAL_FLOAT" -> Just ALCTRichMediaInterstitialFloat+        "RICH_MEDIA_MOBILE_IN_APP" -> Just ALCTRichMediaMobileInApp+        "RICH_MEDIA_MULTI_FLOATING" -> Just ALCTRichMediaMultiFloating+        "RICH_MEDIA_PEEL_DOWN" -> Just ALCTRichMediaPeelDown+        "TRACKING_TEXT" -> Just ALCTTrackingText+        "VAST_REDIRECT" -> Just ALCTVastRedirect+        "VPAID_LINEAR" -> Just ALCTVpaidLinear+        "VPAID_NON_LINEAR" -> Just ALCTVpaidNonLinear+        _ -> Nothing++instance ToText AdsListCreativeType where+    toText = \case+        ALCTBrandSafeDefaultInstreamVideo -> "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"+        ALCTCustomInpage -> "CUSTOM_INPAGE"+        ALCTCustomInterstitial -> "CUSTOM_INTERSTITIAL"+        ALCTEnhancedBanner -> "ENHANCED_BANNER"+        ALCTEnhancedImage -> "ENHANCED_IMAGE"+        ALCTFlashInpage -> "FLASH_INPAGE"+        ALCTHTML5Banner -> "HTML5_BANNER"+        ALCTImage -> "IMAGE"+        ALCTInstreamVideo -> "INSTREAM_VIDEO"+        ALCTInternalRedirect -> "INTERNAL_REDIRECT"+        ALCTInterstitialInternalRedirect -> "INTERSTITIAL_INTERNAL_REDIRECT"+        ALCTRedirect -> "REDIRECT"+        ALCTRichMediaExpanding -> "RICH_MEDIA_EXPANDING"+        ALCTRichMediaImExpand -> "RICH_MEDIA_IM_EXPAND"+        ALCTRichMediaInpage -> "RICH_MEDIA_INPAGE"+        ALCTRichMediaInpageFloating -> "RICH_MEDIA_INPAGE_FLOATING"+        ALCTRichMediaInterstitialFloat -> "RICH_MEDIA_INTERSTITIAL_FLOAT"+        ALCTRichMediaMobileInApp -> "RICH_MEDIA_MOBILE_IN_APP"+        ALCTRichMediaMultiFloating -> "RICH_MEDIA_MULTI_FLOATING"+        ALCTRichMediaPeelDown -> "RICH_MEDIA_PEEL_DOWN"+        ALCTTrackingText -> "TRACKING_TEXT"+        ALCTVastRedirect -> "VAST_REDIRECT"+        ALCTVpaidLinear -> "VPAID_LINEAR"+        ALCTVpaidNonLinear -> "VPAID_NON_LINEAR"++instance FromJSON AdsListCreativeType where+    parseJSON = parseJSONText "AdsListCreativeType"++instance ToJSON AdsListCreativeType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data FloodlightActivityGroupsListSortOrder+    = FAGLSOAscending+      -- ^ @ASCENDING@+    | FAGLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityGroupsListSortOrder++instance FromText FloodlightActivityGroupsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just FAGLSOAscending+        "DESCENDING" -> Just FAGLSODescending+        _ -> Nothing++instance ToText FloodlightActivityGroupsListSortOrder where+    toText = \case+        FAGLSOAscending -> "ASCENDING"+        FAGLSODescending -> "DESCENDING"++instance FromJSON FloodlightActivityGroupsListSortOrder where+    parseJSON = parseJSONText "FloodlightActivityGroupsListSortOrder"++instance ToJSON FloodlightActivityGroupsListSortOrder where+    toJSON = toJSONText++-- | Type of creative rotation. Can be used to specify whether to use+-- sequential or random rotation.+data CreativeRotationType+    = CreativeRotationTypeRandom+      -- ^ @CREATIVE_ROTATION_TYPE_RANDOM@+    | CreativeRotationTypeSequential+      -- ^ @CREATIVE_ROTATION_TYPE_SEQUENTIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeRotationType++instance FromText CreativeRotationType where+    fromText = \case+        "CREATIVE_ROTATION_TYPE_RANDOM" -> Just CreativeRotationTypeRandom+        "CREATIVE_ROTATION_TYPE_SEQUENTIAL" -> Just CreativeRotationTypeSequential+        _ -> Nothing++instance ToText CreativeRotationType where+    toText = \case+        CreativeRotationTypeRandom -> "CREATIVE_ROTATION_TYPE_RANDOM"+        CreativeRotationTypeSequential -> "CREATIVE_ROTATION_TYPE_SEQUENTIAL"++instance FromJSON CreativeRotationType where+    parseJSON = parseJSONText "CreativeRotationType"++instance ToJSON CreativeRotationType where+    toJSON = toJSONText++-- | Field by which to sort the list.+data OrdersListSortField+    = OLSFID+      -- ^ @ID@+    | OLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrdersListSortField++instance FromText OrdersListSortField where+    fromText = \case+        "ID" -> Just OLSFID+        "NAME" -> Just OLSFName+        _ -> Nothing++instance ToText OrdersListSortField where+    toText = \case+        OLSFID -> "ID"+        OLSFName -> "NAME"++instance FromJSON OrdersListSortField where+    parseJSON = parseJSONText "OrdersListSortField"++instance ToJSON OrdersListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data PlacementGroupsListSortField+    = PGLSFID+      -- ^ @ID@+    | PGLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementGroupsListSortField++instance FromText PlacementGroupsListSortField where+    fromText = \case+        "ID" -> Just PGLSFID+        "NAME" -> Just PGLSFName+        _ -> Nothing++instance ToText PlacementGroupsListSortField where+    toText = \case+        PGLSFID -> "ID"+        PGLSFName -> "NAME"++instance FromJSON PlacementGroupsListSortField where+    parseJSON = parseJSONText "PlacementGroupsListSortField"++instance ToJSON PlacementGroupsListSortField where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data DirectorySitesListSortOrder+    = DSLSOAscending+      -- ^ @ASCENDING@+    | DSLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySitesListSortOrder++instance FromText DirectorySitesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just DSLSOAscending+        "DESCENDING" -> Just DSLSODescending+        _ -> Nothing++instance ToText DirectorySitesListSortOrder where+    toText = \case+        DSLSOAscending -> "ASCENDING"+        DSLSODescending -> "DESCENDING"++instance FromJSON DirectorySitesListSortOrder where+    parseJSON = parseJSONText "DirectorySitesListSortOrder"++instance ToJSON DirectorySitesListSortOrder where+    toJSON = toJSONText++data CreativeAssetDetectedFeaturesItem+    = CADFIApplicationCache+      -- ^ @APPLICATION_CACHE@+    | CADFIAudio+      -- ^ @AUDIO@+    | CADFICanvas+      -- ^ @CANVAS@+    | CADFICanvasText+      -- ^ @CANVAS_TEXT@+    | CADFICssAnimations+      -- ^ @CSS_ANIMATIONS@+    | CADFICssBackgRoundSize+      -- ^ @CSS_BACKGROUND_SIZE@+    | CADFICssBOrderImage+      -- ^ @CSS_BORDER_IMAGE@+    | CADFICssBOrderRadius+      -- ^ @CSS_BORDER_RADIUS@+    | CADFICssBoxShadow+      -- ^ @CSS_BOX_SHADOW@+    | CADFICssColumns+      -- ^ @CSS_COLUMNS@+    | CADFICssFlexBox+      -- ^ @CSS_FLEX_BOX@+    | CADFICssFontFace+      -- ^ @CSS_FONT_FACE@+    | CADFICssGeneratedContent+      -- ^ @CSS_GENERATED_CONTENT@+    | CADFICssGradients+      -- ^ @CSS_GRADIENTS@+    | CADFICssHsla+      -- ^ @CSS_HSLA@+    | CADFICssMultipleBgs+      -- ^ @CSS_MULTIPLE_BGS@+    | CADFICssOpacity+      -- ^ @CSS_OPACITY@+    | CADFICssReflections+      -- ^ @CSS_REFLECTIONS@+    | CADFICssRgba+      -- ^ @CSS_RGBA@+    | CADFICssTextShadow+      -- ^ @CSS_TEXT_SHADOW@+    | CADFICssTransforms+      -- ^ @CSS_TRANSFORMS@+    | CADFICssTRANSFORMS3D+      -- ^ @CSS_TRANSFORMS3D@+    | CADFICssTransitions+      -- ^ @CSS_TRANSITIONS@+    | CADFIDragAndDrop+      -- ^ @DRAG_AND_DROP@+    | CADFIGeoLocation+      -- ^ @GEO_LOCATION@+    | CADFIHashChange+      -- ^ @HASH_CHANGE@+    | CADFIHistory+      -- ^ @HISTORY@+    | CADFIIndexedDB+      -- ^ @INDEXED_DB@+    | CADFIInlineSvg+      -- ^ @INLINE_SVG@+    | CADFIInputAttrAutocomplete+      -- ^ @INPUT_ATTR_AUTOCOMPLETE@+    | CADFIInputAttrAutofocus+      -- ^ @INPUT_ATTR_AUTOFOCUS@+    | CADFIInputAttrList+      -- ^ @INPUT_ATTR_LIST@+    | CADFIInputAttrMax+      -- ^ @INPUT_ATTR_MAX@+    | CADFIInputAttrMin+      -- ^ @INPUT_ATTR_MIN@+    | CADFIInputAttrMultiple+      -- ^ @INPUT_ATTR_MULTIPLE@+    | CADFIInputAttrPattern+      -- ^ @INPUT_ATTR_PATTERN@+    | CADFIInputAttrPlaceholder+      -- ^ @INPUT_ATTR_PLACEHOLDER@+    | CADFIInputAttrRequired+      -- ^ @INPUT_ATTR_REQUIRED@+    | CADFIInputAttrStep+      -- ^ @INPUT_ATTR_STEP@+    | CADFIInputTypeColor+      -- ^ @INPUT_TYPE_COLOR@+    | CADFIInputTypeDate+      -- ^ @INPUT_TYPE_DATE@+    | CADFIInputTypeDatetime+      -- ^ @INPUT_TYPE_DATETIME@+    | CADFIInputTypeDatetimeLocal+      -- ^ @INPUT_TYPE_DATETIME_LOCAL@+    | CADFIInputTypeEmail+      -- ^ @INPUT_TYPE_EMAIL@+    | CADFIInputTypeMonth+      -- ^ @INPUT_TYPE_MONTH@+    | CADFIInputTypeNumber+      -- ^ @INPUT_TYPE_NUMBER@+    | CADFIInputTypeRange+      -- ^ @INPUT_TYPE_RANGE@+    | CADFIInputTypeSearch+      -- ^ @INPUT_TYPE_SEARCH@+    | CADFIInputTypeTel+      -- ^ @INPUT_TYPE_TEL@+    | CADFIInputTypeTime+      -- ^ @INPUT_TYPE_TIME@+    | CADFIInputTypeURL+      -- ^ @INPUT_TYPE_URL@+    | CADFIInputTypeWeek+      -- ^ @INPUT_TYPE_WEEK@+    | CADFILocalStorage+      -- ^ @LOCAL_STORAGE@+    | CADFIPostMessage+      -- ^ @POST_MESSAGE@+    | CADFISessionStorage+      -- ^ @SESSION_STORAGE@+    | CADFISmil+      -- ^ @SMIL@+    | CADFISvgClipPaths+      -- ^ @SVG_CLIP_PATHS@+    | CADFISvgFeImage+      -- ^ @SVG_FE_IMAGE@+    | CADFISvgFilters+      -- ^ @SVG_FILTERS@+    | CADFISvgHref+      -- ^ @SVG_HREF@+    | CADFITouch+      -- ^ @TOUCH@+    | CADFIVideo+      -- ^ @VIDEO@+    | CADFIWebgl+      -- ^ @WEBGL@+    | CADFIWebSockets+      -- ^ @WEB_SOCKETS@+    | CADFIWebSQLDatabase+      -- ^ @WEB_SQL_DATABASE@+    | CADFIWebWorkers+      -- ^ @WEB_WORKERS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetDetectedFeaturesItem++instance FromText CreativeAssetDetectedFeaturesItem where+    fromText = \case+        "APPLICATION_CACHE" -> Just CADFIApplicationCache+        "AUDIO" -> Just CADFIAudio+        "CANVAS" -> Just CADFICanvas+        "CANVAS_TEXT" -> Just CADFICanvasText+        "CSS_ANIMATIONS" -> Just CADFICssAnimations+        "CSS_BACKGROUND_SIZE" -> Just CADFICssBackgRoundSize+        "CSS_BORDER_IMAGE" -> Just CADFICssBOrderImage+        "CSS_BORDER_RADIUS" -> Just CADFICssBOrderRadius+        "CSS_BOX_SHADOW" -> Just CADFICssBoxShadow+        "CSS_COLUMNS" -> Just CADFICssColumns+        "CSS_FLEX_BOX" -> Just CADFICssFlexBox+        "CSS_FONT_FACE" -> Just CADFICssFontFace+        "CSS_GENERATED_CONTENT" -> Just CADFICssGeneratedContent+        "CSS_GRADIENTS" -> Just CADFICssGradients+        "CSS_HSLA" -> Just CADFICssHsla+        "CSS_MULTIPLE_BGS" -> Just CADFICssMultipleBgs+        "CSS_OPACITY" -> Just CADFICssOpacity+        "CSS_REFLECTIONS" -> Just CADFICssReflections+        "CSS_RGBA" -> Just CADFICssRgba+        "CSS_TEXT_SHADOW" -> Just CADFICssTextShadow+        "CSS_TRANSFORMS" -> Just CADFICssTransforms+        "CSS_TRANSFORMS3D" -> Just CADFICssTRANSFORMS3D+        "CSS_TRANSITIONS" -> Just CADFICssTransitions+        "DRAG_AND_DROP" -> Just CADFIDragAndDrop+        "GEO_LOCATION" -> Just CADFIGeoLocation+        "HASH_CHANGE" -> Just CADFIHashChange+        "HISTORY" -> Just CADFIHistory+        "INDEXED_DB" -> Just CADFIIndexedDB+        "INLINE_SVG" -> Just CADFIInlineSvg+        "INPUT_ATTR_AUTOCOMPLETE" -> Just CADFIInputAttrAutocomplete+        "INPUT_ATTR_AUTOFOCUS" -> Just CADFIInputAttrAutofocus+        "INPUT_ATTR_LIST" -> Just CADFIInputAttrList+        "INPUT_ATTR_MAX" -> Just CADFIInputAttrMax+        "INPUT_ATTR_MIN" -> Just CADFIInputAttrMin+        "INPUT_ATTR_MULTIPLE" -> Just CADFIInputAttrMultiple+        "INPUT_ATTR_PATTERN" -> Just CADFIInputAttrPattern+        "INPUT_ATTR_PLACEHOLDER" -> Just CADFIInputAttrPlaceholder+        "INPUT_ATTR_REQUIRED" -> Just CADFIInputAttrRequired+        "INPUT_ATTR_STEP" -> Just CADFIInputAttrStep+        "INPUT_TYPE_COLOR" -> Just CADFIInputTypeColor+        "INPUT_TYPE_DATE" -> Just CADFIInputTypeDate+        "INPUT_TYPE_DATETIME" -> Just CADFIInputTypeDatetime+        "INPUT_TYPE_DATETIME_LOCAL" -> Just CADFIInputTypeDatetimeLocal+        "INPUT_TYPE_EMAIL" -> Just CADFIInputTypeEmail+        "INPUT_TYPE_MONTH" -> Just CADFIInputTypeMonth+        "INPUT_TYPE_NUMBER" -> Just CADFIInputTypeNumber+        "INPUT_TYPE_RANGE" -> Just CADFIInputTypeRange+        "INPUT_TYPE_SEARCH" -> Just CADFIInputTypeSearch+        "INPUT_TYPE_TEL" -> Just CADFIInputTypeTel+        "INPUT_TYPE_TIME" -> Just CADFIInputTypeTime+        "INPUT_TYPE_URL" -> Just CADFIInputTypeURL+        "INPUT_TYPE_WEEK" -> Just CADFIInputTypeWeek+        "LOCAL_STORAGE" -> Just CADFILocalStorage+        "POST_MESSAGE" -> Just CADFIPostMessage+        "SESSION_STORAGE" -> Just CADFISessionStorage+        "SMIL" -> Just CADFISmil+        "SVG_CLIP_PATHS" -> Just CADFISvgClipPaths+        "SVG_FE_IMAGE" -> Just CADFISvgFeImage+        "SVG_FILTERS" -> Just CADFISvgFilters+        "SVG_HREF" -> Just CADFISvgHref+        "TOUCH" -> Just CADFITouch+        "VIDEO" -> Just CADFIVideo+        "WEBGL" -> Just CADFIWebgl+        "WEB_SOCKETS" -> Just CADFIWebSockets+        "WEB_SQL_DATABASE" -> Just CADFIWebSQLDatabase+        "WEB_WORKERS" -> Just CADFIWebWorkers+        _ -> Nothing++instance ToText CreativeAssetDetectedFeaturesItem where+    toText = \case+        CADFIApplicationCache -> "APPLICATION_CACHE"+        CADFIAudio -> "AUDIO"+        CADFICanvas -> "CANVAS"+        CADFICanvasText -> "CANVAS_TEXT"+        CADFICssAnimations -> "CSS_ANIMATIONS"+        CADFICssBackgRoundSize -> "CSS_BACKGROUND_SIZE"+        CADFICssBOrderImage -> "CSS_BORDER_IMAGE"+        CADFICssBOrderRadius -> "CSS_BORDER_RADIUS"+        CADFICssBoxShadow -> "CSS_BOX_SHADOW"+        CADFICssColumns -> "CSS_COLUMNS"+        CADFICssFlexBox -> "CSS_FLEX_BOX"+        CADFICssFontFace -> "CSS_FONT_FACE"+        CADFICssGeneratedContent -> "CSS_GENERATED_CONTENT"+        CADFICssGradients -> "CSS_GRADIENTS"+        CADFICssHsla -> "CSS_HSLA"+        CADFICssMultipleBgs -> "CSS_MULTIPLE_BGS"+        CADFICssOpacity -> "CSS_OPACITY"+        CADFICssReflections -> "CSS_REFLECTIONS"+        CADFICssRgba -> "CSS_RGBA"+        CADFICssTextShadow -> "CSS_TEXT_SHADOW"+        CADFICssTransforms -> "CSS_TRANSFORMS"+        CADFICssTRANSFORMS3D -> "CSS_TRANSFORMS3D"+        CADFICssTransitions -> "CSS_TRANSITIONS"+        CADFIDragAndDrop -> "DRAG_AND_DROP"+        CADFIGeoLocation -> "GEO_LOCATION"+        CADFIHashChange -> "HASH_CHANGE"+        CADFIHistory -> "HISTORY"+        CADFIIndexedDB -> "INDEXED_DB"+        CADFIInlineSvg -> "INLINE_SVG"+        CADFIInputAttrAutocomplete -> "INPUT_ATTR_AUTOCOMPLETE"+        CADFIInputAttrAutofocus -> "INPUT_ATTR_AUTOFOCUS"+        CADFIInputAttrList -> "INPUT_ATTR_LIST"+        CADFIInputAttrMax -> "INPUT_ATTR_MAX"+        CADFIInputAttrMin -> "INPUT_ATTR_MIN"+        CADFIInputAttrMultiple -> "INPUT_ATTR_MULTIPLE"+        CADFIInputAttrPattern -> "INPUT_ATTR_PATTERN"+        CADFIInputAttrPlaceholder -> "INPUT_ATTR_PLACEHOLDER"+        CADFIInputAttrRequired -> "INPUT_ATTR_REQUIRED"+        CADFIInputAttrStep -> "INPUT_ATTR_STEP"+        CADFIInputTypeColor -> "INPUT_TYPE_COLOR"+        CADFIInputTypeDate -> "INPUT_TYPE_DATE"+        CADFIInputTypeDatetime -> "INPUT_TYPE_DATETIME"+        CADFIInputTypeDatetimeLocal -> "INPUT_TYPE_DATETIME_LOCAL"+        CADFIInputTypeEmail -> "INPUT_TYPE_EMAIL"+        CADFIInputTypeMonth -> "INPUT_TYPE_MONTH"+        CADFIInputTypeNumber -> "INPUT_TYPE_NUMBER"+        CADFIInputTypeRange -> "INPUT_TYPE_RANGE"+        CADFIInputTypeSearch -> "INPUT_TYPE_SEARCH"+        CADFIInputTypeTel -> "INPUT_TYPE_TEL"+        CADFIInputTypeTime -> "INPUT_TYPE_TIME"+        CADFIInputTypeURL -> "INPUT_TYPE_URL"+        CADFIInputTypeWeek -> "INPUT_TYPE_WEEK"+        CADFILocalStorage -> "LOCAL_STORAGE"+        CADFIPostMessage -> "POST_MESSAGE"+        CADFISessionStorage -> "SESSION_STORAGE"+        CADFISmil -> "SMIL"+        CADFISvgClipPaths -> "SVG_CLIP_PATHS"+        CADFISvgFeImage -> "SVG_FE_IMAGE"+        CADFISvgFilters -> "SVG_FILTERS"+        CADFISvgHref -> "SVG_HREF"+        CADFITouch -> "TOUCH"+        CADFIVideo -> "VIDEO"+        CADFIWebgl -> "WEBGL"+        CADFIWebSockets -> "WEB_SOCKETS"+        CADFIWebSQLDatabase -> "WEB_SQL_DATABASE"+        CADFIWebWorkers -> "WEB_WORKERS"++instance FromJSON CreativeAssetDetectedFeaturesItem where+    parseJSON = parseJSONText "CreativeAssetDetectedFeaturesItem"++instance ToJSON CreativeAssetDetectedFeaturesItem where+    toJSON = toJSONText++-- | Type of the floodlight activity group. This is a required field that is+-- read-only after insertion.+data FloodlightActivityGroupType+    = FAGTCounter+      -- ^ @COUNTER@+    | FAGTSale+      -- ^ @SALE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityGroupType++instance FromText FloodlightActivityGroupType where+    fromText = \case+        "COUNTER" -> Just FAGTCounter+        "SALE" -> Just FAGTSale+        _ -> Nothing++instance ToText FloodlightActivityGroupType where+    toText = \case+        FAGTCounter -> "COUNTER"+        FAGTSale -> "SALE"++instance FromJSON FloodlightActivityGroupType where+    parseJSON = parseJSONText "FloodlightActivityGroupType"++instance ToJSON FloodlightActivityGroupType where+    toJSON = toJSONText++-- | Directory site contact type.+data DirectorySiteContactType+    = DSCTBilling+      -- ^ @BILLING@+    | DSCTOther+      -- ^ @OTHER@+    | DSCTSales+      -- ^ @SALES@+    | DSCTTechnical+      -- ^ @TECHNICAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteContactType++instance FromText DirectorySiteContactType where+    fromText = \case+        "BILLING" -> Just DSCTBilling+        "OTHER" -> Just DSCTOther+        "SALES" -> Just DSCTSales+        "TECHNICAL" -> Just DSCTTechnical+        _ -> Nothing++instance ToText DirectorySiteContactType where+    toText = \case+        DSCTBilling -> "BILLING"+        DSCTOther -> "OTHER"+        DSCTSales -> "SALES"+        DSCTTechnical -> "TECHNICAL"++instance FromJSON DirectorySiteContactType where+    parseJSON = parseJSONText "DirectorySiteContactType"++instance ToJSON DirectorySiteContactType where+    toJSON = toJSONText++-- | Tag formats to generate for these placements.+data PlacementsGeneratetagsTagFormats+    = PGTFPlacementTagClickCommands+      -- ^ @PLACEMENT_TAG_CLICK_COMMANDS@+    | PGTFPlacementTagIframeIlayer+      -- ^ @PLACEMENT_TAG_IFRAME_ILAYER@+    | PGTFPlacementTagIframeJavascript+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT@+    | PGTFPlacementTagIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY@+    | PGTFPlacementTagInstreamVideoPrefetch+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH@+    | PGTFPlacementTagInstreamVideoPrefetchVast3+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3@+    | PGTFPlacementTagInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERNAL_REDIRECT@+    | PGTFPlacementTagInterstitialIframeJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT@+    | PGTFPlacementTagInterstitialIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY@+    | PGTFPlacementTagInterstitialInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT@+    | PGTFPlacementTagInterstitialJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT@+    | PGTFPlacementTagInterstitialJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY@+    | PGTFPlacementTagJavascript+      -- ^ @PLACEMENT_TAG_JAVASCRIPT@+    | PGTFPlacementTagJavascriptLegacy+      -- ^ @PLACEMENT_TAG_JAVASCRIPT_LEGACY@+    | PGTFPlacementTagStandard+      -- ^ @PLACEMENT_TAG_STANDARD@+    | PGTFPlacementTagTracking+      -- ^ @PLACEMENT_TAG_TRACKING@+    | PGTFPlacementTagTrackingIframe+      -- ^ @PLACEMENT_TAG_TRACKING_IFRAME@+    | PGTFPlacementTagTrackingJavascript+      -- ^ @PLACEMENT_TAG_TRACKING_JAVASCRIPT@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsGeneratetagsTagFormats++instance FromText PlacementsGeneratetagsTagFormats where+    fromText = \case+        "PLACEMENT_TAG_CLICK_COMMANDS" -> Just PGTFPlacementTagClickCommands+        "PLACEMENT_TAG_IFRAME_ILAYER" -> Just PGTFPlacementTagIframeIlayer+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -> Just PGTFPlacementTagIframeJavascript+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY" -> Just PGTFPlacementTagIframeJavascriptLegacy+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -> Just PGTFPlacementTagInstreamVideoPrefetch+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -> Just PGTFPlacementTagInstreamVideoPrefetchVast3+        "PLACEMENT_TAG_INTERNAL_REDIRECT" -> Just PGTFPlacementTagInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -> Just PGTFPlacementTagInterstitialIframeJavascript+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY" -> Just PGTFPlacementTagInterstitialIframeJavascriptLegacy+        "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -> Just PGTFPlacementTagInterstitialInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -> Just PGTFPlacementTagInterstitialJavascript+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY" -> Just PGTFPlacementTagInterstitialJavascriptLegacy+        "PLACEMENT_TAG_JAVASCRIPT" -> Just PGTFPlacementTagJavascript+        "PLACEMENT_TAG_JAVASCRIPT_LEGACY" -> Just PGTFPlacementTagJavascriptLegacy+        "PLACEMENT_TAG_STANDARD" -> Just PGTFPlacementTagStandard+        "PLACEMENT_TAG_TRACKING" -> Just PGTFPlacementTagTracking+        "PLACEMENT_TAG_TRACKING_IFRAME" -> Just PGTFPlacementTagTrackingIframe+        "PLACEMENT_TAG_TRACKING_JAVASCRIPT" -> Just PGTFPlacementTagTrackingJavascript+        _ -> Nothing++instance ToText PlacementsGeneratetagsTagFormats where+    toText = \case+        PGTFPlacementTagClickCommands -> "PLACEMENT_TAG_CLICK_COMMANDS"+        PGTFPlacementTagIframeIlayer -> "PLACEMENT_TAG_IFRAME_ILAYER"+        PGTFPlacementTagIframeJavascript -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT"+        PGTFPlacementTagIframeJavascriptLegacy -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"+        PGTFPlacementTagInstreamVideoPrefetch -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"+        PGTFPlacementTagInstreamVideoPrefetchVast3 -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"+        PGTFPlacementTagInternalRedirect -> "PLACEMENT_TAG_INTERNAL_REDIRECT"+        PGTFPlacementTagInterstitialIframeJavascript -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"+        PGTFPlacementTagInterstitialIframeJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"+        PGTFPlacementTagInterstitialInternalRedirect -> "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"+        PGTFPlacementTagInterstitialJavascript -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"+        PGTFPlacementTagInterstitialJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"+        PGTFPlacementTagJavascript -> "PLACEMENT_TAG_JAVASCRIPT"+        PGTFPlacementTagJavascriptLegacy -> "PLACEMENT_TAG_JAVASCRIPT_LEGACY"+        PGTFPlacementTagStandard -> "PLACEMENT_TAG_STANDARD"+        PGTFPlacementTagTracking -> "PLACEMENT_TAG_TRACKING"+        PGTFPlacementTagTrackingIframe -> "PLACEMENT_TAG_TRACKING_IFRAME"+        PGTFPlacementTagTrackingJavascript -> "PLACEMENT_TAG_TRACKING_JAVASCRIPT"++instance FromJSON PlacementsGeneratetagsTagFormats where+    parseJSON = parseJSONText "PlacementsGeneratetagsTagFormats"++instance ToJSON PlacementsGeneratetagsTagFormats where+    toJSON = toJSONText++-- | Field by which to sort the list.+data AccountUserProFilesListSortField+    = AUPFLSFID+      -- ^ @ID@+    | AUPFLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountUserProFilesListSortField++instance FromText AccountUserProFilesListSortField where+    fromText = \case+        "ID" -> Just AUPFLSFID+        "NAME" -> Just AUPFLSFName+        _ -> Nothing++instance ToText AccountUserProFilesListSortField where+    toText = \case+        AUPFLSFID -> "ID"+        AUPFLSFName -> "NAME"++instance FromJSON AccountUserProFilesListSortField where+    parseJSON = parseJSONText "AccountUserProFilesListSortField"++instance ToJSON AccountUserProFilesListSortField where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data InventoryItemsListSortOrder+    = IILSOAscending+      -- ^ @ASCENDING@+    | IILSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable InventoryItemsListSortOrder++instance FromText InventoryItemsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just IILSOAscending+        "DESCENDING" -> Just IILSODescending+        _ -> Nothing++instance ToText InventoryItemsListSortOrder where+    toText = \case+        IILSOAscending -> "ASCENDING"+        IILSODescending -> "DESCENDING"++instance FromJSON InventoryItemsListSortOrder where+    parseJSON = parseJSONText "InventoryItemsListSortOrder"++instance ToJSON InventoryItemsListSortOrder where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data PlacementStrategiesListSortOrder+    = PSLSOAscending+      -- ^ @ASCENDING@+    | PSLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementStrategiesListSortOrder++instance FromText PlacementStrategiesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just PSLSOAscending+        "DESCENDING" -> Just PSLSODescending+        _ -> Nothing++instance ToText PlacementStrategiesListSortOrder where+    toText = \case+        PSLSOAscending -> "ASCENDING"+        PSLSODescending -> "DESCENDING"++instance FromJSON PlacementStrategiesListSortOrder where+    parseJSON = parseJSONText "PlacementStrategiesListSortOrder"++instance ToJSON PlacementStrategiesListSortOrder where+    toJSON = toJSONText++-- | The field by which to sort the list.+data ReportsFilesListSortField+    = RFLSFID+      -- ^ @ID@+      -- Sort by file ID.+    | RFLSFLastModifiedTime+      -- ^ @LAST_MODIFIED_TIME@+      -- Sort by \'lastmodifiedAt\' field.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportsFilesListSortField++instance FromText ReportsFilesListSortField where+    fromText = \case+        "ID" -> Just RFLSFID+        "LAST_MODIFIED_TIME" -> Just RFLSFLastModifiedTime+        _ -> Nothing++instance ToText ReportsFilesListSortField where+    toText = \case+        RFLSFID -> "ID"+        RFLSFLastModifiedTime -> "LAST_MODIFIED_TIME"++instance FromJSON ReportsFilesListSortField where+    parseJSON = parseJSONText "ReportsFilesListSortField"++instance ToJSON ReportsFilesListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data CreativesListSortField+    = CID+      -- ^ @ID@+    | CName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativesListSortField++instance FromText CreativesListSortField where+    fromText = \case+        "ID" -> Just CID+        "NAME" -> Just CName+        _ -> Nothing++instance ToText CreativesListSortField where+    toText = \case+        CID -> "ID"+        CName -> "NAME"++instance FromJSON CreativesListSortField where+    parseJSON = parseJSONText "CreativesListSortField"++instance ToJSON CreativesListSortField where+    toJSON = toJSONText++data DayPartTargetingDaysOfWeekItem+    = DPTDOWIFriday+      -- ^ @FRIDAY@+    | DPTDOWIMonday+      -- ^ @MONDAY@+    | DPTDOWISaturday+      -- ^ @SATURDAY@+    | DPTDOWISunday+      -- ^ @SUNDAY@+    | DPTDOWIThursday+      -- ^ @THURSDAY@+    | DPTDOWITuesday+      -- ^ @TUESDAY@+    | DPTDOWIWednesday+      -- ^ @WEDNESDAY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DayPartTargetingDaysOfWeekItem++instance FromText DayPartTargetingDaysOfWeekItem where+    fromText = \case+        "FRIDAY" -> Just DPTDOWIFriday+        "MONDAY" -> Just DPTDOWIMonday+        "SATURDAY" -> Just DPTDOWISaturday+        "SUNDAY" -> Just DPTDOWISunday+        "THURSDAY" -> Just DPTDOWIThursday+        "TUESDAY" -> Just DPTDOWITuesday+        "WEDNESDAY" -> Just DPTDOWIWednesday+        _ -> Nothing++instance ToText DayPartTargetingDaysOfWeekItem where+    toText = \case+        DPTDOWIFriday -> "FRIDAY"+        DPTDOWIMonday -> "MONDAY"+        DPTDOWISaturday -> "SATURDAY"+        DPTDOWISunday -> "SUNDAY"+        DPTDOWIThursday -> "THURSDAY"+        DPTDOWITuesday -> "TUESDAY"+        DPTDOWIWednesday -> "WEDNESDAY"++instance FromJSON DayPartTargetingDaysOfWeekItem where+    parseJSON = parseJSONText "DayPartTargetingDaysOfWeekItem"++instance ToJSON DayPartTargetingDaysOfWeekItem where+    toJSON = toJSONText++-- | Strategy for calculating weights. Used with+-- CREATIVE_ROTATION_TYPE_RANDOM.+data CreativeRotationWeightCalculationStrategy+    = WeightStrategyCustom+      -- ^ @WEIGHT_STRATEGY_CUSTOM@+    | WeightStrategyEqual+      -- ^ @WEIGHT_STRATEGY_EQUAL@+    | WeightStrategyHighestCtr+      -- ^ @WEIGHT_STRATEGY_HIGHEST_CTR@+    | WeightStrategyOptimized+      -- ^ @WEIGHT_STRATEGY_OPTIMIZED@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeRotationWeightCalculationStrategy++instance FromText CreativeRotationWeightCalculationStrategy where+    fromText = \case+        "WEIGHT_STRATEGY_CUSTOM" -> Just WeightStrategyCustom+        "WEIGHT_STRATEGY_EQUAL" -> Just WeightStrategyEqual+        "WEIGHT_STRATEGY_HIGHEST_CTR" -> Just WeightStrategyHighestCtr+        "WEIGHT_STRATEGY_OPTIMIZED" -> Just WeightStrategyOptimized+        _ -> Nothing++instance ToText CreativeRotationWeightCalculationStrategy where+    toText = \case+        WeightStrategyCustom -> "WEIGHT_STRATEGY_CUSTOM"+        WeightStrategyEqual -> "WEIGHT_STRATEGY_EQUAL"+        WeightStrategyHighestCtr -> "WEIGHT_STRATEGY_HIGHEST_CTR"+        WeightStrategyOptimized -> "WEIGHT_STRATEGY_OPTIMIZED"++instance FromJSON CreativeRotationWeightCalculationStrategy where+    parseJSON = parseJSONText "CreativeRotationWeightCalculationStrategy"++instance ToJSON CreativeRotationWeightCalculationStrategy where+    toJSON = toJSONText++-- | The scope that defines which results are returned, default is \'MINE\'.+data FilesListScope+    = FLSAll+      -- ^ @ALL@+      -- All files in account.+    | FLSMine+      -- ^ @MINE@+      -- My files.+    | FLSSharedWithMe+      -- ^ @SHARED_WITH_ME@+      -- Files shared with me.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesListScope++instance FromText FilesListScope where+    fromText = \case+        "ALL" -> Just FLSAll+        "MINE" -> Just FLSMine+        "SHARED_WITH_ME" -> Just FLSSharedWithMe+        _ -> Nothing++instance ToText FilesListScope where+    toText = \case+        FLSAll -> "ALL"+        FLSMine -> "MINE"+        FLSSharedWithMe -> "SHARED_WITH_ME"++instance FromJSON FilesListScope where+    parseJSON = parseJSONText "FilesListScope"++instance ToJSON FilesListScope where+    toJSON = toJSONText++-- | Field by which to sort the list.+data ContentCategoriesListSortField+    = CCLSFID+      -- ^ @ID@+    | CCLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ContentCategoriesListSortField++instance FromText ContentCategoriesListSortField where+    fromText = \case+        "ID" -> Just CCLSFID+        "NAME" -> Just CCLSFName+        _ -> Nothing++instance ToText ContentCategoriesListSortField where+    toText = \case+        CCLSFID -> "ID"+        CCLSFName -> "NAME"++instance FromJSON ContentCategoriesListSortField where+    parseJSON = parseJSONText "ContentCategoriesListSortField"++instance ToJSON ContentCategoriesListSortField where+    toJSON = toJSONText++-- | Audience age group of this project.+data ProjectAudienceAgeGroup+    = PlanningAudienceAge1824+      -- ^ @PLANNING_AUDIENCE_AGE_18_24@+    | PlanningAudienceAge2534+      -- ^ @PLANNING_AUDIENCE_AGE_25_34@+    | PlanningAudienceAge3544+      -- ^ @PLANNING_AUDIENCE_AGE_35_44@+    | PlanningAudienceAge4554+      -- ^ @PLANNING_AUDIENCE_AGE_45_54@+    | PlanningAudienceAge5564+      -- ^ @PLANNING_AUDIENCE_AGE_55_64@+    | PlanningAudienceAge65OrMore+      -- ^ @PLANNING_AUDIENCE_AGE_65_OR_MORE@+    | PlanningAudienceAgeUnknown+      -- ^ @PLANNING_AUDIENCE_AGE_UNKNOWN@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ProjectAudienceAgeGroup++instance FromText ProjectAudienceAgeGroup where+    fromText = \case+        "PLANNING_AUDIENCE_AGE_18_24" -> Just PlanningAudienceAge1824+        "PLANNING_AUDIENCE_AGE_25_34" -> Just PlanningAudienceAge2534+        "PLANNING_AUDIENCE_AGE_35_44" -> Just PlanningAudienceAge3544+        "PLANNING_AUDIENCE_AGE_45_54" -> Just PlanningAudienceAge4554+        "PLANNING_AUDIENCE_AGE_55_64" -> Just PlanningAudienceAge5564+        "PLANNING_AUDIENCE_AGE_65_OR_MORE" -> Just PlanningAudienceAge65OrMore+        "PLANNING_AUDIENCE_AGE_UNKNOWN" -> Just PlanningAudienceAgeUnknown+        _ -> Nothing++instance ToText ProjectAudienceAgeGroup where+    toText = \case+        PlanningAudienceAge1824 -> "PLANNING_AUDIENCE_AGE_18_24"+        PlanningAudienceAge2534 -> "PLANNING_AUDIENCE_AGE_25_34"+        PlanningAudienceAge3544 -> "PLANNING_AUDIENCE_AGE_35_44"+        PlanningAudienceAge4554 -> "PLANNING_AUDIENCE_AGE_45_54"+        PlanningAudienceAge5564 -> "PLANNING_AUDIENCE_AGE_55_64"+        PlanningAudienceAge65OrMore -> "PLANNING_AUDIENCE_AGE_65_OR_MORE"+        PlanningAudienceAgeUnknown -> "PLANNING_AUDIENCE_AGE_UNKNOWN"++instance FromJSON ProjectAudienceAgeGroup where+    parseJSON = parseJSONText "ProjectAudienceAgeGroup"++instance ToJSON ProjectAudienceAgeGroup where+    toJSON = toJSONText++-- | Type of ad. This is a required field on insertion. Note that default ads+-- (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative+-- resource).+data AdType+    = ATAdServingClickTracker+      -- ^ @AD_SERVING_CLICK_TRACKER@+    | ATAdServingDefaultAd+      -- ^ @AD_SERVING_DEFAULT_AD@+    | ATAdServingStandardAd+      -- ^ @AD_SERVING_STANDARD_AD@+    | ATAdServingTracking+      -- ^ @AD_SERVING_TRACKING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdType++instance FromText AdType where+    fromText = \case+        "AD_SERVING_CLICK_TRACKER" -> Just ATAdServingClickTracker+        "AD_SERVING_DEFAULT_AD" -> Just ATAdServingDefaultAd+        "AD_SERVING_STANDARD_AD" -> Just ATAdServingStandardAd+        "AD_SERVING_TRACKING" -> Just ATAdServingTracking+        _ -> Nothing++instance ToText AdType where+    toText = \case+        ATAdServingClickTracker -> "AD_SERVING_CLICK_TRACKER"+        ATAdServingDefaultAd -> "AD_SERVING_DEFAULT_AD"+        ATAdServingStandardAd -> "AD_SERVING_STANDARD_AD"+        ATAdServingTracking -> "AD_SERVING_TRACKING"++instance FromJSON AdType where+    parseJSON = parseJSONText "AdType"++instance ToJSON AdType where+    toJSON = toJSONText++-- | Select only change logs with the specified action.+data ChangeLogsListAction+    = ActionAdd+      -- ^ @ACTION_ADD@+    | ActionAssign+      -- ^ @ACTION_ASSIGN@+    | ActionAssociate+      -- ^ @ACTION_ASSOCIATE@+    | ActionCreate+      -- ^ @ACTION_CREATE@+    | ActionDelete+      -- ^ @ACTION_DELETE@+    | ActionDisable+      -- ^ @ACTION_DISABLE@+    | ActionEmailTags+      -- ^ @ACTION_EMAIL_TAGS@+    | ActionEnable+      -- ^ @ACTION_ENABLE@+    | ActionLink+      -- ^ @ACTION_LINK@+    | ActionMarkAsDefault+      -- ^ @ACTION_MARK_AS_DEFAULT@+    | ActionPush+      -- ^ @ACTION_PUSH@+    | ActionRemove+      -- ^ @ACTION_REMOVE@+    | ActionSend+      -- ^ @ACTION_SEND@+    | ActionShare+      -- ^ @ACTION_SHARE@+    | ActionUnassign+      -- ^ @ACTION_UNASSIGN@+    | ActionUnlink+      -- ^ @ACTION_UNLINK@+    | ActionUpdate+      -- ^ @ACTION_UPDATE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ChangeLogsListAction++instance FromText ChangeLogsListAction where+    fromText = \case+        "ACTION_ADD" -> Just ActionAdd+        "ACTION_ASSIGN" -> Just ActionAssign+        "ACTION_ASSOCIATE" -> Just ActionAssociate+        "ACTION_CREATE" -> Just ActionCreate+        "ACTION_DELETE" -> Just ActionDelete+        "ACTION_DISABLE" -> Just ActionDisable+        "ACTION_EMAIL_TAGS" -> Just ActionEmailTags+        "ACTION_ENABLE" -> Just ActionEnable+        "ACTION_LINK" -> Just ActionLink+        "ACTION_MARK_AS_DEFAULT" -> Just ActionMarkAsDefault+        "ACTION_PUSH" -> Just ActionPush+        "ACTION_REMOVE" -> Just ActionRemove+        "ACTION_SEND" -> Just ActionSend+        "ACTION_SHARE" -> Just ActionShare+        "ACTION_UNASSIGN" -> Just ActionUnassign+        "ACTION_UNLINK" -> Just ActionUnlink+        "ACTION_UPDATE" -> Just ActionUpdate+        _ -> Nothing++instance ToText ChangeLogsListAction where+    toText = \case+        ActionAdd -> "ACTION_ADD"+        ActionAssign -> "ACTION_ASSIGN"+        ActionAssociate -> "ACTION_ASSOCIATE"+        ActionCreate -> "ACTION_CREATE"+        ActionDelete -> "ACTION_DELETE"+        ActionDisable -> "ACTION_DISABLE"+        ActionEmailTags -> "ACTION_EMAIL_TAGS"+        ActionEnable -> "ACTION_ENABLE"+        ActionLink -> "ACTION_LINK"+        ActionMarkAsDefault -> "ACTION_MARK_AS_DEFAULT"+        ActionPush -> "ACTION_PUSH"+        ActionRemove -> "ACTION_REMOVE"+        ActionSend -> "ACTION_SEND"+        ActionShare -> "ACTION_SHARE"+        ActionUnassign -> "ACTION_UNASSIGN"+        ActionUnlink -> "ACTION_UNLINK"+        ActionUpdate -> "ACTION_UPDATE"++instance FromJSON ChangeLogsListAction where+    parseJSON = parseJSONText "ChangeLogsListAction"++instance ToJSON ChangeLogsListAction where+    toJSON = toJSONText++-- | Type of artwork used for the creative. This is a read-only field.+-- Applicable to the following creative types: all RICH_MEDIA, and all+-- VPAID.+data CreativeArtworkType+    = CATArtworkTypeFlash+      -- ^ @ARTWORK_TYPE_FLASH@+    | CATArtworkTypeHTML5+      -- ^ @ARTWORK_TYPE_HTML5@+    | CATArtworkTypeMixed+      -- ^ @ARTWORK_TYPE_MIXED@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeArtworkType++instance FromText CreativeArtworkType where+    fromText = \case+        "ARTWORK_TYPE_FLASH" -> Just CATArtworkTypeFlash+        "ARTWORK_TYPE_HTML5" -> Just CATArtworkTypeHTML5+        "ARTWORK_TYPE_MIXED" -> Just CATArtworkTypeMixed+        _ -> Nothing++instance ToText CreativeArtworkType where+    toText = \case+        CATArtworkTypeFlash -> "ARTWORK_TYPE_FLASH"+        CATArtworkTypeHTML5 -> "ARTWORK_TYPE_HTML5"+        CATArtworkTypeMixed -> "ARTWORK_TYPE_MIXED"++instance FromJSON CreativeArtworkType where+    parseJSON = parseJSONText "CreativeArtworkType"++instance ToJSON CreativeArtworkType where+    toJSON = toJSONText++-- | Third-party placement status.+data PlacementStatus+    = AcknowledgeAcceptance+      -- ^ @ACKNOWLEDGE_ACCEPTANCE@+    | AcknowledgeRejection+      -- ^ @ACKNOWLEDGE_REJECTION@+    | Draft+      -- ^ @DRAFT@+    | PaymentAccepted+      -- ^ @PAYMENT_ACCEPTED@+    | PaymentRejected+      -- ^ @PAYMENT_REJECTED@+    | PendingReview+      -- ^ @PENDING_REVIEW@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementStatus++instance FromText PlacementStatus where+    fromText = \case+        "ACKNOWLEDGE_ACCEPTANCE" -> Just AcknowledgeAcceptance+        "ACKNOWLEDGE_REJECTION" -> Just AcknowledgeRejection+        "DRAFT" -> Just Draft+        "PAYMENT_ACCEPTED" -> Just PaymentAccepted+        "PAYMENT_REJECTED" -> Just PaymentRejected+        "PENDING_REVIEW" -> Just PendingReview+        _ -> Nothing++instance ToText PlacementStatus where+    toText = \case+        AcknowledgeAcceptance -> "ACKNOWLEDGE_ACCEPTANCE"+        AcknowledgeRejection -> "ACKNOWLEDGE_REJECTION"+        Draft -> "DRAFT"+        PaymentAccepted -> "PAYMENT_ACCEPTED"+        PaymentRejected -> "PAYMENT_REJECTED"+        PendingReview -> "PENDING_REVIEW"++instance FromJSON PlacementStatus where+    parseJSON = parseJSONText "PlacementStatus"++instance ToJSON PlacementStatus where+    toJSON = toJSONText++-- | Enum to define for \"MONTHLY\" scheduled reports whether reports should+-- be repeated on the same day of the month as \"startDate\" or the same+-- day of the week of the month. Example: If \'startDate\' is Monday, April+-- 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on+-- the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent+-- reports on the first Monday of the month.+data ReportScheduleRunsOnDayOfMonth+    = DayOfMonth+      -- ^ @DAY_OF_MONTH@+    | WeekOfMonth+      -- ^ @WEEK_OF_MONTH@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportScheduleRunsOnDayOfMonth++instance FromText ReportScheduleRunsOnDayOfMonth where+    fromText = \case+        "DAY_OF_MONTH" -> Just DayOfMonth+        "WEEK_OF_MONTH" -> Just WeekOfMonth+        _ -> Nothing++instance ToText ReportScheduleRunsOnDayOfMonth where+    toText = \case+        DayOfMonth -> "DAY_OF_MONTH"+        WeekOfMonth -> "WEEK_OF_MONTH"++instance FromJSON ReportScheduleRunsOnDayOfMonth where+    parseJSON = parseJSONText "ReportScheduleRunsOnDayOfMonth"++instance ToJSON ReportScheduleRunsOnDayOfMonth where+    toJSON = toJSONText++data FloodlightActivityUserDefinedVariableTypesItem+    = FAUDVTIU1+      -- ^ @U1@+    | FAUDVTIU10+      -- ^ @U10@+    | FAUDVTIU11+      -- ^ @U11@+    | FAUDVTIU12+      -- ^ @U12@+    | FAUDVTIU13+      -- ^ @U13@+    | FAUDVTIU14+      -- ^ @U14@+    | FAUDVTIU15+      -- ^ @U15@+    | FAUDVTIU16+      -- ^ @U16@+    | FAUDVTIU17+      -- ^ @U17@+    | FAUDVTIU18+      -- ^ @U18@+    | FAUDVTIU19+      -- ^ @U19@+    | FAUDVTIU2+      -- ^ @U2@+    | FAUDVTIU20+      -- ^ @U20@+    | FAUDVTIU3+      -- ^ @U3@+    | FAUDVTIU4+      -- ^ @U4@+    | FAUDVTIU5+      -- ^ @U5@+    | FAUDVTIU6+      -- ^ @U6@+    | FAUDVTIU7+      -- ^ @U7@+    | FAUDVTIU8+      -- ^ @U8@+    | FAUDVTIU9+      -- ^ @U9@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityUserDefinedVariableTypesItem++instance FromText FloodlightActivityUserDefinedVariableTypesItem where+    fromText = \case+        "U1" -> Just FAUDVTIU1+        "U10" -> Just FAUDVTIU10+        "U11" -> Just FAUDVTIU11+        "U12" -> Just FAUDVTIU12+        "U13" -> Just FAUDVTIU13+        "U14" -> Just FAUDVTIU14+        "U15" -> Just FAUDVTIU15+        "U16" -> Just FAUDVTIU16+        "U17" -> Just FAUDVTIU17+        "U18" -> Just FAUDVTIU18+        "U19" -> Just FAUDVTIU19+        "U2" -> Just FAUDVTIU2+        "U20" -> Just FAUDVTIU20+        "U3" -> Just FAUDVTIU3+        "U4" -> Just FAUDVTIU4+        "U5" -> Just FAUDVTIU5+        "U6" -> Just FAUDVTIU6+        "U7" -> Just FAUDVTIU7+        "U8" -> Just FAUDVTIU8+        "U9" -> Just FAUDVTIU9+        _ -> Nothing++instance ToText FloodlightActivityUserDefinedVariableTypesItem where+    toText = \case+        FAUDVTIU1 -> "U1"+        FAUDVTIU10 -> "U10"+        FAUDVTIU11 -> "U11"+        FAUDVTIU12 -> "U12"+        FAUDVTIU13 -> "U13"+        FAUDVTIU14 -> "U14"+        FAUDVTIU15 -> "U15"+        FAUDVTIU16 -> "U16"+        FAUDVTIU17 -> "U17"+        FAUDVTIU18 -> "U18"+        FAUDVTIU19 -> "U19"+        FAUDVTIU2 -> "U2"+        FAUDVTIU20 -> "U20"+        FAUDVTIU3 -> "U3"+        FAUDVTIU4 -> "U4"+        FAUDVTIU5 -> "U5"+        FAUDVTIU6 -> "U6"+        FAUDVTIU7 -> "U7"+        FAUDVTIU8 -> "U8"+        FAUDVTIU9 -> "U9"++instance FromJSON FloodlightActivityUserDefinedVariableTypesItem where+    parseJSON = parseJSONText "FloodlightActivityUserDefinedVariableTypesItem"++instance ToJSON FloodlightActivityUserDefinedVariableTypesItem where+    toJSON = toJSONText++-- | Site filter type for this event tag. If no type is specified then the+-- event tag will be applied to all sites.+data EventTagSiteFilterType+    = BlackList+      -- ^ @BLACKLIST@+    | WhiteList+      -- ^ @WHITELIST@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagSiteFilterType++instance FromText EventTagSiteFilterType where+    fromText = \case+        "BLACKLIST" -> Just BlackList+        "WHITELIST" -> Just WhiteList+        _ -> Nothing++instance ToText EventTagSiteFilterType where+    toText = \case+        BlackList -> "BLACKLIST"+        WhiteList -> "WHITELIST"++instance FromJSON EventTagSiteFilterType where+    parseJSON = parseJSONText "EventTagSiteFilterType"++instance ToJSON EventTagSiteFilterType where+    toJSON = toJSONText++-- | The output format of the report. If not specified, default format is+-- \"CSV\". Note that the actual format in the completed report file might+-- differ if for instance the report\'s size exceeds the format\'s+-- capabilities. \"CSV\" will then be the fallback format.+data ReportFormat+    = RFCSV+      -- ^ @CSV@+    | RFExcel+      -- ^ @EXCEL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportFormat++instance FromText ReportFormat where+    fromText = \case+        "CSV" -> Just RFCSV+        "EXCEL" -> Just RFExcel+        _ -> Nothing++instance ToText ReportFormat where+    toText = \case+        RFCSV -> "CSV"+        RFExcel -> "EXCEL"++instance FromJSON ReportFormat where+    parseJSON = parseJSONText "ReportFormat"++instance ToJSON ReportFormat where+    toJSON = toJSONText++-- | Type of this placement group. A package is a simple group of placements+-- that acts as a single pricing point for a group of tags. A roadblock is+-- a group of placements that not only acts as a single pricing point, but+-- also assumes that all the tags in it will be served at the same time. A+-- roadblock requires one of its assigned placements to be marked as+-- primary for reporting. This field is required on insertion.+data PlacementGroupPlacementGroupType+    = PGPGTPlacementPackage+      -- ^ @PLACEMENT_PACKAGE@+    | PGPGTPlacementRoadblock+      -- ^ @PLACEMENT_ROADBLOCK@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementGroupPlacementGroupType++instance FromText PlacementGroupPlacementGroupType where+    fromText = \case+        "PLACEMENT_PACKAGE" -> Just PGPGTPlacementPackage+        "PLACEMENT_ROADBLOCK" -> Just PGPGTPlacementRoadblock+        _ -> Nothing++instance ToText PlacementGroupPlacementGroupType where+    toText = \case+        PGPGTPlacementPackage -> "PLACEMENT_PACKAGE"+        PGPGTPlacementRoadblock -> "PLACEMENT_ROADBLOCK"++instance FromJSON PlacementGroupPlacementGroupType where+    parseJSON = parseJSONText "PlacementGroupPlacementGroupType"++instance ToJSON PlacementGroupPlacementGroupType where+    toJSON = toJSONText++-- | Pricing type of this inventory item.+data PricingPricingType+    = PlanningPlacementPricingTypeClicks+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_CLICKS@+    | PlanningPlacementPricingTypeCpa+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_CPA@+    | PlanningPlacementPricingTypeCpc+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_CPC@+    | PlanningPlacementPricingTypeCpm+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_CPM@+    | PlanningPlacementPricingTypeFlatRateClicks+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS@+    | PlanningPlacementPricingTypeFlatRateImpressions+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS@+    | PlanningPlacementPricingTypeImpressions+      -- ^ @PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PricingPricingType++instance FromText PricingPricingType where+    fromText = \case+        "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS" -> Just PlanningPlacementPricingTypeClicks+        "PLANNING_PLACEMENT_PRICING_TYPE_CPA" -> Just PlanningPlacementPricingTypeCpa+        "PLANNING_PLACEMENT_PRICING_TYPE_CPC" -> Just PlanningPlacementPricingTypeCpc+        "PLANNING_PLACEMENT_PRICING_TYPE_CPM" -> Just PlanningPlacementPricingTypeCpm+        "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS" -> Just PlanningPlacementPricingTypeFlatRateClicks+        "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS" -> Just PlanningPlacementPricingTypeFlatRateImpressions+        "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS" -> Just PlanningPlacementPricingTypeImpressions+        _ -> Nothing++instance ToText PricingPricingType where+    toText = \case+        PlanningPlacementPricingTypeClicks -> "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"+        PlanningPlacementPricingTypeCpa -> "PLANNING_PLACEMENT_PRICING_TYPE_CPA"+        PlanningPlacementPricingTypeCpc -> "PLANNING_PLACEMENT_PRICING_TYPE_CPC"+        PlanningPlacementPricingTypeCpm -> "PLANNING_PLACEMENT_PRICING_TYPE_CPM"+        PlanningPlacementPricingTypeFlatRateClicks -> "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"+        PlanningPlacementPricingTypeFlatRateImpressions -> "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"+        PlanningPlacementPricingTypeImpressions -> "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"++instance FromJSON PricingPricingType where+    parseJSON = parseJSONText "PricingPricingType"++instance ToJSON PricingPricingType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data SubAccountsListSortOrder+    = SALSOAscending+      -- ^ @ASCENDING@+    | SALSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SubAccountsListSortOrder++instance FromText SubAccountsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just SALSOAscending+        "DESCENDING" -> Just SALSODescending+        _ -> Nothing++instance ToText SubAccountsListSortOrder where+    toText = \case+        SALSOAscending -> "ASCENDING"+        SALSODescending -> "DESCENDING"++instance FromJSON SubAccountsListSortOrder where+    parseJSON = parseJSONText "SubAccountsListSortOrder"++instance ToJSON SubAccountsListSortOrder where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data AdsListSortOrder+    = ADSAscending+      -- ^ @ASCENDING@+    | ADSDescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdsListSortOrder++instance FromText AdsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just ADSAscending+        "DESCENDING" -> Just ADSDescending+        _ -> Nothing++instance ToText AdsListSortOrder where+    toText = \case+        ADSAscending -> "ASCENDING"+        ADSDescending -> "DESCENDING"++instance FromJSON AdsListSortOrder where+    parseJSON = parseJSONText "AdsListSortOrder"++instance ToJSON AdsListSortOrder where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data ProjectsListSortOrder+    = PLSOAscending+      -- ^ @ASCENDING@+    | PLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ProjectsListSortOrder++instance FromText ProjectsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just PLSOAscending+        "DESCENDING" -> Just PLSODescending+        _ -> Nothing++instance ToText ProjectsListSortOrder where+    toText = \case+        PLSOAscending -> "ASCENDING"+        PLSODescending -> "DESCENDING"++instance FromJSON ProjectsListSortOrder where+    parseJSON = parseJSONText "ProjectsListSortOrder"++instance ToJSON ProjectsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data RemarketingListsListSortField+    = RLLSFID+      -- ^ @ID@+    | RLLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RemarketingListsListSortField++instance FromText RemarketingListsListSortField where+    fromText = \case+        "ID" -> Just RLLSFID+        "NAME" -> Just RLLSFName+        _ -> Nothing++instance ToText RemarketingListsListSortField where+    toText = \case+        RLLSFID -> "ID"+        RLLSFName -> "NAME"++instance FromJSON RemarketingListsListSortField where+    parseJSON = parseJSONText "RemarketingListsListSortField"++instance ToJSON RemarketingListsListSortField where+    toJSON = toJSONText++data ReportScheduleRepeatsOnWeekDaysItem+    = RSROWDIFriday+      -- ^ @FRIDAY@+    | RSROWDIMonday+      -- ^ @MONDAY@+    | RSROWDISaturday+      -- ^ @SATURDAY@+    | RSROWDISunday+      -- ^ @SUNDAY@+    | RSROWDIThursday+      -- ^ @THURSDAY@+    | RSROWDITuesday+      -- ^ @TUESDAY@+    | RSROWDIWednesday+      -- ^ @WEDNESDAY@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportScheduleRepeatsOnWeekDaysItem++instance FromText ReportScheduleRepeatsOnWeekDaysItem where+    fromText = \case+        "FRIDAY" -> Just RSROWDIFriday+        "MONDAY" -> Just RSROWDIMonday+        "SATURDAY" -> Just RSROWDISaturday+        "SUNDAY" -> Just RSROWDISunday+        "THURSDAY" -> Just RSROWDIThursday+        "TUESDAY" -> Just RSROWDITuesday+        "WEDNESDAY" -> Just RSROWDIWednesday+        _ -> Nothing++instance ToText ReportScheduleRepeatsOnWeekDaysItem where+    toText = \case+        RSROWDIFriday -> "FRIDAY"+        RSROWDIMonday -> "MONDAY"+        RSROWDISaturday -> "SATURDAY"+        RSROWDISunday -> "SUNDAY"+        RSROWDIThursday -> "THURSDAY"+        RSROWDITuesday -> "TUESDAY"+        RSROWDIWednesday -> "WEDNESDAY"++instance FromJSON ReportScheduleRepeatsOnWeekDaysItem where+    parseJSON = parseJSONText "ReportScheduleRepeatsOnWeekDaysItem"++instance ToJSON ReportScheduleRepeatsOnWeekDaysItem where+    toJSON = toJSONText++-- | Creative group number of the creative group assignment.+data CreativeGroupAssignmentCreativeGroupNumber+    = CreativeGroupOne+      -- ^ @CREATIVE_GROUP_ONE@+    | CreativeGroupTwo+      -- ^ @CREATIVE_GROUP_TWO@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeGroupAssignmentCreativeGroupNumber++instance FromText CreativeGroupAssignmentCreativeGroupNumber where+    fromText = \case+        "CREATIVE_GROUP_ONE" -> Just CreativeGroupOne+        "CREATIVE_GROUP_TWO" -> Just CreativeGroupTwo+        _ -> Nothing++instance ToText CreativeGroupAssignmentCreativeGroupNumber where+    toText = \case+        CreativeGroupOne -> "CREATIVE_GROUP_ONE"+        CreativeGroupTwo -> "CREATIVE_GROUP_TWO"++instance FromJSON CreativeGroupAssignmentCreativeGroupNumber where+    parseJSON = parseJSONText "CreativeGroupAssignmentCreativeGroupNumber"++instance ToJSON CreativeGroupAssignmentCreativeGroupNumber where+    toJSON = toJSONText++-- | Field by which to sort the list.+data AccountsListSortField+    = AID+      -- ^ @ID@+    | AName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountsListSortField++instance FromText AccountsListSortField where+    fromText = \case+        "ID" -> Just AID+        "NAME" -> Just AName+        _ -> Nothing++instance ToText AccountsListSortField where+    toText = \case+        AID -> "ID"+        AName -> "NAME"++instance FromJSON AccountsListSortField where+    parseJSON = parseJSONText "AccountsListSortField"++instance ToJSON AccountsListSortField where+    toJSON = toJSONText++-- | Select only advertisers with the specified status.+data AdvertisersListStatus+    = Approved+      -- ^ @APPROVED@+    | OnHold+      -- ^ @ON_HOLD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertisersListStatus++instance FromText AdvertisersListStatus where+    fromText = \case+        "APPROVED" -> Just Approved+        "ON_HOLD" -> Just OnHold+        _ -> Nothing++instance ToText AdvertisersListStatus where+    toText = \case+        Approved -> "APPROVED"+        OnHold -> "ON_HOLD"++instance FromJSON AdvertisersListStatus where+    parseJSON = parseJSONText "AdvertisersListStatus"++instance ToJSON AdvertisersListStatus where+    toJSON = toJSONText++-- | Determines how the \'value\' field is matched when filtering. If not+-- specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, \'*\' is+-- allowed as a placeholder for variable length character sequences, and it+-- can be escaped with a backslash. Note, only paid search dimensions+-- (\'dfa:paidSearch*\') allow a matchType other than EXACT.+data DimensionValueMatchType+    = BeginsWith+      -- ^ @BEGINS_WITH@+    | Contains+      -- ^ @CONTAINS@+    | Exact+      -- ^ @EXACT@+    | WildcardExpression+      -- ^ @WILDCARD_EXPRESSION@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DimensionValueMatchType++instance FromText DimensionValueMatchType where+    fromText = \case+        "BEGINS_WITH" -> Just BeginsWith+        "CONTAINS" -> Just Contains+        "EXACT" -> Just Exact+        "WILDCARD_EXPRESSION" -> Just WildcardExpression+        _ -> Nothing++instance ToText DimensionValueMatchType where+    toText = \case+        BeginsWith -> "BEGINS_WITH"+        Contains -> "CONTAINS"+        Exact -> "EXACT"+        WildcardExpression -> "WILDCARD_EXPRESSION"++instance FromJSON DimensionValueMatchType where+    parseJSON = parseJSONText "DimensionValueMatchType"++instance ToJSON DimensionValueMatchType where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data PlacementGroupsListSortOrder+    = PGLSOAscending+      -- ^ @ASCENDING@+    | PGLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementGroupsListSortOrder++instance FromText PlacementGroupsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just PGLSOAscending+        "DESCENDING" -> Just PGLSODescending+        _ -> Nothing++instance ToText PlacementGroupsListSortOrder where+    toText = \case+        PGLSOAscending -> "ASCENDING"+        PGLSODescending -> "DESCENDING"++instance FromJSON PlacementGroupsListSortOrder where+    parseJSON = parseJSONText "PlacementGroupsListSortOrder"++instance ToJSON PlacementGroupsListSortOrder where+    toJSON = toJSONText++-- | Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.+-- WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on+-- mobile devices for regular or interstitial ads, respectively. APP and+-- APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO+-- refers to rendering an in-stream video ads developed with the VAST+-- standard.+data AdCompatibility+    = ACApp+      -- ^ @APP@+    | ACAppInterstitial+      -- ^ @APP_INTERSTITIAL@+    | ACInStreamVideo+      -- ^ @IN_STREAM_VIDEO@+    | ACWeb+      -- ^ @WEB@+    | ACWebInterstitial+      -- ^ @WEB_INTERSTITIAL@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdCompatibility++instance FromText AdCompatibility where+    fromText = \case+        "APP" -> Just ACApp+        "APP_INTERSTITIAL" -> Just ACAppInterstitial+        "IN_STREAM_VIDEO" -> Just ACInStreamVideo+        "WEB" -> Just ACWeb+        "WEB_INTERSTITIAL" -> Just ACWebInterstitial+        _ -> Nothing++instance ToText AdCompatibility where+    toText = \case+        ACApp -> "APP"+        ACAppInterstitial -> "APP_INTERSTITIAL"+        ACInStreamVideo -> "IN_STREAM_VIDEO"+        ACWeb -> "WEB"+        ACWebInterstitial -> "WEB_INTERSTITIAL"++instance FromJSON AdCompatibility where+    parseJSON = parseJSONText "AdCompatibility"++instance ToJSON AdCompatibility where+    toJSON = toJSONText++-- | Field by which to sort the list.+data CreativeFieldValuesListSortField+    = CFVLSFID+      -- ^ @ID@+    | CFVLSFValue+      -- ^ @VALUE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeFieldValuesListSortField++instance FromText CreativeFieldValuesListSortField where+    fromText = \case+        "ID" -> Just CFVLSFID+        "VALUE" -> Just CFVLSFValue+        _ -> Nothing++instance ToText CreativeFieldValuesListSortField where+    toText = \case+        CFVLSFID -> "ID"+        CFVLSFValue -> "VALUE"++instance FromJSON CreativeFieldValuesListSortField where+    parseJSON = parseJSONText "CreativeFieldValuesListSortField"++instance ToJSON CreativeFieldValuesListSortField where+    toJSON = toJSONText++-- | Field by which to sort the list.+data FloodlightActivityGroupsListSortField+    = FAGLSFID+      -- ^ @ID@+    | FAGLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityGroupsListSortField++instance FromText FloodlightActivityGroupsListSortField where+    fromText = \case+        "ID" -> Just FAGLSFID+        "NAME" -> Just FAGLSFName+        _ -> Nothing++instance ToText FloodlightActivityGroupsListSortField where+    toText = \case+        FAGLSFID -> "ID"+        FAGLSFName -> "NAME"++instance FromJSON FloodlightActivityGroupsListSortField where+    parseJSON = parseJSONText "FloodlightActivityGroupsListSortField"++instance ToJSON FloodlightActivityGroupsListSortField where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data OrdersListSortOrder+    = OLSOAscending+      -- ^ @ASCENDING@+    | OLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OrdersListSortOrder++instance FromText OrdersListSortOrder where+    fromText = \case+        "ASCENDING" -> Just OLSOAscending+        "DESCENDING" -> Just OLSODescending+        _ -> Nothing++instance ToText OrdersListSortOrder where+    toText = \case+        OLSOAscending -> "ASCENDING"+        OLSODescending -> "DESCENDING"++instance FromJSON OrdersListSortOrder where+    parseJSON = parseJSONText "OrdersListSortOrder"++instance ToJSON OrdersListSortOrder where+    toJSON = toJSONText++-- | Profile for this account. This is a read-only field that can be left+-- blank.+data AccountAccountProFile+    = AccountProFileBasic+      -- ^ @ACCOUNT_PROFILE_BASIC@+    | AccountProFileStandard+      -- ^ @ACCOUNT_PROFILE_STANDARD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountAccountProFile++instance FromText AccountAccountProFile where+    fromText = \case+        "ACCOUNT_PROFILE_BASIC" -> Just AccountProFileBasic+        "ACCOUNT_PROFILE_STANDARD" -> Just AccountProFileStandard+        _ -> Nothing++instance ToText AccountAccountProFile where+    toText = \case+        AccountProFileBasic -> "ACCOUNT_PROFILE_BASIC"+        AccountProFileStandard -> "ACCOUNT_PROFILE_STANDARD"++instance FromJSON AccountAccountProFile where+    parseJSON = parseJSONText "AccountAccountProFile"++instance ToJSON AccountAccountProFile where+    toJSON = toJSONText++-- | Type of this creative.This is a required field. Applicable to all+-- creative types.+data CreativeType+    = CTBrandSafeDefaultInstreamVideo+      -- ^ @BRAND_SAFE_DEFAULT_INSTREAM_VIDEO@+    | CTCustomInpage+      -- ^ @CUSTOM_INPAGE@+    | CTCustomInterstitial+      -- ^ @CUSTOM_INTERSTITIAL@+    | CTEnhancedBanner+      -- ^ @ENHANCED_BANNER@+    | CTEnhancedImage+      -- ^ @ENHANCED_IMAGE@+    | CTFlashInpage+      -- ^ @FLASH_INPAGE@+    | CTHTML5Banner+      -- ^ @HTML5_BANNER@+    | CTImage+      -- ^ @IMAGE@+    | CTInstreamVideo+      -- ^ @INSTREAM_VIDEO@+    | CTInternalRedirect+      -- ^ @INTERNAL_REDIRECT@+    | CTInterstitialInternalRedirect+      -- ^ @INTERSTITIAL_INTERNAL_REDIRECT@+    | CTRedirect+      -- ^ @REDIRECT@+    | CTRichMediaExpanding+      -- ^ @RICH_MEDIA_EXPANDING@+    | CTRichMediaImExpand+      -- ^ @RICH_MEDIA_IM_EXPAND@+    | CTRichMediaInpage+      -- ^ @RICH_MEDIA_INPAGE@+    | CTRichMediaInpageFloating+      -- ^ @RICH_MEDIA_INPAGE_FLOATING@+    | CTRichMediaInterstitialFloat+      -- ^ @RICH_MEDIA_INTERSTITIAL_FLOAT@+    | CTRichMediaMobileInApp+      -- ^ @RICH_MEDIA_MOBILE_IN_APP@+    | CTRichMediaMultiFloating+      -- ^ @RICH_MEDIA_MULTI_FLOATING@+    | CTRichMediaPeelDown+      -- ^ @RICH_MEDIA_PEEL_DOWN@+    | CTTrackingText+      -- ^ @TRACKING_TEXT@+    | CTVastRedirect+      -- ^ @VAST_REDIRECT@+    | CTVpaidLinear+      -- ^ @VPAID_LINEAR@+    | CTVpaidNonLinear+      -- ^ @VPAID_NON_LINEAR@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeType++instance FromText CreativeType where+    fromText = \case+        "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO" -> Just CTBrandSafeDefaultInstreamVideo+        "CUSTOM_INPAGE" -> Just CTCustomInpage+        "CUSTOM_INTERSTITIAL" -> Just CTCustomInterstitial+        "ENHANCED_BANNER" -> Just CTEnhancedBanner+        "ENHANCED_IMAGE" -> Just CTEnhancedImage+        "FLASH_INPAGE" -> Just CTFlashInpage+        "HTML5_BANNER" -> Just CTHTML5Banner+        "IMAGE" -> Just CTImage+        "INSTREAM_VIDEO" -> Just CTInstreamVideo+        "INTERNAL_REDIRECT" -> Just CTInternalRedirect+        "INTERSTITIAL_INTERNAL_REDIRECT" -> Just CTInterstitialInternalRedirect+        "REDIRECT" -> Just CTRedirect+        "RICH_MEDIA_EXPANDING" -> Just CTRichMediaExpanding+        "RICH_MEDIA_IM_EXPAND" -> Just CTRichMediaImExpand+        "RICH_MEDIA_INPAGE" -> Just CTRichMediaInpage+        "RICH_MEDIA_INPAGE_FLOATING" -> Just CTRichMediaInpageFloating+        "RICH_MEDIA_INTERSTITIAL_FLOAT" -> Just CTRichMediaInterstitialFloat+        "RICH_MEDIA_MOBILE_IN_APP" -> Just CTRichMediaMobileInApp+        "RICH_MEDIA_MULTI_FLOATING" -> Just CTRichMediaMultiFloating+        "RICH_MEDIA_PEEL_DOWN" -> Just CTRichMediaPeelDown+        "TRACKING_TEXT" -> Just CTTrackingText+        "VAST_REDIRECT" -> Just CTVastRedirect+        "VPAID_LINEAR" -> Just CTVpaidLinear+        "VPAID_NON_LINEAR" -> Just CTVpaidNonLinear+        _ -> Nothing++instance ToText CreativeType where+    toText = \case+        CTBrandSafeDefaultInstreamVideo -> "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"+        CTCustomInpage -> "CUSTOM_INPAGE"+        CTCustomInterstitial -> "CUSTOM_INTERSTITIAL"+        CTEnhancedBanner -> "ENHANCED_BANNER"+        CTEnhancedImage -> "ENHANCED_IMAGE"+        CTFlashInpage -> "FLASH_INPAGE"+        CTHTML5Banner -> "HTML5_BANNER"+        CTImage -> "IMAGE"+        CTInstreamVideo -> "INSTREAM_VIDEO"+        CTInternalRedirect -> "INTERNAL_REDIRECT"+        CTInterstitialInternalRedirect -> "INTERSTITIAL_INTERNAL_REDIRECT"+        CTRedirect -> "REDIRECT"+        CTRichMediaExpanding -> "RICH_MEDIA_EXPANDING"+        CTRichMediaImExpand -> "RICH_MEDIA_IM_EXPAND"+        CTRichMediaInpage -> "RICH_MEDIA_INPAGE"+        CTRichMediaInpageFloating -> "RICH_MEDIA_INPAGE_FLOATING"+        CTRichMediaInterstitialFloat -> "RICH_MEDIA_INTERSTITIAL_FLOAT"+        CTRichMediaMobileInApp -> "RICH_MEDIA_MOBILE_IN_APP"+        CTRichMediaMultiFloating -> "RICH_MEDIA_MULTI_FLOATING"+        CTRichMediaPeelDown -> "RICH_MEDIA_PEEL_DOWN"+        CTTrackingText -> "TRACKING_TEXT"+        CTVastRedirect -> "VAST_REDIRECT"+        CTVpaidLinear -> "VPAID_LINEAR"+        CTVpaidNonLinear -> "VPAID_NON_LINEAR"++instance FromJSON CreativeType where+    parseJSON = parseJSONText "CreativeType"++instance ToJSON CreativeType where+    toJSON = toJSONText++-- | Order of sorted results, default is \'DESCENDING\'.+data FilesListSortOrder+    = FLSOAscending+      -- ^ @ASCENDING@+      -- Ascending order.+    | FLSODescending+      -- ^ @DESCENDING@+      -- Descending order.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesListSortOrder++instance FromText FilesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just FLSOAscending+        "DESCENDING" -> Just FLSODescending+        _ -> Nothing++instance ToText FilesListSortOrder where+    toText = \case+        FLSOAscending -> "ASCENDING"+        FLSODescending -> "DESCENDING"++instance FromJSON FilesListSortOrder where+    parseJSON = parseJSONText "FilesListSortOrder"++instance ToJSON FilesListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data AdvertiserGroupsListSortField+    = AGLSFID+      -- ^ @ID@+    | AGLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertiserGroupsListSortField++instance FromText AdvertiserGroupsListSortField where+    fromText = \case+        "ID" -> Just AGLSFID+        "NAME" -> Just AGLSFName+        _ -> Nothing++instance ToText AdvertiserGroupsListSortField where+    toText = \case+        AGLSFID -> "ID"+        AGLSFName -> "NAME"++instance FromJSON AdvertiserGroupsListSortField where+    parseJSON = parseJSONText "AdvertiserGroupsListSortField"++instance ToJSON AdvertiserGroupsListSortField where+    toJSON = toJSONText++-- | Type of browser window for which the backup image of the flash creative+-- can be displayed.+data TargetWindowTargetWindowOption+    = CurrentWindow+      -- ^ @CURRENT_WINDOW@+    | Custom+      -- ^ @CUSTOM@+    | NewWindow+      -- ^ @NEW_WINDOW@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TargetWindowTargetWindowOption++instance FromText TargetWindowTargetWindowOption where+    fromText = \case+        "CURRENT_WINDOW" -> Just CurrentWindow+        "CUSTOM" -> Just Custom+        "NEW_WINDOW" -> Just NewWindow+        _ -> Nothing++instance ToText TargetWindowTargetWindowOption where+    toText = \case+        CurrentWindow -> "CURRENT_WINDOW"+        Custom -> "CUSTOM"+        NewWindow -> "NEW_WINDOW"++instance FromJSON TargetWindowTargetWindowOption where+    parseJSON = parseJSONText "TargetWindowTargetWindowOption"++instance ToJSON TargetWindowTargetWindowOption where+    toJSON = toJSONText++-- | Field by which to sort the list.+data DirectorySiteContactsListSortField+    = DSCLSFID+      -- ^ @ID@+    | DSCLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySiteContactsListSortField++instance FromText DirectorySiteContactsListSortField where+    fromText = \case+        "ID" -> Just DSCLSFID+        "NAME" -> Just DSCLSFName+        _ -> Nothing++instance ToText DirectorySiteContactsListSortField where+    toText = \case+        DSCLSFID -> "ID"+        DSCLSFName -> "NAME"++instance FromJSON DirectorySiteContactsListSortField where+    parseJSON = parseJSONText "DirectorySiteContactsListSortField"++instance ToJSON DirectorySiteContactsListSortField where+    toJSON = toJSONText++-- | Select only placements with these pricing types.+data PlacementsListPricingTypes+    = PLPTPricingTypeCpa+      -- ^ @PRICING_TYPE_CPA@+    | PLPTPricingTypeCpc+      -- ^ @PRICING_TYPE_CPC@+    | PLPTPricingTypeCpm+      -- ^ @PRICING_TYPE_CPM@+    | PLPTPricingTypeFlatRateClicks+      -- ^ @PRICING_TYPE_FLAT_RATE_CLICKS@+    | PLPTPricingTypeFlatRateImpressions+      -- ^ @PRICING_TYPE_FLAT_RATE_IMPRESSIONS@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementsListPricingTypes++instance FromText PlacementsListPricingTypes where+    fromText = \case+        "PRICING_TYPE_CPA" -> Just PLPTPricingTypeCpa+        "PRICING_TYPE_CPC" -> Just PLPTPricingTypeCpc+        "PRICING_TYPE_CPM" -> Just PLPTPricingTypeCpm+        "PRICING_TYPE_FLAT_RATE_CLICKS" -> Just PLPTPricingTypeFlatRateClicks+        "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" -> Just PLPTPricingTypeFlatRateImpressions+        _ -> Nothing++instance ToText PlacementsListPricingTypes where+    toText = \case+        PLPTPricingTypeCpa -> "PRICING_TYPE_CPA"+        PLPTPricingTypeCpc -> "PRICING_TYPE_CPC"+        PLPTPricingTypeCpm -> "PRICING_TYPE_CPM"+        PLPTPricingTypeFlatRateClicks -> "PRICING_TYPE_FLAT_RATE_CLICKS"+        PLPTPricingTypeFlatRateImpressions -> "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"++instance FromJSON PlacementsListPricingTypes where+    parseJSON = parseJSONText "PlacementsListPricingTypes"++instance ToJSON PlacementsListPricingTypes where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data EventTagsListSortOrder+    = ETLSOAscending+      -- ^ @ASCENDING@+    | ETLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventTagsListSortOrder++instance FromText EventTagsListSortOrder where+    fromText = \case+        "ASCENDING" -> Just ETLSOAscending+        "DESCENDING" -> Just ETLSODescending+        _ -> Nothing++instance ToText EventTagsListSortOrder where+    toText = \case+        ETLSOAscending -> "ASCENDING"+        ETLSODescending -> "DESCENDING"++instance FromJSON EventTagsListSortOrder where+    parseJSON = parseJSONText "EventTagsListSortOrder"++instance ToJSON EventTagsListSortOrder where+    toJSON = toJSONText++-- | Field by which to sort the list.+data DirectorySitesListSortField+    = DSLSFID+      -- ^ @ID@+    | DSLSFName+      -- ^ @NAME@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DirectorySitesListSortField++instance FromText DirectorySitesListSortField where+    fromText = \case+        "ID" -> Just DSLSFID+        "NAME" -> Just DSLSFName+        _ -> Nothing++instance ToText DirectorySitesListSortField where+    toText = \case+        DSLSFID -> "ID"+        DSLSFName -> "NAME"++instance FromJSON DirectorySitesListSortField where+    parseJSON = parseJSONText "DirectorySitesListSortField"++instance ToJSON DirectorySitesListSortField where+    toJSON = toJSONText++-- | The dimension option.+data ReportCrossDimensionReachCriteriaDimension+    = RCDRCDAdvertiser+      -- ^ @ADVERTISER@+    | RCDRCDCampaign+      -- ^ @CAMPAIGN@+    | RCDRCDSiteByAdvertiser+      -- ^ @SITE_BY_ADVERTISER@+    | RCDRCDSiteByCampaign+      -- ^ @SITE_BY_CAMPAIGN@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportCrossDimensionReachCriteriaDimension++instance FromText ReportCrossDimensionReachCriteriaDimension where+    fromText = \case+        "ADVERTISER" -> Just RCDRCDAdvertiser+        "CAMPAIGN" -> Just RCDRCDCampaign+        "SITE_BY_ADVERTISER" -> Just RCDRCDSiteByAdvertiser+        "SITE_BY_CAMPAIGN" -> Just RCDRCDSiteByCampaign+        _ -> Nothing++instance ToText ReportCrossDimensionReachCriteriaDimension where+    toText = \case+        RCDRCDAdvertiser -> "ADVERTISER"+        RCDRCDCampaign -> "CAMPAIGN"+        RCDRCDSiteByAdvertiser -> "SITE_BY_ADVERTISER"+        RCDRCDSiteByCampaign -> "SITE_BY_CAMPAIGN"++instance FromJSON ReportCrossDimensionReachCriteriaDimension where+    parseJSON = parseJSONText "ReportCrossDimensionReachCriteriaDimension"++instance ToJSON ReportCrossDimensionReachCriteriaDimension where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data SitesListSortOrder+    = SLSOAscending+      -- ^ @ASCENDING@+    | SLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable SitesListSortOrder++instance FromText SitesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just SLSOAscending+        "DESCENDING" -> Just SLSODescending+        _ -> Nothing++instance ToText SitesListSortOrder where+    toText = \case+        SLSOAscending -> "ASCENDING"+        SLSODescending -> "DESCENDING"++instance FromJSON SitesListSortOrder where+    parseJSON = parseJSONText "SitesListSortOrder"++instance ToJSON SitesListSortOrder where+    toJSON = toJSONText++data PlacementTagFormatsItem+    = PTFIPlacementTagClickCommands+      -- ^ @PLACEMENT_TAG_CLICK_COMMANDS@+    | PTFIPlacementTagIframeIlayer+      -- ^ @PLACEMENT_TAG_IFRAME_ILAYER@+    | PTFIPlacementTagIframeJavascript+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT@+    | PTFIPlacementTagIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY@+    | PTFIPlacementTagInstreamVideoPrefetch+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH@+    | PTFIPlacementTagInstreamVideoPrefetchVast3+      -- ^ @PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3@+    | PTFIPlacementTagInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERNAL_REDIRECT@+    | PTFIPlacementTagInterstitialIframeJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT@+    | PTFIPlacementTagInterstitialIframeJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY@+    | PTFIPlacementTagInterstitialInternalRedirect+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT@+    | PTFIPlacementTagInterstitialJavascript+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT@+    | PTFIPlacementTagInterstitialJavascriptLegacy+      -- ^ @PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY@+    | PTFIPlacementTagJavascript+      -- ^ @PLACEMENT_TAG_JAVASCRIPT@+    | PTFIPlacementTagJavascriptLegacy+      -- ^ @PLACEMENT_TAG_JAVASCRIPT_LEGACY@+    | PTFIPlacementTagStandard+      -- ^ @PLACEMENT_TAG_STANDARD@+    | PTFIPlacementTagTracking+      -- ^ @PLACEMENT_TAG_TRACKING@+    | PTFIPlacementTagTrackingIframe+      -- ^ @PLACEMENT_TAG_TRACKING_IFRAME@+    | PTFIPlacementTagTrackingJavascript+      -- ^ @PLACEMENT_TAG_TRACKING_JAVASCRIPT@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PlacementTagFormatsItem++instance FromText PlacementTagFormatsItem where+    fromText = \case+        "PLACEMENT_TAG_CLICK_COMMANDS" -> Just PTFIPlacementTagClickCommands+        "PLACEMENT_TAG_IFRAME_ILAYER" -> Just PTFIPlacementTagIframeIlayer+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -> Just PTFIPlacementTagIframeJavascript+        "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY" -> Just PTFIPlacementTagIframeJavascriptLegacy+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -> Just PTFIPlacementTagInstreamVideoPrefetch+        "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -> Just PTFIPlacementTagInstreamVideoPrefetchVast3+        "PLACEMENT_TAG_INTERNAL_REDIRECT" -> Just PTFIPlacementTagInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -> Just PTFIPlacementTagInterstitialIframeJavascript+        "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY" -> Just PTFIPlacementTagInterstitialIframeJavascriptLegacy+        "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -> Just PTFIPlacementTagInterstitialInternalRedirect+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -> Just PTFIPlacementTagInterstitialJavascript+        "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY" -> Just PTFIPlacementTagInterstitialJavascriptLegacy+        "PLACEMENT_TAG_JAVASCRIPT" -> Just PTFIPlacementTagJavascript+        "PLACEMENT_TAG_JAVASCRIPT_LEGACY" -> Just PTFIPlacementTagJavascriptLegacy+        "PLACEMENT_TAG_STANDARD" -> Just PTFIPlacementTagStandard+        "PLACEMENT_TAG_TRACKING" -> Just PTFIPlacementTagTracking+        "PLACEMENT_TAG_TRACKING_IFRAME" -> Just PTFIPlacementTagTrackingIframe+        "PLACEMENT_TAG_TRACKING_JAVASCRIPT" -> Just PTFIPlacementTagTrackingJavascript+        _ -> Nothing++instance ToText PlacementTagFormatsItem where+    toText = \case+        PTFIPlacementTagClickCommands -> "PLACEMENT_TAG_CLICK_COMMANDS"+        PTFIPlacementTagIframeIlayer -> "PLACEMENT_TAG_IFRAME_ILAYER"+        PTFIPlacementTagIframeJavascript -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT"+        PTFIPlacementTagIframeJavascriptLegacy -> "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"+        PTFIPlacementTagInstreamVideoPrefetch -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"+        PTFIPlacementTagInstreamVideoPrefetchVast3 -> "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"+        PTFIPlacementTagInternalRedirect -> "PLACEMENT_TAG_INTERNAL_REDIRECT"+        PTFIPlacementTagInterstitialIframeJavascript -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"+        PTFIPlacementTagInterstitialIframeJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"+        PTFIPlacementTagInterstitialInternalRedirect -> "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"+        PTFIPlacementTagInterstitialJavascript -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"+        PTFIPlacementTagInterstitialJavascriptLegacy -> "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"+        PTFIPlacementTagJavascript -> "PLACEMENT_TAG_JAVASCRIPT"+        PTFIPlacementTagJavascriptLegacy -> "PLACEMENT_TAG_JAVASCRIPT_LEGACY"+        PTFIPlacementTagStandard -> "PLACEMENT_TAG_STANDARD"+        PTFIPlacementTagTracking -> "PLACEMENT_TAG_TRACKING"+        PTFIPlacementTagTrackingIframe -> "PLACEMENT_TAG_TRACKING_IFRAME"+        PTFIPlacementTagTrackingJavascript -> "PLACEMENT_TAG_TRACKING_JAVASCRIPT"++instance FromJSON PlacementTagFormatsItem where+    parseJSON = parseJSONText "PlacementTagFormatsItem"++instance ToJSON PlacementTagFormatsItem where+    toJSON = toJSONText++-- | The type of the report.+data ReportType+    = RTCrossDimensionReach+      -- ^ @CROSS_DIMENSION_REACH@+    | RTFloodlight+      -- ^ @FLOODLIGHT@+    | RTPathToConversion+      -- ^ @PATH_TO_CONVERSION@+    | RTReach+      -- ^ @REACH@+    | RTStandard+      -- ^ @STANDARD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ReportType++instance FromText ReportType where+    fromText = \case+        "CROSS_DIMENSION_REACH" -> Just RTCrossDimensionReach+        "FLOODLIGHT" -> Just RTFloodlight+        "PATH_TO_CONVERSION" -> Just RTPathToConversion+        "REACH" -> Just RTReach+        "STANDARD" -> Just RTStandard+        _ -> Nothing++instance ToText ReportType where+    toText = \case+        RTCrossDimensionReach -> "CROSS_DIMENSION_REACH"+        RTFloodlight -> "FLOODLIGHT"+        RTPathToConversion -> "PATH_TO_CONVERSION"+        RTReach -> "REACH"+        RTStandard -> "STANDARD"++instance FromJSON ReportType where+    parseJSON = parseJSONText "ReportType"++instance ToJSON ReportType where+    toJSON = toJSONText++data CreativeAssetMetadataWarnedValidationRulesItem+    = ADMobReferenced+      -- ^ @ADMOB_REFERENCED@+    | AssetFormatUnsupportedDcm+      -- ^ @ASSET_FORMAT_UNSUPPORTED_DCM@+    | AssetInvalid+      -- ^ @ASSET_INVALID@+    | ClickTagInvalid+      -- ^ @CLICK_TAG_INVALID@+    | ClickTagMissing+      -- ^ @CLICK_TAG_MISSING@+    | ClickTagMoreThanOne+      -- ^ @CLICK_TAG_MORE_THAN_ONE@+    | ClickTagNonTopLevel+      -- ^ @CLICK_TAG_NON_TOP_LEVEL@+    | ComponentUnsupportedDcm+      -- ^ @COMPONENT_UNSUPPORTED_DCM@+    | EnablerUnsupportedMethodDcm+      -- ^ @ENABLER_UNSUPPORTED_METHOD_DCM@+    | ExternalFileReferenced+      -- ^ @EXTERNAL_FILE_REFERENCED@+    | FileDetailEmpty+      -- ^ @FILE_DETAIL_EMPTY@+    | FileTypeInvalid+      -- ^ @FILE_TYPE_INVALID@+    | GwdPropertiesInvalid+      -- ^ @GWD_PROPERTIES_INVALID@+    | HTML5FeatureUnsupported+      -- ^ @HTML5_FEATURE_UNSUPPORTED@+    | LinkedFileNotFound+      -- ^ @LINKED_FILE_NOT_FOUND@+    | MaxFlashVersion11+      -- ^ @MAX_FLASH_VERSION_11@+    | MraidReferenced+      -- ^ @MRAID_REFERENCED@+    | NotSSLCompliant+      -- ^ @NOT_SSL_COMPLIANT@+    | OrphanedAsset+      -- ^ @ORPHANED_ASSET@+    | PrimaryHTMLMissing+      -- ^ @PRIMARY_HTML_MISSING@+    | ZipInvalid+      -- ^ @ZIP_INVALID@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetMetadataWarnedValidationRulesItem++instance FromText CreativeAssetMetadataWarnedValidationRulesItem where+    fromText = \case+        "ADMOB_REFERENCED" -> Just ADMobReferenced+        "ASSET_FORMAT_UNSUPPORTED_DCM" -> Just AssetFormatUnsupportedDcm+        "ASSET_INVALID" -> Just AssetInvalid+        "CLICK_TAG_INVALID" -> Just ClickTagInvalid+        "CLICK_TAG_MISSING" -> Just ClickTagMissing+        "CLICK_TAG_MORE_THAN_ONE" -> Just ClickTagMoreThanOne+        "CLICK_TAG_NON_TOP_LEVEL" -> Just ClickTagNonTopLevel+        "COMPONENT_UNSUPPORTED_DCM" -> Just ComponentUnsupportedDcm+        "ENABLER_UNSUPPORTED_METHOD_DCM" -> Just EnablerUnsupportedMethodDcm+        "EXTERNAL_FILE_REFERENCED" -> Just ExternalFileReferenced+        "FILE_DETAIL_EMPTY" -> Just FileDetailEmpty+        "FILE_TYPE_INVALID" -> Just FileTypeInvalid+        "GWD_PROPERTIES_INVALID" -> Just GwdPropertiesInvalid+        "HTML5_FEATURE_UNSUPPORTED" -> Just HTML5FeatureUnsupported+        "LINKED_FILE_NOT_FOUND" -> Just LinkedFileNotFound+        "MAX_FLASH_VERSION_11" -> Just MaxFlashVersion11+        "MRAID_REFERENCED" -> Just MraidReferenced+        "NOT_SSL_COMPLIANT" -> Just NotSSLCompliant+        "ORPHANED_ASSET" -> Just OrphanedAsset+        "PRIMARY_HTML_MISSING" -> Just PrimaryHTMLMissing+        "ZIP_INVALID" -> Just ZipInvalid+        _ -> Nothing++instance ToText CreativeAssetMetadataWarnedValidationRulesItem where+    toText = \case+        ADMobReferenced -> "ADMOB_REFERENCED"+        AssetFormatUnsupportedDcm -> "ASSET_FORMAT_UNSUPPORTED_DCM"+        AssetInvalid -> "ASSET_INVALID"+        ClickTagInvalid -> "CLICK_TAG_INVALID"+        ClickTagMissing -> "CLICK_TAG_MISSING"+        ClickTagMoreThanOne -> "CLICK_TAG_MORE_THAN_ONE"+        ClickTagNonTopLevel -> "CLICK_TAG_NON_TOP_LEVEL"+        ComponentUnsupportedDcm -> "COMPONENT_UNSUPPORTED_DCM"+        EnablerUnsupportedMethodDcm -> "ENABLER_UNSUPPORTED_METHOD_DCM"+        ExternalFileReferenced -> "EXTERNAL_FILE_REFERENCED"+        FileDetailEmpty -> "FILE_DETAIL_EMPTY"+        FileTypeInvalid -> "FILE_TYPE_INVALID"+        GwdPropertiesInvalid -> "GWD_PROPERTIES_INVALID"+        HTML5FeatureUnsupported -> "HTML5_FEATURE_UNSUPPORTED"+        LinkedFileNotFound -> "LINKED_FILE_NOT_FOUND"+        MaxFlashVersion11 -> "MAX_FLASH_VERSION_11"+        MraidReferenced -> "MRAID_REFERENCED"+        NotSSLCompliant -> "NOT_SSL_COMPLIANT"+        OrphanedAsset -> "ORPHANED_ASSET"+        PrimaryHTMLMissing -> "PRIMARY_HTML_MISSING"+        ZipInvalid -> "ZIP_INVALID"++instance FromJSON CreativeAssetMetadataWarnedValidationRulesItem where+    parseJSON = parseJSONText "CreativeAssetMetadataWarnedValidationRulesItem"++instance ToJSON CreativeAssetMetadataWarnedValidationRulesItem where+    toJSON = toJSONText++-- | Payment source type of this ad slot.+data AdSlotPaymentSourceType+    = PlanningPaymentSourceTypeAgencyPaid+      -- ^ @PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID@+    | PlanningPaymentSourceTypePublisherPaid+      -- ^ @PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdSlotPaymentSourceType++instance FromText AdSlotPaymentSourceType where+    fromText = \case+        "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID" -> Just PlanningPaymentSourceTypeAgencyPaid+        "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID" -> Just PlanningPaymentSourceTypePublisherPaid+        _ -> Nothing++instance ToText AdSlotPaymentSourceType where+    toText = \case+        PlanningPaymentSourceTypeAgencyPaid -> "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"+        PlanningPaymentSourceTypePublisherPaid -> "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"++instance FromJSON AdSlotPaymentSourceType where+    parseJSON = parseJSONText "AdSlotPaymentSourceType"++instance ToJSON AdSlotPaymentSourceType where+    toJSON = toJSONText++data AccountPermissionAccountProFilesItem+    = APAPFIAccountProFileBasic+      -- ^ @ACCOUNT_PROFILE_BASIC@+    | APAPFIAccountProFileStandard+      -- ^ @ACCOUNT_PROFILE_STANDARD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AccountPermissionAccountProFilesItem++instance FromText AccountPermissionAccountProFilesItem where+    fromText = \case+        "ACCOUNT_PROFILE_BASIC" -> Just APAPFIAccountProFileBasic+        "ACCOUNT_PROFILE_STANDARD" -> Just APAPFIAccountProFileStandard+        _ -> Nothing++instance ToText AccountPermissionAccountProFilesItem where+    toText = \case+        APAPFIAccountProFileBasic -> "ACCOUNT_PROFILE_BASIC"+        APAPFIAccountProFileStandard -> "ACCOUNT_PROFILE_STANDARD"++instance FromJSON AccountPermissionAccountProFilesItem where+    parseJSON = parseJSONText "AccountPermissionAccountProFilesItem"++instance ToJSON AccountPermissionAccountProFilesItem where+    toJSON = toJSONText++-- | Type of the event. This is a read-only field.+data CreativeCustomEventAdvertiserCustomEventType+    = AdvertiserEventCounter+      -- ^ @ADVERTISER_EVENT_COUNTER@+    | AdvertiserEventExit+      -- ^ @ADVERTISER_EVENT_EXIT@+    | AdvertiserEventTimer+      -- ^ @ADVERTISER_EVENT_TIMER@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeCustomEventAdvertiserCustomEventType++instance FromText CreativeCustomEventAdvertiserCustomEventType where+    fromText = \case+        "ADVERTISER_EVENT_COUNTER" -> Just AdvertiserEventCounter+        "ADVERTISER_EVENT_EXIT" -> Just AdvertiserEventExit+        "ADVERTISER_EVENT_TIMER" -> Just AdvertiserEventTimer+        _ -> Nothing++instance ToText CreativeCustomEventAdvertiserCustomEventType where+    toText = \case+        AdvertiserEventCounter -> "ADVERTISER_EVENT_COUNTER"+        AdvertiserEventExit -> "ADVERTISER_EVENT_EXIT"+        AdvertiserEventTimer -> "ADVERTISER_EVENT_TIMER"++instance FromJSON CreativeCustomEventAdvertiserCustomEventType where+    parseJSON = parseJSONText "CreativeCustomEventAdvertiserCustomEventType"++instance ToJSON CreativeCustomEventAdvertiserCustomEventType where+    toJSON = toJSONText++-- | Select only change logs with the specified object type.+data ChangeLogsListObjectType+    = ObjectAccount+      -- ^ @OBJECT_ACCOUNT@+    | ObjectAccountBillingFeature+      -- ^ @OBJECT_ACCOUNT_BILLING_FEATURE@+    | ObjectAd+      -- ^ @OBJECT_AD@+    | ObjectAdvertiser+      -- ^ @OBJECT_ADVERTISER@+    | ObjectAdvertiserGroup+      -- ^ @OBJECT_ADVERTISER_GROUP@+    | ObjectBillingAccountGroup+      -- ^ @OBJECT_BILLING_ACCOUNT_GROUP@+    | ObjectBillingFeature+      -- ^ @OBJECT_BILLING_FEATURE@+    | ObjectBillingMinimumFee+      -- ^ @OBJECT_BILLING_MINIMUM_FEE@+    | ObjectBillingProFile+      -- ^ @OBJECT_BILLING_PROFILE@+    | ObjectCampaign+      -- ^ @OBJECT_CAMPAIGN@+    | ObjectContentCategory+      -- ^ @OBJECT_CONTENT_CATEGORY@+    | ObjectCreative+      -- ^ @OBJECT_CREATIVE@+    | ObjectCreativeAsset+      -- ^ @OBJECT_CREATIVE_ASSET@+    | ObjectCreativeBundle+      -- ^ @OBJECT_CREATIVE_BUNDLE@+    | ObjectCreativeField+      -- ^ @OBJECT_CREATIVE_FIELD@+    | ObjectCreativeGroup+      -- ^ @OBJECT_CREATIVE_GROUP@+    | ObjectDfaSite+      -- ^ @OBJECT_DFA_SITE@+    | ObjectEventTag+      -- ^ @OBJECT_EVENT_TAG@+    | ObjectFloodlightActivityGroup+      -- ^ @OBJECT_FLOODLIGHT_ACTIVITY_GROUP@+    | ObjectFloodlightActvity+      -- ^ @OBJECT_FLOODLIGHT_ACTVITY@+    | ObjectFloodlightConfiguration+      -- ^ @OBJECT_FLOODLIGHT_CONFIGURATION@+    | ObjectInstreamCreative+      -- ^ @OBJECT_INSTREAM_CREATIVE@+    | ObjectLandingPage+      -- ^ @OBJECT_LANDING_PAGE@+    | ObjectMediaOrder+      -- ^ @OBJECT_MEDIA_ORDER@+    | ObjectPlacement+      -- ^ @OBJECT_PLACEMENT@+    | ObjectPlacementStrategy+      -- ^ @OBJECT_PLACEMENT_STRATEGY@+    | ObjectProvidedListClient+      -- ^ @OBJECT_PROVIDED_LIST_CLIENT@+    | ObjectRateCard+      -- ^ @OBJECT_RATE_CARD@+    | ObjectRemarketingList+      -- ^ @OBJECT_REMARKETING_LIST@+    | ObjectRichmediaCreative+      -- ^ @OBJECT_RICHMEDIA_CREATIVE@+    | ObjectSdSite+      -- ^ @OBJECT_SD_SITE@+    | ObjectSize+      -- ^ @OBJECT_SIZE@+    | ObjectSubAccount+      -- ^ @OBJECT_SUBACCOUNT@+    | ObjectUserProFile+      -- ^ @OBJECT_USER_PROFILE@+    | ObjectUserProFileFilter+      -- ^ @OBJECT_USER_PROFILE_FILTER@+    | ObjectUserRole+      -- ^ @OBJECT_USER_ROLE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ChangeLogsListObjectType++instance FromText ChangeLogsListObjectType where+    fromText = \case+        "OBJECT_ACCOUNT" -> Just ObjectAccount+        "OBJECT_ACCOUNT_BILLING_FEATURE" -> Just ObjectAccountBillingFeature+        "OBJECT_AD" -> Just ObjectAd+        "OBJECT_ADVERTISER" -> Just ObjectAdvertiser+        "OBJECT_ADVERTISER_GROUP" -> Just ObjectAdvertiserGroup+        "OBJECT_BILLING_ACCOUNT_GROUP" -> Just ObjectBillingAccountGroup+        "OBJECT_BILLING_FEATURE" -> Just ObjectBillingFeature+        "OBJECT_BILLING_MINIMUM_FEE" -> Just ObjectBillingMinimumFee+        "OBJECT_BILLING_PROFILE" -> Just ObjectBillingProFile+        "OBJECT_CAMPAIGN" -> Just ObjectCampaign+        "OBJECT_CONTENT_CATEGORY" -> Just ObjectContentCategory+        "OBJECT_CREATIVE" -> Just ObjectCreative+        "OBJECT_CREATIVE_ASSET" -> Just ObjectCreativeAsset+        "OBJECT_CREATIVE_BUNDLE" -> Just ObjectCreativeBundle+        "OBJECT_CREATIVE_FIELD" -> Just ObjectCreativeField+        "OBJECT_CREATIVE_GROUP" -> Just ObjectCreativeGroup+        "OBJECT_DFA_SITE" -> Just ObjectDfaSite+        "OBJECT_EVENT_TAG" -> Just ObjectEventTag+        "OBJECT_FLOODLIGHT_ACTIVITY_GROUP" -> Just ObjectFloodlightActivityGroup+        "OBJECT_FLOODLIGHT_ACTVITY" -> Just ObjectFloodlightActvity+        "OBJECT_FLOODLIGHT_CONFIGURATION" -> Just ObjectFloodlightConfiguration+        "OBJECT_INSTREAM_CREATIVE" -> Just ObjectInstreamCreative+        "OBJECT_LANDING_PAGE" -> Just ObjectLandingPage+        "OBJECT_MEDIA_ORDER" -> Just ObjectMediaOrder+        "OBJECT_PLACEMENT" -> Just ObjectPlacement+        "OBJECT_PLACEMENT_STRATEGY" -> Just ObjectPlacementStrategy+        "OBJECT_PROVIDED_LIST_CLIENT" -> Just ObjectProvidedListClient+        "OBJECT_RATE_CARD" -> Just ObjectRateCard+        "OBJECT_REMARKETING_LIST" -> Just ObjectRemarketingList+        "OBJECT_RICHMEDIA_CREATIVE" -> Just ObjectRichmediaCreative+        "OBJECT_SD_SITE" -> Just ObjectSdSite+        "OBJECT_SIZE" -> Just ObjectSize+        "OBJECT_SUBACCOUNT" -> Just ObjectSubAccount+        "OBJECT_USER_PROFILE" -> Just ObjectUserProFile+        "OBJECT_USER_PROFILE_FILTER" -> Just ObjectUserProFileFilter+        "OBJECT_USER_ROLE" -> Just ObjectUserRole+        _ -> Nothing++instance ToText ChangeLogsListObjectType where+    toText = \case+        ObjectAccount -> "OBJECT_ACCOUNT"+        ObjectAccountBillingFeature -> "OBJECT_ACCOUNT_BILLING_FEATURE"+        ObjectAd -> "OBJECT_AD"+        ObjectAdvertiser -> "OBJECT_ADVERTISER"+        ObjectAdvertiserGroup -> "OBJECT_ADVERTISER_GROUP"+        ObjectBillingAccountGroup -> "OBJECT_BILLING_ACCOUNT_GROUP"+        ObjectBillingFeature -> "OBJECT_BILLING_FEATURE"+        ObjectBillingMinimumFee -> "OBJECT_BILLING_MINIMUM_FEE"+        ObjectBillingProFile -> "OBJECT_BILLING_PROFILE"+        ObjectCampaign -> "OBJECT_CAMPAIGN"+        ObjectContentCategory -> "OBJECT_CONTENT_CATEGORY"+        ObjectCreative -> "OBJECT_CREATIVE"+        ObjectCreativeAsset -> "OBJECT_CREATIVE_ASSET"+        ObjectCreativeBundle -> "OBJECT_CREATIVE_BUNDLE"+        ObjectCreativeField -> "OBJECT_CREATIVE_FIELD"+        ObjectCreativeGroup -> "OBJECT_CREATIVE_GROUP"+        ObjectDfaSite -> "OBJECT_DFA_SITE"+        ObjectEventTag -> "OBJECT_EVENT_TAG"+        ObjectFloodlightActivityGroup -> "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"+        ObjectFloodlightActvity -> "OBJECT_FLOODLIGHT_ACTVITY"+        ObjectFloodlightConfiguration -> "OBJECT_FLOODLIGHT_CONFIGURATION"+        ObjectInstreamCreative -> "OBJECT_INSTREAM_CREATIVE"+        ObjectLandingPage -> "OBJECT_LANDING_PAGE"+        ObjectMediaOrder -> "OBJECT_MEDIA_ORDER"+        ObjectPlacement -> "OBJECT_PLACEMENT"+        ObjectPlacementStrategy -> "OBJECT_PLACEMENT_STRATEGY"+        ObjectProvidedListClient -> "OBJECT_PROVIDED_LIST_CLIENT"+        ObjectRateCard -> "OBJECT_RATE_CARD"+        ObjectRemarketingList -> "OBJECT_REMARKETING_LIST"+        ObjectRichmediaCreative -> "OBJECT_RICHMEDIA_CREATIVE"+        ObjectSdSite -> "OBJECT_SD_SITE"+        ObjectSize -> "OBJECT_SIZE"+        ObjectSubAccount -> "OBJECT_SUBACCOUNT"+        ObjectUserProFile -> "OBJECT_USER_PROFILE"+        ObjectUserProFileFilter -> "OBJECT_USER_PROFILE_FILTER"+        ObjectUserRole -> "OBJECT_USER_ROLE"++instance FromJSON ChangeLogsListObjectType where+    parseJSON = parseJSONText "ChangeLogsListObjectType"++instance ToJSON ChangeLogsListObjectType where+    toJSON = toJSONText++-- | Cap cost type of this inventory item.+data PricingCapCostType+    = PlanningPlacementCapCostTypeCumulative+      -- ^ @PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE@+    | PlanningPlacementCapCostTypeMonthly+      -- ^ @PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY@+    | PlanningPlacementCapCostTypeNone+      -- ^ @PLANNING_PLACEMENT_CAP_COST_TYPE_NONE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PricingCapCostType++instance FromText PricingCapCostType where+    fromText = \case+        "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE" -> Just PlanningPlacementCapCostTypeCumulative+        "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY" -> Just PlanningPlacementCapCostTypeMonthly+        "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE" -> Just PlanningPlacementCapCostTypeNone+        _ -> Nothing++instance ToText PricingCapCostType where+    toText = \case+        PlanningPlacementCapCostTypeCumulative -> "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"+        PlanningPlacementCapCostTypeMonthly -> "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"+        PlanningPlacementCapCostTypeNone -> "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"++instance FromJSON PricingCapCostType where+    parseJSON = parseJSONText "PricingCapCostType"++instance ToJSON PricingCapCostType where+    toJSON = toJSONText++-- | Type of rich media asset. This is a read-only field. Applicable to the+-- following creative types: all RICH_MEDIA.+data CreativeAssetDisplayType+    = AssetDisplayTypeExpanding+      -- ^ @ASSET_DISPLAY_TYPE_EXPANDING@+    | AssetDisplayTypeFlashInFlash+      -- ^ @ASSET_DISPLAY_TYPE_FLASH_IN_FLASH@+    | AssetDisplayTypeFlashInFlashExpanding+      -- ^ @ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING@+    | AssetDisplayTypeFloating+      -- ^ @ASSET_DISPLAY_TYPE_FLOATING@+    | AssetDisplayTypeInpage+      -- ^ @ASSET_DISPLAY_TYPE_INPAGE@+    | AssetDisplayTypeOverlay+      -- ^ @ASSET_DISPLAY_TYPE_OVERLAY@+    | AssetDisplayTypePeelDown+      -- ^ @ASSET_DISPLAY_TYPE_PEEL_DOWN@+    | AssetDisplayTypeVpaidLinear+      -- ^ @ASSET_DISPLAY_TYPE_VPAID_LINEAR@+    | AssetDisplayTypeVpaidNonLinear+      -- ^ @ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CreativeAssetDisplayType++instance FromText CreativeAssetDisplayType where+    fromText = \case+        "ASSET_DISPLAY_TYPE_EXPANDING" -> Just AssetDisplayTypeExpanding+        "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH" -> Just AssetDisplayTypeFlashInFlash+        "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING" -> Just AssetDisplayTypeFlashInFlashExpanding+        "ASSET_DISPLAY_TYPE_FLOATING" -> Just AssetDisplayTypeFloating+        "ASSET_DISPLAY_TYPE_INPAGE" -> Just AssetDisplayTypeInpage+        "ASSET_DISPLAY_TYPE_OVERLAY" -> Just AssetDisplayTypeOverlay+        "ASSET_DISPLAY_TYPE_PEEL_DOWN" -> Just AssetDisplayTypePeelDown+        "ASSET_DISPLAY_TYPE_VPAID_LINEAR" -> Just AssetDisplayTypeVpaidLinear+        "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR" -> Just AssetDisplayTypeVpaidNonLinear+        _ -> Nothing++instance ToText CreativeAssetDisplayType where+    toText = \case+        AssetDisplayTypeExpanding -> "ASSET_DISPLAY_TYPE_EXPANDING"+        AssetDisplayTypeFlashInFlash -> "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"+        AssetDisplayTypeFlashInFlashExpanding -> "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"+        AssetDisplayTypeFloating -> "ASSET_DISPLAY_TYPE_FLOATING"+        AssetDisplayTypeInpage -> "ASSET_DISPLAY_TYPE_INPAGE"+        AssetDisplayTypeOverlay -> "ASSET_DISPLAY_TYPE_OVERLAY"+        AssetDisplayTypePeelDown -> "ASSET_DISPLAY_TYPE_PEEL_DOWN"+        AssetDisplayTypeVpaidLinear -> "ASSET_DISPLAY_TYPE_VPAID_LINEAR"+        AssetDisplayTypeVpaidNonLinear -> "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"++instance FromJSON CreativeAssetDisplayType where+    parseJSON = parseJSONText "CreativeAssetDisplayType"++instance ToJSON CreativeAssetDisplayType where+    toJSON = toJSONText++-- | Counting method for conversions for this floodlight activity. This is a+-- required field.+data FloodlightActivityCountingMethod+    = ItemsSoldCounting+      -- ^ @ITEMS_SOLD_COUNTING@+    | SessionCounting+      -- ^ @SESSION_COUNTING@+    | StandardCounting+      -- ^ @STANDARD_COUNTING@+    | TransactionsCounting+      -- ^ @TRANSACTIONS_COUNTING@+    | UniqueCounting+      -- ^ @UNIQUE_COUNTING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FloodlightActivityCountingMethod++instance FromText FloodlightActivityCountingMethod where+    fromText = \case+        "ITEMS_SOLD_COUNTING" -> Just ItemsSoldCounting+        "SESSION_COUNTING" -> Just SessionCounting+        "STANDARD_COUNTING" -> Just StandardCounting+        "TRANSACTIONS_COUNTING" -> Just TransactionsCounting+        "UNIQUE_COUNTING" -> Just UniqueCounting+        _ -> Nothing++instance ToText FloodlightActivityCountingMethod where+    toText = \case+        ItemsSoldCounting -> "ITEMS_SOLD_COUNTING"+        SessionCounting -> "SESSION_COUNTING"+        StandardCounting -> "STANDARD_COUNTING"+        TransactionsCounting -> "TRANSACTIONS_COUNTING"+        UniqueCounting -> "UNIQUE_COUNTING"++instance FromJSON FloodlightActivityCountingMethod where+    parseJSON = parseJSONText "FloodlightActivityCountingMethod"++instance ToJSON FloodlightActivityCountingMethod where+    toJSON = toJSONText++-- | Order of sorted results, default is ASCENDING.+data ContentCategoriesListSortOrder+    = CCLSOAscending+      -- ^ @ASCENDING@+    | CCLSODescending+      -- ^ @DESCENDING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ContentCategoriesListSortOrder++instance FromText ContentCategoriesListSortOrder where+    fromText = \case+        "ASCENDING" -> Just CCLSOAscending+        "DESCENDING" -> Just CCLSODescending+        _ -> Nothing++instance ToText ContentCategoriesListSortOrder where+    toText = \case+        CCLSOAscending -> "ASCENDING"+        CCLSODescending -> "DESCENDING"++instance FromJSON ContentCategoriesListSortOrder where+    parseJSON = parseJSONText "ContentCategoriesListSortOrder"++instance ToJSON ContentCategoriesListSortOrder where+    toJSON = toJSONText++-- | Status of this advertiser.+data AdvertiserStatus+    = ASApproved+      -- ^ @APPROVED@+    | ASOnHold+      -- ^ @ON_HOLD@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AdvertiserStatus++instance FromText AdvertiserStatus where+    fromText = \case+        "APPROVED" -> Just ASApproved+        "ON_HOLD" -> Just ASOnHold+        _ -> Nothing++instance ToText AdvertiserStatus where+    toText = \case+        ASApproved -> "APPROVED"+        ASOnHold -> "ON_HOLD"++instance FromJSON AdvertiserStatus where+    parseJSON = parseJSONText "AdvertiserStatus"++instance ToJSON AdvertiserStatus where+    toJSON = toJSONText
+ gen/Network/Google/Resource/DFAReporting/AccountActiveAdSummaries/Get.hs view
@@ -0,0 +1,105 @@+{-# 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.DFAReporting.AccountActiveAdSummaries.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)+--+-- Gets the account\'s active ad summary by account ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountActiveAdSummaries.get@.+module Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get+    (+    -- * REST Resource+      AccountActiveAdSummariesGetResource++    -- * Creating a Request+    , accountActiveAdSummariesGet+    , AccountActiveAdSummariesGet++    -- * Request Lenses+    , aaasgProFileId+    , aaasgSummaryAccountId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountActiveAdSummaries.get@ method which the+-- 'AccountActiveAdSummariesGet' request conforms to.+type AccountActiveAdSummariesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountActiveAdSummaries" :>+               Capture "summaryAccountId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AccountActiveAdSummary++-- | Gets the account\'s active ad summary by account ID.+--+-- /See:/ 'accountActiveAdSummariesGet' smart constructor.+data AccountActiveAdSummariesGet = AccountActiveAdSummariesGet+    { _aaasgProFileId        :: !(Textual Int64)+    , _aaasgSummaryAccountId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountActiveAdSummariesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaasgProFileId'+--+-- * 'aaasgSummaryAccountId'+accountActiveAdSummariesGet+    :: Int64 -- ^ 'aaasgProFileId'+    -> Int64 -- ^ 'aaasgSummaryAccountId'+    -> AccountActiveAdSummariesGet+accountActiveAdSummariesGet pAaasgProFileId_ pAaasgSummaryAccountId_ =+    AccountActiveAdSummariesGet+    { _aaasgProFileId = _Coerce # pAaasgProFileId_+    , _aaasgSummaryAccountId = _Coerce # pAaasgSummaryAccountId_+    }++-- | User profile ID associated with this request.+aaasgProFileId :: Lens' AccountActiveAdSummariesGet Int64+aaasgProFileId+  = lens _aaasgProFileId+      (\ s a -> s{_aaasgProFileId = a})+      . _Coerce++-- | Account ID.+aaasgSummaryAccountId :: Lens' AccountActiveAdSummariesGet Int64+aaasgSummaryAccountId+  = lens _aaasgSummaryAccountId+      (\ s a -> s{_aaasgSummaryAccountId = a})+      . _Coerce++instance GoogleRequest AccountActiveAdSummariesGet+         where+        type Rs AccountActiveAdSummariesGet =+             AccountActiveAdSummary+        requestClient AccountActiveAdSummariesGet{..}+          = go _aaasgProFileId _aaasgSummaryAccountId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountActiveAdSummariesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.AccountPermissionGroups.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)+--+-- Gets one account permission group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountPermissionGroups.get@.+module Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get+    (+    -- * REST Resource+      AccountPermissionGroupsGetResource++    -- * Creating a Request+    , accountPermissionGroupsGet+    , AccountPermissionGroupsGet++    -- * Request Lenses+    , apggProFileId+    , apggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountPermissionGroups.get@ method which the+-- 'AccountPermissionGroupsGet' request conforms to.+type AccountPermissionGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountPermissionGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AccountPermissionGroup++-- | Gets one account permission group by ID.+--+-- /See:/ 'accountPermissionGroupsGet' smart constructor.+data AccountPermissionGroupsGet = AccountPermissionGroupsGet+    { _apggProFileId :: !(Textual Int64)+    , _apggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apggProFileId'+--+-- * 'apggId'+accountPermissionGroupsGet+    :: Int64 -- ^ 'apggProFileId'+    -> Int64 -- ^ 'apggId'+    -> AccountPermissionGroupsGet+accountPermissionGroupsGet pApggProFileId_ pApggId_ =+    AccountPermissionGroupsGet+    { _apggProFileId = _Coerce # pApggProFileId_+    , _apggId = _Coerce # pApggId_+    }++-- | User profile ID associated with this request.+apggProFileId :: Lens' AccountPermissionGroupsGet Int64+apggProFileId+  = lens _apggProFileId+      (\ s a -> s{_apggProFileId = a})+      . _Coerce++-- | Account permission group ID.+apggId :: Lens' AccountPermissionGroupsGet Int64+apggId+  = lens _apggId (\ s a -> s{_apggId = a}) . _Coerce++instance GoogleRequest AccountPermissionGroupsGet+         where+        type Rs AccountPermissionGroupsGet =+             AccountPermissionGroup+        requestClient AccountPermissionGroupsGet{..}+          = go _apggProFileId _apggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountPermissionGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/List.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.AccountPermissionGroups.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)+--+-- Retrieves the list of account permission groups.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountPermissionGroups.list@.+module Network.Google.Resource.DFAReporting.AccountPermissionGroups.List+    (+    -- * REST Resource+      AccountPermissionGroupsListResource++    -- * Creating a Request+    , accountPermissionGroupsList+    , AccountPermissionGroupsList++    -- * Request Lenses+    , apglProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountPermissionGroups.list@ method which the+-- 'AccountPermissionGroupsList' request conforms to.+type AccountPermissionGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountPermissionGroups" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] AccountPermissionGroupsListResponse++-- | Retrieves the list of account permission groups.+--+-- /See:/ 'accountPermissionGroupsList' smart constructor.+newtype AccountPermissionGroupsList = AccountPermissionGroupsList+    { _apglProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apglProFileId'+accountPermissionGroupsList+    :: Int64 -- ^ 'apglProFileId'+    -> AccountPermissionGroupsList+accountPermissionGroupsList pApglProFileId_ =+    AccountPermissionGroupsList+    { _apglProFileId = _Coerce # pApglProFileId_+    }++-- | User profile ID associated with this request.+apglProFileId :: Lens' AccountPermissionGroupsList Int64+apglProFileId+  = lens _apglProFileId+      (\ s a -> s{_apglProFileId = a})+      . _Coerce++instance GoogleRequest AccountPermissionGroupsList+         where+        type Rs AccountPermissionGroupsList =+             AccountPermissionGroupsListResponse+        requestClient AccountPermissionGroupsList{..}+          = go _apglProFileId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountPermissionGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountPermissions/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.DFAReporting.AccountPermissions.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)+--+-- Gets one account permission by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountPermissions.get@.+module Network.Google.Resource.DFAReporting.AccountPermissions.Get+    (+    -- * REST Resource+      AccountPermissionsGetResource++    -- * Creating a Request+    , accountPermissionsGet+    , AccountPermissionsGet++    -- * Request Lenses+    , apgProFileId+    , apgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountPermissions.get@ method which the+-- 'AccountPermissionsGet' request conforms to.+type AccountPermissionsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountPermissions" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AccountPermission++-- | Gets one account permission by ID.+--+-- /See:/ 'accountPermissionsGet' smart constructor.+data AccountPermissionsGet = AccountPermissionsGet+    { _apgProFileId :: !(Textual Int64)+    , _apgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apgProFileId'+--+-- * 'apgId'+accountPermissionsGet+    :: Int64 -- ^ 'apgProFileId'+    -> Int64 -- ^ 'apgId'+    -> AccountPermissionsGet+accountPermissionsGet pApgProFileId_ pApgId_ =+    AccountPermissionsGet+    { _apgProFileId = _Coerce # pApgProFileId_+    , _apgId = _Coerce # pApgId_+    }++-- | User profile ID associated with this request.+apgProFileId :: Lens' AccountPermissionsGet Int64+apgProFileId+  = lens _apgProFileId (\ s a -> s{_apgProFileId = a})+      . _Coerce++-- | Account permission ID.+apgId :: Lens' AccountPermissionsGet Int64+apgId+  = lens _apgId (\ s a -> s{_apgId = a}) . _Coerce++instance GoogleRequest AccountPermissionsGet where+        type Rs AccountPermissionsGet = AccountPermission+        requestClient AccountPermissionsGet{..}+          = go _apgProFileId _apgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountPermissionsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountPermissions/List.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.AccountPermissions.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)+--+-- Retrieves the list of account permissions.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountPermissions.list@.+module Network.Google.Resource.DFAReporting.AccountPermissions.List+    (+    -- * REST Resource+      AccountPermissionsListResource++    -- * Creating a Request+    , accountPermissionsList+    , AccountPermissionsList++    -- * Request Lenses+    , aplProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountPermissions.list@ method which the+-- 'AccountPermissionsList' request conforms to.+type AccountPermissionsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountPermissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] AccountPermissionsListResponse++-- | Retrieves the list of account permissions.+--+-- /See:/ 'accountPermissionsList' smart constructor.+newtype AccountPermissionsList = AccountPermissionsList+    { _aplProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aplProFileId'+accountPermissionsList+    :: Int64 -- ^ 'aplProFileId'+    -> AccountPermissionsList+accountPermissionsList pAplProFileId_ =+    AccountPermissionsList+    { _aplProFileId = _Coerce # pAplProFileId_+    }++-- | User profile ID associated with this request.+aplProFileId :: Lens' AccountPermissionsList Int64+aplProFileId+  = lens _aplProFileId (\ s a -> s{_aplProFileId = a})+      . _Coerce++instance GoogleRequest AccountPermissionsList where+        type Rs AccountPermissionsList =+             AccountPermissionsListResponse+        requestClient AccountPermissionsList{..}+          = go _aplProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.DFAReporting.AccountUserProFiles.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)+--+-- Gets one account user profile by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountUserProfiles.get@.+module Network.Google.Resource.DFAReporting.AccountUserProFiles.Get+    (+    -- * REST Resource+      AccountUserProFilesGetResource++    -- * Creating a Request+    , accountUserProFilesGet+    , AccountUserProFilesGet++    -- * Request Lenses+    , aupfgProFileId+    , aupfgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountUserProfiles.get@ method which the+-- 'AccountUserProFilesGet' request conforms to.+type AccountUserProFilesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountUserProfiles" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AccountUserProFile++-- | Gets one account user profile by ID.+--+-- /See:/ 'accountUserProFilesGet' smart constructor.+data AccountUserProFilesGet = AccountUserProFilesGet+    { _aupfgProFileId :: !(Textual Int64)+    , _aupfgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupfgProFileId'+--+-- * 'aupfgId'+accountUserProFilesGet+    :: Int64 -- ^ 'aupfgProFileId'+    -> Int64 -- ^ 'aupfgId'+    -> AccountUserProFilesGet+accountUserProFilesGet pAupfgProFileId_ pAupfgId_ =+    AccountUserProFilesGet+    { _aupfgProFileId = _Coerce # pAupfgProFileId_+    , _aupfgId = _Coerce # pAupfgId_+    }++-- | User profile ID associated with this request.+aupfgProFileId :: Lens' AccountUserProFilesGet Int64+aupfgProFileId+  = lens _aupfgProFileId+      (\ s a -> s{_aupfgProFileId = a})+      . _Coerce++-- | User profile ID.+aupfgId :: Lens' AccountUserProFilesGet Int64+aupfgId+  = lens _aupfgId (\ s a -> s{_aupfgId = a}) . _Coerce++instance GoogleRequest AccountUserProFilesGet where+        type Rs AccountUserProFilesGet = AccountUserProFile+        requestClient AccountUserProFilesGet{..}+          = go _aupfgProFileId _aupfgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountUserProFilesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Insert.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new account user profile.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountUserProfiles.insert@.+module Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert+    (+    -- * REST Resource+      AccountUserProFilesInsertResource++    -- * Creating a Request+    , accountUserProFilesInsert+    , AccountUserProFilesInsert++    -- * Request Lenses+    , aupfiProFileId+    , aupfiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountUserProfiles.insert@ method which the+-- 'AccountUserProFilesInsert' request conforms to.+type AccountUserProFilesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountUserProfiles" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] AccountUserProFile :>+                   Post '[JSON] AccountUserProFile++-- | Inserts a new account user profile.+--+-- /See:/ 'accountUserProFilesInsert' smart constructor.+data AccountUserProFilesInsert = AccountUserProFilesInsert+    { _aupfiProFileId :: !(Textual Int64)+    , _aupfiPayload   :: !AccountUserProFile+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupfiProFileId'+--+-- * 'aupfiPayload'+accountUserProFilesInsert+    :: Int64 -- ^ 'aupfiProFileId'+    -> AccountUserProFile -- ^ 'aupfiPayload'+    -> AccountUserProFilesInsert+accountUserProFilesInsert pAupfiProFileId_ pAupfiPayload_ =+    AccountUserProFilesInsert+    { _aupfiProFileId = _Coerce # pAupfiProFileId_+    , _aupfiPayload = pAupfiPayload_+    }++-- | User profile ID associated with this request.+aupfiProFileId :: Lens' AccountUserProFilesInsert Int64+aupfiProFileId+  = lens _aupfiProFileId+      (\ s a -> s{_aupfiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+aupfiPayload :: Lens' AccountUserProFilesInsert AccountUserProFile+aupfiPayload+  = lens _aupfiPayload (\ s a -> s{_aupfiPayload = a})++instance GoogleRequest AccountUserProFilesInsert+         where+        type Rs AccountUserProFilesInsert =+             AccountUserProFile+        requestClient AccountUserProFilesInsert{..}+          = go _aupfiProFileId (Just AltJSON) _aupfiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountUserProFilesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/List.hs view
@@ -0,0 +1,219 @@+{-# 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.DFAReporting.AccountUserProFiles.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)+--+-- Retrieves a list of account user profiles, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountUserProfiles.list@.+module Network.Google.Resource.DFAReporting.AccountUserProFiles.List+    (+    -- * REST Resource+      AccountUserProFilesListResource++    -- * Creating a Request+    , accountUserProFilesList+    , AccountUserProFilesList++    -- * Request Lenses+    , aupflUserRoleId+    , aupflSearchString+    , aupflIds+    , aupflProFileId+    , aupflSortOrder+    , aupflActive+    , aupflPageToken+    , aupflSortField+    , aupflSubAccountId+    , aupflMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountUserProfiles.list@ method which the+-- 'AccountUserProFilesList' request conforms to.+type AccountUserProFilesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountUserProfiles" :>+               QueryParam "userRoleId" (Textual Int64) :>+                 QueryParam "searchString" Text :>+                   QueryParams "ids" (Textual Int64) :>+                     QueryParam "sortOrder"+                       AccountUserProFilesListSortOrder+                       :>+                       QueryParam "active" Bool :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField"+                             AccountUserProFilesListSortField+                             :>+                             QueryParam "subaccountId" (Textual Int64) :>+                               QueryParam "maxResults" (Textual Int32) :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] AccountUserProFilesListResponse++-- | Retrieves a list of account user profiles, possibly filtered.+--+-- /See:/ 'accountUserProFilesList' smart constructor.+data AccountUserProFilesList = AccountUserProFilesList+    { _aupflUserRoleId   :: !(Maybe (Textual Int64))+    , _aupflSearchString :: !(Maybe Text)+    , _aupflIds          :: !(Maybe [Textual Int64])+    , _aupflProFileId    :: !(Textual Int64)+    , _aupflSortOrder    :: !(Maybe AccountUserProFilesListSortOrder)+    , _aupflActive       :: !(Maybe Bool)+    , _aupflPageToken    :: !(Maybe Text)+    , _aupflSortField    :: !(Maybe AccountUserProFilesListSortField)+    , _aupflSubAccountId :: !(Maybe (Textual Int64))+    , _aupflMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupflUserRoleId'+--+-- * 'aupflSearchString'+--+-- * 'aupflIds'+--+-- * 'aupflProFileId'+--+-- * 'aupflSortOrder'+--+-- * 'aupflActive'+--+-- * 'aupflPageToken'+--+-- * 'aupflSortField'+--+-- * 'aupflSubAccountId'+--+-- * 'aupflMaxResults'+accountUserProFilesList+    :: Int64 -- ^ 'aupflProFileId'+    -> AccountUserProFilesList+accountUserProFilesList pAupflProFileId_ =+    AccountUserProFilesList+    { _aupflUserRoleId = Nothing+    , _aupflSearchString = Nothing+    , _aupflIds = Nothing+    , _aupflProFileId = _Coerce # pAupflProFileId_+    , _aupflSortOrder = Nothing+    , _aupflActive = Nothing+    , _aupflPageToken = Nothing+    , _aupflSortField = Nothing+    , _aupflSubAccountId = Nothing+    , _aupflMaxResults = Nothing+    }++-- | Select only user profiles with the specified user role ID.+aupflUserRoleId :: Lens' AccountUserProFilesList (Maybe Int64)+aupflUserRoleId+  = lens _aupflUserRoleId+      (\ s a -> s{_aupflUserRoleId = a})+      . mapping _Coerce++-- | Allows searching for objects by name, ID or email. Wildcards (*) are+-- allowed. For example, \"user profile*2015\" will return objects with+-- names like \"user profile June 2015\", \"user profile April 2015\", or+-- simply \"user profile 2015\". Most of the searches also add wildcards+-- implicitly at the start and the end of the search string. For example, a+-- search string of \"user profile\" will match objects with name \"my user+-- profile\", \"user profile 2015\", or simply \"user profile\".+aupflSearchString :: Lens' AccountUserProFilesList (Maybe Text)+aupflSearchString+  = lens _aupflSearchString+      (\ s a -> s{_aupflSearchString = a})++-- | Select only user profiles with these IDs.+aupflIds :: Lens' AccountUserProFilesList [Int64]+aupflIds+  = lens _aupflIds (\ s a -> s{_aupflIds = a}) .+      _Default+      . _Coerce++-- | User profile ID associated with this request.+aupflProFileId :: Lens' AccountUserProFilesList Int64+aupflProFileId+  = lens _aupflProFileId+      (\ s a -> s{_aupflProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+aupflSortOrder :: Lens' AccountUserProFilesList (Maybe AccountUserProFilesListSortOrder)+aupflSortOrder+  = lens _aupflSortOrder+      (\ s a -> s{_aupflSortOrder = a})++-- | Select only active user profiles.+aupflActive :: Lens' AccountUserProFilesList (Maybe Bool)+aupflActive+  = lens _aupflActive (\ s a -> s{_aupflActive = a})++-- | Value of the nextPageToken from the previous result page.+aupflPageToken :: Lens' AccountUserProFilesList (Maybe Text)+aupflPageToken+  = lens _aupflPageToken+      (\ s a -> s{_aupflPageToken = a})++-- | Field by which to sort the list.+aupflSortField :: Lens' AccountUserProFilesList (Maybe AccountUserProFilesListSortField)+aupflSortField+  = lens _aupflSortField+      (\ s a -> s{_aupflSortField = a})++-- | Select only user profiles with the specified subaccount ID.+aupflSubAccountId :: Lens' AccountUserProFilesList (Maybe Int64)+aupflSubAccountId+  = lens _aupflSubAccountId+      (\ s a -> s{_aupflSubAccountId = a})+      . mapping _Coerce++-- | Maximum number of results to return.+aupflMaxResults :: Lens' AccountUserProFilesList (Maybe Int32)+aupflMaxResults+  = lens _aupflMaxResults+      (\ s a -> s{_aupflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountUserProFilesList where+        type Rs AccountUserProFilesList =+             AccountUserProFilesListResponse+        requestClient AccountUserProFilesList{..}+          = go _aupflProFileId _aupflUserRoleId+              _aupflSearchString+              (_aupflIds ^. _Default)+              _aupflSortOrder+              _aupflActive+              _aupflPageToken+              _aupflSortField+              _aupflSubAccountId+              _aupflMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountUserProFilesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Patch.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.DFAReporting.AccountUserProFiles.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing account user profile. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountUserProfiles.patch@.+module Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch+    (+    -- * REST Resource+      AccountUserProFilesPatchResource++    -- * Creating a Request+    , accountUserProFilesPatch+    , AccountUserProFilesPatch++    -- * Request Lenses+    , aupfpProFileId+    , aupfpPayload+    , aupfpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountUserProfiles.patch@ method which the+-- 'AccountUserProFilesPatch' request conforms to.+type AccountUserProFilesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountUserProfiles" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] AccountUserProFile :>+                     Patch '[JSON] AccountUserProFile++-- | Updates an existing account user profile. This method supports patch+-- semantics.+--+-- /See:/ 'accountUserProFilesPatch' smart constructor.+data AccountUserProFilesPatch = AccountUserProFilesPatch+    { _aupfpProFileId :: !(Textual Int64)+    , _aupfpPayload   :: !AccountUserProFile+    , _aupfpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupfpProFileId'+--+-- * 'aupfpPayload'+--+-- * 'aupfpId'+accountUserProFilesPatch+    :: Int64 -- ^ 'aupfpProFileId'+    -> AccountUserProFile -- ^ 'aupfpPayload'+    -> Int64 -- ^ 'aupfpId'+    -> AccountUserProFilesPatch+accountUserProFilesPatch pAupfpProFileId_ pAupfpPayload_ pAupfpId_ =+    AccountUserProFilesPatch+    { _aupfpProFileId = _Coerce # pAupfpProFileId_+    , _aupfpPayload = pAupfpPayload_+    , _aupfpId = _Coerce # pAupfpId_+    }++-- | User profile ID associated with this request.+aupfpProFileId :: Lens' AccountUserProFilesPatch Int64+aupfpProFileId+  = lens _aupfpProFileId+      (\ s a -> s{_aupfpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+aupfpPayload :: Lens' AccountUserProFilesPatch AccountUserProFile+aupfpPayload+  = lens _aupfpPayload (\ s a -> s{_aupfpPayload = a})++-- | User profile ID.+aupfpId :: Lens' AccountUserProFilesPatch Int64+aupfpId+  = lens _aupfpId (\ s a -> s{_aupfpId = a}) . _Coerce++instance GoogleRequest AccountUserProFilesPatch where+        type Rs AccountUserProFilesPatch = AccountUserProFile+        requestClient AccountUserProFilesPatch{..}+          = go _aupfpProFileId (Just _aupfpId) (Just AltJSON)+              _aupfpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountUserProFilesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Update.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.AccountUserProFiles.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing account user profile.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accountUserProfiles.update@.+module Network.Google.Resource.DFAReporting.AccountUserProFiles.Update+    (+    -- * REST Resource+      AccountUserProFilesUpdateResource++    -- * Creating a Request+    , accountUserProFilesUpdate+    , AccountUserProFilesUpdate++    -- * Request Lenses+    , aupfuProFileId+    , aupfuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accountUserProfiles.update@ method which the+-- 'AccountUserProFilesUpdate' request conforms to.+type AccountUserProFilesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accountUserProfiles" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] AccountUserProFile :>+                   Put '[JSON] AccountUserProFile++-- | Updates an existing account user profile.+--+-- /See:/ 'accountUserProFilesUpdate' smart constructor.+data AccountUserProFilesUpdate = AccountUserProFilesUpdate+    { _aupfuProFileId :: !(Textual Int64)+    , _aupfuPayload   :: !AccountUserProFile+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountUserProFilesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aupfuProFileId'+--+-- * 'aupfuPayload'+accountUserProFilesUpdate+    :: Int64 -- ^ 'aupfuProFileId'+    -> AccountUserProFile -- ^ 'aupfuPayload'+    -> AccountUserProFilesUpdate+accountUserProFilesUpdate pAupfuProFileId_ pAupfuPayload_ =+    AccountUserProFilesUpdate+    { _aupfuProFileId = _Coerce # pAupfuProFileId_+    , _aupfuPayload = pAupfuPayload_+    }++-- | User profile ID associated with this request.+aupfuProFileId :: Lens' AccountUserProFilesUpdate Int64+aupfuProFileId+  = lens _aupfuProFileId+      (\ s a -> s{_aupfuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+aupfuPayload :: Lens' AccountUserProFilesUpdate AccountUserProFile+aupfuPayload+  = lens _aupfuPayload (\ s a -> s{_aupfuPayload = a})++instance GoogleRequest AccountUserProFilesUpdate+         where+        type Rs AccountUserProFilesUpdate =+             AccountUserProFile+        requestClient AccountUserProFilesUpdate{..}+          = go _aupfuProFileId (Just AltJSON) _aupfuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AccountUserProFilesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Accounts/Get.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.DFAReporting.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)+--+-- Gets one account by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accounts.get@.+module Network.Google.Resource.DFAReporting.Accounts.Get+    (+    -- * REST Resource+      AccountsGetResource++    -- * Creating a Request+    , accountsGet+    , AccountsGet++    -- * Request Lenses+    , aggProFileId+    , aggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accounts.get@ method which the+-- 'AccountsGet' request conforms to.+type AccountsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accounts" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Account++-- | Gets one account by ID.+--+-- /See:/ 'accountsGet' smart constructor.+data AccountsGet = AccountsGet+    { _aggProFileId :: !(Textual Int64)+    , _aggId        :: !(Textual Int64)+    } 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:+--+-- * 'aggProFileId'+--+-- * 'aggId'+accountsGet+    :: Int64 -- ^ 'aggProFileId'+    -> Int64 -- ^ 'aggId'+    -> AccountsGet+accountsGet pAggProFileId_ pAggId_ =+    AccountsGet+    { _aggProFileId = _Coerce # pAggProFileId_+    , _aggId = _Coerce # pAggId_+    }++-- | User profile ID associated with this request.+aggProFileId :: Lens' AccountsGet Int64+aggProFileId+  = lens _aggProFileId (\ s a -> s{_aggProFileId = a})+      . _Coerce++-- | Account ID.+aggId :: Lens' AccountsGet Int64+aggId+  = lens _aggId (\ s a -> s{_aggId = a}) . _Coerce++instance GoogleRequest AccountsGet where+        type Rs AccountsGet = Account+        requestClient AccountsGet{..}+          = go _aggProFileId _aggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AccountsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Accounts/List.hs view
@@ -0,0 +1,181 @@+{-# 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.DFAReporting.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)+--+-- Retrieves the list of accounts, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accounts.list@.+module Network.Google.Resource.DFAReporting.Accounts.List+    (+    -- * REST Resource+      AccountsListResource++    -- * Creating a Request+    , accountsList+    , AccountsList++    -- * Request Lenses+    , accSearchString+    , accIds+    , accProFileId+    , accSortOrder+    , accActive+    , accPageToken+    , accSortField+    , accMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accounts.list@ method which the+-- 'AccountsList' request conforms to.+type AccountsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accounts" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" AccountsListSortOrder :>+                     QueryParam "active" Bool :>+                       QueryParam "pageToken" Text :>+                         QueryParam "sortField" AccountsListSortField :>+                           QueryParam "maxResults" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] AccountsListResponse++-- | Retrieves the list of accounts, possibly filtered.+--+-- /See:/ 'accountsList' smart constructor.+data AccountsList = AccountsList+    { _accSearchString :: !(Maybe Text)+    , _accIds          :: !(Maybe [Textual Int64])+    , _accProFileId    :: !(Textual Int64)+    , _accSortOrder    :: !(Maybe AccountsListSortOrder)+    , _accActive       :: !(Maybe Bool)+    , _accPageToken    :: !(Maybe Text)+    , _accSortField    :: !(Maybe AccountsListSortField)+    , _accMaxResults   :: !(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:+--+-- * 'accSearchString'+--+-- * 'accIds'+--+-- * 'accProFileId'+--+-- * 'accSortOrder'+--+-- * 'accActive'+--+-- * 'accPageToken'+--+-- * 'accSortField'+--+-- * 'accMaxResults'+accountsList+    :: Int64 -- ^ 'accProFileId'+    -> AccountsList+accountsList pAccProFileId_ =+    AccountsList+    { _accSearchString = Nothing+    , _accIds = Nothing+    , _accProFileId = _Coerce # pAccProFileId_+    , _accSortOrder = Nothing+    , _accActive = Nothing+    , _accPageToken = Nothing+    , _accSortField = Nothing+    , _accMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"account*2015\" will return objects with names like+-- \"account June 2015\", \"account April 2015\", or simply \"account+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"account\" will match objects with name \"my account\", \"account+-- 2015\", or simply \"account\".+accSearchString :: Lens' AccountsList (Maybe Text)+accSearchString+  = lens _accSearchString+      (\ s a -> s{_accSearchString = a})++-- | Select only accounts with these IDs.+accIds :: Lens' AccountsList [Int64]+accIds+  = lens _accIds (\ s a -> s{_accIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+accProFileId :: Lens' AccountsList Int64+accProFileId+  = lens _accProFileId (\ s a -> s{_accProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+accSortOrder :: Lens' AccountsList (Maybe AccountsListSortOrder)+accSortOrder+  = lens _accSortOrder (\ s a -> s{_accSortOrder = a})++-- | Select only active accounts. Don\'t set this field to select both active+-- and non-active accounts.+accActive :: Lens' AccountsList (Maybe Bool)+accActive+  = lens _accActive (\ s a -> s{_accActive = a})++-- | Value of the nextPageToken from the previous result page.+accPageToken :: Lens' AccountsList (Maybe Text)+accPageToken+  = lens _accPageToken (\ s a -> s{_accPageToken = a})++-- | Field by which to sort the list.+accSortField :: Lens' AccountsList (Maybe AccountsListSortField)+accSortField+  = lens _accSortField (\ s a -> s{_accSortField = a})++-- | Maximum number of results to return.+accMaxResults :: Lens' AccountsList (Maybe Int32)+accMaxResults+  = lens _accMaxResults+      (\ s a -> s{_accMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AccountsList where+        type Rs AccountsList = AccountsListResponse+        requestClient AccountsList{..}+          = go _accProFileId _accSearchString+              (_accIds ^. _Default)+              _accSortOrder+              _accActive+              _accPageToken+              _accSortField+              _accMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AccountsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Accounts/Patch.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.Accounts.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing account. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accounts.patch@.+module Network.Google.Resource.DFAReporting.Accounts.Patch+    (+    -- * REST Resource+      AccountsPatchResource++    -- * Creating a Request+    , accountsPatch+    , AccountsPatch++    -- * Request Lenses+    , appProFileId+    , appPayload+    , appId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accounts.patch@ method which the+-- 'AccountsPatch' request conforms to.+type AccountsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accounts" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Account :> Patch '[JSON] Account++-- | Updates an existing account. This method supports patch semantics.+--+-- /See:/ 'accountsPatch' smart constructor.+data AccountsPatch = AccountsPatch+    { _appProFileId :: !(Textual Int64)+    , _appPayload   :: !Account+    , _appId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'appProFileId'+--+-- * 'appPayload'+--+-- * 'appId'+accountsPatch+    :: Int64 -- ^ 'appProFileId'+    -> Account -- ^ 'appPayload'+    -> Int64 -- ^ 'appId'+    -> AccountsPatch+accountsPatch pAppProFileId_ pAppPayload_ pAppId_ =+    AccountsPatch+    { _appProFileId = _Coerce # pAppProFileId_+    , _appPayload = pAppPayload_+    , _appId = _Coerce # pAppId_+    }++-- | User profile ID associated with this request.+appProFileId :: Lens' AccountsPatch Int64+appProFileId+  = lens _appProFileId (\ s a -> s{_appProFileId = a})+      . _Coerce++-- | Multipart request metadata.+appPayload :: Lens' AccountsPatch Account+appPayload+  = lens _appPayload (\ s a -> s{_appPayload = a})++-- | Account ID.+appId :: Lens' AccountsPatch Int64+appId+  = lens _appId (\ s a -> s{_appId = a}) . _Coerce++instance GoogleRequest AccountsPatch where+        type Rs AccountsPatch = Account+        requestClient AccountsPatch{..}+          = go _appProFileId (Just _appId) (Just AltJSON)+              _appPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AccountsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Accounts/Update.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.DFAReporting.Accounts.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing account.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.accounts.update@.+module Network.Google.Resource.DFAReporting.Accounts.Update+    (+    -- * REST Resource+      AccountsUpdateResource++    -- * Creating a Request+    , accountsUpdate+    , AccountsUpdate++    -- * Request Lenses+    , auuProFileId+    , auuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.accounts.update@ method which the+-- 'AccountsUpdate' request conforms to.+type AccountsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "accounts" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Account :> Put '[JSON] Account++-- | Updates an existing account.+--+-- /See:/ 'accountsUpdate' smart constructor.+data AccountsUpdate = AccountsUpdate+    { _auuProFileId :: !(Textual Int64)+    , _auuPayload   :: !Account+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auuProFileId'+--+-- * 'auuPayload'+accountsUpdate+    :: Int64 -- ^ 'auuProFileId'+    -> Account -- ^ 'auuPayload'+    -> AccountsUpdate+accountsUpdate pAuuProFileId_ pAuuPayload_ =+    AccountsUpdate+    { _auuProFileId = _Coerce # pAuuProFileId_+    , _auuPayload = pAuuPayload_+    }++-- | User profile ID associated with this request.+auuProFileId :: Lens' AccountsUpdate Int64+auuProFileId+  = lens _auuProFileId (\ s a -> s{_auuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+auuPayload :: Lens' AccountsUpdate Account+auuPayload+  = lens _auuPayload (\ s a -> s{_auuPayload = a})++instance GoogleRequest AccountsUpdate where+        type Rs AccountsUpdate = Account+        requestClient AccountsUpdate{..}+          = go _auuProFileId (Just AltJSON) _auuPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AccountsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Ads/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Ads.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)+--+-- Gets one ad by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.ads.get@.+module Network.Google.Resource.DFAReporting.Ads.Get+    (+    -- * REST Resource+      AdsGetResource++    -- * Creating a Request+    , adsGet+    , AdsGet++    -- * Request Lenses+    , adsProFileId+    , adsId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.ads.get@ method which the+-- 'AdsGet' request conforms to.+type AdsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "ads" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Ad++-- | Gets one ad by ID.+--+-- /See:/ 'adsGet' smart constructor.+data AdsGet = AdsGet+    { _adsProFileId :: !(Textual Int64)+    , _adsId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adsProFileId'+--+-- * 'adsId'+adsGet+    :: Int64 -- ^ 'adsProFileId'+    -> Int64 -- ^ 'adsId'+    -> AdsGet+adsGet pAdsProFileId_ pAdsId_ =+    AdsGet+    { _adsProFileId = _Coerce # pAdsProFileId_+    , _adsId = _Coerce # pAdsId_+    }++-- | User profile ID associated with this request.+adsProFileId :: Lens' AdsGet Int64+adsProFileId+  = lens _adsProFileId (\ s a -> s{_adsProFileId = a})+      . _Coerce++-- | Ad ID.+adsId :: Lens' AdsGet Int64+adsId+  = lens _adsId (\ s a -> s{_adsId = a}) . _Coerce++instance GoogleRequest AdsGet where+        type Rs AdsGet = Ad+        requestClient AdsGet{..}+          = go _adsProFileId _adsId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdsGetResource) mempty
+ gen/Network/Google/Resource/DFAReporting/Ads/Insert.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.DFAReporting.Ads.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new ad.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.ads.insert@.+module Network.Google.Resource.DFAReporting.Ads.Insert+    (+    -- * REST Resource+      AdsInsertResource++    -- * Creating a Request+    , adsInsert+    , AdsInsert++    -- * Request Lenses+    , aiProFileId+    , aiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.ads.insert@ method which the+-- 'AdsInsert' request conforms to.+type AdsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "ads" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Ad :> Post '[JSON] Ad++-- | Inserts a new ad.+--+-- /See:/ 'adsInsert' smart constructor.+data AdsInsert = AdsInsert+    { _aiProFileId :: !(Textual Int64)+    , _aiPayload   :: !Ad+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiProFileId'+--+-- * 'aiPayload'+adsInsert+    :: Int64 -- ^ 'aiProFileId'+    -> Ad -- ^ 'aiPayload'+    -> AdsInsert+adsInsert pAiProFileId_ pAiPayload_ =+    AdsInsert+    { _aiProFileId = _Coerce # pAiProFileId_+    , _aiPayload = pAiPayload_+    }++-- | User profile ID associated with this request.+aiProFileId :: Lens' AdsInsert Int64+aiProFileId+  = lens _aiProFileId (\ s a -> s{_aiProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+aiPayload :: Lens' AdsInsert Ad+aiPayload+  = lens _aiPayload (\ s a -> s{_aiPayload = a})++instance GoogleRequest AdsInsert where+        type Rs AdsInsert = Ad+        requestClient AdsInsert{..}+          = go _aiProFileId (Just AltJSON) _aiPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Ads/List.hs view
@@ -0,0 +1,451 @@+{-# 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.DFAReporting.Ads.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)+--+-- Retrieves a list of ads, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.ads.list@.+module Network.Google.Resource.DFAReporting.Ads.List+    (+    -- * REST Resource+      AdsListResource++    -- * Creating a Request+    , adsList+    , AdsList++    -- * Request Lenses+    , alRemarketingListIds+    , alLandingPageIds+    , alCreativeIds+    , alAdvertiserId+    , alCampaignIds+    , alSearchString+    , alSizeIds+    , alSSLCompliant+    , alIds+    , alProFileId+    , alSortOrder+    , alActive+    , alCreativeOptimizationConfigurationIds+    , alPlacementIds+    , alSSLRequired+    , alOverriddenEventTagId+    , alPageToken+    , alSortField+    , alType+    , alCreativeType+    , alDynamicClickTracker+    , alCompatibility+    , alArchived+    , alMaxResults+    , alAudienceSegmentIds+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.ads.list@ method which the+-- 'AdsList' request conforms to.+type AdsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "ads" :>+               QueryParams "remarketingListIds" (Textual Int64) :>+                 QueryParams "landingPageIds" (Textual Int64) :>+                   QueryParams "creativeIds" (Textual Int64) :>+                     QueryParam "advertiserId" (Textual Int64) :>+                       QueryParams "campaignIds" (Textual Int64) :>+                         QueryParam "searchString" Text :>+                           QueryParams "sizeIds" (Textual Int64) :>+                             QueryParam "sslCompliant" Bool :>+                               QueryParams "ids" (Textual Int64) :>+                                 QueryParam "sortOrder" AdsListSortOrder :>+                                   QueryParam "active" Bool :>+                                     QueryParams+                                       "creativeOptimizationConfigurationIds"+                                       (Textual Int64)+                                       :>+                                       QueryParams "placementIds"+                                         (Textual Int64)+                                         :>+                                         QueryParam "sslRequired" Bool :>+                                           QueryParam "overriddenEventTagId"+                                             (Textual Int64)+                                             :>+                                             QueryParam "pageToken" Text :>+                                               QueryParam "sortField"+                                                 AdsListSortField+                                                 :>+                                                 QueryParams "type" AdsListType+                                                   :>+                                                   QueryParam "creativeType"+                                                     AdsListCreativeType+                                                     :>+                                                     QueryParam+                                                       "dynamicClickTracker"+                                                       Bool+                                                       :>+                                                       QueryParam+                                                         "compatibility"+                                                         AdsListCompatibility+                                                         :>+                                                         QueryParam "archived"+                                                           Bool+                                                           :>+                                                           QueryParam+                                                             "maxResults"+                                                             (Textual Int32)+                                                             :>+                                                             QueryParams+                                                               "audienceSegmentIds"+                                                               (Textual Int64)+                                                               :>+                                                               QueryParam "alt"+                                                                 AltJSON+                                                                 :>+                                                                 Get '[JSON]+                                                                   AdsListResponse++-- | Retrieves a list of ads, possibly filtered.+--+-- /See:/ 'adsList' smart constructor.+data AdsList = AdsList+    { _alRemarketingListIds                   :: !(Maybe [Textual Int64])+    , _alLandingPageIds                       :: !(Maybe [Textual Int64])+    , _alCreativeIds                          :: !(Maybe [Textual Int64])+    , _alAdvertiserId                         :: !(Maybe (Textual Int64))+    , _alCampaignIds                          :: !(Maybe [Textual Int64])+    , _alSearchString                         :: !(Maybe Text)+    , _alSizeIds                              :: !(Maybe [Textual Int64])+    , _alSSLCompliant                         :: !(Maybe Bool)+    , _alIds                                  :: !(Maybe [Textual Int64])+    , _alProFileId                            :: !(Textual Int64)+    , _alSortOrder                            :: !(Maybe AdsListSortOrder)+    , _alActive                               :: !(Maybe Bool)+    , _alCreativeOptimizationConfigurationIds :: !(Maybe [Textual Int64])+    , _alPlacementIds                         :: !(Maybe [Textual Int64])+    , _alSSLRequired                          :: !(Maybe Bool)+    , _alOverriddenEventTagId                 :: !(Maybe (Textual Int64))+    , _alPageToken                            :: !(Maybe Text)+    , _alSortField                            :: !(Maybe AdsListSortField)+    , _alType                                 :: !(Maybe [AdsListType])+    , _alCreativeType                         :: !(Maybe AdsListCreativeType)+    , _alDynamicClickTracker                  :: !(Maybe Bool)+    , _alCompatibility                        :: !(Maybe AdsListCompatibility)+    , _alArchived                             :: !(Maybe Bool)+    , _alMaxResults                           :: !(Maybe (Textual Int32))+    , _alAudienceSegmentIds                   :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alRemarketingListIds'+--+-- * 'alLandingPageIds'+--+-- * 'alCreativeIds'+--+-- * 'alAdvertiserId'+--+-- * 'alCampaignIds'+--+-- * 'alSearchString'+--+-- * 'alSizeIds'+--+-- * 'alSSLCompliant'+--+-- * 'alIds'+--+-- * 'alProFileId'+--+-- * 'alSortOrder'+--+-- * 'alActive'+--+-- * 'alCreativeOptimizationConfigurationIds'+--+-- * 'alPlacementIds'+--+-- * 'alSSLRequired'+--+-- * 'alOverriddenEventTagId'+--+-- * 'alPageToken'+--+-- * 'alSortField'+--+-- * 'alType'+--+-- * 'alCreativeType'+--+-- * 'alDynamicClickTracker'+--+-- * 'alCompatibility'+--+-- * 'alArchived'+--+-- * 'alMaxResults'+--+-- * 'alAudienceSegmentIds'+adsList+    :: Int64 -- ^ 'alProFileId'+    -> AdsList+adsList pAlProFileId_ =+    AdsList+    { _alRemarketingListIds = Nothing+    , _alLandingPageIds = Nothing+    , _alCreativeIds = Nothing+    , _alAdvertiserId = Nothing+    , _alCampaignIds = Nothing+    , _alSearchString = Nothing+    , _alSizeIds = Nothing+    , _alSSLCompliant = Nothing+    , _alIds = Nothing+    , _alProFileId = _Coerce # pAlProFileId_+    , _alSortOrder = Nothing+    , _alActive = Nothing+    , _alCreativeOptimizationConfigurationIds = Nothing+    , _alPlacementIds = Nothing+    , _alSSLRequired = Nothing+    , _alOverriddenEventTagId = Nothing+    , _alPageToken = Nothing+    , _alSortField = Nothing+    , _alType = Nothing+    , _alCreativeType = Nothing+    , _alDynamicClickTracker = Nothing+    , _alCompatibility = Nothing+    , _alArchived = Nothing+    , _alMaxResults = Nothing+    , _alAudienceSegmentIds = Nothing+    }++-- | Select only ads whose list targeting expression use these remarketing+-- list IDs.+alRemarketingListIds :: Lens' AdsList [Int64]+alRemarketingListIds+  = lens _alRemarketingListIds+      (\ s a -> s{_alRemarketingListIds = a})+      . _Default+      . _Coerce++-- | Select only ads with these landing page IDs.+alLandingPageIds :: Lens' AdsList [Int64]+alLandingPageIds+  = lens _alLandingPageIds+      (\ s a -> s{_alLandingPageIds = a})+      . _Default+      . _Coerce++-- | Select only ads with these creative IDs assigned.+alCreativeIds :: Lens' AdsList [Int64]+alCreativeIds+  = lens _alCreativeIds+      (\ s a -> s{_alCreativeIds = a})+      . _Default+      . _Coerce++-- | Select only ads with this advertiser ID.+alAdvertiserId :: Lens' AdsList (Maybe Int64)+alAdvertiserId+  = lens _alAdvertiserId+      (\ s a -> s{_alAdvertiserId = a})+      . mapping _Coerce++-- | Select only ads with these campaign IDs.+alCampaignIds :: Lens' AdsList [Int64]+alCampaignIds+  = lens _alCampaignIds+      (\ s a -> s{_alCampaignIds = a})+      . _Default+      . _Coerce++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"ad*2015\" will return objects with names like \"ad June+-- 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches+-- also add wildcards implicitly at the start and the end of the search+-- string. For example, a search string of \"ad\" will match objects with+-- name \"my ad\", \"ad 2015\", or simply \"ad\".+alSearchString :: Lens' AdsList (Maybe Text)+alSearchString+  = lens _alSearchString+      (\ s a -> s{_alSearchString = a})++-- | Select only ads with these size IDs.+alSizeIds :: Lens' AdsList [Int64]+alSizeIds+  = lens _alSizeIds (\ s a -> s{_alSizeIds = a}) .+      _Default+      . _Coerce++-- | Select only ads that are SSL-compliant.+alSSLCompliant :: Lens' AdsList (Maybe Bool)+alSSLCompliant+  = lens _alSSLCompliant+      (\ s a -> s{_alSSLCompliant = a})++-- | Select only ads with these IDs.+alIds :: Lens' AdsList [Int64]+alIds+  = lens _alIds (\ s a -> s{_alIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+alProFileId :: Lens' AdsList Int64+alProFileId+  = lens _alProFileId (\ s a -> s{_alProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is ASCENDING.+alSortOrder :: Lens' AdsList (Maybe AdsListSortOrder)+alSortOrder+  = lens _alSortOrder (\ s a -> s{_alSortOrder = a})++-- | Select only active ads.+alActive :: Lens' AdsList (Maybe Bool)+alActive = lens _alActive (\ s a -> s{_alActive = a})++-- | Select only ads with these creative optimization configuration IDs.+alCreativeOptimizationConfigurationIds :: Lens' AdsList [Int64]+alCreativeOptimizationConfigurationIds+  = lens _alCreativeOptimizationConfigurationIds+      (\ s a ->+         s{_alCreativeOptimizationConfigurationIds = a})+      . _Default+      . _Coerce++-- | Select only ads with these placement IDs assigned.+alPlacementIds :: Lens' AdsList [Int64]+alPlacementIds+  = lens _alPlacementIds+      (\ s a -> s{_alPlacementIds = a})+      . _Default+      . _Coerce++-- | Select only ads that require SSL.+alSSLRequired :: Lens' AdsList (Maybe Bool)+alSSLRequired+  = lens _alSSLRequired+      (\ s a -> s{_alSSLRequired = a})++-- | Select only ads with this event tag override ID.+alOverriddenEventTagId :: Lens' AdsList (Maybe Int64)+alOverriddenEventTagId+  = lens _alOverriddenEventTagId+      (\ s a -> s{_alOverriddenEventTagId = a})+      . mapping _Coerce++-- | Value of the nextPageToken from the previous result page.+alPageToken :: Lens' AdsList (Maybe Text)+alPageToken+  = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | Field by which to sort the list.+alSortField :: Lens' AdsList (Maybe AdsListSortField)+alSortField+  = lens _alSortField (\ s a -> s{_alSortField = a})++-- | Select only ads with these types.+alType :: Lens' AdsList [AdsListType]+alType+  = lens _alType (\ s a -> s{_alType = a}) . _Default .+      _Coerce++-- | Select only ads with the specified creativeType.+alCreativeType :: Lens' AdsList (Maybe AdsListCreativeType)+alCreativeType+  = lens _alCreativeType+      (\ s a -> s{_alCreativeType = a})++-- | Select only dynamic click trackers. Applicable when type is+-- AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If+-- false, select static click trackers. Leave unset to select both.+alDynamicClickTracker :: Lens' AdsList (Maybe Bool)+alDynamicClickTracker+  = lens _alDynamicClickTracker+      (\ s a -> s{_alDynamicClickTracker = a})++-- | Select default ads with the specified compatibility. Applicable when+-- type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to+-- rendering either on desktop or on mobile devices for regular or+-- interstitial ads, respectively. APP and APP_INTERSTITIAL are for+-- rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an+-- in-stream video ads developed with the VAST standard.+alCompatibility :: Lens' AdsList (Maybe AdsListCompatibility)+alCompatibility+  = lens _alCompatibility+      (\ s a -> s{_alCompatibility = a})++-- | Select only archived ads.+alArchived :: Lens' AdsList (Maybe Bool)+alArchived+  = lens _alArchived (\ s a -> s{_alArchived = a})++-- | Maximum number of results to return.+alMaxResults :: Lens' AdsList (Maybe Int32)+alMaxResults+  = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+      . mapping _Coerce++-- | Select only ads with these audience segment IDs.+alAudienceSegmentIds :: Lens' AdsList [Int64]+alAudienceSegmentIds+  = lens _alAudienceSegmentIds+      (\ s a -> s{_alAudienceSegmentIds = a})+      . _Default+      . _Coerce++instance GoogleRequest AdsList where+        type Rs AdsList = AdsListResponse+        requestClient AdsList{..}+          = go _alProFileId (_alRemarketingListIds ^. _Default)+              (_alLandingPageIds ^. _Default)+              (_alCreativeIds ^. _Default)+              _alAdvertiserId+              (_alCampaignIds ^. _Default)+              _alSearchString+              (_alSizeIds ^. _Default)+              _alSSLCompliant+              (_alIds ^. _Default)+              _alSortOrder+              _alActive+              (_alCreativeOptimizationConfigurationIds ^. _Default)+              (_alPlacementIds ^. _Default)+              _alSSLRequired+              _alOverriddenEventTagId+              _alPageToken+              _alSortField+              (_alType ^. _Default)+              _alCreativeType+              _alDynamicClickTracker+              _alCompatibility+              _alArchived+              _alMaxResults+              (_alAudienceSegmentIds ^. _Default)+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdsListResource) mempty
+ gen/Network/Google/Resource/DFAReporting/Ads/Patch.hs view
@@ -0,0 +1,111 @@+{-# 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.DFAReporting.Ads.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing ad. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.ads.patch@.+module Network.Google.Resource.DFAReporting.Ads.Patch+    (+    -- * REST Resource+      AdsPatchResource++    -- * Creating a Request+    , adsPatch+    , AdsPatch++    -- * Request Lenses+    , adsdProFileId+    , adsdPayload+    , adsdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.ads.patch@ method which the+-- 'AdsPatch' request conforms to.+type AdsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "ads" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Ad :> Patch '[JSON] Ad++-- | Updates an existing ad. This method supports patch semantics.+--+-- /See:/ 'adsPatch' smart constructor.+data AdsPatch = AdsPatch+    { _adsdProFileId :: !(Textual Int64)+    , _adsdPayload   :: !Ad+    , _adsdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adsdProFileId'+--+-- * 'adsdPayload'+--+-- * 'adsdId'+adsPatch+    :: Int64 -- ^ 'adsdProFileId'+    -> Ad -- ^ 'adsdPayload'+    -> Int64 -- ^ 'adsdId'+    -> AdsPatch+adsPatch pAdsdProFileId_ pAdsdPayload_ pAdsdId_ =+    AdsPatch+    { _adsdProFileId = _Coerce # pAdsdProFileId_+    , _adsdPayload = pAdsdPayload_+    , _adsdId = _Coerce # pAdsdId_+    }++-- | User profile ID associated with this request.+adsdProFileId :: Lens' AdsPatch Int64+adsdProFileId+  = lens _adsdProFileId+      (\ s a -> s{_adsdProFileId = a})+      . _Coerce++-- | Multipart request metadata.+adsdPayload :: Lens' AdsPatch Ad+adsdPayload+  = lens _adsdPayload (\ s a -> s{_adsdPayload = a})++-- | Ad ID.+adsdId :: Lens' AdsPatch Int64+adsdId+  = lens _adsdId (\ s a -> s{_adsdId = a}) . _Coerce++instance GoogleRequest AdsPatch where+        type Rs AdsPatch = Ad+        requestClient AdsPatch{..}+          = go _adsdProFileId (Just _adsdId) (Just AltJSON)+              _adsdPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Ads/Update.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Ads.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing ad.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.ads.update@.+module Network.Google.Resource.DFAReporting.Ads.Update+    (+    -- * REST Resource+      AdsUpdateResource++    -- * Creating a Request+    , adsUpdate+    , AdsUpdate++    -- * Request Lenses+    , aProFileId+    , aPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.ads.update@ method which the+-- 'AdsUpdate' request conforms to.+type AdsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "ads" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Ad :> Put '[JSON] Ad++-- | Updates an existing ad.+--+-- /See:/ 'adsUpdate' smart constructor.+data AdsUpdate = AdsUpdate+    { _aProFileId :: !(Textual Int64)+    , _aPayload   :: !Ad+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aProFileId'+--+-- * 'aPayload'+adsUpdate+    :: Int64 -- ^ 'aProFileId'+    -> Ad -- ^ 'aPayload'+    -> AdsUpdate+adsUpdate pAProFileId_ pAPayload_ =+    AdsUpdate+    { _aProFileId = _Coerce # pAProFileId_+    , _aPayload = pAPayload_+    }++-- | User profile ID associated with this request.+aProFileId :: Lens' AdsUpdate Int64+aProFileId+  = lens _aProFileId (\ s a -> s{_aProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+aPayload :: Lens' AdsUpdate Ad+aPayload = lens _aPayload (\ s a -> s{_aPayload = a})++instance GoogleRequest AdsUpdate where+        type Rs AdsUpdate = Ad+        requestClient AdsUpdate{..}+          = go _aProFileId (Just AltJSON) _aPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Delete.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.DFAReporting.AdvertiserGroups.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing advertiser group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.delete@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete+    (+    -- * REST Resource+      AdvertiserGroupsDeleteResource++    -- * Creating a Request+    , advertiserGroupsDelete+    , AdvertiserGroupsDelete++    -- * Request Lenses+    , agdProFileId+    , agdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.delete@ method which the+-- 'AdvertiserGroupsDelete' request conforms to.+type AdvertiserGroupsDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing advertiser group.+--+-- /See:/ 'advertiserGroupsDelete' smart constructor.+data AdvertiserGroupsDelete = AdvertiserGroupsDelete+    { _agdProFileId :: !(Textual Int64)+    , _agdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agdProFileId'+--+-- * 'agdId'+advertiserGroupsDelete+    :: Int64 -- ^ 'agdProFileId'+    -> Int64 -- ^ 'agdId'+    -> AdvertiserGroupsDelete+advertiserGroupsDelete pAgdProFileId_ pAgdId_ =+    AdvertiserGroupsDelete+    { _agdProFileId = _Coerce # pAgdProFileId_+    , _agdId = _Coerce # pAgdId_+    }++-- | User profile ID associated with this request.+agdProFileId :: Lens' AdvertiserGroupsDelete Int64+agdProFileId+  = lens _agdProFileId (\ s a -> s{_agdProFileId = a})+      . _Coerce++-- | Advertiser group ID.+agdId :: Lens' AdvertiserGroupsDelete Int64+agdId+  = lens _agdId (\ s a -> s{_agdId = a}) . _Coerce++instance GoogleRequest AdvertiserGroupsDelete where+        type Rs AdvertiserGroupsDelete = ()+        requestClient AdvertiserGroupsDelete{..}+          = go _agdProFileId _agdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.DFAReporting.AdvertiserGroups.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)+--+-- Gets one advertiser group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.get@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.Get+    (+    -- * REST Resource+      AdvertiserGroupsGetResource++    -- * Creating a Request+    , advertiserGroupsGet+    , AdvertiserGroupsGet++    -- * Request Lenses+    , agggProFileId+    , agggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.get@ method which the+-- 'AdvertiserGroupsGet' request conforms to.+type AdvertiserGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AdvertiserGroup++-- | Gets one advertiser group by ID.+--+-- /See:/ 'advertiserGroupsGet' smart constructor.+data AdvertiserGroupsGet = AdvertiserGroupsGet+    { _agggProFileId :: !(Textual Int64)+    , _agggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agggProFileId'+--+-- * 'agggId'+advertiserGroupsGet+    :: Int64 -- ^ 'agggProFileId'+    -> Int64 -- ^ 'agggId'+    -> AdvertiserGroupsGet+advertiserGroupsGet pAgggProFileId_ pAgggId_ =+    AdvertiserGroupsGet+    { _agggProFileId = _Coerce # pAgggProFileId_+    , _agggId = _Coerce # pAgggId_+    }++-- | User profile ID associated with this request.+agggProFileId :: Lens' AdvertiserGroupsGet Int64+agggProFileId+  = lens _agggProFileId+      (\ s a -> s{_agggProFileId = a})+      . _Coerce++-- | Advertiser group ID.+agggId :: Lens' AdvertiserGroupsGet Int64+agggId+  = lens _agggId (\ s a -> s{_agggId = a}) . _Coerce++instance GoogleRequest AdvertiserGroupsGet where+        type Rs AdvertiserGroupsGet = AdvertiserGroup+        requestClient AdvertiserGroupsGet{..}+          = go _agggProFileId _agggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Insert.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.DFAReporting.AdvertiserGroups.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new advertiser group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.insert@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert+    (+    -- * REST Resource+      AdvertiserGroupsInsertResource++    -- * Creating a Request+    , advertiserGroupsInsert+    , AdvertiserGroupsInsert++    -- * Request Lenses+    , agiProFileId+    , agiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.insert@ method which the+-- 'AdvertiserGroupsInsert' request conforms to.+type AdvertiserGroupsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] AdvertiserGroup :>+                   Post '[JSON] AdvertiserGroup++-- | Inserts a new advertiser group.+--+-- /See:/ 'advertiserGroupsInsert' smart constructor.+data AdvertiserGroupsInsert = AdvertiserGroupsInsert+    { _agiProFileId :: !(Textual Int64)+    , _agiPayload   :: !AdvertiserGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agiProFileId'+--+-- * 'agiPayload'+advertiserGroupsInsert+    :: Int64 -- ^ 'agiProFileId'+    -> AdvertiserGroup -- ^ 'agiPayload'+    -> AdvertiserGroupsInsert+advertiserGroupsInsert pAgiProFileId_ pAgiPayload_ =+    AdvertiserGroupsInsert+    { _agiProFileId = _Coerce # pAgiProFileId_+    , _agiPayload = pAgiPayload_+    }++-- | User profile ID associated with this request.+agiProFileId :: Lens' AdvertiserGroupsInsert Int64+agiProFileId+  = lens _agiProFileId (\ s a -> s{_agiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+agiPayload :: Lens' AdvertiserGroupsInsert AdvertiserGroup+agiPayload+  = lens _agiPayload (\ s a -> s{_agiPayload = a})++instance GoogleRequest AdvertiserGroupsInsert where+        type Rs AdvertiserGroupsInsert = AdvertiserGroup+        requestClient AdvertiserGroupsInsert{..}+          = go _agiProFileId (Just AltJSON) _agiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/List.hs view
@@ -0,0 +1,173 @@+{-# 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.DFAReporting.AdvertiserGroups.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)+--+-- Retrieves a list of advertiser groups, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.list@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.List+    (+    -- * REST Resource+      AdvertiserGroupsListResource++    -- * Creating a Request+    , advertiserGroupsList+    , AdvertiserGroupsList++    -- * Request Lenses+    , aglSearchString+    , aglIds+    , aglProFileId+    , aglSortOrder+    , aglPageToken+    , aglSortField+    , aglMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.list@ method which the+-- 'AdvertiserGroupsList' request conforms to.+type AdvertiserGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" AdvertiserGroupsListSortOrder+                     :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" AdvertiserGroupsListSortField+                         :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] AdvertiserGroupsListResponse++-- | Retrieves a list of advertiser groups, possibly filtered.+--+-- /See:/ 'advertiserGroupsList' smart constructor.+data AdvertiserGroupsList = AdvertiserGroupsList+    { _aglSearchString :: !(Maybe Text)+    , _aglIds          :: !(Maybe [Textual Int64])+    , _aglProFileId    :: !(Textual Int64)+    , _aglSortOrder    :: !(Maybe AdvertiserGroupsListSortOrder)+    , _aglPageToken    :: !(Maybe Text)+    , _aglSortField    :: !(Maybe AdvertiserGroupsListSortField)+    , _aglMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aglSearchString'+--+-- * 'aglIds'+--+-- * 'aglProFileId'+--+-- * 'aglSortOrder'+--+-- * 'aglPageToken'+--+-- * 'aglSortField'+--+-- * 'aglMaxResults'+advertiserGroupsList+    :: Int64 -- ^ 'aglProFileId'+    -> AdvertiserGroupsList+advertiserGroupsList pAglProFileId_ =+    AdvertiserGroupsList+    { _aglSearchString = Nothing+    , _aglIds = Nothing+    , _aglProFileId = _Coerce # pAglProFileId_+    , _aglSortOrder = Nothing+    , _aglPageToken = Nothing+    , _aglSortField = Nothing+    , _aglMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"advertiser*2015\" will return objects with names like+-- \"advertiser group June 2015\", \"advertiser group April 2015\", or+-- simply \"advertiser group 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"advertisergroup\" will match objects with+-- name \"my advertisergroup\", \"advertisergroup 2015\", or simply+-- \"advertisergroup\".+aglSearchString :: Lens' AdvertiserGroupsList (Maybe Text)+aglSearchString+  = lens _aglSearchString+      (\ s a -> s{_aglSearchString = a})++-- | Select only advertiser groups with these IDs.+aglIds :: Lens' AdvertiserGroupsList [Int64]+aglIds+  = lens _aglIds (\ s a -> s{_aglIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+aglProFileId :: Lens' AdvertiserGroupsList Int64+aglProFileId+  = lens _aglProFileId (\ s a -> s{_aglProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+aglSortOrder :: Lens' AdvertiserGroupsList (Maybe AdvertiserGroupsListSortOrder)+aglSortOrder+  = lens _aglSortOrder (\ s a -> s{_aglSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+aglPageToken :: Lens' AdvertiserGroupsList (Maybe Text)+aglPageToken+  = lens _aglPageToken (\ s a -> s{_aglPageToken = a})++-- | Field by which to sort the list.+aglSortField :: Lens' AdvertiserGroupsList (Maybe AdvertiserGroupsListSortField)+aglSortField+  = lens _aglSortField (\ s a -> s{_aglSortField = a})++-- | Maximum number of results to return.+aglMaxResults :: Lens' AdvertiserGroupsList (Maybe Int32)+aglMaxResults+  = lens _aglMaxResults+      (\ s a -> s{_aglMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AdvertiserGroupsList where+        type Rs AdvertiserGroupsList =+             AdvertiserGroupsListResponse+        requestClient AdvertiserGroupsList{..}+          = go _aglProFileId _aglSearchString+              (_aglIds ^. _Default)+              _aglSortOrder+              _aglPageToken+              _aglSortField+              _aglMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.AdvertiserGroups.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing advertiser group. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.patch@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch+    (+    -- * REST Resource+      AdvertiserGroupsPatchResource++    -- * Creating a Request+    , advertiserGroupsPatch+    , AdvertiserGroupsPatch++    -- * Request Lenses+    , agpProFileId+    , agpPayload+    , agpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.patch@ method which the+-- 'AdvertiserGroupsPatch' request conforms to.+type AdvertiserGroupsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] AdvertiserGroup :>+                     Patch '[JSON] AdvertiserGroup++-- | Updates an existing advertiser group. This method supports patch+-- semantics.+--+-- /See:/ 'advertiserGroupsPatch' smart constructor.+data AdvertiserGroupsPatch = AdvertiserGroupsPatch+    { _agpProFileId :: !(Textual Int64)+    , _agpPayload   :: !AdvertiserGroup+    , _agpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agpProFileId'+--+-- * 'agpPayload'+--+-- * 'agpId'+advertiserGroupsPatch+    :: Int64 -- ^ 'agpProFileId'+    -> AdvertiserGroup -- ^ 'agpPayload'+    -> Int64 -- ^ 'agpId'+    -> AdvertiserGroupsPatch+advertiserGroupsPatch pAgpProFileId_ pAgpPayload_ pAgpId_ =+    AdvertiserGroupsPatch+    { _agpProFileId = _Coerce # pAgpProFileId_+    , _agpPayload = pAgpPayload_+    , _agpId = _Coerce # pAgpId_+    }++-- | User profile ID associated with this request.+agpProFileId :: Lens' AdvertiserGroupsPatch Int64+agpProFileId+  = lens _agpProFileId (\ s a -> s{_agpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+agpPayload :: Lens' AdvertiserGroupsPatch AdvertiserGroup+agpPayload+  = lens _agpPayload (\ s a -> s{_agpPayload = a})++-- | Advertiser group ID.+agpId :: Lens' AdvertiserGroupsPatch Int64+agpId+  = lens _agpId (\ s a -> s{_agpId = a}) . _Coerce++instance GoogleRequest AdvertiserGroupsPatch where+        type Rs AdvertiserGroupsPatch = AdvertiserGroup+        requestClient AdvertiserGroupsPatch{..}+          = go _agpProFileId (Just _agpId) (Just AltJSON)+              _agpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Update.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.DFAReporting.AdvertiserGroups.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing advertiser group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertiserGroups.update@.+module Network.Google.Resource.DFAReporting.AdvertiserGroups.Update+    (+    -- * REST Resource+      AdvertiserGroupsUpdateResource++    -- * Creating a Request+    , advertiserGroupsUpdate+    , AdvertiserGroupsUpdate++    -- * Request Lenses+    , aguProFileId+    , aguPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertiserGroups.update@ method which the+-- 'AdvertiserGroupsUpdate' request conforms to.+type AdvertiserGroupsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertiserGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] AdvertiserGroup :>+                   Put '[JSON] AdvertiserGroup++-- | Updates an existing advertiser group.+--+-- /See:/ 'advertiserGroupsUpdate' smart constructor.+data AdvertiserGroupsUpdate = AdvertiserGroupsUpdate+    { _aguProFileId :: !(Textual Int64)+    , _aguPayload   :: !AdvertiserGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertiserGroupsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aguProFileId'+--+-- * 'aguPayload'+advertiserGroupsUpdate+    :: Int64 -- ^ 'aguProFileId'+    -> AdvertiserGroup -- ^ 'aguPayload'+    -> AdvertiserGroupsUpdate+advertiserGroupsUpdate pAguProFileId_ pAguPayload_ =+    AdvertiserGroupsUpdate+    { _aguProFileId = _Coerce # pAguProFileId_+    , _aguPayload = pAguPayload_+    }++-- | User profile ID associated with this request.+aguProFileId :: Lens' AdvertiserGroupsUpdate Int64+aguProFileId+  = lens _aguProFileId (\ s a -> s{_aguProFileId = a})+      . _Coerce++-- | Multipart request metadata.+aguPayload :: Lens' AdvertiserGroupsUpdate AdvertiserGroup+aguPayload+  = lens _aguPayload (\ s a -> s{_aguPayload = a})++instance GoogleRequest AdvertiserGroupsUpdate where+        type Rs AdvertiserGroupsUpdate = AdvertiserGroup+        requestClient AdvertiserGroupsUpdate{..}+          = go _aguProFileId (Just AltJSON) _aguPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertiserGroupsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Advertisers/Get.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.DFAReporting.Advertisers.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)+--+-- Gets one advertiser by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertisers.get@.+module Network.Google.Resource.DFAReporting.Advertisers.Get+    (+    -- * REST Resource+      AdvertisersGetResource++    -- * Creating a Request+    , advertisersGet+    , AdvertisersGet++    -- * Request Lenses+    , advProFileId+    , advId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertisers.get@ method which the+-- 'AdvertisersGet' request conforms to.+type AdvertisersGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertisers" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Advertiser++-- | Gets one advertiser by ID.+--+-- /See:/ 'advertisersGet' smart constructor.+data AdvertisersGet = AdvertisersGet+    { _advProFileId :: !(Textual Int64)+    , _advId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'advProFileId'+--+-- * 'advId'+advertisersGet+    :: Int64 -- ^ 'advProFileId'+    -> Int64 -- ^ 'advId'+    -> AdvertisersGet+advertisersGet pAdvProFileId_ pAdvId_ =+    AdvertisersGet+    { _advProFileId = _Coerce # pAdvProFileId_+    , _advId = _Coerce # pAdvId_+    }++-- | User profile ID associated with this request.+advProFileId :: Lens' AdvertisersGet Int64+advProFileId+  = lens _advProFileId (\ s a -> s{_advProFileId = a})+      . _Coerce++-- | Advertiser ID.+advId :: Lens' AdvertisersGet Int64+advId+  = lens _advId (\ s a -> s{_advId = a}) . _Coerce++instance GoogleRequest AdvertisersGet where+        type Rs AdvertisersGet = Advertiser+        requestClient AdvertisersGet{..}+          = go _advProFileId _advId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy AdvertisersGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Advertisers/Insert.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.DFAReporting.Advertisers.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new advertiser.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertisers.insert@.+module Network.Google.Resource.DFAReporting.Advertisers.Insert+    (+    -- * REST Resource+      AdvertisersInsertResource++    -- * Creating a Request+    , advertisersInsert+    , AdvertisersInsert++    -- * Request Lenses+    , aiiProFileId+    , aiiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertisers.insert@ method which the+-- 'AdvertisersInsert' request conforms to.+type AdvertisersInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertisers" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Advertiser :> Post '[JSON] Advertiser++-- | Inserts a new advertiser.+--+-- /See:/ 'advertisersInsert' smart constructor.+data AdvertisersInsert = AdvertisersInsert+    { _aiiProFileId :: !(Textual Int64)+    , _aiiPayload   :: !Advertiser+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiiProFileId'+--+-- * 'aiiPayload'+advertisersInsert+    :: Int64 -- ^ 'aiiProFileId'+    -> Advertiser -- ^ 'aiiPayload'+    -> AdvertisersInsert+advertisersInsert pAiiProFileId_ pAiiPayload_ =+    AdvertisersInsert+    { _aiiProFileId = _Coerce # pAiiProFileId_+    , _aiiPayload = pAiiPayload_+    }++-- | User profile ID associated with this request.+aiiProFileId :: Lens' AdvertisersInsert Int64+aiiProFileId+  = lens _aiiProFileId (\ s a -> s{_aiiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+aiiPayload :: Lens' AdvertisersInsert Advertiser+aiiPayload+  = lens _aiiPayload (\ s a -> s{_aiiPayload = a})++instance GoogleRequest AdvertisersInsert where+        type Rs AdvertisersInsert = Advertiser+        requestClient AdvertisersInsert{..}+          = go _aiiProFileId (Just AltJSON) _aiiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertisersInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Advertisers/List.hs view
@@ -0,0 +1,256 @@+{-# 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.DFAReporting.Advertisers.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)+--+-- Retrieves a list of advertisers, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertisers.list@.+module Network.Google.Resource.DFAReporting.Advertisers.List+    (+    -- * REST Resource+      AdvertisersListResource++    -- * Creating a Request+    , advertisersList+    , AdvertisersList++    -- * Request Lenses+    , allStatus+    , allOnlyParent+    , allSearchString+    , allIds+    , allIncludeAdvertisersWithoutGroupsOnly+    , allProFileId+    , allSortOrder+    , allAdvertiserGroupIds+    , allPageToken+    , allSortField+    , allSubAccountId+    , allFloodlightConfigurationIds+    , allMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertisers.list@ method which the+-- 'AdvertisersList' request conforms to.+type AdvertisersListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertisers" :>+               QueryParam "status" AdvertisersListStatus :>+                 QueryParam "onlyParent" Bool :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "includeAdvertisersWithoutGroupsOnly" Bool+                         :>+                         QueryParam "sortOrder" AdvertisersListSortOrder :>+                           QueryParams "advertiserGroupIds" (Textual Int64) :>+                             QueryParam "pageToken" Text :>+                               QueryParam "sortField" AdvertisersListSortField+                                 :>+                                 QueryParam "subaccountId" (Textual Int64) :>+                                   QueryParams "floodlightConfigurationIds"+                                     (Textual Int64)+                                     :>+                                     QueryParam "maxResults" (Textual Int32) :>+                                       QueryParam "alt" AltJSON :>+                                         Get '[JSON] AdvertisersListResponse++-- | Retrieves a list of advertisers, possibly filtered.+--+-- /See:/ 'advertisersList' smart constructor.+data AdvertisersList = AdvertisersList+    { _allStatus                              :: !(Maybe AdvertisersListStatus)+    , _allOnlyParent                          :: !(Maybe Bool)+    , _allSearchString                        :: !(Maybe Text)+    , _allIds                                 :: !(Maybe [Textual Int64])+    , _allIncludeAdvertisersWithoutGroupsOnly :: !(Maybe Bool)+    , _allProFileId                           :: !(Textual Int64)+    , _allSortOrder                           :: !(Maybe AdvertisersListSortOrder)+    , _allAdvertiserGroupIds                  :: !(Maybe [Textual Int64])+    , _allPageToken                           :: !(Maybe Text)+    , _allSortField                           :: !(Maybe AdvertisersListSortField)+    , _allSubAccountId                        :: !(Maybe (Textual Int64))+    , _allFloodlightConfigurationIds          :: !(Maybe [Textual Int64])+    , _allMaxResults                          :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'allStatus'+--+-- * 'allOnlyParent'+--+-- * 'allSearchString'+--+-- * 'allIds'+--+-- * 'allIncludeAdvertisersWithoutGroupsOnly'+--+-- * 'allProFileId'+--+-- * 'allSortOrder'+--+-- * 'allAdvertiserGroupIds'+--+-- * 'allPageToken'+--+-- * 'allSortField'+--+-- * 'allSubAccountId'+--+-- * 'allFloodlightConfigurationIds'+--+-- * 'allMaxResults'+advertisersList+    :: Int64 -- ^ 'allProFileId'+    -> AdvertisersList+advertisersList pAllProFileId_ =+    AdvertisersList+    { _allStatus = Nothing+    , _allOnlyParent = Nothing+    , _allSearchString = Nothing+    , _allIds = Nothing+    , _allIncludeAdvertisersWithoutGroupsOnly = Nothing+    , _allProFileId = _Coerce # pAllProFileId_+    , _allSortOrder = Nothing+    , _allAdvertiserGroupIds = Nothing+    , _allPageToken = Nothing+    , _allSortField = Nothing+    , _allSubAccountId = Nothing+    , _allFloodlightConfigurationIds = Nothing+    , _allMaxResults = Nothing+    }++-- | Select only advertisers with the specified status.+allStatus :: Lens' AdvertisersList (Maybe AdvertisersListStatus)+allStatus+  = lens _allStatus (\ s a -> s{_allStatus = a})++-- | Select only advertisers which use another advertiser\'s floodlight+-- configuration.+allOnlyParent :: Lens' AdvertisersList (Maybe Bool)+allOnlyParent+  = lens _allOnlyParent+      (\ s a -> s{_allOnlyParent = a})++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"advertiser*2015\" will return objects with names like+-- \"advertiser June 2015\", \"advertiser April 2015\", or simply+-- \"advertiser 2015\". Most of the searches also add wildcards implicitly+-- at the start and the end of the search string. For example, a search+-- string of \"advertiser\" will match objects with name \"my advertiser\",+-- \"advertiser 2015\", or simply \"advertiser\".+allSearchString :: Lens' AdvertisersList (Maybe Text)+allSearchString+  = lens _allSearchString+      (\ s a -> s{_allSearchString = a})++-- | Select only advertisers with these IDs.+allIds :: Lens' AdvertisersList [Int64]+allIds+  = lens _allIds (\ s a -> s{_allIds = a}) . _Default .+      _Coerce++-- | Select only advertisers which do not belong to any advertiser group.+allIncludeAdvertisersWithoutGroupsOnly :: Lens' AdvertisersList (Maybe Bool)+allIncludeAdvertisersWithoutGroupsOnly+  = lens _allIncludeAdvertisersWithoutGroupsOnly+      (\ s a ->+         s{_allIncludeAdvertisersWithoutGroupsOnly = a})++-- | User profile ID associated with this request.+allProFileId :: Lens' AdvertisersList Int64+allProFileId+  = lens _allProFileId (\ s a -> s{_allProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+allSortOrder :: Lens' AdvertisersList (Maybe AdvertisersListSortOrder)+allSortOrder+  = lens _allSortOrder (\ s a -> s{_allSortOrder = a})++-- | Select only advertisers with these advertiser group IDs.+allAdvertiserGroupIds :: Lens' AdvertisersList [Int64]+allAdvertiserGroupIds+  = lens _allAdvertiserGroupIds+      (\ s a -> s{_allAdvertiserGroupIds = a})+      . _Default+      . _Coerce++-- | Value of the nextPageToken from the previous result page.+allPageToken :: Lens' AdvertisersList (Maybe Text)+allPageToken+  = lens _allPageToken (\ s a -> s{_allPageToken = a})++-- | Field by which to sort the list.+allSortField :: Lens' AdvertisersList (Maybe AdvertisersListSortField)+allSortField+  = lens _allSortField (\ s a -> s{_allSortField = a})++-- | Select only advertisers with these subaccount IDs.+allSubAccountId :: Lens' AdvertisersList (Maybe Int64)+allSubAccountId+  = lens _allSubAccountId+      (\ s a -> s{_allSubAccountId = a})+      . mapping _Coerce++-- | Select only advertisers with these floodlight configuration IDs.+allFloodlightConfigurationIds :: Lens' AdvertisersList [Int64]+allFloodlightConfigurationIds+  = lens _allFloodlightConfigurationIds+      (\ s a -> s{_allFloodlightConfigurationIds = a})+      . _Default+      . _Coerce++-- | Maximum number of results to return.+allMaxResults :: Lens' AdvertisersList (Maybe Int32)+allMaxResults+  = lens _allMaxResults+      (\ s a -> s{_allMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AdvertisersList where+        type Rs AdvertisersList = AdvertisersListResponse+        requestClient AdvertisersList{..}+          = go _allProFileId _allStatus _allOnlyParent+              _allSearchString+              (_allIds ^. _Default)+              _allIncludeAdvertisersWithoutGroupsOnly+              _allSortOrder+              (_allAdvertiserGroupIds ^. _Default)+              _allPageToken+              _allSortField+              _allSubAccountId+              (_allFloodlightConfigurationIds ^. _Default)+              _allMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertisersListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Advertisers/Patch.hs view
@@ -0,0 +1,111 @@+{-# 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.DFAReporting.Advertisers.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing advertiser. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertisers.patch@.+module Network.Google.Resource.DFAReporting.Advertisers.Patch+    (+    -- * REST Resource+      AdvertisersPatchResource++    -- * Creating a Request+    , advertisersPatch+    , AdvertisersPatch++    -- * Request Lenses+    , apProFileId+    , apPayload+    , apId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertisers.patch@ method which the+-- 'AdvertisersPatch' request conforms to.+type AdvertisersPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertisers" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Advertiser :>+                     Patch '[JSON] Advertiser++-- | Updates an existing advertiser. This method supports patch semantics.+--+-- /See:/ 'advertisersPatch' smart constructor.+data AdvertisersPatch = AdvertisersPatch+    { _apProFileId :: !(Textual Int64)+    , _apPayload   :: !Advertiser+    , _apId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apProFileId'+--+-- * 'apPayload'+--+-- * 'apId'+advertisersPatch+    :: Int64 -- ^ 'apProFileId'+    -> Advertiser -- ^ 'apPayload'+    -> Int64 -- ^ 'apId'+    -> AdvertisersPatch+advertisersPatch pApProFileId_ pApPayload_ pApId_ =+    AdvertisersPatch+    { _apProFileId = _Coerce # pApProFileId_+    , _apPayload = pApPayload_+    , _apId = _Coerce # pApId_+    }++-- | User profile ID associated with this request.+apProFileId :: Lens' AdvertisersPatch Int64+apProFileId+  = lens _apProFileId (\ s a -> s{_apProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+apPayload :: Lens' AdvertisersPatch Advertiser+apPayload+  = lens _apPayload (\ s a -> s{_apPayload = a})++-- | Advertiser ID.+apId :: Lens' AdvertisersPatch Int64+apId = lens _apId (\ s a -> s{_apId = a}) . _Coerce++instance GoogleRequest AdvertisersPatch where+        type Rs AdvertisersPatch = Advertiser+        requestClient AdvertisersPatch{..}+          = go _apProFileId (Just _apId) (Just AltJSON)+              _apPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertisersPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Advertisers/Update.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.DFAReporting.Advertisers.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing advertiser.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.advertisers.update@.+module Network.Google.Resource.DFAReporting.Advertisers.Update+    (+    -- * REST Resource+      AdvertisersUpdateResource++    -- * Creating a Request+    , advertisersUpdate+    , AdvertisersUpdate++    -- * Request Lenses+    , auProFileId+    , auPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.advertisers.update@ method which the+-- 'AdvertisersUpdate' request conforms to.+type AdvertisersUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "advertisers" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Advertiser :> Put '[JSON] Advertiser++-- | Updates an existing advertiser.+--+-- /See:/ 'advertisersUpdate' smart constructor.+data AdvertisersUpdate = AdvertisersUpdate+    { _auProFileId :: !(Textual Int64)+    , _auPayload   :: !Advertiser+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdvertisersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auProFileId'+--+-- * 'auPayload'+advertisersUpdate+    :: Int64 -- ^ 'auProFileId'+    -> Advertiser -- ^ 'auPayload'+    -> AdvertisersUpdate+advertisersUpdate pAuProFileId_ pAuPayload_ =+    AdvertisersUpdate+    { _auProFileId = _Coerce # pAuProFileId_+    , _auPayload = pAuPayload_+    }++-- | User profile ID associated with this request.+auProFileId :: Lens' AdvertisersUpdate Int64+auProFileId+  = lens _auProFileId (\ s a -> s{_auProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+auPayload :: Lens' AdvertisersUpdate Advertiser+auPayload+  = lens _auPayload (\ s a -> s{_auPayload = a})++instance GoogleRequest AdvertisersUpdate where+        type Rs AdvertisersUpdate = Advertiser+        requestClient AdvertisersUpdate{..}+          = go _auProFileId (Just AltJSON) _auPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy AdvertisersUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Browsers/List.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.Browsers.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)+--+-- Retrieves a list of browsers.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.browsers.list@.+module Network.Google.Resource.DFAReporting.Browsers.List+    (+    -- * REST Resource+      BrowsersListResource++    -- * Creating a Request+    , browsersList+    , BrowsersList++    -- * Request Lenses+    , blProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.browsers.list@ method which the+-- 'BrowsersList' request conforms to.+type BrowsersListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "browsers" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] BrowsersListResponse++-- | Retrieves a list of browsers.+--+-- /See:/ 'browsersList' smart constructor.+newtype BrowsersList = BrowsersList+    { _blProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BrowsersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blProFileId'+browsersList+    :: Int64 -- ^ 'blProFileId'+    -> BrowsersList+browsersList pBlProFileId_ =+    BrowsersList+    { _blProFileId = _Coerce # pBlProFileId_+    }++-- | User profile ID associated with this request.+blProFileId :: Lens' BrowsersList Int64+blProFileId+  = lens _blProFileId (\ s a -> s{_blProFileId = a}) .+      _Coerce++instance GoogleRequest BrowsersList where+        type Rs BrowsersList = BrowsersListResponse+        requestClient BrowsersList{..}+          = go _blProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy BrowsersListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CampaignCreativeAssociations/Insert.hs view
@@ -0,0 +1,123 @@+{-# 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.DFAReporting.CampaignCreativeAssociations.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a creative with the specified campaign. This method creates a+-- default ad with dimensions matching the creative in the campaign if such+-- a default ad does not exist already.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaignCreativeAssociations.insert@.+module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert+    (+    -- * REST Resource+      CampaignCreativeAssociationsInsertResource++    -- * Creating a Request+    , campaignCreativeAssociationsInsert+    , CampaignCreativeAssociationsInsert++    -- * Request Lenses+    , ccaiCampaignId+    , ccaiProFileId+    , ccaiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaignCreativeAssociations.insert@ method which the+-- 'CampaignCreativeAssociationsInsert' request conforms to.+type CampaignCreativeAssociationsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "campaignCreativeAssociations" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CampaignCreativeAssociation :>+                       Post '[JSON] CampaignCreativeAssociation++-- | Associates a creative with the specified campaign. This method creates a+-- default ad with dimensions matching the creative in the campaign if such+-- a default ad does not exist already.+--+-- /See:/ 'campaignCreativeAssociationsInsert' smart constructor.+data CampaignCreativeAssociationsInsert = CampaignCreativeAssociationsInsert+    { _ccaiCampaignId :: !(Textual Int64)+    , _ccaiProFileId  :: !(Textual Int64)+    , _ccaiPayload    :: !CampaignCreativeAssociation+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignCreativeAssociationsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccaiCampaignId'+--+-- * 'ccaiProFileId'+--+-- * 'ccaiPayload'+campaignCreativeAssociationsInsert+    :: Int64 -- ^ 'ccaiCampaignId'+    -> Int64 -- ^ 'ccaiProFileId'+    -> CampaignCreativeAssociation -- ^ 'ccaiPayload'+    -> CampaignCreativeAssociationsInsert+campaignCreativeAssociationsInsert pCcaiCampaignId_ pCcaiProFileId_ pCcaiPayload_ =+    CampaignCreativeAssociationsInsert+    { _ccaiCampaignId = _Coerce # pCcaiCampaignId_+    , _ccaiProFileId = _Coerce # pCcaiProFileId_+    , _ccaiPayload = pCcaiPayload_+    }++-- | Campaign ID in this association.+ccaiCampaignId :: Lens' CampaignCreativeAssociationsInsert Int64+ccaiCampaignId+  = lens _ccaiCampaignId+      (\ s a -> s{_ccaiCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+ccaiProFileId :: Lens' CampaignCreativeAssociationsInsert Int64+ccaiProFileId+  = lens _ccaiProFileId+      (\ s a -> s{_ccaiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+ccaiPayload :: Lens' CampaignCreativeAssociationsInsert CampaignCreativeAssociation+ccaiPayload+  = lens _ccaiPayload (\ s a -> s{_ccaiPayload = a})++instance GoogleRequest+         CampaignCreativeAssociationsInsert where+        type Rs CampaignCreativeAssociationsInsert =+             CampaignCreativeAssociation+        requestClient CampaignCreativeAssociationsInsert{..}+          = go _ccaiProFileId _ccaiCampaignId (Just AltJSON)+              _ccaiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CampaignCreativeAssociationsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CampaignCreativeAssociations/List.hs view
@@ -0,0 +1,150 @@+{-# 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.DFAReporting.CampaignCreativeAssociations.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)+--+-- Retrieves the list of creative IDs associated with the specified+-- campaign.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaignCreativeAssociations.list@.+module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List+    (+    -- * REST Resource+      CampaignCreativeAssociationsListResource++    -- * Creating a Request+    , campaignCreativeAssociationsList+    , CampaignCreativeAssociationsList++    -- * Request Lenses+    , ccalCampaignId+    , ccalProFileId+    , ccalSortOrder+    , ccalPageToken+    , ccalMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaignCreativeAssociations.list@ method which the+-- 'CampaignCreativeAssociationsList' request conforms to.+type CampaignCreativeAssociationsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "campaignCreativeAssociations" :>+                   QueryParam "sortOrder"+                     CampaignCreativeAssociationsListSortOrder+                     :>+                     QueryParam "pageToken" Text :>+                       QueryParam "maxResults" (Textual Int32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] CampaignCreativeAssociationsListResponse++-- | Retrieves the list of creative IDs associated with the specified+-- campaign.+--+-- /See:/ 'campaignCreativeAssociationsList' smart constructor.+data CampaignCreativeAssociationsList = CampaignCreativeAssociationsList+    { _ccalCampaignId :: !(Textual Int64)+    , _ccalProFileId  :: !(Textual Int64)+    , _ccalSortOrder  :: !(Maybe CampaignCreativeAssociationsListSortOrder)+    , _ccalPageToken  :: !(Maybe Text)+    , _ccalMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignCreativeAssociationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccalCampaignId'+--+-- * 'ccalProFileId'+--+-- * 'ccalSortOrder'+--+-- * 'ccalPageToken'+--+-- * 'ccalMaxResults'+campaignCreativeAssociationsList+    :: Int64 -- ^ 'ccalCampaignId'+    -> Int64 -- ^ 'ccalProFileId'+    -> CampaignCreativeAssociationsList+campaignCreativeAssociationsList pCcalCampaignId_ pCcalProFileId_ =+    CampaignCreativeAssociationsList+    { _ccalCampaignId = _Coerce # pCcalCampaignId_+    , _ccalProFileId = _Coerce # pCcalProFileId_+    , _ccalSortOrder = Nothing+    , _ccalPageToken = Nothing+    , _ccalMaxResults = Nothing+    }++-- | Campaign ID in this association.+ccalCampaignId :: Lens' CampaignCreativeAssociationsList Int64+ccalCampaignId+  = lens _ccalCampaignId+      (\ s a -> s{_ccalCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+ccalProFileId :: Lens' CampaignCreativeAssociationsList Int64+ccalProFileId+  = lens _ccalProFileId+      (\ s a -> s{_ccalProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+ccalSortOrder :: Lens' CampaignCreativeAssociationsList (Maybe CampaignCreativeAssociationsListSortOrder)+ccalSortOrder+  = lens _ccalSortOrder+      (\ s a -> s{_ccalSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+ccalPageToken :: Lens' CampaignCreativeAssociationsList (Maybe Text)+ccalPageToken+  = lens _ccalPageToken+      (\ s a -> s{_ccalPageToken = a})++-- | Maximum number of results to return.+ccalMaxResults :: Lens' CampaignCreativeAssociationsList (Maybe Int32)+ccalMaxResults+  = lens _ccalMaxResults+      (\ s a -> s{_ccalMaxResults = a})+      . mapping _Coerce++instance GoogleRequest+         CampaignCreativeAssociationsList where+        type Rs CampaignCreativeAssociationsList =+             CampaignCreativeAssociationsListResponse+        requestClient CampaignCreativeAssociationsList{..}+          = go _ccalProFileId _ccalCampaignId _ccalSortOrder+              _ccalPageToken+              _ccalMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CampaignCreativeAssociationsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Campaigns/Get.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.DFAReporting.Campaigns.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)+--+-- Gets one campaign by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaigns.get@.+module Network.Google.Resource.DFAReporting.Campaigns.Get+    (+    -- * REST Resource+      CampaignsGetResource++    -- * Creating a Request+    , campaignsGet+    , CampaignsGet++    -- * Request Lenses+    , cggProFileId+    , cggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaigns.get@ method which the+-- 'CampaignsGet' request conforms to.+type CampaignsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Campaign++-- | Gets one campaign by ID.+--+-- /See:/ 'campaignsGet' smart constructor.+data CampaignsGet = CampaignsGet+    { _cggProFileId :: !(Textual Int64)+    , _cggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cggProFileId'+--+-- * 'cggId'+campaignsGet+    :: Int64 -- ^ 'cggProFileId'+    -> Int64 -- ^ 'cggId'+    -> CampaignsGet+campaignsGet pCggProFileId_ pCggId_ =+    CampaignsGet+    { _cggProFileId = _Coerce # pCggProFileId_+    , _cggId = _Coerce # pCggId_+    }++-- | User profile ID associated with this request.+cggProFileId :: Lens' CampaignsGet Int64+cggProFileId+  = lens _cggProFileId (\ s a -> s{_cggProFileId = a})+      . _Coerce++-- | Campaign ID.+cggId :: Lens' CampaignsGet Int64+cggId+  = lens _cggId (\ s a -> s{_cggId = a}) . _Coerce++instance GoogleRequest CampaignsGet where+        type Rs CampaignsGet = Campaign+        requestClient CampaignsGet{..}+          = go _cggProFileId _cggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CampaignsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Campaigns/Insert.hs view
@@ -0,0 +1,128 @@+{-# 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.DFAReporting.Campaigns.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new campaign.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaigns.insert@.+module Network.Google.Resource.DFAReporting.Campaigns.Insert+    (+    -- * REST Resource+      CampaignsInsertResource++    -- * Creating a Request+    , campaignsInsert+    , CampaignsInsert++    -- * Request Lenses+    , camProFileId+    , camPayload+    , camDefaultLandingPageURL+    , camDefaultLandingPageName+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaigns.insert@ method which the+-- 'CampaignsInsert' request conforms to.+type CampaignsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               QueryParam "defaultLandingPageName" Text :>+                 QueryParam "defaultLandingPageUrl" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Campaign :> Post '[JSON] Campaign++-- | Inserts a new campaign.+--+-- /See:/ 'campaignsInsert' smart constructor.+data CampaignsInsert = CampaignsInsert+    { _camProFileId              :: !(Textual Int64)+    , _camPayload                :: !Campaign+    , _camDefaultLandingPageURL  :: !Text+    , _camDefaultLandingPageName :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'camProFileId'+--+-- * 'camPayload'+--+-- * 'camDefaultLandingPageURL'+--+-- * 'camDefaultLandingPageName'+campaignsInsert+    :: Int64 -- ^ 'camProFileId'+    -> Campaign -- ^ 'camPayload'+    -> Text -- ^ 'camDefaultLandingPageURL'+    -> Text -- ^ 'camDefaultLandingPageName'+    -> CampaignsInsert+campaignsInsert pCamProFileId_ pCamPayload_ pCamDefaultLandingPageURL_ pCamDefaultLandingPageName_ =+    CampaignsInsert+    { _camProFileId = _Coerce # pCamProFileId_+    , _camPayload = pCamPayload_+    , _camDefaultLandingPageURL = pCamDefaultLandingPageURL_+    , _camDefaultLandingPageName = pCamDefaultLandingPageName_+    }++-- | User profile ID associated with this request.+camProFileId :: Lens' CampaignsInsert Int64+camProFileId+  = lens _camProFileId (\ s a -> s{_camProFileId = a})+      . _Coerce++-- | Multipart request metadata.+camPayload :: Lens' CampaignsInsert Campaign+camPayload+  = lens _camPayload (\ s a -> s{_camPayload = a})++-- | Default landing page URL for this new campaign.+camDefaultLandingPageURL :: Lens' CampaignsInsert Text+camDefaultLandingPageURL+  = lens _camDefaultLandingPageURL+      (\ s a -> s{_camDefaultLandingPageURL = a})++-- | Default landing page name for this new campaign. Must be less than 256+-- characters long.+camDefaultLandingPageName :: Lens' CampaignsInsert Text+camDefaultLandingPageName+  = lens _camDefaultLandingPageName+      (\ s a -> s{_camDefaultLandingPageName = a})++instance GoogleRequest CampaignsInsert where+        type Rs CampaignsInsert = Campaign+        requestClient CampaignsInsert{..}+          = go _camProFileId (Just _camDefaultLandingPageName)+              (Just _camDefaultLandingPageURL)+              (Just AltJSON)+              _camPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CampaignsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Campaigns/List.hs view
@@ -0,0 +1,269 @@+{-# 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.DFAReporting.Campaigns.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)+--+-- Retrieves a list of campaigns, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaigns.list@.+module Network.Google.Resource.DFAReporting.Campaigns.List+    (+    -- * REST Resource+      CampaignsListResource++    -- * Creating a Request+    , campaignsList+    , CampaignsList++    -- * Request Lenses+    , clExcludedIds+    , clSearchString+    , clIds+    , clProFileId+    , clSortOrder+    , clAdvertiserGroupIds+    , clAtLeastOneOptimizationActivity+    , clOverriddenEventTagId+    , clPageToken+    , clSortField+    , clSubAccountId+    , clAdvertiserIds+    , clArchived+    , clMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaigns.list@ method which the+-- 'CampaignsList' request conforms to.+type CampaignsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               QueryParams "excludedIds" (Textual Int64) :>+                 QueryParam "searchString" Text :>+                   QueryParams "ids" (Textual Int64) :>+                     QueryParam "sortOrder" CampaignsListSortOrder :>+                       QueryParams "advertiserGroupIds" (Textual Int64) :>+                         QueryParam "atLeastOneOptimizationActivity" Bool :>+                           QueryParam "overriddenEventTagId" (Textual Int64) :>+                             QueryParam "pageToken" Text :>+                               QueryParam "sortField" CampaignsListSortField :>+                                 QueryParam "subaccountId" (Textual Int64) :>+                                   QueryParams "advertiserIds" (Textual Int64)+                                     :>+                                     QueryParam "archived" Bool :>+                                       QueryParam "maxResults" (Textual Int32)+                                         :>+                                         QueryParam "alt" AltJSON :>+                                           Get '[JSON] CampaignsListResponse++-- | Retrieves a list of campaigns, possibly filtered.+--+-- /See:/ 'campaignsList' smart constructor.+data CampaignsList = CampaignsList+    { _clExcludedIds                    :: !(Maybe [Textual Int64])+    , _clSearchString                   :: !(Maybe Text)+    , _clIds                            :: !(Maybe [Textual Int64])+    , _clProFileId                      :: !(Textual Int64)+    , _clSortOrder                      :: !(Maybe CampaignsListSortOrder)+    , _clAdvertiserGroupIds             :: !(Maybe [Textual Int64])+    , _clAtLeastOneOptimizationActivity :: !(Maybe Bool)+    , _clOverriddenEventTagId           :: !(Maybe (Textual Int64))+    , _clPageToken                      :: !(Maybe Text)+    , _clSortField                      :: !(Maybe CampaignsListSortField)+    , _clSubAccountId                   :: !(Maybe (Textual Int64))+    , _clAdvertiserIds                  :: !(Maybe [Textual Int64])+    , _clArchived                       :: !(Maybe Bool)+    , _clMaxResults                     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clExcludedIds'+--+-- * 'clSearchString'+--+-- * 'clIds'+--+-- * 'clProFileId'+--+-- * 'clSortOrder'+--+-- * 'clAdvertiserGroupIds'+--+-- * 'clAtLeastOneOptimizationActivity'+--+-- * 'clOverriddenEventTagId'+--+-- * 'clPageToken'+--+-- * 'clSortField'+--+-- * 'clSubAccountId'+--+-- * 'clAdvertiserIds'+--+-- * 'clArchived'+--+-- * 'clMaxResults'+campaignsList+    :: Int64 -- ^ 'clProFileId'+    -> CampaignsList+campaignsList pClProFileId_ =+    CampaignsList+    { _clExcludedIds = Nothing+    , _clSearchString = Nothing+    , _clIds = Nothing+    , _clProFileId = _Coerce # pClProFileId_+    , _clSortOrder = Nothing+    , _clAdvertiserGroupIds = Nothing+    , _clAtLeastOneOptimizationActivity = Nothing+    , _clOverriddenEventTagId = Nothing+    , _clPageToken = Nothing+    , _clSortField = Nothing+    , _clSubAccountId = Nothing+    , _clAdvertiserIds = Nothing+    , _clArchived = Nothing+    , _clMaxResults = Nothing+    }++-- | Exclude campaigns with these IDs.+clExcludedIds :: Lens' CampaignsList [Int64]+clExcludedIds+  = lens _clExcludedIds+      (\ s a -> s{_clExcludedIds = a})+      . _Default+      . _Coerce++-- | Allows searching for campaigns by name or ID. Wildcards (*) are allowed.+-- For example, \"campaign*2015\" will return campaigns with names like+-- \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"campaign\" will match campaigns with name \"my campaign\", \"campaign+-- 2015\", or simply \"campaign\".+clSearchString :: Lens' CampaignsList (Maybe Text)+clSearchString+  = lens _clSearchString+      (\ s a -> s{_clSearchString = a})++-- | Select only campaigns with these IDs.+clIds :: Lens' CampaignsList [Int64]+clIds+  = lens _clIds (\ s a -> s{_clIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+clProFileId :: Lens' CampaignsList Int64+clProFileId+  = lens _clProFileId (\ s a -> s{_clProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is ASCENDING.+clSortOrder :: Lens' CampaignsList (Maybe CampaignsListSortOrder)+clSortOrder+  = lens _clSortOrder (\ s a -> s{_clSortOrder = a})++-- | Select only campaigns whose advertisers belong to these advertiser+-- groups.+clAdvertiserGroupIds :: Lens' CampaignsList [Int64]+clAdvertiserGroupIds+  = lens _clAdvertiserGroupIds+      (\ s a -> s{_clAdvertiserGroupIds = a})+      . _Default+      . _Coerce++-- | Select only campaigns that have at least one optimization activity.+clAtLeastOneOptimizationActivity :: Lens' CampaignsList (Maybe Bool)+clAtLeastOneOptimizationActivity+  = lens _clAtLeastOneOptimizationActivity+      (\ s a -> s{_clAtLeastOneOptimizationActivity = a})++-- | Select only campaigns that have overridden this event tag ID.+clOverriddenEventTagId :: Lens' CampaignsList (Maybe Int64)+clOverriddenEventTagId+  = lens _clOverriddenEventTagId+      (\ s a -> s{_clOverriddenEventTagId = a})+      . mapping _Coerce++-- | Value of the nextPageToken from the previous result page.+clPageToken :: Lens' CampaignsList (Maybe Text)+clPageToken+  = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | Field by which to sort the list.+clSortField :: Lens' CampaignsList (Maybe CampaignsListSortField)+clSortField+  = lens _clSortField (\ s a -> s{_clSortField = a})++-- | Select only campaigns that belong to this subaccount.+clSubAccountId :: Lens' CampaignsList (Maybe Int64)+clSubAccountId+  = lens _clSubAccountId+      (\ s a -> s{_clSubAccountId = a})+      . mapping _Coerce++-- | Select only campaigns that belong to these advertisers.+clAdvertiserIds :: Lens' CampaignsList [Int64]+clAdvertiserIds+  = lens _clAdvertiserIds+      (\ s a -> s{_clAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Select only archived campaigns. Don\'t set this field to select both+-- archived and non-archived campaigns.+clArchived :: Lens' CampaignsList (Maybe Bool)+clArchived+  = lens _clArchived (\ s a -> s{_clArchived = a})++-- | Maximum number of results to return.+clMaxResults :: Lens' CampaignsList (Maybe Int32)+clMaxResults+  = lens _clMaxResults (\ s a -> s{_clMaxResults = a})+      . mapping _Coerce++instance GoogleRequest CampaignsList where+        type Rs CampaignsList = CampaignsListResponse+        requestClient CampaignsList{..}+          = go _clProFileId (_clExcludedIds ^. _Default)+              _clSearchString+              (_clIds ^. _Default)+              _clSortOrder+              (_clAdvertiserGroupIds ^. _Default)+              _clAtLeastOneOptimizationActivity+              _clOverriddenEventTagId+              _clPageToken+              _clSortField+              _clSubAccountId+              (_clAdvertiserIds ^. _Default)+              _clArchived+              _clMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CampaignsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Campaigns/Patch.hs view
@@ -0,0 +1,109 @@+{-# 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.DFAReporting.Campaigns.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing campaign. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaigns.patch@.+module Network.Google.Resource.DFAReporting.Campaigns.Patch+    (+    -- * REST Resource+      CampaignsPatchResource++    -- * Creating a Request+    , campaignsPatch+    , CampaignsPatch++    -- * Request Lenses+    , cpProFileId+    , cpPayload+    , cpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaigns.patch@ method which the+-- 'CampaignsPatch' request conforms to.+type CampaignsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Campaign :> Patch '[JSON] Campaign++-- | Updates an existing campaign. This method supports patch semantics.+--+-- /See:/ 'campaignsPatch' smart constructor.+data CampaignsPatch = CampaignsPatch+    { _cpProFileId :: !(Textual Int64)+    , _cpPayload   :: !Campaign+    , _cpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpProFileId'+--+-- * 'cpPayload'+--+-- * 'cpId'+campaignsPatch+    :: Int64 -- ^ 'cpProFileId'+    -> Campaign -- ^ 'cpPayload'+    -> Int64 -- ^ 'cpId'+    -> CampaignsPatch+campaignsPatch pCpProFileId_ pCpPayload_ pCpId_ =+    CampaignsPatch+    { _cpProFileId = _Coerce # pCpProFileId_+    , _cpPayload = pCpPayload_+    , _cpId = _Coerce # pCpId_+    }++-- | User profile ID associated with this request.+cpProFileId :: Lens' CampaignsPatch Int64+cpProFileId+  = lens _cpProFileId (\ s a -> s{_cpProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+cpPayload :: Lens' CampaignsPatch Campaign+cpPayload+  = lens _cpPayload (\ s a -> s{_cpPayload = a})++-- | Campaign ID.+cpId :: Lens' CampaignsPatch Int64+cpId = lens _cpId (\ s a -> s{_cpId = a}) . _Coerce++instance GoogleRequest CampaignsPatch where+        type Rs CampaignsPatch = Campaign+        requestClient CampaignsPatch{..}+          = go _cpProFileId (Just _cpId) (Just AltJSON)+              _cpPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CampaignsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Campaigns/Update.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.DFAReporting.Campaigns.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing campaign.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.campaigns.update@.+module Network.Google.Resource.DFAReporting.Campaigns.Update+    (+    -- * REST Resource+      CampaignsUpdateResource++    -- * Creating a Request+    , campaignsUpdate+    , CampaignsUpdate++    -- * Request Lenses+    , cuProFileId+    , cuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.campaigns.update@ method which the+-- 'CampaignsUpdate' request conforms to.+type CampaignsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Campaign :> Put '[JSON] Campaign++-- | Updates an existing campaign.+--+-- /See:/ 'campaignsUpdate' smart constructor.+data CampaignsUpdate = CampaignsUpdate+    { _cuProFileId :: !(Textual Int64)+    , _cuPayload   :: !Campaign+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CampaignsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuProFileId'+--+-- * 'cuPayload'+campaignsUpdate+    :: Int64 -- ^ 'cuProFileId'+    -> Campaign -- ^ 'cuPayload'+    -> CampaignsUpdate+campaignsUpdate pCuProFileId_ pCuPayload_ =+    CampaignsUpdate+    { _cuProFileId = _Coerce # pCuProFileId_+    , _cuPayload = pCuPayload_+    }++-- | User profile ID associated with this request.+cuProFileId :: Lens' CampaignsUpdate Int64+cuProFileId+  = lens _cuProFileId (\ s a -> s{_cuProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+cuPayload :: Lens' CampaignsUpdate Campaign+cuPayload+  = lens _cuPayload (\ s a -> s{_cuPayload = a})++instance GoogleRequest CampaignsUpdate where+        type Rs CampaignsUpdate = Campaign+        requestClient CampaignsUpdate{..}+          = go _cuProFileId (Just AltJSON) _cuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CampaignsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ChangeLogs/Get.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.DFAReporting.ChangeLogs.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)+--+-- Gets one change log by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.changeLogs.get@.+module Network.Google.Resource.DFAReporting.ChangeLogs.Get+    (+    -- * REST Resource+      ChangeLogsGetResource++    -- * Creating a Request+    , changeLogsGet+    , ChangeLogsGet++    -- * Request Lenses+    , clgProFileId+    , clgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.changeLogs.get@ method which the+-- 'ChangeLogsGet' request conforms to.+type ChangeLogsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "changeLogs" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] ChangeLog++-- | Gets one change log by ID.+--+-- /See:/ 'changeLogsGet' smart constructor.+data ChangeLogsGet = ChangeLogsGet+    { _clgProFileId :: !(Textual Int64)+    , _clgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeLogsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clgProFileId'+--+-- * 'clgId'+changeLogsGet+    :: Int64 -- ^ 'clgProFileId'+    -> Int64 -- ^ 'clgId'+    -> ChangeLogsGet+changeLogsGet pClgProFileId_ pClgId_ =+    ChangeLogsGet+    { _clgProFileId = _Coerce # pClgProFileId_+    , _clgId = _Coerce # pClgId_+    }++-- | User profile ID associated with this request.+clgProFileId :: Lens' ChangeLogsGet Int64+clgProFileId+  = lens _clgProFileId (\ s a -> s{_clgProFileId = a})+      . _Coerce++-- | Change log ID.+clgId :: Lens' ChangeLogsGet Int64+clgId+  = lens _clgId (\ s a -> s{_clgId = a}) . _Coerce++instance GoogleRequest ChangeLogsGet where+        type Rs ChangeLogsGet = ChangeLog+        requestClient ChangeLogsGet{..}+          = go _clgProFileId _clgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ChangeLogsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ChangeLogs/List.hs view
@@ -0,0 +1,231 @@+{-# 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.DFAReporting.ChangeLogs.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)+--+-- Retrieves a list of change logs.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.changeLogs.list@.+module Network.Google.Resource.DFAReporting.ChangeLogs.List+    (+    -- * REST Resource+      ChangeLogsListResource++    -- * Creating a Request+    , changeLogsList+    , ChangeLogsList++    -- * Request Lenses+    , cllUserProFileIds+    , cllObjectType+    , cllSearchString+    , cllIds+    , cllProFileId+    , cllAction+    , cllMinChangeTime+    , cllMaxChangeTime+    , cllPageToken+    , cllObjectIds+    , cllMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.changeLogs.list@ method which the+-- 'ChangeLogsList' request conforms to.+type ChangeLogsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "changeLogs" :>+               QueryParams "userProfileIds" (Textual Int64) :>+                 QueryParam "objectType" ChangeLogsListObjectType :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "action" ChangeLogsListAction :>+                         QueryParam "minChangeTime" Text :>+                           QueryParam "maxChangeTime" Text :>+                             QueryParam "pageToken" Text :>+                               QueryParams "objectIds" (Textual Int64) :>+                                 QueryParam "maxResults" (Textual Int32) :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] ChangeLogsListResponse++-- | Retrieves a list of change logs.+--+-- /See:/ 'changeLogsList' smart constructor.+data ChangeLogsList = ChangeLogsList+    { _cllUserProFileIds :: !(Maybe [Textual Int64])+    , _cllObjectType     :: !(Maybe ChangeLogsListObjectType)+    , _cllSearchString   :: !(Maybe Text)+    , _cllIds            :: !(Maybe [Textual Int64])+    , _cllProFileId      :: !(Textual Int64)+    , _cllAction         :: !(Maybe ChangeLogsListAction)+    , _cllMinChangeTime  :: !(Maybe Text)+    , _cllMaxChangeTime  :: !(Maybe Text)+    , _cllPageToken      :: !(Maybe Text)+    , _cllObjectIds      :: !(Maybe [Textual Int64])+    , _cllMaxResults     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeLogsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllUserProFileIds'+--+-- * 'cllObjectType'+--+-- * 'cllSearchString'+--+-- * 'cllIds'+--+-- * 'cllProFileId'+--+-- * 'cllAction'+--+-- * 'cllMinChangeTime'+--+-- * 'cllMaxChangeTime'+--+-- * 'cllPageToken'+--+-- * 'cllObjectIds'+--+-- * 'cllMaxResults'+changeLogsList+    :: Int64 -- ^ 'cllProFileId'+    -> ChangeLogsList+changeLogsList pCllProFileId_ =+    ChangeLogsList+    { _cllUserProFileIds = Nothing+    , _cllObjectType = Nothing+    , _cllSearchString = Nothing+    , _cllIds = Nothing+    , _cllProFileId = _Coerce # pCllProFileId_+    , _cllAction = Nothing+    , _cllMinChangeTime = Nothing+    , _cllMaxChangeTime = Nothing+    , _cllPageToken = Nothing+    , _cllObjectIds = Nothing+    , _cllMaxResults = Nothing+    }++-- | Select only change logs with these user profile IDs.+cllUserProFileIds :: Lens' ChangeLogsList [Int64]+cllUserProFileIds+  = lens _cllUserProFileIds+      (\ s a -> s{_cllUserProFileIds = a})+      . _Default+      . _Coerce++-- | Select only change logs with the specified object type.+cllObjectType :: Lens' ChangeLogsList (Maybe ChangeLogsListObjectType)+cllObjectType+  = lens _cllObjectType+      (\ s a -> s{_cllObjectType = a})++-- | Select only change logs whose object ID, user name, old or new values+-- match the search string.+cllSearchString :: Lens' ChangeLogsList (Maybe Text)+cllSearchString+  = lens _cllSearchString+      (\ s a -> s{_cllSearchString = a})++-- | Select only change logs with these IDs.+cllIds :: Lens' ChangeLogsList [Int64]+cllIds+  = lens _cllIds (\ s a -> s{_cllIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+cllProFileId :: Lens' ChangeLogsList Int64+cllProFileId+  = lens _cllProFileId (\ s a -> s{_cllProFileId = a})+      . _Coerce++-- | Select only change logs with the specified action.+cllAction :: Lens' ChangeLogsList (Maybe ChangeLogsListAction)+cllAction+  = lens _cllAction (\ s a -> s{_cllAction = a})++-- | Select only change logs whose change time is before the specified+-- minChangeTime.The time should be formatted as an RFC3339 date\/time+-- string. For example, for 10:54 PM on July 18th, 2015, in the+-- America\/New York time zone, the format is+-- \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the+-- letter T, the hour (24-hour clock system), minute, second, and then the+-- time zone offset.+cllMinChangeTime :: Lens' ChangeLogsList (Maybe Text)+cllMinChangeTime+  = lens _cllMinChangeTime+      (\ s a -> s{_cllMinChangeTime = a})++-- | Select only change logs whose change time is before the specified+-- maxChangeTime.The time should be formatted as an RFC3339 date\/time+-- string. For example, for 10:54 PM on July 18th, 2015, in the+-- America\/New York time zone, the format is+-- \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the+-- letter T, the hour (24-hour clock system), minute, second, and then the+-- time zone offset.+cllMaxChangeTime :: Lens' ChangeLogsList (Maybe Text)+cllMaxChangeTime+  = lens _cllMaxChangeTime+      (\ s a -> s{_cllMaxChangeTime = a})++-- | Value of the nextPageToken from the previous result page.+cllPageToken :: Lens' ChangeLogsList (Maybe Text)+cllPageToken+  = lens _cllPageToken (\ s a -> s{_cllPageToken = a})++-- | Select only change logs with these object IDs.+cllObjectIds :: Lens' ChangeLogsList [Int64]+cllObjectIds+  = lens _cllObjectIds (\ s a -> s{_cllObjectIds = a})+      . _Default+      . _Coerce++-- | Maximum number of results to return.+cllMaxResults :: Lens' ChangeLogsList (Maybe Int32)+cllMaxResults+  = lens _cllMaxResults+      (\ s a -> s{_cllMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ChangeLogsList where+        type Rs ChangeLogsList = ChangeLogsListResponse+        requestClient ChangeLogsList{..}+          = go _cllProFileId (_cllUserProFileIds ^. _Default)+              _cllObjectType+              _cllSearchString+              (_cllIds ^. _Default)+              _cllAction+              _cllMinChangeTime+              _cllMaxChangeTime+              _cllPageToken+              (_cllObjectIds ^. _Default)+              _cllMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ChangeLogsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Cities/List.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.DFAReporting.Cities.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)+--+-- Retrieves a list of cities, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.cities.list@.+module Network.Google.Resource.DFAReporting.Cities.List+    (+    -- * REST Resource+      CitiesListResource++    -- * Creating a Request+    , citiesList+    , CitiesList++    -- * Request Lenses+    , citRegionDartIds+    , citProFileId+    , citNamePrefix+    , citCountryDartIds+    , citDartIds+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.cities.list@ method which the+-- 'CitiesList' request conforms to.+type CitiesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "cities" :>+               QueryParams "regionDartIds" (Textual Int64) :>+                 QueryParam "namePrefix" Text :>+                   QueryParams "countryDartIds" (Textual Int64) :>+                     QueryParams "dartIds" (Textual Int64) :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] CitiesListResponse++-- | Retrieves a list of cities, possibly filtered.+--+-- /See:/ 'citiesList' smart constructor.+data CitiesList = CitiesList+    { _citRegionDartIds  :: !(Maybe [Textual Int64])+    , _citProFileId      :: !(Textual Int64)+    , _citNamePrefix     :: !(Maybe Text)+    , _citCountryDartIds :: !(Maybe [Textual Int64])+    , _citDartIds        :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CitiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'citRegionDartIds'+--+-- * 'citProFileId'+--+-- * 'citNamePrefix'+--+-- * 'citCountryDartIds'+--+-- * 'citDartIds'+citiesList+    :: Int64 -- ^ 'citProFileId'+    -> CitiesList+citiesList pCitProFileId_ =+    CitiesList+    { _citRegionDartIds = Nothing+    , _citProFileId = _Coerce # pCitProFileId_+    , _citNamePrefix = Nothing+    , _citCountryDartIds = Nothing+    , _citDartIds = Nothing+    }++-- | Select only cities from these regions.+citRegionDartIds :: Lens' CitiesList [Int64]+citRegionDartIds+  = lens _citRegionDartIds+      (\ s a -> s{_citRegionDartIds = a})+      . _Default+      . _Coerce++-- | User profile ID associated with this request.+citProFileId :: Lens' CitiesList Int64+citProFileId+  = lens _citProFileId (\ s a -> s{_citProFileId = a})+      . _Coerce++-- | Select only cities with names starting with this prefix.+citNamePrefix :: Lens' CitiesList (Maybe Text)+citNamePrefix+  = lens _citNamePrefix+      (\ s a -> s{_citNamePrefix = a})++-- | Select only cities from these countries.+citCountryDartIds :: Lens' CitiesList [Int64]+citCountryDartIds+  = lens _citCountryDartIds+      (\ s a -> s{_citCountryDartIds = a})+      . _Default+      . _Coerce++-- | Select only cities with these DART IDs.+citDartIds :: Lens' CitiesList [Int64]+citDartIds+  = lens _citDartIds (\ s a -> s{_citDartIds = a}) .+      _Default+      . _Coerce++instance GoogleRequest CitiesList where+        type Rs CitiesList = CitiesListResponse+        requestClient CitiesList{..}+          = go _citProFileId (_citRegionDartIds ^. _Default)+              _citNamePrefix+              (_citCountryDartIds ^. _Default)+              (_citDartIds ^. _Default)+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CitiesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ConnectionTypes/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.DFAReporting.ConnectionTypes.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)+--+-- Gets one connection type by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.connectionTypes.get@.+module Network.Google.Resource.DFAReporting.ConnectionTypes.Get+    (+    -- * REST Resource+      ConnectionTypesGetResource++    -- * Creating a Request+    , connectionTypesGet+    , ConnectionTypesGet++    -- * Request Lenses+    , ctgProFileId+    , ctgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.connectionTypes.get@ method which the+-- 'ConnectionTypesGet' request conforms to.+type ConnectionTypesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "connectionTypes" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] ConnectionType++-- | Gets one connection type by ID.+--+-- /See:/ 'connectionTypesGet' smart constructor.+data ConnectionTypesGet = ConnectionTypesGet+    { _ctgProFileId :: !(Textual Int64)+    , _ctgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectionTypesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctgProFileId'+--+-- * 'ctgId'+connectionTypesGet+    :: Int64 -- ^ 'ctgProFileId'+    -> Int64 -- ^ 'ctgId'+    -> ConnectionTypesGet+connectionTypesGet pCtgProFileId_ pCtgId_ =+    ConnectionTypesGet+    { _ctgProFileId = _Coerce # pCtgProFileId_+    , _ctgId = _Coerce # pCtgId_+    }++-- | User profile ID associated with this request.+ctgProFileId :: Lens' ConnectionTypesGet Int64+ctgProFileId+  = lens _ctgProFileId (\ s a -> s{_ctgProFileId = a})+      . _Coerce++-- | Connection type ID.+ctgId :: Lens' ConnectionTypesGet Int64+ctgId+  = lens _ctgId (\ s a -> s{_ctgId = a}) . _Coerce++instance GoogleRequest ConnectionTypesGet where+        type Rs ConnectionTypesGet = ConnectionType+        requestClient ConnectionTypesGet{..}+          = go _ctgProFileId _ctgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ConnectionTypesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ConnectionTypes/List.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.ConnectionTypes.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)+--+-- Retrieves a list of connection types.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.connectionTypes.list@.+module Network.Google.Resource.DFAReporting.ConnectionTypes.List+    (+    -- * REST Resource+      ConnectionTypesListResource++    -- * Creating a Request+    , connectionTypesList+    , ConnectionTypesList++    -- * Request Lenses+    , ctlProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.connectionTypes.list@ method which the+-- 'ConnectionTypesList' request conforms to.+type ConnectionTypesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "connectionTypes" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] ConnectionTypesListResponse++-- | Retrieves a list of connection types.+--+-- /See:/ 'connectionTypesList' smart constructor.+newtype ConnectionTypesList = ConnectionTypesList+    { _ctlProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectionTypesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctlProFileId'+connectionTypesList+    :: Int64 -- ^ 'ctlProFileId'+    -> ConnectionTypesList+connectionTypesList pCtlProFileId_ =+    ConnectionTypesList+    { _ctlProFileId = _Coerce # pCtlProFileId_+    }++-- | User profile ID associated with this request.+ctlProFileId :: Lens' ConnectionTypesList Int64+ctlProFileId+  = lens _ctlProFileId (\ s a -> s{_ctlProFileId = a})+      . _Coerce++instance GoogleRequest ConnectionTypesList where+        type Rs ConnectionTypesList =+             ConnectionTypesListResponse+        requestClient ConnectionTypesList{..}+          = go _ctlProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ConnectionTypesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/Delete.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.DFAReporting.ContentCategories.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing content category.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.delete@.+module Network.Google.Resource.DFAReporting.ContentCategories.Delete+    (+    -- * REST Resource+      ContentCategoriesDeleteResource++    -- * Creating a Request+    , contentCategoriesDelete+    , ContentCategoriesDelete++    -- * Request Lenses+    , ccdProFileId+    , ccdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.delete@ method which the+-- 'ContentCategoriesDelete' request conforms to.+type ContentCategoriesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing content category.+--+-- /See:/ 'contentCategoriesDelete' smart constructor.+data ContentCategoriesDelete = ContentCategoriesDelete+    { _ccdProFileId :: !(Textual Int64)+    , _ccdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdProFileId'+--+-- * 'ccdId'+contentCategoriesDelete+    :: Int64 -- ^ 'ccdProFileId'+    -> Int64 -- ^ 'ccdId'+    -> ContentCategoriesDelete+contentCategoriesDelete pCcdProFileId_ pCcdId_ =+    ContentCategoriesDelete+    { _ccdProFileId = _Coerce # pCcdProFileId_+    , _ccdId = _Coerce # pCcdId_+    }++-- | User profile ID associated with this request.+ccdProFileId :: Lens' ContentCategoriesDelete Int64+ccdProFileId+  = lens _ccdProFileId (\ s a -> s{_ccdProFileId = a})+      . _Coerce++-- | Content category ID.+ccdId :: Lens' ContentCategoriesDelete Int64+ccdId+  = lens _ccdId (\ s a -> s{_ccdId = a}) . _Coerce++instance GoogleRequest ContentCategoriesDelete where+        type Rs ContentCategoriesDelete = ()+        requestClient ContentCategoriesDelete{..}+          = go _ccdProFileId _ccdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/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.DFAReporting.ContentCategories.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)+--+-- Gets one content category by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.get@.+module Network.Google.Resource.DFAReporting.ContentCategories.Get+    (+    -- * REST Resource+      ContentCategoriesGetResource++    -- * Creating a Request+    , contentCategoriesGet+    , ContentCategoriesGet++    -- * Request Lenses+    , ccgProFileId+    , ccgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.get@ method which the+-- 'ContentCategoriesGet' request conforms to.+type ContentCategoriesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] ContentCategory++-- | Gets one content category by ID.+--+-- /See:/ 'contentCategoriesGet' smart constructor.+data ContentCategoriesGet = ContentCategoriesGet+    { _ccgProFileId :: !(Textual Int64)+    , _ccgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccgProFileId'+--+-- * 'ccgId'+contentCategoriesGet+    :: Int64 -- ^ 'ccgProFileId'+    -> Int64 -- ^ 'ccgId'+    -> ContentCategoriesGet+contentCategoriesGet pCcgProFileId_ pCcgId_ =+    ContentCategoriesGet+    { _ccgProFileId = _Coerce # pCcgProFileId_+    , _ccgId = _Coerce # pCcgId_+    }++-- | User profile ID associated with this request.+ccgProFileId :: Lens' ContentCategoriesGet Int64+ccgProFileId+  = lens _ccgProFileId (\ s a -> s{_ccgProFileId = a})+      . _Coerce++-- | Content category ID.+ccgId :: Lens' ContentCategoriesGet Int64+ccgId+  = lens _ccgId (\ s a -> s{_ccgId = a}) . _Coerce++instance GoogleRequest ContentCategoriesGet where+        type Rs ContentCategoriesGet = ContentCategory+        requestClient ContentCategoriesGet{..}+          = go _ccgProFileId _ccgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/Insert.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.DFAReporting.ContentCategories.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new content category.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.insert@.+module Network.Google.Resource.DFAReporting.ContentCategories.Insert+    (+    -- * REST Resource+      ContentCategoriesInsertResource++    -- * Creating a Request+    , contentCategoriesInsert+    , ContentCategoriesInsert++    -- * Request Lenses+    , cciProFileId+    , cciPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.insert@ method which the+-- 'ContentCategoriesInsert' request conforms to.+type ContentCategoriesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] ContentCategory :>+                   Post '[JSON] ContentCategory++-- | Inserts a new content category.+--+-- /See:/ 'contentCategoriesInsert' smart constructor.+data ContentCategoriesInsert = ContentCategoriesInsert+    { _cciProFileId :: !(Textual Int64)+    , _cciPayload   :: !ContentCategory+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cciProFileId'+--+-- * 'cciPayload'+contentCategoriesInsert+    :: Int64 -- ^ 'cciProFileId'+    -> ContentCategory -- ^ 'cciPayload'+    -> ContentCategoriesInsert+contentCategoriesInsert pCciProFileId_ pCciPayload_ =+    ContentCategoriesInsert+    { _cciProFileId = _Coerce # pCciProFileId_+    , _cciPayload = pCciPayload_+    }++-- | User profile ID associated with this request.+cciProFileId :: Lens' ContentCategoriesInsert Int64+cciProFileId+  = lens _cciProFileId (\ s a -> s{_cciProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cciPayload :: Lens' ContentCategoriesInsert ContentCategory+cciPayload+  = lens _cciPayload (\ s a -> s{_cciPayload = a})++instance GoogleRequest ContentCategoriesInsert where+        type Rs ContentCategoriesInsert = ContentCategory+        requestClient ContentCategoriesInsert{..}+          = go _cciProFileId (Just AltJSON) _cciPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/List.hs view
@@ -0,0 +1,173 @@+{-# 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.DFAReporting.ContentCategories.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)+--+-- Retrieves a list of content categories, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.list@.+module Network.Google.Resource.DFAReporting.ContentCategories.List+    (+    -- * REST Resource+      ContentCategoriesListResource++    -- * Creating a Request+    , contentCategoriesList+    , ContentCategoriesList++    -- * Request Lenses+    , cclSearchString+    , cclIds+    , cclProFileId+    , cclSortOrder+    , cclPageToken+    , cclSortField+    , cclMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.list@ method which the+-- 'ContentCategoriesList' request conforms to.+type ContentCategoriesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" ContentCategoriesListSortOrder+                     :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" ContentCategoriesListSortField+                         :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ContentCategoriesListResponse++-- | Retrieves a list of content categories, possibly filtered.+--+-- /See:/ 'contentCategoriesList' smart constructor.+data ContentCategoriesList = ContentCategoriesList+    { _cclSearchString :: !(Maybe Text)+    , _cclIds          :: !(Maybe [Textual Int64])+    , _cclProFileId    :: !(Textual Int64)+    , _cclSortOrder    :: !(Maybe ContentCategoriesListSortOrder)+    , _cclPageToken    :: !(Maybe Text)+    , _cclSortField    :: !(Maybe ContentCategoriesListSortField)+    , _cclMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cclSearchString'+--+-- * 'cclIds'+--+-- * 'cclProFileId'+--+-- * 'cclSortOrder'+--+-- * 'cclPageToken'+--+-- * 'cclSortField'+--+-- * 'cclMaxResults'+contentCategoriesList+    :: Int64 -- ^ 'cclProFileId'+    -> ContentCategoriesList+contentCategoriesList pCclProFileId_ =+    ContentCategoriesList+    { _cclSearchString = Nothing+    , _cclIds = Nothing+    , _cclProFileId = _Coerce # pCclProFileId_+    , _cclSortOrder = Nothing+    , _cclPageToken = Nothing+    , _cclSortField = Nothing+    , _cclMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"contentcategory*2015\" will return objects with names+-- like \"contentcategory June 2015\", \"contentcategory April 2015\", or+-- simply \"contentcategory 2015\". Most of the searches also add wildcards+-- implicitly at the start and the end of the search string. For example, a+-- search string of \"contentcategory\" will match objects with name \"my+-- contentcategory\", \"contentcategory 2015\", or simply+-- \"contentcategory\".+cclSearchString :: Lens' ContentCategoriesList (Maybe Text)+cclSearchString+  = lens _cclSearchString+      (\ s a -> s{_cclSearchString = a})++-- | Select only content categories with these IDs.+cclIds :: Lens' ContentCategoriesList [Int64]+cclIds+  = lens _cclIds (\ s a -> s{_cclIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+cclProFileId :: Lens' ContentCategoriesList Int64+cclProFileId+  = lens _cclProFileId (\ s a -> s{_cclProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+cclSortOrder :: Lens' ContentCategoriesList (Maybe ContentCategoriesListSortOrder)+cclSortOrder+  = lens _cclSortOrder (\ s a -> s{_cclSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+cclPageToken :: Lens' ContentCategoriesList (Maybe Text)+cclPageToken+  = lens _cclPageToken (\ s a -> s{_cclPageToken = a})++-- | Field by which to sort the list.+cclSortField :: Lens' ContentCategoriesList (Maybe ContentCategoriesListSortField)+cclSortField+  = lens _cclSortField (\ s a -> s{_cclSortField = a})++-- | Maximum number of results to return.+cclMaxResults :: Lens' ContentCategoriesList (Maybe Int32)+cclMaxResults+  = lens _cclMaxResults+      (\ s a -> s{_cclMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ContentCategoriesList where+        type Rs ContentCategoriesList =+             ContentCategoriesListResponse+        requestClient ContentCategoriesList{..}+          = go _cclProFileId _cclSearchString+              (_cclIds ^. _Default)+              _cclSortOrder+              _cclPageToken+              _cclSortField+              _cclMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.ContentCategories.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing content category. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.patch@.+module Network.Google.Resource.DFAReporting.ContentCategories.Patch+    (+    -- * REST Resource+      ContentCategoriesPatchResource++    -- * Creating a Request+    , contentCategoriesPatch+    , ContentCategoriesPatch++    -- * Request Lenses+    , ccpProFileId+    , ccpPayload+    , ccpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.patch@ method which the+-- 'ContentCategoriesPatch' request conforms to.+type ContentCategoriesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] ContentCategory :>+                     Patch '[JSON] ContentCategory++-- | Updates an existing content category. This method supports patch+-- semantics.+--+-- /See:/ 'contentCategoriesPatch' smart constructor.+data ContentCategoriesPatch = ContentCategoriesPatch+    { _ccpProFileId :: !(Textual Int64)+    , _ccpPayload   :: !ContentCategory+    , _ccpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccpProFileId'+--+-- * 'ccpPayload'+--+-- * 'ccpId'+contentCategoriesPatch+    :: Int64 -- ^ 'ccpProFileId'+    -> ContentCategory -- ^ 'ccpPayload'+    -> Int64 -- ^ 'ccpId'+    -> ContentCategoriesPatch+contentCategoriesPatch pCcpProFileId_ pCcpPayload_ pCcpId_ =+    ContentCategoriesPatch+    { _ccpProFileId = _Coerce # pCcpProFileId_+    , _ccpPayload = pCcpPayload_+    , _ccpId = _Coerce # pCcpId_+    }++-- | User profile ID associated with this request.+ccpProFileId :: Lens' ContentCategoriesPatch Int64+ccpProFileId+  = lens _ccpProFileId (\ s a -> s{_ccpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+ccpPayload :: Lens' ContentCategoriesPatch ContentCategory+ccpPayload+  = lens _ccpPayload (\ s a -> s{_ccpPayload = a})++-- | Content category ID.+ccpId :: Lens' ContentCategoriesPatch Int64+ccpId+  = lens _ccpId (\ s a -> s{_ccpId = a}) . _Coerce++instance GoogleRequest ContentCategoriesPatch where+        type Rs ContentCategoriesPatch = ContentCategory+        requestClient ContentCategoriesPatch{..}+          = go _ccpProFileId (Just _ccpId) (Just AltJSON)+              _ccpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/ContentCategories/Update.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.DFAReporting.ContentCategories.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing content category.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.contentCategories.update@.+module Network.Google.Resource.DFAReporting.ContentCategories.Update+    (+    -- * REST Resource+      ContentCategoriesUpdateResource++    -- * Creating a Request+    , contentCategoriesUpdate+    , ContentCategoriesUpdate++    -- * Request Lenses+    , ccuProFileId+    , ccuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.contentCategories.update@ method which the+-- 'ContentCategoriesUpdate' request conforms to.+type ContentCategoriesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "contentCategories" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] ContentCategory :>+                   Put '[JSON] ContentCategory++-- | Updates an existing content category.+--+-- /See:/ 'contentCategoriesUpdate' smart constructor.+data ContentCategoriesUpdate = ContentCategoriesUpdate+    { _ccuProFileId :: !(Textual Int64)+    , _ccuPayload   :: !ContentCategory+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContentCategoriesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccuProFileId'+--+-- * 'ccuPayload'+contentCategoriesUpdate+    :: Int64 -- ^ 'ccuProFileId'+    -> ContentCategory -- ^ 'ccuPayload'+    -> ContentCategoriesUpdate+contentCategoriesUpdate pCcuProFileId_ pCcuPayload_ =+    ContentCategoriesUpdate+    { _ccuProFileId = _Coerce # pCcuProFileId_+    , _ccuPayload = pCcuPayload_+    }++-- | User profile ID associated with this request.+ccuProFileId :: Lens' ContentCategoriesUpdate Int64+ccuProFileId+  = lens _ccuProFileId (\ s a -> s{_ccuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+ccuPayload :: Lens' ContentCategoriesUpdate ContentCategory+ccuPayload+  = lens _ccuPayload (\ s a -> s{_ccuPayload = a})++instance GoogleRequest ContentCategoriesUpdate where+        type Rs ContentCategoriesUpdate = ContentCategory+        requestClient ContentCategoriesUpdate{..}+          = go _ccuProFileId (Just AltJSON) _ccuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ContentCategoriesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Countries/Get.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.DFAReporting.Countries.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)+--+-- Gets one country by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.countries.get@.+module Network.Google.Resource.DFAReporting.Countries.Get+    (+    -- * REST Resource+      CountriesGetResource++    -- * Creating a Request+    , countriesGet+    , CountriesGet++    -- * Request Lenses+    , cgProFileId+    , cgDartId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.countries.get@ method which the+-- 'CountriesGet' request conforms to.+type CountriesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "countries" :>+               Capture "dartId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Country++-- | Gets one country by ID.+--+-- /See:/ 'countriesGet' smart constructor.+data CountriesGet = CountriesGet+    { _cgProFileId :: !(Textual Int64)+    , _cgDartId    :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CountriesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgProFileId'+--+-- * 'cgDartId'+countriesGet+    :: Int64 -- ^ 'cgProFileId'+    -> Int64 -- ^ 'cgDartId'+    -> CountriesGet+countriesGet pCgProFileId_ pCgDartId_ =+    CountriesGet+    { _cgProFileId = _Coerce # pCgProFileId_+    , _cgDartId = _Coerce # pCgDartId_+    }++-- | User profile ID associated with this request.+cgProFileId :: Lens' CountriesGet Int64+cgProFileId+  = lens _cgProFileId (\ s a -> s{_cgProFileId = a}) .+      _Coerce++-- | Country DART ID.+cgDartId :: Lens' CountriesGet Int64+cgDartId+  = lens _cgDartId (\ s a -> s{_cgDartId = a}) .+      _Coerce++instance GoogleRequest CountriesGet where+        type Rs CountriesGet = Country+        requestClient CountriesGet{..}+          = go _cgProFileId _cgDartId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CountriesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Countries/List.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.Countries.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)+--+-- Retrieves a list of countries.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.countries.list@.+module Network.Google.Resource.DFAReporting.Countries.List+    (+    -- * REST Resource+      CountriesListResource++    -- * Creating a Request+    , countriesList+    , CountriesList++    -- * Request Lenses+    , couProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.countries.list@ method which the+-- 'CountriesList' request conforms to.+type CountriesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "countries" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] CountriesListResponse++-- | Retrieves a list of countries.+--+-- /See:/ 'countriesList' smart constructor.+newtype CountriesList = CountriesList+    { _couProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CountriesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'couProFileId'+countriesList+    :: Int64 -- ^ 'couProFileId'+    -> CountriesList+countriesList pCouProFileId_ =+    CountriesList+    { _couProFileId = _Coerce # pCouProFileId_+    }++-- | User profile ID associated with this request.+couProFileId :: Lens' CountriesList Int64+couProFileId+  = lens _couProFileId (\ s a -> s{_couProFileId = a})+      . _Coerce++instance GoogleRequest CountriesList where+        type Rs CountriesList = CountriesListResponse+        requestClient CountriesList{..}+          = go _couProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CountriesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeAssets/Insert.hs view
@@ -0,0 +1,145 @@+{-# 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.DFAReporting.CreativeAssets.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new creative asset.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeAssets.insert@.+module Network.Google.Resource.DFAReporting.CreativeAssets.Insert+    (+    -- * REST Resource+      CreativeAssetsInsertResource++    -- * Creating a Request+    , creativeAssetsInsert+    , CreativeAssetsInsert++    -- * Request Lenses+    , caiAdvertiserId+    , caiProFileId+    , caiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeAssets.insert@ method which the+-- 'CreativeAssetsInsert' request conforms to.+type CreativeAssetsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeAssets" :>+               Capture "advertiserId" (Textual Int64) :>+                 "creativeAssets" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CreativeAssetMetadata :>+                       Post '[JSON] CreativeAssetMetadata+       :<|>+       "upload" :>+         "dfareporting" :>+           "v2.2" :>+             "userprofiles" :>+               Capture "profileId" (Textual Int64) :>+                 "creativeAssets" :>+                   Capture "advertiserId" (Textual Int64) :>+                     "creativeAssets" :>+                       QueryParam "alt" AltJSON :>+                         QueryParam "uploadType" AltMedia :>+                           MultipartRelated '[JSON] CreativeAssetMetadata+                             RequestBody+                             :> Post '[JSON] CreativeAssetMetadata++-- | Inserts a new creative asset.+--+-- /See:/ 'creativeAssetsInsert' smart constructor.+data CreativeAssetsInsert = CreativeAssetsInsert+    { _caiAdvertiserId :: !(Textual Int64)+    , _caiProFileId    :: !(Textual Int64)+    , _caiPayload      :: !CreativeAssetMetadata+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeAssetsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caiAdvertiserId'+--+-- * 'caiProFileId'+--+-- * 'caiPayload'+creativeAssetsInsert+    :: Int64 -- ^ 'caiAdvertiserId'+    -> Int64 -- ^ 'caiProFileId'+    -> CreativeAssetMetadata -- ^ 'caiPayload'+    -> CreativeAssetsInsert+creativeAssetsInsert pCaiAdvertiserId_ pCaiProFileId_ pCaiPayload_ =+    CreativeAssetsInsert+    { _caiAdvertiserId = _Coerce # pCaiAdvertiserId_+    , _caiProFileId = _Coerce # pCaiProFileId_+    , _caiPayload = pCaiPayload_+    }++-- | Advertiser ID of this creative. This is a required field.+caiAdvertiserId :: Lens' CreativeAssetsInsert Int64+caiAdvertiserId+  = lens _caiAdvertiserId+      (\ s a -> s{_caiAdvertiserId = a})+      . _Coerce++-- | User profile ID associated with this request.+caiProFileId :: Lens' CreativeAssetsInsert Int64+caiProFileId+  = lens _caiProFileId (\ s a -> s{_caiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+caiPayload :: Lens' CreativeAssetsInsert CreativeAssetMetadata+caiPayload+  = lens _caiPayload (\ s a -> s{_caiPayload = a})++instance GoogleRequest CreativeAssetsInsert where+        type Rs CreativeAssetsInsert = CreativeAssetMetadata+        requestClient CreativeAssetsInsert{..}+          = go _caiProFileId _caiAdvertiserId (Just AltJSON)+              _caiPayload+              dFAReportingService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy CreativeAssetsInsertResource)+                      mempty++instance GoogleRequest+         (MediaUpload CreativeAssetsInsert) where+        type Rs (MediaUpload CreativeAssetsInsert) =+             CreativeAssetMetadata+        requestClient+          (MediaUpload CreativeAssetsInsert{..} body)+          = go _caiProFileId _caiAdvertiserId (Just AltJSON)+              (Just AltMedia)+              _caiPayload+              body+              dFAReportingService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy CreativeAssetsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Delete.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.DFAReporting.CreativeFieldValues.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing creative field value.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.delete@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete+    (+    -- * REST Resource+      CreativeFieldValuesDeleteResource++    -- * Creating a Request+    , creativeFieldValuesDelete+    , CreativeFieldValuesDelete++    -- * Request Lenses+    , cfvdCreativeFieldId+    , cfvdProFileId+    , cfvdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.delete@ method which the+-- 'CreativeFieldValuesDelete' request conforms to.+type CreativeFieldValuesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing creative field value.+--+-- /See:/ 'creativeFieldValuesDelete' smart constructor.+data CreativeFieldValuesDelete = CreativeFieldValuesDelete+    { _cfvdCreativeFieldId :: !(Textual Int64)+    , _cfvdProFileId       :: !(Textual Int64)+    , _cfvdId              :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvdCreativeFieldId'+--+-- * 'cfvdProFileId'+--+-- * 'cfvdId'+creativeFieldValuesDelete+    :: Int64 -- ^ 'cfvdCreativeFieldId'+    -> Int64 -- ^ 'cfvdProFileId'+    -> Int64 -- ^ 'cfvdId'+    -> CreativeFieldValuesDelete+creativeFieldValuesDelete pCfvdCreativeFieldId_ pCfvdProFileId_ pCfvdId_ =+    CreativeFieldValuesDelete+    { _cfvdCreativeFieldId = _Coerce # pCfvdCreativeFieldId_+    , _cfvdProFileId = _Coerce # pCfvdProFileId_+    , _cfvdId = _Coerce # pCfvdId_+    }++-- | Creative field ID for this creative field value.+cfvdCreativeFieldId :: Lens' CreativeFieldValuesDelete Int64+cfvdCreativeFieldId+  = lens _cfvdCreativeFieldId+      (\ s a -> s{_cfvdCreativeFieldId = a})+      . _Coerce++-- | User profile ID associated with this request.+cfvdProFileId :: Lens' CreativeFieldValuesDelete Int64+cfvdProFileId+  = lens _cfvdProFileId+      (\ s a -> s{_cfvdProFileId = a})+      . _Coerce++-- | Creative Field Value ID+cfvdId :: Lens' CreativeFieldValuesDelete Int64+cfvdId+  = lens _cfvdId (\ s a -> s{_cfvdId = a}) . _Coerce++instance GoogleRequest CreativeFieldValuesDelete+         where+        type Rs CreativeFieldValuesDelete = ()+        requestClient CreativeFieldValuesDelete{..}+          = go _cfvdProFileId _cfvdCreativeFieldId _cfvdId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/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.DFAReporting.CreativeFieldValues.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)+--+-- Gets one creative field value by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.get@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.Get+    (+    -- * REST Resource+      CreativeFieldValuesGetResource++    -- * Creating a Request+    , creativeFieldValuesGet+    , CreativeFieldValuesGet++    -- * Request Lenses+    , cfvgCreativeFieldId+    , cfvgProFileId+    , cfvgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.get@ method which the+-- 'CreativeFieldValuesGet' request conforms to.+type CreativeFieldValuesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] CreativeFieldValue++-- | Gets one creative field value by ID.+--+-- /See:/ 'creativeFieldValuesGet' smart constructor.+data CreativeFieldValuesGet = CreativeFieldValuesGet+    { _cfvgCreativeFieldId :: !(Textual Int64)+    , _cfvgProFileId       :: !(Textual Int64)+    , _cfvgId              :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvgCreativeFieldId'+--+-- * 'cfvgProFileId'+--+-- * 'cfvgId'+creativeFieldValuesGet+    :: Int64 -- ^ 'cfvgCreativeFieldId'+    -> Int64 -- ^ 'cfvgProFileId'+    -> Int64 -- ^ 'cfvgId'+    -> CreativeFieldValuesGet+creativeFieldValuesGet pCfvgCreativeFieldId_ pCfvgProFileId_ pCfvgId_ =+    CreativeFieldValuesGet+    { _cfvgCreativeFieldId = _Coerce # pCfvgCreativeFieldId_+    , _cfvgProFileId = _Coerce # pCfvgProFileId_+    , _cfvgId = _Coerce # pCfvgId_+    }++-- | Creative field ID for this creative field value.+cfvgCreativeFieldId :: Lens' CreativeFieldValuesGet Int64+cfvgCreativeFieldId+  = lens _cfvgCreativeFieldId+      (\ s a -> s{_cfvgCreativeFieldId = a})+      . _Coerce++-- | User profile ID associated with this request.+cfvgProFileId :: Lens' CreativeFieldValuesGet Int64+cfvgProFileId+  = lens _cfvgProFileId+      (\ s a -> s{_cfvgProFileId = a})+      . _Coerce++-- | Creative Field Value ID+cfvgId :: Lens' CreativeFieldValuesGet Int64+cfvgId+  = lens _cfvgId (\ s a -> s{_cfvgId = a}) . _Coerce++instance GoogleRequest CreativeFieldValuesGet where+        type Rs CreativeFieldValuesGet = CreativeFieldValue+        requestClient CreativeFieldValuesGet{..}+          = go _cfvgProFileId _cfvgCreativeFieldId _cfvgId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Insert.hs view
@@ -0,0 +1,119 @@+{-# 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.DFAReporting.CreativeFieldValues.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new creative field value.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.insert@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert+    (+    -- * REST Resource+      CreativeFieldValuesInsertResource++    -- * Creating a Request+    , creativeFieldValuesInsert+    , CreativeFieldValuesInsert++    -- * Request Lenses+    , cfviCreativeFieldId+    , cfviProFileId+    , cfviPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.insert@ method which the+-- 'CreativeFieldValuesInsert' request conforms to.+type CreativeFieldValuesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CreativeFieldValue :>+                       Post '[JSON] CreativeFieldValue++-- | Inserts a new creative field value.+--+-- /See:/ 'creativeFieldValuesInsert' smart constructor.+data CreativeFieldValuesInsert = CreativeFieldValuesInsert+    { _cfviCreativeFieldId :: !(Textual Int64)+    , _cfviProFileId       :: !(Textual Int64)+    , _cfviPayload         :: !CreativeFieldValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfviCreativeFieldId'+--+-- * 'cfviProFileId'+--+-- * 'cfviPayload'+creativeFieldValuesInsert+    :: Int64 -- ^ 'cfviCreativeFieldId'+    -> Int64 -- ^ 'cfviProFileId'+    -> CreativeFieldValue -- ^ 'cfviPayload'+    -> CreativeFieldValuesInsert+creativeFieldValuesInsert pCfviCreativeFieldId_ pCfviProFileId_ pCfviPayload_ =+    CreativeFieldValuesInsert+    { _cfviCreativeFieldId = _Coerce # pCfviCreativeFieldId_+    , _cfviProFileId = _Coerce # pCfviProFileId_+    , _cfviPayload = pCfviPayload_+    }++-- | Creative field ID for this creative field value.+cfviCreativeFieldId :: Lens' CreativeFieldValuesInsert Int64+cfviCreativeFieldId+  = lens _cfviCreativeFieldId+      (\ s a -> s{_cfviCreativeFieldId = a})+      . _Coerce++-- | User profile ID associated with this request.+cfviProFileId :: Lens' CreativeFieldValuesInsert Int64+cfviProFileId+  = lens _cfviProFileId+      (\ s a -> s{_cfviProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfviPayload :: Lens' CreativeFieldValuesInsert CreativeFieldValue+cfviPayload+  = lens _cfviPayload (\ s a -> s{_cfviPayload = a})++instance GoogleRequest CreativeFieldValuesInsert+         where+        type Rs CreativeFieldValuesInsert =+             CreativeFieldValue+        requestClient CreativeFieldValuesInsert{..}+          = go _cfviProFileId _cfviCreativeFieldId+              (Just AltJSON)+              _cfviPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/List.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.CreativeFieldValues.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)+--+-- Retrieves a list of creative field values, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.list@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.List+    (+    -- * REST Resource+      CreativeFieldValuesListResource++    -- * Creating a Request+    , creativeFieldValuesList+    , CreativeFieldValuesList++    -- * Request Lenses+    , cfvlCreativeFieldId+    , cfvlSearchString+    , cfvlIds+    , cfvlProFileId+    , cfvlSortOrder+    , cfvlPageToken+    , cfvlSortField+    , cfvlMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.list@ method which the+-- 'CreativeFieldValuesList' request conforms to.+type CreativeFieldValuesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "sortOrder"+                         CreativeFieldValuesListSortOrder+                         :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField"+                             CreativeFieldValuesListSortField+                             :>+                             QueryParam "maxResults" (Textual Int32) :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] CreativeFieldValuesListResponse++-- | Retrieves a list of creative field values, possibly filtered.+--+-- /See:/ 'creativeFieldValuesList' smart constructor.+data CreativeFieldValuesList = CreativeFieldValuesList+    { _cfvlCreativeFieldId :: !(Textual Int64)+    , _cfvlSearchString    :: !(Maybe Text)+    , _cfvlIds             :: !(Maybe [Textual Int64])+    , _cfvlProFileId       :: !(Textual Int64)+    , _cfvlSortOrder       :: !(Maybe CreativeFieldValuesListSortOrder)+    , _cfvlPageToken       :: !(Maybe Text)+    , _cfvlSortField       :: !(Maybe CreativeFieldValuesListSortField)+    , _cfvlMaxResults      :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvlCreativeFieldId'+--+-- * 'cfvlSearchString'+--+-- * 'cfvlIds'+--+-- * 'cfvlProFileId'+--+-- * 'cfvlSortOrder'+--+-- * 'cfvlPageToken'+--+-- * 'cfvlSortField'+--+-- * 'cfvlMaxResults'+creativeFieldValuesList+    :: Int64 -- ^ 'cfvlCreativeFieldId'+    -> Int64 -- ^ 'cfvlProFileId'+    -> CreativeFieldValuesList+creativeFieldValuesList pCfvlCreativeFieldId_ pCfvlProFileId_ =+    CreativeFieldValuesList+    { _cfvlCreativeFieldId = _Coerce # pCfvlCreativeFieldId_+    , _cfvlSearchString = Nothing+    , _cfvlIds = Nothing+    , _cfvlProFileId = _Coerce # pCfvlProFileId_+    , _cfvlSortOrder = Nothing+    , _cfvlPageToken = Nothing+    , _cfvlSortField = Nothing+    , _cfvlMaxResults = Nothing+    }++-- | Creative field ID for this creative field value.+cfvlCreativeFieldId :: Lens' CreativeFieldValuesList Int64+cfvlCreativeFieldId+  = lens _cfvlCreativeFieldId+      (\ s a -> s{_cfvlCreativeFieldId = a})+      . _Coerce++-- | Allows searching for creative field values by their values. Wildcards+-- (e.g. *) are not allowed.+cfvlSearchString :: Lens' CreativeFieldValuesList (Maybe Text)+cfvlSearchString+  = lens _cfvlSearchString+      (\ s a -> s{_cfvlSearchString = a})++-- | Select only creative field values with these IDs.+cfvlIds :: Lens' CreativeFieldValuesList [Int64]+cfvlIds+  = lens _cfvlIds (\ s a -> s{_cfvlIds = a}) . _Default+      . _Coerce++-- | User profile ID associated with this request.+cfvlProFileId :: Lens' CreativeFieldValuesList Int64+cfvlProFileId+  = lens _cfvlProFileId+      (\ s a -> s{_cfvlProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+cfvlSortOrder :: Lens' CreativeFieldValuesList (Maybe CreativeFieldValuesListSortOrder)+cfvlSortOrder+  = lens _cfvlSortOrder+      (\ s a -> s{_cfvlSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+cfvlPageToken :: Lens' CreativeFieldValuesList (Maybe Text)+cfvlPageToken+  = lens _cfvlPageToken+      (\ s a -> s{_cfvlPageToken = a})++-- | Field by which to sort the list.+cfvlSortField :: Lens' CreativeFieldValuesList (Maybe CreativeFieldValuesListSortField)+cfvlSortField+  = lens _cfvlSortField+      (\ s a -> s{_cfvlSortField = a})++-- | Maximum number of results to return.+cfvlMaxResults :: Lens' CreativeFieldValuesList (Maybe Int32)+cfvlMaxResults+  = lens _cfvlMaxResults+      (\ s a -> s{_cfvlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest CreativeFieldValuesList where+        type Rs CreativeFieldValuesList =+             CreativeFieldValuesListResponse+        requestClient CreativeFieldValuesList{..}+          = go _cfvlProFileId _cfvlCreativeFieldId+              _cfvlSearchString+              (_cfvlIds ^. _Default)+              _cfvlSortOrder+              _cfvlPageToken+              _cfvlSortField+              _cfvlMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Patch.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.DFAReporting.CreativeFieldValues.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative field value. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.patch@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch+    (+    -- * REST Resource+      CreativeFieldValuesPatchResource++    -- * Creating a Request+    , creativeFieldValuesPatch+    , CreativeFieldValuesPatch++    -- * Request Lenses+    , cfvpCreativeFieldId+    , cfvpProFileId+    , cfvpPayload+    , cfvpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.patch@ method which the+-- 'CreativeFieldValuesPatch' request conforms to.+type CreativeFieldValuesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   QueryParam "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreativeFieldValue :>+                         Patch '[JSON] CreativeFieldValue++-- | Updates an existing creative field value. This method supports patch+-- semantics.+--+-- /See:/ 'creativeFieldValuesPatch' smart constructor.+data CreativeFieldValuesPatch = CreativeFieldValuesPatch+    { _cfvpCreativeFieldId :: !(Textual Int64)+    , _cfvpProFileId       :: !(Textual Int64)+    , _cfvpPayload         :: !CreativeFieldValue+    , _cfvpId              :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvpCreativeFieldId'+--+-- * 'cfvpProFileId'+--+-- * 'cfvpPayload'+--+-- * 'cfvpId'+creativeFieldValuesPatch+    :: Int64 -- ^ 'cfvpCreativeFieldId'+    -> Int64 -- ^ 'cfvpProFileId'+    -> CreativeFieldValue -- ^ 'cfvpPayload'+    -> Int64 -- ^ 'cfvpId'+    -> CreativeFieldValuesPatch+creativeFieldValuesPatch pCfvpCreativeFieldId_ pCfvpProFileId_ pCfvpPayload_ pCfvpId_ =+    CreativeFieldValuesPatch+    { _cfvpCreativeFieldId = _Coerce # pCfvpCreativeFieldId_+    , _cfvpProFileId = _Coerce # pCfvpProFileId_+    , _cfvpPayload = pCfvpPayload_+    , _cfvpId = _Coerce # pCfvpId_+    }++-- | Creative field ID for this creative field value.+cfvpCreativeFieldId :: Lens' CreativeFieldValuesPatch Int64+cfvpCreativeFieldId+  = lens _cfvpCreativeFieldId+      (\ s a -> s{_cfvpCreativeFieldId = a})+      . _Coerce++-- | User profile ID associated with this request.+cfvpProFileId :: Lens' CreativeFieldValuesPatch Int64+cfvpProFileId+  = lens _cfvpProFileId+      (\ s a -> s{_cfvpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfvpPayload :: Lens' CreativeFieldValuesPatch CreativeFieldValue+cfvpPayload+  = lens _cfvpPayload (\ s a -> s{_cfvpPayload = a})++-- | Creative Field Value ID+cfvpId :: Lens' CreativeFieldValuesPatch Int64+cfvpId+  = lens _cfvpId (\ s a -> s{_cfvpId = a}) . _Coerce++instance GoogleRequest CreativeFieldValuesPatch where+        type Rs CreativeFieldValuesPatch = CreativeFieldValue+        requestClient CreativeFieldValuesPatch{..}+          = go _cfvpProFileId _cfvpCreativeFieldId+              (Just _cfvpId)+              (Just AltJSON)+              _cfvpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Update.hs view
@@ -0,0 +1,119 @@+{-# 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.DFAReporting.CreativeFieldValues.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative field value.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFieldValues.update@.+module Network.Google.Resource.DFAReporting.CreativeFieldValues.Update+    (+    -- * REST Resource+      CreativeFieldValuesUpdateResource++    -- * Creating a Request+    , creativeFieldValuesUpdate+    , CreativeFieldValuesUpdate++    -- * Request Lenses+    , cfvuCreativeFieldId+    , cfvuProFileId+    , cfvuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFieldValues.update@ method which the+-- 'CreativeFieldValuesUpdate' request conforms to.+type CreativeFieldValuesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "creativeFieldId" (Textual Int64) :>+                 "creativeFieldValues" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CreativeFieldValue :>+                       Put '[JSON] CreativeFieldValue++-- | Updates an existing creative field value.+--+-- /See:/ 'creativeFieldValuesUpdate' smart constructor.+data CreativeFieldValuesUpdate = CreativeFieldValuesUpdate+    { _cfvuCreativeFieldId :: !(Textual Int64)+    , _cfvuProFileId       :: !(Textual Int64)+    , _cfvuPayload         :: !CreativeFieldValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldValuesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfvuCreativeFieldId'+--+-- * 'cfvuProFileId'+--+-- * 'cfvuPayload'+creativeFieldValuesUpdate+    :: Int64 -- ^ 'cfvuCreativeFieldId'+    -> Int64 -- ^ 'cfvuProFileId'+    -> CreativeFieldValue -- ^ 'cfvuPayload'+    -> CreativeFieldValuesUpdate+creativeFieldValuesUpdate pCfvuCreativeFieldId_ pCfvuProFileId_ pCfvuPayload_ =+    CreativeFieldValuesUpdate+    { _cfvuCreativeFieldId = _Coerce # pCfvuCreativeFieldId_+    , _cfvuProFileId = _Coerce # pCfvuProFileId_+    , _cfvuPayload = pCfvuPayload_+    }++-- | Creative field ID for this creative field value.+cfvuCreativeFieldId :: Lens' CreativeFieldValuesUpdate Int64+cfvuCreativeFieldId+  = lens _cfvuCreativeFieldId+      (\ s a -> s{_cfvuCreativeFieldId = a})+      . _Coerce++-- | User profile ID associated with this request.+cfvuProFileId :: Lens' CreativeFieldValuesUpdate Int64+cfvuProFileId+  = lens _cfvuProFileId+      (\ s a -> s{_cfvuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfvuPayload :: Lens' CreativeFieldValuesUpdate CreativeFieldValue+cfvuPayload+  = lens _cfvuPayload (\ s a -> s{_cfvuPayload = a})++instance GoogleRequest CreativeFieldValuesUpdate+         where+        type Rs CreativeFieldValuesUpdate =+             CreativeFieldValue+        requestClient CreativeFieldValuesUpdate{..}+          = go _cfvuProFileId _cfvuCreativeFieldId+              (Just AltJSON)+              _cfvuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldValuesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/Delete.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.DFAReporting.CreativeFields.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing creative field.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.delete@.+module Network.Google.Resource.DFAReporting.CreativeFields.Delete+    (+    -- * REST Resource+      CreativeFieldsDeleteResource++    -- * Creating a Request+    , creativeFieldsDelete+    , CreativeFieldsDelete++    -- * Request Lenses+    , cfdProFileId+    , cfdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.delete@ method which the+-- 'CreativeFieldsDelete' request conforms to.+type CreativeFieldsDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing creative field.+--+-- /See:/ 'creativeFieldsDelete' smart constructor.+data CreativeFieldsDelete = CreativeFieldsDelete+    { _cfdProFileId :: !(Textual Int64)+    , _cfdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfdProFileId'+--+-- * 'cfdId'+creativeFieldsDelete+    :: Int64 -- ^ 'cfdProFileId'+    -> Int64 -- ^ 'cfdId'+    -> CreativeFieldsDelete+creativeFieldsDelete pCfdProFileId_ pCfdId_ =+    CreativeFieldsDelete+    { _cfdProFileId = _Coerce # pCfdProFileId_+    , _cfdId = _Coerce # pCfdId_+    }++-- | User profile ID associated with this request.+cfdProFileId :: Lens' CreativeFieldsDelete Int64+cfdProFileId+  = lens _cfdProFileId (\ s a -> s{_cfdProFileId = a})+      . _Coerce++-- | Creative Field ID+cfdId :: Lens' CreativeFieldsDelete Int64+cfdId+  = lens _cfdId (\ s a -> s{_cfdId = a}) . _Coerce++instance GoogleRequest CreativeFieldsDelete where+        type Rs CreativeFieldsDelete = ()+        requestClient CreativeFieldsDelete{..}+          = go _cfdProFileId _cfdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/Get.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.DFAReporting.CreativeFields.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)+--+-- Gets one creative field by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.get@.+module Network.Google.Resource.DFAReporting.CreativeFields.Get+    (+    -- * REST Resource+      CreativeFieldsGetResource++    -- * Creating a Request+    , creativeFieldsGet+    , CreativeFieldsGet++    -- * Request Lenses+    , cfgProFileId+    , cfgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.get@ method which the+-- 'CreativeFieldsGet' request conforms to.+type CreativeFieldsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] CreativeField++-- | Gets one creative field by ID.+--+-- /See:/ 'creativeFieldsGet' smart constructor.+data CreativeFieldsGet = CreativeFieldsGet+    { _cfgProFileId :: !(Textual Int64)+    , _cfgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfgProFileId'+--+-- * 'cfgId'+creativeFieldsGet+    :: Int64 -- ^ 'cfgProFileId'+    -> Int64 -- ^ 'cfgId'+    -> CreativeFieldsGet+creativeFieldsGet pCfgProFileId_ pCfgId_ =+    CreativeFieldsGet+    { _cfgProFileId = _Coerce # pCfgProFileId_+    , _cfgId = _Coerce # pCfgId_+    }++-- | User profile ID associated with this request.+cfgProFileId :: Lens' CreativeFieldsGet Int64+cfgProFileId+  = lens _cfgProFileId (\ s a -> s{_cfgProFileId = a})+      . _Coerce++-- | Creative Field ID+cfgId :: Lens' CreativeFieldsGet Int64+cfgId+  = lens _cfgId (\ s a -> s{_cfgId = a}) . _Coerce++instance GoogleRequest CreativeFieldsGet where+        type Rs CreativeFieldsGet = CreativeField+        requestClient CreativeFieldsGet{..}+          = go _cfgProFileId _cfgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/Insert.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.DFAReporting.CreativeFields.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new creative field.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.insert@.+module Network.Google.Resource.DFAReporting.CreativeFields.Insert+    (+    -- * REST Resource+      CreativeFieldsInsertResource++    -- * Creating a Request+    , creativeFieldsInsert+    , CreativeFieldsInsert++    -- * Request Lenses+    , cfiProFileId+    , cfiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.insert@ method which the+-- 'CreativeFieldsInsert' request conforms to.+type CreativeFieldsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] CreativeField :>+                   Post '[JSON] CreativeField++-- | Inserts a new creative field.+--+-- /See:/ 'creativeFieldsInsert' smart constructor.+data CreativeFieldsInsert = CreativeFieldsInsert+    { _cfiProFileId :: !(Textual Int64)+    , _cfiPayload   :: !CreativeField+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfiProFileId'+--+-- * 'cfiPayload'+creativeFieldsInsert+    :: Int64 -- ^ 'cfiProFileId'+    -> CreativeField -- ^ 'cfiPayload'+    -> CreativeFieldsInsert+creativeFieldsInsert pCfiProFileId_ pCfiPayload_ =+    CreativeFieldsInsert+    { _cfiProFileId = _Coerce # pCfiProFileId_+    , _cfiPayload = pCfiPayload_+    }++-- | User profile ID associated with this request.+cfiProFileId :: Lens' CreativeFieldsInsert Int64+cfiProFileId+  = lens _cfiProFileId (\ s a -> s{_cfiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfiPayload :: Lens' CreativeFieldsInsert CreativeField+cfiPayload+  = lens _cfiPayload (\ s a -> s{_cfiPayload = a})++instance GoogleRequest CreativeFieldsInsert where+        type Rs CreativeFieldsInsert = CreativeField+        requestClient CreativeFieldsInsert{..}+          = go _cfiProFileId (Just AltJSON) _cfiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/List.hs view
@@ -0,0 +1,186 @@+{-# 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.DFAReporting.CreativeFields.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)+--+-- Retrieves a list of creative fields, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.list@.+module Network.Google.Resource.DFAReporting.CreativeFields.List+    (+    -- * REST Resource+      CreativeFieldsListResource++    -- * Creating a Request+    , creativeFieldsList+    , CreativeFieldsList++    -- * Request Lenses+    , cflSearchString+    , cflIds+    , cflProFileId+    , cflSortOrder+    , cflPageToken+    , cflSortField+    , cflAdvertiserIds+    , cflMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.list@ method which the+-- 'CreativeFieldsList' request conforms to.+type CreativeFieldsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" CreativeFieldsListSortOrder :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" CreativeFieldsListSortField :>+                         QueryParams "advertiserIds" (Textual Int64) :>+                           QueryParam "maxResults" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] CreativeFieldsListResponse++-- | Retrieves a list of creative fields, possibly filtered.+--+-- /See:/ 'creativeFieldsList' smart constructor.+data CreativeFieldsList = CreativeFieldsList+    { _cflSearchString  :: !(Maybe Text)+    , _cflIds           :: !(Maybe [Textual Int64])+    , _cflProFileId     :: !(Textual Int64)+    , _cflSortOrder     :: !(Maybe CreativeFieldsListSortOrder)+    , _cflPageToken     :: !(Maybe Text)+    , _cflSortField     :: !(Maybe CreativeFieldsListSortField)+    , _cflAdvertiserIds :: !(Maybe [Textual Int64])+    , _cflMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cflSearchString'+--+-- * 'cflIds'+--+-- * 'cflProFileId'+--+-- * 'cflSortOrder'+--+-- * 'cflPageToken'+--+-- * 'cflSortField'+--+-- * 'cflAdvertiserIds'+--+-- * 'cflMaxResults'+creativeFieldsList+    :: Int64 -- ^ 'cflProFileId'+    -> CreativeFieldsList+creativeFieldsList pCflProFileId_ =+    CreativeFieldsList+    { _cflSearchString = Nothing+    , _cflIds = Nothing+    , _cflProFileId = _Coerce # pCflProFileId_+    , _cflSortOrder = Nothing+    , _cflPageToken = Nothing+    , _cflSortField = Nothing+    , _cflAdvertiserIds = Nothing+    , _cflMaxResults = Nothing+    }++-- | Allows searching for creative fields by name or ID. Wildcards (*) are+-- allowed. For example, \"creativefield*2015\" will return creative fields+-- with names like \"creativefield June 2015\", \"creativefield April+-- 2015\", or simply \"creativefield 2015\". Most of the searches also add+-- wild-cards implicitly at the start and the end of the search string. For+-- example, a search string of \"creativefield\" will match creative fields+-- with the name \"my creativefield\", \"creativefield 2015\", or simply+-- \"creativefield\".+cflSearchString :: Lens' CreativeFieldsList (Maybe Text)+cflSearchString+  = lens _cflSearchString+      (\ s a -> s{_cflSearchString = a})++-- | Select only creative fields with these IDs.+cflIds :: Lens' CreativeFieldsList [Int64]+cflIds+  = lens _cflIds (\ s a -> s{_cflIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+cflProFileId :: Lens' CreativeFieldsList Int64+cflProFileId+  = lens _cflProFileId (\ s a -> s{_cflProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+cflSortOrder :: Lens' CreativeFieldsList (Maybe CreativeFieldsListSortOrder)+cflSortOrder+  = lens _cflSortOrder (\ s a -> s{_cflSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+cflPageToken :: Lens' CreativeFieldsList (Maybe Text)+cflPageToken+  = lens _cflPageToken (\ s a -> s{_cflPageToken = a})++-- | Field by which to sort the list.+cflSortField :: Lens' CreativeFieldsList (Maybe CreativeFieldsListSortField)+cflSortField+  = lens _cflSortField (\ s a -> s{_cflSortField = a})++-- | Select only creative fields that belong to these advertisers.+cflAdvertiserIds :: Lens' CreativeFieldsList [Int64]+cflAdvertiserIds+  = lens _cflAdvertiserIds+      (\ s a -> s{_cflAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Maximum number of results to return.+cflMaxResults :: Lens' CreativeFieldsList (Maybe Int32)+cflMaxResults+  = lens _cflMaxResults+      (\ s a -> s{_cflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest CreativeFieldsList where+        type Rs CreativeFieldsList =+             CreativeFieldsListResponse+        requestClient CreativeFieldsList{..}+          = go _cflProFileId _cflSearchString+              (_cflIds ^. _Default)+              _cflSortOrder+              _cflPageToken+              _cflSortField+              (_cflAdvertiserIds ^. _Default)+              _cflMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.CreativeFields.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative field. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.patch@.+module Network.Google.Resource.DFAReporting.CreativeFields.Patch+    (+    -- * REST Resource+      CreativeFieldsPatchResource++    -- * Creating a Request+    , creativeFieldsPatch+    , CreativeFieldsPatch++    -- * Request Lenses+    , cfpProFileId+    , cfpPayload+    , cfpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.patch@ method which the+-- 'CreativeFieldsPatch' request conforms to.+type CreativeFieldsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] CreativeField :>+                     Patch '[JSON] CreativeField++-- | Updates an existing creative field. This method supports patch+-- semantics.+--+-- /See:/ 'creativeFieldsPatch' smart constructor.+data CreativeFieldsPatch = CreativeFieldsPatch+    { _cfpProFileId :: !(Textual Int64)+    , _cfpPayload   :: !CreativeField+    , _cfpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfpProFileId'+--+-- * 'cfpPayload'+--+-- * 'cfpId'+creativeFieldsPatch+    :: Int64 -- ^ 'cfpProFileId'+    -> CreativeField -- ^ 'cfpPayload'+    -> Int64 -- ^ 'cfpId'+    -> CreativeFieldsPatch+creativeFieldsPatch pCfpProFileId_ pCfpPayload_ pCfpId_ =+    CreativeFieldsPatch+    { _cfpProFileId = _Coerce # pCfpProFileId_+    , _cfpPayload = pCfpPayload_+    , _cfpId = _Coerce # pCfpId_+    }++-- | User profile ID associated with this request.+cfpProFileId :: Lens' CreativeFieldsPatch Int64+cfpProFileId+  = lens _cfpProFileId (\ s a -> s{_cfpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfpPayload :: Lens' CreativeFieldsPatch CreativeField+cfpPayload+  = lens _cfpPayload (\ s a -> s{_cfpPayload = a})++-- | Creative Field ID+cfpId :: Lens' CreativeFieldsPatch Int64+cfpId+  = lens _cfpId (\ s a -> s{_cfpId = a}) . _Coerce++instance GoogleRequest CreativeFieldsPatch where+        type Rs CreativeFieldsPatch = CreativeField+        requestClient CreativeFieldsPatch{..}+          = go _cfpProFileId (Just _cfpId) (Just AltJSON)+              _cfpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeFields/Update.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.DFAReporting.CreativeFields.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative field.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeFields.update@.+module Network.Google.Resource.DFAReporting.CreativeFields.Update+    (+    -- * REST Resource+      CreativeFieldsUpdateResource++    -- * Creating a Request+    , creativeFieldsUpdate+    , CreativeFieldsUpdate++    -- * Request Lenses+    , cfuProFileId+    , cfuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeFields.update@ method which the+-- 'CreativeFieldsUpdate' request conforms to.+type CreativeFieldsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeFields" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] CreativeField :>+                   Put '[JSON] CreativeField++-- | Updates an existing creative field.+--+-- /See:/ 'creativeFieldsUpdate' smart constructor.+data CreativeFieldsUpdate = CreativeFieldsUpdate+    { _cfuProFileId :: !(Textual Int64)+    , _cfuPayload   :: !CreativeField+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeFieldsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfuProFileId'+--+-- * 'cfuPayload'+creativeFieldsUpdate+    :: Int64 -- ^ 'cfuProFileId'+    -> CreativeField -- ^ 'cfuPayload'+    -> CreativeFieldsUpdate+creativeFieldsUpdate pCfuProFileId_ pCfuPayload_ =+    CreativeFieldsUpdate+    { _cfuProFileId = _Coerce # pCfuProFileId_+    , _cfuPayload = pCfuPayload_+    }++-- | User profile ID associated with this request.+cfuProFileId :: Lens' CreativeFieldsUpdate Int64+cfuProFileId+  = lens _cfuProFileId (\ s a -> s{_cfuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cfuPayload :: Lens' CreativeFieldsUpdate CreativeField+cfuPayload+  = lens _cfuPayload (\ s a -> s{_cfuPayload = a})++instance GoogleRequest CreativeFieldsUpdate where+        type Rs CreativeFieldsUpdate = CreativeField+        requestClient CreativeFieldsUpdate{..}+          = go _cfuProFileId (Just AltJSON) _cfuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeFieldsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeGroups/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.DFAReporting.CreativeGroups.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)+--+-- Gets one creative group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeGroups.get@.+module Network.Google.Resource.DFAReporting.CreativeGroups.Get+    (+    -- * REST Resource+      CreativeGroupsGetResource++    -- * Creating a Request+    , creativeGroupsGet+    , CreativeGroupsGet++    -- * Request Lenses+    , cgggProFileId+    , cgggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeGroups.get@ method which the+-- 'CreativeGroupsGet' request conforms to.+type CreativeGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] CreativeGroup++-- | Gets one creative group by ID.+--+-- /See:/ 'creativeGroupsGet' smart constructor.+data CreativeGroupsGet = CreativeGroupsGet+    { _cgggProFileId :: !(Textual Int64)+    , _cgggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgggProFileId'+--+-- * 'cgggId'+creativeGroupsGet+    :: Int64 -- ^ 'cgggProFileId'+    -> Int64 -- ^ 'cgggId'+    -> CreativeGroupsGet+creativeGroupsGet pCgggProFileId_ pCgggId_ =+    CreativeGroupsGet+    { _cgggProFileId = _Coerce # pCgggProFileId_+    , _cgggId = _Coerce # pCgggId_+    }++-- | User profile ID associated with this request.+cgggProFileId :: Lens' CreativeGroupsGet Int64+cgggProFileId+  = lens _cgggProFileId+      (\ s a -> s{_cgggProFileId = a})+      . _Coerce++-- | Creative group ID.+cgggId :: Lens' CreativeGroupsGet Int64+cgggId+  = lens _cgggId (\ s a -> s{_cgggId = a}) . _Coerce++instance GoogleRequest CreativeGroupsGet where+        type Rs CreativeGroupsGet = CreativeGroup+        requestClient CreativeGroupsGet{..}+          = go _cgggProFileId _cgggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeGroups/Insert.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.DFAReporting.CreativeGroups.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new creative group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeGroups.insert@.+module Network.Google.Resource.DFAReporting.CreativeGroups.Insert+    (+    -- * REST Resource+      CreativeGroupsInsertResource++    -- * Creating a Request+    , creativeGroupsInsert+    , CreativeGroupsInsert++    -- * Request Lenses+    , cgiProFileId+    , cgiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeGroups.insert@ method which the+-- 'CreativeGroupsInsert' request conforms to.+type CreativeGroupsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] CreativeGroup :>+                   Post '[JSON] CreativeGroup++-- | Inserts a new creative group.+--+-- /See:/ 'creativeGroupsInsert' smart constructor.+data CreativeGroupsInsert = CreativeGroupsInsert+    { _cgiProFileId :: !(Textual Int64)+    , _cgiPayload   :: !CreativeGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgiProFileId'+--+-- * 'cgiPayload'+creativeGroupsInsert+    :: Int64 -- ^ 'cgiProFileId'+    -> CreativeGroup -- ^ 'cgiPayload'+    -> CreativeGroupsInsert+creativeGroupsInsert pCgiProFileId_ pCgiPayload_ =+    CreativeGroupsInsert+    { _cgiProFileId = _Coerce # pCgiProFileId_+    , _cgiPayload = pCgiPayload_+    }++-- | User profile ID associated with this request.+cgiProFileId :: Lens' CreativeGroupsInsert Int64+cgiProFileId+  = lens _cgiProFileId (\ s a -> s{_cgiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cgiPayload :: Lens' CreativeGroupsInsert CreativeGroup+cgiPayload+  = lens _cgiPayload (\ s a -> s{_cgiPayload = a})++instance GoogleRequest CreativeGroupsInsert where+        type Rs CreativeGroupsInsert = CreativeGroup+        requestClient CreativeGroupsInsert{..}+          = go _cgiProFileId (Just AltJSON) _cgiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeGroupsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeGroups/List.hs view
@@ -0,0 +1,200 @@+{-# 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.DFAReporting.CreativeGroups.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)+--+-- Retrieves a list of creative groups, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeGroups.list@.+module Network.Google.Resource.DFAReporting.CreativeGroups.List+    (+    -- * REST Resource+      CreativeGroupsListResource++    -- * Creating a Request+    , creativeGroupsList+    , CreativeGroupsList++    -- * Request Lenses+    , cglSearchString+    , cglIds+    , cglProFileId+    , cglSortOrder+    , cglGroupNumber+    , cglPageToken+    , cglSortField+    , cglAdvertiserIds+    , cglMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeGroups.list@ method which the+-- 'CreativeGroupsList' request conforms to.+type CreativeGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeGroups" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" CreativeGroupsListSortOrder :>+                     QueryParam "groupNumber" (Textual Int32) :>+                       QueryParam "pageToken" Text :>+                         QueryParam "sortField" CreativeGroupsListSortField :>+                           QueryParams "advertiserIds" (Textual Int64) :>+                             QueryParam "maxResults" (Textual Int32) :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] CreativeGroupsListResponse++-- | Retrieves a list of creative groups, possibly filtered.+--+-- /See:/ 'creativeGroupsList' smart constructor.+data CreativeGroupsList = CreativeGroupsList+    { _cglSearchString  :: !(Maybe Text)+    , _cglIds           :: !(Maybe [Textual Int64])+    , _cglProFileId     :: !(Textual Int64)+    , _cglSortOrder     :: !(Maybe CreativeGroupsListSortOrder)+    , _cglGroupNumber   :: !(Maybe (Textual Int32))+    , _cglPageToken     :: !(Maybe Text)+    , _cglSortField     :: !(Maybe CreativeGroupsListSortField)+    , _cglAdvertiserIds :: !(Maybe [Textual Int64])+    , _cglMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cglSearchString'+--+-- * 'cglIds'+--+-- * 'cglProFileId'+--+-- * 'cglSortOrder'+--+-- * 'cglGroupNumber'+--+-- * 'cglPageToken'+--+-- * 'cglSortField'+--+-- * 'cglAdvertiserIds'+--+-- * 'cglMaxResults'+creativeGroupsList+    :: Int64 -- ^ 'cglProFileId'+    -> CreativeGroupsList+creativeGroupsList pCglProFileId_ =+    CreativeGroupsList+    { _cglSearchString = Nothing+    , _cglIds = Nothing+    , _cglProFileId = _Coerce # pCglProFileId_+    , _cglSortOrder = Nothing+    , _cglGroupNumber = Nothing+    , _cglPageToken = Nothing+    , _cglSortField = Nothing+    , _cglAdvertiserIds = Nothing+    , _cglMaxResults = Nothing+    }++-- | Allows searching for creative groups by name or ID. Wildcards (*) are+-- allowed. For example, \"creativegroup*2015\" will return creative groups+-- with names like \"creativegroup June 2015\", \"creativegroup April+-- 2015\", or simply \"creativegroup 2015\". Most of the searches also add+-- wild-cards implicitly at the start and the end of the search string. For+-- example, a search string of \"creativegroup\" will match creative groups+-- with the name \"my creativegroup\", \"creativegroup 2015\", or simply+-- \"creativegroup\".+cglSearchString :: Lens' CreativeGroupsList (Maybe Text)+cglSearchString+  = lens _cglSearchString+      (\ s a -> s{_cglSearchString = a})++-- | Select only creative groups with these IDs.+cglIds :: Lens' CreativeGroupsList [Int64]+cglIds+  = lens _cglIds (\ s a -> s{_cglIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+cglProFileId :: Lens' CreativeGroupsList Int64+cglProFileId+  = lens _cglProFileId (\ s a -> s{_cglProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+cglSortOrder :: Lens' CreativeGroupsList (Maybe CreativeGroupsListSortOrder)+cglSortOrder+  = lens _cglSortOrder (\ s a -> s{_cglSortOrder = a})++-- | Select only creative groups that belong to this subgroup.+cglGroupNumber :: Lens' CreativeGroupsList (Maybe Int32)+cglGroupNumber+  = lens _cglGroupNumber+      (\ s a -> s{_cglGroupNumber = a})+      . mapping _Coerce++-- | Value of the nextPageToken from the previous result page.+cglPageToken :: Lens' CreativeGroupsList (Maybe Text)+cglPageToken+  = lens _cglPageToken (\ s a -> s{_cglPageToken = a})++-- | Field by which to sort the list.+cglSortField :: Lens' CreativeGroupsList (Maybe CreativeGroupsListSortField)+cglSortField+  = lens _cglSortField (\ s a -> s{_cglSortField = a})++-- | Select only creative groups that belong to these advertisers.+cglAdvertiserIds :: Lens' CreativeGroupsList [Int64]+cglAdvertiserIds+  = lens _cglAdvertiserIds+      (\ s a -> s{_cglAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Maximum number of results to return.+cglMaxResults :: Lens' CreativeGroupsList (Maybe Int32)+cglMaxResults+  = lens _cglMaxResults+      (\ s a -> s{_cglMaxResults = a})+      . mapping _Coerce++instance GoogleRequest CreativeGroupsList where+        type Rs CreativeGroupsList =+             CreativeGroupsListResponse+        requestClient CreativeGroupsList{..}+          = go _cglProFileId _cglSearchString+              (_cglIds ^. _Default)+              _cglSortOrder+              _cglGroupNumber+              _cglPageToken+              _cglSortField+              (_cglAdvertiserIds ^. _Default)+              _cglMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeGroups/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.CreativeGroups.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative group. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeGroups.patch@.+module Network.Google.Resource.DFAReporting.CreativeGroups.Patch+    (+    -- * REST Resource+      CreativeGroupsPatchResource++    -- * Creating a Request+    , creativeGroupsPatch+    , CreativeGroupsPatch++    -- * Request Lenses+    , cgpProFileId+    , cgpPayload+    , cgpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeGroups.patch@ method which the+-- 'CreativeGroupsPatch' request conforms to.+type CreativeGroupsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeGroups" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] CreativeGroup :>+                     Patch '[JSON] CreativeGroup++-- | Updates an existing creative group. This method supports patch+-- semantics.+--+-- /See:/ 'creativeGroupsPatch' smart constructor.+data CreativeGroupsPatch = CreativeGroupsPatch+    { _cgpProFileId :: !(Textual Int64)+    , _cgpPayload   :: !CreativeGroup+    , _cgpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgpProFileId'+--+-- * 'cgpPayload'+--+-- * 'cgpId'+creativeGroupsPatch+    :: Int64 -- ^ 'cgpProFileId'+    -> CreativeGroup -- ^ 'cgpPayload'+    -> Int64 -- ^ 'cgpId'+    -> CreativeGroupsPatch+creativeGroupsPatch pCgpProFileId_ pCgpPayload_ pCgpId_ =+    CreativeGroupsPatch+    { _cgpProFileId = _Coerce # pCgpProFileId_+    , _cgpPayload = pCgpPayload_+    , _cgpId = _Coerce # pCgpId_+    }++-- | User profile ID associated with this request.+cgpProFileId :: Lens' CreativeGroupsPatch Int64+cgpProFileId+  = lens _cgpProFileId (\ s a -> s{_cgpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cgpPayload :: Lens' CreativeGroupsPatch CreativeGroup+cgpPayload+  = lens _cgpPayload (\ s a -> s{_cgpPayload = a})++-- | Creative group ID.+cgpId :: Lens' CreativeGroupsPatch Int64+cgpId+  = lens _cgpId (\ s a -> s{_cgpId = a}) . _Coerce++instance GoogleRequest CreativeGroupsPatch where+        type Rs CreativeGroupsPatch = CreativeGroup+        requestClient CreativeGroupsPatch{..}+          = go _cgpProFileId (Just _cgpId) (Just AltJSON)+              _cgpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeGroupsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/CreativeGroups/Update.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.DFAReporting.CreativeGroups.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creativeGroups.update@.+module Network.Google.Resource.DFAReporting.CreativeGroups.Update+    (+    -- * REST Resource+      CreativeGroupsUpdateResource++    -- * Creating a Request+    , creativeGroupsUpdate+    , CreativeGroupsUpdate++    -- * Request Lenses+    , cguProFileId+    , cguPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creativeGroups.update@ method which the+-- 'CreativeGroupsUpdate' request conforms to.+type CreativeGroupsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creativeGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] CreativeGroup :>+                   Put '[JSON] CreativeGroup++-- | Updates an existing creative group.+--+-- /See:/ 'creativeGroupsUpdate' smart constructor.+data CreativeGroupsUpdate = CreativeGroupsUpdate+    { _cguProFileId :: !(Textual Int64)+    , _cguPayload   :: !CreativeGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativeGroupsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cguProFileId'+--+-- * 'cguPayload'+creativeGroupsUpdate+    :: Int64 -- ^ 'cguProFileId'+    -> CreativeGroup -- ^ 'cguPayload'+    -> CreativeGroupsUpdate+creativeGroupsUpdate pCguProFileId_ pCguPayload_ =+    CreativeGroupsUpdate+    { _cguProFileId = _Coerce # pCguProFileId_+    , _cguPayload = pCguPayload_+    }++-- | User profile ID associated with this request.+cguProFileId :: Lens' CreativeGroupsUpdate Int64+cguProFileId+  = lens _cguProFileId (\ s a -> s{_cguProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cguPayload :: Lens' CreativeGroupsUpdate CreativeGroup+cguPayload+  = lens _cguPayload (\ s a -> s{_cguPayload = a})++instance GoogleRequest CreativeGroupsUpdate where+        type Rs CreativeGroupsUpdate = CreativeGroup+        requestClient CreativeGroupsUpdate{..}+          = go _cguProFileId (Just AltJSON) _cguPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativeGroupsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Creatives/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Creatives.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)+--+-- Gets one creative by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creatives.get@.+module Network.Google.Resource.DFAReporting.Creatives.Get+    (+    -- * REST Resource+      CreativesGetResource++    -- * Creating a Request+    , creativesGet+    , CreativesGet++    -- * Request Lenses+    , ccProFileId+    , ccId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creatives.get@ method which the+-- 'CreativesGet' request conforms to.+type CreativesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creatives" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Creative++-- | Gets one creative by ID.+--+-- /See:/ 'creativesGet' smart constructor.+data CreativesGet = CreativesGet+    { _ccProFileId :: !(Textual Int64)+    , _ccId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccProFileId'+--+-- * 'ccId'+creativesGet+    :: Int64 -- ^ 'ccProFileId'+    -> Int64 -- ^ 'ccId'+    -> CreativesGet+creativesGet pCcProFileId_ pCcId_ =+    CreativesGet+    { _ccProFileId = _Coerce # pCcProFileId_+    , _ccId = _Coerce # pCcId_+    }++-- | User profile ID associated with this request.+ccProFileId :: Lens' CreativesGet Int64+ccProFileId+  = lens _ccProFileId (\ s a -> s{_ccProFileId = a}) .+      _Coerce++-- | Creative ID.+ccId :: Lens' CreativesGet Int64+ccId = lens _ccId (\ s a -> s{_ccId = a}) . _Coerce++instance GoogleRequest CreativesGet where+        type Rs CreativesGet = Creative+        requestClient CreativesGet{..}+          = go _ccProFileId _ccId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CreativesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Creatives/Insert.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.DFAReporting.Creatives.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new creative.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creatives.insert@.+module Network.Google.Resource.DFAReporting.Creatives.Insert+    (+    -- * REST Resource+      CreativesInsertResource++    -- * Creating a Request+    , creativesInsert+    , CreativesInsert++    -- * Request Lenses+    , ciProFileId+    , ciPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creatives.insert@ method which the+-- 'CreativesInsert' request conforms to.+type CreativesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creatives" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Creative :> Post '[JSON] Creative++-- | Inserts a new creative.+--+-- /See:/ 'creativesInsert' smart constructor.+data CreativesInsert = CreativesInsert+    { _ciProFileId :: !(Textual Int64)+    , _ciPayload   :: !Creative+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciProFileId'+--+-- * 'ciPayload'+creativesInsert+    :: Int64 -- ^ 'ciProFileId'+    -> Creative -- ^ 'ciPayload'+    -> CreativesInsert+creativesInsert pCiProFileId_ pCiPayload_ =+    CreativesInsert+    { _ciProFileId = _Coerce # pCiProFileId_+    , _ciPayload = pCiPayload_+    }++-- | User profile ID associated with this request.+ciProFileId :: Lens' CreativesInsert Int64+ciProFileId+  = lens _ciProFileId (\ s a -> s{_ciProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+ciPayload :: Lens' CreativesInsert Creative+ciPayload+  = lens _ciPayload (\ s a -> s{_ciPayload = a})++instance GoogleRequest CreativesInsert where+        type Rs CreativesInsert = Creative+        requestClient CreativesInsert{..}+          = go _ciProFileId (Just AltJSON) _ciPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Creatives/List.hs view
@@ -0,0 +1,314 @@+{-# 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.DFAReporting.Creatives.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)+--+-- Retrieves a list of creatives, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creatives.list@.+module Network.Google.Resource.DFAReporting.Creatives.List+    (+    -- * REST Resource+      CreativesListResource++    -- * Creating a Request+    , creativesList+    , CreativesList++    -- * Request Lenses+    , cRenderingIds+    , cAdvertiserId+    , cSearchString+    , cSizeIds+    , cCompanionCreativeIds+    , cCampaignId+    , cTypes+    , cIds+    , cProFileId+    , cSortOrder+    , cActive+    , cCreativeFieldIds+    , cPageToken+    , cSortField+    , cStudioCreativeId+    , cArchived+    , cMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creatives.list@ method which the+-- 'CreativesList' request conforms to.+type CreativesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creatives" :>+               QueryParams "renderingIds" (Textual Int64) :>+                 QueryParam "advertiserId" (Textual Int64) :>+                   QueryParam "searchString" Text :>+                     QueryParams "sizeIds" (Textual Int64) :>+                       QueryParams "companionCreativeIds" (Textual Int64) :>+                         QueryParam "campaignId" (Textual Int64) :>+                           QueryParams "types" CreativesListTypes :>+                             QueryParams "ids" (Textual Int64) :>+                               QueryParam "sortOrder" CreativesListSortOrder :>+                                 QueryParam "active" Bool :>+                                   QueryParams "creativeFieldIds"+                                     (Textual Int64)+                                     :>+                                     QueryParam "pageToken" Text :>+                                       QueryParam "sortField"+                                         CreativesListSortField+                                         :>+                                         QueryParam "studioCreativeId"+                                           (Textual Int64)+                                           :>+                                           QueryParam "archived" Bool :>+                                             QueryParam "maxResults"+                                               (Textual Int32)+                                               :>+                                               QueryParam "alt" AltJSON :>+                                                 Get '[JSON]+                                                   CreativesListResponse++-- | Retrieves a list of creatives, possibly filtered.+--+-- /See:/ 'creativesList' smart constructor.+data CreativesList = CreativesList+    { _cRenderingIds         :: !(Maybe [Textual Int64])+    , _cAdvertiserId         :: !(Maybe (Textual Int64))+    , _cSearchString         :: !(Maybe Text)+    , _cSizeIds              :: !(Maybe [Textual Int64])+    , _cCompanionCreativeIds :: !(Maybe [Textual Int64])+    , _cCampaignId           :: !(Maybe (Textual Int64))+    , _cTypes                :: !(Maybe [CreativesListTypes])+    , _cIds                  :: !(Maybe [Textual Int64])+    , _cProFileId            :: !(Textual Int64)+    , _cSortOrder            :: !(Maybe CreativesListSortOrder)+    , _cActive               :: !(Maybe Bool)+    , _cCreativeFieldIds     :: !(Maybe [Textual Int64])+    , _cPageToken            :: !(Maybe Text)+    , _cSortField            :: !(Maybe CreativesListSortField)+    , _cStudioCreativeId     :: !(Maybe (Textual Int64))+    , _cArchived             :: !(Maybe Bool)+    , _cMaxResults           :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cRenderingIds'+--+-- * 'cAdvertiserId'+--+-- * 'cSearchString'+--+-- * 'cSizeIds'+--+-- * 'cCompanionCreativeIds'+--+-- * 'cCampaignId'+--+-- * 'cTypes'+--+-- * 'cIds'+--+-- * 'cProFileId'+--+-- * 'cSortOrder'+--+-- * 'cActive'+--+-- * 'cCreativeFieldIds'+--+-- * 'cPageToken'+--+-- * 'cSortField'+--+-- * 'cStudioCreativeId'+--+-- * 'cArchived'+--+-- * 'cMaxResults'+creativesList+    :: Int64 -- ^ 'cProFileId'+    -> CreativesList+creativesList pCProFileId_ =+    CreativesList+    { _cRenderingIds = Nothing+    , _cAdvertiserId = Nothing+    , _cSearchString = Nothing+    , _cSizeIds = Nothing+    , _cCompanionCreativeIds = Nothing+    , _cCampaignId = Nothing+    , _cTypes = Nothing+    , _cIds = Nothing+    , _cProFileId = _Coerce # pCProFileId_+    , _cSortOrder = Nothing+    , _cActive = Nothing+    , _cCreativeFieldIds = Nothing+    , _cPageToken = Nothing+    , _cSortField = Nothing+    , _cStudioCreativeId = Nothing+    , _cArchived = Nothing+    , _cMaxResults = Nothing+    }++-- | Select only creatives with these rendering IDs.+cRenderingIds :: Lens' CreativesList [Int64]+cRenderingIds+  = lens _cRenderingIds+      (\ s a -> s{_cRenderingIds = a})+      . _Default+      . _Coerce++-- | Select only creatives with this advertiser ID.+cAdvertiserId :: Lens' CreativesList (Maybe Int64)+cAdvertiserId+  = lens _cAdvertiserId+      (\ s a -> s{_cAdvertiserId = a})+      . mapping _Coerce++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"creative*2015\" will return objects with names like+-- \"creative June 2015\", \"creative April 2015\", or simply \"creative+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"creative\" will match objects with name \"my creative\", \"creative+-- 2015\", or simply \"creative\".+cSearchString :: Lens' CreativesList (Maybe Text)+cSearchString+  = lens _cSearchString+      (\ s a -> s{_cSearchString = a})++-- | Select only creatives with these size IDs.+cSizeIds :: Lens' CreativesList [Int64]+cSizeIds+  = lens _cSizeIds (\ s a -> s{_cSizeIds = a}) .+      _Default+      . _Coerce++-- | Select only in-stream video creatives with these companion IDs.+cCompanionCreativeIds :: Lens' CreativesList [Int64]+cCompanionCreativeIds+  = lens _cCompanionCreativeIds+      (\ s a -> s{_cCompanionCreativeIds = a})+      . _Default+      . _Coerce++-- | Select only creatives with this campaign ID.+cCampaignId :: Lens' CreativesList (Maybe Int64)+cCampaignId+  = lens _cCampaignId (\ s a -> s{_cCampaignId = a}) .+      mapping _Coerce++-- | Select only creatives with these creative types.+cTypes :: Lens' CreativesList [CreativesListTypes]+cTypes+  = lens _cTypes (\ s a -> s{_cTypes = a}) . _Default .+      _Coerce++-- | Select only creatives with these IDs.+cIds :: Lens' CreativesList [Int64]+cIds+  = lens _cIds (\ s a -> s{_cIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+cProFileId :: Lens' CreativesList Int64+cProFileId+  = lens _cProFileId (\ s a -> s{_cProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is ASCENDING.+cSortOrder :: Lens' CreativesList (Maybe CreativesListSortOrder)+cSortOrder+  = lens _cSortOrder (\ s a -> s{_cSortOrder = a})++-- | Select only active creatives. Leave blank to select active and inactive+-- creatives.+cActive :: Lens' CreativesList (Maybe Bool)+cActive = lens _cActive (\ s a -> s{_cActive = a})++-- | Select only creatives with these creative field IDs.+cCreativeFieldIds :: Lens' CreativesList [Int64]+cCreativeFieldIds+  = lens _cCreativeFieldIds+      (\ s a -> s{_cCreativeFieldIds = a})+      . _Default+      . _Coerce++-- | Value of the nextPageToken from the previous result page.+cPageToken :: Lens' CreativesList (Maybe Text)+cPageToken+  = lens _cPageToken (\ s a -> s{_cPageToken = a})++-- | Field by which to sort the list.+cSortField :: Lens' CreativesList (Maybe CreativesListSortField)+cSortField+  = lens _cSortField (\ s a -> s{_cSortField = a})++-- | Select only creatives corresponding to this Studio creative ID.+cStudioCreativeId :: Lens' CreativesList (Maybe Int64)+cStudioCreativeId+  = lens _cStudioCreativeId+      (\ s a -> s{_cStudioCreativeId = a})+      . mapping _Coerce++-- | Select only archived creatives. Leave blank to select archived and+-- unarchived creatives.+cArchived :: Lens' CreativesList (Maybe Bool)+cArchived+  = lens _cArchived (\ s a -> s{_cArchived = a})++-- | Maximum number of results to return.+cMaxResults :: Lens' CreativesList (Maybe Int32)+cMaxResults+  = lens _cMaxResults (\ s a -> s{_cMaxResults = a}) .+      mapping _Coerce++instance GoogleRequest CreativesList where+        type Rs CreativesList = CreativesListResponse+        requestClient CreativesList{..}+          = go _cProFileId (_cRenderingIds ^. _Default)+              _cAdvertiserId+              _cSearchString+              (_cSizeIds ^. _Default)+              (_cCompanionCreativeIds ^. _Default)+              _cCampaignId+              (_cTypes ^. _Default)+              (_cIds ^. _Default)+              _cSortOrder+              _cActive+              (_cCreativeFieldIds ^. _Default)+              _cPageToken+              _cSortField+              _cStudioCreativeId+              _cArchived+              _cMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CreativesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Creatives/Patch.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.Creatives.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creatives.patch@.+module Network.Google.Resource.DFAReporting.Creatives.Patch+    (+    -- * REST Resource+      CreativesPatchResource++    -- * Creating a Request+    , creativesPatch+    , CreativesPatch++    -- * Request Lenses+    , cppProFileId+    , cppPayload+    , cppId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creatives.patch@ method which the+-- 'CreativesPatch' request conforms to.+type CreativesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creatives" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Creative :> Patch '[JSON] Creative++-- | Updates an existing creative. This method supports patch semantics.+--+-- /See:/ 'creativesPatch' smart constructor.+data CreativesPatch = CreativesPatch+    { _cppProFileId :: !(Textual Int64)+    , _cppPayload   :: !Creative+    , _cppId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cppProFileId'+--+-- * 'cppPayload'+--+-- * 'cppId'+creativesPatch+    :: Int64 -- ^ 'cppProFileId'+    -> Creative -- ^ 'cppPayload'+    -> Int64 -- ^ 'cppId'+    -> CreativesPatch+creativesPatch pCppProFileId_ pCppPayload_ pCppId_ =+    CreativesPatch+    { _cppProFileId = _Coerce # pCppProFileId_+    , _cppPayload = pCppPayload_+    , _cppId = _Coerce # pCppId_+    }++-- | User profile ID associated with this request.+cppProFileId :: Lens' CreativesPatch Int64+cppProFileId+  = lens _cppProFileId (\ s a -> s{_cppProFileId = a})+      . _Coerce++-- | Multipart request metadata.+cppPayload :: Lens' CreativesPatch Creative+cppPayload+  = lens _cppPayload (\ s a -> s{_cppPayload = a})++-- | Creative ID.+cppId :: Lens' CreativesPatch Int64+cppId+  = lens _cppId (\ s a -> s{_cppId = a}) . _Coerce++instance GoogleRequest CreativesPatch where+        type Rs CreativesPatch = Creative+        requestClient CreativesPatch{..}+          = go _cppProFileId (Just _cppId) (Just AltJSON)+              _cppPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy CreativesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Creatives/Update.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.DFAReporting.Creatives.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing creative.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.creatives.update@.+module Network.Google.Resource.DFAReporting.Creatives.Update+    (+    -- * REST Resource+      CreativesUpdateResource++    -- * Creating a Request+    , creativesUpdate+    , CreativesUpdate++    -- * Request Lenses+    , creProFileId+    , crePayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.creatives.update@ method which the+-- 'CreativesUpdate' request conforms to.+type CreativesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "creatives" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Creative :> Put '[JSON] Creative++-- | Updates an existing creative.+--+-- /See:/ 'creativesUpdate' smart constructor.+data CreativesUpdate = CreativesUpdate+    { _creProFileId :: !(Textual Int64)+    , _crePayload   :: !Creative+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreativesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'creProFileId'+--+-- * 'crePayload'+creativesUpdate+    :: Int64 -- ^ 'creProFileId'+    -> Creative -- ^ 'crePayload'+    -> CreativesUpdate+creativesUpdate pCreProFileId_ pCrePayload_ =+    CreativesUpdate+    { _creProFileId = _Coerce # pCreProFileId_+    , _crePayload = pCrePayload_+    }++-- | User profile ID associated with this request.+creProFileId :: Lens' CreativesUpdate Int64+creProFileId+  = lens _creProFileId (\ s a -> s{_creProFileId = a})+      . _Coerce++-- | Multipart request metadata.+crePayload :: Lens' CreativesUpdate Creative+crePayload+  = lens _crePayload (\ s a -> s{_crePayload = a})++instance GoogleRequest CreativesUpdate where+        type Rs CreativesUpdate = Creative+        requestClient CreativesUpdate{..}+          = go _creProFileId (Just AltJSON) _crePayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy CreativesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DimensionValues/Query.hs view
@@ -0,0 +1,126 @@+{-# 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.DFAReporting.DimensionValues.Query+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves list of report dimension values for a list of filters.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.dimensionValues.query@.+module Network.Google.Resource.DFAReporting.DimensionValues.Query+    (+    -- * REST Resource+      DimensionValuesQueryResource++    -- * Creating a Request+    , dimensionValuesQuery+    , DimensionValuesQuery++    -- * Request Lenses+    , dvqProFileId+    , dvqPayload+    , dvqPageToken+    , dvqMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.dimensionValues.query@ method which the+-- 'DimensionValuesQuery' request conforms to.+type DimensionValuesQueryResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "dimensionvalues" :>+               "query" :>+                 QueryParam "pageToken" Text :>+                   QueryParam "maxResults" (Textual Int32) :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] DimensionValueRequest :>+                         Post '[JSON] DimensionValueList++-- | Retrieves list of report dimension values for a list of filters.+--+-- /See:/ 'dimensionValuesQuery' smart constructor.+data DimensionValuesQuery = DimensionValuesQuery+    { _dvqProFileId  :: !(Textual Int64)+    , _dvqPayload    :: !DimensionValueRequest+    , _dvqPageToken  :: !(Maybe Text)+    , _dvqMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionValuesQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvqProFileId'+--+-- * 'dvqPayload'+--+-- * 'dvqPageToken'+--+-- * 'dvqMaxResults'+dimensionValuesQuery+    :: Int64 -- ^ 'dvqProFileId'+    -> DimensionValueRequest -- ^ 'dvqPayload'+    -> DimensionValuesQuery+dimensionValuesQuery pDvqProFileId_ pDvqPayload_ =+    DimensionValuesQuery+    { _dvqProFileId = _Coerce # pDvqProFileId_+    , _dvqPayload = pDvqPayload_+    , _dvqPageToken = Nothing+    , _dvqMaxResults = Nothing+    }++-- | The DFA user profile ID.+dvqProFileId :: Lens' DimensionValuesQuery Int64+dvqProFileId+  = lens _dvqProFileId (\ s a -> s{_dvqProFileId = a})+      . _Coerce++-- | Multipart request metadata.+dvqPayload :: Lens' DimensionValuesQuery DimensionValueRequest+dvqPayload+  = lens _dvqPayload (\ s a -> s{_dvqPayload = a})++-- | The value of the nextToken from the previous result page.+dvqPageToken :: Lens' DimensionValuesQuery (Maybe Text)+dvqPageToken+  = lens _dvqPageToken (\ s a -> s{_dvqPageToken = a})++-- | Maximum number of results to return.+dvqMaxResults :: Lens' DimensionValuesQuery (Maybe Int32)+dvqMaxResults+  = lens _dvqMaxResults+      (\ s a -> s{_dvqMaxResults = a})+      . mapping _Coerce++instance GoogleRequest DimensionValuesQuery where+        type Rs DimensionValuesQuery = DimensionValueList+        requestClient DimensionValuesQuery{..}+          = go _dvqProFileId _dvqPageToken _dvqMaxResults+              (Just AltJSON)+              _dvqPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DimensionValuesQueryResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DirectorySiteContacts/Get.hs view
@@ -0,0 +1,101 @@+{-# 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.DFAReporting.DirectorySiteContacts.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)+--+-- Gets one directory site contact by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.directorySiteContacts.get@.+module Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get+    (+    -- * REST Resource+      DirectorySiteContactsGetResource++    -- * Creating a Request+    , directorySiteContactsGet+    , DirectorySiteContactsGet++    -- * Request Lenses+    , dscgProFileId+    , dscgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.directorySiteContacts.get@ method which the+-- 'DirectorySiteContactsGet' request conforms to.+type DirectorySiteContactsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "directorySiteContacts" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] DirectorySiteContact++-- | Gets one directory site contact by ID.+--+-- /See:/ 'directorySiteContactsGet' smart constructor.+data DirectorySiteContactsGet = DirectorySiteContactsGet+    { _dscgProFileId :: !(Textual Int64)+    , _dscgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteContactsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscgProFileId'+--+-- * 'dscgId'+directorySiteContactsGet+    :: Int64 -- ^ 'dscgProFileId'+    -> Int64 -- ^ 'dscgId'+    -> DirectorySiteContactsGet+directorySiteContactsGet pDscgProFileId_ pDscgId_ =+    DirectorySiteContactsGet+    { _dscgProFileId = _Coerce # pDscgProFileId_+    , _dscgId = _Coerce # pDscgId_+    }++-- | User profile ID associated with this request.+dscgProFileId :: Lens' DirectorySiteContactsGet Int64+dscgProFileId+  = lens _dscgProFileId+      (\ s a -> s{_dscgProFileId = a})+      . _Coerce++-- | Directory site contact ID.+dscgId :: Lens' DirectorySiteContactsGet Int64+dscgId+  = lens _dscgId (\ s a -> s{_dscgId = a}) . _Coerce++instance GoogleRequest DirectorySiteContactsGet where+        type Rs DirectorySiteContactsGet =+             DirectorySiteContact+        requestClient DirectorySiteContactsGet{..}+          = go _dscgProFileId _dscgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DirectorySiteContactsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DirectorySiteContacts/List.hs view
@@ -0,0 +1,197 @@+{-# 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.DFAReporting.DirectorySiteContacts.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)+--+-- Retrieves a list of directory site contacts, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.directorySiteContacts.list@.+module Network.Google.Resource.DFAReporting.DirectorySiteContacts.List+    (+    -- * REST Resource+      DirectorySiteContactsListResource++    -- * Creating a Request+    , directorySiteContactsList+    , DirectorySiteContactsList++    -- * Request Lenses+    , dsclSearchString+    , dsclIds+    , dsclProFileId+    , dsclDirectorySiteIds+    , dsclSortOrder+    , dsclPageToken+    , dsclSortField+    , dsclMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.directorySiteContacts.list@ method which the+-- 'DirectorySiteContactsList' request conforms to.+type DirectorySiteContactsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "directorySiteContacts" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParams "directorySiteIds" (Textual Int64) :>+                     QueryParam "sortOrder"+                       DirectorySiteContactsListSortOrder+                       :>+                       QueryParam "pageToken" Text :>+                         QueryParam "sortField"+                           DirectorySiteContactsListSortField+                           :>+                           QueryParam "maxResults" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] DirectorySiteContactsListResponse++-- | Retrieves a list of directory site contacts, possibly filtered.+--+-- /See:/ 'directorySiteContactsList' smart constructor.+data DirectorySiteContactsList = DirectorySiteContactsList+    { _dsclSearchString     :: !(Maybe Text)+    , _dsclIds              :: !(Maybe [Textual Int64])+    , _dsclProFileId        :: !(Textual Int64)+    , _dsclDirectorySiteIds :: !(Maybe [Textual Int64])+    , _dsclSortOrder        :: !(Maybe DirectorySiteContactsListSortOrder)+    , _dsclPageToken        :: !(Maybe Text)+    , _dsclSortField        :: !(Maybe DirectorySiteContactsListSortField)+    , _dsclMaxResults       :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySiteContactsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsclSearchString'+--+-- * 'dsclIds'+--+-- * 'dsclProFileId'+--+-- * 'dsclDirectorySiteIds'+--+-- * 'dsclSortOrder'+--+-- * 'dsclPageToken'+--+-- * 'dsclSortField'+--+-- * 'dsclMaxResults'+directorySiteContactsList+    :: Int64 -- ^ 'dsclProFileId'+    -> DirectorySiteContactsList+directorySiteContactsList pDsclProFileId_ =+    DirectorySiteContactsList+    { _dsclSearchString = Nothing+    , _dsclIds = Nothing+    , _dsclProFileId = _Coerce # pDsclProFileId_+    , _dsclDirectorySiteIds = Nothing+    , _dsclSortOrder = Nothing+    , _dsclPageToken = Nothing+    , _dsclSortField = Nothing+    , _dsclMaxResults = Nothing+    }++-- | Allows searching for objects by name, ID or email. Wildcards (*) are+-- allowed. For example, \"directory site contact*2015\" will return+-- objects with names like \"directory site contact June 2015\",+-- \"directory site contact April 2015\", or simply \"directory site+-- contact 2015\". Most of the searches also add wildcards implicitly at+-- the start and the end of the search string. For example, a search string+-- of \"directory site contact\" will match objects with name \"my+-- directory site contact\", \"directory site contact 2015\", or simply+-- \"directory site contact\".+dsclSearchString :: Lens' DirectorySiteContactsList (Maybe Text)+dsclSearchString+  = lens _dsclSearchString+      (\ s a -> s{_dsclSearchString = a})++-- | Select only directory site contacts with these IDs.+dsclIds :: Lens' DirectorySiteContactsList [Int64]+dsclIds+  = lens _dsclIds (\ s a -> s{_dsclIds = a}) . _Default+      . _Coerce++-- | User profile ID associated with this request.+dsclProFileId :: Lens' DirectorySiteContactsList Int64+dsclProFileId+  = lens _dsclProFileId+      (\ s a -> s{_dsclProFileId = a})+      . _Coerce++-- | Select only directory site contacts with these directory site IDs. This+-- is a required field.+dsclDirectorySiteIds :: Lens' DirectorySiteContactsList [Int64]+dsclDirectorySiteIds+  = lens _dsclDirectorySiteIds+      (\ s a -> s{_dsclDirectorySiteIds = a})+      . _Default+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+dsclSortOrder :: Lens' DirectorySiteContactsList (Maybe DirectorySiteContactsListSortOrder)+dsclSortOrder+  = lens _dsclSortOrder+      (\ s a -> s{_dsclSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+dsclPageToken :: Lens' DirectorySiteContactsList (Maybe Text)+dsclPageToken+  = lens _dsclPageToken+      (\ s a -> s{_dsclPageToken = a})++-- | Field by which to sort the list.+dsclSortField :: Lens' DirectorySiteContactsList (Maybe DirectorySiteContactsListSortField)+dsclSortField+  = lens _dsclSortField+      (\ s a -> s{_dsclSortField = a})++-- | Maximum number of results to return.+dsclMaxResults :: Lens' DirectorySiteContactsList (Maybe Int32)+dsclMaxResults+  = lens _dsclMaxResults+      (\ s a -> s{_dsclMaxResults = a})+      . mapping _Coerce++instance GoogleRequest DirectorySiteContactsList+         where+        type Rs DirectorySiteContactsList =+             DirectorySiteContactsListResponse+        requestClient DirectorySiteContactsList{..}+          = go _dsclProFileId _dsclSearchString+              (_dsclIds ^. _Default)+              (_dsclDirectorySiteIds ^. _Default)+              _dsclSortOrder+              _dsclPageToken+              _dsclSortField+              _dsclMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DirectorySiteContactsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DirectorySites/Get.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.DFAReporting.DirectorySites.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)+--+-- Gets one directory site by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.directorySites.get@.+module Network.Google.Resource.DFAReporting.DirectorySites.Get+    (+    -- * REST Resource+      DirectorySitesGetResource++    -- * Creating a Request+    , directorySitesGet+    , DirectorySitesGet++    -- * Request Lenses+    , dsgProFileId+    , dsgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.directorySites.get@ method which the+-- 'DirectorySitesGet' request conforms to.+type DirectorySitesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "directorySites" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] DirectorySite++-- | Gets one directory site by ID.+--+-- /See:/ 'directorySitesGet' smart constructor.+data DirectorySitesGet = DirectorySitesGet+    { _dsgProFileId :: !(Textual Int64)+    , _dsgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySitesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsgProFileId'+--+-- * 'dsgId'+directorySitesGet+    :: Int64 -- ^ 'dsgProFileId'+    -> Int64 -- ^ 'dsgId'+    -> DirectorySitesGet+directorySitesGet pDsgProFileId_ pDsgId_ =+    DirectorySitesGet+    { _dsgProFileId = _Coerce # pDsgProFileId_+    , _dsgId = _Coerce # pDsgId_+    }++-- | User profile ID associated with this request.+dsgProFileId :: Lens' DirectorySitesGet Int64+dsgProFileId+  = lens _dsgProFileId (\ s a -> s{_dsgProFileId = a})+      . _Coerce++-- | Directory site ID.+dsgId :: Lens' DirectorySitesGet Int64+dsgId+  = lens _dsgId (\ s a -> s{_dsgId = a}) . _Coerce++instance GoogleRequest DirectorySitesGet where+        type Rs DirectorySitesGet = DirectorySite+        requestClient DirectorySitesGet{..}+          = go _dsgProFileId _dsgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DirectorySitesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DirectorySites/Insert.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.DFAReporting.DirectorySites.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new directory site.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.directorySites.insert@.+module Network.Google.Resource.DFAReporting.DirectorySites.Insert+    (+    -- * REST Resource+      DirectorySitesInsertResource++    -- * Creating a Request+    , directorySitesInsert+    , DirectorySitesInsert++    -- * Request Lenses+    , dsiProFileId+    , dsiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.directorySites.insert@ method which the+-- 'DirectorySitesInsert' request conforms to.+type DirectorySitesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "directorySites" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] DirectorySite :>+                   Post '[JSON] DirectorySite++-- | Inserts a new directory site.+--+-- /See:/ 'directorySitesInsert' smart constructor.+data DirectorySitesInsert = DirectorySitesInsert+    { _dsiProFileId :: !(Textual Int64)+    , _dsiPayload   :: !DirectorySite+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySitesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiProFileId'+--+-- * 'dsiPayload'+directorySitesInsert+    :: Int64 -- ^ 'dsiProFileId'+    -> DirectorySite -- ^ 'dsiPayload'+    -> DirectorySitesInsert+directorySitesInsert pDsiProFileId_ pDsiPayload_ =+    DirectorySitesInsert+    { _dsiProFileId = _Coerce # pDsiProFileId_+    , _dsiPayload = pDsiPayload_+    }++-- | User profile ID associated with this request.+dsiProFileId :: Lens' DirectorySitesInsert Int64+dsiProFileId+  = lens _dsiProFileId (\ s a -> s{_dsiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+dsiPayload :: Lens' DirectorySitesInsert DirectorySite+dsiPayload+  = lens _dsiPayload (\ s a -> s{_dsiPayload = a})++instance GoogleRequest DirectorySitesInsert where+        type Rs DirectorySitesInsert = DirectorySite+        requestClient DirectorySitesInsert{..}+          = go _dsiProFileId (Just AltJSON) _dsiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DirectorySitesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/DirectorySites/List.hs view
@@ -0,0 +1,270 @@+{-# 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.DFAReporting.DirectorySites.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)+--+-- Retrieves a list of directory sites, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.directorySites.list@.+module Network.Google.Resource.DFAReporting.DirectorySites.List+    (+    -- * REST Resource+      DirectorySitesListResource++    -- * Creating a Request+    , directorySitesList+    , DirectorySitesList++    -- * Request Lenses+    , dslSearchString+    , dslAcceptsInterstitialPlacements+    , dslAcceptsPublisherPaidPlacements+    , dslIds+    , dslProFileId+    , dslSortOrder+    , dslActive+    , dslCountryId+    , dslPageToken+    , dslSortField+    , dslAcceptsInStreamVideoPlacements+    , dslMaxResults+    , dslParentId+    , dslDfpNetworkCode+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.directorySites.list@ method which the+-- 'DirectorySitesList' request conforms to.+type DirectorySitesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "directorySites" :>+               QueryParam "searchString" Text :>+                 QueryParam "acceptsInterstitialPlacements" Bool :>+                   QueryParam "acceptsPublisherPaidPlacements" Bool :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "sortOrder" DirectorySitesListSortOrder :>+                         QueryParam "active" Bool :>+                           QueryParam "countryId" (Textual Int64) :>+                             QueryParam "pageToken" Text :>+                               QueryParam "sortField"+                                 DirectorySitesListSortField+                                 :>+                                 QueryParam "acceptsInStreamVideoPlacements"+                                   Bool+                                   :>+                                   QueryParam "maxResults" (Textual Int32) :>+                                     QueryParam "parentId" (Textual Int64) :>+                                       QueryParam "dfp_network_code" Text :>+                                         QueryParam "alt" AltJSON :>+                                           Get '[JSON]+                                             DirectorySitesListResponse++-- | Retrieves a list of directory sites, possibly filtered.+--+-- /See:/ 'directorySitesList' smart constructor.+data DirectorySitesList = DirectorySitesList+    { _dslSearchString                   :: !(Maybe Text)+    , _dslAcceptsInterstitialPlacements  :: !(Maybe Bool)+    , _dslAcceptsPublisherPaidPlacements :: !(Maybe Bool)+    , _dslIds                            :: !(Maybe [Textual Int64])+    , _dslProFileId                      :: !(Textual Int64)+    , _dslSortOrder                      :: !(Maybe DirectorySitesListSortOrder)+    , _dslActive                         :: !(Maybe Bool)+    , _dslCountryId                      :: !(Maybe (Textual Int64))+    , _dslPageToken                      :: !(Maybe Text)+    , _dslSortField                      :: !(Maybe DirectorySitesListSortField)+    , _dslAcceptsInStreamVideoPlacements :: !(Maybe Bool)+    , _dslMaxResults                     :: !(Maybe (Textual Int32))+    , _dslParentId                       :: !(Maybe (Textual Int64))+    , _dslDfpNetworkCode                 :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectorySitesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslSearchString'+--+-- * 'dslAcceptsInterstitialPlacements'+--+-- * 'dslAcceptsPublisherPaidPlacements'+--+-- * 'dslIds'+--+-- * 'dslProFileId'+--+-- * 'dslSortOrder'+--+-- * 'dslActive'+--+-- * 'dslCountryId'+--+-- * 'dslPageToken'+--+-- * 'dslSortField'+--+-- * 'dslAcceptsInStreamVideoPlacements'+--+-- * 'dslMaxResults'+--+-- * 'dslParentId'+--+-- * 'dslDfpNetworkCode'+directorySitesList+    :: Int64 -- ^ 'dslProFileId'+    -> DirectorySitesList+directorySitesList pDslProFileId_ =+    DirectorySitesList+    { _dslSearchString = Nothing+    , _dslAcceptsInterstitialPlacements = Nothing+    , _dslAcceptsPublisherPaidPlacements = Nothing+    , _dslIds = Nothing+    , _dslProFileId = _Coerce # pDslProFileId_+    , _dslSortOrder = Nothing+    , _dslActive = Nothing+    , _dslCountryId = Nothing+    , _dslPageToken = Nothing+    , _dslSortField = Nothing+    , _dslAcceptsInStreamVideoPlacements = Nothing+    , _dslMaxResults = Nothing+    , _dslParentId = Nothing+    , _dslDfpNetworkCode = Nothing+    }++-- | Allows searching for objects by name, ID or URL. Wildcards (*) are+-- allowed. For example, \"directory site*2015\" will return objects with+-- names like \"directory site June 2015\", \"directory site April 2015\",+-- or simply \"directory site 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"directory site\" will match objects with+-- name \"my directory site\", \"directory site 2015\" or simply,+-- \"directory site\".+dslSearchString :: Lens' DirectorySitesList (Maybe Text)+dslSearchString+  = lens _dslSearchString+      (\ s a -> s{_dslSearchString = a})++-- | This search filter is no longer supported and will have no effect on the+-- results returned.+dslAcceptsInterstitialPlacements :: Lens' DirectorySitesList (Maybe Bool)+dslAcceptsInterstitialPlacements+  = lens _dslAcceptsInterstitialPlacements+      (\ s a -> s{_dslAcceptsInterstitialPlacements = a})++-- | Select only directory sites that accept publisher paid placements. This+-- field can be left blank.+dslAcceptsPublisherPaidPlacements :: Lens' DirectorySitesList (Maybe Bool)+dslAcceptsPublisherPaidPlacements+  = lens _dslAcceptsPublisherPaidPlacements+      (\ s a -> s{_dslAcceptsPublisherPaidPlacements = a})++-- | Select only directory sites with these IDs.+dslIds :: Lens' DirectorySitesList [Int64]+dslIds+  = lens _dslIds (\ s a -> s{_dslIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+dslProFileId :: Lens' DirectorySitesList Int64+dslProFileId+  = lens _dslProFileId (\ s a -> s{_dslProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+dslSortOrder :: Lens' DirectorySitesList (Maybe DirectorySitesListSortOrder)+dslSortOrder+  = lens _dslSortOrder (\ s a -> s{_dslSortOrder = a})++-- | Select only active directory sites. Leave blank to retrieve both active+-- and inactive directory sites.+dslActive :: Lens' DirectorySitesList (Maybe Bool)+dslActive+  = lens _dslActive (\ s a -> s{_dslActive = a})++-- | Select only directory sites with this country ID.+dslCountryId :: Lens' DirectorySitesList (Maybe Int64)+dslCountryId+  = lens _dslCountryId (\ s a -> s{_dslCountryId = a})+      . mapping _Coerce++-- | Value of the nextPageToken from the previous result page.+dslPageToken :: Lens' DirectorySitesList (Maybe Text)+dslPageToken+  = lens _dslPageToken (\ s a -> s{_dslPageToken = a})++-- | Field by which to sort the list.+dslSortField :: Lens' DirectorySitesList (Maybe DirectorySitesListSortField)+dslSortField+  = lens _dslSortField (\ s a -> s{_dslSortField = a})++-- | This search filter is no longer supported and will have no effect on the+-- results returned.+dslAcceptsInStreamVideoPlacements :: Lens' DirectorySitesList (Maybe Bool)+dslAcceptsInStreamVideoPlacements+  = lens _dslAcceptsInStreamVideoPlacements+      (\ s a -> s{_dslAcceptsInStreamVideoPlacements = a})++-- | Maximum number of results to return.+dslMaxResults :: Lens' DirectorySitesList (Maybe Int32)+dslMaxResults+  = lens _dslMaxResults+      (\ s a -> s{_dslMaxResults = a})+      . mapping _Coerce++-- | Select only directory sites with this parent ID.+dslParentId :: Lens' DirectorySitesList (Maybe Int64)+dslParentId+  = lens _dslParentId (\ s a -> s{_dslParentId = a}) .+      mapping _Coerce++-- | Select only directory sites with this DFP network code.+dslDfpNetworkCode :: Lens' DirectorySitesList (Maybe Text)+dslDfpNetworkCode+  = lens _dslDfpNetworkCode+      (\ s a -> s{_dslDfpNetworkCode = a})++instance GoogleRequest DirectorySitesList where+        type Rs DirectorySitesList =+             DirectorySitesListResponse+        requestClient DirectorySitesList{..}+          = go _dslProFileId _dslSearchString+              _dslAcceptsInterstitialPlacements+              _dslAcceptsPublisherPaidPlacements+              (_dslIds ^. _Default)+              _dslSortOrder+              _dslActive+              _dslCountryId+              _dslPageToken+              _dslSortField+              _dslAcceptsInStreamVideoPlacements+              _dslMaxResults+              _dslParentId+              _dslDfpNetworkCode+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy DirectorySitesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/Delete.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.DFAReporting.EventTags.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing event tag.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.delete@.+module Network.Google.Resource.DFAReporting.EventTags.Delete+    (+    -- * REST Resource+      EventTagsDeleteResource++    -- * Creating a Request+    , eventTagsDelete+    , EventTagsDelete++    -- * Request Lenses+    , etdProFileId+    , etdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.delete@ method which the+-- 'EventTagsDelete' request conforms to.+type EventTagsDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing event tag.+--+-- /See:/ 'eventTagsDelete' smart constructor.+data EventTagsDelete = EventTagsDelete+    { _etdProFileId :: !(Textual Int64)+    , _etdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etdProFileId'+--+-- * 'etdId'+eventTagsDelete+    :: Int64 -- ^ 'etdProFileId'+    -> Int64 -- ^ 'etdId'+    -> EventTagsDelete+eventTagsDelete pEtdProFileId_ pEtdId_ =+    EventTagsDelete+    { _etdProFileId = _Coerce # pEtdProFileId_+    , _etdId = _Coerce # pEtdId_+    }++-- | User profile ID associated with this request.+etdProFileId :: Lens' EventTagsDelete Int64+etdProFileId+  = lens _etdProFileId (\ s a -> s{_etdProFileId = a})+      . _Coerce++-- | Event tag ID.+etdId :: Lens' EventTagsDelete Int64+etdId+  = lens _etdId (\ s a -> s{_etdId = a}) . _Coerce++instance GoogleRequest EventTagsDelete where+        type Rs EventTagsDelete = ()+        requestClient EventTagsDelete{..}+          = go _etdProFileId _etdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy EventTagsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/Get.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.DFAReporting.EventTags.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)+--+-- Gets one event tag by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.get@.+module Network.Google.Resource.DFAReporting.EventTags.Get+    (+    -- * REST Resource+      EventTagsGetResource++    -- * Creating a Request+    , eventTagsGet+    , EventTagsGet++    -- * Request Lenses+    , etgProFileId+    , etgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.get@ method which the+-- 'EventTagsGet' request conforms to.+type EventTagsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] EventTag++-- | Gets one event tag by ID.+--+-- /See:/ 'eventTagsGet' smart constructor.+data EventTagsGet = EventTagsGet+    { _etgProFileId :: !(Textual Int64)+    , _etgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etgProFileId'+--+-- * 'etgId'+eventTagsGet+    :: Int64 -- ^ 'etgProFileId'+    -> Int64 -- ^ 'etgId'+    -> EventTagsGet+eventTagsGet pEtgProFileId_ pEtgId_ =+    EventTagsGet+    { _etgProFileId = _Coerce # pEtgProFileId_+    , _etgId = _Coerce # pEtgId_+    }++-- | User profile ID associated with this request.+etgProFileId :: Lens' EventTagsGet Int64+etgProFileId+  = lens _etgProFileId (\ s a -> s{_etgProFileId = a})+      . _Coerce++-- | Event tag ID.+etgId :: Lens' EventTagsGet Int64+etgId+  = lens _etgId (\ s a -> s{_etgId = a}) . _Coerce++instance GoogleRequest EventTagsGet where+        type Rs EventTagsGet = EventTag+        requestClient EventTagsGet{..}+          = go _etgProFileId _etgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy EventTagsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/Insert.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.DFAReporting.EventTags.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new event tag.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.insert@.+module Network.Google.Resource.DFAReporting.EventTags.Insert+    (+    -- * REST Resource+      EventTagsInsertResource++    -- * Creating a Request+    , eventTagsInsert+    , EventTagsInsert++    -- * Request Lenses+    , etiProFileId+    , etiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.insert@ method which the+-- 'EventTagsInsert' request conforms to.+type EventTagsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] EventTag :> Post '[JSON] EventTag++-- | Inserts a new event tag.+--+-- /See:/ 'eventTagsInsert' smart constructor.+data EventTagsInsert = EventTagsInsert+    { _etiProFileId :: !(Textual Int64)+    , _etiPayload   :: !EventTag+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etiProFileId'+--+-- * 'etiPayload'+eventTagsInsert+    :: Int64 -- ^ 'etiProFileId'+    -> EventTag -- ^ 'etiPayload'+    -> EventTagsInsert+eventTagsInsert pEtiProFileId_ pEtiPayload_ =+    EventTagsInsert+    { _etiProFileId = _Coerce # pEtiProFileId_+    , _etiPayload = pEtiPayload_+    }++-- | User profile ID associated with this request.+etiProFileId :: Lens' EventTagsInsert Int64+etiProFileId+  = lens _etiProFileId (\ s a -> s{_etiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+etiPayload :: Lens' EventTagsInsert EventTag+etiPayload+  = lens _etiPayload (\ s a -> s{_etiPayload = a})++instance GoogleRequest EventTagsInsert where+        type Rs EventTagsInsert = EventTag+        requestClient EventTagsInsert{..}+          = go _etiProFileId (Just AltJSON) _etiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy EventTagsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/List.hs view
@@ -0,0 +1,240 @@+{-# 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.DFAReporting.EventTags.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)+--+-- Retrieves a list of event tags, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.list@.+module Network.Google.Resource.DFAReporting.EventTags.List+    (+    -- * REST Resource+      EventTagsListResource++    -- * Creating a Request+    , eventTagsList+    , EventTagsList++    -- * Request Lenses+    , etlDefinitionsOnly+    , etlEventTagTypes+    , etlEnabled+    , etlAdvertiserId+    , etlSearchString+    , etlCampaignId+    , etlIds+    , etlProFileId+    , etlSortOrder+    , etlAdId+    , etlSortField+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.list@ method which the+-- 'EventTagsList' request conforms to.+type EventTagsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               QueryParam "definitionsOnly" Bool :>+                 QueryParams "eventTagTypes"+                   EventTagsListEventTagTypes+                   :>+                   QueryParam "enabled" Bool :>+                     QueryParam "advertiserId" (Textual Int64) :>+                       QueryParam "searchString" Text :>+                         QueryParam "campaignId" (Textual Int64) :>+                           QueryParams "ids" (Textual Int64) :>+                             QueryParam "sortOrder" EventTagsListSortOrder :>+                               QueryParam "adId" (Textual Int64) :>+                                 QueryParam "sortField" EventTagsListSortField+                                   :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] EventTagsListResponse++-- | Retrieves a list of event tags, possibly filtered.+--+-- /See:/ 'eventTagsList' smart constructor.+data EventTagsList = EventTagsList+    { _etlDefinitionsOnly :: !(Maybe Bool)+    , _etlEventTagTypes   :: !(Maybe [EventTagsListEventTagTypes])+    , _etlEnabled         :: !(Maybe Bool)+    , _etlAdvertiserId    :: !(Maybe (Textual Int64))+    , _etlSearchString    :: !(Maybe Text)+    , _etlCampaignId      :: !(Maybe (Textual Int64))+    , _etlIds             :: !(Maybe [Textual Int64])+    , _etlProFileId       :: !(Textual Int64)+    , _etlSortOrder       :: !(Maybe EventTagsListSortOrder)+    , _etlAdId            :: !(Maybe (Textual Int64))+    , _etlSortField       :: !(Maybe EventTagsListSortField)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etlDefinitionsOnly'+--+-- * 'etlEventTagTypes'+--+-- * 'etlEnabled'+--+-- * 'etlAdvertiserId'+--+-- * 'etlSearchString'+--+-- * 'etlCampaignId'+--+-- * 'etlIds'+--+-- * 'etlProFileId'+--+-- * 'etlSortOrder'+--+-- * 'etlAdId'+--+-- * 'etlSortField'+eventTagsList+    :: Int64 -- ^ 'etlProFileId'+    -> EventTagsList+eventTagsList pEtlProFileId_ =+    EventTagsList+    { _etlDefinitionsOnly = Nothing+    , _etlEventTagTypes = Nothing+    , _etlEnabled = Nothing+    , _etlAdvertiserId = Nothing+    , _etlSearchString = Nothing+    , _etlCampaignId = Nothing+    , _etlIds = Nothing+    , _etlProFileId = _Coerce # pEtlProFileId_+    , _etlSortOrder = Nothing+    , _etlAdId = Nothing+    , _etlSortField = Nothing+    }++-- | Examine only the specified campaign or advertiser\'s event tags for+-- matching selector criteria. When set to false, the parent advertiser and+-- parent campaign of the specified ad or campaign is examined as well. In+-- addition, when set to false, the status field is examined as well, along+-- with the enabledByDefault field. This parameter can not be set to true+-- when adId is specified as ads do not define their own even tags.+etlDefinitionsOnly :: Lens' EventTagsList (Maybe Bool)+etlDefinitionsOnly+  = lens _etlDefinitionsOnly+      (\ s a -> s{_etlDefinitionsOnly = a})++-- | Select only event tags with the specified event tag types. Event tag+-- types can be used to specify whether to use a third-party pixel, a+-- third-party JavaScript URL, or a third-party click-through URL for+-- either impression or click tracking.+etlEventTagTypes :: Lens' EventTagsList [EventTagsListEventTagTypes]+etlEventTagTypes+  = lens _etlEventTagTypes+      (\ s a -> s{_etlEventTagTypes = a})+      . _Default+      . _Coerce++-- | Select only enabled event tags. What is considered enabled or disabled+-- depends on the definitionsOnly parameter. When definitionsOnly is set to+-- true, only the specified advertiser or campaign\'s event tags\'+-- enabledByDefault field is examined. When definitionsOnly is set to+-- false, the specified ad or specified campaign\'s parent advertiser\'s or+-- parent campaign\'s event tags\' enabledByDefault and status fields are+-- examined as well.+etlEnabled :: Lens' EventTagsList (Maybe Bool)+etlEnabled+  = lens _etlEnabled (\ s a -> s{_etlEnabled = a})++-- | Select only event tags that belong to this advertiser.+etlAdvertiserId :: Lens' EventTagsList (Maybe Int64)+etlAdvertiserId+  = lens _etlAdvertiserId+      (\ s a -> s{_etlAdvertiserId = a})+      . mapping _Coerce++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"eventtag*2015\" will return objects with names like+-- \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"eventtag\" will match objects with name \"my eventtag\", \"eventtag+-- 2015\", or simply \"eventtag\".+etlSearchString :: Lens' EventTagsList (Maybe Text)+etlSearchString+  = lens _etlSearchString+      (\ s a -> s{_etlSearchString = a})++-- | Select only event tags that belong to this campaign.+etlCampaignId :: Lens' EventTagsList (Maybe Int64)+etlCampaignId+  = lens _etlCampaignId+      (\ s a -> s{_etlCampaignId = a})+      . mapping _Coerce++-- | Select only event tags with these IDs.+etlIds :: Lens' EventTagsList [Int64]+etlIds+  = lens _etlIds (\ s a -> s{_etlIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+etlProFileId :: Lens' EventTagsList Int64+etlProFileId+  = lens _etlProFileId (\ s a -> s{_etlProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+etlSortOrder :: Lens' EventTagsList (Maybe EventTagsListSortOrder)+etlSortOrder+  = lens _etlSortOrder (\ s a -> s{_etlSortOrder = a})++-- | Select only event tags that belong to this ad.+etlAdId :: Lens' EventTagsList (Maybe Int64)+etlAdId+  = lens _etlAdId (\ s a -> s{_etlAdId = a}) .+      mapping _Coerce++-- | Field by which to sort the list.+etlSortField :: Lens' EventTagsList (Maybe EventTagsListSortField)+etlSortField+  = lens _etlSortField (\ s a -> s{_etlSortField = a})++instance GoogleRequest EventTagsList where+        type Rs EventTagsList = EventTagsListResponse+        requestClient EventTagsList{..}+          = go _etlProFileId _etlDefinitionsOnly+              (_etlEventTagTypes ^. _Default)+              _etlEnabled+              _etlAdvertiserId+              _etlSearchString+              _etlCampaignId+              (_etlIds ^. _Default)+              _etlSortOrder+              _etlAdId+              _etlSortField+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy EventTagsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/Patch.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.EventTags.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing event tag. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.patch@.+module Network.Google.Resource.DFAReporting.EventTags.Patch+    (+    -- * REST Resource+      EventTagsPatchResource++    -- * Creating a Request+    , eventTagsPatch+    , EventTagsPatch++    -- * Request Lenses+    , etpProFileId+    , etpPayload+    , etpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.patch@ method which the+-- 'EventTagsPatch' request conforms to.+type EventTagsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] EventTag :> Patch '[JSON] EventTag++-- | Updates an existing event tag. This method supports patch semantics.+--+-- /See:/ 'eventTagsPatch' smart constructor.+data EventTagsPatch = EventTagsPatch+    { _etpProFileId :: !(Textual Int64)+    , _etpPayload   :: !EventTag+    , _etpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etpProFileId'+--+-- * 'etpPayload'+--+-- * 'etpId'+eventTagsPatch+    :: Int64 -- ^ 'etpProFileId'+    -> EventTag -- ^ 'etpPayload'+    -> Int64 -- ^ 'etpId'+    -> EventTagsPatch+eventTagsPatch pEtpProFileId_ pEtpPayload_ pEtpId_ =+    EventTagsPatch+    { _etpProFileId = _Coerce # pEtpProFileId_+    , _etpPayload = pEtpPayload_+    , _etpId = _Coerce # pEtpId_+    }++-- | User profile ID associated with this request.+etpProFileId :: Lens' EventTagsPatch Int64+etpProFileId+  = lens _etpProFileId (\ s a -> s{_etpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+etpPayload :: Lens' EventTagsPatch EventTag+etpPayload+  = lens _etpPayload (\ s a -> s{_etpPayload = a})++-- | Event tag ID.+etpId :: Lens' EventTagsPatch Int64+etpId+  = lens _etpId (\ s a -> s{_etpId = a}) . _Coerce++instance GoogleRequest EventTagsPatch where+        type Rs EventTagsPatch = EventTag+        requestClient EventTagsPatch{..}+          = go _etpProFileId (Just _etpId) (Just AltJSON)+              _etpPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy EventTagsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/EventTags/Update.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.DFAReporting.EventTags.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing event tag.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.eventTags.update@.+module Network.Google.Resource.DFAReporting.EventTags.Update+    (+    -- * REST Resource+      EventTagsUpdateResource++    -- * Creating a Request+    , eventTagsUpdate+    , EventTagsUpdate++    -- * Request Lenses+    , etuProFileId+    , etuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.eventTags.update@ method which the+-- 'EventTagsUpdate' request conforms to.+type EventTagsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "eventTags" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] EventTag :> Put '[JSON] EventTag++-- | Updates an existing event tag.+--+-- /See:/ 'eventTagsUpdate' smart constructor.+data EventTagsUpdate = EventTagsUpdate+    { _etuProFileId :: !(Textual Int64)+    , _etuPayload   :: !EventTag+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTagsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etuProFileId'+--+-- * 'etuPayload'+eventTagsUpdate+    :: Int64 -- ^ 'etuProFileId'+    -> EventTag -- ^ 'etuPayload'+    -> EventTagsUpdate+eventTagsUpdate pEtuProFileId_ pEtuPayload_ =+    EventTagsUpdate+    { _etuProFileId = _Coerce # pEtuProFileId_+    , _etuPayload = pEtuPayload_+    }++-- | User profile ID associated with this request.+etuProFileId :: Lens' EventTagsUpdate Int64+etuProFileId+  = lens _etuProFileId (\ s a -> s{_etuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+etuPayload :: Lens' EventTagsUpdate EventTag+etuPayload+  = lens _etuPayload (\ s a -> s{_etuPayload = a})++instance GoogleRequest EventTagsUpdate where+        type Rs EventTagsUpdate = EventTag+        requestClient EventTagsUpdate{..}+          = go _etuProFileId (Just AltJSON) _etuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy EventTagsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Files/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.DFAReporting.Files.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a report file by its report ID and file ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.files.get@.+module Network.Google.Resource.DFAReporting.Files.Get+    (+    -- * REST Resource+      FilesGetResource++    -- * Creating a Request+    , filesGet+    , FilesGet++    -- * Request Lenses+    , fgReportId+    , fgFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.files.get@ method which the+-- 'FilesGet' request conforms to.+type FilesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "reports" :>+           Capture "reportId" (Textual Int64) :>+             "files" :>+               Capture "fileId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] File+       :<|>+       "dfareporting" :>+         "v2.2" :>+           "reports" :>+             Capture "reportId" (Textual Int64) :>+               "files" :>+                 Capture "fileId" (Textual Int64) :>+                   QueryParam "alt" AltMedia :>+                     Get '[OctetStream] Stream++-- | Retrieves a report file by its report ID and file ID.+--+-- /See:/ 'filesGet' smart constructor.+data FilesGet = FilesGet+    { _fgReportId :: !(Textual Int64)+    , _fgFileId   :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fgReportId'+--+-- * 'fgFileId'+filesGet+    :: Int64 -- ^ 'fgReportId'+    -> Int64 -- ^ 'fgFileId'+    -> FilesGet+filesGet pFgReportId_ pFgFileId_ =+    FilesGet+    { _fgReportId = _Coerce # pFgReportId_+    , _fgFileId = _Coerce # pFgFileId_+    }++-- | The ID of the report.+fgReportId :: Lens' FilesGet Int64+fgReportId+  = lens _fgReportId (\ s a -> s{_fgReportId = a}) .+      _Coerce++-- | The ID of the report file.+fgFileId :: Lens' FilesGet Int64+fgFileId+  = lens _fgFileId (\ s a -> s{_fgFileId = a}) .+      _Coerce++instance GoogleRequest FilesGet where+        type Rs FilesGet = File+        requestClient FilesGet{..}+          = go _fgReportId _fgFileId (Just AltJSON)+              dFAReportingService+          where go :<|> _+                  = buildClient (Proxy :: Proxy FilesGetResource)+                      mempty++instance GoogleRequest (MediaDownload FilesGet) where+        type Rs (MediaDownload FilesGet) = Stream+        requestClient (MediaDownload FilesGet{..})+          = go _fgReportId _fgFileId (Just AltMedia)+              dFAReportingService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy FilesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Files/List.hs view
@@ -0,0 +1,144 @@+{-# 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.DFAReporting.Files.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)+--+-- Lists files for a user profile.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.files.list@.+module Network.Google.Resource.DFAReporting.Files.List+    (+    -- * REST Resource+      FilesListResource++    -- * Creating a Request+    , filesList+    , FilesList++    -- * Request Lenses+    , flProFileId+    , flSortOrder+    , flScope+    , flPageToken+    , flSortField+    , flMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.files.list@ method which the+-- 'FilesList' request conforms to.+type FilesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "files" :>+               QueryParam "sortOrder" FilesListSortOrder :>+                 QueryParam "scope" FilesListScope :>+                   QueryParam "pageToken" Text :>+                     QueryParam "sortField" FilesListSortField :>+                       QueryParam "maxResults" (Textual Int32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] FileList++-- | Lists files for a user profile.+--+-- /See:/ 'filesList' smart constructor.+data FilesList = FilesList+    { _flProFileId  :: !(Textual Int64)+    , _flSortOrder  :: !FilesListSortOrder+    , _flScope      :: !FilesListScope+    , _flPageToken  :: !(Maybe Text)+    , _flSortField  :: !FilesListSortField+    , _flMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flProFileId'+--+-- * 'flSortOrder'+--+-- * 'flScope'+--+-- * 'flPageToken'+--+-- * 'flSortField'+--+-- * 'flMaxResults'+filesList+    :: Int64 -- ^ 'flProFileId'+    -> FilesList+filesList pFlProFileId_ =+    FilesList+    { _flProFileId = _Coerce # pFlProFileId_+    , _flSortOrder = FLSODescending+    , _flScope = FLSMine+    , _flPageToken = Nothing+    , _flSortField = FLSFLastModifiedTime+    , _flMaxResults = Nothing+    }++-- | The DFA profile ID.+flProFileId :: Lens' FilesList Int64+flProFileId+  = lens _flProFileId (\ s a -> s{_flProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is \'DESCENDING\'.+flSortOrder :: Lens' FilesList FilesListSortOrder+flSortOrder+  = lens _flSortOrder (\ s a -> s{_flSortOrder = a})++-- | The scope that defines which results are returned, default is \'MINE\'.+flScope :: Lens' FilesList FilesListScope+flScope = lens _flScope (\ s a -> s{_flScope = a})++-- | The value of the nextToken from the previous result page.+flPageToken :: Lens' FilesList (Maybe Text)+flPageToken+  = lens _flPageToken (\ s a -> s{_flPageToken = a})++-- | The field by which to sort the list.+flSortField :: Lens' FilesList FilesListSortField+flSortField+  = lens _flSortField (\ s a -> s{_flSortField = a})++-- | Maximum number of results to return.+flMaxResults :: Lens' FilesList (Maybe Int32)+flMaxResults+  = lens _flMaxResults (\ s a -> s{_flMaxResults = a})+      . mapping _Coerce++instance GoogleRequest FilesList where+        type Rs FilesList = FileList+        requestClient FilesList{..}+          = go _flProFileId (Just _flSortOrder) (Just _flScope)+              _flPageToken+              (Just _flSortField)+              _flMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy FilesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Delete.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.DFAReporting.FloodlightActivities.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing floodlight activity.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.delete@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Delete+    (+    -- * REST Resource+      FloodlightActivitiesDeleteResource++    -- * Creating a Request+    , floodlightActivitiesDelete+    , FloodlightActivitiesDelete++    -- * Request Lenses+    , fadProFileId+    , fadId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.delete@ method which the+-- 'FloodlightActivitiesDelete' request conforms to.+type FloodlightActivitiesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing floodlight activity.+--+-- /See:/ 'floodlightActivitiesDelete' smart constructor.+data FloodlightActivitiesDelete = FloodlightActivitiesDelete+    { _fadProFileId :: !(Textual Int64)+    , _fadId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fadProFileId'+--+-- * 'fadId'+floodlightActivitiesDelete+    :: Int64 -- ^ 'fadProFileId'+    -> Int64 -- ^ 'fadId'+    -> FloodlightActivitiesDelete+floodlightActivitiesDelete pFadProFileId_ pFadId_ =+    FloodlightActivitiesDelete+    { _fadProFileId = _Coerce # pFadProFileId_+    , _fadId = _Coerce # pFadId_+    }++-- | User profile ID associated with this request.+fadProFileId :: Lens' FloodlightActivitiesDelete Int64+fadProFileId+  = lens _fadProFileId (\ s a -> s{_fadProFileId = a})+      . _Coerce++-- | Floodlight activity ID.+fadId :: Lens' FloodlightActivitiesDelete Int64+fadId+  = lens _fadId (\ s a -> s{_fadId = a}) . _Coerce++instance GoogleRequest FloodlightActivitiesDelete+         where+        type Rs FloodlightActivitiesDelete = ()+        requestClient FloodlightActivitiesDelete{..}+          = go _fadProFileId _fadId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Generatetag.hs view
@@ -0,0 +1,105 @@+{-# 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.DFAReporting.FloodlightActivities.Generatetag+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a tag for a floodlight activity.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.generatetag@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag+    (+    -- * REST Resource+      FloodlightActivitiesGeneratetagResource++    -- * Creating a Request+    , floodlightActivitiesGeneratetag+    , FloodlightActivitiesGeneratetag++    -- * Request Lenses+    , fagFloodlightActivityId+    , fagProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.generatetag@ method which the+-- 'FloodlightActivitiesGeneratetag' request conforms to.+type FloodlightActivitiesGeneratetagResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               "generatetag" :>+                 QueryParam "floodlightActivityId" (Textual Int64) :>+                   QueryParam "alt" AltJSON :>+                     Post '[JSON] FloodlightActivitiesGenerateTagResponse++-- | Generates a tag for a floodlight activity.+--+-- /See:/ 'floodlightActivitiesGeneratetag' smart constructor.+data FloodlightActivitiesGeneratetag = FloodlightActivitiesGeneratetag+    { _fagFloodlightActivityId :: !(Maybe (Textual Int64))+    , _fagProFileId            :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesGeneratetag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagFloodlightActivityId'+--+-- * 'fagProFileId'+floodlightActivitiesGeneratetag+    :: Int64 -- ^ 'fagProFileId'+    -> FloodlightActivitiesGeneratetag+floodlightActivitiesGeneratetag pFagProFileId_ =+    FloodlightActivitiesGeneratetag+    { _fagFloodlightActivityId = Nothing+    , _fagProFileId = _Coerce # pFagProFileId_+    }++-- | Floodlight activity ID for which we want to generate a tag.+fagFloodlightActivityId :: Lens' FloodlightActivitiesGeneratetag (Maybe Int64)+fagFloodlightActivityId+  = lens _fagFloodlightActivityId+      (\ s a -> s{_fagFloodlightActivityId = a})+      . mapping _Coerce++-- | User profile ID associated with this request.+fagProFileId :: Lens' FloodlightActivitiesGeneratetag Int64+fagProFileId+  = lens _fagProFileId (\ s a -> s{_fagProFileId = a})+      . _Coerce++instance GoogleRequest+         FloodlightActivitiesGeneratetag where+        type Rs FloodlightActivitiesGeneratetag =+             FloodlightActivitiesGenerateTagResponse+        requestClient FloodlightActivitiesGeneratetag{..}+          = go _fagProFileId _fagFloodlightActivityId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightActivitiesGeneratetagResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Get.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.DFAReporting.FloodlightActivities.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)+--+-- Gets one floodlight activity by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.get@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Get+    (+    -- * REST Resource+      FloodlightActivitiesGetResource++    -- * Creating a Request+    , floodlightActivitiesGet+    , FloodlightActivitiesGet++    -- * Request Lenses+    , fProFileId+    , fId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.get@ method which the+-- 'FloodlightActivitiesGet' request conforms to.+type FloodlightActivitiesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] FloodlightActivity++-- | Gets one floodlight activity by ID.+--+-- /See:/ 'floodlightActivitiesGet' smart constructor.+data FloodlightActivitiesGet = FloodlightActivitiesGet+    { _fProFileId :: !(Textual Int64)+    , _fId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fProFileId'+--+-- * 'fId'+floodlightActivitiesGet+    :: Int64 -- ^ 'fProFileId'+    -> Int64 -- ^ 'fId'+    -> FloodlightActivitiesGet+floodlightActivitiesGet pFProFileId_ pFId_ =+    FloodlightActivitiesGet+    { _fProFileId = _Coerce # pFProFileId_+    , _fId = _Coerce # pFId_+    }++-- | User profile ID associated with this request.+fProFileId :: Lens' FloodlightActivitiesGet Int64+fProFileId+  = lens _fProFileId (\ s a -> s{_fProFileId = a}) .+      _Coerce++-- | Floodlight activity ID.+fId :: Lens' FloodlightActivitiesGet Int64+fId = lens _fId (\ s a -> s{_fId = a}) . _Coerce++instance GoogleRequest FloodlightActivitiesGet where+        type Rs FloodlightActivitiesGet = FloodlightActivity+        requestClient FloodlightActivitiesGet{..}+          = go _fProFileId _fId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.DFAReporting.FloodlightActivities.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new floodlight activity.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.insert@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Insert+    (+    -- * REST Resource+      FloodlightActivitiesInsertResource++    -- * Creating a Request+    , floodlightActivitiesInsert+    , FloodlightActivitiesInsert++    -- * Request Lenses+    , faiProFileId+    , faiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.insert@ method which the+-- 'FloodlightActivitiesInsert' request conforms to.+type FloodlightActivitiesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] FloodlightActivity :>+                   Post '[JSON] FloodlightActivity++-- | Inserts a new floodlight activity.+--+-- /See:/ 'floodlightActivitiesInsert' smart constructor.+data FloodlightActivitiesInsert = FloodlightActivitiesInsert+    { _faiProFileId :: !(Textual Int64)+    , _faiPayload   :: !FloodlightActivity+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faiProFileId'+--+-- * 'faiPayload'+floodlightActivitiesInsert+    :: Int64 -- ^ 'faiProFileId'+    -> FloodlightActivity -- ^ 'faiPayload'+    -> FloodlightActivitiesInsert+floodlightActivitiesInsert pFaiProFileId_ pFaiPayload_ =+    FloodlightActivitiesInsert+    { _faiProFileId = _Coerce # pFaiProFileId_+    , _faiPayload = pFaiPayload_+    }++-- | User profile ID associated with this request.+faiProFileId :: Lens' FloodlightActivitiesInsert Int64+faiProFileId+  = lens _faiProFileId (\ s a -> s{_faiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+faiPayload :: Lens' FloodlightActivitiesInsert FloodlightActivity+faiPayload+  = lens _faiPayload (\ s a -> s{_faiPayload = a})++instance GoogleRequest FloodlightActivitiesInsert+         where+        type Rs FloodlightActivitiesInsert =+             FloodlightActivity+        requestClient FloodlightActivitiesInsert{..}+          = go _faiProFileId (Just AltJSON) _faiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/List.hs view
@@ -0,0 +1,289 @@+{-# 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.DFAReporting.FloodlightActivities.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)+--+-- Retrieves a list of floodlight activities, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.list@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.List+    (+    -- * REST Resource+      FloodlightActivitiesListResource++    -- * Creating a Request+    , floodlightActivitiesList+    , FloodlightActivitiesList++    -- * Request Lenses+    , falTagString+    , falFloodlightActivityGroupTagString+    , falFloodlightConfigurationId+    , falAdvertiserId+    , falSearchString+    , falIds+    , falProFileId+    , falFloodlightActivityGroupIds+    , falSortOrder+    , falFloodlightActivityGroupType+    , falFloodlightActivityGroupName+    , falPageToken+    , falSortField+    , falMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.list@ method which the+-- 'FloodlightActivitiesList' request conforms to.+type FloodlightActivitiesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               QueryParam "tagString" Text :>+                 QueryParam "floodlightActivityGroupTagString" Text :>+                   QueryParam "floodlightConfigurationId"+                     (Textual Int64)+                     :>+                     QueryParam "advertiserId" (Textual Int64) :>+                       QueryParam "searchString" Text :>+                         QueryParams "ids" (Textual Int64) :>+                           QueryParams "floodlightActivityGroupIds"+                             (Textual Int64)+                             :>+                             QueryParam "sortOrder"+                               FloodlightActivitiesListSortOrder+                               :>+                               QueryParam "floodlightActivityGroupType"+                                 FloodlightActivitiesListFloodlightActivityGroupType+                                 :>+                                 QueryParam "floodlightActivityGroupName" Text+                                   :>+                                   QueryParam "pageToken" Text :>+                                     QueryParam "sortField"+                                       FloodlightActivitiesListSortField+                                       :>+                                       QueryParam "maxResults" (Textual Int32)+                                         :>+                                         QueryParam "alt" AltJSON :>+                                           Get '[JSON]+                                             FloodlightActivitiesListResponse++-- | Retrieves a list of floodlight activities, possibly filtered.+--+-- /See:/ 'floodlightActivitiesList' smart constructor.+data FloodlightActivitiesList = FloodlightActivitiesList+    { _falTagString                        :: !(Maybe Text)+    , _falFloodlightActivityGroupTagString :: !(Maybe Text)+    , _falFloodlightConfigurationId        :: !(Maybe (Textual Int64))+    , _falAdvertiserId                     :: !(Maybe (Textual Int64))+    , _falSearchString                     :: !(Maybe Text)+    , _falIds                              :: !(Maybe [Textual Int64])+    , _falProFileId                        :: !(Textual Int64)+    , _falFloodlightActivityGroupIds       :: !(Maybe [Textual Int64])+    , _falSortOrder                        :: !(Maybe FloodlightActivitiesListSortOrder)+    , _falFloodlightActivityGroupType      :: !(Maybe FloodlightActivitiesListFloodlightActivityGroupType)+    , _falFloodlightActivityGroupName      :: !(Maybe Text)+    , _falPageToken                        :: !(Maybe Text)+    , _falSortField                        :: !(Maybe FloodlightActivitiesListSortField)+    , _falMaxResults                       :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'falTagString'+--+-- * 'falFloodlightActivityGroupTagString'+--+-- * 'falFloodlightConfigurationId'+--+-- * 'falAdvertiserId'+--+-- * 'falSearchString'+--+-- * 'falIds'+--+-- * 'falProFileId'+--+-- * 'falFloodlightActivityGroupIds'+--+-- * 'falSortOrder'+--+-- * 'falFloodlightActivityGroupType'+--+-- * 'falFloodlightActivityGroupName'+--+-- * 'falPageToken'+--+-- * 'falSortField'+--+-- * 'falMaxResults'+floodlightActivitiesList+    :: Int64 -- ^ 'falProFileId'+    -> FloodlightActivitiesList+floodlightActivitiesList pFalProFileId_ =+    FloodlightActivitiesList+    { _falTagString = Nothing+    , _falFloodlightActivityGroupTagString = Nothing+    , _falFloodlightConfigurationId = Nothing+    , _falAdvertiserId = Nothing+    , _falSearchString = Nothing+    , _falIds = Nothing+    , _falProFileId = _Coerce # pFalProFileId_+    , _falFloodlightActivityGroupIds = Nothing+    , _falSortOrder = Nothing+    , _falFloodlightActivityGroupType = Nothing+    , _falFloodlightActivityGroupName = Nothing+    , _falPageToken = Nothing+    , _falSortField = Nothing+    , _falMaxResults = Nothing+    }++-- | Select only floodlight activities with the specified tag string.+falTagString :: Lens' FloodlightActivitiesList (Maybe Text)+falTagString+  = lens _falTagString (\ s a -> s{_falTagString = a})++-- | Select only floodlight activities with the specified floodlight activity+-- group tag string.+falFloodlightActivityGroupTagString :: Lens' FloodlightActivitiesList (Maybe Text)+falFloodlightActivityGroupTagString+  = lens _falFloodlightActivityGroupTagString+      (\ s a ->+         s{_falFloodlightActivityGroupTagString = a})++-- | Select only floodlight activities for the specified floodlight+-- configuration ID. Must specify either ids, advertiserId, or+-- floodlightConfigurationId for a non-empty result.+falFloodlightConfigurationId :: Lens' FloodlightActivitiesList (Maybe Int64)+falFloodlightConfigurationId+  = lens _falFloodlightConfigurationId+      (\ s a -> s{_falFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Select only floodlight activities for the specified advertiser ID. Must+-- specify either ids, advertiserId, or floodlightConfigurationId for a+-- non-empty result.+falAdvertiserId :: Lens' FloodlightActivitiesList (Maybe Int64)+falAdvertiserId+  = lens _falAdvertiserId+      (\ s a -> s{_falAdvertiserId = a})+      . mapping _Coerce++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"floodlightactivity*2015\" will return objects with names+-- like \"floodlightactivity June 2015\", \"floodlightactivity April+-- 2015\", or simply \"floodlightactivity 2015\". Most of the searches also+-- add wildcards implicitly at the start and the end of the search string.+-- For example, a search string of \"floodlightactivity\" will match+-- objects with name \"my floodlightactivity activity\",+-- \"floodlightactivity 2015\", or simply \"floodlightactivity\".+falSearchString :: Lens' FloodlightActivitiesList (Maybe Text)+falSearchString+  = lens _falSearchString+      (\ s a -> s{_falSearchString = a})++-- | Select only floodlight activities with the specified IDs. Must specify+-- either ids, advertiserId, or floodlightConfigurationId for a non-empty+-- result.+falIds :: Lens' FloodlightActivitiesList [Int64]+falIds+  = lens _falIds (\ s a -> s{_falIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+falProFileId :: Lens' FloodlightActivitiesList Int64+falProFileId+  = lens _falProFileId (\ s a -> s{_falProFileId = a})+      . _Coerce++-- | Select only floodlight activities with the specified floodlight activity+-- group IDs.+falFloodlightActivityGroupIds :: Lens' FloodlightActivitiesList [Int64]+falFloodlightActivityGroupIds+  = lens _falFloodlightActivityGroupIds+      (\ s a -> s{_falFloodlightActivityGroupIds = a})+      . _Default+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+falSortOrder :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListSortOrder)+falSortOrder+  = lens _falSortOrder (\ s a -> s{_falSortOrder = a})++-- | Select only floodlight activities with the specified floodlight activity+-- group type.+falFloodlightActivityGroupType :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListFloodlightActivityGroupType)+falFloodlightActivityGroupType+  = lens _falFloodlightActivityGroupType+      (\ s a -> s{_falFloodlightActivityGroupType = a})++-- | Select only floodlight activities with the specified floodlight activity+-- group name.+falFloodlightActivityGroupName :: Lens' FloodlightActivitiesList (Maybe Text)+falFloodlightActivityGroupName+  = lens _falFloodlightActivityGroupName+      (\ s a -> s{_falFloodlightActivityGroupName = a})++-- | Value of the nextPageToken from the previous result page.+falPageToken :: Lens' FloodlightActivitiesList (Maybe Text)+falPageToken+  = lens _falPageToken (\ s a -> s{_falPageToken = a})++-- | Field by which to sort the list.+falSortField :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListSortField)+falSortField+  = lens _falSortField (\ s a -> s{_falSortField = a})++-- | Maximum number of results to return.+falMaxResults :: Lens' FloodlightActivitiesList (Maybe Int32)+falMaxResults+  = lens _falMaxResults+      (\ s a -> s{_falMaxResults = a})+      . mapping _Coerce++instance GoogleRequest FloodlightActivitiesList where+        type Rs FloodlightActivitiesList =+             FloodlightActivitiesListResponse+        requestClient FloodlightActivitiesList{..}+          = go _falProFileId _falTagString+              _falFloodlightActivityGroupTagString+              _falFloodlightConfigurationId+              _falAdvertiserId+              _falSearchString+              (_falIds ^. _Default)+              (_falFloodlightActivityGroupIds ^. _Default)+              _falSortOrder+              _falFloodlightActivityGroupType+              _falFloodlightActivityGroupName+              _falPageToken+              _falSortField+              _falMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Patch.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.DFAReporting.FloodlightActivities.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight activity. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.patch@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Patch+    (+    -- * REST Resource+      FloodlightActivitiesPatchResource++    -- * Creating a Request+    , floodlightActivitiesPatch+    , FloodlightActivitiesPatch++    -- * Request Lenses+    , fapProFileId+    , fapPayload+    , fapId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.patch@ method which the+-- 'FloodlightActivitiesPatch' request conforms to.+type FloodlightActivitiesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FloodlightActivity :>+                     Patch '[JSON] FloodlightActivity++-- | Updates an existing floodlight activity. This method supports patch+-- semantics.+--+-- /See:/ 'floodlightActivitiesPatch' smart constructor.+data FloodlightActivitiesPatch = FloodlightActivitiesPatch+    { _fapProFileId :: !(Textual Int64)+    , _fapPayload   :: !FloodlightActivity+    , _fapId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fapProFileId'+--+-- * 'fapPayload'+--+-- * 'fapId'+floodlightActivitiesPatch+    :: Int64 -- ^ 'fapProFileId'+    -> FloodlightActivity -- ^ 'fapPayload'+    -> Int64 -- ^ 'fapId'+    -> FloodlightActivitiesPatch+floodlightActivitiesPatch pFapProFileId_ pFapPayload_ pFapId_ =+    FloodlightActivitiesPatch+    { _fapProFileId = _Coerce # pFapProFileId_+    , _fapPayload = pFapPayload_+    , _fapId = _Coerce # pFapId_+    }++-- | User profile ID associated with this request.+fapProFileId :: Lens' FloodlightActivitiesPatch Int64+fapProFileId+  = lens _fapProFileId (\ s a -> s{_fapProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fapPayload :: Lens' FloodlightActivitiesPatch FloodlightActivity+fapPayload+  = lens _fapPayload (\ s a -> s{_fapPayload = a})++-- | Floodlight activity ID.+fapId :: Lens' FloodlightActivitiesPatch Int64+fapId+  = lens _fapId (\ s a -> s{_fapId = a}) . _Coerce++instance GoogleRequest FloodlightActivitiesPatch+         where+        type Rs FloodlightActivitiesPatch =+             FloodlightActivity+        requestClient FloodlightActivitiesPatch{..}+          = go _fapProFileId (Just _fapId) (Just AltJSON)+              _fapPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Update.hs view
@@ -0,0 +1,101 @@+{-# 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.DFAReporting.FloodlightActivities.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight activity.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivities.update@.+module Network.Google.Resource.DFAReporting.FloodlightActivities.Update+    (+    -- * REST Resource+      FloodlightActivitiesUpdateResource++    -- * Creating a Request+    , floodlightActivitiesUpdate+    , FloodlightActivitiesUpdate++    -- * Request Lenses+    , fauProFileId+    , fauPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivities.update@ method which the+-- 'FloodlightActivitiesUpdate' request conforms to.+type FloodlightActivitiesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivities" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] FloodlightActivity :>+                   Put '[JSON] FloodlightActivity++-- | Updates an existing floodlight activity.+--+-- /See:/ 'floodlightActivitiesUpdate' smart constructor.+data FloodlightActivitiesUpdate = FloodlightActivitiesUpdate+    { _fauProFileId :: !(Textual Int64)+    , _fauPayload   :: !FloodlightActivity+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivitiesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fauProFileId'+--+-- * 'fauPayload'+floodlightActivitiesUpdate+    :: Int64 -- ^ 'fauProFileId'+    -> FloodlightActivity -- ^ 'fauPayload'+    -> FloodlightActivitiesUpdate+floodlightActivitiesUpdate pFauProFileId_ pFauPayload_ =+    FloodlightActivitiesUpdate+    { _fauProFileId = _Coerce # pFauProFileId_+    , _fauPayload = pFauPayload_+    }++-- | User profile ID associated with this request.+fauProFileId :: Lens' FloodlightActivitiesUpdate Int64+fauProFileId+  = lens _fauProFileId (\ s a -> s{_fauProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fauPayload :: Lens' FloodlightActivitiesUpdate FloodlightActivity+fauPayload+  = lens _fauPayload (\ s a -> s{_fauPayload = a})++instance GoogleRequest FloodlightActivitiesUpdate+         where+        type Rs FloodlightActivitiesUpdate =+             FloodlightActivity+        requestClient FloodlightActivitiesUpdate{..}+          = go _fauProFileId (Just AltJSON) _fauPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivitiesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Delete.hs view
@@ -0,0 +1,101 @@+{-# 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.DFAReporting.FloodlightActivityGroups.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing floodlight activity group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.delete@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Delete+    (+    -- * REST Resource+      FloodlightActivityGroupsDeleteResource++    -- * Creating a Request+    , floodlightActivityGroupsDelete+    , FloodlightActivityGroupsDelete++    -- * Request Lenses+    , fagdProFileId+    , fagdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.delete@ method which the+-- 'FloodlightActivityGroupsDelete' request conforms to.+type FloodlightActivityGroupsDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing floodlight activity group.+--+-- /See:/ 'floodlightActivityGroupsDelete' smart constructor.+data FloodlightActivityGroupsDelete = FloodlightActivityGroupsDelete+    { _fagdProFileId :: !(Textual Int64)+    , _fagdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagdProFileId'+--+-- * 'fagdId'+floodlightActivityGroupsDelete+    :: Int64 -- ^ 'fagdProFileId'+    -> Int64 -- ^ 'fagdId'+    -> FloodlightActivityGroupsDelete+floodlightActivityGroupsDelete pFagdProFileId_ pFagdId_ =+    FloodlightActivityGroupsDelete+    { _fagdProFileId = _Coerce # pFagdProFileId_+    , _fagdId = _Coerce # pFagdId_+    }++-- | User profile ID associated with this request.+fagdProFileId :: Lens' FloodlightActivityGroupsDelete Int64+fagdProFileId+  = lens _fagdProFileId+      (\ s a -> s{_fagdProFileId = a})+      . _Coerce++-- | Floodlight activity Group ID.+fagdId :: Lens' FloodlightActivityGroupsDelete Int64+fagdId+  = lens _fagdId (\ s a -> s{_fagdId = a}) . _Coerce++instance GoogleRequest FloodlightActivityGroupsDelete+         where+        type Rs FloodlightActivityGroupsDelete = ()+        requestClient FloodlightActivityGroupsDelete{..}+          = go _fagdProFileId _fagdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightActivityGroupsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.FloodlightActivityGroups.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)+--+-- Gets one floodlight activity group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.get@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get+    (+    -- * REST Resource+      FloodlightActivityGroupsGetResource++    -- * Creating a Request+    , floodlightActivityGroupsGet+    , FloodlightActivityGroupsGet++    -- * Request Lenses+    , faggProFileId+    , faggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.get@ method which the+-- 'FloodlightActivityGroupsGet' request conforms to.+type FloodlightActivityGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] FloodlightActivityGroup++-- | Gets one floodlight activity group by ID.+--+-- /See:/ 'floodlightActivityGroupsGet' smart constructor.+data FloodlightActivityGroupsGet = FloodlightActivityGroupsGet+    { _faggProFileId :: !(Textual Int64)+    , _faggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faggProFileId'+--+-- * 'faggId'+floodlightActivityGroupsGet+    :: Int64 -- ^ 'faggProFileId'+    -> Int64 -- ^ 'faggId'+    -> FloodlightActivityGroupsGet+floodlightActivityGroupsGet pFaggProFileId_ pFaggId_ =+    FloodlightActivityGroupsGet+    { _faggProFileId = _Coerce # pFaggProFileId_+    , _faggId = _Coerce # pFaggId_+    }++-- | User profile ID associated with this request.+faggProFileId :: Lens' FloodlightActivityGroupsGet Int64+faggProFileId+  = lens _faggProFileId+      (\ s a -> s{_faggProFileId = a})+      . _Coerce++-- | Floodlight activity Group ID.+faggId :: Lens' FloodlightActivityGroupsGet Int64+faggId+  = lens _faggId (\ s a -> s{_faggId = a}) . _Coerce++instance GoogleRequest FloodlightActivityGroupsGet+         where+        type Rs FloodlightActivityGroupsGet =+             FloodlightActivityGroup+        requestClient FloodlightActivityGroupsGet{..}+          = go _faggProFileId _faggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivityGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Insert.hs view
@@ -0,0 +1,103 @@+{-# 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.DFAReporting.FloodlightActivityGroups.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new floodlight activity group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.insert@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert+    (+    -- * REST Resource+      FloodlightActivityGroupsInsertResource++    -- * Creating a Request+    , floodlightActivityGroupsInsert+    , FloodlightActivityGroupsInsert++    -- * Request Lenses+    , fagiProFileId+    , fagiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.insert@ method which the+-- 'FloodlightActivityGroupsInsert' request conforms to.+type FloodlightActivityGroupsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] FloodlightActivityGroup :>+                   Post '[JSON] FloodlightActivityGroup++-- | Inserts a new floodlight activity group.+--+-- /See:/ 'floodlightActivityGroupsInsert' smart constructor.+data FloodlightActivityGroupsInsert = FloodlightActivityGroupsInsert+    { _fagiProFileId :: !(Textual Int64)+    , _fagiPayload   :: !FloodlightActivityGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagiProFileId'+--+-- * 'fagiPayload'+floodlightActivityGroupsInsert+    :: Int64 -- ^ 'fagiProFileId'+    -> FloodlightActivityGroup -- ^ 'fagiPayload'+    -> FloodlightActivityGroupsInsert+floodlightActivityGroupsInsert pFagiProFileId_ pFagiPayload_ =+    FloodlightActivityGroupsInsert+    { _fagiProFileId = _Coerce # pFagiProFileId_+    , _fagiPayload = pFagiPayload_+    }++-- | User profile ID associated with this request.+fagiProFileId :: Lens' FloodlightActivityGroupsInsert Int64+fagiProFileId+  = lens _fagiProFileId+      (\ s a -> s{_fagiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fagiPayload :: Lens' FloodlightActivityGroupsInsert FloodlightActivityGroup+fagiPayload+  = lens _fagiPayload (\ s a -> s{_fagiPayload = a})++instance GoogleRequest FloodlightActivityGroupsInsert+         where+        type Rs FloodlightActivityGroupsInsert =+             FloodlightActivityGroup+        requestClient FloodlightActivityGroupsInsert{..}+          = go _fagiProFileId (Just AltJSON) _fagiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightActivityGroupsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/List.hs view
@@ -0,0 +1,231 @@+{-# 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.DFAReporting.FloodlightActivityGroups.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)+--+-- Retrieves a list of floodlight activity groups, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.list@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List+    (+    -- * REST Resource+      FloodlightActivityGroupsListResource++    -- * Creating a Request+    , floodlightActivityGroupsList+    , FloodlightActivityGroupsList++    -- * Request Lenses+    , faglFloodlightConfigurationId+    , faglAdvertiserId+    , faglSearchString+    , faglIds+    , faglProFileId+    , faglSortOrder+    , faglPageToken+    , faglSortField+    , faglType+    , faglMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.list@ method which the+-- 'FloodlightActivityGroupsList' request conforms to.+type FloodlightActivityGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               QueryParam "floodlightConfigurationId"+                 (Textual Int64)+                 :>+                 QueryParam "advertiserId" (Textual Int64) :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "sortOrder"+                         FloodlightActivityGroupsListSortOrder+                         :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField"+                             FloodlightActivityGroupsListSortField+                             :>+                             QueryParam "type" FloodlightActivityGroupsListType+                               :>+                               QueryParam "maxResults" (Textual Int32) :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON]+                                     FloodlightActivityGroupsListResponse++-- | Retrieves a list of floodlight activity groups, possibly filtered.+--+-- /See:/ 'floodlightActivityGroupsList' smart constructor.+data FloodlightActivityGroupsList = FloodlightActivityGroupsList+    { _faglFloodlightConfigurationId :: !(Maybe (Textual Int64))+    , _faglAdvertiserId              :: !(Maybe (Textual Int64))+    , _faglSearchString              :: !(Maybe Text)+    , _faglIds                       :: !(Maybe [Textual Int64])+    , _faglProFileId                 :: !(Textual Int64)+    , _faglSortOrder                 :: !(Maybe FloodlightActivityGroupsListSortOrder)+    , _faglPageToken                 :: !(Maybe Text)+    , _faglSortField                 :: !(Maybe FloodlightActivityGroupsListSortField)+    , _faglType                      :: !(Maybe FloodlightActivityGroupsListType)+    , _faglMaxResults                :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faglFloodlightConfigurationId'+--+-- * 'faglAdvertiserId'+--+-- * 'faglSearchString'+--+-- * 'faglIds'+--+-- * 'faglProFileId'+--+-- * 'faglSortOrder'+--+-- * 'faglPageToken'+--+-- * 'faglSortField'+--+-- * 'faglType'+--+-- * 'faglMaxResults'+floodlightActivityGroupsList+    :: Int64 -- ^ 'faglProFileId'+    -> FloodlightActivityGroupsList+floodlightActivityGroupsList pFaglProFileId_ =+    FloodlightActivityGroupsList+    { _faglFloodlightConfigurationId = Nothing+    , _faglAdvertiserId = Nothing+    , _faglSearchString = Nothing+    , _faglIds = Nothing+    , _faglProFileId = _Coerce # pFaglProFileId_+    , _faglSortOrder = Nothing+    , _faglPageToken = Nothing+    , _faglSortField = Nothing+    , _faglType = Nothing+    , _faglMaxResults = Nothing+    }++-- | Select only floodlight activity groups with the specified floodlight+-- configuration ID. Must specify either advertiserId, or+-- floodlightConfigurationId for a non-empty result.+faglFloodlightConfigurationId :: Lens' FloodlightActivityGroupsList (Maybe Int64)+faglFloodlightConfigurationId+  = lens _faglFloodlightConfigurationId+      (\ s a -> s{_faglFloodlightConfigurationId = a})+      . mapping _Coerce++-- | Select only floodlight activity groups with the specified advertiser ID.+-- Must specify either advertiserId or floodlightConfigurationId for a+-- non-empty result.+faglAdvertiserId :: Lens' FloodlightActivityGroupsList (Maybe Int64)+faglAdvertiserId+  = lens _faglAdvertiserId+      (\ s a -> s{_faglAdvertiserId = a})+      . mapping _Coerce++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"floodlightactivitygroup*2015\" will return objects with+-- names like \"floodlightactivitygroup June 2015\",+-- \"floodlightactivitygroup April 2015\", or simply+-- \"floodlightactivitygroup 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"floodlightactivitygroup\" will match+-- objects with name \"my floodlightactivitygroup activity\",+-- \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".+faglSearchString :: Lens' FloodlightActivityGroupsList (Maybe Text)+faglSearchString+  = lens _faglSearchString+      (\ s a -> s{_faglSearchString = a})++-- | Select only floodlight activity groups with the specified IDs. Must+-- specify either advertiserId or floodlightConfigurationId for a non-empty+-- result.+faglIds :: Lens' FloodlightActivityGroupsList [Int64]+faglIds+  = lens _faglIds (\ s a -> s{_faglIds = a}) . _Default+      . _Coerce++-- | User profile ID associated with this request.+faglProFileId :: Lens' FloodlightActivityGroupsList Int64+faglProFileId+  = lens _faglProFileId+      (\ s a -> s{_faglProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+faglSortOrder :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListSortOrder)+faglSortOrder+  = lens _faglSortOrder+      (\ s a -> s{_faglSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+faglPageToken :: Lens' FloodlightActivityGroupsList (Maybe Text)+faglPageToken+  = lens _faglPageToken+      (\ s a -> s{_faglPageToken = a})++-- | Field by which to sort the list.+faglSortField :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListSortField)+faglSortField+  = lens _faglSortField+      (\ s a -> s{_faglSortField = a})++-- | Select only floodlight activity groups with the specified floodlight+-- activity group type.+faglType :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListType)+faglType = lens _faglType (\ s a -> s{_faglType = a})++-- | Maximum number of results to return.+faglMaxResults :: Lens' FloodlightActivityGroupsList (Maybe Int32)+faglMaxResults+  = lens _faglMaxResults+      (\ s a -> s{_faglMaxResults = a})+      . mapping _Coerce++instance GoogleRequest FloodlightActivityGroupsList+         where+        type Rs FloodlightActivityGroupsList =+             FloodlightActivityGroupsListResponse+        requestClient FloodlightActivityGroupsList{..}+          = go _faglProFileId _faglFloodlightConfigurationId+              _faglAdvertiserId+              _faglSearchString+              (_faglIds ^. _Default)+              _faglSortOrder+              _faglPageToken+              _faglSortField+              _faglType+              _faglMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightActivityGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Patch.hs view
@@ -0,0 +1,118 @@+{-# 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.DFAReporting.FloodlightActivityGroups.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight activity group. This method supports+-- patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.patch@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch+    (+    -- * REST Resource+      FloodlightActivityGroupsPatchResource++    -- * Creating a Request+    , floodlightActivityGroupsPatch+    , FloodlightActivityGroupsPatch++    -- * Request Lenses+    , fagpProFileId+    , fagpPayload+    , fagpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.patch@ method which the+-- 'FloodlightActivityGroupsPatch' request conforms to.+type FloodlightActivityGroupsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FloodlightActivityGroup :>+                     Patch '[JSON] FloodlightActivityGroup++-- | Updates an existing floodlight activity group. This method supports+-- patch semantics.+--+-- /See:/ 'floodlightActivityGroupsPatch' smart constructor.+data FloodlightActivityGroupsPatch = FloodlightActivityGroupsPatch+    { _fagpProFileId :: !(Textual Int64)+    , _fagpPayload   :: !FloodlightActivityGroup+    , _fagpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fagpProFileId'+--+-- * 'fagpPayload'+--+-- * 'fagpId'+floodlightActivityGroupsPatch+    :: Int64 -- ^ 'fagpProFileId'+    -> FloodlightActivityGroup -- ^ 'fagpPayload'+    -> Int64 -- ^ 'fagpId'+    -> FloodlightActivityGroupsPatch+floodlightActivityGroupsPatch pFagpProFileId_ pFagpPayload_ pFagpId_ =+    FloodlightActivityGroupsPatch+    { _fagpProFileId = _Coerce # pFagpProFileId_+    , _fagpPayload = pFagpPayload_+    , _fagpId = _Coerce # pFagpId_+    }++-- | User profile ID associated with this request.+fagpProFileId :: Lens' FloodlightActivityGroupsPatch Int64+fagpProFileId+  = lens _fagpProFileId+      (\ s a -> s{_fagpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fagpPayload :: Lens' FloodlightActivityGroupsPatch FloodlightActivityGroup+fagpPayload+  = lens _fagpPayload (\ s a -> s{_fagpPayload = a})++-- | Floodlight activity Group ID.+fagpId :: Lens' FloodlightActivityGroupsPatch Int64+fagpId+  = lens _fagpId (\ s a -> s{_fagpId = a}) . _Coerce++instance GoogleRequest FloodlightActivityGroupsPatch+         where+        type Rs FloodlightActivityGroupsPatch =+             FloodlightActivityGroup+        requestClient FloodlightActivityGroupsPatch{..}+          = go _fagpProFileId (Just _fagpId) (Just AltJSON)+              _fagpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightActivityGroupsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Update.hs view
@@ -0,0 +1,103 @@+{-# 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.DFAReporting.FloodlightActivityGroups.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight activity group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightActivityGroups.update@.+module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update+    (+    -- * REST Resource+      FloodlightActivityGroupsUpdateResource++    -- * Creating a Request+    , floodlightActivityGroupsUpdate+    , FloodlightActivityGroupsUpdate++    -- * Request Lenses+    , faguProFileId+    , faguPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightActivityGroups.update@ method which the+-- 'FloodlightActivityGroupsUpdate' request conforms to.+type FloodlightActivityGroupsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightActivityGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] FloodlightActivityGroup :>+                   Put '[JSON] FloodlightActivityGroup++-- | Updates an existing floodlight activity group.+--+-- /See:/ 'floodlightActivityGroupsUpdate' smart constructor.+data FloodlightActivityGroupsUpdate = FloodlightActivityGroupsUpdate+    { _faguProFileId :: !(Textual Int64)+    , _faguPayload   :: !FloodlightActivityGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightActivityGroupsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faguProFileId'+--+-- * 'faguPayload'+floodlightActivityGroupsUpdate+    :: Int64 -- ^ 'faguProFileId'+    -> FloodlightActivityGroup -- ^ 'faguPayload'+    -> FloodlightActivityGroupsUpdate+floodlightActivityGroupsUpdate pFaguProFileId_ pFaguPayload_ =+    FloodlightActivityGroupsUpdate+    { _faguProFileId = _Coerce # pFaguProFileId_+    , _faguPayload = pFaguPayload_+    }++-- | User profile ID associated with this request.+faguProFileId :: Lens' FloodlightActivityGroupsUpdate Int64+faguProFileId+  = lens _faguProFileId+      (\ s a -> s{_faguProFileId = a})+      . _Coerce++-- | Multipart request metadata.+faguPayload :: Lens' FloodlightActivityGroupsUpdate FloodlightActivityGroup+faguPayload+  = lens _faguPayload (\ s a -> s{_faguPayload = a})++instance GoogleRequest FloodlightActivityGroupsUpdate+         where+        type Rs FloodlightActivityGroupsUpdate =+             FloodlightActivityGroup+        requestClient FloodlightActivityGroupsUpdate{..}+          = go _faguProFileId (Just AltJSON) _faguPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightActivityGroupsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Get.hs view
@@ -0,0 +1,101 @@+{-# 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.DFAReporting.FloodlightConfigurations.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)+--+-- Gets one floodlight configuration by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightConfigurations.get@.+module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get+    (+    -- * REST Resource+      FloodlightConfigurationsGetResource++    -- * Creating a Request+    , floodlightConfigurationsGet+    , FloodlightConfigurationsGet++    -- * Request Lenses+    , fcgProFileId+    , fcgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightConfigurations.get@ method which the+-- 'FloodlightConfigurationsGet' request conforms to.+type FloodlightConfigurationsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightConfigurations" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] FloodlightConfiguration++-- | Gets one floodlight configuration by ID.+--+-- /See:/ 'floodlightConfigurationsGet' smart constructor.+data FloodlightConfigurationsGet = FloodlightConfigurationsGet+    { _fcgProFileId :: !(Textual Int64)+    , _fcgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfigurationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcgProFileId'+--+-- * 'fcgId'+floodlightConfigurationsGet+    :: Int64 -- ^ 'fcgProFileId'+    -> Int64 -- ^ 'fcgId'+    -> FloodlightConfigurationsGet+floodlightConfigurationsGet pFcgProFileId_ pFcgId_ =+    FloodlightConfigurationsGet+    { _fcgProFileId = _Coerce # pFcgProFileId_+    , _fcgId = _Coerce # pFcgId_+    }++-- | User profile ID associated with this request.+fcgProFileId :: Lens' FloodlightConfigurationsGet Int64+fcgProFileId+  = lens _fcgProFileId (\ s a -> s{_fcgProFileId = a})+      . _Coerce++-- | Floodlight configuration ID.+fcgId :: Lens' FloodlightConfigurationsGet Int64+fcgId+  = lens _fcgId (\ s a -> s{_fcgId = a}) . _Coerce++instance GoogleRequest FloodlightConfigurationsGet+         where+        type Rs FloodlightConfigurationsGet =+             FloodlightConfiguration+        requestClient FloodlightConfigurationsGet{..}+          = go _fcgProFileId _fcgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightConfigurationsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/List.hs view
@@ -0,0 +1,103 @@+{-# 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.DFAReporting.FloodlightConfigurations.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)+--+-- Retrieves a list of floodlight configurations, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightConfigurations.list@.+module Network.Google.Resource.DFAReporting.FloodlightConfigurations.List+    (+    -- * REST Resource+      FloodlightConfigurationsListResource++    -- * Creating a Request+    , floodlightConfigurationsList+    , FloodlightConfigurationsList++    -- * Request Lenses+    , fclIds+    , fclProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightConfigurations.list@ method which the+-- 'FloodlightConfigurationsList' request conforms to.+type FloodlightConfigurationsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightConfigurations" :>+               QueryParams "ids" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] FloodlightConfigurationsListResponse++-- | Retrieves a list of floodlight configurations, possibly filtered.+--+-- /See:/ 'floodlightConfigurationsList' smart constructor.+data FloodlightConfigurationsList = FloodlightConfigurationsList+    { _fclIds       :: !(Maybe [Textual Int64])+    , _fclProFileId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfigurationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fclIds'+--+-- * 'fclProFileId'+floodlightConfigurationsList+    :: Int64 -- ^ 'fclProFileId'+    -> FloodlightConfigurationsList+floodlightConfigurationsList pFclProFileId_ =+    FloodlightConfigurationsList+    { _fclIds = Nothing+    , _fclProFileId = _Coerce # pFclProFileId_+    }++-- | Set of IDs of floodlight configurations to retrieve. Required field;+-- otherwise an empty list will be returned.+fclIds :: Lens' FloodlightConfigurationsList [Int64]+fclIds+  = lens _fclIds (\ s a -> s{_fclIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+fclProFileId :: Lens' FloodlightConfigurationsList Int64+fclProFileId+  = lens _fclProFileId (\ s a -> s{_fclProFileId = a})+      . _Coerce++instance GoogleRequest FloodlightConfigurationsList+         where+        type Rs FloodlightConfigurationsList =+             FloodlightConfigurationsListResponse+        requestClient FloodlightConfigurationsList{..}+          = go _fclProFileId (_fclIds ^. _Default)+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy FloodlightConfigurationsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Patch.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight configuration. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightConfigurations.patch@.+module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch+    (+    -- * REST Resource+      FloodlightConfigurationsPatchResource++    -- * Creating a Request+    , floodlightConfigurationsPatch+    , FloodlightConfigurationsPatch++    -- * Request Lenses+    , fcpProFileId+    , fcpPayload+    , fcpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightConfigurations.patch@ method which the+-- 'FloodlightConfigurationsPatch' request conforms to.+type FloodlightConfigurationsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightConfigurations" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FloodlightConfiguration :>+                     Patch '[JSON] FloodlightConfiguration++-- | Updates an existing floodlight configuration. This method supports patch+-- semantics.+--+-- /See:/ 'floodlightConfigurationsPatch' smart constructor.+data FloodlightConfigurationsPatch = FloodlightConfigurationsPatch+    { _fcpProFileId :: !(Textual Int64)+    , _fcpPayload   :: !FloodlightConfiguration+    , _fcpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfigurationsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcpProFileId'+--+-- * 'fcpPayload'+--+-- * 'fcpId'+floodlightConfigurationsPatch+    :: Int64 -- ^ 'fcpProFileId'+    -> FloodlightConfiguration -- ^ 'fcpPayload'+    -> Int64 -- ^ 'fcpId'+    -> FloodlightConfigurationsPatch+floodlightConfigurationsPatch pFcpProFileId_ pFcpPayload_ pFcpId_ =+    FloodlightConfigurationsPatch+    { _fcpProFileId = _Coerce # pFcpProFileId_+    , _fcpPayload = pFcpPayload_+    , _fcpId = _Coerce # pFcpId_+    }++-- | User profile ID associated with this request.+fcpProFileId :: Lens' FloodlightConfigurationsPatch Int64+fcpProFileId+  = lens _fcpProFileId (\ s a -> s{_fcpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fcpPayload :: Lens' FloodlightConfigurationsPatch FloodlightConfiguration+fcpPayload+  = lens _fcpPayload (\ s a -> s{_fcpPayload = a})++-- | Floodlight configuration ID.+fcpId :: Lens' FloodlightConfigurationsPatch Int64+fcpId+  = lens _fcpId (\ s a -> s{_fcpId = a}) . _Coerce++instance GoogleRequest FloodlightConfigurationsPatch+         where+        type Rs FloodlightConfigurationsPatch =+             FloodlightConfiguration+        requestClient FloodlightConfigurationsPatch{..}+          = go _fcpProFileId (Just _fcpId) (Just AltJSON)+              _fcpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightConfigurationsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Update.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing floodlight configuration.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.floodlightConfigurations.update@.+module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update+    (+    -- * REST Resource+      FloodlightConfigurationsUpdateResource++    -- * Creating a Request+    , floodlightConfigurationsUpdate+    , FloodlightConfigurationsUpdate++    -- * Request Lenses+    , fcuProFileId+    , fcuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.floodlightConfigurations.update@ method which the+-- 'FloodlightConfigurationsUpdate' request conforms to.+type FloodlightConfigurationsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "floodlightConfigurations" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] FloodlightConfiguration :>+                   Put '[JSON] FloodlightConfiguration++-- | Updates an existing floodlight configuration.+--+-- /See:/ 'floodlightConfigurationsUpdate' smart constructor.+data FloodlightConfigurationsUpdate = FloodlightConfigurationsUpdate+    { _fcuProFileId :: !(Textual Int64)+    , _fcuPayload   :: !FloodlightConfiguration+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FloodlightConfigurationsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcuProFileId'+--+-- * 'fcuPayload'+floodlightConfigurationsUpdate+    :: Int64 -- ^ 'fcuProFileId'+    -> FloodlightConfiguration -- ^ 'fcuPayload'+    -> FloodlightConfigurationsUpdate+floodlightConfigurationsUpdate pFcuProFileId_ pFcuPayload_ =+    FloodlightConfigurationsUpdate+    { _fcuProFileId = _Coerce # pFcuProFileId_+    , _fcuPayload = pFcuPayload_+    }++-- | User profile ID associated with this request.+fcuProFileId :: Lens' FloodlightConfigurationsUpdate Int64+fcuProFileId+  = lens _fcuProFileId (\ s a -> s{_fcuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+fcuPayload :: Lens' FloodlightConfigurationsUpdate FloodlightConfiguration+fcuPayload+  = lens _fcuPayload (\ s a -> s{_fcuPayload = a})++instance GoogleRequest FloodlightConfigurationsUpdate+         where+        type Rs FloodlightConfigurationsUpdate =+             FloodlightConfiguration+        requestClient FloodlightConfigurationsUpdate{..}+          = go _fcuProFileId (Just AltJSON) _fcuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy FloodlightConfigurationsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/InventoryItems/Get.hs view
@@ -0,0 +1,113 @@+{-# 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.DFAReporting.InventoryItems.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)+--+-- Gets one inventory item by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.inventoryItems.get@.+module Network.Google.Resource.DFAReporting.InventoryItems.Get+    (+    -- * REST Resource+      InventoryItemsGetResource++    -- * Creating a Request+    , inventoryItemsGet+    , InventoryItemsGet++    -- * Request Lenses+    , iigProFileId+    , iigId+    , iigProjectId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.inventoryItems.get@ method which the+-- 'InventoryItemsGet' request conforms to.+type InventoryItemsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "inventoryItems" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] InventoryItem++-- | Gets one inventory item by ID.+--+-- /See:/ 'inventoryItemsGet' smart constructor.+data InventoryItemsGet = InventoryItemsGet+    { _iigProFileId :: !(Textual Int64)+    , _iigId        :: !(Textual Int64)+    , _iigProjectId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InventoryItemsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iigProFileId'+--+-- * 'iigId'+--+-- * 'iigProjectId'+inventoryItemsGet+    :: Int64 -- ^ 'iigProFileId'+    -> Int64 -- ^ 'iigId'+    -> Int64 -- ^ 'iigProjectId'+    -> InventoryItemsGet+inventoryItemsGet pIigProFileId_ pIigId_ pIigProjectId_ =+    InventoryItemsGet+    { _iigProFileId = _Coerce # pIigProFileId_+    , _iigId = _Coerce # pIigId_+    , _iigProjectId = _Coerce # pIigProjectId_+    }++-- | User profile ID associated with this request.+iigProFileId :: Lens' InventoryItemsGet Int64+iigProFileId+  = lens _iigProFileId (\ s a -> s{_iigProFileId = a})+      . _Coerce++-- | Inventory item ID.+iigId :: Lens' InventoryItemsGet Int64+iigId+  = lens _iigId (\ s a -> s{_iigId = a}) . _Coerce++-- | Project ID for order documents.+iigProjectId :: Lens' InventoryItemsGet Int64+iigProjectId+  = lens _iigProjectId (\ s a -> s{_iigProjectId = a})+      . _Coerce++instance GoogleRequest InventoryItemsGet where+        type Rs InventoryItemsGet = InventoryItem+        requestClient InventoryItemsGet{..}+          = go _iigProFileId _iigProjectId _iigId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy InventoryItemsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/InventoryItems/List.hs view
@@ -0,0 +1,206 @@+{-# 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.DFAReporting.InventoryItems.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)+--+-- Retrieves a list of inventory items, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.inventoryItems.list@.+module Network.Google.Resource.DFAReporting.InventoryItems.List+    (+    -- * REST Resource+      InventoryItemsListResource++    -- * Creating a Request+    , inventoryItemsList+    , InventoryItemsList++    -- * Request Lenses+    , iilIds+    , iilProFileId+    , iilSortOrder+    , iilInPlan+    , iilPageToken+    , iilProjectId+    , iilSortField+    , iilOrderId+    , iilSiteId+    , iilMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.inventoryItems.list@ method which the+-- 'InventoryItemsList' request conforms to.+type InventoryItemsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "inventoryItems" :>+                   QueryParams "ids" (Textual Int64) :>+                     QueryParam "sortOrder" InventoryItemsListSortOrder :>+                       QueryParam "inPlan" Bool :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField" InventoryItemsListSortField :>+                             QueryParams "orderId" (Textual Int64) :>+                               QueryParams "siteId" (Textual Int64) :>+                                 QueryParam "maxResults" (Textual Int32) :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] InventoryItemsListResponse++-- | Retrieves a list of inventory items, possibly filtered.+--+-- /See:/ 'inventoryItemsList' smart constructor.+data InventoryItemsList = InventoryItemsList+    { _iilIds        :: !(Maybe [Textual Int64])+    , _iilProFileId  :: !(Textual Int64)+    , _iilSortOrder  :: !(Maybe InventoryItemsListSortOrder)+    , _iilInPlan     :: !(Maybe Bool)+    , _iilPageToken  :: !(Maybe Text)+    , _iilProjectId  :: !(Textual Int64)+    , _iilSortField  :: !(Maybe InventoryItemsListSortField)+    , _iilOrderId    :: !(Maybe [Textual Int64])+    , _iilSiteId     :: !(Maybe [Textual Int64])+    , _iilMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InventoryItemsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iilIds'+--+-- * 'iilProFileId'+--+-- * 'iilSortOrder'+--+-- * 'iilInPlan'+--+-- * 'iilPageToken'+--+-- * 'iilProjectId'+--+-- * 'iilSortField'+--+-- * 'iilOrderId'+--+-- * 'iilSiteId'+--+-- * 'iilMaxResults'+inventoryItemsList+    :: Int64 -- ^ 'iilProFileId'+    -> Int64 -- ^ 'iilProjectId'+    -> InventoryItemsList+inventoryItemsList pIilProFileId_ pIilProjectId_ =+    InventoryItemsList+    { _iilIds = Nothing+    , _iilProFileId = _Coerce # pIilProFileId_+    , _iilSortOrder = Nothing+    , _iilInPlan = Nothing+    , _iilPageToken = Nothing+    , _iilProjectId = _Coerce # pIilProjectId_+    , _iilSortField = Nothing+    , _iilOrderId = Nothing+    , _iilSiteId = Nothing+    , _iilMaxResults = Nothing+    }++-- | Select only inventory items with these IDs.+iilIds :: Lens' InventoryItemsList [Int64]+iilIds+  = lens _iilIds (\ s a -> s{_iilIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+iilProFileId :: Lens' InventoryItemsList Int64+iilProFileId+  = lens _iilProFileId (\ s a -> s{_iilProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+iilSortOrder :: Lens' InventoryItemsList (Maybe InventoryItemsListSortOrder)+iilSortOrder+  = lens _iilSortOrder (\ s a -> s{_iilSortOrder = a})++-- | Select only inventory items that are in plan.+iilInPlan :: Lens' InventoryItemsList (Maybe Bool)+iilInPlan+  = lens _iilInPlan (\ s a -> s{_iilInPlan = a})++-- | Value of the nextPageToken from the previous result page.+iilPageToken :: Lens' InventoryItemsList (Maybe Text)+iilPageToken+  = lens _iilPageToken (\ s a -> s{_iilPageToken = a})++-- | Project ID for order documents.+iilProjectId :: Lens' InventoryItemsList Int64+iilProjectId+  = lens _iilProjectId (\ s a -> s{_iilProjectId = a})+      . _Coerce++-- | Field by which to sort the list.+iilSortField :: Lens' InventoryItemsList (Maybe InventoryItemsListSortField)+iilSortField+  = lens _iilSortField (\ s a -> s{_iilSortField = a})++-- | Select only inventory items that belong to specified orders.+iilOrderId :: Lens' InventoryItemsList [Int64]+iilOrderId+  = lens _iilOrderId (\ s a -> s{_iilOrderId = a}) .+      _Default+      . _Coerce++-- | Select only inventory items that are associated with these sites.+iilSiteId :: Lens' InventoryItemsList [Int64]+iilSiteId+  = lens _iilSiteId (\ s a -> s{_iilSiteId = a}) .+      _Default+      . _Coerce++-- | Maximum number of results to return.+iilMaxResults :: Lens' InventoryItemsList (Maybe Int32)+iilMaxResults+  = lens _iilMaxResults+      (\ s a -> s{_iilMaxResults = a})+      . mapping _Coerce++instance GoogleRequest InventoryItemsList where+        type Rs InventoryItemsList =+             InventoryItemsListResponse+        requestClient InventoryItemsList{..}+          = go _iilProFileId _iilProjectId+              (_iilIds ^. _Default)+              _iilSortOrder+              _iilInPlan+              _iilPageToken+              _iilSortField+              (_iilOrderId ^. _Default)+              (_iilSiteId ^. _Default)+              _iilMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy InventoryItemsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/Delete.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.LandingPages.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing campaign landing page.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.delete@.+module Network.Google.Resource.DFAReporting.LandingPages.Delete+    (+    -- * REST Resource+      LandingPagesDeleteResource++    -- * Creating a Request+    , landingPagesDelete+    , LandingPagesDelete++    -- * Request Lenses+    , lpdCampaignId+    , lpdProFileId+    , lpdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.delete@ method which the+-- 'LandingPagesDelete' request conforms to.+type LandingPagesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing campaign landing page.+--+-- /See:/ 'landingPagesDelete' smart constructor.+data LandingPagesDelete = LandingPagesDelete+    { _lpdCampaignId :: !(Textual Int64)+    , _lpdProFileId  :: !(Textual Int64)+    , _lpdId         :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpdCampaignId'+--+-- * 'lpdProFileId'+--+-- * 'lpdId'+landingPagesDelete+    :: Int64 -- ^ 'lpdCampaignId'+    -> Int64 -- ^ 'lpdProFileId'+    -> Int64 -- ^ 'lpdId'+    -> LandingPagesDelete+landingPagesDelete pLpdCampaignId_ pLpdProFileId_ pLpdId_ =+    LandingPagesDelete+    { _lpdCampaignId = _Coerce # pLpdCampaignId_+    , _lpdProFileId = _Coerce # pLpdProFileId_+    , _lpdId = _Coerce # pLpdId_+    }++-- | Landing page campaign ID.+lpdCampaignId :: Lens' LandingPagesDelete Int64+lpdCampaignId+  = lens _lpdCampaignId+      (\ s a -> s{_lpdCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lpdProFileId :: Lens' LandingPagesDelete Int64+lpdProFileId+  = lens _lpdProFileId (\ s a -> s{_lpdProFileId = a})+      . _Coerce++-- | Landing page ID.+lpdId :: Lens' LandingPagesDelete Int64+lpdId+  = lens _lpdId (\ s a -> s{_lpdId = a}) . _Coerce++instance GoogleRequest LandingPagesDelete where+        type Rs LandingPagesDelete = ()+        requestClient LandingPagesDelete{..}+          = go _lpdProFileId _lpdCampaignId _lpdId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/Get.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.LandingPages.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)+--+-- Gets one campaign landing page by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.get@.+module Network.Google.Resource.DFAReporting.LandingPages.Get+    (+    -- * REST Resource+      LandingPagesGetResource++    -- * Creating a Request+    , landingPagesGet+    , LandingPagesGet++    -- * Request Lenses+    , lpgCampaignId+    , lpgProFileId+    , lpgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.get@ method which the+-- 'LandingPagesGet' request conforms to.+type LandingPagesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] LandingPage++-- | Gets one campaign landing page by ID.+--+-- /See:/ 'landingPagesGet' smart constructor.+data LandingPagesGet = LandingPagesGet+    { _lpgCampaignId :: !(Textual Int64)+    , _lpgProFileId  :: !(Textual Int64)+    , _lpgId         :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpgCampaignId'+--+-- * 'lpgProFileId'+--+-- * 'lpgId'+landingPagesGet+    :: Int64 -- ^ 'lpgCampaignId'+    -> Int64 -- ^ 'lpgProFileId'+    -> Int64 -- ^ 'lpgId'+    -> LandingPagesGet+landingPagesGet pLpgCampaignId_ pLpgProFileId_ pLpgId_ =+    LandingPagesGet+    { _lpgCampaignId = _Coerce # pLpgCampaignId_+    , _lpgProFileId = _Coerce # pLpgProFileId_+    , _lpgId = _Coerce # pLpgId_+    }++-- | Landing page campaign ID.+lpgCampaignId :: Lens' LandingPagesGet Int64+lpgCampaignId+  = lens _lpgCampaignId+      (\ s a -> s{_lpgCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lpgProFileId :: Lens' LandingPagesGet Int64+lpgProFileId+  = lens _lpgProFileId (\ s a -> s{_lpgProFileId = a})+      . _Coerce++-- | Landing page ID.+lpgId :: Lens' LandingPagesGet Int64+lpgId+  = lens _lpgId (\ s a -> s{_lpgId = a}) . _Coerce++instance GoogleRequest LandingPagesGet where+        type Rs LandingPagesGet = LandingPage+        requestClient LandingPagesGet{..}+          = go _lpgProFileId _lpgCampaignId _lpgId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/Insert.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.DFAReporting.LandingPages.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new landing page for the specified campaign.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.insert@.+module Network.Google.Resource.DFAReporting.LandingPages.Insert+    (+    -- * REST Resource+      LandingPagesInsertResource++    -- * Creating a Request+    , landingPagesInsert+    , LandingPagesInsert++    -- * Request Lenses+    , lpiCampaignId+    , lpiProFileId+    , lpiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.insert@ method which the+-- 'LandingPagesInsert' request conforms to.+type LandingPagesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] LandingPage :>+                       Post '[JSON] LandingPage++-- | Inserts a new landing page for the specified campaign.+--+-- /See:/ 'landingPagesInsert' smart constructor.+data LandingPagesInsert = LandingPagesInsert+    { _lpiCampaignId :: !(Textual Int64)+    , _lpiProFileId  :: !(Textual Int64)+    , _lpiPayload    :: !LandingPage+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpiCampaignId'+--+-- * 'lpiProFileId'+--+-- * 'lpiPayload'+landingPagesInsert+    :: Int64 -- ^ 'lpiCampaignId'+    -> Int64 -- ^ 'lpiProFileId'+    -> LandingPage -- ^ 'lpiPayload'+    -> LandingPagesInsert+landingPagesInsert pLpiCampaignId_ pLpiProFileId_ pLpiPayload_ =+    LandingPagesInsert+    { _lpiCampaignId = _Coerce # pLpiCampaignId_+    , _lpiProFileId = _Coerce # pLpiProFileId_+    , _lpiPayload = pLpiPayload_+    }++-- | Landing page campaign ID.+lpiCampaignId :: Lens' LandingPagesInsert Int64+lpiCampaignId+  = lens _lpiCampaignId+      (\ s a -> s{_lpiCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lpiProFileId :: Lens' LandingPagesInsert Int64+lpiProFileId+  = lens _lpiProFileId (\ s a -> s{_lpiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+lpiPayload :: Lens' LandingPagesInsert LandingPage+lpiPayload+  = lens _lpiPayload (\ s a -> s{_lpiPayload = a})++instance GoogleRequest LandingPagesInsert where+        type Rs LandingPagesInsert = LandingPage+        requestClient LandingPagesInsert{..}+          = go _lpiProFileId _lpiCampaignId (Just AltJSON)+              _lpiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/List.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.LandingPages.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)+--+-- Retrieves the list of landing pages for the specified campaign.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.list@.+module Network.Google.Resource.DFAReporting.LandingPages.List+    (+    -- * REST Resource+      LandingPagesListResource++    -- * Creating a Request+    , landingPagesList+    , LandingPagesList++    -- * Request Lenses+    , lplCampaignId+    , lplProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.list@ method which the+-- 'LandingPagesList' request conforms to.+type LandingPagesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] LandingPagesListResponse++-- | Retrieves the list of landing pages for the specified campaign.+--+-- /See:/ 'landingPagesList' smart constructor.+data LandingPagesList = LandingPagesList+    { _lplCampaignId :: !(Textual Int64)+    , _lplProFileId  :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lplCampaignId'+--+-- * 'lplProFileId'+landingPagesList+    :: Int64 -- ^ 'lplCampaignId'+    -> Int64 -- ^ 'lplProFileId'+    -> LandingPagesList+landingPagesList pLplCampaignId_ pLplProFileId_ =+    LandingPagesList+    { _lplCampaignId = _Coerce # pLplCampaignId_+    , _lplProFileId = _Coerce # pLplProFileId_+    }++-- | Landing page campaign ID.+lplCampaignId :: Lens' LandingPagesList Int64+lplCampaignId+  = lens _lplCampaignId+      (\ s a -> s{_lplCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lplProFileId :: Lens' LandingPagesList Int64+lplProFileId+  = lens _lplProFileId (\ s a -> s{_lplProFileId = a})+      . _Coerce++instance GoogleRequest LandingPagesList where+        type Rs LandingPagesList = LandingPagesListResponse+        requestClient LandingPagesList{..}+          = go _lplProFileId _lplCampaignId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/Patch.hs view
@@ -0,0 +1,130 @@+{-# 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.DFAReporting.LandingPages.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing campaign landing page. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.patch@.+module Network.Google.Resource.DFAReporting.LandingPages.Patch+    (+    -- * REST Resource+      LandingPagesPatchResource++    -- * Creating a Request+    , landingPagesPatch+    , LandingPagesPatch++    -- * Request Lenses+    , lppCampaignId+    , lppProFileId+    , lppPayload+    , lppId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.patch@ method which the+-- 'LandingPagesPatch' request conforms to.+type LandingPagesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   QueryParam "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] LandingPage :>+                         Patch '[JSON] LandingPage++-- | Updates an existing campaign landing page. This method supports patch+-- semantics.+--+-- /See:/ 'landingPagesPatch' smart constructor.+data LandingPagesPatch = LandingPagesPatch+    { _lppCampaignId :: !(Textual Int64)+    , _lppProFileId  :: !(Textual Int64)+    , _lppPayload    :: !LandingPage+    , _lppId         :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lppCampaignId'+--+-- * 'lppProFileId'+--+-- * 'lppPayload'+--+-- * 'lppId'+landingPagesPatch+    :: Int64 -- ^ 'lppCampaignId'+    -> Int64 -- ^ 'lppProFileId'+    -> LandingPage -- ^ 'lppPayload'+    -> Int64 -- ^ 'lppId'+    -> LandingPagesPatch+landingPagesPatch pLppCampaignId_ pLppProFileId_ pLppPayload_ pLppId_ =+    LandingPagesPatch+    { _lppCampaignId = _Coerce # pLppCampaignId_+    , _lppProFileId = _Coerce # pLppProFileId_+    , _lppPayload = pLppPayload_+    , _lppId = _Coerce # pLppId_+    }++-- | Landing page campaign ID.+lppCampaignId :: Lens' LandingPagesPatch Int64+lppCampaignId+  = lens _lppCampaignId+      (\ s a -> s{_lppCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lppProFileId :: Lens' LandingPagesPatch Int64+lppProFileId+  = lens _lppProFileId (\ s a -> s{_lppProFileId = a})+      . _Coerce++-- | Multipart request metadata.+lppPayload :: Lens' LandingPagesPatch LandingPage+lppPayload+  = lens _lppPayload (\ s a -> s{_lppPayload = a})++-- | Landing page ID.+lppId :: Lens' LandingPagesPatch Int64+lppId+  = lens _lppId (\ s a -> s{_lppId = a}) . _Coerce++instance GoogleRequest LandingPagesPatch where+        type Rs LandingPagesPatch = LandingPage+        requestClient LandingPagesPatch{..}+          = go _lppProFileId _lppCampaignId (Just _lppId)+              (Just AltJSON)+              _lppPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/LandingPages/Update.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.DFAReporting.LandingPages.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing campaign landing page.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.landingPages.update@.+module Network.Google.Resource.DFAReporting.LandingPages.Update+    (+    -- * REST Resource+      LandingPagesUpdateResource++    -- * Creating a Request+    , landingPagesUpdate+    , LandingPagesUpdate++    -- * Request Lenses+    , lpuCampaignId+    , lpuProFileId+    , lpuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.landingPages.update@ method which the+-- 'LandingPagesUpdate' request conforms to.+type LandingPagesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "campaigns" :>+               Capture "campaignId" (Textual Int64) :>+                 "landingPages" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] LandingPage :>+                       Put '[JSON] LandingPage++-- | Updates an existing campaign landing page.+--+-- /See:/ 'landingPagesUpdate' smart constructor.+data LandingPagesUpdate = LandingPagesUpdate+    { _lpuCampaignId :: !(Textual Int64)+    , _lpuProFileId  :: !(Textual Int64)+    , _lpuPayload    :: !LandingPage+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LandingPagesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpuCampaignId'+--+-- * 'lpuProFileId'+--+-- * 'lpuPayload'+landingPagesUpdate+    :: Int64 -- ^ 'lpuCampaignId'+    -> Int64 -- ^ 'lpuProFileId'+    -> LandingPage -- ^ 'lpuPayload'+    -> LandingPagesUpdate+landingPagesUpdate pLpuCampaignId_ pLpuProFileId_ pLpuPayload_ =+    LandingPagesUpdate+    { _lpuCampaignId = _Coerce # pLpuCampaignId_+    , _lpuProFileId = _Coerce # pLpuProFileId_+    , _lpuPayload = pLpuPayload_+    }++-- | Landing page campaign ID.+lpuCampaignId :: Lens' LandingPagesUpdate Int64+lpuCampaignId+  = lens _lpuCampaignId+      (\ s a -> s{_lpuCampaignId = a})+      . _Coerce++-- | User profile ID associated with this request.+lpuProFileId :: Lens' LandingPagesUpdate Int64+lpuProFileId+  = lens _lpuProFileId (\ s a -> s{_lpuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+lpuPayload :: Lens' LandingPagesUpdate LandingPage+lpuPayload+  = lens _lpuPayload (\ s a -> s{_lpuPayload = a})++instance GoogleRequest LandingPagesUpdate where+        type Rs LandingPagesUpdate = LandingPage+        requestClient LandingPagesUpdate{..}+          = go _lpuProFileId _lpuCampaignId (Just AltJSON)+              _lpuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy LandingPagesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Metros/List.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.Metros.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)+--+-- Retrieves a list of metros.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.metros.list@.+module Network.Google.Resource.DFAReporting.Metros.List+    (+    -- * REST Resource+      MetrosListResource++    -- * Creating a Request+    , metrosList+    , MetrosList++    -- * Request Lenses+    , mlProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.metros.list@ method which the+-- 'MetrosList' request conforms to.+type MetrosListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "metros" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] MetrosListResponse++-- | Retrieves a list of metros.+--+-- /See:/ 'metrosList' smart constructor.+newtype MetrosList = MetrosList+    { _mlProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetrosList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlProFileId'+metrosList+    :: Int64 -- ^ 'mlProFileId'+    -> MetrosList+metrosList pMlProFileId_ =+    MetrosList+    { _mlProFileId = _Coerce # pMlProFileId_+    }++-- | User profile ID associated with this request.+mlProFileId :: Lens' MetrosList Int64+mlProFileId+  = lens _mlProFileId (\ s a -> s{_mlProFileId = a}) .+      _Coerce++instance GoogleRequest MetrosList where+        type Rs MetrosList = MetrosListResponse+        requestClient MetrosList{..}+          = go _mlProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy MetrosListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/MobileCarriers/Get.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.DFAReporting.MobileCarriers.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)+--+-- Gets one mobile carrier by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.mobileCarriers.get@.+module Network.Google.Resource.DFAReporting.MobileCarriers.Get+    (+    -- * REST Resource+      MobileCarriersGetResource++    -- * Creating a Request+    , mobileCarriersGet+    , MobileCarriersGet++    -- * Request Lenses+    , mcgProFileId+    , mcgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.mobileCarriers.get@ method which the+-- 'MobileCarriersGet' request conforms to.+type MobileCarriersGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "mobileCarriers" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] MobileCarrier++-- | Gets one mobile carrier by ID.+--+-- /See:/ 'mobileCarriersGet' smart constructor.+data MobileCarriersGet = MobileCarriersGet+    { _mcgProFileId :: !(Textual Int64)+    , _mcgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MobileCarriersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcgProFileId'+--+-- * 'mcgId'+mobileCarriersGet+    :: Int64 -- ^ 'mcgProFileId'+    -> Int64 -- ^ 'mcgId'+    -> MobileCarriersGet+mobileCarriersGet pMcgProFileId_ pMcgId_ =+    MobileCarriersGet+    { _mcgProFileId = _Coerce # pMcgProFileId_+    , _mcgId = _Coerce # pMcgId_+    }++-- | User profile ID associated with this request.+mcgProFileId :: Lens' MobileCarriersGet Int64+mcgProFileId+  = lens _mcgProFileId (\ s a -> s{_mcgProFileId = a})+      . _Coerce++-- | Mobile carrier ID.+mcgId :: Lens' MobileCarriersGet Int64+mcgId+  = lens _mcgId (\ s a -> s{_mcgId = a}) . _Coerce++instance GoogleRequest MobileCarriersGet where+        type Rs MobileCarriersGet = MobileCarrier+        requestClient MobileCarriersGet{..}+          = go _mcgProFileId _mcgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy MobileCarriersGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/MobileCarriers/List.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.MobileCarriers.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)+--+-- Retrieves a list of mobile carriers.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.mobileCarriers.list@.+module Network.Google.Resource.DFAReporting.MobileCarriers.List+    (+    -- * REST Resource+      MobileCarriersListResource++    -- * Creating a Request+    , mobileCarriersList+    , MobileCarriersList++    -- * Request Lenses+    , mclProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.mobileCarriers.list@ method which the+-- 'MobileCarriersList' request conforms to.+type MobileCarriersListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "mobileCarriers" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] MobileCarriersListResponse++-- | Retrieves a list of mobile carriers.+--+-- /See:/ 'mobileCarriersList' smart constructor.+newtype MobileCarriersList = MobileCarriersList+    { _mclProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MobileCarriersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mclProFileId'+mobileCarriersList+    :: Int64 -- ^ 'mclProFileId'+    -> MobileCarriersList+mobileCarriersList pMclProFileId_ =+    MobileCarriersList+    { _mclProFileId = _Coerce # pMclProFileId_+    }++-- | User profile ID associated with this request.+mclProFileId :: Lens' MobileCarriersList Int64+mclProFileId+  = lens _mclProFileId (\ s a -> s{_mclProFileId = a})+      . _Coerce++instance GoogleRequest MobileCarriersList where+        type Rs MobileCarriersList =+             MobileCarriersListResponse+        requestClient MobileCarriersList{..}+          = go _mclProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy MobileCarriersListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OperatingSystemVersions/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.OperatingSystemVersions.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)+--+-- Gets one operating system version by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.operatingSystemVersions.get@.+module Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get+    (+    -- * REST Resource+      OperatingSystemVersionsGetResource++    -- * Creating a Request+    , operatingSystemVersionsGet+    , OperatingSystemVersionsGet++    -- * Request Lenses+    , osvgProFileId+    , osvgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.operatingSystemVersions.get@ method which the+-- 'OperatingSystemVersionsGet' request conforms to.+type OperatingSystemVersionsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "operatingSystemVersions" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] OperatingSystemVersion++-- | Gets one operating system version by ID.+--+-- /See:/ 'operatingSystemVersionsGet' smart constructor.+data OperatingSystemVersionsGet = OperatingSystemVersionsGet+    { _osvgProFileId :: !(Textual Int64)+    , _osvgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemVersionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osvgProFileId'+--+-- * 'osvgId'+operatingSystemVersionsGet+    :: Int64 -- ^ 'osvgProFileId'+    -> Int64 -- ^ 'osvgId'+    -> OperatingSystemVersionsGet+operatingSystemVersionsGet pOsvgProFileId_ pOsvgId_ =+    OperatingSystemVersionsGet+    { _osvgProFileId = _Coerce # pOsvgProFileId_+    , _osvgId = _Coerce # pOsvgId_+    }++-- | User profile ID associated with this request.+osvgProFileId :: Lens' OperatingSystemVersionsGet Int64+osvgProFileId+  = lens _osvgProFileId+      (\ s a -> s{_osvgProFileId = a})+      . _Coerce++-- | Operating system version ID.+osvgId :: Lens' OperatingSystemVersionsGet Int64+osvgId+  = lens _osvgId (\ s a -> s{_osvgId = a}) . _Coerce++instance GoogleRequest OperatingSystemVersionsGet+         where+        type Rs OperatingSystemVersionsGet =+             OperatingSystemVersion+        requestClient OperatingSystemVersionsGet{..}+          = go _osvgProFileId _osvgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OperatingSystemVersionsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OperatingSystemVersions/List.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.OperatingSystemVersions.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)+--+-- Retrieves a list of operating system versions.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.operatingSystemVersions.list@.+module Network.Google.Resource.DFAReporting.OperatingSystemVersions.List+    (+    -- * REST Resource+      OperatingSystemVersionsListResource++    -- * Creating a Request+    , operatingSystemVersionsList+    , OperatingSystemVersionsList++    -- * Request Lenses+    , osvlProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.operatingSystemVersions.list@ method which the+-- 'OperatingSystemVersionsList' request conforms to.+type OperatingSystemVersionsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "operatingSystemVersions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] OperatingSystemVersionsListResponse++-- | Retrieves a list of operating system versions.+--+-- /See:/ 'operatingSystemVersionsList' smart constructor.+newtype OperatingSystemVersionsList = OperatingSystemVersionsList+    { _osvlProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemVersionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osvlProFileId'+operatingSystemVersionsList+    :: Int64 -- ^ 'osvlProFileId'+    -> OperatingSystemVersionsList+operatingSystemVersionsList pOsvlProFileId_ =+    OperatingSystemVersionsList+    { _osvlProFileId = _Coerce # pOsvlProFileId_+    }++-- | User profile ID associated with this request.+osvlProFileId :: Lens' OperatingSystemVersionsList Int64+osvlProFileId+  = lens _osvlProFileId+      (\ s a -> s{_osvlProFileId = a})+      . _Coerce++instance GoogleRequest OperatingSystemVersionsList+         where+        type Rs OperatingSystemVersionsList =+             OperatingSystemVersionsListResponse+        requestClient OperatingSystemVersionsList{..}+          = go _osvlProFileId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OperatingSystemVersionsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OperatingSystems/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.DFAReporting.OperatingSystems.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)+--+-- Gets one operating system by DART ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.operatingSystems.get@.+module Network.Google.Resource.DFAReporting.OperatingSystems.Get+    (+    -- * REST Resource+      OperatingSystemsGetResource++    -- * Creating a Request+    , operatingSystemsGet+    , OperatingSystemsGet++    -- * Request Lenses+    , osgProFileId+    , osgDartId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.operatingSystems.get@ method which the+-- 'OperatingSystemsGet' request conforms to.+type OperatingSystemsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "operatingSystems" :>+               Capture "dartId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] OperatingSystem++-- | Gets one operating system by DART ID.+--+-- /See:/ 'operatingSystemsGet' smart constructor.+data OperatingSystemsGet = OperatingSystemsGet+    { _osgProFileId :: !(Textual Int64)+    , _osgDartId    :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osgProFileId'+--+-- * 'osgDartId'+operatingSystemsGet+    :: Int64 -- ^ 'osgProFileId'+    -> Int64 -- ^ 'osgDartId'+    -> OperatingSystemsGet+operatingSystemsGet pOsgProFileId_ pOsgDartId_ =+    OperatingSystemsGet+    { _osgProFileId = _Coerce # pOsgProFileId_+    , _osgDartId = _Coerce # pOsgDartId_+    }++-- | User profile ID associated with this request.+osgProFileId :: Lens' OperatingSystemsGet Int64+osgProFileId+  = lens _osgProFileId (\ s a -> s{_osgProFileId = a})+      . _Coerce++-- | Operating system DART ID.+osgDartId :: Lens' OperatingSystemsGet Int64+osgDartId+  = lens _osgDartId (\ s a -> s{_osgDartId = a}) .+      _Coerce++instance GoogleRequest OperatingSystemsGet where+        type Rs OperatingSystemsGet = OperatingSystem+        requestClient OperatingSystemsGet{..}+          = go _osgProFileId _osgDartId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OperatingSystemsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OperatingSystems/List.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.OperatingSystems.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)+--+-- Retrieves a list of operating systems.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.operatingSystems.list@.+module Network.Google.Resource.DFAReporting.OperatingSystems.List+    (+    -- * REST Resource+      OperatingSystemsListResource++    -- * Creating a Request+    , operatingSystemsList+    , OperatingSystemsList++    -- * Request Lenses+    , oslProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.operatingSystems.list@ method which the+-- 'OperatingSystemsList' request conforms to.+type OperatingSystemsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "operatingSystems" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] OperatingSystemsListResponse++-- | Retrieves a list of operating systems.+--+-- /See:/ 'operatingSystemsList' smart constructor.+newtype OperatingSystemsList = OperatingSystemsList+    { _oslProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperatingSystemsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oslProFileId'+operatingSystemsList+    :: Int64 -- ^ 'oslProFileId'+    -> OperatingSystemsList+operatingSystemsList pOslProFileId_ =+    OperatingSystemsList+    { _oslProFileId = _Coerce # pOslProFileId_+    }++-- | User profile ID associated with this request.+oslProFileId :: Lens' OperatingSystemsList Int64+oslProFileId+  = lens _oslProFileId (\ s a -> s{_oslProFileId = a})+      . _Coerce++instance GoogleRequest OperatingSystemsList where+        type Rs OperatingSystemsList =+             OperatingSystemsListResponse+        requestClient OperatingSystemsList{..}+          = go _oslProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OperatingSystemsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OrderDocuments/Get.hs view
@@ -0,0 +1,113 @@+{-# 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.DFAReporting.OrderDocuments.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)+--+-- Gets one order document by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.orderDocuments.get@.+module Network.Google.Resource.DFAReporting.OrderDocuments.Get+    (+    -- * REST Resource+      OrderDocumentsGetResource++    -- * Creating a Request+    , orderDocumentsGet+    , OrderDocumentsGet++    -- * Request Lenses+    , odgProFileId+    , odgId+    , odgProjectId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.orderDocuments.get@ method which the+-- 'OrderDocumentsGet' request conforms to.+type OrderDocumentsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "orderDocuments" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] OrderDocument++-- | Gets one order document by ID.+--+-- /See:/ 'orderDocumentsGet' smart constructor.+data OrderDocumentsGet = OrderDocumentsGet+    { _odgProFileId :: !(Textual Int64)+    , _odgId        :: !(Textual Int64)+    , _odgProjectId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderDocumentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odgProFileId'+--+-- * 'odgId'+--+-- * 'odgProjectId'+orderDocumentsGet+    :: Int64 -- ^ 'odgProFileId'+    -> Int64 -- ^ 'odgId'+    -> Int64 -- ^ 'odgProjectId'+    -> OrderDocumentsGet+orderDocumentsGet pOdgProFileId_ pOdgId_ pOdgProjectId_ =+    OrderDocumentsGet+    { _odgProFileId = _Coerce # pOdgProFileId_+    , _odgId = _Coerce # pOdgId_+    , _odgProjectId = _Coerce # pOdgProjectId_+    }++-- | User profile ID associated with this request.+odgProFileId :: Lens' OrderDocumentsGet Int64+odgProFileId+  = lens _odgProFileId (\ s a -> s{_odgProFileId = a})+      . _Coerce++-- | Order document ID.+odgId :: Lens' OrderDocumentsGet Int64+odgId+  = lens _odgId (\ s a -> s{_odgId = a}) . _Coerce++-- | Project ID for order documents.+odgProjectId :: Lens' OrderDocumentsGet Int64+odgProjectId+  = lens _odgProjectId (\ s a -> s{_odgProjectId = a})+      . _Coerce++instance GoogleRequest OrderDocumentsGet where+        type Rs OrderDocumentsGet = OrderDocument+        requestClient OrderDocumentsGet{..}+          = go _odgProFileId _odgProjectId _odgId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OrderDocumentsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/OrderDocuments/List.hs view
@@ -0,0 +1,226 @@+{-# 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.DFAReporting.OrderDocuments.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)+--+-- Retrieves a list of order documents, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.orderDocuments.list@.+module Network.Google.Resource.DFAReporting.OrderDocuments.List+    (+    -- * REST Resource+      OrderDocumentsListResource++    -- * Creating a Request+    , orderDocumentsList+    , OrderDocumentsList++    -- * Request Lenses+    , odlSearchString+    , odlIds+    , odlProFileId+    , odlSortOrder+    , odlPageToken+    , odlProjectId+    , odlSortField+    , odlOrderId+    , odlApproved+    , odlSiteId+    , odlMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.orderDocuments.list@ method which the+-- 'OrderDocumentsList' request conforms to.+type OrderDocumentsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "orderDocuments" :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "sortOrder" OrderDocumentsListSortOrder :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField" OrderDocumentsListSortField :>+                             QueryParams "orderId" (Textual Int64) :>+                               QueryParam "approved" Bool :>+                                 QueryParams "siteId" (Textual Int64) :>+                                   QueryParam "maxResults" (Textual Int32) :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] OrderDocumentsListResponse++-- | Retrieves a list of order documents, possibly filtered.+--+-- /See:/ 'orderDocumentsList' smart constructor.+data OrderDocumentsList = OrderDocumentsList+    { _odlSearchString :: !(Maybe Text)+    , _odlIds          :: !(Maybe [Textual Int64])+    , _odlProFileId    :: !(Textual Int64)+    , _odlSortOrder    :: !(Maybe OrderDocumentsListSortOrder)+    , _odlPageToken    :: !(Maybe Text)+    , _odlProjectId    :: !(Textual Int64)+    , _odlSortField    :: !(Maybe OrderDocumentsListSortField)+    , _odlOrderId      :: !(Maybe [Textual Int64])+    , _odlApproved     :: !(Maybe Bool)+    , _odlSiteId       :: !(Maybe [Textual Int64])+    , _odlMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderDocumentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odlSearchString'+--+-- * 'odlIds'+--+-- * 'odlProFileId'+--+-- * 'odlSortOrder'+--+-- * 'odlPageToken'+--+-- * 'odlProjectId'+--+-- * 'odlSortField'+--+-- * 'odlOrderId'+--+-- * 'odlApproved'+--+-- * 'odlSiteId'+--+-- * 'odlMaxResults'+orderDocumentsList+    :: Int64 -- ^ 'odlProFileId'+    -> Int64 -- ^ 'odlProjectId'+    -> OrderDocumentsList+orderDocumentsList pOdlProFileId_ pOdlProjectId_ =+    OrderDocumentsList+    { _odlSearchString = Nothing+    , _odlIds = Nothing+    , _odlProFileId = _Coerce # pOdlProFileId_+    , _odlSortOrder = Nothing+    , _odlPageToken = Nothing+    , _odlProjectId = _Coerce # pOdlProjectId_+    , _odlSortField = Nothing+    , _odlOrderId = Nothing+    , _odlApproved = Nothing+    , _odlSiteId = Nothing+    , _odlMaxResults = Nothing+    }++-- | Allows searching for order documents by name or ID. Wildcards (*) are+-- allowed. For example, \"orderdocument*2015\" will return order documents+-- with names like \"orderdocument June 2015\", \"orderdocument April+-- 2015\", or simply \"orderdocument 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"orderdocument\" will match order documents+-- with name \"my orderdocument\", \"orderdocument 2015\", or simply+-- \"orderdocument\".+odlSearchString :: Lens' OrderDocumentsList (Maybe Text)+odlSearchString+  = lens _odlSearchString+      (\ s a -> s{_odlSearchString = a})++-- | Select only order documents with these IDs.+odlIds :: Lens' OrderDocumentsList [Int64]+odlIds+  = lens _odlIds (\ s a -> s{_odlIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+odlProFileId :: Lens' OrderDocumentsList Int64+odlProFileId+  = lens _odlProFileId (\ s a -> s{_odlProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+odlSortOrder :: Lens' OrderDocumentsList (Maybe OrderDocumentsListSortOrder)+odlSortOrder+  = lens _odlSortOrder (\ s a -> s{_odlSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+odlPageToken :: Lens' OrderDocumentsList (Maybe Text)+odlPageToken+  = lens _odlPageToken (\ s a -> s{_odlPageToken = a})++-- | Project ID for order documents.+odlProjectId :: Lens' OrderDocumentsList Int64+odlProjectId+  = lens _odlProjectId (\ s a -> s{_odlProjectId = a})+      . _Coerce++-- | Field by which to sort the list.+odlSortField :: Lens' OrderDocumentsList (Maybe OrderDocumentsListSortField)+odlSortField+  = lens _odlSortField (\ s a -> s{_odlSortField = a})++-- | Select only order documents for specified orders.+odlOrderId :: Lens' OrderDocumentsList [Int64]+odlOrderId+  = lens _odlOrderId (\ s a -> s{_odlOrderId = a}) .+      _Default+      . _Coerce++-- | Select only order documents that have been approved by at least one+-- user.+odlApproved :: Lens' OrderDocumentsList (Maybe Bool)+odlApproved+  = lens _odlApproved (\ s a -> s{_odlApproved = a})++-- | Select only order documents that are associated with these sites.+odlSiteId :: Lens' OrderDocumentsList [Int64]+odlSiteId+  = lens _odlSiteId (\ s a -> s{_odlSiteId = a}) .+      _Default+      . _Coerce++-- | Maximum number of results to return.+odlMaxResults :: Lens' OrderDocumentsList (Maybe Int32)+odlMaxResults+  = lens _odlMaxResults+      (\ s a -> s{_odlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest OrderDocumentsList where+        type Rs OrderDocumentsList =+             OrderDocumentsListResponse+        requestClient OrderDocumentsList{..}+          = go _odlProFileId _odlProjectId _odlSearchString+              (_odlIds ^. _Default)+              _odlSortOrder+              _odlPageToken+              _odlSortField+              (_odlOrderId ^. _Default)+              _odlApproved+              (_odlSiteId ^. _Default)+              _odlMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy OrderDocumentsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Orders/Get.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.Orders.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)+--+-- Gets one order by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.orders.get@.+module Network.Google.Resource.DFAReporting.Orders.Get+    (+    -- * REST Resource+      OrdersGetResource++    -- * Creating a Request+    , ordersGet+    , OrdersGet++    -- * Request Lenses+    , ogProFileId+    , ogId+    , ogProjectId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.orders.get@ method which the+-- 'OrdersGet' request conforms to.+type OrdersGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "orders" :>+                   Capture "id" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Order++-- | Gets one order by ID.+--+-- /See:/ 'ordersGet' smart constructor.+data OrdersGet = OrdersGet+    { _ogProFileId :: !(Textual Int64)+    , _ogId        :: !(Textual Int64)+    , _ogProjectId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrdersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogProFileId'+--+-- * 'ogId'+--+-- * 'ogProjectId'+ordersGet+    :: Int64 -- ^ 'ogProFileId'+    -> Int64 -- ^ 'ogId'+    -> Int64 -- ^ 'ogProjectId'+    -> OrdersGet+ordersGet pOgProFileId_ pOgId_ pOgProjectId_ =+    OrdersGet+    { _ogProFileId = _Coerce # pOgProFileId_+    , _ogId = _Coerce # pOgId_+    , _ogProjectId = _Coerce # pOgProjectId_+    }++-- | User profile ID associated with this request.+ogProFileId :: Lens' OrdersGet Int64+ogProFileId+  = lens _ogProFileId (\ s a -> s{_ogProFileId = a}) .+      _Coerce++-- | Order ID.+ogId :: Lens' OrdersGet Int64+ogId = lens _ogId (\ s a -> s{_ogId = a}) . _Coerce++-- | Project ID for orders.+ogProjectId :: Lens' OrdersGet Int64+ogProjectId+  = lens _ogProjectId (\ s a -> s{_ogProjectId = a}) .+      _Coerce++instance GoogleRequest OrdersGet where+        type Rs OrdersGet = Order+        requestClient OrdersGet{..}+          = go _ogProFileId _ogProjectId _ogId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy OrdersGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Orders/List.hs view
@@ -0,0 +1,194 @@+{-# 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.DFAReporting.Orders.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)+--+-- Retrieves a list of orders, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.orders.list@.+module Network.Google.Resource.DFAReporting.Orders.List+    (+    -- * REST Resource+      OrdersListResource++    -- * Creating a Request+    , ordersList+    , OrdersList++    -- * Request Lenses+    , olSearchString+    , olIds+    , olProFileId+    , olSortOrder+    , olPageToken+    , olProjectId+    , olSortField+    , olSiteId+    , olMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.orders.list@ method which the+-- 'OrdersList' request conforms to.+type OrdersListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "projectId" (Textual Int64) :>+                 "orders" :>+                   QueryParam "searchString" Text :>+                     QueryParams "ids" (Textual Int64) :>+                       QueryParam "sortOrder" OrdersListSortOrder :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField" OrdersListSortField :>+                             QueryParams "siteId" (Textual Int64) :>+                               QueryParam "maxResults" (Textual Int32) :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] OrdersListResponse++-- | Retrieves a list of orders, possibly filtered.+--+-- /See:/ 'ordersList' smart constructor.+data OrdersList = OrdersList+    { _olSearchString :: !(Maybe Text)+    , _olIds          :: !(Maybe [Textual Int64])+    , _olProFileId    :: !(Textual Int64)+    , _olSortOrder    :: !(Maybe OrdersListSortOrder)+    , _olPageToken    :: !(Maybe Text)+    , _olProjectId    :: !(Textual Int64)+    , _olSortField    :: !(Maybe OrdersListSortField)+    , _olSiteId       :: !(Maybe [Textual Int64])+    , _olMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrdersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olSearchString'+--+-- * 'olIds'+--+-- * 'olProFileId'+--+-- * 'olSortOrder'+--+-- * 'olPageToken'+--+-- * 'olProjectId'+--+-- * 'olSortField'+--+-- * 'olSiteId'+--+-- * 'olMaxResults'+ordersList+    :: Int64 -- ^ 'olProFileId'+    -> Int64 -- ^ 'olProjectId'+    -> OrdersList+ordersList pOlProFileId_ pOlProjectId_ =+    OrdersList+    { _olSearchString = Nothing+    , _olIds = Nothing+    , _olProFileId = _Coerce # pOlProFileId_+    , _olSortOrder = Nothing+    , _olPageToken = Nothing+    , _olProjectId = _Coerce # pOlProjectId_+    , _olSortField = Nothing+    , _olSiteId = Nothing+    , _olMaxResults = Nothing+    }++-- | Allows searching for orders by name or ID. Wildcards (*) are allowed.+-- For example, \"order*2015\" will return orders with names like \"order+-- June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the+-- searches also add wildcards implicitly at the start and the end of the+-- search string. For example, a search string of \"order\" will match+-- orders with name \"my order\", \"order 2015\", or simply \"order\".+olSearchString :: Lens' OrdersList (Maybe Text)+olSearchString+  = lens _olSearchString+      (\ s a -> s{_olSearchString = a})++-- | Select only orders with these IDs.+olIds :: Lens' OrdersList [Int64]+olIds+  = lens _olIds (\ s a -> s{_olIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+olProFileId :: Lens' OrdersList Int64+olProFileId+  = lens _olProFileId (\ s a -> s{_olProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is ASCENDING.+olSortOrder :: Lens' OrdersList (Maybe OrdersListSortOrder)+olSortOrder+  = lens _olSortOrder (\ s a -> s{_olSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+olPageToken :: Lens' OrdersList (Maybe Text)+olPageToken+  = lens _olPageToken (\ s a -> s{_olPageToken = a})++-- | Project ID for orders.+olProjectId :: Lens' OrdersList Int64+olProjectId+  = lens _olProjectId (\ s a -> s{_olProjectId = a}) .+      _Coerce++-- | Field by which to sort the list.+olSortField :: Lens' OrdersList (Maybe OrdersListSortField)+olSortField+  = lens _olSortField (\ s a -> s{_olSortField = a})++-- | Select only orders that are associated with these site IDs.+olSiteId :: Lens' OrdersList [Int64]+olSiteId+  = lens _olSiteId (\ s a -> s{_olSiteId = a}) .+      _Default+      . _Coerce++-- | Maximum number of results to return.+olMaxResults :: Lens' OrdersList (Maybe Int32)+olMaxResults+  = lens _olMaxResults (\ s a -> s{_olMaxResults = a})+      . mapping _Coerce++instance GoogleRequest OrdersList where+        type Rs OrdersList = OrdersListResponse+        requestClient OrdersList{..}+          = go _olProFileId _olProjectId _olSearchString+              (_olIds ^. _Default)+              _olSortOrder+              _olPageToken+              _olSortField+              (_olSiteId ^. _Default)+              _olMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy OrdersListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementGroups/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.DFAReporting.PlacementGroups.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)+--+-- Gets one placement group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementGroups.get@.+module Network.Google.Resource.DFAReporting.PlacementGroups.Get+    (+    -- * REST Resource+      PlacementGroupsGetResource++    -- * Creating a Request+    , placementGroupsGet+    , PlacementGroupsGet++    -- * Request Lenses+    , pggProFileId+    , pggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementGroups.get@ method which the+-- 'PlacementGroupsGet' request conforms to.+type PlacementGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] PlacementGroup++-- | Gets one placement group by ID.+--+-- /See:/ 'placementGroupsGet' smart constructor.+data PlacementGroupsGet = PlacementGroupsGet+    { _pggProFileId :: !(Textual Int64)+    , _pggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pggProFileId'+--+-- * 'pggId'+placementGroupsGet+    :: Int64 -- ^ 'pggProFileId'+    -> Int64 -- ^ 'pggId'+    -> PlacementGroupsGet+placementGroupsGet pPggProFileId_ pPggId_ =+    PlacementGroupsGet+    { _pggProFileId = _Coerce # pPggProFileId_+    , _pggId = _Coerce # pPggId_+    }++-- | User profile ID associated with this request.+pggProFileId :: Lens' PlacementGroupsGet Int64+pggProFileId+  = lens _pggProFileId (\ s a -> s{_pggProFileId = a})+      . _Coerce++-- | Placement group ID.+pggId :: Lens' PlacementGroupsGet Int64+pggId+  = lens _pggId (\ s a -> s{_pggId = a}) . _Coerce++instance GoogleRequest PlacementGroupsGet where+        type Rs PlacementGroupsGet = PlacementGroup+        requestClient PlacementGroupsGet{..}+          = go _pggProFileId _pggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementGroups/Insert.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.DFAReporting.PlacementGroups.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new placement group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementGroups.insert@.+module Network.Google.Resource.DFAReporting.PlacementGroups.Insert+    (+    -- * REST Resource+      PlacementGroupsInsertResource++    -- * Creating a Request+    , placementGroupsInsert+    , PlacementGroupsInsert++    -- * Request Lenses+    , pgiProFileId+    , pgiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementGroups.insert@ method which the+-- 'PlacementGroupsInsert' request conforms to.+type PlacementGroupsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] PlacementGroup :>+                   Post '[JSON] PlacementGroup++-- | Inserts a new placement group.+--+-- /See:/ 'placementGroupsInsert' smart constructor.+data PlacementGroupsInsert = PlacementGroupsInsert+    { _pgiProFileId :: !(Textual Int64)+    , _pgiPayload   :: !PlacementGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgiProFileId'+--+-- * 'pgiPayload'+placementGroupsInsert+    :: Int64 -- ^ 'pgiProFileId'+    -> PlacementGroup -- ^ 'pgiPayload'+    -> PlacementGroupsInsert+placementGroupsInsert pPgiProFileId_ pPgiPayload_ =+    PlacementGroupsInsert+    { _pgiProFileId = _Coerce # pPgiProFileId_+    , _pgiPayload = pPgiPayload_+    }++-- | User profile ID associated with this request.+pgiProFileId :: Lens' PlacementGroupsInsert Int64+pgiProFileId+  = lens _pgiProFileId (\ s a -> s{_pgiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+pgiPayload :: Lens' PlacementGroupsInsert PlacementGroup+pgiPayload+  = lens _pgiPayload (\ s a -> s{_pgiPayload = a})++instance GoogleRequest PlacementGroupsInsert where+        type Rs PlacementGroupsInsert = PlacementGroup+        requestClient PlacementGroupsInsert{..}+          = go _pgiProFileId (Just AltJSON) _pgiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementGroupsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementGroups/List.hs view
@@ -0,0 +1,384 @@+{-# 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.DFAReporting.PlacementGroups.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)+--+-- Retrieves a list of placement groups, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementGroups.list@.+module Network.Google.Resource.DFAReporting.PlacementGroups.List+    (+    -- * REST Resource+      PlacementGroupsListResource++    -- * Creating a Request+    , placementGroupsList+    , PlacementGroupsList++    -- * Request Lenses+    , pglPlacementStrategyIds+    , pglContentCategoryIds+    , pglMaxEndDate+    , pglCampaignIds+    , pglPricingTypes+    , pglSearchString+    , pglIds+    , pglProFileId+    , pglPlacementGroupType+    , pglDirectorySiteIds+    , pglSortOrder+    , pglSiteIds+    , pglPageToken+    , pglSortField+    , pglMaxStartDate+    , pglAdvertiserIds+    , pglMinStartDate+    , pglArchived+    , pglMaxResults+    , pglMinEndDate+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementGroups.list@ method which the+-- 'PlacementGroupsList' request conforms to.+type PlacementGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementGroups" :>+               QueryParams "placementStrategyIds" (Textual Int64) :>+                 QueryParams "contentCategoryIds" (Textual Int64) :>+                   QueryParam "maxEndDate" Text :>+                     QueryParams "campaignIds" (Textual Int64) :>+                       QueryParams "pricingTypes"+                         PlacementGroupsListPricingTypes+                         :>+                         QueryParam "searchString" Text :>+                           QueryParams "ids" (Textual Int64) :>+                             QueryParam "placementGroupType"+                               PlacementGroupsListPlacementGroupType+                               :>+                               QueryParams "directorySiteIds" (Textual Int64) :>+                                 QueryParam "sortOrder"+                                   PlacementGroupsListSortOrder+                                   :>+                                   QueryParams "siteIds" (Textual Int64) :>+                                     QueryParam "pageToken" Text :>+                                       QueryParam "sortField"+                                         PlacementGroupsListSortField+                                         :>+                                         QueryParam "maxStartDate" Text :>+                                           QueryParams "advertiserIds"+                                             (Textual Int64)+                                             :>+                                             QueryParam "minStartDate" Text :>+                                               QueryParam "archived" Bool :>+                                                 QueryParam "maxResults"+                                                   (Textual Int32)+                                                   :>+                                                   QueryParam "minEndDate" Text+                                                     :>+                                                     QueryParam "alt" AltJSON :>+                                                       Get '[JSON]+                                                         PlacementGroupsListResponse++-- | Retrieves a list of placement groups, possibly filtered.+--+-- /See:/ 'placementGroupsList' smart constructor.+data PlacementGroupsList = PlacementGroupsList+    { _pglPlacementStrategyIds :: !(Maybe [Textual Int64])+    , _pglContentCategoryIds   :: !(Maybe [Textual Int64])+    , _pglMaxEndDate           :: !(Maybe Text)+    , _pglCampaignIds          :: !(Maybe [Textual Int64])+    , _pglPricingTypes         :: !(Maybe [PlacementGroupsListPricingTypes])+    , _pglSearchString         :: !(Maybe Text)+    , _pglIds                  :: !(Maybe [Textual Int64])+    , _pglProFileId            :: !(Textual Int64)+    , _pglPlacementGroupType   :: !(Maybe PlacementGroupsListPlacementGroupType)+    , _pglDirectorySiteIds     :: !(Maybe [Textual Int64])+    , _pglSortOrder            :: !(Maybe PlacementGroupsListSortOrder)+    , _pglSiteIds              :: !(Maybe [Textual Int64])+    , _pglPageToken            :: !(Maybe Text)+    , _pglSortField            :: !(Maybe PlacementGroupsListSortField)+    , _pglMaxStartDate         :: !(Maybe Text)+    , _pglAdvertiserIds        :: !(Maybe [Textual Int64])+    , _pglMinStartDate         :: !(Maybe Text)+    , _pglArchived             :: !(Maybe Bool)+    , _pglMaxResults           :: !(Maybe (Textual Int32))+    , _pglMinEndDate           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pglPlacementStrategyIds'+--+-- * 'pglContentCategoryIds'+--+-- * 'pglMaxEndDate'+--+-- * 'pglCampaignIds'+--+-- * 'pglPricingTypes'+--+-- * 'pglSearchString'+--+-- * 'pglIds'+--+-- * 'pglProFileId'+--+-- * 'pglPlacementGroupType'+--+-- * 'pglDirectorySiteIds'+--+-- * 'pglSortOrder'+--+-- * 'pglSiteIds'+--+-- * 'pglPageToken'+--+-- * 'pglSortField'+--+-- * 'pglMaxStartDate'+--+-- * 'pglAdvertiserIds'+--+-- * 'pglMinStartDate'+--+-- * 'pglArchived'+--+-- * 'pglMaxResults'+--+-- * 'pglMinEndDate'+placementGroupsList+    :: Int64 -- ^ 'pglProFileId'+    -> PlacementGroupsList+placementGroupsList pPglProFileId_ =+    PlacementGroupsList+    { _pglPlacementStrategyIds = Nothing+    , _pglContentCategoryIds = Nothing+    , _pglMaxEndDate = Nothing+    , _pglCampaignIds = Nothing+    , _pglPricingTypes = Nothing+    , _pglSearchString = Nothing+    , _pglIds = Nothing+    , _pglProFileId = _Coerce # pPglProFileId_+    , _pglPlacementGroupType = Nothing+    , _pglDirectorySiteIds = Nothing+    , _pglSortOrder = Nothing+    , _pglSiteIds = Nothing+    , _pglPageToken = Nothing+    , _pglSortField = Nothing+    , _pglMaxStartDate = Nothing+    , _pglAdvertiserIds = Nothing+    , _pglMinStartDate = Nothing+    , _pglArchived = Nothing+    , _pglMaxResults = Nothing+    , _pglMinEndDate = Nothing+    }++-- | Select only placement groups that are associated with these placement+-- strategies.+pglPlacementStrategyIds :: Lens' PlacementGroupsList [Int64]+pglPlacementStrategyIds+  = lens _pglPlacementStrategyIds+      (\ s a -> s{_pglPlacementStrategyIds = a})+      . _Default+      . _Coerce++-- | Select only placement groups that are associated with these content+-- categories.+pglContentCategoryIds :: Lens' PlacementGroupsList [Int64]+pglContentCategoryIds+  = lens _pglContentCategoryIds+      (\ s a -> s{_pglContentCategoryIds = a})+      . _Default+      . _Coerce++-- | Select only placements or placement groups whose end date is on or+-- before the specified maxEndDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pglMaxEndDate :: Lens' PlacementGroupsList (Maybe Text)+pglMaxEndDate+  = lens _pglMaxEndDate+      (\ s a -> s{_pglMaxEndDate = a})++-- | Select only placement groups that belong to these campaigns.+pglCampaignIds :: Lens' PlacementGroupsList [Int64]+pglCampaignIds+  = lens _pglCampaignIds+      (\ s a -> s{_pglCampaignIds = a})+      . _Default+      . _Coerce++-- | Select only placement groups with these pricing types.+pglPricingTypes :: Lens' PlacementGroupsList [PlacementGroupsListPricingTypes]+pglPricingTypes+  = lens _pglPricingTypes+      (\ s a -> s{_pglPricingTypes = a})+      . _Default+      . _Coerce++-- | Allows searching for placement groups by name or ID. Wildcards (*) are+-- allowed. For example, \"placement*2015\" will return placement groups+-- with names like \"placement group June 2015\", \"placement group May+-- 2015\", or simply \"placements 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"placementgroup\" will match placement+-- groups with name \"my placementgroup\", \"placementgroup 2015\", or+-- simply \"placementgroup\".+pglSearchString :: Lens' PlacementGroupsList (Maybe Text)+pglSearchString+  = lens _pglSearchString+      (\ s a -> s{_pglSearchString = a})++-- | Select only placement groups with these IDs.+pglIds :: Lens' PlacementGroupsList [Int64]+pglIds+  = lens _pglIds (\ s a -> s{_pglIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+pglProFileId :: Lens' PlacementGroupsList Int64+pglProFileId+  = lens _pglProFileId (\ s a -> s{_pglProFileId = a})+      . _Coerce++-- | Select only placement groups belonging with this group type. A package+-- is a simple group of placements that acts as a single pricing point for+-- a group of tags. A roadblock is a group of placements that not only acts+-- as a single pricing point but also assumes that all the tags in it will+-- be served at the same time. A roadblock requires one of its assigned+-- placements to be marked as primary for reporting.+pglPlacementGroupType :: Lens' PlacementGroupsList (Maybe PlacementGroupsListPlacementGroupType)+pglPlacementGroupType+  = lens _pglPlacementGroupType+      (\ s a -> s{_pglPlacementGroupType = a})++-- | Select only placement groups that are associated with these directory+-- sites.+pglDirectorySiteIds :: Lens' PlacementGroupsList [Int64]+pglDirectorySiteIds+  = lens _pglDirectorySiteIds+      (\ s a -> s{_pglDirectorySiteIds = a})+      . _Default+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+pglSortOrder :: Lens' PlacementGroupsList (Maybe PlacementGroupsListSortOrder)+pglSortOrder+  = lens _pglSortOrder (\ s a -> s{_pglSortOrder = a})++-- | Select only placement groups that are associated with these sites.+pglSiteIds :: Lens' PlacementGroupsList [Int64]+pglSiteIds+  = lens _pglSiteIds (\ s a -> s{_pglSiteIds = a}) .+      _Default+      . _Coerce++-- | Value of the nextPageToken from the previous result page.+pglPageToken :: Lens' PlacementGroupsList (Maybe Text)+pglPageToken+  = lens _pglPageToken (\ s a -> s{_pglPageToken = a})++-- | Field by which to sort the list.+pglSortField :: Lens' PlacementGroupsList (Maybe PlacementGroupsListSortField)+pglSortField+  = lens _pglSortField (\ s a -> s{_pglSortField = a})++-- | Select only placements or placement groups whose start date is on or+-- before the specified maxStartDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pglMaxStartDate :: Lens' PlacementGroupsList (Maybe Text)+pglMaxStartDate+  = lens _pglMaxStartDate+      (\ s a -> s{_pglMaxStartDate = a})++-- | Select only placement groups that belong to these advertisers.+pglAdvertiserIds :: Lens' PlacementGroupsList [Int64]+pglAdvertiserIds+  = lens _pglAdvertiserIds+      (\ s a -> s{_pglAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Select only placements or placement groups whose start date is on or+-- after the specified minStartDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pglMinStartDate :: Lens' PlacementGroupsList (Maybe Text)+pglMinStartDate+  = lens _pglMinStartDate+      (\ s a -> s{_pglMinStartDate = a})++-- | Select only archived placements. Don\'t set this field to select both+-- archived and non-archived placements.+pglArchived :: Lens' PlacementGroupsList (Maybe Bool)+pglArchived+  = lens _pglArchived (\ s a -> s{_pglArchived = a})++-- | Maximum number of results to return.+pglMaxResults :: Lens' PlacementGroupsList (Maybe Int32)+pglMaxResults+  = lens _pglMaxResults+      (\ s a -> s{_pglMaxResults = a})+      . mapping _Coerce++-- | Select only placements or placement groups whose end date is on or after+-- the specified minEndDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pglMinEndDate :: Lens' PlacementGroupsList (Maybe Text)+pglMinEndDate+  = lens _pglMinEndDate+      (\ s a -> s{_pglMinEndDate = a})++instance GoogleRequest PlacementGroupsList where+        type Rs PlacementGroupsList =+             PlacementGroupsListResponse+        requestClient PlacementGroupsList{..}+          = go _pglProFileId+              (_pglPlacementStrategyIds ^. _Default)+              (_pglContentCategoryIds ^. _Default)+              _pglMaxEndDate+              (_pglCampaignIds ^. _Default)+              (_pglPricingTypes ^. _Default)+              _pglSearchString+              (_pglIds ^. _Default)+              _pglPlacementGroupType+              (_pglDirectorySiteIds ^. _Default)+              _pglSortOrder+              (_pglSiteIds ^. _Default)+              _pglPageToken+              _pglSortField+              _pglMaxStartDate+              (_pglAdvertiserIds ^. _Default)+              _pglMinStartDate+              _pglArchived+              _pglMaxResults+              _pglMinEndDate+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementGroups/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.PlacementGroups.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement group. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementGroups.patch@.+module Network.Google.Resource.DFAReporting.PlacementGroups.Patch+    (+    -- * REST Resource+      PlacementGroupsPatchResource++    -- * Creating a Request+    , placementGroupsPatch+    , PlacementGroupsPatch++    -- * Request Lenses+    , pgpProFileId+    , pgpPayload+    , pgpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementGroups.patch@ method which the+-- 'PlacementGroupsPatch' request conforms to.+type PlacementGroupsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementGroups" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PlacementGroup :>+                     Patch '[JSON] PlacementGroup++-- | Updates an existing placement group. This method supports patch+-- semantics.+--+-- /See:/ 'placementGroupsPatch' smart constructor.+data PlacementGroupsPatch = PlacementGroupsPatch+    { _pgpProFileId :: !(Textual Int64)+    , _pgpPayload   :: !PlacementGroup+    , _pgpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgpProFileId'+--+-- * 'pgpPayload'+--+-- * 'pgpId'+placementGroupsPatch+    :: Int64 -- ^ 'pgpProFileId'+    -> PlacementGroup -- ^ 'pgpPayload'+    -> Int64 -- ^ 'pgpId'+    -> PlacementGroupsPatch+placementGroupsPatch pPgpProFileId_ pPgpPayload_ pPgpId_ =+    PlacementGroupsPatch+    { _pgpProFileId = _Coerce # pPgpProFileId_+    , _pgpPayload = pPgpPayload_+    , _pgpId = _Coerce # pPgpId_+    }++-- | User profile ID associated with this request.+pgpProFileId :: Lens' PlacementGroupsPatch Int64+pgpProFileId+  = lens _pgpProFileId (\ s a -> s{_pgpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+pgpPayload :: Lens' PlacementGroupsPatch PlacementGroup+pgpPayload+  = lens _pgpPayload (\ s a -> s{_pgpPayload = a})++-- | Placement group ID.+pgpId :: Lens' PlacementGroupsPatch Int64+pgpId+  = lens _pgpId (\ s a -> s{_pgpId = a}) . _Coerce++instance GoogleRequest PlacementGroupsPatch where+        type Rs PlacementGroupsPatch = PlacementGroup+        requestClient PlacementGroupsPatch{..}+          = go _pgpProFileId (Just _pgpId) (Just AltJSON)+              _pgpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementGroupsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementGroups/Update.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.DFAReporting.PlacementGroups.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement group.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementGroups.update@.+module Network.Google.Resource.DFAReporting.PlacementGroups.Update+    (+    -- * REST Resource+      PlacementGroupsUpdateResource++    -- * Creating a Request+    , placementGroupsUpdate+    , PlacementGroupsUpdate++    -- * Request Lenses+    , pguProFileId+    , pguPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementGroups.update@ method which the+-- 'PlacementGroupsUpdate' request conforms to.+type PlacementGroupsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementGroups" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] PlacementGroup :>+                   Put '[JSON] PlacementGroup++-- | Updates an existing placement group.+--+-- /See:/ 'placementGroupsUpdate' smart constructor.+data PlacementGroupsUpdate = PlacementGroupsUpdate+    { _pguProFileId :: !(Textual Int64)+    , _pguPayload   :: !PlacementGroup+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementGroupsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pguProFileId'+--+-- * 'pguPayload'+placementGroupsUpdate+    :: Int64 -- ^ 'pguProFileId'+    -> PlacementGroup -- ^ 'pguPayload'+    -> PlacementGroupsUpdate+placementGroupsUpdate pPguProFileId_ pPguPayload_ =+    PlacementGroupsUpdate+    { _pguProFileId = _Coerce # pPguProFileId_+    , _pguPayload = pPguPayload_+    }++-- | User profile ID associated with this request.+pguProFileId :: Lens' PlacementGroupsUpdate Int64+pguProFileId+  = lens _pguProFileId (\ s a -> s{_pguProFileId = a})+      . _Coerce++-- | Multipart request metadata.+pguPayload :: Lens' PlacementGroupsUpdate PlacementGroup+pguPayload+  = lens _pguPayload (\ s a -> s{_pguPayload = a})++instance GoogleRequest PlacementGroupsUpdate where+        type Rs PlacementGroupsUpdate = PlacementGroup+        requestClient PlacementGroupsUpdate{..}+          = go _pguProFileId (Just AltJSON) _pguPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementGroupsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Delete.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.DFAReporting.PlacementStrategies.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing placement strategy.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.delete@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.Delete+    (+    -- * REST Resource+      PlacementStrategiesDeleteResource++    -- * Creating a Request+    , placementStrategiesDelete+    , PlacementStrategiesDelete++    -- * Request Lenses+    , psdProFileId+    , psdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.delete@ method which the+-- 'PlacementStrategiesDelete' request conforms to.+type PlacementStrategiesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing placement strategy.+--+-- /See:/ 'placementStrategiesDelete' smart constructor.+data PlacementStrategiesDelete = PlacementStrategiesDelete+    { _psdProFileId :: !(Textual Int64)+    , _psdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psdProFileId'+--+-- * 'psdId'+placementStrategiesDelete+    :: Int64 -- ^ 'psdProFileId'+    -> Int64 -- ^ 'psdId'+    -> PlacementStrategiesDelete+placementStrategiesDelete pPsdProFileId_ pPsdId_ =+    PlacementStrategiesDelete+    { _psdProFileId = _Coerce # pPsdProFileId_+    , _psdId = _Coerce # pPsdId_+    }++-- | User profile ID associated with this request.+psdProFileId :: Lens' PlacementStrategiesDelete Int64+psdProFileId+  = lens _psdProFileId (\ s a -> s{_psdProFileId = a})+      . _Coerce++-- | Placement strategy ID.+psdId :: Lens' PlacementStrategiesDelete Int64+psdId+  = lens _psdId (\ s a -> s{_psdId = a}) . _Coerce++instance GoogleRequest PlacementStrategiesDelete+         where+        type Rs PlacementStrategiesDelete = ()+        requestClient PlacementStrategiesDelete{..}+          = go _psdProFileId _psdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/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.DFAReporting.PlacementStrategies.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)+--+-- Gets one placement strategy by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.get@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.Get+    (+    -- * REST Resource+      PlacementStrategiesGetResource++    -- * Creating a Request+    , placementStrategiesGet+    , PlacementStrategiesGet++    -- * Request Lenses+    , psgProFileId+    , psgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.get@ method which the+-- 'PlacementStrategiesGet' request conforms to.+type PlacementStrategiesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] PlacementStrategy++-- | Gets one placement strategy by ID.+--+-- /See:/ 'placementStrategiesGet' smart constructor.+data PlacementStrategiesGet = PlacementStrategiesGet+    { _psgProFileId :: !(Textual Int64)+    , _psgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psgProFileId'+--+-- * 'psgId'+placementStrategiesGet+    :: Int64 -- ^ 'psgProFileId'+    -> Int64 -- ^ 'psgId'+    -> PlacementStrategiesGet+placementStrategiesGet pPsgProFileId_ pPsgId_ =+    PlacementStrategiesGet+    { _psgProFileId = _Coerce # pPsgProFileId_+    , _psgId = _Coerce # pPsgId_+    }++-- | User profile ID associated with this request.+psgProFileId :: Lens' PlacementStrategiesGet Int64+psgProFileId+  = lens _psgProFileId (\ s a -> s{_psgProFileId = a})+      . _Coerce++-- | Placement strategy ID.+psgId :: Lens' PlacementStrategiesGet Int64+psgId+  = lens _psgId (\ s a -> s{_psgId = a}) . _Coerce++instance GoogleRequest PlacementStrategiesGet where+        type Rs PlacementStrategiesGet = PlacementStrategy+        requestClient PlacementStrategiesGet{..}+          = go _psgProFileId _psgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Insert.hs view
@@ -0,0 +1,100 @@+{-# 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.DFAReporting.PlacementStrategies.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new placement strategy.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.insert@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.Insert+    (+    -- * REST Resource+      PlacementStrategiesInsertResource++    -- * Creating a Request+    , placementStrategiesInsert+    , PlacementStrategiesInsert++    -- * Request Lenses+    , psiProFileId+    , psiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.insert@ method which the+-- 'PlacementStrategiesInsert' request conforms to.+type PlacementStrategiesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] PlacementStrategy :>+                   Post '[JSON] PlacementStrategy++-- | Inserts a new placement strategy.+--+-- /See:/ 'placementStrategiesInsert' smart constructor.+data PlacementStrategiesInsert = PlacementStrategiesInsert+    { _psiProFileId :: !(Textual Int64)+    , _psiPayload   :: !PlacementStrategy+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psiProFileId'+--+-- * 'psiPayload'+placementStrategiesInsert+    :: Int64 -- ^ 'psiProFileId'+    -> PlacementStrategy -- ^ 'psiPayload'+    -> PlacementStrategiesInsert+placementStrategiesInsert pPsiProFileId_ pPsiPayload_ =+    PlacementStrategiesInsert+    { _psiProFileId = _Coerce # pPsiProFileId_+    , _psiPayload = pPsiPayload_+    }++-- | User profile ID associated with this request.+psiProFileId :: Lens' PlacementStrategiesInsert Int64+psiProFileId+  = lens _psiProFileId (\ s a -> s{_psiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+psiPayload :: Lens' PlacementStrategiesInsert PlacementStrategy+psiPayload+  = lens _psiPayload (\ s a -> s{_psiPayload = a})++instance GoogleRequest PlacementStrategiesInsert+         where+        type Rs PlacementStrategiesInsert = PlacementStrategy+        requestClient PlacementStrategiesInsert{..}+          = go _psiProFileId (Just AltJSON) _psiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/List.hs view
@@ -0,0 +1,175 @@+{-# 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.DFAReporting.PlacementStrategies.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)+--+-- Retrieves a list of placement strategies, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.list@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.List+    (+    -- * REST Resource+      PlacementStrategiesListResource++    -- * Creating a Request+    , placementStrategiesList+    , PlacementStrategiesList++    -- * Request Lenses+    , pslSearchString+    , pslIds+    , pslProFileId+    , pslSortOrder+    , pslPageToken+    , pslSortField+    , pslMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.list@ method which the+-- 'PlacementStrategiesList' request conforms to.+type PlacementStrategiesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder"+                     PlacementStrategiesListSortOrder+                     :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField"+                         PlacementStrategiesListSortField+                         :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] PlacementStrategiesListResponse++-- | Retrieves a list of placement strategies, possibly filtered.+--+-- /See:/ 'placementStrategiesList' smart constructor.+data PlacementStrategiesList = PlacementStrategiesList+    { _pslSearchString :: !(Maybe Text)+    , _pslIds          :: !(Maybe [Textual Int64])+    , _pslProFileId    :: !(Textual Int64)+    , _pslSortOrder    :: !(Maybe PlacementStrategiesListSortOrder)+    , _pslPageToken    :: !(Maybe Text)+    , _pslSortField    :: !(Maybe PlacementStrategiesListSortField)+    , _pslMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pslSearchString'+--+-- * 'pslIds'+--+-- * 'pslProFileId'+--+-- * 'pslSortOrder'+--+-- * 'pslPageToken'+--+-- * 'pslSortField'+--+-- * 'pslMaxResults'+placementStrategiesList+    :: Int64 -- ^ 'pslProFileId'+    -> PlacementStrategiesList+placementStrategiesList pPslProFileId_ =+    PlacementStrategiesList+    { _pslSearchString = Nothing+    , _pslIds = Nothing+    , _pslProFileId = _Coerce # pPslProFileId_+    , _pslSortOrder = Nothing+    , _pslPageToken = Nothing+    , _pslSortField = Nothing+    , _pslMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"placementstrategy*2015\" will return objects with names+-- like \"placementstrategy June 2015\", \"placementstrategy April 2015\",+-- or simply \"placementstrategy 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"placementstrategy\" will match objects+-- with name \"my placementstrategy\", \"placementstrategy 2015\", or+-- simply \"placementstrategy\".+pslSearchString :: Lens' PlacementStrategiesList (Maybe Text)+pslSearchString+  = lens _pslSearchString+      (\ s a -> s{_pslSearchString = a})++-- | Select only placement strategies with these IDs.+pslIds :: Lens' PlacementStrategiesList [Int64]+pslIds+  = lens _pslIds (\ s a -> s{_pslIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+pslProFileId :: Lens' PlacementStrategiesList Int64+pslProFileId+  = lens _pslProFileId (\ s a -> s{_pslProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+pslSortOrder :: Lens' PlacementStrategiesList (Maybe PlacementStrategiesListSortOrder)+pslSortOrder+  = lens _pslSortOrder (\ s a -> s{_pslSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+pslPageToken :: Lens' PlacementStrategiesList (Maybe Text)+pslPageToken+  = lens _pslPageToken (\ s a -> s{_pslPageToken = a})++-- | Field by which to sort the list.+pslSortField :: Lens' PlacementStrategiesList (Maybe PlacementStrategiesListSortField)+pslSortField+  = lens _pslSortField (\ s a -> s{_pslSortField = a})++-- | Maximum number of results to return.+pslMaxResults :: Lens' PlacementStrategiesList (Maybe Int32)+pslMaxResults+  = lens _pslMaxResults+      (\ s a -> s{_pslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest PlacementStrategiesList where+        type Rs PlacementStrategiesList =+             PlacementStrategiesListResponse+        requestClient PlacementStrategiesList{..}+          = go _pslProFileId _pslSearchString+              (_pslIds ^. _Default)+              _pslSortOrder+              _pslPageToken+              _pslSortField+              _pslMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.PlacementStrategies.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement strategy. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.patch@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.Patch+    (+    -- * REST Resource+      PlacementStrategiesPatchResource++    -- * Creating a Request+    , placementStrategiesPatch+    , PlacementStrategiesPatch++    -- * Request Lenses+    , pspProFileId+    , pspPayload+    , pspId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.patch@ method which the+-- 'PlacementStrategiesPatch' request conforms to.+type PlacementStrategiesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PlacementStrategy :>+                     Patch '[JSON] PlacementStrategy++-- | Updates an existing placement strategy. This method supports patch+-- semantics.+--+-- /See:/ 'placementStrategiesPatch' smart constructor.+data PlacementStrategiesPatch = PlacementStrategiesPatch+    { _pspProFileId :: !(Textual Int64)+    , _pspPayload   :: !PlacementStrategy+    , _pspId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pspProFileId'+--+-- * 'pspPayload'+--+-- * 'pspId'+placementStrategiesPatch+    :: Int64 -- ^ 'pspProFileId'+    -> PlacementStrategy -- ^ 'pspPayload'+    -> Int64 -- ^ 'pspId'+    -> PlacementStrategiesPatch+placementStrategiesPatch pPspProFileId_ pPspPayload_ pPspId_ =+    PlacementStrategiesPatch+    { _pspProFileId = _Coerce # pPspProFileId_+    , _pspPayload = pPspPayload_+    , _pspId = _Coerce # pPspId_+    }++-- | User profile ID associated with this request.+pspProFileId :: Lens' PlacementStrategiesPatch Int64+pspProFileId+  = lens _pspProFileId (\ s a -> s{_pspProFileId = a})+      . _Coerce++-- | Multipart request metadata.+pspPayload :: Lens' PlacementStrategiesPatch PlacementStrategy+pspPayload+  = lens _pspPayload (\ s a -> s{_pspPayload = a})++-- | Placement strategy ID.+pspId :: Lens' PlacementStrategiesPatch Int64+pspId+  = lens _pspId (\ s a -> s{_pspId = a}) . _Coerce++instance GoogleRequest PlacementStrategiesPatch where+        type Rs PlacementStrategiesPatch = PlacementStrategy+        requestClient PlacementStrategiesPatch{..}+          = go _pspProFileId (Just _pspId) (Just AltJSON)+              _pspPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Update.hs view
@@ -0,0 +1,100 @@+{-# 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.DFAReporting.PlacementStrategies.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement strategy.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placementStrategies.update@.+module Network.Google.Resource.DFAReporting.PlacementStrategies.Update+    (+    -- * REST Resource+      PlacementStrategiesUpdateResource++    -- * Creating a Request+    , placementStrategiesUpdate+    , PlacementStrategiesUpdate++    -- * Request Lenses+    , psuProFileId+    , psuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placementStrategies.update@ method which the+-- 'PlacementStrategiesUpdate' request conforms to.+type PlacementStrategiesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placementStrategies" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] PlacementStrategy :>+                   Put '[JSON] PlacementStrategy++-- | Updates an existing placement strategy.+--+-- /See:/ 'placementStrategiesUpdate' smart constructor.+data PlacementStrategiesUpdate = PlacementStrategiesUpdate+    { _psuProFileId :: !(Textual Int64)+    , _psuPayload   :: !PlacementStrategy+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementStrategiesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psuProFileId'+--+-- * 'psuPayload'+placementStrategiesUpdate+    :: Int64 -- ^ 'psuProFileId'+    -> PlacementStrategy -- ^ 'psuPayload'+    -> PlacementStrategiesUpdate+placementStrategiesUpdate pPsuProFileId_ pPsuPayload_ =+    PlacementStrategiesUpdate+    { _psuProFileId = _Coerce # pPsuProFileId_+    , _psuPayload = pPsuPayload_+    }++-- | User profile ID associated with this request.+psuProFileId :: Lens' PlacementStrategiesUpdate Int64+psuProFileId+  = lens _psuProFileId (\ s a -> s{_psuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+psuPayload :: Lens' PlacementStrategiesUpdate PlacementStrategy+psuPayload+  = lens _psuPayload (\ s a -> s{_psuPayload = a})++instance GoogleRequest PlacementStrategiesUpdate+         where+        type Rs PlacementStrategiesUpdate = PlacementStrategy+        requestClient PlacementStrategiesUpdate{..}+          = go _psuProFileId (Just AltJSON) _psuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementStrategiesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/Generatetags.hs view
@@ -0,0 +1,136 @@+{-# 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.DFAReporting.Placements.Generatetags+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates tags for a placement.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.generatetags@.+module Network.Google.Resource.DFAReporting.Placements.Generatetags+    (+    -- * REST Resource+      PlacementsGeneratetagsResource++    -- * Creating a Request+    , placementsGeneratetags+    , PlacementsGeneratetags++    -- * Request Lenses+    , pgsTagFormats+    , pgsCampaignId+    , pgsProFileId+    , pgsPlacementIds+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.generatetags@ method which the+-- 'PlacementsGeneratetags' request conforms to.+type PlacementsGeneratetagsResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               "generatetags" :>+                 QueryParams "tagFormats"+                   PlacementsGeneratetagsTagFormats+                   :>+                   QueryParam "campaignId" (Textual Int64) :>+                     QueryParams "placementIds" (Textual Int64) :>+                       QueryParam "alt" AltJSON :>+                         Post '[JSON] PlacementsGenerateTagsResponse++-- | Generates tags for a placement.+--+-- /See:/ 'placementsGeneratetags' smart constructor.+data PlacementsGeneratetags = PlacementsGeneratetags+    { _pgsTagFormats   :: !(Maybe [PlacementsGeneratetagsTagFormats])+    , _pgsCampaignId   :: !(Maybe (Textual Int64))+    , _pgsProFileId    :: !(Textual Int64)+    , _pgsPlacementIds :: !(Maybe [Textual Int64])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsGeneratetags' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgsTagFormats'+--+-- * 'pgsCampaignId'+--+-- * 'pgsProFileId'+--+-- * 'pgsPlacementIds'+placementsGeneratetags+    :: Int64 -- ^ 'pgsProFileId'+    -> PlacementsGeneratetags+placementsGeneratetags pPgsProFileId_ =+    PlacementsGeneratetags+    { _pgsTagFormats = Nothing+    , _pgsCampaignId = Nothing+    , _pgsProFileId = _Coerce # pPgsProFileId_+    , _pgsPlacementIds = Nothing+    }++-- | Tag formats to generate for these placements.+pgsTagFormats :: Lens' PlacementsGeneratetags [PlacementsGeneratetagsTagFormats]+pgsTagFormats+  = lens _pgsTagFormats+      (\ s a -> s{_pgsTagFormats = a})+      . _Default+      . _Coerce++-- | Generate placements belonging to this campaign. This is a required+-- field.+pgsCampaignId :: Lens' PlacementsGeneratetags (Maybe Int64)+pgsCampaignId+  = lens _pgsCampaignId+      (\ s a -> s{_pgsCampaignId = a})+      . mapping _Coerce++-- | User profile ID associated with this request.+pgsProFileId :: Lens' PlacementsGeneratetags Int64+pgsProFileId+  = lens _pgsProFileId (\ s a -> s{_pgsProFileId = a})+      . _Coerce++-- | Generate tags for these placements.+pgsPlacementIds :: Lens' PlacementsGeneratetags [Int64]+pgsPlacementIds+  = lens _pgsPlacementIds+      (\ s a -> s{_pgsPlacementIds = a})+      . _Default+      . _Coerce++instance GoogleRequest PlacementsGeneratetags where+        type Rs PlacementsGeneratetags =+             PlacementsGenerateTagsResponse+        requestClient PlacementsGeneratetags{..}+          = go _pgsProFileId (_pgsTagFormats ^. _Default)+              _pgsCampaignId+              (_pgsPlacementIds ^. _Default)+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementsGeneratetagsResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Placements.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)+--+-- Gets one placement by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.get@.+module Network.Google.Resource.DFAReporting.Placements.Get+    (+    -- * REST Resource+      PlacementsGetResource++    -- * Creating a Request+    , placementsGet+    , PlacementsGet++    -- * Request Lenses+    , pgProFileId+    , pgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.get@ method which the+-- 'PlacementsGet' request conforms to.+type PlacementsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Placement++-- | Gets one placement by ID.+--+-- /See:/ 'placementsGet' smart constructor.+data PlacementsGet = PlacementsGet+    { _pgProFileId :: !(Textual Int64)+    , _pgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgProFileId'+--+-- * 'pgId'+placementsGet+    :: Int64 -- ^ 'pgProFileId'+    -> Int64 -- ^ 'pgId'+    -> PlacementsGet+placementsGet pPgProFileId_ pPgId_ =+    PlacementsGet+    { _pgProFileId = _Coerce # pPgProFileId_+    , _pgId = _Coerce # pPgId_+    }++-- | User profile ID associated with this request.+pgProFileId :: Lens' PlacementsGet Int64+pgProFileId+  = lens _pgProFileId (\ s a -> s{_pgProFileId = a}) .+      _Coerce++-- | Placement ID.+pgId :: Lens' PlacementsGet Int64+pgId = lens _pgId (\ s a -> s{_pgId = a}) . _Coerce++instance GoogleRequest PlacementsGet where+        type Rs PlacementsGet = Placement+        requestClient PlacementsGet{..}+          = go _pgProFileId _pgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy PlacementsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/Insert.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.DFAReporting.Placements.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new placement.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.insert@.+module Network.Google.Resource.DFAReporting.Placements.Insert+    (+    -- * REST Resource+      PlacementsInsertResource++    -- * Creating a Request+    , placementsInsert+    , PlacementsInsert++    -- * Request Lenses+    , piProFileId+    , piPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.insert@ method which the+-- 'PlacementsInsert' request conforms to.+type PlacementsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Placement :> Post '[JSON] Placement++-- | Inserts a new placement.+--+-- /See:/ 'placementsInsert' smart constructor.+data PlacementsInsert = PlacementsInsert+    { _piProFileId :: !(Textual Int64)+    , _piPayload   :: !Placement+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piProFileId'+--+-- * 'piPayload'+placementsInsert+    :: Int64 -- ^ 'piProFileId'+    -> Placement -- ^ 'piPayload'+    -> PlacementsInsert+placementsInsert pPiProFileId_ pPiPayload_ =+    PlacementsInsert+    { _piProFileId = _Coerce # pPiProFileId_+    , _piPayload = pPiPayload_+    }++-- | User profile ID associated with this request.+piProFileId :: Lens' PlacementsInsert Int64+piProFileId+  = lens _piProFileId (\ s a -> s{_piProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+piPayload :: Lens' PlacementsInsert Placement+piPayload+  = lens _piPayload (\ s a -> s{_piPayload = a})++instance GoogleRequest PlacementsInsert where+        type Rs PlacementsInsert = Placement+        requestClient PlacementsInsert{..}+          = go _piProFileId (Just AltJSON) _piPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/List.hs view
@@ -0,0 +1,425 @@+{-# 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.DFAReporting.Placements.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)+--+-- Retrieves a list of placements, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.list@.+module Network.Google.Resource.DFAReporting.Placements.List+    (+    -- * REST Resource+      PlacementsListResource++    -- * Creating a Request+    , placementsList+    , PlacementsList++    -- * Request Lenses+    , pPlacementStrategyIds+    , pContentCategoryIds+    , pMaxEndDate+    , pCampaignIds+    , pPricingTypes+    , pSearchString+    , pSizeIds+    , pIds+    , pProFileId+    , pGroupIds+    , pDirectorySiteIds+    , pSortOrder+    , pPaymentSource+    , pSiteIds+    , pPageToken+    , pSortField+    , pCompatibilities+    , pMaxStartDate+    , pAdvertiserIds+    , pMinStartDate+    , pArchived+    , pMaxResults+    , pMinEndDate+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.list@ method which the+-- 'PlacementsList' request conforms to.+type PlacementsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               QueryParams "placementStrategyIds" (Textual Int64) :>+                 QueryParams "contentCategoryIds" (Textual Int64) :>+                   QueryParam "maxEndDate" Text :>+                     QueryParams "campaignIds" (Textual Int64) :>+                       QueryParams "pricingTypes" PlacementsListPricingTypes+                         :>+                         QueryParam "searchString" Text :>+                           QueryParams "sizeIds" (Textual Int64) :>+                             QueryParams "ids" (Textual Int64) :>+                               QueryParams "groupIds" (Textual Int64) :>+                                 QueryParams "directorySiteIds" (Textual Int64)+                                   :>+                                   QueryParam "sortOrder"+                                     PlacementsListSortOrder+                                     :>+                                     QueryParam "paymentSource"+                                       PlacementsListPaymentSource+                                       :>+                                       QueryParams "siteIds" (Textual Int64) :>+                                         QueryParam "pageToken" Text :>+                                           QueryParam "sortField"+                                             PlacementsListSortField+                                             :>+                                             QueryParams "compatibilities"+                                               PlacementsListCompatibilities+                                               :>+                                               QueryParam "maxStartDate" Text :>+                                                 QueryParams "advertiserIds"+                                                   (Textual Int64)+                                                   :>+                                                   QueryParam "minStartDate"+                                                     Text+                                                     :>+                                                     QueryParam "archived" Bool+                                                       :>+                                                       QueryParam "maxResults"+                                                         (Textual Int32)+                                                         :>+                                                         QueryParam "minEndDate"+                                                           Text+                                                           :>+                                                           QueryParam "alt"+                                                             AltJSON+                                                             :>+                                                             Get '[JSON]+                                                               PlacementsListResponse++-- | Retrieves a list of placements, possibly filtered.+--+-- /See:/ 'placementsList' smart constructor.+data PlacementsList = PlacementsList+    { _pPlacementStrategyIds :: !(Maybe [Textual Int64])+    , _pContentCategoryIds   :: !(Maybe [Textual Int64])+    , _pMaxEndDate           :: !(Maybe Text)+    , _pCampaignIds          :: !(Maybe [Textual Int64])+    , _pPricingTypes         :: !(Maybe [PlacementsListPricingTypes])+    , _pSearchString         :: !(Maybe Text)+    , _pSizeIds              :: !(Maybe [Textual Int64])+    , _pIds                  :: !(Maybe [Textual Int64])+    , _pProFileId            :: !(Textual Int64)+    , _pGroupIds             :: !(Maybe [Textual Int64])+    , _pDirectorySiteIds     :: !(Maybe [Textual Int64])+    , _pSortOrder            :: !(Maybe PlacementsListSortOrder)+    , _pPaymentSource        :: !(Maybe PlacementsListPaymentSource)+    , _pSiteIds              :: !(Maybe [Textual Int64])+    , _pPageToken            :: !(Maybe Text)+    , _pSortField            :: !(Maybe PlacementsListSortField)+    , _pCompatibilities      :: !(Maybe [PlacementsListCompatibilities])+    , _pMaxStartDate         :: !(Maybe Text)+    , _pAdvertiserIds        :: !(Maybe [Textual Int64])+    , _pMinStartDate         :: !(Maybe Text)+    , _pArchived             :: !(Maybe Bool)+    , _pMaxResults           :: !(Maybe (Textual Int32))+    , _pMinEndDate           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pPlacementStrategyIds'+--+-- * 'pContentCategoryIds'+--+-- * 'pMaxEndDate'+--+-- * 'pCampaignIds'+--+-- * 'pPricingTypes'+--+-- * 'pSearchString'+--+-- * 'pSizeIds'+--+-- * 'pIds'+--+-- * 'pProFileId'+--+-- * 'pGroupIds'+--+-- * 'pDirectorySiteIds'+--+-- * 'pSortOrder'+--+-- * 'pPaymentSource'+--+-- * 'pSiteIds'+--+-- * 'pPageToken'+--+-- * 'pSortField'+--+-- * 'pCompatibilities'+--+-- * 'pMaxStartDate'+--+-- * 'pAdvertiserIds'+--+-- * 'pMinStartDate'+--+-- * 'pArchived'+--+-- * 'pMaxResults'+--+-- * 'pMinEndDate'+placementsList+    :: Int64 -- ^ 'pProFileId'+    -> PlacementsList+placementsList pPProFileId_ =+    PlacementsList+    { _pPlacementStrategyIds = Nothing+    , _pContentCategoryIds = Nothing+    , _pMaxEndDate = Nothing+    , _pCampaignIds = Nothing+    , _pPricingTypes = Nothing+    , _pSearchString = Nothing+    , _pSizeIds = Nothing+    , _pIds = Nothing+    , _pProFileId = _Coerce # pPProFileId_+    , _pGroupIds = Nothing+    , _pDirectorySiteIds = Nothing+    , _pSortOrder = Nothing+    , _pPaymentSource = Nothing+    , _pSiteIds = Nothing+    , _pPageToken = Nothing+    , _pSortField = Nothing+    , _pCompatibilities = Nothing+    , _pMaxStartDate = Nothing+    , _pAdvertiserIds = Nothing+    , _pMinStartDate = Nothing+    , _pArchived = Nothing+    , _pMaxResults = Nothing+    , _pMinEndDate = Nothing+    }++-- | Select only placements that are associated with these placement+-- strategies.+pPlacementStrategyIds :: Lens' PlacementsList [Int64]+pPlacementStrategyIds+  = lens _pPlacementStrategyIds+      (\ s a -> s{_pPlacementStrategyIds = a})+      . _Default+      . _Coerce++-- | Select only placements that are associated with these content+-- categories.+pContentCategoryIds :: Lens' PlacementsList [Int64]+pContentCategoryIds+  = lens _pContentCategoryIds+      (\ s a -> s{_pContentCategoryIds = a})+      . _Default+      . _Coerce++-- | Select only placements or placement groups whose end date is on or+-- before the specified maxEndDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pMaxEndDate :: Lens' PlacementsList (Maybe Text)+pMaxEndDate+  = lens _pMaxEndDate (\ s a -> s{_pMaxEndDate = a})++-- | Select only placements that belong to these campaigns.+pCampaignIds :: Lens' PlacementsList [Int64]+pCampaignIds+  = lens _pCampaignIds (\ s a -> s{_pCampaignIds = a})+      . _Default+      . _Coerce++-- | Select only placements with these pricing types.+pPricingTypes :: Lens' PlacementsList [PlacementsListPricingTypes]+pPricingTypes+  = lens _pPricingTypes+      (\ s a -> s{_pPricingTypes = a})+      . _Default+      . _Coerce++-- | Allows searching for placements by name or ID. Wildcards (*) are+-- allowed. For example, \"placement*2015\" will return placements with+-- names like \"placement June 2015\", \"placement May 2015\", or simply+-- \"placements 2015\". Most of the searches also add wildcards implicitly+-- at the start and the end of the search string. For example, a search+-- string of \"placement\" will match placements with name \"my+-- placement\", \"placement 2015\", or simply \"placement\".+pSearchString :: Lens' PlacementsList (Maybe Text)+pSearchString+  = lens _pSearchString+      (\ s a -> s{_pSearchString = a})++-- | Select only placements that are associated with these sizes.+pSizeIds :: Lens' PlacementsList [Int64]+pSizeIds+  = lens _pSizeIds (\ s a -> s{_pSizeIds = a}) .+      _Default+      . _Coerce++-- | Select only placements with these IDs.+pIds :: Lens' PlacementsList [Int64]+pIds+  = lens _pIds (\ s a -> s{_pIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+pProFileId :: Lens' PlacementsList Int64+pProFileId+  = lens _pProFileId (\ s a -> s{_pProFileId = a}) .+      _Coerce++-- | Select only placements that belong to these placement groups.+pGroupIds :: Lens' PlacementsList [Int64]+pGroupIds+  = lens _pGroupIds (\ s a -> s{_pGroupIds = a}) .+      _Default+      . _Coerce++-- | Select only placements that are associated with these directory sites.+pDirectorySiteIds :: Lens' PlacementsList [Int64]+pDirectorySiteIds+  = lens _pDirectorySiteIds+      (\ s a -> s{_pDirectorySiteIds = a})+      . _Default+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+pSortOrder :: Lens' PlacementsList (Maybe PlacementsListSortOrder)+pSortOrder+  = lens _pSortOrder (\ s a -> s{_pSortOrder = a})++-- | Select only placements with this payment source.+pPaymentSource :: Lens' PlacementsList (Maybe PlacementsListPaymentSource)+pPaymentSource+  = lens _pPaymentSource+      (\ s a -> s{_pPaymentSource = a})++-- | Select only placements that are associated with these sites.+pSiteIds :: Lens' PlacementsList [Int64]+pSiteIds+  = lens _pSiteIds (\ s a -> s{_pSiteIds = a}) .+      _Default+      . _Coerce++-- | Value of the nextPageToken from the previous result page.+pPageToken :: Lens' PlacementsList (Maybe Text)+pPageToken+  = lens _pPageToken (\ s a -> s{_pPageToken = a})++-- | Field by which to sort the list.+pSortField :: Lens' PlacementsList (Maybe PlacementsListSortField)+pSortField+  = lens _pSortField (\ s a -> s{_pSortField = a})++-- | Select only placements that are associated with these compatibilities.+-- WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on+-- mobile devices for regular or interstitial ads respectively. APP and+-- APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers+-- to rendering in in-stream video ads developed with the VAST standard.+pCompatibilities :: Lens' PlacementsList [PlacementsListCompatibilities]+pCompatibilities+  = lens _pCompatibilities+      (\ s a -> s{_pCompatibilities = a})+      . _Default+      . _Coerce++-- | Select only placements or placement groups whose start date is on or+-- before the specified maxStartDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pMaxStartDate :: Lens' PlacementsList (Maybe Text)+pMaxStartDate+  = lens _pMaxStartDate+      (\ s a -> s{_pMaxStartDate = a})++-- | Select only placements that belong to these advertisers.+pAdvertiserIds :: Lens' PlacementsList [Int64]+pAdvertiserIds+  = lens _pAdvertiserIds+      (\ s a -> s{_pAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Select only placements or placement groups whose start date is on or+-- after the specified minStartDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pMinStartDate :: Lens' PlacementsList (Maybe Text)+pMinStartDate+  = lens _pMinStartDate+      (\ s a -> s{_pMinStartDate = a})++-- | Select only archived placements. Don\'t set this field to select both+-- archived and non-archived placements.+pArchived :: Lens' PlacementsList (Maybe Bool)+pArchived+  = lens _pArchived (\ s a -> s{_pArchived = a})++-- | Maximum number of results to return.+pMaxResults :: Lens' PlacementsList (Maybe Int32)+pMaxResults+  = lens _pMaxResults (\ s a -> s{_pMaxResults = a}) .+      mapping _Coerce++-- | Select only placements or placement groups whose end date is on or after+-- the specified minEndDate. The date should be formatted as+-- \"yyyy-MM-dd\".+pMinEndDate :: Lens' PlacementsList (Maybe Text)+pMinEndDate+  = lens _pMinEndDate (\ s a -> s{_pMinEndDate = a})++instance GoogleRequest PlacementsList where+        type Rs PlacementsList = PlacementsListResponse+        requestClient PlacementsList{..}+          = go _pProFileId (_pPlacementStrategyIds ^. _Default)+              (_pContentCategoryIds ^. _Default)+              _pMaxEndDate+              (_pCampaignIds ^. _Default)+              (_pPricingTypes ^. _Default)+              _pSearchString+              (_pSizeIds ^. _Default)+              (_pIds ^. _Default)+              (_pGroupIds ^. _Default)+              (_pDirectorySiteIds ^. _Default)+              _pSortOrder+              _pPaymentSource+              (_pSiteIds ^. _Default)+              _pPageToken+              _pSortField+              (_pCompatibilities ^. _Default)+              _pMaxStartDate+              (_pAdvertiserIds ^. _Default)+              _pMinStartDate+              _pArchived+              _pMaxResults+              _pMinEndDate+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy PlacementsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/Patch.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.Placements.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.patch@.+module Network.Google.Resource.DFAReporting.Placements.Patch+    (+    -- * REST Resource+      PlacementsPatchResource++    -- * Creating a Request+    , placementsPatch+    , PlacementsPatch++    -- * Request Lenses+    , ppProFileId+    , ppPayload+    , ppId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.patch@ method which the+-- 'PlacementsPatch' request conforms to.+type PlacementsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Placement :> Patch '[JSON] Placement++-- | Updates an existing placement. This method supports patch semantics.+--+-- /See:/ 'placementsPatch' smart constructor.+data PlacementsPatch = PlacementsPatch+    { _ppProFileId :: !(Textual Int64)+    , _ppPayload   :: !Placement+    , _ppId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppProFileId'+--+-- * 'ppPayload'+--+-- * 'ppId'+placementsPatch+    :: Int64 -- ^ 'ppProFileId'+    -> Placement -- ^ 'ppPayload'+    -> Int64 -- ^ 'ppId'+    -> PlacementsPatch+placementsPatch pPpProFileId_ pPpPayload_ pPpId_ =+    PlacementsPatch+    { _ppProFileId = _Coerce # pPpProFileId_+    , _ppPayload = pPpPayload_+    , _ppId = _Coerce # pPpId_+    }++-- | User profile ID associated with this request.+ppProFileId :: Lens' PlacementsPatch Int64+ppProFileId+  = lens _ppProFileId (\ s a -> s{_ppProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+ppPayload :: Lens' PlacementsPatch Placement+ppPayload+  = lens _ppPayload (\ s a -> s{_ppPayload = a})++-- | Placement ID.+ppId :: Lens' PlacementsPatch Int64+ppId = lens _ppId (\ s a -> s{_ppId = a}) . _Coerce++instance GoogleRequest PlacementsPatch where+        type Rs PlacementsPatch = Placement+        requestClient PlacementsPatch{..}+          = go _ppProFileId (Just _ppId) (Just AltJSON)+              _ppPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Placements/Update.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.DFAReporting.Placements.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing placement.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.placements.update@.+module Network.Google.Resource.DFAReporting.Placements.Update+    (+    -- * REST Resource+      PlacementsUpdateResource++    -- * Creating a Request+    , placementsUpdate+    , PlacementsUpdate++    -- * Request Lenses+    , puProFileId+    , puPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.placements.update@ method which the+-- 'PlacementsUpdate' request conforms to.+type PlacementsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "placements" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Placement :> Put '[JSON] Placement++-- | Updates an existing placement.+--+-- /See:/ 'placementsUpdate' smart constructor.+data PlacementsUpdate = PlacementsUpdate+    { _puProFileId :: !(Textual Int64)+    , _puPayload   :: !Placement+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlacementsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puProFileId'+--+-- * 'puPayload'+placementsUpdate+    :: Int64 -- ^ 'puProFileId'+    -> Placement -- ^ 'puPayload'+    -> PlacementsUpdate+placementsUpdate pPuProFileId_ pPuPayload_ =+    PlacementsUpdate+    { _puProFileId = _Coerce # pPuProFileId_+    , _puPayload = pPuPayload_+    }++-- | User profile ID associated with this request.+puProFileId :: Lens' PlacementsUpdate Int64+puProFileId+  = lens _puProFileId (\ s a -> s{_puProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+puPayload :: Lens' PlacementsUpdate Placement+puPayload+  = lens _puPayload (\ s a -> s{_puPayload = a})++instance GoogleRequest PlacementsUpdate where+        type Rs PlacementsUpdate = Placement+        requestClient PlacementsUpdate{..}+          = go _puProFileId (Just AltJSON) _puPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlacementsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlatformTypes/Get.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.DFAReporting.PlatformTypes.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)+--+-- Gets one platform type by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.platformTypes.get@.+module Network.Google.Resource.DFAReporting.PlatformTypes.Get+    (+    -- * REST Resource+      PlatformTypesGetResource++    -- * Creating a Request+    , platformTypesGet+    , PlatformTypesGet++    -- * Request Lenses+    , ptgProFileId+    , ptgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.platformTypes.get@ method which the+-- 'PlatformTypesGet' request conforms to.+type PlatformTypesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "platformTypes" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] PlatformType++-- | Gets one platform type by ID.+--+-- /See:/ 'platformTypesGet' smart constructor.+data PlatformTypesGet = PlatformTypesGet+    { _ptgProFileId :: !(Textual Int64)+    , _ptgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlatformTypesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptgProFileId'+--+-- * 'ptgId'+platformTypesGet+    :: Int64 -- ^ 'ptgProFileId'+    -> Int64 -- ^ 'ptgId'+    -> PlatformTypesGet+platformTypesGet pPtgProFileId_ pPtgId_ =+    PlatformTypesGet+    { _ptgProFileId = _Coerce # pPtgProFileId_+    , _ptgId = _Coerce # pPtgId_+    }++-- | User profile ID associated with this request.+ptgProFileId :: Lens' PlatformTypesGet Int64+ptgProFileId+  = lens _ptgProFileId (\ s a -> s{_ptgProFileId = a})+      . _Coerce++-- | Platform type ID.+ptgId :: Lens' PlatformTypesGet Int64+ptgId+  = lens _ptgId (\ s a -> s{_ptgId = a}) . _Coerce++instance GoogleRequest PlatformTypesGet where+        type Rs PlatformTypesGet = PlatformType+        requestClient PlatformTypesGet{..}+          = go _ptgProFileId _ptgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlatformTypesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PlatformTypes/List.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.PlatformTypes.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)+--+-- Retrieves a list of platform types.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.platformTypes.list@.+module Network.Google.Resource.DFAReporting.PlatformTypes.List+    (+    -- * REST Resource+      PlatformTypesListResource++    -- * Creating a Request+    , platformTypesList+    , PlatformTypesList++    -- * Request Lenses+    , ptlProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.platformTypes.list@ method which the+-- 'PlatformTypesList' request conforms to.+type PlatformTypesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "platformTypes" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PlatformTypesListResponse++-- | Retrieves a list of platform types.+--+-- /See:/ 'platformTypesList' smart constructor.+newtype PlatformTypesList = PlatformTypesList+    { _ptlProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlatformTypesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptlProFileId'+platformTypesList+    :: Int64 -- ^ 'ptlProFileId'+    -> PlatformTypesList+platformTypesList pPtlProFileId_ =+    PlatformTypesList+    { _ptlProFileId = _Coerce # pPtlProFileId_+    }++-- | User profile ID associated with this request.+ptlProFileId :: Lens' PlatformTypesList Int64+ptlProFileId+  = lens _ptlProFileId (\ s a -> s{_ptlProFileId = a})+      . _Coerce++instance GoogleRequest PlatformTypesList where+        type Rs PlatformTypesList = PlatformTypesListResponse+        requestClient PlatformTypesList{..}+          = go _ptlProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PlatformTypesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PostalCodes/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.PostalCodes.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)+--+-- Gets one postal code by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.postalCodes.get@.+module Network.Google.Resource.DFAReporting.PostalCodes.Get+    (+    -- * REST Resource+      PostalCodesGetResource++    -- * Creating a Request+    , postalCodesGet+    , PostalCodesGet++    -- * Request Lenses+    , pcgProFileId+    , pcgCode+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.postalCodes.get@ method which the+-- 'PostalCodesGet' request conforms to.+type PostalCodesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "postalCodes" :>+               Capture "code" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] PostalCode++-- | Gets one postal code by ID.+--+-- /See:/ 'postalCodesGet' smart constructor.+data PostalCodesGet = PostalCodesGet+    { _pcgProFileId :: !(Textual Int64)+    , _pcgCode      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostalCodesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcgProFileId'+--+-- * 'pcgCode'+postalCodesGet+    :: Int64 -- ^ 'pcgProFileId'+    -> Text -- ^ 'pcgCode'+    -> PostalCodesGet+postalCodesGet pPcgProFileId_ pPcgCode_ =+    PostalCodesGet+    { _pcgProFileId = _Coerce # pPcgProFileId_+    , _pcgCode = pPcgCode_+    }++-- | User profile ID associated with this request.+pcgProFileId :: Lens' PostalCodesGet Int64+pcgProFileId+  = lens _pcgProFileId (\ s a -> s{_pcgProFileId = a})+      . _Coerce++-- | Postal code ID.+pcgCode :: Lens' PostalCodesGet Text+pcgCode = lens _pcgCode (\ s a -> s{_pcgCode = a})++instance GoogleRequest PostalCodesGet where+        type Rs PostalCodesGet = PostalCode+        requestClient PostalCodesGet{..}+          = go _pcgProFileId _pcgCode (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy PostalCodesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/PostalCodes/List.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.PostalCodes.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)+--+-- Retrieves a list of postal codes.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.postalCodes.list@.+module Network.Google.Resource.DFAReporting.PostalCodes.List+    (+    -- * REST Resource+      PostalCodesListResource++    -- * Creating a Request+    , postalCodesList+    , PostalCodesList++    -- * Request Lenses+    , pclProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.postalCodes.list@ method which the+-- 'PostalCodesList' request conforms to.+type PostalCodesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "postalCodes" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PostalCodesListResponse++-- | Retrieves a list of postal codes.+--+-- /See:/ 'postalCodesList' smart constructor.+newtype PostalCodesList = PostalCodesList+    { _pclProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostalCodesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pclProFileId'+postalCodesList+    :: Int64 -- ^ 'pclProFileId'+    -> PostalCodesList+postalCodesList pPclProFileId_ =+    PostalCodesList+    { _pclProFileId = _Coerce # pPclProFileId_+    }++-- | User profile ID associated with this request.+pclProFileId :: Lens' PostalCodesList Int64+pclProFileId+  = lens _pclProFileId (\ s a -> s{_pclProFileId = a})+      . _Coerce++instance GoogleRequest PostalCodesList where+        type Rs PostalCodesList = PostalCodesListResponse+        requestClient PostalCodesList{..}+          = go _pclProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy PostalCodesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Projects/Get.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.DFAReporting.Projects.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)+--+-- Gets one project by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.projects.get@.+module Network.Google.Resource.DFAReporting.Projects.Get+    (+    -- * REST Resource+      ProjectsGetResource++    -- * Creating a Request+    , projectsGet+    , ProjectsGet++    -- * Request Lenses+    , proProFileId+    , proId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.projects.get@ method which the+-- 'ProjectsGet' request conforms to.+type ProjectsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Project++-- | Gets one project by ID.+--+-- /See:/ 'projectsGet' smart constructor.+data ProjectsGet = ProjectsGet+    { _proProFileId :: !(Textual Int64)+    , _proId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'proProFileId'+--+-- * 'proId'+projectsGet+    :: Int64 -- ^ 'proProFileId'+    -> Int64 -- ^ 'proId'+    -> ProjectsGet+projectsGet pProProFileId_ pProId_ =+    ProjectsGet+    { _proProFileId = _Coerce # pProProFileId_+    , _proId = _Coerce # pProId_+    }++-- | User profile ID associated with this request.+proProFileId :: Lens' ProjectsGet Int64+proProFileId+  = lens _proProFileId (\ s a -> s{_proProFileId = a})+      . _Coerce++-- | Project ID.+proId :: Lens' ProjectsGet Int64+proId+  = lens _proId (\ s a -> s{_proId = a}) . _Coerce++instance GoogleRequest ProjectsGet where+        type Rs ProjectsGet = Project+        requestClient ProjectsGet{..}+          = go _proProFileId _proId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ProjectsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Projects/List.hs view
@@ -0,0 +1,182 @@+{-# 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.DFAReporting.Projects.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)+--+-- Retrieves a list of projects, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.projects.list@.+module Network.Google.Resource.DFAReporting.Projects.List+    (+    -- * REST Resource+      ProjectsListResource++    -- * Creating a Request+    , projectsList+    , ProjectsList++    -- * Request Lenses+    , plSearchString+    , plIds+    , plProFileId+    , plSortOrder+    , plPageToken+    , plSortField+    , plAdvertiserIds+    , plMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.projects.list@ method which the+-- 'ProjectsList' request conforms to.+type ProjectsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "projects" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" ProjectsListSortOrder :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" ProjectsListSortField :>+                         QueryParams "advertiserIds" (Textual Int64) :>+                           QueryParam "maxResults" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] ProjectsListResponse++-- | Retrieves a list of projects, possibly filtered.+--+-- /See:/ 'projectsList' smart constructor.+data ProjectsList = ProjectsList+    { _plSearchString  :: !(Maybe Text)+    , _plIds           :: !(Maybe [Textual Int64])+    , _plProFileId     :: !(Textual Int64)+    , _plSortOrder     :: !(Maybe ProjectsListSortOrder)+    , _plPageToken     :: !(Maybe Text)+    , _plSortField     :: !(Maybe ProjectsListSortField)+    , _plAdvertiserIds :: !(Maybe [Textual Int64])+    , _plMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plSearchString'+--+-- * 'plIds'+--+-- * 'plProFileId'+--+-- * 'plSortOrder'+--+-- * 'plPageToken'+--+-- * 'plSortField'+--+-- * 'plAdvertiserIds'+--+-- * 'plMaxResults'+projectsList+    :: Int64 -- ^ 'plProFileId'+    -> ProjectsList+projectsList pPlProFileId_ =+    ProjectsList+    { _plSearchString = Nothing+    , _plIds = Nothing+    , _plProFileId = _Coerce # pPlProFileId_+    , _plSortOrder = Nothing+    , _plPageToken = Nothing+    , _plSortField = Nothing+    , _plAdvertiserIds = Nothing+    , _plMaxResults = Nothing+    }++-- | Allows searching for projects by name or ID. Wildcards (*) are allowed.+-- For example, \"project*2015\" will return projects with names like+-- \"project June 2015\", \"project April 2015\", or simply \"project+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"project\" will match projects with name \"my project\", \"project+-- 2015\", or simply \"project\".+plSearchString :: Lens' ProjectsList (Maybe Text)+plSearchString+  = lens _plSearchString+      (\ s a -> s{_plSearchString = a})++-- | Select only projects with these IDs.+plIds :: Lens' ProjectsList [Int64]+plIds+  = lens _plIds (\ s a -> s{_plIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+plProFileId :: Lens' ProjectsList Int64+plProFileId+  = lens _plProFileId (\ s a -> s{_plProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is ASCENDING.+plSortOrder :: Lens' ProjectsList (Maybe ProjectsListSortOrder)+plSortOrder+  = lens _plSortOrder (\ s a -> s{_plSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+plPageToken :: Lens' ProjectsList (Maybe Text)+plPageToken+  = lens _plPageToken (\ s a -> s{_plPageToken = a})++-- | Field by which to sort the list.+plSortField :: Lens' ProjectsList (Maybe ProjectsListSortField)+plSortField+  = lens _plSortField (\ s a -> s{_plSortField = a})++-- | Select only projects with these advertiser IDs.+plAdvertiserIds :: Lens' ProjectsList [Int64]+plAdvertiserIds+  = lens _plAdvertiserIds+      (\ s a -> s{_plAdvertiserIds = a})+      . _Default+      . _Coerce++-- | Maximum number of results to return.+plMaxResults :: Lens' ProjectsList (Maybe Int32)+plMaxResults+  = lens _plMaxResults (\ s a -> s{_plMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ProjectsList where+        type Rs ProjectsList = ProjectsListResponse+        requestClient ProjectsList{..}+          = go _plProFileId _plSearchString+              (_plIds ^. _Default)+              _plSortOrder+              _plPageToken+              _plSortField+              (_plAdvertiserIds ^. _Default)+              _plMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ProjectsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Regions/List.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.Regions.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)+--+-- Retrieves a list of regions.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.regions.list@.+module Network.Google.Resource.DFAReporting.Regions.List+    (+    -- * REST Resource+      RegionsListResource++    -- * Creating a Request+    , regionsList+    , RegionsList++    -- * Request Lenses+    , rProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.regions.list@ method which the+-- 'RegionsList' request conforms to.+type RegionsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "regions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] RegionsListResponse++-- | Retrieves a list of regions.+--+-- /See:/ 'regionsList' smart constructor.+newtype RegionsList = RegionsList+    { _rProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rProFileId'+regionsList+    :: Int64 -- ^ 'rProFileId'+    -> RegionsList+regionsList pRProFileId_ =+    RegionsList+    { _rProFileId = _Coerce # pRProFileId_+    }++-- | User profile ID associated with this request.+rProFileId :: Lens' RegionsList Int64+rProFileId+  = lens _rProFileId (\ s a -> s{_rProFileId = a}) .+      _Coerce++instance GoogleRequest RegionsList where+        type Rs RegionsList = RegionsListResponse+        requestClient RegionsList{..}+          = go _rProFileId (Just AltJSON) dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy RegionsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Get.hs view
@@ -0,0 +1,104 @@+{-# 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.DFAReporting.RemarketingListShares.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)+--+-- Gets one remarketing list share by remarketing list ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingListShares.get@.+module Network.Google.Resource.DFAReporting.RemarketingListShares.Get+    (+    -- * REST Resource+      RemarketingListSharesGetResource++    -- * Creating a Request+    , remarketingListSharesGet+    , RemarketingListSharesGet++    -- * Request Lenses+    , rlsgProFileId+    , rlsgRemarketingListId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingListShares.get@ method which the+-- 'RemarketingListSharesGet' request conforms to.+type RemarketingListSharesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingListShares" :>+               Capture "remarketingListId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] RemarketingListShare++-- | Gets one remarketing list share by remarketing list ID.+--+-- /See:/ 'remarketingListSharesGet' smart constructor.+data RemarketingListSharesGet = RemarketingListSharesGet+    { _rlsgProFileId         :: !(Textual Int64)+    , _rlsgRemarketingListId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListSharesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlsgProFileId'+--+-- * 'rlsgRemarketingListId'+remarketingListSharesGet+    :: Int64 -- ^ 'rlsgProFileId'+    -> Int64 -- ^ 'rlsgRemarketingListId'+    -> RemarketingListSharesGet+remarketingListSharesGet pRlsgProFileId_ pRlsgRemarketingListId_ =+    RemarketingListSharesGet+    { _rlsgProFileId = _Coerce # pRlsgProFileId_+    , _rlsgRemarketingListId = _Coerce # pRlsgRemarketingListId_+    }++-- | User profile ID associated with this request.+rlsgProFileId :: Lens' RemarketingListSharesGet Int64+rlsgProFileId+  = lens _rlsgProFileId+      (\ s a -> s{_rlsgProFileId = a})+      . _Coerce++-- | Remarketing list ID.+rlsgRemarketingListId :: Lens' RemarketingListSharesGet Int64+rlsgRemarketingListId+  = lens _rlsgRemarketingListId+      (\ s a -> s{_rlsgRemarketingListId = a})+      . _Coerce++instance GoogleRequest RemarketingListSharesGet where+        type Rs RemarketingListSharesGet =+             RemarketingListShare+        requestClient RemarketingListSharesGet{..}+          = go _rlsgProFileId _rlsgRemarketingListId+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListSharesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Patch.hs view
@@ -0,0 +1,120 @@+{-# 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.DFAReporting.RemarketingListShares.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing remarketing list share. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingListShares.patch@.+module Network.Google.Resource.DFAReporting.RemarketingListShares.Patch+    (+    -- * REST Resource+      RemarketingListSharesPatchResource++    -- * Creating a Request+    , remarketingListSharesPatch+    , RemarketingListSharesPatch++    -- * Request Lenses+    , rlspProFileId+    , rlspPayload+    , rlspRemarketingListId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingListShares.patch@ method which the+-- 'RemarketingListSharesPatch' request conforms to.+type RemarketingListSharesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingListShares" :>+               QueryParam "remarketingListId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] RemarketingListShare :>+                     Patch '[JSON] RemarketingListShare++-- | Updates an existing remarketing list share. This method supports patch+-- semantics.+--+-- /See:/ 'remarketingListSharesPatch' smart constructor.+data RemarketingListSharesPatch = RemarketingListSharesPatch+    { _rlspProFileId         :: !(Textual Int64)+    , _rlspPayload           :: !RemarketingListShare+    , _rlspRemarketingListId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListSharesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlspProFileId'+--+-- * 'rlspPayload'+--+-- * 'rlspRemarketingListId'+remarketingListSharesPatch+    :: Int64 -- ^ 'rlspProFileId'+    -> RemarketingListShare -- ^ 'rlspPayload'+    -> Int64 -- ^ 'rlspRemarketingListId'+    -> RemarketingListSharesPatch+remarketingListSharesPatch pRlspProFileId_ pRlspPayload_ pRlspRemarketingListId_ =+    RemarketingListSharesPatch+    { _rlspProFileId = _Coerce # pRlspProFileId_+    , _rlspPayload = pRlspPayload_+    , _rlspRemarketingListId = _Coerce # pRlspRemarketingListId_+    }++-- | User profile ID associated with this request.+rlspProFileId :: Lens' RemarketingListSharesPatch Int64+rlspProFileId+  = lens _rlspProFileId+      (\ s a -> s{_rlspProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rlspPayload :: Lens' RemarketingListSharesPatch RemarketingListShare+rlspPayload+  = lens _rlspPayload (\ s a -> s{_rlspPayload = a})++-- | Remarketing list ID.+rlspRemarketingListId :: Lens' RemarketingListSharesPatch Int64+rlspRemarketingListId+  = lens _rlspRemarketingListId+      (\ s a -> s{_rlspRemarketingListId = a})+      . _Coerce++instance GoogleRequest RemarketingListSharesPatch+         where+        type Rs RemarketingListSharesPatch =+             RemarketingListShare+        requestClient RemarketingListSharesPatch{..}+          = go _rlspProFileId (Just _rlspRemarketingListId)+              (Just AltJSON)+              _rlspPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListSharesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Update.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.RemarketingListShares.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing remarketing list share.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingListShares.update@.+module Network.Google.Resource.DFAReporting.RemarketingListShares.Update+    (+    -- * REST Resource+      RemarketingListSharesUpdateResource++    -- * Creating a Request+    , remarketingListSharesUpdate+    , RemarketingListSharesUpdate++    -- * Request Lenses+    , rlsuProFileId+    , rlsuPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingListShares.update@ method which the+-- 'RemarketingListSharesUpdate' request conforms to.+type RemarketingListSharesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingListShares" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] RemarketingListShare :>+                   Put '[JSON] RemarketingListShare++-- | Updates an existing remarketing list share.+--+-- /See:/ 'remarketingListSharesUpdate' smart constructor.+data RemarketingListSharesUpdate = RemarketingListSharesUpdate+    { _rlsuProFileId :: !(Textual Int64)+    , _rlsuPayload   :: !RemarketingListShare+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListSharesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlsuProFileId'+--+-- * 'rlsuPayload'+remarketingListSharesUpdate+    :: Int64 -- ^ 'rlsuProFileId'+    -> RemarketingListShare -- ^ 'rlsuPayload'+    -> RemarketingListSharesUpdate+remarketingListSharesUpdate pRlsuProFileId_ pRlsuPayload_ =+    RemarketingListSharesUpdate+    { _rlsuProFileId = _Coerce # pRlsuProFileId_+    , _rlsuPayload = pRlsuPayload_+    }++-- | User profile ID associated with this request.+rlsuProFileId :: Lens' RemarketingListSharesUpdate Int64+rlsuProFileId+  = lens _rlsuProFileId+      (\ s a -> s{_rlsuProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rlsuPayload :: Lens' RemarketingListSharesUpdate RemarketingListShare+rlsuPayload+  = lens _rlsuPayload (\ s a -> s{_rlsuPayload = a})++instance GoogleRequest RemarketingListSharesUpdate+         where+        type Rs RemarketingListSharesUpdate =+             RemarketingListShare+        requestClient RemarketingListSharesUpdate{..}+          = go _rlsuProFileId (Just AltJSON) _rlsuPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListSharesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingLists/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.DFAReporting.RemarketingLists.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)+--+-- Gets one remarketing list by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingLists.get@.+module Network.Google.Resource.DFAReporting.RemarketingLists.Get+    (+    -- * REST Resource+      RemarketingListsGetResource++    -- * Creating a Request+    , remarketingListsGet+    , RemarketingListsGet++    -- * Request Lenses+    , rlgProFileId+    , rlgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingLists.get@ method which the+-- 'RemarketingListsGet' request conforms to.+type RemarketingListsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingLists" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] RemarketingList++-- | Gets one remarketing list by ID.+--+-- /See:/ 'remarketingListsGet' smart constructor.+data RemarketingListsGet = RemarketingListsGet+    { _rlgProFileId :: !(Textual Int64)+    , _rlgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlgProFileId'+--+-- * 'rlgId'+remarketingListsGet+    :: Int64 -- ^ 'rlgProFileId'+    -> Int64 -- ^ 'rlgId'+    -> RemarketingListsGet+remarketingListsGet pRlgProFileId_ pRlgId_ =+    RemarketingListsGet+    { _rlgProFileId = _Coerce # pRlgProFileId_+    , _rlgId = _Coerce # pRlgId_+    }++-- | User profile ID associated with this request.+rlgProFileId :: Lens' RemarketingListsGet Int64+rlgProFileId+  = lens _rlgProFileId (\ s a -> s{_rlgProFileId = a})+      . _Coerce++-- | Remarketing list ID.+rlgId :: Lens' RemarketingListsGet Int64+rlgId+  = lens _rlgId (\ s a -> s{_rlgId = a}) . _Coerce++instance GoogleRequest RemarketingListsGet where+        type Rs RemarketingListsGet = RemarketingList+        requestClient RemarketingListsGet{..}+          = go _rlgProFileId _rlgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingLists/Insert.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.DFAReporting.RemarketingLists.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new remarketing list.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingLists.insert@.+module Network.Google.Resource.DFAReporting.RemarketingLists.Insert+    (+    -- * REST Resource+      RemarketingListsInsertResource++    -- * Creating a Request+    , remarketingListsInsert+    , RemarketingListsInsert++    -- * Request Lenses+    , rliProFileId+    , rliPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingLists.insert@ method which the+-- 'RemarketingListsInsert' request conforms to.+type RemarketingListsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingLists" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] RemarketingList :>+                   Post '[JSON] RemarketingList++-- | Inserts a new remarketing list.+--+-- /See:/ 'remarketingListsInsert' smart constructor.+data RemarketingListsInsert = RemarketingListsInsert+    { _rliProFileId :: !(Textual Int64)+    , _rliPayload   :: !RemarketingList+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rliProFileId'+--+-- * 'rliPayload'+remarketingListsInsert+    :: Int64 -- ^ 'rliProFileId'+    -> RemarketingList -- ^ 'rliPayload'+    -> RemarketingListsInsert+remarketingListsInsert pRliProFileId_ pRliPayload_ =+    RemarketingListsInsert+    { _rliProFileId = _Coerce # pRliProFileId_+    , _rliPayload = pRliPayload_+    }++-- | User profile ID associated with this request.+rliProFileId :: Lens' RemarketingListsInsert Int64+rliProFileId+  = lens _rliProFileId (\ s a -> s{_rliProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rliPayload :: Lens' RemarketingListsInsert RemarketingList+rliPayload+  = lens _rliPayload (\ s a -> s{_rliPayload = a})++instance GoogleRequest RemarketingListsInsert where+        type Rs RemarketingListsInsert = RemarketingList+        requestClient RemarketingListsInsert{..}+          = go _rliProFileId (Just AltJSON) _rliPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingLists/List.hs view
@@ -0,0 +1,199 @@+{-# 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.DFAReporting.RemarketingLists.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)+--+-- Retrieves a list of remarketing lists, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingLists.list@.+module Network.Google.Resource.DFAReporting.RemarketingLists.List+    (+    -- * REST Resource+      RemarketingListsListResource++    -- * Creating a Request+    , remarketingListsList+    , RemarketingListsList++    -- * Request Lenses+    , rllFloodlightActivityId+    , rllAdvertiserId+    , rllProFileId+    , rllSortOrder+    , rllActive+    , rllName+    , rllPageToken+    , rllSortField+    , rllMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingLists.list@ method which the+-- 'RemarketingListsList' request conforms to.+type RemarketingListsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingLists" :>+               QueryParam "advertiserId" (Textual Int64) :>+                 QueryParam "floodlightActivityId" (Textual Int64) :>+                   QueryParam "sortOrder" RemarketingListsListSortOrder+                     :>+                     QueryParam "active" Bool :>+                       QueryParam "name" Text :>+                         QueryParam "pageToken" Text :>+                           QueryParam "sortField" RemarketingListsListSortField+                             :>+                             QueryParam "maxResults" (Textual Int32) :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] RemarketingListsListResponse++-- | Retrieves a list of remarketing lists, possibly filtered.+--+-- /See:/ 'remarketingListsList' smart constructor.+data RemarketingListsList = RemarketingListsList+    { _rllFloodlightActivityId :: !(Maybe (Textual Int64))+    , _rllAdvertiserId         :: !(Textual Int64)+    , _rllProFileId            :: !(Textual Int64)+    , _rllSortOrder            :: !(Maybe RemarketingListsListSortOrder)+    , _rllActive               :: !(Maybe Bool)+    , _rllName                 :: !(Maybe Text)+    , _rllPageToken            :: !(Maybe Text)+    , _rllSortField            :: !(Maybe RemarketingListsListSortField)+    , _rllMaxResults           :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllFloodlightActivityId'+--+-- * 'rllAdvertiserId'+--+-- * 'rllProFileId'+--+-- * 'rllSortOrder'+--+-- * 'rllActive'+--+-- * 'rllName'+--+-- * 'rllPageToken'+--+-- * 'rllSortField'+--+-- * 'rllMaxResults'+remarketingListsList+    :: Int64 -- ^ 'rllAdvertiserId'+    -> Int64 -- ^ 'rllProFileId'+    -> RemarketingListsList+remarketingListsList pRllAdvertiserId_ pRllProFileId_ =+    RemarketingListsList+    { _rllFloodlightActivityId = Nothing+    , _rllAdvertiserId = _Coerce # pRllAdvertiserId_+    , _rllProFileId = _Coerce # pRllProFileId_+    , _rllSortOrder = Nothing+    , _rllActive = Nothing+    , _rllName = Nothing+    , _rllPageToken = Nothing+    , _rllSortField = Nothing+    , _rllMaxResults = Nothing+    }++-- | Select only remarketing lists that have this floodlight activity ID.+rllFloodlightActivityId :: Lens' RemarketingListsList (Maybe Int64)+rllFloodlightActivityId+  = lens _rllFloodlightActivityId+      (\ s a -> s{_rllFloodlightActivityId = a})+      . mapping _Coerce++-- | Select only remarketing lists owned by this advertiser.+rllAdvertiserId :: Lens' RemarketingListsList Int64+rllAdvertiserId+  = lens _rllAdvertiserId+      (\ s a -> s{_rllAdvertiserId = a})+      . _Coerce++-- | User profile ID associated with this request.+rllProFileId :: Lens' RemarketingListsList Int64+rllProFileId+  = lens _rllProFileId (\ s a -> s{_rllProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+rllSortOrder :: Lens' RemarketingListsList (Maybe RemarketingListsListSortOrder)+rllSortOrder+  = lens _rllSortOrder (\ s a -> s{_rllSortOrder = a})++-- | Select only active or only inactive remarketing lists.+rllActive :: Lens' RemarketingListsList (Maybe Bool)+rllActive+  = lens _rllActive (\ s a -> s{_rllActive = a})++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"remarketing list*2015\" will return objects with names+-- like \"remarketing list June 2015\", \"remarketing list April 2015\", or+-- simply \"remarketing list 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"remarketing list\" will match objects with+-- name \"my remarketing list\", \"remarketing list 2015\", or simply+-- \"remarketing list\".+rllName :: Lens' RemarketingListsList (Maybe Text)+rllName = lens _rllName (\ s a -> s{_rllName = a})++-- | Value of the nextPageToken from the previous result page.+rllPageToken :: Lens' RemarketingListsList (Maybe Text)+rllPageToken+  = lens _rllPageToken (\ s a -> s{_rllPageToken = a})++-- | Field by which to sort the list.+rllSortField :: Lens' RemarketingListsList (Maybe RemarketingListsListSortField)+rllSortField+  = lens _rllSortField (\ s a -> s{_rllSortField = a})++-- | Maximum number of results to return.+rllMaxResults :: Lens' RemarketingListsList (Maybe Int32)+rllMaxResults+  = lens _rllMaxResults+      (\ s a -> s{_rllMaxResults = a})+      . mapping _Coerce++instance GoogleRequest RemarketingListsList where+        type Rs RemarketingListsList =+             RemarketingListsListResponse+        requestClient RemarketingListsList{..}+          = go _rllProFileId (Just _rllAdvertiserId)+              _rllFloodlightActivityId+              _rllSortOrder+              _rllActive+              _rllName+              _rllPageToken+              _rllSortField+              _rllMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingLists/Patch.hs view
@@ -0,0 +1,114 @@+{-# 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.DFAReporting.RemarketingLists.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing remarketing list. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingLists.patch@.+module Network.Google.Resource.DFAReporting.RemarketingLists.Patch+    (+    -- * REST Resource+      RemarketingListsPatchResource++    -- * Creating a Request+    , remarketingListsPatch+    , RemarketingListsPatch++    -- * Request Lenses+    , rlpProFileId+    , rlpPayload+    , rlpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingLists.patch@ method which the+-- 'RemarketingListsPatch' request conforms to.+type RemarketingListsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingLists" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] RemarketingList :>+                     Patch '[JSON] RemarketingList++-- | Updates an existing remarketing list. This method supports patch+-- semantics.+--+-- /See:/ 'remarketingListsPatch' smart constructor.+data RemarketingListsPatch = RemarketingListsPatch+    { _rlpProFileId :: !(Textual Int64)+    , _rlpPayload   :: !RemarketingList+    , _rlpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlpProFileId'+--+-- * 'rlpPayload'+--+-- * 'rlpId'+remarketingListsPatch+    :: Int64 -- ^ 'rlpProFileId'+    -> RemarketingList -- ^ 'rlpPayload'+    -> Int64 -- ^ 'rlpId'+    -> RemarketingListsPatch+remarketingListsPatch pRlpProFileId_ pRlpPayload_ pRlpId_ =+    RemarketingListsPatch+    { _rlpProFileId = _Coerce # pRlpProFileId_+    , _rlpPayload = pRlpPayload_+    , _rlpId = _Coerce # pRlpId_+    }++-- | User profile ID associated with this request.+rlpProFileId :: Lens' RemarketingListsPatch Int64+rlpProFileId+  = lens _rlpProFileId (\ s a -> s{_rlpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rlpPayload :: Lens' RemarketingListsPatch RemarketingList+rlpPayload+  = lens _rlpPayload (\ s a -> s{_rlpPayload = a})++-- | Remarketing list ID.+rlpId :: Lens' RemarketingListsPatch Int64+rlpId+  = lens _rlpId (\ s a -> s{_rlpId = a}) . _Coerce++instance GoogleRequest RemarketingListsPatch where+        type Rs RemarketingListsPatch = RemarketingList+        requestClient RemarketingListsPatch{..}+          = go _rlpProFileId (Just _rlpId) (Just AltJSON)+              _rlpPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/RemarketingLists/Update.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.DFAReporting.RemarketingLists.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing remarketing list.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.remarketingLists.update@.+module Network.Google.Resource.DFAReporting.RemarketingLists.Update+    (+    -- * REST Resource+      RemarketingListsUpdateResource++    -- * Creating a Request+    , remarketingListsUpdate+    , RemarketingListsUpdate++    -- * Request Lenses+    , rluProFileId+    , rluPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.remarketingLists.update@ method which the+-- 'RemarketingListsUpdate' request conforms to.+type RemarketingListsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "remarketingLists" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] RemarketingList :>+                   Put '[JSON] RemarketingList++-- | Updates an existing remarketing list.+--+-- /See:/ 'remarketingListsUpdate' smart constructor.+data RemarketingListsUpdate = RemarketingListsUpdate+    { _rluProFileId :: !(Textual Int64)+    , _rluPayload   :: !RemarketingList+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemarketingListsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rluProFileId'+--+-- * 'rluPayload'+remarketingListsUpdate+    :: Int64 -- ^ 'rluProFileId'+    -> RemarketingList -- ^ 'rluPayload'+    -> RemarketingListsUpdate+remarketingListsUpdate pRluProFileId_ pRluPayload_ =+    RemarketingListsUpdate+    { _rluProFileId = _Coerce # pRluProFileId_+    , _rluPayload = pRluPayload_+    }++-- | User profile ID associated with this request.+rluProFileId :: Lens' RemarketingListsUpdate Int64+rluProFileId+  = lens _rluProFileId (\ s a -> s{_rluProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rluPayload :: Lens' RemarketingListsUpdate RemarketingList+rluPayload+  = lens _rluPayload (\ s a -> s{_rluPayload = a})++instance GoogleRequest RemarketingListsUpdate where+        type Rs RemarketingListsUpdate = RemarketingList+        requestClient RemarketingListsUpdate{..}+          = go _rluProFileId (Just AltJSON) _rluPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy RemarketingListsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/CompatibleFields/Query.hs view
@@ -0,0 +1,108 @@+{-# 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.DFAReporting.Reports.CompatibleFields.Query+-- 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)+--+-- Returns the fields that are compatible to be selected in the respective+-- sections of a report criteria, given the fields already selected in the+-- input report and user permissions.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.compatibleFields.query@.+module Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query+    (+    -- * REST Resource+      ReportsCompatibleFieldsQueryResource++    -- * Creating a Request+    , reportsCompatibleFieldsQuery+    , ReportsCompatibleFieldsQuery++    -- * Request Lenses+    , rcfqProFileId+    , rcfqPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.compatibleFields.query@ method which the+-- 'ReportsCompatibleFieldsQuery' request conforms to.+type ReportsCompatibleFieldsQueryResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               "compatiblefields" :>+                 "query" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Report :>+                       Post '[JSON] CompatibleFields++-- | Returns the fields that are compatible to be selected in the respective+-- sections of a report criteria, given the fields already selected in the+-- input report and user permissions.+--+-- /See:/ 'reportsCompatibleFieldsQuery' smart constructor.+data ReportsCompatibleFieldsQuery = ReportsCompatibleFieldsQuery+    { _rcfqProFileId :: !(Textual Int64)+    , _rcfqPayload   :: !Report+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsCompatibleFieldsQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcfqProFileId'+--+-- * 'rcfqPayload'+reportsCompatibleFieldsQuery+    :: Int64 -- ^ 'rcfqProFileId'+    -> Report -- ^ 'rcfqPayload'+    -> ReportsCompatibleFieldsQuery+reportsCompatibleFieldsQuery pRcfqProFileId_ pRcfqPayload_ =+    ReportsCompatibleFieldsQuery+    { _rcfqProFileId = _Coerce # pRcfqProFileId_+    , _rcfqPayload = pRcfqPayload_+    }++-- | The DFA user profile ID.+rcfqProFileId :: Lens' ReportsCompatibleFieldsQuery Int64+rcfqProFileId+  = lens _rcfqProFileId+      (\ s a -> s{_rcfqProFileId = a})+      . _Coerce++-- | Multipart request metadata.+rcfqPayload :: Lens' ReportsCompatibleFieldsQuery Report+rcfqPayload+  = lens _rcfqPayload (\ s a -> s{_rcfqPayload = a})++instance GoogleRequest ReportsCompatibleFieldsQuery+         where+        type Rs ReportsCompatibleFieldsQuery =+             CompatibleFields+        requestClient ReportsCompatibleFieldsQuery{..}+          = go _rcfqProFileId (Just AltJSON) _rcfqPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ReportsCompatibleFieldsQueryResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Delete.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.DFAReporting.Reports.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a report by its ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.delete@.+module Network.Google.Resource.DFAReporting.Reports.Delete+    (+    -- * REST Resource+      ReportsDeleteResource++    -- * Creating a Request+    , reportsDelete+    , ReportsDelete++    -- * Request Lenses+    , rdReportId+    , rdProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.delete@ method which the+-- 'ReportsDelete' request conforms to.+type ReportsDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a report by its ID.+--+-- /See:/ 'reportsDelete' smart constructor.+data ReportsDelete = ReportsDelete+    { _rdReportId  :: !(Textual Int64)+    , _rdProFileId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdReportId'+--+-- * 'rdProFileId'+reportsDelete+    :: Int64 -- ^ 'rdReportId'+    -> Int64 -- ^ 'rdProFileId'+    -> ReportsDelete+reportsDelete pRdReportId_ pRdProFileId_ =+    ReportsDelete+    { _rdReportId = _Coerce # pRdReportId_+    , _rdProFileId = _Coerce # pRdProFileId_+    }++-- | The ID of the report.+rdReportId :: Lens' ReportsDelete Int64+rdReportId+  = lens _rdReportId (\ s a -> s{_rdReportId = a}) .+      _Coerce++-- | The DFA user profile ID.+rdProFileId :: Lens' ReportsDelete Int64+rdProFileId+  = lens _rdProFileId (\ s a -> s{_rdProFileId = a}) .+      _Coerce++instance GoogleRequest ReportsDelete where+        type Rs ReportsDelete = ()+        requestClient ReportsDelete{..}+          = go _rdProFileId _rdReportId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Files/Get.hs view
@@ -0,0 +1,137 @@+{-# 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.DFAReporting.Reports.Files.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a report file.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.files.get@.+module Network.Google.Resource.DFAReporting.Reports.Files.Get+    (+    -- * REST Resource+      ReportsFilesGetResource++    -- * Creating a Request+    , reportsFilesGet+    , ReportsFilesGet++    -- * Request Lenses+    , rfgReportId+    , rfgProFileId+    , rfgFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.files.get@ method which the+-- 'ReportsFilesGet' request conforms to.+type ReportsFilesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 "files" :>+                   Capture "fileId" (Textual Int64) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] File+       :<|>+       "dfareporting" :>+         "v2.2" :>+           "userprofiles" :>+             Capture "profileId" (Textual Int64) :>+               "reports" :>+                 Capture "reportId" (Textual Int64) :>+                   "files" :>+                     Capture "fileId" (Textual Int64) :>+                       QueryParam "alt" AltMedia :>+                         Get '[OctetStream] Stream++-- | Retrieves a report file.+--+-- /See:/ 'reportsFilesGet' smart constructor.+data ReportsFilesGet = ReportsFilesGet+    { _rfgReportId  :: !(Textual Int64)+    , _rfgProFileId :: !(Textual Int64)+    , _rfgFileId    :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfgReportId'+--+-- * 'rfgProFileId'+--+-- * 'rfgFileId'+reportsFilesGet+    :: Int64 -- ^ 'rfgReportId'+    -> Int64 -- ^ 'rfgProFileId'+    -> Int64 -- ^ 'rfgFileId'+    -> ReportsFilesGet+reportsFilesGet pRfgReportId_ pRfgProFileId_ pRfgFileId_ =+    ReportsFilesGet+    { _rfgReportId = _Coerce # pRfgReportId_+    , _rfgProFileId = _Coerce # pRfgProFileId_+    , _rfgFileId = _Coerce # pRfgFileId_+    }++-- | The ID of the report.+rfgReportId :: Lens' ReportsFilesGet Int64+rfgReportId+  = lens _rfgReportId (\ s a -> s{_rfgReportId = a}) .+      _Coerce++-- | The DFA profile ID.+rfgProFileId :: Lens' ReportsFilesGet Int64+rfgProFileId+  = lens _rfgProFileId (\ s a -> s{_rfgProFileId = a})+      . _Coerce++-- | The ID of the report file.+rfgFileId :: Lens' ReportsFilesGet Int64+rfgFileId+  = lens _rfgFileId (\ s a -> s{_rfgFileId = a}) .+      _Coerce++instance GoogleRequest ReportsFilesGet where+        type Rs ReportsFilesGet = File+        requestClient ReportsFilesGet{..}+          = go _rfgProFileId _rfgReportId _rfgFileId+              (Just AltJSON)+              dFAReportingService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy ReportsFilesGetResource)+                      mempty++instance GoogleRequest+         (MediaDownload ReportsFilesGet) where+        type Rs (MediaDownload ReportsFilesGet) = Stream+        requestClient (MediaDownload ReportsFilesGet{..})+          = go _rfgProFileId _rfgReportId _rfgFileId+              (Just AltMedia)+              dFAReportingService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy ReportsFilesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Files/List.hs view
@@ -0,0 +1,150 @@+{-# 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.DFAReporting.Reports.Files.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)+--+-- Lists files for a report.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.files.list@.+module Network.Google.Resource.DFAReporting.Reports.Files.List+    (+    -- * REST Resource+      ReportsFilesListResource++    -- * Creating a Request+    , reportsFilesList+    , ReportsFilesList++    -- * Request Lenses+    , rflReportId+    , rflProFileId+    , rflSortOrder+    , rflPageToken+    , rflSortField+    , rflMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.files.list@ method which the+-- 'ReportsFilesList' request conforms to.+type ReportsFilesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 "files" :>+                   QueryParam "sortOrder" ReportsFilesListSortOrder :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" ReportsFilesListSortField :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :> Get '[JSON] FileList++-- | Lists files for a report.+--+-- /See:/ 'reportsFilesList' smart constructor.+data ReportsFilesList = ReportsFilesList+    { _rflReportId   :: !(Textual Int64)+    , _rflProFileId  :: !(Textual Int64)+    , _rflSortOrder  :: !ReportsFilesListSortOrder+    , _rflPageToken  :: !(Maybe Text)+    , _rflSortField  :: !ReportsFilesListSortField+    , _rflMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsFilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rflReportId'+--+-- * 'rflProFileId'+--+-- * 'rflSortOrder'+--+-- * 'rflPageToken'+--+-- * 'rflSortField'+--+-- * 'rflMaxResults'+reportsFilesList+    :: Int64 -- ^ 'rflReportId'+    -> Int64 -- ^ 'rflProFileId'+    -> ReportsFilesList+reportsFilesList pRflReportId_ pRflProFileId_ =+    ReportsFilesList+    { _rflReportId = _Coerce # pRflReportId_+    , _rflProFileId = _Coerce # pRflProFileId_+    , _rflSortOrder = RFLSODescending+    , _rflPageToken = Nothing+    , _rflSortField = RFLSFLastModifiedTime+    , _rflMaxResults = Nothing+    }++-- | The ID of the parent report.+rflReportId :: Lens' ReportsFilesList Int64+rflReportId+  = lens _rflReportId (\ s a -> s{_rflReportId = a}) .+      _Coerce++-- | The DFA profile ID.+rflProFileId :: Lens' ReportsFilesList Int64+rflProFileId+  = lens _rflProFileId (\ s a -> s{_rflProFileId = a})+      . _Coerce++-- | Order of sorted results, default is \'DESCENDING\'.+rflSortOrder :: Lens' ReportsFilesList ReportsFilesListSortOrder+rflSortOrder+  = lens _rflSortOrder (\ s a -> s{_rflSortOrder = a})++-- | The value of the nextToken from the previous result page.+rflPageToken :: Lens' ReportsFilesList (Maybe Text)+rflPageToken+  = lens _rflPageToken (\ s a -> s{_rflPageToken = a})++-- | The field by which to sort the list.+rflSortField :: Lens' ReportsFilesList ReportsFilesListSortField+rflSortField+  = lens _rflSortField (\ s a -> s{_rflSortField = a})++-- | Maximum number of results to return.+rflMaxResults :: Lens' ReportsFilesList (Maybe Int32)+rflMaxResults+  = lens _rflMaxResults+      (\ s a -> s{_rflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ReportsFilesList where+        type Rs ReportsFilesList = FileList+        requestClient ReportsFilesList{..}+          = go _rflProFileId _rflReportId (Just _rflSortOrder)+              _rflPageToken+              (Just _rflSortField)+              _rflMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy ReportsFilesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Get.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.DFAReporting.Reports.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a report by its ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.get@.+module Network.Google.Resource.DFAReporting.Reports.Get+    (+    -- * REST Resource+      ReportsGetResource++    -- * Creating a Request+    , reportsGet+    , ReportsGet++    -- * Request Lenses+    , rgReportId+    , rgProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.get@ method which the+-- 'ReportsGet' request conforms to.+type ReportsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Report++-- | Retrieves a report by its ID.+--+-- /See:/ 'reportsGet' smart constructor.+data ReportsGet = ReportsGet+    { _rgReportId  :: !(Textual Int64)+    , _rgProFileId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgReportId'+--+-- * 'rgProFileId'+reportsGet+    :: Int64 -- ^ 'rgReportId'+    -> Int64 -- ^ 'rgProFileId'+    -> ReportsGet+reportsGet pRgReportId_ pRgProFileId_ =+    ReportsGet+    { _rgReportId = _Coerce # pRgReportId_+    , _rgProFileId = _Coerce # pRgProFileId_+    }++-- | The ID of the report.+rgReportId :: Lens' ReportsGet Int64+rgReportId+  = lens _rgReportId (\ s a -> s{_rgReportId = a}) .+      _Coerce++-- | The DFA user profile ID.+rgProFileId :: Lens' ReportsGet Int64+rgProFileId+  = lens _rgProFileId (\ s a -> s{_rgProFileId = a}) .+      _Coerce++instance GoogleRequest ReportsGet where+        type Rs ReportsGet = Report+        requestClient ReportsGet{..}+          = go _rgProFileId _rgReportId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Insert.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.DFAReporting.Reports.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a report.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.insert@.+module Network.Google.Resource.DFAReporting.Reports.Insert+    (+    -- * REST Resource+      ReportsInsertResource++    -- * Creating a Request+    , reportsInsert+    , ReportsInsert++    -- * Request Lenses+    , riProFileId+    , riPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.insert@ method which the+-- 'ReportsInsert' request conforms to.+type ReportsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Report :> Post '[JSON] Report++-- | Creates a report.+--+-- /See:/ 'reportsInsert' smart constructor.+data ReportsInsert = ReportsInsert+    { _riProFileId :: !(Textual Int64)+    , _riPayload   :: !Report+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riProFileId'+--+-- * 'riPayload'+reportsInsert+    :: Int64 -- ^ 'riProFileId'+    -> Report -- ^ 'riPayload'+    -> ReportsInsert+reportsInsert pRiProFileId_ pRiPayload_ =+    ReportsInsert+    { _riProFileId = _Coerce # pRiProFileId_+    , _riPayload = pRiPayload_+    }++-- | The DFA user profile ID.+riProFileId :: Lens' ReportsInsert Int64+riProFileId+  = lens _riProFileId (\ s a -> s{_riProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+riPayload :: Lens' ReportsInsert Report+riPayload+  = lens _riPayload (\ s a -> s{_riPayload = a})++instance GoogleRequest ReportsInsert where+        type Rs ReportsInsert = Report+        requestClient ReportsInsert{..}+          = go _riProFileId (Just AltJSON) _riPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/List.hs view
@@ -0,0 +1,144 @@+{-# 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.DFAReporting.Reports.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)+--+-- Retrieves list of reports.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.list@.+module Network.Google.Resource.DFAReporting.Reports.List+    (+    -- * REST Resource+      ReportsListResource++    -- * Creating a Request+    , reportsList+    , ReportsList++    -- * Request Lenses+    , rlProFileId+    , rlSortOrder+    , rlScope+    , rlPageToken+    , rlSortField+    , rlMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.list@ method which the+-- 'ReportsList' request conforms to.+type ReportsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               QueryParam "sortOrder" ReportsListSortOrder :>+                 QueryParam "scope" ReportsListScope :>+                   QueryParam "pageToken" Text :>+                     QueryParam "sortField" ReportsListSortField :>+                       QueryParam "maxResults" (Textual Int32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] ReportList++-- | Retrieves list of reports.+--+-- /See:/ 'reportsList' smart constructor.+data ReportsList = ReportsList+    { _rlProFileId  :: !(Textual Int64)+    , _rlSortOrder  :: !ReportsListSortOrder+    , _rlScope      :: !ReportsListScope+    , _rlPageToken  :: !(Maybe Text)+    , _rlSortField  :: !ReportsListSortField+    , _rlMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlProFileId'+--+-- * 'rlSortOrder'+--+-- * 'rlScope'+--+-- * 'rlPageToken'+--+-- * 'rlSortField'+--+-- * 'rlMaxResults'+reportsList+    :: Int64 -- ^ 'rlProFileId'+    -> ReportsList+reportsList pRlProFileId_ =+    ReportsList+    { _rlProFileId = _Coerce # pRlProFileId_+    , _rlSortOrder = RLSODescending+    , _rlScope = Mine+    , _rlPageToken = Nothing+    , _rlSortField = RLSFLastModifiedTime+    , _rlMaxResults = Nothing+    }++-- | The DFA user profile ID.+rlProFileId :: Lens' ReportsList Int64+rlProFileId+  = lens _rlProFileId (\ s a -> s{_rlProFileId = a}) .+      _Coerce++-- | Order of sorted results, default is \'DESCENDING\'.+rlSortOrder :: Lens' ReportsList ReportsListSortOrder+rlSortOrder+  = lens _rlSortOrder (\ s a -> s{_rlSortOrder = a})++-- | The scope that defines which results are returned, default is \'MINE\'.+rlScope :: Lens' ReportsList ReportsListScope+rlScope = lens _rlScope (\ s a -> s{_rlScope = a})++-- | The value of the nextToken from the previous result page.+rlPageToken :: Lens' ReportsList (Maybe Text)+rlPageToken+  = lens _rlPageToken (\ s a -> s{_rlPageToken = a})++-- | The field by which to sort the list.+rlSortField :: Lens' ReportsList ReportsListSortField+rlSortField+  = lens _rlSortField (\ s a -> s{_rlSortField = a})++-- | Maximum number of results to return.+rlMaxResults :: Lens' ReportsList (Maybe Int32)+rlMaxResults+  = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ReportsList where+        type Rs ReportsList = ReportList+        requestClient ReportsList{..}+          = go _rlProFileId (Just _rlSortOrder) (Just _rlScope)+              _rlPageToken+              (Just _rlSortField)+              _rlMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Patch.hs view
@@ -0,0 +1,111 @@+{-# 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.DFAReporting.Reports.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a report. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.patch@.+module Network.Google.Resource.DFAReporting.Reports.Patch+    (+    -- * REST Resource+      ReportsPatchResource++    -- * Creating a Request+    , reportsPatch+    , ReportsPatch++    -- * Request Lenses+    , rpReportId+    , rpProFileId+    , rpPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.patch@ method which the+-- 'ReportsPatch' request conforms to.+type ReportsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Report :> Patch '[JSON] Report++-- | Updates a report. This method supports patch semantics.+--+-- /See:/ 'reportsPatch' smart constructor.+data ReportsPatch = ReportsPatch+    { _rpReportId  :: !(Textual Int64)+    , _rpProFileId :: !(Textual Int64)+    , _rpPayload   :: !Report+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpReportId'+--+-- * 'rpProFileId'+--+-- * 'rpPayload'+reportsPatch+    :: Int64 -- ^ 'rpReportId'+    -> Int64 -- ^ 'rpProFileId'+    -> Report -- ^ 'rpPayload'+    -> ReportsPatch+reportsPatch pRpReportId_ pRpProFileId_ pRpPayload_ =+    ReportsPatch+    { _rpReportId = _Coerce # pRpReportId_+    , _rpProFileId = _Coerce # pRpProFileId_+    , _rpPayload = pRpPayload_+    }++-- | The ID of the report.+rpReportId :: Lens' ReportsPatch Int64+rpReportId+  = lens _rpReportId (\ s a -> s{_rpReportId = a}) .+      _Coerce++-- | The DFA user profile ID.+rpProFileId :: Lens' ReportsPatch Int64+rpProFileId+  = lens _rpProFileId (\ s a -> s{_rpProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+rpPayload :: Lens' ReportsPatch Report+rpPayload+  = lens _rpPayload (\ s a -> s{_rpPayload = a})++instance GoogleRequest ReportsPatch where+        type Rs ReportsPatch = Report+        requestClient ReportsPatch{..}+          = go _rpProFileId _rpReportId (Just AltJSON)+              _rpPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Run.hs view
@@ -0,0 +1,112 @@+{-# 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.DFAReporting.Reports.Run+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Runs a report.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.run@.+module Network.Google.Resource.DFAReporting.Reports.Run+    (+    -- * REST Resource+      ReportsRunResource++    -- * Creating a Request+    , reportsRun+    , ReportsRun++    -- * Request Lenses+    , rrSynchronous+    , rrReportId+    , rrProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.run@ method which the+-- 'ReportsRun' request conforms to.+type ReportsRunResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 "run" :>+                   QueryParam "synchronous" Bool :>+                     QueryParam "alt" AltJSON :> Post '[JSON] File++-- | Runs a report.+--+-- /See:/ 'reportsRun' smart constructor.+data ReportsRun = ReportsRun+    { _rrSynchronous :: !(Maybe Bool)+    , _rrReportId    :: !(Textual Int64)+    , _rrProFileId   :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrSynchronous'+--+-- * 'rrReportId'+--+-- * 'rrProFileId'+reportsRun+    :: Int64 -- ^ 'rrReportId'+    -> Int64 -- ^ 'rrProFileId'+    -> ReportsRun+reportsRun pRrReportId_ pRrProFileId_ =+    ReportsRun+    { _rrSynchronous = Nothing+    , _rrReportId = _Coerce # pRrReportId_+    , _rrProFileId = _Coerce # pRrProFileId_+    }++-- | If set and true, tries to run the report synchronously.+rrSynchronous :: Lens' ReportsRun (Maybe Bool)+rrSynchronous+  = lens _rrSynchronous+      (\ s a -> s{_rrSynchronous = a})++-- | The ID of the report.+rrReportId :: Lens' ReportsRun Int64+rrReportId+  = lens _rrReportId (\ s a -> s{_rrReportId = a}) .+      _Coerce++-- | The DFA profile ID.+rrProFileId :: Lens' ReportsRun Int64+rrProFileId+  = lens _rrProFileId (\ s a -> s{_rrProFileId = a}) .+      _Coerce++instance GoogleRequest ReportsRun where+        type Rs ReportsRun = File+        requestClient ReportsRun{..}+          = go _rrProFileId _rrReportId _rrSynchronous+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsRunResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Reports/Update.hs view
@@ -0,0 +1,111 @@+{-# 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.DFAReporting.Reports.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a report.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.reports.update@.+module Network.Google.Resource.DFAReporting.Reports.Update+    (+    -- * REST Resource+      ReportsUpdateResource++    -- * Creating a Request+    , reportsUpdate+    , ReportsUpdate++    -- * Request Lenses+    , ruReportId+    , ruProFileId+    , ruPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.reports.update@ method which the+-- 'ReportsUpdate' request conforms to.+type ReportsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "reports" :>+               Capture "reportId" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Report :> Put '[JSON] Report++-- | Updates a report.+--+-- /See:/ 'reportsUpdate' smart constructor.+data ReportsUpdate = ReportsUpdate+    { _ruReportId  :: !(Textual Int64)+    , _ruProFileId :: !(Textual Int64)+    , _ruPayload   :: !Report+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReportsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruReportId'+--+-- * 'ruProFileId'+--+-- * 'ruPayload'+reportsUpdate+    :: Int64 -- ^ 'ruReportId'+    -> Int64 -- ^ 'ruProFileId'+    -> Report -- ^ 'ruPayload'+    -> ReportsUpdate+reportsUpdate pRuReportId_ pRuProFileId_ pRuPayload_ =+    ReportsUpdate+    { _ruReportId = _Coerce # pRuReportId_+    , _ruProFileId = _Coerce # pRuProFileId_+    , _ruPayload = pRuPayload_+    }++-- | The ID of the report.+ruReportId :: Lens' ReportsUpdate Int64+ruReportId+  = lens _ruReportId (\ s a -> s{_ruReportId = a}) .+      _Coerce++-- | The DFA user profile ID.+ruProFileId :: Lens' ReportsUpdate Int64+ruProFileId+  = lens _ruProFileId (\ s a -> s{_ruProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+ruPayload :: Lens' ReportsUpdate Report+ruPayload+  = lens _ruPayload (\ s a -> s{_ruPayload = a})++instance GoogleRequest ReportsUpdate where+        type Rs ReportsUpdate = Report+        requestClient ReportsUpdate{..}+          = go _ruProFileId _ruReportId (Just AltJSON)+              _ruPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy ReportsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sites/Get.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.DFAReporting.Sites.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)+--+-- Gets one site by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sites.get@.+module Network.Google.Resource.DFAReporting.Sites.Get+    (+    -- * REST Resource+      SitesGetResource++    -- * Creating a Request+    , sitesGet+    , SitesGet++    -- * Request Lenses+    , sggProFileId+    , sggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sites.get@ method which the+-- 'SitesGet' request conforms to.+type SitesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sites" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Site++-- | Gets one site by ID.+--+-- /See:/ 'sitesGet' smart constructor.+data SitesGet = SitesGet+    { _sggProFileId :: !(Textual Int64)+    , _sggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sggProFileId'+--+-- * 'sggId'+sitesGet+    :: Int64 -- ^ 'sggProFileId'+    -> Int64 -- ^ 'sggId'+    -> SitesGet+sitesGet pSggProFileId_ pSggId_ =+    SitesGet+    { _sggProFileId = _Coerce # pSggProFileId_+    , _sggId = _Coerce # pSggId_+    }++-- | User profile ID associated with this request.+sggProFileId :: Lens' SitesGet Int64+sggProFileId+  = lens _sggProFileId (\ s a -> s{_sggProFileId = a})+      . _Coerce++-- | Site ID.+sggId :: Lens' SitesGet Int64+sggId+  = lens _sggId (\ s a -> s{_sggId = a}) . _Coerce++instance GoogleRequest SitesGet where+        type Rs SitesGet = Site+        requestClient SitesGet{..}+          = go _sggProFileId _sggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SitesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sites/Insert.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Sites.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new site.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sites.insert@.+module Network.Google.Resource.DFAReporting.Sites.Insert+    (+    -- * REST Resource+      SitesInsertResource++    -- * Creating a Request+    , sitesInsert+    , SitesInsert++    -- * Request Lenses+    , sProFileId+    , sPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sites.insert@ method which the+-- 'SitesInsert' request conforms to.+type SitesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sites" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Site :> Post '[JSON] Site++-- | Inserts a new site.+--+-- /See:/ 'sitesInsert' smart constructor.+data SitesInsert = SitesInsert+    { _sProFileId :: !(Textual Int64)+    , _sPayload   :: !Site+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sProFileId'+--+-- * 'sPayload'+sitesInsert+    :: Int64 -- ^ 'sProFileId'+    -> Site -- ^ 'sPayload'+    -> SitesInsert+sitesInsert pSProFileId_ pSPayload_ =+    SitesInsert+    { _sProFileId = _Coerce # pSProFileId_+    , _sPayload = pSPayload_+    }++-- | User profile ID associated with this request.+sProFileId :: Lens' SitesInsert Int64+sProFileId+  = lens _sProFileId (\ s a -> s{_sProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+sPayload :: Lens' SitesInsert Site+sPayload = lens _sPayload (\ s a -> s{_sPayload = a})++instance GoogleRequest SitesInsert where+        type Rs SitesInsert = Site+        requestClient SitesInsert{..}+          = go _sProFileId (Just AltJSON) _sPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SitesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sites/List.hs view
@@ -0,0 +1,294 @@+{-# 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.DFAReporting.Sites.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)+--+-- Retrieves a list of sites, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sites.list@.+module Network.Google.Resource.DFAReporting.Sites.List+    (+    -- * REST Resource+      SitesListResource++    -- * Creating a Request+    , sitesList+    , SitesList++    -- * Request Lenses+    , sitUnmAppedSite+    , sitCampaignIds+    , sitSearchString+    , sitAcceptsInterstitialPlacements+    , sitAcceptsPublisherPaidPlacements+    , sitIds+    , sitProFileId+    , sitDirectorySiteIds+    , sitSortOrder+    , sitPageToken+    , sitSortField+    , sitSubAccountId+    , sitAcceptsInStreamVideoPlacements+    , sitApproved+    , sitAdWordsSite+    , sitMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sites.list@ method which the+-- 'SitesList' request conforms to.+type SitesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sites" :>+               QueryParam "unmappedSite" Bool :>+                 QueryParams "campaignIds" (Textual Int64) :>+                   QueryParam "searchString" Text :>+                     QueryParam "acceptsInterstitialPlacements" Bool :>+                       QueryParam "acceptsPublisherPaidPlacements" Bool :>+                         QueryParams "ids" (Textual Int64) :>+                           QueryParams "directorySiteIds" (Textual Int64) :>+                             QueryParam "sortOrder" SitesListSortOrder :>+                               QueryParam "pageToken" Text :>+                                 QueryParam "sortField" SitesListSortField :>+                                   QueryParam "subaccountId" (Textual Int64) :>+                                     QueryParam "acceptsInStreamVideoPlacements"+                                       Bool+                                       :>+                                       QueryParam "approved" Bool :>+                                         QueryParam "adWordsSite" Bool :>+                                           QueryParam "maxResults"+                                             (Textual Int32)+                                             :>+                                             QueryParam "alt" AltJSON :>+                                               Get '[JSON] SitesListResponse++-- | Retrieves a list of sites, possibly filtered.+--+-- /See:/ 'sitesList' smart constructor.+data SitesList = SitesList+    { _sitUnmAppedSite                   :: !(Maybe Bool)+    , _sitCampaignIds                    :: !(Maybe [Textual Int64])+    , _sitSearchString                   :: !(Maybe Text)+    , _sitAcceptsInterstitialPlacements  :: !(Maybe Bool)+    , _sitAcceptsPublisherPaidPlacements :: !(Maybe Bool)+    , _sitIds                            :: !(Maybe [Textual Int64])+    , _sitProFileId                      :: !(Textual Int64)+    , _sitDirectorySiteIds               :: !(Maybe [Textual Int64])+    , _sitSortOrder                      :: !(Maybe SitesListSortOrder)+    , _sitPageToken                      :: !(Maybe Text)+    , _sitSortField                      :: !(Maybe SitesListSortField)+    , _sitSubAccountId                   :: !(Maybe (Textual Int64))+    , _sitAcceptsInStreamVideoPlacements :: !(Maybe Bool)+    , _sitApproved                       :: !(Maybe Bool)+    , _sitAdWordsSite                    :: !(Maybe Bool)+    , _sitMaxResults                     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sitUnmAppedSite'+--+-- * 'sitCampaignIds'+--+-- * 'sitSearchString'+--+-- * 'sitAcceptsInterstitialPlacements'+--+-- * 'sitAcceptsPublisherPaidPlacements'+--+-- * 'sitIds'+--+-- * 'sitProFileId'+--+-- * 'sitDirectorySiteIds'+--+-- * 'sitSortOrder'+--+-- * 'sitPageToken'+--+-- * 'sitSortField'+--+-- * 'sitSubAccountId'+--+-- * 'sitAcceptsInStreamVideoPlacements'+--+-- * 'sitApproved'+--+-- * 'sitAdWordsSite'+--+-- * 'sitMaxResults'+sitesList+    :: Int64 -- ^ 'sitProFileId'+    -> SitesList+sitesList pSitProFileId_ =+    SitesList+    { _sitUnmAppedSite = Nothing+    , _sitCampaignIds = Nothing+    , _sitSearchString = Nothing+    , _sitAcceptsInterstitialPlacements = Nothing+    , _sitAcceptsPublisherPaidPlacements = Nothing+    , _sitIds = Nothing+    , _sitProFileId = _Coerce # pSitProFileId_+    , _sitDirectorySiteIds = Nothing+    , _sitSortOrder = Nothing+    , _sitPageToken = Nothing+    , _sitSortField = Nothing+    , _sitSubAccountId = Nothing+    , _sitAcceptsInStreamVideoPlacements = Nothing+    , _sitApproved = Nothing+    , _sitAdWordsSite = Nothing+    , _sitMaxResults = Nothing+    }++-- | Select only sites that have not been mapped to a directory site.+sitUnmAppedSite :: Lens' SitesList (Maybe Bool)+sitUnmAppedSite+  = lens _sitUnmAppedSite+      (\ s a -> s{_sitUnmAppedSite = a})++-- | Select only sites with these campaign IDs.+sitCampaignIds :: Lens' SitesList [Int64]+sitCampaignIds+  = lens _sitCampaignIds+      (\ s a -> s{_sitCampaignIds = a})+      . _Default+      . _Coerce++-- | Allows searching for objects by name, ID or keyName. Wildcards (*) are+-- allowed. For example, \"site*2015\" will return objects with names like+-- \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most+-- of the searches also add wildcards implicitly at the start and the end+-- of the search string. For example, a search string of \"site\" will+-- match objects with name \"my site\", \"site 2015\", or simply \"site\".+sitSearchString :: Lens' SitesList (Maybe Text)+sitSearchString+  = lens _sitSearchString+      (\ s a -> s{_sitSearchString = a})++-- | This search filter is no longer supported and will have no effect on the+-- results returned.+sitAcceptsInterstitialPlacements :: Lens' SitesList (Maybe Bool)+sitAcceptsInterstitialPlacements+  = lens _sitAcceptsInterstitialPlacements+      (\ s a -> s{_sitAcceptsInterstitialPlacements = a})++-- | Select only sites that accept publisher paid placements.+sitAcceptsPublisherPaidPlacements :: Lens' SitesList (Maybe Bool)+sitAcceptsPublisherPaidPlacements+  = lens _sitAcceptsPublisherPaidPlacements+      (\ s a -> s{_sitAcceptsPublisherPaidPlacements = a})++-- | Select only sites with these IDs.+sitIds :: Lens' SitesList [Int64]+sitIds+  = lens _sitIds (\ s a -> s{_sitIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+sitProFileId :: Lens' SitesList Int64+sitProFileId+  = lens _sitProFileId (\ s a -> s{_sitProFileId = a})+      . _Coerce++-- | Select only sites with these directory site IDs.+sitDirectorySiteIds :: Lens' SitesList [Int64]+sitDirectorySiteIds+  = lens _sitDirectorySiteIds+      (\ s a -> s{_sitDirectorySiteIds = a})+      . _Default+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+sitSortOrder :: Lens' SitesList (Maybe SitesListSortOrder)+sitSortOrder+  = lens _sitSortOrder (\ s a -> s{_sitSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+sitPageToken :: Lens' SitesList (Maybe Text)+sitPageToken+  = lens _sitPageToken (\ s a -> s{_sitPageToken = a})++-- | Field by which to sort the list.+sitSortField :: Lens' SitesList (Maybe SitesListSortField)+sitSortField+  = lens _sitSortField (\ s a -> s{_sitSortField = a})++-- | Select only sites with this subaccount ID.+sitSubAccountId :: Lens' SitesList (Maybe Int64)+sitSubAccountId+  = lens _sitSubAccountId+      (\ s a -> s{_sitSubAccountId = a})+      . mapping _Coerce++-- | This search filter is no longer supported and will have no effect on the+-- results returned.+sitAcceptsInStreamVideoPlacements :: Lens' SitesList (Maybe Bool)+sitAcceptsInStreamVideoPlacements+  = lens _sitAcceptsInStreamVideoPlacements+      (\ s a -> s{_sitAcceptsInStreamVideoPlacements = a})++-- | Select only approved sites.+sitApproved :: Lens' SitesList (Maybe Bool)+sitApproved+  = lens _sitApproved (\ s a -> s{_sitApproved = a})++-- | Select only AdWords sites.+sitAdWordsSite :: Lens' SitesList (Maybe Bool)+sitAdWordsSite+  = lens _sitAdWordsSite+      (\ s a -> s{_sitAdWordsSite = a})++-- | Maximum number of results to return.+sitMaxResults :: Lens' SitesList (Maybe Int32)+sitMaxResults+  = lens _sitMaxResults+      (\ s a -> s{_sitMaxResults = a})+      . mapping _Coerce++instance GoogleRequest SitesList where+        type Rs SitesList = SitesListResponse+        requestClient SitesList{..}+          = go _sitProFileId _sitUnmAppedSite+              (_sitCampaignIds ^. _Default)+              _sitSearchString+              _sitAcceptsInterstitialPlacements+              _sitAcceptsPublisherPaidPlacements+              (_sitIds ^. _Default)+              (_sitDirectorySiteIds ^. _Default)+              _sitSortOrder+              _sitPageToken+              _sitSortField+              _sitSubAccountId+              _sitAcceptsInStreamVideoPlacements+              _sitApproved+              _sitAdWordsSite+              _sitMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SitesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sites/Patch.hs view
@@ -0,0 +1,109 @@+{-# 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.DFAReporting.Sites.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing site. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sites.patch@.+module Network.Google.Resource.DFAReporting.Sites.Patch+    (+    -- * REST Resource+      SitesPatchResource++    -- * Creating a Request+    , sitesPatch+    , SitesPatch++    -- * Request Lenses+    , spProFileId+    , spPayload+    , spId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sites.patch@ method which the+-- 'SitesPatch' request conforms to.+type SitesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sites" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Site :> Patch '[JSON] Site++-- | Updates an existing site. This method supports patch semantics.+--+-- /See:/ 'sitesPatch' smart constructor.+data SitesPatch = SitesPatch+    { _spProFileId :: !(Textual Int64)+    , _spPayload   :: !Site+    , _spId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spProFileId'+--+-- * 'spPayload'+--+-- * 'spId'+sitesPatch+    :: Int64 -- ^ 'spProFileId'+    -> Site -- ^ 'spPayload'+    -> Int64 -- ^ 'spId'+    -> SitesPatch+sitesPatch pSpProFileId_ pSpPayload_ pSpId_ =+    SitesPatch+    { _spProFileId = _Coerce # pSpProFileId_+    , _spPayload = pSpPayload_+    , _spId = _Coerce # pSpId_+    }++-- | User profile ID associated with this request.+spProFileId :: Lens' SitesPatch Int64+spProFileId+  = lens _spProFileId (\ s a -> s{_spProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+spPayload :: Lens' SitesPatch Site+spPayload+  = lens _spPayload (\ s a -> s{_spPayload = a})++-- | Site ID.+spId :: Lens' SitesPatch Int64+spId = lens _spId (\ s a -> s{_spId = a}) . _Coerce++instance GoogleRequest SitesPatch where+        type Rs SitesPatch = Site+        requestClient SitesPatch{..}+          = go _spProFileId (Just _spId) (Just AltJSON)+              _spPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SitesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sites/Update.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.DFAReporting.Sites.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing site.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sites.update@.+module Network.Google.Resource.DFAReporting.Sites.Update+    (+    -- * REST Resource+      SitesUpdateResource++    -- * Creating a Request+    , sitesUpdate+    , SitesUpdate++    -- * Request Lenses+    , suProFileId+    , suPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sites.update@ method which the+-- 'SitesUpdate' request conforms to.+type SitesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sites" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Site :> Put '[JSON] Site++-- | Updates an existing site.+--+-- /See:/ 'sitesUpdate' smart constructor.+data SitesUpdate = SitesUpdate+    { _suProFileId :: !(Textual Int64)+    , _suPayload   :: !Site+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'suProFileId'+--+-- * 'suPayload'+sitesUpdate+    :: Int64 -- ^ 'suProFileId'+    -> Site -- ^ 'suPayload'+    -> SitesUpdate+sitesUpdate pSuProFileId_ pSuPayload_ =+    SitesUpdate+    { _suProFileId = _Coerce # pSuProFileId_+    , _suPayload = pSuPayload_+    }++-- | User profile ID associated with this request.+suProFileId :: Lens' SitesUpdate Int64+suProFileId+  = lens _suProFileId (\ s a -> s{_suProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+suPayload :: Lens' SitesUpdate Site+suPayload+  = lens _suPayload (\ s a -> s{_suPayload = a})++instance GoogleRequest SitesUpdate where+        type Rs SitesUpdate = Site+        requestClient SitesUpdate{..}+          = go _suProFileId (Just AltJSON) _suPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SitesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sizes/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.DFAReporting.Sizes.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)+--+-- Gets one size by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sizes.get@.+module Network.Google.Resource.DFAReporting.Sizes.Get+    (+    -- * REST Resource+      SizesGetResource++    -- * Creating a Request+    , sizesGet+    , SizesGet++    -- * Request Lenses+    , sgProFileId+    , sgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sizes.get@ method which the+-- 'SizesGet' request conforms to.+type SizesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sizes" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Size++-- | Gets one size by ID.+--+-- /See:/ 'sizesGet' smart constructor.+data SizesGet = SizesGet+    { _sgProFileId :: !(Textual Int64)+    , _sgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SizesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgProFileId'+--+-- * 'sgId'+sizesGet+    :: Int64 -- ^ 'sgProFileId'+    -> Int64 -- ^ 'sgId'+    -> SizesGet+sizesGet pSgProFileId_ pSgId_ =+    SizesGet+    { _sgProFileId = _Coerce # pSgProFileId_+    , _sgId = _Coerce # pSgId_+    }++-- | User profile ID associated with this request.+sgProFileId :: Lens' SizesGet Int64+sgProFileId+  = lens _sgProFileId (\ s a -> s{_sgProFileId = a}) .+      _Coerce++-- | Size ID.+sgId :: Lens' SizesGet Int64+sgId = lens _sgId (\ s a -> s{_sgId = a}) . _Coerce++instance GoogleRequest SizesGet where+        type Rs SizesGet = Size+        requestClient SizesGet{..}+          = go _sgProFileId _sgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SizesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sizes/Insert.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.DFAReporting.Sizes.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new size.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sizes.insert@.+module Network.Google.Resource.DFAReporting.Sizes.Insert+    (+    -- * REST Resource+      SizesInsertResource++    -- * Creating a Request+    , sizesInsert+    , SizesInsert++    -- * Request Lenses+    , siProFileId+    , siPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sizes.insert@ method which the+-- 'SizesInsert' request conforms to.+type SizesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sizes" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Size :> Post '[JSON] Size++-- | Inserts a new size.+--+-- /See:/ 'sizesInsert' smart constructor.+data SizesInsert = SizesInsert+    { _siProFileId :: !(Textual Int64)+    , _siPayload   :: !Size+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SizesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siProFileId'+--+-- * 'siPayload'+sizesInsert+    :: Int64 -- ^ 'siProFileId'+    -> Size -- ^ 'siPayload'+    -> SizesInsert+sizesInsert pSiProFileId_ pSiPayload_ =+    SizesInsert+    { _siProFileId = _Coerce # pSiProFileId_+    , _siPayload = pSiPayload_+    }++-- | User profile ID associated with this request.+siProFileId :: Lens' SizesInsert Int64+siProFileId+  = lens _siProFileId (\ s a -> s{_siProFileId = a}) .+      _Coerce++-- | Multipart request metadata.+siPayload :: Lens' SizesInsert Size+siPayload+  = lens _siPayload (\ s a -> s{_siPayload = a})++instance GoogleRequest SizesInsert where+        type Rs SizesInsert = Size+        requestClient SizesInsert{..}+          = go _siProFileId (Just AltJSON) _siPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SizesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/Sizes/List.hs view
@@ -0,0 +1,137 @@+{-# 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.DFAReporting.Sizes.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)+--+-- Retrieves a list of sizes, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.sizes.list@.+module Network.Google.Resource.DFAReporting.Sizes.List+    (+    -- * REST Resource+      SizesListResource++    -- * Creating a Request+    , sizesList+    , SizesList++    -- * Request Lenses+    , slHeight+    , slIds+    , slWidth+    , slProFileId+    , slIabStandard+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.sizes.list@ method which the+-- 'SizesList' request conforms to.+type SizesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "sizes" :>+               QueryParam "height" (Textual Int32) :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "width" (Textual Int32) :>+                     QueryParam "iabStandard" Bool :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] SizesListResponse++-- | Retrieves a list of sizes, possibly filtered.+--+-- /See:/ 'sizesList' smart constructor.+data SizesList = SizesList+    { _slHeight      :: !(Maybe (Textual Int32))+    , _slIds         :: !(Maybe [Textual Int64])+    , _slWidth       :: !(Maybe (Textual Int32))+    , _slProFileId   :: !(Textual Int64)+    , _slIabStandard :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SizesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slHeight'+--+-- * 'slIds'+--+-- * 'slWidth'+--+-- * 'slProFileId'+--+-- * 'slIabStandard'+sizesList+    :: Int64 -- ^ 'slProFileId'+    -> SizesList+sizesList pSlProFileId_ =+    SizesList+    { _slHeight = Nothing+    , _slIds = Nothing+    , _slWidth = Nothing+    , _slProFileId = _Coerce # pSlProFileId_+    , _slIabStandard = Nothing+    }++-- | Select only sizes with this height.+slHeight :: Lens' SizesList (Maybe Int32)+slHeight+  = lens _slHeight (\ s a -> s{_slHeight = a}) .+      mapping _Coerce++-- | Select only sizes with these IDs.+slIds :: Lens' SizesList [Int64]+slIds+  = lens _slIds (\ s a -> s{_slIds = a}) . _Default .+      _Coerce++-- | Select only sizes with this width.+slWidth :: Lens' SizesList (Maybe Int32)+slWidth+  = lens _slWidth (\ s a -> s{_slWidth = a}) .+      mapping _Coerce++-- | User profile ID associated with this request.+slProFileId :: Lens' SizesList Int64+slProFileId+  = lens _slProFileId (\ s a -> s{_slProFileId = a}) .+      _Coerce++-- | Select only IAB standard sizes.+slIabStandard :: Lens' SizesList (Maybe Bool)+slIabStandard+  = lens _slIabStandard+      (\ s a -> s{_slIabStandard = a})++instance GoogleRequest SizesList where+        type Rs SizesList = SizesListResponse+        requestClient SizesList{..}+          = go _slProFileId _slHeight (_slIds ^. _Default)+              _slWidth+              _slIabStandard+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SizesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/SubAccounts/Get.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.DFAReporting.SubAccounts.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)+--+-- Gets one subaccount by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.subaccounts.get@.+module Network.Google.Resource.DFAReporting.SubAccounts.Get+    (+    -- * REST Resource+      SubAccountsGetResource++    -- * Creating a Request+    , subAccountsGet+    , SubAccountsGet++    -- * Request Lenses+    , sagProFileId+    , sagId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.subaccounts.get@ method which the+-- 'SubAccountsGet' request conforms to.+type SubAccountsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "subaccounts" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] SubAccount++-- | Gets one subaccount by ID.+--+-- /See:/ 'subAccountsGet' smart constructor.+data SubAccountsGet = SubAccountsGet+    { _sagProFileId :: !(Textual Int64)+    , _sagId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sagProFileId'+--+-- * 'sagId'+subAccountsGet+    :: Int64 -- ^ 'sagProFileId'+    -> Int64 -- ^ 'sagId'+    -> SubAccountsGet+subAccountsGet pSagProFileId_ pSagId_ =+    SubAccountsGet+    { _sagProFileId = _Coerce # pSagProFileId_+    , _sagId = _Coerce # pSagId_+    }++-- | User profile ID associated with this request.+sagProFileId :: Lens' SubAccountsGet Int64+sagProFileId+  = lens _sagProFileId (\ s a -> s{_sagProFileId = a})+      . _Coerce++-- | Subaccount ID.+sagId :: Lens' SubAccountsGet Int64+sagId+  = lens _sagId (\ s a -> s{_sagId = a}) . _Coerce++instance GoogleRequest SubAccountsGet where+        type Rs SubAccountsGet = SubAccount+        requestClient SubAccountsGet{..}+          = go _sagProFileId _sagId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy SubAccountsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/SubAccounts/Insert.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.DFAReporting.SubAccounts.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new subaccount.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.subaccounts.insert@.+module Network.Google.Resource.DFAReporting.SubAccounts.Insert+    (+    -- * REST Resource+      SubAccountsInsertResource++    -- * Creating a Request+    , subAccountsInsert+    , SubAccountsInsert++    -- * Request Lenses+    , saiProFileId+    , saiPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.subaccounts.insert@ method which the+-- 'SubAccountsInsert' request conforms to.+type SubAccountsInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "subaccounts" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] SubAccount :> Post '[JSON] SubAccount++-- | Inserts a new subaccount.+--+-- /See:/ 'subAccountsInsert' smart constructor.+data SubAccountsInsert = SubAccountsInsert+    { _saiProFileId :: !(Textual Int64)+    , _saiPayload   :: !SubAccount+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saiProFileId'+--+-- * 'saiPayload'+subAccountsInsert+    :: Int64 -- ^ 'saiProFileId'+    -> SubAccount -- ^ 'saiPayload'+    -> SubAccountsInsert+subAccountsInsert pSaiProFileId_ pSaiPayload_ =+    SubAccountsInsert+    { _saiProFileId = _Coerce # pSaiProFileId_+    , _saiPayload = pSaiPayload_+    }++-- | User profile ID associated with this request.+saiProFileId :: Lens' SubAccountsInsert Int64+saiProFileId+  = lens _saiProFileId (\ s a -> s{_saiProFileId = a})+      . _Coerce++-- | Multipart request metadata.+saiPayload :: Lens' SubAccountsInsert SubAccount+saiPayload+  = lens _saiPayload (\ s a -> s{_saiPayload = a})++instance GoogleRequest SubAccountsInsert where+        type Rs SubAccountsInsert = SubAccount+        requestClient SubAccountsInsert{..}+          = go _saiProFileId (Just AltJSON) _saiPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy SubAccountsInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/SubAccounts/List.hs view
@@ -0,0 +1,169 @@+{-# 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.DFAReporting.SubAccounts.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)+--+-- Gets a list of subaccounts, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.subaccounts.list@.+module Network.Google.Resource.DFAReporting.SubAccounts.List+    (+    -- * REST Resource+      SubAccountsListResource++    -- * Creating a Request+    , subAccountsList+    , SubAccountsList++    -- * Request Lenses+    , salSearchString+    , salIds+    , salProFileId+    , salSortOrder+    , salPageToken+    , salSortField+    , salMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.subaccounts.list@ method which the+-- 'SubAccountsList' request conforms to.+type SubAccountsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "subaccounts" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" SubAccountsListSortOrder :>+                     QueryParam "pageToken" Text :>+                       QueryParam "sortField" SubAccountsListSortField :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] SubAccountsListResponse++-- | Gets a list of subaccounts, possibly filtered.+--+-- /See:/ 'subAccountsList' smart constructor.+data SubAccountsList = SubAccountsList+    { _salSearchString :: !(Maybe Text)+    , _salIds          :: !(Maybe [Textual Int64])+    , _salProFileId    :: !(Textual Int64)+    , _salSortOrder    :: !(Maybe SubAccountsListSortOrder)+    , _salPageToken    :: !(Maybe Text)+    , _salSortField    :: !(Maybe SubAccountsListSortField)+    , _salMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'salSearchString'+--+-- * 'salIds'+--+-- * 'salProFileId'+--+-- * 'salSortOrder'+--+-- * 'salPageToken'+--+-- * 'salSortField'+--+-- * 'salMaxResults'+subAccountsList+    :: Int64 -- ^ 'salProFileId'+    -> SubAccountsList+subAccountsList pSalProFileId_ =+    SubAccountsList+    { _salSearchString = Nothing+    , _salIds = Nothing+    , _salProFileId = _Coerce # pSalProFileId_+    , _salSortOrder = Nothing+    , _salPageToken = Nothing+    , _salSortField = Nothing+    , _salMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"subaccount*2015\" will return objects with names like+-- \"subaccount June 2015\", \"subaccount April 2015\", or simply+-- \"subaccount 2015\". Most of the searches also add wildcards implicitly+-- at the start and the end of the search string. For example, a search+-- string of \"subaccount\" will match objects with name \"my subaccount\",+-- \"subaccount 2015\", or simply \"subaccount\".+salSearchString :: Lens' SubAccountsList (Maybe Text)+salSearchString+  = lens _salSearchString+      (\ s a -> s{_salSearchString = a})++-- | Select only subaccounts with these IDs.+salIds :: Lens' SubAccountsList [Int64]+salIds+  = lens _salIds (\ s a -> s{_salIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+salProFileId :: Lens' SubAccountsList Int64+salProFileId+  = lens _salProFileId (\ s a -> s{_salProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+salSortOrder :: Lens' SubAccountsList (Maybe SubAccountsListSortOrder)+salSortOrder+  = lens _salSortOrder (\ s a -> s{_salSortOrder = a})++-- | Value of the nextPageToken from the previous result page.+salPageToken :: Lens' SubAccountsList (Maybe Text)+salPageToken+  = lens _salPageToken (\ s a -> s{_salPageToken = a})++-- | Field by which to sort the list.+salSortField :: Lens' SubAccountsList (Maybe SubAccountsListSortField)+salSortField+  = lens _salSortField (\ s a -> s{_salSortField = a})++-- | Maximum number of results to return.+salMaxResults :: Lens' SubAccountsList (Maybe Int32)+salMaxResults+  = lens _salMaxResults+      (\ s a -> s{_salMaxResults = a})+      . mapping _Coerce++instance GoogleRequest SubAccountsList where+        type Rs SubAccountsList = SubAccountsListResponse+        requestClient SubAccountsList{..}+          = go _salProFileId _salSearchString+              (_salIds ^. _Default)+              _salSortOrder+              _salPageToken+              _salSortField+              _salMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy SubAccountsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/SubAccounts/Patch.hs view
@@ -0,0 +1,112 @@+{-# 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.DFAReporting.SubAccounts.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing subaccount. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.subaccounts.patch@.+module Network.Google.Resource.DFAReporting.SubAccounts.Patch+    (+    -- * REST Resource+      SubAccountsPatchResource++    -- * Creating a Request+    , subAccountsPatch+    , SubAccountsPatch++    -- * Request Lenses+    , sapProFileId+    , sapPayload+    , sapId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.subaccounts.patch@ method which the+-- 'SubAccountsPatch' request conforms to.+type SubAccountsPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "subaccounts" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] SubAccount :>+                     Patch '[JSON] SubAccount++-- | Updates an existing subaccount. This method supports patch semantics.+--+-- /See:/ 'subAccountsPatch' smart constructor.+data SubAccountsPatch = SubAccountsPatch+    { _sapProFileId :: !(Textual Int64)+    , _sapPayload   :: !SubAccount+    , _sapId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sapProFileId'+--+-- * 'sapPayload'+--+-- * 'sapId'+subAccountsPatch+    :: Int64 -- ^ 'sapProFileId'+    -> SubAccount -- ^ 'sapPayload'+    -> Int64 -- ^ 'sapId'+    -> SubAccountsPatch+subAccountsPatch pSapProFileId_ pSapPayload_ pSapId_ =+    SubAccountsPatch+    { _sapProFileId = _Coerce # pSapProFileId_+    , _sapPayload = pSapPayload_+    , _sapId = _Coerce # pSapId_+    }++-- | User profile ID associated with this request.+sapProFileId :: Lens' SubAccountsPatch Int64+sapProFileId+  = lens _sapProFileId (\ s a -> s{_sapProFileId = a})+      . _Coerce++-- | Multipart request metadata.+sapPayload :: Lens' SubAccountsPatch SubAccount+sapPayload+  = lens _sapPayload (\ s a -> s{_sapPayload = a})++-- | Subaccount ID.+sapId :: Lens' SubAccountsPatch Int64+sapId+  = lens _sapId (\ s a -> s{_sapId = a}) . _Coerce++instance GoogleRequest SubAccountsPatch where+        type Rs SubAccountsPatch = SubAccount+        requestClient SubAccountsPatch{..}+          = go _sapProFileId (Just _sapId) (Just AltJSON)+              _sapPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy SubAccountsPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/SubAccounts/Update.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.DFAReporting.SubAccounts.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing subaccount.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.subaccounts.update@.+module Network.Google.Resource.DFAReporting.SubAccounts.Update+    (+    -- * REST Resource+      SubAccountsUpdateResource++    -- * Creating a Request+    , subAccountsUpdate+    , SubAccountsUpdate++    -- * Request Lenses+    , sauProFileId+    , sauPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.subaccounts.update@ method which the+-- 'SubAccountsUpdate' request conforms to.+type SubAccountsUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "subaccounts" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] SubAccount :> Put '[JSON] SubAccount++-- | Updates an existing subaccount.+--+-- /See:/ 'subAccountsUpdate' smart constructor.+data SubAccountsUpdate = SubAccountsUpdate+    { _sauProFileId :: !(Textual Int64)+    , _sauPayload   :: !SubAccount+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubAccountsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sauProFileId'+--+-- * 'sauPayload'+subAccountsUpdate+    :: Int64 -- ^ 'sauProFileId'+    -> SubAccount -- ^ 'sauPayload'+    -> SubAccountsUpdate+subAccountsUpdate pSauProFileId_ pSauPayload_ =+    SubAccountsUpdate+    { _sauProFileId = _Coerce # pSauProFileId_+    , _sauPayload = pSauPayload_+    }++-- | User profile ID associated with this request.+sauProFileId :: Lens' SubAccountsUpdate Int64+sauProFileId+  = lens _sauProFileId (\ s a -> s{_sauProFileId = a})+      . _Coerce++-- | Multipart request metadata.+sauPayload :: Lens' SubAccountsUpdate SubAccount+sauPayload+  = lens _sauPayload (\ s a -> s{_sauPayload = a})++instance GoogleRequest SubAccountsUpdate where+        type Rs SubAccountsUpdate = SubAccount+        requestClient SubAccountsUpdate{..}+          = go _sauProFileId (Just AltJSON) _sauPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy SubAccountsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/TargetableRemarketingLists/Get.hs view
@@ -0,0 +1,103 @@+{-# 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.DFAReporting.TargetableRemarketingLists.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)+--+-- Gets one remarketing list by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.targetableRemarketingLists.get@.+module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get+    (+    -- * REST Resource+      TargetableRemarketingListsGetResource++    -- * Creating a Request+    , targetableRemarketingListsGet+    , TargetableRemarketingListsGet++    -- * Request Lenses+    , trlgProFileId+    , trlgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.targetableRemarketingLists.get@ method which the+-- 'TargetableRemarketingListsGet' request conforms to.+type TargetableRemarketingListsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "targetableRemarketingLists" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] TargetableRemarketingList++-- | Gets one remarketing list by ID.+--+-- /See:/ 'targetableRemarketingListsGet' smart constructor.+data TargetableRemarketingListsGet = TargetableRemarketingListsGet+    { _trlgProFileId :: !(Textual Int64)+    , _trlgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetableRemarketingListsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trlgProFileId'+--+-- * 'trlgId'+targetableRemarketingListsGet+    :: Int64 -- ^ 'trlgProFileId'+    -> Int64 -- ^ 'trlgId'+    -> TargetableRemarketingListsGet+targetableRemarketingListsGet pTrlgProFileId_ pTrlgId_ =+    TargetableRemarketingListsGet+    { _trlgProFileId = _Coerce # pTrlgProFileId_+    , _trlgId = _Coerce # pTrlgId_+    }++-- | User profile ID associated with this request.+trlgProFileId :: Lens' TargetableRemarketingListsGet Int64+trlgProFileId+  = lens _trlgProFileId+      (\ s a -> s{_trlgProFileId = a})+      . _Coerce++-- | Remarketing list ID.+trlgId :: Lens' TargetableRemarketingListsGet Int64+trlgId+  = lens _trlgId (\ s a -> s{_trlgId = a}) . _Coerce++instance GoogleRequest TargetableRemarketingListsGet+         where+        type Rs TargetableRemarketingListsGet =+             TargetableRemarketingList+        requestClient TargetableRemarketingListsGet{..}+          = go _trlgProFileId _trlgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy TargetableRemarketingListsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/TargetableRemarketingLists/List.hs view
@@ -0,0 +1,195 @@+{-# 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.DFAReporting.TargetableRemarketingLists.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)+--+-- Retrieves a list of targetable remarketing lists, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.targetableRemarketingLists.list@.+module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List+    (+    -- * REST Resource+      TargetableRemarketingListsListResource++    -- * Creating a Request+    , targetableRemarketingListsList+    , TargetableRemarketingListsList++    -- * Request Lenses+    , trllAdvertiserId+    , trllProFileId+    , trllSortOrder+    , trllActive+    , trllName+    , trllPageToken+    , trllSortField+    , trllMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.targetableRemarketingLists.list@ method which the+-- 'TargetableRemarketingListsList' request conforms to.+type TargetableRemarketingListsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "targetableRemarketingLists" :>+               QueryParam "advertiserId" (Textual Int64) :>+                 QueryParam "sortOrder"+                   TargetableRemarketingListsListSortOrder+                   :>+                   QueryParam "active" Bool :>+                     QueryParam "name" Text :>+                       QueryParam "pageToken" Text :>+                         QueryParam "sortField"+                           TargetableRemarketingListsListSortField+                           :>+                           QueryParam "maxResults" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON]+                                 TargetableRemarketingListsListResponse++-- | Retrieves a list of targetable remarketing lists, possibly filtered.+--+-- /See:/ 'targetableRemarketingListsList' smart constructor.+data TargetableRemarketingListsList = TargetableRemarketingListsList+    { _trllAdvertiserId :: !(Textual Int64)+    , _trllProFileId    :: !(Textual Int64)+    , _trllSortOrder    :: !(Maybe TargetableRemarketingListsListSortOrder)+    , _trllActive       :: !(Maybe Bool)+    , _trllName         :: !(Maybe Text)+    , _trllPageToken    :: !(Maybe Text)+    , _trllSortField    :: !(Maybe TargetableRemarketingListsListSortField)+    , _trllMaxResults   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetableRemarketingListsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trllAdvertiserId'+--+-- * 'trllProFileId'+--+-- * 'trllSortOrder'+--+-- * 'trllActive'+--+-- * 'trllName'+--+-- * 'trllPageToken'+--+-- * 'trllSortField'+--+-- * 'trllMaxResults'+targetableRemarketingListsList+    :: Int64 -- ^ 'trllAdvertiserId'+    -> Int64 -- ^ 'trllProFileId'+    -> TargetableRemarketingListsList+targetableRemarketingListsList pTrllAdvertiserId_ pTrllProFileId_ =+    TargetableRemarketingListsList+    { _trllAdvertiserId = _Coerce # pTrllAdvertiserId_+    , _trllProFileId = _Coerce # pTrllProFileId_+    , _trllSortOrder = Nothing+    , _trllActive = Nothing+    , _trllName = Nothing+    , _trllPageToken = Nothing+    , _trllSortField = Nothing+    , _trllMaxResults = Nothing+    }++-- | Select only targetable remarketing lists targetable by these+-- advertisers.+trllAdvertiserId :: Lens' TargetableRemarketingListsList Int64+trllAdvertiserId+  = lens _trllAdvertiserId+      (\ s a -> s{_trllAdvertiserId = a})+      . _Coerce++-- | User profile ID associated with this request.+trllProFileId :: Lens' TargetableRemarketingListsList Int64+trllProFileId+  = lens _trllProFileId+      (\ s a -> s{_trllProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+trllSortOrder :: Lens' TargetableRemarketingListsList (Maybe TargetableRemarketingListsListSortOrder)+trllSortOrder+  = lens _trllSortOrder+      (\ s a -> s{_trllSortOrder = a})++-- | Select only active or only inactive targetable remarketing lists.+trllActive :: Lens' TargetableRemarketingListsList (Maybe Bool)+trllActive+  = lens _trllActive (\ s a -> s{_trllActive = a})++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"remarketing list*2015\" will return objects with names+-- like \"remarketing list June 2015\", \"remarketing list April 2015\", or+-- simply \"remarketing list 2015\". Most of the searches also add+-- wildcards implicitly at the start and the end of the search string. For+-- example, a search string of \"remarketing list\" will match objects with+-- name \"my remarketing list\", \"remarketing list 2015\", or simply+-- \"remarketing list\".+trllName :: Lens' TargetableRemarketingListsList (Maybe Text)+trllName = lens _trllName (\ s a -> s{_trllName = a})++-- | Value of the nextPageToken from the previous result page.+trllPageToken :: Lens' TargetableRemarketingListsList (Maybe Text)+trllPageToken+  = lens _trllPageToken+      (\ s a -> s{_trllPageToken = a})++-- | Field by which to sort the list.+trllSortField :: Lens' TargetableRemarketingListsList (Maybe TargetableRemarketingListsListSortField)+trllSortField+  = lens _trllSortField+      (\ s a -> s{_trllSortField = a})++-- | Maximum number of results to return.+trllMaxResults :: Lens' TargetableRemarketingListsList (Maybe Int32)+trllMaxResults+  = lens _trllMaxResults+      (\ s a -> s{_trllMaxResults = a})+      . mapping _Coerce++instance GoogleRequest TargetableRemarketingListsList+         where+        type Rs TargetableRemarketingListsList =+             TargetableRemarketingListsListResponse+        requestClient TargetableRemarketingListsList{..}+          = go _trllProFileId (Just _trllAdvertiserId)+              _trllSortOrder+              _trllActive+              _trllName+              _trllPageToken+              _trllSortField+              _trllMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy TargetableRemarketingListsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserProFiles/Get.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.UserProFiles.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)+--+-- Gets one user profile by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userProfiles.get@.+module Network.Google.Resource.DFAReporting.UserProFiles.Get+    (+    -- * REST Resource+      UserProFilesGetResource++    -- * Creating a Request+    , userProFilesGet+    , UserProFilesGet++    -- * Request Lenses+    , upfgProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userProfiles.get@ method which the+-- 'UserProFilesGet' request conforms to.+type UserProFilesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             QueryParam "alt" AltJSON :> Get '[JSON] UserProFile++-- | Gets one user profile by ID.+--+-- /See:/ 'userProFilesGet' smart constructor.+newtype UserProFilesGet = UserProFilesGet+    { _upfgProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upfgProFileId'+userProFilesGet+    :: Int64 -- ^ 'upfgProFileId'+    -> UserProFilesGet+userProFilesGet pUpfgProFileId_ =+    UserProFilesGet+    { _upfgProFileId = _Coerce # pUpfgProFileId_+    }++-- | The user profile ID.+upfgProFileId :: Lens' UserProFilesGet Int64+upfgProFileId+  = lens _upfgProFileId+      (\ s a -> s{_upfgProFileId = a})+      . _Coerce++instance GoogleRequest UserProFilesGet where+        type Rs UserProFilesGet = UserProFile+        requestClient UserProFilesGet{..}+          = go _upfgProFileId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserProFilesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserProFiles/List.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.UserProFiles.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)+--+-- Retrieves list of user profiles for a user.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userProfiles.list@.+module Network.Google.Resource.DFAReporting.UserProFiles.List+    (+    -- * REST Resource+      UserProFilesListResource++    -- * Creating a Request+    , userProFilesList+    , UserProFilesList++    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userProfiles.list@ method which the+-- 'UserProFilesList' request conforms to.+type UserProFilesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           QueryParam "alt" AltJSON :>+             Get '[JSON] UserProFileList++-- | Retrieves list of user profiles for a user.+--+-- /See:/ 'userProFilesList' smart constructor.+data UserProFilesList =+    UserProFilesList+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFilesList' with the minimum fields required to make a request.+--+userProFilesList+    :: UserProFilesList+userProFilesList = UserProFilesList++instance GoogleRequest UserProFilesList where+        type Rs UserProFilesList = UserProFileList+        requestClient UserProFilesList{}+          = go (Just AltJSON) dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserProFilesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRolePermissionGroups/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.UserRolePermissionGroups.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)+--+-- Gets one user role permission group by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRolePermissionGroups.get@.+module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get+    (+    -- * REST Resource+      UserRolePermissionGroupsGetResource++    -- * Creating a Request+    , userRolePermissionGroupsGet+    , UserRolePermissionGroupsGet++    -- * Request Lenses+    , urpggProFileId+    , urpggId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRolePermissionGroups.get@ method which the+-- 'UserRolePermissionGroupsGet' request conforms to.+type UserRolePermissionGroupsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRolePermissionGroups" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] UserRolePermissionGroup++-- | Gets one user role permission group by ID.+--+-- /See:/ 'userRolePermissionGroupsGet' smart constructor.+data UserRolePermissionGroupsGet = UserRolePermissionGroupsGet+    { _urpggProFileId :: !(Textual Int64)+    , _urpggId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpggProFileId'+--+-- * 'urpggId'+userRolePermissionGroupsGet+    :: Int64 -- ^ 'urpggProFileId'+    -> Int64 -- ^ 'urpggId'+    -> UserRolePermissionGroupsGet+userRolePermissionGroupsGet pUrpggProFileId_ pUrpggId_ =+    UserRolePermissionGroupsGet+    { _urpggProFileId = _Coerce # pUrpggProFileId_+    , _urpggId = _Coerce # pUrpggId_+    }++-- | User profile ID associated with this request.+urpggProFileId :: Lens' UserRolePermissionGroupsGet Int64+urpggProFileId+  = lens _urpggProFileId+      (\ s a -> s{_urpggProFileId = a})+      . _Coerce++-- | User role permission group ID.+urpggId :: Lens' UserRolePermissionGroupsGet Int64+urpggId+  = lens _urpggId (\ s a -> s{_urpggId = a}) . _Coerce++instance GoogleRequest UserRolePermissionGroupsGet+         where+        type Rs UserRolePermissionGroupsGet =+             UserRolePermissionGroup+        requestClient UserRolePermissionGroupsGet{..}+          = go _urpggProFileId _urpggId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolePermissionGroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRolePermissionGroups/List.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.UserRolePermissionGroups.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)+--+-- Gets a list of all supported user role permission groups.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRolePermissionGroups.list@.+module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List+    (+    -- * REST Resource+      UserRolePermissionGroupsListResource++    -- * Creating a Request+    , userRolePermissionGroupsList+    , UserRolePermissionGroupsList++    -- * Request Lenses+    , urpglProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRolePermissionGroups.list@ method which the+-- 'UserRolePermissionGroupsList' request conforms to.+type UserRolePermissionGroupsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRolePermissionGroups" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] UserRolePermissionGroupsListResponse++-- | Gets a list of all supported user role permission groups.+--+-- /See:/ 'userRolePermissionGroupsList' smart constructor.+newtype UserRolePermissionGroupsList = UserRolePermissionGroupsList+    { _urpglProFileId :: Textual Int64+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpglProFileId'+userRolePermissionGroupsList+    :: Int64 -- ^ 'urpglProFileId'+    -> UserRolePermissionGroupsList+userRolePermissionGroupsList pUrpglProFileId_ =+    UserRolePermissionGroupsList+    { _urpglProFileId = _Coerce # pUrpglProFileId_+    }++-- | User profile ID associated with this request.+urpglProFileId :: Lens' UserRolePermissionGroupsList Int64+urpglProFileId+  = lens _urpglProFileId+      (\ s a -> s{_urpglProFileId = a})+      . _Coerce++instance GoogleRequest UserRolePermissionGroupsList+         where+        type Rs UserRolePermissionGroupsList =+             UserRolePermissionGroupsListResponse+        requestClient UserRolePermissionGroupsList{..}+          = go _urpglProFileId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolePermissionGroupsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRolePermissions/Get.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.DFAReporting.UserRolePermissions.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)+--+-- Gets one user role permission by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRolePermissions.get@.+module Network.Google.Resource.DFAReporting.UserRolePermissions.Get+    (+    -- * REST Resource+      UserRolePermissionsGetResource++    -- * Creating a Request+    , userRolePermissionsGet+    , UserRolePermissionsGet++    -- * Request Lenses+    , uProFileId+    , uId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRolePermissions.get@ method which the+-- 'UserRolePermissionsGet' request conforms to.+type UserRolePermissionsGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRolePermissions" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] UserRolePermission++-- | Gets one user role permission by ID.+--+-- /See:/ 'userRolePermissionsGet' smart constructor.+data UserRolePermissionsGet = UserRolePermissionsGet+    { _uProFileId :: !(Textual Int64)+    , _uId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uProFileId'+--+-- * 'uId'+userRolePermissionsGet+    :: Int64 -- ^ 'uProFileId'+    -> Int64 -- ^ 'uId'+    -> UserRolePermissionsGet+userRolePermissionsGet pUProFileId_ pUId_ =+    UserRolePermissionsGet+    { _uProFileId = _Coerce # pUProFileId_+    , _uId = _Coerce # pUId_+    }++-- | User profile ID associated with this request.+uProFileId :: Lens' UserRolePermissionsGet Int64+uProFileId+  = lens _uProFileId (\ s a -> s{_uProFileId = a}) .+      _Coerce++-- | User role permission ID.+uId :: Lens' UserRolePermissionsGet Int64+uId = lens _uId (\ s a -> s{_uId = a}) . _Coerce++instance GoogleRequest UserRolePermissionsGet where+        type Rs UserRolePermissionsGet = UserRolePermission+        requestClient UserRolePermissionsGet{..}+          = go _uProFileId _uId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolePermissionsGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRolePermissions/List.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DFAReporting.UserRolePermissions.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)+--+-- Gets a list of user role permissions, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRolePermissions.list@.+module Network.Google.Resource.DFAReporting.UserRolePermissions.List+    (+    -- * REST Resource+      UserRolePermissionsListResource++    -- * Creating a Request+    , userRolePermissionsList+    , UserRolePermissionsList++    -- * Request Lenses+    , urplIds+    , urplProFileId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRolePermissions.list@ method which the+-- 'UserRolePermissionsList' request conforms to.+type UserRolePermissionsListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRolePermissions" :>+               QueryParams "ids" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] UserRolePermissionsListResponse++-- | Gets a list of user role permissions, possibly filtered.+--+-- /See:/ 'userRolePermissionsList' smart constructor.+data UserRolePermissionsList = UserRolePermissionsList+    { _urplIds       :: !(Maybe [Textual Int64])+    , _urplProFileId :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolePermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urplIds'+--+-- * 'urplProFileId'+userRolePermissionsList+    :: Int64 -- ^ 'urplProFileId'+    -> UserRolePermissionsList+userRolePermissionsList pUrplProFileId_ =+    UserRolePermissionsList+    { _urplIds = Nothing+    , _urplProFileId = _Coerce # pUrplProFileId_+    }++-- | Select only user role permissions with these IDs.+urplIds :: Lens' UserRolePermissionsList [Int64]+urplIds+  = lens _urplIds (\ s a -> s{_urplIds = a}) . _Default+      . _Coerce++-- | User profile ID associated with this request.+urplProFileId :: Lens' UserRolePermissionsList Int64+urplProFileId+  = lens _urplProFileId+      (\ s a -> s{_urplProFileId = a})+      . _Coerce++instance GoogleRequest UserRolePermissionsList where+        type Rs UserRolePermissionsList =+             UserRolePermissionsListResponse+        requestClient UserRolePermissionsList{..}+          = go _urplProFileId (_urplIds ^. _Default)+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolePermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/Delete.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.DFAReporting.UserRoles.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing user role.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.delete@.+module Network.Google.Resource.DFAReporting.UserRoles.Delete+    (+    -- * REST Resource+      UserRolesDeleteResource++    -- * Creating a Request+    , userRolesDelete+    , UserRolesDelete++    -- * Request Lenses+    , urdProFileId+    , urdId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.delete@ method which the+-- 'UserRolesDelete' request conforms to.+type UserRolesDeleteResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an existing user role.+--+-- /See:/ 'userRolesDelete' smart constructor.+data UserRolesDelete = UserRolesDelete+    { _urdProFileId :: !(Textual Int64)+    , _urdId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urdProFileId'+--+-- * 'urdId'+userRolesDelete+    :: Int64 -- ^ 'urdProFileId'+    -> Int64 -- ^ 'urdId'+    -> UserRolesDelete+userRolesDelete pUrdProFileId_ pUrdId_ =+    UserRolesDelete+    { _urdProFileId = _Coerce # pUrdProFileId_+    , _urdId = _Coerce # pUrdId_+    }++-- | User profile ID associated with this request.+urdProFileId :: Lens' UserRolesDelete Int64+urdProFileId+  = lens _urdProFileId (\ s a -> s{_urdProFileId = a})+      . _Coerce++-- | User role ID.+urdId :: Lens' UserRolesDelete Int64+urdId+  = lens _urdId (\ s a -> s{_urdId = a}) . _Coerce++instance GoogleRequest UserRolesDelete where+        type Rs UserRolesDelete = ()+        requestClient UserRolesDelete{..}+          = go _urdProFileId _urdId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/Get.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.DFAReporting.UserRoles.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)+--+-- Gets one user role by ID.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.get@.+module Network.Google.Resource.DFAReporting.UserRoles.Get+    (+    -- * REST Resource+      UserRolesGetResource++    -- * Creating a Request+    , userRolesGet+    , UserRolesGet++    -- * Request Lenses+    , urgProFileId+    , urgId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.get@ method which the+-- 'UserRolesGet' request conforms to.+type UserRolesGetResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               Capture "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] UserRole++-- | Gets one user role by ID.+--+-- /See:/ 'userRolesGet' smart constructor.+data UserRolesGet = UserRolesGet+    { _urgProFileId :: !(Textual Int64)+    , _urgId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urgProFileId'+--+-- * 'urgId'+userRolesGet+    :: Int64 -- ^ 'urgProFileId'+    -> Int64 -- ^ 'urgId'+    -> UserRolesGet+userRolesGet pUrgProFileId_ pUrgId_ =+    UserRolesGet+    { _urgProFileId = _Coerce # pUrgProFileId_+    , _urgId = _Coerce # pUrgId_+    }++-- | User profile ID associated with this request.+urgProFileId :: Lens' UserRolesGet Int64+urgProFileId+  = lens _urgProFileId (\ s a -> s{_urgProFileId = a})+      . _Coerce++-- | User role ID.+urgId :: Lens' UserRolesGet Int64+urgId+  = lens _urgId (\ s a -> s{_urgId = a}) . _Coerce++instance GoogleRequest UserRolesGet where+        type Rs UserRolesGet = UserRole+        requestClient UserRolesGet{..}+          = go _urgProFileId _urgId (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy UserRolesGetResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/Insert.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.DFAReporting.UserRoles.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inserts a new user role.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.insert@.+module Network.Google.Resource.DFAReporting.UserRoles.Insert+    (+    -- * REST Resource+      UserRolesInsertResource++    -- * Creating a Request+    , userRolesInsert+    , UserRolesInsert++    -- * Request Lenses+    , uriProFileId+    , uriPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.insert@ method which the+-- 'UserRolesInsert' request conforms to.+type UserRolesInsertResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] UserRole :> Post '[JSON] UserRole++-- | Inserts a new user role.+--+-- /See:/ 'userRolesInsert' smart constructor.+data UserRolesInsert = UserRolesInsert+    { _uriProFileId :: !(Textual Int64)+    , _uriPayload   :: !UserRole+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uriProFileId'+--+-- * 'uriPayload'+userRolesInsert+    :: Int64 -- ^ 'uriProFileId'+    -> UserRole -- ^ 'uriPayload'+    -> UserRolesInsert+userRolesInsert pUriProFileId_ pUriPayload_ =+    UserRolesInsert+    { _uriProFileId = _Coerce # pUriProFileId_+    , _uriPayload = pUriPayload_+    }++-- | User profile ID associated with this request.+uriProFileId :: Lens' UserRolesInsert Int64+uriProFileId+  = lens _uriProFileId (\ s a -> s{_uriProFileId = a})+      . _Coerce++-- | Multipart request metadata.+uriPayload :: Lens' UserRolesInsert UserRole+uriPayload+  = lens _uriPayload (\ s a -> s{_uriPayload = a})++instance GoogleRequest UserRolesInsert where+        type Rs UserRolesInsert = UserRole+        requestClient UserRolesInsert{..}+          = go _uriProFileId (Just AltJSON) _uriPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolesInsertResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/List.hs view
@@ -0,0 +1,196 @@+{-# 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.DFAReporting.UserRoles.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)+--+-- Retrieves a list of user roles, possibly filtered.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.list@.+module Network.Google.Resource.DFAReporting.UserRoles.List+    (+    -- * REST Resource+      UserRolesListResource++    -- * Creating a Request+    , userRolesList+    , UserRolesList++    -- * Request Lenses+    , urlSearchString+    , urlIds+    , urlProFileId+    , urlSortOrder+    , urlAccountUserRoleOnly+    , urlPageToken+    , urlSortField+    , urlSubAccountId+    , urlMaxResults+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.list@ method which the+-- 'UserRolesList' request conforms to.+type UserRolesListResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               QueryParam "searchString" Text :>+                 QueryParams "ids" (Textual Int64) :>+                   QueryParam "sortOrder" UserRolesListSortOrder :>+                     QueryParam "accountUserRoleOnly" Bool :>+                       QueryParam "pageToken" Text :>+                         QueryParam "sortField" UserRolesListSortField :>+                           QueryParam "subaccountId" (Textual Int64) :>+                             QueryParam "maxResults" (Textual Int32) :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] UserRolesListResponse++-- | Retrieves a list of user roles, possibly filtered.+--+-- /See:/ 'userRolesList' smart constructor.+data UserRolesList = UserRolesList+    { _urlSearchString        :: !(Maybe Text)+    , _urlIds                 :: !(Maybe [Textual Int64])+    , _urlProFileId           :: !(Textual Int64)+    , _urlSortOrder           :: !(Maybe UserRolesListSortOrder)+    , _urlAccountUserRoleOnly :: !(Maybe Bool)+    , _urlPageToken           :: !(Maybe Text)+    , _urlSortField           :: !(Maybe UserRolesListSortField)+    , _urlSubAccountId        :: !(Maybe (Textual Int64))+    , _urlMaxResults          :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urlSearchString'+--+-- * 'urlIds'+--+-- * 'urlProFileId'+--+-- * 'urlSortOrder'+--+-- * 'urlAccountUserRoleOnly'+--+-- * 'urlPageToken'+--+-- * 'urlSortField'+--+-- * 'urlSubAccountId'+--+-- * 'urlMaxResults'+userRolesList+    :: Int64 -- ^ 'urlProFileId'+    -> UserRolesList+userRolesList pUrlProFileId_ =+    UserRolesList+    { _urlSearchString = Nothing+    , _urlIds = Nothing+    , _urlProFileId = _Coerce # pUrlProFileId_+    , _urlSortOrder = Nothing+    , _urlAccountUserRoleOnly = Nothing+    , _urlPageToken = Nothing+    , _urlSortField = Nothing+    , _urlSubAccountId = Nothing+    , _urlMaxResults = Nothing+    }++-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.+-- For example, \"userrole*2015\" will return objects with names like+-- \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole+-- 2015\". Most of the searches also add wildcards implicitly at the start+-- and the end of the search string. For example, a search string of+-- \"userrole\" will match objects with name \"my userrole\", \"userrole+-- 2015\", or simply \"userrole\".+urlSearchString :: Lens' UserRolesList (Maybe Text)+urlSearchString+  = lens _urlSearchString+      (\ s a -> s{_urlSearchString = a})++-- | Select only user roles with the specified IDs.+urlIds :: Lens' UserRolesList [Int64]+urlIds+  = lens _urlIds (\ s a -> s{_urlIds = a}) . _Default .+      _Coerce++-- | User profile ID associated with this request.+urlProFileId :: Lens' UserRolesList Int64+urlProFileId+  = lens _urlProFileId (\ s a -> s{_urlProFileId = a})+      . _Coerce++-- | Order of sorted results, default is ASCENDING.+urlSortOrder :: Lens' UserRolesList (Maybe UserRolesListSortOrder)+urlSortOrder+  = lens _urlSortOrder (\ s a -> s{_urlSortOrder = a})++-- | Select only account level user roles not associated with any specific+-- subaccount.+urlAccountUserRoleOnly :: Lens' UserRolesList (Maybe Bool)+urlAccountUserRoleOnly+  = lens _urlAccountUserRoleOnly+      (\ s a -> s{_urlAccountUserRoleOnly = a})++-- | Value of the nextPageToken from the previous result page.+urlPageToken :: Lens' UserRolesList (Maybe Text)+urlPageToken+  = lens _urlPageToken (\ s a -> s{_urlPageToken = a})++-- | Field by which to sort the list.+urlSortField :: Lens' UserRolesList (Maybe UserRolesListSortField)+urlSortField+  = lens _urlSortField (\ s a -> s{_urlSortField = a})++-- | Select only user roles that belong to this subaccount.+urlSubAccountId :: Lens' UserRolesList (Maybe Int64)+urlSubAccountId+  = lens _urlSubAccountId+      (\ s a -> s{_urlSubAccountId = a})+      . mapping _Coerce++-- | Maximum number of results to return.+urlMaxResults :: Lens' UserRolesList (Maybe Int32)+urlMaxResults+  = lens _urlMaxResults+      (\ s a -> s{_urlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest UserRolesList where+        type Rs UserRolesList = UserRolesListResponse+        requestClient UserRolesList{..}+          = go _urlProFileId _urlSearchString+              (_urlIds ^. _Default)+              _urlSortOrder+              _urlAccountUserRoleOnly+              _urlPageToken+              _urlSortField+              _urlSubAccountId+              _urlMaxResults+              (Just AltJSON)+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy UserRolesListResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/Patch.hs view
@@ -0,0 +1,110 @@+{-# 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.DFAReporting.UserRoles.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing user role. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.patch@.+module Network.Google.Resource.DFAReporting.UserRoles.Patch+    (+    -- * REST Resource+      UserRolesPatchResource++    -- * Creating a Request+    , userRolesPatch+    , UserRolesPatch++    -- * Request Lenses+    , urpProFileId+    , urpPayload+    , urpId+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.patch@ method which the+-- 'UserRolesPatch' request conforms to.+type UserRolesPatchResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               QueryParam "id" (Textual Int64) :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] UserRole :> Patch '[JSON] UserRole++-- | Updates an existing user role. This method supports patch semantics.+--+-- /See:/ 'userRolesPatch' smart constructor.+data UserRolesPatch = UserRolesPatch+    { _urpProFileId :: !(Textual Int64)+    , _urpPayload   :: !UserRole+    , _urpId        :: !(Textual Int64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpProFileId'+--+-- * 'urpPayload'+--+-- * 'urpId'+userRolesPatch+    :: Int64 -- ^ 'urpProFileId'+    -> UserRole -- ^ 'urpPayload'+    -> Int64 -- ^ 'urpId'+    -> UserRolesPatch+userRolesPatch pUrpProFileId_ pUrpPayload_ pUrpId_ =+    UserRolesPatch+    { _urpProFileId = _Coerce # pUrpProFileId_+    , _urpPayload = pUrpPayload_+    , _urpId = _Coerce # pUrpId_+    }++-- | User profile ID associated with this request.+urpProFileId :: Lens' UserRolesPatch Int64+urpProFileId+  = lens _urpProFileId (\ s a -> s{_urpProFileId = a})+      . _Coerce++-- | Multipart request metadata.+urpPayload :: Lens' UserRolesPatch UserRole+urpPayload+  = lens _urpPayload (\ s a -> s{_urpPayload = a})++-- | User role ID.+urpId :: Lens' UserRolesPatch Int64+urpId+  = lens _urpId (\ s a -> s{_urpId = a}) . _Coerce++instance GoogleRequest UserRolesPatch where+        type Rs UserRolesPatch = UserRole+        requestClient UserRolesPatch{..}+          = go _urpProFileId (Just _urpId) (Just AltJSON)+              _urpPayload+              dFAReportingService+          where go+                  = buildClient (Proxy :: Proxy UserRolesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DFAReporting/UserRoles/Update.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.DFAReporting.UserRoles.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing user role.+--+-- /See:/ <https://developers.google.com/doubleclick-advertisers/reporting/ DCM/DFA Reporting And Trafficking API Reference> for @dfareporting.userRoles.update@.+module Network.Google.Resource.DFAReporting.UserRoles.Update+    (+    -- * REST Resource+      UserRolesUpdateResource++    -- * Creating a Request+    , userRolesUpdate+    , UserRolesUpdate++    -- * Request Lenses+    , uruProFileId+    , uruPayload+    ) where++import           Network.Google.DFAReporting.Types+import           Network.Google.Prelude++-- | A resource alias for @dfareporting.userRoles.update@ method which the+-- 'UserRolesUpdate' request conforms to.+type UserRolesUpdateResource =+     "dfareporting" :>+       "v2.2" :>+         "userprofiles" :>+           Capture "profileId" (Textual Int64) :>+             "userRoles" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] UserRole :> Put '[JSON] UserRole++-- | Updates an existing user role.+--+-- /See:/ 'userRolesUpdate' smart constructor.+data UserRolesUpdate = UserRolesUpdate+    { _uruProFileId :: !(Textual Int64)+    , _uruPayload   :: !UserRole+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRolesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uruProFileId'+--+-- * 'uruPayload'+userRolesUpdate+    :: Int64 -- ^ 'uruProFileId'+    -> UserRole -- ^ 'uruPayload'+    -> UserRolesUpdate+userRolesUpdate pUruProFileId_ pUruPayload_ =+    UserRolesUpdate+    { _uruProFileId = _Coerce # pUruProFileId_+    , _uruPayload = pUruPayload_+    }++-- | User profile ID associated with this request.+uruProFileId :: Lens' UserRolesUpdate Int64+uruProFileId+  = lens _uruProFileId (\ s a -> s{_uruProFileId = a})+      . _Coerce++-- | Multipart request metadata.+uruPayload :: Lens' UserRolesUpdate UserRole+uruPayload+  = lens _uruPayload (\ s a -> s{_uruPayload = a})++instance GoogleRequest UserRolesUpdate where+        type Rs UserRolesUpdate = UserRole+        requestClient UserRolesUpdate{..}+          = go _uruProFileId (Just AltJSON) _uruPayload+              dFAReportingService+          where go+                  = buildClient+                      (Proxy :: Proxy UserRolesUpdateResource)+                      mempty
+ gogol-dfareporting.cabal view
@@ -0,0 +1,238 @@+name:                  gogol-dfareporting+version:               0.0.1+synopsis:              Google DCM/DFA Reporting And Trafficking 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:+    Manage your DoubleClick Campaign Manager ad campaigns and 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.2@+    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.DFAReporting+        , Network.Google.DFAReporting.Types+        , Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get+        , Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get+        , Network.Google.Resource.DFAReporting.AccountPermissionGroups.List+        , Network.Google.Resource.DFAReporting.AccountPermissions.Get+        , Network.Google.Resource.DFAReporting.AccountPermissions.List+        , Network.Google.Resource.DFAReporting.AccountUserProFiles.Get+        , Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert+        , Network.Google.Resource.DFAReporting.AccountUserProFiles.List+        , Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch+        , Network.Google.Resource.DFAReporting.AccountUserProFiles.Update+        , Network.Google.Resource.DFAReporting.Accounts.Get+        , Network.Google.Resource.DFAReporting.Accounts.List+        , Network.Google.Resource.DFAReporting.Accounts.Patch+        , Network.Google.Resource.DFAReporting.Accounts.Update+        , Network.Google.Resource.DFAReporting.Ads.Get+        , Network.Google.Resource.DFAReporting.Ads.Insert+        , Network.Google.Resource.DFAReporting.Ads.List+        , Network.Google.Resource.DFAReporting.Ads.Patch+        , Network.Google.Resource.DFAReporting.Ads.Update+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.Get+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.List+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch+        , Network.Google.Resource.DFAReporting.AdvertiserGroups.Update+        , Network.Google.Resource.DFAReporting.Advertisers.Get+        , Network.Google.Resource.DFAReporting.Advertisers.Insert+        , Network.Google.Resource.DFAReporting.Advertisers.List+        , Network.Google.Resource.DFAReporting.Advertisers.Patch+        , Network.Google.Resource.DFAReporting.Advertisers.Update+        , Network.Google.Resource.DFAReporting.Browsers.List+        , Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert+        , Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List+        , Network.Google.Resource.DFAReporting.Campaigns.Get+        , Network.Google.Resource.DFAReporting.Campaigns.Insert+        , Network.Google.Resource.DFAReporting.Campaigns.List+        , Network.Google.Resource.DFAReporting.Campaigns.Patch+        , Network.Google.Resource.DFAReporting.Campaigns.Update+        , Network.Google.Resource.DFAReporting.ChangeLogs.Get+        , Network.Google.Resource.DFAReporting.ChangeLogs.List+        , Network.Google.Resource.DFAReporting.Cities.List+        , Network.Google.Resource.DFAReporting.ConnectionTypes.Get+        , Network.Google.Resource.DFAReporting.ConnectionTypes.List+        , Network.Google.Resource.DFAReporting.ContentCategories.Delete+        , Network.Google.Resource.DFAReporting.ContentCategories.Get+        , Network.Google.Resource.DFAReporting.ContentCategories.Insert+        , Network.Google.Resource.DFAReporting.ContentCategories.List+        , Network.Google.Resource.DFAReporting.ContentCategories.Patch+        , Network.Google.Resource.DFAReporting.ContentCategories.Update+        , Network.Google.Resource.DFAReporting.Countries.Get+        , Network.Google.Resource.DFAReporting.Countries.List+        , Network.Google.Resource.DFAReporting.CreativeAssets.Insert+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.Get+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.List+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch+        , Network.Google.Resource.DFAReporting.CreativeFieldValues.Update+        , Network.Google.Resource.DFAReporting.CreativeFields.Delete+        , Network.Google.Resource.DFAReporting.CreativeFields.Get+        , Network.Google.Resource.DFAReporting.CreativeFields.Insert+        , Network.Google.Resource.DFAReporting.CreativeFields.List+        , Network.Google.Resource.DFAReporting.CreativeFields.Patch+        , Network.Google.Resource.DFAReporting.CreativeFields.Update+        , Network.Google.Resource.DFAReporting.CreativeGroups.Get+        , Network.Google.Resource.DFAReporting.CreativeGroups.Insert+        , Network.Google.Resource.DFAReporting.CreativeGroups.List+        , Network.Google.Resource.DFAReporting.CreativeGroups.Patch+        , Network.Google.Resource.DFAReporting.CreativeGroups.Update+        , Network.Google.Resource.DFAReporting.Creatives.Get+        , Network.Google.Resource.DFAReporting.Creatives.Insert+        , Network.Google.Resource.DFAReporting.Creatives.List+        , Network.Google.Resource.DFAReporting.Creatives.Patch+        , Network.Google.Resource.DFAReporting.Creatives.Update+        , Network.Google.Resource.DFAReporting.DimensionValues.Query+        , Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get+        , Network.Google.Resource.DFAReporting.DirectorySiteContacts.List+        , Network.Google.Resource.DFAReporting.DirectorySites.Get+        , Network.Google.Resource.DFAReporting.DirectorySites.Insert+        , Network.Google.Resource.DFAReporting.DirectorySites.List+        , Network.Google.Resource.DFAReporting.EventTags.Delete+        , Network.Google.Resource.DFAReporting.EventTags.Get+        , Network.Google.Resource.DFAReporting.EventTags.Insert+        , Network.Google.Resource.DFAReporting.EventTags.List+        , Network.Google.Resource.DFAReporting.EventTags.Patch+        , Network.Google.Resource.DFAReporting.EventTags.Update+        , Network.Google.Resource.DFAReporting.Files.Get+        , Network.Google.Resource.DFAReporting.Files.List+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Delete+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Get+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Insert+        , Network.Google.Resource.DFAReporting.FloodlightActivities.List+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Patch+        , Network.Google.Resource.DFAReporting.FloodlightActivities.Update+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Delete+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch+        , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update+        , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get+        , Network.Google.Resource.DFAReporting.FloodlightConfigurations.List+        , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch+        , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update+        , Network.Google.Resource.DFAReporting.InventoryItems.Get+        , Network.Google.Resource.DFAReporting.InventoryItems.List+        , Network.Google.Resource.DFAReporting.LandingPages.Delete+        , Network.Google.Resource.DFAReporting.LandingPages.Get+        , Network.Google.Resource.DFAReporting.LandingPages.Insert+        , Network.Google.Resource.DFAReporting.LandingPages.List+        , Network.Google.Resource.DFAReporting.LandingPages.Patch+        , Network.Google.Resource.DFAReporting.LandingPages.Update+        , Network.Google.Resource.DFAReporting.Metros.List+        , Network.Google.Resource.DFAReporting.MobileCarriers.Get+        , Network.Google.Resource.DFAReporting.MobileCarriers.List+        , Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get+        , Network.Google.Resource.DFAReporting.OperatingSystemVersions.List+        , Network.Google.Resource.DFAReporting.OperatingSystems.Get+        , Network.Google.Resource.DFAReporting.OperatingSystems.List+        , Network.Google.Resource.DFAReporting.OrderDocuments.Get+        , Network.Google.Resource.DFAReporting.OrderDocuments.List+        , Network.Google.Resource.DFAReporting.Orders.Get+        , Network.Google.Resource.DFAReporting.Orders.List+        , Network.Google.Resource.DFAReporting.PlacementGroups.Get+        , Network.Google.Resource.DFAReporting.PlacementGroups.Insert+        , Network.Google.Resource.DFAReporting.PlacementGroups.List+        , Network.Google.Resource.DFAReporting.PlacementGroups.Patch+        , Network.Google.Resource.DFAReporting.PlacementGroups.Update+        , Network.Google.Resource.DFAReporting.PlacementStrategies.Delete+        , Network.Google.Resource.DFAReporting.PlacementStrategies.Get+        , Network.Google.Resource.DFAReporting.PlacementStrategies.Insert+        , Network.Google.Resource.DFAReporting.PlacementStrategies.List+        , Network.Google.Resource.DFAReporting.PlacementStrategies.Patch+        , Network.Google.Resource.DFAReporting.PlacementStrategies.Update+        , Network.Google.Resource.DFAReporting.Placements.Generatetags+        , Network.Google.Resource.DFAReporting.Placements.Get+        , Network.Google.Resource.DFAReporting.Placements.Insert+        , Network.Google.Resource.DFAReporting.Placements.List+        , Network.Google.Resource.DFAReporting.Placements.Patch+        , Network.Google.Resource.DFAReporting.Placements.Update+        , Network.Google.Resource.DFAReporting.PlatformTypes.Get+        , Network.Google.Resource.DFAReporting.PlatformTypes.List+        , Network.Google.Resource.DFAReporting.PostalCodes.Get+        , Network.Google.Resource.DFAReporting.PostalCodes.List+        , Network.Google.Resource.DFAReporting.Projects.Get+        , Network.Google.Resource.DFAReporting.Projects.List+        , Network.Google.Resource.DFAReporting.Regions.List+        , Network.Google.Resource.DFAReporting.RemarketingListShares.Get+        , Network.Google.Resource.DFAReporting.RemarketingListShares.Patch+        , Network.Google.Resource.DFAReporting.RemarketingListShares.Update+        , Network.Google.Resource.DFAReporting.RemarketingLists.Get+        , Network.Google.Resource.DFAReporting.RemarketingLists.Insert+        , Network.Google.Resource.DFAReporting.RemarketingLists.List+        , Network.Google.Resource.DFAReporting.RemarketingLists.Patch+        , Network.Google.Resource.DFAReporting.RemarketingLists.Update+        , Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query+        , Network.Google.Resource.DFAReporting.Reports.Delete+        , Network.Google.Resource.DFAReporting.Reports.Files.Get+        , Network.Google.Resource.DFAReporting.Reports.Files.List+        , Network.Google.Resource.DFAReporting.Reports.Get+        , Network.Google.Resource.DFAReporting.Reports.Insert+        , Network.Google.Resource.DFAReporting.Reports.List+        , Network.Google.Resource.DFAReporting.Reports.Patch+        , Network.Google.Resource.DFAReporting.Reports.Run+        , Network.Google.Resource.DFAReporting.Reports.Update+        , Network.Google.Resource.DFAReporting.Sites.Get+        , Network.Google.Resource.DFAReporting.Sites.Insert+        , Network.Google.Resource.DFAReporting.Sites.List+        , Network.Google.Resource.DFAReporting.Sites.Patch+        , Network.Google.Resource.DFAReporting.Sites.Update+        , Network.Google.Resource.DFAReporting.Sizes.Get+        , Network.Google.Resource.DFAReporting.Sizes.Insert+        , Network.Google.Resource.DFAReporting.Sizes.List+        , Network.Google.Resource.DFAReporting.SubAccounts.Get+        , Network.Google.Resource.DFAReporting.SubAccounts.Insert+        , Network.Google.Resource.DFAReporting.SubAccounts.List+        , Network.Google.Resource.DFAReporting.SubAccounts.Patch+        , Network.Google.Resource.DFAReporting.SubAccounts.Update+        , Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get+        , Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List+        , Network.Google.Resource.DFAReporting.UserProFiles.Get+        , Network.Google.Resource.DFAReporting.UserProFiles.List+        , Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get+        , Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List+        , Network.Google.Resource.DFAReporting.UserRolePermissions.Get+        , Network.Google.Resource.DFAReporting.UserRolePermissions.List+        , Network.Google.Resource.DFAReporting.UserRoles.Delete+        , Network.Google.Resource.DFAReporting.UserRoles.Get+        , Network.Google.Resource.DFAReporting.UserRoles.Insert+        , Network.Google.Resource.DFAReporting.UserRoles.List+        , Network.Google.Resource.DFAReporting.UserRoles.Patch+        , Network.Google.Resource.DFAReporting.UserRoles.Update++    other-modules:+          Network.Google.DFAReporting.Types.Product+        , Network.Google.DFAReporting.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5