content: {-# LANGUAGE DataKinds #-}
  {-# LANGUAGE DerivingStrategies #-}
  {-# LANGUAGE DuplicateRecordFields #-}
  {-# LANGUAGE ImportQualifiedPost #-}
  {-# LANGUAGE LambdaCase #-}
  {-# LANGUAGE OverloadedStrings #-}
  {-# LANGUAGE PatternSynonyms #-}
  {-# LANGUAGE RecordWildCards #-}
  {-# LANGUAGE StrictData #-}
  {-# LANGUAGE TypeFamilies #-}
  {-# LANGUAGE NoImplicitPrelude #-}
  {-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
  {-# OPTIONS_GHC -fno-warn-name-shadowing #-}
  {-# OPTIONS_GHC -fno-warn-unused-binds #-}
  {-# OPTIONS_GHC -fno-warn-unused-imports #-}
  {-# OPTIONS_GHC -fno-warn-unused-matches #-}
  
  -- |
  -- Module      : Gogol.AdSense.Internal.Sum
  -- Copyright   : (c) 2015-2025 Brendan Hay
  -- License     : Mozilla Public License, v. 2.0.
  -- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
  --               Toni Cebrián <toni@tonicebrian.com>
  -- Stability   : auto-generated
  -- Portability : non-portable (GHC extensions)
  module Gogol.AdSense.Internal.Sum
    ( -- * Xgafv
      Xgafv
        ( Xgafv_1,
          Xgafv_2,
          ..
        ),
  
      -- * Account_State
      Account_State
        ( Account_State_STATEUNSPECIFIED,
          Account_State_Ready,
          Account_State_NEEDSATTENTION,
          Account_State_Closed,
          ..
        ),
  
      -- * AdClient_State
      AdClient_State
        ( AdClient_State_STATEUNSPECIFIED,
          AdClient_State_Ready,
          AdClient_State_GETTINGREADY,
          AdClient_State_REQUIRESREVIEW,
          ..
        ),
  
      -- * AdUnit_State
      AdUnit_State
        ( AdUnit_State_STATEUNSPECIFIED,
          AdUnit_State_Active,
          AdUnit_State_Archived,
          ..
        ),
  
      -- * Alert_Severity
      Alert_Severity
        ( Alert_Severity_SEVERITYUNSPECIFIED,
          Alert_Severity_Info,
          Alert_Severity_Warning,
          Alert_Severity_Severe,
          ..
        ),
  
      -- * ContentAdsSettings_Type
      ContentAdsSettings_Type
        ( ContentAdsSettings_Type_TYPEUNSPECIFIED,
          ContentAdsSettings_Type_Display,
          ContentAdsSettings_Type_Feed,
          ContentAdsSettings_Type_Article,
          ContentAdsSettings_Type_MATCHEDCONTENT,
          ContentAdsSettings_Type_Link,
          ..
        ),
  
      -- * Header_Type
      Header_Type
        ( Header_Type_HEADERTYPEUNSPECIFIED,
          Header_Type_Dimension,
          Header_Type_METRICTALLY,
          Header_Type_METRICRATIO,
          Header_Type_METRICCURRENCY,
          Header_Type_METRICMILLISECONDS,
          Header_Type_METRICDECIMAL,
          ..
        ),
  
      -- * PolicyIssue_Action
      PolicyIssue_Action
        ( PolicyIssue_Action_ENFORCEMENTACTIONUNSPECIFIED,
          PolicyIssue_Action_Warned,
          PolicyIssue_Action_ADSERVINGRESTRICTED,
          PolicyIssue_Action_ADSERVINGDISABLED,
          PolicyIssue_Action_ADSERVEDWITHCLICKCONFIRMATION,
          PolicyIssue_Action_ADPERSONALIZATIONRESTRICTED,
          ..
        ),
  
      -- * PolicyIssue_EntityType
      PolicyIssue_EntityType
        ( PolicyIssue_EntityType_ENTITYTYPEUNSPECIFIED,
          PolicyIssue_EntityType_Site,
          PolicyIssue_EntityType_SITESECTION,
          PolicyIssue_EntityType_Page,
          ..
        ),
  
      -- * PolicyTopic_Type
      PolicyTopic_Type
        ( PolicyTopic_Type_POLICYTOPICTYPEUNSPECIFIED,
          PolicyTopic_Type_Policy,
          PolicyTopic_Type_ADVERTISERPREFERENCE,
          PolicyTopic_Type_Regulatory,
          ..
        ),
  
      -- * Site_State
      Site_State
        ( Site_State_STATEUNSPECIFIED,
          Site_State_REQUIRESREVIEW,
          Site_State_GETTINGREADY,
          Site_State_Ready,
          Site_State_NEEDSATTENTION,
          ..
        ),
  
      -- * AccountsReportsGenerateDateRange
      AccountsReportsGenerateDateRange
        ( AccountsReportsGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED,
          AccountsReportsGenerateDateRange_Custom,
          AccountsReportsGenerateDateRange_Today,
          AccountsReportsGenerateDateRange_Yesterday,
          AccountsReportsGenerateDateRange_MONTHTODATE,
          AccountsReportsGenerateDateRange_YEARTODATE,
          AccountsReportsGenerateDateRange_LAST7DAYS,
          AccountsReportsGenerateDateRange_LAST30DAYS,
          ..
        ),
  
      -- * AccountsReportsGenerateDimensions
      AccountsReportsGenerateDimensions
        ( AccountsReportsGenerateDimensions_DIMENSIONUNSPECIFIED,
          AccountsReportsGenerateDimensions_Date,
          AccountsReportsGenerateDimensions_Week,
          AccountsReportsGenerateDimensions_Month,
          AccountsReportsGenerateDimensions_ACCOUNTNAME,
          AccountsReportsGenerateDimensions_ADCLIENTID,
          AccountsReportsGenerateDimensions_HOSTEDADCLIENTID,
          AccountsReportsGenerateDimensions_PRODUCTNAME,
          AccountsReportsGenerateDimensions_PRODUCTCODE,
          AccountsReportsGenerateDimensions_ADUNITNAME,
          AccountsReportsGenerateDimensions_ADUNITID,
          AccountsReportsGenerateDimensions_ADUNITSIZENAME,
          AccountsReportsGenerateDimensions_ADUNITSIZECODE,
          AccountsReportsGenerateDimensions_CUSTOMCHANNELNAME,
          AccountsReportsGenerateDimensions_CUSTOMCHANNELID,
          AccountsReportsGenerateDimensions_HOSTEDCUSTOMCHANNELID,
          AccountsReportsGenerateDimensions_OWNEDSITEDOMAINNAME,
          AccountsReportsGenerateDimensions_OWNEDSITEID,
          AccountsReportsGenerateDimensions_PAGEURL,
          AccountsReportsGenerateDimensions_URLCHANNELNAME,
          AccountsReportsGenerateDimensions_URLCHANNELID,
          AccountsReportsGenerateDimensions_BUYERNETWORKNAME,
          AccountsReportsGenerateDimensions_BUYERNETWORKID,
          AccountsReportsGenerateDimensions_BIDTYPENAME,
          AccountsReportsGenerateDimensions_BIDTYPECODE,
          AccountsReportsGenerateDimensions_CREATIVESIZENAME,
          AccountsReportsGenerateDimensions_CREATIVESIZECODE,
          AccountsReportsGenerateDimensions_DOMAINNAME,
          AccountsReportsGenerateDimensions_DOMAINCODE,
          AccountsReportsGenerateDimensions_COUNTRYNAME,
          AccountsReportsGenerateDimensions_COUNTRYCODE,
          AccountsReportsGenerateDimensions_PLATFORMTYPENAME,
          AccountsReportsGenerateDimensions_PLATFORMTYPECODE,
          AccountsReportsGenerateDimensions_TARGETINGTYPENAME,
          AccountsReportsGenerateDimensions_TARGETINGTYPECODE,
          AccountsReportsGenerateDimensions_CONTENTPLATFORMNAME,
          AccountsReportsGenerateDimensions_CONTENTPLATFORMCODE,
          AccountsReportsGenerateDimensions_ADPLACEMENTNAME,
          AccountsReportsGenerateDimensions_ADPLACEMENTCODE,
          AccountsReportsGenerateDimensions_REQUESTEDADTYPENAME,
          AccountsReportsGenerateDimensions_REQUESTEDADTYPECODE,
          AccountsReportsGenerateDimensions_SERVEDADTYPENAME,
          AccountsReportsGenerateDimensions_SERVEDADTYPECODE,
          AccountsReportsGenerateDimensions_ADFORMATNAME,
          AccountsReportsGenerateDimensions_ADFORMATCODE,
          AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLENAME,
          AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLEID,
          AccountsReportsGenerateDimensions_DOMAINREGISTRANT,
          AccountsReportsGenerateDimensions_WEBSEARCHQUERYSTRING,
          ..
        ),
  
      -- * AccountsReportsGenerateMetrics
      AccountsReportsGenerateMetrics
        ( AccountsReportsGenerateMetrics_METRICUNSPECIFIED,
          AccountsReportsGenerateMetrics_PAGEVIEWS,
          AccountsReportsGenerateMetrics_ADREQUESTS,
          AccountsReportsGenerateMetrics_MATCHEDADREQUESTS,
          AccountsReportsGenerateMetrics_TOTALIMPRESSIONS,
          AccountsReportsGenerateMetrics_Impressions,
          AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONS,
          AccountsReportsGenerateMetrics_Clicks,
          AccountsReportsGenerateMetrics_PAGEVIEWSSPAMRATIO,
          AccountsReportsGenerateMetrics_ADREQUESTSSPAMRATIO,
          AccountsReportsGenerateMetrics_MATCHEDADREQUESTSSPAMRATIO,
          AccountsReportsGenerateMetrics_IMPRESSIONSSPAMRATIO,
          AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO,
          AccountsReportsGenerateMetrics_CLICKSSPAMRATIO,
          AccountsReportsGenerateMetrics_ADREQUESTSCOVERAGE,
          AccountsReportsGenerateMetrics_PAGEVIEWSCTR,
          AccountsReportsGenerateMetrics_ADREQUESTSCTR,
          AccountsReportsGenerateMetrics_MATCHEDADREQUESTSCTR,
          AccountsReportsGenerateMetrics_IMPRESSIONSCTR,
          AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSCTR,
          AccountsReportsGenerateMetrics_ACTIVEVIEWMEASURABILITY,
          AccountsReportsGenerateMetrics_ACTIVEVIEWVIEWABILITY,
          AccountsReportsGenerateMetrics_ACTIVEVIEWTIME,
          AccountsReportsGenerateMetrics_ESTIMATEDEARNINGS,
          AccountsReportsGenerateMetrics_PAGEVIEWSRPM,
          AccountsReportsGenerateMetrics_ADREQUESTSRPM,
          AccountsReportsGenerateMetrics_MATCHEDADREQUESTSRPM,
          AccountsReportsGenerateMetrics_IMPRESSIONSRPM,
          AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSRPM,
          AccountsReportsGenerateMetrics_COSTPERCLICK,
          AccountsReportsGenerateMetrics_ADSPERIMPRESSION,
          AccountsReportsGenerateMetrics_TOTALEARNINGS,
          AccountsReportsGenerateMetrics_WEBSEARCHRESULTPAGES,
          AccountsReportsGenerateMetrics_FUNNELREQUESTS,
          AccountsReportsGenerateMetrics_FUNNELIMPRESSIONS,
          AccountsReportsGenerateMetrics_FUNNELCLICKS,
          AccountsReportsGenerateMetrics_FUNNELRPM,
          ..
        ),
  
      -- * AccountsReportsGenerateReportingTimeZone
      AccountsReportsGenerateReportingTimeZone
        ( AccountsReportsGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
          AccountsReportsGenerateReportingTimeZone_ACCOUNTTIMEZONE,
          AccountsReportsGenerateReportingTimeZone_GOOGLETIMEZONE,
          ..
        ),
  
      -- * AccountsReportsGenerateCsvDateRange
      AccountsReportsGenerateCsvDateRange
        ( AccountsReportsGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED,
          AccountsReportsGenerateCsvDateRange_Custom,
          AccountsReportsGenerateCsvDateRange_Today,
          AccountsReportsGenerateCsvDateRange_Yesterday,
          AccountsReportsGenerateCsvDateRange_MONTHTODATE,
          AccountsReportsGenerateCsvDateRange_YEARTODATE,
          AccountsReportsGenerateCsvDateRange_LAST7DAYS,
          AccountsReportsGenerateCsvDateRange_LAST30DAYS,
          ..
        ),
  
      -- * AccountsReportsGenerateCsvDimensions
      AccountsReportsGenerateCsvDimensions
        ( AccountsReportsGenerateCsvDimensions_DIMENSIONUNSPECIFIED,
          AccountsReportsGenerateCsvDimensions_Date,
          AccountsReportsGenerateCsvDimensions_Week,
          AccountsReportsGenerateCsvDimensions_Month,
          AccountsReportsGenerateCsvDimensions_ACCOUNTNAME,
          AccountsReportsGenerateCsvDimensions_ADCLIENTID,
          AccountsReportsGenerateCsvDimensions_HOSTEDADCLIENTID,
          AccountsReportsGenerateCsvDimensions_PRODUCTNAME,
          AccountsReportsGenerateCsvDimensions_PRODUCTCODE,
          AccountsReportsGenerateCsvDimensions_ADUNITNAME,
          AccountsReportsGenerateCsvDimensions_ADUNITID,
          AccountsReportsGenerateCsvDimensions_ADUNITSIZENAME,
          AccountsReportsGenerateCsvDimensions_ADUNITSIZECODE,
          AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELNAME,
          AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELID,
          AccountsReportsGenerateCsvDimensions_HOSTEDCUSTOMCHANNELID,
          AccountsReportsGenerateCsvDimensions_OWNEDSITEDOMAINNAME,
          AccountsReportsGenerateCsvDimensions_OWNEDSITEID,
          AccountsReportsGenerateCsvDimensions_PAGEURL,
          AccountsReportsGenerateCsvDimensions_URLCHANNELNAME,
          AccountsReportsGenerateCsvDimensions_URLCHANNELID,
          AccountsReportsGenerateCsvDimensions_BUYERNETWORKNAME,
          AccountsReportsGenerateCsvDimensions_BUYERNETWORKID,
          AccountsReportsGenerateCsvDimensions_BIDTYPENAME,
          AccountsReportsGenerateCsvDimensions_BIDTYPECODE,
          AccountsReportsGenerateCsvDimensions_CREATIVESIZENAME,
          AccountsReportsGenerateCsvDimensions_CREATIVESIZECODE,
          AccountsReportsGenerateCsvDimensions_DOMAINNAME,
          AccountsReportsGenerateCsvDimensions_DOMAINCODE,
          AccountsReportsGenerateCsvDimensions_COUNTRYNAME,
          AccountsReportsGenerateCsvDimensions_COUNTRYCODE,
          AccountsReportsGenerateCsvDimensions_PLATFORMTYPENAME,
          AccountsReportsGenerateCsvDimensions_PLATFORMTYPECODE,
          AccountsReportsGenerateCsvDimensions_TARGETINGTYPENAME,
          AccountsReportsGenerateCsvDimensions_TARGETINGTYPECODE,
          AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMNAME,
          AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMCODE,
          AccountsReportsGenerateCsvDimensions_ADPLACEMENTNAME,
          AccountsReportsGenerateCsvDimensions_ADPLACEMENTCODE,
          AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPENAME,
          AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPECODE,
          AccountsReportsGenerateCsvDimensions_SERVEDADTYPENAME,
          AccountsReportsGenerateCsvDimensions_SERVEDADTYPECODE,
          AccountsReportsGenerateCsvDimensions_ADFORMATNAME,
          AccountsReportsGenerateCsvDimensions_ADFORMATCODE,
          AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLENAME,
          AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLEID,
          AccountsReportsGenerateCsvDimensions_DOMAINREGISTRANT,
          AccountsReportsGenerateCsvDimensions_WEBSEARCHQUERYSTRING,
          ..
        ),
  
      -- * AccountsReportsGenerateCsvMetrics
      AccountsReportsGenerateCsvMetrics
        ( AccountsReportsGenerateCsvMetrics_METRICUNSPECIFIED,
          AccountsReportsGenerateCsvMetrics_PAGEVIEWS,
          AccountsReportsGenerateCsvMetrics_ADREQUESTS,
          AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTS,
          AccountsReportsGenerateCsvMetrics_TOTALIMPRESSIONS,
          AccountsReportsGenerateCsvMetrics_Impressions,
          AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONS,
          AccountsReportsGenerateCsvMetrics_Clicks,
          AccountsReportsGenerateCsvMetrics_PAGEVIEWSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_ADREQUESTSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_IMPRESSIONSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_CLICKSSPAMRATIO,
          AccountsReportsGenerateCsvMetrics_ADREQUESTSCOVERAGE,
          AccountsReportsGenerateCsvMetrics_PAGEVIEWSCTR,
          AccountsReportsGenerateCsvMetrics_ADREQUESTSCTR,
          AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSCTR,
          AccountsReportsGenerateCsvMetrics_IMPRESSIONSCTR,
          AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSCTR,
          AccountsReportsGenerateCsvMetrics_ACTIVEVIEWMEASURABILITY,
          AccountsReportsGenerateCsvMetrics_ACTIVEVIEWVIEWABILITY,
          AccountsReportsGenerateCsvMetrics_ACTIVEVIEWTIME,
          AccountsReportsGenerateCsvMetrics_ESTIMATEDEARNINGS,
          AccountsReportsGenerateCsvMetrics_PAGEVIEWSRPM,
          AccountsReportsGenerateCsvMetrics_ADREQUESTSRPM,
          AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSRPM,
          AccountsReportsGenerateCsvMetrics_IMPRESSIONSRPM,
          AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSRPM,
          AccountsReportsGenerateCsvMetrics_COSTPERCLICK,
          AccountsReportsGenerateCsvMetrics_ADSPERIMPRESSION,
          AccountsReportsGenerateCsvMetrics_TOTALEARNINGS,
          AccountsReportsGenerateCsvMetrics_WEBSEARCHRESULTPAGES,
          AccountsReportsGenerateCsvMetrics_FUNNELREQUESTS,
          AccountsReportsGenerateCsvMetrics_FUNNELIMPRESSIONS,
          AccountsReportsGenerateCsvMetrics_FUNNELCLICKS,
          AccountsReportsGenerateCsvMetrics_FUNNELRPM,
          ..
        ),
  
      -- * AccountsReportsGenerateCsvReportingTimeZone
      AccountsReportsGenerateCsvReportingTimeZone
        ( AccountsReportsGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
          AccountsReportsGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE,
          AccountsReportsGenerateCsvReportingTimeZone_GOOGLETIMEZONE,
          ..
        ),
  
      -- * AccountsReportsSavedGenerateDateRange
      AccountsReportsSavedGenerateDateRange
        ( AccountsReportsSavedGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED,
          AccountsReportsSavedGenerateDateRange_Custom,
          AccountsReportsSavedGenerateDateRange_Today,
          AccountsReportsSavedGenerateDateRange_Yesterday,
          AccountsReportsSavedGenerateDateRange_MONTHTODATE,
          AccountsReportsSavedGenerateDateRange_YEARTODATE,
          AccountsReportsSavedGenerateDateRange_LAST7DAYS,
          AccountsReportsSavedGenerateDateRange_LAST30DAYS,
          ..
        ),
  
      -- * AccountsReportsSavedGenerateReportingTimeZone
      AccountsReportsSavedGenerateReportingTimeZone
        ( AccountsReportsSavedGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
          AccountsReportsSavedGenerateReportingTimeZone_ACCOUNTTIMEZONE,
          AccountsReportsSavedGenerateReportingTimeZone_GOOGLETIMEZONE,
          ..
        ),
  
      -- * AccountsReportsSavedGenerateCsvDateRange
      AccountsReportsSavedGenerateCsvDateRange
        ( AccountsReportsSavedGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED,
          AccountsReportsSavedGenerateCsvDateRange_Custom,
          AccountsReportsSavedGenerateCsvDateRange_Today,
          AccountsReportsSavedGenerateCsvDateRange_Yesterday,
          AccountsReportsSavedGenerateCsvDateRange_MONTHTODATE,
          AccountsReportsSavedGenerateCsvDateRange_YEARTODATE,
          AccountsReportsSavedGenerateCsvDateRange_LAST7DAYS,
          AccountsReportsSavedGenerateCsvDateRange_LAST30DAYS,
          ..
        ),
  
      -- * AccountsReportsSavedGenerateCsvReportingTimeZone
      AccountsReportsSavedGenerateCsvReportingTimeZone
        ( AccountsReportsSavedGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
          AccountsReportsSavedGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE,
          AccountsReportsSavedGenerateCsvReportingTimeZone_GOOGLETIMEZONE,
          ..
        ),
    )
  where
  
  import Gogol.Prelude qualified as Core
  
  -- | V1 error format.
  newtype Xgafv = Xgafv {fromXgafv :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | v1 error format
  pattern Xgafv_1 :: Xgafv
  pattern Xgafv_1 = Xgafv "1"
  
  -- | v2 error format
  pattern Xgafv_2 :: Xgafv
  pattern Xgafv_2 = Xgafv "2"
  
  {-# COMPLETE
    Xgafv_1,
    Xgafv_2,
    Xgafv
    #-}
  
  -- | Output only. State of the account.
  newtype Account_State = Account_State {fromAccount_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State unspecified.
  pattern Account_State_STATEUNSPECIFIED :: Account_State
  pattern Account_State_STATEUNSPECIFIED = Account_State "STATE_UNSPECIFIED"
  
  -- | The account is open and ready to serve ads.
  pattern Account_State_Ready :: Account_State
  pattern Account_State_Ready = Account_State "READY"
  
  -- | There are some issues with this account. Publishers should visit AdSense in order to fix the account.
  pattern Account_State_NEEDSATTENTION :: Account_State
  pattern Account_State_NEEDSATTENTION = Account_State "NEEDS_ATTENTION"
  
  -- | The account is closed and can\'t serve ads.
  pattern Account_State_Closed :: Account_State
  pattern Account_State_Closed = Account_State "CLOSED"
  
  {-# COMPLETE
    Account_State_STATEUNSPECIFIED,
    Account_State_Ready,
    Account_State_NEEDSATTENTION,
    Account_State_Closed,
    Account_State
    #-}
  
  -- | Output only. State of the ad client.
  newtype AdClient_State = AdClient_State {fromAdClient_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State unspecified.
  pattern AdClient_State_STATEUNSPECIFIED :: AdClient_State
  pattern AdClient_State_STATEUNSPECIFIED = AdClient_State "STATE_UNSPECIFIED"
  
  -- | The ad client is ready to show ads.
  pattern AdClient_State_Ready :: AdClient_State
  pattern AdClient_State_Ready = AdClient_State "READY"
  
  -- | Running some checks on the ad client before it is ready to serve ads.
  pattern AdClient_State_GETTINGREADY :: AdClient_State
  pattern AdClient_State_GETTINGREADY = AdClient_State "GETTING_READY"
  
  -- | The ad client hasn\'t been checked yet. There are tasks pending before AdSense will start the review.
  pattern AdClient_State_REQUIRESREVIEW :: AdClient_State
  pattern AdClient_State_REQUIRESREVIEW = AdClient_State "REQUIRES_REVIEW"
  
  {-# COMPLETE
    AdClient_State_STATEUNSPECIFIED,
    AdClient_State_Ready,
    AdClient_State_GETTINGREADY,
    AdClient_State_REQUIRESREVIEW,
    AdClient_State
    #-}
  
  -- | Required. State of the ad unit.
  newtype AdUnit_State = AdUnit_State {fromAdUnit_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State unspecified.
  pattern AdUnit_State_STATEUNSPECIFIED :: AdUnit_State
  pattern AdUnit_State_STATEUNSPECIFIED = AdUnit_State "STATE_UNSPECIFIED"
  
  -- | Ad unit has been activated by the user.
  pattern AdUnit_State_Active :: AdUnit_State
  pattern AdUnit_State_Active = AdUnit_State "ACTIVE"
  
  -- | Ad unit has been archived by the user. Note that archived ad units are only removed from the default view in the UI. Archived ad units can still serve ads.
  pattern AdUnit_State_Archived :: AdUnit_State
  pattern AdUnit_State_Archived = AdUnit_State "ARCHIVED"
  
  {-# COMPLETE
    AdUnit_State_STATEUNSPECIFIED,
    AdUnit_State_Active,
    AdUnit_State_Archived,
    AdUnit_State
    #-}
  
  -- | Output only. Severity of this alert.
  newtype Alert_Severity = Alert_Severity {fromAlert_Severity :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified severity.
  pattern Alert_Severity_SEVERITYUNSPECIFIED :: Alert_Severity
  pattern Alert_Severity_SEVERITYUNSPECIFIED = Alert_Severity "SEVERITY_UNSPECIFIED"
  
  -- | Info.
  pattern Alert_Severity_Info :: Alert_Severity
  pattern Alert_Severity_Info = Alert_Severity "INFO"
  
  -- | Warning.
  pattern Alert_Severity_Warning :: Alert_Severity
  pattern Alert_Severity_Warning = Alert_Severity "WARNING"
  
  -- | Severe.
  pattern Alert_Severity_Severe :: Alert_Severity
  pattern Alert_Severity_Severe = Alert_Severity "SEVERE"
  
  {-# COMPLETE
    Alert_Severity_SEVERITYUNSPECIFIED,
    Alert_Severity_Info,
    Alert_Severity_Warning,
    Alert_Severity_Severe,
    Alert_Severity
    #-}
  
  -- | Required. Type of the ad unit.
  newtype ContentAdsSettings_Type = ContentAdsSettings_Type {fromContentAdsSettings_Type :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified ad unit type.
  pattern ContentAdsSettings_Type_TYPEUNSPECIFIED :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_TYPEUNSPECIFIED = ContentAdsSettings_Type "TYPE_UNSPECIFIED"
  
  -- | Display ad unit.
  pattern ContentAdsSettings_Type_Display :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_Display = ContentAdsSettings_Type "DISPLAY"
  
  -- | In-feed ad unit.
  pattern ContentAdsSettings_Type_Feed :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_Feed = ContentAdsSettings_Type "FEED"
  
  -- | In-article ad unit.
  pattern ContentAdsSettings_Type_Article :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_Article = ContentAdsSettings_Type "ARTICLE"
  
  -- | Matched content unit.
  pattern ContentAdsSettings_Type_MATCHEDCONTENT :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_MATCHEDCONTENT = ContentAdsSettings_Type "MATCHED_CONTENT"
  
  -- | Link ad unit. Note that link ad units have now been retired, see https:\/\/support.google.com\/adsense\/answer\/9987221.
  pattern ContentAdsSettings_Type_Link :: ContentAdsSettings_Type
  pattern ContentAdsSettings_Type_Link = ContentAdsSettings_Type "LINK"
  
  {-# COMPLETE
    ContentAdsSettings_Type_TYPEUNSPECIFIED,
    ContentAdsSettings_Type_Display,
    ContentAdsSettings_Type_Feed,
    ContentAdsSettings_Type_Article,
    ContentAdsSettings_Type_MATCHEDCONTENT,
    ContentAdsSettings_Type_Link,
    ContentAdsSettings_Type
    #-}
  
  -- | Required. Type of the header.
  newtype Header_Type = Header_Type {fromHeader_Type :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified header.
  pattern Header_Type_HEADERTYPEUNSPECIFIED :: Header_Type
  pattern Header_Type_HEADERTYPEUNSPECIFIED = Header_Type "HEADER_TYPE_UNSPECIFIED"
  
  -- | Dimension header type.
  pattern Header_Type_Dimension :: Header_Type
  pattern Header_Type_Dimension = Header_Type "DIMENSION"
  
  -- | Tally header type.
  pattern Header_Type_METRICTALLY :: Header_Type
  pattern Header_Type_METRICTALLY = Header_Type "METRIC_TALLY"
  
  -- | Ratio header type.
  pattern Header_Type_METRICRATIO :: Header_Type
  pattern Header_Type_METRICRATIO = Header_Type "METRIC_RATIO"
  
  -- | Currency header type.
  pattern Header_Type_METRICCURRENCY :: Header_Type
  pattern Header_Type_METRICCURRENCY = Header_Type "METRIC_CURRENCY"
  
  -- | Milliseconds header type.
  pattern Header_Type_METRICMILLISECONDS :: Header_Type
  pattern Header_Type_METRICMILLISECONDS = Header_Type "METRIC_MILLISECONDS"
  
  -- | Decimal header type.
  pattern Header_Type_METRICDECIMAL :: Header_Type
  pattern Header_Type_METRICDECIMAL = Header_Type "METRIC_DECIMAL"
  
  {-# COMPLETE
    Header_Type_HEADERTYPEUNSPECIFIED,
    Header_Type_Dimension,
    Header_Type_METRICTALLY,
    Header_Type_METRICRATIO,
    Header_Type_METRICCURRENCY,
    Header_Type_METRICMILLISECONDS,
    Header_Type_METRICDECIMAL,
    Header_Type
    #-}
  
  -- | Required. The most severe action taken on the entity over the past seven days.
  newtype PolicyIssue_Action = PolicyIssue_Action {fromPolicyIssue_Action :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | The action is unspecified.
  pattern PolicyIssue_Action_ENFORCEMENTACTIONUNSPECIFIED :: PolicyIssue_Action
  pattern PolicyIssue_Action_ENFORCEMENTACTIONUNSPECIFIED = PolicyIssue_Action "ENFORCEMENT_ACTION_UNSPECIFIED"
  
  -- | No ad serving enforcement is currently present, but enforcement will start on the @warning_escalation_date@ if the issue is not resolved.
  pattern PolicyIssue_Action_Warned :: PolicyIssue_Action
  pattern PolicyIssue_Action_Warned = PolicyIssue_Action "WARNED"
  
  -- | Ad serving demand has been restricted on the entity.
  pattern PolicyIssue_Action_ADSERVINGRESTRICTED :: PolicyIssue_Action
  pattern PolicyIssue_Action_ADSERVINGRESTRICTED = PolicyIssue_Action "AD_SERVING_RESTRICTED"
  
  -- | Ad serving has been disabled on the entity.
  pattern PolicyIssue_Action_ADSERVINGDISABLED :: PolicyIssue_Action
  pattern PolicyIssue_Action_ADSERVINGDISABLED = PolicyIssue_Action "AD_SERVING_DISABLED"
  
  -- | Ads are being served for the entity but Confirmed Click is being applied to the ads. See https:\/\/support.google.com\/adsense\/answer\/10025624.
  pattern PolicyIssue_Action_ADSERVEDWITHCLICKCONFIRMATION :: PolicyIssue_Action
  pattern PolicyIssue_Action_ADSERVEDWITHCLICKCONFIRMATION = PolicyIssue_Action "AD_SERVED_WITH_CLICK_CONFIRMATION"
  
  -- | Ad personalization is restricted because the ad requests coming from the EEA and UK do not have a TCF string or the Consent Management Platform (CMP) indicated by the TCF string is not Google certified. As a result, basic\/limited ads will be served. See https:\/\/support.google.com\/adsense\/answer\/13554116
  pattern PolicyIssue_Action_ADPERSONALIZATIONRESTRICTED :: PolicyIssue_Action
  pattern PolicyIssue_Action_ADPERSONALIZATIONRESTRICTED = PolicyIssue_Action "AD_PERSONALIZATION_RESTRICTED"
  
  {-# COMPLETE
    PolicyIssue_Action_ENFORCEMENTACTIONUNSPECIFIED,
    PolicyIssue_Action_Warned,
    PolicyIssue_Action_ADSERVINGRESTRICTED,
    PolicyIssue_Action_ADSERVINGDISABLED,
    PolicyIssue_Action_ADSERVEDWITHCLICKCONFIRMATION,
    PolicyIssue_Action_ADPERSONALIZATIONRESTRICTED,
    PolicyIssue_Action
    #-}
  
  -- | Required. Type of the entity indicating if the entity is a site, site-section, or page.
  newtype PolicyIssue_EntityType = PolicyIssue_EntityType {fromPolicyIssue_EntityType :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | The entity type is unspecified.
  pattern PolicyIssue_EntityType_ENTITYTYPEUNSPECIFIED :: PolicyIssue_EntityType
  pattern PolicyIssue_EntityType_ENTITYTYPEUNSPECIFIED = PolicyIssue_EntityType "ENTITY_TYPE_UNSPECIFIED"
  
  -- | The enforced entity is an entire website.
  pattern PolicyIssue_EntityType_Site :: PolicyIssue_EntityType
  pattern PolicyIssue_EntityType_Site = PolicyIssue_EntityType "SITE"
  
  -- | The enforced entity is a particular section of a website. All the pages with this prefix are enforced.
  pattern PolicyIssue_EntityType_SITESECTION :: PolicyIssue_EntityType
  pattern PolicyIssue_EntityType_SITESECTION = PolicyIssue_EntityType "SITE_SECTION"
  
  -- | The enforced entity is a single web page.
  pattern PolicyIssue_EntityType_Page :: PolicyIssue_EntityType
  pattern PolicyIssue_EntityType_Page = PolicyIssue_EntityType "PAGE"
  
  {-# COMPLETE
    PolicyIssue_EntityType_ENTITYTYPEUNSPECIFIED,
    PolicyIssue_EntityType_Site,
    PolicyIssue_EntityType_SITESECTION,
    PolicyIssue_EntityType_Page,
    PolicyIssue_EntityType
    #-}
  
  -- | Optional. The type of policy topic. For example, \"POLICY\" represents all the policy topics that are related to the Google Publisher Policy (GPP). See https:\/\/support.google.com\/adsense\/answer\/15689616.
  newtype PolicyTopic_Type = PolicyTopic_Type {fromPolicyTopic_Type :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | The type is unspecified.
  pattern PolicyTopic_Type_POLICYTOPICTYPEUNSPECIFIED :: PolicyTopic_Type
  pattern PolicyTopic_Type_POLICYTOPICTYPEUNSPECIFIED = PolicyTopic_Type "POLICY_TOPIC_TYPE_UNSPECIFIED"
  
  -- | Topics that are primarily related to the Google Publisher Policy (GPP) https:\/\/support.google.com\/publisherpolicies\/answer\/10502938 or the Google Publisher Restrictions (GPR) policies https:\/\/support.google.com\/publisherpolicies\/answer\/10437795.
  pattern PolicyTopic_Type_Policy :: PolicyTopic_Type
  pattern PolicyTopic_Type_Policy = PolicyTopic_Type "POLICY"
  
  -- | Topics that are related to advertiser preferences. Certain advertisers may choose not to bid on content that are labeled with certain policies.
  pattern PolicyTopic_Type_ADVERTISERPREFERENCE :: PolicyTopic_Type
  pattern PolicyTopic_Type_ADVERTISERPREFERENCE = PolicyTopic_Type "ADVERTISER_PREFERENCE"
  
  -- | Any topics that are a result of a country or regional regulatory requirement body.
  pattern PolicyTopic_Type_Regulatory :: PolicyTopic_Type
  pattern PolicyTopic_Type_Regulatory = PolicyTopic_Type "REGULATORY"
  
  {-# COMPLETE
    PolicyTopic_Type_POLICYTOPICTYPEUNSPECIFIED,
    PolicyTopic_Type_Policy,
    PolicyTopic_Type_ADVERTISERPREFERENCE,
    PolicyTopic_Type_Regulatory,
    PolicyTopic_Type
    #-}
  
  -- | Output only. State of a site.
  newtype Site_State = Site_State {fromSite_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State unspecified.
  pattern Site_State_STATEUNSPECIFIED :: Site_State
  pattern Site_State_STATEUNSPECIFIED = Site_State "STATE_UNSPECIFIED"
  
  -- | Either: * The site hasn\'t been checked yet. * The site is inactive and needs another review before it can show ads again. Learn how to <https://support.google.com/adsense/answer/9393996 request a review for an inactive site>.
  pattern Site_State_REQUIRESREVIEW :: Site_State
  pattern Site_State_REQUIRESREVIEW = Site_State "REQUIRES_REVIEW"
  
  -- | Google is running some checks on the site. This usually takes a few days, but in some cases it can take two to four weeks.
  pattern Site_State_GETTINGREADY :: Site_State
  pattern Site_State_GETTINGREADY = Site_State "GETTING_READY"
  
  -- | The site is ready to show ads. Learn how to <https://support.google.com/adsense/answer/7037624 set up ads on the site>.
  pattern Site_State_Ready :: Site_State
  pattern Site_State_Ready = Site_State "READY"
  
  -- | Publisher needs to fix some issues before the site is ready to show ads. Learn what to do <https://support.google.com/adsense/answer/9061852 if a new site isn\'t ready>.
  pattern Site_State_NEEDSATTENTION :: Site_State
  pattern Site_State_NEEDSATTENTION = Site_State "NEEDS_ATTENTION"
  
  {-# COMPLETE
    Site_State_STATEUNSPECIFIED,
    Site_State_REQUIRESREVIEW,
    Site_State_GETTINGREADY,
    Site_State_Ready,
    Site_State_NEEDSATTENTION,
    Site_State
    #-}
  
  -- | Date range of the report, if unset the range will be considered CUSTOM.
  newtype AccountsReportsGenerateDateRange = AccountsReportsGenerateDateRange {fromAccountsReportsGenerateDateRange :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified date range.
  pattern AccountsReportsGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED = AccountsReportsGenerateDateRange "REPORTING_DATE_RANGE_UNSPECIFIED"
  
  -- | A custom date range specified using the @start_date@ and @end_date@ fields. This is the default if no ReportingDateRange is provided.
  pattern AccountsReportsGenerateDateRange_Custom :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_Custom = AccountsReportsGenerateDateRange "CUSTOM"
  
  -- | Current day.
  pattern AccountsReportsGenerateDateRange_Today :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_Today = AccountsReportsGenerateDateRange "TODAY"
  
  -- | Yesterday.
  pattern AccountsReportsGenerateDateRange_Yesterday :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_Yesterday = AccountsReportsGenerateDateRange "YESTERDAY"
  
  -- | From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].
  pattern AccountsReportsGenerateDateRange_MONTHTODATE :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_MONTHTODATE = AccountsReportsGenerateDateRange "MONTH_TO_DATE"
  
  -- | From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].
  pattern AccountsReportsGenerateDateRange_YEARTODATE :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_YEARTODATE = AccountsReportsGenerateDateRange "YEAR_TO_DATE"
  
  -- | Last 7 days, excluding current day.
  pattern AccountsReportsGenerateDateRange_LAST7DAYS :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_LAST7DAYS = AccountsReportsGenerateDateRange "LAST_7_DAYS"
  
  -- | Last 30 days, excluding current day.
  pattern AccountsReportsGenerateDateRange_LAST30DAYS :: AccountsReportsGenerateDateRange
  pattern AccountsReportsGenerateDateRange_LAST30DAYS = AccountsReportsGenerateDateRange "LAST_30_DAYS"
  
  {-# COMPLETE
    AccountsReportsGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED,
    AccountsReportsGenerateDateRange_Custom,
    AccountsReportsGenerateDateRange_Today,
    AccountsReportsGenerateDateRange_Yesterday,
    AccountsReportsGenerateDateRange_MONTHTODATE,
    AccountsReportsGenerateDateRange_YEARTODATE,
    AccountsReportsGenerateDateRange_LAST7DAYS,
    AccountsReportsGenerateDateRange_LAST30DAYS,
    AccountsReportsGenerateDateRange
    #-}
  
  -- | Dimensions to base the report on.
  newtype AccountsReportsGenerateDimensions = AccountsReportsGenerateDimensions {fromAccountsReportsGenerateDimensions :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified dimension.
  pattern AccountsReportsGenerateDimensions_DIMENSIONUNSPECIFIED :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_DIMENSIONUNSPECIFIED = AccountsReportsGenerateDimensions "DIMENSION_UNSPECIFIED"
  
  -- | Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").
  pattern AccountsReportsGenerateDimensions_Date :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_Date = AccountsReportsGenerateDimensions "DATE"
  
  -- | Week dimension in YYYY-MM-DD format, representing the first day of each week (e.g. \"2010-02-08\"). The first day of the week is determined by the language_code specified in a report generation request (so e.g. this would be a Monday for \"en-GB\" or \"es\", but a Sunday for \"en\" or \"fr-CA\").
  pattern AccountsReportsGenerateDimensions_Week :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_Week = AccountsReportsGenerateDimensions "WEEK"
  
  -- | Month dimension in YYYY-MM format (e.g. \"2010-02\").
  pattern AccountsReportsGenerateDimensions_Month :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_Month = AccountsReportsGenerateDimensions "MONTH"
  
  -- | Account name. The members of this dimension match the values from Account.display_name.
  pattern AccountsReportsGenerateDimensions_ACCOUNTNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ACCOUNTNAME = AccountsReportsGenerateDimensions "ACCOUNT_NAME"
  
  -- | Unique ID of an ad client. The members of this dimension match the values from AdClient.reporting/dimension/id.
  pattern AccountsReportsGenerateDimensions_ADCLIENTID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADCLIENTID = AccountsReportsGenerateDimensions "AD_CLIENT_ID"
  
  -- | Unique ID of a sub-account\'s ad client. The members of this dimension match the values from AdClient.reporting/dimension/id (for the sub-account).
  pattern AccountsReportsGenerateDimensions_HOSTEDADCLIENTID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_HOSTEDADCLIENTID = AccountsReportsGenerateDimensions "HOSTED_AD_CLIENT_ID"
  
  -- | Localized product name (e.g. \"AdSense for Content\", \"AdSense for Search\").
  pattern AccountsReportsGenerateDimensions_PRODUCTNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_PRODUCTNAME = AccountsReportsGenerateDimensions "PRODUCT_NAME"
  
  -- | Product code (e.g. \"AFC\", \"AFS\"). The members of this dimension match the values from AdClient.product_code.
  pattern AccountsReportsGenerateDimensions_PRODUCTCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_PRODUCTCODE = AccountsReportsGenerateDimensions "PRODUCT_CODE"
  
  -- | Ad unit name (within which an ad was served). The members of this dimension match the values from AdUnit.display_name.
  pattern AccountsReportsGenerateDimensions_ADUNITNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADUNITNAME = AccountsReportsGenerateDimensions "AD_UNIT_NAME"
  
  -- | Unique ID of an ad unit (within which an ad was served). The members of this dimension match the values from AdUnit.reporting/dimension/id.
  pattern AccountsReportsGenerateDimensions_ADUNITID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADUNITID = AccountsReportsGenerateDimensions "AD_UNIT_ID"
  
  -- | Localized size of an ad unit (e.g. \"728x90\", \"Responsive\").
  pattern AccountsReportsGenerateDimensions_ADUNITSIZENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADUNITSIZENAME = AccountsReportsGenerateDimensions "AD_UNIT_SIZE_NAME"
  
  -- | The size code of an ad unit (e.g. \"728x90\", \"responsive\").
  pattern AccountsReportsGenerateDimensions_ADUNITSIZECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADUNITSIZECODE = AccountsReportsGenerateDimensions "AD_UNIT_SIZE_CODE"
  
  -- | Custom channel name. The members of this dimension match the values from CustomChannel.display_name.
  pattern AccountsReportsGenerateDimensions_CUSTOMCHANNELNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CUSTOMCHANNELNAME = AccountsReportsGenerateDimensions "CUSTOM_CHANNEL_NAME"
  
  -- | Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting/dimension/id.
  pattern AccountsReportsGenerateDimensions_CUSTOMCHANNELID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CUSTOMCHANNELID = AccountsReportsGenerateDimensions "CUSTOM_CHANNEL_ID"
  
  -- | Not supported.
  pattern AccountsReportsGenerateDimensions_HOSTEDCUSTOMCHANNELID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_HOSTEDCUSTOMCHANNELID = AccountsReportsGenerateDimensions "HOSTED_CUSTOM_CHANNEL_ID"
  
  -- | Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.
  pattern AccountsReportsGenerateDimensions_OWNEDSITEDOMAINNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_OWNEDSITEDOMAINNAME = AccountsReportsGenerateDimensions "OWNED_SITE_DOMAIN_NAME"
  
  -- | Unique ID of a verified site. The members of this dimension match the values from Site.reporting/dimension/id.
  pattern AccountsReportsGenerateDimensions_OWNEDSITEID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_OWNEDSITEID = AccountsReportsGenerateDimensions "OWNED_SITE_ID"
  
  -- | URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see <https://support.google.com/adsense/answer/11988478 Page URL breakdown>.
  pattern AccountsReportsGenerateDimensions_PAGEURL :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_PAGEURL = AccountsReportsGenerateDimensions "PAGE_URL"
  
  -- | Name of a URL channel. The members of this dimension match the values from UrlChannel.uri_pattern.
  pattern AccountsReportsGenerateDimensions_URLCHANNELNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_URLCHANNELNAME = AccountsReportsGenerateDimensions "URL_CHANNEL_NAME"
  
  -- | Unique ID of a URL channel. The members of this dimension match the values from UrlChannel.reporting/dimension/id.
  pattern AccountsReportsGenerateDimensions_URLCHANNELID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_URLCHANNELID = AccountsReportsGenerateDimensions "URL_CHANNEL_ID"
  
  -- | Name of an ad network that returned the winning ads for an ad request (e.g. \"Google AdWords\"). Note that unlike other \"NAME\" dimensions, the members of this dimensions are not localized.
  pattern AccountsReportsGenerateDimensions_BUYERNETWORKNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_BUYERNETWORKNAME = AccountsReportsGenerateDimensions "BUYER_NETWORK_NAME"
  
  -- | Unique (opaque) ID of an ad network that returned the winning ads for an ad request.
  pattern AccountsReportsGenerateDimensions_BUYERNETWORKID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_BUYERNETWORKID = AccountsReportsGenerateDimensions "BUYER_NETWORK_ID"
  
  -- | Localized bid type name (e.g. \"CPC bids\", \"CPM bids\") for a served ad.
  pattern AccountsReportsGenerateDimensions_BIDTYPENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_BIDTYPENAME = AccountsReportsGenerateDimensions "BID_TYPE_NAME"
  
  -- | Type of a bid (e.g. \"cpc\", \"cpm\") for a served ad.
  pattern AccountsReportsGenerateDimensions_BIDTYPECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_BIDTYPECODE = AccountsReportsGenerateDimensions "BID_TYPE_CODE"
  
  -- | Localized creative size name (e.g. \"728x90\", \"Dynamic\") of a served ad.
  pattern AccountsReportsGenerateDimensions_CREATIVESIZENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CREATIVESIZENAME = AccountsReportsGenerateDimensions "CREATIVE_SIZE_NAME"
  
  -- | Creative size code (e.g. \"728x90\", \"dynamic\") of a served ad.
  pattern AccountsReportsGenerateDimensions_CREATIVESIZECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CREATIVESIZECODE = AccountsReportsGenerateDimensions "CREATIVE_SIZE_CODE"
  
  -- | Localized name of a host on which an ad was served, after IDNA decoding (e.g. \"www.google.com\", \"Web caches and other\", \"bücher.example\").
  pattern AccountsReportsGenerateDimensions_DOMAINNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_DOMAINNAME = AccountsReportsGenerateDimensions "DOMAIN_NAME"
  
  -- | Name of a host on which an ad was served (e.g. \"www.google.com\", \"webcaches\", \"xn--bcher-kva.example\").
  pattern AccountsReportsGenerateDimensions_DOMAINCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_DOMAINCODE = AccountsReportsGenerateDimensions "DOMAIN_CODE"
  
  -- | Localized region name of a user viewing an ad (e.g. \"United States\", \"France\").
  pattern AccountsReportsGenerateDimensions_COUNTRYNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_COUNTRYNAME = AccountsReportsGenerateDimensions "COUNTRY_NAME"
  
  -- | CLDR region code of a user viewing an ad (e.g. \"US\", \"FR\").
  pattern AccountsReportsGenerateDimensions_COUNTRYCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_COUNTRYCODE = AccountsReportsGenerateDimensions "COUNTRY_CODE"
  
  -- | Localized platform type name (e.g. \"High-end mobile devices\", \"Desktop\").
  pattern AccountsReportsGenerateDimensions_PLATFORMTYPENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_PLATFORMTYPENAME = AccountsReportsGenerateDimensions "PLATFORM_TYPE_NAME"
  
  -- | Platform type code (e.g. \"HighEndMobile\", \"Desktop\").
  pattern AccountsReportsGenerateDimensions_PLATFORMTYPECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_PLATFORMTYPECODE = AccountsReportsGenerateDimensions "PLATFORM_TYPE_CODE"
  
  -- | Localized targeting type name (e.g. \"Contextual\", \"Personalized\", \"Run of Network\").
  pattern AccountsReportsGenerateDimensions_TARGETINGTYPENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_TARGETINGTYPENAME = AccountsReportsGenerateDimensions "TARGETING_TYPE_NAME"
  
  -- | Targeting type code (e.g. \"Keyword\", \"UserInterest\", \"RunOfNetwork\").
  pattern AccountsReportsGenerateDimensions_TARGETINGTYPECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_TARGETINGTYPECODE = AccountsReportsGenerateDimensions "TARGETING_TYPE_CODE"
  
  -- | Localized content platform name an ad request was made from (e.g. \"AMP\", \"Web\").
  pattern AccountsReportsGenerateDimensions_CONTENTPLATFORMNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CONTENTPLATFORMNAME = AccountsReportsGenerateDimensions "CONTENT_PLATFORM_NAME"
  
  -- | Content platform code an ad request was made from (e.g. \"AMP\", \"HTML\").
  pattern AccountsReportsGenerateDimensions_CONTENTPLATFORMCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CONTENTPLATFORMCODE = AccountsReportsGenerateDimensions "CONTENT_PLATFORM_CODE"
  
  -- | Localized ad placement name (e.g. \"Ad unit\", \"Global settings\", \"Manual\").
  pattern AccountsReportsGenerateDimensions_ADPLACEMENTNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADPLACEMENTNAME = AccountsReportsGenerateDimensions "AD_PLACEMENT_NAME"
  
  -- | Ad placement code (e.g. \"AD_UNIT\", \"ca-pub-123456:78910\", \"OTHER\").
  pattern AccountsReportsGenerateDimensions_ADPLACEMENTCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADPLACEMENTCODE = AccountsReportsGenerateDimensions "AD_PLACEMENT_CODE"
  
  -- | Localized requested ad type name (e.g. \"Display\", \"Link unit\", \"Other\").
  pattern AccountsReportsGenerateDimensions_REQUESTEDADTYPENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_REQUESTEDADTYPENAME = AccountsReportsGenerateDimensions "REQUESTED_AD_TYPE_NAME"
  
  -- | Requested ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").
  pattern AccountsReportsGenerateDimensions_REQUESTEDADTYPECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_REQUESTEDADTYPECODE = AccountsReportsGenerateDimensions "REQUESTED_AD_TYPE_CODE"
  
  -- | Localized served ad type name (e.g. \"Display\", \"Link unit\", \"Other\").
  pattern AccountsReportsGenerateDimensions_SERVEDADTYPENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_SERVEDADTYPENAME = AccountsReportsGenerateDimensions "SERVED_AD_TYPE_NAME"
  
  -- | Served ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").
  pattern AccountsReportsGenerateDimensions_SERVEDADTYPECODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_SERVEDADTYPECODE = AccountsReportsGenerateDimensions "SERVED_AD_TYPE_CODE"
  
  -- | Localized ad format name indicating the way an ad is shown to the users on your site (e.g. \"In-page\", \"Anchor\", \"Vignette\").
  pattern AccountsReportsGenerateDimensions_ADFORMATNAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADFORMATNAME = AccountsReportsGenerateDimensions "AD_FORMAT_NAME"
  
  -- | Ad format code indicating the way an ad is shown to the users on your site (e.g. \"ON_PAGE\", \"ANCHOR\", \"INTERSTITIAL\").
  pattern AccountsReportsGenerateDimensions_ADFORMATCODE :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_ADFORMATCODE = AccountsReportsGenerateDimensions "AD_FORMAT_CODE"
  
  -- | Custom search style name.
  pattern AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLENAME :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLENAME = AccountsReportsGenerateDimensions "CUSTOM_SEARCH_STYLE_NAME"
  
  -- | Custom search style id.
  pattern AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLEID :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLEID = AccountsReportsGenerateDimensions "CUSTOM_SEARCH_STYLE_ID"
  
  -- | Domain registrants.
  pattern AccountsReportsGenerateDimensions_DOMAINREGISTRANT :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_DOMAINREGISTRANT = AccountsReportsGenerateDimensions "DOMAIN_REGISTRANT"
  
  -- | Query strings for web searches.
  pattern AccountsReportsGenerateDimensions_WEBSEARCHQUERYSTRING :: AccountsReportsGenerateDimensions
  pattern AccountsReportsGenerateDimensions_WEBSEARCHQUERYSTRING = AccountsReportsGenerateDimensions "WEBSEARCH_QUERY_STRING"
  
  {-# COMPLETE
    AccountsReportsGenerateDimensions_DIMENSIONUNSPECIFIED,
    AccountsReportsGenerateDimensions_Date,
    AccountsReportsGenerateDimensions_Week,
    AccountsReportsGenerateDimensions_Month,
    AccountsReportsGenerateDimensions_ACCOUNTNAME,
    AccountsReportsGenerateDimensions_ADCLIENTID,
    AccountsReportsGenerateDimensions_HOSTEDADCLIENTID,
    AccountsReportsGenerateDimensions_PRODUCTNAME,
    AccountsReportsGenerateDimensions_PRODUCTCODE,
    AccountsReportsGenerateDimensions_ADUNITNAME,
    AccountsReportsGenerateDimensions_ADUNITID,
    AccountsReportsGenerateDimensions_ADUNITSIZENAME,
    AccountsReportsGenerateDimensions_ADUNITSIZECODE,
    AccountsReportsGenerateDimensions_CUSTOMCHANNELNAME,
    AccountsReportsGenerateDimensions_CUSTOMCHANNELID,
    AccountsReportsGenerateDimensions_HOSTEDCUSTOMCHANNELID,
    AccountsReportsGenerateDimensions_OWNEDSITEDOMAINNAME,
    AccountsReportsGenerateDimensions_OWNEDSITEID,
    AccountsReportsGenerateDimensions_PAGEURL,
    AccountsReportsGenerateDimensions_URLCHANNELNAME,
    AccountsReportsGenerateDimensions_URLCHANNELID,
    AccountsReportsGenerateDimensions_BUYERNETWORKNAME,
    AccountsReportsGenerateDimensions_BUYERNETWORKID,
    AccountsReportsGenerateDimensions_BIDTYPENAME,
    AccountsReportsGenerateDimensions_BIDTYPECODE,
    AccountsReportsGenerateDimensions_CREATIVESIZENAME,
    AccountsReportsGenerateDimensions_CREATIVESIZECODE,
    AccountsReportsGenerateDimensions_DOMAINNAME,
    AccountsReportsGenerateDimensions_DOMAINCODE,
    AccountsReportsGenerateDimensions_COUNTRYNAME,
    AccountsReportsGenerateDimensions_COUNTRYCODE,
    AccountsReportsGenerateDimensions_PLATFORMTYPENAME,
    AccountsReportsGenerateDimensions_PLATFORMTYPECODE,
    AccountsReportsGenerateDimensions_TARGETINGTYPENAME,
    AccountsReportsGenerateDimensions_TARGETINGTYPECODE,
    AccountsReportsGenerateDimensions_CONTENTPLATFORMNAME,
    AccountsReportsGenerateDimensions_CONTENTPLATFORMCODE,
    AccountsReportsGenerateDimensions_ADPLACEMENTNAME,
    AccountsReportsGenerateDimensions_ADPLACEMENTCODE,
    AccountsReportsGenerateDimensions_REQUESTEDADTYPENAME,
    AccountsReportsGenerateDimensions_REQUESTEDADTYPECODE,
    AccountsReportsGenerateDimensions_SERVEDADTYPENAME,
    AccountsReportsGenerateDimensions_SERVEDADTYPECODE,
    AccountsReportsGenerateDimensions_ADFORMATNAME,
    AccountsReportsGenerateDimensions_ADFORMATCODE,
    AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLENAME,
    AccountsReportsGenerateDimensions_CUSTOMSEARCHSTYLEID,
    AccountsReportsGenerateDimensions_DOMAINREGISTRANT,
    AccountsReportsGenerateDimensions_WEBSEARCHQUERYSTRING,
    AccountsReportsGenerateDimensions
    #-}
  
  -- | Required. Reporting metrics.
  newtype AccountsReportsGenerateMetrics = AccountsReportsGenerateMetrics {fromAccountsReportsGenerateMetrics :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified metric.
  pattern AccountsReportsGenerateMetrics_METRICUNSPECIFIED :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_METRICUNSPECIFIED = AccountsReportsGenerateMetrics "METRIC_UNSPECIFIED"
  
  -- | Number of page views.
  pattern AccountsReportsGenerateMetrics_PAGEVIEWS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_PAGEVIEWS = AccountsReportsGenerateMetrics "PAGE_VIEWS"
  
  -- | Number of ad units that requested ads (for content ads) or search queries (for search ads). An ad request may result in zero, one, or multiple individual ad impressions depending on the size of the ad unit and whether any ads were available.
  pattern AccountsReportsGenerateMetrics_ADREQUESTS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADREQUESTS = AccountsReportsGenerateMetrics "AD_REQUESTS"
  
  -- | Requests that returned at least one ad.
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTS = AccountsReportsGenerateMetrics "MATCHED_AD_REQUESTS"
  
  -- | Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user’s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.
  pattern AccountsReportsGenerateMetrics_TOTALIMPRESSIONS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_TOTALIMPRESSIONS = AccountsReportsGenerateMetrics "TOTAL_IMPRESSIONS"
  
  -- | Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user’s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.
  pattern AccountsReportsGenerateMetrics_Impressions :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_Impressions = AccountsReportsGenerateMetrics "IMPRESSIONS"
  
  -- | Ads shown. Different ad formats will display varying numbers of ads. For example, a vertical banner may consist of 2 or more ads. Also, the number of ads in an ad unit may vary depending on whether the ad unit is displaying standard text ads, expanded text ads or image ads.
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONS = AccountsReportsGenerateMetrics "INDIVIDUAL_AD_IMPRESSIONS"
  
  -- | Number of times a user clicked on a standard content ad.
  pattern AccountsReportsGenerateMetrics_Clicks :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_Clicks = AccountsReportsGenerateMetrics "CLICKS"
  
  -- | Fraction of page views considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSSPAMRATIO = AccountsReportsGenerateMetrics "PAGE_VIEWS_SPAM_RATIO"
  
  -- | Fraction of ad requests considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_ADREQUESTSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADREQUESTSSPAMRATIO = AccountsReportsGenerateMetrics "AD_REQUESTS_SPAM_RATIO"
  
  -- | Fraction of ad requests that returned ads considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSSPAMRATIO = AccountsReportsGenerateMetrics "MATCHED_AD_REQUESTS_SPAM_RATIO"
  
  -- | Fraction of impressions considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSSPAMRATIO = AccountsReportsGenerateMetrics "IMPRESSIONS_SPAM_RATIO"
  
  -- | Fraction of ad impressions considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO = AccountsReportsGenerateMetrics "INDIVIDUAL_AD_IMPRESSIONS_SPAM_RATIO"
  
  -- | Fraction of clicks considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateMetrics_CLICKSSPAMRATIO :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_CLICKSSPAMRATIO = AccountsReportsGenerateMetrics "CLICKS_SPAM_RATIO"
  
  -- | Ratio of requested ad units or queries to the number returned to the site.
  pattern AccountsReportsGenerateMetrics_ADREQUESTSCOVERAGE :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADREQUESTSCOVERAGE = AccountsReportsGenerateMetrics "AD_REQUESTS_COVERAGE"
  
  -- | Ratio of individual page views that resulted in a click.
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSCTR :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSCTR = AccountsReportsGenerateMetrics "PAGE_VIEWS_CTR"
  
  -- | Ratio of ad requests that resulted in a click.
  pattern AccountsReportsGenerateMetrics_ADREQUESTSCTR :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADREQUESTSCTR = AccountsReportsGenerateMetrics "AD_REQUESTS_CTR"
  
  -- | Ratio of clicks to matched requests.
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSCTR :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSCTR = AccountsReportsGenerateMetrics "MATCHED_AD_REQUESTS_CTR"
  
  -- | Ratio of IMPRESSIONS that resulted in a click.
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSCTR :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSCTR = AccountsReportsGenerateMetrics "IMPRESSIONS_CTR"
  
  -- | Ratio of individual ad impressions that resulted in a click.
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSCTR :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSCTR = AccountsReportsGenerateMetrics "INDIVIDUAL_AD_IMPRESSIONS_CTR"
  
  -- | Ratio of requests that were measurable for viewability.
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWMEASURABILITY :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWMEASURABILITY = AccountsReportsGenerateMetrics "ACTIVE_VIEW_MEASURABILITY"
  
  -- | Ratio of requests that were viewable.
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWVIEWABILITY :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWVIEWABILITY = AccountsReportsGenerateMetrics "ACTIVE_VIEW_VIEWABILITY"
  
  -- | Mean time an ad was displayed on screen.
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWTIME :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ACTIVEVIEWTIME = AccountsReportsGenerateMetrics "ACTIVE_VIEW_TIME"
  
  -- | Estimated earnings of the publisher. Note that earnings up to yesterday are accurate, more recent earnings are estimated due to the possibility of spam, or exchange rate fluctuations.
  pattern AccountsReportsGenerateMetrics_ESTIMATEDEARNINGS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ESTIMATEDEARNINGS = AccountsReportsGenerateMetrics "ESTIMATED_EARNINGS"
  
  -- | Revenue per thousand page views. This is calculated by dividing the estimated revenue by the number of page views multiplied by 1000.
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_PAGEVIEWSRPM = AccountsReportsGenerateMetrics "PAGE_VIEWS_RPM"
  
  -- | Revenue per thousand ad requests. This is calculated by dividing estimated revenue by the number of ad requests multiplied by 1000.
  pattern AccountsReportsGenerateMetrics_ADREQUESTSRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADREQUESTSRPM = AccountsReportsGenerateMetrics "AD_REQUESTS_RPM"
  
  -- | Revenue per thousand matched ad requests. This is calculated by dividing estimated revenue by the number of matched ad requests multiplied by 1000.
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_MATCHEDADREQUESTSRPM = AccountsReportsGenerateMetrics "MATCHED_AD_REQUESTS_RPM"
  
  -- | Revenue per thousand ad impressions. This is calculated by dividing estimated revenue by the number of ad impressions multiplied by 1000.
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_IMPRESSIONSRPM = AccountsReportsGenerateMetrics "IMPRESSIONS_RPM"
  
  -- | Revenue per thousand individual ad impressions. This is calculated by dividing estimated revenue by the number of individual ad impressions multiplied by 1000.
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSRPM = AccountsReportsGenerateMetrics "INDIVIDUAL_AD_IMPRESSIONS_RPM"
  
  -- | Amount the publisher earns each time a user clicks on an ad. CPC is calculated by dividing the estimated revenue by the number of clicks received.
  pattern AccountsReportsGenerateMetrics_COSTPERCLICK :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_COSTPERCLICK = AccountsReportsGenerateMetrics "COST_PER_CLICK"
  
  -- | Number of ad views per impression.
  pattern AccountsReportsGenerateMetrics_ADSPERIMPRESSION :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_ADSPERIMPRESSION = AccountsReportsGenerateMetrics "ADS_PER_IMPRESSION"
  
  -- | Total earnings are the gross estimated earnings from revenue shared traffic before any parent and child account revenue share is applied.
  pattern AccountsReportsGenerateMetrics_TOTALEARNINGS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_TOTALEARNINGS = AccountsReportsGenerateMetrics "TOTAL_EARNINGS"
  
  -- | Number of results pages.
  pattern AccountsReportsGenerateMetrics_WEBSEARCHRESULTPAGES :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_WEBSEARCHRESULTPAGES = AccountsReportsGenerateMetrics "WEBSEARCH_RESULT_PAGES"
  
  -- | Number of requests for non-ad units (for example a related search unit). For more information, see <https://support.google.com/adsense/answer/11586959 Funnel requests>.
  pattern AccountsReportsGenerateMetrics_FUNNELREQUESTS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_FUNNELREQUESTS = AccountsReportsGenerateMetrics "FUNNEL_REQUESTS"
  
  -- | Number of requests for non-ad units ads that returned content that was shown to the user. For more information, see <https://support.google.com/adsense/answer/11585767 Funnel impressions>.
  pattern AccountsReportsGenerateMetrics_FUNNELIMPRESSIONS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_FUNNELIMPRESSIONS = AccountsReportsGenerateMetrics "FUNNEL_IMPRESSIONS"
  
  -- | Number of times a user clicked on a non-ad unit, triggering further ad requests. For more information, see <https://support.google.com/adsense/answer/11586382 Funnel clicks>.
  pattern AccountsReportsGenerateMetrics_FUNNELCLICKS :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_FUNNELCLICKS = AccountsReportsGenerateMetrics "FUNNEL_CLICKS"
  
  -- | Revenue per thousand funnel impressions. This is calculated by dividing estimated revenue by the number of funnel impressions multiplied by 1000. For more information, see <https://support.google.com/adsense/answer/11585979 Funnel RPM>.
  pattern AccountsReportsGenerateMetrics_FUNNELRPM :: AccountsReportsGenerateMetrics
  pattern AccountsReportsGenerateMetrics_FUNNELRPM = AccountsReportsGenerateMetrics "FUNNEL_RPM"
  
  {-# COMPLETE
    AccountsReportsGenerateMetrics_METRICUNSPECIFIED,
    AccountsReportsGenerateMetrics_PAGEVIEWS,
    AccountsReportsGenerateMetrics_ADREQUESTS,
    AccountsReportsGenerateMetrics_MATCHEDADREQUESTS,
    AccountsReportsGenerateMetrics_TOTALIMPRESSIONS,
    AccountsReportsGenerateMetrics_Impressions,
    AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONS,
    AccountsReportsGenerateMetrics_Clicks,
    AccountsReportsGenerateMetrics_PAGEVIEWSSPAMRATIO,
    AccountsReportsGenerateMetrics_ADREQUESTSSPAMRATIO,
    AccountsReportsGenerateMetrics_MATCHEDADREQUESTSSPAMRATIO,
    AccountsReportsGenerateMetrics_IMPRESSIONSSPAMRATIO,
    AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO,
    AccountsReportsGenerateMetrics_CLICKSSPAMRATIO,
    AccountsReportsGenerateMetrics_ADREQUESTSCOVERAGE,
    AccountsReportsGenerateMetrics_PAGEVIEWSCTR,
    AccountsReportsGenerateMetrics_ADREQUESTSCTR,
    AccountsReportsGenerateMetrics_MATCHEDADREQUESTSCTR,
    AccountsReportsGenerateMetrics_IMPRESSIONSCTR,
    AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSCTR,
    AccountsReportsGenerateMetrics_ACTIVEVIEWMEASURABILITY,
    AccountsReportsGenerateMetrics_ACTIVEVIEWVIEWABILITY,
    AccountsReportsGenerateMetrics_ACTIVEVIEWTIME,
    AccountsReportsGenerateMetrics_ESTIMATEDEARNINGS,
    AccountsReportsGenerateMetrics_PAGEVIEWSRPM,
    AccountsReportsGenerateMetrics_ADREQUESTSRPM,
    AccountsReportsGenerateMetrics_MATCHEDADREQUESTSRPM,
    AccountsReportsGenerateMetrics_IMPRESSIONSRPM,
    AccountsReportsGenerateMetrics_INDIVIDUALADIMPRESSIONSRPM,
    AccountsReportsGenerateMetrics_COSTPERCLICK,
    AccountsReportsGenerateMetrics_ADSPERIMPRESSION,
    AccountsReportsGenerateMetrics_TOTALEARNINGS,
    AccountsReportsGenerateMetrics_WEBSEARCHRESULTPAGES,
    AccountsReportsGenerateMetrics_FUNNELREQUESTS,
    AccountsReportsGenerateMetrics_FUNNELIMPRESSIONS,
    AccountsReportsGenerateMetrics_FUNNELCLICKS,
    AccountsReportsGenerateMetrics_FUNNELRPM,
    AccountsReportsGenerateMetrics
    #-}
  
  -- | Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see <https://support.google.com/adsense/answer/9830725 changing the time zone of your reports>.
  newtype AccountsReportsGenerateReportingTimeZone = AccountsReportsGenerateReportingTimeZone {fromAccountsReportsGenerateReportingTimeZone :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified timezone.
  pattern AccountsReportsGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED :: AccountsReportsGenerateReportingTimeZone
  pattern AccountsReportsGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED = AccountsReportsGenerateReportingTimeZone "REPORTING_TIME_ZONE_UNSPECIFIED"
  
  -- | Use the account timezone in the report.
  pattern AccountsReportsGenerateReportingTimeZone_ACCOUNTTIMEZONE :: AccountsReportsGenerateReportingTimeZone
  pattern AccountsReportsGenerateReportingTimeZone_ACCOUNTTIMEZONE = AccountsReportsGenerateReportingTimeZone "ACCOUNT_TIME_ZONE"
  
  -- | Use the Google timezone in the report (America\/Los_Angeles).
  pattern AccountsReportsGenerateReportingTimeZone_GOOGLETIMEZONE :: AccountsReportsGenerateReportingTimeZone
  pattern AccountsReportsGenerateReportingTimeZone_GOOGLETIMEZONE = AccountsReportsGenerateReportingTimeZone "GOOGLE_TIME_ZONE"
  
  {-# COMPLETE
    AccountsReportsGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
    AccountsReportsGenerateReportingTimeZone_ACCOUNTTIMEZONE,
    AccountsReportsGenerateReportingTimeZone_GOOGLETIMEZONE,
    AccountsReportsGenerateReportingTimeZone
    #-}
  
  -- | Date range of the report, if unset the range will be considered CUSTOM.
  newtype AccountsReportsGenerateCsvDateRange = AccountsReportsGenerateCsvDateRange {fromAccountsReportsGenerateCsvDateRange :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified date range.
  pattern AccountsReportsGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED = AccountsReportsGenerateCsvDateRange "REPORTING_DATE_RANGE_UNSPECIFIED"
  
  -- | A custom date range specified using the @start_date@ and @end_date@ fields. This is the default if no ReportingDateRange is provided.
  pattern AccountsReportsGenerateCsvDateRange_Custom :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_Custom = AccountsReportsGenerateCsvDateRange "CUSTOM"
  
  -- | Current day.
  pattern AccountsReportsGenerateCsvDateRange_Today :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_Today = AccountsReportsGenerateCsvDateRange "TODAY"
  
  -- | Yesterday.
  pattern AccountsReportsGenerateCsvDateRange_Yesterday :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_Yesterday = AccountsReportsGenerateCsvDateRange "YESTERDAY"
  
  -- | From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].
  pattern AccountsReportsGenerateCsvDateRange_MONTHTODATE :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_MONTHTODATE = AccountsReportsGenerateCsvDateRange "MONTH_TO_DATE"
  
  -- | From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].
  pattern AccountsReportsGenerateCsvDateRange_YEARTODATE :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_YEARTODATE = AccountsReportsGenerateCsvDateRange "YEAR_TO_DATE"
  
  -- | Last 7 days, excluding current day.
  pattern AccountsReportsGenerateCsvDateRange_LAST7DAYS :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_LAST7DAYS = AccountsReportsGenerateCsvDateRange "LAST_7_DAYS"
  
  -- | Last 30 days, excluding current day.
  pattern AccountsReportsGenerateCsvDateRange_LAST30DAYS :: AccountsReportsGenerateCsvDateRange
  pattern AccountsReportsGenerateCsvDateRange_LAST30DAYS = AccountsReportsGenerateCsvDateRange "LAST_30_DAYS"
  
  {-# COMPLETE
    AccountsReportsGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED,
    AccountsReportsGenerateCsvDateRange_Custom,
    AccountsReportsGenerateCsvDateRange_Today,
    AccountsReportsGenerateCsvDateRange_Yesterday,
    AccountsReportsGenerateCsvDateRange_MONTHTODATE,
    AccountsReportsGenerateCsvDateRange_YEARTODATE,
    AccountsReportsGenerateCsvDateRange_LAST7DAYS,
    AccountsReportsGenerateCsvDateRange_LAST30DAYS,
    AccountsReportsGenerateCsvDateRange
    #-}
  
  -- | Dimensions to base the report on.
  newtype AccountsReportsGenerateCsvDimensions = AccountsReportsGenerateCsvDimensions {fromAccountsReportsGenerateCsvDimensions :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified dimension.
  pattern AccountsReportsGenerateCsvDimensions_DIMENSIONUNSPECIFIED :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_DIMENSIONUNSPECIFIED = AccountsReportsGenerateCsvDimensions "DIMENSION_UNSPECIFIED"
  
  -- | Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").
  pattern AccountsReportsGenerateCsvDimensions_Date :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_Date = AccountsReportsGenerateCsvDimensions "DATE"
  
  -- | Week dimension in YYYY-MM-DD format, representing the first day of each week (e.g. \"2010-02-08\"). The first day of the week is determined by the language_code specified in a report generation request (so e.g. this would be a Monday for \"en-GB\" or \"es\", but a Sunday for \"en\" or \"fr-CA\").
  pattern AccountsReportsGenerateCsvDimensions_Week :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_Week = AccountsReportsGenerateCsvDimensions "WEEK"
  
  -- | Month dimension in YYYY-MM format (e.g. \"2010-02\").
  pattern AccountsReportsGenerateCsvDimensions_Month :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_Month = AccountsReportsGenerateCsvDimensions "MONTH"
  
  -- | Account name. The members of this dimension match the values from Account.display_name.
  pattern AccountsReportsGenerateCsvDimensions_ACCOUNTNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ACCOUNTNAME = AccountsReportsGenerateCsvDimensions "ACCOUNT_NAME"
  
  -- | Unique ID of an ad client. The members of this dimension match the values from AdClient.reporting/dimension/id.
  pattern AccountsReportsGenerateCsvDimensions_ADCLIENTID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADCLIENTID = AccountsReportsGenerateCsvDimensions "AD_CLIENT_ID"
  
  -- | Unique ID of a sub-account\'s ad client. The members of this dimension match the values from AdClient.reporting/dimension/id (for the sub-account).
  pattern AccountsReportsGenerateCsvDimensions_HOSTEDADCLIENTID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_HOSTEDADCLIENTID = AccountsReportsGenerateCsvDimensions "HOSTED_AD_CLIENT_ID"
  
  -- | Localized product name (e.g. \"AdSense for Content\", \"AdSense for Search\").
  pattern AccountsReportsGenerateCsvDimensions_PRODUCTNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_PRODUCTNAME = AccountsReportsGenerateCsvDimensions "PRODUCT_NAME"
  
  -- | Product code (e.g. \"AFC\", \"AFS\"). The members of this dimension match the values from AdClient.product_code.
  pattern AccountsReportsGenerateCsvDimensions_PRODUCTCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_PRODUCTCODE = AccountsReportsGenerateCsvDimensions "PRODUCT_CODE"
  
  -- | Ad unit name (within which an ad was served). The members of this dimension match the values from AdUnit.display_name.
  pattern AccountsReportsGenerateCsvDimensions_ADUNITNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADUNITNAME = AccountsReportsGenerateCsvDimensions "AD_UNIT_NAME"
  
  -- | Unique ID of an ad unit (within which an ad was served). The members of this dimension match the values from AdUnit.reporting/dimension/id.
  pattern AccountsReportsGenerateCsvDimensions_ADUNITID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADUNITID = AccountsReportsGenerateCsvDimensions "AD_UNIT_ID"
  
  -- | Localized size of an ad unit (e.g. \"728x90\", \"Responsive\").
  pattern AccountsReportsGenerateCsvDimensions_ADUNITSIZENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADUNITSIZENAME = AccountsReportsGenerateCsvDimensions "AD_UNIT_SIZE_NAME"
  
  -- | The size code of an ad unit (e.g. \"728x90\", \"responsive\").
  pattern AccountsReportsGenerateCsvDimensions_ADUNITSIZECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADUNITSIZECODE = AccountsReportsGenerateCsvDimensions "AD_UNIT_SIZE_CODE"
  
  -- | Custom channel name. The members of this dimension match the values from CustomChannel.display_name.
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELNAME = AccountsReportsGenerateCsvDimensions "CUSTOM_CHANNEL_NAME"
  
  -- | Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting/dimension/id.
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELID = AccountsReportsGenerateCsvDimensions "CUSTOM_CHANNEL_ID"
  
  -- | Not supported.
  pattern AccountsReportsGenerateCsvDimensions_HOSTEDCUSTOMCHANNELID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_HOSTEDCUSTOMCHANNELID = AccountsReportsGenerateCsvDimensions "HOSTED_CUSTOM_CHANNEL_ID"
  
  -- | Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.
  pattern AccountsReportsGenerateCsvDimensions_OWNEDSITEDOMAINNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_OWNEDSITEDOMAINNAME = AccountsReportsGenerateCsvDimensions "OWNED_SITE_DOMAIN_NAME"
  
  -- | Unique ID of a verified site. The members of this dimension match the values from Site.reporting/dimension/id.
  pattern AccountsReportsGenerateCsvDimensions_OWNEDSITEID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_OWNEDSITEID = AccountsReportsGenerateCsvDimensions "OWNED_SITE_ID"
  
  -- | URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see <https://support.google.com/adsense/answer/11988478 Page URL breakdown>.
  pattern AccountsReportsGenerateCsvDimensions_PAGEURL :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_PAGEURL = AccountsReportsGenerateCsvDimensions "PAGE_URL"
  
  -- | Name of a URL channel. The members of this dimension match the values from UrlChannel.uri_pattern.
  pattern AccountsReportsGenerateCsvDimensions_URLCHANNELNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_URLCHANNELNAME = AccountsReportsGenerateCsvDimensions "URL_CHANNEL_NAME"
  
  -- | Unique ID of a URL channel. The members of this dimension match the values from UrlChannel.reporting/dimension/id.
  pattern AccountsReportsGenerateCsvDimensions_URLCHANNELID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_URLCHANNELID = AccountsReportsGenerateCsvDimensions "URL_CHANNEL_ID"
  
  -- | Name of an ad network that returned the winning ads for an ad request (e.g. \"Google AdWords\"). Note that unlike other \"NAME\" dimensions, the members of this dimensions are not localized.
  pattern AccountsReportsGenerateCsvDimensions_BUYERNETWORKNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_BUYERNETWORKNAME = AccountsReportsGenerateCsvDimensions "BUYER_NETWORK_NAME"
  
  -- | Unique (opaque) ID of an ad network that returned the winning ads for an ad request.
  pattern AccountsReportsGenerateCsvDimensions_BUYERNETWORKID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_BUYERNETWORKID = AccountsReportsGenerateCsvDimensions "BUYER_NETWORK_ID"
  
  -- | Localized bid type name (e.g. \"CPC bids\", \"CPM bids\") for a served ad.
  pattern AccountsReportsGenerateCsvDimensions_BIDTYPENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_BIDTYPENAME = AccountsReportsGenerateCsvDimensions "BID_TYPE_NAME"
  
  -- | Type of a bid (e.g. \"cpc\", \"cpm\") for a served ad.
  pattern AccountsReportsGenerateCsvDimensions_BIDTYPECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_BIDTYPECODE = AccountsReportsGenerateCsvDimensions "BID_TYPE_CODE"
  
  -- | Localized creative size name (e.g. \"728x90\", \"Dynamic\") of a served ad.
  pattern AccountsReportsGenerateCsvDimensions_CREATIVESIZENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CREATIVESIZENAME = AccountsReportsGenerateCsvDimensions "CREATIVE_SIZE_NAME"
  
  -- | Creative size code (e.g. \"728x90\", \"dynamic\") of a served ad.
  pattern AccountsReportsGenerateCsvDimensions_CREATIVESIZECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CREATIVESIZECODE = AccountsReportsGenerateCsvDimensions "CREATIVE_SIZE_CODE"
  
  -- | Localized name of a host on which an ad was served, after IDNA decoding (e.g. \"www.google.com\", \"Web caches and other\", \"bücher.example\").
  pattern AccountsReportsGenerateCsvDimensions_DOMAINNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_DOMAINNAME = AccountsReportsGenerateCsvDimensions "DOMAIN_NAME"
  
  -- | Name of a host on which an ad was served (e.g. \"www.google.com\", \"webcaches\", \"xn--bcher-kva.example\").
  pattern AccountsReportsGenerateCsvDimensions_DOMAINCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_DOMAINCODE = AccountsReportsGenerateCsvDimensions "DOMAIN_CODE"
  
  -- | Localized region name of a user viewing an ad (e.g. \"United States\", \"France\").
  pattern AccountsReportsGenerateCsvDimensions_COUNTRYNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_COUNTRYNAME = AccountsReportsGenerateCsvDimensions "COUNTRY_NAME"
  
  -- | CLDR region code of a user viewing an ad (e.g. \"US\", \"FR\").
  pattern AccountsReportsGenerateCsvDimensions_COUNTRYCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_COUNTRYCODE = AccountsReportsGenerateCsvDimensions "COUNTRY_CODE"
  
  -- | Localized platform type name (e.g. \"High-end mobile devices\", \"Desktop\").
  pattern AccountsReportsGenerateCsvDimensions_PLATFORMTYPENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_PLATFORMTYPENAME = AccountsReportsGenerateCsvDimensions "PLATFORM_TYPE_NAME"
  
  -- | Platform type code (e.g. \"HighEndMobile\", \"Desktop\").
  pattern AccountsReportsGenerateCsvDimensions_PLATFORMTYPECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_PLATFORMTYPECODE = AccountsReportsGenerateCsvDimensions "PLATFORM_TYPE_CODE"
  
  -- | Localized targeting type name (e.g. \"Contextual\", \"Personalized\", \"Run of Network\").
  pattern AccountsReportsGenerateCsvDimensions_TARGETINGTYPENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_TARGETINGTYPENAME = AccountsReportsGenerateCsvDimensions "TARGETING_TYPE_NAME"
  
  -- | Targeting type code (e.g. \"Keyword\", \"UserInterest\", \"RunOfNetwork\").
  pattern AccountsReportsGenerateCsvDimensions_TARGETINGTYPECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_TARGETINGTYPECODE = AccountsReportsGenerateCsvDimensions "TARGETING_TYPE_CODE"
  
  -- | Localized content platform name an ad request was made from (e.g. \"AMP\", \"Web\").
  pattern AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMNAME = AccountsReportsGenerateCsvDimensions "CONTENT_PLATFORM_NAME"
  
  -- | Content platform code an ad request was made from (e.g. \"AMP\", \"HTML\").
  pattern AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMCODE = AccountsReportsGenerateCsvDimensions "CONTENT_PLATFORM_CODE"
  
  -- | Localized ad placement name (e.g. \"Ad unit\", \"Global settings\", \"Manual\").
  pattern AccountsReportsGenerateCsvDimensions_ADPLACEMENTNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADPLACEMENTNAME = AccountsReportsGenerateCsvDimensions "AD_PLACEMENT_NAME"
  
  -- | Ad placement code (e.g. \"AD_UNIT\", \"ca-pub-123456:78910\", \"OTHER\").
  pattern AccountsReportsGenerateCsvDimensions_ADPLACEMENTCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADPLACEMENTCODE = AccountsReportsGenerateCsvDimensions "AD_PLACEMENT_CODE"
  
  -- | Localized requested ad type name (e.g. \"Display\", \"Link unit\", \"Other\").
  pattern AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPENAME = AccountsReportsGenerateCsvDimensions "REQUESTED_AD_TYPE_NAME"
  
  -- | Requested ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").
  pattern AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPECODE = AccountsReportsGenerateCsvDimensions "REQUESTED_AD_TYPE_CODE"
  
  -- | Localized served ad type name (e.g. \"Display\", \"Link unit\", \"Other\").
  pattern AccountsReportsGenerateCsvDimensions_SERVEDADTYPENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_SERVEDADTYPENAME = AccountsReportsGenerateCsvDimensions "SERVED_AD_TYPE_NAME"
  
  -- | Served ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").
  pattern AccountsReportsGenerateCsvDimensions_SERVEDADTYPECODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_SERVEDADTYPECODE = AccountsReportsGenerateCsvDimensions "SERVED_AD_TYPE_CODE"
  
  -- | Localized ad format name indicating the way an ad is shown to the users on your site (e.g. \"In-page\", \"Anchor\", \"Vignette\").
  pattern AccountsReportsGenerateCsvDimensions_ADFORMATNAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADFORMATNAME = AccountsReportsGenerateCsvDimensions "AD_FORMAT_NAME"
  
  -- | Ad format code indicating the way an ad is shown to the users on your site (e.g. \"ON_PAGE\", \"ANCHOR\", \"INTERSTITIAL\").
  pattern AccountsReportsGenerateCsvDimensions_ADFORMATCODE :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_ADFORMATCODE = AccountsReportsGenerateCsvDimensions "AD_FORMAT_CODE"
  
  -- | Custom search style name.
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLENAME :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLENAME = AccountsReportsGenerateCsvDimensions "CUSTOM_SEARCH_STYLE_NAME"
  
  -- | Custom search style id.
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLEID :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLEID = AccountsReportsGenerateCsvDimensions "CUSTOM_SEARCH_STYLE_ID"
  
  -- | Domain registrants.
  pattern AccountsReportsGenerateCsvDimensions_DOMAINREGISTRANT :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_DOMAINREGISTRANT = AccountsReportsGenerateCsvDimensions "DOMAIN_REGISTRANT"
  
  -- | Query strings for web searches.
  pattern AccountsReportsGenerateCsvDimensions_WEBSEARCHQUERYSTRING :: AccountsReportsGenerateCsvDimensions
  pattern AccountsReportsGenerateCsvDimensions_WEBSEARCHQUERYSTRING = AccountsReportsGenerateCsvDimensions "WEBSEARCH_QUERY_STRING"
  
  {-# COMPLETE
    AccountsReportsGenerateCsvDimensions_DIMENSIONUNSPECIFIED,
    AccountsReportsGenerateCsvDimensions_Date,
    AccountsReportsGenerateCsvDimensions_Week,
    AccountsReportsGenerateCsvDimensions_Month,
    AccountsReportsGenerateCsvDimensions_ACCOUNTNAME,
    AccountsReportsGenerateCsvDimensions_ADCLIENTID,
    AccountsReportsGenerateCsvDimensions_HOSTEDADCLIENTID,
    AccountsReportsGenerateCsvDimensions_PRODUCTNAME,
    AccountsReportsGenerateCsvDimensions_PRODUCTCODE,
    AccountsReportsGenerateCsvDimensions_ADUNITNAME,
    AccountsReportsGenerateCsvDimensions_ADUNITID,
    AccountsReportsGenerateCsvDimensions_ADUNITSIZENAME,
    AccountsReportsGenerateCsvDimensions_ADUNITSIZECODE,
    AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELNAME,
    AccountsReportsGenerateCsvDimensions_CUSTOMCHANNELID,
    AccountsReportsGenerateCsvDimensions_HOSTEDCUSTOMCHANNELID,
    AccountsReportsGenerateCsvDimensions_OWNEDSITEDOMAINNAME,
    AccountsReportsGenerateCsvDimensions_OWNEDSITEID,
    AccountsReportsGenerateCsvDimensions_PAGEURL,
    AccountsReportsGenerateCsvDimensions_URLCHANNELNAME,
    AccountsReportsGenerateCsvDimensions_URLCHANNELID,
    AccountsReportsGenerateCsvDimensions_BUYERNETWORKNAME,
    AccountsReportsGenerateCsvDimensions_BUYERNETWORKID,
    AccountsReportsGenerateCsvDimensions_BIDTYPENAME,
    AccountsReportsGenerateCsvDimensions_BIDTYPECODE,
    AccountsReportsGenerateCsvDimensions_CREATIVESIZENAME,
    AccountsReportsGenerateCsvDimensions_CREATIVESIZECODE,
    AccountsReportsGenerateCsvDimensions_DOMAINNAME,
    AccountsReportsGenerateCsvDimensions_DOMAINCODE,
    AccountsReportsGenerateCsvDimensions_COUNTRYNAME,
    AccountsReportsGenerateCsvDimensions_COUNTRYCODE,
    AccountsReportsGenerateCsvDimensions_PLATFORMTYPENAME,
    AccountsReportsGenerateCsvDimensions_PLATFORMTYPECODE,
    AccountsReportsGenerateCsvDimensions_TARGETINGTYPENAME,
    AccountsReportsGenerateCsvDimensions_TARGETINGTYPECODE,
    AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMNAME,
    AccountsReportsGenerateCsvDimensions_CONTENTPLATFORMCODE,
    AccountsReportsGenerateCsvDimensions_ADPLACEMENTNAME,
    AccountsReportsGenerateCsvDimensions_ADPLACEMENTCODE,
    AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPENAME,
    AccountsReportsGenerateCsvDimensions_REQUESTEDADTYPECODE,
    AccountsReportsGenerateCsvDimensions_SERVEDADTYPENAME,
    AccountsReportsGenerateCsvDimensions_SERVEDADTYPECODE,
    AccountsReportsGenerateCsvDimensions_ADFORMATNAME,
    AccountsReportsGenerateCsvDimensions_ADFORMATCODE,
    AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLENAME,
    AccountsReportsGenerateCsvDimensions_CUSTOMSEARCHSTYLEID,
    AccountsReportsGenerateCsvDimensions_DOMAINREGISTRANT,
    AccountsReportsGenerateCsvDimensions_WEBSEARCHQUERYSTRING,
    AccountsReportsGenerateCsvDimensions
    #-}
  
  -- | Required. Reporting metrics.
  newtype AccountsReportsGenerateCsvMetrics = AccountsReportsGenerateCsvMetrics {fromAccountsReportsGenerateCsvMetrics :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified metric.
  pattern AccountsReportsGenerateCsvMetrics_METRICUNSPECIFIED :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_METRICUNSPECIFIED = AccountsReportsGenerateCsvMetrics "METRIC_UNSPECIFIED"
  
  -- | Number of page views.
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWS = AccountsReportsGenerateCsvMetrics "PAGE_VIEWS"
  
  -- | Number of ad units that requested ads (for content ads) or search queries (for search ads). An ad request may result in zero, one, or multiple individual ad impressions depending on the size of the ad unit and whether any ads were available.
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTS = AccountsReportsGenerateCsvMetrics "AD_REQUESTS"
  
  -- | Requests that returned at least one ad.
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTS = AccountsReportsGenerateCsvMetrics "MATCHED_AD_REQUESTS"
  
  -- | Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user’s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.
  pattern AccountsReportsGenerateCsvMetrics_TOTALIMPRESSIONS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_TOTALIMPRESSIONS = AccountsReportsGenerateCsvMetrics "TOTAL_IMPRESSIONS"
  
  -- | Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user’s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.
  pattern AccountsReportsGenerateCsvMetrics_Impressions :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_Impressions = AccountsReportsGenerateCsvMetrics "IMPRESSIONS"
  
  -- | Ads shown. Different ad formats will display varying numbers of ads. For example, a vertical banner may consist of 2 or more ads. Also, the number of ads in an ad unit may vary depending on whether the ad unit is displaying standard text ads, expanded text ads or image ads.
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONS = AccountsReportsGenerateCsvMetrics "INDIVIDUAL_AD_IMPRESSIONS"
  
  -- | Number of times a user clicked on a standard content ad.
  pattern AccountsReportsGenerateCsvMetrics_Clicks :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_Clicks = AccountsReportsGenerateCsvMetrics "CLICKS"
  
  -- | Fraction of page views considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSSPAMRATIO = AccountsReportsGenerateCsvMetrics "PAGE_VIEWS_SPAM_RATIO"
  
  -- | Fraction of ad requests considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSSPAMRATIO = AccountsReportsGenerateCsvMetrics "AD_REQUESTS_SPAM_RATIO"
  
  -- | Fraction of ad requests that returned ads considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSSPAMRATIO = AccountsReportsGenerateCsvMetrics "MATCHED_AD_REQUESTS_SPAM_RATIO"
  
  -- | Fraction of impressions considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSSPAMRATIO = AccountsReportsGenerateCsvMetrics "IMPRESSIONS_SPAM_RATIO"
  
  -- | Fraction of ad impressions considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO = AccountsReportsGenerateCsvMetrics "INDIVIDUAL_AD_IMPRESSIONS_SPAM_RATIO"
  
  -- | Fraction of clicks considered to be spam. Only available to premium accounts.
  pattern AccountsReportsGenerateCsvMetrics_CLICKSSPAMRATIO :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_CLICKSSPAMRATIO = AccountsReportsGenerateCsvMetrics "CLICKS_SPAM_RATIO"
  
  -- | Ratio of requested ad units or queries to the number returned to the site.
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSCOVERAGE :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSCOVERAGE = AccountsReportsGenerateCsvMetrics "AD_REQUESTS_COVERAGE"
  
  -- | Ratio of individual page views that resulted in a click.
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSCTR :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSCTR = AccountsReportsGenerateCsvMetrics "PAGE_VIEWS_CTR"
  
  -- | Ratio of ad requests that resulted in a click.
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSCTR :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSCTR = AccountsReportsGenerateCsvMetrics "AD_REQUESTS_CTR"
  
  -- | Ratio of clicks to matched requests.
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSCTR :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSCTR = AccountsReportsGenerateCsvMetrics "MATCHED_AD_REQUESTS_CTR"
  
  -- | Ratio of IMPRESSIONS that resulted in a click.
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSCTR :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSCTR = AccountsReportsGenerateCsvMetrics "IMPRESSIONS_CTR"
  
  -- | Ratio of individual ad impressions that resulted in a click.
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSCTR :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSCTR = AccountsReportsGenerateCsvMetrics "INDIVIDUAL_AD_IMPRESSIONS_CTR"
  
  -- | Ratio of requests that were measurable for viewability.
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWMEASURABILITY :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWMEASURABILITY = AccountsReportsGenerateCsvMetrics "ACTIVE_VIEW_MEASURABILITY"
  
  -- | Ratio of requests that were viewable.
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWVIEWABILITY :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWVIEWABILITY = AccountsReportsGenerateCsvMetrics "ACTIVE_VIEW_VIEWABILITY"
  
  -- | Mean time an ad was displayed on screen.
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWTIME :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ACTIVEVIEWTIME = AccountsReportsGenerateCsvMetrics "ACTIVE_VIEW_TIME"
  
  -- | Estimated earnings of the publisher. Note that earnings up to yesterday are accurate, more recent earnings are estimated due to the possibility of spam, or exchange rate fluctuations.
  pattern AccountsReportsGenerateCsvMetrics_ESTIMATEDEARNINGS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ESTIMATEDEARNINGS = AccountsReportsGenerateCsvMetrics "ESTIMATED_EARNINGS"
  
  -- | Revenue per thousand page views. This is calculated by dividing the estimated revenue by the number of page views multiplied by 1000.
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_PAGEVIEWSRPM = AccountsReportsGenerateCsvMetrics "PAGE_VIEWS_RPM"
  
  -- | Revenue per thousand ad requests. This is calculated by dividing estimated revenue by the number of ad requests multiplied by 1000.
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADREQUESTSRPM = AccountsReportsGenerateCsvMetrics "AD_REQUESTS_RPM"
  
  -- | Revenue per thousand matched ad requests. This is calculated by dividing estimated revenue by the number of matched ad requests multiplied by 1000.
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSRPM = AccountsReportsGenerateCsvMetrics "MATCHED_AD_REQUESTS_RPM"
  
  -- | Revenue per thousand ad impressions. This is calculated by dividing estimated revenue by the number of ad impressions multiplied by 1000.
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_IMPRESSIONSRPM = AccountsReportsGenerateCsvMetrics "IMPRESSIONS_RPM"
  
  -- | Revenue per thousand individual ad impressions. This is calculated by dividing estimated revenue by the number of individual ad impressions multiplied by 1000.
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSRPM = AccountsReportsGenerateCsvMetrics "INDIVIDUAL_AD_IMPRESSIONS_RPM"
  
  -- | Amount the publisher earns each time a user clicks on an ad. CPC is calculated by dividing the estimated revenue by the number of clicks received.
  pattern AccountsReportsGenerateCsvMetrics_COSTPERCLICK :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_COSTPERCLICK = AccountsReportsGenerateCsvMetrics "COST_PER_CLICK"
  
  -- | Number of ad views per impression.
  pattern AccountsReportsGenerateCsvMetrics_ADSPERIMPRESSION :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_ADSPERIMPRESSION = AccountsReportsGenerateCsvMetrics "ADS_PER_IMPRESSION"
  
  -- | Total earnings are the gross estimated earnings from revenue shared traffic before any parent and child account revenue share is applied.
  pattern AccountsReportsGenerateCsvMetrics_TOTALEARNINGS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_TOTALEARNINGS = AccountsReportsGenerateCsvMetrics "TOTAL_EARNINGS"
  
  -- | Number of results pages.
  pattern AccountsReportsGenerateCsvMetrics_WEBSEARCHRESULTPAGES :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_WEBSEARCHRESULTPAGES = AccountsReportsGenerateCsvMetrics "WEBSEARCH_RESULT_PAGES"
  
  -- | Number of requests for non-ad units (for example a related search unit). For more information, see <https://support.google.com/adsense/answer/11586959 Funnel requests>.
  pattern AccountsReportsGenerateCsvMetrics_FUNNELREQUESTS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_FUNNELREQUESTS = AccountsReportsGenerateCsvMetrics "FUNNEL_REQUESTS"
  
  -- | Number of requests for non-ad units ads that returned content that was shown to the user. For more information, see <https://support.google.com/adsense/answer/11585767 Funnel impressions>.
  pattern AccountsReportsGenerateCsvMetrics_FUNNELIMPRESSIONS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_FUNNELIMPRESSIONS = AccountsReportsGenerateCsvMetrics "FUNNEL_IMPRESSIONS"
  
  -- | Number of times a user clicked on a non-ad unit, triggering further ad requests. For more information, see <https://support.google.com/adsense/answer/11586382 Funnel clicks>.
  pattern AccountsReportsGenerateCsvMetrics_FUNNELCLICKS :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_FUNNELCLICKS = AccountsReportsGenerateCsvMetrics "FUNNEL_CLICKS"
  
  -- | Revenue per thousand funnel impressions. This is calculated by dividing estimated revenue by the number of funnel impressions multiplied by 1000. For more information, see <https://support.google.com/adsense/answer/11585979 Funnel RPM>.
  pattern AccountsReportsGenerateCsvMetrics_FUNNELRPM :: AccountsReportsGenerateCsvMetrics
  pattern AccountsReportsGenerateCsvMetrics_FUNNELRPM = AccountsReportsGenerateCsvMetrics "FUNNEL_RPM"
  
  {-# COMPLETE
    AccountsReportsGenerateCsvMetrics_METRICUNSPECIFIED,
    AccountsReportsGenerateCsvMetrics_PAGEVIEWS,
    AccountsReportsGenerateCsvMetrics_ADREQUESTS,
    AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTS,
    AccountsReportsGenerateCsvMetrics_TOTALIMPRESSIONS,
    AccountsReportsGenerateCsvMetrics_Impressions,
    AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONS,
    AccountsReportsGenerateCsvMetrics_Clicks,
    AccountsReportsGenerateCsvMetrics_PAGEVIEWSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_ADREQUESTSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_IMPRESSIONSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_CLICKSSPAMRATIO,
    AccountsReportsGenerateCsvMetrics_ADREQUESTSCOVERAGE,
    AccountsReportsGenerateCsvMetrics_PAGEVIEWSCTR,
    AccountsReportsGenerateCsvMetrics_ADREQUESTSCTR,
    AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSCTR,
    AccountsReportsGenerateCsvMetrics_IMPRESSIONSCTR,
    AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSCTR,
    AccountsReportsGenerateCsvMetrics_ACTIVEVIEWMEASURABILITY,
    AccountsReportsGenerateCsvMetrics_ACTIVEVIEWVIEWABILITY,
    AccountsReportsGenerateCsvMetrics_ACTIVEVIEWTIME,
    AccountsReportsGenerateCsvMetrics_ESTIMATEDEARNINGS,
    AccountsReportsGenerateCsvMetrics_PAGEVIEWSRPM,
    AccountsReportsGenerateCsvMetrics_ADREQUESTSRPM,
    AccountsReportsGenerateCsvMetrics_MATCHEDADREQUESTSRPM,
    AccountsReportsGenerateCsvMetrics_IMPRESSIONSRPM,
    AccountsReportsGenerateCsvMetrics_INDIVIDUALADIMPRESSIONSRPM,
    AccountsReportsGenerateCsvMetrics_COSTPERCLICK,
    AccountsReportsGenerateCsvMetrics_ADSPERIMPRESSION,
    AccountsReportsGenerateCsvMetrics_TOTALEARNINGS,
    AccountsReportsGenerateCsvMetrics_WEBSEARCHRESULTPAGES,
    AccountsReportsGenerateCsvMetrics_FUNNELREQUESTS,
    AccountsReportsGenerateCsvMetrics_FUNNELIMPRESSIONS,
    AccountsReportsGenerateCsvMetrics_FUNNELCLICKS,
    AccountsReportsGenerateCsvMetrics_FUNNELRPM,
    AccountsReportsGenerateCsvMetrics
    #-}
  
  -- | Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see <https://support.google.com/adsense/answer/9830725 changing the time zone of your reports>.
  newtype AccountsReportsGenerateCsvReportingTimeZone = AccountsReportsGenerateCsvReportingTimeZone {fromAccountsReportsGenerateCsvReportingTimeZone :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified timezone.
  pattern AccountsReportsGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED :: AccountsReportsGenerateCsvReportingTimeZone
  pattern AccountsReportsGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED = AccountsReportsGenerateCsvReportingTimeZone "REPORTING_TIME_ZONE_UNSPECIFIED"
  
  -- | Use the account timezone in the report.
  pattern AccountsReportsGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE :: AccountsReportsGenerateCsvReportingTimeZone
  pattern AccountsReportsGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE = AccountsReportsGenerateCsvReportingTimeZone "ACCOUNT_TIME_ZONE"
  
  -- | Use the Google timezone in the report (America\/Los_Angeles).
  pattern AccountsReportsGenerateCsvReportingTimeZone_GOOGLETIMEZONE :: AccountsReportsGenerateCsvReportingTimeZone
  pattern AccountsReportsGenerateCsvReportingTimeZone_GOOGLETIMEZONE = AccountsReportsGenerateCsvReportingTimeZone "GOOGLE_TIME_ZONE"
  
  {-# COMPLETE
    AccountsReportsGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
    AccountsReportsGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE,
    AccountsReportsGenerateCsvReportingTimeZone_GOOGLETIMEZONE,
    AccountsReportsGenerateCsvReportingTimeZone
    #-}
  
  -- | Date range of the report, if unset the range will be considered CUSTOM.
  newtype AccountsReportsSavedGenerateDateRange = AccountsReportsSavedGenerateDateRange {fromAccountsReportsSavedGenerateDateRange :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified date range.
  pattern AccountsReportsSavedGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED = AccountsReportsSavedGenerateDateRange "REPORTING_DATE_RANGE_UNSPECIFIED"
  
  -- | A custom date range specified using the @start_date@ and @end_date@ fields. This is the default if no ReportingDateRange is provided.
  pattern AccountsReportsSavedGenerateDateRange_Custom :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_Custom = AccountsReportsSavedGenerateDateRange "CUSTOM"
  
  -- | Current day.
  pattern AccountsReportsSavedGenerateDateRange_Today :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_Today = AccountsReportsSavedGenerateDateRange "TODAY"
  
  -- | Yesterday.
  pattern AccountsReportsSavedGenerateDateRange_Yesterday :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_Yesterday = AccountsReportsSavedGenerateDateRange "YESTERDAY"
  
  -- | From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].
  pattern AccountsReportsSavedGenerateDateRange_MONTHTODATE :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_MONTHTODATE = AccountsReportsSavedGenerateDateRange "MONTH_TO_DATE"
  
  -- | From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].
  pattern AccountsReportsSavedGenerateDateRange_YEARTODATE :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_YEARTODATE = AccountsReportsSavedGenerateDateRange "YEAR_TO_DATE"
  
  -- | Last 7 days, excluding current day.
  pattern AccountsReportsSavedGenerateDateRange_LAST7DAYS :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_LAST7DAYS = AccountsReportsSavedGenerateDateRange "LAST_7_DAYS"
  
  -- | Last 30 days, excluding current day.
  pattern AccountsReportsSavedGenerateDateRange_LAST30DAYS :: AccountsReportsSavedGenerateDateRange
  pattern AccountsReportsSavedGenerateDateRange_LAST30DAYS = AccountsReportsSavedGenerateDateRange "LAST_30_DAYS"
  
  {-# COMPLETE
    AccountsReportsSavedGenerateDateRange_REPORTINGDATERANGEUNSPECIFIED,
    AccountsReportsSavedGenerateDateRange_Custom,
    AccountsReportsSavedGenerateDateRange_Today,
    AccountsReportsSavedGenerateDateRange_Yesterday,
    AccountsReportsSavedGenerateDateRange_MONTHTODATE,
    AccountsReportsSavedGenerateDateRange_YEARTODATE,
    AccountsReportsSavedGenerateDateRange_LAST7DAYS,
    AccountsReportsSavedGenerateDateRange_LAST30DAYS,
    AccountsReportsSavedGenerateDateRange
    #-}
  
  -- | Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see <https://support.google.com/adsense/answer/9830725 changing the time zone of your reports>.
  newtype AccountsReportsSavedGenerateReportingTimeZone = AccountsReportsSavedGenerateReportingTimeZone {fromAccountsReportsSavedGenerateReportingTimeZone :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified timezone.
  pattern AccountsReportsSavedGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED :: AccountsReportsSavedGenerateReportingTimeZone
  pattern AccountsReportsSavedGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED = AccountsReportsSavedGenerateReportingTimeZone "REPORTING_TIME_ZONE_UNSPECIFIED"
  
  -- | Use the account timezone in the report.
  pattern AccountsReportsSavedGenerateReportingTimeZone_ACCOUNTTIMEZONE :: AccountsReportsSavedGenerateReportingTimeZone
  pattern AccountsReportsSavedGenerateReportingTimeZone_ACCOUNTTIMEZONE = AccountsReportsSavedGenerateReportingTimeZone "ACCOUNT_TIME_ZONE"
  
  -- | Use the Google timezone in the report (America\/Los_Angeles).
  pattern AccountsReportsSavedGenerateReportingTimeZone_GOOGLETIMEZONE :: AccountsReportsSavedGenerateReportingTimeZone
  pattern AccountsReportsSavedGenerateReportingTimeZone_GOOGLETIMEZONE = AccountsReportsSavedGenerateReportingTimeZone "GOOGLE_TIME_ZONE"
  
  {-# COMPLETE
    AccountsReportsSavedGenerateReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
    AccountsReportsSavedGenerateReportingTimeZone_ACCOUNTTIMEZONE,
    AccountsReportsSavedGenerateReportingTimeZone_GOOGLETIMEZONE,
    AccountsReportsSavedGenerateReportingTimeZone
    #-}
  
  -- | Date range of the report, if unset the range will be considered CUSTOM.
  newtype AccountsReportsSavedGenerateCsvDateRange = AccountsReportsSavedGenerateCsvDateRange {fromAccountsReportsSavedGenerateCsvDateRange :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified date range.
  pattern AccountsReportsSavedGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED = AccountsReportsSavedGenerateCsvDateRange "REPORTING_DATE_RANGE_UNSPECIFIED"
  
  -- | A custom date range specified using the @start_date@ and @end_date@ fields. This is the default if no ReportingDateRange is provided.
  pattern AccountsReportsSavedGenerateCsvDateRange_Custom :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_Custom = AccountsReportsSavedGenerateCsvDateRange "CUSTOM"
  
  -- | Current day.
  pattern AccountsReportsSavedGenerateCsvDateRange_Today :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_Today = AccountsReportsSavedGenerateCsvDateRange "TODAY"
  
  -- | Yesterday.
  pattern AccountsReportsSavedGenerateCsvDateRange_Yesterday :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_Yesterday = AccountsReportsSavedGenerateCsvDateRange "YESTERDAY"
  
  -- | From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].
  pattern AccountsReportsSavedGenerateCsvDateRange_MONTHTODATE :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_MONTHTODATE = AccountsReportsSavedGenerateCsvDateRange "MONTH_TO_DATE"
  
  -- | From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].
  pattern AccountsReportsSavedGenerateCsvDateRange_YEARTODATE :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_YEARTODATE = AccountsReportsSavedGenerateCsvDateRange "YEAR_TO_DATE"
  
  -- | Last 7 days, excluding current day.
  pattern AccountsReportsSavedGenerateCsvDateRange_LAST7DAYS :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_LAST7DAYS = AccountsReportsSavedGenerateCsvDateRange "LAST_7_DAYS"
  
  -- | Last 30 days, excluding current day.
  pattern AccountsReportsSavedGenerateCsvDateRange_LAST30DAYS :: AccountsReportsSavedGenerateCsvDateRange
  pattern AccountsReportsSavedGenerateCsvDateRange_LAST30DAYS = AccountsReportsSavedGenerateCsvDateRange "LAST_30_DAYS"
  
  {-# COMPLETE
    AccountsReportsSavedGenerateCsvDateRange_REPORTINGDATERANGEUNSPECIFIED,
    AccountsReportsSavedGenerateCsvDateRange_Custom,
    AccountsReportsSavedGenerateCsvDateRange_Today,
    AccountsReportsSavedGenerateCsvDateRange_Yesterday,
    AccountsReportsSavedGenerateCsvDateRange_MONTHTODATE,
    AccountsReportsSavedGenerateCsvDateRange_YEARTODATE,
    AccountsReportsSavedGenerateCsvDateRange_LAST7DAYS,
    AccountsReportsSavedGenerateCsvDateRange_LAST30DAYS,
    AccountsReportsSavedGenerateCsvDateRange
    #-}
  
  -- | Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see <https://support.google.com/adsense/answer/9830725 changing the time zone of your reports>.
  newtype AccountsReportsSavedGenerateCsvReportingTimeZone = AccountsReportsSavedGenerateCsvReportingTimeZone {fromAccountsReportsSavedGenerateCsvReportingTimeZone :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified timezone.
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED :: AccountsReportsSavedGenerateCsvReportingTimeZone
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED = AccountsReportsSavedGenerateCsvReportingTimeZone "REPORTING_TIME_ZONE_UNSPECIFIED"
  
  -- | Use the account timezone in the report.
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE :: AccountsReportsSavedGenerateCsvReportingTimeZone
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE = AccountsReportsSavedGenerateCsvReportingTimeZone "ACCOUNT_TIME_ZONE"
  
  -- | Use the Google timezone in the report (America\/Los_Angeles).
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_GOOGLETIMEZONE :: AccountsReportsSavedGenerateCsvReportingTimeZone
  pattern AccountsReportsSavedGenerateCsvReportingTimeZone_GOOGLETIMEZONE = AccountsReportsSavedGenerateCsvReportingTimeZone "GOOGLE_TIME_ZONE"
  
  {-# COMPLETE
    AccountsReportsSavedGenerateCsvReportingTimeZone_REPORTINGTIMEZONEUNSPECIFIED,
    AccountsReportsSavedGenerateCsvReportingTimeZone_ACCOUNTTIMEZONE,
    AccountsReportsSavedGenerateCsvReportingTimeZone_GOOGLETIMEZONE,
    AccountsReportsSavedGenerateCsvReportingTimeZone
    #-}
  