packages feed

gogol-analytics (empty) → 0.0.1

raw patch · 86 files changed

+22728/−0 lines, 86 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-analytics++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Analytics.+++## 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-analytics` 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/Analytics.hs view
@@ -0,0 +1,1415 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.Analytics+-- 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)+--+-- View and manage your Google Analytics data+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference>+module Network.Google.Analytics+    (+    -- * Service Configuration+      analyticsService++    -- * API Declaration+    , AnalyticsAPI++    -- * Resources++    -- ** analytics.data.ga.get+    , module Network.Google.Resource.Analytics.Data.Ga.Get++    -- ** analytics.data.mcf.get+    , module Network.Google.Resource.Analytics.Data.Mcf.Get++    -- ** analytics.data.realtime.get+    , module Network.Google.Resource.Analytics.Data.Realtime.Get++    -- ** analytics.management.accountSummaries.list+    , module Network.Google.Resource.Analytics.Management.AccountSummaries.List++    -- ** analytics.management.accountUserLinks.delete+    , module Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete++    -- ** analytics.management.accountUserLinks.insert+    , module Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert++    -- ** analytics.management.accountUserLinks.list+    , module Network.Google.Resource.Analytics.Management.AccountUserLinks.List++    -- ** analytics.management.accountUserLinks.update+    , module Network.Google.Resource.Analytics.Management.AccountUserLinks.Update++    -- ** analytics.management.accounts.list+    , module Network.Google.Resource.Analytics.Management.Accounts.List++    -- ** analytics.management.customDataSources.list+    , module Network.Google.Resource.Analytics.Management.CustomDataSources.List++    -- ** analytics.management.customDimensions.get+    , module Network.Google.Resource.Analytics.Management.CustomDimensions.Get++    -- ** analytics.management.customDimensions.insert+    , module Network.Google.Resource.Analytics.Management.CustomDimensions.Insert++    -- ** analytics.management.customDimensions.list+    , module Network.Google.Resource.Analytics.Management.CustomDimensions.List++    -- ** analytics.management.customDimensions.patch+    , module Network.Google.Resource.Analytics.Management.CustomDimensions.Patch++    -- ** analytics.management.customDimensions.update+    , module Network.Google.Resource.Analytics.Management.CustomDimensions.Update++    -- ** analytics.management.customMetrics.get+    , module Network.Google.Resource.Analytics.Management.CustomMetrics.Get++    -- ** analytics.management.customMetrics.insert+    , module Network.Google.Resource.Analytics.Management.CustomMetrics.Insert++    -- ** analytics.management.customMetrics.list+    , module Network.Google.Resource.Analytics.Management.CustomMetrics.List++    -- ** analytics.management.customMetrics.patch+    , module Network.Google.Resource.Analytics.Management.CustomMetrics.Patch++    -- ** analytics.management.customMetrics.update+    , module Network.Google.Resource.Analytics.Management.CustomMetrics.Update++    -- ** analytics.management.experiments.delete+    , module Network.Google.Resource.Analytics.Management.Experiments.Delete++    -- ** analytics.management.experiments.get+    , module Network.Google.Resource.Analytics.Management.Experiments.Get++    -- ** analytics.management.experiments.insert+    , module Network.Google.Resource.Analytics.Management.Experiments.Insert++    -- ** analytics.management.experiments.list+    , module Network.Google.Resource.Analytics.Management.Experiments.List++    -- ** analytics.management.experiments.patch+    , module Network.Google.Resource.Analytics.Management.Experiments.Patch++    -- ** analytics.management.experiments.update+    , module Network.Google.Resource.Analytics.Management.Experiments.Update++    -- ** analytics.management.filters.delete+    , module Network.Google.Resource.Analytics.Management.Filters.Delete++    -- ** analytics.management.filters.get+    , module Network.Google.Resource.Analytics.Management.Filters.Get++    -- ** analytics.management.filters.insert+    , module Network.Google.Resource.Analytics.Management.Filters.Insert++    -- ** analytics.management.filters.list+    , module Network.Google.Resource.Analytics.Management.Filters.List++    -- ** analytics.management.filters.patch+    , module Network.Google.Resource.Analytics.Management.Filters.Patch++    -- ** analytics.management.filters.update+    , module Network.Google.Resource.Analytics.Management.Filters.Update++    -- ** analytics.management.goals.get+    , module Network.Google.Resource.Analytics.Management.Goals.Get++    -- ** analytics.management.goals.insert+    , module Network.Google.Resource.Analytics.Management.Goals.Insert++    -- ** analytics.management.goals.list+    , module Network.Google.Resource.Analytics.Management.Goals.List++    -- ** analytics.management.goals.patch+    , module Network.Google.Resource.Analytics.Management.Goals.Patch++    -- ** analytics.management.goals.update+    , module Network.Google.Resource.Analytics.Management.Goals.Update++    -- ** analytics.management.profileFilterLinks.delete+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete++    -- ** analytics.management.profileFilterLinks.get+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get++    -- ** analytics.management.profileFilterLinks.insert+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert++    -- ** analytics.management.profileFilterLinks.list+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List++    -- ** analytics.management.profileFilterLinks.patch+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch++    -- ** analytics.management.profileFilterLinks.update+    , module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update++    -- ** analytics.management.profileUserLinks.delete+    , module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete++    -- ** analytics.management.profileUserLinks.insert+    , module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert++    -- ** analytics.management.profileUserLinks.list+    , module Network.Google.Resource.Analytics.Management.ProFileUserLinks.List++    -- ** analytics.management.profileUserLinks.update+    , module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update++    -- ** analytics.management.profiles.delete+    , module Network.Google.Resource.Analytics.Management.ProFiles.Delete++    -- ** analytics.management.profiles.get+    , module Network.Google.Resource.Analytics.Management.ProFiles.Get++    -- ** analytics.management.profiles.insert+    , module Network.Google.Resource.Analytics.Management.ProFiles.Insert++    -- ** analytics.management.profiles.list+    , module Network.Google.Resource.Analytics.Management.ProFiles.List++    -- ** analytics.management.profiles.patch+    , module Network.Google.Resource.Analytics.Management.ProFiles.Patch++    -- ** analytics.management.profiles.update+    , module Network.Google.Resource.Analytics.Management.ProFiles.Update++    -- ** analytics.management.segments.list+    , module Network.Google.Resource.Analytics.Management.Segments.List++    -- ** analytics.management.unsampledReports.get+    , module Network.Google.Resource.Analytics.Management.UnSampledReports.Get++    -- ** analytics.management.unsampledReports.insert+    , module Network.Google.Resource.Analytics.Management.UnSampledReports.Insert++    -- ** analytics.management.unsampledReports.list+    , module Network.Google.Resource.Analytics.Management.UnSampledReports.List++    -- ** analytics.management.uploads.deleteUploadData+    , module Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData++    -- ** analytics.management.uploads.get+    , module Network.Google.Resource.Analytics.Management.Uploads.Get++    -- ** analytics.management.uploads.list+    , module Network.Google.Resource.Analytics.Management.Uploads.List++    -- ** analytics.management.uploads.uploadData+    , module Network.Google.Resource.Analytics.Management.Uploads.UploadData++    -- ** analytics.management.webPropertyAdWordsLinks.delete+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete++    -- ** analytics.management.webPropertyAdWordsLinks.get+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get++    -- ** analytics.management.webPropertyAdWordsLinks.insert+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert++    -- ** analytics.management.webPropertyAdWordsLinks.list+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List++    -- ** analytics.management.webPropertyAdWordsLinks.patch+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch++    -- ** analytics.management.webPropertyAdWordsLinks.update+    , module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update++    -- ** analytics.management.webproperties.get+    , module Network.Google.Resource.Analytics.Management.WebProperties.Get++    -- ** analytics.management.webproperties.insert+    , module Network.Google.Resource.Analytics.Management.WebProperties.Insert++    -- ** analytics.management.webproperties.list+    , module Network.Google.Resource.Analytics.Management.WebProperties.List++    -- ** analytics.management.webproperties.patch+    , module Network.Google.Resource.Analytics.Management.WebProperties.Patch++    -- ** analytics.management.webproperties.update+    , module Network.Google.Resource.Analytics.Management.WebProperties.Update++    -- ** analytics.management.webpropertyUserLinks.delete+    , module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete++    -- ** analytics.management.webpropertyUserLinks.insert+    , module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert++    -- ** analytics.management.webpropertyUserLinks.list+    , module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List++    -- ** analytics.management.webpropertyUserLinks.update+    , module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update++    -- ** analytics.metadata.columns.list+    , module Network.Google.Resource.Analytics.Metadata.Columns.List++    -- ** analytics.provisioning.createAccountTicket+    , module Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket++    -- * Types++    -- ** UnSampledReports+    , UnSampledReports+    , unSampledReports+    , usrNextLink+    , usrItemsPerPage+    , usrKind+    , usrUsername+    , usrItems+    , usrTotalResults+    , usrStartIndex+    , usrPreviousLink++    -- ** GoalURLDestinationDetailsStepsItem+    , GoalURLDestinationDetailsStepsItem+    , goalURLDestinationDetailsStepsItem+    , guddsiURL+    , guddsiName+    , guddsiNumber++    -- ** GaDataQuery+    , GaDataQuery+    , gaDataQuery+    , gdqMetrics+    , gdqSamplingLevel+    , gdqFilters+    , gdqIds+    , gdqEndDate+    , gdqSort+    , gdqDimensions+    , gdqStartIndex+    , gdqMaxResults+    , gdqSegment+    , gdqStartDate++    -- ** GaDataDataTableRowsItem+    , GaDataDataTableRowsItem+    , gaDataDataTableRowsItem+    , gddtriC++    -- ** UnSampledReport+    , UnSampledReport+    , unSampledReport+    , uDownloadType+    , uStatus+    , uMetrics+    , uDriveDownloadDetails+    , uWebPropertyId+    , uKind+    , uCreated+    , uFilters+    , uProFileId+    , uEndDate+    , uSelfLink+    , uAccountId+    , uId+    , uUpdated+    , uTitle+    , uDimensions+    , uSegment+    , uCloudStorageDownloadDetails+    , uStartDate++    -- ** McfDataColumnHeadersItem+    , McfDataColumnHeadersItem+    , mcfDataColumnHeadersItem+    , mdchiColumnType+    , mdchiName+    , mdchiDataType++    -- ** GaDataTotalsForAllResults+    , GaDataTotalsForAllResults+    , gaDataTotalsForAllResults+    , gdtfarAddtional++    -- ** ProFileParentLink+    , ProFileParentLink+    , proFileParentLink+    , pfplHref+    , pfplType++    -- ** GaDataDataTableRowsItemCItem+    , GaDataDataTableRowsItemCItem+    , gaDataDataTableRowsItemCItem+    , gddtriciV++    -- ** EntityUserLinkPermissions+    , EntityUserLinkPermissions+    , entityUserLinkPermissions+    , eulpLocal+    , eulpEffective++    -- ** RealtimeDataProFileInfo+    , RealtimeDataProFileInfo+    , realtimeDataProFileInfo+    , rdpfiWebPropertyId+    , rdpfiProFileId+    , rdpfiProFileName+    , rdpfiAccountId+    , rdpfiInternalWebPropertyId+    , rdpfiTableId++    -- ** McfDataRowsItemItemConversionPathValueItem+    , McfDataRowsItemItemConversionPathValueItem+    , mcfDataRowsItemItemConversionPathValueItem+    , mdriicpviInteractionType+    , mdriicpviNodeValue++    -- ** FilterExpression+    , FilterExpression+    , filterExpression+    , feFieldIndex+    , feField+    , feKind+    , feMatchType+    , feCaseSensitive+    , feExpressionValue++    -- ** ProFileRef+    , ProFileRef+    , proFileRef+    , pfrWebPropertyId+    , pfrKind+    , pfrHref+    , pfrAccountId+    , pfrName+    , pfrInternalWebPropertyId+    , pfrId++    -- ** Accounts+    , Accounts+    , accounts+    , aNextLink+    , aItemsPerPage+    , aKind+    , aUsername+    , aItems+    , aTotalResults+    , aStartIndex+    , aPreviousLink++    -- ** Experiments+    , Experiments+    , experiments+    , eNextLink+    , eItemsPerPage+    , eKind+    , eUsername+    , eItems+    , eTotalResults+    , eStartIndex+    , ePreviousLink++    -- ** ExperimentParentLink+    , ExperimentParentLink+    , experimentParentLink+    , eplHref+    , eplType++    -- ** UnSampledReportDriveDownloadDetails+    , UnSampledReportDriveDownloadDetails+    , unSampledReportDriveDownloadDetails+    , usrdddDocumentId++    -- ** McfDataProFileInfo+    , McfDataProFileInfo+    , mcfDataProFileInfo+    , mdpfiWebPropertyId+    , mdpfiProFileId+    , mdpfiProFileName+    , mdpfiAccountId+    , mdpfiInternalWebPropertyId+    , mdpfiTableId++    -- ** CustomDataSources+    , CustomDataSources+    , customDataSources+    , cdsNextLink+    , cdsItemsPerPage+    , cdsKind+    , cdsUsername+    , cdsItems+    , cdsTotalResults+    , cdsStartIndex+    , cdsPreviousLink++    -- ** WebPropertyChildLink+    , WebPropertyChildLink+    , webPropertyChildLink+    , wpclHref+    , wpclType++    -- ** DataGaGetSamplingLevel+    , DataGaGetSamplingLevel (..)++    -- ** McfData+    , McfData+    , mcfData+    , mdNextLink+    , mdSampleSpace+    , mdItemsPerPage+    , mdProFileInfo+    , mdKind+    , mdSampleSize+    , mdRows+    , mdSelfLink+    , mdQuery+    , mdColumnHeaders+    , mdId+    , mdTotalResults+    , mdContainsSampledData+    , mdTotalsForAllResults+    , mdPreviousLink++    -- ** UserRef+    , UserRef+    , userRef+    , urEmail+    , urKind+    , urId++    -- ** GoalVisitNumPagesDetails+    , GoalVisitNumPagesDetails+    , goalVisitNumPagesDetails+    , gvnpdComparisonValue+    , gvnpdComparisonType++    -- ** RealtimeDataColumnHeadersItem+    , RealtimeDataColumnHeadersItem+    , realtimeDataColumnHeadersItem+    , rdchiColumnType+    , rdchiName+    , rdchiDataType++    -- ** AccountRef+    , AccountRef+    , accountRef+    , arKind+    , arHref+    , arName+    , arId++    -- ** EntityAdWordsLinks+    , EntityAdWordsLinks+    , entityAdWordsLinks+    , eawlNextLink+    , eawlItemsPerPage+    , eawlKind+    , eawlItems+    , eawlTotalResults+    , eawlStartIndex+    , eawlPreviousLink++    -- ** ProFiles+    , ProFiles+    , proFiles+    , pfNextLink+    , pfItemsPerPage+    , pfKind+    , pfUsername+    , pfItems+    , pfTotalResults+    , pfStartIndex+    , pfPreviousLink++    -- ** AnalyticsDataimportDeleteUploadDataRequest+    , AnalyticsDataimportDeleteUploadDataRequest+    , analyticsDataimportDeleteUploadDataRequest+    , addudrCustomDataImportUids++    -- ** EntityAdWordsLink+    , EntityAdWordsLink+    , entityAdWordsLink+    , entAdWordsAccounts+    , entProFileIds+    , entKind+    , entSelfLink+    , entName+    , entId+    , entEntity++    -- ** FilterSearchAndReplaceDetails+    , FilterSearchAndReplaceDetails+    , filterSearchAndReplaceDetails+    , fsardFieldIndex+    , fsardField+    , fsardSearchString+    , fsardReplaceString+    , fsardCaseSensitive++    -- ** ProFilePermissions+    , ProFilePermissions+    , proFilePermissions+    , pfpEffective++    -- ** ProFile+    , ProFile+    , proFile+    , pParentLink+    , pECommerceTracking+    , pSiteSearchCategoryParameters+    , pWebPropertyId+    , pChildLink+    , pSiteSearchQueryParameters+    , pKind+    , pDefaultPage+    , pCreated+    , pSelfLink+    , pAccountId+    , pName+    , pCurrency+    , pInternalWebPropertyId+    , pId+    , pUpdated+    , pPermissions+    , pWebsiteURL+    , pType+    , pStripSiteSearchCategoryParameters+    , pTimezone+    , pExcludeQueryParameters+    , pEnhancedECommerceTracking+    , pStripSiteSearchQueryParameters++    -- ** AccountSummaries+    , AccountSummaries+    , accountSummaries+    , asNextLink+    , asItemsPerPage+    , asKind+    , asUsername+    , asItems+    , asTotalResults+    , asStartIndex+    , asPreviousLink++    -- ** GoalEventDetails+    , GoalEventDetails+    , goalEventDetails+    , gedUseEventValue+    , gedEventConditions++    -- ** WebPropertySummary+    , WebPropertySummary+    , webPropertySummary+    , wpsKind+    , wpsProFiles+    , wpsName+    , wpsInternalWebPropertyId+    , wpsId+    , wpsWebsiteURL+    , wpsLevel++    -- ** Filters+    , Filters+    , filters+    , fNextLink+    , fItemsPerPage+    , fKind+    , fUsername+    , fItems+    , fTotalResults+    , fStartIndex+    , fPreviousLink++    -- ** GaData+    , GaData+    , gaData+    , gdNextLink+    , gdSampleSpace+    , gdItemsPerPage+    , gdProFileInfo+    , gdKind+    , gdSampleSize+    , gdRows+    , gdSelfLink+    , gdQuery+    , gdColumnHeaders+    , gdId+    , gdTotalResults+    , gdDataTable+    , gdContainsSampledData+    , gdTotalsForAllResults+    , gdPreviousLink++    -- ** RealtimeDataTotalsForAllResults+    , RealtimeDataTotalsForAllResults+    , realtimeDataTotalsForAllResults+    , rdtfarAddtional++    -- ** CustomDataSource+    , CustomDataSource+    , customDataSource+    , cParentLink+    , cWebPropertyId+    , cChildLink+    , cKind+    , cCreated+    , cUploadType+    , cImportBehavior+    , cSelfLink+    , cAccountId+    , cName+    , cId+    , cUpdated+    , cType+    , cDescription+    , cProFilesLinked++    -- ** WebPropertyRef+    , WebPropertyRef+    , webPropertyRef+    , wprKind+    , wprHref+    , wprAccountId+    , wprName+    , wprInternalWebPropertyId+    , wprId++    -- ** Goals+    , Goals+    , goals+    , gNextLink+    , gItemsPerPage+    , gKind+    , gUsername+    , gItems+    , gTotalResults+    , gStartIndex+    , gPreviousLink++    -- ** McfDataRowsItemItem+    , McfDataRowsItemItem+    , mcfDataRowsItemItem+    , mdriiPrimitiveValue+    , mdriiConversionPathValue++    -- ** AccountPermissions+    , AccountPermissions+    , accountPermissions+    , apEffective++    -- ** EntityUserLinkEntity+    , EntityUserLinkEntity+    , entityUserLinkEntity+    , euleProFileRef+    , euleAccountRef+    , euleWebPropertyRef++    -- ** Account+    , Account+    , account+    , accChildLink+    , accKind+    , accCreated+    , accSelfLink+    , accName+    , accId+    , accUpdated+    , accPermissions++    -- ** Experiment+    , Experiment+    , experiment+    , expParentLink+    , expEqualWeighting+    , expStatus+    , expWebPropertyId+    , expStartTime+    , expSnippet+    , expKind+    , expCreated+    , expReasonExperimentEnded+    , expTrafficCoverage+    , expEditableInGaUi+    , expMinimumExperimentLengthInDays+    , expProFileId+    , expOptimizationType+    , expSelfLink+    , expAccountId+    , expName+    , expWinnerFound+    , expEndTime+    , expVariations+    , expInternalWebPropertyId+    , expId+    , expUpdated+    , expRewriteVariationURLsAsOriginal+    , expObjectiveMetric+    , expWinnerConfidenceLevel+    , expServingFramework+    , expDescription++    -- ** EntityUserLinks+    , EntityUserLinks+    , entityUserLinks+    , eulNextLink+    , eulItemsPerPage+    , eulKind+    , eulItems+    , eulTotalResults+    , eulStartIndex+    , eulPreviousLink++    -- ** AdWordsAccount+    , AdWordsAccount+    , adWordsAccount+    , awaAutoTaggingEnabled+    , awaKind+    , awaCustomerId++    -- ** FilterRef+    , FilterRef+    , filterRef+    , frKind+    , frHref+    , frAccountId+    , frName+    , frId++    -- ** GoalVisitTimeOnSiteDetails+    , GoalVisitTimeOnSiteDetails+    , goalVisitTimeOnSiteDetails+    , gvtosdComparisonValue+    , gvtosdComparisonType++    -- ** WebProperties+    , WebProperties+    , webProperties+    , wpNextLink+    , wpItemsPerPage+    , wpKind+    , wpUsername+    , wpItems+    , wpTotalResults+    , wpStartIndex+    , wpPreviousLink++    -- ** CustomMetrics+    , CustomMetrics+    , customMetrics+    , cmNextLink+    , cmItemsPerPage+    , cmKind+    , cmUsername+    , cmItems+    , cmTotalResults+    , cmStartIndex+    , cmPreviousLink++    -- ** FilterAdvancedDetails+    , FilterAdvancedDetails+    , filterAdvancedDetails+    , fadExtractA+    , fadFieldARequired+    , fadFieldA+    , fadFieldBIndex+    , fadOutputToField+    , fadOutputConstructor+    , fadExtractB+    , fadFieldAIndex+    , fadCaseSensitive+    , fadOutputToFieldIndex+    , fadFieldB+    , fadFieldBRequired+    , fadOverrideOutputField++    -- ** FilterUppercaseDetails+    , FilterUppercaseDetails+    , filterUppercaseDetails+    , fudFieldIndex+    , fudField++    -- ** CustomDataSourceChildLink+    , CustomDataSourceChildLink+    , customDataSourceChildLink+    , cdsclHref+    , cdsclType++    -- ** FilterParentLink+    , FilterParentLink+    , filterParentLink+    , fplHref+    , fplType++    -- ** DataGaGetOutput+    , DataGaGetOutput (..)++    -- ** RealtimeData+    , RealtimeData+    , realtimeData+    , rdProFileInfo+    , rdKind+    , rdRows+    , rdSelfLink+    , rdQuery+    , rdColumnHeaders+    , rdId+    , rdTotalResults+    , rdTotalsForAllResults++    -- ** CustomMetric+    , CustomMetric+    , customMetric+    , cusParentLink+    , cusWebPropertyId+    , cusKind+    , cusMaxValue+    , cusCreated+    , cusMinValue+    , cusActive+    , cusSelfLink+    , cusAccountId+    , cusName+    , cusScope+    , cusId+    , cusUpdated+    , cusType+    , cusIndex++    -- ** ProFileSummary+    , ProFileSummary+    , proFileSummary+    , pfsKind+    , pfsName+    , pfsId+    , pfsType++    -- ** CustomDimensionParentLink+    , CustomDimensionParentLink+    , customDimensionParentLink+    , cdplHref+    , cdplType++    -- ** WebProperty+    , WebProperty+    , webProperty+    , wParentLink+    , wChildLink+    , wDefaultProFileId+    , wKind+    , wCreated+    , wSelfLink+    , wAccountId+    , wName+    , wInternalWebPropertyId+    , wId+    , wUpdated+    , wProFileCount+    , wPermissions+    , wWebsiteURL+    , wIndustryVertical+    , wLevel++    -- ** WebPropertyPermissions+    , WebPropertyPermissions+    , webPropertyPermissions+    , wppEffective++    -- ** EntityUserLink+    , EntityUserLink+    , entityUserLink+    , euluKind+    , euluUserRef+    , euluSelfLink+    , euluId+    , euluPermissions+    , euluEntity++    -- ** CustomDataSourceParentLink+    , CustomDataSourceParentLink+    , customDataSourceParentLink+    , cdsplHref+    , cdsplType++    -- ** GoalEventDetailsEventConditionsItem+    , GoalEventDetailsEventConditionsItem+    , goalEventDetailsEventConditionsItem+    , gedeciMatchType+    , gedeciExpression+    , gedeciComparisonValue+    , gedeciType+    , gedeciComparisonType++    -- ** McfDataQuery+    , McfDataQuery+    , mcfDataQuery+    , mdqMetrics+    , mdqSamplingLevel+    , mdqFilters+    , mdqIds+    , mdqEndDate+    , mdqSort+    , mdqDimensions+    , mdqStartIndex+    , mdqMaxResults+    , mdqSegment+    , mdqStartDate++    -- ** Goal+    , Goal+    , goal+    , goaParentLink+    , goaWebPropertyId+    , goaKind+    , goaCreated+    , goaValue+    , goaProFileId+    , goaEventDetails+    , goaActive+    , goaSelfLink+    , goaVisitTimeOnSiteDetails+    , goaAccountId+    , goaName+    , goaInternalWebPropertyId+    , goaId+    , goaURLDestinationDetails+    , goaVisitNumPagesDetails+    , goaUpdated+    , goaType++    -- ** AccountTicket+    , AccountTicket+    , accountTicket+    , atRedirectURI+    , atKind+    , atProFile+    , atAccount+    , atWebProperty+    , atId++    -- ** AccountSummary+    , AccountSummary+    , accountSummary+    , assKind+    , assWebProperties+    , assName+    , assId++    -- ** RealtimeDataQuery+    , RealtimeDataQuery+    , realtimeDataQuery+    , rdqMetrics+    , rdqFilters+    , rdqIds+    , rdqSort+    , rdqDimensions+    , rdqMaxResults++    -- ** Columns+    , Columns+    , columns+    , colEtag+    , colKind+    , colItems+    , colTotalResults+    , colAttributeNames++    -- ** FilterLowercaseDetails+    , FilterLowercaseDetails+    , filterLowercaseDetails+    , fldFieldIndex+    , fldField++    -- ** Filter+    , Filter+    , filter'+    , filParentLink+    , filAdvancedDetails+    , filUppercaseDetails+    , filLowercaseDetails+    , filKind+    , filCreated+    , filIncludeDetails+    , filExcludeDetails+    , filSelfLink+    , filAccountId+    , filName+    , filId+    , filUpdated+    , filType+    , filSearchAndReplaceDetails++    -- ** Uploads+    , Uploads+    , uploads+    , uplNextLink+    , uplItemsPerPage+    , uplKind+    , uplItems+    , uplTotalResults+    , uplStartIndex+    , uplPreviousLink++    -- ** CustomDimensions+    , CustomDimensions+    , customDimensions+    , cdNextLink+    , cdItemsPerPage+    , cdKind+    , cdUsername+    , cdItems+    , cdTotalResults+    , cdStartIndex+    , cdPreviousLink++    -- ** Segments+    , Segments+    , segments+    , sNextLink+    , sItemsPerPage+    , sKind+    , sUsername+    , sItems+    , sTotalResults+    , sStartIndex+    , sPreviousLink++    -- ** GaDataDataTable+    , GaDataDataTable+    , gaDataDataTable+    , gddtCols+    , gddtRows++    -- ** EntityAdWordsLinkEntity+    , EntityAdWordsLinkEntity+    , entityAdWordsLinkEntity+    , eawleWebPropertyRef++    -- ** GoalURLDestinationDetails+    , GoalURLDestinationDetails+    , goalURLDestinationDetails+    , guddURL+    , guddMatchType+    , guddSteps+    , guddCaseSensitive+    , guddFirstStepRequired++    -- ** ProFileFilterLinks+    , ProFileFilterLinks+    , proFileFilterLinks+    , pfflNextLink+    , pfflItemsPerPage+    , pfflKind+    , pfflUsername+    , pfflItems+    , pfflTotalResults+    , pfflStartIndex+    , pfflPreviousLink++    -- ** WebPropertyParentLink+    , WebPropertyParentLink+    , webPropertyParentLink+    , wpplHref+    , wpplType++    -- ** GaDataProFileInfo+    , GaDataProFileInfo+    , gaDataProFileInfo+    , gdpfiWebPropertyId+    , gdpfiProFileId+    , gdpfiProFileName+    , gdpfiAccountId+    , gdpfiInternalWebPropertyId+    , gdpfiTableId++    -- ** Upload+    , Upload+    , upload+    , uuStatus+    , uuKind+    , uuCustomDataSourceId+    , uuAccountId+    , uuId+    , uuErrors++    -- ** DataMcfGetSamplingLevel+    , DataMcfGetSamplingLevel (..)++    -- ** CustomDimension+    , CustomDimension+    , customDimension+    , cddParentLink+    , cddWebPropertyId+    , cddKind+    , cddCreated+    , cddActive+    , cddSelfLink+    , cddAccountId+    , cddName+    , cddScope+    , cddId+    , cddUpdated+    , cddIndex++    -- ** Segment+    , Segment+    , segment+    , segDefinition+    , segKind+    , segCreated+    , segSelfLink+    , segName+    , segId+    , segUpdated+    , segType+    , segSegmentId++    -- ** AccountChildLink+    , AccountChildLink+    , accountChildLink+    , aclHref+    , aclType++    -- ** ProFileFilterLink+    , ProFileFilterLink+    , proFileFilterLink+    , proProFileRef+    , proKind+    , proFilterRef+    , proSelfLink+    , proId+    , proRank++    -- ** CustomMetricParentLink+    , CustomMetricParentLink+    , customMetricParentLink+    , cmplHref+    , cmplType++    -- ** Column+    , Column+    , column+    , ccKind+    , ccAttributes+    , ccId++    -- ** GaDataDataTableColsItem+    , GaDataDataTableColsItem+    , gaDataDataTableColsItem+    , gddtciId+    , gddtciType+    , gddtciLabel++    -- ** ExperimentVariationsItem+    , ExperimentVariationsItem+    , experimentVariationsItem+    , eviStatus+    , eviWeight+    , eviURL+    , eviWon+    , eviName++    -- ** McfDataTotalsForAllResults+    , McfDataTotalsForAllResults+    , mcfDataTotalsForAllResults+    , mdtfarAddtional++    -- ** UnSampledReportCloudStorageDownloadDetails+    , UnSampledReportCloudStorageDownloadDetails+    , unSampledReportCloudStorageDownloadDetails+    , usrcsddObjectId+    , usrcsddBucketId++    -- ** ProFileChildLink+    , ProFileChildLink+    , proFileChildLink+    , pfclHref+    , pfclType++    -- ** GaDataColumnHeadersItem+    , GaDataColumnHeadersItem+    , gaDataColumnHeadersItem+    , gdchiColumnType+    , gdchiName+    , gdchiDataType++    -- ** GoalParentLink+    , GoalParentLink+    , goalParentLink+    , gplHref+    , gplType++    -- ** ColumnAttributes+    , ColumnAttributes+    , columnAttributes+    , caAddtional+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude+import           Network.Google.Resource.Analytics.Data.Ga.Get+import           Network.Google.Resource.Analytics.Data.Mcf.Get+import           Network.Google.Resource.Analytics.Data.Realtime.Get+import           Network.Google.Resource.Analytics.Management.Accounts.List+import           Network.Google.Resource.Analytics.Management.AccountSummaries.List+import           Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete+import           Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert+import           Network.Google.Resource.Analytics.Management.AccountUserLinks.List+import           Network.Google.Resource.Analytics.Management.AccountUserLinks.Update+import           Network.Google.Resource.Analytics.Management.CustomDataSources.List+import           Network.Google.Resource.Analytics.Management.CustomDimensions.Get+import           Network.Google.Resource.Analytics.Management.CustomDimensions.Insert+import           Network.Google.Resource.Analytics.Management.CustomDimensions.List+import           Network.Google.Resource.Analytics.Management.CustomDimensions.Patch+import           Network.Google.Resource.Analytics.Management.CustomDimensions.Update+import           Network.Google.Resource.Analytics.Management.CustomMetrics.Get+import           Network.Google.Resource.Analytics.Management.CustomMetrics.Insert+import           Network.Google.Resource.Analytics.Management.CustomMetrics.List+import           Network.Google.Resource.Analytics.Management.CustomMetrics.Patch+import           Network.Google.Resource.Analytics.Management.CustomMetrics.Update+import           Network.Google.Resource.Analytics.Management.Experiments.Delete+import           Network.Google.Resource.Analytics.Management.Experiments.Get+import           Network.Google.Resource.Analytics.Management.Experiments.Insert+import           Network.Google.Resource.Analytics.Management.Experiments.List+import           Network.Google.Resource.Analytics.Management.Experiments.Patch+import           Network.Google.Resource.Analytics.Management.Experiments.Update+import           Network.Google.Resource.Analytics.Management.Filters.Delete+import           Network.Google.Resource.Analytics.Management.Filters.Get+import           Network.Google.Resource.Analytics.Management.Filters.Insert+import           Network.Google.Resource.Analytics.Management.Filters.List+import           Network.Google.Resource.Analytics.Management.Filters.Patch+import           Network.Google.Resource.Analytics.Management.Filters.Update+import           Network.Google.Resource.Analytics.Management.Goals.Get+import           Network.Google.Resource.Analytics.Management.Goals.Insert+import           Network.Google.Resource.Analytics.Management.Goals.List+import           Network.Google.Resource.Analytics.Management.Goals.Patch+import           Network.Google.Resource.Analytics.Management.Goals.Update+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch+import           Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update+import           Network.Google.Resource.Analytics.Management.ProFiles.Delete+import           Network.Google.Resource.Analytics.Management.ProFiles.Get+import           Network.Google.Resource.Analytics.Management.ProFiles.Insert+import           Network.Google.Resource.Analytics.Management.ProFiles.List+import           Network.Google.Resource.Analytics.Management.ProFiles.Patch+import           Network.Google.Resource.Analytics.Management.ProFiles.Update+import           Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete+import           Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert+import           Network.Google.Resource.Analytics.Management.ProFileUserLinks.List+import           Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update+import           Network.Google.Resource.Analytics.Management.Segments.List+import           Network.Google.Resource.Analytics.Management.UnSampledReports.Get+import           Network.Google.Resource.Analytics.Management.UnSampledReports.Insert+import           Network.Google.Resource.Analytics.Management.UnSampledReports.List+import           Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData+import           Network.Google.Resource.Analytics.Management.Uploads.Get+import           Network.Google.Resource.Analytics.Management.Uploads.List+import           Network.Google.Resource.Analytics.Management.Uploads.UploadData+import           Network.Google.Resource.Analytics.Management.WebProperties.Get+import           Network.Google.Resource.Analytics.Management.WebProperties.Insert+import           Network.Google.Resource.Analytics.Management.WebProperties.List+import           Network.Google.Resource.Analytics.Management.WebProperties.Patch+import           Network.Google.Resource.Analytics.Management.WebProperties.Update+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch+import           Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update+import           Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete+import           Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert+import           Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List+import           Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update+import           Network.Google.Resource.Analytics.Metadata.Columns.List+import           Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Analytics API service.+type AnalyticsAPI =+     DataMcfGetResource :<|> DataGaGetResource :<|>+       DataRealtimeGetResource+       :<|> ManagementWebPropertyAdWordsLinksInsertResource+       :<|> ManagementWebPropertyAdWordsLinksListResource+       :<|> ManagementWebPropertyAdWordsLinksPatchResource+       :<|> ManagementWebPropertyAdWordsLinksGetResource+       :<|> ManagementWebPropertyAdWordsLinksDeleteResource+       :<|> ManagementWebPropertyAdWordsLinksUpdateResource+       :<|> ManagementUnSampledReportsInsertResource+       :<|> ManagementUnSampledReportsListResource+       :<|> ManagementUnSampledReportsGetResource+       :<|> ManagementAccountsListResource+       :<|> ManagementExperimentsInsertResource+       :<|> ManagementExperimentsListResource+       :<|> ManagementExperimentsPatchResource+       :<|> ManagementExperimentsGetResource+       :<|> ManagementExperimentsDeleteResource+       :<|> ManagementExperimentsUpdateResource+       :<|> ManagementCustomDataSourcesListResource+       :<|> ManagementWebPropertyUserLinksInsertResource+       :<|> ManagementWebPropertyUserLinksListResource+       :<|> ManagementWebPropertyUserLinksDeleteResource+       :<|> ManagementWebPropertyUserLinksUpdateResource+       :<|> ManagementProFilesInsertResource+       :<|> ManagementProFilesListResource+       :<|> ManagementProFilesPatchResource+       :<|> ManagementProFilesGetResource+       :<|> ManagementProFilesDeleteResource+       :<|> ManagementProFilesUpdateResource+       :<|> ManagementFiltersInsertResource+       :<|> ManagementFiltersListResource+       :<|> ManagementFiltersPatchResource+       :<|> ManagementFiltersGetResource+       :<|> ManagementFiltersDeleteResource+       :<|> ManagementFiltersUpdateResource+       :<|> ManagementAccountSummariesListResource+       :<|> ManagementGoalsInsertResource+       :<|> ManagementGoalsListResource+       :<|> ManagementGoalsPatchResource+       :<|> ManagementGoalsGetResource+       :<|> ManagementGoalsUpdateResource+       :<|> ManagementWebPropertiesInsertResource+       :<|> ManagementWebPropertiesListResource+       :<|> ManagementWebPropertiesPatchResource+       :<|> ManagementWebPropertiesGetResource+       :<|> ManagementWebPropertiesUpdateResource+       :<|> ManagementCustomMetricsInsertResource+       :<|> ManagementCustomMetricsListResource+       :<|> ManagementCustomMetricsPatchResource+       :<|> ManagementCustomMetricsGetResource+       :<|> ManagementCustomMetricsUpdateResource+       :<|> ManagementUploadsListResource+       :<|> ManagementUploadsDeleteUploadDataResource+       :<|> ManagementUploadsGetResource+       :<|> ManagementUploadsUploadDataResource+       :<|> ManagementSegmentsListResource+       :<|> ManagementProFileFilterLinksInsertResource+       :<|> ManagementProFileFilterLinksListResource+       :<|> ManagementProFileFilterLinksPatchResource+       :<|> ManagementProFileFilterLinksGetResource+       :<|> ManagementProFileFilterLinksDeleteResource+       :<|> ManagementProFileFilterLinksUpdateResource+       :<|> ManagementCustomDimensionsInsertResource+       :<|> ManagementCustomDimensionsListResource+       :<|> ManagementCustomDimensionsPatchResource+       :<|> ManagementCustomDimensionsGetResource+       :<|> ManagementCustomDimensionsUpdateResource+       :<|> ManagementAccountUserLinksInsertResource+       :<|> ManagementAccountUserLinksListResource+       :<|> ManagementAccountUserLinksDeleteResource+       :<|> ManagementAccountUserLinksUpdateResource+       :<|> ManagementProFileUserLinksInsertResource+       :<|> ManagementProFileUserLinksListResource+       :<|> ManagementProFileUserLinksDeleteResource+       :<|> ManagementProFileUserLinksUpdateResource+       :<|> ProvisioningCreateAccountTicketResource+       :<|> MetadataColumnsListResource
+ gen/Network/Google/Analytics/Types.hs view
@@ -0,0 +1,1049 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Analytics.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.Analytics.Types+    (+    -- * Service Configuration+      analyticsService++    -- * OAuth Scopes+    , analyticsManageUsersScope+    , analyticsProvisionScope+    , analyticsManageUsersReadonlyScope+    , analyticsScope+    , analyticsReadonlyScope+    , analyticsEditScope++    -- * UnSampledReports+    , UnSampledReports+    , unSampledReports+    , usrNextLink+    , usrItemsPerPage+    , usrKind+    , usrUsername+    , usrItems+    , usrTotalResults+    , usrStartIndex+    , usrPreviousLink++    -- * GoalURLDestinationDetailsStepsItem+    , GoalURLDestinationDetailsStepsItem+    , goalURLDestinationDetailsStepsItem+    , guddsiURL+    , guddsiName+    , guddsiNumber++    -- * GaDataQuery+    , GaDataQuery+    , gaDataQuery+    , gdqMetrics+    , gdqSamplingLevel+    , gdqFilters+    , gdqIds+    , gdqEndDate+    , gdqSort+    , gdqDimensions+    , gdqStartIndex+    , gdqMaxResults+    , gdqSegment+    , gdqStartDate++    -- * GaDataDataTableRowsItem+    , GaDataDataTableRowsItem+    , gaDataDataTableRowsItem+    , gddtriC++    -- * UnSampledReport+    , UnSampledReport+    , unSampledReport+    , uDownloadType+    , uStatus+    , uMetrics+    , uDriveDownloadDetails+    , uWebPropertyId+    , uKind+    , uCreated+    , uFilters+    , uProFileId+    , uEndDate+    , uSelfLink+    , uAccountId+    , uId+    , uUpdated+    , uTitle+    , uDimensions+    , uSegment+    , uCloudStorageDownloadDetails+    , uStartDate++    -- * McfDataColumnHeadersItem+    , McfDataColumnHeadersItem+    , mcfDataColumnHeadersItem+    , mdchiColumnType+    , mdchiName+    , mdchiDataType++    -- * GaDataTotalsForAllResults+    , GaDataTotalsForAllResults+    , gaDataTotalsForAllResults+    , gdtfarAddtional++    -- * ProFileParentLink+    , ProFileParentLink+    , proFileParentLink+    , pfplHref+    , pfplType++    -- * GaDataDataTableRowsItemCItem+    , GaDataDataTableRowsItemCItem+    , gaDataDataTableRowsItemCItem+    , gddtriciV++    -- * EntityUserLinkPermissions+    , EntityUserLinkPermissions+    , entityUserLinkPermissions+    , eulpLocal+    , eulpEffective++    -- * RealtimeDataProFileInfo+    , RealtimeDataProFileInfo+    , realtimeDataProFileInfo+    , rdpfiWebPropertyId+    , rdpfiProFileId+    , rdpfiProFileName+    , rdpfiAccountId+    , rdpfiInternalWebPropertyId+    , rdpfiTableId++    -- * McfDataRowsItemItemConversionPathValueItem+    , McfDataRowsItemItemConversionPathValueItem+    , mcfDataRowsItemItemConversionPathValueItem+    , mdriicpviInteractionType+    , mdriicpviNodeValue++    -- * FilterExpression+    , FilterExpression+    , filterExpression+    , feFieldIndex+    , feField+    , feKind+    , feMatchType+    , feCaseSensitive+    , feExpressionValue++    -- * ProFileRef+    , ProFileRef+    , proFileRef+    , pfrWebPropertyId+    , pfrKind+    , pfrHref+    , pfrAccountId+    , pfrName+    , pfrInternalWebPropertyId+    , pfrId++    -- * Accounts+    , Accounts+    , accounts+    , aNextLink+    , aItemsPerPage+    , aKind+    , aUsername+    , aItems+    , aTotalResults+    , aStartIndex+    , aPreviousLink++    -- * Experiments+    , Experiments+    , experiments+    , eNextLink+    , eItemsPerPage+    , eKind+    , eUsername+    , eItems+    , eTotalResults+    , eStartIndex+    , ePreviousLink++    -- * ExperimentParentLink+    , ExperimentParentLink+    , experimentParentLink+    , eplHref+    , eplType++    -- * UnSampledReportDriveDownloadDetails+    , UnSampledReportDriveDownloadDetails+    , unSampledReportDriveDownloadDetails+    , usrdddDocumentId++    -- * McfDataProFileInfo+    , McfDataProFileInfo+    , mcfDataProFileInfo+    , mdpfiWebPropertyId+    , mdpfiProFileId+    , mdpfiProFileName+    , mdpfiAccountId+    , mdpfiInternalWebPropertyId+    , mdpfiTableId++    -- * CustomDataSources+    , CustomDataSources+    , customDataSources+    , cdsNextLink+    , cdsItemsPerPage+    , cdsKind+    , cdsUsername+    , cdsItems+    , cdsTotalResults+    , cdsStartIndex+    , cdsPreviousLink++    -- * WebPropertyChildLink+    , WebPropertyChildLink+    , webPropertyChildLink+    , wpclHref+    , wpclType++    -- * DataGaGetSamplingLevel+    , DataGaGetSamplingLevel (..)++    -- * McfData+    , McfData+    , mcfData+    , mdNextLink+    , mdSampleSpace+    , mdItemsPerPage+    , mdProFileInfo+    , mdKind+    , mdSampleSize+    , mdRows+    , mdSelfLink+    , mdQuery+    , mdColumnHeaders+    , mdId+    , mdTotalResults+    , mdContainsSampledData+    , mdTotalsForAllResults+    , mdPreviousLink++    -- * UserRef+    , UserRef+    , userRef+    , urEmail+    , urKind+    , urId++    -- * GoalVisitNumPagesDetails+    , GoalVisitNumPagesDetails+    , goalVisitNumPagesDetails+    , gvnpdComparisonValue+    , gvnpdComparisonType++    -- * RealtimeDataColumnHeadersItem+    , RealtimeDataColumnHeadersItem+    , realtimeDataColumnHeadersItem+    , rdchiColumnType+    , rdchiName+    , rdchiDataType++    -- * AccountRef+    , AccountRef+    , accountRef+    , arKind+    , arHref+    , arName+    , arId++    -- * EntityAdWordsLinks+    , EntityAdWordsLinks+    , entityAdWordsLinks+    , eawlNextLink+    , eawlItemsPerPage+    , eawlKind+    , eawlItems+    , eawlTotalResults+    , eawlStartIndex+    , eawlPreviousLink++    -- * ProFiles+    , ProFiles+    , proFiles+    , pfNextLink+    , pfItemsPerPage+    , pfKind+    , pfUsername+    , pfItems+    , pfTotalResults+    , pfStartIndex+    , pfPreviousLink++    -- * AnalyticsDataimportDeleteUploadDataRequest+    , AnalyticsDataimportDeleteUploadDataRequest+    , analyticsDataimportDeleteUploadDataRequest+    , addudrCustomDataImportUids++    -- * EntityAdWordsLink+    , EntityAdWordsLink+    , entityAdWordsLink+    , entAdWordsAccounts+    , entProFileIds+    , entKind+    , entSelfLink+    , entName+    , entId+    , entEntity++    -- * FilterSearchAndReplaceDetails+    , FilterSearchAndReplaceDetails+    , filterSearchAndReplaceDetails+    , fsardFieldIndex+    , fsardField+    , fsardSearchString+    , fsardReplaceString+    , fsardCaseSensitive++    -- * ProFilePermissions+    , ProFilePermissions+    , proFilePermissions+    , pfpEffective++    -- * ProFile+    , ProFile+    , proFile+    , pParentLink+    , pECommerceTracking+    , pSiteSearchCategoryParameters+    , pWebPropertyId+    , pChildLink+    , pSiteSearchQueryParameters+    , pKind+    , pDefaultPage+    , pCreated+    , pSelfLink+    , pAccountId+    , pName+    , pCurrency+    , pInternalWebPropertyId+    , pId+    , pUpdated+    , pPermissions+    , pWebsiteURL+    , pType+    , pStripSiteSearchCategoryParameters+    , pTimezone+    , pExcludeQueryParameters+    , pEnhancedECommerceTracking+    , pStripSiteSearchQueryParameters++    -- * AccountSummaries+    , AccountSummaries+    , accountSummaries+    , asNextLink+    , asItemsPerPage+    , asKind+    , asUsername+    , asItems+    , asTotalResults+    , asStartIndex+    , asPreviousLink++    -- * GoalEventDetails+    , GoalEventDetails+    , goalEventDetails+    , gedUseEventValue+    , gedEventConditions++    -- * WebPropertySummary+    , WebPropertySummary+    , webPropertySummary+    , wpsKind+    , wpsProFiles+    , wpsName+    , wpsInternalWebPropertyId+    , wpsId+    , wpsWebsiteURL+    , wpsLevel++    -- * Filters+    , Filters+    , filters+    , fNextLink+    , fItemsPerPage+    , fKind+    , fUsername+    , fItems+    , fTotalResults+    , fStartIndex+    , fPreviousLink++    -- * GaData+    , GaData+    , gaData+    , gdNextLink+    , gdSampleSpace+    , gdItemsPerPage+    , gdProFileInfo+    , gdKind+    , gdSampleSize+    , gdRows+    , gdSelfLink+    , gdQuery+    , gdColumnHeaders+    , gdId+    , gdTotalResults+    , gdDataTable+    , gdContainsSampledData+    , gdTotalsForAllResults+    , gdPreviousLink++    -- * RealtimeDataTotalsForAllResults+    , RealtimeDataTotalsForAllResults+    , realtimeDataTotalsForAllResults+    , rdtfarAddtional++    -- * CustomDataSource+    , CustomDataSource+    , customDataSource+    , cParentLink+    , cWebPropertyId+    , cChildLink+    , cKind+    , cCreated+    , cUploadType+    , cImportBehavior+    , cSelfLink+    , cAccountId+    , cName+    , cId+    , cUpdated+    , cType+    , cDescription+    , cProFilesLinked++    -- * WebPropertyRef+    , WebPropertyRef+    , webPropertyRef+    , wprKind+    , wprHref+    , wprAccountId+    , wprName+    , wprInternalWebPropertyId+    , wprId++    -- * Goals+    , Goals+    , goals+    , gNextLink+    , gItemsPerPage+    , gKind+    , gUsername+    , gItems+    , gTotalResults+    , gStartIndex+    , gPreviousLink++    -- * McfDataRowsItemItem+    , McfDataRowsItemItem+    , mcfDataRowsItemItem+    , mdriiPrimitiveValue+    , mdriiConversionPathValue++    -- * AccountPermissions+    , AccountPermissions+    , accountPermissions+    , apEffective++    -- * EntityUserLinkEntity+    , EntityUserLinkEntity+    , entityUserLinkEntity+    , euleProFileRef+    , euleAccountRef+    , euleWebPropertyRef++    -- * Account+    , Account+    , account+    , accChildLink+    , accKind+    , accCreated+    , accSelfLink+    , accName+    , accId+    , accUpdated+    , accPermissions++    -- * Experiment+    , Experiment+    , experiment+    , expParentLink+    , expEqualWeighting+    , expStatus+    , expWebPropertyId+    , expStartTime+    , expSnippet+    , expKind+    , expCreated+    , expReasonExperimentEnded+    , expTrafficCoverage+    , expEditableInGaUi+    , expMinimumExperimentLengthInDays+    , expProFileId+    , expOptimizationType+    , expSelfLink+    , expAccountId+    , expName+    , expWinnerFound+    , expEndTime+    , expVariations+    , expInternalWebPropertyId+    , expId+    , expUpdated+    , expRewriteVariationURLsAsOriginal+    , expObjectiveMetric+    , expWinnerConfidenceLevel+    , expServingFramework+    , expDescription++    -- * EntityUserLinks+    , EntityUserLinks+    , entityUserLinks+    , eulNextLink+    , eulItemsPerPage+    , eulKind+    , eulItems+    , eulTotalResults+    , eulStartIndex+    , eulPreviousLink++    -- * AdWordsAccount+    , AdWordsAccount+    , adWordsAccount+    , awaAutoTaggingEnabled+    , awaKind+    , awaCustomerId++    -- * FilterRef+    , FilterRef+    , filterRef+    , frKind+    , frHref+    , frAccountId+    , frName+    , frId++    -- * GoalVisitTimeOnSiteDetails+    , GoalVisitTimeOnSiteDetails+    , goalVisitTimeOnSiteDetails+    , gvtosdComparisonValue+    , gvtosdComparisonType++    -- * WebProperties+    , WebProperties+    , webProperties+    , wpNextLink+    , wpItemsPerPage+    , wpKind+    , wpUsername+    , wpItems+    , wpTotalResults+    , wpStartIndex+    , wpPreviousLink++    -- * CustomMetrics+    , CustomMetrics+    , customMetrics+    , cmNextLink+    , cmItemsPerPage+    , cmKind+    , cmUsername+    , cmItems+    , cmTotalResults+    , cmStartIndex+    , cmPreviousLink++    -- * FilterAdvancedDetails+    , FilterAdvancedDetails+    , filterAdvancedDetails+    , fadExtractA+    , fadFieldARequired+    , fadFieldA+    , fadFieldBIndex+    , fadOutputToField+    , fadOutputConstructor+    , fadExtractB+    , fadFieldAIndex+    , fadCaseSensitive+    , fadOutputToFieldIndex+    , fadFieldB+    , fadFieldBRequired+    , fadOverrideOutputField++    -- * FilterUppercaseDetails+    , FilterUppercaseDetails+    , filterUppercaseDetails+    , fudFieldIndex+    , fudField++    -- * CustomDataSourceChildLink+    , CustomDataSourceChildLink+    , customDataSourceChildLink+    , cdsclHref+    , cdsclType++    -- * FilterParentLink+    , FilterParentLink+    , filterParentLink+    , fplHref+    , fplType++    -- * DataGaGetOutput+    , DataGaGetOutput (..)++    -- * RealtimeData+    , RealtimeData+    , realtimeData+    , rdProFileInfo+    , rdKind+    , rdRows+    , rdSelfLink+    , rdQuery+    , rdColumnHeaders+    , rdId+    , rdTotalResults+    , rdTotalsForAllResults++    -- * CustomMetric+    , CustomMetric+    , customMetric+    , cusParentLink+    , cusWebPropertyId+    , cusKind+    , cusMaxValue+    , cusCreated+    , cusMinValue+    , cusActive+    , cusSelfLink+    , cusAccountId+    , cusName+    , cusScope+    , cusId+    , cusUpdated+    , cusType+    , cusIndex++    -- * ProFileSummary+    , ProFileSummary+    , proFileSummary+    , pfsKind+    , pfsName+    , pfsId+    , pfsType++    -- * CustomDimensionParentLink+    , CustomDimensionParentLink+    , customDimensionParentLink+    , cdplHref+    , cdplType++    -- * WebProperty+    , WebProperty+    , webProperty+    , wParentLink+    , wChildLink+    , wDefaultProFileId+    , wKind+    , wCreated+    , wSelfLink+    , wAccountId+    , wName+    , wInternalWebPropertyId+    , wId+    , wUpdated+    , wProFileCount+    , wPermissions+    , wWebsiteURL+    , wIndustryVertical+    , wLevel++    -- * WebPropertyPermissions+    , WebPropertyPermissions+    , webPropertyPermissions+    , wppEffective++    -- * EntityUserLink+    , EntityUserLink+    , entityUserLink+    , euluKind+    , euluUserRef+    , euluSelfLink+    , euluId+    , euluPermissions+    , euluEntity++    -- * CustomDataSourceParentLink+    , CustomDataSourceParentLink+    , customDataSourceParentLink+    , cdsplHref+    , cdsplType++    -- * GoalEventDetailsEventConditionsItem+    , GoalEventDetailsEventConditionsItem+    , goalEventDetailsEventConditionsItem+    , gedeciMatchType+    , gedeciExpression+    , gedeciComparisonValue+    , gedeciType+    , gedeciComparisonType++    -- * McfDataQuery+    , McfDataQuery+    , mcfDataQuery+    , mdqMetrics+    , mdqSamplingLevel+    , mdqFilters+    , mdqIds+    , mdqEndDate+    , mdqSort+    , mdqDimensions+    , mdqStartIndex+    , mdqMaxResults+    , mdqSegment+    , mdqStartDate++    -- * Goal+    , Goal+    , goal+    , goaParentLink+    , goaWebPropertyId+    , goaKind+    , goaCreated+    , goaValue+    , goaProFileId+    , goaEventDetails+    , goaActive+    , goaSelfLink+    , goaVisitTimeOnSiteDetails+    , goaAccountId+    , goaName+    , goaInternalWebPropertyId+    , goaId+    , goaURLDestinationDetails+    , goaVisitNumPagesDetails+    , goaUpdated+    , goaType++    -- * AccountTicket+    , AccountTicket+    , accountTicket+    , atRedirectURI+    , atKind+    , atProFile+    , atAccount+    , atWebProperty+    , atId++    -- * AccountSummary+    , AccountSummary+    , accountSummary+    , assKind+    , assWebProperties+    , assName+    , assId++    -- * RealtimeDataQuery+    , RealtimeDataQuery+    , realtimeDataQuery+    , rdqMetrics+    , rdqFilters+    , rdqIds+    , rdqSort+    , rdqDimensions+    , rdqMaxResults++    -- * Columns+    , Columns+    , columns+    , colEtag+    , colKind+    , colItems+    , colTotalResults+    , colAttributeNames++    -- * FilterLowercaseDetails+    , FilterLowercaseDetails+    , filterLowercaseDetails+    , fldFieldIndex+    , fldField++    -- * Filter+    , Filter+    , filter'+    , filParentLink+    , filAdvancedDetails+    , filUppercaseDetails+    , filLowercaseDetails+    , filKind+    , filCreated+    , filIncludeDetails+    , filExcludeDetails+    , filSelfLink+    , filAccountId+    , filName+    , filId+    , filUpdated+    , filType+    , filSearchAndReplaceDetails++    -- * Uploads+    , Uploads+    , uploads+    , uplNextLink+    , uplItemsPerPage+    , uplKind+    , uplItems+    , uplTotalResults+    , uplStartIndex+    , uplPreviousLink++    -- * CustomDimensions+    , CustomDimensions+    , customDimensions+    , cdNextLink+    , cdItemsPerPage+    , cdKind+    , cdUsername+    , cdItems+    , cdTotalResults+    , cdStartIndex+    , cdPreviousLink++    -- * Segments+    , Segments+    , segments+    , sNextLink+    , sItemsPerPage+    , sKind+    , sUsername+    , sItems+    , sTotalResults+    , sStartIndex+    , sPreviousLink++    -- * GaDataDataTable+    , GaDataDataTable+    , gaDataDataTable+    , gddtCols+    , gddtRows++    -- * EntityAdWordsLinkEntity+    , EntityAdWordsLinkEntity+    , entityAdWordsLinkEntity+    , eawleWebPropertyRef++    -- * GoalURLDestinationDetails+    , GoalURLDestinationDetails+    , goalURLDestinationDetails+    , guddURL+    , guddMatchType+    , guddSteps+    , guddCaseSensitive+    , guddFirstStepRequired++    -- * ProFileFilterLinks+    , ProFileFilterLinks+    , proFileFilterLinks+    , pfflNextLink+    , pfflItemsPerPage+    , pfflKind+    , pfflUsername+    , pfflItems+    , pfflTotalResults+    , pfflStartIndex+    , pfflPreviousLink++    -- * WebPropertyParentLink+    , WebPropertyParentLink+    , webPropertyParentLink+    , wpplHref+    , wpplType++    -- * GaDataProFileInfo+    , GaDataProFileInfo+    , gaDataProFileInfo+    , gdpfiWebPropertyId+    , gdpfiProFileId+    , gdpfiProFileName+    , gdpfiAccountId+    , gdpfiInternalWebPropertyId+    , gdpfiTableId++    -- * Upload+    , Upload+    , upload+    , uuStatus+    , uuKind+    , uuCustomDataSourceId+    , uuAccountId+    , uuId+    , uuErrors++    -- * DataMcfGetSamplingLevel+    , DataMcfGetSamplingLevel (..)++    -- * CustomDimension+    , CustomDimension+    , customDimension+    , cddParentLink+    , cddWebPropertyId+    , cddKind+    , cddCreated+    , cddActive+    , cddSelfLink+    , cddAccountId+    , cddName+    , cddScope+    , cddId+    , cddUpdated+    , cddIndex++    -- * Segment+    , Segment+    , segment+    , segDefinition+    , segKind+    , segCreated+    , segSelfLink+    , segName+    , segId+    , segUpdated+    , segType+    , segSegmentId++    -- * AccountChildLink+    , AccountChildLink+    , accountChildLink+    , aclHref+    , aclType++    -- * ProFileFilterLink+    , ProFileFilterLink+    , proFileFilterLink+    , proProFileRef+    , proKind+    , proFilterRef+    , proSelfLink+    , proId+    , proRank++    -- * CustomMetricParentLink+    , CustomMetricParentLink+    , customMetricParentLink+    , cmplHref+    , cmplType++    -- * Column+    , Column+    , column+    , ccKind+    , ccAttributes+    , ccId++    -- * GaDataDataTableColsItem+    , GaDataDataTableColsItem+    , gaDataDataTableColsItem+    , gddtciId+    , gddtciType+    , gddtciLabel++    -- * ExperimentVariationsItem+    , ExperimentVariationsItem+    , experimentVariationsItem+    , eviStatus+    , eviWeight+    , eviURL+    , eviWon+    , eviName++    -- * McfDataTotalsForAllResults+    , McfDataTotalsForAllResults+    , mcfDataTotalsForAllResults+    , mdtfarAddtional++    -- * UnSampledReportCloudStorageDownloadDetails+    , UnSampledReportCloudStorageDownloadDetails+    , unSampledReportCloudStorageDownloadDetails+    , usrcsddObjectId+    , usrcsddBucketId++    -- * ProFileChildLink+    , ProFileChildLink+    , proFileChildLink+    , pfclHref+    , pfclType++    -- * GaDataColumnHeadersItem+    , GaDataColumnHeadersItem+    , gaDataColumnHeadersItem+    , gdchiColumnType+    , gdchiName+    , gdchiDataType++    -- * GoalParentLink+    , GoalParentLink+    , goalParentLink+    , gplHref+    , gplType++    -- * ColumnAttributes+    , ColumnAttributes+    , columnAttributes+    , caAddtional+    ) where++import           Network.Google.Analytics.Types.Product+import           Network.Google.Analytics.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v3' of the Google Analytics API. This contains the host and root path used as a starting point for constructing service requests.+analyticsService :: Service+analyticsService+  = defaultService (ServiceId "analytics:v3")+      "www.googleapis.com"++-- | Manage Google Analytics Account users by email address+analyticsManageUsersScope :: OAuthScope+analyticsManageUsersScope = "https://www.googleapis.com/auth/analytics.manage.users";++-- | Create a new Google Analytics account along with its default property+-- and view+analyticsProvisionScope :: OAuthScope+analyticsProvisionScope = "https://www.googleapis.com/auth/analytics.provision";++-- | View Google Analytics user permissions+analyticsManageUsersReadonlyScope :: OAuthScope+analyticsManageUsersReadonlyScope = "https://www.googleapis.com/auth/analytics.manage.users.readonly";++-- | View and manage your Google Analytics data+analyticsScope :: OAuthScope+analyticsScope = "https://www.googleapis.com/auth/analytics";++-- | View your Google Analytics data+analyticsReadonlyScope :: OAuthScope+analyticsReadonlyScope = "https://www.googleapis.com/auth/analytics.readonly";++-- | Edit Google Analytics management entities+analyticsEditScope :: OAuthScope+analyticsEditScope = "https://www.googleapis.com/auth/analytics.edit";
+ gen/Network/Google/Analytics/Types/Product.hs view
@@ -0,0 +1,9533 @@+{-# 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.Analytics.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.Analytics.Types.Product where++import           Network.Google.Analytics.Types.Sum+import           Network.Google.Prelude++-- | An unsampled report collection lists Analytics unsampled reports to+-- which the user has access. Each view (profile) can have a set of+-- unsampled reports. Each resource in the unsampled report collection+-- corresponds to a single Analytics unsampled report.+--+-- /See:/ 'unSampledReports' smart constructor.+data UnSampledReports = UnSampledReports+    { _usrNextLink     :: !(Maybe Text)+    , _usrItemsPerPage :: !(Maybe (Textual Int32))+    , _usrKind         :: !Text+    , _usrUsername     :: !(Maybe Text)+    , _usrItems        :: !(Maybe [UnSampledReport])+    , _usrTotalResults :: !(Maybe (Textual Int32))+    , _usrStartIndex   :: !(Maybe (Textual Int32))+    , _usrPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnSampledReports' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usrNextLink'+--+-- * 'usrItemsPerPage'+--+-- * 'usrKind'+--+-- * 'usrUsername'+--+-- * 'usrItems'+--+-- * 'usrTotalResults'+--+-- * 'usrStartIndex'+--+-- * 'usrPreviousLink'+unSampledReports+    :: UnSampledReports+unSampledReports =+    UnSampledReports+    { _usrNextLink = Nothing+    , _usrItemsPerPage = Nothing+    , _usrKind = "analytics#unsampledReports"+    , _usrUsername = Nothing+    , _usrItems = Nothing+    , _usrTotalResults = Nothing+    , _usrStartIndex = Nothing+    , _usrPreviousLink = Nothing+    }++-- | Link to next page for this unsampled report collection.+usrNextLink :: Lens' UnSampledReports (Maybe Text)+usrNextLink+  = lens _usrNextLink (\ s a -> s{_usrNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+usrItemsPerPage :: Lens' UnSampledReports (Maybe Int32)+usrItemsPerPage+  = lens _usrItemsPerPage+      (\ s a -> s{_usrItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+usrKind :: Lens' UnSampledReports Text+usrKind = lens _usrKind (\ s a -> s{_usrKind = a})++-- | Email ID of the authenticated user+usrUsername :: Lens' UnSampledReports (Maybe Text)+usrUsername+  = lens _usrUsername (\ s a -> s{_usrUsername = a})++-- | A list of unsampled reports.+usrItems :: Lens' UnSampledReports [UnSampledReport]+usrItems+  = lens _usrItems (\ s a -> s{_usrItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- resources in the result.+usrTotalResults :: Lens' UnSampledReports (Maybe Int32)+usrTotalResults+  = lens _usrTotalResults+      (\ s a -> s{_usrTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+usrStartIndex :: Lens' UnSampledReports (Maybe Int32)+usrStartIndex+  = lens _usrStartIndex+      (\ s a -> s{_usrStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this unsampled report collection.+usrPreviousLink :: Lens' UnSampledReports (Maybe Text)+usrPreviousLink+  = lens _usrPreviousLink+      (\ s a -> s{_usrPreviousLink = a})++instance FromJSON UnSampledReports where+        parseJSON+          = withObject "UnSampledReports"+              (\ o ->+                 UnSampledReports <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#unsampledReports")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON UnSampledReports where+        toJSON UnSampledReports{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _usrNextLink,+                  ("itemsPerPage" .=) <$> _usrItemsPerPage,+                  Just ("kind" .= _usrKind),+                  ("username" .=) <$> _usrUsername,+                  ("items" .=) <$> _usrItems,+                  ("totalResults" .=) <$> _usrTotalResults,+                  ("startIndex" .=) <$> _usrStartIndex,+                  ("previousLink" .=) <$> _usrPreviousLink])++--+-- /See:/ 'goalURLDestinationDetailsStepsItem' smart constructor.+data GoalURLDestinationDetailsStepsItem = GoalURLDestinationDetailsStepsItem+    { _guddsiURL    :: !(Maybe Text)+    , _guddsiName   :: !(Maybe Text)+    , _guddsiNumber :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalURLDestinationDetailsStepsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'guddsiURL'+--+-- * 'guddsiName'+--+-- * 'guddsiNumber'+goalURLDestinationDetailsStepsItem+    :: GoalURLDestinationDetailsStepsItem+goalURLDestinationDetailsStepsItem =+    GoalURLDestinationDetailsStepsItem+    { _guddsiURL = Nothing+    , _guddsiName = Nothing+    , _guddsiNumber = Nothing+    }++-- | URL for this step.+guddsiURL :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)+guddsiURL+  = lens _guddsiURL (\ s a -> s{_guddsiURL = a})++-- | Step name.+guddsiName :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)+guddsiName+  = lens _guddsiName (\ s a -> s{_guddsiName = a})++-- | Step number.+guddsiNumber :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Int32)+guddsiNumber+  = lens _guddsiNumber (\ s a -> s{_guddsiNumber = a})+      . mapping _Coerce++instance FromJSON GoalURLDestinationDetailsStepsItem+         where+        parseJSON+          = withObject "GoalURLDestinationDetailsStepsItem"+              (\ o ->+                 GoalURLDestinationDetailsStepsItem <$>+                   (o .:? "url") <*> (o .:? "name") <*>+                     (o .:? "number"))++instance ToJSON GoalURLDestinationDetailsStepsItem+         where+        toJSON GoalURLDestinationDetailsStepsItem{..}+          = object+              (catMaybes+                 [("url" .=) <$> _guddsiURL,+                  ("name" .=) <$> _guddsiName,+                  ("number" .=) <$> _guddsiNumber])++-- | Analytics data request query parameters.+--+-- /See:/ 'gaDataQuery' smart constructor.+data GaDataQuery = GaDataQuery+    { _gdqMetrics       :: !(Maybe [Text])+    , _gdqSamplingLevel :: !(Maybe Text)+    , _gdqFilters       :: !(Maybe Text)+    , _gdqIds           :: !(Maybe Text)+    , _gdqEndDate       :: !(Maybe Text)+    , _gdqSort          :: !(Maybe [Text])+    , _gdqDimensions    :: !(Maybe Text)+    , _gdqStartIndex    :: !(Maybe (Textual Int32))+    , _gdqMaxResults    :: !(Maybe (Textual Int32))+    , _gdqSegment       :: !(Maybe Text)+    , _gdqStartDate     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdqMetrics'+--+-- * 'gdqSamplingLevel'+--+-- * 'gdqFilters'+--+-- * 'gdqIds'+--+-- * 'gdqEndDate'+--+-- * 'gdqSort'+--+-- * 'gdqDimensions'+--+-- * 'gdqStartIndex'+--+-- * 'gdqMaxResults'+--+-- * 'gdqSegment'+--+-- * 'gdqStartDate'+gaDataQuery+    :: GaDataQuery+gaDataQuery =+    GaDataQuery+    { _gdqMetrics = Nothing+    , _gdqSamplingLevel = Nothing+    , _gdqFilters = Nothing+    , _gdqIds = Nothing+    , _gdqEndDate = Nothing+    , _gdqSort = Nothing+    , _gdqDimensions = Nothing+    , _gdqStartIndex = Nothing+    , _gdqMaxResults = Nothing+    , _gdqSegment = Nothing+    , _gdqStartDate = Nothing+    }++-- | List of analytics metrics.+gdqMetrics :: Lens' GaDataQuery [Text]+gdqMetrics+  = lens _gdqMetrics (\ s a -> s{_gdqMetrics = a}) .+      _Default+      . _Coerce++-- | Desired sampling level+gdqSamplingLevel :: Lens' GaDataQuery (Maybe Text)+gdqSamplingLevel+  = lens _gdqSamplingLevel+      (\ s a -> s{_gdqSamplingLevel = a})++-- | Comma-separated list of dimension or metric filters.+gdqFilters :: Lens' GaDataQuery (Maybe Text)+gdqFilters+  = lens _gdqFilters (\ s a -> s{_gdqFilters = a})++-- | Unique table ID.+gdqIds :: Lens' GaDataQuery (Maybe Text)+gdqIds = lens _gdqIds (\ s a -> s{_gdqIds = a})++-- | End date.+gdqEndDate :: Lens' GaDataQuery (Maybe Text)+gdqEndDate+  = lens _gdqEndDate (\ s a -> s{_gdqEndDate = a})++-- | List of dimensions or metrics based on which Analytics data is sorted.+gdqSort :: Lens' GaDataQuery [Text]+gdqSort+  = lens _gdqSort (\ s a -> s{_gdqSort = a}) . _Default+      . _Coerce++-- | List of analytics dimensions.+gdqDimensions :: Lens' GaDataQuery (Maybe Text)+gdqDimensions+  = lens _gdqDimensions+      (\ s a -> s{_gdqDimensions = a})++-- | Start index.+gdqStartIndex :: Lens' GaDataQuery (Maybe Int32)+gdqStartIndex+  = lens _gdqStartIndex+      (\ s a -> s{_gdqStartIndex = a})+      . mapping _Coerce++-- | Maximum results per page.+gdqMaxResults :: Lens' GaDataQuery (Maybe Int32)+gdqMaxResults+  = lens _gdqMaxResults+      (\ s a -> s{_gdqMaxResults = a})+      . mapping _Coerce++-- | Analytics advanced segment.+gdqSegment :: Lens' GaDataQuery (Maybe Text)+gdqSegment+  = lens _gdqSegment (\ s a -> s{_gdqSegment = a})++-- | Start date.+gdqStartDate :: Lens' GaDataQuery (Maybe Text)+gdqStartDate+  = lens _gdqStartDate (\ s a -> s{_gdqStartDate = a})++instance FromJSON GaDataQuery where+        parseJSON+          = withObject "GaDataQuery"+              (\ o ->+                 GaDataQuery <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "samplingLevel")+                     <*> (o .:? "filters")+                     <*> (o .:? "ids")+                     <*> (o .:? "end-date")+                     <*> (o .:? "sort" .!= mempty)+                     <*> (o .:? "dimensions")+                     <*> (o .:? "start-index")+                     <*> (o .:? "max-results")+                     <*> (o .:? "segment")+                     <*> (o .:? "start-date"))++instance ToJSON GaDataQuery where+        toJSON GaDataQuery{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _gdqMetrics,+                  ("samplingLevel" .=) <$> _gdqSamplingLevel,+                  ("filters" .=) <$> _gdqFilters,+                  ("ids" .=) <$> _gdqIds,+                  ("end-date" .=) <$> _gdqEndDate,+                  ("sort" .=) <$> _gdqSort,+                  ("dimensions" .=) <$> _gdqDimensions,+                  ("start-index" .=) <$> _gdqStartIndex,+                  ("max-results" .=) <$> _gdqMaxResults,+                  ("segment" .=) <$> _gdqSegment,+                  ("start-date" .=) <$> _gdqStartDate])++--+-- /See:/ 'gaDataDataTableRowsItem' smart constructor.+newtype GaDataDataTableRowsItem = GaDataDataTableRowsItem+    { _gddtriC :: Maybe [GaDataDataTableRowsItemCItem]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataDataTableRowsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddtriC'+gaDataDataTableRowsItem+    :: GaDataDataTableRowsItem+gaDataDataTableRowsItem =+    GaDataDataTableRowsItem+    { _gddtriC = Nothing+    }++gddtriC :: Lens' GaDataDataTableRowsItem [GaDataDataTableRowsItemCItem]+gddtriC+  = lens _gddtriC (\ s a -> s{_gddtriC = a}) . _Default+      . _Coerce++instance FromJSON GaDataDataTableRowsItem where+        parseJSON+          = withObject "GaDataDataTableRowsItem"+              (\ o ->+                 GaDataDataTableRowsItem <$> (o .:? "c" .!= mempty))++instance ToJSON GaDataDataTableRowsItem where+        toJSON GaDataDataTableRowsItem{..}+          = object (catMaybes [("c" .=) <$> _gddtriC])++-- | JSON template for Analytics unsampled report resource.+--+-- /See:/ 'unSampledReport' smart constructor.+data UnSampledReport = UnSampledReport+    { _uDownloadType                :: !(Maybe Text)+    , _uStatus                      :: !(Maybe Text)+    , _uMetrics                     :: !(Maybe Text)+    , _uDriveDownloadDetails        :: !(Maybe UnSampledReportDriveDownloadDetails)+    , _uWebPropertyId               :: !(Maybe Text)+    , _uKind                        :: !Text+    , _uCreated                     :: !(Maybe DateTime')+    , _uFilters                     :: !(Maybe Text)+    , _uProFileId                   :: !(Maybe Text)+    , _uEndDate                     :: !(Maybe Text)+    , _uSelfLink                    :: !(Maybe Text)+    , _uAccountId                   :: !(Maybe Text)+    , _uId                          :: !(Maybe Text)+    , _uUpdated                     :: !(Maybe DateTime')+    , _uTitle                       :: !(Maybe Text)+    , _uDimensions                  :: !(Maybe Text)+    , _uSegment                     :: !(Maybe Text)+    , _uCloudStorageDownloadDetails :: !(Maybe UnSampledReportCloudStorageDownloadDetails)+    , _uStartDate                   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnSampledReport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uDownloadType'+--+-- * 'uStatus'+--+-- * 'uMetrics'+--+-- * 'uDriveDownloadDetails'+--+-- * 'uWebPropertyId'+--+-- * 'uKind'+--+-- * 'uCreated'+--+-- * 'uFilters'+--+-- * 'uProFileId'+--+-- * 'uEndDate'+--+-- * 'uSelfLink'+--+-- * 'uAccountId'+--+-- * 'uId'+--+-- * 'uUpdated'+--+-- * 'uTitle'+--+-- * 'uDimensions'+--+-- * 'uSegment'+--+-- * 'uCloudStorageDownloadDetails'+--+-- * 'uStartDate'+unSampledReport+    :: UnSampledReport+unSampledReport =+    UnSampledReport+    { _uDownloadType = Nothing+    , _uStatus = Nothing+    , _uMetrics = Nothing+    , _uDriveDownloadDetails = Nothing+    , _uWebPropertyId = Nothing+    , _uKind = "analytics#unsampledReport"+    , _uCreated = Nothing+    , _uFilters = Nothing+    , _uProFileId = Nothing+    , _uEndDate = Nothing+    , _uSelfLink = Nothing+    , _uAccountId = Nothing+    , _uId = Nothing+    , _uUpdated = Nothing+    , _uTitle = Nothing+    , _uDimensions = Nothing+    , _uSegment = Nothing+    , _uCloudStorageDownloadDetails = Nothing+    , _uStartDate = Nothing+    }++-- | The type of download you need to use for the report data file.+uDownloadType :: Lens' UnSampledReport (Maybe Text)+uDownloadType+  = lens _uDownloadType+      (\ s a -> s{_uDownloadType = a})++-- | Status of this unsampled report. Possible values are PENDING, COMPLETED,+-- or FAILED.+uStatus :: Lens' UnSampledReport (Maybe Text)+uStatus = lens _uStatus (\ s a -> s{_uStatus = a})++-- | The metrics for the unsampled report.+uMetrics :: Lens' UnSampledReport (Maybe Text)+uMetrics = lens _uMetrics (\ s a -> s{_uMetrics = a})++-- | Download details for a file stored in Google Drive.+uDriveDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportDriveDownloadDetails)+uDriveDownloadDetails+  = lens _uDriveDownloadDetails+      (\ s a -> s{_uDriveDownloadDetails = a})++-- | Web property ID to which this unsampled report belongs. The web property+-- ID is of the form UA-XXXXX-YY.+uWebPropertyId :: Lens' UnSampledReport (Maybe Text)+uWebPropertyId+  = lens _uWebPropertyId+      (\ s a -> s{_uWebPropertyId = a})++-- | Resource type for an Analytics unsampled report.+uKind :: Lens' UnSampledReport Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | Time this unsampled report was created.+uCreated :: Lens' UnSampledReport (Maybe UTCTime)+uCreated+  = lens _uCreated (\ s a -> s{_uCreated = a}) .+      mapping _DateTime++-- | The filters for the unsampled report.+uFilters :: Lens' UnSampledReport (Maybe Text)+uFilters = lens _uFilters (\ s a -> s{_uFilters = a})++-- | View (Profile) ID to which this unsampled report belongs.+uProFileId :: Lens' UnSampledReport (Maybe Text)+uProFileId+  = lens _uProFileId (\ s a -> s{_uProFileId = a})++-- | The end date for the unsampled report.+uEndDate :: Lens' UnSampledReport (Maybe Text)+uEndDate = lens _uEndDate (\ s a -> s{_uEndDate = a})++-- | Link for this unsampled report.+uSelfLink :: Lens' UnSampledReport (Maybe Text)+uSelfLink+  = lens _uSelfLink (\ s a -> s{_uSelfLink = a})++-- | Account ID to which this unsampled report belongs.+uAccountId :: Lens' UnSampledReport (Maybe Text)+uAccountId+  = lens _uAccountId (\ s a -> s{_uAccountId = a})++-- | Unsampled report ID.+uId :: Lens' UnSampledReport (Maybe Text)+uId = lens _uId (\ s a -> s{_uId = a})++-- | Time this unsampled report was last modified.+uUpdated :: Lens' UnSampledReport (Maybe UTCTime)+uUpdated+  = lens _uUpdated (\ s a -> s{_uUpdated = a}) .+      mapping _DateTime++-- | Title of the unsampled report.+uTitle :: Lens' UnSampledReport (Maybe Text)+uTitle = lens _uTitle (\ s a -> s{_uTitle = a})++-- | The dimensions for the unsampled report.+uDimensions :: Lens' UnSampledReport (Maybe Text)+uDimensions+  = lens _uDimensions (\ s a -> s{_uDimensions = a})++-- | The segment for the unsampled report.+uSegment :: Lens' UnSampledReport (Maybe Text)+uSegment = lens _uSegment (\ s a -> s{_uSegment = a})++-- | Download details for a file stored in Google Cloud Storage.+uCloudStorageDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportCloudStorageDownloadDetails)+uCloudStorageDownloadDetails+  = lens _uCloudStorageDownloadDetails+      (\ s a -> s{_uCloudStorageDownloadDetails = a})++-- | The start date for the unsampled report.+uStartDate :: Lens' UnSampledReport (Maybe Text)+uStartDate+  = lens _uStartDate (\ s a -> s{_uStartDate = a})++instance FromJSON UnSampledReport where+        parseJSON+          = withObject "UnSampledReport"+              (\ o ->+                 UnSampledReport <$>+                   (o .:? "downloadType") <*> (o .:? "status") <*>+                     (o .:? "metrics")+                     <*> (o .:? "driveDownloadDetails")+                     <*> (o .:? "webPropertyId")+                     <*> (o .:? "kind" .!= "analytics#unsampledReport")+                     <*> (o .:? "created")+                     <*> (o .:? "filters")+                     <*> (o .:? "profileId")+                     <*> (o .:? "end-date")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "title")+                     <*> (o .:? "dimensions")+                     <*> (o .:? "segment")+                     <*> (o .:? "cloudStorageDownloadDetails")+                     <*> (o .:? "start-date"))++instance ToJSON UnSampledReport where+        toJSON UnSampledReport{..}+          = object+              (catMaybes+                 [("downloadType" .=) <$> _uDownloadType,+                  ("status" .=) <$> _uStatus,+                  ("metrics" .=) <$> _uMetrics,+                  ("driveDownloadDetails" .=) <$>+                    _uDriveDownloadDetails,+                  ("webPropertyId" .=) <$> _uWebPropertyId,+                  Just ("kind" .= _uKind),+                  ("created" .=) <$> _uCreated,+                  ("filters" .=) <$> _uFilters,+                  ("profileId" .=) <$> _uProFileId,+                  ("end-date" .=) <$> _uEndDate,+                  ("selfLink" .=) <$> _uSelfLink,+                  ("accountId" .=) <$> _uAccountId, ("id" .=) <$> _uId,+                  ("updated" .=) <$> _uUpdated,+                  ("title" .=) <$> _uTitle,+                  ("dimensions" .=) <$> _uDimensions,+                  ("segment" .=) <$> _uSegment,+                  ("cloudStorageDownloadDetails" .=) <$>+                    _uCloudStorageDownloadDetails,+                  ("start-date" .=) <$> _uStartDate])++--+-- /See:/ 'mcfDataColumnHeadersItem' smart constructor.+data McfDataColumnHeadersItem = McfDataColumnHeadersItem+    { _mdchiColumnType :: !(Maybe Text)+    , _mdchiName       :: !(Maybe Text)+    , _mdchiDataType   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataColumnHeadersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdchiColumnType'+--+-- * 'mdchiName'+--+-- * 'mdchiDataType'+mcfDataColumnHeadersItem+    :: McfDataColumnHeadersItem+mcfDataColumnHeadersItem =+    McfDataColumnHeadersItem+    { _mdchiColumnType = Nothing+    , _mdchiName = Nothing+    , _mdchiDataType = Nothing+    }++-- | Column Type. Either DIMENSION or METRIC.+mdchiColumnType :: Lens' McfDataColumnHeadersItem (Maybe Text)+mdchiColumnType+  = lens _mdchiColumnType+      (\ s a -> s{_mdchiColumnType = a})++-- | Column name.+mdchiName :: Lens' McfDataColumnHeadersItem (Maybe Text)+mdchiName+  = lens _mdchiName (\ s a -> s{_mdchiName = a})++-- | Data type. Dimension and metric values data types such as INTEGER,+-- DOUBLE, CURRENCY, MCF_SEQUENCE etc.+mdchiDataType :: Lens' McfDataColumnHeadersItem (Maybe Text)+mdchiDataType+  = lens _mdchiDataType+      (\ s a -> s{_mdchiDataType = a})++instance FromJSON McfDataColumnHeadersItem where+        parseJSON+          = withObject "McfDataColumnHeadersItem"+              (\ o ->+                 McfDataColumnHeadersItem <$>+                   (o .:? "columnType") <*> (o .:? "name") <*>+                     (o .:? "dataType"))++instance ToJSON McfDataColumnHeadersItem where+        toJSON McfDataColumnHeadersItem{..}+          = object+              (catMaybes+                 [("columnType" .=) <$> _mdchiColumnType,+                  ("name" .=) <$> _mdchiName,+                  ("dataType" .=) <$> _mdchiDataType])++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+--+-- /See:/ 'gaDataTotalsForAllResults' smart constructor.+newtype GaDataTotalsForAllResults = GaDataTotalsForAllResults+    { _gdtfarAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataTotalsForAllResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdtfarAddtional'+gaDataTotalsForAllResults+    :: HashMap Text Text -- ^ 'gdtfarAddtional'+    -> GaDataTotalsForAllResults+gaDataTotalsForAllResults pGdtfarAddtional_ =+    GaDataTotalsForAllResults+    { _gdtfarAddtional = _Coerce # pGdtfarAddtional_+    }++-- | Key-value pair for the total value of a metric. Key is the metric name+-- and the value is the total value for that metric.+gdtfarAddtional :: Lens' GaDataTotalsForAllResults (HashMap Text Text)+gdtfarAddtional+  = lens _gdtfarAddtional+      (\ s a -> s{_gdtfarAddtional = a})+      . _Coerce++instance FromJSON GaDataTotalsForAllResults where+        parseJSON+          = withObject "GaDataTotalsForAllResults"+              (\ o ->+                 GaDataTotalsForAllResults <$> (parseJSONObject o))++instance ToJSON GaDataTotalsForAllResults where+        toJSON = toJSON . _gdtfarAddtional++-- | Parent link for this view (profile). Points to the web property to which+-- this view (profile) belongs.+--+-- /See:/ 'proFileParentLink' smart constructor.+data ProFileParentLink = ProFileParentLink+    { _pfplHref :: !(Maybe Text)+    , _pfplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfplHref'+--+-- * 'pfplType'+proFileParentLink+    :: ProFileParentLink+proFileParentLink =+    ProFileParentLink+    { _pfplHref = Nothing+    , _pfplType = "analytics#webproperty"+    }++-- | Link to the web property to which this view (profile) belongs.+pfplHref :: Lens' ProFileParentLink (Maybe Text)+pfplHref = lens _pfplHref (\ s a -> s{_pfplHref = a})++-- | Value is \"analytics#webproperty\".+pfplType :: Lens' ProFileParentLink Text+pfplType = lens _pfplType (\ s a -> s{_pfplType = a})++instance FromJSON ProFileParentLink where+        parseJSON+          = withObject "ProFileParentLink"+              (\ o ->+                 ProFileParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#webproperty"))++instance ToJSON ProFileParentLink where+        toJSON ProFileParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _pfplHref,+                  Just ("type" .= _pfplType)])++--+-- /See:/ 'gaDataDataTableRowsItemCItem' smart constructor.+newtype GaDataDataTableRowsItemCItem = GaDataDataTableRowsItemCItem+    { _gddtriciV :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataDataTableRowsItemCItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddtriciV'+gaDataDataTableRowsItemCItem+    :: GaDataDataTableRowsItemCItem+gaDataDataTableRowsItemCItem =+    GaDataDataTableRowsItemCItem+    { _gddtriciV = Nothing+    }++gddtriciV :: Lens' GaDataDataTableRowsItemCItem (Maybe Text)+gddtriciV+  = lens _gddtriciV (\ s a -> s{_gddtriciV = a})++instance FromJSON GaDataDataTableRowsItemCItem where+        parseJSON+          = withObject "GaDataDataTableRowsItemCItem"+              (\ o -> GaDataDataTableRowsItemCItem <$> (o .:? "v"))++instance ToJSON GaDataDataTableRowsItemCItem where+        toJSON GaDataDataTableRowsItemCItem{..}+          = object (catMaybes [("v" .=) <$> _gddtriciV])++-- | Permissions the user has for this entity.+--+-- /See:/ 'entityUserLinkPermissions' smart constructor.+data EntityUserLinkPermissions = EntityUserLinkPermissions+    { _eulpLocal     :: !(Maybe [Text])+    , _eulpEffective :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityUserLinkPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eulpLocal'+--+-- * 'eulpEffective'+entityUserLinkPermissions+    :: EntityUserLinkPermissions+entityUserLinkPermissions =+    EntityUserLinkPermissions+    { _eulpLocal = Nothing+    , _eulpEffective = Nothing+    }++-- | Permissions that a user has been assigned at this very level. Does not+-- include any implied or inherited permissions. Local permissions are+-- modifiable.+eulpLocal :: Lens' EntityUserLinkPermissions [Text]+eulpLocal+  = lens _eulpLocal (\ s a -> s{_eulpLocal = a}) .+      _Default+      . _Coerce++-- | Effective permissions represent all the permissions that a user has for+-- this entity. These include any implied permissions (e.g., EDIT implies+-- VIEW) or inherited permissions from the parent entity. Effective+-- permissions are read-only.+eulpEffective :: Lens' EntityUserLinkPermissions [Text]+eulpEffective+  = lens _eulpEffective+      (\ s a -> s{_eulpEffective = a})+      . _Default+      . _Coerce++instance FromJSON EntityUserLinkPermissions where+        parseJSON+          = withObject "EntityUserLinkPermissions"+              (\ o ->+                 EntityUserLinkPermissions <$>+                   (o .:? "local" .!= mempty) <*>+                     (o .:? "effective" .!= mempty))++instance ToJSON EntityUserLinkPermissions where+        toJSON EntityUserLinkPermissions{..}+          = object+              (catMaybes+                 [("local" .=) <$> _eulpLocal,+                  ("effective" .=) <$> _eulpEffective])++-- | Information for the view (profile), for which the real time data was+-- requested.+--+-- /See:/ 'realtimeDataProFileInfo' smart constructor.+data RealtimeDataProFileInfo = RealtimeDataProFileInfo+    { _rdpfiWebPropertyId         :: !(Maybe Text)+    , _rdpfiProFileId             :: !(Maybe Text)+    , _rdpfiProFileName           :: !(Maybe Text)+    , _rdpfiAccountId             :: !(Maybe Text)+    , _rdpfiInternalWebPropertyId :: !(Maybe Text)+    , _rdpfiTableId               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeDataProFileInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdpfiWebPropertyId'+--+-- * 'rdpfiProFileId'+--+-- * 'rdpfiProFileName'+--+-- * 'rdpfiAccountId'+--+-- * 'rdpfiInternalWebPropertyId'+--+-- * 'rdpfiTableId'+realtimeDataProFileInfo+    :: RealtimeDataProFileInfo+realtimeDataProFileInfo =+    RealtimeDataProFileInfo+    { _rdpfiWebPropertyId = Nothing+    , _rdpfiProFileId = Nothing+    , _rdpfiProFileName = Nothing+    , _rdpfiAccountId = Nothing+    , _rdpfiInternalWebPropertyId = Nothing+    , _rdpfiTableId = Nothing+    }++-- | Web Property ID to which this view (profile) belongs.+rdpfiWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiWebPropertyId+  = lens _rdpfiWebPropertyId+      (\ s a -> s{_rdpfiWebPropertyId = a})++-- | View (Profile) ID.+rdpfiProFileId :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiProFileId+  = lens _rdpfiProFileId+      (\ s a -> s{_rdpfiProFileId = a})++-- | View (Profile) name.+rdpfiProFileName :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiProFileName+  = lens _rdpfiProFileName+      (\ s a -> s{_rdpfiProFileName = a})++-- | Account ID to which this view (profile) belongs.+rdpfiAccountId :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiAccountId+  = lens _rdpfiAccountId+      (\ s a -> s{_rdpfiAccountId = a})++-- | Internal ID for the web property to which this view (profile) belongs.+rdpfiInternalWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiInternalWebPropertyId+  = lens _rdpfiInternalWebPropertyId+      (\ s a -> s{_rdpfiInternalWebPropertyId = a})++-- | Table ID for view (profile).+rdpfiTableId :: Lens' RealtimeDataProFileInfo (Maybe Text)+rdpfiTableId+  = lens _rdpfiTableId (\ s a -> s{_rdpfiTableId = a})++instance FromJSON RealtimeDataProFileInfo where+        parseJSON+          = withObject "RealtimeDataProFileInfo"+              (\ o ->+                 RealtimeDataProFileInfo <$>+                   (o .:? "webPropertyId") <*> (o .:? "profileId") <*>+                     (o .:? "profileName")+                     <*> (o .:? "accountId")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "tableId"))++instance ToJSON RealtimeDataProFileInfo where+        toJSON RealtimeDataProFileInfo{..}+          = object+              (catMaybes+                 [("webPropertyId" .=) <$> _rdpfiWebPropertyId,+                  ("profileId" .=) <$> _rdpfiProFileId,+                  ("profileName" .=) <$> _rdpfiProFileName,+                  ("accountId" .=) <$> _rdpfiAccountId,+                  ("internalWebPropertyId" .=) <$>+                    _rdpfiInternalWebPropertyId,+                  ("tableId" .=) <$> _rdpfiTableId])++--+-- /See:/ 'mcfDataRowsItemItemConversionPathValueItem' smart constructor.+data McfDataRowsItemItemConversionPathValueItem = McfDataRowsItemItemConversionPathValueItem+    { _mdriicpviInteractionType :: !(Maybe Text)+    , _mdriicpviNodeValue       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataRowsItemItemConversionPathValueItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdriicpviInteractionType'+--+-- * 'mdriicpviNodeValue'+mcfDataRowsItemItemConversionPathValueItem+    :: McfDataRowsItemItemConversionPathValueItem+mcfDataRowsItemItemConversionPathValueItem =+    McfDataRowsItemItemConversionPathValueItem+    { _mdriicpviInteractionType = Nothing+    , _mdriicpviNodeValue = Nothing+    }++-- | Type of an interaction on conversion path. Such as CLICK, IMPRESSION+-- etc.+mdriicpviInteractionType :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)+mdriicpviInteractionType+  = lens _mdriicpviInteractionType+      (\ s a -> s{_mdriicpviInteractionType = a})++-- | Node value of an interaction on conversion path. Such as source, medium+-- etc.+mdriicpviNodeValue :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)+mdriicpviNodeValue+  = lens _mdriicpviNodeValue+      (\ s a -> s{_mdriicpviNodeValue = a})++instance FromJSON+         McfDataRowsItemItemConversionPathValueItem where+        parseJSON+          = withObject+              "McfDataRowsItemItemConversionPathValueItem"+              (\ o ->+                 McfDataRowsItemItemConversionPathValueItem <$>+                   (o .:? "interactionType") <*> (o .:? "nodeValue"))++instance ToJSON+         McfDataRowsItemItemConversionPathValueItem where+        toJSON McfDataRowsItemItemConversionPathValueItem{..}+          = object+              (catMaybes+                 [("interactionType" .=) <$>+                    _mdriicpviInteractionType,+                  ("nodeValue" .=) <$> _mdriicpviNodeValue])++-- | JSON template for an Analytics filter expression.+--+-- /See:/ 'filterExpression' smart constructor.+data FilterExpression = FilterExpression+    { _feFieldIndex      :: !(Maybe (Textual Int32))+    , _feField           :: !(Maybe Text)+    , _feKind            :: !Text+    , _feMatchType       :: !(Maybe Text)+    , _feCaseSensitive   :: !(Maybe Bool)+    , _feExpressionValue :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'feFieldIndex'+--+-- * 'feField'+--+-- * 'feKind'+--+-- * 'feMatchType'+--+-- * 'feCaseSensitive'+--+-- * 'feExpressionValue'+filterExpression+    :: FilterExpression+filterExpression =+    FilterExpression+    { _feFieldIndex = Nothing+    , _feField = Nothing+    , _feKind = "analytics#filterExpression"+    , _feMatchType = Nothing+    , _feCaseSensitive = Nothing+    , _feExpressionValue = Nothing+    }++-- | The Index of the custom dimension. Set only if the field is a is+-- CUSTOM_DIMENSION.+feFieldIndex :: Lens' FilterExpression (Maybe Int32)+feFieldIndex+  = lens _feFieldIndex (\ s a -> s{_feFieldIndex = a})+      . mapping _Coerce++-- | Field to filter. Possible values: - Content and Traffic -+-- PAGE_REQUEST_URI, - PAGE_HOSTNAME, - PAGE_TITLE, - REFERRAL, -+-- COST_DATA_URI (Campaign target URL), - HIT_TYPE, - INTERNAL_SEARCH_TERM,+-- - INTERNAL_SEARCH_TYPE, - SOURCE_PROPERTY_TRACKING_ID, - Campaign or+-- AdGroup - CAMPAIGN_SOURCE, - CAMPAIGN_MEDIUM, - CAMPAIGN_NAME, -+-- CAMPAIGN_AD_GROUP, - CAMPAIGN_TERM, - CAMPAIGN_CONTENT, - CAMPAIGN_CODE,+-- - CAMPAIGN_REFERRAL_PATH, - E-Commerce - TRANSACTION_COUNTRY, -+-- TRANSACTION_REGION, - TRANSACTION_CITY, - TRANSACTION_AFFILIATION (Store+-- or order location), - ITEM_NAME, - ITEM_CODE, - ITEM_VARIATION, -+-- TRANSACTION_ID, - TRANSACTION_CURRENCY_CODE, - PRODUCT_ACTION_TYPE, -+-- Audience\/Users - BROWSER, - BROWSER_VERSION, - BROWSER_SIZE, -+-- PLATFORM, - PLATFORM_VERSION, - LANGUAGE, - SCREEN_RESOLUTION, -+-- SCREEN_COLORS, - JAVA_ENABLED (Boolean Field), - FLASH_VERSION, -+-- GEO_SPEED (Connection speed), - VISITOR_TYPE, - GEO_ORGANIZATION (ISP+-- organization), - GEO_DOMAIN, - GEO_IP_ADDRESS, - GEO_IP_VERSION, -+-- Location - GEO_COUNTRY, - GEO_REGION, - GEO_CITY, - Event -+-- EVENT_CATEGORY, - EVENT_ACTION, - EVENT_LABEL, - Other - CUSTOM_FIELD_1,+-- - CUSTOM_FIELD_2, - USER_DEFINED_VALUE, - Application - APP_ID, -+-- APP_INSTALLER_ID, - APP_NAME, - APP_VERSION, - SCREEN, - IS_APP (Boolean+-- Field), - IS_FATAL_EXCEPTION (Boolean Field), - EXCEPTION_DESCRIPTION, -+-- Mobile device - IS_MOBILE (Boolean Field, Deprecated. Use+-- DEVICE_CATEGORY=mobile), - IS_TABLET (Boolean Field, Deprecated. Use+-- DEVICE_CATEGORY=tablet), - DEVICE_CATEGORY, - MOBILE_HAS_QWERTY_KEYBOARD+-- (Boolean Field), - MOBILE_HAS_NFC_SUPPORT (Boolean Field), -+-- MOBILE_HAS_CELLULAR_RADIO (Boolean Field), - MOBILE_HAS_WIFI_SUPPORT+-- (Boolean Field), - MOBILE_BRAND_NAME, - MOBILE_MODEL_NAME, -+-- MOBILE_MARKETING_NAME, - MOBILE_POINTING_METHOD, - Social -+-- SOCIAL_NETWORK, - SOCIAL_ACTION, - SOCIAL_ACTION_TARGET, - Custom+-- dimension - CUSTOM_DIMENSION (See accompanying field index),+feField :: Lens' FilterExpression (Maybe Text)+feField = lens _feField (\ s a -> s{_feField = a})++-- | Kind value for filter expression+feKind :: Lens' FilterExpression Text+feKind = lens _feKind (\ s a -> s{_feKind = a})++-- | Match type for this filter. Possible values are BEGINS_WITH, EQUAL,+-- ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS,+-- PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all+-- other filters must use MATCHES.+feMatchType :: Lens' FilterExpression (Maybe Text)+feMatchType+  = lens _feMatchType (\ s a -> s{_feMatchType = a})++-- | Determines if the filter is case sensitive.+feCaseSensitive :: Lens' FilterExpression (Maybe Bool)+feCaseSensitive+  = lens _feCaseSensitive+      (\ s a -> s{_feCaseSensitive = a})++-- | Filter expression value+feExpressionValue :: Lens' FilterExpression (Maybe Text)+feExpressionValue+  = lens _feExpressionValue+      (\ s a -> s{_feExpressionValue = a})++instance FromJSON FilterExpression where+        parseJSON+          = withObject "FilterExpression"+              (\ o ->+                 FilterExpression <$>+                   (o .:? "fieldIndex") <*> (o .:? "field") <*>+                     (o .:? "kind" .!= "analytics#filterExpression")+                     <*> (o .:? "matchType")+                     <*> (o .:? "caseSensitive")+                     <*> (o .:? "expressionValue"))++instance ToJSON FilterExpression where+        toJSON FilterExpression{..}+          = object+              (catMaybes+                 [("fieldIndex" .=) <$> _feFieldIndex,+                  ("field" .=) <$> _feField, Just ("kind" .= _feKind),+                  ("matchType" .=) <$> _feMatchType,+                  ("caseSensitive" .=) <$> _feCaseSensitive,+                  ("expressionValue" .=) <$> _feExpressionValue])++-- | JSON template for a linked view (profile).+--+-- /See:/ 'proFileRef' smart constructor.+data ProFileRef = ProFileRef+    { _pfrWebPropertyId         :: !(Maybe Text)+    , _pfrKind                  :: !Text+    , _pfrHref                  :: !(Maybe Text)+    , _pfrAccountId             :: !(Maybe Text)+    , _pfrName                  :: !(Maybe Text)+    , _pfrInternalWebPropertyId :: !(Maybe Text)+    , _pfrId                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfrWebPropertyId'+--+-- * 'pfrKind'+--+-- * 'pfrHref'+--+-- * 'pfrAccountId'+--+-- * 'pfrName'+--+-- * 'pfrInternalWebPropertyId'+--+-- * 'pfrId'+proFileRef+    :: ProFileRef+proFileRef =+    ProFileRef+    { _pfrWebPropertyId = Nothing+    , _pfrKind = "analytics#profileRef"+    , _pfrHref = Nothing+    , _pfrAccountId = Nothing+    , _pfrName = Nothing+    , _pfrInternalWebPropertyId = Nothing+    , _pfrId = Nothing+    }++-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)+-- belongs.+pfrWebPropertyId :: Lens' ProFileRef (Maybe Text)+pfrWebPropertyId+  = lens _pfrWebPropertyId+      (\ s a -> s{_pfrWebPropertyId = a})++-- | Analytics view (profile) reference.+pfrKind :: Lens' ProFileRef Text+pfrKind = lens _pfrKind (\ s a -> s{_pfrKind = a})++-- | Link for this view (profile).+pfrHref :: Lens' ProFileRef (Maybe Text)+pfrHref = lens _pfrHref (\ s a -> s{_pfrHref = a})++-- | Account ID to which this view (profile) belongs.+pfrAccountId :: Lens' ProFileRef (Maybe Text)+pfrAccountId+  = lens _pfrAccountId (\ s a -> s{_pfrAccountId = a})++-- | Name of this view (profile).+pfrName :: Lens' ProFileRef (Maybe Text)+pfrName = lens _pfrName (\ s a -> s{_pfrName = a})++-- | Internal ID for the web property to which this view (profile) belongs.+pfrInternalWebPropertyId :: Lens' ProFileRef (Maybe Text)+pfrInternalWebPropertyId+  = lens _pfrInternalWebPropertyId+      (\ s a -> s{_pfrInternalWebPropertyId = a})++-- | View (Profile) ID.+pfrId :: Lens' ProFileRef (Maybe Text)+pfrId = lens _pfrId (\ s a -> s{_pfrId = a})++instance FromJSON ProFileRef where+        parseJSON+          = withObject "ProFileRef"+              (\ o ->+                 ProFileRef <$>+                   (o .:? "webPropertyId") <*>+                     (o .:? "kind" .!= "analytics#profileRef")+                     <*> (o .:? "href")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id"))++instance ToJSON ProFileRef where+        toJSON ProFileRef{..}+          = object+              (catMaybes+                 [("webPropertyId" .=) <$> _pfrWebPropertyId,+                  Just ("kind" .= _pfrKind), ("href" .=) <$> _pfrHref,+                  ("accountId" .=) <$> _pfrAccountId,+                  ("name" .=) <$> _pfrName,+                  ("internalWebPropertyId" .=) <$>+                    _pfrInternalWebPropertyId,+                  ("id" .=) <$> _pfrId])++-- | An account collection provides a list of Analytics accounts to which a+-- user has access. The account collection is the entry point to all+-- management information. Each resource in the collection corresponds to a+-- single Analytics account.+--+-- /See:/ 'accounts' smart constructor.+data Accounts = Accounts+    { _aNextLink     :: !(Maybe Text)+    , _aItemsPerPage :: !(Maybe (Textual Int32))+    , _aKind         :: !Text+    , _aUsername     :: !(Maybe Text)+    , _aItems        :: !(Maybe [Account])+    , _aTotalResults :: !(Maybe (Textual Int32))+    , _aStartIndex   :: !(Maybe (Textual Int32))+    , _aPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Accounts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aNextLink'+--+-- * 'aItemsPerPage'+--+-- * 'aKind'+--+-- * 'aUsername'+--+-- * 'aItems'+--+-- * 'aTotalResults'+--+-- * 'aStartIndex'+--+-- * 'aPreviousLink'+accounts+    :: Accounts+accounts =+    Accounts+    { _aNextLink = Nothing+    , _aItemsPerPage = Nothing+    , _aKind = "analytics#accounts"+    , _aUsername = Nothing+    , _aItems = Nothing+    , _aTotalResults = Nothing+    , _aStartIndex = Nothing+    , _aPreviousLink = Nothing+    }++-- | Next link for this account collection.+aNextLink :: Lens' Accounts (Maybe Text)+aNextLink+  = lens _aNextLink (\ s a -> s{_aNextLink = a})++-- | The maximum number of entries the response can contain, regardless of+-- the actual number of entries returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+aItemsPerPage :: Lens' Accounts (Maybe Int32)+aItemsPerPage+  = lens _aItemsPerPage+      (\ s a -> s{_aItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+aKind :: Lens' Accounts Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | Email ID of the authenticated user+aUsername :: Lens' Accounts (Maybe Text)+aUsername+  = lens _aUsername (\ s a -> s{_aUsername = a})++-- | A list of accounts.+aItems :: Lens' Accounts [Account]+aItems+  = lens _aItems (\ s a -> s{_aItems = a}) . _Default .+      _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+aTotalResults :: Lens' Accounts (Maybe Int32)+aTotalResults+  = lens _aTotalResults+      (\ s a -> s{_aTotalResults = a})+      . mapping _Coerce++-- | The starting index of the entries, which is 1 by default or otherwise+-- specified by the start-index query parameter.+aStartIndex :: Lens' Accounts (Maybe Int32)+aStartIndex+  = lens _aStartIndex (\ s a -> s{_aStartIndex = a}) .+      mapping _Coerce++-- | Previous link for this account collection.+aPreviousLink :: Lens' Accounts (Maybe Text)+aPreviousLink+  = lens _aPreviousLink+      (\ s a -> s{_aPreviousLink = a})++instance FromJSON Accounts where+        parseJSON+          = withObject "Accounts"+              (\ o ->+                 Accounts <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#accounts")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Accounts where+        toJSON Accounts{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _aNextLink,+                  ("itemsPerPage" .=) <$> _aItemsPerPage,+                  Just ("kind" .= _aKind),+                  ("username" .=) <$> _aUsername,+                  ("items" .=) <$> _aItems,+                  ("totalResults" .=) <$> _aTotalResults,+                  ("startIndex" .=) <$> _aStartIndex,+                  ("previousLink" .=) <$> _aPreviousLink])++-- | An experiment collection lists Analytics experiments to which the user+-- has access. Each view (profile) can have a set of experiments. Each+-- resource in the Experiment collection corresponds to a single Analytics+-- experiment.+--+-- /See:/ 'experiments' smart constructor.+data Experiments = Experiments+    { _eNextLink     :: !(Maybe Text)+    , _eItemsPerPage :: !(Maybe (Textual Int32))+    , _eKind         :: !Text+    , _eUsername     :: !(Maybe Text)+    , _eItems        :: !(Maybe [Experiment])+    , _eTotalResults :: !(Maybe (Textual Int32))+    , _eStartIndex   :: !(Maybe (Textual Int32))+    , _ePreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Experiments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eNextLink'+--+-- * 'eItemsPerPage'+--+-- * 'eKind'+--+-- * 'eUsername'+--+-- * 'eItems'+--+-- * 'eTotalResults'+--+-- * 'eStartIndex'+--+-- * 'ePreviousLink'+experiments+    :: Experiments+experiments =+    Experiments+    { _eNextLink = Nothing+    , _eItemsPerPage = Nothing+    , _eKind = "analytics#experiments"+    , _eUsername = Nothing+    , _eItems = Nothing+    , _eTotalResults = Nothing+    , _eStartIndex = Nothing+    , _ePreviousLink = Nothing+    }++-- | Link to next page for this experiment collection.+eNextLink :: Lens' Experiments (Maybe Text)+eNextLink+  = lens _eNextLink (\ s a -> s{_eNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+eItemsPerPage :: Lens' Experiments (Maybe Int32)+eItemsPerPage+  = lens _eItemsPerPage+      (\ s a -> s{_eItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+eKind :: Lens' Experiments Text+eKind = lens _eKind (\ s a -> s{_eKind = a})++-- | Email ID of the authenticated user+eUsername :: Lens' Experiments (Maybe Text)+eUsername+  = lens _eUsername (\ s a -> s{_eUsername = a})++-- | A list of experiments.+eItems :: Lens' Experiments [Experiment]+eItems+  = lens _eItems (\ s a -> s{_eItems = a}) . _Default .+      _Coerce++-- | The total number of results for the query, regardless of the number of+-- resources in the result.+eTotalResults :: Lens' Experiments (Maybe Int32)+eTotalResults+  = lens _eTotalResults+      (\ s a -> s{_eTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+eStartIndex :: Lens' Experiments (Maybe Int32)+eStartIndex+  = lens _eStartIndex (\ s a -> s{_eStartIndex = a}) .+      mapping _Coerce++-- | Link to previous page for this experiment collection.+ePreviousLink :: Lens' Experiments (Maybe Text)+ePreviousLink+  = lens _ePreviousLink+      (\ s a -> s{_ePreviousLink = a})++instance FromJSON Experiments where+        parseJSON+          = withObject "Experiments"+              (\ o ->+                 Experiments <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#experiments")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Experiments where+        toJSON Experiments{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _eNextLink,+                  ("itemsPerPage" .=) <$> _eItemsPerPage,+                  Just ("kind" .= _eKind),+                  ("username" .=) <$> _eUsername,+                  ("items" .=) <$> _eItems,+                  ("totalResults" .=) <$> _eTotalResults,+                  ("startIndex" .=) <$> _eStartIndex,+                  ("previousLink" .=) <$> _ePreviousLink])++-- | Parent link for an experiment. Points to the view (profile) to which+-- this experiment belongs.+--+-- /See:/ 'experimentParentLink' smart constructor.+data ExperimentParentLink = ExperimentParentLink+    { _eplHref :: !(Maybe Text)+    , _eplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExperimentParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eplHref'+--+-- * 'eplType'+experimentParentLink+    :: ExperimentParentLink+experimentParentLink =+    ExperimentParentLink+    { _eplHref = Nothing+    , _eplType = "analytics#profile"+    }++-- | Link to the view (profile) to which this experiment belongs. This field+-- is read-only.+eplHref :: Lens' ExperimentParentLink (Maybe Text)+eplHref = lens _eplHref (\ s a -> s{_eplHref = a})++-- | Value is \"analytics#profile\". This field is read-only.+eplType :: Lens' ExperimentParentLink Text+eplType = lens _eplType (\ s a -> s{_eplType = a})++instance FromJSON ExperimentParentLink where+        parseJSON+          = withObject "ExperimentParentLink"+              (\ o ->+                 ExperimentParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#profile"))++instance ToJSON ExperimentParentLink where+        toJSON ExperimentParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _eplHref,+                  Just ("type" .= _eplType)])++-- | Download details for a file stored in Google Drive.+--+-- /See:/ 'unSampledReportDriveDownloadDetails' smart constructor.+newtype UnSampledReportDriveDownloadDetails = UnSampledReportDriveDownloadDetails+    { _usrdddDocumentId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnSampledReportDriveDownloadDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usrdddDocumentId'+unSampledReportDriveDownloadDetails+    :: UnSampledReportDriveDownloadDetails+unSampledReportDriveDownloadDetails =+    UnSampledReportDriveDownloadDetails+    { _usrdddDocumentId = Nothing+    }++-- | Id of the document\/file containing the report data.+usrdddDocumentId :: Lens' UnSampledReportDriveDownloadDetails (Maybe Text)+usrdddDocumentId+  = lens _usrdddDocumentId+      (\ s a -> s{_usrdddDocumentId = a})++instance FromJSON UnSampledReportDriveDownloadDetails+         where+        parseJSON+          = withObject "UnSampledReportDriveDownloadDetails"+              (\ o ->+                 UnSampledReportDriveDownloadDetails <$>+                   (o .:? "documentId"))++instance ToJSON UnSampledReportDriveDownloadDetails+         where+        toJSON UnSampledReportDriveDownloadDetails{..}+          = object+              (catMaybes [("documentId" .=) <$> _usrdddDocumentId])++-- | Information for the view (profile), for which the Analytics data was+-- requested.+--+-- /See:/ 'mcfDataProFileInfo' smart constructor.+data McfDataProFileInfo = McfDataProFileInfo+    { _mdpfiWebPropertyId         :: !(Maybe Text)+    , _mdpfiProFileId             :: !(Maybe Text)+    , _mdpfiProFileName           :: !(Maybe Text)+    , _mdpfiAccountId             :: !(Maybe Text)+    , _mdpfiInternalWebPropertyId :: !(Maybe Text)+    , _mdpfiTableId               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataProFileInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdpfiWebPropertyId'+--+-- * 'mdpfiProFileId'+--+-- * 'mdpfiProFileName'+--+-- * 'mdpfiAccountId'+--+-- * 'mdpfiInternalWebPropertyId'+--+-- * 'mdpfiTableId'+mcfDataProFileInfo+    :: McfDataProFileInfo+mcfDataProFileInfo =+    McfDataProFileInfo+    { _mdpfiWebPropertyId = Nothing+    , _mdpfiProFileId = Nothing+    , _mdpfiProFileName = Nothing+    , _mdpfiAccountId = Nothing+    , _mdpfiInternalWebPropertyId = Nothing+    , _mdpfiTableId = Nothing+    }++-- | Web Property ID to which this view (profile) belongs.+mdpfiWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiWebPropertyId+  = lens _mdpfiWebPropertyId+      (\ s a -> s{_mdpfiWebPropertyId = a})++-- | View (Profile) ID.+mdpfiProFileId :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiProFileId+  = lens _mdpfiProFileId+      (\ s a -> s{_mdpfiProFileId = a})++-- | View (Profile) name.+mdpfiProFileName :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiProFileName+  = lens _mdpfiProFileName+      (\ s a -> s{_mdpfiProFileName = a})++-- | Account ID to which this view (profile) belongs.+mdpfiAccountId :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiAccountId+  = lens _mdpfiAccountId+      (\ s a -> s{_mdpfiAccountId = a})++-- | Internal ID for the web property to which this view (profile) belongs.+mdpfiInternalWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiInternalWebPropertyId+  = lens _mdpfiInternalWebPropertyId+      (\ s a -> s{_mdpfiInternalWebPropertyId = a})++-- | Table ID for view (profile).+mdpfiTableId :: Lens' McfDataProFileInfo (Maybe Text)+mdpfiTableId+  = lens _mdpfiTableId (\ s a -> s{_mdpfiTableId = a})++instance FromJSON McfDataProFileInfo where+        parseJSON+          = withObject "McfDataProFileInfo"+              (\ o ->+                 McfDataProFileInfo <$>+                   (o .:? "webPropertyId") <*> (o .:? "profileId") <*>+                     (o .:? "profileName")+                     <*> (o .:? "accountId")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "tableId"))++instance ToJSON McfDataProFileInfo where+        toJSON McfDataProFileInfo{..}+          = object+              (catMaybes+                 [("webPropertyId" .=) <$> _mdpfiWebPropertyId,+                  ("profileId" .=) <$> _mdpfiProFileId,+                  ("profileName" .=) <$> _mdpfiProFileName,+                  ("accountId" .=) <$> _mdpfiAccountId,+                  ("internalWebPropertyId" .=) <$>+                    _mdpfiInternalWebPropertyId,+                  ("tableId" .=) <$> _mdpfiTableId])++-- | Lists Analytics custom data sources to which the user has access. Each+-- resource in the collection corresponds to a single Analytics custom data+-- source.+--+-- /See:/ 'customDataSources' smart constructor.+data CustomDataSources = CustomDataSources+    { _cdsNextLink     :: !(Maybe Text)+    , _cdsItemsPerPage :: !(Maybe (Textual Int32))+    , _cdsKind         :: !Text+    , _cdsUsername     :: !(Maybe Text)+    , _cdsItems        :: !(Maybe [CustomDataSource])+    , _cdsTotalResults :: !(Maybe (Textual Int32))+    , _cdsStartIndex   :: !(Maybe (Textual Int32))+    , _cdsPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDataSources' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdsNextLink'+--+-- * 'cdsItemsPerPage'+--+-- * 'cdsKind'+--+-- * 'cdsUsername'+--+-- * 'cdsItems'+--+-- * 'cdsTotalResults'+--+-- * 'cdsStartIndex'+--+-- * 'cdsPreviousLink'+customDataSources+    :: CustomDataSources+customDataSources =+    CustomDataSources+    { _cdsNextLink = Nothing+    , _cdsItemsPerPage = Nothing+    , _cdsKind = "analytics#customDataSources"+    , _cdsUsername = Nothing+    , _cdsItems = Nothing+    , _cdsTotalResults = Nothing+    , _cdsStartIndex = Nothing+    , _cdsPreviousLink = Nothing+    }++-- | Link to next page for this custom data source collection.+cdsNextLink :: Lens' CustomDataSources (Maybe Text)+cdsNextLink+  = lens _cdsNextLink (\ s a -> s{_cdsNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+cdsItemsPerPage :: Lens' CustomDataSources (Maybe Int32)+cdsItemsPerPage+  = lens _cdsItemsPerPage+      (\ s a -> s{_cdsItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+cdsKind :: Lens' CustomDataSources Text+cdsKind = lens _cdsKind (\ s a -> s{_cdsKind = a})++-- | Email ID of the authenticated user+cdsUsername :: Lens' CustomDataSources (Maybe Text)+cdsUsername+  = lens _cdsUsername (\ s a -> s{_cdsUsername = a})++-- | Collection of custom data sources.+cdsItems :: Lens' CustomDataSources [CustomDataSource]+cdsItems+  = lens _cdsItems (\ s a -> s{_cdsItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+cdsTotalResults :: Lens' CustomDataSources (Maybe Int32)+cdsTotalResults+  = lens _cdsTotalResults+      (\ s a -> s{_cdsTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+cdsStartIndex :: Lens' CustomDataSources (Maybe Int32)+cdsStartIndex+  = lens _cdsStartIndex+      (\ s a -> s{_cdsStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this custom data source collection.+cdsPreviousLink :: Lens' CustomDataSources (Maybe Text)+cdsPreviousLink+  = lens _cdsPreviousLink+      (\ s a -> s{_cdsPreviousLink = a})++instance FromJSON CustomDataSources where+        parseJSON+          = withObject "CustomDataSources"+              (\ o ->+                 CustomDataSources <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#customDataSources")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON CustomDataSources where+        toJSON CustomDataSources{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _cdsNextLink,+                  ("itemsPerPage" .=) <$> _cdsItemsPerPage,+                  Just ("kind" .= _cdsKind),+                  ("username" .=) <$> _cdsUsername,+                  ("items" .=) <$> _cdsItems,+                  ("totalResults" .=) <$> _cdsTotalResults,+                  ("startIndex" .=) <$> _cdsStartIndex,+                  ("previousLink" .=) <$> _cdsPreviousLink])++-- | Child link for this web property. Points to the list of views (profiles)+-- for this web property.+--+-- /See:/ 'webPropertyChildLink' smart constructor.+data WebPropertyChildLink = WebPropertyChildLink+    { _wpclHref :: !(Maybe Text)+    , _wpclType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebPropertyChildLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpclHref'+--+-- * 'wpclType'+webPropertyChildLink+    :: WebPropertyChildLink+webPropertyChildLink =+    WebPropertyChildLink+    { _wpclHref = Nothing+    , _wpclType = "analytics#profiles"+    }++-- | Link to the list of views (profiles) for this web property.+wpclHref :: Lens' WebPropertyChildLink (Maybe Text)+wpclHref = lens _wpclHref (\ s a -> s{_wpclHref = a})++-- | Type of the parent link. Its value is \"analytics#profiles\".+wpclType :: Lens' WebPropertyChildLink Text+wpclType = lens _wpclType (\ s a -> s{_wpclType = a})++instance FromJSON WebPropertyChildLink where+        parseJSON+          = withObject "WebPropertyChildLink"+              (\ o ->+                 WebPropertyChildLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#profiles"))++instance ToJSON WebPropertyChildLink where+        toJSON WebPropertyChildLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _wpclHref,+                  Just ("type" .= _wpclType)])++-- | Multi-Channel Funnels data for a given view (profile).+--+-- /See:/ 'mcfData' smart constructor.+data McfData = McfData+    { _mdNextLink            :: !(Maybe Text)+    , _mdSampleSpace         :: !(Maybe (Textual Int64))+    , _mdItemsPerPage        :: !(Maybe (Textual Int32))+    , _mdProFileInfo         :: !(Maybe McfDataProFileInfo)+    , _mdKind                :: !Text+    , _mdSampleSize          :: !(Maybe (Textual Int64))+    , _mdRows                :: !(Maybe [[McfDataRowsItemItem]])+    , _mdSelfLink            :: !(Maybe Text)+    , _mdQuery               :: !(Maybe McfDataQuery)+    , _mdColumnHeaders       :: !(Maybe [McfDataColumnHeadersItem])+    , _mdId                  :: !(Maybe Text)+    , _mdTotalResults        :: !(Maybe (Textual Int32))+    , _mdContainsSampledData :: !(Maybe Bool)+    , _mdTotalsForAllResults :: !(Maybe McfDataTotalsForAllResults)+    , _mdPreviousLink        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdNextLink'+--+-- * 'mdSampleSpace'+--+-- * 'mdItemsPerPage'+--+-- * 'mdProFileInfo'+--+-- * 'mdKind'+--+-- * 'mdSampleSize'+--+-- * 'mdRows'+--+-- * 'mdSelfLink'+--+-- * 'mdQuery'+--+-- * 'mdColumnHeaders'+--+-- * 'mdId'+--+-- * 'mdTotalResults'+--+-- * 'mdContainsSampledData'+--+-- * 'mdTotalsForAllResults'+--+-- * 'mdPreviousLink'+mcfData+    :: McfData+mcfData =+    McfData+    { _mdNextLink = Nothing+    , _mdSampleSpace = Nothing+    , _mdItemsPerPage = Nothing+    , _mdProFileInfo = Nothing+    , _mdKind = "analytics#mcfData"+    , _mdSampleSize = Nothing+    , _mdRows = Nothing+    , _mdSelfLink = Nothing+    , _mdQuery = Nothing+    , _mdColumnHeaders = Nothing+    , _mdId = Nothing+    , _mdTotalResults = Nothing+    , _mdContainsSampledData = Nothing+    , _mdTotalsForAllResults = Nothing+    , _mdPreviousLink = Nothing+    }++-- | Link to next page for this Analytics data query.+mdNextLink :: Lens' McfData (Maybe Text)+mdNextLink+  = lens _mdNextLink (\ s a -> s{_mdNextLink = a})++-- | Total size of the sample space from which the samples were selected.+mdSampleSpace :: Lens' McfData (Maybe Int64)+mdSampleSpace+  = lens _mdSampleSpace+      (\ s a -> s{_mdSampleSpace = a})+      . mapping _Coerce++-- | The maximum number of rows the response can contain, regardless of the+-- actual number of rows returned. Its value ranges from 1 to 10,000 with a+-- value of 1000 by default, or otherwise specified by the max-results+-- query parameter.+mdItemsPerPage :: Lens' McfData (Maybe Int32)+mdItemsPerPage+  = lens _mdItemsPerPage+      (\ s a -> s{_mdItemsPerPage = a})+      . mapping _Coerce++-- | Information for the view (profile), for which the Analytics data was+-- requested.+mdProFileInfo :: Lens' McfData (Maybe McfDataProFileInfo)+mdProFileInfo+  = lens _mdProFileInfo+      (\ s a -> s{_mdProFileInfo = a})++-- | Resource type.+mdKind :: Lens' McfData Text+mdKind = lens _mdKind (\ s a -> s{_mdKind = a})++-- | The number of samples used to calculate the result.+mdSampleSize :: Lens' McfData (Maybe Int64)+mdSampleSize+  = lens _mdSampleSize (\ s a -> s{_mdSampleSize = a})+      . mapping _Coerce++-- | Analytics data rows, where each row contains a list of dimension values+-- followed by the metric values. The order of dimensions and metrics is+-- same as specified in the request.+mdRows :: Lens' McfData [[McfDataRowsItemItem]]+mdRows+  = lens _mdRows (\ s a -> s{_mdRows = a}) . _Default .+      _Coerce++-- | Link to this page.+mdSelfLink :: Lens' McfData (Maybe Text)+mdSelfLink+  = lens _mdSelfLink (\ s a -> s{_mdSelfLink = a})++-- | Analytics data request query parameters.+mdQuery :: Lens' McfData (Maybe McfDataQuery)+mdQuery = lens _mdQuery (\ s a -> s{_mdQuery = a})++-- | Column headers that list dimension names followed by the metric names.+-- The order of dimensions and metrics is same as specified in the request.+mdColumnHeaders :: Lens' McfData [McfDataColumnHeadersItem]+mdColumnHeaders+  = lens _mdColumnHeaders+      (\ s a -> s{_mdColumnHeaders = a})+      . _Default+      . _Coerce++-- | Unique ID for this data response.+mdId :: Lens' McfData (Maybe Text)+mdId = lens _mdId (\ s a -> s{_mdId = a})++-- | The total number of rows for the query, regardless of the number of rows+-- in the response.+mdTotalResults :: Lens' McfData (Maybe Int32)+mdTotalResults+  = lens _mdTotalResults+      (\ s a -> s{_mdTotalResults = a})+      . mapping _Coerce++-- | Determines if the Analytics data contains sampled data.+mdContainsSampledData :: Lens' McfData (Maybe Bool)+mdContainsSampledData+  = lens _mdContainsSampledData+      (\ s a -> s{_mdContainsSampledData = a})++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+mdTotalsForAllResults :: Lens' McfData (Maybe McfDataTotalsForAllResults)+mdTotalsForAllResults+  = lens _mdTotalsForAllResults+      (\ s a -> s{_mdTotalsForAllResults = a})++-- | Link to previous page for this Analytics data query.+mdPreviousLink :: Lens' McfData (Maybe Text)+mdPreviousLink+  = lens _mdPreviousLink+      (\ s a -> s{_mdPreviousLink = a})++instance FromJSON McfData where+        parseJSON+          = withObject "McfData"+              (\ o ->+                 McfData <$>+                   (o .:? "nextLink") <*> (o .:? "sampleSpace") <*>+                     (o .:? "itemsPerPage")+                     <*> (o .:? "profileInfo")+                     <*> (o .:? "kind" .!= "analytics#mcfData")+                     <*> (o .:? "sampleSize")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "query")+                     <*> (o .:? "columnHeaders" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "totalResults")+                     <*> (o .:? "containsSampledData")+                     <*> (o .:? "totalsForAllResults")+                     <*> (o .:? "previousLink"))++instance ToJSON McfData where+        toJSON McfData{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _mdNextLink,+                  ("sampleSpace" .=) <$> _mdSampleSpace,+                  ("itemsPerPage" .=) <$> _mdItemsPerPage,+                  ("profileInfo" .=) <$> _mdProFileInfo,+                  Just ("kind" .= _mdKind),+                  ("sampleSize" .=) <$> _mdSampleSize,+                  ("rows" .=) <$> _mdRows,+                  ("selfLink" .=) <$> _mdSelfLink,+                  ("query" .=) <$> _mdQuery,+                  ("columnHeaders" .=) <$> _mdColumnHeaders,+                  ("id" .=) <$> _mdId,+                  ("totalResults" .=) <$> _mdTotalResults,+                  ("containsSampledData" .=) <$>+                    _mdContainsSampledData,+                  ("totalsForAllResults" .=) <$>+                    _mdTotalsForAllResults,+                  ("previousLink" .=) <$> _mdPreviousLink])++-- | JSON template for a user reference.+--+-- /See:/ 'userRef' smart constructor.+data UserRef = UserRef+    { _urEmail :: !(Maybe Text)+    , _urKind  :: !Text+    , _urId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urEmail'+--+-- * 'urKind'+--+-- * 'urId'+userRef+    :: UserRef+userRef =+    UserRef+    { _urEmail = Nothing+    , _urKind = "analytics#userRef"+    , _urId = Nothing+    }++-- | Email ID of this user.+urEmail :: Lens' UserRef (Maybe Text)+urEmail = lens _urEmail (\ s a -> s{_urEmail = a})++urKind :: Lens' UserRef Text+urKind = lens _urKind (\ s a -> s{_urKind = a})++-- | User ID.+urId :: Lens' UserRef (Maybe Text)+urId = lens _urId (\ s a -> s{_urId = a})++instance FromJSON UserRef where+        parseJSON+          = withObject "UserRef"+              (\ o ->+                 UserRef <$>+                   (o .:? "email") <*>+                     (o .:? "kind" .!= "analytics#userRef")+                     <*> (o .:? "id"))++instance ToJSON UserRef where+        toJSON UserRef{..}+          = object+              (catMaybes+                 [("email" .=) <$> _urEmail, Just ("kind" .= _urKind),+                  ("id" .=) <$> _urId])++-- | Details for the goal of the type VISIT_NUM_PAGES.+--+-- /See:/ 'goalVisitNumPagesDetails' smart constructor.+data GoalVisitNumPagesDetails = GoalVisitNumPagesDetails+    { _gvnpdComparisonValue :: !(Maybe (Textual Int64))+    , _gvnpdComparisonType  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalVisitNumPagesDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvnpdComparisonValue'+--+-- * 'gvnpdComparisonType'+goalVisitNumPagesDetails+    :: GoalVisitNumPagesDetails+goalVisitNumPagesDetails =+    GoalVisitNumPagesDetails+    { _gvnpdComparisonValue = Nothing+    , _gvnpdComparisonType = Nothing+    }++-- | Value used for this comparison.+gvnpdComparisonValue :: Lens' GoalVisitNumPagesDetails (Maybe Int64)+gvnpdComparisonValue+  = lens _gvnpdComparisonValue+      (\ s a -> s{_gvnpdComparisonValue = a})+      . mapping _Coerce++-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or+-- EQUAL.+gvnpdComparisonType :: Lens' GoalVisitNumPagesDetails (Maybe Text)+gvnpdComparisonType+  = lens _gvnpdComparisonType+      (\ s a -> s{_gvnpdComparisonType = a})++instance FromJSON GoalVisitNumPagesDetails where+        parseJSON+          = withObject "GoalVisitNumPagesDetails"+              (\ o ->+                 GoalVisitNumPagesDetails <$>+                   (o .:? "comparisonValue") <*>+                     (o .:? "comparisonType"))++instance ToJSON GoalVisitNumPagesDetails where+        toJSON GoalVisitNumPagesDetails{..}+          = object+              (catMaybes+                 [("comparisonValue" .=) <$> _gvnpdComparisonValue,+                  ("comparisonType" .=) <$> _gvnpdComparisonType])++--+-- /See:/ 'realtimeDataColumnHeadersItem' smart constructor.+data RealtimeDataColumnHeadersItem = RealtimeDataColumnHeadersItem+    { _rdchiColumnType :: !(Maybe Text)+    , _rdchiName       :: !(Maybe Text)+    , _rdchiDataType   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeDataColumnHeadersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdchiColumnType'+--+-- * 'rdchiName'+--+-- * 'rdchiDataType'+realtimeDataColumnHeadersItem+    :: RealtimeDataColumnHeadersItem+realtimeDataColumnHeadersItem =+    RealtimeDataColumnHeadersItem+    { _rdchiColumnType = Nothing+    , _rdchiName = Nothing+    , _rdchiDataType = Nothing+    }++-- | Column Type. Either DIMENSION or METRIC.+rdchiColumnType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)+rdchiColumnType+  = lens _rdchiColumnType+      (\ s a -> s{_rdchiColumnType = a})++-- | Column name.+rdchiName :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)+rdchiName+  = lens _rdchiName (\ s a -> s{_rdchiName = a})++-- | Data type. Dimension column headers have only STRING as the data type.+-- Metric column headers have data types for metric values such as INTEGER,+-- DOUBLE, CURRENCY etc.+rdchiDataType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)+rdchiDataType+  = lens _rdchiDataType+      (\ s a -> s{_rdchiDataType = a})++instance FromJSON RealtimeDataColumnHeadersItem where+        parseJSON+          = withObject "RealtimeDataColumnHeadersItem"+              (\ o ->+                 RealtimeDataColumnHeadersItem <$>+                   (o .:? "columnType") <*> (o .:? "name") <*>+                     (o .:? "dataType"))++instance ToJSON RealtimeDataColumnHeadersItem where+        toJSON RealtimeDataColumnHeadersItem{..}+          = object+              (catMaybes+                 [("columnType" .=) <$> _rdchiColumnType,+                  ("name" .=) <$> _rdchiName,+                  ("dataType" .=) <$> _rdchiDataType])++-- | JSON template for a linked account.+--+-- /See:/ 'accountRef' smart constructor.+data AccountRef = AccountRef+    { _arKind :: !Text+    , _arHref :: !(Maybe Text)+    , _arName :: !(Maybe Text)+    , _arId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arKind'+--+-- * 'arHref'+--+-- * 'arName'+--+-- * 'arId'+accountRef+    :: AccountRef+accountRef =+    AccountRef+    { _arKind = "analytics#accountRef"+    , _arHref = Nothing+    , _arName = Nothing+    , _arId = Nothing+    }++-- | Analytics account reference.+arKind :: Lens' AccountRef Text+arKind = lens _arKind (\ s a -> s{_arKind = a})++-- | Link for this account.+arHref :: Lens' AccountRef (Maybe Text)+arHref = lens _arHref (\ s a -> s{_arHref = a})++-- | Account name.+arName :: Lens' AccountRef (Maybe Text)+arName = lens _arName (\ s a -> s{_arName = a})++-- | Account ID.+arId :: Lens' AccountRef (Maybe Text)+arId = lens _arId (\ s a -> s{_arId = a})++instance FromJSON AccountRef where+        parseJSON+          = withObject "AccountRef"+              (\ o ->+                 AccountRef <$>+                   (o .:? "kind" .!= "analytics#accountRef") <*>+                     (o .:? "href")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON AccountRef where+        toJSON AccountRef{..}+          = object+              (catMaybes+                 [Just ("kind" .= _arKind), ("href" .=) <$> _arHref,+                  ("name" .=) <$> _arName, ("id" .=) <$> _arId])++-- | An entity AdWords link collection provides a list of GA-AdWords links+-- Each resource in this collection corresponds to a single link.+--+-- /See:/ 'entityAdWordsLinks' smart constructor.+data EntityAdWordsLinks = EntityAdWordsLinks+    { _eawlNextLink     :: !(Maybe Text)+    , _eawlItemsPerPage :: !(Maybe (Textual Int32))+    , _eawlKind         :: !Text+    , _eawlItems        :: !(Maybe [EntityAdWordsLink])+    , _eawlTotalResults :: !(Maybe (Textual Int32))+    , _eawlStartIndex   :: !(Maybe (Textual Int32))+    , _eawlPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityAdWordsLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eawlNextLink'+--+-- * 'eawlItemsPerPage'+--+-- * 'eawlKind'+--+-- * 'eawlItems'+--+-- * 'eawlTotalResults'+--+-- * 'eawlStartIndex'+--+-- * 'eawlPreviousLink'+entityAdWordsLinks+    :: EntityAdWordsLinks+entityAdWordsLinks =+    EntityAdWordsLinks+    { _eawlNextLink = Nothing+    , _eawlItemsPerPage = Nothing+    , _eawlKind = "analytics#entityAdWordsLinks"+    , _eawlItems = Nothing+    , _eawlTotalResults = Nothing+    , _eawlStartIndex = Nothing+    , _eawlPreviousLink = Nothing+    }++-- | Next link for this AdWords link collection.+eawlNextLink :: Lens' EntityAdWordsLinks (Maybe Text)+eawlNextLink+  = lens _eawlNextLink (\ s a -> s{_eawlNextLink = a})++-- | The maximum number of entries the response can contain, regardless of+-- the actual number of entries returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+eawlItemsPerPage :: Lens' EntityAdWordsLinks (Maybe Int32)+eawlItemsPerPage+  = lens _eawlItemsPerPage+      (\ s a -> s{_eawlItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+eawlKind :: Lens' EntityAdWordsLinks Text+eawlKind = lens _eawlKind (\ s a -> s{_eawlKind = a})++-- | A list of entity AdWords links.+eawlItems :: Lens' EntityAdWordsLinks [EntityAdWordsLink]+eawlItems+  = lens _eawlItems (\ s a -> s{_eawlItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+eawlTotalResults :: Lens' EntityAdWordsLinks (Maybe Int32)+eawlTotalResults+  = lens _eawlTotalResults+      (\ s a -> s{_eawlTotalResults = a})+      . mapping _Coerce++-- | The starting index of the entries, which is 1 by default or otherwise+-- specified by the start-index query parameter.+eawlStartIndex :: Lens' EntityAdWordsLinks (Maybe Int32)+eawlStartIndex+  = lens _eawlStartIndex+      (\ s a -> s{_eawlStartIndex = a})+      . mapping _Coerce++-- | Previous link for this AdWords link collection.+eawlPreviousLink :: Lens' EntityAdWordsLinks (Maybe Text)+eawlPreviousLink+  = lens _eawlPreviousLink+      (\ s a -> s{_eawlPreviousLink = a})++instance FromJSON EntityAdWordsLinks where+        parseJSON+          = withObject "EntityAdWordsLinks"+              (\ o ->+                 EntityAdWordsLinks <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#entityAdWordsLinks")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON EntityAdWordsLinks where+        toJSON EntityAdWordsLinks{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _eawlNextLink,+                  ("itemsPerPage" .=) <$> _eawlItemsPerPage,+                  Just ("kind" .= _eawlKind),+                  ("items" .=) <$> _eawlItems,+                  ("totalResults" .=) <$> _eawlTotalResults,+                  ("startIndex" .=) <$> _eawlStartIndex,+                  ("previousLink" .=) <$> _eawlPreviousLink])++-- | A view (profile) collection lists Analytics views (profiles) to which+-- the user has access. Each resource in the collection corresponds to a+-- single Analytics view (profile).+--+-- /See:/ 'proFiles' smart constructor.+data ProFiles = ProFiles+    { _pfNextLink     :: !(Maybe Text)+    , _pfItemsPerPage :: !(Maybe (Textual Int32))+    , _pfKind         :: !Text+    , _pfUsername     :: !(Maybe Text)+    , _pfItems        :: !(Maybe [ProFile])+    , _pfTotalResults :: !(Maybe (Textual Int32))+    , _pfStartIndex   :: !(Maybe (Textual Int32))+    , _pfPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFiles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfNextLink'+--+-- * 'pfItemsPerPage'+--+-- * 'pfKind'+--+-- * 'pfUsername'+--+-- * 'pfItems'+--+-- * 'pfTotalResults'+--+-- * 'pfStartIndex'+--+-- * 'pfPreviousLink'+proFiles+    :: ProFiles+proFiles =+    ProFiles+    { _pfNextLink = Nothing+    , _pfItemsPerPage = Nothing+    , _pfKind = "analytics#profiles"+    , _pfUsername = Nothing+    , _pfItems = Nothing+    , _pfTotalResults = Nothing+    , _pfStartIndex = Nothing+    , _pfPreviousLink = Nothing+    }++-- | Link to next page for this view (profile) collection.+pfNextLink :: Lens' ProFiles (Maybe Text)+pfNextLink+  = lens _pfNextLink (\ s a -> s{_pfNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+pfItemsPerPage :: Lens' ProFiles (Maybe Int32)+pfItemsPerPage+  = lens _pfItemsPerPage+      (\ s a -> s{_pfItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+pfKind :: Lens' ProFiles Text+pfKind = lens _pfKind (\ s a -> s{_pfKind = a})++-- | Email ID of the authenticated user+pfUsername :: Lens' ProFiles (Maybe Text)+pfUsername+  = lens _pfUsername (\ s a -> s{_pfUsername = a})++-- | A list of views (profiles).+pfItems :: Lens' ProFiles [ProFile]+pfItems+  = lens _pfItems (\ s a -> s{_pfItems = a}) . _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+pfTotalResults :: Lens' ProFiles (Maybe Int32)+pfTotalResults+  = lens _pfTotalResults+      (\ s a -> s{_pfTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+pfStartIndex :: Lens' ProFiles (Maybe Int32)+pfStartIndex+  = lens _pfStartIndex (\ s a -> s{_pfStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this view (profile) collection.+pfPreviousLink :: Lens' ProFiles (Maybe Text)+pfPreviousLink+  = lens _pfPreviousLink+      (\ s a -> s{_pfPreviousLink = a})++instance FromJSON ProFiles where+        parseJSON+          = withObject "ProFiles"+              (\ o ->+                 ProFiles <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#profiles")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON ProFiles where+        toJSON ProFiles{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _pfNextLink,+                  ("itemsPerPage" .=) <$> _pfItemsPerPage,+                  Just ("kind" .= _pfKind),+                  ("username" .=) <$> _pfUsername,+                  ("items" .=) <$> _pfItems,+                  ("totalResults" .=) <$> _pfTotalResults,+                  ("startIndex" .=) <$> _pfStartIndex,+                  ("previousLink" .=) <$> _pfPreviousLink])++-- | Request template for the delete upload data request.+--+-- /See:/ 'analyticsDataimportDeleteUploadDataRequest' smart constructor.+newtype AnalyticsDataimportDeleteUploadDataRequest = AnalyticsDataimportDeleteUploadDataRequest+    { _addudrCustomDataImportUids :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnalyticsDataimportDeleteUploadDataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'addudrCustomDataImportUids'+analyticsDataimportDeleteUploadDataRequest+    :: AnalyticsDataimportDeleteUploadDataRequest+analyticsDataimportDeleteUploadDataRequest =+    AnalyticsDataimportDeleteUploadDataRequest+    { _addudrCustomDataImportUids = Nothing+    }++-- | A list of upload UIDs.+addudrCustomDataImportUids :: Lens' AnalyticsDataimportDeleteUploadDataRequest [Text]+addudrCustomDataImportUids+  = lens _addudrCustomDataImportUids+      (\ s a -> s{_addudrCustomDataImportUids = a})+      . _Default+      . _Coerce++instance FromJSON+         AnalyticsDataimportDeleteUploadDataRequest where+        parseJSON+          = withObject+              "AnalyticsDataimportDeleteUploadDataRequest"+              (\ o ->+                 AnalyticsDataimportDeleteUploadDataRequest <$>+                   (o .:? "customDataImportUids" .!= mempty))++instance ToJSON+         AnalyticsDataimportDeleteUploadDataRequest where+        toJSON AnalyticsDataimportDeleteUploadDataRequest{..}+          = object+              (catMaybes+                 [("customDataImportUids" .=) <$>+                    _addudrCustomDataImportUids])++-- | JSON template for Analytics Entity AdWords Link.+--+-- /See:/ 'entityAdWordsLink' smart constructor.+data EntityAdWordsLink = EntityAdWordsLink+    { _entAdWordsAccounts :: !(Maybe [AdWordsAccount])+    , _entProFileIds      :: !(Maybe [Text])+    , _entKind            :: !Text+    , _entSelfLink        :: !(Maybe Text)+    , _entName            :: !(Maybe Text)+    , _entId              :: !(Maybe Text)+    , _entEntity          :: !(Maybe EntityAdWordsLinkEntity)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityAdWordsLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'entAdWordsAccounts'+--+-- * 'entProFileIds'+--+-- * 'entKind'+--+-- * 'entSelfLink'+--+-- * 'entName'+--+-- * 'entId'+--+-- * 'entEntity'+entityAdWordsLink+    :: EntityAdWordsLink+entityAdWordsLink =+    EntityAdWordsLink+    { _entAdWordsAccounts = Nothing+    , _entProFileIds = Nothing+    , _entKind = "analytics#entityAdWordsLink"+    , _entSelfLink = Nothing+    , _entName = Nothing+    , _entId = Nothing+    , _entEntity = Nothing+    }++-- | A list of AdWords client accounts. These cannot be MCC accounts. This+-- field is required when creating an AdWords link. It cannot be empty.+entAdWordsAccounts :: Lens' EntityAdWordsLink [AdWordsAccount]+entAdWordsAccounts+  = lens _entAdWordsAccounts+      (\ s a -> s{_entAdWordsAccounts = a})+      . _Default+      . _Coerce++-- | IDs of linked Views (Profiles) represented as strings.+entProFileIds :: Lens' EntityAdWordsLink [Text]+entProFileIds+  = lens _entProFileIds+      (\ s a -> s{_entProFileIds = a})+      . _Default+      . _Coerce++-- | Resource type for entity AdWords link.+entKind :: Lens' EntityAdWordsLink Text+entKind = lens _entKind (\ s a -> s{_entKind = a})++-- | URL link for this Google Analytics - Google AdWords link.+entSelfLink :: Lens' EntityAdWordsLink (Maybe Text)+entSelfLink+  = lens _entSelfLink (\ s a -> s{_entSelfLink = a})++-- | Name of the link. This field is required when creating an AdWords link.+entName :: Lens' EntityAdWordsLink (Maybe Text)+entName = lens _entName (\ s a -> s{_entName = a})++-- | Entity AdWords link ID+entId :: Lens' EntityAdWordsLink (Maybe Text)+entId = lens _entId (\ s a -> s{_entId = a})++-- | Web property being linked.+entEntity :: Lens' EntityAdWordsLink (Maybe EntityAdWordsLinkEntity)+entEntity+  = lens _entEntity (\ s a -> s{_entEntity = a})++instance FromJSON EntityAdWordsLink where+        parseJSON+          = withObject "EntityAdWordsLink"+              (\ o ->+                 EntityAdWordsLink <$>+                   (o .:? "adWordsAccounts" .!= mempty) <*>+                     (o .:? "profileIds" .!= mempty)+                     <*> (o .:? "kind" .!= "analytics#entityAdWordsLink")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "entity"))++instance ToJSON EntityAdWordsLink where+        toJSON EntityAdWordsLink{..}+          = object+              (catMaybes+                 [("adWordsAccounts" .=) <$> _entAdWordsAccounts,+                  ("profileIds" .=) <$> _entProFileIds,+                  Just ("kind" .= _entKind),+                  ("selfLink" .=) <$> _entSelfLink,+                  ("name" .=) <$> _entName, ("id" .=) <$> _entId,+                  ("entity" .=) <$> _entEntity])++-- | Details for the filter of the type SEARCH_AND_REPLACE.+--+-- /See:/ 'filterSearchAndReplaceDetails' smart constructor.+data FilterSearchAndReplaceDetails = FilterSearchAndReplaceDetails+    { _fsardFieldIndex    :: !(Maybe (Textual Int32))+    , _fsardField         :: !(Maybe Text)+    , _fsardSearchString  :: !(Maybe Text)+    , _fsardReplaceString :: !(Maybe Text)+    , _fsardCaseSensitive :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterSearchAndReplaceDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fsardFieldIndex'+--+-- * 'fsardField'+--+-- * 'fsardSearchString'+--+-- * 'fsardReplaceString'+--+-- * 'fsardCaseSensitive'+filterSearchAndReplaceDetails+    :: FilterSearchAndReplaceDetails+filterSearchAndReplaceDetails =+    FilterSearchAndReplaceDetails+    { _fsardFieldIndex = Nothing+    , _fsardField = Nothing+    , _fsardSearchString = Nothing+    , _fsardReplaceString = Nothing+    , _fsardCaseSensitive = Nothing+    }++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fsardFieldIndex :: Lens' FilterSearchAndReplaceDetails (Maybe Int32)+fsardFieldIndex+  = lens _fsardFieldIndex+      (\ s a -> s{_fsardFieldIndex = a})+      . mapping _Coerce++-- | Field to use in the filter.+fsardField :: Lens' FilterSearchAndReplaceDetails (Maybe Text)+fsardField+  = lens _fsardField (\ s a -> s{_fsardField = a})++-- | Term to search.+fsardSearchString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)+fsardSearchString+  = lens _fsardSearchString+      (\ s a -> s{_fsardSearchString = a})++-- | Term to replace the search term with.+fsardReplaceString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)+fsardReplaceString+  = lens _fsardReplaceString+      (\ s a -> s{_fsardReplaceString = a})++-- | Determines if the filter is case sensitive.+fsardCaseSensitive :: Lens' FilterSearchAndReplaceDetails (Maybe Bool)+fsardCaseSensitive+  = lens _fsardCaseSensitive+      (\ s a -> s{_fsardCaseSensitive = a})++instance FromJSON FilterSearchAndReplaceDetails where+        parseJSON+          = withObject "FilterSearchAndReplaceDetails"+              (\ o ->+                 FilterSearchAndReplaceDetails <$>+                   (o .:? "fieldIndex") <*> (o .:? "field") <*>+                     (o .:? "searchString")+                     <*> (o .:? "replaceString")+                     <*> (o .:? "caseSensitive"))++instance ToJSON FilterSearchAndReplaceDetails where+        toJSON FilterSearchAndReplaceDetails{..}+          = object+              (catMaybes+                 [("fieldIndex" .=) <$> _fsardFieldIndex,+                  ("field" .=) <$> _fsardField,+                  ("searchString" .=) <$> _fsardSearchString,+                  ("replaceString" .=) <$> _fsardReplaceString,+                  ("caseSensitive" .=) <$> _fsardCaseSensitive])++-- | Permissions the user has for this view (profile).+--+-- /See:/ 'proFilePermissions' smart constructor.+newtype ProFilePermissions = ProFilePermissions+    { _pfpEffective :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFilePermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfpEffective'+proFilePermissions+    :: ProFilePermissions+proFilePermissions =+    ProFilePermissions+    { _pfpEffective = Nothing+    }++-- | All the permissions that the user has for this view (profile). These+-- include any implied permissions (e.g., EDIT implies VIEW) or inherited+-- permissions from the parent web property.+pfpEffective :: Lens' ProFilePermissions [Text]+pfpEffective+  = lens _pfpEffective (\ s a -> s{_pfpEffective = a})+      . _Default+      . _Coerce++instance FromJSON ProFilePermissions where+        parseJSON+          = withObject "ProFilePermissions"+              (\ o ->+                 ProFilePermissions <$>+                   (o .:? "effective" .!= mempty))++instance ToJSON ProFilePermissions where+        toJSON ProFilePermissions{..}+          = object+              (catMaybes [("effective" .=) <$> _pfpEffective])++-- | JSON template for an Analytics view (profile).+--+-- /See:/ 'proFile' smart constructor.+data ProFile = ProFile+    { _pParentLink                        :: !(Maybe ProFileParentLink)+    , _pECommerceTracking                 :: !(Maybe Bool)+    , _pSiteSearchCategoryParameters      :: !(Maybe Text)+    , _pWebPropertyId                     :: !(Maybe Text)+    , _pChildLink                         :: !(Maybe ProFileChildLink)+    , _pSiteSearchQueryParameters         :: !(Maybe Text)+    , _pKind                              :: !Text+    , _pDefaultPage                       :: !(Maybe Text)+    , _pCreated                           :: !(Maybe DateTime')+    , _pSelfLink                          :: !(Maybe Text)+    , _pAccountId                         :: !(Maybe Text)+    , _pName                              :: !(Maybe Text)+    , _pCurrency                          :: !(Maybe Text)+    , _pInternalWebPropertyId             :: !(Maybe Text)+    , _pId                                :: !(Maybe Text)+    , _pUpdated                           :: !(Maybe DateTime')+    , _pPermissions                       :: !(Maybe ProFilePermissions)+    , _pWebsiteURL                        :: !(Maybe Text)+    , _pType                              :: !(Maybe Text)+    , _pStripSiteSearchCategoryParameters :: !(Maybe Bool)+    , _pTimezone                          :: !(Maybe Text)+    , _pExcludeQueryParameters            :: !(Maybe Text)+    , _pEnhancedECommerceTracking         :: !(Maybe Bool)+    , _pStripSiteSearchQueryParameters    :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pParentLink'+--+-- * 'pECommerceTracking'+--+-- * 'pSiteSearchCategoryParameters'+--+-- * 'pWebPropertyId'+--+-- * 'pChildLink'+--+-- * 'pSiteSearchQueryParameters'+--+-- * 'pKind'+--+-- * 'pDefaultPage'+--+-- * 'pCreated'+--+-- * 'pSelfLink'+--+-- * 'pAccountId'+--+-- * 'pName'+--+-- * 'pCurrency'+--+-- * 'pInternalWebPropertyId'+--+-- * 'pId'+--+-- * 'pUpdated'+--+-- * 'pPermissions'+--+-- * 'pWebsiteURL'+--+-- * 'pType'+--+-- * 'pStripSiteSearchCategoryParameters'+--+-- * 'pTimezone'+--+-- * 'pExcludeQueryParameters'+--+-- * 'pEnhancedECommerceTracking'+--+-- * 'pStripSiteSearchQueryParameters'+proFile+    :: ProFile+proFile =+    ProFile+    { _pParentLink = Nothing+    , _pECommerceTracking = Nothing+    , _pSiteSearchCategoryParameters = Nothing+    , _pWebPropertyId = Nothing+    , _pChildLink = Nothing+    , _pSiteSearchQueryParameters = Nothing+    , _pKind = "analytics#profile"+    , _pDefaultPage = Nothing+    , _pCreated = Nothing+    , _pSelfLink = Nothing+    , _pAccountId = Nothing+    , _pName = Nothing+    , _pCurrency = Nothing+    , _pInternalWebPropertyId = Nothing+    , _pId = Nothing+    , _pUpdated = Nothing+    , _pPermissions = Nothing+    , _pWebsiteURL = Nothing+    , _pType = Nothing+    , _pStripSiteSearchCategoryParameters = Nothing+    , _pTimezone = Nothing+    , _pExcludeQueryParameters = Nothing+    , _pEnhancedECommerceTracking = Nothing+    , _pStripSiteSearchQueryParameters = Nothing+    }++-- | Parent link for this view (profile). Points to the web property to which+-- this view (profile) belongs.+pParentLink :: Lens' ProFile (Maybe ProFileParentLink)+pParentLink+  = lens _pParentLink (\ s a -> s{_pParentLink = a})++-- | Indicates whether ecommerce tracking is enabled for this view (profile).+pECommerceTracking :: Lens' ProFile (Maybe Bool)+pECommerceTracking+  = lens _pECommerceTracking+      (\ s a -> s{_pECommerceTracking = a})++-- | Site search category parameters for this view (profile).+pSiteSearchCategoryParameters :: Lens' ProFile (Maybe Text)+pSiteSearchCategoryParameters+  = lens _pSiteSearchCategoryParameters+      (\ s a -> s{_pSiteSearchCategoryParameters = a})++-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)+-- belongs.+pWebPropertyId :: Lens' ProFile (Maybe Text)+pWebPropertyId+  = lens _pWebPropertyId+      (\ s a -> s{_pWebPropertyId = a})++-- | Child link for this view (profile). Points to the list of goals for this+-- view (profile).+pChildLink :: Lens' ProFile (Maybe ProFileChildLink)+pChildLink+  = lens _pChildLink (\ s a -> s{_pChildLink = a})++-- | The site search query parameters for this view (profile).+pSiteSearchQueryParameters :: Lens' ProFile (Maybe Text)+pSiteSearchQueryParameters+  = lens _pSiteSearchQueryParameters+      (\ s a -> s{_pSiteSearchQueryParameters = a})++-- | Resource type for Analytics view (profile).+pKind :: Lens' ProFile Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | Default page for this view (profile).+pDefaultPage :: Lens' ProFile (Maybe Text)+pDefaultPage+  = lens _pDefaultPage (\ s a -> s{_pDefaultPage = a})++-- | Time this view (profile) was created.+pCreated :: Lens' ProFile (Maybe UTCTime)+pCreated+  = lens _pCreated (\ s a -> s{_pCreated = a}) .+      mapping _DateTime++-- | Link for this view (profile).+pSelfLink :: Lens' ProFile (Maybe Text)+pSelfLink+  = lens _pSelfLink (\ s a -> s{_pSelfLink = a})++-- | Account ID to which this view (profile) belongs.+pAccountId :: Lens' ProFile (Maybe Text)+pAccountId+  = lens _pAccountId (\ s a -> s{_pAccountId = a})++-- | Name of this view (profile).+pName :: Lens' ProFile (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | The currency type associated with this view (profile), defaults to USD.+-- The supported values are: ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK,+-- EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN,+-- RUB, SEK, THB, TRY, TWD, USD, VND, ZAR+pCurrency :: Lens' ProFile (Maybe Text)+pCurrency+  = lens _pCurrency (\ s a -> s{_pCurrency = a})++-- | Internal ID for the web property to which this view (profile) belongs.+pInternalWebPropertyId :: Lens' ProFile (Maybe Text)+pInternalWebPropertyId+  = lens _pInternalWebPropertyId+      (\ s a -> s{_pInternalWebPropertyId = a})++-- | View (Profile) ID.+pId :: Lens' ProFile (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++-- | Time this view (profile) was last modified.+pUpdated :: Lens' ProFile (Maybe UTCTime)+pUpdated+  = lens _pUpdated (\ s a -> s{_pUpdated = a}) .+      mapping _DateTime++-- | Permissions the user has for this view (profile).+pPermissions :: Lens' ProFile (Maybe ProFilePermissions)+pPermissions+  = lens _pPermissions (\ s a -> s{_pPermissions = a})++-- | Website URL for this view (profile).+pWebsiteURL :: Lens' ProFile (Maybe Text)+pWebsiteURL+  = lens _pWebsiteURL (\ s a -> s{_pWebsiteURL = a})++-- | View (Profile) type. Supported types: WEB or APP.+pType :: Lens' ProFile (Maybe Text)+pType = lens _pType (\ s a -> s{_pType = a})++-- | Whether or not Analytics will strip search category parameters from the+-- URLs in your reports.+pStripSiteSearchCategoryParameters :: Lens' ProFile (Maybe Bool)+pStripSiteSearchCategoryParameters+  = lens _pStripSiteSearchCategoryParameters+      (\ s a -> s{_pStripSiteSearchCategoryParameters = a})++-- | Time zone for which this view (profile) has been configured. Time zones+-- are identified by strings from the TZ database.+pTimezone :: Lens' ProFile (Maybe Text)+pTimezone+  = lens _pTimezone (\ s a -> s{_pTimezone = a})++-- | The query parameters that are excluded from this view (profile).+pExcludeQueryParameters :: Lens' ProFile (Maybe Text)+pExcludeQueryParameters+  = lens _pExcludeQueryParameters+      (\ s a -> s{_pExcludeQueryParameters = a})++-- | Indicates whether enhanced ecommerce tracking is enabled for this view+-- (profile). This property can only be enabled if ecommerce tracking is+-- enabled.+pEnhancedECommerceTracking :: Lens' ProFile (Maybe Bool)+pEnhancedECommerceTracking+  = lens _pEnhancedECommerceTracking+      (\ s a -> s{_pEnhancedECommerceTracking = a})++-- | Whether or not Analytics will strip search query parameters from the+-- URLs in your reports.+pStripSiteSearchQueryParameters :: Lens' ProFile (Maybe Bool)+pStripSiteSearchQueryParameters+  = lens _pStripSiteSearchQueryParameters+      (\ s a -> s{_pStripSiteSearchQueryParameters = a})++instance FromJSON ProFile where+        parseJSON+          = withObject "ProFile"+              (\ o ->+                 ProFile <$>+                   (o .:? "parentLink") <*> (o .:? "eCommerceTracking")+                     <*> (o .:? "siteSearchCategoryParameters")+                     <*> (o .:? "webPropertyId")+                     <*> (o .:? "childLink")+                     <*> (o .:? "siteSearchQueryParameters")+                     <*> (o .:? "kind" .!= "analytics#profile")+                     <*> (o .:? "defaultPage")+                     <*> (o .:? "created")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "currency")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "permissions")+                     <*> (o .:? "websiteUrl")+                     <*> (o .:? "type")+                     <*> (o .:? "stripSiteSearchCategoryParameters")+                     <*> (o .:? "timezone")+                     <*> (o .:? "excludeQueryParameters")+                     <*> (o .:? "enhancedECommerceTracking")+                     <*> (o .:? "stripSiteSearchQueryParameters"))++instance ToJSON ProFile where+        toJSON ProFile{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _pParentLink,+                  ("eCommerceTracking" .=) <$> _pECommerceTracking,+                  ("siteSearchCategoryParameters" .=) <$>+                    _pSiteSearchCategoryParameters,+                  ("webPropertyId" .=) <$> _pWebPropertyId,+                  ("childLink" .=) <$> _pChildLink,+                  ("siteSearchQueryParameters" .=) <$>+                    _pSiteSearchQueryParameters,+                  Just ("kind" .= _pKind),+                  ("defaultPage" .=) <$> _pDefaultPage,+                  ("created" .=) <$> _pCreated,+                  ("selfLink" .=) <$> _pSelfLink,+                  ("accountId" .=) <$> _pAccountId,+                  ("name" .=) <$> _pName,+                  ("currency" .=) <$> _pCurrency,+                  ("internalWebPropertyId" .=) <$>+                    _pInternalWebPropertyId,+                  ("id" .=) <$> _pId, ("updated" .=) <$> _pUpdated,+                  ("permissions" .=) <$> _pPermissions,+                  ("websiteUrl" .=) <$> _pWebsiteURL,+                  ("type" .=) <$> _pType,+                  ("stripSiteSearchCategoryParameters" .=) <$>+                    _pStripSiteSearchCategoryParameters,+                  ("timezone" .=) <$> _pTimezone,+                  ("excludeQueryParameters" .=) <$>+                    _pExcludeQueryParameters,+                  ("enhancedECommerceTracking" .=) <$>+                    _pEnhancedECommerceTracking,+                  ("stripSiteSearchQueryParameters" .=) <$>+                    _pStripSiteSearchQueryParameters])++-- | An AccountSummary collection lists a summary of accounts, properties and+-- views (profiles) to which the user has access. Each resource in the+-- collection corresponds to a single AccountSummary.+--+-- /See:/ 'accountSummaries' smart constructor.+data AccountSummaries = AccountSummaries+    { _asNextLink     :: !(Maybe Text)+    , _asItemsPerPage :: !(Maybe (Textual Int32))+    , _asKind         :: !Text+    , _asUsername     :: !(Maybe Text)+    , _asItems        :: !(Maybe [AccountSummary])+    , _asTotalResults :: !(Maybe (Textual Int32))+    , _asStartIndex   :: !(Maybe (Textual Int32))+    , _asPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountSummaries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asNextLink'+--+-- * 'asItemsPerPage'+--+-- * 'asKind'+--+-- * 'asUsername'+--+-- * 'asItems'+--+-- * 'asTotalResults'+--+-- * 'asStartIndex'+--+-- * 'asPreviousLink'+accountSummaries+    :: AccountSummaries+accountSummaries =+    AccountSummaries+    { _asNextLink = Nothing+    , _asItemsPerPage = Nothing+    , _asKind = "analytics#accountSummaries"+    , _asUsername = Nothing+    , _asItems = Nothing+    , _asTotalResults = Nothing+    , _asStartIndex = Nothing+    , _asPreviousLink = Nothing+    }++-- | Link to next page for this AccountSummary collection.+asNextLink :: Lens' AccountSummaries (Maybe Text)+asNextLink+  = lens _asNextLink (\ s a -> s{_asNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+asItemsPerPage :: Lens' AccountSummaries (Maybe Int32)+asItemsPerPage+  = lens _asItemsPerPage+      (\ s a -> s{_asItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+asKind :: Lens' AccountSummaries Text+asKind = lens _asKind (\ s a -> s{_asKind = a})++-- | Email ID of the authenticated user+asUsername :: Lens' AccountSummaries (Maybe Text)+asUsername+  = lens _asUsername (\ s a -> s{_asUsername = a})++-- | A list of AccountSummaries.+asItems :: Lens' AccountSummaries [AccountSummary]+asItems+  = lens _asItems (\ s a -> s{_asItems = a}) . _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+asTotalResults :: Lens' AccountSummaries (Maybe Int32)+asTotalResults+  = lens _asTotalResults+      (\ s a -> s{_asTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+asStartIndex :: Lens' AccountSummaries (Maybe Int32)+asStartIndex+  = lens _asStartIndex (\ s a -> s{_asStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this AccountSummary collection.+asPreviousLink :: Lens' AccountSummaries (Maybe Text)+asPreviousLink+  = lens _asPreviousLink+      (\ s a -> s{_asPreviousLink = a})++instance FromJSON AccountSummaries where+        parseJSON+          = withObject "AccountSummaries"+              (\ o ->+                 AccountSummaries <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#accountSummaries")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON AccountSummaries where+        toJSON AccountSummaries{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _asNextLink,+                  ("itemsPerPage" .=) <$> _asItemsPerPage,+                  Just ("kind" .= _asKind),+                  ("username" .=) <$> _asUsername,+                  ("items" .=) <$> _asItems,+                  ("totalResults" .=) <$> _asTotalResults,+                  ("startIndex" .=) <$> _asStartIndex,+                  ("previousLink" .=) <$> _asPreviousLink])++-- | Details for the goal of the type EVENT.+--+-- /See:/ 'goalEventDetails' smart constructor.+data GoalEventDetails = GoalEventDetails+    { _gedUseEventValue   :: !(Maybe Bool)+    , _gedEventConditions :: !(Maybe [GoalEventDetailsEventConditionsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalEventDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gedUseEventValue'+--+-- * 'gedEventConditions'+goalEventDetails+    :: GoalEventDetails+goalEventDetails =+    GoalEventDetails+    { _gedUseEventValue = Nothing+    , _gedEventConditions = Nothing+    }++-- | Determines if the event value should be used as the value for this goal.+gedUseEventValue :: Lens' GoalEventDetails (Maybe Bool)+gedUseEventValue+  = lens _gedUseEventValue+      (\ s a -> s{_gedUseEventValue = a})++-- | List of event conditions.+gedEventConditions :: Lens' GoalEventDetails [GoalEventDetailsEventConditionsItem]+gedEventConditions+  = lens _gedEventConditions+      (\ s a -> s{_gedEventConditions = a})+      . _Default+      . _Coerce++instance FromJSON GoalEventDetails where+        parseJSON+          = withObject "GoalEventDetails"+              (\ o ->+                 GoalEventDetails <$>+                   (o .:? "useEventValue") <*>+                     (o .:? "eventConditions" .!= mempty))++instance ToJSON GoalEventDetails where+        toJSON GoalEventDetails{..}+          = object+              (catMaybes+                 [("useEventValue" .=) <$> _gedUseEventValue,+                  ("eventConditions" .=) <$> _gedEventConditions])++-- | JSON template for an Analytics WebPropertySummary. WebPropertySummary+-- returns basic information (i.e., summary) for a web property.+--+-- /See:/ 'webPropertySummary' smart constructor.+data WebPropertySummary = WebPropertySummary+    { _wpsKind                  :: !Text+    , _wpsProFiles              :: !(Maybe [ProFileSummary])+    , _wpsName                  :: !(Maybe Text)+    , _wpsInternalWebPropertyId :: !(Maybe Text)+    , _wpsId                    :: !(Maybe Text)+    , _wpsWebsiteURL            :: !(Maybe Text)+    , _wpsLevel                 :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebPropertySummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpsKind'+--+-- * 'wpsProFiles'+--+-- * 'wpsName'+--+-- * 'wpsInternalWebPropertyId'+--+-- * 'wpsId'+--+-- * 'wpsWebsiteURL'+--+-- * 'wpsLevel'+webPropertySummary+    :: WebPropertySummary+webPropertySummary =+    WebPropertySummary+    { _wpsKind = "analytics#webPropertySummary"+    , _wpsProFiles = Nothing+    , _wpsName = Nothing+    , _wpsInternalWebPropertyId = Nothing+    , _wpsId = Nothing+    , _wpsWebsiteURL = Nothing+    , _wpsLevel = Nothing+    }++-- | Resource type for Analytics WebPropertySummary.+wpsKind :: Lens' WebPropertySummary Text+wpsKind = lens _wpsKind (\ s a -> s{_wpsKind = a})++-- | List of profiles under this web property.+wpsProFiles :: Lens' WebPropertySummary [ProFileSummary]+wpsProFiles+  = lens _wpsProFiles (\ s a -> s{_wpsProFiles = a}) .+      _Default+      . _Coerce++-- | Web property name.+wpsName :: Lens' WebPropertySummary (Maybe Text)+wpsName = lens _wpsName (\ s a -> s{_wpsName = a})++-- | Internal ID for this web property.+wpsInternalWebPropertyId :: Lens' WebPropertySummary (Maybe Text)+wpsInternalWebPropertyId+  = lens _wpsInternalWebPropertyId+      (\ s a -> s{_wpsInternalWebPropertyId = a})++-- | Web property ID of the form UA-XXXXX-YY.+wpsId :: Lens' WebPropertySummary (Maybe Text)+wpsId = lens _wpsId (\ s a -> s{_wpsId = a})++-- | Website url for this web property.+wpsWebsiteURL :: Lens' WebPropertySummary (Maybe Text)+wpsWebsiteURL+  = lens _wpsWebsiteURL+      (\ s a -> s{_wpsWebsiteURL = a})++-- | Level for this web property. Possible values are STANDARD or PREMIUM.+wpsLevel :: Lens' WebPropertySummary (Maybe Text)+wpsLevel = lens _wpsLevel (\ s a -> s{_wpsLevel = a})++instance FromJSON WebPropertySummary where+        parseJSON+          = withObject "WebPropertySummary"+              (\ o ->+                 WebPropertySummary <$>+                   (o .:? "kind" .!= "analytics#webPropertySummary") <*>+                     (o .:? "profiles" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id")+                     <*> (o .:? "websiteUrl")+                     <*> (o .:? "level"))++instance ToJSON WebPropertySummary where+        toJSON WebPropertySummary{..}+          = object+              (catMaybes+                 [Just ("kind" .= _wpsKind),+                  ("profiles" .=) <$> _wpsProFiles,+                  ("name" .=) <$> _wpsName,+                  ("internalWebPropertyId" .=) <$>+                    _wpsInternalWebPropertyId,+                  ("id" .=) <$> _wpsId,+                  ("websiteUrl" .=) <$> _wpsWebsiteURL,+                  ("level" .=) <$> _wpsLevel])++-- | A filter collection lists filters created by users in an Analytics+-- account. Each resource in the collection corresponds to a filter.+--+-- /See:/ 'filters' smart constructor.+data Filters = Filters+    { _fNextLink     :: !(Maybe Text)+    , _fItemsPerPage :: !(Maybe (Textual Int32))+    , _fKind         :: !Text+    , _fUsername     :: !(Maybe Text)+    , _fItems        :: !(Maybe [Filter])+    , _fTotalResults :: !(Maybe (Textual Int32))+    , _fStartIndex   :: !(Maybe (Textual Int32))+    , _fPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fNextLink'+--+-- * 'fItemsPerPage'+--+-- * 'fKind'+--+-- * 'fUsername'+--+-- * 'fItems'+--+-- * 'fTotalResults'+--+-- * 'fStartIndex'+--+-- * 'fPreviousLink'+filters+    :: Filters+filters =+    Filters+    { _fNextLink = Nothing+    , _fItemsPerPage = Nothing+    , _fKind = "analytics#filters"+    , _fUsername = Nothing+    , _fItems = Nothing+    , _fTotalResults = Nothing+    , _fStartIndex = Nothing+    , _fPreviousLink = Nothing+    }++-- | Link to next page for this filter collection.+fNextLink :: Lens' Filters (Maybe Text)+fNextLink+  = lens _fNextLink (\ s a -> s{_fNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to+-- 1,000 with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+fItemsPerPage :: Lens' Filters (Maybe Int32)+fItemsPerPage+  = lens _fItemsPerPage+      (\ s a -> s{_fItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+fKind :: Lens' Filters Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | Email ID of the authenticated user+fUsername :: Lens' Filters (Maybe Text)+fUsername+  = lens _fUsername (\ s a -> s{_fUsername = a})++-- | A list of filters.+fItems :: Lens' Filters [Filter]+fItems+  = lens _fItems (\ s a -> s{_fItems = a}) . _Default .+      _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+fTotalResults :: Lens' Filters (Maybe Int32)+fTotalResults+  = lens _fTotalResults+      (\ s a -> s{_fTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+fStartIndex :: Lens' Filters (Maybe Int32)+fStartIndex+  = lens _fStartIndex (\ s a -> s{_fStartIndex = a}) .+      mapping _Coerce++-- | Link to previous page for this filter collection.+fPreviousLink :: Lens' Filters (Maybe Text)+fPreviousLink+  = lens _fPreviousLink+      (\ s a -> s{_fPreviousLink = a})++instance FromJSON Filters where+        parseJSON+          = withObject "Filters"+              (\ o ->+                 Filters <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#filters")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Filters where+        toJSON Filters{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _fNextLink,+                  ("itemsPerPage" .=) <$> _fItemsPerPage,+                  Just ("kind" .= _fKind),+                  ("username" .=) <$> _fUsername,+                  ("items" .=) <$> _fItems,+                  ("totalResults" .=) <$> _fTotalResults,+                  ("startIndex" .=) <$> _fStartIndex,+                  ("previousLink" .=) <$> _fPreviousLink])++-- | Analytics data for a given view (profile).+--+-- /See:/ 'gaData' smart constructor.+data GaData = GaData+    { _gdNextLink            :: !(Maybe Text)+    , _gdSampleSpace         :: !(Maybe (Textual Int64))+    , _gdItemsPerPage        :: !(Maybe (Textual Int32))+    , _gdProFileInfo         :: !(Maybe GaDataProFileInfo)+    , _gdKind                :: !Text+    , _gdSampleSize          :: !(Maybe (Textual Int64))+    , _gdRows                :: !(Maybe [[Text]])+    , _gdSelfLink            :: !(Maybe Text)+    , _gdQuery               :: !(Maybe GaDataQuery)+    , _gdColumnHeaders       :: !(Maybe [GaDataColumnHeadersItem])+    , _gdId                  :: !(Maybe Text)+    , _gdTotalResults        :: !(Maybe (Textual Int32))+    , _gdDataTable           :: !(Maybe GaDataDataTable)+    , _gdContainsSampledData :: !(Maybe Bool)+    , _gdTotalsForAllResults :: !(Maybe GaDataTotalsForAllResults)+    , _gdPreviousLink        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdNextLink'+--+-- * 'gdSampleSpace'+--+-- * 'gdItemsPerPage'+--+-- * 'gdProFileInfo'+--+-- * 'gdKind'+--+-- * 'gdSampleSize'+--+-- * 'gdRows'+--+-- * 'gdSelfLink'+--+-- * 'gdQuery'+--+-- * 'gdColumnHeaders'+--+-- * 'gdId'+--+-- * 'gdTotalResults'+--+-- * 'gdDataTable'+--+-- * 'gdContainsSampledData'+--+-- * 'gdTotalsForAllResults'+--+-- * 'gdPreviousLink'+gaData+    :: GaData+gaData =+    GaData+    { _gdNextLink = Nothing+    , _gdSampleSpace = Nothing+    , _gdItemsPerPage = Nothing+    , _gdProFileInfo = Nothing+    , _gdKind = "analytics#gaData"+    , _gdSampleSize = Nothing+    , _gdRows = Nothing+    , _gdSelfLink = Nothing+    , _gdQuery = Nothing+    , _gdColumnHeaders = Nothing+    , _gdId = Nothing+    , _gdTotalResults = Nothing+    , _gdDataTable = Nothing+    , _gdContainsSampledData = Nothing+    , _gdTotalsForAllResults = Nothing+    , _gdPreviousLink = Nothing+    }++-- | Link to next page for this Analytics data query.+gdNextLink :: Lens' GaData (Maybe Text)+gdNextLink+  = lens _gdNextLink (\ s a -> s{_gdNextLink = a})++-- | Total size of the sample space from which the samples were selected.+gdSampleSpace :: Lens' GaData (Maybe Int64)+gdSampleSpace+  = lens _gdSampleSpace+      (\ s a -> s{_gdSampleSpace = a})+      . mapping _Coerce++-- | The maximum number of rows the response can contain, regardless of the+-- actual number of rows returned. Its value ranges from 1 to 10,000 with a+-- value of 1000 by default, or otherwise specified by the max-results+-- query parameter.+gdItemsPerPage :: Lens' GaData (Maybe Int32)+gdItemsPerPage+  = lens _gdItemsPerPage+      (\ s a -> s{_gdItemsPerPage = a})+      . mapping _Coerce++-- | Information for the view (profile), for which the Analytics data was+-- requested.+gdProFileInfo :: Lens' GaData (Maybe GaDataProFileInfo)+gdProFileInfo+  = lens _gdProFileInfo+      (\ s a -> s{_gdProFileInfo = a})++-- | Resource type.+gdKind :: Lens' GaData Text+gdKind = lens _gdKind (\ s a -> s{_gdKind = a})++-- | The number of samples used to calculate the result.+gdSampleSize :: Lens' GaData (Maybe Int64)+gdSampleSize+  = lens _gdSampleSize (\ s a -> s{_gdSampleSize = a})+      . mapping _Coerce++-- | Analytics data rows, where each row contains a list of dimension values+-- followed by the metric values. The order of dimensions and metrics is+-- same as specified in the request.+gdRows :: Lens' GaData [[Text]]+gdRows+  = lens _gdRows (\ s a -> s{_gdRows = a}) . _Default .+      _Coerce++-- | Link to this page.+gdSelfLink :: Lens' GaData (Maybe Text)+gdSelfLink+  = lens _gdSelfLink (\ s a -> s{_gdSelfLink = a})++-- | Analytics data request query parameters.+gdQuery :: Lens' GaData (Maybe GaDataQuery)+gdQuery = lens _gdQuery (\ s a -> s{_gdQuery = a})++-- | Column headers that list dimension names followed by the metric names.+-- The order of dimensions and metrics is same as specified in the request.+gdColumnHeaders :: Lens' GaData [GaDataColumnHeadersItem]+gdColumnHeaders+  = lens _gdColumnHeaders+      (\ s a -> s{_gdColumnHeaders = a})+      . _Default+      . _Coerce++-- | Unique ID for this data response.+gdId :: Lens' GaData (Maybe Text)+gdId = lens _gdId (\ s a -> s{_gdId = a})++-- | The total number of rows for the query, regardless of the number of rows+-- in the response.+gdTotalResults :: Lens' GaData (Maybe Int32)+gdTotalResults+  = lens _gdTotalResults+      (\ s a -> s{_gdTotalResults = a})+      . mapping _Coerce++gdDataTable :: Lens' GaData (Maybe GaDataDataTable)+gdDataTable+  = lens _gdDataTable (\ s a -> s{_gdDataTable = a})++-- | Determines if Analytics data contains samples.+gdContainsSampledData :: Lens' GaData (Maybe Bool)+gdContainsSampledData+  = lens _gdContainsSampledData+      (\ s a -> s{_gdContainsSampledData = a})++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+gdTotalsForAllResults :: Lens' GaData (Maybe GaDataTotalsForAllResults)+gdTotalsForAllResults+  = lens _gdTotalsForAllResults+      (\ s a -> s{_gdTotalsForAllResults = a})++-- | Link to previous page for this Analytics data query.+gdPreviousLink :: Lens' GaData (Maybe Text)+gdPreviousLink+  = lens _gdPreviousLink+      (\ s a -> s{_gdPreviousLink = a})++instance FromJSON GaData where+        parseJSON+          = withObject "GaData"+              (\ o ->+                 GaData <$>+                   (o .:? "nextLink") <*> (o .:? "sampleSpace") <*>+                     (o .:? "itemsPerPage")+                     <*> (o .:? "profileInfo")+                     <*> (o .:? "kind" .!= "analytics#gaData")+                     <*> (o .:? "sampleSize")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "query")+                     <*> (o .:? "columnHeaders" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "totalResults")+                     <*> (o .:? "dataTable")+                     <*> (o .:? "containsSampledData")+                     <*> (o .:? "totalsForAllResults")+                     <*> (o .:? "previousLink"))++instance ToJSON GaData where+        toJSON GaData{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _gdNextLink,+                  ("sampleSpace" .=) <$> _gdSampleSpace,+                  ("itemsPerPage" .=) <$> _gdItemsPerPage,+                  ("profileInfo" .=) <$> _gdProFileInfo,+                  Just ("kind" .= _gdKind),+                  ("sampleSize" .=) <$> _gdSampleSize,+                  ("rows" .=) <$> _gdRows,+                  ("selfLink" .=) <$> _gdSelfLink,+                  ("query" .=) <$> _gdQuery,+                  ("columnHeaders" .=) <$> _gdColumnHeaders,+                  ("id" .=) <$> _gdId,+                  ("totalResults" .=) <$> _gdTotalResults,+                  ("dataTable" .=) <$> _gdDataTable,+                  ("containsSampledData" .=) <$>+                    _gdContainsSampledData,+                  ("totalsForAllResults" .=) <$>+                    _gdTotalsForAllResults,+                  ("previousLink" .=) <$> _gdPreviousLink])++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+--+-- /See:/ 'realtimeDataTotalsForAllResults' smart constructor.+newtype RealtimeDataTotalsForAllResults = RealtimeDataTotalsForAllResults+    { _rdtfarAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeDataTotalsForAllResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdtfarAddtional'+realtimeDataTotalsForAllResults+    :: HashMap Text Text -- ^ 'rdtfarAddtional'+    -> RealtimeDataTotalsForAllResults+realtimeDataTotalsForAllResults pRdtfarAddtional_ =+    RealtimeDataTotalsForAllResults+    { _rdtfarAddtional = _Coerce # pRdtfarAddtional_+    }++-- | Key-value pair for the total value of a metric. Key is the metric name+-- and the value is the total value for that metric.+rdtfarAddtional :: Lens' RealtimeDataTotalsForAllResults (HashMap Text Text)+rdtfarAddtional+  = lens _rdtfarAddtional+      (\ s a -> s{_rdtfarAddtional = a})+      . _Coerce++instance FromJSON RealtimeDataTotalsForAllResults+         where+        parseJSON+          = withObject "RealtimeDataTotalsForAllResults"+              (\ o ->+                 RealtimeDataTotalsForAllResults <$>+                   (parseJSONObject o))++instance ToJSON RealtimeDataTotalsForAllResults where+        toJSON = toJSON . _rdtfarAddtional++-- | JSON template for an Analytics custom data source.+--+-- /See:/ 'customDataSource' smart constructor.+data CustomDataSource = CustomDataSource+    { _cParentLink     :: !(Maybe CustomDataSourceParentLink)+    , _cWebPropertyId  :: !(Maybe Text)+    , _cChildLink      :: !(Maybe CustomDataSourceChildLink)+    , _cKind           :: !Text+    , _cCreated        :: !(Maybe DateTime')+    , _cUploadType     :: !(Maybe Text)+    , _cImportBehavior :: !(Maybe Text)+    , _cSelfLink       :: !(Maybe Text)+    , _cAccountId      :: !(Maybe Text)+    , _cName           :: !(Maybe Text)+    , _cId             :: !(Maybe Text)+    , _cUpdated        :: !(Maybe DateTime')+    , _cType           :: !(Maybe Text)+    , _cDescription    :: !(Maybe Text)+    , _cProFilesLinked :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDataSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cParentLink'+--+-- * 'cWebPropertyId'+--+-- * 'cChildLink'+--+-- * 'cKind'+--+-- * 'cCreated'+--+-- * 'cUploadType'+--+-- * 'cImportBehavior'+--+-- * 'cSelfLink'+--+-- * 'cAccountId'+--+-- * 'cName'+--+-- * 'cId'+--+-- * 'cUpdated'+--+-- * 'cType'+--+-- * 'cDescription'+--+-- * 'cProFilesLinked'+customDataSource+    :: CustomDataSource+customDataSource =+    CustomDataSource+    { _cParentLink = Nothing+    , _cWebPropertyId = Nothing+    , _cChildLink = Nothing+    , _cKind = "analytics#customDataSource"+    , _cCreated = Nothing+    , _cUploadType = Nothing+    , _cImportBehavior = Nothing+    , _cSelfLink = Nothing+    , _cAccountId = Nothing+    , _cName = Nothing+    , _cId = Nothing+    , _cUpdated = Nothing+    , _cType = Nothing+    , _cDescription = Nothing+    , _cProFilesLinked = Nothing+    }++-- | Parent link for this custom data source. Points to the web property to+-- which this custom data source belongs.+cParentLink :: Lens' CustomDataSource (Maybe CustomDataSourceParentLink)+cParentLink+  = lens _cParentLink (\ s a -> s{_cParentLink = a})++-- | Web property ID of the form UA-XXXXX-YY to which this custom data source+-- belongs.+cWebPropertyId :: Lens' CustomDataSource (Maybe Text)+cWebPropertyId+  = lens _cWebPropertyId+      (\ s a -> s{_cWebPropertyId = a})++cChildLink :: Lens' CustomDataSource (Maybe CustomDataSourceChildLink)+cChildLink+  = lens _cChildLink (\ s a -> s{_cChildLink = a})++-- | Resource type for Analytics custom data source.+cKind :: Lens' CustomDataSource Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Time this custom data source was created.+cCreated :: Lens' CustomDataSource (Maybe UTCTime)+cCreated+  = lens _cCreated (\ s a -> s{_cCreated = a}) .+      mapping _DateTime++cUploadType :: Lens' CustomDataSource (Maybe Text)+cUploadType+  = lens _cUploadType (\ s a -> s{_cUploadType = a})++cImportBehavior :: Lens' CustomDataSource (Maybe Text)+cImportBehavior+  = lens _cImportBehavior+      (\ s a -> s{_cImportBehavior = a})++-- | Link for this Analytics custom data source.+cSelfLink :: Lens' CustomDataSource (Maybe Text)+cSelfLink+  = lens _cSelfLink (\ s a -> s{_cSelfLink = a})++-- | Account ID to which this custom data source belongs.+cAccountId :: Lens' CustomDataSource (Maybe Text)+cAccountId+  = lens _cAccountId (\ s a -> s{_cAccountId = a})++-- | Name of this custom data source.+cName :: Lens' CustomDataSource (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Custom data source ID.+cId :: Lens' CustomDataSource (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | Time this custom data source was last modified.+cUpdated :: Lens' CustomDataSource (Maybe UTCTime)+cUpdated+  = lens _cUpdated (\ s a -> s{_cUpdated = a}) .+      mapping _DateTime++-- | Type of the custom data source.+cType :: Lens' CustomDataSource (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++-- | Description of custom data source.+cDescription :: Lens' CustomDataSource (Maybe Text)+cDescription+  = lens _cDescription (\ s a -> s{_cDescription = a})++-- | IDs of views (profiles) linked to the custom data source.+cProFilesLinked :: Lens' CustomDataSource [Text]+cProFilesLinked+  = lens _cProFilesLinked+      (\ s a -> s{_cProFilesLinked = a})+      . _Default+      . _Coerce++instance FromJSON CustomDataSource where+        parseJSON+          = withObject "CustomDataSource"+              (\ o ->+                 CustomDataSource <$>+                   (o .:? "parentLink") <*> (o .:? "webPropertyId") <*>+                     (o .:? "childLink")+                     <*> (o .:? "kind" .!= "analytics#customDataSource")+                     <*> (o .:? "created")+                     <*> (o .:? "uploadType")+                     <*> (o .:? "importBehavior")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "type")+                     <*> (o .:? "description")+                     <*> (o .:? "profilesLinked" .!= mempty))++instance ToJSON CustomDataSource where+        toJSON CustomDataSource{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _cParentLink,+                  ("webPropertyId" .=) <$> _cWebPropertyId,+                  ("childLink" .=) <$> _cChildLink,+                  Just ("kind" .= _cKind),+                  ("created" .=) <$> _cCreated,+                  ("uploadType" .=) <$> _cUploadType,+                  ("importBehavior" .=) <$> _cImportBehavior,+                  ("selfLink" .=) <$> _cSelfLink,+                  ("accountId" .=) <$> _cAccountId,+                  ("name" .=) <$> _cName, ("id" .=) <$> _cId,+                  ("updated" .=) <$> _cUpdated, ("type" .=) <$> _cType,+                  ("description" .=) <$> _cDescription,+                  ("profilesLinked" .=) <$> _cProFilesLinked])++-- | JSON template for a web property reference.+--+-- /See:/ 'webPropertyRef' smart constructor.+data WebPropertyRef = WebPropertyRef+    { _wprKind                  :: !Text+    , _wprHref                  :: !(Maybe Text)+    , _wprAccountId             :: !(Maybe Text)+    , _wprName                  :: !(Maybe Text)+    , _wprInternalWebPropertyId :: !(Maybe Text)+    , _wprId                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebPropertyRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wprKind'+--+-- * 'wprHref'+--+-- * 'wprAccountId'+--+-- * 'wprName'+--+-- * 'wprInternalWebPropertyId'+--+-- * 'wprId'+webPropertyRef+    :: WebPropertyRef+webPropertyRef =+    WebPropertyRef+    { _wprKind = "analytics#webPropertyRef"+    , _wprHref = Nothing+    , _wprAccountId = Nothing+    , _wprName = Nothing+    , _wprInternalWebPropertyId = Nothing+    , _wprId = Nothing+    }++-- | Analytics web property reference.+wprKind :: Lens' WebPropertyRef Text+wprKind = lens _wprKind (\ s a -> s{_wprKind = a})++-- | Link for this web property.+wprHref :: Lens' WebPropertyRef (Maybe Text)+wprHref = lens _wprHref (\ s a -> s{_wprHref = a})++-- | Account ID to which this web property belongs.+wprAccountId :: Lens' WebPropertyRef (Maybe Text)+wprAccountId+  = lens _wprAccountId (\ s a -> s{_wprAccountId = a})++-- | Name of this web property.+wprName :: Lens' WebPropertyRef (Maybe Text)+wprName = lens _wprName (\ s a -> s{_wprName = a})++-- | Internal ID for this web property.+wprInternalWebPropertyId :: Lens' WebPropertyRef (Maybe Text)+wprInternalWebPropertyId+  = lens _wprInternalWebPropertyId+      (\ s a -> s{_wprInternalWebPropertyId = a})++-- | Web property ID of the form UA-XXXXX-YY.+wprId :: Lens' WebPropertyRef (Maybe Text)+wprId = lens _wprId (\ s a -> s{_wprId = a})++instance FromJSON WebPropertyRef where+        parseJSON+          = withObject "WebPropertyRef"+              (\ o ->+                 WebPropertyRef <$>+                   (o .:? "kind" .!= "analytics#webPropertyRef") <*>+                     (o .:? "href")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id"))++instance ToJSON WebPropertyRef where+        toJSON WebPropertyRef{..}+          = object+              (catMaybes+                 [Just ("kind" .= _wprKind), ("href" .=) <$> _wprHref,+                  ("accountId" .=) <$> _wprAccountId,+                  ("name" .=) <$> _wprName,+                  ("internalWebPropertyId" .=) <$>+                    _wprInternalWebPropertyId,+                  ("id" .=) <$> _wprId])++-- | A goal collection lists Analytics goals to which the user has access.+-- Each view (profile) can have a set of goals. Each resource in the Goal+-- collection corresponds to a single Analytics goal.+--+-- /See:/ 'goals' smart constructor.+data Goals = Goals+    { _gNextLink     :: !(Maybe Text)+    , _gItemsPerPage :: !(Maybe (Textual Int32))+    , _gKind         :: !Text+    , _gUsername     :: !(Maybe Text)+    , _gItems        :: !(Maybe [Goal])+    , _gTotalResults :: !(Maybe (Textual Int32))+    , _gStartIndex   :: !(Maybe (Textual Int32))+    , _gPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Goals' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gNextLink'+--+-- * 'gItemsPerPage'+--+-- * 'gKind'+--+-- * 'gUsername'+--+-- * 'gItems'+--+-- * 'gTotalResults'+--+-- * 'gStartIndex'+--+-- * 'gPreviousLink'+goals+    :: Goals+goals =+    Goals+    { _gNextLink = Nothing+    , _gItemsPerPage = Nothing+    , _gKind = "analytics#goals"+    , _gUsername = Nothing+    , _gItems = Nothing+    , _gTotalResults = Nothing+    , _gStartIndex = Nothing+    , _gPreviousLink = Nothing+    }++-- | Link to next page for this goal collection.+gNextLink :: Lens' Goals (Maybe Text)+gNextLink+  = lens _gNextLink (\ s a -> s{_gNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+gItemsPerPage :: Lens' Goals (Maybe Int32)+gItemsPerPage+  = lens _gItemsPerPage+      (\ s a -> s{_gItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+gKind :: Lens' Goals Text+gKind = lens _gKind (\ s a -> s{_gKind = a})++-- | Email ID of the authenticated user+gUsername :: Lens' Goals (Maybe Text)+gUsername+  = lens _gUsername (\ s a -> s{_gUsername = a})++-- | A list of goals.+gItems :: Lens' Goals [Goal]+gItems+  = lens _gItems (\ s a -> s{_gItems = a}) . _Default .+      _Coerce++-- | The total number of results for the query, regardless of the number of+-- resources in the result.+gTotalResults :: Lens' Goals (Maybe Int32)+gTotalResults+  = lens _gTotalResults+      (\ s a -> s{_gTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+gStartIndex :: Lens' Goals (Maybe Int32)+gStartIndex+  = lens _gStartIndex (\ s a -> s{_gStartIndex = a}) .+      mapping _Coerce++-- | Link to previous page for this goal collection.+gPreviousLink :: Lens' Goals (Maybe Text)+gPreviousLink+  = lens _gPreviousLink+      (\ s a -> s{_gPreviousLink = a})++instance FromJSON Goals where+        parseJSON+          = withObject "Goals"+              (\ o ->+                 Goals <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#goals")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Goals where+        toJSON Goals{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _gNextLink,+                  ("itemsPerPage" .=) <$> _gItemsPerPage,+                  Just ("kind" .= _gKind),+                  ("username" .=) <$> _gUsername,+                  ("items" .=) <$> _gItems,+                  ("totalResults" .=) <$> _gTotalResults,+                  ("startIndex" .=) <$> _gStartIndex,+                  ("previousLink" .=) <$> _gPreviousLink])++-- | A union object representing a dimension or metric value. Only one of+-- \"primitiveValue\" or \"conversionPathValue\" attribute will be+-- populated.+--+-- /See:/ 'mcfDataRowsItemItem' smart constructor.+data McfDataRowsItemItem = McfDataRowsItemItem+    { _mdriiPrimitiveValue      :: !(Maybe Text)+    , _mdriiConversionPathValue :: !(Maybe [McfDataRowsItemItemConversionPathValueItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataRowsItemItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdriiPrimitiveValue'+--+-- * 'mdriiConversionPathValue'+mcfDataRowsItemItem+    :: McfDataRowsItemItem+mcfDataRowsItemItem =+    McfDataRowsItemItem+    { _mdriiPrimitiveValue = Nothing+    , _mdriiConversionPathValue = Nothing+    }++-- | A primitive dimension value. A primitive metric value.+mdriiPrimitiveValue :: Lens' McfDataRowsItemItem (Maybe Text)+mdriiPrimitiveValue+  = lens _mdriiPrimitiveValue+      (\ s a -> s{_mdriiPrimitiveValue = a})++-- | A conversion path dimension value, containing a list of interactions+-- with their attributes.+mdriiConversionPathValue :: Lens' McfDataRowsItemItem [McfDataRowsItemItemConversionPathValueItem]+mdriiConversionPathValue+  = lens _mdriiConversionPathValue+      (\ s a -> s{_mdriiConversionPathValue = a})+      . _Default+      . _Coerce++instance FromJSON McfDataRowsItemItem where+        parseJSON+          = withObject "McfDataRowsItemItem"+              (\ o ->+                 McfDataRowsItemItem <$>+                   (o .:? "primitiveValue") <*>+                     (o .:? "conversionPathValue" .!= mempty))++instance ToJSON McfDataRowsItemItem where+        toJSON McfDataRowsItemItem{..}+          = object+              (catMaybes+                 [("primitiveValue" .=) <$> _mdriiPrimitiveValue,+                  ("conversionPathValue" .=) <$>+                    _mdriiConversionPathValue])++-- | Permissions the user has for this account.+--+-- /See:/ 'accountPermissions' smart constructor.+newtype AccountPermissions = AccountPermissions+    { _apEffective :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apEffective'+accountPermissions+    :: AccountPermissions+accountPermissions =+    AccountPermissions+    { _apEffective = Nothing+    }++-- | All the permissions that the user has for this account. These include+-- any implied permissions (e.g., EDIT implies VIEW).+apEffective :: Lens' AccountPermissions [Text]+apEffective+  = lens _apEffective (\ s a -> s{_apEffective = a}) .+      _Default+      . _Coerce++instance FromJSON AccountPermissions where+        parseJSON+          = withObject "AccountPermissions"+              (\ o ->+                 AccountPermissions <$>+                   (o .:? "effective" .!= mempty))++instance ToJSON AccountPermissions where+        toJSON AccountPermissions{..}+          = object+              (catMaybes [("effective" .=) <$> _apEffective])++-- | Entity for this link. It can be an account, a web property, or a view+-- (profile).+--+-- /See:/ 'entityUserLinkEntity' smart constructor.+data EntityUserLinkEntity = EntityUserLinkEntity+    { _euleProFileRef     :: !(Maybe ProFileRef)+    , _euleAccountRef     :: !(Maybe AccountRef)+    , _euleWebPropertyRef :: !(Maybe WebPropertyRef)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityUserLinkEntity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euleProFileRef'+--+-- * 'euleAccountRef'+--+-- * 'euleWebPropertyRef'+entityUserLinkEntity+    :: EntityUserLinkEntity+entityUserLinkEntity =+    EntityUserLinkEntity+    { _euleProFileRef = Nothing+    , _euleAccountRef = Nothing+    , _euleWebPropertyRef = Nothing+    }++-- | View (Profile) for this link.+euleProFileRef :: Lens' EntityUserLinkEntity (Maybe ProFileRef)+euleProFileRef+  = lens _euleProFileRef+      (\ s a -> s{_euleProFileRef = a})++-- | Account for this link.+euleAccountRef :: Lens' EntityUserLinkEntity (Maybe AccountRef)+euleAccountRef+  = lens _euleAccountRef+      (\ s a -> s{_euleAccountRef = a})++-- | Web property for this link.+euleWebPropertyRef :: Lens' EntityUserLinkEntity (Maybe WebPropertyRef)+euleWebPropertyRef+  = lens _euleWebPropertyRef+      (\ s a -> s{_euleWebPropertyRef = a})++instance FromJSON EntityUserLinkEntity where+        parseJSON+          = withObject "EntityUserLinkEntity"+              (\ o ->+                 EntityUserLinkEntity <$>+                   (o .:? "profileRef") <*> (o .:? "accountRef") <*>+                     (o .:? "webPropertyRef"))++instance ToJSON EntityUserLinkEntity where+        toJSON EntityUserLinkEntity{..}+          = object+              (catMaybes+                 [("profileRef" .=) <$> _euleProFileRef,+                  ("accountRef" .=) <$> _euleAccountRef,+                  ("webPropertyRef" .=) <$> _euleWebPropertyRef])++-- | JSON template for Analytics account entry.+--+-- /See:/ 'account' smart constructor.+data Account = Account+    { _accChildLink   :: !(Maybe AccountChildLink)+    , _accKind        :: !Text+    , _accCreated     :: !(Maybe DateTime')+    , _accSelfLink    :: !(Maybe Text)+    , _accName        :: !(Maybe Text)+    , _accId          :: !(Maybe Text)+    , _accUpdated     :: !(Maybe DateTime')+    , _accPermissions :: !(Maybe AccountPermissions)+    } 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:+--+-- * 'accChildLink'+--+-- * 'accKind'+--+-- * 'accCreated'+--+-- * 'accSelfLink'+--+-- * 'accName'+--+-- * 'accId'+--+-- * 'accUpdated'+--+-- * 'accPermissions'+account+    :: Account+account =+    Account+    { _accChildLink = Nothing+    , _accKind = "analytics#account"+    , _accCreated = Nothing+    , _accSelfLink = Nothing+    , _accName = Nothing+    , _accId = Nothing+    , _accUpdated = Nothing+    , _accPermissions = Nothing+    }++-- | Child link for an account entry. Points to the list of web properties+-- for this account.+accChildLink :: Lens' Account (Maybe AccountChildLink)+accChildLink+  = lens _accChildLink (\ s a -> s{_accChildLink = a})++-- | Resource type for Analytics account.+accKind :: Lens' Account Text+accKind = lens _accKind (\ s a -> s{_accKind = a})++-- | Time the account was created.+accCreated :: Lens' Account (Maybe UTCTime)+accCreated+  = lens _accCreated (\ s a -> s{_accCreated = a}) .+      mapping _DateTime++-- | Link for this account.+accSelfLink :: Lens' Account (Maybe Text)+accSelfLink+  = lens _accSelfLink (\ s a -> s{_accSelfLink = a})++-- | Account name.+accName :: Lens' Account (Maybe Text)+accName = lens _accName (\ s a -> s{_accName = a})++-- | Account ID.+accId :: Lens' Account (Maybe Text)+accId = lens _accId (\ s a -> s{_accId = a})++-- | Time the account was last modified.+accUpdated :: Lens' Account (Maybe UTCTime)+accUpdated+  = lens _accUpdated (\ s a -> s{_accUpdated = a}) .+      mapping _DateTime++-- | Permissions the user has for this account.+accPermissions :: Lens' Account (Maybe AccountPermissions)+accPermissions+  = lens _accPermissions+      (\ s a -> s{_accPermissions = a})++instance FromJSON Account where+        parseJSON+          = withObject "Account"+              (\ o ->+                 Account <$>+                   (o .:? "childLink") <*>+                     (o .:? "kind" .!= "analytics#account")+                     <*> (o .:? "created")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "permissions"))++instance ToJSON Account where+        toJSON Account{..}+          = object+              (catMaybes+                 [("childLink" .=) <$> _accChildLink,+                  Just ("kind" .= _accKind),+                  ("created" .=) <$> _accCreated,+                  ("selfLink" .=) <$> _accSelfLink,+                  ("name" .=) <$> _accName, ("id" .=) <$> _accId,+                  ("updated" .=) <$> _accUpdated,+                  ("permissions" .=) <$> _accPermissions])++-- | JSON template for Analytics experiment resource.+--+-- /See:/ 'experiment' smart constructor.+data Experiment = Experiment+    { _expParentLink                     :: !(Maybe ExperimentParentLink)+    , _expEqualWeighting                 :: !(Maybe Bool)+    , _expStatus                         :: !(Maybe Text)+    , _expWebPropertyId                  :: !(Maybe Text)+    , _expStartTime                      :: !(Maybe DateTime')+    , _expSnippet                        :: !(Maybe Text)+    , _expKind                           :: !Text+    , _expCreated                        :: !(Maybe DateTime')+    , _expReasonExperimentEnded          :: !(Maybe Text)+    , _expTrafficCoverage                :: !(Maybe (Textual Double))+    , _expEditableInGaUi                 :: !(Maybe Bool)+    , _expMinimumExperimentLengthInDays  :: !(Maybe (Textual Int32))+    , _expProFileId                      :: !(Maybe Text)+    , _expOptimizationType               :: !(Maybe Text)+    , _expSelfLink                       :: !(Maybe Text)+    , _expAccountId                      :: !(Maybe Text)+    , _expName                           :: !(Maybe Text)+    , _expWinnerFound                    :: !(Maybe Bool)+    , _expEndTime                        :: !(Maybe DateTime')+    , _expVariations                     :: !(Maybe [ExperimentVariationsItem])+    , _expInternalWebPropertyId          :: !(Maybe Text)+    , _expId                             :: !(Maybe Text)+    , _expUpdated                        :: !(Maybe DateTime')+    , _expRewriteVariationURLsAsOriginal :: !(Maybe Bool)+    , _expObjectiveMetric                :: !(Maybe Text)+    , _expWinnerConfidenceLevel          :: !(Maybe (Textual Double))+    , _expServingFramework               :: !(Maybe Text)+    , _expDescription                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Experiment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'expParentLink'+--+-- * 'expEqualWeighting'+--+-- * 'expStatus'+--+-- * 'expWebPropertyId'+--+-- * 'expStartTime'+--+-- * 'expSnippet'+--+-- * 'expKind'+--+-- * 'expCreated'+--+-- * 'expReasonExperimentEnded'+--+-- * 'expTrafficCoverage'+--+-- * 'expEditableInGaUi'+--+-- * 'expMinimumExperimentLengthInDays'+--+-- * 'expProFileId'+--+-- * 'expOptimizationType'+--+-- * 'expSelfLink'+--+-- * 'expAccountId'+--+-- * 'expName'+--+-- * 'expWinnerFound'+--+-- * 'expEndTime'+--+-- * 'expVariations'+--+-- * 'expInternalWebPropertyId'+--+-- * 'expId'+--+-- * 'expUpdated'+--+-- * 'expRewriteVariationURLsAsOriginal'+--+-- * 'expObjectiveMetric'+--+-- * 'expWinnerConfidenceLevel'+--+-- * 'expServingFramework'+--+-- * 'expDescription'+experiment+    :: Experiment+experiment =+    Experiment+    { _expParentLink = Nothing+    , _expEqualWeighting = Nothing+    , _expStatus = Nothing+    , _expWebPropertyId = Nothing+    , _expStartTime = Nothing+    , _expSnippet = Nothing+    , _expKind = "analytics#experiment"+    , _expCreated = Nothing+    , _expReasonExperimentEnded = Nothing+    , _expTrafficCoverage = Nothing+    , _expEditableInGaUi = Nothing+    , _expMinimumExperimentLengthInDays = Nothing+    , _expProFileId = Nothing+    , _expOptimizationType = Nothing+    , _expSelfLink = Nothing+    , _expAccountId = Nothing+    , _expName = Nothing+    , _expWinnerFound = Nothing+    , _expEndTime = Nothing+    , _expVariations = Nothing+    , _expInternalWebPropertyId = Nothing+    , _expId = Nothing+    , _expUpdated = Nothing+    , _expRewriteVariationURLsAsOriginal = Nothing+    , _expObjectiveMetric = Nothing+    , _expWinnerConfidenceLevel = Nothing+    , _expServingFramework = Nothing+    , _expDescription = Nothing+    }++-- | Parent link for an experiment. Points to the view (profile) to which+-- this experiment belongs.+expParentLink :: Lens' Experiment (Maybe ExperimentParentLink)+expParentLink+  = lens _expParentLink+      (\ s a -> s{_expParentLink = a})++-- | Boolean specifying whether to distribute traffic evenly across all+-- variations. If the value is False, content experiments follows the+-- default behavior of adjusting traffic dynamically based on variation+-- performance. Optional -- defaults to False. This field may not be+-- changed for an experiment whose status is ENDED.+expEqualWeighting :: Lens' Experiment (Maybe Bool)+expEqualWeighting+  = lens _expEqualWeighting+      (\ s a -> s{_expEqualWeighting = a})++-- | Experiment status. Possible values: \"DRAFT\", \"READY_TO_RUN\",+-- \"RUNNING\", \"ENDED\". Experiments can be created in the \"DRAFT\",+-- \"READY_TO_RUN\" or \"RUNNING\" state. This field is required when+-- creating an experiment.+expStatus :: Lens' Experiment (Maybe Text)+expStatus+  = lens _expStatus (\ s a -> s{_expStatus = a})++-- | Web property ID to which this experiment belongs. The web property ID is+-- of the form UA-XXXXX-YY. This field is read-only.+expWebPropertyId :: Lens' Experiment (Maybe Text)+expWebPropertyId+  = lens _expWebPropertyId+      (\ s a -> s{_expWebPropertyId = a})++-- | The starting time of the experiment (the time the status changed from+-- READY_TO_RUN to RUNNING). This field is present only if the experiment+-- has started. This field is read-only.+expStartTime :: Lens' Experiment (Maybe UTCTime)+expStartTime+  = lens _expStartTime (\ s a -> s{_expStartTime = a})+      . mapping _DateTime++-- | The snippet of code to include on the control page(s). This field is+-- read-only.+expSnippet :: Lens' Experiment (Maybe Text)+expSnippet+  = lens _expSnippet (\ s a -> s{_expSnippet = a})++-- | Resource type for an Analytics experiment. This field is read-only.+expKind :: Lens' Experiment Text+expKind = lens _expKind (\ s a -> s{_expKind = a})++-- | Time the experiment was created. This field is read-only.+expCreated :: Lens' Experiment (Maybe UTCTime)+expCreated+  = lens _expCreated (\ s a -> s{_expCreated = a}) .+      mapping _DateTime++-- | Why the experiment ended. Possible values: \"STOPPED_BY_USER\",+-- \"WINNER_FOUND\", \"EXPERIMENT_EXPIRED\", \"ENDED_WITH_NO_WINNER\",+-- \"GOAL_OBJECTIVE_CHANGED\". \"ENDED_WITH_NO_WINNER\" means that the+-- experiment didn\'t expire but no winner was projected to be found. If+-- the experiment status is changed via the API to ENDED this field is set+-- to STOPPED_BY_USER. This field is read-only.+expReasonExperimentEnded :: Lens' Experiment (Maybe Text)+expReasonExperimentEnded+  = lens _expReasonExperimentEnded+      (\ s a -> s{_expReasonExperimentEnded = a})++-- | A floating-point number in (0, 1]. Specifies the fraction of the traffic+-- that participates in the experiment. Can be changed for a running+-- experiment. This field may not be changed for an experiments whose+-- status is ENDED.+expTrafficCoverage :: Lens' Experiment (Maybe Double)+expTrafficCoverage+  = lens _expTrafficCoverage+      (\ s a -> s{_expTrafficCoverage = a})+      . mapping _Coerce++-- | If true, the end user will be able to edit the experiment via the Google+-- Analytics user interface.+expEditableInGaUi :: Lens' Experiment (Maybe Bool)+expEditableInGaUi+  = lens _expEditableInGaUi+      (\ s a -> s{_expEditableInGaUi = a})++-- | An integer number in [3, 90]. Specifies the minimum length of the+-- experiment. Can be changed for a running experiment. This field may not+-- be changed for an experiments whose status is ENDED.+expMinimumExperimentLengthInDays :: Lens' Experiment (Maybe Int32)+expMinimumExperimentLengthInDays+  = lens _expMinimumExperimentLengthInDays+      (\ s a -> s{_expMinimumExperimentLengthInDays = a})+      . mapping _Coerce++-- | View (Profile) ID to which this experiment belongs. This field is+-- read-only.+expProFileId :: Lens' Experiment (Maybe Text)+expProFileId+  = lens _expProFileId (\ s a -> s{_expProFileId = a})++-- | Whether the objectiveMetric should be minimized or maximized. Possible+-- values: \"MAXIMUM\", \"MINIMUM\". Optional--defaults to \"MAXIMUM\".+-- Cannot be specified without objectiveMetric. Cannot be modified when+-- status is \"RUNNING\" or \"ENDED\".+expOptimizationType :: Lens' Experiment (Maybe Text)+expOptimizationType+  = lens _expOptimizationType+      (\ s a -> s{_expOptimizationType = a})++-- | Link for this experiment. This field is read-only.+expSelfLink :: Lens' Experiment (Maybe Text)+expSelfLink+  = lens _expSelfLink (\ s a -> s{_expSelfLink = a})++-- | Account ID to which this experiment belongs. This field is read-only.+expAccountId :: Lens' Experiment (Maybe Text)+expAccountId+  = lens _expAccountId (\ s a -> s{_expAccountId = a})++-- | Experiment name. This field may not be changed for an experiment whose+-- status is ENDED. This field is required when creating an experiment.+expName :: Lens' Experiment (Maybe Text)+expName = lens _expName (\ s a -> s{_expName = a})++-- | Boolean specifying whether a winner has been found for this experiment.+-- This field is read-only.+expWinnerFound :: Lens' Experiment (Maybe Bool)+expWinnerFound+  = lens _expWinnerFound+      (\ s a -> s{_expWinnerFound = a})++-- | The ending time of the experiment (the time the status changed from+-- RUNNING to ENDED). This field is present only if the experiment has+-- ended. This field is read-only.+expEndTime :: Lens' Experiment (Maybe UTCTime)+expEndTime+  = lens _expEndTime (\ s a -> s{_expEndTime = a}) .+      mapping _DateTime++-- | Array of variations. The first variation in the array is the original.+-- The number of variations may not change once an experiment is in the+-- RUNNING state. At least two variations are required before status can be+-- set to RUNNING.+expVariations :: Lens' Experiment [ExperimentVariationsItem]+expVariations+  = lens _expVariations+      (\ s a -> s{_expVariations = a})+      . _Default+      . _Coerce++-- | Internal ID for the web property to which this experiment belongs. This+-- field is read-only.+expInternalWebPropertyId :: Lens' Experiment (Maybe Text)+expInternalWebPropertyId+  = lens _expInternalWebPropertyId+      (\ s a -> s{_expInternalWebPropertyId = a})++-- | Experiment ID. Required for patch and update. Disallowed for create.+expId :: Lens' Experiment (Maybe Text)+expId = lens _expId (\ s a -> s{_expId = a})++-- | Time the experiment was last modified. This field is read-only.+expUpdated :: Lens' Experiment (Maybe UTCTime)+expUpdated+  = lens _expUpdated (\ s a -> s{_expUpdated = a}) .+      mapping _DateTime++-- | Boolean specifying whether variations URLS are rewritten to match those+-- of the original. This field may not be changed for an experiments whose+-- status is ENDED.+expRewriteVariationURLsAsOriginal :: Lens' Experiment (Maybe Bool)+expRewriteVariationURLsAsOriginal+  = lens _expRewriteVariationURLsAsOriginal+      (\ s a -> s{_expRewriteVariationURLsAsOriginal = a})++-- | The metric that the experiment is optimizing. Valid values:+-- \"ga:goal(n)Completions\", \"ga:adsenseAdsClicks\",+-- \"ga:adsenseAdsViewed\", \"ga:adsenseRevenue\", \"ga:bounces\",+-- \"ga:pageviews\", \"ga:sessionDuration\", \"ga:transactions\",+-- \"ga:transactionRevenue\". This field is required if status is+-- \"RUNNING\" and servingFramework is one of \"REDIRECT\" or \"API\".+expObjectiveMetric :: Lens' Experiment (Maybe Text)+expObjectiveMetric+  = lens _expObjectiveMetric+      (\ s a -> s{_expObjectiveMetric = a})++-- | A floating-point number in (0, 1). Specifies the necessary confidence+-- level to choose a winner. This field may not be changed for an+-- experiments whose status is ENDED.+expWinnerConfidenceLevel :: Lens' Experiment (Maybe Double)+expWinnerConfidenceLevel+  = lens _expWinnerConfidenceLevel+      (\ s a -> s{_expWinnerConfidenceLevel = a})+      . mapping _Coerce++-- | The framework used to serve the experiment variations and evaluate the+-- results. One of: - REDIRECT: Google Analytics redirects traffic to+-- different variation pages, reports the chosen variation and evaluates+-- the results. - API: Google Analytics chooses and reports the variation+-- to serve and evaluates the results; the caller is responsible for+-- serving the selected variation. - EXTERNAL: The variations will be+-- served externally and the chosen variation reported to Google Analytics.+-- The caller is responsible for serving the selected variation and+-- evaluating the results.+expServingFramework :: Lens' Experiment (Maybe Text)+expServingFramework+  = lens _expServingFramework+      (\ s a -> s{_expServingFramework = a})++-- | Notes about this experiment.+expDescription :: Lens' Experiment (Maybe Text)+expDescription+  = lens _expDescription+      (\ s a -> s{_expDescription = a})++instance FromJSON Experiment where+        parseJSON+          = withObject "Experiment"+              (\ o ->+                 Experiment <$>+                   (o .:? "parentLink") <*> (o .:? "equalWeighting") <*>+                     (o .:? "status")+                     <*> (o .:? "webPropertyId")+                     <*> (o .:? "startTime")+                     <*> (o .:? "snippet")+                     <*> (o .:? "kind" .!= "analytics#experiment")+                     <*> (o .:? "created")+                     <*> (o .:? "reasonExperimentEnded")+                     <*> (o .:? "trafficCoverage")+                     <*> (o .:? "editableInGaUi")+                     <*> (o .:? "minimumExperimentLengthInDays")+                     <*> (o .:? "profileId")+                     <*> (o .:? "optimizationType")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "winnerFound")+                     <*> (o .:? "endTime")+                     <*> (o .:? "variations" .!= mempty)+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "rewriteVariationUrlsAsOriginal")+                     <*> (o .:? "objectiveMetric")+                     <*> (o .:? "winnerConfidenceLevel")+                     <*> (o .:? "servingFramework")+                     <*> (o .:? "description"))++instance ToJSON Experiment where+        toJSON Experiment{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _expParentLink,+                  ("equalWeighting" .=) <$> _expEqualWeighting,+                  ("status" .=) <$> _expStatus,+                  ("webPropertyId" .=) <$> _expWebPropertyId,+                  ("startTime" .=) <$> _expStartTime,+                  ("snippet" .=) <$> _expSnippet,+                  Just ("kind" .= _expKind),+                  ("created" .=) <$> _expCreated,+                  ("reasonExperimentEnded" .=) <$>+                    _expReasonExperimentEnded,+                  ("trafficCoverage" .=) <$> _expTrafficCoverage,+                  ("editableInGaUi" .=) <$> _expEditableInGaUi,+                  ("minimumExperimentLengthInDays" .=) <$>+                    _expMinimumExperimentLengthInDays,+                  ("profileId" .=) <$> _expProFileId,+                  ("optimizationType" .=) <$> _expOptimizationType,+                  ("selfLink" .=) <$> _expSelfLink,+                  ("accountId" .=) <$> _expAccountId,+                  ("name" .=) <$> _expName,+                  ("winnerFound" .=) <$> _expWinnerFound,+                  ("endTime" .=) <$> _expEndTime,+                  ("variations" .=) <$> _expVariations,+                  ("internalWebPropertyId" .=) <$>+                    _expInternalWebPropertyId,+                  ("id" .=) <$> _expId, ("updated" .=) <$> _expUpdated,+                  ("rewriteVariationUrlsAsOriginal" .=) <$>+                    _expRewriteVariationURLsAsOriginal,+                  ("objectiveMetric" .=) <$> _expObjectiveMetric,+                  ("winnerConfidenceLevel" .=) <$>+                    _expWinnerConfidenceLevel,+                  ("servingFramework" .=) <$> _expServingFramework,+                  ("description" .=) <$> _expDescription])++-- | An entity user link collection provides a list of Analytics ACL links+-- Each resource in this collection corresponds to a single link.+--+-- /See:/ 'entityUserLinks' smart constructor.+data EntityUserLinks = EntityUserLinks+    { _eulNextLink     :: !(Maybe Text)+    , _eulItemsPerPage :: !(Maybe (Textual Int32))+    , _eulKind         :: !Text+    , _eulItems        :: !(Maybe [EntityUserLink])+    , _eulTotalResults :: !(Maybe (Textual Int32))+    , _eulStartIndex   :: !(Maybe (Textual Int32))+    , _eulPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityUserLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eulNextLink'+--+-- * 'eulItemsPerPage'+--+-- * 'eulKind'+--+-- * 'eulItems'+--+-- * 'eulTotalResults'+--+-- * 'eulStartIndex'+--+-- * 'eulPreviousLink'+entityUserLinks+    :: EntityUserLinks+entityUserLinks =+    EntityUserLinks+    { _eulNextLink = Nothing+    , _eulItemsPerPage = Nothing+    , _eulKind = "analytics#entityUserLinks"+    , _eulItems = Nothing+    , _eulTotalResults = Nothing+    , _eulStartIndex = Nothing+    , _eulPreviousLink = Nothing+    }++-- | Next link for this account collection.+eulNextLink :: Lens' EntityUserLinks (Maybe Text)+eulNextLink+  = lens _eulNextLink (\ s a -> s{_eulNextLink = a})++-- | The maximum number of entries the response can contain, regardless of+-- the actual number of entries returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+eulItemsPerPage :: Lens' EntityUserLinks (Maybe Int32)+eulItemsPerPage+  = lens _eulItemsPerPage+      (\ s a -> s{_eulItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+eulKind :: Lens' EntityUserLinks Text+eulKind = lens _eulKind (\ s a -> s{_eulKind = a})++-- | A list of entity user links.+eulItems :: Lens' EntityUserLinks [EntityUserLink]+eulItems+  = lens _eulItems (\ s a -> s{_eulItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+eulTotalResults :: Lens' EntityUserLinks (Maybe Int32)+eulTotalResults+  = lens _eulTotalResults+      (\ s a -> s{_eulTotalResults = a})+      . mapping _Coerce++-- | The starting index of the entries, which is 1 by default or otherwise+-- specified by the start-index query parameter.+eulStartIndex :: Lens' EntityUserLinks (Maybe Int32)+eulStartIndex+  = lens _eulStartIndex+      (\ s a -> s{_eulStartIndex = a})+      . mapping _Coerce++-- | Previous link for this account collection.+eulPreviousLink :: Lens' EntityUserLinks (Maybe Text)+eulPreviousLink+  = lens _eulPreviousLink+      (\ s a -> s{_eulPreviousLink = a})++instance FromJSON EntityUserLinks where+        parseJSON+          = withObject "EntityUserLinks"+              (\ o ->+                 EntityUserLinks <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#entityUserLinks")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON EntityUserLinks where+        toJSON EntityUserLinks{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _eulNextLink,+                  ("itemsPerPage" .=) <$> _eulItemsPerPage,+                  Just ("kind" .= _eulKind),+                  ("items" .=) <$> _eulItems,+                  ("totalResults" .=) <$> _eulTotalResults,+                  ("startIndex" .=) <$> _eulStartIndex,+                  ("previousLink" .=) <$> _eulPreviousLink])++-- | JSON template for an AdWords account.+--+-- /See:/ 'adWordsAccount' smart constructor.+data AdWordsAccount = AdWordsAccount+    { _awaAutoTaggingEnabled :: !(Maybe Bool)+    , _awaKind               :: !Text+    , _awaCustomerId         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdWordsAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awaAutoTaggingEnabled'+--+-- * 'awaKind'+--+-- * 'awaCustomerId'+adWordsAccount+    :: AdWordsAccount+adWordsAccount =+    AdWordsAccount+    { _awaAutoTaggingEnabled = Nothing+    , _awaKind = "analytics#adWordsAccount"+    , _awaCustomerId = Nothing+    }++-- | True if auto-tagging is enabled on the AdWords account. Read-only after+-- the insert operation.+awaAutoTaggingEnabled :: Lens' AdWordsAccount (Maybe Bool)+awaAutoTaggingEnabled+  = lens _awaAutoTaggingEnabled+      (\ s a -> s{_awaAutoTaggingEnabled = a})++-- | Resource type for AdWords account.+awaKind :: Lens' AdWordsAccount Text+awaKind = lens _awaKind (\ s a -> s{_awaKind = a})++-- | Customer ID. This field is required when creating an AdWords link.+awaCustomerId :: Lens' AdWordsAccount (Maybe Text)+awaCustomerId+  = lens _awaCustomerId+      (\ s a -> s{_awaCustomerId = a})++instance FromJSON AdWordsAccount where+        parseJSON+          = withObject "AdWordsAccount"+              (\ o ->+                 AdWordsAccount <$>+                   (o .:? "autoTaggingEnabled") <*>+                     (o .:? "kind" .!= "analytics#adWordsAccount")+                     <*> (o .:? "customerId"))++instance ToJSON AdWordsAccount where+        toJSON AdWordsAccount{..}+          = object+              (catMaybes+                 [("autoTaggingEnabled" .=) <$>+                    _awaAutoTaggingEnabled,+                  Just ("kind" .= _awaKind),+                  ("customerId" .=) <$> _awaCustomerId])++-- | JSON template for a profile filter link.+--+-- /See:/ 'filterRef' smart constructor.+data FilterRef = FilterRef+    { _frKind      :: !Text+    , _frHref      :: !(Maybe Text)+    , _frAccountId :: !(Maybe Text)+    , _frName      :: !(Maybe Text)+    , _frId        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frKind'+--+-- * 'frHref'+--+-- * 'frAccountId'+--+-- * 'frName'+--+-- * 'frId'+filterRef+    :: FilterRef+filterRef =+    FilterRef+    { _frKind = "analytics#filterRef"+    , _frHref = Nothing+    , _frAccountId = Nothing+    , _frName = Nothing+    , _frId = Nothing+    }++-- | Kind value for filter reference.+frKind :: Lens' FilterRef Text+frKind = lens _frKind (\ s a -> s{_frKind = a})++-- | Link for this filter.+frHref :: Lens' FilterRef (Maybe Text)+frHref = lens _frHref (\ s a -> s{_frHref = a})++-- | Account ID to which this filter belongs.+frAccountId :: Lens' FilterRef (Maybe Text)+frAccountId+  = lens _frAccountId (\ s a -> s{_frAccountId = a})++-- | Name of this filter.+frName :: Lens' FilterRef (Maybe Text)+frName = lens _frName (\ s a -> s{_frName = a})++-- | Filter ID.+frId :: Lens' FilterRef (Maybe Text)+frId = lens _frId (\ s a -> s{_frId = a})++instance FromJSON FilterRef where+        parseJSON+          = withObject "FilterRef"+              (\ o ->+                 FilterRef <$>+                   (o .:? "kind" .!= "analytics#filterRef") <*>+                     (o .:? "href")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON FilterRef where+        toJSON FilterRef{..}+          = object+              (catMaybes+                 [Just ("kind" .= _frKind), ("href" .=) <$> _frHref,+                  ("accountId" .=) <$> _frAccountId,+                  ("name" .=) <$> _frName, ("id" .=) <$> _frId])++-- | Details for the goal of the type VISIT_TIME_ON_SITE.+--+-- /See:/ 'goalVisitTimeOnSiteDetails' smart constructor.+data GoalVisitTimeOnSiteDetails = GoalVisitTimeOnSiteDetails+    { _gvtosdComparisonValue :: !(Maybe (Textual Int64))+    , _gvtosdComparisonType  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalVisitTimeOnSiteDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvtosdComparisonValue'+--+-- * 'gvtosdComparisonType'+goalVisitTimeOnSiteDetails+    :: GoalVisitTimeOnSiteDetails+goalVisitTimeOnSiteDetails =+    GoalVisitTimeOnSiteDetails+    { _gvtosdComparisonValue = Nothing+    , _gvtosdComparisonType = Nothing+    }++-- | Value used for this comparison.+gvtosdComparisonValue :: Lens' GoalVisitTimeOnSiteDetails (Maybe Int64)+gvtosdComparisonValue+  = lens _gvtosdComparisonValue+      (\ s a -> s{_gvtosdComparisonValue = a})+      . mapping _Coerce++-- | Type of comparison. Possible values are LESS_THAN or GREATER_THAN.+gvtosdComparisonType :: Lens' GoalVisitTimeOnSiteDetails (Maybe Text)+gvtosdComparisonType+  = lens _gvtosdComparisonType+      (\ s a -> s{_gvtosdComparisonType = a})++instance FromJSON GoalVisitTimeOnSiteDetails where+        parseJSON+          = withObject "GoalVisitTimeOnSiteDetails"+              (\ o ->+                 GoalVisitTimeOnSiteDetails <$>+                   (o .:? "comparisonValue") <*>+                     (o .:? "comparisonType"))++instance ToJSON GoalVisitTimeOnSiteDetails where+        toJSON GoalVisitTimeOnSiteDetails{..}+          = object+              (catMaybes+                 [("comparisonValue" .=) <$> _gvtosdComparisonValue,+                  ("comparisonType" .=) <$> _gvtosdComparisonType])++-- | A web property collection lists Analytics web properties to which the+-- user has access. Each resource in the collection corresponds to a single+-- Analytics web property.+--+-- /See:/ 'webProperties' smart constructor.+data WebProperties = WebProperties+    { _wpNextLink     :: !(Maybe Text)+    , _wpItemsPerPage :: !(Maybe (Textual Int32))+    , _wpKind         :: !Text+    , _wpUsername     :: !(Maybe Text)+    , _wpItems        :: !(Maybe [WebProperty])+    , _wpTotalResults :: !(Maybe (Textual Int32))+    , _wpStartIndex   :: !(Maybe (Textual Int32))+    , _wpPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpNextLink'+--+-- * 'wpItemsPerPage'+--+-- * 'wpKind'+--+-- * 'wpUsername'+--+-- * 'wpItems'+--+-- * 'wpTotalResults'+--+-- * 'wpStartIndex'+--+-- * 'wpPreviousLink'+webProperties+    :: WebProperties+webProperties =+    WebProperties+    { _wpNextLink = Nothing+    , _wpItemsPerPage = Nothing+    , _wpKind = "analytics#webproperties"+    , _wpUsername = Nothing+    , _wpItems = Nothing+    , _wpTotalResults = Nothing+    , _wpStartIndex = Nothing+    , _wpPreviousLink = Nothing+    }++-- | Link to next page for this web property collection.+wpNextLink :: Lens' WebProperties (Maybe Text)+wpNextLink+  = lens _wpNextLink (\ s a -> s{_wpNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+wpItemsPerPage :: Lens' WebProperties (Maybe Int32)+wpItemsPerPage+  = lens _wpItemsPerPage+      (\ s a -> s{_wpItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+wpKind :: Lens' WebProperties Text+wpKind = lens _wpKind (\ s a -> s{_wpKind = a})++-- | Email ID of the authenticated user+wpUsername :: Lens' WebProperties (Maybe Text)+wpUsername+  = lens _wpUsername (\ s a -> s{_wpUsername = a})++-- | A list of web properties.+wpItems :: Lens' WebProperties [WebProperty]+wpItems+  = lens _wpItems (\ s a -> s{_wpItems = a}) . _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+wpTotalResults :: Lens' WebProperties (Maybe Int32)+wpTotalResults+  = lens _wpTotalResults+      (\ s a -> s{_wpTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+wpStartIndex :: Lens' WebProperties (Maybe Int32)+wpStartIndex+  = lens _wpStartIndex (\ s a -> s{_wpStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this web property collection.+wpPreviousLink :: Lens' WebProperties (Maybe Text)+wpPreviousLink+  = lens _wpPreviousLink+      (\ s a -> s{_wpPreviousLink = a})++instance FromJSON WebProperties where+        parseJSON+          = withObject "WebProperties"+              (\ o ->+                 WebProperties <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#webproperties")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON WebProperties where+        toJSON WebProperties{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _wpNextLink,+                  ("itemsPerPage" .=) <$> _wpItemsPerPage,+                  Just ("kind" .= _wpKind),+                  ("username" .=) <$> _wpUsername,+                  ("items" .=) <$> _wpItems,+                  ("totalResults" .=) <$> _wpTotalResults,+                  ("startIndex" .=) <$> _wpStartIndex,+                  ("previousLink" .=) <$> _wpPreviousLink])++-- | A custom metric collection lists Analytics custom metrics to which the+-- user has access. Each resource in the collection corresponds to a single+-- Analytics custom metric.+--+-- /See:/ 'customMetrics' smart constructor.+data CustomMetrics = CustomMetrics+    { _cmNextLink     :: !(Maybe Text)+    , _cmItemsPerPage :: !(Maybe (Textual Int32))+    , _cmKind         :: !Text+    , _cmUsername     :: !(Maybe Text)+    , _cmItems        :: !(Maybe [CustomMetric])+    , _cmTotalResults :: !(Maybe (Textual Int32))+    , _cmStartIndex   :: !(Maybe (Textual Int32))+    , _cmPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmNextLink'+--+-- * 'cmItemsPerPage'+--+-- * 'cmKind'+--+-- * 'cmUsername'+--+-- * 'cmItems'+--+-- * 'cmTotalResults'+--+-- * 'cmStartIndex'+--+-- * 'cmPreviousLink'+customMetrics+    :: CustomMetrics+customMetrics =+    CustomMetrics+    { _cmNextLink = Nothing+    , _cmItemsPerPage = Nothing+    , _cmKind = "analytics#customMetrics"+    , _cmUsername = Nothing+    , _cmItems = Nothing+    , _cmTotalResults = Nothing+    , _cmStartIndex = Nothing+    , _cmPreviousLink = Nothing+    }++-- | Link to next page for this custom metric collection.+cmNextLink :: Lens' CustomMetrics (Maybe Text)+cmNextLink+  = lens _cmNextLink (\ s a -> s{_cmNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+cmItemsPerPage :: Lens' CustomMetrics (Maybe Int32)+cmItemsPerPage+  = lens _cmItemsPerPage+      (\ s a -> s{_cmItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+cmKind :: Lens' CustomMetrics Text+cmKind = lens _cmKind (\ s a -> s{_cmKind = a})++-- | Email ID of the authenticated user+cmUsername :: Lens' CustomMetrics (Maybe Text)+cmUsername+  = lens _cmUsername (\ s a -> s{_cmUsername = a})++-- | Collection of custom metrics.+cmItems :: Lens' CustomMetrics [CustomMetric]+cmItems+  = lens _cmItems (\ s a -> s{_cmItems = a}) . _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+cmTotalResults :: Lens' CustomMetrics (Maybe Int32)+cmTotalResults+  = lens _cmTotalResults+      (\ s a -> s{_cmTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+cmStartIndex :: Lens' CustomMetrics (Maybe Int32)+cmStartIndex+  = lens _cmStartIndex (\ s a -> s{_cmStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this custom metric collection.+cmPreviousLink :: Lens' CustomMetrics (Maybe Text)+cmPreviousLink+  = lens _cmPreviousLink+      (\ s a -> s{_cmPreviousLink = a})++instance FromJSON CustomMetrics where+        parseJSON+          = withObject "CustomMetrics"+              (\ o ->+                 CustomMetrics <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#customMetrics")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON CustomMetrics where+        toJSON CustomMetrics{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _cmNextLink,+                  ("itemsPerPage" .=) <$> _cmItemsPerPage,+                  Just ("kind" .= _cmKind),+                  ("username" .=) <$> _cmUsername,+                  ("items" .=) <$> _cmItems,+                  ("totalResults" .=) <$> _cmTotalResults,+                  ("startIndex" .=) <$> _cmStartIndex,+                  ("previousLink" .=) <$> _cmPreviousLink])++-- | Details for the filter of the type ADVANCED.+--+-- /See:/ 'filterAdvancedDetails' smart constructor.+data FilterAdvancedDetails = FilterAdvancedDetails+    { _fadExtractA            :: !(Maybe Text)+    , _fadFieldARequired      :: !(Maybe Bool)+    , _fadFieldA              :: !(Maybe Text)+    , _fadFieldBIndex         :: !(Maybe (Textual Int32))+    , _fadOutputToField       :: !(Maybe Text)+    , _fadOutputConstructor   :: !(Maybe Text)+    , _fadExtractB            :: !(Maybe Text)+    , _fadFieldAIndex         :: !(Maybe (Textual Int32))+    , _fadCaseSensitive       :: !(Maybe Bool)+    , _fadOutputToFieldIndex  :: !(Maybe (Textual Int32))+    , _fadFieldB              :: !(Maybe Text)+    , _fadFieldBRequired      :: !(Maybe Bool)+    , _fadOverrideOutputField :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterAdvancedDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fadExtractA'+--+-- * 'fadFieldARequired'+--+-- * 'fadFieldA'+--+-- * 'fadFieldBIndex'+--+-- * 'fadOutputToField'+--+-- * 'fadOutputConstructor'+--+-- * 'fadExtractB'+--+-- * 'fadFieldAIndex'+--+-- * 'fadCaseSensitive'+--+-- * 'fadOutputToFieldIndex'+--+-- * 'fadFieldB'+--+-- * 'fadFieldBRequired'+--+-- * 'fadOverrideOutputField'+filterAdvancedDetails+    :: FilterAdvancedDetails+filterAdvancedDetails =+    FilterAdvancedDetails+    { _fadExtractA = Nothing+    , _fadFieldARequired = Nothing+    , _fadFieldA = Nothing+    , _fadFieldBIndex = Nothing+    , _fadOutputToField = Nothing+    , _fadOutputConstructor = Nothing+    , _fadExtractB = Nothing+    , _fadFieldAIndex = Nothing+    , _fadCaseSensitive = Nothing+    , _fadOutputToFieldIndex = Nothing+    , _fadFieldB = Nothing+    , _fadFieldBRequired = Nothing+    , _fadOverrideOutputField = Nothing+    }++-- | Expression to extract from field A.+fadExtractA :: Lens' FilterAdvancedDetails (Maybe Text)+fadExtractA+  = lens _fadExtractA (\ s a -> s{_fadExtractA = a})++-- | Indicates if field A is required to match.+fadFieldARequired :: Lens' FilterAdvancedDetails (Maybe Bool)+fadFieldARequired+  = lens _fadFieldARequired+      (\ s a -> s{_fadFieldARequired = a})++-- | Field A.+fadFieldA :: Lens' FilterAdvancedDetails (Maybe Text)+fadFieldA+  = lens _fadFieldA (\ s a -> s{_fadFieldA = a})++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fadFieldBIndex :: Lens' FilterAdvancedDetails (Maybe Int32)+fadFieldBIndex+  = lens _fadFieldBIndex+      (\ s a -> s{_fadFieldBIndex = a})+      . mapping _Coerce++-- | Output field.+fadOutputToField :: Lens' FilterAdvancedDetails (Maybe Text)+fadOutputToField+  = lens _fadOutputToField+      (\ s a -> s{_fadOutputToField = a})++-- | Expression used to construct the output value.+fadOutputConstructor :: Lens' FilterAdvancedDetails (Maybe Text)+fadOutputConstructor+  = lens _fadOutputConstructor+      (\ s a -> s{_fadOutputConstructor = a})++-- | Expression to extract from field B.+fadExtractB :: Lens' FilterAdvancedDetails (Maybe Text)+fadExtractB+  = lens _fadExtractB (\ s a -> s{_fadExtractB = a})++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fadFieldAIndex :: Lens' FilterAdvancedDetails (Maybe Int32)+fadFieldAIndex+  = lens _fadFieldAIndex+      (\ s a -> s{_fadFieldAIndex = a})+      . mapping _Coerce++-- | Indicates if the filter expressions are case sensitive.+fadCaseSensitive :: Lens' FilterAdvancedDetails (Maybe Bool)+fadCaseSensitive+  = lens _fadCaseSensitive+      (\ s a -> s{_fadCaseSensitive = a})++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fadOutputToFieldIndex :: Lens' FilterAdvancedDetails (Maybe Int32)+fadOutputToFieldIndex+  = lens _fadOutputToFieldIndex+      (\ s a -> s{_fadOutputToFieldIndex = a})+      . mapping _Coerce++-- | Field B.+fadFieldB :: Lens' FilterAdvancedDetails (Maybe Text)+fadFieldB+  = lens _fadFieldB (\ s a -> s{_fadFieldB = a})++-- | Indicates if field B is required to match.+fadFieldBRequired :: Lens' FilterAdvancedDetails (Maybe Bool)+fadFieldBRequired+  = lens _fadFieldBRequired+      (\ s a -> s{_fadFieldBRequired = a})++-- | Indicates if the existing value of the output field, if any, should be+-- overridden by the output expression.+fadOverrideOutputField :: Lens' FilterAdvancedDetails (Maybe Bool)+fadOverrideOutputField+  = lens _fadOverrideOutputField+      (\ s a -> s{_fadOverrideOutputField = a})++instance FromJSON FilterAdvancedDetails where+        parseJSON+          = withObject "FilterAdvancedDetails"+              (\ o ->+                 FilterAdvancedDetails <$>+                   (o .:? "extractA") <*> (o .:? "fieldARequired") <*>+                     (o .:? "fieldA")+                     <*> (o .:? "fieldBIndex")+                     <*> (o .:? "outputToField")+                     <*> (o .:? "outputConstructor")+                     <*> (o .:? "extractB")+                     <*> (o .:? "fieldAIndex")+                     <*> (o .:? "caseSensitive")+                     <*> (o .:? "outputToFieldIndex")+                     <*> (o .:? "fieldB")+                     <*> (o .:? "fieldBRequired")+                     <*> (o .:? "overrideOutputField"))++instance ToJSON FilterAdvancedDetails where+        toJSON FilterAdvancedDetails{..}+          = object+              (catMaybes+                 [("extractA" .=) <$> _fadExtractA,+                  ("fieldARequired" .=) <$> _fadFieldARequired,+                  ("fieldA" .=) <$> _fadFieldA,+                  ("fieldBIndex" .=) <$> _fadFieldBIndex,+                  ("outputToField" .=) <$> _fadOutputToField,+                  ("outputConstructor" .=) <$> _fadOutputConstructor,+                  ("extractB" .=) <$> _fadExtractB,+                  ("fieldAIndex" .=) <$> _fadFieldAIndex,+                  ("caseSensitive" .=) <$> _fadCaseSensitive,+                  ("outputToFieldIndex" .=) <$> _fadOutputToFieldIndex,+                  ("fieldB" .=) <$> _fadFieldB,+                  ("fieldBRequired" .=) <$> _fadFieldBRequired,+                  ("overrideOutputField" .=) <$>+                    _fadOverrideOutputField])++-- | Details for the filter of the type UPPER.+--+-- /See:/ 'filterUppercaseDetails' smart constructor.+data FilterUppercaseDetails = FilterUppercaseDetails+    { _fudFieldIndex :: !(Maybe (Textual Int32))+    , _fudField      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterUppercaseDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fudFieldIndex'+--+-- * 'fudField'+filterUppercaseDetails+    :: FilterUppercaseDetails+filterUppercaseDetails =+    FilterUppercaseDetails+    { _fudFieldIndex = Nothing+    , _fudField = Nothing+    }++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fudFieldIndex :: Lens' FilterUppercaseDetails (Maybe Int32)+fudFieldIndex+  = lens _fudFieldIndex+      (\ s a -> s{_fudFieldIndex = a})+      . mapping _Coerce++-- | Field to use in the filter.+fudField :: Lens' FilterUppercaseDetails (Maybe Text)+fudField = lens _fudField (\ s a -> s{_fudField = a})++instance FromJSON FilterUppercaseDetails where+        parseJSON+          = withObject "FilterUppercaseDetails"+              (\ o ->+                 FilterUppercaseDetails <$>+                   (o .:? "fieldIndex") <*> (o .:? "field"))++instance ToJSON FilterUppercaseDetails where+        toJSON FilterUppercaseDetails{..}+          = object+              (catMaybes+                 [("fieldIndex" .=) <$> _fudFieldIndex,+                  ("field" .=) <$> _fudField])++--+-- /See:/ 'customDataSourceChildLink' smart constructor.+data CustomDataSourceChildLink = CustomDataSourceChildLink+    { _cdsclHref :: !(Maybe Text)+    , _cdsclType :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDataSourceChildLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdsclHref'+--+-- * 'cdsclType'+customDataSourceChildLink+    :: CustomDataSourceChildLink+customDataSourceChildLink =+    CustomDataSourceChildLink+    { _cdsclHref = Nothing+    , _cdsclType = Nothing+    }++-- | Link to the list of daily uploads for this custom data source. Link to+-- the list of uploads for this custom data source.+cdsclHref :: Lens' CustomDataSourceChildLink (Maybe Text)+cdsclHref+  = lens _cdsclHref (\ s a -> s{_cdsclHref = a})++-- | Value is \"analytics#dailyUploads\". Value is \"analytics#uploads\".+cdsclType :: Lens' CustomDataSourceChildLink (Maybe Text)+cdsclType+  = lens _cdsclType (\ s a -> s{_cdsclType = a})++instance FromJSON CustomDataSourceChildLink where+        parseJSON+          = withObject "CustomDataSourceChildLink"+              (\ o ->+                 CustomDataSourceChildLink <$>+                   (o .:? "href") <*> (o .:? "type"))++instance ToJSON CustomDataSourceChildLink where+        toJSON CustomDataSourceChildLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _cdsclHref,+                  ("type" .=) <$> _cdsclType])++-- | Parent link for this filter. Points to the account to which this filter+-- belongs.+--+-- /See:/ 'filterParentLink' smart constructor.+data FilterParentLink = FilterParentLink+    { _fplHref :: !(Maybe Text)+    , _fplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fplHref'+--+-- * 'fplType'+filterParentLink+    :: FilterParentLink+filterParentLink =+    FilterParentLink+    { _fplHref = Nothing+    , _fplType = "analytics#account"+    }++-- | Link to the account to which this filter belongs.+fplHref :: Lens' FilterParentLink (Maybe Text)+fplHref = lens _fplHref (\ s a -> s{_fplHref = a})++-- | Value is \"analytics#account\".+fplType :: Lens' FilterParentLink Text+fplType = lens _fplType (\ s a -> s{_fplType = a})++instance FromJSON FilterParentLink where+        parseJSON+          = withObject "FilterParentLink"+              (\ o ->+                 FilterParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#account"))++instance ToJSON FilterParentLink where+        toJSON FilterParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _fplHref,+                  Just ("type" .= _fplType)])++-- | Real time data for a given view (profile).+--+-- /See:/ 'realtimeData' smart constructor.+data RealtimeData = RealtimeData+    { _rdProFileInfo         :: !(Maybe RealtimeDataProFileInfo)+    , _rdKind                :: !Text+    , _rdRows                :: !(Maybe [[Text]])+    , _rdSelfLink            :: !(Maybe Text)+    , _rdQuery               :: !(Maybe RealtimeDataQuery)+    , _rdColumnHeaders       :: !(Maybe [RealtimeDataColumnHeadersItem])+    , _rdId                  :: !(Maybe Text)+    , _rdTotalResults        :: !(Maybe (Textual Int32))+    , _rdTotalsForAllResults :: !(Maybe RealtimeDataTotalsForAllResults)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdProFileInfo'+--+-- * 'rdKind'+--+-- * 'rdRows'+--+-- * 'rdSelfLink'+--+-- * 'rdQuery'+--+-- * 'rdColumnHeaders'+--+-- * 'rdId'+--+-- * 'rdTotalResults'+--+-- * 'rdTotalsForAllResults'+realtimeData+    :: RealtimeData+realtimeData =+    RealtimeData+    { _rdProFileInfo = Nothing+    , _rdKind = "analytics#realtimeData"+    , _rdRows = Nothing+    , _rdSelfLink = Nothing+    , _rdQuery = Nothing+    , _rdColumnHeaders = Nothing+    , _rdId = Nothing+    , _rdTotalResults = Nothing+    , _rdTotalsForAllResults = Nothing+    }++-- | Information for the view (profile), for which the real time data was+-- requested.+rdProFileInfo :: Lens' RealtimeData (Maybe RealtimeDataProFileInfo)+rdProFileInfo+  = lens _rdProFileInfo+      (\ s a -> s{_rdProFileInfo = a})++-- | Resource type.+rdKind :: Lens' RealtimeData Text+rdKind = lens _rdKind (\ s a -> s{_rdKind = a})++-- | Real time data rows, where each row contains a list of dimension values+-- followed by the metric values. The order of dimensions and metrics is+-- same as specified in the request.+rdRows :: Lens' RealtimeData [[Text]]+rdRows+  = lens _rdRows (\ s a -> s{_rdRows = a}) . _Default .+      _Coerce++-- | Link to this page.+rdSelfLink :: Lens' RealtimeData (Maybe Text)+rdSelfLink+  = lens _rdSelfLink (\ s a -> s{_rdSelfLink = a})++-- | Real time data request query parameters.+rdQuery :: Lens' RealtimeData (Maybe RealtimeDataQuery)+rdQuery = lens _rdQuery (\ s a -> s{_rdQuery = a})++-- | Column headers that list dimension names followed by the metric names.+-- The order of dimensions and metrics is same as specified in the request.+rdColumnHeaders :: Lens' RealtimeData [RealtimeDataColumnHeadersItem]+rdColumnHeaders+  = lens _rdColumnHeaders+      (\ s a -> s{_rdColumnHeaders = a})+      . _Default+      . _Coerce++-- | Unique ID for this data response.+rdId :: Lens' RealtimeData (Maybe Text)+rdId = lens _rdId (\ s a -> s{_rdId = a})++-- | The total number of rows for the query, regardless of the number of rows+-- in the response.+rdTotalResults :: Lens' RealtimeData (Maybe Int32)+rdTotalResults+  = lens _rdTotalResults+      (\ s a -> s{_rdTotalResults = a})+      . mapping _Coerce++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+rdTotalsForAllResults :: Lens' RealtimeData (Maybe RealtimeDataTotalsForAllResults)+rdTotalsForAllResults+  = lens _rdTotalsForAllResults+      (\ s a -> s{_rdTotalsForAllResults = a})++instance FromJSON RealtimeData where+        parseJSON+          = withObject "RealtimeData"+              (\ o ->+                 RealtimeData <$>+                   (o .:? "profileInfo") <*>+                     (o .:? "kind" .!= "analytics#realtimeData")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "query")+                     <*> (o .:? "columnHeaders" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "totalResults")+                     <*> (o .:? "totalsForAllResults"))++instance ToJSON RealtimeData where+        toJSON RealtimeData{..}+          = object+              (catMaybes+                 [("profileInfo" .=) <$> _rdProFileInfo,+                  Just ("kind" .= _rdKind), ("rows" .=) <$> _rdRows,+                  ("selfLink" .=) <$> _rdSelfLink,+                  ("query" .=) <$> _rdQuery,+                  ("columnHeaders" .=) <$> _rdColumnHeaders,+                  ("id" .=) <$> _rdId,+                  ("totalResults" .=) <$> _rdTotalResults,+                  ("totalsForAllResults" .=) <$>+                    _rdTotalsForAllResults])++-- | JSON template for Analytics Custom Metric.+--+-- /See:/ 'customMetric' smart constructor.+data CustomMetric = CustomMetric+    { _cusParentLink    :: !(Maybe CustomMetricParentLink)+    , _cusWebPropertyId :: !(Maybe Text)+    , _cusKind          :: !Text+    , _cusMaxValue      :: !(Maybe Text)+    , _cusCreated       :: !(Maybe DateTime')+    , _cusMinValue      :: !(Maybe Text)+    , _cusActive        :: !(Maybe Bool)+    , _cusSelfLink      :: !(Maybe Text)+    , _cusAccountId     :: !(Maybe Text)+    , _cusName          :: !(Maybe Text)+    , _cusScope         :: !(Maybe Text)+    , _cusId            :: !(Maybe Text)+    , _cusUpdated       :: !(Maybe DateTime')+    , _cusType          :: !(Maybe Text)+    , _cusIndex         :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomMetric' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cusParentLink'+--+-- * 'cusWebPropertyId'+--+-- * 'cusKind'+--+-- * 'cusMaxValue'+--+-- * 'cusCreated'+--+-- * 'cusMinValue'+--+-- * 'cusActive'+--+-- * 'cusSelfLink'+--+-- * 'cusAccountId'+--+-- * 'cusName'+--+-- * 'cusScope'+--+-- * 'cusId'+--+-- * 'cusUpdated'+--+-- * 'cusType'+--+-- * 'cusIndex'+customMetric+    :: CustomMetric+customMetric =+    CustomMetric+    { _cusParentLink = Nothing+    , _cusWebPropertyId = Nothing+    , _cusKind = "analytics#customMetric"+    , _cusMaxValue = Nothing+    , _cusCreated = Nothing+    , _cusMinValue = Nothing+    , _cusActive = Nothing+    , _cusSelfLink = Nothing+    , _cusAccountId = Nothing+    , _cusName = Nothing+    , _cusScope = Nothing+    , _cusId = Nothing+    , _cusUpdated = Nothing+    , _cusType = Nothing+    , _cusIndex = Nothing+    }++-- | Parent link for the custom metric. Points to the property to which the+-- custom metric belongs.+cusParentLink :: Lens' CustomMetric (Maybe CustomMetricParentLink)+cusParentLink+  = lens _cusParentLink+      (\ s a -> s{_cusParentLink = a})++-- | Property ID.+cusWebPropertyId :: Lens' CustomMetric (Maybe Text)+cusWebPropertyId+  = lens _cusWebPropertyId+      (\ s a -> s{_cusWebPropertyId = a})++-- | Kind value for a custom metric. Set to \"analytics#customMetric\". It is+-- a read-only field.+cusKind :: Lens' CustomMetric Text+cusKind = lens _cusKind (\ s a -> s{_cusKind = a})++-- | Max value of custom metric.+cusMaxValue :: Lens' CustomMetric (Maybe Text)+cusMaxValue+  = lens _cusMaxValue (\ s a -> s{_cusMaxValue = a})++-- | Time the custom metric was created.+cusCreated :: Lens' CustomMetric (Maybe UTCTime)+cusCreated+  = lens _cusCreated (\ s a -> s{_cusCreated = a}) .+      mapping _DateTime++-- | Min value of custom metric.+cusMinValue :: Lens' CustomMetric (Maybe Text)+cusMinValue+  = lens _cusMinValue (\ s a -> s{_cusMinValue = a})++-- | Boolean indicating whether the custom metric is active.+cusActive :: Lens' CustomMetric (Maybe Bool)+cusActive+  = lens _cusActive (\ s a -> s{_cusActive = a})++-- | Link for the custom metric+cusSelfLink :: Lens' CustomMetric (Maybe Text)+cusSelfLink+  = lens _cusSelfLink (\ s a -> s{_cusSelfLink = a})++-- | Account ID.+cusAccountId :: Lens' CustomMetric (Maybe Text)+cusAccountId+  = lens _cusAccountId (\ s a -> s{_cusAccountId = a})++-- | Name of the custom metric.+cusName :: Lens' CustomMetric (Maybe Text)+cusName = lens _cusName (\ s a -> s{_cusName = a})++-- | Scope of the custom metric: HIT or PRODUCT.+cusScope :: Lens' CustomMetric (Maybe Text)+cusScope = lens _cusScope (\ s a -> s{_cusScope = a})++-- | Custom metric ID.+cusId :: Lens' CustomMetric (Maybe Text)+cusId = lens _cusId (\ s a -> s{_cusId = a})++-- | Time the custom metric was last modified.+cusUpdated :: Lens' CustomMetric (Maybe UTCTime)+cusUpdated+  = lens _cusUpdated (\ s a -> s{_cusUpdated = a}) .+      mapping _DateTime++-- | Data type of custom metric.+cusType :: Lens' CustomMetric (Maybe Text)+cusType = lens _cusType (\ s a -> s{_cusType = a})++-- | Index of the custom metric.+cusIndex :: Lens' CustomMetric (Maybe Int32)+cusIndex+  = lens _cusIndex (\ s a -> s{_cusIndex = a}) .+      mapping _Coerce++instance FromJSON CustomMetric where+        parseJSON+          = withObject "CustomMetric"+              (\ o ->+                 CustomMetric <$>+                   (o .:? "parentLink") <*> (o .:? "webPropertyId") <*>+                     (o .:? "kind" .!= "analytics#customMetric")+                     <*> (o .:? "max_value")+                     <*> (o .:? "created")+                     <*> (o .:? "min_value")+                     <*> (o .:? "active")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "scope")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "type")+                     <*> (o .:? "index"))++instance ToJSON CustomMetric where+        toJSON CustomMetric{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _cusParentLink,+                  ("webPropertyId" .=) <$> _cusWebPropertyId,+                  Just ("kind" .= _cusKind),+                  ("max_value" .=) <$> _cusMaxValue,+                  ("created" .=) <$> _cusCreated,+                  ("min_value" .=) <$> _cusMinValue,+                  ("active" .=) <$> _cusActive,+                  ("selfLink" .=) <$> _cusSelfLink,+                  ("accountId" .=) <$> _cusAccountId,+                  ("name" .=) <$> _cusName, ("scope" .=) <$> _cusScope,+                  ("id" .=) <$> _cusId, ("updated" .=) <$> _cusUpdated,+                  ("type" .=) <$> _cusType,+                  ("index" .=) <$> _cusIndex])++-- | JSON template for an Analytics ProfileSummary. ProfileSummary returns+-- basic information (i.e., summary) for a profile.+--+-- /See:/ 'proFileSummary' smart constructor.+data ProFileSummary = ProFileSummary+    { _pfsKind :: !Text+    , _pfsName :: !(Maybe Text)+    , _pfsId   :: !(Maybe Text)+    , _pfsType :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfsKind'+--+-- * 'pfsName'+--+-- * 'pfsId'+--+-- * 'pfsType'+proFileSummary+    :: ProFileSummary+proFileSummary =+    ProFileSummary+    { _pfsKind = "analytics#profileSummary"+    , _pfsName = Nothing+    , _pfsId = Nothing+    , _pfsType = Nothing+    }++-- | Resource type for Analytics ProfileSummary.+pfsKind :: Lens' ProFileSummary Text+pfsKind = lens _pfsKind (\ s a -> s{_pfsKind = a})++-- | View (profile) name.+pfsName :: Lens' ProFileSummary (Maybe Text)+pfsName = lens _pfsName (\ s a -> s{_pfsName = a})++-- | View (profile) ID.+pfsId :: Lens' ProFileSummary (Maybe Text)+pfsId = lens _pfsId (\ s a -> s{_pfsId = a})++-- | View (Profile) type. Supported types: WEB or APP.+pfsType :: Lens' ProFileSummary (Maybe Text)+pfsType = lens _pfsType (\ s a -> s{_pfsType = a})++instance FromJSON ProFileSummary where+        parseJSON+          = withObject "ProFileSummary"+              (\ o ->+                 ProFileSummary <$>+                   (o .:? "kind" .!= "analytics#profileSummary") <*>+                     (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "type"))++instance ToJSON ProFileSummary where+        toJSON ProFileSummary{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pfsKind), ("name" .=) <$> _pfsName,+                  ("id" .=) <$> _pfsId, ("type" .=) <$> _pfsType])++-- | Parent link for the custom dimension. Points to the property to which+-- the custom dimension belongs.+--+-- /See:/ 'customDimensionParentLink' smart constructor.+data CustomDimensionParentLink = CustomDimensionParentLink+    { _cdplHref :: !(Maybe Text)+    , _cdplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDimensionParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdplHref'+--+-- * 'cdplType'+customDimensionParentLink+    :: CustomDimensionParentLink+customDimensionParentLink =+    CustomDimensionParentLink+    { _cdplHref = Nothing+    , _cdplType = "analytics#webproperty"+    }++-- | Link to the property to which the custom dimension belongs.+cdplHref :: Lens' CustomDimensionParentLink (Maybe Text)+cdplHref = lens _cdplHref (\ s a -> s{_cdplHref = a})++-- | Type of the parent link. Set to \"analytics#webproperty\".+cdplType :: Lens' CustomDimensionParentLink Text+cdplType = lens _cdplType (\ s a -> s{_cdplType = a})++instance FromJSON CustomDimensionParentLink where+        parseJSON+          = withObject "CustomDimensionParentLink"+              (\ o ->+                 CustomDimensionParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#webproperty"))++instance ToJSON CustomDimensionParentLink where+        toJSON CustomDimensionParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _cdplHref,+                  Just ("type" .= _cdplType)])++-- | JSON template for an Analytics web property.+--+-- /See:/ 'webProperty' smart constructor.+data WebProperty = WebProperty+    { _wParentLink            :: !(Maybe WebPropertyParentLink)+    , _wChildLink             :: !(Maybe WebPropertyChildLink)+    , _wDefaultProFileId      :: !(Maybe (Textual Int64))+    , _wKind                  :: !Text+    , _wCreated               :: !(Maybe DateTime')+    , _wSelfLink              :: !(Maybe Text)+    , _wAccountId             :: !(Maybe Text)+    , _wName                  :: !(Maybe Text)+    , _wInternalWebPropertyId :: !(Maybe Text)+    , _wId                    :: !(Maybe Text)+    , _wUpdated               :: !(Maybe DateTime')+    , _wProFileCount          :: !(Maybe (Textual Int32))+    , _wPermissions           :: !(Maybe WebPropertyPermissions)+    , _wWebsiteURL            :: !(Maybe Text)+    , _wIndustryVertical      :: !(Maybe Text)+    , _wLevel                 :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wParentLink'+--+-- * 'wChildLink'+--+-- * 'wDefaultProFileId'+--+-- * 'wKind'+--+-- * 'wCreated'+--+-- * 'wSelfLink'+--+-- * 'wAccountId'+--+-- * 'wName'+--+-- * 'wInternalWebPropertyId'+--+-- * 'wId'+--+-- * 'wUpdated'+--+-- * 'wProFileCount'+--+-- * 'wPermissions'+--+-- * 'wWebsiteURL'+--+-- * 'wIndustryVertical'+--+-- * 'wLevel'+webProperty+    :: WebProperty+webProperty =+    WebProperty+    { _wParentLink = Nothing+    , _wChildLink = Nothing+    , _wDefaultProFileId = Nothing+    , _wKind = "analytics#webproperty"+    , _wCreated = Nothing+    , _wSelfLink = Nothing+    , _wAccountId = Nothing+    , _wName = Nothing+    , _wInternalWebPropertyId = Nothing+    , _wId = Nothing+    , _wUpdated = Nothing+    , _wProFileCount = Nothing+    , _wPermissions = Nothing+    , _wWebsiteURL = Nothing+    , _wIndustryVertical = Nothing+    , _wLevel = Nothing+    }++-- | Parent link for this web property. Points to the account to which this+-- web property belongs.+wParentLink :: Lens' WebProperty (Maybe WebPropertyParentLink)+wParentLink+  = lens _wParentLink (\ s a -> s{_wParentLink = a})++-- | Child link for this web property. Points to the list of views (profiles)+-- for this web property.+wChildLink :: Lens' WebProperty (Maybe WebPropertyChildLink)+wChildLink+  = lens _wChildLink (\ s a -> s{_wChildLink = a})++-- | Default view (profile) ID.+wDefaultProFileId :: Lens' WebProperty (Maybe Int64)+wDefaultProFileId+  = lens _wDefaultProFileId+      (\ s a -> s{_wDefaultProFileId = a})+      . mapping _Coerce++-- | Resource type for Analytics WebProperty.+wKind :: Lens' WebProperty Text+wKind = lens _wKind (\ s a -> s{_wKind = a})++-- | Time this web property was created.+wCreated :: Lens' WebProperty (Maybe UTCTime)+wCreated+  = lens _wCreated (\ s a -> s{_wCreated = a}) .+      mapping _DateTime++-- | Link for this web property.+wSelfLink :: Lens' WebProperty (Maybe Text)+wSelfLink+  = lens _wSelfLink (\ s a -> s{_wSelfLink = a})++-- | Account ID to which this web property belongs.+wAccountId :: Lens' WebProperty (Maybe Text)+wAccountId+  = lens _wAccountId (\ s a -> s{_wAccountId = a})++-- | Name of this web property.+wName :: Lens' WebProperty (Maybe Text)+wName = lens _wName (\ s a -> s{_wName = a})++-- | Internal ID for this web property.+wInternalWebPropertyId :: Lens' WebProperty (Maybe Text)+wInternalWebPropertyId+  = lens _wInternalWebPropertyId+      (\ s a -> s{_wInternalWebPropertyId = a})++-- | Web property ID of the form UA-XXXXX-YY.+wId :: Lens' WebProperty (Maybe Text)+wId = lens _wId (\ s a -> s{_wId = a})++-- | Time this web property was last modified.+wUpdated :: Lens' WebProperty (Maybe UTCTime)+wUpdated+  = lens _wUpdated (\ s a -> s{_wUpdated = a}) .+      mapping _DateTime++-- | View (Profile) count for this web property.+wProFileCount :: Lens' WebProperty (Maybe Int32)+wProFileCount+  = lens _wProFileCount+      (\ s a -> s{_wProFileCount = a})+      . mapping _Coerce++-- | Permissions the user has for this web property.+wPermissions :: Lens' WebProperty (Maybe WebPropertyPermissions)+wPermissions+  = lens _wPermissions (\ s a -> s{_wPermissions = a})++-- | Website url for this web property.+wWebsiteURL :: Lens' WebProperty (Maybe Text)+wWebsiteURL+  = lens _wWebsiteURL (\ s a -> s{_wWebsiteURL = a})++-- | The industry vertical\/category selected for this web property.+wIndustryVertical :: Lens' WebProperty (Maybe Text)+wIndustryVertical+  = lens _wIndustryVertical+      (\ s a -> s{_wIndustryVertical = a})++-- | Level for this web property. Possible values are STANDARD or PREMIUM.+wLevel :: Lens' WebProperty (Maybe Text)+wLevel = lens _wLevel (\ s a -> s{_wLevel = a})++instance FromJSON WebProperty where+        parseJSON+          = withObject "WebProperty"+              (\ o ->+                 WebProperty <$>+                   (o .:? "parentLink") <*> (o .:? "childLink") <*>+                     (o .:? "defaultProfileId")+                     <*> (o .:? "kind" .!= "analytics#webproperty")+                     <*> (o .:? "created")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "profileCount")+                     <*> (o .:? "permissions")+                     <*> (o .:? "websiteUrl")+                     <*> (o .:? "industryVertical")+                     <*> (o .:? "level"))++instance ToJSON WebProperty where+        toJSON WebProperty{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _wParentLink,+                  ("childLink" .=) <$> _wChildLink,+                  ("defaultProfileId" .=) <$> _wDefaultProFileId,+                  Just ("kind" .= _wKind),+                  ("created" .=) <$> _wCreated,+                  ("selfLink" .=) <$> _wSelfLink,+                  ("accountId" .=) <$> _wAccountId,+                  ("name" .=) <$> _wName,+                  ("internalWebPropertyId" .=) <$>+                    _wInternalWebPropertyId,+                  ("id" .=) <$> _wId, ("updated" .=) <$> _wUpdated,+                  ("profileCount" .=) <$> _wProFileCount,+                  ("permissions" .=) <$> _wPermissions,+                  ("websiteUrl" .=) <$> _wWebsiteURL,+                  ("industryVertical" .=) <$> _wIndustryVertical,+                  ("level" .=) <$> _wLevel])++-- | Permissions the user has for this web property.+--+-- /See:/ 'webPropertyPermissions' smart constructor.+newtype WebPropertyPermissions = WebPropertyPermissions+    { _wppEffective :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebPropertyPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wppEffective'+webPropertyPermissions+    :: WebPropertyPermissions+webPropertyPermissions =+    WebPropertyPermissions+    { _wppEffective = Nothing+    }++-- | All the permissions that the user has for this web property. These+-- include any implied permissions (e.g., EDIT implies VIEW) or inherited+-- permissions from the parent account.+wppEffective :: Lens' WebPropertyPermissions [Text]+wppEffective+  = lens _wppEffective (\ s a -> s{_wppEffective = a})+      . _Default+      . _Coerce++instance FromJSON WebPropertyPermissions where+        parseJSON+          = withObject "WebPropertyPermissions"+              (\ o ->+                 WebPropertyPermissions <$>+                   (o .:? "effective" .!= mempty))++instance ToJSON WebPropertyPermissions where+        toJSON WebPropertyPermissions{..}+          = object+              (catMaybes [("effective" .=) <$> _wppEffective])++-- | JSON template for an Analytics Entity-User Link. Returns permissions+-- that a user has for an entity.+--+-- /See:/ 'entityUserLink' smart constructor.+data EntityUserLink = EntityUserLink+    { _euluKind        :: !Text+    , _euluUserRef     :: !(Maybe UserRef)+    , _euluSelfLink    :: !(Maybe Text)+    , _euluId          :: !(Maybe Text)+    , _euluPermissions :: !(Maybe EntityUserLinkPermissions)+    , _euluEntity      :: !(Maybe EntityUserLinkEntity)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityUserLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euluKind'+--+-- * 'euluUserRef'+--+-- * 'euluSelfLink'+--+-- * 'euluId'+--+-- * 'euluPermissions'+--+-- * 'euluEntity'+entityUserLink+    :: EntityUserLink+entityUserLink =+    EntityUserLink+    { _euluKind = "analytics#entityUserLink"+    , _euluUserRef = Nothing+    , _euluSelfLink = Nothing+    , _euluId = Nothing+    , _euluPermissions = Nothing+    , _euluEntity = Nothing+    }++-- | Resource type for entity user link.+euluKind :: Lens' EntityUserLink Text+euluKind = lens _euluKind (\ s a -> s{_euluKind = a})++-- | User reference.+euluUserRef :: Lens' EntityUserLink (Maybe UserRef)+euluUserRef+  = lens _euluUserRef (\ s a -> s{_euluUserRef = a})++-- | Self link for this resource.+euluSelfLink :: Lens' EntityUserLink (Maybe Text)+euluSelfLink+  = lens _euluSelfLink (\ s a -> s{_euluSelfLink = a})++-- | Entity user link ID+euluId :: Lens' EntityUserLink (Maybe Text)+euluId = lens _euluId (\ s a -> s{_euluId = a})++-- | Permissions the user has for this entity.+euluPermissions :: Lens' EntityUserLink (Maybe EntityUserLinkPermissions)+euluPermissions+  = lens _euluPermissions+      (\ s a -> s{_euluPermissions = a})++-- | Entity for this link. It can be an account, a web property, or a view+-- (profile).+euluEntity :: Lens' EntityUserLink (Maybe EntityUserLinkEntity)+euluEntity+  = lens _euluEntity (\ s a -> s{_euluEntity = a})++instance FromJSON EntityUserLink where+        parseJSON+          = withObject "EntityUserLink"+              (\ o ->+                 EntityUserLink <$>+                   (o .:? "kind" .!= "analytics#entityUserLink") <*>+                     (o .:? "userRef")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id")+                     <*> (o .:? "permissions")+                     <*> (o .:? "entity"))++instance ToJSON EntityUserLink where+        toJSON EntityUserLink{..}+          = object+              (catMaybes+                 [Just ("kind" .= _euluKind),+                  ("userRef" .=) <$> _euluUserRef,+                  ("selfLink" .=) <$> _euluSelfLink,+                  ("id" .=) <$> _euluId,+                  ("permissions" .=) <$> _euluPermissions,+                  ("entity" .=) <$> _euluEntity])++-- | Parent link for this custom data source. Points to the web property to+-- which this custom data source belongs.+--+-- /See:/ 'customDataSourceParentLink' smart constructor.+data CustomDataSourceParentLink = CustomDataSourceParentLink+    { _cdsplHref :: !(Maybe Text)+    , _cdsplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDataSourceParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdsplHref'+--+-- * 'cdsplType'+customDataSourceParentLink+    :: CustomDataSourceParentLink+customDataSourceParentLink =+    CustomDataSourceParentLink+    { _cdsplHref = Nothing+    , _cdsplType = "analytics#webproperty"+    }++-- | Link to the web property to which this custom data source belongs.+cdsplHref :: Lens' CustomDataSourceParentLink (Maybe Text)+cdsplHref+  = lens _cdsplHref (\ s a -> s{_cdsplHref = a})++-- | Value is \"analytics#webproperty\".+cdsplType :: Lens' CustomDataSourceParentLink Text+cdsplType+  = lens _cdsplType (\ s a -> s{_cdsplType = a})++instance FromJSON CustomDataSourceParentLink where+        parseJSON+          = withObject "CustomDataSourceParentLink"+              (\ o ->+                 CustomDataSourceParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#webproperty"))++instance ToJSON CustomDataSourceParentLink where+        toJSON CustomDataSourceParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _cdsplHref,+                  Just ("type" .= _cdsplType)])++--+-- /See:/ 'goalEventDetailsEventConditionsItem' smart constructor.+data GoalEventDetailsEventConditionsItem = GoalEventDetailsEventConditionsItem+    { _gedeciMatchType       :: !(Maybe Text)+    , _gedeciExpression      :: !(Maybe Text)+    , _gedeciComparisonValue :: !(Maybe (Textual Int64))+    , _gedeciType            :: !(Maybe Text)+    , _gedeciComparisonType  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalEventDetailsEventConditionsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gedeciMatchType'+--+-- * 'gedeciExpression'+--+-- * 'gedeciComparisonValue'+--+-- * 'gedeciType'+--+-- * 'gedeciComparisonType'+goalEventDetailsEventConditionsItem+    :: GoalEventDetailsEventConditionsItem+goalEventDetailsEventConditionsItem =+    GoalEventDetailsEventConditionsItem+    { _gedeciMatchType = Nothing+    , _gedeciExpression = Nothing+    , _gedeciComparisonValue = Nothing+    , _gedeciType = Nothing+    , _gedeciComparisonType = Nothing+    }++-- | Type of the match to be performed. Possible values are REGEXP,+-- BEGINS_WITH, or EXACT.+gedeciMatchType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)+gedeciMatchType+  = lens _gedeciMatchType+      (\ s a -> s{_gedeciMatchType = a})++-- | Expression used for this match.+gedeciExpression :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)+gedeciExpression+  = lens _gedeciExpression+      (\ s a -> s{_gedeciExpression = a})++-- | Value used for this comparison.+gedeciComparisonValue :: Lens' GoalEventDetailsEventConditionsItem (Maybe Int64)+gedeciComparisonValue+  = lens _gedeciComparisonValue+      (\ s a -> s{_gedeciComparisonValue = a})+      . mapping _Coerce++-- | Type of this event condition. Possible values are CATEGORY, ACTION,+-- LABEL, or VALUE.+gedeciType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)+gedeciType+  = lens _gedeciType (\ s a -> s{_gedeciType = a})++-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN or+-- EQUAL.+gedeciComparisonType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)+gedeciComparisonType+  = lens _gedeciComparisonType+      (\ s a -> s{_gedeciComparisonType = a})++instance FromJSON GoalEventDetailsEventConditionsItem+         where+        parseJSON+          = withObject "GoalEventDetailsEventConditionsItem"+              (\ o ->+                 GoalEventDetailsEventConditionsItem <$>+                   (o .:? "matchType") <*> (o .:? "expression") <*>+                     (o .:? "comparisonValue")+                     <*> (o .:? "type")+                     <*> (o .:? "comparisonType"))++instance ToJSON GoalEventDetailsEventConditionsItem+         where+        toJSON GoalEventDetailsEventConditionsItem{..}+          = object+              (catMaybes+                 [("matchType" .=) <$> _gedeciMatchType,+                  ("expression" .=) <$> _gedeciExpression,+                  ("comparisonValue" .=) <$> _gedeciComparisonValue,+                  ("type" .=) <$> _gedeciType,+                  ("comparisonType" .=) <$> _gedeciComparisonType])++-- | Analytics data request query parameters.+--+-- /See:/ 'mcfDataQuery' smart constructor.+data McfDataQuery = McfDataQuery+    { _mdqMetrics       :: !(Maybe [Text])+    , _mdqSamplingLevel :: !(Maybe Text)+    , _mdqFilters       :: !(Maybe Text)+    , _mdqIds           :: !(Maybe Text)+    , _mdqEndDate       :: !(Maybe Text)+    , _mdqSort          :: !(Maybe [Text])+    , _mdqDimensions    :: !(Maybe Text)+    , _mdqStartIndex    :: !(Maybe (Textual Int32))+    , _mdqMaxResults    :: !(Maybe (Textual Int32))+    , _mdqSegment       :: !(Maybe Text)+    , _mdqStartDate     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdqMetrics'+--+-- * 'mdqSamplingLevel'+--+-- * 'mdqFilters'+--+-- * 'mdqIds'+--+-- * 'mdqEndDate'+--+-- * 'mdqSort'+--+-- * 'mdqDimensions'+--+-- * 'mdqStartIndex'+--+-- * 'mdqMaxResults'+--+-- * 'mdqSegment'+--+-- * 'mdqStartDate'+mcfDataQuery+    :: McfDataQuery+mcfDataQuery =+    McfDataQuery+    { _mdqMetrics = Nothing+    , _mdqSamplingLevel = Nothing+    , _mdqFilters = Nothing+    , _mdqIds = Nothing+    , _mdqEndDate = Nothing+    , _mdqSort = Nothing+    , _mdqDimensions = Nothing+    , _mdqStartIndex = Nothing+    , _mdqMaxResults = Nothing+    , _mdqSegment = Nothing+    , _mdqStartDate = Nothing+    }++-- | List of analytics metrics.+mdqMetrics :: Lens' McfDataQuery [Text]+mdqMetrics+  = lens _mdqMetrics (\ s a -> s{_mdqMetrics = a}) .+      _Default+      . _Coerce++-- | Desired sampling level+mdqSamplingLevel :: Lens' McfDataQuery (Maybe Text)+mdqSamplingLevel+  = lens _mdqSamplingLevel+      (\ s a -> s{_mdqSamplingLevel = a})++-- | Comma-separated list of dimension or metric filters.+mdqFilters :: Lens' McfDataQuery (Maybe Text)+mdqFilters+  = lens _mdqFilters (\ s a -> s{_mdqFilters = a})++-- | Unique table ID.+mdqIds :: Lens' McfDataQuery (Maybe Text)+mdqIds = lens _mdqIds (\ s a -> s{_mdqIds = a})++-- | End date.+mdqEndDate :: Lens' McfDataQuery (Maybe Text)+mdqEndDate+  = lens _mdqEndDate (\ s a -> s{_mdqEndDate = a})++-- | List of dimensions or metrics based on which Analytics data is sorted.+mdqSort :: Lens' McfDataQuery [Text]+mdqSort+  = lens _mdqSort (\ s a -> s{_mdqSort = a}) . _Default+      . _Coerce++-- | List of analytics dimensions.+mdqDimensions :: Lens' McfDataQuery (Maybe Text)+mdqDimensions+  = lens _mdqDimensions+      (\ s a -> s{_mdqDimensions = a})++-- | Start index.+mdqStartIndex :: Lens' McfDataQuery (Maybe Int32)+mdqStartIndex+  = lens _mdqStartIndex+      (\ s a -> s{_mdqStartIndex = a})+      . mapping _Coerce++-- | Maximum results per page.+mdqMaxResults :: Lens' McfDataQuery (Maybe Int32)+mdqMaxResults+  = lens _mdqMaxResults+      (\ s a -> s{_mdqMaxResults = a})+      . mapping _Coerce++-- | Analytics advanced segment.+mdqSegment :: Lens' McfDataQuery (Maybe Text)+mdqSegment+  = lens _mdqSegment (\ s a -> s{_mdqSegment = a})++-- | Start date.+mdqStartDate :: Lens' McfDataQuery (Maybe Text)+mdqStartDate+  = lens _mdqStartDate (\ s a -> s{_mdqStartDate = a})++instance FromJSON McfDataQuery where+        parseJSON+          = withObject "McfDataQuery"+              (\ o ->+                 McfDataQuery <$>+                   (o .:? "metrics" .!= mempty) <*>+                     (o .:? "samplingLevel")+                     <*> (o .:? "filters")+                     <*> (o .:? "ids")+                     <*> (o .:? "end-date")+                     <*> (o .:? "sort" .!= mempty)+                     <*> (o .:? "dimensions")+                     <*> (o .:? "start-index")+                     <*> (o .:? "max-results")+                     <*> (o .:? "segment")+                     <*> (o .:? "start-date"))++instance ToJSON McfDataQuery where+        toJSON McfDataQuery{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _mdqMetrics,+                  ("samplingLevel" .=) <$> _mdqSamplingLevel,+                  ("filters" .=) <$> _mdqFilters,+                  ("ids" .=) <$> _mdqIds,+                  ("end-date" .=) <$> _mdqEndDate,+                  ("sort" .=) <$> _mdqSort,+                  ("dimensions" .=) <$> _mdqDimensions,+                  ("start-index" .=) <$> _mdqStartIndex,+                  ("max-results" .=) <$> _mdqMaxResults,+                  ("segment" .=) <$> _mdqSegment,+                  ("start-date" .=) <$> _mdqStartDate])++-- | JSON template for Analytics goal resource.+--+-- /See:/ 'goal' smart constructor.+data Goal = Goal+    { _goaParentLink             :: !(Maybe GoalParentLink)+    , _goaWebPropertyId          :: !(Maybe Text)+    , _goaKind                   :: !Text+    , _goaCreated                :: !(Maybe DateTime')+    , _goaValue                  :: !(Maybe (Textual Double))+    , _goaProFileId              :: !(Maybe Text)+    , _goaEventDetails           :: !(Maybe GoalEventDetails)+    , _goaActive                 :: !(Maybe Bool)+    , _goaSelfLink               :: !(Maybe Text)+    , _goaVisitTimeOnSiteDetails :: !(Maybe GoalVisitTimeOnSiteDetails)+    , _goaAccountId              :: !(Maybe Text)+    , _goaName                   :: !(Maybe Text)+    , _goaInternalWebPropertyId  :: !(Maybe Text)+    , _goaId                     :: !(Maybe Text)+    , _goaURLDestinationDetails  :: !(Maybe GoalURLDestinationDetails)+    , _goaVisitNumPagesDetails   :: !(Maybe GoalVisitNumPagesDetails)+    , _goaUpdated                :: !(Maybe DateTime')+    , _goaType                   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Goal' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goaParentLink'+--+-- * 'goaWebPropertyId'+--+-- * 'goaKind'+--+-- * 'goaCreated'+--+-- * 'goaValue'+--+-- * 'goaProFileId'+--+-- * 'goaEventDetails'+--+-- * 'goaActive'+--+-- * 'goaSelfLink'+--+-- * 'goaVisitTimeOnSiteDetails'+--+-- * 'goaAccountId'+--+-- * 'goaName'+--+-- * 'goaInternalWebPropertyId'+--+-- * 'goaId'+--+-- * 'goaURLDestinationDetails'+--+-- * 'goaVisitNumPagesDetails'+--+-- * 'goaUpdated'+--+-- * 'goaType'+goal+    :: Goal+goal =+    Goal+    { _goaParentLink = Nothing+    , _goaWebPropertyId = Nothing+    , _goaKind = "analytics#goal"+    , _goaCreated = Nothing+    , _goaValue = Nothing+    , _goaProFileId = Nothing+    , _goaEventDetails = Nothing+    , _goaActive = Nothing+    , _goaSelfLink = Nothing+    , _goaVisitTimeOnSiteDetails = Nothing+    , _goaAccountId = Nothing+    , _goaName = Nothing+    , _goaInternalWebPropertyId = Nothing+    , _goaId = Nothing+    , _goaURLDestinationDetails = Nothing+    , _goaVisitNumPagesDetails = Nothing+    , _goaUpdated = Nothing+    , _goaType = Nothing+    }++-- | Parent link for a goal. Points to the view (profile) to which this goal+-- belongs.+goaParentLink :: Lens' Goal (Maybe GoalParentLink)+goaParentLink+  = lens _goaParentLink+      (\ s a -> s{_goaParentLink = a})++-- | Web property ID to which this goal belongs. The web property ID is of+-- the form UA-XXXXX-YY.+goaWebPropertyId :: Lens' Goal (Maybe Text)+goaWebPropertyId+  = lens _goaWebPropertyId+      (\ s a -> s{_goaWebPropertyId = a})++-- | Resource type for an Analytics goal.+goaKind :: Lens' Goal Text+goaKind = lens _goaKind (\ s a -> s{_goaKind = a})++-- | Time this goal was created.+goaCreated :: Lens' Goal (Maybe UTCTime)+goaCreated+  = lens _goaCreated (\ s a -> s{_goaCreated = a}) .+      mapping _DateTime++-- | Goal value.+goaValue :: Lens' Goal (Maybe Double)+goaValue+  = lens _goaValue (\ s a -> s{_goaValue = a}) .+      mapping _Coerce++-- | View (Profile) ID to which this goal belongs.+goaProFileId :: Lens' Goal (Maybe Text)+goaProFileId+  = lens _goaProFileId (\ s a -> s{_goaProFileId = a})++-- | Details for the goal of the type EVENT.+goaEventDetails :: Lens' Goal (Maybe GoalEventDetails)+goaEventDetails+  = lens _goaEventDetails+      (\ s a -> s{_goaEventDetails = a})++-- | Determines whether this goal is active.+goaActive :: Lens' Goal (Maybe Bool)+goaActive+  = lens _goaActive (\ s a -> s{_goaActive = a})++-- | Link for this goal.+goaSelfLink :: Lens' Goal (Maybe Text)+goaSelfLink+  = lens _goaSelfLink (\ s a -> s{_goaSelfLink = a})++-- | Details for the goal of the type VISIT_TIME_ON_SITE.+goaVisitTimeOnSiteDetails :: Lens' Goal (Maybe GoalVisitTimeOnSiteDetails)+goaVisitTimeOnSiteDetails+  = lens _goaVisitTimeOnSiteDetails+      (\ s a -> s{_goaVisitTimeOnSiteDetails = a})++-- | Account ID to which this goal belongs.+goaAccountId :: Lens' Goal (Maybe Text)+goaAccountId+  = lens _goaAccountId (\ s a -> s{_goaAccountId = a})++-- | Goal name.+goaName :: Lens' Goal (Maybe Text)+goaName = lens _goaName (\ s a -> s{_goaName = a})++-- | Internal ID for the web property to which this goal belongs.+goaInternalWebPropertyId :: Lens' Goal (Maybe Text)+goaInternalWebPropertyId+  = lens _goaInternalWebPropertyId+      (\ s a -> s{_goaInternalWebPropertyId = a})++-- | Goal ID.+goaId :: Lens' Goal (Maybe Text)+goaId = lens _goaId (\ s a -> s{_goaId = a})++-- | Details for the goal of the type URL_DESTINATION.+goaURLDestinationDetails :: Lens' Goal (Maybe GoalURLDestinationDetails)+goaURLDestinationDetails+  = lens _goaURLDestinationDetails+      (\ s a -> s{_goaURLDestinationDetails = a})++-- | Details for the goal of the type VISIT_NUM_PAGES.+goaVisitNumPagesDetails :: Lens' Goal (Maybe GoalVisitNumPagesDetails)+goaVisitNumPagesDetails+  = lens _goaVisitNumPagesDetails+      (\ s a -> s{_goaVisitNumPagesDetails = a})++-- | Time this goal was last modified.+goaUpdated :: Lens' Goal (Maybe UTCTime)+goaUpdated+  = lens _goaUpdated (\ s a -> s{_goaUpdated = a}) .+      mapping _DateTime++-- | Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE,+-- VISIT_NUM_PAGES, AND EVENT.+goaType :: Lens' Goal (Maybe Text)+goaType = lens _goaType (\ s a -> s{_goaType = a})++instance FromJSON Goal where+        parseJSON+          = withObject "Goal"+              (\ o ->+                 Goal <$>+                   (o .:? "parentLink") <*> (o .:? "webPropertyId") <*>+                     (o .:? "kind" .!= "analytics#goal")+                     <*> (o .:? "created")+                     <*> (o .:? "value")+                     <*> (o .:? "profileId")+                     <*> (o .:? "eventDetails")+                     <*> (o .:? "active")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "visitTimeOnSiteDetails")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "id")+                     <*> (o .:? "urlDestinationDetails")+                     <*> (o .:? "visitNumPagesDetails")+                     <*> (o .:? "updated")+                     <*> (o .:? "type"))++instance ToJSON Goal where+        toJSON Goal{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _goaParentLink,+                  ("webPropertyId" .=) <$> _goaWebPropertyId,+                  Just ("kind" .= _goaKind),+                  ("created" .=) <$> _goaCreated,+                  ("value" .=) <$> _goaValue,+                  ("profileId" .=) <$> _goaProFileId,+                  ("eventDetails" .=) <$> _goaEventDetails,+                  ("active" .=) <$> _goaActive,+                  ("selfLink" .=) <$> _goaSelfLink,+                  ("visitTimeOnSiteDetails" .=) <$>+                    _goaVisitTimeOnSiteDetails,+                  ("accountId" .=) <$> _goaAccountId,+                  ("name" .=) <$> _goaName,+                  ("internalWebPropertyId" .=) <$>+                    _goaInternalWebPropertyId,+                  ("id" .=) <$> _goaId,+                  ("urlDestinationDetails" .=) <$>+                    _goaURLDestinationDetails,+                  ("visitNumPagesDetails" .=) <$>+                    _goaVisitNumPagesDetails,+                  ("updated" .=) <$> _goaUpdated,+                  ("type" .=) <$> _goaType])++-- | JSON template for an Analytics account ticket. The account ticket+-- consists of the ticket ID and the basic information for the account,+-- property and profile.+--+-- /See:/ 'accountTicket' smart constructor.+data AccountTicket = AccountTicket+    { _atRedirectURI :: !(Maybe Text)+    , _atKind        :: !Text+    , _atProFile     :: !(Maybe ProFile)+    , _atAccount     :: !(Maybe Account)+    , _atWebProperty :: !(Maybe WebProperty)+    , _atId          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountTicket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atRedirectURI'+--+-- * 'atKind'+--+-- * 'atProFile'+--+-- * 'atAccount'+--+-- * 'atWebProperty'+--+-- * 'atId'+accountTicket+    :: AccountTicket+accountTicket =+    AccountTicket+    { _atRedirectURI = Nothing+    , _atKind = "analytics#accountTicket"+    , _atProFile = Nothing+    , _atAccount = Nothing+    , _atWebProperty = Nothing+    , _atId = Nothing+    }++-- | Redirect URI where the user will be sent after accepting Terms of+-- Service. Must be configured in APIs console as a callback URL.+atRedirectURI :: Lens' AccountTicket (Maybe Text)+atRedirectURI+  = lens _atRedirectURI+      (\ s a -> s{_atRedirectURI = a})++-- | Resource type for account ticket.+atKind :: Lens' AccountTicket Text+atKind = lens _atKind (\ s a -> s{_atKind = a})++-- | View (Profile) for the account.+atProFile :: Lens' AccountTicket (Maybe ProFile)+atProFile+  = lens _atProFile (\ s a -> s{_atProFile = a})++-- | Account for this ticket.+atAccount :: Lens' AccountTicket (Maybe Account)+atAccount+  = lens _atAccount (\ s a -> s{_atAccount = a})++-- | Web property for the account.+atWebProperty :: Lens' AccountTicket (Maybe WebProperty)+atWebProperty+  = lens _atWebProperty+      (\ s a -> s{_atWebProperty = a})++-- | Account ticket ID used to access the account ticket.+atId :: Lens' AccountTicket (Maybe Text)+atId = lens _atId (\ s a -> s{_atId = a})++instance FromJSON AccountTicket where+        parseJSON+          = withObject "AccountTicket"+              (\ o ->+                 AccountTicket <$>+                   (o .:? "redirectUri") <*>+                     (o .:? "kind" .!= "analytics#accountTicket")+                     <*> (o .:? "profile")+                     <*> (o .:? "account")+                     <*> (o .:? "webproperty")+                     <*> (o .:? "id"))++instance ToJSON AccountTicket where+        toJSON AccountTicket{..}+          = object+              (catMaybes+                 [("redirectUri" .=) <$> _atRedirectURI,+                  Just ("kind" .= _atKind),+                  ("profile" .=) <$> _atProFile,+                  ("account" .=) <$> _atAccount,+                  ("webproperty" .=) <$> _atWebProperty,+                  ("id" .=) <$> _atId])++-- | JSON template for an Analytics AccountSummary. An AccountSummary is a+-- lightweight tree comprised of properties\/profiles.+--+-- /See:/ 'accountSummary' smart constructor.+data AccountSummary = AccountSummary+    { _assKind          :: !Text+    , _assWebProperties :: !(Maybe [WebPropertySummary])+    , _assName          :: !(Maybe Text)+    , _assId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'assKind'+--+-- * 'assWebProperties'+--+-- * 'assName'+--+-- * 'assId'+accountSummary+    :: AccountSummary+accountSummary =+    AccountSummary+    { _assKind = "analytics#accountSummary"+    , _assWebProperties = Nothing+    , _assName = Nothing+    , _assId = Nothing+    }++-- | Resource type for Analytics AccountSummary.+assKind :: Lens' AccountSummary Text+assKind = lens _assKind (\ s a -> s{_assKind = a})++-- | List of web properties under this account.+assWebProperties :: Lens' AccountSummary [WebPropertySummary]+assWebProperties+  = lens _assWebProperties+      (\ s a -> s{_assWebProperties = a})+      . _Default+      . _Coerce++-- | Account name.+assName :: Lens' AccountSummary (Maybe Text)+assName = lens _assName (\ s a -> s{_assName = a})++-- | Account ID.+assId :: Lens' AccountSummary (Maybe Text)+assId = lens _assId (\ s a -> s{_assId = a})++instance FromJSON AccountSummary where+        parseJSON+          = withObject "AccountSummary"+              (\ o ->+                 AccountSummary <$>+                   (o .:? "kind" .!= "analytics#accountSummary") <*>+                     (o .:? "webProperties" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON AccountSummary where+        toJSON AccountSummary{..}+          = object+              (catMaybes+                 [Just ("kind" .= _assKind),+                  ("webProperties" .=) <$> _assWebProperties,+                  ("name" .=) <$> _assName, ("id" .=) <$> _assId])++-- | Real time data request query parameters.+--+-- /See:/ 'realtimeDataQuery' smart constructor.+data RealtimeDataQuery = RealtimeDataQuery+    { _rdqMetrics    :: !(Maybe [Text])+    , _rdqFilters    :: !(Maybe Text)+    , _rdqIds        :: !(Maybe Text)+    , _rdqSort       :: !(Maybe [Text])+    , _rdqDimensions :: !(Maybe Text)+    , _rdqMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeDataQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdqMetrics'+--+-- * 'rdqFilters'+--+-- * 'rdqIds'+--+-- * 'rdqSort'+--+-- * 'rdqDimensions'+--+-- * 'rdqMaxResults'+realtimeDataQuery+    :: RealtimeDataQuery+realtimeDataQuery =+    RealtimeDataQuery+    { _rdqMetrics = Nothing+    , _rdqFilters = Nothing+    , _rdqIds = Nothing+    , _rdqSort = Nothing+    , _rdqDimensions = Nothing+    , _rdqMaxResults = Nothing+    }++-- | List of real time metrics.+rdqMetrics :: Lens' RealtimeDataQuery [Text]+rdqMetrics+  = lens _rdqMetrics (\ s a -> s{_rdqMetrics = a}) .+      _Default+      . _Coerce++-- | Comma-separated list of dimension or metric filters.+rdqFilters :: Lens' RealtimeDataQuery (Maybe Text)+rdqFilters+  = lens _rdqFilters (\ s a -> s{_rdqFilters = a})++-- | Unique table ID.+rdqIds :: Lens' RealtimeDataQuery (Maybe Text)+rdqIds = lens _rdqIds (\ s a -> s{_rdqIds = a})++-- | List of dimensions or metrics based on which real time data is sorted.+rdqSort :: Lens' RealtimeDataQuery [Text]+rdqSort+  = lens _rdqSort (\ s a -> s{_rdqSort = a}) . _Default+      . _Coerce++-- | List of real time dimensions.+rdqDimensions :: Lens' RealtimeDataQuery (Maybe Text)+rdqDimensions+  = lens _rdqDimensions+      (\ s a -> s{_rdqDimensions = a})++-- | Maximum results per page.+rdqMaxResults :: Lens' RealtimeDataQuery (Maybe Int32)+rdqMaxResults+  = lens _rdqMaxResults+      (\ s a -> s{_rdqMaxResults = a})+      . mapping _Coerce++instance FromJSON RealtimeDataQuery where+        parseJSON+          = withObject "RealtimeDataQuery"+              (\ o ->+                 RealtimeDataQuery <$>+                   (o .:? "metrics" .!= mempty) <*> (o .:? "filters")+                     <*> (o .:? "ids")+                     <*> (o .:? "sort" .!= mempty)+                     <*> (o .:? "dimensions")+                     <*> (o .:? "max-results"))++instance ToJSON RealtimeDataQuery where+        toJSON RealtimeDataQuery{..}+          = object+              (catMaybes+                 [("metrics" .=) <$> _rdqMetrics,+                  ("filters" .=) <$> _rdqFilters,+                  ("ids" .=) <$> _rdqIds, ("sort" .=) <$> _rdqSort,+                  ("dimensions" .=) <$> _rdqDimensions,+                  ("max-results" .=) <$> _rdqMaxResults])++-- | Lists columns (dimensions and metrics) for a particular report type.+--+-- /See:/ 'columns' smart constructor.+data Columns = Columns+    { _colEtag           :: !(Maybe Text)+    , _colKind           :: !Text+    , _colItems          :: !(Maybe [Column])+    , _colTotalResults   :: !(Maybe (Textual Int32))+    , _colAttributeNames :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Columns' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'colEtag'+--+-- * 'colKind'+--+-- * 'colItems'+--+-- * 'colTotalResults'+--+-- * 'colAttributeNames'+columns+    :: Columns+columns =+    Columns+    { _colEtag = Nothing+    , _colKind = "analytics#columns"+    , _colItems = Nothing+    , _colTotalResults = Nothing+    , _colAttributeNames = Nothing+    }++-- | Etag of collection. This etag can be compared with the last response+-- etag to check if response has changed.+colEtag :: Lens' Columns (Maybe Text)+colEtag = lens _colEtag (\ s a -> s{_colEtag = a})++-- | Collection type.+colKind :: Lens' Columns Text+colKind = lens _colKind (\ s a -> s{_colKind = a})++-- | List of columns for a report type.+colItems :: Lens' Columns [Column]+colItems+  = lens _colItems (\ s a -> s{_colItems = a}) .+      _Default+      . _Coerce++-- | Total number of columns returned in the response.+colTotalResults :: Lens' Columns (Maybe Int32)+colTotalResults+  = lens _colTotalResults+      (\ s a -> s{_colTotalResults = a})+      . mapping _Coerce++-- | List of attributes names returned by columns.+colAttributeNames :: Lens' Columns [Text]+colAttributeNames+  = lens _colAttributeNames+      (\ s a -> s{_colAttributeNames = a})+      . _Default+      . _Coerce++instance FromJSON Columns where+        parseJSON+          = withObject "Columns"+              (\ o ->+                 Columns <$>+                   (o .:? "etag") <*>+                     (o .:? "kind" .!= "analytics#columns")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "attributeNames" .!= mempty))++instance ToJSON Columns where+        toJSON Columns{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _colEtag, Just ("kind" .= _colKind),+                  ("items" .=) <$> _colItems,+                  ("totalResults" .=) <$> _colTotalResults,+                  ("attributeNames" .=) <$> _colAttributeNames])++-- | Details for the filter of the type LOWER.+--+-- /See:/ 'filterLowercaseDetails' smart constructor.+data FilterLowercaseDetails = FilterLowercaseDetails+    { _fldFieldIndex :: !(Maybe (Textual Int32))+    , _fldField      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterLowercaseDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fldFieldIndex'+--+-- * 'fldField'+filterLowercaseDetails+    :: FilterLowercaseDetails+filterLowercaseDetails =+    FilterLowercaseDetails+    { _fldFieldIndex = Nothing+    , _fldField = Nothing+    }++-- | The Index of the custom dimension. Required if field is a+-- CUSTOM_DIMENSION.+fldFieldIndex :: Lens' FilterLowercaseDetails (Maybe Int32)+fldFieldIndex+  = lens _fldFieldIndex+      (\ s a -> s{_fldFieldIndex = a})+      . mapping _Coerce++-- | Field to use in the filter.+fldField :: Lens' FilterLowercaseDetails (Maybe Text)+fldField = lens _fldField (\ s a -> s{_fldField = a})++instance FromJSON FilterLowercaseDetails where+        parseJSON+          = withObject "FilterLowercaseDetails"+              (\ o ->+                 FilterLowercaseDetails <$>+                   (o .:? "fieldIndex") <*> (o .:? "field"))++instance ToJSON FilterLowercaseDetails where+        toJSON FilterLowercaseDetails{..}+          = object+              (catMaybes+                 [("fieldIndex" .=) <$> _fldFieldIndex,+                  ("field" .=) <$> _fldField])++-- | JSON template for an Analytics account filter.+--+-- /See:/ 'filter'' smart constructor.+data Filter = Filter+    { _filParentLink              :: !(Maybe FilterParentLink)+    , _filAdvancedDetails         :: !(Maybe FilterAdvancedDetails)+    , _filUppercaseDetails        :: !(Maybe FilterUppercaseDetails)+    , _filLowercaseDetails        :: !(Maybe FilterLowercaseDetails)+    , _filKind                    :: !Text+    , _filCreated                 :: !(Maybe DateTime')+    , _filIncludeDetails          :: !(Maybe FilterExpression)+    , _filExcludeDetails          :: !(Maybe FilterExpression)+    , _filSelfLink                :: !(Maybe Text)+    , _filAccountId               :: !(Maybe Text)+    , _filName                    :: !(Maybe Text)+    , _filId                      :: !(Maybe Text)+    , _filUpdated                 :: !(Maybe DateTime')+    , _filType                    :: !(Maybe Text)+    , _filSearchAndReplaceDetails :: !(Maybe FilterSearchAndReplaceDetails)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'filParentLink'+--+-- * 'filAdvancedDetails'+--+-- * 'filUppercaseDetails'+--+-- * 'filLowercaseDetails'+--+-- * 'filKind'+--+-- * 'filCreated'+--+-- * 'filIncludeDetails'+--+-- * 'filExcludeDetails'+--+-- * 'filSelfLink'+--+-- * 'filAccountId'+--+-- * 'filName'+--+-- * 'filId'+--+-- * 'filUpdated'+--+-- * 'filType'+--+-- * 'filSearchAndReplaceDetails'+filter'+    :: Filter+filter' =+    Filter+    { _filParentLink = Nothing+    , _filAdvancedDetails = Nothing+    , _filUppercaseDetails = Nothing+    , _filLowercaseDetails = Nothing+    , _filKind = "analytics#filter"+    , _filCreated = Nothing+    , _filIncludeDetails = Nothing+    , _filExcludeDetails = Nothing+    , _filSelfLink = Nothing+    , _filAccountId = Nothing+    , _filName = Nothing+    , _filId = Nothing+    , _filUpdated = Nothing+    , _filType = Nothing+    , _filSearchAndReplaceDetails = Nothing+    }++-- | Parent link for this filter. Points to the account to which this filter+-- belongs.+filParentLink :: Lens' Filter (Maybe FilterParentLink)+filParentLink+  = lens _filParentLink+      (\ s a -> s{_filParentLink = a})++-- | Details for the filter of the type ADVANCED.+filAdvancedDetails :: Lens' Filter (Maybe FilterAdvancedDetails)+filAdvancedDetails+  = lens _filAdvancedDetails+      (\ s a -> s{_filAdvancedDetails = a})++-- | Details for the filter of the type UPPER.+filUppercaseDetails :: Lens' Filter (Maybe FilterUppercaseDetails)+filUppercaseDetails+  = lens _filUppercaseDetails+      (\ s a -> s{_filUppercaseDetails = a})++-- | Details for the filter of the type LOWER.+filLowercaseDetails :: Lens' Filter (Maybe FilterLowercaseDetails)+filLowercaseDetails+  = lens _filLowercaseDetails+      (\ s a -> s{_filLowercaseDetails = a})++-- | Resource type for Analytics filter.+filKind :: Lens' Filter Text+filKind = lens _filKind (\ s a -> s{_filKind = a})++-- | Time this filter was created.+filCreated :: Lens' Filter (Maybe UTCTime)+filCreated+  = lens _filCreated (\ s a -> s{_filCreated = a}) .+      mapping _DateTime++-- | Details for the filter of the type INCLUDE.+filIncludeDetails :: Lens' Filter (Maybe FilterExpression)+filIncludeDetails+  = lens _filIncludeDetails+      (\ s a -> s{_filIncludeDetails = a})++-- | Details for the filter of the type EXCLUDE.+filExcludeDetails :: Lens' Filter (Maybe FilterExpression)+filExcludeDetails+  = lens _filExcludeDetails+      (\ s a -> s{_filExcludeDetails = a})++-- | Link for this filter.+filSelfLink :: Lens' Filter (Maybe Text)+filSelfLink+  = lens _filSelfLink (\ s a -> s{_filSelfLink = a})++-- | Account ID to which this filter belongs.+filAccountId :: Lens' Filter (Maybe Text)+filAccountId+  = lens _filAccountId (\ s a -> s{_filAccountId = a})++-- | Name of this filter.+filName :: Lens' Filter (Maybe Text)+filName = lens _filName (\ s a -> s{_filName = a})++-- | Filter ID.+filId :: Lens' Filter (Maybe Text)+filId = lens _filId (\ s a -> s{_filId = a})++-- | Time this filter was last modified.+filUpdated :: Lens' Filter (Maybe UTCTime)+filUpdated+  = lens _filUpdated (\ s a -> s{_filUpdated = a}) .+      mapping _DateTime++-- | Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE,+-- UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.+filType :: Lens' Filter (Maybe Text)+filType = lens _filType (\ s a -> s{_filType = a})++-- | Details for the filter of the type SEARCH_AND_REPLACE.+filSearchAndReplaceDetails :: Lens' Filter (Maybe FilterSearchAndReplaceDetails)+filSearchAndReplaceDetails+  = lens _filSearchAndReplaceDetails+      (\ s a -> s{_filSearchAndReplaceDetails = a})++instance FromJSON Filter where+        parseJSON+          = withObject "Filter"+              (\ o ->+                 Filter <$>+                   (o .:? "parentLink") <*> (o .:? "advancedDetails")+                     <*> (o .:? "uppercaseDetails")+                     <*> (o .:? "lowercaseDetails")+                     <*> (o .:? "kind" .!= "analytics#filter")+                     <*> (o .:? "created")+                     <*> (o .:? "includeDetails")+                     <*> (o .:? "excludeDetails")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "type")+                     <*> (o .:? "searchAndReplaceDetails"))++instance ToJSON Filter where+        toJSON Filter{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _filParentLink,+                  ("advancedDetails" .=) <$> _filAdvancedDetails,+                  ("uppercaseDetails" .=) <$> _filUppercaseDetails,+                  ("lowercaseDetails" .=) <$> _filLowercaseDetails,+                  Just ("kind" .= _filKind),+                  ("created" .=) <$> _filCreated,+                  ("includeDetails" .=) <$> _filIncludeDetails,+                  ("excludeDetails" .=) <$> _filExcludeDetails,+                  ("selfLink" .=) <$> _filSelfLink,+                  ("accountId" .=) <$> _filAccountId,+                  ("name" .=) <$> _filName, ("id" .=) <$> _filId,+                  ("updated" .=) <$> _filUpdated,+                  ("type" .=) <$> _filType,+                  ("searchAndReplaceDetails" .=) <$>+                    _filSearchAndReplaceDetails])++-- | Upload collection lists Analytics uploads to which the user has access.+-- Each custom data source can have a set of uploads. Each resource in the+-- upload collection corresponds to a single Analytics data upload.+--+-- /See:/ 'uploads' smart constructor.+data Uploads = Uploads+    { _uplNextLink     :: !(Maybe Text)+    , _uplItemsPerPage :: !(Maybe (Textual Int32))+    , _uplKind         :: !Text+    , _uplItems        :: !(Maybe [Upload])+    , _uplTotalResults :: !(Maybe (Textual Int32))+    , _uplStartIndex   :: !(Maybe (Textual Int32))+    , _uplPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Uploads' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uplNextLink'+--+-- * 'uplItemsPerPage'+--+-- * 'uplKind'+--+-- * 'uplItems'+--+-- * 'uplTotalResults'+--+-- * 'uplStartIndex'+--+-- * 'uplPreviousLink'+uploads+    :: Uploads+uploads =+    Uploads+    { _uplNextLink = Nothing+    , _uplItemsPerPage = Nothing+    , _uplKind = "analytics#uploads"+    , _uplItems = Nothing+    , _uplTotalResults = Nothing+    , _uplStartIndex = Nothing+    , _uplPreviousLink = Nothing+    }++-- | Link to next page for this upload collection.+uplNextLink :: Lens' Uploads (Maybe Text)+uplNextLink+  = lens _uplNextLink (\ s a -> s{_uplNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+uplItemsPerPage :: Lens' Uploads (Maybe Int32)+uplItemsPerPage+  = lens _uplItemsPerPage+      (\ s a -> s{_uplItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+uplKind :: Lens' Uploads Text+uplKind = lens _uplKind (\ s a -> s{_uplKind = a})++-- | A list of uploads.+uplItems :: Lens' Uploads [Upload]+uplItems+  = lens _uplItems (\ s a -> s{_uplItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- resources in the result.+uplTotalResults :: Lens' Uploads (Maybe Int32)+uplTotalResults+  = lens _uplTotalResults+      (\ s a -> s{_uplTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+uplStartIndex :: Lens' Uploads (Maybe Int32)+uplStartIndex+  = lens _uplStartIndex+      (\ s a -> s{_uplStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this upload collection.+uplPreviousLink :: Lens' Uploads (Maybe Text)+uplPreviousLink+  = lens _uplPreviousLink+      (\ s a -> s{_uplPreviousLink = a})++instance FromJSON Uploads where+        parseJSON+          = withObject "Uploads"+              (\ o ->+                 Uploads <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#uploads")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Uploads where+        toJSON Uploads{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _uplNextLink,+                  ("itemsPerPage" .=) <$> _uplItemsPerPage,+                  Just ("kind" .= _uplKind),+                  ("items" .=) <$> _uplItems,+                  ("totalResults" .=) <$> _uplTotalResults,+                  ("startIndex" .=) <$> _uplStartIndex,+                  ("previousLink" .=) <$> _uplPreviousLink])++-- | A custom dimension collection lists Analytics custom dimensions to which+-- the user has access. Each resource in the collection corresponds to a+-- single Analytics custom dimension.+--+-- /See:/ 'customDimensions' smart constructor.+data CustomDimensions = CustomDimensions+    { _cdNextLink     :: !(Maybe Text)+    , _cdItemsPerPage :: !(Maybe (Textual Int32))+    , _cdKind         :: !Text+    , _cdUsername     :: !(Maybe Text)+    , _cdItems        :: !(Maybe [CustomDimension])+    , _cdTotalResults :: !(Maybe (Textual Int32))+    , _cdStartIndex   :: !(Maybe (Textual Int32))+    , _cdPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDimensions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdNextLink'+--+-- * 'cdItemsPerPage'+--+-- * 'cdKind'+--+-- * 'cdUsername'+--+-- * 'cdItems'+--+-- * 'cdTotalResults'+--+-- * 'cdStartIndex'+--+-- * 'cdPreviousLink'+customDimensions+    :: CustomDimensions+customDimensions =+    CustomDimensions+    { _cdNextLink = Nothing+    , _cdItemsPerPage = Nothing+    , _cdKind = "analytics#customDimensions"+    , _cdUsername = Nothing+    , _cdItems = Nothing+    , _cdTotalResults = Nothing+    , _cdStartIndex = Nothing+    , _cdPreviousLink = Nothing+    }++-- | Link to next page for this custom dimension collection.+cdNextLink :: Lens' CustomDimensions (Maybe Text)+cdNextLink+  = lens _cdNextLink (\ s a -> s{_cdNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+cdItemsPerPage :: Lens' CustomDimensions (Maybe Int32)+cdItemsPerPage+  = lens _cdItemsPerPage+      (\ s a -> s{_cdItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+cdKind :: Lens' CustomDimensions Text+cdKind = lens _cdKind (\ s a -> s{_cdKind = a})++-- | Email ID of the authenticated user+cdUsername :: Lens' CustomDimensions (Maybe Text)+cdUsername+  = lens _cdUsername (\ s a -> s{_cdUsername = a})++-- | Collection of custom dimensions.+cdItems :: Lens' CustomDimensions [CustomDimension]+cdItems+  = lens _cdItems (\ s a -> s{_cdItems = a}) . _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+cdTotalResults :: Lens' CustomDimensions (Maybe Int32)+cdTotalResults+  = lens _cdTotalResults+      (\ s a -> s{_cdTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+cdStartIndex :: Lens' CustomDimensions (Maybe Int32)+cdStartIndex+  = lens _cdStartIndex (\ s a -> s{_cdStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this custom dimension collection.+cdPreviousLink :: Lens' CustomDimensions (Maybe Text)+cdPreviousLink+  = lens _cdPreviousLink+      (\ s a -> s{_cdPreviousLink = a})++instance FromJSON CustomDimensions where+        parseJSON+          = withObject "CustomDimensions"+              (\ o ->+                 CustomDimensions <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#customDimensions")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON CustomDimensions where+        toJSON CustomDimensions{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _cdNextLink,+                  ("itemsPerPage" .=) <$> _cdItemsPerPage,+                  Just ("kind" .= _cdKind),+                  ("username" .=) <$> _cdUsername,+                  ("items" .=) <$> _cdItems,+                  ("totalResults" .=) <$> _cdTotalResults,+                  ("startIndex" .=) <$> _cdStartIndex,+                  ("previousLink" .=) <$> _cdPreviousLink])++-- | An segment collection lists Analytics segments that the user has access+-- to. Each resource in the collection corresponds to a single Analytics+-- segment.+--+-- /See:/ 'segments' smart constructor.+data Segments = Segments+    { _sNextLink     :: !(Maybe Text)+    , _sItemsPerPage :: !(Maybe (Textual Int32))+    , _sKind         :: !Text+    , _sUsername     :: !(Maybe Text)+    , _sItems        :: !(Maybe [Segment])+    , _sTotalResults :: !(Maybe (Textual Int32))+    , _sStartIndex   :: !(Maybe (Textual Int32))+    , _sPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Segments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sNextLink'+--+-- * 'sItemsPerPage'+--+-- * 'sKind'+--+-- * 'sUsername'+--+-- * 'sItems'+--+-- * 'sTotalResults'+--+-- * 'sStartIndex'+--+-- * 'sPreviousLink'+segments+    :: Segments+segments =+    Segments+    { _sNextLink = Nothing+    , _sItemsPerPage = Nothing+    , _sKind = "analytics#segments"+    , _sUsername = Nothing+    , _sItems = Nothing+    , _sTotalResults = Nothing+    , _sStartIndex = Nothing+    , _sPreviousLink = Nothing+    }++-- | Link to next page for this segment collection.+sNextLink :: Lens' Segments (Maybe Text)+sNextLink+  = lens _sNextLink (\ s a -> s{_sNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to 1000+-- with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+sItemsPerPage :: Lens' Segments (Maybe Int32)+sItemsPerPage+  = lens _sItemsPerPage+      (\ s a -> s{_sItemsPerPage = a})+      . mapping _Coerce++-- | Collection type for segments.+sKind :: Lens' Segments Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | Email ID of the authenticated user+sUsername :: Lens' Segments (Maybe Text)+sUsername+  = lens _sUsername (\ s a -> s{_sUsername = a})++-- | A list of segments.+sItems :: Lens' Segments [Segment]+sItems+  = lens _sItems (\ s a -> s{_sItems = a}) . _Default .+      _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+sTotalResults :: Lens' Segments (Maybe Int32)+sTotalResults+  = lens _sTotalResults+      (\ s a -> s{_sTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+sStartIndex :: Lens' Segments (Maybe Int32)+sStartIndex+  = lens _sStartIndex (\ s a -> s{_sStartIndex = a}) .+      mapping _Coerce++-- | Link to previous page for this segment collection.+sPreviousLink :: Lens' Segments (Maybe Text)+sPreviousLink+  = lens _sPreviousLink+      (\ s a -> s{_sPreviousLink = a})++instance FromJSON Segments where+        parseJSON+          = withObject "Segments"+              (\ o ->+                 Segments <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#segments")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON Segments where+        toJSON Segments{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _sNextLink,+                  ("itemsPerPage" .=) <$> _sItemsPerPage,+                  Just ("kind" .= _sKind),+                  ("username" .=) <$> _sUsername,+                  ("items" .=) <$> _sItems,+                  ("totalResults" .=) <$> _sTotalResults,+                  ("startIndex" .=) <$> _sStartIndex,+                  ("previousLink" .=) <$> _sPreviousLink])++--+-- /See:/ 'gaDataDataTable' smart constructor.+data GaDataDataTable = GaDataDataTable+    { _gddtCols :: !(Maybe [GaDataDataTableColsItem])+    , _gddtRows :: !(Maybe [GaDataDataTableRowsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataDataTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddtCols'+--+-- * 'gddtRows'+gaDataDataTable+    :: GaDataDataTable+gaDataDataTable =+    GaDataDataTable+    { _gddtCols = Nothing+    , _gddtRows = Nothing+    }++gddtCols :: Lens' GaDataDataTable [GaDataDataTableColsItem]+gddtCols+  = lens _gddtCols (\ s a -> s{_gddtCols = a}) .+      _Default+      . _Coerce++gddtRows :: Lens' GaDataDataTable [GaDataDataTableRowsItem]+gddtRows+  = lens _gddtRows (\ s a -> s{_gddtRows = a}) .+      _Default+      . _Coerce++instance FromJSON GaDataDataTable where+        parseJSON+          = withObject "GaDataDataTable"+              (\ o ->+                 GaDataDataTable <$>+                   (o .:? "cols" .!= mempty) <*>+                     (o .:? "rows" .!= mempty))++instance ToJSON GaDataDataTable where+        toJSON GaDataDataTable{..}+          = object+              (catMaybes+                 [("cols" .=) <$> _gddtCols,+                  ("rows" .=) <$> _gddtRows])++-- | Web property being linked.+--+-- /See:/ 'entityAdWordsLinkEntity' smart constructor.+newtype EntityAdWordsLinkEntity = EntityAdWordsLinkEntity+    { _eawleWebPropertyRef :: Maybe WebPropertyRef+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntityAdWordsLinkEntity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eawleWebPropertyRef'+entityAdWordsLinkEntity+    :: EntityAdWordsLinkEntity+entityAdWordsLinkEntity =+    EntityAdWordsLinkEntity+    { _eawleWebPropertyRef = Nothing+    }++eawleWebPropertyRef :: Lens' EntityAdWordsLinkEntity (Maybe WebPropertyRef)+eawleWebPropertyRef+  = lens _eawleWebPropertyRef+      (\ s a -> s{_eawleWebPropertyRef = a})++instance FromJSON EntityAdWordsLinkEntity where+        parseJSON+          = withObject "EntityAdWordsLinkEntity"+              (\ o ->+                 EntityAdWordsLinkEntity <$> (o .:? "webPropertyRef"))++instance ToJSON EntityAdWordsLinkEntity where+        toJSON EntityAdWordsLinkEntity{..}+          = object+              (catMaybes+                 [("webPropertyRef" .=) <$> _eawleWebPropertyRef])++-- | Details for the goal of the type URL_DESTINATION.+--+-- /See:/ 'goalURLDestinationDetails' smart constructor.+data GoalURLDestinationDetails = GoalURLDestinationDetails+    { _guddURL               :: !(Maybe Text)+    , _guddMatchType         :: !(Maybe Text)+    , _guddSteps             :: !(Maybe [GoalURLDestinationDetailsStepsItem])+    , _guddCaseSensitive     :: !(Maybe Bool)+    , _guddFirstStepRequired :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalURLDestinationDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'guddURL'+--+-- * 'guddMatchType'+--+-- * 'guddSteps'+--+-- * 'guddCaseSensitive'+--+-- * 'guddFirstStepRequired'+goalURLDestinationDetails+    :: GoalURLDestinationDetails+goalURLDestinationDetails =+    GoalURLDestinationDetails+    { _guddURL = Nothing+    , _guddMatchType = Nothing+    , _guddSteps = Nothing+    , _guddCaseSensitive = Nothing+    , _guddFirstStepRequired = Nothing+    }++-- | URL for this goal.+guddURL :: Lens' GoalURLDestinationDetails (Maybe Text)+guddURL = lens _guddURL (\ s a -> s{_guddURL = a})++-- | Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.+guddMatchType :: Lens' GoalURLDestinationDetails (Maybe Text)+guddMatchType+  = lens _guddMatchType+      (\ s a -> s{_guddMatchType = a})++-- | List of steps configured for this goal funnel.+guddSteps :: Lens' GoalURLDestinationDetails [GoalURLDestinationDetailsStepsItem]+guddSteps+  = lens _guddSteps (\ s a -> s{_guddSteps = a}) .+      _Default+      . _Coerce++-- | Determines if the goal URL must exactly match the capitalization of+-- visited URLs.+guddCaseSensitive :: Lens' GoalURLDestinationDetails (Maybe Bool)+guddCaseSensitive+  = lens _guddCaseSensitive+      (\ s a -> s{_guddCaseSensitive = a})++-- | Determines if the first step in this goal is required.+guddFirstStepRequired :: Lens' GoalURLDestinationDetails (Maybe Bool)+guddFirstStepRequired+  = lens _guddFirstStepRequired+      (\ s a -> s{_guddFirstStepRequired = a})++instance FromJSON GoalURLDestinationDetails where+        parseJSON+          = withObject "GoalURLDestinationDetails"+              (\ o ->+                 GoalURLDestinationDetails <$>+                   (o .:? "url") <*> (o .:? "matchType") <*>+                     (o .:? "steps" .!= mempty)+                     <*> (o .:? "caseSensitive")+                     <*> (o .:? "firstStepRequired"))++instance ToJSON GoalURLDestinationDetails where+        toJSON GoalURLDestinationDetails{..}+          = object+              (catMaybes+                 [("url" .=) <$> _guddURL,+                  ("matchType" .=) <$> _guddMatchType,+                  ("steps" .=) <$> _guddSteps,+                  ("caseSensitive" .=) <$> _guddCaseSensitive,+                  ("firstStepRequired" .=) <$> _guddFirstStepRequired])++-- | A profile filter link collection lists profile filter links between+-- profiles and filters. Each resource in the collection corresponds to a+-- profile filter link.+--+-- /See:/ 'proFileFilterLinks' smart constructor.+data ProFileFilterLinks = ProFileFilterLinks+    { _pfflNextLink     :: !(Maybe Text)+    , _pfflItemsPerPage :: !(Maybe (Textual Int32))+    , _pfflKind         :: !Text+    , _pfflUsername     :: !(Maybe Text)+    , _pfflItems        :: !(Maybe [ProFileFilterLink])+    , _pfflTotalResults :: !(Maybe (Textual Int32))+    , _pfflStartIndex   :: !(Maybe (Textual Int32))+    , _pfflPreviousLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileFilterLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfflNextLink'+--+-- * 'pfflItemsPerPage'+--+-- * 'pfflKind'+--+-- * 'pfflUsername'+--+-- * 'pfflItems'+--+-- * 'pfflTotalResults'+--+-- * 'pfflStartIndex'+--+-- * 'pfflPreviousLink'+proFileFilterLinks+    :: ProFileFilterLinks+proFileFilterLinks =+    ProFileFilterLinks+    { _pfflNextLink = Nothing+    , _pfflItemsPerPage = Nothing+    , _pfflKind = "analytics#profileFilterLinks"+    , _pfflUsername = Nothing+    , _pfflItems = Nothing+    , _pfflTotalResults = Nothing+    , _pfflStartIndex = Nothing+    , _pfflPreviousLink = Nothing+    }++-- | Link to next page for this profile filter link collection.+pfflNextLink :: Lens' ProFileFilterLinks (Maybe Text)+pfflNextLink+  = lens _pfflNextLink (\ s a -> s{_pfflNextLink = a})++-- | The maximum number of resources the response can contain, regardless of+-- the actual number of resources returned. Its value ranges from 1 to+-- 1,000 with a value of 1000 by default, or otherwise specified by the+-- max-results query parameter.+pfflItemsPerPage :: Lens' ProFileFilterLinks (Maybe Int32)+pfflItemsPerPage+  = lens _pfflItemsPerPage+      (\ s a -> s{_pfflItemsPerPage = a})+      . mapping _Coerce++-- | Collection type.+pfflKind :: Lens' ProFileFilterLinks Text+pfflKind = lens _pfflKind (\ s a -> s{_pfflKind = a})++-- | Email ID of the authenticated user+pfflUsername :: Lens' ProFileFilterLinks (Maybe Text)+pfflUsername+  = lens _pfflUsername (\ s a -> s{_pfflUsername = a})++-- | A list of profile filter links.+pfflItems :: Lens' ProFileFilterLinks [ProFileFilterLink]+pfflItems+  = lens _pfflItems (\ s a -> s{_pfflItems = a}) .+      _Default+      . _Coerce++-- | The total number of results for the query, regardless of the number of+-- results in the response.+pfflTotalResults :: Lens' ProFileFilterLinks (Maybe Int32)+pfflTotalResults+  = lens _pfflTotalResults+      (\ s a -> s{_pfflTotalResults = a})+      . mapping _Coerce++-- | The starting index of the resources, which is 1 by default or otherwise+-- specified by the start-index query parameter.+pfflStartIndex :: Lens' ProFileFilterLinks (Maybe Int32)+pfflStartIndex+  = lens _pfflStartIndex+      (\ s a -> s{_pfflStartIndex = a})+      . mapping _Coerce++-- | Link to previous page for this profile filter link collection.+pfflPreviousLink :: Lens' ProFileFilterLinks (Maybe Text)+pfflPreviousLink+  = lens _pfflPreviousLink+      (\ s a -> s{_pfflPreviousLink = a})++instance FromJSON ProFileFilterLinks where+        parseJSON+          = withObject "ProFileFilterLinks"+              (\ o ->+                 ProFileFilterLinks <$>+                   (o .:? "nextLink") <*> (o .:? "itemsPerPage") <*>+                     (o .:? "kind" .!= "analytics#profileFilterLinks")+                     <*> (o .:? "username")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "totalResults")+                     <*> (o .:? "startIndex")+                     <*> (o .:? "previousLink"))++instance ToJSON ProFileFilterLinks where+        toJSON ProFileFilterLinks{..}+          = object+              (catMaybes+                 [("nextLink" .=) <$> _pfflNextLink,+                  ("itemsPerPage" .=) <$> _pfflItemsPerPage,+                  Just ("kind" .= _pfflKind),+                  ("username" .=) <$> _pfflUsername,+                  ("items" .=) <$> _pfflItems,+                  ("totalResults" .=) <$> _pfflTotalResults,+                  ("startIndex" .=) <$> _pfflStartIndex,+                  ("previousLink" .=) <$> _pfflPreviousLink])++-- | Parent link for this web property. Points to the account to which this+-- web property belongs.+--+-- /See:/ 'webPropertyParentLink' smart constructor.+data WebPropertyParentLink = WebPropertyParentLink+    { _wpplHref :: !(Maybe Text)+    , _wpplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebPropertyParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wpplHref'+--+-- * 'wpplType'+webPropertyParentLink+    :: WebPropertyParentLink+webPropertyParentLink =+    WebPropertyParentLink+    { _wpplHref = Nothing+    , _wpplType = "analytics#account"+    }++-- | Link to the account for this web property.+wpplHref :: Lens' WebPropertyParentLink (Maybe Text)+wpplHref = lens _wpplHref (\ s a -> s{_wpplHref = a})++-- | Type of the parent link. Its value is \"analytics#account\".+wpplType :: Lens' WebPropertyParentLink Text+wpplType = lens _wpplType (\ s a -> s{_wpplType = a})++instance FromJSON WebPropertyParentLink where+        parseJSON+          = withObject "WebPropertyParentLink"+              (\ o ->+                 WebPropertyParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#account"))++instance ToJSON WebPropertyParentLink where+        toJSON WebPropertyParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _wpplHref,+                  Just ("type" .= _wpplType)])++-- | Information for the view (profile), for which the Analytics data was+-- requested.+--+-- /See:/ 'gaDataProFileInfo' smart constructor.+data GaDataProFileInfo = GaDataProFileInfo+    { _gdpfiWebPropertyId         :: !(Maybe Text)+    , _gdpfiProFileId             :: !(Maybe Text)+    , _gdpfiProFileName           :: !(Maybe Text)+    , _gdpfiAccountId             :: !(Maybe Text)+    , _gdpfiInternalWebPropertyId :: !(Maybe Text)+    , _gdpfiTableId               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataProFileInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdpfiWebPropertyId'+--+-- * 'gdpfiProFileId'+--+-- * 'gdpfiProFileName'+--+-- * 'gdpfiAccountId'+--+-- * 'gdpfiInternalWebPropertyId'+--+-- * 'gdpfiTableId'+gaDataProFileInfo+    :: GaDataProFileInfo+gaDataProFileInfo =+    GaDataProFileInfo+    { _gdpfiWebPropertyId = Nothing+    , _gdpfiProFileId = Nothing+    , _gdpfiProFileName = Nothing+    , _gdpfiAccountId = Nothing+    , _gdpfiInternalWebPropertyId = Nothing+    , _gdpfiTableId = Nothing+    }++-- | Web Property ID to which this view (profile) belongs.+gdpfiWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiWebPropertyId+  = lens _gdpfiWebPropertyId+      (\ s a -> s{_gdpfiWebPropertyId = a})++-- | View (Profile) ID.+gdpfiProFileId :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiProFileId+  = lens _gdpfiProFileId+      (\ s a -> s{_gdpfiProFileId = a})++-- | View (Profile) name.+gdpfiProFileName :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiProFileName+  = lens _gdpfiProFileName+      (\ s a -> s{_gdpfiProFileName = a})++-- | Account ID to which this view (profile) belongs.+gdpfiAccountId :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiAccountId+  = lens _gdpfiAccountId+      (\ s a -> s{_gdpfiAccountId = a})++-- | Internal ID for the web property to which this view (profile) belongs.+gdpfiInternalWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiInternalWebPropertyId+  = lens _gdpfiInternalWebPropertyId+      (\ s a -> s{_gdpfiInternalWebPropertyId = a})++-- | Table ID for view (profile).+gdpfiTableId :: Lens' GaDataProFileInfo (Maybe Text)+gdpfiTableId+  = lens _gdpfiTableId (\ s a -> s{_gdpfiTableId = a})++instance FromJSON GaDataProFileInfo where+        parseJSON+          = withObject "GaDataProFileInfo"+              (\ o ->+                 GaDataProFileInfo <$>+                   (o .:? "webPropertyId") <*> (o .:? "profileId") <*>+                     (o .:? "profileName")+                     <*> (o .:? "accountId")+                     <*> (o .:? "internalWebPropertyId")+                     <*> (o .:? "tableId"))++instance ToJSON GaDataProFileInfo where+        toJSON GaDataProFileInfo{..}+          = object+              (catMaybes+                 [("webPropertyId" .=) <$> _gdpfiWebPropertyId,+                  ("profileId" .=) <$> _gdpfiProFileId,+                  ("profileName" .=) <$> _gdpfiProFileName,+                  ("accountId" .=) <$> _gdpfiAccountId,+                  ("internalWebPropertyId" .=) <$>+                    _gdpfiInternalWebPropertyId,+                  ("tableId" .=) <$> _gdpfiTableId])++-- | Metadata returned for an upload operation.+--+-- /See:/ 'upload' smart constructor.+data Upload = Upload+    { _uuStatus             :: !(Maybe Text)+    , _uuKind               :: !Text+    , _uuCustomDataSourceId :: !(Maybe Text)+    , _uuAccountId          :: !(Maybe (Textual Int64))+    , _uuId                 :: !(Maybe Text)+    , _uuErrors             :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Upload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uuStatus'+--+-- * 'uuKind'+--+-- * 'uuCustomDataSourceId'+--+-- * 'uuAccountId'+--+-- * 'uuId'+--+-- * 'uuErrors'+upload+    :: Upload+upload =+    Upload+    { _uuStatus = Nothing+    , _uuKind = "analytics#upload"+    , _uuCustomDataSourceId = Nothing+    , _uuAccountId = Nothing+    , _uuId = Nothing+    , _uuErrors = Nothing+    }++-- | Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING,+-- DELETED.+uuStatus :: Lens' Upload (Maybe Text)+uuStatus = lens _uuStatus (\ s a -> s{_uuStatus = a})++-- | Resource type for Analytics upload.+uuKind :: Lens' Upload Text+uuKind = lens _uuKind (\ s a -> s{_uuKind = a})++-- | Custom data source Id to which this data import belongs.+uuCustomDataSourceId :: Lens' Upload (Maybe Text)+uuCustomDataSourceId+  = lens _uuCustomDataSourceId+      (\ s a -> s{_uuCustomDataSourceId = a})++-- | Account Id to which this upload belongs.+uuAccountId :: Lens' Upload (Maybe Int64)+uuAccountId+  = lens _uuAccountId (\ s a -> s{_uuAccountId = a}) .+      mapping _Coerce++-- | A unique ID for this upload.+uuId :: Lens' Upload (Maybe Text)+uuId = lens _uuId (\ s a -> s{_uuId = a})++-- | Data import errors collection.+uuErrors :: Lens' Upload [Text]+uuErrors+  = lens _uuErrors (\ s a -> s{_uuErrors = a}) .+      _Default+      . _Coerce++instance FromJSON Upload where+        parseJSON+          = withObject "Upload"+              (\ o ->+                 Upload <$>+                   (o .:? "status") <*>+                     (o .:? "kind" .!= "analytics#upload")+                     <*> (o .:? "customDataSourceId")+                     <*> (o .:? "accountId")+                     <*> (o .:? "id")+                     <*> (o .:? "errors" .!= mempty))++instance ToJSON Upload where+        toJSON Upload{..}+          = object+              (catMaybes+                 [("status" .=) <$> _uuStatus,+                  Just ("kind" .= _uuKind),+                  ("customDataSourceId" .=) <$> _uuCustomDataSourceId,+                  ("accountId" .=) <$> _uuAccountId,+                  ("id" .=) <$> _uuId, ("errors" .=) <$> _uuErrors])++-- | JSON template for Analytics Custom Dimension.+--+-- /See:/ 'customDimension' smart constructor.+data CustomDimension = CustomDimension+    { _cddParentLink    :: !(Maybe CustomDimensionParentLink)+    , _cddWebPropertyId :: !(Maybe Text)+    , _cddKind          :: !Text+    , _cddCreated       :: !(Maybe DateTime')+    , _cddActive        :: !(Maybe Bool)+    , _cddSelfLink      :: !(Maybe Text)+    , _cddAccountId     :: !(Maybe Text)+    , _cddName          :: !(Maybe Text)+    , _cddScope         :: !(Maybe Text)+    , _cddId            :: !(Maybe Text)+    , _cddUpdated       :: !(Maybe DateTime')+    , _cddIndex         :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomDimension' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddParentLink'+--+-- * 'cddWebPropertyId'+--+-- * 'cddKind'+--+-- * 'cddCreated'+--+-- * 'cddActive'+--+-- * 'cddSelfLink'+--+-- * 'cddAccountId'+--+-- * 'cddName'+--+-- * 'cddScope'+--+-- * 'cddId'+--+-- * 'cddUpdated'+--+-- * 'cddIndex'+customDimension+    :: CustomDimension+customDimension =+    CustomDimension+    { _cddParentLink = Nothing+    , _cddWebPropertyId = Nothing+    , _cddKind = "analytics#customDimension"+    , _cddCreated = Nothing+    , _cddActive = Nothing+    , _cddSelfLink = Nothing+    , _cddAccountId = Nothing+    , _cddName = Nothing+    , _cddScope = Nothing+    , _cddId = Nothing+    , _cddUpdated = Nothing+    , _cddIndex = Nothing+    }++-- | Parent link for the custom dimension. Points to the property to which+-- the custom dimension belongs.+cddParentLink :: Lens' CustomDimension (Maybe CustomDimensionParentLink)+cddParentLink+  = lens _cddParentLink+      (\ s a -> s{_cddParentLink = a})++-- | Property ID.+cddWebPropertyId :: Lens' CustomDimension (Maybe Text)+cddWebPropertyId+  = lens _cddWebPropertyId+      (\ s a -> s{_cddWebPropertyId = a})++-- | Kind value for a custom dimension. Set to \"analytics#customDimension\".+-- It is a read-only field.+cddKind :: Lens' CustomDimension Text+cddKind = lens _cddKind (\ s a -> s{_cddKind = a})++-- | Time the custom dimension was created.+cddCreated :: Lens' CustomDimension (Maybe UTCTime)+cddCreated+  = lens _cddCreated (\ s a -> s{_cddCreated = a}) .+      mapping _DateTime++-- | Boolean indicating whether the custom dimension is active.+cddActive :: Lens' CustomDimension (Maybe Bool)+cddActive+  = lens _cddActive (\ s a -> s{_cddActive = a})++-- | Link for the custom dimension+cddSelfLink :: Lens' CustomDimension (Maybe Text)+cddSelfLink+  = lens _cddSelfLink (\ s a -> s{_cddSelfLink = a})++-- | Account ID.+cddAccountId :: Lens' CustomDimension (Maybe Text)+cddAccountId+  = lens _cddAccountId (\ s a -> s{_cddAccountId = a})++-- | Name of the custom dimension.+cddName :: Lens' CustomDimension (Maybe Text)+cddName = lens _cddName (\ s a -> s{_cddName = a})++-- | Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.+cddScope :: Lens' CustomDimension (Maybe Text)+cddScope = lens _cddScope (\ s a -> s{_cddScope = a})++-- | Custom dimension ID.+cddId :: Lens' CustomDimension (Maybe Text)+cddId = lens _cddId (\ s a -> s{_cddId = a})++-- | Time the custom dimension was last modified.+cddUpdated :: Lens' CustomDimension (Maybe UTCTime)+cddUpdated+  = lens _cddUpdated (\ s a -> s{_cddUpdated = a}) .+      mapping _DateTime++-- | Index of the custom dimension.+cddIndex :: Lens' CustomDimension (Maybe Int32)+cddIndex+  = lens _cddIndex (\ s a -> s{_cddIndex = a}) .+      mapping _Coerce++instance FromJSON CustomDimension where+        parseJSON+          = withObject "CustomDimension"+              (\ o ->+                 CustomDimension <$>+                   (o .:? "parentLink") <*> (o .:? "webPropertyId") <*>+                     (o .:? "kind" .!= "analytics#customDimension")+                     <*> (o .:? "created")+                     <*> (o .:? "active")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "accountId")+                     <*> (o .:? "name")+                     <*> (o .:? "scope")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "index"))++instance ToJSON CustomDimension where+        toJSON CustomDimension{..}+          = object+              (catMaybes+                 [("parentLink" .=) <$> _cddParentLink,+                  ("webPropertyId" .=) <$> _cddWebPropertyId,+                  Just ("kind" .= _cddKind),+                  ("created" .=) <$> _cddCreated,+                  ("active" .=) <$> _cddActive,+                  ("selfLink" .=) <$> _cddSelfLink,+                  ("accountId" .=) <$> _cddAccountId,+                  ("name" .=) <$> _cddName, ("scope" .=) <$> _cddScope,+                  ("id" .=) <$> _cddId, ("updated" .=) <$> _cddUpdated,+                  ("index" .=) <$> _cddIndex])++-- | JSON template for an Analytics segment.+--+-- /See:/ 'segment' smart constructor.+data Segment = Segment+    { _segDefinition :: !(Maybe Text)+    , _segKind       :: !Text+    , _segCreated    :: !(Maybe DateTime')+    , _segSelfLink   :: !(Maybe Text)+    , _segName       :: !(Maybe Text)+    , _segId         :: !(Maybe Text)+    , _segUpdated    :: !(Maybe DateTime')+    , _segType       :: !(Maybe Text)+    , _segSegmentId  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Segment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'segDefinition'+--+-- * 'segKind'+--+-- * 'segCreated'+--+-- * 'segSelfLink'+--+-- * 'segName'+--+-- * 'segId'+--+-- * 'segUpdated'+--+-- * 'segType'+--+-- * 'segSegmentId'+segment+    :: Segment+segment =+    Segment+    { _segDefinition = Nothing+    , _segKind = "analytics#segment"+    , _segCreated = Nothing+    , _segSelfLink = Nothing+    , _segName = Nothing+    , _segId = Nothing+    , _segUpdated = Nothing+    , _segType = Nothing+    , _segSegmentId = Nothing+    }++-- | Segment definition.+segDefinition :: Lens' Segment (Maybe Text)+segDefinition+  = lens _segDefinition+      (\ s a -> s{_segDefinition = a})++-- | Resource type for Analytics segment.+segKind :: Lens' Segment Text+segKind = lens _segKind (\ s a -> s{_segKind = a})++-- | Time the segment was created.+segCreated :: Lens' Segment (Maybe UTCTime)+segCreated+  = lens _segCreated (\ s a -> s{_segCreated = a}) .+      mapping _DateTime++-- | Link for this segment.+segSelfLink :: Lens' Segment (Maybe Text)+segSelfLink+  = lens _segSelfLink (\ s a -> s{_segSelfLink = a})++-- | Segment name.+segName :: Lens' Segment (Maybe Text)+segName = lens _segName (\ s a -> s{_segName = a})++-- | Segment ID.+segId :: Lens' Segment (Maybe Text)+segId = lens _segId (\ s a -> s{_segId = a})++-- | Time the segment was last modified.+segUpdated :: Lens' Segment (Maybe UTCTime)+segUpdated+  = lens _segUpdated (\ s a -> s{_segUpdated = a}) .+      mapping _DateTime++-- | Type for a segment. Possible values are \"BUILT_IN\" or \"CUSTOM\".+segType :: Lens' Segment (Maybe Text)+segType = lens _segType (\ s a -> s{_segType = a})++-- | Segment ID. Can be used with the \'segment\' parameter in Core Reporting+-- API.+segSegmentId :: Lens' Segment (Maybe Text)+segSegmentId+  = lens _segSegmentId (\ s a -> s{_segSegmentId = a})++instance FromJSON Segment where+        parseJSON+          = withObject "Segment"+              (\ o ->+                 Segment <$>+                   (o .:? "definition") <*>+                     (o .:? "kind" .!= "analytics#segment")+                     <*> (o .:? "created")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "updated")+                     <*> (o .:? "type")+                     <*> (o .:? "segmentId"))++instance ToJSON Segment where+        toJSON Segment{..}+          = object+              (catMaybes+                 [("definition" .=) <$> _segDefinition,+                  Just ("kind" .= _segKind),+                  ("created" .=) <$> _segCreated,+                  ("selfLink" .=) <$> _segSelfLink,+                  ("name" .=) <$> _segName, ("id" .=) <$> _segId,+                  ("updated" .=) <$> _segUpdated,+                  ("type" .=) <$> _segType,+                  ("segmentId" .=) <$> _segSegmentId])++-- | Child link for an account entry. Points to the list of web properties+-- for this account.+--+-- /See:/ 'accountChildLink' smart constructor.+data AccountChildLink = AccountChildLink+    { _aclHref :: !(Maybe Text)+    , _aclType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountChildLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aclHref'+--+-- * 'aclType'+accountChildLink+    :: AccountChildLink+accountChildLink =+    AccountChildLink+    { _aclHref = Nothing+    , _aclType = "analytics#webproperties"+    }++-- | Link to the list of web properties for this account.+aclHref :: Lens' AccountChildLink (Maybe Text)+aclHref = lens _aclHref (\ s a -> s{_aclHref = a})++-- | Type of the child link. Its value is \"analytics#webproperties\".+aclType :: Lens' AccountChildLink Text+aclType = lens _aclType (\ s a -> s{_aclType = a})++instance FromJSON AccountChildLink where+        parseJSON+          = withObject "AccountChildLink"+              (\ o ->+                 AccountChildLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#webproperties"))++instance ToJSON AccountChildLink where+        toJSON AccountChildLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _aclHref,+                  Just ("type" .= _aclType)])++-- | JSON template for an Analytics profile filter link.+--+-- /See:/ 'proFileFilterLink' smart constructor.+data ProFileFilterLink = ProFileFilterLink+    { _proProFileRef :: !(Maybe ProFileRef)+    , _proKind       :: !Text+    , _proFilterRef  :: !(Maybe FilterRef)+    , _proSelfLink   :: !(Maybe Text)+    , _proId         :: !(Maybe Text)+    , _proRank       :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileFilterLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'proProFileRef'+--+-- * 'proKind'+--+-- * 'proFilterRef'+--+-- * 'proSelfLink'+--+-- * 'proId'+--+-- * 'proRank'+proFileFilterLink+    :: ProFileFilterLink+proFileFilterLink =+    ProFileFilterLink+    { _proProFileRef = Nothing+    , _proKind = "analytics#profileFilterLink"+    , _proFilterRef = Nothing+    , _proSelfLink = Nothing+    , _proId = Nothing+    , _proRank = Nothing+    }++-- | View (Profile) for this link.+proProFileRef :: Lens' ProFileFilterLink (Maybe ProFileRef)+proProFileRef+  = lens _proProFileRef+      (\ s a -> s{_proProFileRef = a})++-- | Resource type for Analytics filter.+proKind :: Lens' ProFileFilterLink Text+proKind = lens _proKind (\ s a -> s{_proKind = a})++-- | Filter for this link.+proFilterRef :: Lens' ProFileFilterLink (Maybe FilterRef)+proFilterRef+  = lens _proFilterRef (\ s a -> s{_proFilterRef = a})++-- | Link for this profile filter link.+proSelfLink :: Lens' ProFileFilterLink (Maybe Text)+proSelfLink+  = lens _proSelfLink (\ s a -> s{_proSelfLink = a})++-- | Profile filter link ID.+proId :: Lens' ProFileFilterLink (Maybe Text)+proId = lens _proId (\ s a -> s{_proId = a})++-- | The rank of this profile filter link relative to the other filters+-- linked to the same profile. For readonly (i.e., list and get)+-- operations, the rank always starts at 1. For write (i.e., create,+-- update, or delete) operations, you may specify a value between 0 and 255+-- inclusively, [0, 255]. In order to insert a link at the end of the list,+-- either don\'t specify a rank or set a rank to a number greater than the+-- largest rank in the list. In order to insert a link to the beginning of+-- the list specify a rank that is less than or equal to 1. The new link+-- will move all existing filters with the same or lower rank down the+-- list. After the link is inserted\/updated\/deleted all profile filter+-- links will be renumbered starting at 1.+proRank :: Lens' ProFileFilterLink (Maybe Int32)+proRank+  = lens _proRank (\ s a -> s{_proRank = a}) .+      mapping _Coerce++instance FromJSON ProFileFilterLink where+        parseJSON+          = withObject "ProFileFilterLink"+              (\ o ->+                 ProFileFilterLink <$>+                   (o .:? "profileRef") <*>+                     (o .:? "kind" .!= "analytics#profileFilterLink")+                     <*> (o .:? "filterRef")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id")+                     <*> (o .:? "rank"))++instance ToJSON ProFileFilterLink where+        toJSON ProFileFilterLink{..}+          = object+              (catMaybes+                 [("profileRef" .=) <$> _proProFileRef,+                  Just ("kind" .= _proKind),+                  ("filterRef" .=) <$> _proFilterRef,+                  ("selfLink" .=) <$> _proSelfLink,+                  ("id" .=) <$> _proId, ("rank" .=) <$> _proRank])++-- | Parent link for the custom metric. Points to the property to which the+-- custom metric belongs.+--+-- /See:/ 'customMetricParentLink' smart constructor.+data CustomMetricParentLink = CustomMetricParentLink+    { _cmplHref :: !(Maybe Text)+    , _cmplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomMetricParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmplHref'+--+-- * 'cmplType'+customMetricParentLink+    :: CustomMetricParentLink+customMetricParentLink =+    CustomMetricParentLink+    { _cmplHref = Nothing+    , _cmplType = "analytics#webproperty"+    }++-- | Link to the property to which the custom metric belongs.+cmplHref :: Lens' CustomMetricParentLink (Maybe Text)+cmplHref = lens _cmplHref (\ s a -> s{_cmplHref = a})++-- | Type of the parent link. Set to \"analytics#webproperty\".+cmplType :: Lens' CustomMetricParentLink Text+cmplType = lens _cmplType (\ s a -> s{_cmplType = a})++instance FromJSON CustomMetricParentLink where+        parseJSON+          = withObject "CustomMetricParentLink"+              (\ o ->+                 CustomMetricParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#webproperty"))++instance ToJSON CustomMetricParentLink where+        toJSON CustomMetricParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _cmplHref,+                  Just ("type" .= _cmplType)])++-- | JSON template for a metadata column.+--+-- /See:/ 'column' smart constructor.+data Column = Column+    { _ccKind       :: !Text+    , _ccAttributes :: !(Maybe ColumnAttributes)+    , _ccId         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Column' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccKind'+--+-- * 'ccAttributes'+--+-- * 'ccId'+column+    :: Column+column =+    Column+    { _ccKind = "analytics#column"+    , _ccAttributes = Nothing+    , _ccId = Nothing+    }++-- | Resource type for Analytics column.+ccKind :: Lens' Column Text+ccKind = lens _ccKind (\ s a -> s{_ccKind = a})++-- | Map of attribute name and value for this column.+ccAttributes :: Lens' Column (Maybe ColumnAttributes)+ccAttributes+  = lens _ccAttributes (\ s a -> s{_ccAttributes = a})++-- | Column id.+ccId :: Lens' Column (Maybe Text)+ccId = lens _ccId (\ s a -> s{_ccId = a})++instance FromJSON Column where+        parseJSON+          = withObject "Column"+              (\ o ->+                 Column <$>+                   (o .:? "kind" .!= "analytics#column") <*>+                     (o .:? "attributes")+                     <*> (o .:? "id"))++instance ToJSON Column where+        toJSON Column{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ccKind),+                  ("attributes" .=) <$> _ccAttributes,+                  ("id" .=) <$> _ccId])++--+-- /See:/ 'gaDataDataTableColsItem' smart constructor.+data GaDataDataTableColsItem = GaDataDataTableColsItem+    { _gddtciId    :: !(Maybe Text)+    , _gddtciType  :: !(Maybe Text)+    , _gddtciLabel :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataDataTableColsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddtciId'+--+-- * 'gddtciType'+--+-- * 'gddtciLabel'+gaDataDataTableColsItem+    :: GaDataDataTableColsItem+gaDataDataTableColsItem =+    GaDataDataTableColsItem+    { _gddtciId = Nothing+    , _gddtciType = Nothing+    , _gddtciLabel = Nothing+    }++gddtciId :: Lens' GaDataDataTableColsItem (Maybe Text)+gddtciId = lens _gddtciId (\ s a -> s{_gddtciId = a})++gddtciType :: Lens' GaDataDataTableColsItem (Maybe Text)+gddtciType+  = lens _gddtciType (\ s a -> s{_gddtciType = a})++gddtciLabel :: Lens' GaDataDataTableColsItem (Maybe Text)+gddtciLabel+  = lens _gddtciLabel (\ s a -> s{_gddtciLabel = a})++instance FromJSON GaDataDataTableColsItem where+        parseJSON+          = withObject "GaDataDataTableColsItem"+              (\ o ->+                 GaDataDataTableColsItem <$>+                   (o .:? "id") <*> (o .:? "type") <*> (o .:? "label"))++instance ToJSON GaDataDataTableColsItem where+        toJSON GaDataDataTableColsItem{..}+          = object+              (catMaybes+                 [("id" .=) <$> _gddtciId,+                  ("type" .=) <$> _gddtciType,+                  ("label" .=) <$> _gddtciLabel])++--+-- /See:/ 'experimentVariationsItem' smart constructor.+data ExperimentVariationsItem = ExperimentVariationsItem+    { _eviStatus :: !(Maybe Text)+    , _eviWeight :: !(Maybe (Textual Double))+    , _eviURL    :: !(Maybe Text)+    , _eviWon    :: !(Maybe Bool)+    , _eviName   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExperimentVariationsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eviStatus'+--+-- * 'eviWeight'+--+-- * 'eviURL'+--+-- * 'eviWon'+--+-- * 'eviName'+experimentVariationsItem+    :: ExperimentVariationsItem+experimentVariationsItem =+    ExperimentVariationsItem+    { _eviStatus = Nothing+    , _eviWeight = Nothing+    , _eviURL = Nothing+    , _eviWon = Nothing+    , _eviName = Nothing+    }++-- | Status of the variation. Possible values: \"ACTIVE\", \"INACTIVE\".+-- INACTIVE variations are not served. This field may not be changed for an+-- experiment whose status is ENDED.+eviStatus :: Lens' ExperimentVariationsItem (Maybe Text)+eviStatus+  = lens _eviStatus (\ s a -> s{_eviStatus = a})++-- | Weight that this variation should receive. Only present if the+-- experiment is running. This field is read-only.+eviWeight :: Lens' ExperimentVariationsItem (Maybe Double)+eviWeight+  = lens _eviWeight (\ s a -> s{_eviWeight = a}) .+      mapping _Coerce++-- | The URL of the variation. This field may not be changed for an+-- experiment whose status is RUNNING or ENDED.+eviURL :: Lens' ExperimentVariationsItem (Maybe Text)+eviURL = lens _eviURL (\ s a -> s{_eviURL = a})++-- | True if the experiment has ended and this variation performed+-- (statistically) significantly better than the original. This field is+-- read-only.+eviWon :: Lens' ExperimentVariationsItem (Maybe Bool)+eviWon = lens _eviWon (\ s a -> s{_eviWon = a})++-- | The name of the variation. This field is required when creating an+-- experiment. This field may not be changed for an experiment whose status+-- is ENDED.+eviName :: Lens' ExperimentVariationsItem (Maybe Text)+eviName = lens _eviName (\ s a -> s{_eviName = a})++instance FromJSON ExperimentVariationsItem where+        parseJSON+          = withObject "ExperimentVariationsItem"+              (\ o ->+                 ExperimentVariationsItem <$>+                   (o .:? "status") <*> (o .:? "weight") <*>+                     (o .:? "url")+                     <*> (o .:? "won")+                     <*> (o .:? "name"))++instance ToJSON ExperimentVariationsItem where+        toJSON ExperimentVariationsItem{..}+          = object+              (catMaybes+                 [("status" .=) <$> _eviStatus,+                  ("weight" .=) <$> _eviWeight, ("url" .=) <$> _eviURL,+                  ("won" .=) <$> _eviWon, ("name" .=) <$> _eviName])++-- | Total values for the requested metrics over all the results, not just+-- the results returned in this response. The order of the metric totals is+-- same as the metric order specified in the request.+--+-- /See:/ 'mcfDataTotalsForAllResults' smart constructor.+newtype McfDataTotalsForAllResults = McfDataTotalsForAllResults+    { _mdtfarAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'McfDataTotalsForAllResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdtfarAddtional'+mcfDataTotalsForAllResults+    :: HashMap Text Text -- ^ 'mdtfarAddtional'+    -> McfDataTotalsForAllResults+mcfDataTotalsForAllResults pMdtfarAddtional_ =+    McfDataTotalsForAllResults+    { _mdtfarAddtional = _Coerce # pMdtfarAddtional_+    }++-- | Key-value pair for the total value of a metric. Key is the metric name+-- and the value is the total value for that metric.+mdtfarAddtional :: Lens' McfDataTotalsForAllResults (HashMap Text Text)+mdtfarAddtional+  = lens _mdtfarAddtional+      (\ s a -> s{_mdtfarAddtional = a})+      . _Coerce++instance FromJSON McfDataTotalsForAllResults where+        parseJSON+          = withObject "McfDataTotalsForAllResults"+              (\ o ->+                 McfDataTotalsForAllResults <$> (parseJSONObject o))++instance ToJSON McfDataTotalsForAllResults where+        toJSON = toJSON . _mdtfarAddtional++-- | Download details for a file stored in Google Cloud Storage.+--+-- /See:/ 'unSampledReportCloudStorageDownloadDetails' smart constructor.+data UnSampledReportCloudStorageDownloadDetails = UnSampledReportCloudStorageDownloadDetails+    { _usrcsddObjectId :: !(Maybe Text)+    , _usrcsddBucketId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnSampledReportCloudStorageDownloadDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usrcsddObjectId'+--+-- * 'usrcsddBucketId'+unSampledReportCloudStorageDownloadDetails+    :: UnSampledReportCloudStorageDownloadDetails+unSampledReportCloudStorageDownloadDetails =+    UnSampledReportCloudStorageDownloadDetails+    { _usrcsddObjectId = Nothing+    , _usrcsddBucketId = Nothing+    }++-- | Id of the file object containing the report data.+usrcsddObjectId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)+usrcsddObjectId+  = lens _usrcsddObjectId+      (\ s a -> s{_usrcsddObjectId = a})++-- | Id of the bucket the file object is stored in.+usrcsddBucketId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)+usrcsddBucketId+  = lens _usrcsddBucketId+      (\ s a -> s{_usrcsddBucketId = a})++instance FromJSON+         UnSampledReportCloudStorageDownloadDetails where+        parseJSON+          = withObject+              "UnSampledReportCloudStorageDownloadDetails"+              (\ o ->+                 UnSampledReportCloudStorageDownloadDetails <$>+                   (o .:? "objectId") <*> (o .:? "bucketId"))++instance ToJSON+         UnSampledReportCloudStorageDownloadDetails where+        toJSON UnSampledReportCloudStorageDownloadDetails{..}+          = object+              (catMaybes+                 [("objectId" .=) <$> _usrcsddObjectId,+                  ("bucketId" .=) <$> _usrcsddBucketId])++-- | Child link for this view (profile). Points to the list of goals for this+-- view (profile).+--+-- /See:/ 'proFileChildLink' smart constructor.+data ProFileChildLink = ProFileChildLink+    { _pfclHref :: !(Maybe Text)+    , _pfclType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileChildLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfclHref'+--+-- * 'pfclType'+proFileChildLink+    :: ProFileChildLink+proFileChildLink =+    ProFileChildLink+    { _pfclHref = Nothing+    , _pfclType = "analytics#goals"+    }++-- | Link to the list of goals for this view (profile).+pfclHref :: Lens' ProFileChildLink (Maybe Text)+pfclHref = lens _pfclHref (\ s a -> s{_pfclHref = a})++-- | Value is \"analytics#goals\".+pfclType :: Lens' ProFileChildLink Text+pfclType = lens _pfclType (\ s a -> s{_pfclType = a})++instance FromJSON ProFileChildLink where+        parseJSON+          = withObject "ProFileChildLink"+              (\ o ->+                 ProFileChildLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#goals"))++instance ToJSON ProFileChildLink where+        toJSON ProFileChildLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _pfclHref,+                  Just ("type" .= _pfclType)])++--+-- /See:/ 'gaDataColumnHeadersItem' smart constructor.+data GaDataColumnHeadersItem = GaDataColumnHeadersItem+    { _gdchiColumnType :: !(Maybe Text)+    , _gdchiName       :: !(Maybe Text)+    , _gdchiDataType   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GaDataColumnHeadersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdchiColumnType'+--+-- * 'gdchiName'+--+-- * 'gdchiDataType'+gaDataColumnHeadersItem+    :: GaDataColumnHeadersItem+gaDataColumnHeadersItem =+    GaDataColumnHeadersItem+    { _gdchiColumnType = Nothing+    , _gdchiName = Nothing+    , _gdchiDataType = Nothing+    }++-- | Column Type. Either DIMENSION or METRIC.+gdchiColumnType :: Lens' GaDataColumnHeadersItem (Maybe Text)+gdchiColumnType+  = lens _gdchiColumnType+      (\ s a -> s{_gdchiColumnType = a})++-- | Column name.+gdchiName :: Lens' GaDataColumnHeadersItem (Maybe Text)+gdchiName+  = lens _gdchiName (\ s a -> s{_gdchiName = a})++-- | Data type. Dimension column headers have only STRING as the data type.+-- Metric column headers have data types for metric values such as INTEGER,+-- DOUBLE, CURRENCY etc.+gdchiDataType :: Lens' GaDataColumnHeadersItem (Maybe Text)+gdchiDataType+  = lens _gdchiDataType+      (\ s a -> s{_gdchiDataType = a})++instance FromJSON GaDataColumnHeadersItem where+        parseJSON+          = withObject "GaDataColumnHeadersItem"+              (\ o ->+                 GaDataColumnHeadersItem <$>+                   (o .:? "columnType") <*> (o .:? "name") <*>+                     (o .:? "dataType"))++instance ToJSON GaDataColumnHeadersItem where+        toJSON GaDataColumnHeadersItem{..}+          = object+              (catMaybes+                 [("columnType" .=) <$> _gdchiColumnType,+                  ("name" .=) <$> _gdchiName,+                  ("dataType" .=) <$> _gdchiDataType])++-- | Parent link for a goal. Points to the view (profile) to which this goal+-- belongs.+--+-- /See:/ 'goalParentLink' smart constructor.+data GoalParentLink = GoalParentLink+    { _gplHref :: !(Maybe Text)+    , _gplType :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoalParentLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gplHref'+--+-- * 'gplType'+goalParentLink+    :: GoalParentLink+goalParentLink =+    GoalParentLink+    { _gplHref = Nothing+    , _gplType = "analytics#profile"+    }++-- | Link to the view (profile) to which this goal belongs.+gplHref :: Lens' GoalParentLink (Maybe Text)+gplHref = lens _gplHref (\ s a -> s{_gplHref = a})++-- | Value is \"analytics#profile\".+gplType :: Lens' GoalParentLink Text+gplType = lens _gplType (\ s a -> s{_gplType = a})++instance FromJSON GoalParentLink where+        parseJSON+          = withObject "GoalParentLink"+              (\ o ->+                 GoalParentLink <$>+                   (o .:? "href") <*>+                     (o .:? "type" .!= "analytics#profile"))++instance ToJSON GoalParentLink where+        toJSON GoalParentLink{..}+          = object+              (catMaybes+                 [("href" .=) <$> _gplHref,+                  Just ("type" .= _gplType)])++-- | Map of attribute name and value for this column.+--+-- /See:/ 'columnAttributes' smart constructor.+newtype ColumnAttributes = ColumnAttributes+    { _caAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColumnAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caAddtional'+columnAttributes+    :: HashMap Text Text -- ^ 'caAddtional'+    -> ColumnAttributes+columnAttributes pCaAddtional_ =+    ColumnAttributes+    { _caAddtional = _Coerce # pCaAddtional_+    }++-- | The name of the attribute.+caAddtional :: Lens' ColumnAttributes (HashMap Text Text)+caAddtional+  = lens _caAddtional (\ s a -> s{_caAddtional = a}) .+      _Coerce++instance FromJSON ColumnAttributes where+        parseJSON+          = withObject "ColumnAttributes"+              (\ o -> ColumnAttributes <$> (parseJSONObject o))++instance ToJSON ColumnAttributes where+        toJSON = toJSON . _caAddtional
+ gen/Network/Google/Analytics/Types/Sum.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Analytics.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.Analytics.Types.Sum where++import           Network.Google.Prelude++-- | The desired sampling level.+data DataGaGetSamplingLevel+    = Default+      -- ^ @DEFAULT@+      -- Returns response with a sample size that balances speed and accuracy.+    | Faster+      -- ^ @FASTER@+      -- Returns a fast response with a smaller sample size.+    | HigherPrecision+      -- ^ @HIGHER_PRECISION@+      -- Returns a more accurate response using a large sample size, but this may+      -- result in the response being slower.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DataGaGetSamplingLevel++instance FromText DataGaGetSamplingLevel where+    fromText = \case+        "DEFAULT" -> Just Default+        "FASTER" -> Just Faster+        "HIGHER_PRECISION" -> Just HigherPrecision+        _ -> Nothing++instance ToText DataGaGetSamplingLevel where+    toText = \case+        Default -> "DEFAULT"+        Faster -> "FASTER"+        HigherPrecision -> "HIGHER_PRECISION"++instance FromJSON DataGaGetSamplingLevel where+    parseJSON = parseJSONText "DataGaGetSamplingLevel"++instance ToJSON DataGaGetSamplingLevel where+    toJSON = toJSONText++-- | The selected format for the response. Default format is JSON.+data DataGaGetOutput+    = DataTable+      -- ^ @dataTable@+      -- Returns the response in Google Charts Data Table format. This is useful+      -- in creating visualization using Google Charts.+    | JSON+      -- ^ @json@+      -- Returns the response in standard JSON format.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DataGaGetOutput++instance FromText DataGaGetOutput where+    fromText = \case+        "dataTable" -> Just DataTable+        "json" -> Just JSON+        _ -> Nothing++instance ToText DataGaGetOutput where+    toText = \case+        DataTable -> "dataTable"+        JSON -> "json"++instance FromJSON DataGaGetOutput where+    parseJSON = parseJSONText "DataGaGetOutput"++instance ToJSON DataGaGetOutput where+    toJSON = toJSONText++-- | The desired sampling level.+data DataMcfGetSamplingLevel+    = DMGSLDefault+      -- ^ @DEFAULT@+      -- Returns response with a sample size that balances speed and accuracy.+    | DMGSLFaster+      -- ^ @FASTER@+      -- Returns a fast response with a smaller sample size.+    | DMGSLHigherPrecision+      -- ^ @HIGHER_PRECISION@+      -- Returns a more accurate response using a large sample size, but this may+      -- result in the response being slower.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable DataMcfGetSamplingLevel++instance FromText DataMcfGetSamplingLevel where+    fromText = \case+        "DEFAULT" -> Just DMGSLDefault+        "FASTER" -> Just DMGSLFaster+        "HIGHER_PRECISION" -> Just DMGSLHigherPrecision+        _ -> Nothing++instance ToText DataMcfGetSamplingLevel where+    toText = \case+        DMGSLDefault -> "DEFAULT"+        DMGSLFaster -> "FASTER"+        DMGSLHigherPrecision -> "HIGHER_PRECISION"++instance FromJSON DataMcfGetSamplingLevel where+    parseJSON = parseJSONText "DataMcfGetSamplingLevel"++instance ToJSON DataMcfGetSamplingLevel where+    toJSON = toJSONText
+ gen/Network/Google/Resource/Analytics/Data/Ga/Get.hs view
@@ -0,0 +1,234 @@+{-# 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.Analytics.Data.Ga.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)+--+-- Returns Analytics data for a view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.data.ga.get@.+module Network.Google.Resource.Analytics.Data.Ga.Get+    (+    -- * REST Resource+      DataGaGetResource++    -- * Creating a Request+    , dataGaGet+    , DataGaGet++    -- * Request Lenses+    , dggMetrics+    , dggSamplingLevel+    , dggFilters+    , dggIds+    , dggEndDate+    , dggOutput+    , dggSort+    , dggDimensions+    , dggStartIndex+    , dggMaxResults+    , dggSegment+    , dggStartDate+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.data.ga.get@ method which the+-- 'DataGaGet' request conforms to.+type DataGaGetResource =+     "analytics" :>+       "v3" :>+         "data" :>+           "ga" :>+             QueryParam "ids" Text :>+               QueryParam "start-date" Text :>+                 QueryParam "end-date" Text :>+                   QueryParam "metrics" Text :>+                     QueryParam "samplingLevel" DataGaGetSamplingLevel :>+                       QueryParam "filters" Text :>+                         QueryParam "output" DataGaGetOutput :>+                           QueryParam "sort" Text :>+                             QueryParam "dimensions" Text :>+                               QueryParam "start-index" (Textual Int32) :>+                                 QueryParam "max-results" (Textual Int32) :>+                                   QueryParam "segment" Text :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] GaData++-- | Returns Analytics data for a view (profile).+--+-- /See:/ 'dataGaGet' smart constructor.+data DataGaGet = DataGaGet+    { _dggMetrics       :: !Text+    , _dggSamplingLevel :: !(Maybe DataGaGetSamplingLevel)+    , _dggFilters       :: !(Maybe Text)+    , _dggIds           :: !Text+    , _dggEndDate       :: !Text+    , _dggOutput        :: !(Maybe DataGaGetOutput)+    , _dggSort          :: !(Maybe Text)+    , _dggDimensions    :: !(Maybe Text)+    , _dggStartIndex    :: !(Maybe (Textual Int32))+    , _dggMaxResults    :: !(Maybe (Textual Int32))+    , _dggSegment       :: !(Maybe Text)+    , _dggStartDate     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataGaGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dggMetrics'+--+-- * 'dggSamplingLevel'+--+-- * 'dggFilters'+--+-- * 'dggIds'+--+-- * 'dggEndDate'+--+-- * 'dggOutput'+--+-- * 'dggSort'+--+-- * 'dggDimensions'+--+-- * 'dggStartIndex'+--+-- * 'dggMaxResults'+--+-- * 'dggSegment'+--+-- * 'dggStartDate'+dataGaGet+    :: Text -- ^ 'dggMetrics'+    -> Text -- ^ 'dggIds'+    -> Text -- ^ 'dggEndDate'+    -> Text -- ^ 'dggStartDate'+    -> DataGaGet+dataGaGet pDggMetrics_ pDggIds_ pDggEndDate_ pDggStartDate_ =+    DataGaGet+    { _dggMetrics = pDggMetrics_+    , _dggSamplingLevel = Nothing+    , _dggFilters = Nothing+    , _dggIds = pDggIds_+    , _dggEndDate = pDggEndDate_+    , _dggOutput = Nothing+    , _dggSort = Nothing+    , _dggDimensions = Nothing+    , _dggStartIndex = Nothing+    , _dggMaxResults = Nothing+    , _dggSegment = Nothing+    , _dggStartDate = pDggStartDate_+    }++-- | A comma-separated list of Analytics metrics. E.g.,+-- \'ga:sessions,ga:pageviews\'. At least one metric must be specified.+dggMetrics :: Lens' DataGaGet Text+dggMetrics+  = lens _dggMetrics (\ s a -> s{_dggMetrics = a})++-- | The desired sampling level.+dggSamplingLevel :: Lens' DataGaGet (Maybe DataGaGetSamplingLevel)+dggSamplingLevel+  = lens _dggSamplingLevel+      (\ s a -> s{_dggSamplingLevel = a})++-- | A comma-separated list of dimension or metric filters to be applied to+-- Analytics data.+dggFilters :: Lens' DataGaGet (Maybe Text)+dggFilters+  = lens _dggFilters (\ s a -> s{_dggFilters = a})++-- | Unique table ID for retrieving Analytics data. Table ID is of the form+-- ga:XXXX, where XXXX is the Analytics view (profile) ID.+dggIds :: Lens' DataGaGet Text+dggIds = lens _dggIds (\ s a -> s{_dggIds = a})++-- | End date for fetching Analytics data. Request can should specify an end+-- date formatted as YYYY-MM-DD, or as a relative date (e.g., today,+-- yesterday, or 7daysAgo). The default value is yesterday.+dggEndDate :: Lens' DataGaGet Text+dggEndDate+  = lens _dggEndDate (\ s a -> s{_dggEndDate = a})++-- | The selected format for the response. Default format is JSON.+dggOutput :: Lens' DataGaGet (Maybe DataGaGetOutput)+dggOutput+  = lens _dggOutput (\ s a -> s{_dggOutput = a})++-- | A comma-separated list of dimensions or metrics that determine the sort+-- order for Analytics data.+dggSort :: Lens' DataGaGet (Maybe Text)+dggSort = lens _dggSort (\ s a -> s{_dggSort = a})++-- | A comma-separated list of Analytics dimensions. E.g.,+-- \'ga:browser,ga:city\'.+dggDimensions :: Lens' DataGaGet (Maybe Text)+dggDimensions+  = lens _dggDimensions+      (\ s a -> s{_dggDimensions = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+dggStartIndex :: Lens' DataGaGet (Maybe Int32)+dggStartIndex+  = lens _dggStartIndex+      (\ s a -> s{_dggStartIndex = a})+      . mapping _Coerce++-- | The maximum number of entries to include in this feed.+dggMaxResults :: Lens' DataGaGet (Maybe Int32)+dggMaxResults+  = lens _dggMaxResults+      (\ s a -> s{_dggMaxResults = a})+      . mapping _Coerce++-- | An Analytics segment to be applied to data.+dggSegment :: Lens' DataGaGet (Maybe Text)+dggSegment+  = lens _dggSegment (\ s a -> s{_dggSegment = a})++-- | Start date for fetching Analytics data. Requests can specify a start+-- date formatted as YYYY-MM-DD, or as a relative date (e.g., today,+-- yesterday, or 7daysAgo). The default value is 7daysAgo.+dggStartDate :: Lens' DataGaGet Text+dggStartDate+  = lens _dggStartDate (\ s a -> s{_dggStartDate = a})++instance GoogleRequest DataGaGet where+        type Rs DataGaGet = GaData+        requestClient DataGaGet{..}+          = go (Just _dggIds) (Just _dggStartDate)+              (Just _dggEndDate)+              (Just _dggMetrics)+              _dggSamplingLevel+              _dggFilters+              _dggOutput+              _dggSort+              _dggDimensions+              _dggStartIndex+              _dggMaxResults+              _dggSegment+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient (Proxy :: Proxy DataGaGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Data/Mcf/Get.hs view
@@ -0,0 +1,210 @@+{-# 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.Analytics.Data.Mcf.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)+--+-- Returns Analytics Multi-Channel Funnels data for a view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.data.mcf.get@.+module Network.Google.Resource.Analytics.Data.Mcf.Get+    (+    -- * REST Resource+      DataMcfGetResource++    -- * Creating a Request+    , dataMcfGet+    , DataMcfGet++    -- * Request Lenses+    , dmgMetrics+    , dmgSamplingLevel+    , dmgFilters+    , dmgIds+    , dmgEndDate+    , dmgSort+    , dmgDimensions+    , dmgStartIndex+    , dmgMaxResults+    , dmgStartDate+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.data.mcf.get@ method which the+-- 'DataMcfGet' request conforms to.+type DataMcfGetResource =+     "analytics" :>+       "v3" :>+         "data" :>+           "mcf" :>+             QueryParam "ids" Text :>+               QueryParam "start-date" Text :>+                 QueryParam "end-date" Text :>+                   QueryParam "metrics" Text :>+                     QueryParam "samplingLevel" DataMcfGetSamplingLevel :>+                       QueryParam "filters" Text :>+                         QueryParam "sort" Text :>+                           QueryParam "dimensions" Text :>+                             QueryParam "start-index" (Textual Int32) :>+                               QueryParam "max-results" (Textual Int32) :>+                                 QueryParam "alt" AltJSON :> Get '[JSON] McfData++-- | Returns Analytics Multi-Channel Funnels data for a view (profile).+--+-- /See:/ 'dataMcfGet' smart constructor.+data DataMcfGet = DataMcfGet+    { _dmgMetrics       :: !Text+    , _dmgSamplingLevel :: !(Maybe DataMcfGetSamplingLevel)+    , _dmgFilters       :: !(Maybe Text)+    , _dmgIds           :: !Text+    , _dmgEndDate       :: !Text+    , _dmgSort          :: !(Maybe Text)+    , _dmgDimensions    :: !(Maybe Text)+    , _dmgStartIndex    :: !(Maybe (Textual Int32))+    , _dmgMaxResults    :: !(Maybe (Textual Int32))+    , _dmgStartDate     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataMcfGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmgMetrics'+--+-- * 'dmgSamplingLevel'+--+-- * 'dmgFilters'+--+-- * 'dmgIds'+--+-- * 'dmgEndDate'+--+-- * 'dmgSort'+--+-- * 'dmgDimensions'+--+-- * 'dmgStartIndex'+--+-- * 'dmgMaxResults'+--+-- * 'dmgStartDate'+dataMcfGet+    :: Text -- ^ 'dmgMetrics'+    -> Text -- ^ 'dmgIds'+    -> Text -- ^ 'dmgEndDate'+    -> Text -- ^ 'dmgStartDate'+    -> DataMcfGet+dataMcfGet pDmgMetrics_ pDmgIds_ pDmgEndDate_ pDmgStartDate_ =+    DataMcfGet+    { _dmgMetrics = pDmgMetrics_+    , _dmgSamplingLevel = Nothing+    , _dmgFilters = Nothing+    , _dmgIds = pDmgIds_+    , _dmgEndDate = pDmgEndDate_+    , _dmgSort = Nothing+    , _dmgDimensions = Nothing+    , _dmgStartIndex = Nothing+    , _dmgMaxResults = Nothing+    , _dmgStartDate = pDmgStartDate_+    }++-- | A comma-separated list of Multi-Channel Funnels metrics. E.g.,+-- \'mcf:totalConversions,mcf:totalConversionValue\'. At least one metric+-- must be specified.+dmgMetrics :: Lens' DataMcfGet Text+dmgMetrics+  = lens _dmgMetrics (\ s a -> s{_dmgMetrics = a})++-- | The desired sampling level.+dmgSamplingLevel :: Lens' DataMcfGet (Maybe DataMcfGetSamplingLevel)+dmgSamplingLevel+  = lens _dmgSamplingLevel+      (\ s a -> s{_dmgSamplingLevel = a})++-- | A comma-separated list of dimension or metric filters to be applied to+-- the Analytics data.+dmgFilters :: Lens' DataMcfGet (Maybe Text)+dmgFilters+  = lens _dmgFilters (\ s a -> s{_dmgFilters = a})++-- | Unique table ID for retrieving Analytics data. Table ID is of the form+-- ga:XXXX, where XXXX is the Analytics view (profile) ID.+dmgIds :: Lens' DataMcfGet Text+dmgIds = lens _dmgIds (\ s a -> s{_dmgIds = a})++-- | End date for fetching Analytics data. Requests can specify a start date+-- formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday,+-- or 7daysAgo). The default value is 7daysAgo.+dmgEndDate :: Lens' DataMcfGet Text+dmgEndDate+  = lens _dmgEndDate (\ s a -> s{_dmgEndDate = a})++-- | A comma-separated list of dimensions or metrics that determine the sort+-- order for the Analytics data.+dmgSort :: Lens' DataMcfGet (Maybe Text)+dmgSort = lens _dmgSort (\ s a -> s{_dmgSort = a})++-- | A comma-separated list of Multi-Channel Funnels dimensions. E.g.,+-- \'mcf:source,mcf:medium\'.+dmgDimensions :: Lens' DataMcfGet (Maybe Text)+dmgDimensions+  = lens _dmgDimensions+      (\ s a -> s{_dmgDimensions = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+dmgStartIndex :: Lens' DataMcfGet (Maybe Int32)+dmgStartIndex+  = lens _dmgStartIndex+      (\ s a -> s{_dmgStartIndex = a})+      . mapping _Coerce++-- | The maximum number of entries to include in this feed.+dmgMaxResults :: Lens' DataMcfGet (Maybe Int32)+dmgMaxResults+  = lens _dmgMaxResults+      (\ s a -> s{_dmgMaxResults = a})+      . mapping _Coerce++-- | Start date for fetching Analytics data. Requests can specify a start+-- date formatted as YYYY-MM-DD, or as a relative date (e.g., today,+-- yesterday, or 7daysAgo). The default value is 7daysAgo.+dmgStartDate :: Lens' DataMcfGet Text+dmgStartDate+  = lens _dmgStartDate (\ s a -> s{_dmgStartDate = a})++instance GoogleRequest DataMcfGet where+        type Rs DataMcfGet = McfData+        requestClient DataMcfGet{..}+          = go (Just _dmgIds) (Just _dmgStartDate)+              (Just _dmgEndDate)+              (Just _dmgMetrics)+              _dmgSamplingLevel+              _dmgFilters+              _dmgSort+              _dmgDimensions+              _dmgStartIndex+              _dmgMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient (Proxy :: Proxy DataMcfGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Data/Realtime/Get.hs view
@@ -0,0 +1,151 @@+{-# 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.Analytics.Data.Realtime.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)+--+-- Returns real time data for a view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.data.realtime.get@.+module Network.Google.Resource.Analytics.Data.Realtime.Get+    (+    -- * REST Resource+      DataRealtimeGetResource++    -- * Creating a Request+    , dataRealtimeGet+    , DataRealtimeGet++    -- * Request Lenses+    , drgMetrics+    , drgFilters+    , drgIds+    , drgSort+    , drgDimensions+    , drgMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.data.realtime.get@ method which the+-- 'DataRealtimeGet' request conforms to.+type DataRealtimeGetResource =+     "analytics" :>+       "v3" :>+         "data" :>+           "realtime" :>+             QueryParam "ids" Text :>+               QueryParam "metrics" Text :>+                 QueryParam "filters" Text :>+                   QueryParam "sort" Text :>+                     QueryParam "dimensions" Text :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] RealtimeData++-- | Returns real time data for a view (profile).+--+-- /See:/ 'dataRealtimeGet' smart constructor.+data DataRealtimeGet = DataRealtimeGet+    { _drgMetrics    :: !Text+    , _drgFilters    :: !(Maybe Text)+    , _drgIds        :: !Text+    , _drgSort       :: !(Maybe Text)+    , _drgDimensions :: !(Maybe Text)+    , _drgMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataRealtimeGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drgMetrics'+--+-- * 'drgFilters'+--+-- * 'drgIds'+--+-- * 'drgSort'+--+-- * 'drgDimensions'+--+-- * 'drgMaxResults'+dataRealtimeGet+    :: Text -- ^ 'drgMetrics'+    -> Text -- ^ 'drgIds'+    -> DataRealtimeGet+dataRealtimeGet pDrgMetrics_ pDrgIds_ =+    DataRealtimeGet+    { _drgMetrics = pDrgMetrics_+    , _drgFilters = Nothing+    , _drgIds = pDrgIds_+    , _drgSort = Nothing+    , _drgDimensions = Nothing+    , _drgMaxResults = Nothing+    }++-- | A comma-separated list of real time metrics. E.g., \'rt:activeUsers\'.+-- At least one metric must be specified.+drgMetrics :: Lens' DataRealtimeGet Text+drgMetrics+  = lens _drgMetrics (\ s a -> s{_drgMetrics = a})++-- | A comma-separated list of dimension or metric filters to be applied to+-- real time data.+drgFilters :: Lens' DataRealtimeGet (Maybe Text)+drgFilters+  = lens _drgFilters (\ s a -> s{_drgFilters = a})++-- | Unique table ID for retrieving real time data. Table ID is of the form+-- ga:XXXX, where XXXX is the Analytics view (profile) ID.+drgIds :: Lens' DataRealtimeGet Text+drgIds = lens _drgIds (\ s a -> s{_drgIds = a})++-- | A comma-separated list of dimensions or metrics that determine the sort+-- order for real time data.+drgSort :: Lens' DataRealtimeGet (Maybe Text)+drgSort = lens _drgSort (\ s a -> s{_drgSort = a})++-- | A comma-separated list of real time dimensions. E.g.,+-- \'rt:medium,rt:city\'.+drgDimensions :: Lens' DataRealtimeGet (Maybe Text)+drgDimensions+  = lens _drgDimensions+      (\ s a -> s{_drgDimensions = a})++-- | The maximum number of entries to include in this feed.+drgMaxResults :: Lens' DataRealtimeGet (Maybe Int32)+drgMaxResults+  = lens _drgMaxResults+      (\ s a -> s{_drgMaxResults = a})+      . mapping _Coerce++instance GoogleRequest DataRealtimeGet where+        type Rs DataRealtimeGet = RealtimeData+        requestClient DataRealtimeGet{..}+          = go (Just _drgIds) (Just _drgMetrics) _drgFilters+              _drgSort+              _drgDimensions+              _drgMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy DataRealtimeGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/AccountSummaries/List.hs view
@@ -0,0 +1,107 @@+{-# 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.Analytics.Management.AccountSummaries.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 account summaries (lightweight tree comprised of+-- accounts\/properties\/profiles) to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accountSummaries.list@.+module Network.Google.Resource.Analytics.Management.AccountSummaries.List+    (+    -- * REST Resource+      ManagementAccountSummariesListResource++    -- * Creating a Request+    , managementAccountSummariesList+    , ManagementAccountSummariesList++    -- * Request Lenses+    , maslStartIndex+    , maslMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accountSummaries.list@ method which the+-- 'ManagementAccountSummariesList' request conforms to.+type ManagementAccountSummariesListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accountSummaries" :>+             QueryParam "start-index" (Textual Int32) :>+               QueryParam "max-results" (Textual Int32) :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] AccountSummaries++-- | Lists account summaries (lightweight tree comprised of+-- accounts\/properties\/profiles) to which the user has access.+--+-- /See:/ 'managementAccountSummariesList' smart constructor.+data ManagementAccountSummariesList = ManagementAccountSummariesList+    { _maslStartIndex :: !(Maybe (Textual Int32))+    , _maslMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountSummariesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maslStartIndex'+--+-- * 'maslMaxResults'+managementAccountSummariesList+    :: ManagementAccountSummariesList+managementAccountSummariesList =+    ManagementAccountSummariesList+    { _maslStartIndex = Nothing+    , _maslMaxResults = Nothing+    }++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+maslStartIndex :: Lens' ManagementAccountSummariesList (Maybe Int32)+maslStartIndex+  = lens _maslStartIndex+      (\ s a -> s{_maslStartIndex = a})+      . mapping _Coerce++-- | The maximum number of account summaries to include in this response,+-- where the largest acceptable value is 1000.+maslMaxResults :: Lens' ManagementAccountSummariesList (Maybe Int32)+maslMaxResults+  = lens _maslMaxResults+      (\ s a -> s{_maslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementAccountSummariesList+         where+        type Rs ManagementAccountSummariesList =+             AccountSummaries+        requestClient ManagementAccountSummariesList{..}+          = go _maslStartIndex _maslMaxResults (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementAccountSummariesListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/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.Analytics.Management.AccountUserLinks.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)+--+-- Removes a user from the given account.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accountUserLinks.delete@.+module Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete+    (+    -- * REST Resource+      ManagementAccountUserLinksDeleteResource++    -- * Creating a Request+    , managementAccountUserLinksDelete+    , ManagementAccountUserLinksDelete++    -- * Request Lenses+    , mauldAccountId+    , mauldLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accountUserLinks.delete@ method which the+-- 'ManagementAccountUserLinksDelete' request conforms to.+type ManagementAccountUserLinksDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "entityUserLinks" :>+                 Capture "linkId" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a user from the given account.+--+-- /See:/ 'managementAccountUserLinksDelete' smart constructor.+data ManagementAccountUserLinksDelete = ManagementAccountUserLinksDelete+    { _mauldAccountId :: !Text+    , _mauldLinkId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountUserLinksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mauldAccountId'+--+-- * 'mauldLinkId'+managementAccountUserLinksDelete+    :: Text -- ^ 'mauldAccountId'+    -> Text -- ^ 'mauldLinkId'+    -> ManagementAccountUserLinksDelete+managementAccountUserLinksDelete pMauldAccountId_ pMauldLinkId_ =+    ManagementAccountUserLinksDelete+    { _mauldAccountId = pMauldAccountId_+    , _mauldLinkId = pMauldLinkId_+    }++-- | Account ID to delete the user link for.+mauldAccountId :: Lens' ManagementAccountUserLinksDelete Text+mauldAccountId+  = lens _mauldAccountId+      (\ s a -> s{_mauldAccountId = a})++-- | Link ID to delete the user link for.+mauldLinkId :: Lens' ManagementAccountUserLinksDelete Text+mauldLinkId+  = lens _mauldLinkId (\ s a -> s{_mauldLinkId = a})++instance GoogleRequest+         ManagementAccountUserLinksDelete where+        type Rs ManagementAccountUserLinksDelete = ()+        requestClient ManagementAccountUserLinksDelete{..}+          = go _mauldAccountId _mauldLinkId (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementAccountUserLinksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/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.Analytics.Management.AccountUserLinks.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)+--+-- Adds a new user to the given account.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accountUserLinks.insert@.+module Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert+    (+    -- * REST Resource+      ManagementAccountUserLinksInsertResource++    -- * Creating a Request+    , managementAccountUserLinksInsert+    , ManagementAccountUserLinksInsert++    -- * Request Lenses+    , mauliPayload+    , mauliAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accountUserLinks.insert@ method which the+-- 'ManagementAccountUserLinksInsert' request conforms to.+type ManagementAccountUserLinksInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "entityUserLinks" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] EntityUserLink :>+                     Post '[JSON] EntityUserLink++-- | Adds a new user to the given account.+--+-- /See:/ 'managementAccountUserLinksInsert' smart constructor.+data ManagementAccountUserLinksInsert = ManagementAccountUserLinksInsert+    { _mauliPayload   :: !EntityUserLink+    , _mauliAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountUserLinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mauliPayload'+--+-- * 'mauliAccountId'+managementAccountUserLinksInsert+    :: EntityUserLink -- ^ 'mauliPayload'+    -> Text -- ^ 'mauliAccountId'+    -> ManagementAccountUserLinksInsert+managementAccountUserLinksInsert pMauliPayload_ pMauliAccountId_ =+    ManagementAccountUserLinksInsert+    { _mauliPayload = pMauliPayload_+    , _mauliAccountId = pMauliAccountId_+    }++-- | Multipart request metadata.+mauliPayload :: Lens' ManagementAccountUserLinksInsert EntityUserLink+mauliPayload+  = lens _mauliPayload (\ s a -> s{_mauliPayload = a})++-- | Account ID to create the user link for.+mauliAccountId :: Lens' ManagementAccountUserLinksInsert Text+mauliAccountId+  = lens _mauliAccountId+      (\ s a -> s{_mauliAccountId = a})++instance GoogleRequest+         ManagementAccountUserLinksInsert where+        type Rs ManagementAccountUserLinksInsert =+             EntityUserLink+        requestClient ManagementAccountUserLinksInsert{..}+          = go _mauliAccountId (Just AltJSON) _mauliPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementAccountUserLinksInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/List.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.Analytics.Management.AccountUserLinks.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 account-user links for a given account.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accountUserLinks.list@.+module Network.Google.Resource.Analytics.Management.AccountUserLinks.List+    (+    -- * REST Resource+      ManagementAccountUserLinksListResource++    -- * Creating a Request+    , managementAccountUserLinksList+    , ManagementAccountUserLinksList++    -- * Request Lenses+    , maullAccountId+    , maullStartIndex+    , maullMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accountUserLinks.list@ method which the+-- 'ManagementAccountUserLinksList' request conforms to.+type ManagementAccountUserLinksListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "entityUserLinks" :>+                 QueryParam "start-index" (Textual Int32) :>+                   QueryParam "max-results" (Textual Int32) :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] EntityUserLinks++-- | Lists account-user links for a given account.+--+-- /See:/ 'managementAccountUserLinksList' smart constructor.+data ManagementAccountUserLinksList = ManagementAccountUserLinksList+    { _maullAccountId  :: !Text+    , _maullStartIndex :: !(Maybe (Textual Int32))+    , _maullMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountUserLinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maullAccountId'+--+-- * 'maullStartIndex'+--+-- * 'maullMaxResults'+managementAccountUserLinksList+    :: Text -- ^ 'maullAccountId'+    -> ManagementAccountUserLinksList+managementAccountUserLinksList pMaullAccountId_ =+    ManagementAccountUserLinksList+    { _maullAccountId = pMaullAccountId_+    , _maullStartIndex = Nothing+    , _maullMaxResults = Nothing+    }++-- | Account ID to retrieve the user links for.+maullAccountId :: Lens' ManagementAccountUserLinksList Text+maullAccountId+  = lens _maullAccountId+      (\ s a -> s{_maullAccountId = a})++-- | An index of the first account-user link to retrieve. Use this parameter+-- as a pagination mechanism along with the max-results parameter.+maullStartIndex :: Lens' ManagementAccountUserLinksList (Maybe Int32)+maullStartIndex+  = lens _maullStartIndex+      (\ s a -> s{_maullStartIndex = a})+      . mapping _Coerce++-- | The maximum number of account-user links to include in this response.+maullMaxResults :: Lens' ManagementAccountUserLinksList (Maybe Int32)+maullMaxResults+  = lens _maullMaxResults+      (\ s a -> s{_maullMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementAccountUserLinksList+         where+        type Rs ManagementAccountUserLinksList =+             EntityUserLinks+        requestClient ManagementAccountUserLinksList{..}+          = go _maullAccountId _maullStartIndex+              _maullMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementAccountUserLinksListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/Update.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.Analytics.Management.AccountUserLinks.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 permissions for an existing user on the given account.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accountUserLinks.update@.+module Network.Google.Resource.Analytics.Management.AccountUserLinks.Update+    (+    -- * REST Resource+      ManagementAccountUserLinksUpdateResource++    -- * Creating a Request+    , managementAccountUserLinksUpdate+    , ManagementAccountUserLinksUpdate++    -- * Request Lenses+    , mauluPayload+    , mauluAccountId+    , mauluLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accountUserLinks.update@ method which the+-- 'ManagementAccountUserLinksUpdate' request conforms to.+type ManagementAccountUserLinksUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "entityUserLinks" :>+                 Capture "linkId" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] EntityUserLink :>+                       Put '[JSON] EntityUserLink++-- | Updates permissions for an existing user on the given account.+--+-- /See:/ 'managementAccountUserLinksUpdate' smart constructor.+data ManagementAccountUserLinksUpdate = ManagementAccountUserLinksUpdate+    { _mauluPayload   :: !EntityUserLink+    , _mauluAccountId :: !Text+    , _mauluLinkId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountUserLinksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mauluPayload'+--+-- * 'mauluAccountId'+--+-- * 'mauluLinkId'+managementAccountUserLinksUpdate+    :: EntityUserLink -- ^ 'mauluPayload'+    -> Text -- ^ 'mauluAccountId'+    -> Text -- ^ 'mauluLinkId'+    -> ManagementAccountUserLinksUpdate+managementAccountUserLinksUpdate pMauluPayload_ pMauluAccountId_ pMauluLinkId_ =+    ManagementAccountUserLinksUpdate+    { _mauluPayload = pMauluPayload_+    , _mauluAccountId = pMauluAccountId_+    , _mauluLinkId = pMauluLinkId_+    }++-- | Multipart request metadata.+mauluPayload :: Lens' ManagementAccountUserLinksUpdate EntityUserLink+mauluPayload+  = lens _mauluPayload (\ s a -> s{_mauluPayload = a})++-- | Account ID to update the account-user link for.+mauluAccountId :: Lens' ManagementAccountUserLinksUpdate Text+mauluAccountId+  = lens _mauluAccountId+      (\ s a -> s{_mauluAccountId = a})++-- | Link ID to update the account-user link for.+mauluLinkId :: Lens' ManagementAccountUserLinksUpdate Text+mauluLinkId+  = lens _mauluLinkId (\ s a -> s{_mauluLinkId = a})++instance GoogleRequest+         ManagementAccountUserLinksUpdate where+        type Rs ManagementAccountUserLinksUpdate =+             EntityUserLink+        requestClient ManagementAccountUserLinksUpdate{..}+          = go _mauluAccountId _mauluLinkId (Just AltJSON)+              _mauluPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementAccountUserLinksUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Accounts/List.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.Analytics.Management.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)+--+-- Lists all accounts to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.accounts.list@.+module Network.Google.Resource.Analytics.Management.Accounts.List+    (+    -- * REST Resource+      ManagementAccountsListResource++    -- * Creating a Request+    , managementAccountsList+    , ManagementAccountsList++    -- * Request Lenses+    , malStartIndex+    , malMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.accounts.list@ method which the+-- 'ManagementAccountsList' request conforms to.+type ManagementAccountsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             QueryParam "start-index" (Textual Int32) :>+               QueryParam "max-results" (Textual Int32) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Accounts++-- | Lists all accounts to which the user has access.+--+-- /See:/ 'managementAccountsList' smart constructor.+data ManagementAccountsList = ManagementAccountsList+    { _malStartIndex :: !(Maybe (Textual Int32))+    , _malMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementAccountsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'malStartIndex'+--+-- * 'malMaxResults'+managementAccountsList+    :: ManagementAccountsList+managementAccountsList =+    ManagementAccountsList+    { _malStartIndex = Nothing+    , _malMaxResults = Nothing+    }++-- | An index of the first account to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+malStartIndex :: Lens' ManagementAccountsList (Maybe Int32)+malStartIndex+  = lens _malStartIndex+      (\ s a -> s{_malStartIndex = a})+      . mapping _Coerce++-- | The maximum number of accounts to include in this response.+malMaxResults :: Lens' ManagementAccountsList (Maybe Int32)+malMaxResults+  = lens _malMaxResults+      (\ s a -> s{_malMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementAccountsList where+        type Rs ManagementAccountsList = Accounts+        requestClient ManagementAccountsList{..}+          = go _malStartIndex _malMaxResults (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementAccountsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDataSources/List.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.Analytics.Management.CustomDataSources.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List custom data sources to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDataSources.list@.+module Network.Google.Resource.Analytics.Management.CustomDataSources.List+    (+    -- * REST Resource+      ManagementCustomDataSourcesListResource++    -- * Creating a Request+    , managementCustomDataSourcesList+    , ManagementCustomDataSourcesList++    -- * Request Lenses+    , mcdslWebPropertyId+    , mcdslAccountId+    , mcdslStartIndex+    , mcdslMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDataSources.list@ method which the+-- 'ManagementCustomDataSourcesList' request conforms to.+type ManagementCustomDataSourcesListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDataSources" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] CustomDataSources++-- | List custom data sources to which the user has access.+--+-- /See:/ 'managementCustomDataSourcesList' smart constructor.+data ManagementCustomDataSourcesList = ManagementCustomDataSourcesList+    { _mcdslWebPropertyId :: !Text+    , _mcdslAccountId     :: !Text+    , _mcdslStartIndex    :: !(Maybe (Textual Int32))+    , _mcdslMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDataSourcesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcdslWebPropertyId'+--+-- * 'mcdslAccountId'+--+-- * 'mcdslStartIndex'+--+-- * 'mcdslMaxResults'+managementCustomDataSourcesList+    :: Text -- ^ 'mcdslWebPropertyId'+    -> Text -- ^ 'mcdslAccountId'+    -> ManagementCustomDataSourcesList+managementCustomDataSourcesList pMcdslWebPropertyId_ pMcdslAccountId_ =+    ManagementCustomDataSourcesList+    { _mcdslWebPropertyId = pMcdslWebPropertyId_+    , _mcdslAccountId = pMcdslAccountId_+    , _mcdslStartIndex = Nothing+    , _mcdslMaxResults = Nothing+    }++-- | Web property Id for the custom data sources to retrieve.+mcdslWebPropertyId :: Lens' ManagementCustomDataSourcesList Text+mcdslWebPropertyId+  = lens _mcdslWebPropertyId+      (\ s a -> s{_mcdslWebPropertyId = a})++-- | Account Id for the custom data sources to retrieve.+mcdslAccountId :: Lens' ManagementCustomDataSourcesList Text+mcdslAccountId+  = lens _mcdslAccountId+      (\ s a -> s{_mcdslAccountId = a})++-- | A 1-based index of the first custom data source to retrieve. Use this+-- parameter as a pagination mechanism along with the max-results+-- parameter.+mcdslStartIndex :: Lens' ManagementCustomDataSourcesList (Maybe Int32)+mcdslStartIndex+  = lens _mcdslStartIndex+      (\ s a -> s{_mcdslStartIndex = a})+      . mapping _Coerce++-- | The maximum number of custom data sources to include in this response.+mcdslMaxResults :: Lens' ManagementCustomDataSourcesList (Maybe Int32)+mcdslMaxResults+  = lens _mcdslMaxResults+      (\ s a -> s{_mcdslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest+         ManagementCustomDataSourcesList where+        type Rs ManagementCustomDataSourcesList =+             CustomDataSources+        requestClient ManagementCustomDataSourcesList{..}+          = go _mcdslAccountId _mcdslWebPropertyId+              _mcdslStartIndex+              _mcdslMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDataSourcesListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Get.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.Analytics.Management.CustomDimensions.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a custom dimension to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDimensions.get@.+module Network.Google.Resource.Analytics.Management.CustomDimensions.Get+    (+    -- * REST Resource+      ManagementCustomDimensionsGetResource++    -- * Creating a Request+    , managementCustomDimensionsGet+    , ManagementCustomDimensionsGet++    -- * Request Lenses+    , mcdgWebPropertyId+    , mcdgAccountId+    , mcdgCustomDimensionId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDimensions.get@ method which the+-- 'ManagementCustomDimensionsGet' request conforms to.+type ManagementCustomDimensionsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDimensions" :>+                     Capture "customDimensionId" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] CustomDimension++-- | Get a custom dimension to which the user has access.+--+-- /See:/ 'managementCustomDimensionsGet' smart constructor.+data ManagementCustomDimensionsGet = ManagementCustomDimensionsGet+    { _mcdgWebPropertyId     :: !Text+    , _mcdgAccountId         :: !Text+    , _mcdgCustomDimensionId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDimensionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcdgWebPropertyId'+--+-- * 'mcdgAccountId'+--+-- * 'mcdgCustomDimensionId'+managementCustomDimensionsGet+    :: Text -- ^ 'mcdgWebPropertyId'+    -> Text -- ^ 'mcdgAccountId'+    -> Text -- ^ 'mcdgCustomDimensionId'+    -> ManagementCustomDimensionsGet+managementCustomDimensionsGet pMcdgWebPropertyId_ pMcdgAccountId_ pMcdgCustomDimensionId_ =+    ManagementCustomDimensionsGet+    { _mcdgWebPropertyId = pMcdgWebPropertyId_+    , _mcdgAccountId = pMcdgAccountId_+    , _mcdgCustomDimensionId = pMcdgCustomDimensionId_+    }++-- | Web property ID for the custom dimension to retrieve.+mcdgWebPropertyId :: Lens' ManagementCustomDimensionsGet Text+mcdgWebPropertyId+  = lens _mcdgWebPropertyId+      (\ s a -> s{_mcdgWebPropertyId = a})++-- | Account ID for the custom dimension to retrieve.+mcdgAccountId :: Lens' ManagementCustomDimensionsGet Text+mcdgAccountId+  = lens _mcdgAccountId+      (\ s a -> s{_mcdgAccountId = a})++-- | The ID of the custom dimension to retrieve.+mcdgCustomDimensionId :: Lens' ManagementCustomDimensionsGet Text+mcdgCustomDimensionId+  = lens _mcdgCustomDimensionId+      (\ s a -> s{_mcdgCustomDimensionId = a})++instance GoogleRequest ManagementCustomDimensionsGet+         where+        type Rs ManagementCustomDimensionsGet =+             CustomDimension+        requestClient ManagementCustomDimensionsGet{..}+          = go _mcdgAccountId _mcdgWebPropertyId+              _mcdgCustomDimensionId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDimensionsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Insert.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.Analytics.Management.CustomDimensions.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)+--+-- Create a new custom dimension.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDimensions.insert@.+module Network.Google.Resource.Analytics.Management.CustomDimensions.Insert+    (+    -- * REST Resource+      ManagementCustomDimensionsInsertResource++    -- * Creating a Request+    , managementCustomDimensionsInsert+    , ManagementCustomDimensionsInsert++    -- * Request Lenses+    , mcdiWebPropertyId+    , mcdiPayload+    , mcdiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDimensions.insert@ method which the+-- 'ManagementCustomDimensionsInsert' request conforms to.+type ManagementCustomDimensionsInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDimensions" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CustomDimension :>+                         Post '[JSON] CustomDimension++-- | Create a new custom dimension.+--+-- /See:/ 'managementCustomDimensionsInsert' smart constructor.+data ManagementCustomDimensionsInsert = ManagementCustomDimensionsInsert+    { _mcdiWebPropertyId :: !Text+    , _mcdiPayload       :: !CustomDimension+    , _mcdiAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDimensionsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcdiWebPropertyId'+--+-- * 'mcdiPayload'+--+-- * 'mcdiAccountId'+managementCustomDimensionsInsert+    :: Text -- ^ 'mcdiWebPropertyId'+    -> CustomDimension -- ^ 'mcdiPayload'+    -> Text -- ^ 'mcdiAccountId'+    -> ManagementCustomDimensionsInsert+managementCustomDimensionsInsert pMcdiWebPropertyId_ pMcdiPayload_ pMcdiAccountId_ =+    ManagementCustomDimensionsInsert+    { _mcdiWebPropertyId = pMcdiWebPropertyId_+    , _mcdiPayload = pMcdiPayload_+    , _mcdiAccountId = pMcdiAccountId_+    }++-- | Web property ID for the custom dimension to create.+mcdiWebPropertyId :: Lens' ManagementCustomDimensionsInsert Text+mcdiWebPropertyId+  = lens _mcdiWebPropertyId+      (\ s a -> s{_mcdiWebPropertyId = a})++-- | Multipart request metadata.+mcdiPayload :: Lens' ManagementCustomDimensionsInsert CustomDimension+mcdiPayload+  = lens _mcdiPayload (\ s a -> s{_mcdiPayload = a})++-- | Account ID for the custom dimension to create.+mcdiAccountId :: Lens' ManagementCustomDimensionsInsert Text+mcdiAccountId+  = lens _mcdiAccountId+      (\ s a -> s{_mcdiAccountId = a})++instance GoogleRequest+         ManagementCustomDimensionsInsert where+        type Rs ManagementCustomDimensionsInsert =+             CustomDimension+        requestClient ManagementCustomDimensionsInsert{..}+          = go _mcdiAccountId _mcdiWebPropertyId (Just AltJSON)+              _mcdiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDimensionsInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDimensions/List.hs view
@@ -0,0 +1,135 @@+{-# 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.Analytics.Management.CustomDimensions.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 custom dimensions to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDimensions.list@.+module Network.Google.Resource.Analytics.Management.CustomDimensions.List+    (+    -- * REST Resource+      ManagementCustomDimensionsListResource++    -- * Creating a Request+    , managementCustomDimensionsList+    , ManagementCustomDimensionsList++    -- * Request Lenses+    , mcdlWebPropertyId+    , mcdlAccountId+    , mcdlStartIndex+    , mcdlMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDimensions.list@ method which the+-- 'ManagementCustomDimensionsList' request conforms to.+type ManagementCustomDimensionsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDimensions" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] CustomDimensions++-- | Lists custom dimensions to which the user has access.+--+-- /See:/ 'managementCustomDimensionsList' smart constructor.+data ManagementCustomDimensionsList = ManagementCustomDimensionsList+    { _mcdlWebPropertyId :: !Text+    , _mcdlAccountId     :: !Text+    , _mcdlStartIndex    :: !(Maybe (Textual Int32))+    , _mcdlMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDimensionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcdlWebPropertyId'+--+-- * 'mcdlAccountId'+--+-- * 'mcdlStartIndex'+--+-- * 'mcdlMaxResults'+managementCustomDimensionsList+    :: Text -- ^ 'mcdlWebPropertyId'+    -> Text -- ^ 'mcdlAccountId'+    -> ManagementCustomDimensionsList+managementCustomDimensionsList pMcdlWebPropertyId_ pMcdlAccountId_ =+    ManagementCustomDimensionsList+    { _mcdlWebPropertyId = pMcdlWebPropertyId_+    , _mcdlAccountId = pMcdlAccountId_+    , _mcdlStartIndex = Nothing+    , _mcdlMaxResults = Nothing+    }++-- | Web property ID for the custom dimensions to retrieve.+mcdlWebPropertyId :: Lens' ManagementCustomDimensionsList Text+mcdlWebPropertyId+  = lens _mcdlWebPropertyId+      (\ s a -> s{_mcdlWebPropertyId = a})++-- | Account ID for the custom dimensions to retrieve.+mcdlAccountId :: Lens' ManagementCustomDimensionsList Text+mcdlAccountId+  = lens _mcdlAccountId+      (\ s a -> s{_mcdlAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mcdlStartIndex :: Lens' ManagementCustomDimensionsList (Maybe Int32)+mcdlStartIndex+  = lens _mcdlStartIndex+      (\ s a -> s{_mcdlStartIndex = a})+      . mapping _Coerce++-- | The maximum number of custom dimensions to include in this response.+mcdlMaxResults :: Lens' ManagementCustomDimensionsList (Maybe Int32)+mcdlMaxResults+  = lens _mcdlMaxResults+      (\ s a -> s{_mcdlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementCustomDimensionsList+         where+        type Rs ManagementCustomDimensionsList =+             CustomDimensions+        requestClient ManagementCustomDimensionsList{..}+          = go _mcdlAccountId _mcdlWebPropertyId+              _mcdlStartIndex+              _mcdlMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDimensionsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Patch.hs view
@@ -0,0 +1,149 @@+{-# 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.Analytics.Management.CustomDimensions.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 custom dimension. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDimensions.patch@.+module Network.Google.Resource.Analytics.Management.CustomDimensions.Patch+    (+    -- * REST Resource+      ManagementCustomDimensionsPatchResource++    -- * Creating a Request+    , managementCustomDimensionsPatch+    , ManagementCustomDimensionsPatch++    -- * Request Lenses+    , mcdpWebPropertyId+    , mcdpIgnoreCustomDataSourceLinks+    , mcdpPayload+    , mcdpAccountId+    , mcdpCustomDimensionId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDimensions.patch@ method which the+-- 'ManagementCustomDimensionsPatch' request conforms to.+type ManagementCustomDimensionsPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDimensions" :>+                     Capture "customDimensionId" Text :>+                       QueryParam "ignoreCustomDataSourceLinks" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] CustomDimension :>+                             Patch '[JSON] CustomDimension++-- | Updates an existing custom dimension. This method supports patch+-- semantics.+--+-- /See:/ 'managementCustomDimensionsPatch' smart constructor.+data ManagementCustomDimensionsPatch = ManagementCustomDimensionsPatch+    { _mcdpWebPropertyId               :: !Text+    , _mcdpIgnoreCustomDataSourceLinks :: !Bool+    , _mcdpPayload                     :: !CustomDimension+    , _mcdpAccountId                   :: !Text+    , _mcdpCustomDimensionId           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDimensionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcdpWebPropertyId'+--+-- * 'mcdpIgnoreCustomDataSourceLinks'+--+-- * 'mcdpPayload'+--+-- * 'mcdpAccountId'+--+-- * 'mcdpCustomDimensionId'+managementCustomDimensionsPatch+    :: Text -- ^ 'mcdpWebPropertyId'+    -> CustomDimension -- ^ 'mcdpPayload'+    -> Text -- ^ 'mcdpAccountId'+    -> Text -- ^ 'mcdpCustomDimensionId'+    -> ManagementCustomDimensionsPatch+managementCustomDimensionsPatch pMcdpWebPropertyId_ pMcdpPayload_ pMcdpAccountId_ pMcdpCustomDimensionId_ =+    ManagementCustomDimensionsPatch+    { _mcdpWebPropertyId = pMcdpWebPropertyId_+    , _mcdpIgnoreCustomDataSourceLinks = False+    , _mcdpPayload = pMcdpPayload_+    , _mcdpAccountId = pMcdpAccountId_+    , _mcdpCustomDimensionId = pMcdpCustomDimensionId_+    }++-- | Web property ID for the custom dimension to update.+mcdpWebPropertyId :: Lens' ManagementCustomDimensionsPatch Text+mcdpWebPropertyId+  = lens _mcdpWebPropertyId+      (\ s a -> s{_mcdpWebPropertyId = a})++-- | Force the update and ignore any warnings related to the custom dimension+-- being linked to a custom data source \/ data set.+mcdpIgnoreCustomDataSourceLinks :: Lens' ManagementCustomDimensionsPatch Bool+mcdpIgnoreCustomDataSourceLinks+  = lens _mcdpIgnoreCustomDataSourceLinks+      (\ s a -> s{_mcdpIgnoreCustomDataSourceLinks = a})++-- | Multipart request metadata.+mcdpPayload :: Lens' ManagementCustomDimensionsPatch CustomDimension+mcdpPayload+  = lens _mcdpPayload (\ s a -> s{_mcdpPayload = a})++-- | Account ID for the custom dimension to update.+mcdpAccountId :: Lens' ManagementCustomDimensionsPatch Text+mcdpAccountId+  = lens _mcdpAccountId+      (\ s a -> s{_mcdpAccountId = a})++-- | Custom dimension ID for the custom dimension to update.+mcdpCustomDimensionId :: Lens' ManagementCustomDimensionsPatch Text+mcdpCustomDimensionId+  = lens _mcdpCustomDimensionId+      (\ s a -> s{_mcdpCustomDimensionId = a})++instance GoogleRequest+         ManagementCustomDimensionsPatch where+        type Rs ManagementCustomDimensionsPatch =+             CustomDimension+        requestClient ManagementCustomDimensionsPatch{..}+          = go _mcdpAccountId _mcdpWebPropertyId+              _mcdpCustomDimensionId+              (Just _mcdpIgnoreCustomDataSourceLinks)+              (Just AltJSON)+              _mcdpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDimensionsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Update.hs view
@@ -0,0 +1,147 @@+{-# 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.Analytics.Management.CustomDimensions.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 custom dimension.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customDimensions.update@.+module Network.Google.Resource.Analytics.Management.CustomDimensions.Update+    (+    -- * REST Resource+      ManagementCustomDimensionsUpdateResource++    -- * Creating a Request+    , managementCustomDimensionsUpdate+    , ManagementCustomDimensionsUpdate++    -- * Request Lenses+    , mcduWebPropertyId+    , mcduIgnoreCustomDataSourceLinks+    , mcduPayload+    , mcduAccountId+    , mcduCustomDimensionId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customDimensions.update@ method which the+-- 'ManagementCustomDimensionsUpdate' request conforms to.+type ManagementCustomDimensionsUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDimensions" :>+                     Capture "customDimensionId" Text :>+                       QueryParam "ignoreCustomDataSourceLinks" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] CustomDimension :>+                             Put '[JSON] CustomDimension++-- | Updates an existing custom dimension.+--+-- /See:/ 'managementCustomDimensionsUpdate' smart constructor.+data ManagementCustomDimensionsUpdate = ManagementCustomDimensionsUpdate+    { _mcduWebPropertyId               :: !Text+    , _mcduIgnoreCustomDataSourceLinks :: !Bool+    , _mcduPayload                     :: !CustomDimension+    , _mcduAccountId                   :: !Text+    , _mcduCustomDimensionId           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomDimensionsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcduWebPropertyId'+--+-- * 'mcduIgnoreCustomDataSourceLinks'+--+-- * 'mcduPayload'+--+-- * 'mcduAccountId'+--+-- * 'mcduCustomDimensionId'+managementCustomDimensionsUpdate+    :: Text -- ^ 'mcduWebPropertyId'+    -> CustomDimension -- ^ 'mcduPayload'+    -> Text -- ^ 'mcduAccountId'+    -> Text -- ^ 'mcduCustomDimensionId'+    -> ManagementCustomDimensionsUpdate+managementCustomDimensionsUpdate pMcduWebPropertyId_ pMcduPayload_ pMcduAccountId_ pMcduCustomDimensionId_ =+    ManagementCustomDimensionsUpdate+    { _mcduWebPropertyId = pMcduWebPropertyId_+    , _mcduIgnoreCustomDataSourceLinks = False+    , _mcduPayload = pMcduPayload_+    , _mcduAccountId = pMcduAccountId_+    , _mcduCustomDimensionId = pMcduCustomDimensionId_+    }++-- | Web property ID for the custom dimension to update.+mcduWebPropertyId :: Lens' ManagementCustomDimensionsUpdate Text+mcduWebPropertyId+  = lens _mcduWebPropertyId+      (\ s a -> s{_mcduWebPropertyId = a})++-- | Force the update and ignore any warnings related to the custom dimension+-- being linked to a custom data source \/ data set.+mcduIgnoreCustomDataSourceLinks :: Lens' ManagementCustomDimensionsUpdate Bool+mcduIgnoreCustomDataSourceLinks+  = lens _mcduIgnoreCustomDataSourceLinks+      (\ s a -> s{_mcduIgnoreCustomDataSourceLinks = a})++-- | Multipart request metadata.+mcduPayload :: Lens' ManagementCustomDimensionsUpdate CustomDimension+mcduPayload+  = lens _mcduPayload (\ s a -> s{_mcduPayload = a})++-- | Account ID for the custom dimension to update.+mcduAccountId :: Lens' ManagementCustomDimensionsUpdate Text+mcduAccountId+  = lens _mcduAccountId+      (\ s a -> s{_mcduAccountId = a})++-- | Custom dimension ID for the custom dimension to update.+mcduCustomDimensionId :: Lens' ManagementCustomDimensionsUpdate Text+mcduCustomDimensionId+  = lens _mcduCustomDimensionId+      (\ s a -> s{_mcduCustomDimensionId = a})++instance GoogleRequest+         ManagementCustomDimensionsUpdate where+        type Rs ManagementCustomDimensionsUpdate =+             CustomDimension+        requestClient ManagementCustomDimensionsUpdate{..}+          = go _mcduAccountId _mcduWebPropertyId+              _mcduCustomDimensionId+              (Just _mcduIgnoreCustomDataSourceLinks)+              (Just AltJSON)+              _mcduPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomDimensionsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Get.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.Analytics.Management.CustomMetrics.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a custom metric to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customMetrics.get@.+module Network.Google.Resource.Analytics.Management.CustomMetrics.Get+    (+    -- * REST Resource+      ManagementCustomMetricsGetResource++    -- * Creating a Request+    , managementCustomMetricsGet+    , ManagementCustomMetricsGet++    -- * Request Lenses+    , mcmgCustomMetricId+    , mcmgWebPropertyId+    , mcmgAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customMetrics.get@ method which the+-- 'ManagementCustomMetricsGet' request conforms to.+type ManagementCustomMetricsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customMetrics" :>+                     Capture "customMetricId" Text :>+                       QueryParam "alt" AltJSON :> Get '[JSON] CustomMetric++-- | Get a custom metric to which the user has access.+--+-- /See:/ 'managementCustomMetricsGet' smart constructor.+data ManagementCustomMetricsGet = ManagementCustomMetricsGet+    { _mcmgCustomMetricId :: !Text+    , _mcmgWebPropertyId  :: !Text+    , _mcmgAccountId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomMetricsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcmgCustomMetricId'+--+-- * 'mcmgWebPropertyId'+--+-- * 'mcmgAccountId'+managementCustomMetricsGet+    :: Text -- ^ 'mcmgCustomMetricId'+    -> Text -- ^ 'mcmgWebPropertyId'+    -> Text -- ^ 'mcmgAccountId'+    -> ManagementCustomMetricsGet+managementCustomMetricsGet pMcmgCustomMetricId_ pMcmgWebPropertyId_ pMcmgAccountId_ =+    ManagementCustomMetricsGet+    { _mcmgCustomMetricId = pMcmgCustomMetricId_+    , _mcmgWebPropertyId = pMcmgWebPropertyId_+    , _mcmgAccountId = pMcmgAccountId_+    }++-- | The ID of the custom metric to retrieve.+mcmgCustomMetricId :: Lens' ManagementCustomMetricsGet Text+mcmgCustomMetricId+  = lens _mcmgCustomMetricId+      (\ s a -> s{_mcmgCustomMetricId = a})++-- | Web property ID for the custom metric to retrieve.+mcmgWebPropertyId :: Lens' ManagementCustomMetricsGet Text+mcmgWebPropertyId+  = lens _mcmgWebPropertyId+      (\ s a -> s{_mcmgWebPropertyId = a})++-- | Account ID for the custom metric to retrieve.+mcmgAccountId :: Lens' ManagementCustomMetricsGet Text+mcmgAccountId+  = lens _mcmgAccountId+      (\ s a -> s{_mcmgAccountId = a})++instance GoogleRequest ManagementCustomMetricsGet+         where+        type Rs ManagementCustomMetricsGet = CustomMetric+        requestClient ManagementCustomMetricsGet{..}+          = go _mcmgAccountId _mcmgWebPropertyId+              _mcmgCustomMetricId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementCustomMetricsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Insert.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.Analytics.Management.CustomMetrics.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)+--+-- Create a new custom metric.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customMetrics.insert@.+module Network.Google.Resource.Analytics.Management.CustomMetrics.Insert+    (+    -- * REST Resource+      ManagementCustomMetricsInsertResource++    -- * Creating a Request+    , managementCustomMetricsInsert+    , ManagementCustomMetricsInsert++    -- * Request Lenses+    , mcmiWebPropertyId+    , mcmiPayload+    , mcmiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customMetrics.insert@ method which the+-- 'ManagementCustomMetricsInsert' request conforms to.+type ManagementCustomMetricsInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customMetrics" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CustomMetric :>+                         Post '[JSON] CustomMetric++-- | Create a new custom metric.+--+-- /See:/ 'managementCustomMetricsInsert' smart constructor.+data ManagementCustomMetricsInsert = ManagementCustomMetricsInsert+    { _mcmiWebPropertyId :: !Text+    , _mcmiPayload       :: !CustomMetric+    , _mcmiAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomMetricsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcmiWebPropertyId'+--+-- * 'mcmiPayload'+--+-- * 'mcmiAccountId'+managementCustomMetricsInsert+    :: Text -- ^ 'mcmiWebPropertyId'+    -> CustomMetric -- ^ 'mcmiPayload'+    -> Text -- ^ 'mcmiAccountId'+    -> ManagementCustomMetricsInsert+managementCustomMetricsInsert pMcmiWebPropertyId_ pMcmiPayload_ pMcmiAccountId_ =+    ManagementCustomMetricsInsert+    { _mcmiWebPropertyId = pMcmiWebPropertyId_+    , _mcmiPayload = pMcmiPayload_+    , _mcmiAccountId = pMcmiAccountId_+    }++-- | Web property ID for the custom dimension to create.+mcmiWebPropertyId :: Lens' ManagementCustomMetricsInsert Text+mcmiWebPropertyId+  = lens _mcmiWebPropertyId+      (\ s a -> s{_mcmiWebPropertyId = a})++-- | Multipart request metadata.+mcmiPayload :: Lens' ManagementCustomMetricsInsert CustomMetric+mcmiPayload+  = lens _mcmiPayload (\ s a -> s{_mcmiPayload = a})++-- | Account ID for the custom metric to create.+mcmiAccountId :: Lens' ManagementCustomMetricsInsert Text+mcmiAccountId+  = lens _mcmiAccountId+      (\ s a -> s{_mcmiAccountId = a})++instance GoogleRequest ManagementCustomMetricsInsert+         where+        type Rs ManagementCustomMetricsInsert = CustomMetric+        requestClient ManagementCustomMetricsInsert{..}+          = go _mcmiAccountId _mcmiWebPropertyId (Just AltJSON)+              _mcmiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomMetricsInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomMetrics/List.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Management.CustomMetrics.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 custom metrics to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customMetrics.list@.+module Network.Google.Resource.Analytics.Management.CustomMetrics.List+    (+    -- * REST Resource+      ManagementCustomMetricsListResource++    -- * Creating a Request+    , managementCustomMetricsList+    , ManagementCustomMetricsList++    -- * Request Lenses+    , mcmlWebPropertyId+    , mcmlAccountId+    , mcmlStartIndex+    , mcmlMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customMetrics.list@ method which the+-- 'ManagementCustomMetricsList' request conforms to.+type ManagementCustomMetricsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customMetrics" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] CustomMetrics++-- | Lists custom metrics to which the user has access.+--+-- /See:/ 'managementCustomMetricsList' smart constructor.+data ManagementCustomMetricsList = ManagementCustomMetricsList+    { _mcmlWebPropertyId :: !Text+    , _mcmlAccountId     :: !Text+    , _mcmlStartIndex    :: !(Maybe (Textual Int32))+    , _mcmlMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomMetricsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcmlWebPropertyId'+--+-- * 'mcmlAccountId'+--+-- * 'mcmlStartIndex'+--+-- * 'mcmlMaxResults'+managementCustomMetricsList+    :: Text -- ^ 'mcmlWebPropertyId'+    -> Text -- ^ 'mcmlAccountId'+    -> ManagementCustomMetricsList+managementCustomMetricsList pMcmlWebPropertyId_ pMcmlAccountId_ =+    ManagementCustomMetricsList+    { _mcmlWebPropertyId = pMcmlWebPropertyId_+    , _mcmlAccountId = pMcmlAccountId_+    , _mcmlStartIndex = Nothing+    , _mcmlMaxResults = Nothing+    }++-- | Web property ID for the custom metrics to retrieve.+mcmlWebPropertyId :: Lens' ManagementCustomMetricsList Text+mcmlWebPropertyId+  = lens _mcmlWebPropertyId+      (\ s a -> s{_mcmlWebPropertyId = a})++-- | Account ID for the custom metrics to retrieve.+mcmlAccountId :: Lens' ManagementCustomMetricsList Text+mcmlAccountId+  = lens _mcmlAccountId+      (\ s a -> s{_mcmlAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mcmlStartIndex :: Lens' ManagementCustomMetricsList (Maybe Int32)+mcmlStartIndex+  = lens _mcmlStartIndex+      (\ s a -> s{_mcmlStartIndex = a})+      . mapping _Coerce++-- | The maximum number of custom metrics to include in this response.+mcmlMaxResults :: Lens' ManagementCustomMetricsList (Maybe Int32)+mcmlMaxResults+  = lens _mcmlMaxResults+      (\ s a -> s{_mcmlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementCustomMetricsList+         where+        type Rs ManagementCustomMetricsList = CustomMetrics+        requestClient ManagementCustomMetricsList{..}+          = go _mcmlAccountId _mcmlWebPropertyId+              _mcmlStartIndex+              _mcmlMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementCustomMetricsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Patch.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.Analytics.Management.CustomMetrics.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 custom metric. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customMetrics.patch@.+module Network.Google.Resource.Analytics.Management.CustomMetrics.Patch+    (+    -- * REST Resource+      ManagementCustomMetricsPatchResource++    -- * Creating a Request+    , managementCustomMetricsPatch+    , ManagementCustomMetricsPatch++    -- * Request Lenses+    , mcmpCustomMetricId+    , mcmpWebPropertyId+    , mcmpIgnoreCustomDataSourceLinks+    , mcmpPayload+    , mcmpAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customMetrics.patch@ method which the+-- 'ManagementCustomMetricsPatch' request conforms to.+type ManagementCustomMetricsPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customMetrics" :>+                     Capture "customMetricId" Text :>+                       QueryParam "ignoreCustomDataSourceLinks" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] CustomMetric :>+                             Patch '[JSON] CustomMetric++-- | Updates an existing custom metric. This method supports patch semantics.+--+-- /See:/ 'managementCustomMetricsPatch' smart constructor.+data ManagementCustomMetricsPatch = ManagementCustomMetricsPatch+    { _mcmpCustomMetricId              :: !Text+    , _mcmpWebPropertyId               :: !Text+    , _mcmpIgnoreCustomDataSourceLinks :: !Bool+    , _mcmpPayload                     :: !CustomMetric+    , _mcmpAccountId                   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomMetricsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcmpCustomMetricId'+--+-- * 'mcmpWebPropertyId'+--+-- * 'mcmpIgnoreCustomDataSourceLinks'+--+-- * 'mcmpPayload'+--+-- * 'mcmpAccountId'+managementCustomMetricsPatch+    :: Text -- ^ 'mcmpCustomMetricId'+    -> Text -- ^ 'mcmpWebPropertyId'+    -> CustomMetric -- ^ 'mcmpPayload'+    -> Text -- ^ 'mcmpAccountId'+    -> ManagementCustomMetricsPatch+managementCustomMetricsPatch pMcmpCustomMetricId_ pMcmpWebPropertyId_ pMcmpPayload_ pMcmpAccountId_ =+    ManagementCustomMetricsPatch+    { _mcmpCustomMetricId = pMcmpCustomMetricId_+    , _mcmpWebPropertyId = pMcmpWebPropertyId_+    , _mcmpIgnoreCustomDataSourceLinks = False+    , _mcmpPayload = pMcmpPayload_+    , _mcmpAccountId = pMcmpAccountId_+    }++-- | Custom metric ID for the custom metric to update.+mcmpCustomMetricId :: Lens' ManagementCustomMetricsPatch Text+mcmpCustomMetricId+  = lens _mcmpCustomMetricId+      (\ s a -> s{_mcmpCustomMetricId = a})++-- | Web property ID for the custom metric to update.+mcmpWebPropertyId :: Lens' ManagementCustomMetricsPatch Text+mcmpWebPropertyId+  = lens _mcmpWebPropertyId+      (\ s a -> s{_mcmpWebPropertyId = a})++-- | Force the update and ignore any warnings related to the custom metric+-- being linked to a custom data source \/ data set.+mcmpIgnoreCustomDataSourceLinks :: Lens' ManagementCustomMetricsPatch Bool+mcmpIgnoreCustomDataSourceLinks+  = lens _mcmpIgnoreCustomDataSourceLinks+      (\ s a -> s{_mcmpIgnoreCustomDataSourceLinks = a})++-- | Multipart request metadata.+mcmpPayload :: Lens' ManagementCustomMetricsPatch CustomMetric+mcmpPayload+  = lens _mcmpPayload (\ s a -> s{_mcmpPayload = a})++-- | Account ID for the custom metric to update.+mcmpAccountId :: Lens' ManagementCustomMetricsPatch Text+mcmpAccountId+  = lens _mcmpAccountId+      (\ s a -> s{_mcmpAccountId = a})++instance GoogleRequest ManagementCustomMetricsPatch+         where+        type Rs ManagementCustomMetricsPatch = CustomMetric+        requestClient ManagementCustomMetricsPatch{..}+          = go _mcmpAccountId _mcmpWebPropertyId+              _mcmpCustomMetricId+              (Just _mcmpIgnoreCustomDataSourceLinks)+              (Just AltJSON)+              _mcmpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementCustomMetricsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Update.hs view
@@ -0,0 +1,146 @@+{-# 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.Analytics.Management.CustomMetrics.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 custom metric.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.customMetrics.update@.+module Network.Google.Resource.Analytics.Management.CustomMetrics.Update+    (+    -- * REST Resource+      ManagementCustomMetricsUpdateResource++    -- * Creating a Request+    , managementCustomMetricsUpdate+    , ManagementCustomMetricsUpdate++    -- * Request Lenses+    , mcmuCustomMetricId+    , mcmuWebPropertyId+    , mcmuIgnoreCustomDataSourceLinks+    , mcmuPayload+    , mcmuAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.customMetrics.update@ method which the+-- 'ManagementCustomMetricsUpdate' request conforms to.+type ManagementCustomMetricsUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customMetrics" :>+                     Capture "customMetricId" Text :>+                       QueryParam "ignoreCustomDataSourceLinks" Bool :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] CustomMetric :>+                             Put '[JSON] CustomMetric++-- | Updates an existing custom metric.+--+-- /See:/ 'managementCustomMetricsUpdate' smart constructor.+data ManagementCustomMetricsUpdate = ManagementCustomMetricsUpdate+    { _mcmuCustomMetricId              :: !Text+    , _mcmuWebPropertyId               :: !Text+    , _mcmuIgnoreCustomDataSourceLinks :: !Bool+    , _mcmuPayload                     :: !CustomMetric+    , _mcmuAccountId                   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementCustomMetricsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcmuCustomMetricId'+--+-- * 'mcmuWebPropertyId'+--+-- * 'mcmuIgnoreCustomDataSourceLinks'+--+-- * 'mcmuPayload'+--+-- * 'mcmuAccountId'+managementCustomMetricsUpdate+    :: Text -- ^ 'mcmuCustomMetricId'+    -> Text -- ^ 'mcmuWebPropertyId'+    -> CustomMetric -- ^ 'mcmuPayload'+    -> Text -- ^ 'mcmuAccountId'+    -> ManagementCustomMetricsUpdate+managementCustomMetricsUpdate pMcmuCustomMetricId_ pMcmuWebPropertyId_ pMcmuPayload_ pMcmuAccountId_ =+    ManagementCustomMetricsUpdate+    { _mcmuCustomMetricId = pMcmuCustomMetricId_+    , _mcmuWebPropertyId = pMcmuWebPropertyId_+    , _mcmuIgnoreCustomDataSourceLinks = False+    , _mcmuPayload = pMcmuPayload_+    , _mcmuAccountId = pMcmuAccountId_+    }++-- | Custom metric ID for the custom metric to update.+mcmuCustomMetricId :: Lens' ManagementCustomMetricsUpdate Text+mcmuCustomMetricId+  = lens _mcmuCustomMetricId+      (\ s a -> s{_mcmuCustomMetricId = a})++-- | Web property ID for the custom metric to update.+mcmuWebPropertyId :: Lens' ManagementCustomMetricsUpdate Text+mcmuWebPropertyId+  = lens _mcmuWebPropertyId+      (\ s a -> s{_mcmuWebPropertyId = a})++-- | Force the update and ignore any warnings related to the custom metric+-- being linked to a custom data source \/ data set.+mcmuIgnoreCustomDataSourceLinks :: Lens' ManagementCustomMetricsUpdate Bool+mcmuIgnoreCustomDataSourceLinks+  = lens _mcmuIgnoreCustomDataSourceLinks+      (\ s a -> s{_mcmuIgnoreCustomDataSourceLinks = a})++-- | Multipart request metadata.+mcmuPayload :: Lens' ManagementCustomMetricsUpdate CustomMetric+mcmuPayload+  = lens _mcmuPayload (\ s a -> s{_mcmuPayload = a})++-- | Account ID for the custom metric to update.+mcmuAccountId :: Lens' ManagementCustomMetricsUpdate Text+mcmuAccountId+  = lens _mcmuAccountId+      (\ s a -> s{_mcmuAccountId = a})++instance GoogleRequest ManagementCustomMetricsUpdate+         where+        type Rs ManagementCustomMetricsUpdate = CustomMetric+        requestClient ManagementCustomMetricsUpdate{..}+          = go _mcmuAccountId _mcmuWebPropertyId+              _mcmuCustomMetricId+              (Just _mcmuIgnoreCustomDataSourceLinks)+              (Just AltJSON)+              _mcmuPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementCustomMetricsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/Delete.hs view
@@ -0,0 +1,129 @@+{-# 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.Analytics.Management.Experiments.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)+--+-- Delete an experiment.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.delete@.+module Network.Google.Resource.Analytics.Management.Experiments.Delete+    (+    -- * REST Resource+      ManagementExperimentsDeleteResource++    -- * Creating a Request+    , managementExperimentsDelete+    , ManagementExperimentsDelete++    -- * Request Lenses+    , medWebPropertyId+    , medProFileId+    , medAccountId+    , medExperimentId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.delete@ method which the+-- 'ManagementExperimentsDelete' request conforms to.+type ManagementExperimentsDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         Capture "experimentId" Text :>+                           QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete an experiment.+--+-- /See:/ 'managementExperimentsDelete' smart constructor.+data ManagementExperimentsDelete = ManagementExperimentsDelete+    { _medWebPropertyId :: !Text+    , _medProFileId     :: !Text+    , _medAccountId     :: !Text+    , _medExperimentId  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'medWebPropertyId'+--+-- * 'medProFileId'+--+-- * 'medAccountId'+--+-- * 'medExperimentId'+managementExperimentsDelete+    :: Text -- ^ 'medWebPropertyId'+    -> Text -- ^ 'medProFileId'+    -> Text -- ^ 'medAccountId'+    -> Text -- ^ 'medExperimentId'+    -> ManagementExperimentsDelete+managementExperimentsDelete pMedWebPropertyId_ pMedProFileId_ pMedAccountId_ pMedExperimentId_ =+    ManagementExperimentsDelete+    { _medWebPropertyId = pMedWebPropertyId_+    , _medProFileId = pMedProFileId_+    , _medAccountId = pMedAccountId_+    , _medExperimentId = pMedExperimentId_+    }++-- | Web property ID to which the experiment belongs+medWebPropertyId :: Lens' ManagementExperimentsDelete Text+medWebPropertyId+  = lens _medWebPropertyId+      (\ s a -> s{_medWebPropertyId = a})++-- | View (Profile) ID to which the experiment belongs+medProFileId :: Lens' ManagementExperimentsDelete Text+medProFileId+  = lens _medProFileId (\ s a -> s{_medProFileId = a})++-- | Account ID to which the experiment belongs+medAccountId :: Lens' ManagementExperimentsDelete Text+medAccountId+  = lens _medAccountId (\ s a -> s{_medAccountId = a})++-- | ID of the experiment to delete+medExperimentId :: Lens' ManagementExperimentsDelete Text+medExperimentId+  = lens _medExperimentId+      (\ s a -> s{_medExperimentId = a})++instance GoogleRequest ManagementExperimentsDelete+         where+        type Rs ManagementExperimentsDelete = ()+        requestClient ManagementExperimentsDelete{..}+          = go _medAccountId _medWebPropertyId _medProFileId+              _medExperimentId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/Get.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.Analytics.Management.Experiments.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)+--+-- Returns an experiment to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.get@.+module Network.Google.Resource.Analytics.Management.Experiments.Get+    (+    -- * REST Resource+      ManagementExperimentsGetResource++    -- * Creating a Request+    , managementExperimentsGet+    , ManagementExperimentsGet++    -- * Request Lenses+    , megWebPropertyId+    , megProFileId+    , megAccountId+    , megExperimentId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.get@ method which the+-- 'ManagementExperimentsGet' request conforms to.+type ManagementExperimentsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         Capture "experimentId" Text :>+                           QueryParam "alt" AltJSON :> Get '[JSON] Experiment++-- | Returns an experiment to which the user has access.+--+-- /See:/ 'managementExperimentsGet' smart constructor.+data ManagementExperimentsGet = ManagementExperimentsGet+    { _megWebPropertyId :: !Text+    , _megProFileId     :: !Text+    , _megAccountId     :: !Text+    , _megExperimentId  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'megWebPropertyId'+--+-- * 'megProFileId'+--+-- * 'megAccountId'+--+-- * 'megExperimentId'+managementExperimentsGet+    :: Text -- ^ 'megWebPropertyId'+    -> Text -- ^ 'megProFileId'+    -> Text -- ^ 'megAccountId'+    -> Text -- ^ 'megExperimentId'+    -> ManagementExperimentsGet+managementExperimentsGet pMegWebPropertyId_ pMegProFileId_ pMegAccountId_ pMegExperimentId_ =+    ManagementExperimentsGet+    { _megWebPropertyId = pMegWebPropertyId_+    , _megProFileId = pMegProFileId_+    , _megAccountId = pMegAccountId_+    , _megExperimentId = pMegExperimentId_+    }++-- | Web property ID to retrieve the experiment for.+megWebPropertyId :: Lens' ManagementExperimentsGet Text+megWebPropertyId+  = lens _megWebPropertyId+      (\ s a -> s{_megWebPropertyId = a})++-- | View (Profile) ID to retrieve the experiment for.+megProFileId :: Lens' ManagementExperimentsGet Text+megProFileId+  = lens _megProFileId (\ s a -> s{_megProFileId = a})++-- | Account ID to retrieve the experiment for.+megAccountId :: Lens' ManagementExperimentsGet Text+megAccountId+  = lens _megAccountId (\ s a -> s{_megAccountId = a})++-- | Experiment ID to retrieve the experiment for.+megExperimentId :: Lens' ManagementExperimentsGet Text+megExperimentId+  = lens _megExperimentId+      (\ s a -> s{_megExperimentId = a})++instance GoogleRequest ManagementExperimentsGet where+        type Rs ManagementExperimentsGet = Experiment+        requestClient ManagementExperimentsGet{..}+          = go _megAccountId _megWebPropertyId _megProFileId+              _megExperimentId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/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.Analytics.Management.Experiments.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)+--+-- Create a new experiment.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.insert@.+module Network.Google.Resource.Analytics.Management.Experiments.Insert+    (+    -- * REST Resource+      ManagementExperimentsInsertResource++    -- * Creating a Request+    , managementExperimentsInsert+    , ManagementExperimentsInsert++    -- * Request Lenses+    , meiWebPropertyId+    , meiProFileId+    , meiPayload+    , meiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.insert@ method which the+-- 'ManagementExperimentsInsert' request conforms to.+type ManagementExperimentsInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] Experiment :> Post '[JSON] Experiment++-- | Create a new experiment.+--+-- /See:/ 'managementExperimentsInsert' smart constructor.+data ManagementExperimentsInsert = ManagementExperimentsInsert+    { _meiWebPropertyId :: !Text+    , _meiProFileId     :: !Text+    , _meiPayload       :: !Experiment+    , _meiAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'meiWebPropertyId'+--+-- * 'meiProFileId'+--+-- * 'meiPayload'+--+-- * 'meiAccountId'+managementExperimentsInsert+    :: Text -- ^ 'meiWebPropertyId'+    -> Text -- ^ 'meiProFileId'+    -> Experiment -- ^ 'meiPayload'+    -> Text -- ^ 'meiAccountId'+    -> ManagementExperimentsInsert+managementExperimentsInsert pMeiWebPropertyId_ pMeiProFileId_ pMeiPayload_ pMeiAccountId_ =+    ManagementExperimentsInsert+    { _meiWebPropertyId = pMeiWebPropertyId_+    , _meiProFileId = pMeiProFileId_+    , _meiPayload = pMeiPayload_+    , _meiAccountId = pMeiAccountId_+    }++-- | Web property ID to create the experiment for.+meiWebPropertyId :: Lens' ManagementExperimentsInsert Text+meiWebPropertyId+  = lens _meiWebPropertyId+      (\ s a -> s{_meiWebPropertyId = a})++-- | View (Profile) ID to create the experiment for.+meiProFileId :: Lens' ManagementExperimentsInsert Text+meiProFileId+  = lens _meiProFileId (\ s a -> s{_meiProFileId = a})++-- | Multipart request metadata.+meiPayload :: Lens' ManagementExperimentsInsert Experiment+meiPayload+  = lens _meiPayload (\ s a -> s{_meiPayload = a})++-- | Account ID to create the experiment for.+meiAccountId :: Lens' ManagementExperimentsInsert Text+meiAccountId+  = lens _meiAccountId (\ s a -> s{_meiAccountId = a})++instance GoogleRequest ManagementExperimentsInsert+         where+        type Rs ManagementExperimentsInsert = Experiment+        requestClient ManagementExperimentsInsert{..}+          = go _meiAccountId _meiWebPropertyId _meiProFileId+              (Just AltJSON)+              _meiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/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.Analytics.Management.Experiments.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 experiments to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.list@.+module Network.Google.Resource.Analytics.Management.Experiments.List+    (+    -- * REST Resource+      ManagementExperimentsListResource++    -- * Creating a Request+    , managementExperimentsList+    , ManagementExperimentsList++    -- * Request Lenses+    , melWebPropertyId+    , melProFileId+    , melAccountId+    , melStartIndex+    , melMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.list@ method which the+-- 'ManagementExperimentsList' request conforms to.+type ManagementExperimentsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Experiments++-- | Lists experiments to which the user has access.+--+-- /See:/ 'managementExperimentsList' smart constructor.+data ManagementExperimentsList = ManagementExperimentsList+    { _melWebPropertyId :: !Text+    , _melProFileId     :: !Text+    , _melAccountId     :: !Text+    , _melStartIndex    :: !(Maybe (Textual Int32))+    , _melMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'melWebPropertyId'+--+-- * 'melProFileId'+--+-- * 'melAccountId'+--+-- * 'melStartIndex'+--+-- * 'melMaxResults'+managementExperimentsList+    :: Text -- ^ 'melWebPropertyId'+    -> Text -- ^ 'melProFileId'+    -> Text -- ^ 'melAccountId'+    -> ManagementExperimentsList+managementExperimentsList pMelWebPropertyId_ pMelProFileId_ pMelAccountId_ =+    ManagementExperimentsList+    { _melWebPropertyId = pMelWebPropertyId_+    , _melProFileId = pMelProFileId_+    , _melAccountId = pMelAccountId_+    , _melStartIndex = Nothing+    , _melMaxResults = Nothing+    }++-- | Web property ID to retrieve experiments for.+melWebPropertyId :: Lens' ManagementExperimentsList Text+melWebPropertyId+  = lens _melWebPropertyId+      (\ s a -> s{_melWebPropertyId = a})++-- | View (Profile) ID to retrieve experiments for.+melProFileId :: Lens' ManagementExperimentsList Text+melProFileId+  = lens _melProFileId (\ s a -> s{_melProFileId = a})++-- | Account ID to retrieve experiments for.+melAccountId :: Lens' ManagementExperimentsList Text+melAccountId+  = lens _melAccountId (\ s a -> s{_melAccountId = a})++-- | An index of the first experiment to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+melStartIndex :: Lens' ManagementExperimentsList (Maybe Int32)+melStartIndex+  = lens _melStartIndex+      (\ s a -> s{_melStartIndex = a})+      . mapping _Coerce++-- | The maximum number of experiments to include in this response.+melMaxResults :: Lens' ManagementExperimentsList (Maybe Int32)+melMaxResults+  = lens _melMaxResults+      (\ s a -> s{_melMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementExperimentsList+         where+        type Rs ManagementExperimentsList = Experiments+        requestClient ManagementExperimentsList{..}+          = go _melAccountId _melWebPropertyId _melProFileId+              _melStartIndex+              _melMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/Patch.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.Analytics.Management.Experiments.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)+--+-- Update an existing experiment. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.patch@.+module Network.Google.Resource.Analytics.Management.Experiments.Patch+    (+    -- * REST Resource+      ManagementExperimentsPatchResource++    -- * Creating a Request+    , managementExperimentsPatch+    , ManagementExperimentsPatch++    -- * Request Lenses+    , mepWebPropertyId+    , mepProFileId+    , mepPayload+    , mepAccountId+    , mepExperimentId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.patch@ method which the+-- 'ManagementExperimentsPatch' request conforms to.+type ManagementExperimentsPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         Capture "experimentId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Experiment :>+                               Patch '[JSON] Experiment++-- | Update an existing experiment. This method supports patch semantics.+--+-- /See:/ 'managementExperimentsPatch' smart constructor.+data ManagementExperimentsPatch = ManagementExperimentsPatch+    { _mepWebPropertyId :: !Text+    , _mepProFileId     :: !Text+    , _mepPayload       :: !Experiment+    , _mepAccountId     :: !Text+    , _mepExperimentId  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mepWebPropertyId'+--+-- * 'mepProFileId'+--+-- * 'mepPayload'+--+-- * 'mepAccountId'+--+-- * 'mepExperimentId'+managementExperimentsPatch+    :: Text -- ^ 'mepWebPropertyId'+    -> Text -- ^ 'mepProFileId'+    -> Experiment -- ^ 'mepPayload'+    -> Text -- ^ 'mepAccountId'+    -> Text -- ^ 'mepExperimentId'+    -> ManagementExperimentsPatch+managementExperimentsPatch pMepWebPropertyId_ pMepProFileId_ pMepPayload_ pMepAccountId_ pMepExperimentId_ =+    ManagementExperimentsPatch+    { _mepWebPropertyId = pMepWebPropertyId_+    , _mepProFileId = pMepProFileId_+    , _mepPayload = pMepPayload_+    , _mepAccountId = pMepAccountId_+    , _mepExperimentId = pMepExperimentId_+    }++-- | Web property ID of the experiment to update.+mepWebPropertyId :: Lens' ManagementExperimentsPatch Text+mepWebPropertyId+  = lens _mepWebPropertyId+      (\ s a -> s{_mepWebPropertyId = a})++-- | View (Profile) ID of the experiment to update.+mepProFileId :: Lens' ManagementExperimentsPatch Text+mepProFileId+  = lens _mepProFileId (\ s a -> s{_mepProFileId = a})++-- | Multipart request metadata.+mepPayload :: Lens' ManagementExperimentsPatch Experiment+mepPayload+  = lens _mepPayload (\ s a -> s{_mepPayload = a})++-- | Account ID of the experiment to update.+mepAccountId :: Lens' ManagementExperimentsPatch Text+mepAccountId+  = lens _mepAccountId (\ s a -> s{_mepAccountId = a})++-- | Experiment ID of the experiment to update.+mepExperimentId :: Lens' ManagementExperimentsPatch Text+mepExperimentId+  = lens _mepExperimentId+      (\ s a -> s{_mepExperimentId = a})++instance GoogleRequest ManagementExperimentsPatch+         where+        type Rs ManagementExperimentsPatch = Experiment+        requestClient ManagementExperimentsPatch{..}+          = go _mepAccountId _mepWebPropertyId _mepProFileId+              _mepExperimentId+              (Just AltJSON)+              _mepPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Experiments/Update.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.Analytics.Management.Experiments.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)+--+-- Update an existing experiment.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.experiments.update@.+module Network.Google.Resource.Analytics.Management.Experiments.Update+    (+    -- * REST Resource+      ManagementExperimentsUpdateResource++    -- * Creating a Request+    , managementExperimentsUpdate+    , ManagementExperimentsUpdate++    -- * Request Lenses+    , meuWebPropertyId+    , meuProFileId+    , meuPayload+    , meuAccountId+    , meuExperimentId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.experiments.update@ method which the+-- 'ManagementExperimentsUpdate' request conforms to.+type ManagementExperimentsUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "experiments" :>+                         Capture "experimentId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Experiment :>+                               Put '[JSON] Experiment++-- | Update an existing experiment.+--+-- /See:/ 'managementExperimentsUpdate' smart constructor.+data ManagementExperimentsUpdate = ManagementExperimentsUpdate+    { _meuWebPropertyId :: !Text+    , _meuProFileId     :: !Text+    , _meuPayload       :: !Experiment+    , _meuAccountId     :: !Text+    , _meuExperimentId  :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementExperimentsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'meuWebPropertyId'+--+-- * 'meuProFileId'+--+-- * 'meuPayload'+--+-- * 'meuAccountId'+--+-- * 'meuExperimentId'+managementExperimentsUpdate+    :: Text -- ^ 'meuWebPropertyId'+    -> Text -- ^ 'meuProFileId'+    -> Experiment -- ^ 'meuPayload'+    -> Text -- ^ 'meuAccountId'+    -> Text -- ^ 'meuExperimentId'+    -> ManagementExperimentsUpdate+managementExperimentsUpdate pMeuWebPropertyId_ pMeuProFileId_ pMeuPayload_ pMeuAccountId_ pMeuExperimentId_ =+    ManagementExperimentsUpdate+    { _meuWebPropertyId = pMeuWebPropertyId_+    , _meuProFileId = pMeuProFileId_+    , _meuPayload = pMeuPayload_+    , _meuAccountId = pMeuAccountId_+    , _meuExperimentId = pMeuExperimentId_+    }++-- | Web property ID of the experiment to update.+meuWebPropertyId :: Lens' ManagementExperimentsUpdate Text+meuWebPropertyId+  = lens _meuWebPropertyId+      (\ s a -> s{_meuWebPropertyId = a})++-- | View (Profile) ID of the experiment to update.+meuProFileId :: Lens' ManagementExperimentsUpdate Text+meuProFileId+  = lens _meuProFileId (\ s a -> s{_meuProFileId = a})++-- | Multipart request metadata.+meuPayload :: Lens' ManagementExperimentsUpdate Experiment+meuPayload+  = lens _meuPayload (\ s a -> s{_meuPayload = a})++-- | Account ID of the experiment to update.+meuAccountId :: Lens' ManagementExperimentsUpdate Text+meuAccountId+  = lens _meuAccountId (\ s a -> s{_meuAccountId = a})++-- | Experiment ID of the experiment to update.+meuExperimentId :: Lens' ManagementExperimentsUpdate Text+meuExperimentId+  = lens _meuExperimentId+      (\ s a -> s{_meuExperimentId = a})++instance GoogleRequest ManagementExperimentsUpdate+         where+        type Rs ManagementExperimentsUpdate = Experiment+        requestClient ManagementExperimentsUpdate{..}+          = go _meuAccountId _meuWebPropertyId _meuProFileId+              _meuExperimentId+              (Just AltJSON)+              _meuPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementExperimentsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/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.Analytics.Management.Filters.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)+--+-- Delete a filter.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.delete@.+module Network.Google.Resource.Analytics.Management.Filters.Delete+    (+    -- * REST Resource+      ManagementFiltersDeleteResource++    -- * Creating a Request+    , managementFiltersDelete+    , ManagementFiltersDelete++    -- * Request Lenses+    , mfdFilterId+    , mfdAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.delete@ method which the+-- 'ManagementFiltersDelete' request conforms to.+type ManagementFiltersDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 Capture "filterId" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Filter++-- | Delete a filter.+--+-- /See:/ 'managementFiltersDelete' smart constructor.+data ManagementFiltersDelete = ManagementFiltersDelete+    { _mfdFilterId  :: !Text+    , _mfdAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfdFilterId'+--+-- * 'mfdAccountId'+managementFiltersDelete+    :: Text -- ^ 'mfdFilterId'+    -> Text -- ^ 'mfdAccountId'+    -> ManagementFiltersDelete+managementFiltersDelete pMfdFilterId_ pMfdAccountId_ =+    ManagementFiltersDelete+    { _mfdFilterId = pMfdFilterId_+    , _mfdAccountId = pMfdAccountId_+    }++-- | ID of the filter to be deleted.+mfdFilterId :: Lens' ManagementFiltersDelete Text+mfdFilterId+  = lens _mfdFilterId (\ s a -> s{_mfdFilterId = a})++-- | Account ID to delete the filter for.+mfdAccountId :: Lens' ManagementFiltersDelete Text+mfdAccountId+  = lens _mfdAccountId (\ s a -> s{_mfdAccountId = a})++instance GoogleRequest ManagementFiltersDelete where+        type Rs ManagementFiltersDelete = Filter+        requestClient ManagementFiltersDelete{..}+          = go _mfdAccountId _mfdFilterId (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/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.Analytics.Management.Filters.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)+--+-- Returns a filters to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.get@.+module Network.Google.Resource.Analytics.Management.Filters.Get+    (+    -- * REST Resource+      ManagementFiltersGetResource++    -- * Creating a Request+    , managementFiltersGet+    , ManagementFiltersGet++    -- * Request Lenses+    , mfgFilterId+    , mfgAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.get@ method which the+-- 'ManagementFiltersGet' request conforms to.+type ManagementFiltersGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 Capture "filterId" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Filter++-- | Returns a filters to which the user has access.+--+-- /See:/ 'managementFiltersGet' smart constructor.+data ManagementFiltersGet = ManagementFiltersGet+    { _mfgFilterId  :: !Text+    , _mfgAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfgFilterId'+--+-- * 'mfgAccountId'+managementFiltersGet+    :: Text -- ^ 'mfgFilterId'+    -> Text -- ^ 'mfgAccountId'+    -> ManagementFiltersGet+managementFiltersGet pMfgFilterId_ pMfgAccountId_ =+    ManagementFiltersGet+    { _mfgFilterId = pMfgFilterId_+    , _mfgAccountId = pMfgAccountId_+    }++-- | Filter ID to retrieve filters for.+mfgFilterId :: Lens' ManagementFiltersGet Text+mfgFilterId+  = lens _mfgFilterId (\ s a -> s{_mfgFilterId = a})++-- | Account ID to retrieve filters for.+mfgAccountId :: Lens' ManagementFiltersGet Text+mfgAccountId+  = lens _mfgAccountId (\ s a -> s{_mfgAccountId = a})++instance GoogleRequest ManagementFiltersGet where+        type Rs ManagementFiltersGet = Filter+        requestClient ManagementFiltersGet{..}+          = go _mfgAccountId _mfgFilterId (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/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.Analytics.Management.Filters.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)+--+-- Create a new filter.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.insert@.+module Network.Google.Resource.Analytics.Management.Filters.Insert+    (+    -- * REST Resource+      ManagementFiltersInsertResource++    -- * Creating a Request+    , managementFiltersInsert+    , ManagementFiltersInsert++    -- * Request Lenses+    , mfiPayload+    , mfiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.insert@ method which the+-- 'ManagementFiltersInsert' request conforms to.+type ManagementFiltersInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Filter :> Post '[JSON] Filter++-- | Create a new filter.+--+-- /See:/ 'managementFiltersInsert' smart constructor.+data ManagementFiltersInsert = ManagementFiltersInsert+    { _mfiPayload   :: !Filter+    , _mfiAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfiPayload'+--+-- * 'mfiAccountId'+managementFiltersInsert+    :: Filter -- ^ 'mfiPayload'+    -> Text -- ^ 'mfiAccountId'+    -> ManagementFiltersInsert+managementFiltersInsert pMfiPayload_ pMfiAccountId_ =+    ManagementFiltersInsert+    { _mfiPayload = pMfiPayload_+    , _mfiAccountId = pMfiAccountId_+    }++-- | Multipart request metadata.+mfiPayload :: Lens' ManagementFiltersInsert Filter+mfiPayload+  = lens _mfiPayload (\ s a -> s{_mfiPayload = a})++-- | Account ID to create filter for.+mfiAccountId :: Lens' ManagementFiltersInsert Text+mfiAccountId+  = lens _mfiAccountId (\ s a -> s{_mfiAccountId = a})++instance GoogleRequest ManagementFiltersInsert where+        type Rs ManagementFiltersInsert = Filter+        requestClient ManagementFiltersInsert{..}+          = go _mfiAccountId (Just AltJSON) _mfiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/List.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.Analytics.Management.Filters.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 all filters for an account+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.list@.+module Network.Google.Resource.Analytics.Management.Filters.List+    (+    -- * REST Resource+      ManagementFiltersListResource++    -- * Creating a Request+    , managementFiltersList+    , ManagementFiltersList++    -- * Request Lenses+    , mflAccountId+    , mflStartIndex+    , mflMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.list@ method which the+-- 'ManagementFiltersList' request conforms to.+type ManagementFiltersListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 QueryParam "start-index" (Textual Int32) :>+                   QueryParam "max-results" (Textual Int32) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Filters++-- | Lists all filters for an account+--+-- /See:/ 'managementFiltersList' smart constructor.+data ManagementFiltersList = ManagementFiltersList+    { _mflAccountId  :: !Text+    , _mflStartIndex :: !(Maybe (Textual Int32))+    , _mflMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mflAccountId'+--+-- * 'mflStartIndex'+--+-- * 'mflMaxResults'+managementFiltersList+    :: Text -- ^ 'mflAccountId'+    -> ManagementFiltersList+managementFiltersList pMflAccountId_ =+    ManagementFiltersList+    { _mflAccountId = pMflAccountId_+    , _mflStartIndex = Nothing+    , _mflMaxResults = Nothing+    }++-- | Account ID to retrieve filters for.+mflAccountId :: Lens' ManagementFiltersList Text+mflAccountId+  = lens _mflAccountId (\ s a -> s{_mflAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mflStartIndex :: Lens' ManagementFiltersList (Maybe Int32)+mflStartIndex+  = lens _mflStartIndex+      (\ s a -> s{_mflStartIndex = a})+      . mapping _Coerce++-- | The maximum number of filters to include in this response.+mflMaxResults :: Lens' ManagementFiltersList (Maybe Int32)+mflMaxResults+  = lens _mflMaxResults+      (\ s a -> s{_mflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementFiltersList where+        type Rs ManagementFiltersList = Filters+        requestClient ManagementFiltersList{..}+          = go _mflAccountId _mflStartIndex _mflMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/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.Analytics.Management.Filters.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 filter. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.patch@.+module Network.Google.Resource.Analytics.Management.Filters.Patch+    (+    -- * REST Resource+      ManagementFiltersPatchResource++    -- * Creating a Request+    , managementFiltersPatch+    , ManagementFiltersPatch++    -- * Request Lenses+    , mfpFilterId+    , mfpPayload+    , mfpAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.patch@ method which the+-- 'ManagementFiltersPatch' request conforms to.+type ManagementFiltersPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 Capture "filterId" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Filter :> Patch '[JSON] Filter++-- | Updates an existing filter. This method supports patch semantics.+--+-- /See:/ 'managementFiltersPatch' smart constructor.+data ManagementFiltersPatch = ManagementFiltersPatch+    { _mfpFilterId  :: !Text+    , _mfpPayload   :: !Filter+    , _mfpAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfpFilterId'+--+-- * 'mfpPayload'+--+-- * 'mfpAccountId'+managementFiltersPatch+    :: Text -- ^ 'mfpFilterId'+    -> Filter -- ^ 'mfpPayload'+    -> Text -- ^ 'mfpAccountId'+    -> ManagementFiltersPatch+managementFiltersPatch pMfpFilterId_ pMfpPayload_ pMfpAccountId_ =+    ManagementFiltersPatch+    { _mfpFilterId = pMfpFilterId_+    , _mfpPayload = pMfpPayload_+    , _mfpAccountId = pMfpAccountId_+    }++-- | ID of the filter to be updated.+mfpFilterId :: Lens' ManagementFiltersPatch Text+mfpFilterId+  = lens _mfpFilterId (\ s a -> s{_mfpFilterId = a})++-- | Multipart request metadata.+mfpPayload :: Lens' ManagementFiltersPatch Filter+mfpPayload+  = lens _mfpPayload (\ s a -> s{_mfpPayload = a})++-- | Account ID to which the filter belongs.+mfpAccountId :: Lens' ManagementFiltersPatch Text+mfpAccountId+  = lens _mfpAccountId (\ s a -> s{_mfpAccountId = a})++instance GoogleRequest ManagementFiltersPatch where+        type Rs ManagementFiltersPatch = Filter+        requestClient ManagementFiltersPatch{..}+          = go _mfpAccountId _mfpFilterId (Just AltJSON)+              _mfpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Filters/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.Analytics.Management.Filters.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 filter.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.filters.update@.+module Network.Google.Resource.Analytics.Management.Filters.Update+    (+    -- * REST Resource+      ManagementFiltersUpdateResource++    -- * Creating a Request+    , managementFiltersUpdate+    , ManagementFiltersUpdate++    -- * Request Lenses+    , mfuFilterId+    , mfuPayload+    , mfuAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.filters.update@ method which the+-- 'ManagementFiltersUpdate' request conforms to.+type ManagementFiltersUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "filters" :>+                 Capture "filterId" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Filter :> Put '[JSON] Filter++-- | Updates an existing filter.+--+-- /See:/ 'managementFiltersUpdate' smart constructor.+data ManagementFiltersUpdate = ManagementFiltersUpdate+    { _mfuFilterId  :: !Text+    , _mfuPayload   :: !Filter+    , _mfuAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementFiltersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfuFilterId'+--+-- * 'mfuPayload'+--+-- * 'mfuAccountId'+managementFiltersUpdate+    :: Text -- ^ 'mfuFilterId'+    -> Filter -- ^ 'mfuPayload'+    -> Text -- ^ 'mfuAccountId'+    -> ManagementFiltersUpdate+managementFiltersUpdate pMfuFilterId_ pMfuPayload_ pMfuAccountId_ =+    ManagementFiltersUpdate+    { _mfuFilterId = pMfuFilterId_+    , _mfuPayload = pMfuPayload_+    , _mfuAccountId = pMfuAccountId_+    }++-- | ID of the filter to be updated.+mfuFilterId :: Lens' ManagementFiltersUpdate Text+mfuFilterId+  = lens _mfuFilterId (\ s a -> s{_mfuFilterId = a})++-- | Multipart request metadata.+mfuPayload :: Lens' ManagementFiltersUpdate Filter+mfuPayload+  = lens _mfuPayload (\ s a -> s{_mfuPayload = a})++-- | Account ID to which the filter belongs.+mfuAccountId :: Lens' ManagementFiltersUpdate Text+mfuAccountId+  = lens _mfuAccountId (\ s a -> s{_mfuAccountId = a})++instance GoogleRequest ManagementFiltersUpdate where+        type Rs ManagementFiltersUpdate = Filter+        requestClient ManagementFiltersUpdate{..}+          = go _mfuAccountId _mfuFilterId (Just AltJSON)+              _mfuPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementFiltersUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Goals/Get.hs view
@@ -0,0 +1,127 @@+{-# 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.Analytics.Management.Goals.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 a goal to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.goals.get@.+module Network.Google.Resource.Analytics.Management.Goals.Get+    (+    -- * REST Resource+      ManagementGoalsGetResource++    -- * Creating a Request+    , managementGoalsGet+    , ManagementGoalsGet++    -- * Request Lenses+    , mggWebPropertyId+    , mggGoalId+    , mggProFileId+    , mggAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.goals.get@ method which the+-- 'ManagementGoalsGet' request conforms to.+type ManagementGoalsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "goals" :>+                         Capture "goalId" Text :>+                           QueryParam "alt" AltJSON :> Get '[JSON] Goal++-- | Gets a goal to which the user has access.+--+-- /See:/ 'managementGoalsGet' smart constructor.+data ManagementGoalsGet = ManagementGoalsGet+    { _mggWebPropertyId :: !Text+    , _mggGoalId        :: !Text+    , _mggProFileId     :: !Text+    , _mggAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementGoalsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mggWebPropertyId'+--+-- * 'mggGoalId'+--+-- * 'mggProFileId'+--+-- * 'mggAccountId'+managementGoalsGet+    :: Text -- ^ 'mggWebPropertyId'+    -> Text -- ^ 'mggGoalId'+    -> Text -- ^ 'mggProFileId'+    -> Text -- ^ 'mggAccountId'+    -> ManagementGoalsGet+managementGoalsGet pMggWebPropertyId_ pMggGoalId_ pMggProFileId_ pMggAccountId_ =+    ManagementGoalsGet+    { _mggWebPropertyId = pMggWebPropertyId_+    , _mggGoalId = pMggGoalId_+    , _mggProFileId = pMggProFileId_+    , _mggAccountId = pMggAccountId_+    }++-- | Web property ID to retrieve the goal for.+mggWebPropertyId :: Lens' ManagementGoalsGet Text+mggWebPropertyId+  = lens _mggWebPropertyId+      (\ s a -> s{_mggWebPropertyId = a})++-- | Goal ID to retrieve the goal for.+mggGoalId :: Lens' ManagementGoalsGet Text+mggGoalId+  = lens _mggGoalId (\ s a -> s{_mggGoalId = a})++-- | View (Profile) ID to retrieve the goal for.+mggProFileId :: Lens' ManagementGoalsGet Text+mggProFileId+  = lens _mggProFileId (\ s a -> s{_mggProFileId = a})++-- | Account ID to retrieve the goal for.+mggAccountId :: Lens' ManagementGoalsGet Text+mggAccountId+  = lens _mggAccountId (\ s a -> s{_mggAccountId = a})++instance GoogleRequest ManagementGoalsGet where+        type Rs ManagementGoalsGet = Goal+        requestClient ManagementGoalsGet{..}+          = go _mggAccountId _mggWebPropertyId _mggProFileId+              _mggGoalId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementGoalsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Goals/Insert.hs view
@@ -0,0 +1,127 @@+{-# 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.Analytics.Management.Goals.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)+--+-- Create a new goal.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.goals.insert@.+module Network.Google.Resource.Analytics.Management.Goals.Insert+    (+    -- * REST Resource+      ManagementGoalsInsertResource++    -- * Creating a Request+    , managementGoalsInsert+    , ManagementGoalsInsert++    -- * Request Lenses+    , mgiWebPropertyId+    , mgiProFileId+    , mgiPayload+    , mgiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.goals.insert@ method which the+-- 'ManagementGoalsInsert' request conforms to.+type ManagementGoalsInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "goals" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] Goal :> Post '[JSON] Goal++-- | Create a new goal.+--+-- /See:/ 'managementGoalsInsert' smart constructor.+data ManagementGoalsInsert = ManagementGoalsInsert+    { _mgiWebPropertyId :: !Text+    , _mgiProFileId     :: !Text+    , _mgiPayload       :: !Goal+    , _mgiAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementGoalsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgiWebPropertyId'+--+-- * 'mgiProFileId'+--+-- * 'mgiPayload'+--+-- * 'mgiAccountId'+managementGoalsInsert+    :: Text -- ^ 'mgiWebPropertyId'+    -> Text -- ^ 'mgiProFileId'+    -> Goal -- ^ 'mgiPayload'+    -> Text -- ^ 'mgiAccountId'+    -> ManagementGoalsInsert+managementGoalsInsert pMgiWebPropertyId_ pMgiProFileId_ pMgiPayload_ pMgiAccountId_ =+    ManagementGoalsInsert+    { _mgiWebPropertyId = pMgiWebPropertyId_+    , _mgiProFileId = pMgiProFileId_+    , _mgiPayload = pMgiPayload_+    , _mgiAccountId = pMgiAccountId_+    }++-- | Web property ID to create the goal for.+mgiWebPropertyId :: Lens' ManagementGoalsInsert Text+mgiWebPropertyId+  = lens _mgiWebPropertyId+      (\ s a -> s{_mgiWebPropertyId = a})++-- | View (Profile) ID to create the goal for.+mgiProFileId :: Lens' ManagementGoalsInsert Text+mgiProFileId+  = lens _mgiProFileId (\ s a -> s{_mgiProFileId = a})++-- | Multipart request metadata.+mgiPayload :: Lens' ManagementGoalsInsert Goal+mgiPayload+  = lens _mgiPayload (\ s a -> s{_mgiPayload = a})++-- | Account ID to create the goal for.+mgiAccountId :: Lens' ManagementGoalsInsert Text+mgiAccountId+  = lens _mgiAccountId (\ s a -> s{_mgiAccountId = a})++instance GoogleRequest ManagementGoalsInsert where+        type Rs ManagementGoalsInsert = Goal+        requestClient ManagementGoalsInsert{..}+          = go _mgiAccountId _mgiWebPropertyId _mgiProFileId+              (Just AltJSON)+              _mgiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementGoalsInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Goals/List.hs view
@@ -0,0 +1,148 @@+{-# 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.Analytics.Management.Goals.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 goals to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.goals.list@.+module Network.Google.Resource.Analytics.Management.Goals.List+    (+    -- * REST Resource+      ManagementGoalsListResource++    -- * Creating a Request+    , managementGoalsList+    , ManagementGoalsList++    -- * Request Lenses+    , mglWebPropertyId+    , mglProFileId+    , mglAccountId+    , mglStartIndex+    , mglMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.goals.list@ method which the+-- 'ManagementGoalsList' request conforms to.+type ManagementGoalsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "goals" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Goals++-- | Lists goals to which the user has access.+--+-- /See:/ 'managementGoalsList' smart constructor.+data ManagementGoalsList = ManagementGoalsList+    { _mglWebPropertyId :: !Text+    , _mglProFileId     :: !Text+    , _mglAccountId     :: !Text+    , _mglStartIndex    :: !(Maybe (Textual Int32))+    , _mglMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementGoalsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mglWebPropertyId'+--+-- * 'mglProFileId'+--+-- * 'mglAccountId'+--+-- * 'mglStartIndex'+--+-- * 'mglMaxResults'+managementGoalsList+    :: Text -- ^ 'mglWebPropertyId'+    -> Text -- ^ 'mglProFileId'+    -> Text -- ^ 'mglAccountId'+    -> ManagementGoalsList+managementGoalsList pMglWebPropertyId_ pMglProFileId_ pMglAccountId_ =+    ManagementGoalsList+    { _mglWebPropertyId = pMglWebPropertyId_+    , _mglProFileId = pMglProFileId_+    , _mglAccountId = pMglAccountId_+    , _mglStartIndex = Nothing+    , _mglMaxResults = Nothing+    }++-- | Web property ID to retrieve goals for. Can either be a specific web+-- property ID or \'~all\', which refers to all the web properties that+-- user has access to.+mglWebPropertyId :: Lens' ManagementGoalsList Text+mglWebPropertyId+  = lens _mglWebPropertyId+      (\ s a -> s{_mglWebPropertyId = a})++-- | View (Profile) ID to retrieve goals for. Can either be a specific view+-- (profile) ID or \'~all\', which refers to all the views (profiles) that+-- user has access to.+mglProFileId :: Lens' ManagementGoalsList Text+mglProFileId+  = lens _mglProFileId (\ s a -> s{_mglProFileId = a})++-- | Account ID to retrieve goals for. Can either be a specific account ID or+-- \'~all\', which refers to all the accounts that user has access to.+mglAccountId :: Lens' ManagementGoalsList Text+mglAccountId+  = lens _mglAccountId (\ s a -> s{_mglAccountId = a})++-- | An index of the first goal to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mglStartIndex :: Lens' ManagementGoalsList (Maybe Int32)+mglStartIndex+  = lens _mglStartIndex+      (\ s a -> s{_mglStartIndex = a})+      . mapping _Coerce++-- | The maximum number of goals to include in this response.+mglMaxResults :: Lens' ManagementGoalsList (Maybe Int32)+mglMaxResults+  = lens _mglMaxResults+      (\ s a -> s{_mglMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementGoalsList where+        type Rs ManagementGoalsList = Goals+        requestClient ManagementGoalsList{..}+          = go _mglAccountId _mglWebPropertyId _mglProFileId+              _mglStartIndex+              _mglMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementGoalsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Goals/Patch.hs view
@@ -0,0 +1,142 @@+{-# 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.Analytics.Management.Goals.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 view (profile). This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.goals.patch@.+module Network.Google.Resource.Analytics.Management.Goals.Patch+    (+    -- * REST Resource+      ManagementGoalsPatchResource++    -- * Creating a Request+    , managementGoalsPatch+    , ManagementGoalsPatch++    -- * Request Lenses+    , mgpWebPropertyId+    , mgpGoalId+    , mgpProFileId+    , mgpPayload+    , mgpAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.goals.patch@ method which the+-- 'ManagementGoalsPatch' request conforms to.+type ManagementGoalsPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "goals" :>+                         Capture "goalId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Goal :> Patch '[JSON] Goal++-- | Updates an existing view (profile). This method supports patch+-- semantics.+--+-- /See:/ 'managementGoalsPatch' smart constructor.+data ManagementGoalsPatch = ManagementGoalsPatch+    { _mgpWebPropertyId :: !Text+    , _mgpGoalId        :: !Text+    , _mgpProFileId     :: !Text+    , _mgpPayload       :: !Goal+    , _mgpAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementGoalsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgpWebPropertyId'+--+-- * 'mgpGoalId'+--+-- * 'mgpProFileId'+--+-- * 'mgpPayload'+--+-- * 'mgpAccountId'+managementGoalsPatch+    :: Text -- ^ 'mgpWebPropertyId'+    -> Text -- ^ 'mgpGoalId'+    -> Text -- ^ 'mgpProFileId'+    -> Goal -- ^ 'mgpPayload'+    -> Text -- ^ 'mgpAccountId'+    -> ManagementGoalsPatch+managementGoalsPatch pMgpWebPropertyId_ pMgpGoalId_ pMgpProFileId_ pMgpPayload_ pMgpAccountId_ =+    ManagementGoalsPatch+    { _mgpWebPropertyId = pMgpWebPropertyId_+    , _mgpGoalId = pMgpGoalId_+    , _mgpProFileId = pMgpProFileId_+    , _mgpPayload = pMgpPayload_+    , _mgpAccountId = pMgpAccountId_+    }++-- | Web property ID to update the goal.+mgpWebPropertyId :: Lens' ManagementGoalsPatch Text+mgpWebPropertyId+  = lens _mgpWebPropertyId+      (\ s a -> s{_mgpWebPropertyId = a})++-- | Index of the goal to be updated.+mgpGoalId :: Lens' ManagementGoalsPatch Text+mgpGoalId+  = lens _mgpGoalId (\ s a -> s{_mgpGoalId = a})++-- | View (Profile) ID to update the goal.+mgpProFileId :: Lens' ManagementGoalsPatch Text+mgpProFileId+  = lens _mgpProFileId (\ s a -> s{_mgpProFileId = a})++-- | Multipart request metadata.+mgpPayload :: Lens' ManagementGoalsPatch Goal+mgpPayload+  = lens _mgpPayload (\ s a -> s{_mgpPayload = a})++-- | Account ID to update the goal.+mgpAccountId :: Lens' ManagementGoalsPatch Text+mgpAccountId+  = lens _mgpAccountId (\ s a -> s{_mgpAccountId = a})++instance GoogleRequest ManagementGoalsPatch where+        type Rs ManagementGoalsPatch = Goal+        requestClient ManagementGoalsPatch{..}+          = go _mgpAccountId _mgpWebPropertyId _mgpProFileId+              _mgpGoalId+              (Just AltJSON)+              _mgpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementGoalsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Goals/Update.hs view
@@ -0,0 +1,140 @@+{-# 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.Analytics.Management.Goals.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 view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.goals.update@.+module Network.Google.Resource.Analytics.Management.Goals.Update+    (+    -- * REST Resource+      ManagementGoalsUpdateResource++    -- * Creating a Request+    , managementGoalsUpdate+    , ManagementGoalsUpdate++    -- * Request Lenses+    , mguWebPropertyId+    , mguGoalId+    , mguProFileId+    , mguPayload+    , mguAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.goals.update@ method which the+-- 'ManagementGoalsUpdate' request conforms to.+type ManagementGoalsUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "goals" :>+                         Capture "goalId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] Goal :> Put '[JSON] Goal++-- | Updates an existing view (profile).+--+-- /See:/ 'managementGoalsUpdate' smart constructor.+data ManagementGoalsUpdate = ManagementGoalsUpdate+    { _mguWebPropertyId :: !Text+    , _mguGoalId        :: !Text+    , _mguProFileId     :: !Text+    , _mguPayload       :: !Goal+    , _mguAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementGoalsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mguWebPropertyId'+--+-- * 'mguGoalId'+--+-- * 'mguProFileId'+--+-- * 'mguPayload'+--+-- * 'mguAccountId'+managementGoalsUpdate+    :: Text -- ^ 'mguWebPropertyId'+    -> Text -- ^ 'mguGoalId'+    -> Text -- ^ 'mguProFileId'+    -> Goal -- ^ 'mguPayload'+    -> Text -- ^ 'mguAccountId'+    -> ManagementGoalsUpdate+managementGoalsUpdate pMguWebPropertyId_ pMguGoalId_ pMguProFileId_ pMguPayload_ pMguAccountId_ =+    ManagementGoalsUpdate+    { _mguWebPropertyId = pMguWebPropertyId_+    , _mguGoalId = pMguGoalId_+    , _mguProFileId = pMguProFileId_+    , _mguPayload = pMguPayload_+    , _mguAccountId = pMguAccountId_+    }++-- | Web property ID to update the goal.+mguWebPropertyId :: Lens' ManagementGoalsUpdate Text+mguWebPropertyId+  = lens _mguWebPropertyId+      (\ s a -> s{_mguWebPropertyId = a})++-- | Index of the goal to be updated.+mguGoalId :: Lens' ManagementGoalsUpdate Text+mguGoalId+  = lens _mguGoalId (\ s a -> s{_mguGoalId = a})++-- | View (Profile) ID to update the goal.+mguProFileId :: Lens' ManagementGoalsUpdate Text+mguProFileId+  = lens _mguProFileId (\ s a -> s{_mguProFileId = a})++-- | Multipart request metadata.+mguPayload :: Lens' ManagementGoalsUpdate Goal+mguPayload+  = lens _mguPayload (\ s a -> s{_mguPayload = a})++-- | Account ID to update the goal.+mguAccountId :: Lens' ManagementGoalsUpdate Text+mguAccountId+  = lens _mguAccountId (\ s a -> s{_mguAccountId = a})++instance GoogleRequest ManagementGoalsUpdate where+        type Rs ManagementGoalsUpdate = Goal+        requestClient ManagementGoalsUpdate{..}+          = go _mguAccountId _mguWebPropertyId _mguProFileId+              _mguGoalId+              (Just AltJSON)+              _mguPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementGoalsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Delete.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.Analytics.Management.ProFileFilterLinks.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)+--+-- Delete a profile filter link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.delete@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete+    (+    -- * REST Resource+      ManagementProFileFilterLinksDeleteResource++    -- * Creating a Request+    , managementProFileFilterLinksDelete+    , ManagementProFileFilterLinksDelete++    -- * Request Lenses+    , mpffldWebPropertyId+    , mpffldProFileId+    , mpffldAccountId+    , mpffldLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.delete@ method which the+-- 'ManagementProFileFilterLinksDelete' request conforms to.+type ManagementProFileFilterLinksDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a profile filter link.+--+-- /See:/ 'managementProFileFilterLinksDelete' smart constructor.+data ManagementProFileFilterLinksDelete = ManagementProFileFilterLinksDelete+    { _mpffldWebPropertyId :: !Text+    , _mpffldProFileId     :: !Text+    , _mpffldAccountId     :: !Text+    , _mpffldLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpffldWebPropertyId'+--+-- * 'mpffldProFileId'+--+-- * 'mpffldAccountId'+--+-- * 'mpffldLinkId'+managementProFileFilterLinksDelete+    :: Text -- ^ 'mpffldWebPropertyId'+    -> Text -- ^ 'mpffldProFileId'+    -> Text -- ^ 'mpffldAccountId'+    -> Text -- ^ 'mpffldLinkId'+    -> ManagementProFileFilterLinksDelete+managementProFileFilterLinksDelete pMpffldWebPropertyId_ pMpffldProFileId_ pMpffldAccountId_ pMpffldLinkId_ =+    ManagementProFileFilterLinksDelete+    { _mpffldWebPropertyId = pMpffldWebPropertyId_+    , _mpffldProFileId = pMpffldProFileId_+    , _mpffldAccountId = pMpffldAccountId_+    , _mpffldLinkId = pMpffldLinkId_+    }++-- | Web property Id to which the profile filter link belongs.+mpffldWebPropertyId :: Lens' ManagementProFileFilterLinksDelete Text+mpffldWebPropertyId+  = lens _mpffldWebPropertyId+      (\ s a -> s{_mpffldWebPropertyId = a})++-- | Profile ID to which the filter link belongs.+mpffldProFileId :: Lens' ManagementProFileFilterLinksDelete Text+mpffldProFileId+  = lens _mpffldProFileId+      (\ s a -> s{_mpffldProFileId = a})++-- | Account ID to which the profile filter link belongs.+mpffldAccountId :: Lens' ManagementProFileFilterLinksDelete Text+mpffldAccountId+  = lens _mpffldAccountId+      (\ s a -> s{_mpffldAccountId = a})++-- | ID of the profile filter link to delete.+mpffldLinkId :: Lens' ManagementProFileFilterLinksDelete Text+mpffldLinkId+  = lens _mpffldLinkId (\ s a -> s{_mpffldLinkId = a})++instance GoogleRequest+         ManagementProFileFilterLinksDelete where+        type Rs ManagementProFileFilterLinksDelete = ()+        requestClient ManagementProFileFilterLinksDelete{..}+          = go _mpffldAccountId _mpffldWebPropertyId+              _mpffldProFileId+              _mpffldLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Get.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Management.ProFileFilterLinks.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)+--+-- Returns a single profile filter link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.get@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get+    (+    -- * REST Resource+      ManagementProFileFilterLinksGetResource++    -- * Creating a Request+    , managementProFileFilterLinksGet+    , ManagementProFileFilterLinksGet++    -- * Request Lenses+    , mpfflgWebPropertyId+    , mpfflgProFileId+    , mpfflgAccountId+    , mpfflgLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.get@ method which the+-- 'ManagementProFileFilterLinksGet' request conforms to.+type ManagementProFileFilterLinksGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ProFileFilterLink++-- | Returns a single profile filter link.+--+-- /See:/ 'managementProFileFilterLinksGet' smart constructor.+data ManagementProFileFilterLinksGet = ManagementProFileFilterLinksGet+    { _mpfflgWebPropertyId :: !Text+    , _mpfflgProFileId     :: !Text+    , _mpfflgAccountId     :: !Text+    , _mpfflgLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfflgWebPropertyId'+--+-- * 'mpfflgProFileId'+--+-- * 'mpfflgAccountId'+--+-- * 'mpfflgLinkId'+managementProFileFilterLinksGet+    :: Text -- ^ 'mpfflgWebPropertyId'+    -> Text -- ^ 'mpfflgProFileId'+    -> Text -- ^ 'mpfflgAccountId'+    -> Text -- ^ 'mpfflgLinkId'+    -> ManagementProFileFilterLinksGet+managementProFileFilterLinksGet pMpfflgWebPropertyId_ pMpfflgProFileId_ pMpfflgAccountId_ pMpfflgLinkId_ =+    ManagementProFileFilterLinksGet+    { _mpfflgWebPropertyId = pMpfflgWebPropertyId_+    , _mpfflgProFileId = pMpfflgProFileId_+    , _mpfflgAccountId = pMpfflgAccountId_+    , _mpfflgLinkId = pMpfflgLinkId_+    }++-- | Web property Id to retrieve profile filter link for.+mpfflgWebPropertyId :: Lens' ManagementProFileFilterLinksGet Text+mpfflgWebPropertyId+  = lens _mpfflgWebPropertyId+      (\ s a -> s{_mpfflgWebPropertyId = a})++-- | Profile ID to retrieve filter link for.+mpfflgProFileId :: Lens' ManagementProFileFilterLinksGet Text+mpfflgProFileId+  = lens _mpfflgProFileId+      (\ s a -> s{_mpfflgProFileId = a})++-- | Account ID to retrieve profile filter link for.+mpfflgAccountId :: Lens' ManagementProFileFilterLinksGet Text+mpfflgAccountId+  = lens _mpfflgAccountId+      (\ s a -> s{_mpfflgAccountId = a})++-- | ID of the profile filter link.+mpfflgLinkId :: Lens' ManagementProFileFilterLinksGet Text+mpfflgLinkId+  = lens _mpfflgLinkId (\ s a -> s{_mpfflgLinkId = a})++instance GoogleRequest+         ManagementProFileFilterLinksGet where+        type Rs ManagementProFileFilterLinksGet =+             ProFileFilterLink+        requestClient ManagementProFileFilterLinksGet{..}+          = go _mpfflgAccountId _mpfflgWebPropertyId+              _mpfflgProFileId+              _mpfflgLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Insert.hs view
@@ -0,0 +1,135 @@+{-# 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.Analytics.Management.ProFileFilterLinks.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)+--+-- Create a new profile filter link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.insert@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert+    (+    -- * REST Resource+      ManagementProFileFilterLinksInsertResource++    -- * Creating a Request+    , managementProFileFilterLinksInsert+    , ManagementProFileFilterLinksInsert++    -- * Request Lenses+    , mpffliWebPropertyId+    , mpffliProFileId+    , mpffliPayload+    , mpffliAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.insert@ method which the+-- 'ManagementProFileFilterLinksInsert' request conforms to.+type ManagementProFileFilterLinksInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] ProFileFilterLink :>+                             Post '[JSON] ProFileFilterLink++-- | Create a new profile filter link.+--+-- /See:/ 'managementProFileFilterLinksInsert' smart constructor.+data ManagementProFileFilterLinksInsert = ManagementProFileFilterLinksInsert+    { _mpffliWebPropertyId :: !Text+    , _mpffliProFileId     :: !Text+    , _mpffliPayload       :: !ProFileFilterLink+    , _mpffliAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpffliWebPropertyId'+--+-- * 'mpffliProFileId'+--+-- * 'mpffliPayload'+--+-- * 'mpffliAccountId'+managementProFileFilterLinksInsert+    :: Text -- ^ 'mpffliWebPropertyId'+    -> Text -- ^ 'mpffliProFileId'+    -> ProFileFilterLink -- ^ 'mpffliPayload'+    -> Text -- ^ 'mpffliAccountId'+    -> ManagementProFileFilterLinksInsert+managementProFileFilterLinksInsert pMpffliWebPropertyId_ pMpffliProFileId_ pMpffliPayload_ pMpffliAccountId_ =+    ManagementProFileFilterLinksInsert+    { _mpffliWebPropertyId = pMpffliWebPropertyId_+    , _mpffliProFileId = pMpffliProFileId_+    , _mpffliPayload = pMpffliPayload_+    , _mpffliAccountId = pMpffliAccountId_+    }++-- | Web property Id to create profile filter link for.+mpffliWebPropertyId :: Lens' ManagementProFileFilterLinksInsert Text+mpffliWebPropertyId+  = lens _mpffliWebPropertyId+      (\ s a -> s{_mpffliWebPropertyId = a})++-- | Profile ID to create filter link for.+mpffliProFileId :: Lens' ManagementProFileFilterLinksInsert Text+mpffliProFileId+  = lens _mpffliProFileId+      (\ s a -> s{_mpffliProFileId = a})++-- | Multipart request metadata.+mpffliPayload :: Lens' ManagementProFileFilterLinksInsert ProFileFilterLink+mpffliPayload+  = lens _mpffliPayload+      (\ s a -> s{_mpffliPayload = a})++-- | Account ID to create profile filter link for.+mpffliAccountId :: Lens' ManagementProFileFilterLinksInsert Text+mpffliAccountId+  = lens _mpffliAccountId+      (\ s a -> s{_mpffliAccountId = a})++instance GoogleRequest+         ManagementProFileFilterLinksInsert where+        type Rs ManagementProFileFilterLinksInsert =+             ProFileFilterLink+        requestClient ManagementProFileFilterLinksInsert{..}+          = go _mpffliAccountId _mpffliWebPropertyId+              _mpffliProFileId+              (Just AltJSON)+              _mpffliPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/List.hs view
@@ -0,0 +1,154 @@+{-# 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.Analytics.Management.ProFileFilterLinks.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 all profile filter links for a profile.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.list@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List+    (+    -- * REST Resource+      ManagementProFileFilterLinksListResource++    -- * Creating a Request+    , managementProFileFilterLinksList+    , ManagementProFileFilterLinksList++    -- * Request Lenses+    , mpffllWebPropertyId+    , mpffllProFileId+    , mpffllAccountId+    , mpffllStartIndex+    , mpffllMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.list@ method which the+-- 'ManagementProFileFilterLinksList' request conforms to.+type ManagementProFileFilterLinksListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] ProFileFilterLinks++-- | Lists all profile filter links for a profile.+--+-- /See:/ 'managementProFileFilterLinksList' smart constructor.+data ManagementProFileFilterLinksList = ManagementProFileFilterLinksList+    { _mpffllWebPropertyId :: !Text+    , _mpffllProFileId     :: !Text+    , _mpffllAccountId     :: !Text+    , _mpffllStartIndex    :: !(Maybe (Textual Int32))+    , _mpffllMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpffllWebPropertyId'+--+-- * 'mpffllProFileId'+--+-- * 'mpffllAccountId'+--+-- * 'mpffllStartIndex'+--+-- * 'mpffllMaxResults'+managementProFileFilterLinksList+    :: Text -- ^ 'mpffllWebPropertyId'+    -> Text -- ^ 'mpffllProFileId'+    -> Text -- ^ 'mpffllAccountId'+    -> ManagementProFileFilterLinksList+managementProFileFilterLinksList pMpffllWebPropertyId_ pMpffllProFileId_ pMpffllAccountId_ =+    ManagementProFileFilterLinksList+    { _mpffllWebPropertyId = pMpffllWebPropertyId_+    , _mpffllProFileId = pMpffllProFileId_+    , _mpffllAccountId = pMpffllAccountId_+    , _mpffllStartIndex = Nothing+    , _mpffllMaxResults = Nothing+    }++-- | Web property Id for profile filter links for. Can either be a specific+-- web property ID or \'~all\', which refers to all the web properties that+-- user has access to.+mpffllWebPropertyId :: Lens' ManagementProFileFilterLinksList Text+mpffllWebPropertyId+  = lens _mpffllWebPropertyId+      (\ s a -> s{_mpffllWebPropertyId = a})++-- | Profile ID to retrieve filter links for. Can either be a specific+-- profile ID or \'~all\', which refers to all the profiles that user has+-- access to.+mpffllProFileId :: Lens' ManagementProFileFilterLinksList Text+mpffllProFileId+  = lens _mpffllProFileId+      (\ s a -> s{_mpffllProFileId = a})++-- | Account ID to retrieve profile filter links for.+mpffllAccountId :: Lens' ManagementProFileFilterLinksList Text+mpffllAccountId+  = lens _mpffllAccountId+      (\ s a -> s{_mpffllAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mpffllStartIndex :: Lens' ManagementProFileFilterLinksList (Maybe Int32)+mpffllStartIndex+  = lens _mpffllStartIndex+      (\ s a -> s{_mpffllStartIndex = a})+      . mapping _Coerce++-- | The maximum number of profile filter links to include in this response.+mpffllMaxResults :: Lens' ManagementProFileFilterLinksList (Maybe Int32)+mpffllMaxResults+  = lens _mpffllMaxResults+      (\ s a -> s{_mpffllMaxResults = a})+      . mapping _Coerce++instance GoogleRequest+         ManagementProFileFilterLinksList where+        type Rs ManagementProFileFilterLinksList =+             ProFileFilterLinks+        requestClient ManagementProFileFilterLinksList{..}+          = go _mpffllAccountId _mpffllWebPropertyId+              _mpffllProFileId+              _mpffllStartIndex+              _mpffllMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Patch.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.Analytics.Management.ProFileFilterLinks.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)+--+-- Update an existing profile filter link. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.patch@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch+    (+    -- * REST Resource+      ManagementProFileFilterLinksPatchResource++    -- * Creating a Request+    , managementProFileFilterLinksPatch+    , ManagementProFileFilterLinksPatch++    -- * Request Lenses+    , mpfflpWebPropertyId+    , mpfflpProFileId+    , mpfflpPayload+    , mpfflpAccountId+    , mpfflpLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.patch@ method which the+-- 'ManagementProFileFilterLinksPatch' request conforms to.+type ManagementProFileFilterLinksPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] ProFileFilterLink :>+                               Patch '[JSON] ProFileFilterLink++-- | Update an existing profile filter link. This method supports patch+-- semantics.+--+-- /See:/ 'managementProFileFilterLinksPatch' smart constructor.+data ManagementProFileFilterLinksPatch = ManagementProFileFilterLinksPatch+    { _mpfflpWebPropertyId :: !Text+    , _mpfflpProFileId     :: !Text+    , _mpfflpPayload       :: !ProFileFilterLink+    , _mpfflpAccountId     :: !Text+    , _mpfflpLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfflpWebPropertyId'+--+-- * 'mpfflpProFileId'+--+-- * 'mpfflpPayload'+--+-- * 'mpfflpAccountId'+--+-- * 'mpfflpLinkId'+managementProFileFilterLinksPatch+    :: Text -- ^ 'mpfflpWebPropertyId'+    -> Text -- ^ 'mpfflpProFileId'+    -> ProFileFilterLink -- ^ 'mpfflpPayload'+    -> Text -- ^ 'mpfflpAccountId'+    -> Text -- ^ 'mpfflpLinkId'+    -> ManagementProFileFilterLinksPatch+managementProFileFilterLinksPatch pMpfflpWebPropertyId_ pMpfflpProFileId_ pMpfflpPayload_ pMpfflpAccountId_ pMpfflpLinkId_ =+    ManagementProFileFilterLinksPatch+    { _mpfflpWebPropertyId = pMpfflpWebPropertyId_+    , _mpfflpProFileId = pMpfflpProFileId_+    , _mpfflpPayload = pMpfflpPayload_+    , _mpfflpAccountId = pMpfflpAccountId_+    , _mpfflpLinkId = pMpfflpLinkId_+    }++-- | Web property Id to which profile filter link belongs+mpfflpWebPropertyId :: Lens' ManagementProFileFilterLinksPatch Text+mpfflpWebPropertyId+  = lens _mpfflpWebPropertyId+      (\ s a -> s{_mpfflpWebPropertyId = a})++-- | Profile ID to which filter link belongs+mpfflpProFileId :: Lens' ManagementProFileFilterLinksPatch Text+mpfflpProFileId+  = lens _mpfflpProFileId+      (\ s a -> s{_mpfflpProFileId = a})++-- | Multipart request metadata.+mpfflpPayload :: Lens' ManagementProFileFilterLinksPatch ProFileFilterLink+mpfflpPayload+  = lens _mpfflpPayload+      (\ s a -> s{_mpfflpPayload = a})++-- | Account ID to which profile filter link belongs.+mpfflpAccountId :: Lens' ManagementProFileFilterLinksPatch Text+mpfflpAccountId+  = lens _mpfflpAccountId+      (\ s a -> s{_mpfflpAccountId = a})++-- | ID of the profile filter link to be updated.+mpfflpLinkId :: Lens' ManagementProFileFilterLinksPatch Text+mpfflpLinkId+  = lens _mpfflpLinkId (\ s a -> s{_mpfflpLinkId = a})++instance GoogleRequest+         ManagementProFileFilterLinksPatch where+        type Rs ManagementProFileFilterLinksPatch =+             ProFileFilterLink+        requestClient ManagementProFileFilterLinksPatch{..}+          = go _mpfflpAccountId _mpfflpWebPropertyId+              _mpfflpProFileId+              _mpfflpLinkId+              (Just AltJSON)+              _mpfflpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Update.hs view
@@ -0,0 +1,148 @@+{-# 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.Analytics.Management.ProFileFilterLinks.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)+--+-- Update an existing profile filter link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileFilterLinks.update@.+module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update+    (+    -- * REST Resource+      ManagementProFileFilterLinksUpdateResource++    -- * Creating a Request+    , managementProFileFilterLinksUpdate+    , ManagementProFileFilterLinksUpdate++    -- * Request Lenses+    , mpffluWebPropertyId+    , mpffluProFileId+    , mpffluPayload+    , mpffluAccountId+    , mpffluLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileFilterLinks.update@ method which the+-- 'ManagementProFileFilterLinksUpdate' request conforms to.+type ManagementProFileFilterLinksUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "profileFilterLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] ProFileFilterLink :>+                               Put '[JSON] ProFileFilterLink++-- | Update an existing profile filter link.+--+-- /See:/ 'managementProFileFilterLinksUpdate' smart constructor.+data ManagementProFileFilterLinksUpdate = ManagementProFileFilterLinksUpdate+    { _mpffluWebPropertyId :: !Text+    , _mpffluProFileId     :: !Text+    , _mpffluPayload       :: !ProFileFilterLink+    , _mpffluAccountId     :: !Text+    , _mpffluLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileFilterLinksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpffluWebPropertyId'+--+-- * 'mpffluProFileId'+--+-- * 'mpffluPayload'+--+-- * 'mpffluAccountId'+--+-- * 'mpffluLinkId'+managementProFileFilterLinksUpdate+    :: Text -- ^ 'mpffluWebPropertyId'+    -> Text -- ^ 'mpffluProFileId'+    -> ProFileFilterLink -- ^ 'mpffluPayload'+    -> Text -- ^ 'mpffluAccountId'+    -> Text -- ^ 'mpffluLinkId'+    -> ManagementProFileFilterLinksUpdate+managementProFileFilterLinksUpdate pMpffluWebPropertyId_ pMpffluProFileId_ pMpffluPayload_ pMpffluAccountId_ pMpffluLinkId_ =+    ManagementProFileFilterLinksUpdate+    { _mpffluWebPropertyId = pMpffluWebPropertyId_+    , _mpffluProFileId = pMpffluProFileId_+    , _mpffluPayload = pMpffluPayload_+    , _mpffluAccountId = pMpffluAccountId_+    , _mpffluLinkId = pMpffluLinkId_+    }++-- | Web property Id to which profile filter link belongs+mpffluWebPropertyId :: Lens' ManagementProFileFilterLinksUpdate Text+mpffluWebPropertyId+  = lens _mpffluWebPropertyId+      (\ s a -> s{_mpffluWebPropertyId = a})++-- | Profile ID to which filter link belongs+mpffluProFileId :: Lens' ManagementProFileFilterLinksUpdate Text+mpffluProFileId+  = lens _mpffluProFileId+      (\ s a -> s{_mpffluProFileId = a})++-- | Multipart request metadata.+mpffluPayload :: Lens' ManagementProFileFilterLinksUpdate ProFileFilterLink+mpffluPayload+  = lens _mpffluPayload+      (\ s a -> s{_mpffluPayload = a})++-- | Account ID to which profile filter link belongs.+mpffluAccountId :: Lens' ManagementProFileFilterLinksUpdate Text+mpffluAccountId+  = lens _mpffluAccountId+      (\ s a -> s{_mpffluAccountId = a})++-- | ID of the profile filter link to be updated.+mpffluLinkId :: Lens' ManagementProFileFilterLinksUpdate Text+mpffluLinkId+  = lens _mpffluLinkId (\ s a -> s{_mpffluLinkId = a})++instance GoogleRequest+         ManagementProFileFilterLinksUpdate where+        type Rs ManagementProFileFilterLinksUpdate =+             ProFileFilterLink+        requestClient ManagementProFileFilterLinksUpdate{..}+          = go _mpffluAccountId _mpffluWebPropertyId+              _mpffluProFileId+              _mpffluLinkId+              (Just AltJSON)+              _mpffluPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileFilterLinksUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Delete.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.Analytics.Management.ProFileUserLinks.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)+--+-- Removes a user from the given view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileUserLinks.delete@.+module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete+    (+    -- * REST Resource+      ManagementProFileUserLinksDeleteResource++    -- * Creating a Request+    , managementProFileUserLinksDelete+    , ManagementProFileUserLinksDelete++    -- * Request Lenses+    , mpfuldWebPropertyId+    , mpfuldProFileId+    , mpfuldAccountId+    , mpfuldLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileUserLinks.delete@ method which the+-- 'ManagementProFileUserLinksDelete' request conforms to.+type ManagementProFileUserLinksDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "entityUserLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a user from the given view (profile).+--+-- /See:/ 'managementProFileUserLinksDelete' smart constructor.+data ManagementProFileUserLinksDelete = ManagementProFileUserLinksDelete+    { _mpfuldWebPropertyId :: !Text+    , _mpfuldProFileId     :: !Text+    , _mpfuldAccountId     :: !Text+    , _mpfuldLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileUserLinksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfuldWebPropertyId'+--+-- * 'mpfuldProFileId'+--+-- * 'mpfuldAccountId'+--+-- * 'mpfuldLinkId'+managementProFileUserLinksDelete+    :: Text -- ^ 'mpfuldWebPropertyId'+    -> Text -- ^ 'mpfuldProFileId'+    -> Text -- ^ 'mpfuldAccountId'+    -> Text -- ^ 'mpfuldLinkId'+    -> ManagementProFileUserLinksDelete+managementProFileUserLinksDelete pMpfuldWebPropertyId_ pMpfuldProFileId_ pMpfuldAccountId_ pMpfuldLinkId_ =+    ManagementProFileUserLinksDelete+    { _mpfuldWebPropertyId = pMpfuldWebPropertyId_+    , _mpfuldProFileId = pMpfuldProFileId_+    , _mpfuldAccountId = pMpfuldAccountId_+    , _mpfuldLinkId = pMpfuldLinkId_+    }++-- | Web Property ID to delete the user link for.+mpfuldWebPropertyId :: Lens' ManagementProFileUserLinksDelete Text+mpfuldWebPropertyId+  = lens _mpfuldWebPropertyId+      (\ s a -> s{_mpfuldWebPropertyId = a})++-- | View (Profile) ID to delete the user link for.+mpfuldProFileId :: Lens' ManagementProFileUserLinksDelete Text+mpfuldProFileId+  = lens _mpfuldProFileId+      (\ s a -> s{_mpfuldProFileId = a})++-- | Account ID to delete the user link for.+mpfuldAccountId :: Lens' ManagementProFileUserLinksDelete Text+mpfuldAccountId+  = lens _mpfuldAccountId+      (\ s a -> s{_mpfuldAccountId = a})++-- | Link ID to delete the user link for.+mpfuldLinkId :: Lens' ManagementProFileUserLinksDelete Text+mpfuldLinkId+  = lens _mpfuldLinkId (\ s a -> s{_mpfuldLinkId = a})++instance GoogleRequest+         ManagementProFileUserLinksDelete where+        type Rs ManagementProFileUserLinksDelete = ()+        requestClient ManagementProFileUserLinksDelete{..}+          = go _mpfuldAccountId _mpfuldWebPropertyId+              _mpfuldProFileId+              _mpfuldLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileUserLinksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Insert.hs view
@@ -0,0 +1,135 @@+{-# 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.Analytics.Management.ProFileUserLinks.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)+--+-- Adds a new user to the given view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileUserLinks.insert@.+module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert+    (+    -- * REST Resource+      ManagementProFileUserLinksInsertResource++    -- * Creating a Request+    , managementProFileUserLinksInsert+    , ManagementProFileUserLinksInsert++    -- * Request Lenses+    , mpfuliWebPropertyId+    , mpfuliProFileId+    , mpfuliPayload+    , mpfuliAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileUserLinks.insert@ method which the+-- 'ManagementProFileUserLinksInsert' request conforms to.+type ManagementProFileUserLinksInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "entityUserLinks" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] EntityUserLink :>+                             Post '[JSON] EntityUserLink++-- | Adds a new user to the given view (profile).+--+-- /See:/ 'managementProFileUserLinksInsert' smart constructor.+data ManagementProFileUserLinksInsert = ManagementProFileUserLinksInsert+    { _mpfuliWebPropertyId :: !Text+    , _mpfuliProFileId     :: !Text+    , _mpfuliPayload       :: !EntityUserLink+    , _mpfuliAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileUserLinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfuliWebPropertyId'+--+-- * 'mpfuliProFileId'+--+-- * 'mpfuliPayload'+--+-- * 'mpfuliAccountId'+managementProFileUserLinksInsert+    :: Text -- ^ 'mpfuliWebPropertyId'+    -> Text -- ^ 'mpfuliProFileId'+    -> EntityUserLink -- ^ 'mpfuliPayload'+    -> Text -- ^ 'mpfuliAccountId'+    -> ManagementProFileUserLinksInsert+managementProFileUserLinksInsert pMpfuliWebPropertyId_ pMpfuliProFileId_ pMpfuliPayload_ pMpfuliAccountId_ =+    ManagementProFileUserLinksInsert+    { _mpfuliWebPropertyId = pMpfuliWebPropertyId_+    , _mpfuliProFileId = pMpfuliProFileId_+    , _mpfuliPayload = pMpfuliPayload_+    , _mpfuliAccountId = pMpfuliAccountId_+    }++-- | Web Property ID to create the user link for.+mpfuliWebPropertyId :: Lens' ManagementProFileUserLinksInsert Text+mpfuliWebPropertyId+  = lens _mpfuliWebPropertyId+      (\ s a -> s{_mpfuliWebPropertyId = a})++-- | View (Profile) ID to create the user link for.+mpfuliProFileId :: Lens' ManagementProFileUserLinksInsert Text+mpfuliProFileId+  = lens _mpfuliProFileId+      (\ s a -> s{_mpfuliProFileId = a})++-- | Multipart request metadata.+mpfuliPayload :: Lens' ManagementProFileUserLinksInsert EntityUserLink+mpfuliPayload+  = lens _mpfuliPayload+      (\ s a -> s{_mpfuliPayload = a})++-- | Account ID to create the user link for.+mpfuliAccountId :: Lens' ManagementProFileUserLinksInsert Text+mpfuliAccountId+  = lens _mpfuliAccountId+      (\ s a -> s{_mpfuliAccountId = a})++instance GoogleRequest+         ManagementProFileUserLinksInsert where+        type Rs ManagementProFileUserLinksInsert =+             EntityUserLink+        requestClient ManagementProFileUserLinksInsert{..}+          = go _mpfuliAccountId _mpfuliWebPropertyId+              _mpfuliProFileId+              (Just AltJSON)+              _mpfuliPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileUserLinksInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/List.hs view
@@ -0,0 +1,154 @@+{-# 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.Analytics.Management.ProFileUserLinks.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 profile-user links for a given view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileUserLinks.list@.+module Network.Google.Resource.Analytics.Management.ProFileUserLinks.List+    (+    -- * REST Resource+      ManagementProFileUserLinksListResource++    -- * Creating a Request+    , managementProFileUserLinksList+    , ManagementProFileUserLinksList++    -- * Request Lenses+    , mpfullWebPropertyId+    , mpfullProFileId+    , mpfullAccountId+    , mpfullStartIndex+    , mpfullMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileUserLinks.list@ method which the+-- 'ManagementProFileUserLinksList' request conforms to.+type ManagementProFileUserLinksListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "entityUserLinks" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] EntityUserLinks++-- | Lists profile-user links for a given view (profile).+--+-- /See:/ 'managementProFileUserLinksList' smart constructor.+data ManagementProFileUserLinksList = ManagementProFileUserLinksList+    { _mpfullWebPropertyId :: !Text+    , _mpfullProFileId     :: !Text+    , _mpfullAccountId     :: !Text+    , _mpfullStartIndex    :: !(Maybe (Textual Int32))+    , _mpfullMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileUserLinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfullWebPropertyId'+--+-- * 'mpfullProFileId'+--+-- * 'mpfullAccountId'+--+-- * 'mpfullStartIndex'+--+-- * 'mpfullMaxResults'+managementProFileUserLinksList+    :: Text -- ^ 'mpfullWebPropertyId'+    -> Text -- ^ 'mpfullProFileId'+    -> Text -- ^ 'mpfullAccountId'+    -> ManagementProFileUserLinksList+managementProFileUserLinksList pMpfullWebPropertyId_ pMpfullProFileId_ pMpfullAccountId_ =+    ManagementProFileUserLinksList+    { _mpfullWebPropertyId = pMpfullWebPropertyId_+    , _mpfullProFileId = pMpfullProFileId_+    , _mpfullAccountId = pMpfullAccountId_+    , _mpfullStartIndex = Nothing+    , _mpfullMaxResults = Nothing+    }++-- | Web Property ID which the given view (profile) belongs to. Can either be+-- a specific web property ID or \'~all\', which refers to all the web+-- properties that user has access to.+mpfullWebPropertyId :: Lens' ManagementProFileUserLinksList Text+mpfullWebPropertyId+  = lens _mpfullWebPropertyId+      (\ s a -> s{_mpfullWebPropertyId = a})++-- | View (Profile) ID to retrieve the profile-user links for. Can either be+-- a specific profile ID or \'~all\', which refers to all the profiles that+-- user has access to.+mpfullProFileId :: Lens' ManagementProFileUserLinksList Text+mpfullProFileId+  = lens _mpfullProFileId+      (\ s a -> s{_mpfullProFileId = a})++-- | Account ID which the given view (profile) belongs to.+mpfullAccountId :: Lens' ManagementProFileUserLinksList Text+mpfullAccountId+  = lens _mpfullAccountId+      (\ s a -> s{_mpfullAccountId = a})++-- | An index of the first profile-user link to retrieve. Use this parameter+-- as a pagination mechanism along with the max-results parameter.+mpfullStartIndex :: Lens' ManagementProFileUserLinksList (Maybe Int32)+mpfullStartIndex+  = lens _mpfullStartIndex+      (\ s a -> s{_mpfullStartIndex = a})+      . mapping _Coerce++-- | The maximum number of profile-user links to include in this response.+mpfullMaxResults :: Lens' ManagementProFileUserLinksList (Maybe Int32)+mpfullMaxResults+  = lens _mpfullMaxResults+      (\ s a -> s{_mpfullMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementProFileUserLinksList+         where+        type Rs ManagementProFileUserLinksList =+             EntityUserLinks+        requestClient ManagementProFileUserLinksList{..}+          = go _mpfullAccountId _mpfullWebPropertyId+              _mpfullProFileId+              _mpfullStartIndex+              _mpfullMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileUserLinksListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Update.hs view
@@ -0,0 +1,148 @@+{-# 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.Analytics.Management.ProFileUserLinks.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 permissions for an existing user on the given view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profileUserLinks.update@.+module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update+    (+    -- * REST Resource+      ManagementProFileUserLinksUpdateResource++    -- * Creating a Request+    , managementProFileUserLinksUpdate+    , ManagementProFileUserLinksUpdate++    -- * Request Lenses+    , mpfuluWebPropertyId+    , mpfuluProFileId+    , mpfuluPayload+    , mpfuluAccountId+    , mpfuluLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profileUserLinks.update@ method which the+-- 'ManagementProFileUserLinksUpdate' request conforms to.+type ManagementProFileUserLinksUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "entityUserLinks" :>+                         Capture "linkId" Text :>+                           QueryParam "alt" AltJSON :>+                             ReqBody '[JSON] EntityUserLink :>+                               Put '[JSON] EntityUserLink++-- | Updates permissions for an existing user on the given view (profile).+--+-- /See:/ 'managementProFileUserLinksUpdate' smart constructor.+data ManagementProFileUserLinksUpdate = ManagementProFileUserLinksUpdate+    { _mpfuluWebPropertyId :: !Text+    , _mpfuluProFileId     :: !Text+    , _mpfuluPayload       :: !EntityUserLink+    , _mpfuluAccountId     :: !Text+    , _mpfuluLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFileUserLinksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfuluWebPropertyId'+--+-- * 'mpfuluProFileId'+--+-- * 'mpfuluPayload'+--+-- * 'mpfuluAccountId'+--+-- * 'mpfuluLinkId'+managementProFileUserLinksUpdate+    :: Text -- ^ 'mpfuluWebPropertyId'+    -> Text -- ^ 'mpfuluProFileId'+    -> EntityUserLink -- ^ 'mpfuluPayload'+    -> Text -- ^ 'mpfuluAccountId'+    -> Text -- ^ 'mpfuluLinkId'+    -> ManagementProFileUserLinksUpdate+managementProFileUserLinksUpdate pMpfuluWebPropertyId_ pMpfuluProFileId_ pMpfuluPayload_ pMpfuluAccountId_ pMpfuluLinkId_ =+    ManagementProFileUserLinksUpdate+    { _mpfuluWebPropertyId = pMpfuluWebPropertyId_+    , _mpfuluProFileId = pMpfuluProFileId_+    , _mpfuluPayload = pMpfuluPayload_+    , _mpfuluAccountId = pMpfuluAccountId_+    , _mpfuluLinkId = pMpfuluLinkId_+    }++-- | Web Property ID to update the user link for.+mpfuluWebPropertyId :: Lens' ManagementProFileUserLinksUpdate Text+mpfuluWebPropertyId+  = lens _mpfuluWebPropertyId+      (\ s a -> s{_mpfuluWebPropertyId = a})++-- | View (Profile ID) to update the user link for.+mpfuluProFileId :: Lens' ManagementProFileUserLinksUpdate Text+mpfuluProFileId+  = lens _mpfuluProFileId+      (\ s a -> s{_mpfuluProFileId = a})++-- | Multipart request metadata.+mpfuluPayload :: Lens' ManagementProFileUserLinksUpdate EntityUserLink+mpfuluPayload+  = lens _mpfuluPayload+      (\ s a -> s{_mpfuluPayload = a})++-- | Account ID to update the user link for.+mpfuluAccountId :: Lens' ManagementProFileUserLinksUpdate Text+mpfuluAccountId+  = lens _mpfuluAccountId+      (\ s a -> s{_mpfuluAccountId = a})++-- | Link ID to update the user link for.+mpfuluLinkId :: Lens' ManagementProFileUserLinksUpdate Text+mpfuluLinkId+  = lens _mpfuluLinkId (\ s a -> s{_mpfuluLinkId = a})++instance GoogleRequest+         ManagementProFileUserLinksUpdate where+        type Rs ManagementProFileUserLinksUpdate =+             EntityUserLink+        requestClient ManagementProFileUserLinksUpdate{..}+          = go _mpfuluAccountId _mpfuluWebPropertyId+              _mpfuluProFileId+              _mpfuluLinkId+              (Just AltJSON)+              _mpfuluPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementProFileUserLinksUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/Delete.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.Analytics.Management.ProFiles.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 view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.delete@.+module Network.Google.Resource.Analytics.Management.ProFiles.Delete+    (+    -- * REST Resource+      ManagementProFilesDeleteResource++    -- * Creating a Request+    , managementProFilesDelete+    , ManagementProFilesDelete++    -- * Request Lenses+    , mpfdWebPropertyId+    , mpfdProFileId+    , mpfdAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.delete@ method which the+-- 'ManagementProFilesDelete' request conforms to.+type ManagementProFilesDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a view (profile).+--+-- /See:/ 'managementProFilesDelete' smart constructor.+data ManagementProFilesDelete = ManagementProFilesDelete+    { _mpfdWebPropertyId :: !Text+    , _mpfdProFileId     :: !Text+    , _mpfdAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfdWebPropertyId'+--+-- * 'mpfdProFileId'+--+-- * 'mpfdAccountId'+managementProFilesDelete+    :: Text -- ^ 'mpfdWebPropertyId'+    -> Text -- ^ 'mpfdProFileId'+    -> Text -- ^ 'mpfdAccountId'+    -> ManagementProFilesDelete+managementProFilesDelete pMpfdWebPropertyId_ pMpfdProFileId_ pMpfdAccountId_ =+    ManagementProFilesDelete+    { _mpfdWebPropertyId = pMpfdWebPropertyId_+    , _mpfdProFileId = pMpfdProFileId_+    , _mpfdAccountId = pMpfdAccountId_+    }++-- | Web property ID to delete the view (profile) for.+mpfdWebPropertyId :: Lens' ManagementProFilesDelete Text+mpfdWebPropertyId+  = lens _mpfdWebPropertyId+      (\ s a -> s{_mpfdWebPropertyId = a})++-- | ID of the view (profile) to be deleted.+mpfdProFileId :: Lens' ManagementProFilesDelete Text+mpfdProFileId+  = lens _mpfdProFileId+      (\ s a -> s{_mpfdProFileId = a})++-- | Account ID to delete the view (profile) for.+mpfdAccountId :: Lens' ManagementProFilesDelete Text+mpfdAccountId+  = lens _mpfdAccountId+      (\ s a -> s{_mpfdAccountId = a})++instance GoogleRequest ManagementProFilesDelete where+        type Rs ManagementProFilesDelete = ()+        requestClient ManagementProFilesDelete{..}+          = go _mpfdAccountId _mpfdWebPropertyId _mpfdProFileId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/Get.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.Analytics.Management.ProFiles.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 a view (profile) to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.get@.+module Network.Google.Resource.Analytics.Management.ProFiles.Get+    (+    -- * REST Resource+      ManagementProFilesGetResource++    -- * Creating a Request+    , managementProFilesGet+    , ManagementProFilesGet++    -- * Request Lenses+    , mpfgWebPropertyId+    , mpfgProFileId+    , mpfgAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.get@ method which the+-- 'ManagementProFilesGet' request conforms to.+type ManagementProFilesGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       QueryParam "alt" AltJSON :> Get '[JSON] ProFile++-- | Gets a view (profile) to which the user has access.+--+-- /See:/ 'managementProFilesGet' smart constructor.+data ManagementProFilesGet = ManagementProFilesGet+    { _mpfgWebPropertyId :: !Text+    , _mpfgProFileId     :: !Text+    , _mpfgAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfgWebPropertyId'+--+-- * 'mpfgProFileId'+--+-- * 'mpfgAccountId'+managementProFilesGet+    :: Text -- ^ 'mpfgWebPropertyId'+    -> Text -- ^ 'mpfgProFileId'+    -> Text -- ^ 'mpfgAccountId'+    -> ManagementProFilesGet+managementProFilesGet pMpfgWebPropertyId_ pMpfgProFileId_ pMpfgAccountId_ =+    ManagementProFilesGet+    { _mpfgWebPropertyId = pMpfgWebPropertyId_+    , _mpfgProFileId = pMpfgProFileId_+    , _mpfgAccountId = pMpfgAccountId_+    }++-- | Web property ID to retrieve the goal for.+mpfgWebPropertyId :: Lens' ManagementProFilesGet Text+mpfgWebPropertyId+  = lens _mpfgWebPropertyId+      (\ s a -> s{_mpfgWebPropertyId = a})++-- | View (Profile) ID to retrieve the goal for.+mpfgProFileId :: Lens' ManagementProFilesGet Text+mpfgProFileId+  = lens _mpfgProFileId+      (\ s a -> s{_mpfgProFileId = a})++-- | Account ID to retrieve the goal for.+mpfgAccountId :: Lens' ManagementProFilesGet Text+mpfgAccountId+  = lens _mpfgAccountId+      (\ s a -> s{_mpfgAccountId = a})++instance GoogleRequest ManagementProFilesGet where+        type Rs ManagementProFilesGet = ProFile+        requestClient ManagementProFilesGet{..}+          = go _mpfgAccountId _mpfgWebPropertyId _mpfgProFileId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/Insert.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.Analytics.Management.ProFiles.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)+--+-- Create a new view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.insert@.+module Network.Google.Resource.Analytics.Management.ProFiles.Insert+    (+    -- * REST Resource+      ManagementProFilesInsertResource++    -- * Creating a Request+    , managementProFilesInsert+    , ManagementProFilesInsert++    -- * Request Lenses+    , mpfiWebPropertyId+    , mpfiPayload+    , mpfiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.insert@ method which the+-- 'ManagementProFilesInsert' request conforms to.+type ManagementProFilesInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] ProFile :> Post '[JSON] ProFile++-- | Create a new view (profile).+--+-- /See:/ 'managementProFilesInsert' smart constructor.+data ManagementProFilesInsert = ManagementProFilesInsert+    { _mpfiWebPropertyId :: !Text+    , _mpfiPayload       :: !ProFile+    , _mpfiAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfiWebPropertyId'+--+-- * 'mpfiPayload'+--+-- * 'mpfiAccountId'+managementProFilesInsert+    :: Text -- ^ 'mpfiWebPropertyId'+    -> ProFile -- ^ 'mpfiPayload'+    -> Text -- ^ 'mpfiAccountId'+    -> ManagementProFilesInsert+managementProFilesInsert pMpfiWebPropertyId_ pMpfiPayload_ pMpfiAccountId_ =+    ManagementProFilesInsert+    { _mpfiWebPropertyId = pMpfiWebPropertyId_+    , _mpfiPayload = pMpfiPayload_+    , _mpfiAccountId = pMpfiAccountId_+    }++-- | Web property ID to create the view (profile) for.+mpfiWebPropertyId :: Lens' ManagementProFilesInsert Text+mpfiWebPropertyId+  = lens _mpfiWebPropertyId+      (\ s a -> s{_mpfiWebPropertyId = a})++-- | Multipart request metadata.+mpfiPayload :: Lens' ManagementProFilesInsert ProFile+mpfiPayload+  = lens _mpfiPayload (\ s a -> s{_mpfiPayload = a})++-- | Account ID to create the view (profile) for.+mpfiAccountId :: Lens' ManagementProFilesInsert Text+mpfiAccountId+  = lens _mpfiAccountId+      (\ s a -> s{_mpfiAccountId = a})++instance GoogleRequest ManagementProFilesInsert where+        type Rs ManagementProFilesInsert = ProFile+        requestClient ManagementProFilesInsert{..}+          = go _mpfiAccountId _mpfiWebPropertyId (Just AltJSON)+              _mpfiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/List.hs view
@@ -0,0 +1,135 @@+{-# 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.Analytics.Management.ProFiles.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 views (profiles) to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.list@.+module Network.Google.Resource.Analytics.Management.ProFiles.List+    (+    -- * REST Resource+      ManagementProFilesListResource++    -- * Creating a Request+    , managementProFilesList+    , ManagementProFilesList++    -- * Request Lenses+    , mpflWebPropertyId+    , mpflAccountId+    , mpflStartIndex+    , mpflMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.list@ method which the+-- 'ManagementProFilesList' request conforms to.+type ManagementProFilesListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] ProFiles++-- | Lists views (profiles) to which the user has access.+--+-- /See:/ 'managementProFilesList' smart constructor.+data ManagementProFilesList = ManagementProFilesList+    { _mpflWebPropertyId :: !Text+    , _mpflAccountId     :: !Text+    , _mpflStartIndex    :: !(Maybe (Textual Int32))+    , _mpflMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpflWebPropertyId'+--+-- * 'mpflAccountId'+--+-- * 'mpflStartIndex'+--+-- * 'mpflMaxResults'+managementProFilesList+    :: Text -- ^ 'mpflWebPropertyId'+    -> Text -- ^ 'mpflAccountId'+    -> ManagementProFilesList+managementProFilesList pMpflWebPropertyId_ pMpflAccountId_ =+    ManagementProFilesList+    { _mpflWebPropertyId = pMpflWebPropertyId_+    , _mpflAccountId = pMpflAccountId_+    , _mpflStartIndex = Nothing+    , _mpflMaxResults = Nothing+    }++-- | Web property ID for the views (profiles) to retrieve. Can either be a+-- specific web property ID or \'~all\', which refers to all the web+-- properties to which the user has access.+mpflWebPropertyId :: Lens' ManagementProFilesList Text+mpflWebPropertyId+  = lens _mpflWebPropertyId+      (\ s a -> s{_mpflWebPropertyId = a})++-- | Account ID for the view (profiles) to retrieve. Can either be a specific+-- account ID or \'~all\', which refers to all the accounts to which the+-- user has access.+mpflAccountId :: Lens' ManagementProFilesList Text+mpflAccountId+  = lens _mpflAccountId+      (\ s a -> s{_mpflAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mpflStartIndex :: Lens' ManagementProFilesList (Maybe Int32)+mpflStartIndex+  = lens _mpflStartIndex+      (\ s a -> s{_mpflStartIndex = a})+      . mapping _Coerce++-- | The maximum number of views (profiles) to include in this response.+mpflMaxResults :: Lens' ManagementProFilesList (Maybe Int32)+mpflMaxResults+  = lens _mpflMaxResults+      (\ s a -> s{_mpflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementProFilesList where+        type Rs ManagementProFilesList = ProFiles+        requestClient ManagementProFilesList{..}+          = go _mpflAccountId _mpflWebPropertyId+              _mpflStartIndex+              _mpflMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/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.Analytics.Management.ProFiles.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 view (profile). This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.patch@.+module Network.Google.Resource.Analytics.Management.ProFiles.Patch+    (+    -- * REST Resource+      ManagementProFilesPatchResource++    -- * Creating a Request+    , managementProFilesPatch+    , ManagementProFilesPatch++    -- * Request Lenses+    , mpfpWebPropertyId+    , mpfpProFileId+    , mpfpPayload+    , mpfpAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.patch@ method which the+-- 'ManagementProFilesPatch' request conforms to.+type ManagementProFilesPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] ProFile :> Patch '[JSON] ProFile++-- | Updates an existing view (profile). This method supports patch+-- semantics.+--+-- /See:/ 'managementProFilesPatch' smart constructor.+data ManagementProFilesPatch = ManagementProFilesPatch+    { _mpfpWebPropertyId :: !Text+    , _mpfpProFileId     :: !Text+    , _mpfpPayload       :: !ProFile+    , _mpfpAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfpWebPropertyId'+--+-- * 'mpfpProFileId'+--+-- * 'mpfpPayload'+--+-- * 'mpfpAccountId'+managementProFilesPatch+    :: Text -- ^ 'mpfpWebPropertyId'+    -> Text -- ^ 'mpfpProFileId'+    -> ProFile -- ^ 'mpfpPayload'+    -> Text -- ^ 'mpfpAccountId'+    -> ManagementProFilesPatch+managementProFilesPatch pMpfpWebPropertyId_ pMpfpProFileId_ pMpfpPayload_ pMpfpAccountId_ =+    ManagementProFilesPatch+    { _mpfpWebPropertyId = pMpfpWebPropertyId_+    , _mpfpProFileId = pMpfpProFileId_+    , _mpfpPayload = pMpfpPayload_+    , _mpfpAccountId = pMpfpAccountId_+    }++-- | Web property ID to which the view (profile) belongs+mpfpWebPropertyId :: Lens' ManagementProFilesPatch Text+mpfpWebPropertyId+  = lens _mpfpWebPropertyId+      (\ s a -> s{_mpfpWebPropertyId = a})++-- | ID of the view (profile) to be updated.+mpfpProFileId :: Lens' ManagementProFilesPatch Text+mpfpProFileId+  = lens _mpfpProFileId+      (\ s a -> s{_mpfpProFileId = a})++-- | Multipart request metadata.+mpfpPayload :: Lens' ManagementProFilesPatch ProFile+mpfpPayload+  = lens _mpfpPayload (\ s a -> s{_mpfpPayload = a})++-- | Account ID to which the view (profile) belongs+mpfpAccountId :: Lens' ManagementProFilesPatch Text+mpfpAccountId+  = lens _mpfpAccountId+      (\ s a -> s{_mpfpAccountId = a})++instance GoogleRequest ManagementProFilesPatch where+        type Rs ManagementProFilesPatch = ProFile+        requestClient ManagementProFilesPatch{..}+          = go _mpfpAccountId _mpfpWebPropertyId _mpfpProFileId+              (Just AltJSON)+              _mpfpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/ProFiles/Update.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.Analytics.Management.ProFiles.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 view (profile).+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.profiles.update@.+module Network.Google.Resource.Analytics.Management.ProFiles.Update+    (+    -- * REST Resource+      ManagementProFilesUpdateResource++    -- * Creating a Request+    , managementProFilesUpdate+    , ManagementProFilesUpdate++    -- * Request Lenses+    , mpfuWebPropertyId+    , mpfuProFileId+    , mpfuPayload+    , mpfuAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.profiles.update@ method which the+-- 'ManagementProFilesUpdate' request conforms to.+type ManagementProFilesUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] ProFile :> Put '[JSON] ProFile++-- | Updates an existing view (profile).+--+-- /See:/ 'managementProFilesUpdate' smart constructor.+data ManagementProFilesUpdate = ManagementProFilesUpdate+    { _mpfuWebPropertyId :: !Text+    , _mpfuProFileId     :: !Text+    , _mpfuPayload       :: !ProFile+    , _mpfuAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementProFilesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpfuWebPropertyId'+--+-- * 'mpfuProFileId'+--+-- * 'mpfuPayload'+--+-- * 'mpfuAccountId'+managementProFilesUpdate+    :: Text -- ^ 'mpfuWebPropertyId'+    -> Text -- ^ 'mpfuProFileId'+    -> ProFile -- ^ 'mpfuPayload'+    -> Text -- ^ 'mpfuAccountId'+    -> ManagementProFilesUpdate+managementProFilesUpdate pMpfuWebPropertyId_ pMpfuProFileId_ pMpfuPayload_ pMpfuAccountId_ =+    ManagementProFilesUpdate+    { _mpfuWebPropertyId = pMpfuWebPropertyId_+    , _mpfuProFileId = pMpfuProFileId_+    , _mpfuPayload = pMpfuPayload_+    , _mpfuAccountId = pMpfuAccountId_+    }++-- | Web property ID to which the view (profile) belongs+mpfuWebPropertyId :: Lens' ManagementProFilesUpdate Text+mpfuWebPropertyId+  = lens _mpfuWebPropertyId+      (\ s a -> s{_mpfuWebPropertyId = a})++-- | ID of the view (profile) to be updated.+mpfuProFileId :: Lens' ManagementProFilesUpdate Text+mpfuProFileId+  = lens _mpfuProFileId+      (\ s a -> s{_mpfuProFileId = a})++-- | Multipart request metadata.+mpfuPayload :: Lens' ManagementProFilesUpdate ProFile+mpfuPayload+  = lens _mpfuPayload (\ s a -> s{_mpfuPayload = a})++-- | Account ID to which the view (profile) belongs+mpfuAccountId :: Lens' ManagementProFilesUpdate Text+mpfuAccountId+  = lens _mpfuAccountId+      (\ s a -> s{_mpfuAccountId = a})++instance GoogleRequest ManagementProFilesUpdate where+        type Rs ManagementProFilesUpdate = ProFile+        requestClient ManagementProFilesUpdate{..}+          = go _mpfuAccountId _mpfuWebPropertyId _mpfuProFileId+              (Just AltJSON)+              _mpfuPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementProFilesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Segments/List.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.Analytics.Management.Segments.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 segments to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.segments.list@.+module Network.Google.Resource.Analytics.Management.Segments.List+    (+    -- * REST Resource+      ManagementSegmentsListResource++    -- * Creating a Request+    , managementSegmentsList+    , ManagementSegmentsList++    -- * Request Lenses+    , mslStartIndex+    , mslMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.segments.list@ method which the+-- 'ManagementSegmentsList' request conforms to.+type ManagementSegmentsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "segments" :>+             QueryParam "start-index" (Textual Int32) :>+               QueryParam "max-results" (Textual Int32) :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Segments++-- | Lists segments to which the user has access.+--+-- /See:/ 'managementSegmentsList' smart constructor.+data ManagementSegmentsList = ManagementSegmentsList+    { _mslStartIndex :: !(Maybe (Textual Int32))+    , _mslMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementSegmentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mslStartIndex'+--+-- * 'mslMaxResults'+managementSegmentsList+    :: ManagementSegmentsList+managementSegmentsList =+    ManagementSegmentsList+    { _mslStartIndex = Nothing+    , _mslMaxResults = Nothing+    }++-- | An index of the first segment to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mslStartIndex :: Lens' ManagementSegmentsList (Maybe Int32)+mslStartIndex+  = lens _mslStartIndex+      (\ s a -> s{_mslStartIndex = a})+      . mapping _Coerce++-- | The maximum number of segments to include in this response.+mslMaxResults :: Lens' ManagementSegmentsList (Maybe Int32)+mslMaxResults+  = lens _mslMaxResults+      (\ s a -> s{_mslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementSegmentsList where+        type Rs ManagementSegmentsList = Segments+        requestClient ManagementSegmentsList{..}+          = go _mslStartIndex _mslMaxResults (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementSegmentsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/UnSampledReports/Get.hs view
@@ -0,0 +1,135 @@+{-# 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.Analytics.Management.UnSampledReports.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)+--+-- Returns a single unsampled report.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.unsampledReports.get@.+module Network.Google.Resource.Analytics.Management.UnSampledReports.Get+    (+    -- * REST Resource+      ManagementUnSampledReportsGetResource++    -- * Creating a Request+    , managementUnSampledReportsGet+    , ManagementUnSampledReportsGet++    -- * Request Lenses+    , musrgWebPropertyId+    , musrgProFileId+    , musrgAccountId+    , musrgUnSampledReportId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.unsampledReports.get@ method which the+-- 'ManagementUnSampledReportsGet' request conforms to.+type ManagementUnSampledReportsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "unsampledReports" :>+                         Capture "unsampledReportId" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] UnSampledReport++-- | Returns a single unsampled report.+--+-- /See:/ 'managementUnSampledReportsGet' smart constructor.+data ManagementUnSampledReportsGet = ManagementUnSampledReportsGet+    { _musrgWebPropertyId     :: !Text+    , _musrgProFileId         :: !Text+    , _musrgAccountId         :: !Text+    , _musrgUnSampledReportId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUnSampledReportsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'musrgWebPropertyId'+--+-- * 'musrgProFileId'+--+-- * 'musrgAccountId'+--+-- * 'musrgUnSampledReportId'+managementUnSampledReportsGet+    :: Text -- ^ 'musrgWebPropertyId'+    -> Text -- ^ 'musrgProFileId'+    -> Text -- ^ 'musrgAccountId'+    -> Text -- ^ 'musrgUnSampledReportId'+    -> ManagementUnSampledReportsGet+managementUnSampledReportsGet pMusrgWebPropertyId_ pMusrgProFileId_ pMusrgAccountId_ pMusrgUnSampledReportId_ =+    ManagementUnSampledReportsGet+    { _musrgWebPropertyId = pMusrgWebPropertyId_+    , _musrgProFileId = pMusrgProFileId_+    , _musrgAccountId = pMusrgAccountId_+    , _musrgUnSampledReportId = pMusrgUnSampledReportId_+    }++-- | Web property ID to retrieve unsampled reports for.+musrgWebPropertyId :: Lens' ManagementUnSampledReportsGet Text+musrgWebPropertyId+  = lens _musrgWebPropertyId+      (\ s a -> s{_musrgWebPropertyId = a})++-- | View (Profile) ID to retrieve unsampled report for.+musrgProFileId :: Lens' ManagementUnSampledReportsGet Text+musrgProFileId+  = lens _musrgProFileId+      (\ s a -> s{_musrgProFileId = a})++-- | Account ID to retrieve unsampled report for.+musrgAccountId :: Lens' ManagementUnSampledReportsGet Text+musrgAccountId+  = lens _musrgAccountId+      (\ s a -> s{_musrgAccountId = a})++-- | ID of the unsampled report to retrieve.+musrgUnSampledReportId :: Lens' ManagementUnSampledReportsGet Text+musrgUnSampledReportId+  = lens _musrgUnSampledReportId+      (\ s a -> s{_musrgUnSampledReportId = a})++instance GoogleRequest ManagementUnSampledReportsGet+         where+        type Rs ManagementUnSampledReportsGet =+             UnSampledReport+        requestClient ManagementUnSampledReportsGet{..}+          = go _musrgAccountId _musrgWebPropertyId+              _musrgProFileId+              _musrgUnSampledReportId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementUnSampledReportsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/UnSampledReports/Insert.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Management.UnSampledReports.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)+--+-- Create a new unsampled report.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.unsampledReports.insert@.+module Network.Google.Resource.Analytics.Management.UnSampledReports.Insert+    (+    -- * REST Resource+      ManagementUnSampledReportsInsertResource++    -- * Creating a Request+    , managementUnSampledReportsInsert+    , ManagementUnSampledReportsInsert++    -- * Request Lenses+    , musriWebPropertyId+    , musriProFileId+    , musriPayload+    , musriAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.unsampledReports.insert@ method which the+-- 'ManagementUnSampledReportsInsert' request conforms to.+type ManagementUnSampledReportsInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "unsampledReports" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] UnSampledReport :>+                             Post '[JSON] UnSampledReport++-- | Create a new unsampled report.+--+-- /See:/ 'managementUnSampledReportsInsert' smart constructor.+data ManagementUnSampledReportsInsert = ManagementUnSampledReportsInsert+    { _musriWebPropertyId :: !Text+    , _musriProFileId     :: !Text+    , _musriPayload       :: !UnSampledReport+    , _musriAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUnSampledReportsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'musriWebPropertyId'+--+-- * 'musriProFileId'+--+-- * 'musriPayload'+--+-- * 'musriAccountId'+managementUnSampledReportsInsert+    :: Text -- ^ 'musriWebPropertyId'+    -> Text -- ^ 'musriProFileId'+    -> UnSampledReport -- ^ 'musriPayload'+    -> Text -- ^ 'musriAccountId'+    -> ManagementUnSampledReportsInsert+managementUnSampledReportsInsert pMusriWebPropertyId_ pMusriProFileId_ pMusriPayload_ pMusriAccountId_ =+    ManagementUnSampledReportsInsert+    { _musriWebPropertyId = pMusriWebPropertyId_+    , _musriProFileId = pMusriProFileId_+    , _musriPayload = pMusriPayload_+    , _musriAccountId = pMusriAccountId_+    }++-- | Web property ID to create the unsampled report for.+musriWebPropertyId :: Lens' ManagementUnSampledReportsInsert Text+musriWebPropertyId+  = lens _musriWebPropertyId+      (\ s a -> s{_musriWebPropertyId = a})++-- | View (Profile) ID to create the unsampled report for.+musriProFileId :: Lens' ManagementUnSampledReportsInsert Text+musriProFileId+  = lens _musriProFileId+      (\ s a -> s{_musriProFileId = a})++-- | Multipart request metadata.+musriPayload :: Lens' ManagementUnSampledReportsInsert UnSampledReport+musriPayload+  = lens _musriPayload (\ s a -> s{_musriPayload = a})++-- | Account ID to create the unsampled report for.+musriAccountId :: Lens' ManagementUnSampledReportsInsert Text+musriAccountId+  = lens _musriAccountId+      (\ s a -> s{_musriAccountId = a})++instance GoogleRequest+         ManagementUnSampledReportsInsert where+        type Rs ManagementUnSampledReportsInsert =+             UnSampledReport+        requestClient ManagementUnSampledReportsInsert{..}+          = go _musriAccountId _musriWebPropertyId+              _musriProFileId+              (Just AltJSON)+              _musriPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementUnSampledReportsInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/UnSampledReports/List.hs view
@@ -0,0 +1,153 @@+{-# 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.Analytics.Management.UnSampledReports.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 unsampled reports to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.unsampledReports.list@.+module Network.Google.Resource.Analytics.Management.UnSampledReports.List+    (+    -- * REST Resource+      ManagementUnSampledReportsListResource++    -- * Creating a Request+    , managementUnSampledReportsList+    , ManagementUnSampledReportsList++    -- * Request Lenses+    , musrlWebPropertyId+    , musrlProFileId+    , musrlAccountId+    , musrlStartIndex+    , musrlMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.unsampledReports.list@ method which the+-- 'ManagementUnSampledReportsList' request conforms to.+type ManagementUnSampledReportsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "profiles" :>+                     Capture "profileId" Text :>+                       "unsampledReports" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] UnSampledReports++-- | Lists unsampled reports to which the user has access.+--+-- /See:/ 'managementUnSampledReportsList' smart constructor.+data ManagementUnSampledReportsList = ManagementUnSampledReportsList+    { _musrlWebPropertyId :: !Text+    , _musrlProFileId     :: !Text+    , _musrlAccountId     :: !Text+    , _musrlStartIndex    :: !(Maybe (Textual Int32))+    , _musrlMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUnSampledReportsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'musrlWebPropertyId'+--+-- * 'musrlProFileId'+--+-- * 'musrlAccountId'+--+-- * 'musrlStartIndex'+--+-- * 'musrlMaxResults'+managementUnSampledReportsList+    :: Text -- ^ 'musrlWebPropertyId'+    -> Text -- ^ 'musrlProFileId'+    -> Text -- ^ 'musrlAccountId'+    -> ManagementUnSampledReportsList+managementUnSampledReportsList pMusrlWebPropertyId_ pMusrlProFileId_ pMusrlAccountId_ =+    ManagementUnSampledReportsList+    { _musrlWebPropertyId = pMusrlWebPropertyId_+    , _musrlProFileId = pMusrlProFileId_+    , _musrlAccountId = pMusrlAccountId_+    , _musrlStartIndex = Nothing+    , _musrlMaxResults = Nothing+    }++-- | Web property ID to retrieve unsampled reports for. Must be a specific+-- web property ID, ~all is not supported.+musrlWebPropertyId :: Lens' ManagementUnSampledReportsList Text+musrlWebPropertyId+  = lens _musrlWebPropertyId+      (\ s a -> s{_musrlWebPropertyId = a})++-- | View (Profile) ID to retrieve unsampled reports for. Must be a specific+-- view (profile) ID, ~all is not supported.+musrlProFileId :: Lens' ManagementUnSampledReportsList Text+musrlProFileId+  = lens _musrlProFileId+      (\ s a -> s{_musrlProFileId = a})++-- | Account ID to retrieve unsampled reports for. Must be a specific account+-- ID, ~all is not supported.+musrlAccountId :: Lens' ManagementUnSampledReportsList Text+musrlAccountId+  = lens _musrlAccountId+      (\ s a -> s{_musrlAccountId = a})++-- | An index of the first unsampled report to retrieve. Use this parameter+-- as a pagination mechanism along with the max-results parameter.+musrlStartIndex :: Lens' ManagementUnSampledReportsList (Maybe Int32)+musrlStartIndex+  = lens _musrlStartIndex+      (\ s a -> s{_musrlStartIndex = a})+      . mapping _Coerce++-- | The maximum number of unsampled reports to include in this response.+musrlMaxResults :: Lens' ManagementUnSampledReportsList (Maybe Int32)+musrlMaxResults+  = lens _musrlMaxResults+      (\ s a -> s{_musrlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementUnSampledReportsList+         where+        type Rs ManagementUnSampledReportsList =+             UnSampledReports+        requestClient ManagementUnSampledReportsList{..}+          = go _musrlAccountId _musrlWebPropertyId+              _musrlProFileId+              _musrlStartIndex+              _musrlMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementUnSampledReportsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Uploads/DeleteUploadData.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData+-- 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)+--+-- Delete data associated with a previous upload.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.uploads.deleteUploadData@.+module Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData+    (+    -- * REST Resource+      ManagementUploadsDeleteUploadDataResource++    -- * Creating a Request+    , managementUploadsDeleteUploadData+    , ManagementUploadsDeleteUploadData++    -- * Request Lenses+    , mududWebPropertyId+    , mududCustomDataSourceId+    , mududPayload+    , mududAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.uploads.deleteUploadData@ method which the+-- 'ManagementUploadsDeleteUploadData' request conforms to.+type ManagementUploadsDeleteUploadDataResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDataSources" :>+                     Capture "customDataSourceId" Text :>+                       "deleteUploadData" :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON]+                             AnalyticsDataimportDeleteUploadDataRequest+                             :> Post '[JSON] ()++-- | Delete data associated with a previous upload.+--+-- /See:/ 'managementUploadsDeleteUploadData' smart constructor.+data ManagementUploadsDeleteUploadData = ManagementUploadsDeleteUploadData+    { _mududWebPropertyId      :: !Text+    , _mududCustomDataSourceId :: !Text+    , _mududPayload            :: !AnalyticsDataimportDeleteUploadDataRequest+    , _mududAccountId          :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUploadsDeleteUploadData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mududWebPropertyId'+--+-- * 'mududCustomDataSourceId'+--+-- * 'mududPayload'+--+-- * 'mududAccountId'+managementUploadsDeleteUploadData+    :: Text -- ^ 'mududWebPropertyId'+    -> Text -- ^ 'mududCustomDataSourceId'+    -> AnalyticsDataimportDeleteUploadDataRequest -- ^ 'mududPayload'+    -> Text -- ^ 'mududAccountId'+    -> ManagementUploadsDeleteUploadData+managementUploadsDeleteUploadData pMududWebPropertyId_ pMududCustomDataSourceId_ pMududPayload_ pMududAccountId_ =+    ManagementUploadsDeleteUploadData+    { _mududWebPropertyId = pMududWebPropertyId_+    , _mududCustomDataSourceId = pMududCustomDataSourceId_+    , _mududPayload = pMududPayload_+    , _mududAccountId = pMududAccountId_+    }++-- | Web property Id for the uploads to be deleted.+mududWebPropertyId :: Lens' ManagementUploadsDeleteUploadData Text+mududWebPropertyId+  = lens _mududWebPropertyId+      (\ s a -> s{_mududWebPropertyId = a})++-- | Custom data source Id for the uploads to be deleted.+mududCustomDataSourceId :: Lens' ManagementUploadsDeleteUploadData Text+mududCustomDataSourceId+  = lens _mududCustomDataSourceId+      (\ s a -> s{_mududCustomDataSourceId = a})++-- | Multipart request metadata.+mududPayload :: Lens' ManagementUploadsDeleteUploadData AnalyticsDataimportDeleteUploadDataRequest+mududPayload+  = lens _mududPayload (\ s a -> s{_mududPayload = a})++-- | Account Id for the uploads to be deleted.+mududAccountId :: Lens' ManagementUploadsDeleteUploadData Text+mududAccountId+  = lens _mududAccountId+      (\ s a -> s{_mududAccountId = a})++instance GoogleRequest+         ManagementUploadsDeleteUploadData where+        type Rs ManagementUploadsDeleteUploadData = ()+        requestClient ManagementUploadsDeleteUploadData{..}+          = go _mududAccountId _mududWebPropertyId+              _mududCustomDataSourceId+              (Just AltJSON)+              _mududPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementUploadsDeleteUploadDataResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Uploads/Get.hs view
@@ -0,0 +1,129 @@+{-# 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.Analytics.Management.Uploads.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)+--+-- List uploads to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.uploads.get@.+module Network.Google.Resource.Analytics.Management.Uploads.Get+    (+    -- * REST Resource+      ManagementUploadsGetResource++    -- * Creating a Request+    , managementUploadsGet+    , ManagementUploadsGet++    -- * Request Lenses+    , mugWebPropertyId+    , mugCustomDataSourceId+    , mugAccountId+    , mugUploadId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.uploads.get@ method which the+-- 'ManagementUploadsGet' request conforms to.+type ManagementUploadsGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDataSources" :>+                     Capture "customDataSourceId" Text :>+                       "uploads" :>+                         Capture "uploadId" Text :>+                           QueryParam "alt" AltJSON :> Get '[JSON] Upload++-- | List uploads to which the user has access.+--+-- /See:/ 'managementUploadsGet' smart constructor.+data ManagementUploadsGet = ManagementUploadsGet+    { _mugWebPropertyId      :: !Text+    , _mugCustomDataSourceId :: !Text+    , _mugAccountId          :: !Text+    , _mugUploadId           :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUploadsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mugWebPropertyId'+--+-- * 'mugCustomDataSourceId'+--+-- * 'mugAccountId'+--+-- * 'mugUploadId'+managementUploadsGet+    :: Text -- ^ 'mugWebPropertyId'+    -> Text -- ^ 'mugCustomDataSourceId'+    -> Text -- ^ 'mugAccountId'+    -> Text -- ^ 'mugUploadId'+    -> ManagementUploadsGet+managementUploadsGet pMugWebPropertyId_ pMugCustomDataSourceId_ pMugAccountId_ pMugUploadId_ =+    ManagementUploadsGet+    { _mugWebPropertyId = pMugWebPropertyId_+    , _mugCustomDataSourceId = pMugCustomDataSourceId_+    , _mugAccountId = pMugAccountId_+    , _mugUploadId = pMugUploadId_+    }++-- | Web property Id for the upload to retrieve.+mugWebPropertyId :: Lens' ManagementUploadsGet Text+mugWebPropertyId+  = lens _mugWebPropertyId+      (\ s a -> s{_mugWebPropertyId = a})++-- | Custom data source Id for upload to retrieve.+mugCustomDataSourceId :: Lens' ManagementUploadsGet Text+mugCustomDataSourceId+  = lens _mugCustomDataSourceId+      (\ s a -> s{_mugCustomDataSourceId = a})++-- | Account Id for the upload to retrieve.+mugAccountId :: Lens' ManagementUploadsGet Text+mugAccountId+  = lens _mugAccountId (\ s a -> s{_mugAccountId = a})++-- | Upload Id to retrieve.+mugUploadId :: Lens' ManagementUploadsGet Text+mugUploadId+  = lens _mugUploadId (\ s a -> s{_mugUploadId = a})++instance GoogleRequest ManagementUploadsGet where+        type Rs ManagementUploadsGet = Upload+        requestClient ManagementUploadsGet{..}+          = go _mugAccountId _mugWebPropertyId+              _mugCustomDataSourceId+              _mugUploadId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementUploadsGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Uploads/List.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.Analytics.Management.Uploads.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List uploads to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.uploads.list@.+module Network.Google.Resource.Analytics.Management.Uploads.List+    (+    -- * REST Resource+      ManagementUploadsListResource++    -- * Creating a Request+    , managementUploadsList+    , ManagementUploadsList++    -- * Request Lenses+    , mulWebPropertyId+    , mulCustomDataSourceId+    , mulAccountId+    , mulStartIndex+    , mulMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.uploads.list@ method which the+-- 'ManagementUploadsList' request conforms to.+type ManagementUploadsListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDataSources" :>+                     Capture "customDataSourceId" Text :>+                       "uploads" :>+                         QueryParam "start-index" (Textual Int32) :>+                           QueryParam "max-results" (Textual Int32) :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Uploads++-- | List uploads to which the user has access.+--+-- /See:/ 'managementUploadsList' smart constructor.+data ManagementUploadsList = ManagementUploadsList+    { _mulWebPropertyId      :: !Text+    , _mulCustomDataSourceId :: !Text+    , _mulAccountId          :: !Text+    , _mulStartIndex         :: !(Maybe (Textual Int32))+    , _mulMaxResults         :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUploadsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mulWebPropertyId'+--+-- * 'mulCustomDataSourceId'+--+-- * 'mulAccountId'+--+-- * 'mulStartIndex'+--+-- * 'mulMaxResults'+managementUploadsList+    :: Text -- ^ 'mulWebPropertyId'+    -> Text -- ^ 'mulCustomDataSourceId'+    -> Text -- ^ 'mulAccountId'+    -> ManagementUploadsList+managementUploadsList pMulWebPropertyId_ pMulCustomDataSourceId_ pMulAccountId_ =+    ManagementUploadsList+    { _mulWebPropertyId = pMulWebPropertyId_+    , _mulCustomDataSourceId = pMulCustomDataSourceId_+    , _mulAccountId = pMulAccountId_+    , _mulStartIndex = Nothing+    , _mulMaxResults = Nothing+    }++-- | Web property Id for the uploads to retrieve.+mulWebPropertyId :: Lens' ManagementUploadsList Text+mulWebPropertyId+  = lens _mulWebPropertyId+      (\ s a -> s{_mulWebPropertyId = a})++-- | Custom data source Id for uploads to retrieve.+mulCustomDataSourceId :: Lens' ManagementUploadsList Text+mulCustomDataSourceId+  = lens _mulCustomDataSourceId+      (\ s a -> s{_mulCustomDataSourceId = a})++-- | Account Id for the uploads to retrieve.+mulAccountId :: Lens' ManagementUploadsList Text+mulAccountId+  = lens _mulAccountId (\ s a -> s{_mulAccountId = a})++-- | A 1-based index of the first upload to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mulStartIndex :: Lens' ManagementUploadsList (Maybe Int32)+mulStartIndex+  = lens _mulStartIndex+      (\ s a -> s{_mulStartIndex = a})+      . mapping _Coerce++-- | The maximum number of uploads to include in this response.+mulMaxResults :: Lens' ManagementUploadsList (Maybe Int32)+mulMaxResults+  = lens _mulMaxResults+      (\ s a -> s{_mulMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementUploadsList where+        type Rs ManagementUploadsList = Uploads+        requestClient ManagementUploadsList{..}+          = go _mulAccountId _mulWebPropertyId+              _mulCustomDataSourceId+              _mulStartIndex+              _mulMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementUploadsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/Uploads/UploadData.hs view
@@ -0,0 +1,151 @@+{-# 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.Analytics.Management.Uploads.UploadData+-- 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)+--+-- Upload data for a custom data source.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.uploads.uploadData@.+module Network.Google.Resource.Analytics.Management.Uploads.UploadData+    (+    -- * REST Resource+      ManagementUploadsUploadDataResource++    -- * Creating a Request+    , managementUploadsUploadData+    , ManagementUploadsUploadData++    -- * Request Lenses+    , muudWebPropertyId+    , muudCustomDataSourceId+    , muudAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.uploads.uploadData@ method which the+-- 'ManagementUploadsUploadData' request conforms to.+type ManagementUploadsUploadDataResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "customDataSources" :>+                     Capture "customDataSourceId" Text :>+                       "uploads" :>+                         QueryParam "alt" AltJSON :> Post '[JSON] Upload+       :<|>+       "upload" :>+         "analytics" :>+           "v3" :>+             "management" :>+               "accounts" :>+                 Capture "accountId" Text :>+                   "webproperties" :>+                     Capture "webPropertyId" Text :>+                       "customDataSources" :>+                         Capture "customDataSourceId" Text :>+                           "uploads" :>+                             QueryParam "alt" AltJSON :>+                               QueryParam "uploadType" AltMedia :>+                                 ReqBody '[OctetStream] RequestBody :>+                                   Post '[JSON] Upload++-- | Upload data for a custom data source.+--+-- /See:/ 'managementUploadsUploadData' smart constructor.+data ManagementUploadsUploadData = ManagementUploadsUploadData+    { _muudWebPropertyId      :: !Text+    , _muudCustomDataSourceId :: !Text+    , _muudAccountId          :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementUploadsUploadData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'muudWebPropertyId'+--+-- * 'muudCustomDataSourceId'+--+-- * 'muudAccountId'+managementUploadsUploadData+    :: Text -- ^ 'muudWebPropertyId'+    -> Text -- ^ 'muudCustomDataSourceId'+    -> Text -- ^ 'muudAccountId'+    -> ManagementUploadsUploadData+managementUploadsUploadData pMuudWebPropertyId_ pMuudCustomDataSourceId_ pMuudAccountId_ =+    ManagementUploadsUploadData+    { _muudWebPropertyId = pMuudWebPropertyId_+    , _muudCustomDataSourceId = pMuudCustomDataSourceId_+    , _muudAccountId = pMuudAccountId_+    }++-- | Web property UA-string associated with the upload.+muudWebPropertyId :: Lens' ManagementUploadsUploadData Text+muudWebPropertyId+  = lens _muudWebPropertyId+      (\ s a -> s{_muudWebPropertyId = a})++-- | Custom data source Id to which the data being uploaded belongs.+muudCustomDataSourceId :: Lens' ManagementUploadsUploadData Text+muudCustomDataSourceId+  = lens _muudCustomDataSourceId+      (\ s a -> s{_muudCustomDataSourceId = a})++-- | Account Id associated with the upload.+muudAccountId :: Lens' ManagementUploadsUploadData Text+muudAccountId+  = lens _muudAccountId+      (\ s a -> s{_muudAccountId = a})++instance GoogleRequest ManagementUploadsUploadData+         where+        type Rs ManagementUploadsUploadData = Upload+        requestClient ManagementUploadsUploadData{..}+          = go _muudAccountId _muudWebPropertyId+              _muudCustomDataSourceId+              (Just AltJSON)+              analyticsService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy ManagementUploadsUploadDataResource)+                      mempty++instance GoogleRequest+         (MediaUpload ManagementUploadsUploadData) where+        type Rs (MediaUpload ManagementUploadsUploadData) =+             Upload+        requestClient+          (MediaUpload ManagementUploadsUploadData{..} body)+          = go _muudAccountId _muudWebPropertyId+              _muudCustomDataSourceId+              (Just AltJSON)+              (Just AltMedia)+              body+              analyticsService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy ManagementUploadsUploadDataResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebProperties/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.Analytics.Management.WebProperties.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 a web property to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webproperties.get@.+module Network.Google.Resource.Analytics.Management.WebProperties.Get+    (+    -- * REST Resource+      ManagementWebPropertiesGetResource++    -- * Creating a Request+    , managementWebPropertiesGet+    , ManagementWebPropertiesGet++    -- * Request Lenses+    , mwpgWebPropertyId+    , mwpgAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webproperties.get@ method which the+-- 'ManagementWebPropertiesGet' request conforms to.+type ManagementWebPropertiesGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] WebProperty++-- | Gets a web property to which the user has access.+--+-- /See:/ 'managementWebPropertiesGet' smart constructor.+data ManagementWebPropertiesGet = ManagementWebPropertiesGet+    { _mwpgWebPropertyId :: !Text+    , _mwpgAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpgWebPropertyId'+--+-- * 'mwpgAccountId'+managementWebPropertiesGet+    :: Text -- ^ 'mwpgWebPropertyId'+    -> Text -- ^ 'mwpgAccountId'+    -> ManagementWebPropertiesGet+managementWebPropertiesGet pMwpgWebPropertyId_ pMwpgAccountId_ =+    ManagementWebPropertiesGet+    { _mwpgWebPropertyId = pMwpgWebPropertyId_+    , _mwpgAccountId = pMwpgAccountId_+    }++-- | ID to retrieve the web property for.+mwpgWebPropertyId :: Lens' ManagementWebPropertiesGet Text+mwpgWebPropertyId+  = lens _mwpgWebPropertyId+      (\ s a -> s{_mwpgWebPropertyId = a})++-- | Account ID to retrieve the web property for.+mwpgAccountId :: Lens' ManagementWebPropertiesGet Text+mwpgAccountId+  = lens _mwpgAccountId+      (\ s a -> s{_mwpgAccountId = a})++instance GoogleRequest ManagementWebPropertiesGet+         where+        type Rs ManagementWebPropertiesGet = WebProperty+        requestClient ManagementWebPropertiesGet{..}+          = go _mwpgAccountId _mwpgWebPropertyId (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementWebPropertiesGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebProperties/Insert.hs view
@@ -0,0 +1,106 @@+{-# 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.Analytics.Management.WebProperties.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)+--+-- Create a new property if the account has fewer than 20 properties. Web+-- properties are visible in the Google Analytics interface only if they+-- have at least one profile.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webproperties.insert@.+module Network.Google.Resource.Analytics.Management.WebProperties.Insert+    (+    -- * REST Resource+      ManagementWebPropertiesInsertResource++    -- * Creating a Request+    , managementWebPropertiesInsert+    , ManagementWebPropertiesInsert++    -- * Request Lenses+    , mwpiPayload+    , mwpiAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webproperties.insert@ method which the+-- 'ManagementWebPropertiesInsert' request conforms to.+type ManagementWebPropertiesInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] WebProperty :>+                     Post '[JSON] WebProperty++-- | Create a new property if the account has fewer than 20 properties. Web+-- properties are visible in the Google Analytics interface only if they+-- have at least one profile.+--+-- /See:/ 'managementWebPropertiesInsert' smart constructor.+data ManagementWebPropertiesInsert = ManagementWebPropertiesInsert+    { _mwpiPayload   :: !WebProperty+    , _mwpiAccountId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpiPayload'+--+-- * 'mwpiAccountId'+managementWebPropertiesInsert+    :: WebProperty -- ^ 'mwpiPayload'+    -> Text -- ^ 'mwpiAccountId'+    -> ManagementWebPropertiesInsert+managementWebPropertiesInsert pMwpiPayload_ pMwpiAccountId_ =+    ManagementWebPropertiesInsert+    { _mwpiPayload = pMwpiPayload_+    , _mwpiAccountId = pMwpiAccountId_+    }++-- | Multipart request metadata.+mwpiPayload :: Lens' ManagementWebPropertiesInsert WebProperty+mwpiPayload+  = lens _mwpiPayload (\ s a -> s{_mwpiPayload = a})++-- | Account ID to create the web property for.+mwpiAccountId :: Lens' ManagementWebPropertiesInsert Text+mwpiAccountId+  = lens _mwpiAccountId+      (\ s a -> s{_mwpiAccountId = a})++instance GoogleRequest ManagementWebPropertiesInsert+         where+        type Rs ManagementWebPropertiesInsert = WebProperty+        requestClient ManagementWebPropertiesInsert{..}+          = go _mwpiAccountId (Just AltJSON) _mwpiPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertiesInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebProperties/List.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.Analytics.Management.WebProperties.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 web properties to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webproperties.list@.+module Network.Google.Resource.Analytics.Management.WebProperties.List+    (+    -- * REST Resource+      ManagementWebPropertiesListResource++    -- * Creating a Request+    , managementWebPropertiesList+    , ManagementWebPropertiesList++    -- * Request Lenses+    , mwplAccountId+    , mwplStartIndex+    , mwplMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webproperties.list@ method which the+-- 'ManagementWebPropertiesList' request conforms to.+type ManagementWebPropertiesListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 QueryParam "start-index" (Textual Int32) :>+                   QueryParam "max-results" (Textual Int32) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] WebProperties++-- | Lists web properties to which the user has access.+--+-- /See:/ 'managementWebPropertiesList' smart constructor.+data ManagementWebPropertiesList = ManagementWebPropertiesList+    { _mwplAccountId  :: !Text+    , _mwplStartIndex :: !(Maybe (Textual Int32))+    , _mwplMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwplAccountId'+--+-- * 'mwplStartIndex'+--+-- * 'mwplMaxResults'+managementWebPropertiesList+    :: Text -- ^ 'mwplAccountId'+    -> ManagementWebPropertiesList+managementWebPropertiesList pMwplAccountId_ =+    ManagementWebPropertiesList+    { _mwplAccountId = pMwplAccountId_+    , _mwplStartIndex = Nothing+    , _mwplMaxResults = Nothing+    }++-- | Account ID to retrieve web properties for. Can either be a specific+-- account ID or \'~all\', which refers to all the accounts that user has+-- access to.+mwplAccountId :: Lens' ManagementWebPropertiesList Text+mwplAccountId+  = lens _mwplAccountId+      (\ s a -> s{_mwplAccountId = a})++-- | An index of the first entity to retrieve. Use this parameter as a+-- pagination mechanism along with the max-results parameter.+mwplStartIndex :: Lens' ManagementWebPropertiesList (Maybe Int32)+mwplStartIndex+  = lens _mwplStartIndex+      (\ s a -> s{_mwplStartIndex = a})+      . mapping _Coerce++-- | The maximum number of web properties to include in this response.+mwplMaxResults :: Lens' ManagementWebPropertiesList (Maybe Int32)+mwplMaxResults+  = lens _mwplMaxResults+      (\ s a -> s{_mwplMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagementWebPropertiesList+         where+        type Rs ManagementWebPropertiesList = WebProperties+        requestClient ManagementWebPropertiesList{..}+          = go _mwplAccountId _mwplStartIndex _mwplMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementWebPropertiesListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebProperties/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.Analytics.Management.WebProperties.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 web property. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webproperties.patch@.+module Network.Google.Resource.Analytics.Management.WebProperties.Patch+    (+    -- * REST Resource+      ManagementWebPropertiesPatchResource++    -- * Creating a Request+    , managementWebPropertiesPatch+    , ManagementWebPropertiesPatch++    -- * Request Lenses+    , mwppWebPropertyId+    , mwppPayload+    , mwppAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webproperties.patch@ method which the+-- 'ManagementWebPropertiesPatch' request conforms to.+type ManagementWebPropertiesPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] WebProperty :>+                       Patch '[JSON] WebProperty++-- | Updates an existing web property. This method supports patch semantics.+--+-- /See:/ 'managementWebPropertiesPatch' smart constructor.+data ManagementWebPropertiesPatch = ManagementWebPropertiesPatch+    { _mwppWebPropertyId :: !Text+    , _mwppPayload       :: !WebProperty+    , _mwppAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertiesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwppWebPropertyId'+--+-- * 'mwppPayload'+--+-- * 'mwppAccountId'+managementWebPropertiesPatch+    :: Text -- ^ 'mwppWebPropertyId'+    -> WebProperty -- ^ 'mwppPayload'+    -> Text -- ^ 'mwppAccountId'+    -> ManagementWebPropertiesPatch+managementWebPropertiesPatch pMwppWebPropertyId_ pMwppPayload_ pMwppAccountId_ =+    ManagementWebPropertiesPatch+    { _mwppWebPropertyId = pMwppWebPropertyId_+    , _mwppPayload = pMwppPayload_+    , _mwppAccountId = pMwppAccountId_+    }++-- | Web property ID+mwppWebPropertyId :: Lens' ManagementWebPropertiesPatch Text+mwppWebPropertyId+  = lens _mwppWebPropertyId+      (\ s a -> s{_mwppWebPropertyId = a})++-- | Multipart request metadata.+mwppPayload :: Lens' ManagementWebPropertiesPatch WebProperty+mwppPayload+  = lens _mwppPayload (\ s a -> s{_mwppPayload = a})++-- | Account ID to which the web property belongs+mwppAccountId :: Lens' ManagementWebPropertiesPatch Text+mwppAccountId+  = lens _mwppAccountId+      (\ s a -> s{_mwppAccountId = a})++instance GoogleRequest ManagementWebPropertiesPatch+         where+        type Rs ManagementWebPropertiesPatch = WebProperty+        requestClient ManagementWebPropertiesPatch{..}+          = go _mwppAccountId _mwppWebPropertyId (Just AltJSON)+              _mwppPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagementWebPropertiesPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebProperties/Update.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.Analytics.Management.WebProperties.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 web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webproperties.update@.+module Network.Google.Resource.Analytics.Management.WebProperties.Update+    (+    -- * REST Resource+      ManagementWebPropertiesUpdateResource++    -- * Creating a Request+    , managementWebPropertiesUpdate+    , ManagementWebPropertiesUpdate++    -- * Request Lenses+    , mwpuWebPropertyId+    , mwpuPayload+    , mwpuAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webproperties.update@ method which the+-- 'ManagementWebPropertiesUpdate' request conforms to.+type ManagementWebPropertiesUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] WebProperty :>+                       Put '[JSON] WebProperty++-- | Updates an existing web property.+--+-- /See:/ 'managementWebPropertiesUpdate' smart constructor.+data ManagementWebPropertiesUpdate = ManagementWebPropertiesUpdate+    { _mwpuWebPropertyId :: !Text+    , _mwpuPayload       :: !WebProperty+    , _mwpuAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertiesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpuWebPropertyId'+--+-- * 'mwpuPayload'+--+-- * 'mwpuAccountId'+managementWebPropertiesUpdate+    :: Text -- ^ 'mwpuWebPropertyId'+    -> WebProperty -- ^ 'mwpuPayload'+    -> Text -- ^ 'mwpuAccountId'+    -> ManagementWebPropertiesUpdate+managementWebPropertiesUpdate pMwpuWebPropertyId_ pMwpuPayload_ pMwpuAccountId_ =+    ManagementWebPropertiesUpdate+    { _mwpuWebPropertyId = pMwpuWebPropertyId_+    , _mwpuPayload = pMwpuPayload_+    , _mwpuAccountId = pMwpuAccountId_+    }++-- | Web property ID+mwpuWebPropertyId :: Lens' ManagementWebPropertiesUpdate Text+mwpuWebPropertyId+  = lens _mwpuWebPropertyId+      (\ s a -> s{_mwpuWebPropertyId = a})++-- | Multipart request metadata.+mwpuPayload :: Lens' ManagementWebPropertiesUpdate WebProperty+mwpuPayload+  = lens _mwpuPayload (\ s a -> s{_mwpuPayload = a})++-- | Account ID to which the web property belongs+mwpuAccountId :: Lens' ManagementWebPropertiesUpdate Text+mwpuAccountId+  = lens _mwpuAccountId+      (\ s a -> s{_mwpuAccountId = a})++instance GoogleRequest ManagementWebPropertiesUpdate+         where+        type Rs ManagementWebPropertiesUpdate = WebProperty+        requestClient ManagementWebPropertiesUpdate{..}+          = go _mwpuAccountId _mwpuWebPropertyId (Just AltJSON)+              _mwpuPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertiesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Delete.hs view
@@ -0,0 +1,121 @@+{-# 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.Analytics.Management.WebPropertyAdWordsLinks.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 web property-AdWords link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.delete@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksDeleteResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksDelete+    , ManagementWebPropertyAdWordsLinksDelete++    -- * Request Lenses+    , mwpawldWebPropertyId+    , mwpawldAccountId+    , mwpawldWebPropertyAdWordsLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.delete@ method which the+-- 'ManagementWebPropertyAdWordsLinksDelete' request conforms to.+type ManagementWebPropertyAdWordsLinksDeleteResource+     =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     Capture "webPropertyAdWordsLinkId" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a web property-AdWords link.+--+-- /See:/ 'managementWebPropertyAdWordsLinksDelete' smart constructor.+data ManagementWebPropertyAdWordsLinksDelete = ManagementWebPropertyAdWordsLinksDelete+    { _mwpawldWebPropertyId            :: !Text+    , _mwpawldAccountId                :: !Text+    , _mwpawldWebPropertyAdWordsLinkId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawldWebPropertyId'+--+-- * 'mwpawldAccountId'+--+-- * 'mwpawldWebPropertyAdWordsLinkId'+managementWebPropertyAdWordsLinksDelete+    :: Text -- ^ 'mwpawldWebPropertyId'+    -> Text -- ^ 'mwpawldAccountId'+    -> Text -- ^ 'mwpawldWebPropertyAdWordsLinkId'+    -> ManagementWebPropertyAdWordsLinksDelete+managementWebPropertyAdWordsLinksDelete pMwpawldWebPropertyId_ pMwpawldAccountId_ pMwpawldWebPropertyAdWordsLinkId_ =+    ManagementWebPropertyAdWordsLinksDelete+    { _mwpawldWebPropertyId = pMwpawldWebPropertyId_+    , _mwpawldAccountId = pMwpawldAccountId_+    , _mwpawldWebPropertyAdWordsLinkId = pMwpawldWebPropertyAdWordsLinkId_+    }++-- | Web property ID to delete the AdWords link for.+mwpawldWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text+mwpawldWebPropertyId+  = lens _mwpawldWebPropertyId+      (\ s a -> s{_mwpawldWebPropertyId = a})++-- | ID of the account which the given web property belongs to.+mwpawldAccountId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text+mwpawldAccountId+  = lens _mwpawldAccountId+      (\ s a -> s{_mwpawldAccountId = a})++-- | Web property AdWords link ID.+mwpawldWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text+mwpawldWebPropertyAdWordsLinkId+  = lens _mwpawldWebPropertyAdWordsLinkId+      (\ s a -> s{_mwpawldWebPropertyAdWordsLinkId = a})++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksDelete where+        type Rs ManagementWebPropertyAdWordsLinksDelete = ()+        requestClient+          ManagementWebPropertyAdWordsLinksDelete{..}+          = go _mwpawldAccountId _mwpawldWebPropertyId+              _mwpawldWebPropertyAdWordsLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ManagementWebPropertyAdWordsLinksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Get.hs view
@@ -0,0 +1,121 @@+{-# 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.Analytics.Management.WebPropertyAdWordsLinks.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)+--+-- Returns a web property-AdWords link to which the user has access.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.get@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksGetResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksGet+    , ManagementWebPropertyAdWordsLinksGet++    -- * Request Lenses+    , mwpawlgWebPropertyId+    , mwpawlgAccountId+    , mwpawlgWebPropertyAdWordsLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.get@ method which the+-- 'ManagementWebPropertyAdWordsLinksGet' request conforms to.+type ManagementWebPropertyAdWordsLinksGetResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     Capture "webPropertyAdWordsLinkId" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] EntityAdWordsLink++-- | Returns a web property-AdWords link to which the user has access.+--+-- /See:/ 'managementWebPropertyAdWordsLinksGet' smart constructor.+data ManagementWebPropertyAdWordsLinksGet = ManagementWebPropertyAdWordsLinksGet+    { _mwpawlgWebPropertyId            :: !Text+    , _mwpawlgAccountId                :: !Text+    , _mwpawlgWebPropertyAdWordsLinkId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawlgWebPropertyId'+--+-- * 'mwpawlgAccountId'+--+-- * 'mwpawlgWebPropertyAdWordsLinkId'+managementWebPropertyAdWordsLinksGet+    :: Text -- ^ 'mwpawlgWebPropertyId'+    -> Text -- ^ 'mwpawlgAccountId'+    -> Text -- ^ 'mwpawlgWebPropertyAdWordsLinkId'+    -> ManagementWebPropertyAdWordsLinksGet+managementWebPropertyAdWordsLinksGet pMwpawlgWebPropertyId_ pMwpawlgAccountId_ pMwpawlgWebPropertyAdWordsLinkId_ =+    ManagementWebPropertyAdWordsLinksGet+    { _mwpawlgWebPropertyId = pMwpawlgWebPropertyId_+    , _mwpawlgAccountId = pMwpawlgAccountId_+    , _mwpawlgWebPropertyAdWordsLinkId = pMwpawlgWebPropertyAdWordsLinkId_+    }++-- | Web property ID to retrieve the AdWords link for.+mwpawlgWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksGet Text+mwpawlgWebPropertyId+  = lens _mwpawlgWebPropertyId+      (\ s a -> s{_mwpawlgWebPropertyId = a})++-- | ID of the account which the given web property belongs to.+mwpawlgAccountId :: Lens' ManagementWebPropertyAdWordsLinksGet Text+mwpawlgAccountId+  = lens _mwpawlgAccountId+      (\ s a -> s{_mwpawlgAccountId = a})++-- | Web property-AdWords link ID.+mwpawlgWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksGet Text+mwpawlgWebPropertyAdWordsLinkId+  = lens _mwpawlgWebPropertyAdWordsLinkId+      (\ s a -> s{_mwpawlgWebPropertyAdWordsLinkId = a})++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksGet where+        type Rs ManagementWebPropertyAdWordsLinksGet =+             EntityAdWordsLink+        requestClient+          ManagementWebPropertyAdWordsLinksGet{..}+          = go _mwpawlgAccountId _mwpawlgWebPropertyId+              _mwpawlgWebPropertyAdWordsLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyAdWordsLinksGetResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/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.Analytics.Management.WebPropertyAdWordsLinks.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 webProperty-AdWords link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.insert@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksInsertResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksInsert+    , ManagementWebPropertyAdWordsLinksInsert++    -- * Request Lenses+    , mwpawliWebPropertyId+    , mwpawliPayload+    , mwpawliAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.insert@ method which the+-- 'ManagementWebPropertyAdWordsLinksInsert' request conforms to.+type ManagementWebPropertyAdWordsLinksInsertResource+     =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] EntityAdWordsLink :>+                         Post '[JSON] EntityAdWordsLink++-- | Creates a webProperty-AdWords link.+--+-- /See:/ 'managementWebPropertyAdWordsLinksInsert' smart constructor.+data ManagementWebPropertyAdWordsLinksInsert = ManagementWebPropertyAdWordsLinksInsert+    { _mwpawliWebPropertyId :: !Text+    , _mwpawliPayload       :: !EntityAdWordsLink+    , _mwpawliAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawliWebPropertyId'+--+-- * 'mwpawliPayload'+--+-- * 'mwpawliAccountId'+managementWebPropertyAdWordsLinksInsert+    :: Text -- ^ 'mwpawliWebPropertyId'+    -> EntityAdWordsLink -- ^ 'mwpawliPayload'+    -> Text -- ^ 'mwpawliAccountId'+    -> ManagementWebPropertyAdWordsLinksInsert+managementWebPropertyAdWordsLinksInsert pMwpawliWebPropertyId_ pMwpawliPayload_ pMwpawliAccountId_ =+    ManagementWebPropertyAdWordsLinksInsert+    { _mwpawliWebPropertyId = pMwpawliWebPropertyId_+    , _mwpawliPayload = pMwpawliPayload_+    , _mwpawliAccountId = pMwpawliAccountId_+    }++-- | Web property ID to create the link for.+mwpawliWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksInsert Text+mwpawliWebPropertyId+  = lens _mwpawliWebPropertyId+      (\ s a -> s{_mwpawliWebPropertyId = a})++-- | Multipart request metadata.+mwpawliPayload :: Lens' ManagementWebPropertyAdWordsLinksInsert EntityAdWordsLink+mwpawliPayload+  = lens _mwpawliPayload+      (\ s a -> s{_mwpawliPayload = a})++-- | ID of the Google Analytics account to create the link for.+mwpawliAccountId :: Lens' ManagementWebPropertyAdWordsLinksInsert Text+mwpawliAccountId+  = lens _mwpawliAccountId+      (\ s a -> s{_mwpawliAccountId = a})++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksInsert where+        type Rs ManagementWebPropertyAdWordsLinksInsert =+             EntityAdWordsLink+        requestClient+          ManagementWebPropertyAdWordsLinksInsert{..}+          = go _mwpawliAccountId _mwpawliWebPropertyId+              (Just AltJSON)+              _mwpawliPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ManagementWebPropertyAdWordsLinksInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/List.hs view
@@ -0,0 +1,138 @@+{-# 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.Analytics.Management.WebPropertyAdWordsLinks.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 webProperty-AdWords links for a given web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.list@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksListResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksList+    , ManagementWebPropertyAdWordsLinksList++    -- * Request Lenses+    , mwpawllWebPropertyId+    , mwpawllAccountId+    , mwpawllStartIndex+    , mwpawllMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.list@ method which the+-- 'ManagementWebPropertyAdWordsLinksList' request conforms to.+type ManagementWebPropertyAdWordsLinksListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] EntityAdWordsLinks++-- | Lists webProperty-AdWords links for a given web property.+--+-- /See:/ 'managementWebPropertyAdWordsLinksList' smart constructor.+data ManagementWebPropertyAdWordsLinksList = ManagementWebPropertyAdWordsLinksList+    { _mwpawllWebPropertyId :: !Text+    , _mwpawllAccountId     :: !Text+    , _mwpawllStartIndex    :: !(Maybe (Textual Int32))+    , _mwpawllMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawllWebPropertyId'+--+-- * 'mwpawllAccountId'+--+-- * 'mwpawllStartIndex'+--+-- * 'mwpawllMaxResults'+managementWebPropertyAdWordsLinksList+    :: Text -- ^ 'mwpawllWebPropertyId'+    -> Text -- ^ 'mwpawllAccountId'+    -> ManagementWebPropertyAdWordsLinksList+managementWebPropertyAdWordsLinksList pMwpawllWebPropertyId_ pMwpawllAccountId_ =+    ManagementWebPropertyAdWordsLinksList+    { _mwpawllWebPropertyId = pMwpawllWebPropertyId_+    , _mwpawllAccountId = pMwpawllAccountId_+    , _mwpawllStartIndex = Nothing+    , _mwpawllMaxResults = Nothing+    }++-- | Web property ID to retrieve the AdWords links for.+mwpawllWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksList Text+mwpawllWebPropertyId+  = lens _mwpawllWebPropertyId+      (\ s a -> s{_mwpawllWebPropertyId = a})++-- | ID of the account which the given web property belongs to.+mwpawllAccountId :: Lens' ManagementWebPropertyAdWordsLinksList Text+mwpawllAccountId+  = lens _mwpawllAccountId+      (\ s a -> s{_mwpawllAccountId = a})++-- | An index of the first webProperty-AdWords link to retrieve. Use this+-- parameter as a pagination mechanism along with the max-results+-- parameter.+mwpawllStartIndex :: Lens' ManagementWebPropertyAdWordsLinksList (Maybe Int32)+mwpawllStartIndex+  = lens _mwpawllStartIndex+      (\ s a -> s{_mwpawllStartIndex = a})+      . mapping _Coerce++-- | The maximum number of webProperty-AdWords links to include in this+-- response.+mwpawllMaxResults :: Lens' ManagementWebPropertyAdWordsLinksList (Maybe Int32)+mwpawllMaxResults+  = lens _mwpawllMaxResults+      (\ s a -> s{_mwpawllMaxResults = a})+      . mapping _Coerce++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksList where+        type Rs ManagementWebPropertyAdWordsLinksList =+             EntityAdWordsLinks+        requestClient+          ManagementWebPropertyAdWordsLinksList{..}+          = go _mwpawllAccountId _mwpawllWebPropertyId+              _mwpawllStartIndex+              _mwpawllMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyAdWordsLinksListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Patch.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.Analytics.Management.WebPropertyAdWordsLinks.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 webProperty-AdWords link. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.patch@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksPatchResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksPatch+    , ManagementWebPropertyAdWordsLinksPatch++    -- * Request Lenses+    , mwpawlpWebPropertyId+    , mwpawlpPayload+    , mwpawlpAccountId+    , mwpawlpWebPropertyAdWordsLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.patch@ method which the+-- 'ManagementWebPropertyAdWordsLinksPatch' request conforms to.+type ManagementWebPropertyAdWordsLinksPatchResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     Capture "webPropertyAdWordsLinkId" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] EntityAdWordsLink :>+                           Patch '[JSON] EntityAdWordsLink++-- | Updates an existing webProperty-AdWords link. This method supports patch+-- semantics.+--+-- /See:/ 'managementWebPropertyAdWordsLinksPatch' smart constructor.+data ManagementWebPropertyAdWordsLinksPatch = ManagementWebPropertyAdWordsLinksPatch+    { _mwpawlpWebPropertyId            :: !Text+    , _mwpawlpPayload                  :: !EntityAdWordsLink+    , _mwpawlpAccountId                :: !Text+    , _mwpawlpWebPropertyAdWordsLinkId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawlpWebPropertyId'+--+-- * 'mwpawlpPayload'+--+-- * 'mwpawlpAccountId'+--+-- * 'mwpawlpWebPropertyAdWordsLinkId'+managementWebPropertyAdWordsLinksPatch+    :: Text -- ^ 'mwpawlpWebPropertyId'+    -> EntityAdWordsLink -- ^ 'mwpawlpPayload'+    -> Text -- ^ 'mwpawlpAccountId'+    -> Text -- ^ 'mwpawlpWebPropertyAdWordsLinkId'+    -> ManagementWebPropertyAdWordsLinksPatch+managementWebPropertyAdWordsLinksPatch pMwpawlpWebPropertyId_ pMwpawlpPayload_ pMwpawlpAccountId_ pMwpawlpWebPropertyAdWordsLinkId_ =+    ManagementWebPropertyAdWordsLinksPatch+    { _mwpawlpWebPropertyId = pMwpawlpWebPropertyId_+    , _mwpawlpPayload = pMwpawlpPayload_+    , _mwpawlpAccountId = pMwpawlpAccountId_+    , _mwpawlpWebPropertyAdWordsLinkId = pMwpawlpWebPropertyAdWordsLinkId_+    }++-- | Web property ID to retrieve the AdWords link for.+mwpawlpWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text+mwpawlpWebPropertyId+  = lens _mwpawlpWebPropertyId+      (\ s a -> s{_mwpawlpWebPropertyId = a})++-- | Multipart request metadata.+mwpawlpPayload :: Lens' ManagementWebPropertyAdWordsLinksPatch EntityAdWordsLink+mwpawlpPayload+  = lens _mwpawlpPayload+      (\ s a -> s{_mwpawlpPayload = a})++-- | ID of the account which the given web property belongs to.+mwpawlpAccountId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text+mwpawlpAccountId+  = lens _mwpawlpAccountId+      (\ s a -> s{_mwpawlpAccountId = a})++-- | Web property-AdWords link ID.+mwpawlpWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text+mwpawlpWebPropertyAdWordsLinkId+  = lens _mwpawlpWebPropertyAdWordsLinkId+      (\ s a -> s{_mwpawlpWebPropertyAdWordsLinkId = a})++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksPatch where+        type Rs ManagementWebPropertyAdWordsLinksPatch =+             EntityAdWordsLink+        requestClient+          ManagementWebPropertyAdWordsLinksPatch{..}+          = go _mwpawlpAccountId _mwpawlpWebPropertyId+              _mwpawlpWebPropertyAdWordsLinkId+              (Just AltJSON)+              _mwpawlpPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyAdWordsLinksPatchResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Update.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.Analytics.Management.WebPropertyAdWordsLinks.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 webProperty-AdWords link.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webPropertyAdWordsLinks.update@.+module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update+    (+    -- * REST Resource+      ManagementWebPropertyAdWordsLinksUpdateResource++    -- * Creating a Request+    , managementWebPropertyAdWordsLinksUpdate+    , ManagementWebPropertyAdWordsLinksUpdate++    -- * Request Lenses+    , mwpawluWebPropertyId+    , mwpawluPayload+    , mwpawluAccountId+    , mwpawluWebPropertyAdWordsLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webPropertyAdWordsLinks.update@ method which the+-- 'ManagementWebPropertyAdWordsLinksUpdate' request conforms to.+type ManagementWebPropertyAdWordsLinksUpdateResource+     =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityAdWordsLinks" :>+                     Capture "webPropertyAdWordsLinkId" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] EntityAdWordsLink :>+                           Put '[JSON] EntityAdWordsLink++-- | Updates an existing webProperty-AdWords link.+--+-- /See:/ 'managementWebPropertyAdWordsLinksUpdate' smart constructor.+data ManagementWebPropertyAdWordsLinksUpdate = ManagementWebPropertyAdWordsLinksUpdate+    { _mwpawluWebPropertyId            :: !Text+    , _mwpawluPayload                  :: !EntityAdWordsLink+    , _mwpawluAccountId                :: !Text+    , _mwpawluWebPropertyAdWordsLinkId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyAdWordsLinksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpawluWebPropertyId'+--+-- * 'mwpawluPayload'+--+-- * 'mwpawluAccountId'+--+-- * 'mwpawluWebPropertyAdWordsLinkId'+managementWebPropertyAdWordsLinksUpdate+    :: Text -- ^ 'mwpawluWebPropertyId'+    -> EntityAdWordsLink -- ^ 'mwpawluPayload'+    -> Text -- ^ 'mwpawluAccountId'+    -> Text -- ^ 'mwpawluWebPropertyAdWordsLinkId'+    -> ManagementWebPropertyAdWordsLinksUpdate+managementWebPropertyAdWordsLinksUpdate pMwpawluWebPropertyId_ pMwpawluPayload_ pMwpawluAccountId_ pMwpawluWebPropertyAdWordsLinkId_ =+    ManagementWebPropertyAdWordsLinksUpdate+    { _mwpawluWebPropertyId = pMwpawluWebPropertyId_+    , _mwpawluPayload = pMwpawluPayload_+    , _mwpawluAccountId = pMwpawluAccountId_+    , _mwpawluWebPropertyAdWordsLinkId = pMwpawluWebPropertyAdWordsLinkId_+    }++-- | Web property ID to retrieve the AdWords link for.+mwpawluWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text+mwpawluWebPropertyId+  = lens _mwpawluWebPropertyId+      (\ s a -> s{_mwpawluWebPropertyId = a})++-- | Multipart request metadata.+mwpawluPayload :: Lens' ManagementWebPropertyAdWordsLinksUpdate EntityAdWordsLink+mwpawluPayload+  = lens _mwpawluPayload+      (\ s a -> s{_mwpawluPayload = a})++-- | ID of the account which the given web property belongs to.+mwpawluAccountId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text+mwpawluAccountId+  = lens _mwpawluAccountId+      (\ s a -> s{_mwpawluAccountId = a})++-- | Web property-AdWords link ID.+mwpawluWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text+mwpawluWebPropertyAdWordsLinkId+  = lens _mwpawluWebPropertyAdWordsLinkId+      (\ s a -> s{_mwpawluWebPropertyAdWordsLinkId = a})++instance GoogleRequest+         ManagementWebPropertyAdWordsLinksUpdate where+        type Rs ManagementWebPropertyAdWordsLinksUpdate =+             EntityAdWordsLink+        requestClient+          ManagementWebPropertyAdWordsLinksUpdate{..}+          = go _mwpawluAccountId _mwpawluWebPropertyId+              _mwpawluWebPropertyAdWordsLinkId+              (Just AltJSON)+              _mwpawluPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ManagementWebPropertyAdWordsLinksUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Delete.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.Analytics.Management.WebPropertyUserLinks.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)+--+-- Removes a user from the given web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webpropertyUserLinks.delete@.+module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete+    (+    -- * REST Resource+      ManagementWebPropertyUserLinksDeleteResource++    -- * Creating a Request+    , managementWebPropertyUserLinksDelete+    , ManagementWebPropertyUserLinksDelete++    -- * Request Lenses+    , mwpuldWebPropertyId+    , mwpuldAccountId+    , mwpuldLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webpropertyUserLinks.delete@ method which the+-- 'ManagementWebPropertyUserLinksDelete' request conforms to.+type ManagementWebPropertyUserLinksDeleteResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityUserLinks" :>+                     Capture "linkId" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a user from the given web property.+--+-- /See:/ 'managementWebPropertyUserLinksDelete' smart constructor.+data ManagementWebPropertyUserLinksDelete = ManagementWebPropertyUserLinksDelete+    { _mwpuldWebPropertyId :: !Text+    , _mwpuldAccountId     :: !Text+    , _mwpuldLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyUserLinksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpuldWebPropertyId'+--+-- * 'mwpuldAccountId'+--+-- * 'mwpuldLinkId'+managementWebPropertyUserLinksDelete+    :: Text -- ^ 'mwpuldWebPropertyId'+    -> Text -- ^ 'mwpuldAccountId'+    -> Text -- ^ 'mwpuldLinkId'+    -> ManagementWebPropertyUserLinksDelete+managementWebPropertyUserLinksDelete pMwpuldWebPropertyId_ pMwpuldAccountId_ pMwpuldLinkId_ =+    ManagementWebPropertyUserLinksDelete+    { _mwpuldWebPropertyId = pMwpuldWebPropertyId_+    , _mwpuldAccountId = pMwpuldAccountId_+    , _mwpuldLinkId = pMwpuldLinkId_+    }++-- | Web Property ID to delete the user link for.+mwpuldWebPropertyId :: Lens' ManagementWebPropertyUserLinksDelete Text+mwpuldWebPropertyId+  = lens _mwpuldWebPropertyId+      (\ s a -> s{_mwpuldWebPropertyId = a})++-- | Account ID to delete the user link for.+mwpuldAccountId :: Lens' ManagementWebPropertyUserLinksDelete Text+mwpuldAccountId+  = lens _mwpuldAccountId+      (\ s a -> s{_mwpuldAccountId = a})++-- | Link ID to delete the user link for.+mwpuldLinkId :: Lens' ManagementWebPropertyUserLinksDelete Text+mwpuldLinkId+  = lens _mwpuldLinkId (\ s a -> s{_mwpuldLinkId = a})++instance GoogleRequest+         ManagementWebPropertyUserLinksDelete where+        type Rs ManagementWebPropertyUserLinksDelete = ()+        requestClient+          ManagementWebPropertyUserLinksDelete{..}+          = go _mwpuldAccountId _mwpuldWebPropertyId+              _mwpuldLinkId+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyUserLinksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Insert.hs view
@@ -0,0 +1,121 @@+{-# 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.Analytics.Management.WebPropertyUserLinks.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)+--+-- Adds a new user to the given web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webpropertyUserLinks.insert@.+module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert+    (+    -- * REST Resource+      ManagementWebPropertyUserLinksInsertResource++    -- * Creating a Request+    , managementWebPropertyUserLinksInsert+    , ManagementWebPropertyUserLinksInsert++    -- * Request Lenses+    , mwpuliWebPropertyId+    , mwpuliPayload+    , mwpuliAccountId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webpropertyUserLinks.insert@ method which the+-- 'ManagementWebPropertyUserLinksInsert' request conforms to.+type ManagementWebPropertyUserLinksInsertResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityUserLinks" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] EntityUserLink :>+                         Post '[JSON] EntityUserLink++-- | Adds a new user to the given web property.+--+-- /See:/ 'managementWebPropertyUserLinksInsert' smart constructor.+data ManagementWebPropertyUserLinksInsert = ManagementWebPropertyUserLinksInsert+    { _mwpuliWebPropertyId :: !Text+    , _mwpuliPayload       :: !EntityUserLink+    , _mwpuliAccountId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyUserLinksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpuliWebPropertyId'+--+-- * 'mwpuliPayload'+--+-- * 'mwpuliAccountId'+managementWebPropertyUserLinksInsert+    :: Text -- ^ 'mwpuliWebPropertyId'+    -> EntityUserLink -- ^ 'mwpuliPayload'+    -> Text -- ^ 'mwpuliAccountId'+    -> ManagementWebPropertyUserLinksInsert+managementWebPropertyUserLinksInsert pMwpuliWebPropertyId_ pMwpuliPayload_ pMwpuliAccountId_ =+    ManagementWebPropertyUserLinksInsert+    { _mwpuliWebPropertyId = pMwpuliWebPropertyId_+    , _mwpuliPayload = pMwpuliPayload_+    , _mwpuliAccountId = pMwpuliAccountId_+    }++-- | Web Property ID to create the user link for.+mwpuliWebPropertyId :: Lens' ManagementWebPropertyUserLinksInsert Text+mwpuliWebPropertyId+  = lens _mwpuliWebPropertyId+      (\ s a -> s{_mwpuliWebPropertyId = a})++-- | Multipart request metadata.+mwpuliPayload :: Lens' ManagementWebPropertyUserLinksInsert EntityUserLink+mwpuliPayload+  = lens _mwpuliPayload+      (\ s a -> s{_mwpuliPayload = a})++-- | Account ID to create the user link for.+mwpuliAccountId :: Lens' ManagementWebPropertyUserLinksInsert Text+mwpuliAccountId+  = lens _mwpuliAccountId+      (\ s a -> s{_mwpuliAccountId = a})++instance GoogleRequest+         ManagementWebPropertyUserLinksInsert where+        type Rs ManagementWebPropertyUserLinksInsert =+             EntityUserLink+        requestClient+          ManagementWebPropertyUserLinksInsert{..}+          = go _mwpuliAccountId _mwpuliWebPropertyId+              (Just AltJSON)+              _mwpuliPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyUserLinksInsertResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/List.hs view
@@ -0,0 +1,139 @@+{-# 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.Analytics.Management.WebPropertyUserLinks.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 webProperty-user links for a given web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webpropertyUserLinks.list@.+module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List+    (+    -- * REST Resource+      ManagementWebPropertyUserLinksListResource++    -- * Creating a Request+    , managementWebPropertyUserLinksList+    , ManagementWebPropertyUserLinksList++    -- * Request Lenses+    , mwpullWebPropertyId+    , mwpullAccountId+    , mwpullStartIndex+    , mwpullMaxResults+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webpropertyUserLinks.list@ method which the+-- 'ManagementWebPropertyUserLinksList' request conforms to.+type ManagementWebPropertyUserLinksListResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityUserLinks" :>+                     QueryParam "start-index" (Textual Int32) :>+                       QueryParam "max-results" (Textual Int32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] EntityUserLinks++-- | Lists webProperty-user links for a given web property.+--+-- /See:/ 'managementWebPropertyUserLinksList' smart constructor.+data ManagementWebPropertyUserLinksList = ManagementWebPropertyUserLinksList+    { _mwpullWebPropertyId :: !Text+    , _mwpullAccountId     :: !Text+    , _mwpullStartIndex    :: !(Maybe (Textual Int32))+    , _mwpullMaxResults    :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyUserLinksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpullWebPropertyId'+--+-- * 'mwpullAccountId'+--+-- * 'mwpullStartIndex'+--+-- * 'mwpullMaxResults'+managementWebPropertyUserLinksList+    :: Text -- ^ 'mwpullWebPropertyId'+    -> Text -- ^ 'mwpullAccountId'+    -> ManagementWebPropertyUserLinksList+managementWebPropertyUserLinksList pMwpullWebPropertyId_ pMwpullAccountId_ =+    ManagementWebPropertyUserLinksList+    { _mwpullWebPropertyId = pMwpullWebPropertyId_+    , _mwpullAccountId = pMwpullAccountId_+    , _mwpullStartIndex = Nothing+    , _mwpullMaxResults = Nothing+    }++-- | Web Property ID for the webProperty-user links to retrieve. Can either+-- be a specific web property ID or \'~all\', which refers to all the web+-- properties that user has access to.+mwpullWebPropertyId :: Lens' ManagementWebPropertyUserLinksList Text+mwpullWebPropertyId+  = lens _mwpullWebPropertyId+      (\ s a -> s{_mwpullWebPropertyId = a})++-- | Account ID which the given web property belongs to.+mwpullAccountId :: Lens' ManagementWebPropertyUserLinksList Text+mwpullAccountId+  = lens _mwpullAccountId+      (\ s a -> s{_mwpullAccountId = a})++-- | An index of the first webProperty-user link to retrieve. Use this+-- parameter as a pagination mechanism along with the max-results+-- parameter.+mwpullStartIndex :: Lens' ManagementWebPropertyUserLinksList (Maybe Int32)+mwpullStartIndex+  = lens _mwpullStartIndex+      (\ s a -> s{_mwpullStartIndex = a})+      . mapping _Coerce++-- | The maximum number of webProperty-user Links to include in this+-- response.+mwpullMaxResults :: Lens' ManagementWebPropertyUserLinksList (Maybe Int32)+mwpullMaxResults+  = lens _mwpullMaxResults+      (\ s a -> s{_mwpullMaxResults = a})+      . mapping _Coerce++instance GoogleRequest+         ManagementWebPropertyUserLinksList where+        type Rs ManagementWebPropertyUserLinksList =+             EntityUserLinks+        requestClient ManagementWebPropertyUserLinksList{..}+          = go _mwpullAccountId _mwpullWebPropertyId+              _mwpullStartIndex+              _mwpullMaxResults+              (Just AltJSON)+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyUserLinksListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Update.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.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 permissions for an existing user on the given web property.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.management.webpropertyUserLinks.update@.+module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update+    (+    -- * REST Resource+      ManagementWebPropertyUserLinksUpdateResource++    -- * Creating a Request+    , managementWebPropertyUserLinksUpdate+    , ManagementWebPropertyUserLinksUpdate++    -- * Request Lenses+    , mwpuluWebPropertyId+    , mwpuluPayload+    , mwpuluAccountId+    , mwpuluLinkId+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.management.webpropertyUserLinks.update@ method which the+-- 'ManagementWebPropertyUserLinksUpdate' request conforms to.+type ManagementWebPropertyUserLinksUpdateResource =+     "analytics" :>+       "v3" :>+         "management" :>+           "accounts" :>+             Capture "accountId" Text :>+               "webproperties" :>+                 Capture "webPropertyId" Text :>+                   "entityUserLinks" :>+                     Capture "linkId" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] EntityUserLink :>+                           Put '[JSON] EntityUserLink++-- | Updates permissions for an existing user on the given web property.+--+-- /See:/ 'managementWebPropertyUserLinksUpdate' smart constructor.+data ManagementWebPropertyUserLinksUpdate = ManagementWebPropertyUserLinksUpdate+    { _mwpuluWebPropertyId :: !Text+    , _mwpuluPayload       :: !EntityUserLink+    , _mwpuluAccountId     :: !Text+    , _mwpuluLinkId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagementWebPropertyUserLinksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwpuluWebPropertyId'+--+-- * 'mwpuluPayload'+--+-- * 'mwpuluAccountId'+--+-- * 'mwpuluLinkId'+managementWebPropertyUserLinksUpdate+    :: Text -- ^ 'mwpuluWebPropertyId'+    -> EntityUserLink -- ^ 'mwpuluPayload'+    -> Text -- ^ 'mwpuluAccountId'+    -> Text -- ^ 'mwpuluLinkId'+    -> ManagementWebPropertyUserLinksUpdate+managementWebPropertyUserLinksUpdate pMwpuluWebPropertyId_ pMwpuluPayload_ pMwpuluAccountId_ pMwpuluLinkId_ =+    ManagementWebPropertyUserLinksUpdate+    { _mwpuluWebPropertyId = pMwpuluWebPropertyId_+    , _mwpuluPayload = pMwpuluPayload_+    , _mwpuluAccountId = pMwpuluAccountId_+    , _mwpuluLinkId = pMwpuluLinkId_+    }++-- | Web property ID to update the account-user link for.+mwpuluWebPropertyId :: Lens' ManagementWebPropertyUserLinksUpdate Text+mwpuluWebPropertyId+  = lens _mwpuluWebPropertyId+      (\ s a -> s{_mwpuluWebPropertyId = a})++-- | Multipart request metadata.+mwpuluPayload :: Lens' ManagementWebPropertyUserLinksUpdate EntityUserLink+mwpuluPayload+  = lens _mwpuluPayload+      (\ s a -> s{_mwpuluPayload = a})++-- | Account ID to update the account-user link for.+mwpuluAccountId :: Lens' ManagementWebPropertyUserLinksUpdate Text+mwpuluAccountId+  = lens _mwpuluAccountId+      (\ s a -> s{_mwpuluAccountId = a})++-- | Link ID to update the account-user link for.+mwpuluLinkId :: Lens' ManagementWebPropertyUserLinksUpdate Text+mwpuluLinkId+  = lens _mwpuluLinkId (\ s a -> s{_mwpuluLinkId = a})++instance GoogleRequest+         ManagementWebPropertyUserLinksUpdate where+        type Rs ManagementWebPropertyUserLinksUpdate =+             EntityUserLink+        requestClient+          ManagementWebPropertyUserLinksUpdate{..}+          = go _mwpuluAccountId _mwpuluWebPropertyId+              _mwpuluLinkId+              (Just AltJSON)+              _mwpuluPayload+              analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ManagementWebPropertyUserLinksUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Metadata/Columns/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.Analytics.Metadata.Columns.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 all columns for a report type+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.metadata.columns.list@.+module Network.Google.Resource.Analytics.Metadata.Columns.List+    (+    -- * REST Resource+      MetadataColumnsListResource++    -- * Creating a Request+    , metadataColumnsList+    , MetadataColumnsList++    -- * Request Lenses+    , mclReportType+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.metadata.columns.list@ method which the+-- 'MetadataColumnsList' request conforms to.+type MetadataColumnsListResource =+     "analytics" :>+       "v3" :>+         "metadata" :>+           Capture "reportType" Text :>+             "columns" :>+               QueryParam "alt" AltJSON :> Get '[JSON] Columns++-- | Lists all columns for a report type+--+-- /See:/ 'metadataColumnsList' smart constructor.+newtype MetadataColumnsList = MetadataColumnsList+    { _mclReportType :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetadataColumnsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mclReportType'+metadataColumnsList+    :: Text -- ^ 'mclReportType'+    -> MetadataColumnsList+metadataColumnsList pMclReportType_ =+    MetadataColumnsList+    { _mclReportType = pMclReportType_+    }++-- | Report type. Allowed Values: \'ga\'. Where \'ga\' corresponds to the+-- Core Reporting API+mclReportType :: Lens' MetadataColumnsList Text+mclReportType+  = lens _mclReportType+      (\ s a -> s{_mclReportType = a})++instance GoogleRequest MetadataColumnsList where+        type Rs MetadataColumnsList = Columns+        requestClient MetadataColumnsList{..}+          = go _mclReportType (Just AltJSON) analyticsService+          where go+                  = buildClient+                      (Proxy :: Proxy MetadataColumnsListResource)+                      mempty
+ gen/Network/Google/Resource/Analytics/Provisioning/CreateAccountTicket.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket+-- 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 an account ticket.+--+-- /See:/ <https://developers.google.com/analytics/ Google Analytics API Reference> for @analytics.provisioning.createAccountTicket@.+module Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket+    (+    -- * REST Resource+      ProvisioningCreateAccountTicketResource++    -- * Creating a Request+    , provisioningCreateAccountTicket+    , ProvisioningCreateAccountTicket++    -- * Request Lenses+    , pcatPayload+    ) where++import           Network.Google.Analytics.Types+import           Network.Google.Prelude++-- | A resource alias for @analytics.provisioning.createAccountTicket@ method which the+-- 'ProvisioningCreateAccountTicket' request conforms to.+type ProvisioningCreateAccountTicketResource =+     "analytics" :>+       "v3" :>+         "provisioning" :>+           "createAccountTicket" :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] AccountTicket :>+                 Post '[JSON] AccountTicket++-- | Creates an account ticket.+--+-- /See:/ 'provisioningCreateAccountTicket' smart constructor.+newtype ProvisioningCreateAccountTicket = ProvisioningCreateAccountTicket+    { _pcatPayload :: AccountTicket+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProvisioningCreateAccountTicket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcatPayload'+provisioningCreateAccountTicket+    :: AccountTicket -- ^ 'pcatPayload'+    -> ProvisioningCreateAccountTicket+provisioningCreateAccountTicket pPcatPayload_ =+    ProvisioningCreateAccountTicket+    { _pcatPayload = pPcatPayload_+    }++-- | Multipart request metadata.+pcatPayload :: Lens' ProvisioningCreateAccountTicket AccountTicket+pcatPayload+  = lens _pcatPayload (\ s a -> s{_pcatPayload = a})++instance GoogleRequest+         ProvisioningCreateAccountTicket where+        type Rs ProvisioningCreateAccountTicket =+             AccountTicket+        requestClient ProvisioningCreateAccountTicket{..}+          = go (Just AltJSON) _pcatPayload analyticsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProvisioningCreateAccountTicketResource)+                      mempty
+ gogol-analytics.cabal view
@@ -0,0 +1,123 @@+name:                  gogol-analytics+version:               0.0.1+synopsis:              Google Analytics 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:+    View and manage your Google Analytics data+    .+    /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 @v3@+    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.Analytics+        , Network.Google.Analytics.Types+        , Network.Google.Resource.Analytics.Data.Ga.Get+        , Network.Google.Resource.Analytics.Data.Mcf.Get+        , Network.Google.Resource.Analytics.Data.Realtime.Get+        , Network.Google.Resource.Analytics.Management.AccountSummaries.List+        , Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete+        , Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert+        , Network.Google.Resource.Analytics.Management.AccountUserLinks.List+        , Network.Google.Resource.Analytics.Management.AccountUserLinks.Update+        , Network.Google.Resource.Analytics.Management.Accounts.List+        , Network.Google.Resource.Analytics.Management.CustomDataSources.List+        , Network.Google.Resource.Analytics.Management.CustomDimensions.Get+        , Network.Google.Resource.Analytics.Management.CustomDimensions.Insert+        , Network.Google.Resource.Analytics.Management.CustomDimensions.List+        , Network.Google.Resource.Analytics.Management.CustomDimensions.Patch+        , Network.Google.Resource.Analytics.Management.CustomDimensions.Update+        , Network.Google.Resource.Analytics.Management.CustomMetrics.Get+        , Network.Google.Resource.Analytics.Management.CustomMetrics.Insert+        , Network.Google.Resource.Analytics.Management.CustomMetrics.List+        , Network.Google.Resource.Analytics.Management.CustomMetrics.Patch+        , Network.Google.Resource.Analytics.Management.CustomMetrics.Update+        , Network.Google.Resource.Analytics.Management.Experiments.Delete+        , Network.Google.Resource.Analytics.Management.Experiments.Get+        , Network.Google.Resource.Analytics.Management.Experiments.Insert+        , Network.Google.Resource.Analytics.Management.Experiments.List+        , Network.Google.Resource.Analytics.Management.Experiments.Patch+        , Network.Google.Resource.Analytics.Management.Experiments.Update+        , Network.Google.Resource.Analytics.Management.Filters.Delete+        , Network.Google.Resource.Analytics.Management.Filters.Get+        , Network.Google.Resource.Analytics.Management.Filters.Insert+        , Network.Google.Resource.Analytics.Management.Filters.List+        , Network.Google.Resource.Analytics.Management.Filters.Patch+        , Network.Google.Resource.Analytics.Management.Filters.Update+        , Network.Google.Resource.Analytics.Management.Goals.Get+        , Network.Google.Resource.Analytics.Management.Goals.Insert+        , Network.Google.Resource.Analytics.Management.Goals.List+        , Network.Google.Resource.Analytics.Management.Goals.Patch+        , Network.Google.Resource.Analytics.Management.Goals.Update+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch+        , Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update+        , Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete+        , Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert+        , Network.Google.Resource.Analytics.Management.ProFileUserLinks.List+        , Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update+        , Network.Google.Resource.Analytics.Management.ProFiles.Delete+        , Network.Google.Resource.Analytics.Management.ProFiles.Get+        , Network.Google.Resource.Analytics.Management.ProFiles.Insert+        , Network.Google.Resource.Analytics.Management.ProFiles.List+        , Network.Google.Resource.Analytics.Management.ProFiles.Patch+        , Network.Google.Resource.Analytics.Management.ProFiles.Update+        , Network.Google.Resource.Analytics.Management.Segments.List+        , Network.Google.Resource.Analytics.Management.UnSampledReports.Get+        , Network.Google.Resource.Analytics.Management.UnSampledReports.Insert+        , Network.Google.Resource.Analytics.Management.UnSampledReports.List+        , Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData+        , Network.Google.Resource.Analytics.Management.Uploads.Get+        , Network.Google.Resource.Analytics.Management.Uploads.List+        , Network.Google.Resource.Analytics.Management.Uploads.UploadData+        , Network.Google.Resource.Analytics.Management.WebProperties.Get+        , Network.Google.Resource.Analytics.Management.WebProperties.Insert+        , Network.Google.Resource.Analytics.Management.WebProperties.List+        , Network.Google.Resource.Analytics.Management.WebProperties.Patch+        , Network.Google.Resource.Analytics.Management.WebProperties.Update+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch+        , Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update+        , Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete+        , Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert+        , Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List+        , Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update+        , Network.Google.Resource.Analytics.Metadata.Columns.List+        , Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket++    other-modules:+          Network.Google.Analytics.Types.Product+        , Network.Google.Analytics.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5