packages feed

gogol-admin-reports 0.5.0 → 1.0.0

raw patch · 23 files changed

+2663/−2677 lines, 23 filesdep −basedep ~gogol-coresetup-changed

Dependencies removed: base

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,12 +8,12 @@  ## Version -`0.5.0`+`1.0.0`   ## Description -A client library for the Google Admin Reports.+A client library for the Google Admin SDK.   ## Contribute
Setup.hs view
@@ -1,2 +1,3 @@-import           Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/Admin/Reports.hs view
@@ -0,0 +1,164 @@+{-# 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.Admin.Reports+-- 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)+--+-- Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference>+module Gogol.Admin.Reports+  ( -- * Configuration+    adminReportsService,++    -- * OAuth Scopes+    Admin'Reports'Audit'Readonly,+    Admin'Reports'Usage'Readonly,++    -- * Resources++    -- ** admin.channels.stop+    AdminChannelsStopResource,+    AdminChannelsStop (..),+    newAdminChannelsStop,++    -- ** reports.activities.list+    ReportsActivitiesListResource,+    ReportsActivitiesList (..),+    newReportsActivitiesList,++    -- ** reports.activities.watch+    ReportsActivitiesWatchResource,+    ReportsActivitiesWatch (..),+    newReportsActivitiesWatch,++    -- ** reports.customerUsageReports.get+    ReportsCustomerUsageReportsGetResource,+    ReportsCustomerUsageReportsGet (..),+    newReportsCustomerUsageReportsGet,++    -- ** reports.entityUsageReports.get+    ReportsEntityUsageReportsGetResource,+    ReportsEntityUsageReportsGet (..),+    newReportsEntityUsageReportsGet,++    -- ** reports.userUsageReport.get+    ReportsUserUsageReportGetResource,+    ReportsUserUsageReportGet (..),+    newReportsUserUsageReportGet,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** Activities+    Activities (..),+    newActivities,++    -- ** Activity+    Activity (..),+    newActivity,++    -- ** Activity_Actor+    Activity_Actor (..),+    newActivity_Actor,++    -- ** Activity_EventsItem+    Activity_EventsItem (..),+    newActivity_EventsItem,++    -- ** Activity_EventsItem_ParametersItem+    Activity_EventsItem_ParametersItem (..),+    newActivity_EventsItem_ParametersItem,++    -- ** Activity_EventsItem_ParametersItem_MessageValue+    Activity_EventsItem_ParametersItem_MessageValue (..),+    newActivity_EventsItem_ParametersItem_MessageValue,++    -- ** Activity_EventsItem_ParametersItem_MultiMessageValueItem+    Activity_EventsItem_ParametersItem_MultiMessageValueItem (..),+    newActivity_EventsItem_ParametersItem_MultiMessageValueItem,++    -- ** Activity_Id+    Activity_Id (..),+    newActivity_Id,++    -- ** Channel+    Channel (..),+    newChannel,++    -- ** Channel_Params+    Channel_Params (..),+    newChannel_Params,++    -- ** NestedParameter+    NestedParameter (..),+    newNestedParameter,++    -- ** UsageReport+    UsageReport (..),+    newUsageReport,++    -- ** UsageReport_Entity+    UsageReport_Entity (..),+    newUsageReport_Entity,++    -- ** UsageReport_ParametersItem+    UsageReport_ParametersItem (..),+    newUsageReport_ParametersItem,++    -- ** UsageReport_ParametersItem_MsgValueItem+    UsageReport_ParametersItem_MsgValueItem (..),+    newUsageReport_ParametersItem_MsgValueItem,++    -- ** UsageReports+    UsageReports (..),+    newUsageReports,++    -- ** UsageReports_WarningsItem+    UsageReports_WarningsItem (..),+    newUsageReports_WarningsItem,++    -- ** UsageReports_WarningsItem_DataItem+    UsageReports_WarningsItem_DataItem (..),+    newUsageReports_WarningsItem_DataItem,++    -- ** ActivitiesListApplicationName+    ActivitiesListApplicationName (..),++    -- ** ActivitiesWatchApplicationName+    ActivitiesWatchApplicationName (..),++    -- ** EntityUsageReportsGetEntityType+    EntityUsageReportsGetEntityType (..),+  )+where++import Gogol.Admin.Reports.Activities.List+import Gogol.Admin.Reports.Activities.Watch+import Gogol.Admin.Reports.Admin.Channels.Stop+import Gogol.Admin.Reports.CustomerUsageReports.Get+import Gogol.Admin.Reports.EntityUsageReports.Get+import Gogol.Admin.Reports.Types+import Gogol.Admin.Reports.UserUsageReport.Get
+ gen/Gogol/Admin/Reports/Activities/List.hs view
@@ -0,0 +1,170 @@+{-# 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.Admin.Reports.Activities.List+-- 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)+--+-- Retrieves a list of activities for a specific customer\'s account and application such as the Admin console application or the Google Drive application. For more information, see the guides for administrator and Google Drive activity reports. For more information about the activity report\'s parameters, see the activity parameters reference guides.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @reports.activities.list@.+module Gogol.Admin.Reports.Activities.List+  ( -- * Resource+    ReportsActivitiesListResource,++    -- ** Constructing a Request+    ReportsActivitiesList (..),+    newReportsActivitiesList,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @reports.activities.list@ method which the+-- 'ReportsActivitiesList' request conforms to.+type ReportsActivitiesListResource =+  "admin"+    Core.:> "reports"+    Core.:> "v1"+    Core.:> "activity"+    Core.:> "users"+    Core.:> Core.Capture "userKey" Core.Text+    Core.:> "applications"+    Core.:> Core.Capture "applicationName" ActivitiesListApplicationName+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "actorIpAddress" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "endTime" Core.Text+    Core.:> Core.QueryParam "eventName" Core.Text+    Core.:> Core.QueryParam "filters" Core.Text+    Core.:> Core.QueryParam "groupIdFilter" Core.Text+    Core.:> Core.QueryParam "maxResults" Core.Int32+    Core.:> Core.QueryParam "orgUnitID" Core.Text+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "startTime" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Activities++-- | Retrieves a list of activities for a specific customer\'s account and application such as the Admin console application or the Google Drive application. For more information, see the guides for administrator and Google Drive activity reports. For more information about the activity report\'s parameters, see the activity parameters reference guides.+--+-- /See:/ 'newReportsActivitiesList' smart constructor.+data ReportsActivitiesList = ReportsActivitiesList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report\'s summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user\'s physical location. For example, the IP address can be the user\'s proxy server\'s address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions.+    actorIpAddress :: (Core.Maybe Core.Text),+    -- | Application name for which the events are to be retrieved.+    applicationName :: ActivitiesListApplicationName,+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the customer to retrieve data for.+    customerId :: (Core.Maybe Core.Text),+    -- | Sets the end of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The default value is the approximate time of the API request. An API report has three basic time concepts: - /Date of the API\'s request for a report/: When the API created and retrieved the report. - /Report\'s start time/: The beginning of the timespan shown in the report. The @startTime@ must be before the @endTime@ (if specified) and the current time when the request is made, or the API returns an error. - /Report\'s end time/: The end of the timespan shown in the report. For example, the timespan of events summarized in a report can start in April and end in May. The report itself can be requested in August. If the @endTime@ is not specified, the report returns all activities from the @startTime@ until the current time or the most recent 180 days if the @startTime@ is more than 180 days in the past.+    endTime :: (Core.Maybe Core.Text),+    -- | The name of the event being queried by the API. Each @eventName@ is related to a specific Google Workspace service or feature which the API organizes into types of events. An example is the Google Calendar events in the Admin console application\'s reports. The Calendar Settings @type@ structure has all of the Calendar @eventName@ activities reported by the API. When an administrator changes a Calendar setting, the API reports this activity in the Calendar Settings @type@ and @eventName@ parameters. For more information about @eventName@ query strings and parameters, see the list of event names for various applications above in @applicationName@.+    eventName :: (Core.Maybe Core.Text),+    -- | The @filters@ query string is a comma-separated list composed of event parameters manipulated by relational operators. Event parameters are in the form @{parameter1 name}{relational operator}{parameter1 value},{parameter2 name}{relational operator}{parameter2 value},...@ These event parameters are associated with a specific @eventName@. An empty report is returned if the request\'s parameter doesn\'t belong to the @eventName@. For more information about the available @eventName@ fields for each application and their associated parameters, go to the <#applicationname ApplicationName> table, then click through to the Activity Events page in the Appendix for the application you want. In the following Drive activity examples, the returned list consists of all @edit@ events where the @doc_id@ parameter value matches the conditions defined by the relational operator. In the first example, the request returns all edited documents with a @doc_id@ value equal to @12345@. In the second example, the report returns any+    -- edited documents where the @doc_id@ value is not equal to @98765@. The @\<>@ operator is URL-encoded in the request\'s query string (@%3C%3E@): @GET...&eventName=edit&filters=doc_id==12345 GET...&eventName=edit&filters=doc_id%3C%3E98765@ A @filters@ query supports these relational operators: * @==@—\'equal to\'. * @\<>@—\'not equal to\'. Must be URL-encoded (%3C%3E). * @\<@—\'less than\'. Must be URL-encoded (%3C). * @\<=@—\'less than or equal to\'. Must be URL-encoded (%3C=). * @>@—\'greater than\'. Must be URL-encoded (%3E). * @>=@—\'greater than or equal to\'. Must be URL-encoded (%3E=). __Note:__ The API doesn\'t accept multiple values of the same parameter. If a parameter is supplied more than once in the API request, the API only accepts the last value of that parameter. In addition, if an invalid parameter is supplied in the API request, the API ignores that parameter and returns the response corresponding to the remaining valid parameters. If no parameters are requested, all parameters are returned.+    filters :: (Core.Maybe Core.Text),+    -- | Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\" /Important:/ To filter by groups, you must explicitly add the groups to your filtering groups allowlist. For more information about adding groups to filtering groups allowlist, see <https://support.google.com/a/answer/11482175 Filter results by Google Group>+    groupIdFilter :: (Core.Maybe Core.Text),+    -- | Determines how many activity records are shown on each response page. For example, if the request sets @maxResults=1@ and the report has two activities, the report has two pages. The response\'s @nextPageToken@ property has the token to the second page. The @maxResults@ query string is optional in the request. The default value is 1000.+    maxResults :: Core.Int32,+    -- | ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn\'t appear in the filtered results.+    orgUnitID :: Core.Text,+    -- | The token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. In your follow-on request getting the next page of the report, enter the @nextPageToken@ value in the @pageToken@ query string.+    pageToken :: (Core.Maybe Core.Text),+    -- | Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from @startTime@ until @endTime@. The @startTime@ must be before the @endTime@ (if specified) and the current time when the request is made, or the API returns an error.+    startTime :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@.+    userKey :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportsActivitiesList' with the minimum fields required to make a request.+newReportsActivitiesList ::+  -- |  Application name for which the events are to be retrieved. See 'applicationName'.+  ActivitiesListApplicationName ->+  -- |  Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@. See 'userKey'.+  Core.Text ->+  ReportsActivitiesList+newReportsActivitiesList applicationName userKey =+  ReportsActivitiesList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      actorIpAddress = Core.Nothing,+      applicationName = applicationName,+      callback = Core.Nothing,+      customerId = Core.Nothing,+      endTime = Core.Nothing,+      eventName = Core.Nothing,+      filters = Core.Nothing,+      groupIdFilter = Core.Nothing,+      maxResults = 1000,+      orgUnitID = "",+      pageToken = Core.Nothing,+      startTime = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      userKey = userKey+    }++instance Core.GoogleRequest ReportsActivitiesList where+  type Rs ReportsActivitiesList = Activities+  type Scopes ReportsActivitiesList = '[Admin'Reports'Audit'Readonly]+  requestClient ReportsActivitiesList {..} =+    go+      userKey+      applicationName+      xgafv+      accessToken+      actorIpAddress+      callback+      customerId+      endTime+      eventName+      filters+      groupIdFilter+      (Core.Just maxResults)+      (Core.Just orgUnitID)+      pageToken+      startTime+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy ReportsActivitiesListResource)+          Core.mempty
+ gen/Gogol/Admin/Reports/Activities/Watch.hs view
@@ -0,0 +1,180 @@+{-# 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.Admin.Reports.Activities.Watch+-- 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)+--+-- Start receiving notifications for account activities. For more information, see Receiving Push Notifications.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @reports.activities.watch@.+module Gogol.Admin.Reports.Activities.Watch+  ( -- * Resource+    ReportsActivitiesWatchResource,++    -- ** Constructing a Request+    ReportsActivitiesWatch (..),+    newReportsActivitiesWatch,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @reports.activities.watch@ method which the+-- 'ReportsActivitiesWatch' request conforms to.+type ReportsActivitiesWatchResource =+  "admin"+    Core.:> "reports"+    Core.:> "v1"+    Core.:> "activity"+    Core.:> "users"+    Core.:> Core.Capture "userKey" Core.Text+    Core.:> "applications"+    Core.:> Core.Capture "applicationName" ActivitiesWatchApplicationName+    Core.:> "watch"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "actorIpAddress" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "endTime" Core.Text+    Core.:> Core.QueryParam "eventName" Core.Text+    Core.:> Core.QueryParam "filters" Core.Text+    Core.:> Core.QueryParam "groupIdFilter" Core.Text+    Core.:> Core.QueryParam "maxResults" Core.Int32+    Core.:> Core.QueryParam "orgUnitID" Core.Text+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "startTime" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Channel+    Core.:> Core.Post '[Core.JSON] Channel++-- | Start receiving notifications for account activities. For more information, see Receiving Push Notifications.+--+-- /See:/ 'newReportsActivitiesWatch' smart constructor.+data ReportsActivitiesWatch = ReportsActivitiesWatch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report\'s summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user\'s physical location. For example, the IP address can be the user\'s proxy server\'s address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions.+    actorIpAddress :: (Core.Maybe Core.Text),+    -- | Application name for which the events are to be retrieved.+    applicationName :: ActivitiesWatchApplicationName,+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the customer to retrieve data for.+    customerId :: (Core.Maybe Core.Text),+    -- | Sets the end of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The default value is the approximate time of the API request. An API report has three basic time concepts: - /Date of the API\'s request for a report/: When the API created and retrieved the report. - /Report\'s start time/: The beginning of the timespan shown in the report. The @startTime@ must be before the @endTime@ (if specified) and the current time when the request is made, or the API returns an error. - /Report\'s end time/: The end of the timespan shown in the report. For example, the timespan of events summarized in a report can start in April and end in May. The report itself can be requested in August. If the @endTime@ is not specified, the report returns all activities from the @startTime@ until the current time or the most recent 180 days if the @startTime@ is more than 180 days in the past.+    endTime :: (Core.Maybe Core.Text),+    -- | The name of the event being queried by the API. Each @eventName@ is related to a specific Google Workspace service or feature which the API organizes into types of events. An example is the Google Calendar events in the Admin console application\'s reports. The Calendar Settings @type@ structure has all of the Calendar @eventName@ activities reported by the API. When an administrator changes a Calendar setting, the API reports this activity in the Calendar Settings @type@ and @eventName@ parameters. For more information about @eventName@ query strings and parameters, see the list of event names for various applications above in @applicationName@.+    eventName :: (Core.Maybe Core.Text),+    -- | The @filters@ query string is a comma-separated list composed of event parameters manipulated by relational operators. Event parameters are in the form @{parameter1 name}{relational operator}{parameter1 value},{parameter2 name}{relational operator}{parameter2 value},...@ These event parameters are associated with a specific @eventName@. An empty report is returned if the request\'s parameter doesn\'t belong to the @eventName@. For more information about the available @eventName@ fields for each application and their associated parameters, go to the <#applicationname ApplicationName> table, then click through to the Activity Events page in the Appendix for the application you want. In the following Drive activity examples, the returned list consists of all @edit@ events where the @doc_id@ parameter value matches the conditions defined by the relational operator. In the first example, the request returns all edited documents with a @doc_id@ value equal to @12345@. In the second example, the report returns any+    -- edited documents where the @doc_id@ value is not equal to @98765@. The @\<>@ operator is URL-encoded in the request\'s query string (@%3C%3E@): @GET...&eventName=edit&filters=doc_id==12345 GET...&eventName=edit&filters=doc_id%3C%3E98765@ A @filters@ query supports these relational operators: * @==@—\'equal to\'. * @\<>@—\'not equal to\'. Must be URL-encoded (%3C%3E). * @\<@—\'less than\'. Must be URL-encoded (%3C). * @\<=@—\'less than or equal to\'. Must be URL-encoded (%3C=). * @>@—\'greater than\'. Must be URL-encoded (%3E). * @>=@—\'greater than or equal to\'. Must be URL-encoded (%3E=). __Note:__ The API doesn\'t accept multiple values of the same parameter. If a parameter is supplied more than once in the API request, the API only accepts the last value of that parameter. In addition, if an invalid parameter is supplied in the API request, the API ignores that parameter and returns the response corresponding to the remaining valid parameters. If no parameters are requested, all parameters are returned.+    filters :: (Core.Maybe Core.Text),+    -- | Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\" /Important:/ To filter by groups, you must explicitly add the groups to your filtering groups allowlist. For more information about adding groups to filtering groups allowlist, see <https://support.google.com/a/answer/11482175 Filter results by Google Group>+    groupIdFilter :: (Core.Maybe Core.Text),+    -- | Determines how many activity records are shown on each response page. For example, if the request sets @maxResults=1@ and the report has two activities, the report has two pages. The response\'s @nextPageToken@ property has the token to the second page. The @maxResults@ query string is optional in the request. The default value is 1000.+    maxResults :: Core.Int32,+    -- | @Deprecated@. This field is deprecated and is no longer supported. ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn\'t appear in the filtered results.+    orgUnitID :: Core.Text,+    -- | The token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. In your follow-on request getting the next page of the report, enter the @nextPageToken@ value in the @pageToken@ query string.+    pageToken :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: Channel,+    -- | Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from @startTime@ until @endTime@. The @startTime@ must be before the @endTime@ (if specified) and the current time when the request is made, or the API returns an error.+    startTime :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@.+    userKey :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportsActivitiesWatch' with the minimum fields required to make a request.+newReportsActivitiesWatch ::+  -- |  Application name for which the events are to be retrieved. See 'applicationName'.+  ActivitiesWatchApplicationName ->+  -- |  Multipart request metadata. See 'payload'.+  Channel ->+  -- |  Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@. See 'userKey'.+  Core.Text ->+  ReportsActivitiesWatch+newReportsActivitiesWatch applicationName payload userKey =+  ReportsActivitiesWatch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      actorIpAddress = Core.Nothing,+      applicationName = applicationName,+      callback = Core.Nothing,+      customerId = Core.Nothing,+      endTime = Core.Nothing,+      eventName = Core.Nothing,+      filters = Core.Nothing,+      groupIdFilter = Core.Nothing,+      maxResults = 1000,+      orgUnitID = "",+      pageToken = Core.Nothing,+      payload = payload,+      startTime = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      userKey = userKey+    }++instance Core.GoogleRequest ReportsActivitiesWatch where+  type Rs ReportsActivitiesWatch = Channel+  type+    Scopes ReportsActivitiesWatch =+      '[Admin'Reports'Audit'Readonly]+  requestClient ReportsActivitiesWatch {..} =+    go+      userKey+      applicationName+      xgafv+      accessToken+      actorIpAddress+      callback+      customerId+      endTime+      eventName+      filters+      groupIdFilter+      (Core.Just maxResults)+      (Core.Just orgUnitID)+      pageToken+      startTime+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy ReportsActivitiesWatchResource)+          Core.mempty
+ gen/Gogol/Admin/Reports/Admin/Channels/Stop.hs view
@@ -0,0 +1,110 @@+{-# 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.Admin.Reports.Admin.Channels.Stop+-- 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)+--+-- Stop watching resources through this channel.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @admin.channels.stop@.+module Gogol.Admin.Reports.Admin.Channels.Stop+  ( -- * Resource+    AdminChannelsStopResource,++    -- ** Constructing a Request+    AdminChannelsStop (..),+    newAdminChannelsStop,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @admin.channels.stop@ method which the+-- 'AdminChannelsStop' request conforms to.+type AdminChannelsStopResource =+  "admin"+    Core.:> "reports_v1"+    Core.:> "channels"+    Core.:> "stop"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Channel+    Core.:> Core.Post '[Core.JSON] ()++-- | Stop watching resources through this channel.+--+-- /See:/ 'newAdminChannelsStop' smart constructor.+data AdminChannelsStop = AdminChannelsStop+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: Channel,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AdminChannelsStop' with the minimum fields required to make a request.+newAdminChannelsStop ::+  -- |  Multipart request metadata. See 'payload'.+  Channel ->+  AdminChannelsStop+newAdminChannelsStop payload =+  AdminChannelsStop+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest AdminChannelsStop where+  type Rs AdminChannelsStop = ()+  type Scopes AdminChannelsStop = '[Admin'Reports'Audit'Readonly]+  requestClient AdminChannelsStop {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy AdminChannelsStopResource)+          Core.mempty
+ gen/Gogol/Admin/Reports/CustomerUsageReports/Get.hs view
@@ -0,0 +1,128 @@+{-# 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.Admin.Reports.CustomerUsageReports.Get+-- 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)+--+-- Retrieves a report which is a collection of properties and statistics for a specific customer\'s account. For more information, see the Customers Usage Report guide. For more information about the customer report\'s parameters, see the Customers Usage parameters reference guides.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @reports.customerUsageReports.get@.+module Gogol.Admin.Reports.CustomerUsageReports.Get+  ( -- * Resource+    ReportsCustomerUsageReportsGetResource,++    -- ** Constructing a Request+    ReportsCustomerUsageReportsGet (..),+    newReportsCustomerUsageReportsGet,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @reports.customerUsageReports.get@ method which the+-- 'ReportsCustomerUsageReportsGet' request conforms to.+type ReportsCustomerUsageReportsGetResource =+  "admin"+    Core.:> "reports"+    Core.:> "v1"+    Core.:> "usage"+    Core.:> "dates"+    Core.:> Core.Capture "date" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "parameters" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] UsageReports++-- | Retrieves a report which is a collection of properties and statistics for a specific customer\'s account. For more information, see the Customers Usage Report guide. For more information about the customer report\'s parameters, see the Customers Usage parameters reference guides.+--+-- /See:/ 'newReportsCustomerUsageReportsGet' smart constructor.+data ReportsCustomerUsageReportsGet = ReportsCustomerUsageReportsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the customer to retrieve data for.+    customerId :: (Core.Maybe Core.Text),+    -- | Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@.+    date :: Core.Text,+    -- | Token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. For your follow-on requests getting all of the report\'s pages, enter the @nextPageToken@ value in the @pageToken@ query string.+    pageToken :: (Core.Maybe Core.Text),+    -- | The @parameters@ query string is a comma-separated list of event parameters that refine a report\'s results. The parameter is associated with a specific application. The application values for the Customers usage report include @accounts@, @app_maker@, @apps_scripts@, @calendar@, @classroom@, @cros@, @docs@, @gmail@, @gplus@, @device_management@, @meet@, and @sites@. A @parameters@ query string is in the CSV form of @app_name1:param_name1, app_name2:param_name2@. /Note:/ The API doesn\'t accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. An example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.+    parameters :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportsCustomerUsageReportsGet' with the minimum fields required to make a request.+newReportsCustomerUsageReportsGet ::+  -- |  Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@. See 'date'.+  Core.Text ->+  ReportsCustomerUsageReportsGet+newReportsCustomerUsageReportsGet date =+  ReportsCustomerUsageReportsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customerId = Core.Nothing,+      date = date,+      pageToken = Core.Nothing,+      parameters = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest ReportsCustomerUsageReportsGet where+  type Rs ReportsCustomerUsageReportsGet = UsageReports+  type+    Scopes ReportsCustomerUsageReportsGet =+      '[Admin'Reports'Usage'Readonly]+  requestClient ReportsCustomerUsageReportsGet {..} =+    go+      date+      xgafv+      accessToken+      callback+      customerId+      pageToken+      parameters+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy ReportsCustomerUsageReportsGetResource)+          Core.mempty
+ gen/Gogol/Admin/Reports/EntityUsageReports/Get.hs view
@@ -0,0 +1,153 @@+{-# 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.Admin.Reports.EntityUsageReports.Get+-- 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)+--+-- Retrieves a report which is a collection of properties and statistics for entities used by users within the account. For more information, see the Entities Usage Report guide. For more information about the entities report\'s parameters, see the Entities Usage parameters reference guides.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @reports.entityUsageReports.get@.+module Gogol.Admin.Reports.EntityUsageReports.Get+  ( -- * Resource+    ReportsEntityUsageReportsGetResource,++    -- ** Constructing a Request+    ReportsEntityUsageReportsGet (..),+    newReportsEntityUsageReportsGet,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @reports.entityUsageReports.get@ method which the+-- 'ReportsEntityUsageReportsGet' request conforms to.+type ReportsEntityUsageReportsGetResource =+  "admin"+    Core.:> "reports"+    Core.:> "v1"+    Core.:> "usage"+    Core.:> Core.Capture "entityType" EntityUsageReportsGetEntityType+    Core.:> Core.Capture "entityKey" Core.Text+    Core.:> "dates"+    Core.:> Core.Capture "date" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "filters" Core.Text+    Core.:> Core.QueryParam "maxResults" Core.Word32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "parameters" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] UsageReports++-- | Retrieves a report which is a collection of properties and statistics for entities used by users within the account. For more information, see the Entities Usage Report guide. For more information about the entities report\'s parameters, see the Entities Usage parameters reference guides.+--+-- /See:/ 'newReportsEntityUsageReportsGet' smart constructor.+data ReportsEntityUsageReportsGet = ReportsEntityUsageReportsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the customer to retrieve data for.+    customerId :: (Core.Maybe Core.Text),+    -- | Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@.+    date :: Core.Text,+    -- | Represents the key of the object to filter the data with. It is a string which can take the value @all@ to get activity events for all users, or any other value for an app-specific entity. For details on how to obtain the @entityKey@ for a particular @entityType@, see the Entities Usage parameters reference guides.+    entityKey :: Core.Text,+    -- | Represents the type of entity for the report.+    entityType :: EntityUsageReportsGetEntityType,+    -- | The @filters@ query string is a comma-separated list of an application\'s event parameters where the parameter\'s value is manipulated by a relational operator. The @filters@ query string includes the name of the application whose usage is returned in the report. The application values for the Entities usage report include @accounts@, @docs@, and @gmail@. Filters are in the form @[application name]:parameter name[parameter value],...@. In this example, the @\<>@ \'not equal to\' operator is URL-encoded in the request\'s query string (%3C%3E): GET https:\/\/www.googleapis.com\/admin\/reports\/v1\/usage\/gplus/communities\/all\/dates\/2017-12-01 ?parameters=gplus:community/name,gplus:num/total/members &filters=gplus:num/total/members%3C%3E0 The relational operators include: - @==@ - \'equal to\'. - @\<>@ - \'not equal to\'. It is URL-encoded (%3C%3E). - @\<@ - \'less than\'. It is URL-encoded (%3C). - @\<=@ - \'less than or equal to\'. It is URL-encoded (%3C=). - @>@ - \'greater than\'. It is URL-encoded (%3E).+    -- - @>=@ - \'greater than or equal to\'. It is URL-encoded (%3E=). Filters can only be applied to numeric parameters.+    filters :: (Core.Maybe Core.Text),+    -- | Determines how many activity records are shown on each response page. For example, if the request sets @maxResults=1@ and the report has two activities, the report has two pages. The response\'s @nextPageToken@ property has the token to the second page.+    maxResults :: Core.Word32,+    -- | Token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. In your follow-on request getting the next page of the report, enter the @nextPageToken@ value in the @pageToken@ query string.+    pageToken :: (Core.Maybe Core.Text),+    -- | The @parameters@ query string is a comma-separated list of event parameters that refine a report\'s results. The parameter is associated with a specific application. The application values for the Entities usage report are only @gplus@. A @parameter@ query string is in the CSV form of @[app_name1:param_name1], [app_name2:param_name2]...@. /Note:/ The API doesn\'t accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. An example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.+    parameters :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportsEntityUsageReportsGet' with the minimum fields required to make a request.+newReportsEntityUsageReportsGet ::+  -- |  Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@. See 'date'.+  Core.Text ->+  -- |  Represents the key of the object to filter the data with. It is a string which can take the value @all@ to get activity events for all users, or any other value for an app-specific entity. For details on how to obtain the @entityKey@ for a particular @entityType@, see the Entities Usage parameters reference guides. See 'entityKey'.+  Core.Text ->+  -- |  Represents the type of entity for the report. See 'entityType'.+  EntityUsageReportsGetEntityType ->+  ReportsEntityUsageReportsGet+newReportsEntityUsageReportsGet date entityKey entityType =+  ReportsEntityUsageReportsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customerId = Core.Nothing,+      date = date,+      entityKey = entityKey,+      entityType = entityType,+      filters = Core.Nothing,+      maxResults = 1000,+      pageToken = Core.Nothing,+      parameters = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest ReportsEntityUsageReportsGet where+  type Rs ReportsEntityUsageReportsGet = UsageReports+  type+    Scopes ReportsEntityUsageReportsGet =+      '[Admin'Reports'Usage'Readonly]+  requestClient ReportsEntityUsageReportsGet {..} =+    go+      entityType+      entityKey+      date+      xgafv+      accessToken+      callback+      customerId+      filters+      (Core.Just maxResults)+      pageToken+      parameters+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy ReportsEntityUsageReportsGetResource)+          Core.mempty
+ gen/Gogol/Admin/Reports/Internal/Product.hs view
@@ -0,0 +1,1009 @@+{-# 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.Admin.Reports.Internal.Product+-- 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.Admin.Reports.Internal.Product+  ( -- * Activities+    Activities (..),+    newActivities,++    -- * Activity+    Activity (..),+    newActivity,++    -- * Activity_Actor+    Activity_Actor (..),+    newActivity_Actor,++    -- * Activity_EventsItem+    Activity_EventsItem (..),+    newActivity_EventsItem,++    -- * Activity_EventsItem_ParametersItem+    Activity_EventsItem_ParametersItem (..),+    newActivity_EventsItem_ParametersItem,++    -- * Activity_EventsItem_ParametersItem_MessageValue+    Activity_EventsItem_ParametersItem_MessageValue (..),+    newActivity_EventsItem_ParametersItem_MessageValue,++    -- * Activity_EventsItem_ParametersItem_MultiMessageValueItem+    Activity_EventsItem_ParametersItem_MultiMessageValueItem (..),+    newActivity_EventsItem_ParametersItem_MultiMessageValueItem,++    -- * Activity_Id+    Activity_Id (..),+    newActivity_Id,++    -- * Channel+    Channel (..),+    newChannel,++    -- * Channel_Params+    Channel_Params (..),+    newChannel_Params,++    -- * NestedParameter+    NestedParameter (..),+    newNestedParameter,++    -- * UsageReport+    UsageReport (..),+    newUsageReport,++    -- * UsageReport_Entity+    UsageReport_Entity (..),+    newUsageReport_Entity,++    -- * UsageReport_ParametersItem+    UsageReport_ParametersItem (..),+    newUsageReport_ParametersItem,++    -- * UsageReport_ParametersItem_MsgValueItem+    UsageReport_ParametersItem_MsgValueItem (..),+    newUsageReport_ParametersItem_MsgValueItem,++    -- * UsageReports+    UsageReports (..),+    newUsageReports,++    -- * UsageReports_WarningsItem+    UsageReports_WarningsItem (..),+    newUsageReports_WarningsItem,++    -- * UsageReports_WarningsItem_DataItem+    UsageReports_WarningsItem_DataItem (..),+    newUsageReports_WarningsItem_DataItem,+  )+where++import Gogol.Admin.Reports.Internal.Sum+import Gogol.Prelude qualified as Core++-- | JSON template for a collection of activities.+--+-- /See:/ 'newActivities' smart constructor.+data Activities = Activities+  { -- | ETag of the resource.+    etag :: (Core.Maybe Core.Text),+    -- | Each activity record in the response.+    items :: (Core.Maybe [Activity]),+    -- | The type of API resource. For an activity report, the value is @reports#activities@.+    kind :: Core.Text,+    -- | Token for retrieving the follow-on next page of the report. The @nextPageToken@ value is used in the request\'s @pageToken@ query string.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activities' with the minimum fields required to make a request.+newActivities ::+  Activities+newActivities =+  Activities+    { etag = Core.Nothing,+      items = Core.Nothing,+      kind = "admin#reports#activities",+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON Activities where+  parseJSON =+    Core.withObject+      "Activities"+      ( \o ->+          Activities+            Core.<$> (o Core..:? "etag")+            Core.<*> (o Core..:? "items")+            Core.<*> (o Core..:? "kind" Core..!= "admin#reports#activities")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON Activities where+  toJSON Activities {..} =+    Core.object+      ( Core.catMaybes+          [ ("etag" Core..=) Core.<$> etag,+            ("items" Core..=) Core.<$> items,+            Core.Just ("kind" Core..= kind),+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | JSON template for the activity resource.+--+-- /See:/ 'newActivity' smart constructor.+data Activity = Activity+  { -- | User doing the action.+    actor :: (Core.Maybe Activity_Actor),+    -- | ETag of the entry.+    etag :: (Core.Maybe Core.Text),+    -- | Activity events in the report.+    events :: (Core.Maybe [Activity_EventsItem]),+    -- | Unique identifier for each activity record.+    id :: (Core.Maybe Activity_Id),+    -- | IP address of the user doing the action. This is the Internet Protocol (IP) address of the user when logging into Google Workspace, which may or may not reflect the user\'s physical location. For example, the IP address can be the user\'s proxy server\'s address or a virtual private network (VPN) address. The API supports IPv4 and IPv6.+    ipAddress :: (Core.Maybe Core.Text),+    -- | The type of API resource. For an activity report, the value is @audit#activity@.+    kind :: Core.Text,+    -- | This is the domain that is affected by the report\'s event. For example domain of Admin console or the Drive application\'s document owner.+    ownerDomain :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity' with the minimum fields required to make a request.+newActivity ::+  Activity+newActivity =+  Activity+    { actor = Core.Nothing,+      etag = Core.Nothing,+      events = Core.Nothing,+      id = Core.Nothing,+      ipAddress = Core.Nothing,+      kind = "admin#reports#activity",+      ownerDomain = Core.Nothing+    }++instance Core.FromJSON Activity where+  parseJSON =+    Core.withObject+      "Activity"+      ( \o ->+          Activity+            Core.<$> (o Core..:? "actor")+            Core.<*> (o Core..:? "etag")+            Core.<*> (o Core..:? "events")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "ipAddress")+            Core.<*> (o Core..:? "kind" Core..!= "admin#reports#activity")+            Core.<*> (o Core..:? "ownerDomain")+      )++instance Core.ToJSON Activity where+  toJSON Activity {..} =+    Core.object+      ( Core.catMaybes+          [ ("actor" Core..=) Core.<$> actor,+            ("etag" Core..=) Core.<$> etag,+            ("events" Core..=) Core.<$> events,+            ("id" Core..=) Core.<$> id,+            ("ipAddress" Core..=) Core.<$> ipAddress,+            Core.Just ("kind" Core..= kind),+            ("ownerDomain" Core..=) Core.<$> ownerDomain+          ]+      )++-- | User doing the action.+--+-- /See:/ 'newActivity_Actor' smart constructor.+data Activity_Actor = Activity_Actor+  { -- | The type of actor.+    callerType :: (Core.Maybe Core.Text),+    -- | The primary email address of the actor. May be absent if there is no email address associated with the actor.+    email :: (Core.Maybe Core.Text),+    -- | Only present when @callerType@ is @KEY@. Can be the @consumer_key@ of the requestor for OAuth 2LO API requests or an identifier for robot accounts.+    key :: (Core.Maybe Core.Text),+    -- | The unique Google Workspace profile ID of the actor. This value might be absent if the actor is not a Google Workspace user, or may be the number 105250506097979753968 which acts as a placeholder ID.+    profileId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_Actor' with the minimum fields required to make a request.+newActivity_Actor ::+  Activity_Actor+newActivity_Actor =+  Activity_Actor+    { callerType = Core.Nothing,+      email = Core.Nothing,+      key = Core.Nothing,+      profileId = Core.Nothing+    }++instance Core.FromJSON Activity_Actor where+  parseJSON =+    Core.withObject+      "Activity_Actor"+      ( \o ->+          Activity_Actor+            Core.<$> (o Core..:? "callerType")+            Core.<*> (o Core..:? "email")+            Core.<*> (o Core..:? "key")+            Core.<*> (o Core..:? "profileId")+      )++instance Core.ToJSON Activity_Actor where+  toJSON Activity_Actor {..} =+    Core.object+      ( Core.catMaybes+          [ ("callerType" Core..=) Core.<$> callerType,+            ("email" Core..=) Core.<$> email,+            ("key" Core..=) Core.<$> key,+            ("profileId" Core..=) Core.<$> profileId+          ]+      )++--+-- /See:/ 'newActivity_EventsItem' smart constructor.+data Activity_EventsItem = Activity_EventsItem+  { -- | Name of the event. This is the specific name of the activity reported by the API. And each @eventName@ is related to a specific Google Workspace service or feature which the API organizes into types of events. For @eventName@ request parameters in general: - If no @eventName@ is given, the report returns all possible instances of an @eventName@. - When you request an @eventName@, the API\'s response returns all activities which contain that @eventName@. For more information about @eventName@ properties, see the list of event names for various applications above in @applicationName@.+    name :: (Core.Maybe Core.Text),+    -- | Parameter value pairs for various applications. For more information about @eventName@ parameters, see the list of event names for various applications above in @applicationName@.+    parameters :: (Core.Maybe [Activity_EventsItem_ParametersItem]),+    -- | Type of event. The Google Workspace service or feature that an administrator changes is identified in the @type@ property which identifies an event using the @eventName@ property. For a full list of the API\'s @type@ categories, see the list of event names for various applications above in @applicationName@.+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_EventsItem' with the minimum fields required to make a request.+newActivity_EventsItem ::+  Activity_EventsItem+newActivity_EventsItem =+  Activity_EventsItem+    { name = Core.Nothing,+      parameters = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON Activity_EventsItem where+  parseJSON =+    Core.withObject+      "Activity_EventsItem"+      ( \o ->+          Activity_EventsItem+            Core.<$> (o Core..:? "name")+            Core.<*> (o Core..:? "parameters")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Activity_EventsItem where+  toJSON Activity_EventsItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("name" Core..=) Core.<$> name,+            ("parameters" Core..=) Core.<$> parameters,+            ("type" Core..=) Core.<$> type'+          ]+      )++--+-- /See:/ 'newActivity_EventsItem_ParametersItem' smart constructor.+data Activity_EventsItem_ParametersItem = Activity_EventsItem_ParametersItem+  { -- | Boolean value of the parameter.+    boolValue :: (Core.Maybe Core.Bool),+    -- | Integer value of the parameter.+    intValue :: (Core.Maybe Core.Int64),+    -- | Nested parameter value pairs associated with this parameter. Complex value type for a parameter are returned as a list of parameter values. For example, the address parameter may have a value as @[{parameter: [{name: city, value: abc}]}]@+    messageValue :: (Core.Maybe Activity_EventsItem_ParametersItem_MessageValue),+    -- | Integer values of the parameter.+    multiIntValue :: (Core.Maybe [Core.Int64]),+    -- | List of @messageValue@ objects.+    multiMessageValue ::+      ( Core.Maybe+          [Activity_EventsItem_ParametersItem_MultiMessageValueItem]+      ),+    -- | String values of the parameter.+    multiValue :: (Core.Maybe [Core.Text]),+    -- | The name of the parameter.+    name :: (Core.Maybe Core.Text),+    -- | String value of the parameter.+    value :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_EventsItem_ParametersItem' with the minimum fields required to make a request.+newActivity_EventsItem_ParametersItem ::+  Activity_EventsItem_ParametersItem+newActivity_EventsItem_ParametersItem =+  Activity_EventsItem_ParametersItem+    { boolValue = Core.Nothing,+      intValue = Core.Nothing,+      messageValue = Core.Nothing,+      multiIntValue = Core.Nothing,+      multiMessageValue = Core.Nothing,+      multiValue = Core.Nothing,+      name = Core.Nothing,+      value = Core.Nothing+    }++instance Core.FromJSON Activity_EventsItem_ParametersItem where+  parseJSON =+    Core.withObject+      "Activity_EventsItem_ParametersItem"+      ( \o ->+          Activity_EventsItem_ParametersItem+            Core.<$> (o Core..:? "boolValue")+            Core.<*> (o Core..:? "intValue" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "messageValue")+            Core.<*> ( o+                         Core..:? "multiIntValue"+                         Core.<&> Core.fmap (Core.fmap Core.fromAsText)+                     )+            Core.<*> (o Core..:? "multiMessageValue")+            Core.<*> (o Core..:? "multiValue")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON Activity_EventsItem_ParametersItem where+  toJSON Activity_EventsItem_ParametersItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("boolValue" Core..=) Core.<$> boolValue,+            ("intValue" Core..=) Core.. Core.AsText Core.<$> intValue,+            ("messageValue" Core..=) Core.<$> messageValue,+            ("multiIntValue" Core..=)+              Core.. Core.fmap Core.AsText+              Core.<$> multiIntValue,+            ("multiMessageValue" Core..=) Core.<$> multiMessageValue,+            ("multiValue" Core..=) Core.<$> multiValue,+            ("name" Core..=) Core.<$> name,+            ("value" Core..=) Core.<$> value+          ]+      )++-- | Nested parameter value pairs associated with this parameter. Complex value type for a parameter are returned as a list of parameter values. For example, the address parameter may have a value as @[{parameter: [{name: city, value: abc}]}]@+--+-- /See:/ 'newActivity_EventsItem_ParametersItem_MessageValue' smart constructor.+newtype Activity_EventsItem_ParametersItem_MessageValue = Activity_EventsItem_ParametersItem_MessageValue+  { -- | Parameter values+    parameter :: (Core.Maybe [NestedParameter])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_EventsItem_ParametersItem_MessageValue' with the minimum fields required to make a request.+newActivity_EventsItem_ParametersItem_MessageValue ::+  Activity_EventsItem_ParametersItem_MessageValue+newActivity_EventsItem_ParametersItem_MessageValue =+  Activity_EventsItem_ParametersItem_MessageValue+    { parameter =+        Core.Nothing+    }++instance+  Core.FromJSON+    Activity_EventsItem_ParametersItem_MessageValue+  where+  parseJSON =+    Core.withObject+      "Activity_EventsItem_ParametersItem_MessageValue"+      ( \o ->+          Activity_EventsItem_ParametersItem_MessageValue+            Core.<$> (o Core..:? "parameter")+      )++instance+  Core.ToJSON+    Activity_EventsItem_ParametersItem_MessageValue+  where+  toJSON Activity_EventsItem_ParametersItem_MessageValue {..} =+    Core.object+      (Core.catMaybes [("parameter" Core..=) Core.<$> parameter])++--+-- /See:/ 'newActivity_EventsItem_ParametersItem_MultiMessageValueItem' smart constructor.+newtype Activity_EventsItem_ParametersItem_MultiMessageValueItem = Activity_EventsItem_ParametersItem_MultiMessageValueItem+  { -- | Parameter values+    parameter :: (Core.Maybe [NestedParameter])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_EventsItem_ParametersItem_MultiMessageValueItem' with the minimum fields required to make a request.+newActivity_EventsItem_ParametersItem_MultiMessageValueItem ::+  Activity_EventsItem_ParametersItem_MultiMessageValueItem+newActivity_EventsItem_ParametersItem_MultiMessageValueItem =+  Activity_EventsItem_ParametersItem_MultiMessageValueItem+    { parameter =+        Core.Nothing+    }++instance+  Core.FromJSON+    Activity_EventsItem_ParametersItem_MultiMessageValueItem+  where+  parseJSON =+    Core.withObject+      "Activity_EventsItem_ParametersItem_MultiMessageValueItem"+      ( \o ->+          Activity_EventsItem_ParametersItem_MultiMessageValueItem+            Core.<$> (o Core..:? "parameter")+      )++instance+  Core.ToJSON+    Activity_EventsItem_ParametersItem_MultiMessageValueItem+  where+  toJSON Activity_EventsItem_ParametersItem_MultiMessageValueItem {..} =+    Core.object+      (Core.catMaybes [("parameter" Core..=) Core.<$> parameter])++-- | Unique identifier for each activity record.+--+-- /See:/ 'newActivity_Id' smart constructor.+data Activity_Id = Activity_Id+  { -- | Application name to which the event belongs. For possible values see the list of applications above in @applicationName@.+    applicationName :: (Core.Maybe Core.Text),+    -- | The unique identifier for a Google Workspace account.+    customerId :: (Core.Maybe Core.Text),+    -- | Time of occurrence of the activity. This is in UNIX epoch time in seconds.+    time :: (Core.Maybe Core.DateTime),+    -- | Unique qualifier if multiple events have the same time.+    uniqueQualifier :: (Core.Maybe Core.Int64)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Activity_Id' with the minimum fields required to make a request.+newActivity_Id ::+  Activity_Id+newActivity_Id =+  Activity_Id+    { applicationName = Core.Nothing,+      customerId = Core.Nothing,+      time = Core.Nothing,+      uniqueQualifier = Core.Nothing+    }++instance Core.FromJSON Activity_Id where+  parseJSON =+    Core.withObject+      "Activity_Id"+      ( \o ->+          Activity_Id+            Core.<$> (o Core..:? "applicationName")+            Core.<*> (o Core..:? "customerId")+            Core.<*> (o Core..:? "time")+            Core.<*> (o Core..:? "uniqueQualifier" Core.<&> Core.fmap Core.fromAsText)+      )++instance Core.ToJSON Activity_Id where+  toJSON Activity_Id {..} =+    Core.object+      ( Core.catMaybes+          [ ("applicationName" Core..=) Core.<$> applicationName,+            ("customerId" Core..=) Core.<$> customerId,+            ("time" Core..=) Core.<$> time,+            ("uniqueQualifier" Core..=)+              Core.. Core.AsText+              Core.<$> uniqueQualifier+          ]+      )++-- | A notification channel used to watch for resource changes.+--+-- /See:/ 'newChannel' smart constructor.+data Channel = Channel+  { -- | The address where notifications are delivered for this channel.+    address :: (Core.Maybe Core.Text),+    -- | Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.+    expiration :: (Core.Maybe Core.Int64),+    -- | A UUID or similar unique string that identifies this channel.+    id :: (Core.Maybe Core.Text),+    -- | Identifies this as a notification channel used to watch for changes to a resource, which is \"@api#channel@\".+    kind :: Core.Text,+    -- | Additional parameters controlling delivery channel behavior. Optional.+    params :: (Core.Maybe Channel_Params),+    -- | A Boolean value to indicate whether payload is wanted. A payload is data that is sent in the body of an HTTP POST, PUT, or PATCH message and contains important information about the request. Optional.+    payload :: (Core.Maybe Core.Bool),+    -- | An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.+    resourceId :: (Core.Maybe Core.Text),+    -- | A version-specific identifier for the watched resource.+    resourceUri :: (Core.Maybe Core.Text),+    -- | An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.+    token :: (Core.Maybe Core.Text),+    -- | The type of delivery mechanism used for this channel. The value should be set to @\"web_hook\"@.+    type' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+newChannel ::+  Channel+newChannel =+  Channel+    { address = Core.Nothing,+      expiration = Core.Nothing,+      id = Core.Nothing,+      kind = "api#channel",+      params = Core.Nothing,+      payload = Core.Nothing,+      resourceId = Core.Nothing,+      resourceUri = Core.Nothing,+      token = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON Channel where+  parseJSON =+    Core.withObject+      "Channel"+      ( \o ->+          Channel+            Core.<$> (o Core..:? "address")+            Core.<*> (o Core..:? "expiration" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "kind" Core..!= "api#channel")+            Core.<*> (o Core..:? "params")+            Core.<*> (o Core..:? "payload")+            Core.<*> (o Core..:? "resourceId")+            Core.<*> (o Core..:? "resourceUri")+            Core.<*> (o Core..:? "token")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Channel where+  toJSON Channel {..} =+    Core.object+      ( Core.catMaybes+          [ ("address" Core..=) Core.<$> address,+            ("expiration" Core..=) Core.. Core.AsText Core.<$> expiration,+            ("id" Core..=) Core.<$> id,+            Core.Just ("kind" Core..= kind),+            ("params" Core..=) Core.<$> params,+            ("payload" Core..=) Core.<$> payload,+            ("resourceId" Core..=) Core.<$> resourceId,+            ("resourceUri" Core..=) Core.<$> resourceUri,+            ("token" Core..=) Core.<$> token,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | Additional parameters controlling delivery channel behavior. Optional.+--+-- /See:/ 'newChannel_Params' smart constructor.+newtype Channel_Params = Channel_Params+  { additional :: (Core.HashMap Core.Text Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Channel_Params' with the minimum fields required to make a request.+newChannel_Params ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Core.Text ->+  Channel_Params+newChannel_Params additional =+  Channel_Params {additional = additional}++instance Core.FromJSON Channel_Params where+  parseJSON =+    Core.withObject+      "Channel_Params"+      (\o -> Channel_Params Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Channel_Params where+  toJSON Channel_Params {..} = Core.toJSON additional++-- | JSON template for a parameter used in various reports.+--+-- /See:/ 'newNestedParameter' smart constructor.+data NestedParameter = NestedParameter+  { -- | Boolean value of the parameter.+    boolValue :: (Core.Maybe Core.Bool),+    -- | Integer value of the parameter.+    intValue :: (Core.Maybe Core.Int64),+    -- | Multiple boolean values of the parameter.+    multiBoolValue :: (Core.Maybe [Core.Bool]),+    -- | Multiple integer values of the parameter.+    multiIntValue :: (Core.Maybe [Core.Int64]),+    -- | Multiple string values of the parameter.+    multiValue :: (Core.Maybe [Core.Text]),+    -- | The name of the parameter.+    name :: (Core.Maybe Core.Text),+    -- | String value of the parameter.+    value :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'NestedParameter' with the minimum fields required to make a request.+newNestedParameter ::+  NestedParameter+newNestedParameter =+  NestedParameter+    { boolValue = Core.Nothing,+      intValue = Core.Nothing,+      multiBoolValue = Core.Nothing,+      multiIntValue = Core.Nothing,+      multiValue = Core.Nothing,+      name = Core.Nothing,+      value = Core.Nothing+    }++instance Core.FromJSON NestedParameter where+  parseJSON =+    Core.withObject+      "NestedParameter"+      ( \o ->+          NestedParameter+            Core.<$> (o Core..:? "boolValue")+            Core.<*> (o Core..:? "intValue" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "multiBoolValue")+            Core.<*> ( o+                         Core..:? "multiIntValue"+                         Core.<&> Core.fmap (Core.fmap Core.fromAsText)+                     )+            Core.<*> (o Core..:? "multiValue")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON NestedParameter where+  toJSON NestedParameter {..} =+    Core.object+      ( Core.catMaybes+          [ ("boolValue" Core..=) Core.<$> boolValue,+            ("intValue" Core..=) Core.. Core.AsText Core.<$> intValue,+            ("multiBoolValue" Core..=) Core.<$> multiBoolValue,+            ("multiIntValue" Core..=)+              Core.. Core.fmap Core.AsText+              Core.<$> multiIntValue,+            ("multiValue" Core..=) Core.<$> multiValue,+            ("name" Core..=) Core.<$> name,+            ("value" Core..=) Core.<$> value+          ]+      )++-- | JSON template for a usage report.+--+-- /See:/ 'newUsageReport' smart constructor.+data UsageReport = UsageReport+  { -- | Output only. The date of the report request.+    date :: (Core.Maybe Core.Text),+    -- | Output only. Information about the type of the item.+    entity :: (Core.Maybe UsageReport_Entity),+    -- | ETag of the resource.+    etag :: (Core.Maybe Core.Text),+    -- | The type of API resource. For a usage report, the value is @admin#reports#usageReport@.+    kind :: Core.Text,+    -- | Output only. Parameter value pairs for various applications. For the Entity Usage Report parameters and values, see </admin-sdk/reports/v1/reference/usage-ref-appendix-a/entities the Entity Usage parameters reference>.+    parameters :: (Core.Maybe [UsageReport_ParametersItem])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReport' with the minimum fields required to make a request.+newUsageReport ::+  UsageReport+newUsageReport =+  UsageReport+    { date = Core.Nothing,+      entity = Core.Nothing,+      etag = Core.Nothing,+      kind = "admin#reports#usageReport",+      parameters = Core.Nothing+    }++instance Core.FromJSON UsageReport where+  parseJSON =+    Core.withObject+      "UsageReport"+      ( \o ->+          UsageReport+            Core.<$> (o Core..:? "date")+            Core.<*> (o Core..:? "entity")+            Core.<*> (o Core..:? "etag")+            Core.<*> (o Core..:? "kind" Core..!= "admin#reports#usageReport")+            Core.<*> (o Core..:? "parameters")+      )++instance Core.ToJSON UsageReport where+  toJSON UsageReport {..} =+    Core.object+      ( Core.catMaybes+          [ ("date" Core..=) Core.<$> date,+            ("entity" Core..=) Core.<$> entity,+            ("etag" Core..=) Core.<$> etag,+            Core.Just ("kind" Core..= kind),+            ("parameters" Core..=) Core.<$> parameters+          ]+      )++-- | Output only. Information about the type of the item.+--+-- /See:/ 'newUsageReport_Entity' smart constructor.+data UsageReport_Entity = UsageReport_Entity+  { -- | Output only. The unique identifier of the customer\'s account.+    customerId :: (Core.Maybe Core.Text),+    -- | Output only. Object key. Only relevant if entity.type = \"OBJECT\" Note: external-facing name of report is \"Entities\" rather than \"Objects\".+    entityId :: (Core.Maybe Core.Text),+    -- | Output only. The user\'s immutable Google Workspace profile identifier.+    profileId :: (Core.Maybe Core.Text),+    -- | Output only. The type of item. The value is @user@.+    type' :: (Core.Maybe Core.Text),+    -- | Output only. The user\'s email address. Only relevant if entity.type = \"USER\"+    userEmail :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReport_Entity' with the minimum fields required to make a request.+newUsageReport_Entity ::+  UsageReport_Entity+newUsageReport_Entity =+  UsageReport_Entity+    { customerId = Core.Nothing,+      entityId = Core.Nothing,+      profileId = Core.Nothing,+      type' = Core.Nothing,+      userEmail = Core.Nothing+    }++instance Core.FromJSON UsageReport_Entity where+  parseJSON =+    Core.withObject+      "UsageReport_Entity"+      ( \o ->+          UsageReport_Entity+            Core.<$> (o Core..:? "customerId")+            Core.<*> (o Core..:? "entityId")+            Core.<*> (o Core..:? "profileId")+            Core.<*> (o Core..:? "type")+            Core.<*> (o Core..:? "userEmail")+      )++instance Core.ToJSON UsageReport_Entity where+  toJSON UsageReport_Entity {..} =+    Core.object+      ( Core.catMaybes+          [ ("customerId" Core..=) Core.<$> customerId,+            ("entityId" Core..=) Core.<$> entityId,+            ("profileId" Core..=) Core.<$> profileId,+            ("type" Core..=) Core.<$> type',+            ("userEmail" Core..=) Core.<$> userEmail+          ]+      )++--+-- /See:/ 'newUsageReport_ParametersItem' smart constructor.+data UsageReport_ParametersItem = UsageReport_ParametersItem+  { -- | Output only. Boolean value of the parameter.+    boolValue :: (Core.Maybe Core.Bool),+    -- | The RFC 3339 formatted value of the parameter, for example 2010-10-28T10:26:35.000Z.+    datetimeValue :: (Core.Maybe Core.DateTime),+    -- | Output only. Integer value of the parameter.+    intValue :: (Core.Maybe Core.Int64),+    -- | Output only. Nested message value of the parameter.+    msgValue :: (Core.Maybe [UsageReport_ParametersItem_MsgValueItem]),+    -- | The name of the parameter. For the User Usage Report parameter names, see the User Usage parameters reference.+    name :: (Core.Maybe Core.Text),+    -- | Output only. String value of the parameter.+    stringValue :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReport_ParametersItem' with the minimum fields required to make a request.+newUsageReport_ParametersItem ::+  UsageReport_ParametersItem+newUsageReport_ParametersItem =+  UsageReport_ParametersItem+    { boolValue = Core.Nothing,+      datetimeValue = Core.Nothing,+      intValue = Core.Nothing,+      msgValue = Core.Nothing,+      name = Core.Nothing,+      stringValue = Core.Nothing+    }++instance Core.FromJSON UsageReport_ParametersItem where+  parseJSON =+    Core.withObject+      "UsageReport_ParametersItem"+      ( \o ->+          UsageReport_ParametersItem+            Core.<$> (o Core..:? "boolValue")+            Core.<*> (o Core..:? "datetimeValue")+            Core.<*> (o Core..:? "intValue" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "msgValue")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "stringValue")+      )++instance Core.ToJSON UsageReport_ParametersItem where+  toJSON UsageReport_ParametersItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("boolValue" Core..=) Core.<$> boolValue,+            ("datetimeValue" Core..=) Core.<$> datetimeValue,+            ("intValue" Core..=) Core.. Core.AsText Core.<$> intValue,+            ("msgValue" Core..=) Core.<$> msgValue,+            ("name" Core..=) Core.<$> name,+            ("stringValue" Core..=) Core.<$> stringValue+          ]+      )++--+-- /See:/ 'newUsageReport_ParametersItem_MsgValueItem' smart constructor.+newtype UsageReport_ParametersItem_MsgValueItem = UsageReport_ParametersItem_MsgValueItem+  { -- | Properties of the object.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReport_ParametersItem_MsgValueItem' with the minimum fields required to make a request.+newUsageReport_ParametersItem_MsgValueItem ::+  -- |  Properties of the object. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  UsageReport_ParametersItem_MsgValueItem+newUsageReport_ParametersItem_MsgValueItem additional =+  UsageReport_ParametersItem_MsgValueItem {additional = additional}++instance Core.FromJSON UsageReport_ParametersItem_MsgValueItem where+  parseJSON =+    Core.withObject+      "UsageReport_ParametersItem_MsgValueItem"+      ( \o ->+          UsageReport_ParametersItem_MsgValueItem+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON UsageReport_ParametersItem_MsgValueItem where+  toJSON UsageReport_ParametersItem_MsgValueItem {..} =+    Core.toJSON additional++--+-- /See:/ 'newUsageReports' smart constructor.+data UsageReports = UsageReports+  { -- | ETag of the resource.+    etag :: (Core.Maybe Core.Text),+    -- | The type of API resource. For a usage report, the value is @admin#reports#usageReports@.+    kind :: Core.Text,+    -- | Token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. For your follow-on requests getting all of the report\'s pages, enter the @nextPageToken@ value in the @pageToken@ query string.+    nextPageToken :: (Core.Maybe Core.Text),+    -- | Various application parameter records.+    usageReports :: (Core.Maybe [UsageReport]),+    -- | Warnings, if any.+    warnings :: (Core.Maybe [UsageReports_WarningsItem])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReports' with the minimum fields required to make a request.+newUsageReports ::+  UsageReports+newUsageReports =+  UsageReports+    { etag = Core.Nothing,+      kind = "admin#reports#usageReports",+      nextPageToken = Core.Nothing,+      usageReports = Core.Nothing,+      warnings = Core.Nothing+    }++instance Core.FromJSON UsageReports where+  parseJSON =+    Core.withObject+      "UsageReports"+      ( \o ->+          UsageReports+            Core.<$> (o Core..:? "etag")+            Core.<*> (o Core..:? "kind" Core..!= "admin#reports#usageReports")+            Core.<*> (o Core..:? "nextPageToken")+            Core.<*> (o Core..:? "usageReports")+            Core.<*> (o Core..:? "warnings")+      )++instance Core.ToJSON UsageReports where+  toJSON UsageReports {..} =+    Core.object+      ( Core.catMaybes+          [ ("etag" Core..=) Core.<$> etag,+            Core.Just ("kind" Core..= kind),+            ("nextPageToken" Core..=) Core.<$> nextPageToken,+            ("usageReports" Core..=) Core.<$> usageReports,+            ("warnings" Core..=) Core.<$> warnings+          ]+      )++--+-- /See:/ 'newUsageReports_WarningsItem' smart constructor.+data UsageReports_WarningsItem = UsageReports_WarningsItem+  { -- | Machine readable code or warning type. The warning code value is @200@.+    code :: (Core.Maybe Core.Text),+    -- | Key-value pairs to give detailed information on the warning.+    data' :: (Core.Maybe [UsageReports_WarningsItem_DataItem]),+    -- | The human readable messages for a warning are: - Data is not available warning - Sorry, data for date yyyy-mm-dd for application \"@application name@\" is not available. - Partial data is available warning - Data for date yyyy-mm-dd for application \"@application name@\" is not available right now, please try again after a few hours.+    message :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReports_WarningsItem' with the minimum fields required to make a request.+newUsageReports_WarningsItem ::+  UsageReports_WarningsItem+newUsageReports_WarningsItem =+  UsageReports_WarningsItem+    { code = Core.Nothing,+      data' = Core.Nothing,+      message = Core.Nothing+    }++instance Core.FromJSON UsageReports_WarningsItem where+  parseJSON =+    Core.withObject+      "UsageReports_WarningsItem"+      ( \o ->+          UsageReports_WarningsItem+            Core.<$> (o Core..:? "code")+            Core.<*> (o Core..:? "data")+            Core.<*> (o Core..:? "message")+      )++instance Core.ToJSON UsageReports_WarningsItem where+  toJSON UsageReports_WarningsItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("code" Core..=) Core.<$> code,+            ("data" Core..=) Core.<$> data',+            ("message" Core..=) Core.<$> message+          ]+      )++--+-- /See:/ 'newUsageReports_WarningsItem_DataItem' smart constructor.+data UsageReports_WarningsItem_DataItem = UsageReports_WarningsItem_DataItem+  { -- | Key associated with a key-value pair to give detailed information on the warning.+    key :: (Core.Maybe Core.Text),+    -- | Value associated with a key-value pair to give detailed information on the warning.+    value :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UsageReports_WarningsItem_DataItem' with the minimum fields required to make a request.+newUsageReports_WarningsItem_DataItem ::+  UsageReports_WarningsItem_DataItem+newUsageReports_WarningsItem_DataItem =+  UsageReports_WarningsItem_DataItem+    { key = Core.Nothing,+      value = Core.Nothing+    }++instance Core.FromJSON UsageReports_WarningsItem_DataItem where+  parseJSON =+    Core.withObject+      "UsageReports_WarningsItem_DataItem"+      ( \o ->+          UsageReports_WarningsItem_DataItem+            Core.<$> (o Core..:? "key")+            Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON UsageReports_WarningsItem_DataItem where+  toJSON UsageReports_WarningsItem_DataItem {..} =+    Core.object+      ( Core.catMaybes+          [("key" Core..=) Core.<$> key, ("value" Core..=) Core.<$> value]+      )
+ gen/Gogol/Admin/Reports/Internal/Sum.hs view
@@ -0,0 +1,393 @@+{-# 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.Admin.Reports.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.Admin.Reports.Internal.Sum+  ( -- * Xgafv+    Xgafv+      ( Xgafv_1,+        Xgafv_2,+        ..+      ),++    -- * ActivitiesListApplicationName+    ActivitiesListApplicationName+      ( ActivitiesListApplicationName_AccessTransparency,+        ActivitiesListApplicationName_Admin,+        ActivitiesListApplicationName_Calendar,+        ActivitiesListApplicationName_Chat,+        ActivitiesListApplicationName_Drive,+        ActivitiesListApplicationName_Gcp,+        ActivitiesListApplicationName_Gplus,+        ActivitiesListApplicationName_Groups,+        ActivitiesListApplicationName_GroupsEnterprise,+        ActivitiesListApplicationName_Jamboard,+        ActivitiesListApplicationName_Login,+        ActivitiesListApplicationName_Meet,+        ActivitiesListApplicationName_Mobile,+        ActivitiesListApplicationName_Rules,+        ActivitiesListApplicationName_Saml,+        ActivitiesListApplicationName_Token,+        ActivitiesListApplicationName_UserAccounts,+        ActivitiesListApplicationName_ContextAwareAccess,+        ActivitiesListApplicationName_Chrome,+        ActivitiesListApplicationName_DataStudio,+        ActivitiesListApplicationName_Keep,+        ActivitiesListApplicationName_Vault,+        ..+      ),++    -- * ActivitiesWatchApplicationName+    ActivitiesWatchApplicationName+      ( ActivitiesWatchApplicationName_AccessTransparency,+        ActivitiesWatchApplicationName_Admin,+        ActivitiesWatchApplicationName_Calendar,+        ActivitiesWatchApplicationName_Chat,+        ActivitiesWatchApplicationName_Drive,+        ActivitiesWatchApplicationName_Gcp,+        ActivitiesWatchApplicationName_Gplus,+        ActivitiesWatchApplicationName_Groups,+        ActivitiesWatchApplicationName_GroupsEnterprise,+        ActivitiesWatchApplicationName_Jamboard,+        ActivitiesWatchApplicationName_Login,+        ActivitiesWatchApplicationName_Meet,+        ActivitiesWatchApplicationName_Mobile,+        ActivitiesWatchApplicationName_Rules,+        ActivitiesWatchApplicationName_Saml,+        ActivitiesWatchApplicationName_Token,+        ActivitiesWatchApplicationName_UserAccounts,+        ActivitiesWatchApplicationName_ContextAwareAccess,+        ActivitiesWatchApplicationName_Chrome,+        ActivitiesWatchApplicationName_DataStudio,+        ActivitiesWatchApplicationName_Keep,+        ..+      ),++    -- * EntityUsageReportsGetEntityType+    EntityUsageReportsGetEntityType+      ( EntityUsageReportsGetEntityType_GplusCommunities,+        ..+      ),+  )+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+  #-}++-- | Application name for which the events are to be retrieved.+newtype ActivitiesListApplicationName = ActivitiesListApplicationName {fromActivitiesListApplicationName :: 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 Google Workspace Access Transparency activity reports return information about different types of Access Transparency activity events.+pattern ActivitiesListApplicationName_AccessTransparency :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_AccessTransparency = ActivitiesListApplicationName "access_transparency"++-- | The Admin console application\'s activity reports return account information about different types of administrator activity events.+pattern ActivitiesListApplicationName_Admin :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Admin = ActivitiesListApplicationName "admin"++-- | The Google Calendar application\'s activity reports return information about various Calendar activity events.+pattern ActivitiesListApplicationName_Calendar :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Calendar = ActivitiesListApplicationName "calendar"++-- | The Chat activity reports return information about various Chat activity events.+pattern ActivitiesListApplicationName_Chat :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Chat = ActivitiesListApplicationName "chat"++-- | The Google Drive application\'s activity reports return information about various Google Drive activity events. The Drive activity report is only available for Google Workspace Business and Enterprise customers.+pattern ActivitiesListApplicationName_Drive :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Drive = ActivitiesListApplicationName "drive"++-- | The Google Cloud Platform application\'s activity reports return information about various GCP activity events.+pattern ActivitiesListApplicationName_Gcp :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Gcp = ActivitiesListApplicationName "gcp"++-- | The Google+ application\'s activity reports return information about various Google+ activity events.+pattern ActivitiesListApplicationName_Gplus :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Gplus = ActivitiesListApplicationName "gplus"++-- | The Google Groups application\'s activity reports return information about various Groups activity events.+pattern ActivitiesListApplicationName_Groups :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Groups = ActivitiesListApplicationName "groups"++-- | The Enterprise Groups activity reports return information about various Enterprise group activity events.+pattern ActivitiesListApplicationName_GroupsEnterprise :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_GroupsEnterprise = ActivitiesListApplicationName "groups_enterprise"++-- | The Jamboard activity reports return information about various Jamboard activity events.+pattern ActivitiesListApplicationName_Jamboard :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Jamboard = ActivitiesListApplicationName "jamboard"++-- | The Login application\'s activity reports return account information about different types of Login activity events.+pattern ActivitiesListApplicationName_Login :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Login = ActivitiesListApplicationName "login"++-- | The Meet Audit activity report returns information about different types of Meet Audit activity events.+pattern ActivitiesListApplicationName_Meet :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Meet = ActivitiesListApplicationName "meet"++-- | The Device Audit activity report returns information about different types of Device Audit activity events.+pattern ActivitiesListApplicationName_Mobile :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Mobile = ActivitiesListApplicationName "mobile"++-- | The Rules activity report returns information about different types of Rules activity events.+pattern ActivitiesListApplicationName_Rules :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Rules = ActivitiesListApplicationName "rules"++-- | The SAML activity report returns information about different types of SAML activity events.+pattern ActivitiesListApplicationName_Saml :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Saml = ActivitiesListApplicationName "saml"++-- | The Token application\'s activity reports return account information about different types of Token activity events.+pattern ActivitiesListApplicationName_Token :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Token = ActivitiesListApplicationName "token"++-- | The User Accounts application\'s activity reports return account information about different types of User Accounts activity events.+pattern ActivitiesListApplicationName_UserAccounts :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_UserAccounts = ActivitiesListApplicationName "user_accounts"++-- | The Context-aware access activity reports return information about users\' access denied events due to Context-aware access rules.+pattern ActivitiesListApplicationName_ContextAwareAccess :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_ContextAwareAccess = ActivitiesListApplicationName "context_aware_access"++-- | The Chrome activity reports return information about Chrome browser and Chrome OS events.+pattern ActivitiesListApplicationName_Chrome :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Chrome = ActivitiesListApplicationName "chrome"++-- | The Data Studio activity reports return information about various types of Data Studio activity events.+pattern ActivitiesListApplicationName_DataStudio :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_DataStudio = ActivitiesListApplicationName "data_studio"++-- | The Keep application\'s activity reports return information about various Google Keep activity events. The Keep activity report is only available for Google Workspace Business and Enterprise customers.+pattern ActivitiesListApplicationName_Keep :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Keep = ActivitiesListApplicationName "keep"++-- | The Vault activity reports return information about various types of Vault activity events.+pattern ActivitiesListApplicationName_Vault :: ActivitiesListApplicationName+pattern ActivitiesListApplicationName_Vault = ActivitiesListApplicationName "vault"++{-# COMPLETE+  ActivitiesListApplicationName_AccessTransparency,+  ActivitiesListApplicationName_Admin,+  ActivitiesListApplicationName_Calendar,+  ActivitiesListApplicationName_Chat,+  ActivitiesListApplicationName_Drive,+  ActivitiesListApplicationName_Gcp,+  ActivitiesListApplicationName_Gplus,+  ActivitiesListApplicationName_Groups,+  ActivitiesListApplicationName_GroupsEnterprise,+  ActivitiesListApplicationName_Jamboard,+  ActivitiesListApplicationName_Login,+  ActivitiesListApplicationName_Meet,+  ActivitiesListApplicationName_Mobile,+  ActivitiesListApplicationName_Rules,+  ActivitiesListApplicationName_Saml,+  ActivitiesListApplicationName_Token,+  ActivitiesListApplicationName_UserAccounts,+  ActivitiesListApplicationName_ContextAwareAccess,+  ActivitiesListApplicationName_Chrome,+  ActivitiesListApplicationName_DataStudio,+  ActivitiesListApplicationName_Keep,+  ActivitiesListApplicationName_Vault,+  ActivitiesListApplicationName+  #-}++-- | Application name for which the events are to be retrieved.+newtype ActivitiesWatchApplicationName = ActivitiesWatchApplicationName {fromActivitiesWatchApplicationName :: 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 Google Workspace Access Transparency activity reports return information about different types of Access Transparency activity events.+pattern ActivitiesWatchApplicationName_AccessTransparency :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_AccessTransparency = ActivitiesWatchApplicationName "access_transparency"++-- | The Admin console application\'s activity reports return account information about different types of administrator activity events.+pattern ActivitiesWatchApplicationName_Admin :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Admin = ActivitiesWatchApplicationName "admin"++-- | The Google Calendar application\'s activity reports return information about various Calendar activity events.+pattern ActivitiesWatchApplicationName_Calendar :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Calendar = ActivitiesWatchApplicationName "calendar"++-- | The Chat activity reports return information about various Chat activity events.+pattern ActivitiesWatchApplicationName_Chat :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Chat = ActivitiesWatchApplicationName "chat"++-- | The Google Drive application\'s activity reports return information about various Google Drive activity events. The Drive activity report is only available for Google Workspace Business and Google Workspace Enterprise customers.+pattern ActivitiesWatchApplicationName_Drive :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Drive = ActivitiesWatchApplicationName "drive"++-- | The Google Cloud Platform application\'s activity reports return information about various GCP activity events.+pattern ActivitiesWatchApplicationName_Gcp :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Gcp = ActivitiesWatchApplicationName "gcp"++-- | The Google+ application\'s activity reports return information about various Google+ activity events.+pattern ActivitiesWatchApplicationName_Gplus :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Gplus = ActivitiesWatchApplicationName "gplus"++-- | The Google Groups application\'s activity reports return information about various Groups activity events.+pattern ActivitiesWatchApplicationName_Groups :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Groups = ActivitiesWatchApplicationName "groups"++-- | The Enterprise Groups activity reports return information about various Enterprise group activity events.+pattern ActivitiesWatchApplicationName_GroupsEnterprise :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_GroupsEnterprise = ActivitiesWatchApplicationName "groups_enterprise"++-- | The Jamboard activity reports return information about various Jamboard activity events.+pattern ActivitiesWatchApplicationName_Jamboard :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Jamboard = ActivitiesWatchApplicationName "jamboard"++-- | The Login application\'s activity reports return account information about different types of Login activity events.+pattern ActivitiesWatchApplicationName_Login :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Login = ActivitiesWatchApplicationName "login"++-- | The Meet Audit activity report returns information about different types of Meet Audit activity events.+pattern ActivitiesWatchApplicationName_Meet :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Meet = ActivitiesWatchApplicationName "meet"++-- | The Device Audit activity report returns information about different types of Device Audit activity events.+pattern ActivitiesWatchApplicationName_Mobile :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Mobile = ActivitiesWatchApplicationName "mobile"++-- | The Rules activity report returns information about different types of Rules activity events.+pattern ActivitiesWatchApplicationName_Rules :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Rules = ActivitiesWatchApplicationName "rules"++-- | The SAML activity report returns information about different types of SAML activity events.+pattern ActivitiesWatchApplicationName_Saml :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Saml = ActivitiesWatchApplicationName "saml"++-- | The Token application\'s activity reports return account information about different types of Token activity events.+pattern ActivitiesWatchApplicationName_Token :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Token = ActivitiesWatchApplicationName "token"++-- | The User Accounts application\'s activity reports return account information about different types of User Accounts activity events.+pattern ActivitiesWatchApplicationName_UserAccounts :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_UserAccounts = ActivitiesWatchApplicationName "user_accounts"++-- | The Context-aware access activity reports return information about users\' access denied events due to Context-aware access rules.+pattern ActivitiesWatchApplicationName_ContextAwareAccess :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_ContextAwareAccess = ActivitiesWatchApplicationName "context_aware_access"++-- | The Chrome activity reports return information about Chrome browser and Chrome OS events.+pattern ActivitiesWatchApplicationName_Chrome :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Chrome = ActivitiesWatchApplicationName "chrome"++-- | The Data Studio activity reports return information about various types of Data Studio activity events.+pattern ActivitiesWatchApplicationName_DataStudio :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_DataStudio = ActivitiesWatchApplicationName "data_studio"++-- | The Keep application\'s activity reports return information about various Google Keep activity events. The Keep activity report is only available for Google Workspace Business and Enterprise customers.+pattern ActivitiesWatchApplicationName_Keep :: ActivitiesWatchApplicationName+pattern ActivitiesWatchApplicationName_Keep = ActivitiesWatchApplicationName "keep"++{-# COMPLETE+  ActivitiesWatchApplicationName_AccessTransparency,+  ActivitiesWatchApplicationName_Admin,+  ActivitiesWatchApplicationName_Calendar,+  ActivitiesWatchApplicationName_Chat,+  ActivitiesWatchApplicationName_Drive,+  ActivitiesWatchApplicationName_Gcp,+  ActivitiesWatchApplicationName_Gplus,+  ActivitiesWatchApplicationName_Groups,+  ActivitiesWatchApplicationName_GroupsEnterprise,+  ActivitiesWatchApplicationName_Jamboard,+  ActivitiesWatchApplicationName_Login,+  ActivitiesWatchApplicationName_Meet,+  ActivitiesWatchApplicationName_Mobile,+  ActivitiesWatchApplicationName_Rules,+  ActivitiesWatchApplicationName_Saml,+  ActivitiesWatchApplicationName_Token,+  ActivitiesWatchApplicationName_UserAccounts,+  ActivitiesWatchApplicationName_ContextAwareAccess,+  ActivitiesWatchApplicationName_Chrome,+  ActivitiesWatchApplicationName_DataStudio,+  ActivitiesWatchApplicationName_Keep,+  ActivitiesWatchApplicationName+  #-}++-- | Represents the type of entity for the report.+newtype EntityUsageReportsGetEntityType = EntityUsageReportsGetEntityType {fromEntityUsageReportsGetEntityType :: 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+    )++-- | Returns a report on Google+ communities.+pattern EntityUsageReportsGetEntityType_GplusCommunities :: EntityUsageReportsGetEntityType+pattern EntityUsageReportsGetEntityType_GplusCommunities = EntityUsageReportsGetEntityType "gplus_communities"++{-# COMPLETE+  EntityUsageReportsGetEntityType_GplusCommunities,+  EntityUsageReportsGetEntityType+  #-}
+ gen/Gogol/Admin/Reports/Types.hs view
@@ -0,0 +1,139 @@+{-# 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.Admin.Reports.Types+-- 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.Admin.Reports.Types+  ( -- * Configuration+    adminReportsService,++    -- * OAuth Scopes+    Admin'Reports'Audit'Readonly,+    Admin'Reports'Usage'Readonly,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** Activities+    Activities (..),+    newActivities,++    -- ** Activity+    Activity (..),+    newActivity,++    -- ** Activity_Actor+    Activity_Actor (..),+    newActivity_Actor,++    -- ** Activity_EventsItem+    Activity_EventsItem (..),+    newActivity_EventsItem,++    -- ** Activity_EventsItem_ParametersItem+    Activity_EventsItem_ParametersItem (..),+    newActivity_EventsItem_ParametersItem,++    -- ** Activity_EventsItem_ParametersItem_MessageValue+    Activity_EventsItem_ParametersItem_MessageValue (..),+    newActivity_EventsItem_ParametersItem_MessageValue,++    -- ** Activity_EventsItem_ParametersItem_MultiMessageValueItem+    Activity_EventsItem_ParametersItem_MultiMessageValueItem (..),+    newActivity_EventsItem_ParametersItem_MultiMessageValueItem,++    -- ** Activity_Id+    Activity_Id (..),+    newActivity_Id,++    -- ** Channel+    Channel (..),+    newChannel,++    -- ** Channel_Params+    Channel_Params (..),+    newChannel_Params,++    -- ** NestedParameter+    NestedParameter (..),+    newNestedParameter,++    -- ** UsageReport+    UsageReport (..),+    newUsageReport,++    -- ** UsageReport_Entity+    UsageReport_Entity (..),+    newUsageReport_Entity,++    -- ** UsageReport_ParametersItem+    UsageReport_ParametersItem (..),+    newUsageReport_ParametersItem,++    -- ** UsageReport_ParametersItem_MsgValueItem+    UsageReport_ParametersItem_MsgValueItem (..),+    newUsageReport_ParametersItem_MsgValueItem,++    -- ** UsageReports+    UsageReports (..),+    newUsageReports,++    -- ** UsageReports_WarningsItem+    UsageReports_WarningsItem (..),+    newUsageReports_WarningsItem,++    -- ** UsageReports_WarningsItem_DataItem+    UsageReports_WarningsItem_DataItem (..),+    newUsageReports_WarningsItem_DataItem,++    -- ** ActivitiesListApplicationName+    ActivitiesListApplicationName (..),++    -- ** ActivitiesWatchApplicationName+    ActivitiesWatchApplicationName (..),++    -- ** EntityUsageReportsGetEntityType+    EntityUsageReportsGetEntityType (..),+  )+where++import Gogol.Admin.Reports.Internal.Product+import Gogol.Admin.Reports.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @reports_v1@ of the Admin SDK API. This contains the host and root path used as a starting point for constructing service requests.+adminReportsService :: Core.ServiceConfig+adminReportsService =+  Core.defaultService+    (Core.ServiceId "admin:reports_v1")+    "admin.googleapis.com"++-- | View audit reports for your G Suite domain+type Admin'Reports'Audit'Readonly =+  "https://www.googleapis.com/auth/admin.reports.audit.readonly"++-- | View usage reports for your G Suite domain+type Admin'Reports'Usage'Readonly =+  "https://www.googleapis.com/auth/admin.reports.usage.readonly"
+ gen/Gogol/Admin/Reports/UserUsageReport/Get.hs view
@@ -0,0 +1,157 @@+{-# 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.Admin.Reports.UserUsageReport.Get+-- 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)+--+-- Retrieves a report which is a collection of properties and statistics for a set of users with the account. For more information, see the User Usage Report guide. For more information about the user report\'s parameters, see the Users Usage parameters reference guides.+--+-- /See:/ <https://developers.google.com/admin-sdk/ Admin SDK API Reference> for @reports.userUsageReport.get@.+module Gogol.Admin.Reports.UserUsageReport.Get+  ( -- * Resource+    ReportsUserUsageReportGetResource,++    -- ** Constructing a Request+    ReportsUserUsageReportGet (..),+    newReportsUserUsageReportGet,+  )+where++import Gogol.Admin.Reports.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @reports.userUsageReport.get@ method which the+-- 'ReportsUserUsageReportGet' request conforms to.+type ReportsUserUsageReportGetResource =+  "admin"+    Core.:> "reports"+    Core.:> "v1"+    Core.:> "usage"+    Core.:> "users"+    Core.:> Core.Capture "userKey" Core.Text+    Core.:> "dates"+    Core.:> Core.Capture "date" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customerId" Core.Text+    Core.:> Core.QueryParam "filters" Core.Text+    Core.:> Core.QueryParam "groupIdFilter" Core.Text+    Core.:> Core.QueryParam "maxResults" Core.Word32+    Core.:> Core.QueryParam "orgUnitID" Core.Text+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "parameters" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] UsageReports++-- | Retrieves a report which is a collection of properties and statistics for a set of users with the account. For more information, see the User Usage Report guide. For more information about the user report\'s parameters, see the Users Usage parameters reference guides.+--+-- /See:/ 'newReportsUserUsageReportGet' smart constructor.+data ReportsUserUsageReportGet = ReportsUserUsageReportGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The unique ID of the customer to retrieve data for.+    customerId :: (Core.Maybe Core.Text),+    -- | Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@.+    date :: Core.Text,+    -- | The @filters@ query string is a comma-separated list of an application\'s event parameters where the parameter\'s value is manipulated by a relational operator. The @filters@ query string includes the name of the application whose usage is returned in the report. The application values for the Users Usage Report include @accounts@, @docs@, and @gmail@. Filters are in the form @[application name]:parameter name[parameter value],...@. In this example, the @\<>@ \'not equal to\' operator is URL-encoded in the request\'s query string (%3C%3E): GET https:\/\/www.googleapis.com\/admin\/reports\/v1\/usage\/users\/all\/dates\/2013-03-03 ?parameters=accounts:last/login/time &filters=accounts:last/login/time%3C%3E2010-10-28T10:26:35.000Z The relational operators include: - @==@ - \'equal to\'. - @\<>@ - \'not equal to\'. It is URL-encoded (%3C%3E). - @\<@ - \'less than\'. It is URL-encoded (%3C). - @\<=@ - \'less than or equal to\'. It is URL-encoded (%3C=). - @>@ - \'greater than\'. It is URL-encoded (%3E). - @>=@ -+    -- \'greater than or equal to\'. It is URL-encoded (%3E=).+    filters :: (Core.Maybe Core.Text),+    -- | Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"+    groupIdFilter :: (Core.Maybe Core.Text),+    -- | Determines how many activity records are shown on each response page. For example, if the request sets @maxResults=1@ and the report has two activities, the report has two pages. The response\'s @nextPageToken@ property has the token to the second page. The @maxResults@ query string is optional.+    maxResults :: Core.Word32,+    -- | ID of the organizational unit to report on. User activity will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn\'t appear in the filtered results.+    orgUnitID :: Core.Text,+    -- | Token to specify next page. A report with multiple pages has a @nextPageToken@ property in the response. In your follow-on request getting the next page of the report, enter the @nextPageToken@ value in the @pageToken@ query string.+    pageToken :: (Core.Maybe Core.Text),+    -- | The @parameters@ query string is a comma-separated list of event parameters that refine a report\'s results. The parameter is associated with a specific application. The application values for the Customers Usage report include @accounts@, @app_maker@, @apps_scripts@, @calendar@, @classroom@, @cros@, @docs@, @gmail@, @gplus@, @device_management@, @meet@, and @sites@. A @parameters@ query string is in the CSV form of @app_name1:param_name1, app_name2:param_name2@. /Note:/ The API doesn\'t accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. An example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.+    parameters :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@.+    userKey :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportsUserUsageReportGet' with the minimum fields required to make a request.+newReportsUserUsageReportGet ::+  -- |  Represents the date the usage occurred, based on UTC-8:00 (Pacific Standard Time). The timestamp is in the <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>, @yyyy-mm-dd@. See 'date'.+  Core.Text ->+  -- |  Represents the profile ID or the user email for which the data should be filtered. Can be @all@ for all information, or @userKey@ for a user\'s unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call @users.list@ in Directory API with @showDeleted=true@, then use the returned @ID@ as the @userKey@. See 'userKey'.+  Core.Text ->+  ReportsUserUsageReportGet+newReportsUserUsageReportGet date userKey =+  ReportsUserUsageReportGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customerId = Core.Nothing,+      date = date,+      filters = Core.Nothing,+      groupIdFilter = Core.Nothing,+      maxResults = 1000,+      orgUnitID = "",+      pageToken = Core.Nothing,+      parameters = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      userKey = userKey+    }++instance Core.GoogleRequest ReportsUserUsageReportGet where+  type Rs ReportsUserUsageReportGet = UsageReports+  type+    Scopes ReportsUserUsageReportGet =+      '[Admin'Reports'Usage'Readonly]+  requestClient ReportsUserUsageReportGet {..} =+    go+      userKey+      date+      xgafv+      accessToken+      callback+      customerId+      filters+      groupIdFilter+      (Core.Just maxResults)+      (Core.Just orgUnitID)+      pageToken+      parameters+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      adminReportsService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy ReportsUserUsageReportGetResource)+          Core.mempty
− gen/Network/Google/Reports.hs
@@ -1,200 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.Reports--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Fetches reports for the administrators of G Suite customers about the--- usage, collaboration, security, and risk for their users.------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference>-module Network.Google.Reports-    (-    -- * Service Configuration-      reportsService--    -- * OAuth Scopes-    , adminReportsUsageReadOnlyScope-    , adminReportsAuditReadOnlyScope--    -- * API Declaration-    , ReportsAPI--    -- * Resources--    -- ** admin.channels.stop-    , module Network.Google.Resource.Admin.Channels.Stop--    -- ** reports.activities.list-    , module Network.Google.Resource.Reports.Activities.List--    -- ** reports.activities.watch-    , module Network.Google.Resource.Reports.Activities.Watch--    -- ** reports.customerUsageReports.get-    , module Network.Google.Resource.Reports.CustomerUsageReports.Get--    -- ** reports.entityUsageReports.get-    , module Network.Google.Resource.Reports.EntityUsageReports.Get--    -- ** reports.userUsageReport.get-    , module Network.Google.Resource.Reports.UserUsageReport.Get--    -- * Types--    -- ** UsageReportParametersItem-    , UsageReportParametersItem-    , usageReportParametersItem-    , urpiDatetimeValue-    , urpiBoolValue-    , urpiIntValue-    , urpiStringValue-    , urpiName-    , urpiMsgValue--    -- ** ActivityId-    , ActivityId-    , activityId-    , aiTime-    , aiUniqueQualifier-    , aiCustomerId-    , aiApplicationName--    -- ** UsageReports-    , UsageReports-    , usageReports-    , urEtag-    , urNextPageToken-    , urUsageReports-    , urKind-    , urWarnings--    -- ** UsageReportParametersItemMsgValueItem-    , UsageReportParametersItemMsgValueItem-    , usageReportParametersItemMsgValueItem-    , urpimviAddtional--    -- ** Activities-    , Activities-    , activities-    , aEtag-    , aNextPageToken-    , aKind-    , aItems--    -- ** Channel-    , Channel-    , channel-    , cResourceURI-    , cResourceId-    , cKind-    , cExpiration-    , cToken-    , cAddress-    , cPayload-    , cParams-    , cId-    , cType--    -- ** UsageReport-    , UsageReport-    , usageReport-    , uEtag-    , uKind-    , uDate-    , uParameters-    , uEntity--    -- ** UsageReportsWarningsItemDataItem-    , UsageReportsWarningsItemDataItem-    , usageReportsWarningsItemDataItem-    , urwidiValue-    , urwidiKey--    -- ** UsageReportsWarningsItem-    , UsageReportsWarningsItem-    , usageReportsWarningsItem-    , urwiData-    , urwiCode-    , urwiMessage--    -- ** ActivityEventsItem-    , ActivityEventsItem-    , activityEventsItem-    , aeiName-    , aeiParameters-    , aeiType--    -- ** ChannelParams-    , ChannelParams-    , channelParams-    , cpAddtional--    -- ** Activity-    , Activity-    , activity-    , actEtag-    , actIPAddress-    , actKind-    , actActor-    , actOwnerDomain-    , actEvents-    , actId--    -- ** UsageReportEntity-    , UsageReportEntity-    , usageReportEntity-    , ureProFileId-    , ureCustomerId-    , ureUserEmail-    , ureType-    , ureEntityId--    -- ** ActivityEventsItemParametersItem-    , ActivityEventsItemParametersItem-    , activityEventsItemParametersItem-    , aeipiBoolValue-    , aeipiIntValue-    , aeipiValue-    , aeipiMultiIntValue-    , aeipiName-    , aeipiMultiValue--    -- ** ActivityActor-    , ActivityActor-    , activityActor-    , aaEmail-    , aaCallerType-    , aaProFileId-    , aaKey-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types-import           Network.Google.Resource.Admin.Channels.Stop-import           Network.Google.Resource.Reports.Activities.List-import           Network.Google.Resource.Reports.Activities.Watch-import           Network.Google.Resource.Reports.CustomerUsageReports.Get-import           Network.Google.Resource.Reports.EntityUsageReports.Get-import           Network.Google.Resource.Reports.UserUsageReport.Get--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the Admin Reports API service.-type ReportsAPI =-     ChannelsStopResource :<|> ActivitiesListResource :<|>-       ActivitiesWatchResource-       :<|> CustomerUsageReportsGetResource-       :<|> UserUsageReportGetResource-       :<|> EntityUsageReportsGetResource
− gen/Network/Google/Reports/Types.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Reports.Types--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Reports.Types-    (-    -- * Service Configuration-      reportsService--    -- * OAuth Scopes-    , adminReportsUsageReadOnlyScope-    , adminReportsAuditReadOnlyScope--    -- * UsageReportParametersItem-    , UsageReportParametersItem-    , usageReportParametersItem-    , urpiDatetimeValue-    , urpiBoolValue-    , urpiIntValue-    , urpiStringValue-    , urpiName-    , urpiMsgValue--    -- * ActivityId-    , ActivityId-    , activityId-    , aiTime-    , aiUniqueQualifier-    , aiCustomerId-    , aiApplicationName--    -- * UsageReports-    , UsageReports-    , usageReports-    , urEtag-    , urNextPageToken-    , urUsageReports-    , urKind-    , urWarnings--    -- * UsageReportParametersItemMsgValueItem-    , UsageReportParametersItemMsgValueItem-    , usageReportParametersItemMsgValueItem-    , urpimviAddtional--    -- * Activities-    , Activities-    , activities-    , aEtag-    , aNextPageToken-    , aKind-    , aItems--    -- * Channel-    , Channel-    , channel-    , cResourceURI-    , cResourceId-    , cKind-    , cExpiration-    , cToken-    , cAddress-    , cPayload-    , cParams-    , cId-    , cType--    -- * UsageReport-    , UsageReport-    , usageReport-    , uEtag-    , uKind-    , uDate-    , uParameters-    , uEntity--    -- * UsageReportsWarningsItemDataItem-    , UsageReportsWarningsItemDataItem-    , usageReportsWarningsItemDataItem-    , urwidiValue-    , urwidiKey--    -- * UsageReportsWarningsItem-    , UsageReportsWarningsItem-    , usageReportsWarningsItem-    , urwiData-    , urwiCode-    , urwiMessage--    -- * ActivityEventsItem-    , ActivityEventsItem-    , activityEventsItem-    , aeiName-    , aeiParameters-    , aeiType--    -- * ChannelParams-    , ChannelParams-    , channelParams-    , cpAddtional--    -- * Activity-    , Activity-    , activity-    , actEtag-    , actIPAddress-    , actKind-    , actActor-    , actOwnerDomain-    , actEvents-    , actId--    -- * UsageReportEntity-    , UsageReportEntity-    , usageReportEntity-    , ureProFileId-    , ureCustomerId-    , ureUserEmail-    , ureType-    , ureEntityId--    -- * ActivityEventsItemParametersItem-    , ActivityEventsItemParametersItem-    , activityEventsItemParametersItem-    , aeipiBoolValue-    , aeipiIntValue-    , aeipiValue-    , aeipiMultiIntValue-    , aeipiName-    , aeipiMultiValue--    -- * ActivityActor-    , ActivityActor-    , activityActor-    , aaEmail-    , aaCallerType-    , aaProFileId-    , aaKey-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types.Product-import           Network.Google.Reports.Types.Sum---- | Default request referring to version 'reports_v1' of the Admin Reports API. This contains the host and root path used as a starting point for constructing service requests.-reportsService :: ServiceConfig-reportsService-  = defaultService (ServiceId "admin:reports_v1")-      "www.googleapis.com"---- | View usage reports for your G Suite domain-adminReportsUsageReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.reports.usage.readonly"]-adminReportsUsageReadOnlyScope = Proxy---- | View audit reports for your G Suite domain-adminReportsAuditReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/admin.reports.audit.readonly"]-adminReportsAuditReadOnlyScope = Proxy
− gen/Network/Google/Reports/Types/Product.hs
@@ -1,1188 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Reports.Types.Product--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Reports.Types.Product where--import           Network.Google.Prelude-import           Network.Google.Reports.Types.Sum------- /See:/ 'usageReportParametersItem' smart constructor.-data UsageReportParametersItem =-  UsageReportParametersItem'-    { _urpiDatetimeValue :: !(Maybe DateTime')-    , _urpiBoolValue     :: !(Maybe Bool)-    , _urpiIntValue      :: !(Maybe (Textual Int64))-    , _urpiStringValue   :: !(Maybe Text)-    , _urpiName          :: !(Maybe Text)-    , _urpiMsgValue      :: !(Maybe [UsageReportParametersItemMsgValueItem])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReportParametersItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urpiDatetimeValue'------ * 'urpiBoolValue'------ * 'urpiIntValue'------ * 'urpiStringValue'------ * 'urpiName'------ * 'urpiMsgValue'-usageReportParametersItem-    :: UsageReportParametersItem-usageReportParametersItem =-  UsageReportParametersItem'-    { _urpiDatetimeValue = Nothing-    , _urpiBoolValue = Nothing-    , _urpiIntValue = Nothing-    , _urpiStringValue = Nothing-    , _urpiName = Nothing-    , _urpiMsgValue = Nothing-    }----- | RFC 3339 formatted value of the parameter.-urpiDatetimeValue :: Lens' UsageReportParametersItem (Maybe UTCTime)-urpiDatetimeValue-  = lens _urpiDatetimeValue-      (\ s a -> s{_urpiDatetimeValue = a})-      . mapping _DateTime---- | Boolean value of the parameter.-urpiBoolValue :: Lens' UsageReportParametersItem (Maybe Bool)-urpiBoolValue-  = lens _urpiBoolValue-      (\ s a -> s{_urpiBoolValue = a})---- | Integral value of the parameter.-urpiIntValue :: Lens' UsageReportParametersItem (Maybe Int64)-urpiIntValue-  = lens _urpiIntValue (\ s a -> s{_urpiIntValue = a})-      . mapping _Coerce---- | String value of the parameter.-urpiStringValue :: Lens' UsageReportParametersItem (Maybe Text)-urpiStringValue-  = lens _urpiStringValue-      (\ s a -> s{_urpiStringValue = a})---- | The name of the parameter.-urpiName :: Lens' UsageReportParametersItem (Maybe Text)-urpiName = lens _urpiName (\ s a -> s{_urpiName = a})---- | Nested message value of the parameter.-urpiMsgValue :: Lens' UsageReportParametersItem [UsageReportParametersItemMsgValueItem]-urpiMsgValue-  = lens _urpiMsgValue (\ s a -> s{_urpiMsgValue = a})-      . _Default-      . _Coerce--instance FromJSON UsageReportParametersItem where-        parseJSON-          = withObject "UsageReportParametersItem"-              (\ o ->-                 UsageReportParametersItem' <$>-                   (o .:? "datetimeValue") <*> (o .:? "boolValue") <*>-                     (o .:? "intValue")-                     <*> (o .:? "stringValue")-                     <*> (o .:? "name")-                     <*> (o .:? "msgValue" .!= mempty))--instance ToJSON UsageReportParametersItem where-        toJSON UsageReportParametersItem'{..}-          = object-              (catMaybes-                 [("datetimeValue" .=) <$> _urpiDatetimeValue,-                  ("boolValue" .=) <$> _urpiBoolValue,-                  ("intValue" .=) <$> _urpiIntValue,-                  ("stringValue" .=) <$> _urpiStringValue,-                  ("name" .=) <$> _urpiName,-                  ("msgValue" .=) <$> _urpiMsgValue])---- | Unique identifier for each activity record.------ /See:/ 'activityId' smart constructor.-data ActivityId =-  ActivityId'-    { _aiTime            :: !(Maybe DateTime')-    , _aiUniqueQualifier :: !(Maybe (Textual Int64))-    , _aiCustomerId      :: !(Maybe Text)-    , _aiApplicationName :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivityId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aiTime'------ * 'aiUniqueQualifier'------ * 'aiCustomerId'------ * 'aiApplicationName'-activityId-    :: ActivityId-activityId =-  ActivityId'-    { _aiTime = Nothing-    , _aiUniqueQualifier = Nothing-    , _aiCustomerId = Nothing-    , _aiApplicationName = Nothing-    }----- | Time of occurrence of the activity.-aiTime :: Lens' ActivityId (Maybe UTCTime)-aiTime-  = lens _aiTime (\ s a -> s{_aiTime = a}) .-      mapping _DateTime---- | Unique qualifier if multiple events have the same time.-aiUniqueQualifier :: Lens' ActivityId (Maybe Int64)-aiUniqueQualifier-  = lens _aiUniqueQualifier-      (\ s a -> s{_aiUniqueQualifier = a})-      . mapping _Coerce---- | Obfuscated customer ID of the source customer.-aiCustomerId :: Lens' ActivityId (Maybe Text)-aiCustomerId-  = lens _aiCustomerId (\ s a -> s{_aiCustomerId = a})---- | Application name to which the event belongs.-aiApplicationName :: Lens' ActivityId (Maybe Text)-aiApplicationName-  = lens _aiApplicationName-      (\ s a -> s{_aiApplicationName = a})--instance FromJSON ActivityId where-        parseJSON-          = withObject "ActivityId"-              (\ o ->-                 ActivityId' <$>-                   (o .:? "time") <*> (o .:? "uniqueQualifier") <*>-                     (o .:? "customerId")-                     <*> (o .:? "applicationName"))--instance ToJSON ActivityId where-        toJSON ActivityId'{..}-          = object-              (catMaybes-                 [("time" .=) <$> _aiTime,-                  ("uniqueQualifier" .=) <$> _aiUniqueQualifier,-                  ("customerId" .=) <$> _aiCustomerId,-                  ("applicationName" .=) <$> _aiApplicationName])---- | JSON template for a collection of usage reports.------ /See:/ 'usageReports' smart constructor.-data UsageReports =-  UsageReports'-    { _urEtag          :: !(Maybe Text)-    , _urNextPageToken :: !(Maybe Text)-    , _urUsageReports  :: !(Maybe [UsageReport])-    , _urKind          :: !Text-    , _urWarnings      :: !(Maybe [UsageReportsWarningsItem])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReports' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urEtag'------ * 'urNextPageToken'------ * 'urUsageReports'------ * 'urKind'------ * 'urWarnings'-usageReports-    :: UsageReports-usageReports =-  UsageReports'-    { _urEtag = Nothing-    , _urNextPageToken = Nothing-    , _urUsageReports = Nothing-    , _urKind = "admin#reports#usageReports"-    , _urWarnings = Nothing-    }----- | ETag of the resource.-urEtag :: Lens' UsageReports (Maybe Text)-urEtag = lens _urEtag (\ s a -> s{_urEtag = a})---- | Token for retrieving the next page-urNextPageToken :: Lens' UsageReports (Maybe Text)-urNextPageToken-  = lens _urNextPageToken-      (\ s a -> s{_urNextPageToken = a})---- | Various application parameter records.-urUsageReports :: Lens' UsageReports [UsageReport]-urUsageReports-  = lens _urUsageReports-      (\ s a -> s{_urUsageReports = a})-      . _Default-      . _Coerce---- | The kind of object.-urKind :: Lens' UsageReports Text-urKind = lens _urKind (\ s a -> s{_urKind = a})---- | Warnings if any.-urWarnings :: Lens' UsageReports [UsageReportsWarningsItem]-urWarnings-  = lens _urWarnings (\ s a -> s{_urWarnings = a}) .-      _Default-      . _Coerce--instance FromJSON UsageReports where-        parseJSON-          = withObject "UsageReports"-              (\ o ->-                 UsageReports' <$>-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>-                     (o .:? "usageReports" .!= mempty)-                     <*> (o .:? "kind" .!= "admin#reports#usageReports")-                     <*> (o .:? "warnings" .!= mempty))--instance ToJSON UsageReports where-        toJSON UsageReports'{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _urEtag,-                  ("nextPageToken" .=) <$> _urNextPageToken,-                  ("usageReports" .=) <$> _urUsageReports,-                  Just ("kind" .= _urKind),-                  ("warnings" .=) <$> _urWarnings])------- /See:/ 'usageReportParametersItemMsgValueItem' smart constructor.-newtype UsageReportParametersItemMsgValueItem =-  UsageReportParametersItemMsgValueItem'-    { _urpimviAddtional :: HashMap Text JSONValue-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReportParametersItemMsgValueItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urpimviAddtional'-usageReportParametersItemMsgValueItem-    :: HashMap Text JSONValue -- ^ 'urpimviAddtional'-    -> UsageReportParametersItemMsgValueItem-usageReportParametersItemMsgValueItem pUrpimviAddtional_ =-  UsageReportParametersItemMsgValueItem'-    {_urpimviAddtional = _Coerce # pUrpimviAddtional_}---urpimviAddtional :: Lens' UsageReportParametersItemMsgValueItem (HashMap Text JSONValue)-urpimviAddtional-  = lens _urpimviAddtional-      (\ s a -> s{_urpimviAddtional = a})-      . _Coerce--instance FromJSON-           UsageReportParametersItemMsgValueItem-         where-        parseJSON-          = withObject "UsageReportParametersItemMsgValueItem"-              (\ o ->-                 UsageReportParametersItemMsgValueItem' <$>-                   (parseJSONObject o))--instance ToJSON UsageReportParametersItemMsgValueItem-         where-        toJSON = toJSON . _urpimviAddtional---- | JSON template for a collection of activites.------ /See:/ 'activities' smart constructor.-data Activities =-  Activities'-    { _aEtag          :: !(Maybe Text)-    , _aNextPageToken :: !(Maybe Text)-    , _aKind          :: !Text-    , _aItems         :: !(Maybe [Activity])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Activities' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aEtag'------ * 'aNextPageToken'------ * 'aKind'------ * 'aItems'-activities-    :: Activities-activities =-  Activities'-    { _aEtag = Nothing-    , _aNextPageToken = Nothing-    , _aKind = "admin#reports#activities"-    , _aItems = Nothing-    }----- | ETag of the resource.-aEtag :: Lens' Activities (Maybe Text)-aEtag = lens _aEtag (\ s a -> s{_aEtag = a})---- | Token for retrieving the next page-aNextPageToken :: Lens' Activities (Maybe Text)-aNextPageToken-  = lens _aNextPageToken-      (\ s a -> s{_aNextPageToken = a})---- | Kind of list response this is.-aKind :: Lens' Activities Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | Each record in read response.-aItems :: Lens' Activities [Activity]-aItems-  = lens _aItems (\ s a -> s{_aItems = a}) . _Default .-      _Coerce--instance FromJSON Activities where-        parseJSON-          = withObject "Activities"-              (\ o ->-                 Activities' <$>-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>-                     (o .:? "kind" .!= "admin#reports#activities")-                     <*> (o .:? "items" .!= mempty))--instance ToJSON Activities where-        toJSON Activities'{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _aEtag,-                  ("nextPageToken" .=) <$> _aNextPageToken,-                  Just ("kind" .= _aKind), ("items" .=) <$> _aItems])---- | An notification channel used to watch for resource changes.------ /See:/ 'channel' smart constructor.-data Channel =-  Channel'-    { _cResourceURI :: !(Maybe Text)-    , _cResourceId  :: !(Maybe Text)-    , _cKind        :: !Text-    , _cExpiration  :: !(Maybe (Textual Int64))-    , _cToken       :: !(Maybe Text)-    , _cAddress     :: !(Maybe Text)-    , _cPayload     :: !(Maybe Bool)-    , _cParams      :: !(Maybe ChannelParams)-    , _cId          :: !(Maybe Text)-    , _cType        :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Channel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cResourceURI'------ * 'cResourceId'------ * 'cKind'------ * 'cExpiration'------ * 'cToken'------ * 'cAddress'------ * 'cPayload'------ * 'cParams'------ * 'cId'------ * 'cType'-channel-    :: Channel-channel =-  Channel'-    { _cResourceURI = Nothing-    , _cResourceId = Nothing-    , _cKind = "api#channel"-    , _cExpiration = Nothing-    , _cToken = Nothing-    , _cAddress = Nothing-    , _cPayload = Nothing-    , _cParams = Nothing-    , _cId = Nothing-    , _cType = Nothing-    }----- | A version-specific identifier for the watched resource.-cResourceURI :: Lens' Channel (Maybe Text)-cResourceURI-  = lens _cResourceURI (\ s a -> s{_cResourceURI = a})---- | An opaque ID that identifies the resource being watched on this channel.--- Stable across different API versions.-cResourceId :: Lens' Channel (Maybe Text)-cResourceId-  = lens _cResourceId (\ s a -> s{_cResourceId = a})---- | Identifies this as a notification channel used to watch for changes to a--- resource. Value: the fixed string \"api#channel\".-cKind :: Lens' Channel Text-cKind = lens _cKind (\ s a -> s{_cKind = a})---- | Date and time of notification channel expiration, expressed as a Unix--- timestamp, in milliseconds. Optional.-cExpiration :: Lens' Channel (Maybe Int64)-cExpiration-  = lens _cExpiration (\ s a -> s{_cExpiration = a}) .-      mapping _Coerce---- | An arbitrary string delivered to the target address with each--- notification delivered over this channel. Optional.-cToken :: Lens' Channel (Maybe Text)-cToken = lens _cToken (\ s a -> s{_cToken = a})---- | The address where notifications are delivered for this channel.-cAddress :: Lens' Channel (Maybe Text)-cAddress = lens _cAddress (\ s a -> s{_cAddress = a})---- | A Boolean value to indicate whether payload is wanted. Optional.-cPayload :: Lens' Channel (Maybe Bool)-cPayload = lens _cPayload (\ s a -> s{_cPayload = a})---- | Additional parameters controlling delivery channel behavior. Optional.-cParams :: Lens' Channel (Maybe ChannelParams)-cParams = lens _cParams (\ s a -> s{_cParams = a})---- | A UUID or similar unique string that identifies this channel.-cId :: Lens' Channel (Maybe Text)-cId = lens _cId (\ s a -> s{_cId = a})---- | The type of delivery mechanism used for this channel.-cType :: Lens' Channel (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a})--instance FromJSON Channel where-        parseJSON-          = withObject "Channel"-              (\ o ->-                 Channel' <$>-                   (o .:? "resourceUri") <*> (o .:? "resourceId") <*>-                     (o .:? "kind" .!= "api#channel")-                     <*> (o .:? "expiration")-                     <*> (o .:? "token")-                     <*> (o .:? "address")-                     <*> (o .:? "payload")-                     <*> (o .:? "params")-                     <*> (o .:? "id")-                     <*> (o .:? "type"))--instance ToJSON Channel where-        toJSON Channel'{..}-          = object-              (catMaybes-                 [("resourceUri" .=) <$> _cResourceURI,-                  ("resourceId" .=) <$> _cResourceId,-                  Just ("kind" .= _cKind),-                  ("expiration" .=) <$> _cExpiration,-                  ("token" .=) <$> _cToken,-                  ("address" .=) <$> _cAddress,-                  ("payload" .=) <$> _cPayload,-                  ("params" .=) <$> _cParams, ("id" .=) <$> _cId,-                  ("type" .=) <$> _cType])---- | JSON template for a usage report.------ /See:/ 'usageReport' smart constructor.-data UsageReport =-  UsageReport'-    { _uEtag       :: !(Maybe Text)-    , _uKind       :: !Text-    , _uDate       :: !(Maybe Text)-    , _uParameters :: !(Maybe [UsageReportParametersItem])-    , _uEntity     :: !(Maybe UsageReportEntity)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReport' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uEtag'------ * 'uKind'------ * 'uDate'------ * 'uParameters'------ * 'uEntity'-usageReport-    :: UsageReport-usageReport =-  UsageReport'-    { _uEtag = Nothing-    , _uKind = "admin#reports#usageReport"-    , _uDate = Nothing-    , _uParameters = Nothing-    , _uEntity = Nothing-    }----- | ETag of the resource.-uEtag :: Lens' UsageReport (Maybe Text)-uEtag = lens _uEtag (\ s a -> s{_uEtag = a})---- | The kind of object.-uKind :: Lens' UsageReport Text-uKind = lens _uKind (\ s a -> s{_uKind = a})---- | The date to which the record belongs.-uDate :: Lens' UsageReport (Maybe Text)-uDate = lens _uDate (\ s a -> s{_uDate = a})---- | Parameter value pairs for various applications.-uParameters :: Lens' UsageReport [UsageReportParametersItem]-uParameters-  = lens _uParameters (\ s a -> s{_uParameters = a}) .-      _Default-      . _Coerce---- | Information about the type of the item.-uEntity :: Lens' UsageReport (Maybe UsageReportEntity)-uEntity = lens _uEntity (\ s a -> s{_uEntity = a})--instance FromJSON UsageReport where-        parseJSON-          = withObject "UsageReport"-              (\ o ->-                 UsageReport' <$>-                   (o .:? "etag") <*>-                     (o .:? "kind" .!= "admin#reports#usageReport")-                     <*> (o .:? "date")-                     <*> (o .:? "parameters" .!= mempty)-                     <*> (o .:? "entity"))--instance ToJSON UsageReport where-        toJSON UsageReport'{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _uEtag, Just ("kind" .= _uKind),-                  ("date" .=) <$> _uDate,-                  ("parameters" .=) <$> _uParameters,-                  ("entity" .=) <$> _uEntity])------- /See:/ 'usageReportsWarningsItemDataItem' smart constructor.-data UsageReportsWarningsItemDataItem =-  UsageReportsWarningsItemDataItem'-    { _urwidiValue :: !(Maybe Text)-    , _urwidiKey   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReportsWarningsItemDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urwidiValue'------ * 'urwidiKey'-usageReportsWarningsItemDataItem-    :: UsageReportsWarningsItemDataItem-usageReportsWarningsItemDataItem =-  UsageReportsWarningsItemDataItem'-    {_urwidiValue = Nothing, _urwidiKey = Nothing}----- | Value associated with a key-value pair to give detailed information on--- the warning.-urwidiValue :: Lens' UsageReportsWarningsItemDataItem (Maybe Text)-urwidiValue-  = lens _urwidiValue (\ s a -> s{_urwidiValue = a})---- | Key associated with a key-value pair to give detailed information on the--- warning.-urwidiKey :: Lens' UsageReportsWarningsItemDataItem (Maybe Text)-urwidiKey-  = lens _urwidiKey (\ s a -> s{_urwidiKey = a})--instance FromJSON UsageReportsWarningsItemDataItem-         where-        parseJSON-          = withObject "UsageReportsWarningsItemDataItem"-              (\ o ->-                 UsageReportsWarningsItemDataItem' <$>-                   (o .:? "value") <*> (o .:? "key"))--instance ToJSON UsageReportsWarningsItemDataItem-         where-        toJSON UsageReportsWarningsItemDataItem'{..}-          = object-              (catMaybes-                 [("value" .=) <$> _urwidiValue,-                  ("key" .=) <$> _urwidiKey])------- /See:/ 'usageReportsWarningsItem' smart constructor.-data UsageReportsWarningsItem =-  UsageReportsWarningsItem'-    { _urwiData    :: !(Maybe [UsageReportsWarningsItemDataItem])-    , _urwiCode    :: !(Maybe Text)-    , _urwiMessage :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReportsWarningsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urwiData'------ * 'urwiCode'------ * 'urwiMessage'-usageReportsWarningsItem-    :: UsageReportsWarningsItem-usageReportsWarningsItem =-  UsageReportsWarningsItem'-    {_urwiData = Nothing, _urwiCode = Nothing, _urwiMessage = Nothing}----- | Key-Value pairs to give detailed information on the warning.-urwiData :: Lens' UsageReportsWarningsItem [UsageReportsWarningsItemDataItem]-urwiData-  = lens _urwiData (\ s a -> s{_urwiData = a}) .-      _Default-      . _Coerce---- | Machine readable code \/ warning type.-urwiCode :: Lens' UsageReportsWarningsItem (Maybe Text)-urwiCode = lens _urwiCode (\ s a -> s{_urwiCode = a})---- | Human readable message for the warning.-urwiMessage :: Lens' UsageReportsWarningsItem (Maybe Text)-urwiMessage-  = lens _urwiMessage (\ s a -> s{_urwiMessage = a})--instance FromJSON UsageReportsWarningsItem where-        parseJSON-          = withObject "UsageReportsWarningsItem"-              (\ o ->-                 UsageReportsWarningsItem' <$>-                   (o .:? "data" .!= mempty) <*> (o .:? "code") <*>-                     (o .:? "message"))--instance ToJSON UsageReportsWarningsItem where-        toJSON UsageReportsWarningsItem'{..}-          = object-              (catMaybes-                 [("data" .=) <$> _urwiData,-                  ("code" .=) <$> _urwiCode,-                  ("message" .=) <$> _urwiMessage])------- /See:/ 'activityEventsItem' smart constructor.-data ActivityEventsItem =-  ActivityEventsItem'-    { _aeiName       :: !(Maybe Text)-    , _aeiParameters :: !(Maybe [ActivityEventsItemParametersItem])-    , _aeiType       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivityEventsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aeiName'------ * 'aeiParameters'------ * 'aeiType'-activityEventsItem-    :: ActivityEventsItem-activityEventsItem =-  ActivityEventsItem'-    {_aeiName = Nothing, _aeiParameters = Nothing, _aeiType = Nothing}----- | Name of event.-aeiName :: Lens' ActivityEventsItem (Maybe Text)-aeiName = lens _aeiName (\ s a -> s{_aeiName = a})---- | Parameter value pairs for various applications.-aeiParameters :: Lens' ActivityEventsItem [ActivityEventsItemParametersItem]-aeiParameters-  = lens _aeiParameters-      (\ s a -> s{_aeiParameters = a})-      . _Default-      . _Coerce---- | Type of event.-aeiType :: Lens' ActivityEventsItem (Maybe Text)-aeiType = lens _aeiType (\ s a -> s{_aeiType = a})--instance FromJSON ActivityEventsItem where-        parseJSON-          = withObject "ActivityEventsItem"-              (\ o ->-                 ActivityEventsItem' <$>-                   (o .:? "name") <*> (o .:? "parameters" .!= mempty)-                     <*> (o .:? "type"))--instance ToJSON ActivityEventsItem where-        toJSON ActivityEventsItem'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _aeiName,-                  ("parameters" .=) <$> _aeiParameters,-                  ("type" .=) <$> _aeiType])---- | Additional parameters controlling delivery channel behavior. Optional.------ /See:/ 'channelParams' smart constructor.-newtype ChannelParams =-  ChannelParams'-    { _cpAddtional :: HashMap Text Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpAddtional'-channelParams-    :: HashMap Text Text -- ^ 'cpAddtional'-    -> ChannelParams-channelParams pCpAddtional_ =-  ChannelParams' {_cpAddtional = _Coerce # pCpAddtional_}----- | Declares a new parameter by name.-cpAddtional :: Lens' ChannelParams (HashMap Text Text)-cpAddtional-  = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .-      _Coerce--instance FromJSON ChannelParams where-        parseJSON-          = withObject "ChannelParams"-              (\ o -> ChannelParams' <$> (parseJSONObject o))--instance ToJSON ChannelParams where-        toJSON = toJSON . _cpAddtional---- | JSON template for the activity resource.------ /See:/ 'activity' smart constructor.-data Activity =-  Activity'-    { _actEtag        :: !(Maybe Text)-    , _actIPAddress   :: !(Maybe Text)-    , _actKind        :: !Text-    , _actActor       :: !(Maybe ActivityActor)-    , _actOwnerDomain :: !(Maybe Text)-    , _actEvents      :: !(Maybe [ActivityEventsItem])-    , _actId          :: !(Maybe ActivityId)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Activity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'actEtag'------ * 'actIPAddress'------ * 'actKind'------ * 'actActor'------ * 'actOwnerDomain'------ * 'actEvents'------ * 'actId'-activity-    :: Activity-activity =-  Activity'-    { _actEtag = Nothing-    , _actIPAddress = Nothing-    , _actKind = "admin#reports#activity"-    , _actActor = Nothing-    , _actOwnerDomain = Nothing-    , _actEvents = Nothing-    , _actId = Nothing-    }----- | ETag of the entry.-actEtag :: Lens' Activity (Maybe Text)-actEtag = lens _actEtag (\ s a -> s{_actEtag = a})---- | IP Address of the user doing the action.-actIPAddress :: Lens' Activity (Maybe Text)-actIPAddress-  = lens _actIPAddress (\ s a -> s{_actIPAddress = a})---- | Kind of resource this is.-actKind :: Lens' Activity Text-actKind = lens _actKind (\ s a -> s{_actKind = a})---- | User doing the action.-actActor :: Lens' Activity (Maybe ActivityActor)-actActor = lens _actActor (\ s a -> s{_actActor = a})---- | Domain of source customer.-actOwnerDomain :: Lens' Activity (Maybe Text)-actOwnerDomain-  = lens _actOwnerDomain-      (\ s a -> s{_actOwnerDomain = a})---- | Activity events.-actEvents :: Lens' Activity [ActivityEventsItem]-actEvents-  = lens _actEvents (\ s a -> s{_actEvents = a}) .-      _Default-      . _Coerce---- | Unique identifier for each activity record.-actId :: Lens' Activity (Maybe ActivityId)-actId = lens _actId (\ s a -> s{_actId = a})--instance FromJSON Activity where-        parseJSON-          = withObject "Activity"-              (\ o ->-                 Activity' <$>-                   (o .:? "etag") <*> (o .:? "ipAddress") <*>-                     (o .:? "kind" .!= "admin#reports#activity")-                     <*> (o .:? "actor")-                     <*> (o .:? "ownerDomain")-                     <*> (o .:? "events" .!= mempty)-                     <*> (o .:? "id"))--instance ToJSON Activity where-        toJSON Activity'{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _actEtag,-                  ("ipAddress" .=) <$> _actIPAddress,-                  Just ("kind" .= _actKind),-                  ("actor" .=) <$> _actActor,-                  ("ownerDomain" .=) <$> _actOwnerDomain,-                  ("events" .=) <$> _actEvents, ("id" .=) <$> _actId])---- | Information about the type of the item.------ /See:/ 'usageReportEntity' smart constructor.-data UsageReportEntity =-  UsageReportEntity'-    { _ureProFileId  :: !(Maybe Text)-    , _ureCustomerId :: !(Maybe Text)-    , _ureUserEmail  :: !(Maybe Text)-    , _ureType       :: !(Maybe Text)-    , _ureEntityId   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UsageReportEntity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ureProFileId'------ * 'ureCustomerId'------ * 'ureUserEmail'------ * 'ureType'------ * 'ureEntityId'-usageReportEntity-    :: UsageReportEntity-usageReportEntity =-  UsageReportEntity'-    { _ureProFileId = Nothing-    , _ureCustomerId = Nothing-    , _ureUserEmail = Nothing-    , _ureType = Nothing-    , _ureEntityId = Nothing-    }----- | Obfuscated user id for the record.-ureProFileId :: Lens' UsageReportEntity (Maybe Text)-ureProFileId-  = lens _ureProFileId (\ s a -> s{_ureProFileId = a})---- | Obfuscated customer id for the record.-ureCustomerId :: Lens' UsageReportEntity (Maybe Text)-ureCustomerId-  = lens _ureCustomerId-      (\ s a -> s{_ureCustomerId = a})---- | user\'s email. Only relevant if entity.type = \"USER\"-ureUserEmail :: Lens' UsageReportEntity (Maybe Text)-ureUserEmail-  = lens _ureUserEmail (\ s a -> s{_ureUserEmail = a})---- | The type of item, can be customer, user, or entity (aka. object).-ureType :: Lens' UsageReportEntity (Maybe Text)-ureType = lens _ureType (\ s a -> s{_ureType = a})---- | Object key. Only relevant if entity.type = \"OBJECT\" Note:--- external-facing name of report is \"Entities\" rather than \"Objects\".-ureEntityId :: Lens' UsageReportEntity (Maybe Text)-ureEntityId-  = lens _ureEntityId (\ s a -> s{_ureEntityId = a})--instance FromJSON UsageReportEntity where-        parseJSON-          = withObject "UsageReportEntity"-              (\ o ->-                 UsageReportEntity' <$>-                   (o .:? "profileId") <*> (o .:? "customerId") <*>-                     (o .:? "userEmail")-                     <*> (o .:? "type")-                     <*> (o .:? "entityId"))--instance ToJSON UsageReportEntity where-        toJSON UsageReportEntity'{..}-          = object-              (catMaybes-                 [("profileId" .=) <$> _ureProFileId,-                  ("customerId" .=) <$> _ureCustomerId,-                  ("userEmail" .=) <$> _ureUserEmail,-                  ("type" .=) <$> _ureType,-                  ("entityId" .=) <$> _ureEntityId])------- /See:/ 'activityEventsItemParametersItem' smart constructor.-data ActivityEventsItemParametersItem =-  ActivityEventsItemParametersItem'-    { _aeipiBoolValue     :: !(Maybe Bool)-    , _aeipiIntValue      :: !(Maybe (Textual Int64))-    , _aeipiValue         :: !(Maybe Text)-    , _aeipiMultiIntValue :: !(Maybe [Textual Int64])-    , _aeipiName          :: !(Maybe Text)-    , _aeipiMultiValue    :: !(Maybe [Text])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivityEventsItemParametersItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aeipiBoolValue'------ * 'aeipiIntValue'------ * 'aeipiValue'------ * 'aeipiMultiIntValue'------ * 'aeipiName'------ * 'aeipiMultiValue'-activityEventsItemParametersItem-    :: ActivityEventsItemParametersItem-activityEventsItemParametersItem =-  ActivityEventsItemParametersItem'-    { _aeipiBoolValue = Nothing-    , _aeipiIntValue = Nothing-    , _aeipiValue = Nothing-    , _aeipiMultiIntValue = Nothing-    , _aeipiName = Nothing-    , _aeipiMultiValue = Nothing-    }----- | Boolean value of the parameter.-aeipiBoolValue :: Lens' ActivityEventsItemParametersItem (Maybe Bool)-aeipiBoolValue-  = lens _aeipiBoolValue-      (\ s a -> s{_aeipiBoolValue = a})---- | Integral value of the parameter.-aeipiIntValue :: Lens' ActivityEventsItemParametersItem (Maybe Int64)-aeipiIntValue-  = lens _aeipiIntValue-      (\ s a -> s{_aeipiIntValue = a})-      . mapping _Coerce---- | String value of the parameter.-aeipiValue :: Lens' ActivityEventsItemParametersItem (Maybe Text)-aeipiValue-  = lens _aeipiValue (\ s a -> s{_aeipiValue = a})---- | Multi-int value of the parameter.-aeipiMultiIntValue :: Lens' ActivityEventsItemParametersItem [Int64]-aeipiMultiIntValue-  = lens _aeipiMultiIntValue-      (\ s a -> s{_aeipiMultiIntValue = a})-      . _Default-      . _Coerce---- | The name of the parameter.-aeipiName :: Lens' ActivityEventsItemParametersItem (Maybe Text)-aeipiName-  = lens _aeipiName (\ s a -> s{_aeipiName = a})---- | Multi-string value of the parameter.-aeipiMultiValue :: Lens' ActivityEventsItemParametersItem [Text]-aeipiMultiValue-  = lens _aeipiMultiValue-      (\ s a -> s{_aeipiMultiValue = a})-      . _Default-      . _Coerce--instance FromJSON ActivityEventsItemParametersItem-         where-        parseJSON-          = withObject "ActivityEventsItemParametersItem"-              (\ o ->-                 ActivityEventsItemParametersItem' <$>-                   (o .:? "boolValue") <*> (o .:? "intValue") <*>-                     (o .:? "value")-                     <*> (o .:? "multiIntValue" .!= mempty)-                     <*> (o .:? "name")-                     <*> (o .:? "multiValue" .!= mempty))--instance ToJSON ActivityEventsItemParametersItem-         where-        toJSON ActivityEventsItemParametersItem'{..}-          = object-              (catMaybes-                 [("boolValue" .=) <$> _aeipiBoolValue,-                  ("intValue" .=) <$> _aeipiIntValue,-                  ("value" .=) <$> _aeipiValue,-                  ("multiIntValue" .=) <$> _aeipiMultiIntValue,-                  ("name" .=) <$> _aeipiName,-                  ("multiValue" .=) <$> _aeipiMultiValue])---- | User doing the action.------ /See:/ 'activityActor' smart constructor.-data ActivityActor =-  ActivityActor'-    { _aaEmail      :: !(Maybe Text)-    , _aaCallerType :: !(Maybe Text)-    , _aaProFileId  :: !(Maybe Text)-    , _aaKey        :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivityActor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaEmail'------ * 'aaCallerType'------ * 'aaProFileId'------ * 'aaKey'-activityActor-    :: ActivityActor-activityActor =-  ActivityActor'-    { _aaEmail = Nothing-    , _aaCallerType = Nothing-    , _aaProFileId = Nothing-    , _aaKey = Nothing-    }----- | Email address of the user.-aaEmail :: Lens' ActivityActor (Maybe Text)-aaEmail = lens _aaEmail (\ s a -> s{_aaEmail = a})---- | User or OAuth 2LO request.-aaCallerType :: Lens' ActivityActor (Maybe Text)-aaCallerType-  = lens _aaCallerType (\ s a -> s{_aaCallerType = a})---- | Obfuscated user id of the user.-aaProFileId :: Lens' ActivityActor (Maybe Text)-aaProFileId-  = lens _aaProFileId (\ s a -> s{_aaProFileId = a})---- | For OAuth 2LO API requests, consumer_key of the requestor.-aaKey :: Lens' ActivityActor (Maybe Text)-aaKey = lens _aaKey (\ s a -> s{_aaKey = a})--instance FromJSON ActivityActor where-        parseJSON-          = withObject "ActivityActor"-              (\ o ->-                 ActivityActor' <$>-                   (o .:? "email") <*> (o .:? "callerType") <*>-                     (o .:? "profileId")-                     <*> (o .:? "key"))--instance ToJSON ActivityActor where-        toJSON ActivityActor'{..}-          = object-              (catMaybes-                 [("email" .=) <$> _aaEmail,-                  ("callerType" .=) <$> _aaCallerType,-                  ("profileId" .=) <$> _aaProFileId,-                  ("key" .=) <$> _aaKey])
− gen/Network/Google/Reports/Types/Sum.hs
@@ -1,19 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Reports.Types.Sum--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.Reports.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)
− gen/Network/Google/Resource/Admin/Channels/Stop.hs
@@ -1,89 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Admin.Channels.Stop--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Stop watching resources through this channel------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @admin.channels.stop@.-module Network.Google.Resource.Admin.Channels.Stop-    (-    -- * REST Resource-      ChannelsStopResource--    -- * Creating a Request-    , channelsStop-    , ChannelsStop--    -- * Request Lenses-    , csPayload-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @admin.channels.stop@ method which the--- 'ChannelsStop' request conforms to.-type ChannelsStopResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "admin" :>-             "reports_v1" :>-               "channels" :>-                 "stop" :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Channel :> Post '[JSON] ()---- | Stop watching resources through this channel------ /See:/ 'channelsStop' smart constructor.-newtype ChannelsStop =-  ChannelsStop'-    { _csPayload :: Channel-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ChannelsStop' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csPayload'-channelsStop-    :: Channel -- ^ 'csPayload'-    -> ChannelsStop-channelsStop pCsPayload_ = ChannelsStop' {_csPayload = pCsPayload_}----- | Multipart request metadata.-csPayload :: Lens' ChannelsStop Channel-csPayload-  = lens _csPayload (\ s a -> s{_csPayload = a})--instance GoogleRequest ChannelsStop where-        type Rs ChannelsStop = ()-        type Scopes ChannelsStop =-             '["https://www.googleapis.com/auth/admin.reports.audit.readonly"]-        requestClient ChannelsStop'{..}-          = go (Just AltJSON) _csPayload reportsService-          where go-                  = buildClient (Proxy :: Proxy ChannelsStopResource)-                      mempty
− gen/Network/Google/Resource/Reports/Activities/List.hs
@@ -1,221 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Reports.Activities.List--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a list of activities for a specific customer and application.------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @reports.activities.list@.-module Network.Google.Resource.Reports.Activities.List-    (-    -- * REST Resource-      ActivitiesListResource--    -- * Creating a Request-    , activitiesList-    , ActivitiesList--    -- * Request Lenses-    , alStartTime-    , alFilters-    , alCustomerId-    , alActorIPAddress-    , alEndTime-    , alApplicationName-    , alPageToken-    , alEventName-    , alUserKey-    , alMaxResults-    , alOrgUnitId-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @reports.activities.list@ method which the--- 'ActivitiesList' request conforms to.-type ActivitiesListResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "activity" :>-             "users" :>-               Capture "userKey" Text :>-                 "applications" :>-                   Capture "applicationName" Text :>-                     QueryParam "startTime" Text :>-                       QueryParam "filters" Text :>-                         QueryParam "customerId" Text :>-                           QueryParam "actorIpAddress" Text :>-                             QueryParam "endTime" Text :>-                               QueryParam "pageToken" Text :>-                                 QueryParam "eventName" Text :>-                                   QueryParam "maxResults" (Textual Int32) :>-                                     QueryParam "orgUnitID" Text :>-                                       QueryParam "alt" AltJSON :>-                                         Get '[JSON] Activities---- | Retrieves a list of activities for a specific customer and application.------ /See:/ 'activitiesList' smart constructor.-data ActivitiesList =-  ActivitiesList'-    { _alStartTime       :: !(Maybe Text)-    , _alFilters         :: !(Maybe Text)-    , _alCustomerId      :: !(Maybe Text)-    , _alActorIPAddress  :: !(Maybe Text)-    , _alEndTime         :: !(Maybe Text)-    , _alApplicationName :: !Text-    , _alPageToken       :: !(Maybe Text)-    , _alEventName       :: !(Maybe Text)-    , _alUserKey         :: !Text-    , _alMaxResults      :: !(Maybe (Textual Int32))-    , _alOrgUnitId       :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivitiesList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alStartTime'------ * 'alFilters'------ * 'alCustomerId'------ * 'alActorIPAddress'------ * 'alEndTime'------ * 'alApplicationName'------ * 'alPageToken'------ * 'alEventName'------ * 'alUserKey'------ * 'alMaxResults'------ * 'alOrgUnitId'-activitiesList-    :: Text -- ^ 'alApplicationName'-    -> Text -- ^ 'alUserKey'-    -> ActivitiesList-activitiesList pAlApplicationName_ pAlUserKey_ =-  ActivitiesList'-    { _alStartTime = Nothing-    , _alFilters = Nothing-    , _alCustomerId = Nothing-    , _alActorIPAddress = Nothing-    , _alEndTime = Nothing-    , _alApplicationName = pAlApplicationName_-    , _alPageToken = Nothing-    , _alEventName = Nothing-    , _alUserKey = pAlUserKey_-    , _alMaxResults = Nothing-    , _alOrgUnitId = ""-    }----- | Return events which occurred at or after this time.-alStartTime :: Lens' ActivitiesList (Maybe Text)-alStartTime-  = lens _alStartTime (\ s a -> s{_alStartTime = a})---- | Event parameters in the form [parameter1 name][operator][parameter1--- value],[parameter2 name][operator][parameter2 value],...-alFilters :: Lens' ActivitiesList (Maybe Text)-alFilters-  = lens _alFilters (\ s a -> s{_alFilters = a})---- | Represents the customer for which the data is to be fetched.-alCustomerId :: Lens' ActivitiesList (Maybe Text)-alCustomerId-  = lens _alCustomerId (\ s a -> s{_alCustomerId = a})---- | IP Address of host where the event was performed. Supports both IPv4 and--- IPv6 addresses.-alActorIPAddress :: Lens' ActivitiesList (Maybe Text)-alActorIPAddress-  = lens _alActorIPAddress-      (\ s a -> s{_alActorIPAddress = a})---- | Return events which occurred at or before this time.-alEndTime :: Lens' ActivitiesList (Maybe Text)-alEndTime-  = lens _alEndTime (\ s a -> s{_alEndTime = a})---- | Application name for which the events are to be retrieved.-alApplicationName :: Lens' ActivitiesList Text-alApplicationName-  = lens _alApplicationName-      (\ s a -> s{_alApplicationName = a})---- | Token to specify next page.-alPageToken :: Lens' ActivitiesList (Maybe Text)-alPageToken-  = lens _alPageToken (\ s a -> s{_alPageToken = a})---- | Name of the event being queried.-alEventName :: Lens' ActivitiesList (Maybe Text)-alEventName-  = lens _alEventName (\ s a -> s{_alEventName = a})---- | Represents the profile id or the user email for which the data should be--- filtered. When \'all\' is specified as the userKey, it returns--- usageReports for all users.-alUserKey :: Lens' ActivitiesList Text-alUserKey-  = lens _alUserKey (\ s a -> s{_alUserKey = a})---- | Number of activity records to be shown in each page.-alMaxResults :: Lens' ActivitiesList (Maybe Int32)-alMaxResults-  = lens _alMaxResults (\ s a -> s{_alMaxResults = a})-      . mapping _Coerce---- | the organizational unit\'s(OU) ID to filter activities from users--- belonging to a specific OU or one of its sub-OU(s)-alOrgUnitId :: Lens' ActivitiesList Text-alOrgUnitId-  = lens _alOrgUnitId (\ s a -> s{_alOrgUnitId = a})--instance GoogleRequest ActivitiesList where-        type Rs ActivitiesList = Activities-        type Scopes ActivitiesList =-             '["https://www.googleapis.com/auth/admin.reports.audit.readonly"]-        requestClient ActivitiesList'{..}-          = go _alUserKey _alApplicationName _alStartTime-              _alFilters-              _alCustomerId-              _alActorIPAddress-              _alEndTime-              _alPageToken-              _alEventName-              _alMaxResults-              (Just _alOrgUnitId)-              (Just AltJSON)-              reportsService-          where go-                  = buildClient (Proxy :: Proxy ActivitiesListResource)-                      mempty
− gen/Network/Google/Resource/Reports/Activities/Watch.hs
@@ -1,236 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Reports.Activities.Watch--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Push changes to activities------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @reports.activities.watch@.-module Network.Google.Resource.Reports.Activities.Watch-    (-    -- * REST Resource-      ActivitiesWatchResource--    -- * Creating a Request-    , activitiesWatch-    , ActivitiesWatch--    -- * Request Lenses-    , awStartTime-    , awFilters-    , awPayload-    , awCustomerId-    , awActorIPAddress-    , awEndTime-    , awApplicationName-    , awPageToken-    , awEventName-    , awUserKey-    , awMaxResults-    , awOrgUnitId-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @reports.activities.watch@ method which the--- 'ActivitiesWatch' request conforms to.-type ActivitiesWatchResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "activity" :>-             "users" :>-               Capture "userKey" Text :>-                 "applications" :>-                   Capture "applicationName" Text :>-                     "watch" :>-                       QueryParam "startTime" Text :>-                         QueryParam "filters" Text :>-                           QueryParam "customerId" Text :>-                             QueryParam "actorIpAddress" Text :>-                               QueryParam "endTime" Text :>-                                 QueryParam "pageToken" Text :>-                                   QueryParam "eventName" Text :>-                                     QueryParam "maxResults" (Textual Int32) :>-                                       QueryParam "orgUnitID" Text :>-                                         QueryParam "alt" AltJSON :>-                                           ReqBody '[JSON] Channel :>-                                             Post '[JSON] Channel---- | Push changes to activities------ /See:/ 'activitiesWatch' smart constructor.-data ActivitiesWatch =-  ActivitiesWatch'-    { _awStartTime       :: !(Maybe Text)-    , _awFilters         :: !(Maybe Text)-    , _awPayload         :: !Channel-    , _awCustomerId      :: !(Maybe Text)-    , _awActorIPAddress  :: !(Maybe Text)-    , _awEndTime         :: !(Maybe Text)-    , _awApplicationName :: !Text-    , _awPageToken       :: !(Maybe Text)-    , _awEventName       :: !(Maybe Text)-    , _awUserKey         :: !Text-    , _awMaxResults      :: !(Maybe (Textual Int32))-    , _awOrgUnitId       :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivitiesWatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'awStartTime'------ * 'awFilters'------ * 'awPayload'------ * 'awCustomerId'------ * 'awActorIPAddress'------ * 'awEndTime'------ * 'awApplicationName'------ * 'awPageToken'------ * 'awEventName'------ * 'awUserKey'------ * 'awMaxResults'------ * 'awOrgUnitId'-activitiesWatch-    :: Channel -- ^ 'awPayload'-    -> Text -- ^ 'awApplicationName'-    -> Text -- ^ 'awUserKey'-    -> ActivitiesWatch-activitiesWatch pAwPayload_ pAwApplicationName_ pAwUserKey_ =-  ActivitiesWatch'-    { _awStartTime = Nothing-    , _awFilters = Nothing-    , _awPayload = pAwPayload_-    , _awCustomerId = Nothing-    , _awActorIPAddress = Nothing-    , _awEndTime = Nothing-    , _awApplicationName = pAwApplicationName_-    , _awPageToken = Nothing-    , _awEventName = Nothing-    , _awUserKey = pAwUserKey_-    , _awMaxResults = Nothing-    , _awOrgUnitId = ""-    }----- | Return events which occurred at or after this time.-awStartTime :: Lens' ActivitiesWatch (Maybe Text)-awStartTime-  = lens _awStartTime (\ s a -> s{_awStartTime = a})---- | Event parameters in the form [parameter1 name][operator][parameter1--- value],[parameter2 name][operator][parameter2 value],...-awFilters :: Lens' ActivitiesWatch (Maybe Text)-awFilters-  = lens _awFilters (\ s a -> s{_awFilters = a})---- | Multipart request metadata.-awPayload :: Lens' ActivitiesWatch Channel-awPayload-  = lens _awPayload (\ s a -> s{_awPayload = a})---- | Represents the customer for which the data is to be fetched.-awCustomerId :: Lens' ActivitiesWatch (Maybe Text)-awCustomerId-  = lens _awCustomerId (\ s a -> s{_awCustomerId = a})---- | IP Address of host where the event was performed. Supports both IPv4 and--- IPv6 addresses.-awActorIPAddress :: Lens' ActivitiesWatch (Maybe Text)-awActorIPAddress-  = lens _awActorIPAddress-      (\ s a -> s{_awActorIPAddress = a})---- | Return events which occurred at or before this time.-awEndTime :: Lens' ActivitiesWatch (Maybe Text)-awEndTime-  = lens _awEndTime (\ s a -> s{_awEndTime = a})---- | Application name for which the events are to be retrieved.-awApplicationName :: Lens' ActivitiesWatch Text-awApplicationName-  = lens _awApplicationName-      (\ s a -> s{_awApplicationName = a})---- | Token to specify next page.-awPageToken :: Lens' ActivitiesWatch (Maybe Text)-awPageToken-  = lens _awPageToken (\ s a -> s{_awPageToken = a})---- | Name of the event being queried.-awEventName :: Lens' ActivitiesWatch (Maybe Text)-awEventName-  = lens _awEventName (\ s a -> s{_awEventName = a})---- | Represents the profile id or the user email for which the data should be--- filtered. When \'all\' is specified as the userKey, it returns--- usageReports for all users.-awUserKey :: Lens' ActivitiesWatch Text-awUserKey-  = lens _awUserKey (\ s a -> s{_awUserKey = a})---- | Number of activity records to be shown in each page.-awMaxResults :: Lens' ActivitiesWatch (Maybe Int32)-awMaxResults-  = lens _awMaxResults (\ s a -> s{_awMaxResults = a})-      . mapping _Coerce---- | the organizational unit\'s(OU) ID to filter activities from users--- belonging to a specific OU or one of its sub-OU(s)-awOrgUnitId :: Lens' ActivitiesWatch Text-awOrgUnitId-  = lens _awOrgUnitId (\ s a -> s{_awOrgUnitId = a})--instance GoogleRequest ActivitiesWatch where-        type Rs ActivitiesWatch = Channel-        type Scopes ActivitiesWatch =-             '["https://www.googleapis.com/auth/admin.reports.audit.readonly"]-        requestClient ActivitiesWatch'{..}-          = go _awUserKey _awApplicationName _awStartTime-              _awFilters-              _awCustomerId-              _awActorIPAddress-              _awEndTime-              _awPageToken-              _awEventName-              _awMaxResults-              (Just _awOrgUnitId)-              (Just AltJSON)-              _awPayload-              reportsService-          where go-                  = buildClient-                      (Proxy :: Proxy ActivitiesWatchResource)-                      mempty
− gen/Network/Google/Resource/Reports/CustomerUsageReports/Get.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Reports.CustomerUsageReports.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a report which is a collection of properties \/ statistics for--- a specific customer.------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @reports.customerUsageReports.get@.-module Network.Google.Resource.Reports.CustomerUsageReports.Get-    (-    -- * REST Resource-      CustomerUsageReportsGetResource--    -- * Creating a Request-    , customerUsageReportsGet-    , CustomerUsageReportsGet--    -- * Request Lenses-    , curgCustomerId-    , curgDate-    , curgParameters-    , curgPageToken-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @reports.customerUsageReports.get@ method which the--- 'CustomerUsageReportsGet' request conforms to.-type CustomerUsageReportsGetResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "usage" :>-             "dates" :>-               Capture "date" Text :>-                 QueryParam "customerId" Text :>-                   QueryParam "parameters" Text :>-                     QueryParam "pageToken" Text :>-                       QueryParam "alt" AltJSON :> Get '[JSON] UsageReports---- | Retrieves a report which is a collection of properties \/ statistics for--- a specific customer.------ /See:/ 'customerUsageReportsGet' smart constructor.-data CustomerUsageReportsGet =-  CustomerUsageReportsGet'-    { _curgCustomerId :: !(Maybe Text)-    , _curgDate       :: !Text-    , _curgParameters :: !(Maybe Text)-    , _curgPageToken  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CustomerUsageReportsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'curgCustomerId'------ * 'curgDate'------ * 'curgParameters'------ * 'curgPageToken'-customerUsageReportsGet-    :: Text -- ^ 'curgDate'-    -> CustomerUsageReportsGet-customerUsageReportsGet pCurgDate_ =-  CustomerUsageReportsGet'-    { _curgCustomerId = Nothing-    , _curgDate = pCurgDate_-    , _curgParameters = Nothing-    , _curgPageToken = Nothing-    }----- | Represents the customer for which the data is to be fetched.-curgCustomerId :: Lens' CustomerUsageReportsGet (Maybe Text)-curgCustomerId-  = lens _curgCustomerId-      (\ s a -> s{_curgCustomerId = a})---- | Represents the date in yyyy-mm-dd format for which the data is to be--- fetched.-curgDate :: Lens' CustomerUsageReportsGet Text-curgDate = lens _curgDate (\ s a -> s{_curgDate = a})---- | Represents the application name, parameter name pairs to fetch in csv as--- app_name1:param_name1, app_name2:param_name2.-curgParameters :: Lens' CustomerUsageReportsGet (Maybe Text)-curgParameters-  = lens _curgParameters-      (\ s a -> s{_curgParameters = a})---- | Token to specify next page.-curgPageToken :: Lens' CustomerUsageReportsGet (Maybe Text)-curgPageToken-  = lens _curgPageToken-      (\ s a -> s{_curgPageToken = a})--instance GoogleRequest CustomerUsageReportsGet where-        type Rs CustomerUsageReportsGet = UsageReports-        type Scopes CustomerUsageReportsGet =-             '["https://www.googleapis.com/auth/admin.reports.usage.readonly"]-        requestClient CustomerUsageReportsGet'{..}-          = go _curgDate _curgCustomerId _curgParameters-              _curgPageToken-              (Just AltJSON)-              reportsService-          where go-                  = buildClient-                      (Proxy :: Proxy CustomerUsageReportsGetResource)-                      mempty
− gen/Network/Google/Resource/Reports/EntityUsageReports/Get.hs
@@ -1,188 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Reports.EntityUsageReports.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a report which is a collection of properties \/ statistics for--- a set of objects.------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @reports.entityUsageReports.get@.-module Network.Google.Resource.Reports.EntityUsageReports.Get-    (-    -- * REST Resource-      EntityUsageReportsGetResource--    -- * Creating a Request-    , entityUsageReportsGet-    , EntityUsageReportsGet--    -- * Request Lenses-    , eurgEntityType-    , eurgFilters-    , eurgCustomerId-    , eurgDate-    , eurgEntityKey-    , eurgParameters-    , eurgPageToken-    , eurgMaxResults-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @reports.entityUsageReports.get@ method which the--- 'EntityUsageReportsGet' request conforms to.-type EntityUsageReportsGetResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "usage" :>-             Capture "entityType" Text :>-               Capture "entityKey" Text :>-                 "dates" :>-                   Capture "date" Text :>-                     QueryParam "filters" Text :>-                       QueryParam "customerId" Text :>-                         QueryParam "parameters" Text :>-                           QueryParam "pageToken" Text :>-                             QueryParam "maxResults" (Textual Word32) :>-                               QueryParam "alt" AltJSON :>-                                 Get '[JSON] UsageReports---- | Retrieves a report which is a collection of properties \/ statistics for--- a set of objects.------ /See:/ 'entityUsageReportsGet' smart constructor.-data EntityUsageReportsGet =-  EntityUsageReportsGet'-    { _eurgEntityType :: !Text-    , _eurgFilters    :: !(Maybe Text)-    , _eurgCustomerId :: !(Maybe Text)-    , _eurgDate       :: !Text-    , _eurgEntityKey  :: !Text-    , _eurgParameters :: !(Maybe Text)-    , _eurgPageToken  :: !(Maybe Text)-    , _eurgMaxResults :: !(Maybe (Textual Word32))-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EntityUsageReportsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eurgEntityType'------ * 'eurgFilters'------ * 'eurgCustomerId'------ * 'eurgDate'------ * 'eurgEntityKey'------ * 'eurgParameters'------ * 'eurgPageToken'------ * 'eurgMaxResults'-entityUsageReportsGet-    :: Text -- ^ 'eurgEntityType'-    -> Text -- ^ 'eurgDate'-    -> Text -- ^ 'eurgEntityKey'-    -> EntityUsageReportsGet-entityUsageReportsGet pEurgEntityType_ pEurgDate_ pEurgEntityKey_ =-  EntityUsageReportsGet'-    { _eurgEntityType = pEurgEntityType_-    , _eurgFilters = Nothing-    , _eurgCustomerId = Nothing-    , _eurgDate = pEurgDate_-    , _eurgEntityKey = pEurgEntityKey_-    , _eurgParameters = Nothing-    , _eurgPageToken = Nothing-    , _eurgMaxResults = Nothing-    }----- | Type of object. Should be one of - gplus_communities.-eurgEntityType :: Lens' EntityUsageReportsGet Text-eurgEntityType-  = lens _eurgEntityType-      (\ s a -> s{_eurgEntityType = a})---- | Represents the set of filters including parameter operator value.-eurgFilters :: Lens' EntityUsageReportsGet (Maybe Text)-eurgFilters-  = lens _eurgFilters (\ s a -> s{_eurgFilters = a})---- | Represents the customer for which the data is to be fetched.-eurgCustomerId :: Lens' EntityUsageReportsGet (Maybe Text)-eurgCustomerId-  = lens _eurgCustomerId-      (\ s a -> s{_eurgCustomerId = a})---- | Represents the date in yyyy-mm-dd format for which the data is to be--- fetched.-eurgDate :: Lens' EntityUsageReportsGet Text-eurgDate = lens _eurgDate (\ s a -> s{_eurgDate = a})---- | Represents the key of object for which the data should be filtered.-eurgEntityKey :: Lens' EntityUsageReportsGet Text-eurgEntityKey-  = lens _eurgEntityKey-      (\ s a -> s{_eurgEntityKey = a})---- | Represents the application name, parameter name pairs to fetch in csv as--- app_name1:param_name1, app_name2:param_name2.-eurgParameters :: Lens' EntityUsageReportsGet (Maybe Text)-eurgParameters-  = lens _eurgParameters-      (\ s a -> s{_eurgParameters = a})---- | Token to specify next page.-eurgPageToken :: Lens' EntityUsageReportsGet (Maybe Text)-eurgPageToken-  = lens _eurgPageToken-      (\ s a -> s{_eurgPageToken = a})---- | Maximum number of results to return. Maximum allowed is 1000-eurgMaxResults :: Lens' EntityUsageReportsGet (Maybe Word32)-eurgMaxResults-  = lens _eurgMaxResults-      (\ s a -> s{_eurgMaxResults = a})-      . mapping _Coerce--instance GoogleRequest EntityUsageReportsGet where-        type Rs EntityUsageReportsGet = UsageReports-        type Scopes EntityUsageReportsGet =-             '["https://www.googleapis.com/auth/admin.reports.usage.readonly"]-        requestClient EntityUsageReportsGet'{..}-          = go _eurgEntityType _eurgEntityKey _eurgDate-              _eurgFilters-              _eurgCustomerId-              _eurgParameters-              _eurgPageToken-              _eurgMaxResults-              (Just AltJSON)-              reportsService-          where go-                  = buildClient-                      (Proxy :: Proxy EntityUsageReportsGetResource)-                      mempty
− gen/Network/Google/Resource/Reports/UserUsageReport/Get.hs
@@ -1,189 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.Reports.UserUsageReport.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a report which is a collection of properties \/ statistics for--- a set of users.------ /See:/ <https://developers.google.com/admin-sdk/reports/ Admin Reports API Reference> for @reports.userUsageReport.get@.-module Network.Google.Resource.Reports.UserUsageReport.Get-    (-    -- * REST Resource-      UserUsageReportGetResource--    -- * Creating a Request-    , userUsageReportGet-    , UserUsageReportGet--    -- * Request Lenses-    , uurgFilters-    , uurgCustomerId-    , uurgDate-    , uurgParameters-    , uurgPageToken-    , uurgUserKey-    , uurgMaxResults-    , uurgOrgUnitId-    ) where--import           Network.Google.Prelude-import           Network.Google.Reports.Types---- | A resource alias for @reports.userUsageReport.get@ method which the--- 'UserUsageReportGet' request conforms to.-type UserUsageReportGetResource =-     "admin" :>-       "reports" :>-         "v1" :>-           "usage" :>-             "users" :>-               Capture "userKey" Text :>-                 "dates" :>-                   Capture "date" Text :>-                     QueryParam "filters" Text :>-                       QueryParam "customerId" Text :>-                         QueryParam "parameters" Text :>-                           QueryParam "pageToken" Text :>-                             QueryParam "maxResults" (Textual Word32) :>-                               QueryParam "orgUnitID" Text :>-                                 QueryParam "alt" AltJSON :>-                                   Get '[JSON] UsageReports---- | Retrieves a report which is a collection of properties \/ statistics for--- a set of users.------ /See:/ 'userUsageReportGet' smart constructor.-data UserUsageReportGet =-  UserUsageReportGet'-    { _uurgFilters    :: !(Maybe Text)-    , _uurgCustomerId :: !(Maybe Text)-    , _uurgDate       :: !Text-    , _uurgParameters :: !(Maybe Text)-    , _uurgPageToken  :: !(Maybe Text)-    , _uurgUserKey    :: !Text-    , _uurgMaxResults :: !(Maybe (Textual Word32))-    , _uurgOrgUnitId  :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UserUsageReportGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uurgFilters'------ * 'uurgCustomerId'------ * 'uurgDate'------ * 'uurgParameters'------ * 'uurgPageToken'------ * 'uurgUserKey'------ * 'uurgMaxResults'------ * 'uurgOrgUnitId'-userUsageReportGet-    :: Text -- ^ 'uurgDate'-    -> Text -- ^ 'uurgUserKey'-    -> UserUsageReportGet-userUsageReportGet pUurgDate_ pUurgUserKey_ =-  UserUsageReportGet'-    { _uurgFilters = Nothing-    , _uurgCustomerId = Nothing-    , _uurgDate = pUurgDate_-    , _uurgParameters = Nothing-    , _uurgPageToken = Nothing-    , _uurgUserKey = pUurgUserKey_-    , _uurgMaxResults = Nothing-    , _uurgOrgUnitId = ""-    }----- | Represents the set of filters including parameter operator value.-uurgFilters :: Lens' UserUsageReportGet (Maybe Text)-uurgFilters-  = lens _uurgFilters (\ s a -> s{_uurgFilters = a})---- | Represents the customer for which the data is to be fetched.-uurgCustomerId :: Lens' UserUsageReportGet (Maybe Text)-uurgCustomerId-  = lens _uurgCustomerId-      (\ s a -> s{_uurgCustomerId = a})---- | Represents the date in yyyy-mm-dd format for which the data is to be--- fetched.-uurgDate :: Lens' UserUsageReportGet Text-uurgDate = lens _uurgDate (\ s a -> s{_uurgDate = a})---- | Represents the application name, parameter name pairs to fetch in csv as--- app_name1:param_name1, app_name2:param_name2.-uurgParameters :: Lens' UserUsageReportGet (Maybe Text)-uurgParameters-  = lens _uurgParameters-      (\ s a -> s{_uurgParameters = a})---- | Token to specify next page.-uurgPageToken :: Lens' UserUsageReportGet (Maybe Text)-uurgPageToken-  = lens _uurgPageToken-      (\ s a -> s{_uurgPageToken = a})---- | Represents the profile id or the user email for which the data should be--- filtered.-uurgUserKey :: Lens' UserUsageReportGet Text-uurgUserKey-  = lens _uurgUserKey (\ s a -> s{_uurgUserKey = a})---- | Maximum number of results to return. Maximum allowed is 1000-uurgMaxResults :: Lens' UserUsageReportGet (Maybe Word32)-uurgMaxResults-  = lens _uurgMaxResults-      (\ s a -> s{_uurgMaxResults = a})-      . mapping _Coerce---- | the organizational unit\'s ID to filter usage parameters from users--- belonging to a specific OU or one of its sub-OU(s).-uurgOrgUnitId :: Lens' UserUsageReportGet Text-uurgOrgUnitId-  = lens _uurgOrgUnitId-      (\ s a -> s{_uurgOrgUnitId = a})--instance GoogleRequest UserUsageReportGet where-        type Rs UserUsageReportGet = UsageReports-        type Scopes UserUsageReportGet =-             '["https://www.googleapis.com/auth/admin.reports.usage.readonly"]-        requestClient UserUsageReportGet'{..}-          = go _uurgUserKey _uurgDate _uurgFilters-              _uurgCustomerId-              _uurgParameters-              _uurgPageToken-              _uurgMaxResults-              (Just _uurgOrgUnitId)-              (Just AltJSON)-              reportsService-          where go-                  = buildClient-                      (Proxy :: Proxy UserUsageReportGetResource)-                      mempty
gogol-admin-reports.cabal view
@@ -1,52 +1,66 @@-name:                  gogol-admin-reports-version:               0.5.0-synopsis:              Google Admin Reports SDK.-homepage:              https://github.com/brendanhay/gogol-bug-reports:           https://github.com/brendanhay/gogol/issues-license:               OtherLicense-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2015-2016 Brendan Hay-category:              Network, Google, Cloud-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md src/.gitkeep+cabal-version:      2.2+name:               gogol-admin-reports+version:            1.0.0+synopsis:           Google Admin SDK.+homepage:           https://github.com/brendanhay/gogol+bug-reports:        https://github.com/brendanhay/gogol/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com> +copyright:          Copyright (c) 2015-2025 Brendan Hay+category:           Google+build-type:         Simple+extra-source-files:+  README.md+  src/.gitkeep+ description:-    Fetches reports for the administrators of G Suite customers about the-    usage, collaboration, security, and risk for their users.-    .-    /Warning:/ This is an experimental prototype/preview release which is still-    under exploratory development and not intended for public use, caveat emptor!-    .-    This library is compatible with version @reports_v1@-    of the API.+  Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.+  .+  /Warning:/ This is an experimental prototype/preview release which is still+  under exploratory development and not intended for public use, caveat emptor!+  .+  This library is compatible with version @reports_v1@+  of the API.  source-repository head-    type:     git-    location: git://github.com/brendanhay/gogol.git+  type:     git+  location: git://github.com/brendanhay/gogol.git+  subdir:   gogol-admin-reports +flag field-selectors+  description:+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.++  default:     False+  manual:      True+ library-    default-language:  Haskell2010-    hs-source-dirs:    src gen+  default-language: GHC2021+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields+    -fwarn-unused-packages -    ghc-options:       -Wall+  if (!flag(field-selectors) && impl(ghc >=9.2))+    default-extensions: NoFieldSelectors -    exposed-modules:-          Network.Google.Reports-        , Network.Google.Reports.Types-        , Network.Google.Resource.Admin.Channels.Stop-        , Network.Google.Resource.Reports.Activities.List-        , Network.Google.Resource.Reports.Activities.Watch-        , Network.Google.Resource.Reports.CustomerUsageReports.Get-        , Network.Google.Resource.Reports.EntityUsageReports.Get-        , Network.Google.Resource.Reports.UserUsageReport.Get+  exposed-modules:+    Gogol.Admin.Reports+    Gogol.Admin.Reports.Activities.List+    Gogol.Admin.Reports.Activities.Watch+    Gogol.Admin.Reports.Admin.Channels.Stop+    Gogol.Admin.Reports.CustomerUsageReports.Get+    Gogol.Admin.Reports.EntityUsageReports.Get+    Gogol.Admin.Reports.Types+    Gogol.Admin.Reports.UserUsageReport.Get -    other-modules:-          Network.Google.Reports.Types.Product-        , Network.Google.Reports.Types.Sum+  other-modules:+    Gogol.Admin.Reports.Internal.Product+    Gogol.Admin.Reports.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0