{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# 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 -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Retrieves a list of activities for a specific customer and application. -- -- /See:/ 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