gogol-alertcenter 0.5.0 → 1.0.0
raw patch · 30 files changed
+6822/−4076 lines, 30 filesdep −basedep ~gogol-coresetup-changed
Dependencies removed: base
Dependency ranges changed: gogol-core
Files
- README.md +2/−2
- Setup.hs +2/−1
- gen/Gogol/AlertCenter.hs +463/−0
- gen/Gogol/AlertCenter/Alerts/BatchDelete.hs +108/−0
- gen/Gogol/AlertCenter/Alerts/BatchUndelete.hs +110/−0
- gen/Gogol/AlertCenter/Alerts/Delete.hs +113/−0
- gen/Gogol/AlertCenter/Alerts/Feedback/Create.hs +121/−0
- gen/Gogol/AlertCenter/Alerts/Feedback/List.hs +119/−0
- gen/Gogol/AlertCenter/Alerts/Get.hs +113/−0
- gen/Gogol/AlertCenter/Alerts/GetMetadata.hs +114/−0
- gen/Gogol/AlertCenter/Alerts/List.hs +126/−0
- gen/Gogol/AlertCenter/Alerts/Undelete.hs +115/−0
- gen/Gogol/AlertCenter/GetSettings.hs +106/−0
- gen/Gogol/AlertCenter/Internal/Product.hs +3509/−0
- gen/Gogol/AlertCenter/Internal/Sum.hs +1124/−0
- gen/Gogol/AlertCenter/Types.hs +403/−0
- gen/Gogol/AlertCenter/UpdateSettings.hs +113/−0
- gen/Network/Google/AlertCenter.hs +0/−302
- gen/Network/Google/AlertCenter/Types.hs +0/−258
- gen/Network/Google/AlertCenter/Types/Product.hs +0/−1958
- gen/Network/Google/AlertCenter/Types/Sum.hs +0/−117
- gen/Network/Google/Resource/AlertCenter/Alerts/Delete.hs +0/−170
- gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/Create.hs +0/−182
- gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/List.hs +0/−187
- gen/Network/Google/Resource/AlertCenter/Alerts/Get.hs +0/−164
- gen/Network/Google/Resource/AlertCenter/Alerts/List.hs +0/−209
- gen/Network/Google/Resource/AlertCenter/Alerts/Undelete.hs +0/−172
- gen/Network/Google/Resource/AlertCenter/GetSettings.hs +0/−149
- gen/Network/Google/Resource/AlertCenter/UpdateSettings.hs +0/−162
- gogol-alertcenter.cabal +61/−43
README.md view
@@ -8,12 +8,12 @@ ## Version -`0.5.0`+`1.0.0` ## Description -A client library for the Google G Suite Alert Center.+A client library for the Google Workspace Alert Center. ## Contribute
Setup.hs view
@@ -1,2 +1,3 @@-import Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/AlertCenter.hs view
@@ -0,0 +1,463 @@+{-# 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.AlertCenter+-- 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)+--+-- Manages alerts on issues affecting your domain. Note: The current version of this API (v1beta1) is available to all Google Workspace customers.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference>+module Gogol.AlertCenter+ ( -- * Configuration+ alertCenterService,++ -- * OAuth Scopes+ Apps'Alerts,++ -- * Resources++ -- ** alertcenter.alerts.batchDelete+ AlertCenterAlertsBatchDeleteResource,+ AlertCenterAlertsBatchDelete (..),+ newAlertCenterAlertsBatchDelete,++ -- ** alertcenter.alerts.batchUndelete+ AlertCenterAlertsBatchUndeleteResource,+ AlertCenterAlertsBatchUndelete (..),+ newAlertCenterAlertsBatchUndelete,++ -- ** alertcenter.alerts.delete+ AlertCenterAlertsDeleteResource,+ AlertCenterAlertsDelete (..),+ newAlertCenterAlertsDelete,++ -- ** alertcenter.alerts.feedback.create+ AlertCenterAlertsFeedbackCreateResource,+ AlertCenterAlertsFeedbackCreate (..),+ newAlertCenterAlertsFeedbackCreate,++ -- ** alertcenter.alerts.feedback.list+ AlertCenterAlertsFeedbackListResource,+ AlertCenterAlertsFeedbackList (..),+ newAlertCenterAlertsFeedbackList,++ -- ** alertcenter.alerts.get+ AlertCenterAlertsGetResource,+ AlertCenterAlertsGet (..),+ newAlertCenterAlertsGet,++ -- ** alertcenter.alerts.getMetadata+ AlertCenterAlertsGetMetadataResource,+ AlertCenterAlertsGetMetadata (..),+ newAlertCenterAlertsGetMetadata,++ -- ** alertcenter.alerts.list+ AlertCenterAlertsListResource,+ AlertCenterAlertsList (..),+ newAlertCenterAlertsList,++ -- ** alertcenter.alerts.undelete+ AlertCenterAlertsUndeleteResource,+ AlertCenterAlertsUndelete (..),+ newAlertCenterAlertsUndelete,++ -- ** alertcenter.getSettings+ AlertCenterGetSettingsResource,+ AlertCenterGetSettings (..),+ newAlertCenterGetSettings,++ -- ** alertcenter.updateSettings+ AlertCenterUpdateSettingsResource,+ AlertCenterUpdateSettings (..),+ newAlertCenterUpdateSettings,++ -- * Types++ -- ** Xgafv+ Xgafv (..),++ -- ** AbuseDetected+ AbuseDetected (..),+ newAbuseDetected,++ -- ** AbuseDetected_VariationType+ AbuseDetected_VariationType (..),++ -- ** AccessApproval+ AccessApproval (..),+ newAccessApproval,++ -- ** AccessApproval_JustificationReasonItem+ AccessApproval_JustificationReasonItem (..),++ -- ** AccountSuspensionDetails+ AccountSuspensionDetails (..),+ newAccountSuspensionDetails,++ -- ** AccountSuspensionDetails_AbuseReason+ AccountSuspensionDetails_AbuseReason (..),++ -- ** AccountSuspensionWarning+ AccountSuspensionWarning (..),+ newAccountSuspensionWarning,++ -- ** AccountSuspensionWarning_State+ AccountSuspensionWarning_State (..),++ -- ** AccountWarning+ AccountWarning (..),+ newAccountWarning,++ -- ** ActionInfo+ ActionInfo (..),+ newActionInfo,++ -- ** ActivityRule+ ActivityRule (..),+ newActivityRule,++ -- ** Alert+ Alert (..),+ newAlert,++ -- ** Alert_Data+ Alert_Data (..),+ newAlert_Data,++ -- ** AlertFeedback+ AlertFeedback (..),+ newAlertFeedback,++ -- ** AlertFeedback_Type+ AlertFeedback_Type (..),++ -- ** AlertMetadata+ AlertMetadata (..),+ newAlertMetadata,++ -- ** ApnsCertificateExpirationInfo+ ApnsCertificateExpirationInfo (..),+ newApnsCertificateExpirationInfo,++ -- ** AppMakerSqlSetupNotification+ AppMakerSqlSetupNotification (..),+ newAppMakerSqlSetupNotification,++ -- ** AppSettingsChanged+ AppSettingsChanged (..),+ newAppSettingsChanged,++ -- ** AppsOutage+ AppsOutage (..),+ newAppsOutage,++ -- ** AppsOutage_Status+ AppsOutage_Status (..),++ -- ** Attachment+ Attachment (..),+ newAttachment,++ -- ** BadWhitelist+ BadWhitelist (..),+ newBadWhitelist,++ -- ** BatchDeleteAlertsRequest+ BatchDeleteAlertsRequest (..),+ newBatchDeleteAlertsRequest,++ -- ** BatchDeleteAlertsResponse+ BatchDeleteAlertsResponse (..),+ newBatchDeleteAlertsResponse,++ -- ** BatchDeleteAlertsResponse_FailedAlertStatus+ BatchDeleteAlertsResponse_FailedAlertStatus (..),+ newBatchDeleteAlertsResponse_FailedAlertStatus,++ -- ** BatchUndeleteAlertsRequest+ BatchUndeleteAlertsRequest (..),+ newBatchUndeleteAlertsRequest,++ -- ** BatchUndeleteAlertsResponse+ BatchUndeleteAlertsResponse (..),+ newBatchUndeleteAlertsResponse,++ -- ** BatchUndeleteAlertsResponse_FailedAlertStatus+ BatchUndeleteAlertsResponse_FailedAlertStatus (..),+ newBatchUndeleteAlertsResponse_FailedAlertStatus,++ -- ** CloudPubsubTopic+ CloudPubsubTopic (..),+ newCloudPubsubTopic,++ -- ** CloudPubsubTopic_PayloadFormat+ CloudPubsubTopic_PayloadFormat (..),++ -- ** Csv+ Csv (..),+ newCsv,++ -- ** CsvRow+ CsvRow (..),+ newCsvRow,++ -- ** DeviceCompromised+ DeviceCompromised (..),+ newDeviceCompromised,++ -- ** DeviceCompromisedSecurityDetail+ DeviceCompromisedSecurityDetail (..),+ newDeviceCompromisedSecurityDetail,++ -- ** DeviceManagementRule+ DeviceManagementRule (..),+ newDeviceManagementRule,++ -- ** DlpRuleViolation+ DlpRuleViolation (..),+ newDlpRuleViolation,++ -- ** DomainId+ DomainId (..),+ newDomainId,++ -- ** DomainWideTakeoutInitiated+ DomainWideTakeoutInitiated (..),+ newDomainWideTakeoutInitiated,++ -- ** Empty+ Empty (..),+ newEmpty,++ -- ** Entity+ Entity (..),+ newEntity,++ -- ** EntityList+ EntityList (..),+ newEntityList,++ -- ** GmailMessageInfo+ GmailMessageInfo (..),+ newGmailMessageInfo,++ -- ** GoogleOperations+ GoogleOperations (..),+ newGoogleOperations,++ -- ** ListAlertFeedbackResponse+ ListAlertFeedbackResponse (..),+ newListAlertFeedbackResponse,++ -- ** ListAlertsResponse+ ListAlertsResponse (..),+ newListAlertsResponse,++ -- ** LoginDetails+ LoginDetails (..),+ newLoginDetails,++ -- ** MailPhishing+ MailPhishing (..),+ newMailPhishing,++ -- ** MailPhishing_SystemActionType+ MailPhishing_SystemActionType (..),++ -- ** MaliciousEntity+ MaliciousEntity (..),+ newMaliciousEntity,++ -- ** MandatoryServiceAnnouncement+ MandatoryServiceAnnouncement (..),+ newMandatoryServiceAnnouncement,++ -- ** MatchInfo+ MatchInfo (..),+ newMatchInfo,++ -- ** MergeInfo+ MergeInfo (..),+ newMergeInfo,++ -- ** Notification+ Notification (..),+ newNotification,++ -- ** PhishingSpike+ PhishingSpike (..),+ newPhishingSpike,++ -- ** PredefinedDetectorInfo+ PredefinedDetectorInfo (..),+ newPredefinedDetectorInfo,++ -- ** PrimaryAdminChangedEvent+ PrimaryAdminChangedEvent (..),+ newPrimaryAdminChangedEvent,++ -- ** ReportingRule+ ReportingRule (..),+ newReportingRule,++ -- ** RequestInfo+ RequestInfo (..),+ newRequestInfo,++ -- ** ResourceInfo+ ResourceInfo (..),+ newResourceInfo,++ -- ** RuleInfo+ RuleInfo (..),+ newRuleInfo,++ -- ** RuleViolationInfo+ RuleViolationInfo (..),+ newRuleViolationInfo,++ -- ** RuleViolationInfo_DataSource+ RuleViolationInfo_DataSource (..),++ -- ** RuleViolationInfo_EventType+ RuleViolationInfo_EventType (..),++ -- ** RuleViolationInfo_SuppressedActionTypesItem+ RuleViolationInfo_SuppressedActionTypesItem (..),++ -- ** RuleViolationInfo_Trigger+ RuleViolationInfo_Trigger (..),++ -- ** RuleViolationInfo_TriggeredActionTypesItem+ RuleViolationInfo_TriggeredActionTypesItem (..),++ -- ** SSOProfileCreatedEvent+ SSOProfileCreatedEvent (..),+ newSSOProfileCreatedEvent,++ -- ** SSOProfileDeletedEvent+ SSOProfileDeletedEvent (..),+ newSSOProfileDeletedEvent,++ -- ** SSOProfileUpdatedEvent+ SSOProfileUpdatedEvent (..),+ newSSOProfileUpdatedEvent,++ -- ** SensitiveAdminAction+ SensitiveAdminAction (..),+ newSensitiveAdminAction,++ -- ** Settings+ Settings (..),+ newSettings,++ -- ** StateSponsoredAttack+ StateSponsoredAttack (..),+ newStateSponsoredAttack,++ -- ** Status+ Status (..),+ newStatus,++ -- ** Status_DetailsItem+ Status_DetailsItem (..),+ newStatus_DetailsItem,++ -- ** SuperAdminPasswordResetEvent+ SuperAdminPasswordResetEvent (..),+ newSuperAdminPasswordResetEvent,++ -- ** SupportTicket+ SupportTicket (..),+ newSupportTicket,++ -- ** SuspiciousActivity+ SuspiciousActivity (..),+ newSuspiciousActivity,++ -- ** SuspiciousActivitySecurityDetail+ SuspiciousActivitySecurityDetail (..),+ newSuspiciousActivitySecurityDetail,++ -- ** TransferError+ TransferError (..),+ newTransferError,++ -- ** TransferError_EntityType+ TransferError_EntityType (..),++ -- ** TransferError_InvalidReason+ TransferError_InvalidReason (..),++ -- ** TransferMisconfiguration+ TransferMisconfiguration (..),+ newTransferMisconfiguration,++ -- ** UndeleteAlertRequest+ UndeleteAlertRequest (..),+ newUndeleteAlertRequest,++ -- ** User+ User (..),+ newUser,++ -- ** UserChanges+ UserChanges (..),+ newUserChanges,++ -- ** UserDefinedDetectorInfo+ UserDefinedDetectorInfo (..),+ newUserDefinedDetectorInfo,++ -- ** VoiceMisconfiguration+ VoiceMisconfiguration (..),+ newVoiceMisconfiguration,++ -- ** VoiceMisconfiguration_EntityType+ VoiceMisconfiguration_EntityType (..),++ -- ** VoicemailMisconfiguration+ VoicemailMisconfiguration (..),+ newVoicemailMisconfiguration,++ -- ** VoicemailRecipientError+ VoicemailRecipientError (..),+ newVoicemailRecipientError,++ -- ** VoicemailRecipientError_InvalidReason+ VoicemailRecipientError_InvalidReason (..),+ )+where++import Gogol.AlertCenter.Alerts.BatchDelete+import Gogol.AlertCenter.Alerts.BatchUndelete+import Gogol.AlertCenter.Alerts.Delete+import Gogol.AlertCenter.Alerts.Feedback.Create+import Gogol.AlertCenter.Alerts.Feedback.List+import Gogol.AlertCenter.Alerts.Get+import Gogol.AlertCenter.Alerts.GetMetadata+import Gogol.AlertCenter.Alerts.List+import Gogol.AlertCenter.Alerts.Undelete+import Gogol.AlertCenter.GetSettings+import Gogol.AlertCenter.Types+import Gogol.AlertCenter.UpdateSettings
+ gen/Gogol/AlertCenter/Alerts/BatchDelete.hs view
@@ -0,0 +1,108 @@+{-# 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.AlertCenter.Alerts.BatchDelete+-- 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)+--+-- Performs batch delete operation on alerts.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.batchDelete@.+module Gogol.AlertCenter.Alerts.BatchDelete+ ( -- * Resource+ AlertCenterAlertsBatchDeleteResource,++ -- ** Constructing a Request+ AlertCenterAlertsBatchDelete (..),+ newAlertCenterAlertsBatchDelete,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.batchDelete@ method which the+-- 'AlertCenterAlertsBatchDelete' request conforms to.+type AlertCenterAlertsBatchDeleteResource =+ "v1beta1"+ Core.:> "alerts:batchDelete"+ 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] BatchDeleteAlertsRequest+ Core.:> Core.Post '[Core.JSON] BatchDeleteAlertsResponse++-- | Performs batch delete operation on alerts.+--+-- /See:/ 'newAlertCenterAlertsBatchDelete' smart constructor.+data AlertCenterAlertsBatchDelete = AlertCenterAlertsBatchDelete+ { -- | 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 :: BatchDeleteAlertsRequest,+ -- | 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 'AlertCenterAlertsBatchDelete' with the minimum fields required to make a request.+newAlertCenterAlertsBatchDelete ::+ -- | Multipart request metadata. See 'payload'.+ BatchDeleteAlertsRequest ->+ AlertCenterAlertsBatchDelete+newAlertCenterAlertsBatchDelete payload =+ AlertCenterAlertsBatchDelete+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsBatchDelete where+ type Rs AlertCenterAlertsBatchDelete = BatchDeleteAlertsResponse+ type Scopes AlertCenterAlertsBatchDelete = '[Apps'Alerts]+ requestClient AlertCenterAlertsBatchDelete {..} =+ go+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsBatchDeleteResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/BatchUndelete.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.AlertCenter.Alerts.BatchUndelete+-- 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)+--+-- Performs batch undelete operation on alerts.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.batchUndelete@.+module Gogol.AlertCenter.Alerts.BatchUndelete+ ( -- * Resource+ AlertCenterAlertsBatchUndeleteResource,++ -- ** Constructing a Request+ AlertCenterAlertsBatchUndelete (..),+ newAlertCenterAlertsBatchUndelete,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.batchUndelete@ method which the+-- 'AlertCenterAlertsBatchUndelete' request conforms to.+type AlertCenterAlertsBatchUndeleteResource =+ "v1beta1"+ Core.:> "alerts:batchUndelete"+ 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] BatchUndeleteAlertsRequest+ Core.:> Core.Post '[Core.JSON] BatchUndeleteAlertsResponse++-- | Performs batch undelete operation on alerts.+--+-- /See:/ 'newAlertCenterAlertsBatchUndelete' smart constructor.+data AlertCenterAlertsBatchUndelete = AlertCenterAlertsBatchUndelete+ { -- | 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 :: BatchUndeleteAlertsRequest,+ -- | 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 'AlertCenterAlertsBatchUndelete' with the minimum fields required to make a request.+newAlertCenterAlertsBatchUndelete ::+ -- | Multipart request metadata. See 'payload'.+ BatchUndeleteAlertsRequest ->+ AlertCenterAlertsBatchUndelete+newAlertCenterAlertsBatchUndelete payload =+ AlertCenterAlertsBatchUndelete+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsBatchUndelete where+ type+ Rs AlertCenterAlertsBatchUndelete =+ BatchUndeleteAlertsResponse+ type Scopes AlertCenterAlertsBatchUndelete = '[Apps'Alerts]+ requestClient AlertCenterAlertsBatchUndelete {..} =+ go+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsBatchUndeleteResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/Delete.hs view
@@ -0,0 +1,113 @@+{-# 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.AlertCenter.Alerts.Delete+-- 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)+--+-- Marks the specified alert for deletion. An alert that has been marked for deletion is removed from Alert Center after 30 days. Marking an alert for deletion has no effect on an alert which has already been marked for deletion. Attempting to mark a nonexistent alert for deletion results in a @NOT_FOUND@ error.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.delete@.+module Gogol.AlertCenter.Alerts.Delete+ ( -- * Resource+ AlertCenterAlertsDeleteResource,++ -- ** Constructing a Request+ AlertCenterAlertsDelete (..),+ newAlertCenterAlertsDelete,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.delete@ method which the+-- 'AlertCenterAlertsDelete' request conforms to.+type AlertCenterAlertsDeleteResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.Capture "alertId" 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Delete '[Core.JSON] Empty++-- | Marks the specified alert for deletion. An alert that has been marked for deletion is removed from Alert Center after 30 days. Marking an alert for deletion has no effect on an alert which has already been marked for deletion. Attempting to mark a nonexistent alert for deletion results in a @NOT_FOUND@ error.+--+-- /See:/ 'newAlertCenterAlertsDelete' smart constructor.+data AlertCenterAlertsDelete = AlertCenterAlertsDelete+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The identifier of the alert to delete.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (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 'AlertCenterAlertsDelete' with the minimum fields required to make a request.+newAlertCenterAlertsDelete ::+ -- | Required. The identifier of the alert to delete. See 'alertId'.+ Core.Text ->+ AlertCenterAlertsDelete+newAlertCenterAlertsDelete alertId =+ AlertCenterAlertsDelete+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsDelete where+ type Rs AlertCenterAlertsDelete = Empty+ type Scopes AlertCenterAlertsDelete = '[Apps'Alerts]+ requestClient AlertCenterAlertsDelete {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsDeleteResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/Feedback/Create.hs view
@@ -0,0 +1,121 @@+{-# 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.AlertCenter.Alerts.Feedback.Create+-- 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)+--+-- Creates new feedback for an alert. Attempting to create a feedback for a non-existent alert returns @NOT_FOUND@ error. Attempting to create a feedback for an alert that is marked for deletion returns \`FAILED_PRECONDITION\' error.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.feedback.create@.+module Gogol.AlertCenter.Alerts.Feedback.Create+ ( -- * Resource+ AlertCenterAlertsFeedbackCreateResource,++ -- ** Constructing a Request+ AlertCenterAlertsFeedbackCreate (..),+ newAlertCenterAlertsFeedbackCreate,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.feedback.create@ method which the+-- 'AlertCenterAlertsFeedbackCreate' request conforms to.+type AlertCenterAlertsFeedbackCreateResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.Capture "alertId" Core.Text+ Core.:> "feedback"+ 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] AlertFeedback+ Core.:> Core.Post '[Core.JSON] AlertFeedback++-- | Creates new feedback for an alert. Attempting to create a feedback for a non-existent alert returns @NOT_FOUND@ error. Attempting to create a feedback for an alert that is marked for deletion returns \`FAILED_PRECONDITION\' error.+--+-- /See:/ 'newAlertCenterAlertsFeedbackCreate' smart constructor.+data AlertCenterAlertsFeedbackCreate = AlertCenterAlertsFeedbackCreate+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The identifier of the alert this feedback belongs to.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: AlertFeedback,+ -- | 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 'AlertCenterAlertsFeedbackCreate' with the minimum fields required to make a request.+newAlertCenterAlertsFeedbackCreate ::+ -- | Required. The identifier of the alert this feedback belongs to. See 'alertId'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ AlertFeedback ->+ AlertCenterAlertsFeedbackCreate+newAlertCenterAlertsFeedbackCreate alertId payload =+ AlertCenterAlertsFeedbackCreate+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsFeedbackCreate where+ type Rs AlertCenterAlertsFeedbackCreate = AlertFeedback+ type Scopes AlertCenterAlertsFeedbackCreate = '[Apps'Alerts]+ requestClient AlertCenterAlertsFeedbackCreate {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsFeedbackCreateResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/Feedback/List.hs view
@@ -0,0 +1,119 @@+{-# 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.AlertCenter.Alerts.Feedback.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)+--+-- Lists all the feedback for an alert. Attempting to list feedbacks for a non-existent alert returns @NOT_FOUND@ error.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.feedback.list@.+module Gogol.AlertCenter.Alerts.Feedback.List+ ( -- * Resource+ AlertCenterAlertsFeedbackListResource,++ -- ** Constructing a Request+ AlertCenterAlertsFeedbackList (..),+ newAlertCenterAlertsFeedbackList,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.feedback.list@ method which the+-- 'AlertCenterAlertsFeedbackList' request conforms to.+type AlertCenterAlertsFeedbackListResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.Capture "alertId" Core.Text+ Core.:> "feedback"+ 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 "filter" 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] ListAlertFeedbackResponse++-- | Lists all the feedback for an alert. Attempting to list feedbacks for a non-existent alert returns @NOT_FOUND@ error.+--+-- /See:/ 'newAlertCenterAlertsFeedbackList' smart constructor.+data AlertCenterAlertsFeedbackList = AlertCenterAlertsFeedbackList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The alert identifier. The \"-\" wildcard could be used to represent all alerts.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text),+ -- | Optional. A query string for filtering alert feedback results. For more details, see <https://developers.google.com/admin-sdk/alertcenter/guides/query-filters Query filters> and <https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list Supported query filter fields>.+ filter :: (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 'AlertCenterAlertsFeedbackList' with the minimum fields required to make a request.+newAlertCenterAlertsFeedbackList ::+ -- | Required. The alert identifier. The \"-\" wildcard could be used to represent all alerts. See 'alertId'.+ Core.Text ->+ AlertCenterAlertsFeedbackList+newAlertCenterAlertsFeedbackList alertId =+ AlertCenterAlertsFeedbackList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ filter = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsFeedbackList where+ type Rs AlertCenterAlertsFeedbackList = ListAlertFeedbackResponse+ type Scopes AlertCenterAlertsFeedbackList = '[Apps'Alerts]+ requestClient AlertCenterAlertsFeedbackList {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ customerId+ filter+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsFeedbackListResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/Get.hs view
@@ -0,0 +1,113 @@+{-# 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.AlertCenter.Alerts.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)+--+-- Gets the specified alert. Attempting to get a nonexistent alert returns @NOT_FOUND@ error.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.get@.+module Gogol.AlertCenter.Alerts.Get+ ( -- * Resource+ AlertCenterAlertsGetResource,++ -- ** Constructing a Request+ AlertCenterAlertsGet (..),+ newAlertCenterAlertsGet,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.get@ method which the+-- 'AlertCenterAlertsGet' request conforms to.+type AlertCenterAlertsGetResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.Capture "alertId" 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] Alert++-- | Gets the specified alert. Attempting to get a nonexistent alert returns @NOT_FOUND@ error.+--+-- /See:/ 'newAlertCenterAlertsGet' smart constructor.+data AlertCenterAlertsGet = AlertCenterAlertsGet+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The identifier of the alert to retrieve.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (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 'AlertCenterAlertsGet' with the minimum fields required to make a request.+newAlertCenterAlertsGet ::+ -- | Required. The identifier of the alert to retrieve. See 'alertId'.+ Core.Text ->+ AlertCenterAlertsGet+newAlertCenterAlertsGet alertId =+ AlertCenterAlertsGet+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsGet where+ type Rs AlertCenterAlertsGet = Alert+ type Scopes AlertCenterAlertsGet = '[Apps'Alerts]+ requestClient AlertCenterAlertsGet {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsGetResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/GetMetadata.hs view
@@ -0,0 +1,114 @@+{-# 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.AlertCenter.Alerts.GetMetadata+-- 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)+--+-- Returns the metadata of an alert. Attempting to get metadata for a non-existent alert returns @NOT_FOUND@ error.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.getMetadata@.+module Gogol.AlertCenter.Alerts.GetMetadata+ ( -- * Resource+ AlertCenterAlertsGetMetadataResource,++ -- ** Constructing a Request+ AlertCenterAlertsGetMetadata (..),+ newAlertCenterAlertsGetMetadata,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.getMetadata@ method which the+-- 'AlertCenterAlertsGetMetadata' request conforms to.+type AlertCenterAlertsGetMetadataResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.Capture "alertId" Core.Text+ Core.:> "metadata"+ 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] AlertMetadata++-- | Returns the metadata of an alert. Attempting to get metadata for a non-existent alert returns @NOT_FOUND@ error.+--+-- /See:/ 'newAlertCenterAlertsGetMetadata' smart constructor.+data AlertCenterAlertsGetMetadata = AlertCenterAlertsGetMetadata+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The identifier of the alert this metadata belongs to.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert metadata is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (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 'AlertCenterAlertsGetMetadata' with the minimum fields required to make a request.+newAlertCenterAlertsGetMetadata ::+ -- | Required. The identifier of the alert this metadata belongs to. See 'alertId'.+ Core.Text ->+ AlertCenterAlertsGetMetadata+newAlertCenterAlertsGetMetadata alertId =+ AlertCenterAlertsGetMetadata+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsGetMetadata where+ type Rs AlertCenterAlertsGetMetadata = AlertMetadata+ type Scopes AlertCenterAlertsGetMetadata = '[Apps'Alerts]+ requestClient AlertCenterAlertsGetMetadata {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsGetMetadataResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/List.hs view
@@ -0,0 +1,126 @@+{-# 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.AlertCenter.Alerts.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)+--+-- Lists the alerts.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.list@.+module Gogol.AlertCenter.Alerts.List+ ( -- * Resource+ AlertCenterAlertsListResource,++ -- ** Constructing a Request+ AlertCenterAlertsList (..),+ newAlertCenterAlertsList,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.list@ method which the+-- 'AlertCenterAlertsList' request conforms to.+type AlertCenterAlertsListResource =+ "v1beta1"+ Core.:> "alerts"+ 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 "filter" Core.Text+ Core.:> Core.QueryParam "orderBy" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" 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] ListAlertsResponse++-- | Lists the alerts.+--+-- /See:/ 'newAlertCenterAlertsList' smart constructor.+data AlertCenterAlertsList = AlertCenterAlertsList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text),+ -- | Optional. A query string for filtering alert results. For more details, see <https://developers.google.com/admin-sdk/alertcenter/guides/query-filters Query filters> and <https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.list Supported query filter fields>.+ filter :: (Core.Maybe Core.Text),+ -- | Optional. The sort order of the list results. If not specified results may be returned in arbitrary order. You can sort the results in descending order based on the creation timestamp using @order_by=\"create_time desc\"@. Currently, supported sorting are @create_time asc@, @create_time desc@, @update_time desc@+ orderBy :: (Core.Maybe Core.Text),+ -- | Optional. The requested page size. Server may return fewer items than requested. If unspecified, server picks an appropriate default.+ pageSize :: (Core.Maybe Core.Int32),+ -- | Optional. A token identifying a page of results the server should return. If empty, a new iteration is started. To continue an iteration, pass in the value from the previous ListAlertsResponse\'s next/page/token field.+ pageToken :: (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 'AlertCenterAlertsList' with the minimum fields required to make a request.+newAlertCenterAlertsList ::+ AlertCenterAlertsList+newAlertCenterAlertsList =+ AlertCenterAlertsList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ filter = Core.Nothing,+ orderBy = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsList where+ type Rs AlertCenterAlertsList = ListAlertsResponse+ type Scopes AlertCenterAlertsList = '[Apps'Alerts]+ requestClient AlertCenterAlertsList {..} =+ go+ xgafv+ accessToken+ callback+ customerId+ filter+ orderBy+ pageSize+ pageToken+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsListResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Alerts/Undelete.hs view
@@ -0,0 +1,115 @@+{-# 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.AlertCenter.Alerts.Undelete+-- 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)+--+-- Restores, or \"undeletes\", an alert that was marked for deletion within the past 30 days. Attempting to undelete an alert which was marked for deletion over 30 days ago (which has been removed from the Alert Center database) or a nonexistent alert returns a @NOT_FOUND@ error. Attempting to undelete an alert which has not been marked for deletion has no effect.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.alerts.undelete@.+module Gogol.AlertCenter.Alerts.Undelete+ ( -- * Resource+ AlertCenterAlertsUndeleteResource,++ -- ** Constructing a Request+ AlertCenterAlertsUndelete (..),+ newAlertCenterAlertsUndelete,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.alerts.undelete@ method which the+-- 'AlertCenterAlertsUndelete' request conforms to.+type AlertCenterAlertsUndeleteResource =+ "v1beta1"+ Core.:> "alerts"+ Core.:> Core.CaptureMode "alertId" "undelete" Core.Text+ 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] UndeleteAlertRequest+ Core.:> Core.Post '[Core.JSON] Alert++-- | Restores, or \"undeletes\", an alert that was marked for deletion within the past 30 days. Attempting to undelete an alert which was marked for deletion over 30 days ago (which has been removed from the Alert Center database) or a nonexistent alert returns a @NOT_FOUND@ error. Attempting to undelete an alert which has not been marked for deletion has no effect.+--+-- /See:/ 'newAlertCenterAlertsUndelete' smart constructor.+data AlertCenterAlertsUndelete = AlertCenterAlertsUndelete+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | Required. The identifier of the alert to undelete.+ alertId :: Core.Text,+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: UndeleteAlertRequest,+ -- | 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 'AlertCenterAlertsUndelete' with the minimum fields required to make a request.+newAlertCenterAlertsUndelete ::+ -- | Required. The identifier of the alert to undelete. See 'alertId'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ UndeleteAlertRequest ->+ AlertCenterAlertsUndelete+newAlertCenterAlertsUndelete alertId payload =+ AlertCenterAlertsUndelete+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ alertId = alertId,+ callback = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterAlertsUndelete where+ type Rs AlertCenterAlertsUndelete = Alert+ type Scopes AlertCenterAlertsUndelete = '[Apps'Alerts]+ requestClient AlertCenterAlertsUndelete {..} =+ go+ alertId+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterAlertsUndeleteResource)+ Core.mempty
+ gen/Gogol/AlertCenter/GetSettings.hs view
@@ -0,0 +1,106 @@+{-# 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.AlertCenter.GetSettings+-- 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)+--+-- Returns customer-level settings.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.getSettings@.+module Gogol.AlertCenter.GetSettings+ ( -- * Resource+ AlertCenterGetSettingsResource,++ -- ** Constructing a Request+ AlertCenterGetSettings (..),+ newAlertCenterGetSettings,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.getSettings@ method which the+-- 'AlertCenterGetSettings' request conforms to.+type AlertCenterGetSettingsResource =+ "v1beta1"+ Core.:> "settings"+ 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] Settings++-- | Returns customer-level settings.+--+-- /See:/ 'newAlertCenterGetSettings' smart constructor.+data AlertCenterGetSettings = AlertCenterGetSettings+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert settings are associated with. The @customer_id@ must\/ have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (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 'AlertCenterGetSettings' with the minimum fields required to make a request.+newAlertCenterGetSettings ::+ AlertCenterGetSettings+newAlertCenterGetSettings =+ AlertCenterGetSettings+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterGetSettings where+ type Rs AlertCenterGetSettings = Settings+ type Scopes AlertCenterGetSettings = '[Apps'Alerts]+ requestClient AlertCenterGetSettings {..} =+ go+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterGetSettingsResource)+ Core.mempty
+ gen/Gogol/AlertCenter/Internal/Product.hs view
@@ -0,0 +1,3509 @@+{-# 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.AlertCenter.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.AlertCenter.Internal.Product+ ( -- * AbuseDetected+ AbuseDetected (..),+ newAbuseDetected,++ -- * AccessApproval+ AccessApproval (..),+ newAccessApproval,++ -- * AccountSuspensionDetails+ AccountSuspensionDetails (..),+ newAccountSuspensionDetails,++ -- * AccountSuspensionWarning+ AccountSuspensionWarning (..),+ newAccountSuspensionWarning,++ -- * AccountWarning+ AccountWarning (..),+ newAccountWarning,++ -- * ActionInfo+ ActionInfo (..),+ newActionInfo,++ -- * ActivityRule+ ActivityRule (..),+ newActivityRule,++ -- * Alert+ Alert (..),+ newAlert,++ -- * Alert_Data+ Alert_Data (..),+ newAlert_Data,++ -- * AlertFeedback+ AlertFeedback (..),+ newAlertFeedback,++ -- * AlertMetadata+ AlertMetadata (..),+ newAlertMetadata,++ -- * ApnsCertificateExpirationInfo+ ApnsCertificateExpirationInfo (..),+ newApnsCertificateExpirationInfo,++ -- * AppMakerSqlSetupNotification+ AppMakerSqlSetupNotification (..),+ newAppMakerSqlSetupNotification,++ -- * AppSettingsChanged+ AppSettingsChanged (..),+ newAppSettingsChanged,++ -- * AppsOutage+ AppsOutage (..),+ newAppsOutage,++ -- * Attachment+ Attachment (..),+ newAttachment,++ -- * BadWhitelist+ BadWhitelist (..),+ newBadWhitelist,++ -- * BatchDeleteAlertsRequest+ BatchDeleteAlertsRequest (..),+ newBatchDeleteAlertsRequest,++ -- * BatchDeleteAlertsResponse+ BatchDeleteAlertsResponse (..),+ newBatchDeleteAlertsResponse,++ -- * BatchDeleteAlertsResponse_FailedAlertStatus+ BatchDeleteAlertsResponse_FailedAlertStatus (..),+ newBatchDeleteAlertsResponse_FailedAlertStatus,++ -- * BatchUndeleteAlertsRequest+ BatchUndeleteAlertsRequest (..),+ newBatchUndeleteAlertsRequest,++ -- * BatchUndeleteAlertsResponse+ BatchUndeleteAlertsResponse (..),+ newBatchUndeleteAlertsResponse,++ -- * BatchUndeleteAlertsResponse_FailedAlertStatus+ BatchUndeleteAlertsResponse_FailedAlertStatus (..),+ newBatchUndeleteAlertsResponse_FailedAlertStatus,++ -- * CloudPubsubTopic+ CloudPubsubTopic (..),+ newCloudPubsubTopic,++ -- * Csv+ Csv (..),+ newCsv,++ -- * CsvRow+ CsvRow (..),+ newCsvRow,++ -- * DeviceCompromised+ DeviceCompromised (..),+ newDeviceCompromised,++ -- * DeviceCompromisedSecurityDetail+ DeviceCompromisedSecurityDetail (..),+ newDeviceCompromisedSecurityDetail,++ -- * DeviceManagementRule+ DeviceManagementRule (..),+ newDeviceManagementRule,++ -- * DlpRuleViolation+ DlpRuleViolation (..),+ newDlpRuleViolation,++ -- * DomainId+ DomainId (..),+ newDomainId,++ -- * DomainWideTakeoutInitiated+ DomainWideTakeoutInitiated (..),+ newDomainWideTakeoutInitiated,++ -- * Empty+ Empty (..),+ newEmpty,++ -- * Entity+ Entity (..),+ newEntity,++ -- * EntityList+ EntityList (..),+ newEntityList,++ -- * GmailMessageInfo+ GmailMessageInfo (..),+ newGmailMessageInfo,++ -- * GoogleOperations+ GoogleOperations (..),+ newGoogleOperations,++ -- * ListAlertFeedbackResponse+ ListAlertFeedbackResponse (..),+ newListAlertFeedbackResponse,++ -- * ListAlertsResponse+ ListAlertsResponse (..),+ newListAlertsResponse,++ -- * LoginDetails+ LoginDetails (..),+ newLoginDetails,++ -- * MailPhishing+ MailPhishing (..),+ newMailPhishing,++ -- * MaliciousEntity+ MaliciousEntity (..),+ newMaliciousEntity,++ -- * MandatoryServiceAnnouncement+ MandatoryServiceAnnouncement (..),+ newMandatoryServiceAnnouncement,++ -- * MatchInfo+ MatchInfo (..),+ newMatchInfo,++ -- * MergeInfo+ MergeInfo (..),+ newMergeInfo,++ -- * Notification+ Notification (..),+ newNotification,++ -- * PhishingSpike+ PhishingSpike (..),+ newPhishingSpike,++ -- * PredefinedDetectorInfo+ PredefinedDetectorInfo (..),+ newPredefinedDetectorInfo,++ -- * PrimaryAdminChangedEvent+ PrimaryAdminChangedEvent (..),+ newPrimaryAdminChangedEvent,++ -- * ReportingRule+ ReportingRule (..),+ newReportingRule,++ -- * RequestInfo+ RequestInfo (..),+ newRequestInfo,++ -- * ResourceInfo+ ResourceInfo (..),+ newResourceInfo,++ -- * RuleInfo+ RuleInfo (..),+ newRuleInfo,++ -- * RuleViolationInfo+ RuleViolationInfo (..),+ newRuleViolationInfo,++ -- * SSOProfileCreatedEvent+ SSOProfileCreatedEvent (..),+ newSSOProfileCreatedEvent,++ -- * SSOProfileDeletedEvent+ SSOProfileDeletedEvent (..),+ newSSOProfileDeletedEvent,++ -- * SSOProfileUpdatedEvent+ SSOProfileUpdatedEvent (..),+ newSSOProfileUpdatedEvent,++ -- * SensitiveAdminAction+ SensitiveAdminAction (..),+ newSensitiveAdminAction,++ -- * Settings+ Settings (..),+ newSettings,++ -- * StateSponsoredAttack+ StateSponsoredAttack (..),+ newStateSponsoredAttack,++ -- * Status+ Status (..),+ newStatus,++ -- * Status_DetailsItem+ Status_DetailsItem (..),+ newStatus_DetailsItem,++ -- * SuperAdminPasswordResetEvent+ SuperAdminPasswordResetEvent (..),+ newSuperAdminPasswordResetEvent,++ -- * SupportTicket+ SupportTicket (..),+ newSupportTicket,++ -- * SuspiciousActivity+ SuspiciousActivity (..),+ newSuspiciousActivity,++ -- * SuspiciousActivitySecurityDetail+ SuspiciousActivitySecurityDetail (..),+ newSuspiciousActivitySecurityDetail,++ -- * TransferError+ TransferError (..),+ newTransferError,++ -- * TransferMisconfiguration+ TransferMisconfiguration (..),+ newTransferMisconfiguration,++ -- * UndeleteAlertRequest+ UndeleteAlertRequest (..),+ newUndeleteAlertRequest,++ -- * User+ User (..),+ newUser,++ -- * UserChanges+ UserChanges (..),+ newUserChanges,++ -- * UserDefinedDetectorInfo+ UserDefinedDetectorInfo (..),+ newUserDefinedDetectorInfo,++ -- * VoiceMisconfiguration+ VoiceMisconfiguration (..),+ newVoiceMisconfiguration,++ -- * VoicemailMisconfiguration+ VoicemailMisconfiguration (..),+ newVoicemailMisconfiguration,++ -- * VoicemailRecipientError+ VoicemailRecipientError (..),+ newVoicemailRecipientError,+ )+where++import Gogol.AlertCenter.Internal.Sum+import Gogol.Prelude qualified as Core++-- | A generic alert for abusive user activity occurring with a customer.+--+-- /See:/ 'newAbuseDetected' smart constructor.+data AbuseDetected = AbuseDetected+ { -- | List of abusive users\/entities to be displayed in a table in the alert.+ additionalDetails :: (Core.Maybe EntityList),+ -- | Product that the abuse is originating from.+ product :: (Core.Maybe Core.Text),+ -- | Unique identifier of each sub alert that is onboarded.+ subAlertId :: (Core.Maybe Core.Text),+ -- | Variation of AbuseDetected alerts. The variation/type determines the texts displayed the alert details. This differs from sub/alert/id because each sub alert can have multiple variation/types, representing different stages of the alert.+ variationType :: (Core.Maybe AbuseDetected_VariationType)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AbuseDetected' with the minimum fields required to make a request.+newAbuseDetected ::+ AbuseDetected+newAbuseDetected =+ AbuseDetected+ { additionalDetails = Core.Nothing,+ product = Core.Nothing,+ subAlertId = Core.Nothing,+ variationType = Core.Nothing+ }++instance Core.FromJSON AbuseDetected where+ parseJSON =+ Core.withObject+ "AbuseDetected"+ ( \o ->+ AbuseDetected+ Core.<$> (o Core..:? "additionalDetails")+ Core.<*> (o Core..:? "product")+ Core.<*> (o Core..:? "subAlertId")+ Core.<*> (o Core..:? "variationType")+ )++instance Core.ToJSON AbuseDetected where+ toJSON AbuseDetected {..} =+ Core.object+ ( Core.catMaybes+ [ ("additionalDetails" Core..=) Core.<$> additionalDetails,+ ("product" Core..=) Core.<$> product,+ ("subAlertId" Core..=) Core.<$> subAlertId,+ ("variationType" Core..=) Core.<$> variationType+ ]+ )++-- | Alert that is triggered when Google support requests to access customer data.+--+-- /See:/ 'newAccessApproval' smart constructor.+data AccessApproval = AccessApproval+ { -- | Justification for data access based on justification enums.+ justificationReason :: (Core.Maybe [AccessApproval_JustificationReasonItem]),+ -- | Office location of Google staff requesting access such as \"US\".+ officeLocation :: (Core.Maybe Core.Text),+ -- | Products within scope of the Access Approvals request.+ products :: (Core.Maybe [Core.Text]),+ -- | ID of the Access Approvals request. This is a helpful field when requesting support from Google.+ requestId :: (Core.Maybe Core.Text),+ -- | Scope of access, also known as a resource. This is further narrowed down by the product field.+ scope :: (Core.Maybe Core.Text),+ -- | Support tickets related to this Access Approvals request. Populated if there is an associated case number.+ tickets :: (Core.Maybe [SupportTicket])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AccessApproval' with the minimum fields required to make a request.+newAccessApproval ::+ AccessApproval+newAccessApproval =+ AccessApproval+ { justificationReason = Core.Nothing,+ officeLocation = Core.Nothing,+ products = Core.Nothing,+ requestId = Core.Nothing,+ scope = Core.Nothing,+ tickets = Core.Nothing+ }++instance Core.FromJSON AccessApproval where+ parseJSON =+ Core.withObject+ "AccessApproval"+ ( \o ->+ AccessApproval+ Core.<$> (o Core..:? "justificationReason")+ Core.<*> (o Core..:? "officeLocation")+ Core.<*> (o Core..:? "products")+ Core.<*> (o Core..:? "requestId")+ Core.<*> (o Core..:? "scope")+ Core.<*> (o Core..:? "tickets")+ )++instance Core.ToJSON AccessApproval where+ toJSON AccessApproval {..} =+ Core.object+ ( Core.catMaybes+ [ ("justificationReason" Core..=) Core.<$> justificationReason,+ ("officeLocation" Core..=) Core.<$> officeLocation,+ ("products" Core..=) Core.<$> products,+ ("requestId" Core..=) Core.<$> requestId,+ ("scope" Core..=) Core.<$> scope,+ ("tickets" Core..=) Core.<$> tickets+ ]+ )++-- | Details about why an account is receiving an account suspension warning.+--+-- /See:/ 'newAccountSuspensionDetails' smart constructor.+data AccountSuspensionDetails = AccountSuspensionDetails+ { -- | The reason why this account is receiving an account suspension warning.+ abuseReason :: (Core.Maybe AccountSuspensionDetails_AbuseReason),+ -- | The name of the product being abused. This is restricted to only the following values: \"Gmail\" \"Google Workspace\" \"Payments\" \"Voice\" \"YouTube\" \"Other\"+ productName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AccountSuspensionDetails' with the minimum fields required to make a request.+newAccountSuspensionDetails ::+ AccountSuspensionDetails+newAccountSuspensionDetails =+ AccountSuspensionDetails+ { abuseReason = Core.Nothing,+ productName = Core.Nothing+ }++instance Core.FromJSON AccountSuspensionDetails where+ parseJSON =+ Core.withObject+ "AccountSuspensionDetails"+ ( \o ->+ AccountSuspensionDetails+ Core.<$> (o Core..:? "abuseReason")+ Core.<*> (o Core..:? "productName")+ )++instance Core.ToJSON AccountSuspensionDetails where+ toJSON AccountSuspensionDetails {..} =+ Core.object+ ( Core.catMaybes+ [ ("abuseReason" Core..=) Core.<$> abuseReason,+ ("productName" Core..=) Core.<$> productName+ ]+ )++-- | A warning that the customer\'s account is about to be suspended.+--+-- /See:/ 'newAccountSuspensionWarning' smart constructor.+data AccountSuspensionWarning = AccountSuspensionWarning+ { -- | The amount of time remaining to appeal an imminent suspension. After this window has elapsed, the account will be suspended. Only populated if the account suspension is in WARNING state.+ appealWindow :: (Core.Maybe Core.Duration),+ -- | Account suspension warning state.+ state :: (Core.Maybe AccountSuspensionWarning_State),+ -- | Details about why an account is being suspended.+ suspensionDetails :: (Core.Maybe [AccountSuspensionDetails])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AccountSuspensionWarning' with the minimum fields required to make a request.+newAccountSuspensionWarning ::+ AccountSuspensionWarning+newAccountSuspensionWarning =+ AccountSuspensionWarning+ { appealWindow = Core.Nothing,+ state = Core.Nothing,+ suspensionDetails = Core.Nothing+ }++instance Core.FromJSON AccountSuspensionWarning where+ parseJSON =+ Core.withObject+ "AccountSuspensionWarning"+ ( \o ->+ AccountSuspensionWarning+ Core.<$> (o Core..:? "appealWindow")+ Core.<*> (o Core..:? "state")+ Core.<*> (o Core..:? "suspensionDetails")+ )++instance Core.ToJSON AccountSuspensionWarning where+ toJSON AccountSuspensionWarning {..} =+ Core.object+ ( Core.catMaybes+ [ ("appealWindow" Core..=) Core.<$> appealWindow,+ ("state" Core..=) Core.<$> state,+ ("suspensionDetails" Core..=) Core.<$> suspensionDetails+ ]+ )++-- | Alerts for user account warning events.+--+-- /See:/ 'newAccountWarning' smart constructor.+data AccountWarning = AccountWarning+ { -- | Required. The email of the user that this event belongs to.+ email :: (Core.Maybe Core.Text),+ -- | Optional. Details of the login action associated with the warning event. This is only available for: * Suspicious login * Suspicious login (less secure app) * Suspicious programmatic login * User suspended (suspicious activity)+ loginDetails :: (Core.Maybe LoginDetails)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AccountWarning' with the minimum fields required to make a request.+newAccountWarning ::+ AccountWarning+newAccountWarning =+ AccountWarning {email = Core.Nothing, loginDetails = Core.Nothing}++instance Core.FromJSON AccountWarning where+ parseJSON =+ Core.withObject+ "AccountWarning"+ ( \o ->+ AccountWarning+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "loginDetails")+ )++instance Core.ToJSON AccountWarning where+ toJSON AccountWarning {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("loginDetails" Core..=) Core.<$> loginDetails+ ]+ )++-- | Metadata related to the action.+--+-- /See:/ 'newActionInfo' smart constructor.+data ActionInfo = ActionInfo+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ActionInfo' with the minimum fields required to make a request.+newActionInfo ::+ ActionInfo+newActionInfo = ActionInfo++instance Core.FromJSON ActionInfo where+ parseJSON =+ Core.withObject "ActionInfo" (\o -> Core.pure ActionInfo)++instance Core.ToJSON ActionInfo where+ toJSON = Core.const Core.emptyObject++-- | Alerts from Google Workspace Security Center rules service configured by an admin.+--+-- /See:/ 'newActivityRule' smart constructor.+data ActivityRule = ActivityRule+ { -- | List of action names associated with the rule threshold.+ actionNames :: (Core.Maybe [Core.Text]),+ -- | Rule create timestamp.+ createTime :: (Core.Maybe Core.DateTime),+ -- | Description of the rule.+ description :: (Core.Maybe Core.Text),+ -- | Alert display name.+ displayName :: (Core.Maybe Core.Text),+ -- | Rule name.+ name :: (Core.Maybe Core.Text),+ -- | Query that is used to get the data from the associated source.+ query :: (Core.Maybe Core.Text),+ -- | List of alert IDs superseded by this alert. It is used to indicate that this alert is essentially extension of superseded alerts and we found the relationship after creating these alerts.+ supersededAlerts :: (Core.Maybe [Core.Text]),+ -- | Alert ID superseding this alert. It is used to indicate that superseding alert is essentially extension of this alert and we found the relationship after creating both alerts.+ supersedingAlert :: (Core.Maybe Core.Text),+ -- | Alert threshold is for example “COUNT > 5”.+ threshold :: (Core.Maybe Core.Text),+ -- | The trigger sources for this rule. * GMAIL/EVENTS * DEVICE/EVENTS * USER_EVENTS+ triggerSource :: (Core.Maybe Core.Text),+ -- | The timestamp of the last update to the rule.+ updateTime :: (Core.Maybe Core.DateTime),+ -- | Rule window size. Possible values are 1 hour or 24 hours.+ windowSize :: (Core.Maybe Core.Duration)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ActivityRule' with the minimum fields required to make a request.+newActivityRule ::+ ActivityRule+newActivityRule =+ ActivityRule+ { actionNames = Core.Nothing,+ createTime = Core.Nothing,+ description = Core.Nothing,+ displayName = Core.Nothing,+ name = Core.Nothing,+ query = Core.Nothing,+ supersededAlerts = Core.Nothing,+ supersedingAlert = Core.Nothing,+ threshold = Core.Nothing,+ triggerSource = Core.Nothing,+ updateTime = Core.Nothing,+ windowSize = Core.Nothing+ }++instance Core.FromJSON ActivityRule where+ parseJSON =+ Core.withObject+ "ActivityRule"+ ( \o ->+ ActivityRule+ Core.<$> (o Core..:? "actionNames")+ Core.<*> (o Core..:? "createTime")+ Core.<*> (o Core..:? "description")+ Core.<*> (o Core..:? "displayName")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "query")+ Core.<*> (o Core..:? "supersededAlerts")+ Core.<*> (o Core..:? "supersedingAlert")+ Core.<*> (o Core..:? "threshold")+ Core.<*> (o Core..:? "triggerSource")+ Core.<*> (o Core..:? "updateTime")+ Core.<*> (o Core..:? "windowSize")+ )++instance Core.ToJSON ActivityRule where+ toJSON ActivityRule {..} =+ Core.object+ ( Core.catMaybes+ [ ("actionNames" Core..=) Core.<$> actionNames,+ ("createTime" Core..=) Core.<$> createTime,+ ("description" Core..=) Core.<$> description,+ ("displayName" Core..=) Core.<$> displayName,+ ("name" Core..=) Core.<$> name,+ ("query" Core..=) Core.<$> query,+ ("supersededAlerts" Core..=) Core.<$> supersededAlerts,+ ("supersedingAlert" Core..=) Core.<$> supersedingAlert,+ ("threshold" Core..=) Core.<$> threshold,+ ("triggerSource" Core..=) Core.<$> triggerSource,+ ("updateTime" Core..=) Core.<$> updateTime,+ ("windowSize" Core..=) Core.<$> windowSize+ ]+ )++-- | An alert affecting a customer.+--+-- /See:/ 'newAlert' smart constructor.+data Alert = Alert+ { -- | Output only. The unique identifier for the alert.+ alertId :: (Core.Maybe Core.Text),+ -- | Output only. The time this alert was created.+ createTime :: (Core.Maybe Core.DateTime),+ -- | Output only. The unique identifier of the Google Workspace account of the customer.+ customerId :: (Core.Maybe Core.Text),+ -- | Optional. The data associated with this alert, for example google.apps.alertcenter.type.DeviceCompromised.+ data' :: (Core.Maybe Alert_Data),+ -- | Output only. @True@ if this alert is marked for deletion.+ deleted :: (Core.Maybe Core.Bool),+ -- | Optional. The time the event that caused this alert ceased being active. If provided, the end time must not be earlier than the start time. If not provided, it indicates an ongoing alert.+ endTime :: (Core.Maybe Core.DateTime),+ -- | Optional. @etag@ is used for optimistic concurrency control as a way to help prevent simultaneous updates of an alert from overwriting each other. It is strongly suggested that systems make use of the @etag@ in the read-modify-write cycle to perform alert updates in order to avoid race conditions: An @etag@ is returned in the response which contains alerts, and systems are expected to put that etag in the request to update alert to ensure that their change will be applied to the same version of the alert. If no @etag@ is provided in the call to update alert, then the existing alert is overwritten blindly.+ etag :: (Core.Maybe Core.Text),+ -- | Output only. The metadata associated with this alert.+ metadata :: (Core.Maybe AlertMetadata),+ -- | Output only. An optional <https://support.google.com/a/answer/7575955 Security Investigation Tool> query for this alert.+ securityInvestigationToolLink :: (Core.Maybe Core.Text),+ -- | Required. A unique identifier for the system that reported the alert. This is output only after alert is created. Supported sources are any of the following: * Google Operations * Mobile device management * Gmail phishing * Data Loss Prevention * Domain wide takeout * State sponsored attack * Google identity * Apps outage+ source :: (Core.Maybe Core.Text),+ -- | Required. The time the event that caused this alert was started or detected.+ startTime :: (Core.Maybe Core.DateTime),+ -- | Required. The type of the alert. This is output only after alert is created. For a list of available alert types see <https://developers.google.com/admin-sdk/alertcenter/reference/alert-types Google Workspace Alert types>.+ type' :: (Core.Maybe Core.Text),+ -- | Output only. The time this alert was last updated.+ updateTime :: (Core.Maybe Core.DateTime)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Alert' with the minimum fields required to make a request.+newAlert ::+ Alert+newAlert =+ Alert+ { alertId = Core.Nothing,+ createTime = Core.Nothing,+ customerId = Core.Nothing,+ data' = Core.Nothing,+ deleted = Core.Nothing,+ endTime = Core.Nothing,+ etag = Core.Nothing,+ metadata = Core.Nothing,+ securityInvestigationToolLink = Core.Nothing,+ source = Core.Nothing,+ startTime = Core.Nothing,+ type' = Core.Nothing,+ updateTime = Core.Nothing+ }++instance Core.FromJSON Alert where+ parseJSON =+ Core.withObject+ "Alert"+ ( \o ->+ Alert+ Core.<$> (o Core..:? "alertId")+ Core.<*> (o Core..:? "createTime")+ Core.<*> (o Core..:? "customerId")+ Core.<*> (o Core..:? "data")+ Core.<*> (o Core..:? "deleted")+ Core.<*> (o Core..:? "endTime")+ Core.<*> (o Core..:? "etag")+ Core.<*> (o Core..:? "metadata")+ Core.<*> (o Core..:? "securityInvestigationToolLink")+ Core.<*> (o Core..:? "source")+ Core.<*> (o Core..:? "startTime")+ Core.<*> (o Core..:? "type")+ Core.<*> (o Core..:? "updateTime")+ )++instance Core.ToJSON Alert where+ toJSON Alert {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertId" Core..=) Core.<$> alertId,+ ("createTime" Core..=) Core.<$> createTime,+ ("customerId" Core..=) Core.<$> customerId,+ ("data" Core..=) Core.<$> data',+ ("deleted" Core..=) Core.<$> deleted,+ ("endTime" Core..=) Core.<$> endTime,+ ("etag" Core..=) Core.<$> etag,+ ("metadata" Core..=) Core.<$> metadata,+ ("securityInvestigationToolLink" Core..=)+ Core.<$> securityInvestigationToolLink,+ ("source" Core..=) Core.<$> source,+ ("startTime" Core..=) Core.<$> startTime,+ ("type" Core..=) Core.<$> type',+ ("updateTime" Core..=) Core.<$> updateTime+ ]+ )++-- | Optional. The data associated with this alert, for example google.apps.alertcenter.type.DeviceCompromised.+--+-- /See:/ 'newAlert_Data' smart constructor.+newtype Alert_Data = Alert_Data+ { -- | Properties of the object. Contains field \@type with type URL.+ additional :: (Core.HashMap Core.Text Core.Value)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Alert_Data' with the minimum fields required to make a request.+newAlert_Data ::+ -- | Properties of the object. Contains field \@type with type URL. See 'additional'.+ Core.HashMap Core.Text Core.Value ->+ Alert_Data+newAlert_Data additional = Alert_Data {additional = additional}++instance Core.FromJSON Alert_Data where+ parseJSON =+ Core.withObject+ "Alert_Data"+ (\o -> Alert_Data Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Alert_Data where+ toJSON Alert_Data {..} = Core.toJSON additional++-- | A customer feedback about an alert.+--+-- /See:/ 'newAlertFeedback' smart constructor.+data AlertFeedback = AlertFeedback+ { -- | Output only. The alert identifier.+ alertId :: (Core.Maybe Core.Text),+ -- | Output only. The time this feedback was created.+ createTime :: (Core.Maybe Core.DateTime),+ -- | Output only. The unique identifier of the Google Workspace account of the customer.+ customerId :: (Core.Maybe Core.Text),+ -- | Output only. The email of the user that provided the feedback.+ email :: (Core.Maybe Core.Text),+ -- | Output only. The unique identifier for the feedback.+ feedbackId :: (Core.Maybe Core.Text),+ -- | Required. The type of the feedback.+ type' :: (Core.Maybe AlertFeedback_Type)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AlertFeedback' with the minimum fields required to make a request.+newAlertFeedback ::+ AlertFeedback+newAlertFeedback =+ AlertFeedback+ { alertId = Core.Nothing,+ createTime = Core.Nothing,+ customerId = Core.Nothing,+ email = Core.Nothing,+ feedbackId = Core.Nothing,+ type' = Core.Nothing+ }++instance Core.FromJSON AlertFeedback where+ parseJSON =+ Core.withObject+ "AlertFeedback"+ ( \o ->+ AlertFeedback+ Core.<$> (o Core..:? "alertId")+ Core.<*> (o Core..:? "createTime")+ Core.<*> (o Core..:? "customerId")+ Core.<*> (o Core..:? "email")+ Core.<*> (o Core..:? "feedbackId")+ Core.<*> (o Core..:? "type")+ )++instance Core.ToJSON AlertFeedback where+ toJSON AlertFeedback {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertId" Core..=) Core.<$> alertId,+ ("createTime" Core..=) Core.<$> createTime,+ ("customerId" Core..=) Core.<$> customerId,+ ("email" Core..=) Core.<$> email,+ ("feedbackId" Core..=) Core.<$> feedbackId,+ ("type" Core..=) Core.<$> type'+ ]+ )++-- | An alert metadata.+--+-- /See:/ 'newAlertMetadata' smart constructor.+data AlertMetadata = AlertMetadata+ { -- | Output only. The alert identifier.+ alertId :: (Core.Maybe Core.Text),+ -- | The email address of the user assigned to the alert.+ assignee :: (Core.Maybe Core.Text),+ -- | Output only. The unique identifier of the Google Workspace account of the customer.+ customerId :: (Core.Maybe Core.Text),+ -- | Optional. @etag@ is used for optimistic concurrency control as a way to help prevent simultaneous updates of an alert metadata from overwriting each other. It is strongly suggested that systems make use of the @etag@ in the read-modify-write cycle to perform metadata updates in order to avoid race conditions: An @etag@ is returned in the response which contains alert metadata, and systems are expected to put that etag in the request to update alert metadata to ensure that their change will be applied to the same version of the alert metadata. If no @etag@ is provided in the call to update alert metadata, then the existing alert metadata is overwritten blindly.+ etag :: (Core.Maybe Core.Text),+ -- | The severity value of the alert. Alert Center will set this field at alert creation time, default\'s to an empty string when it could not be determined. The supported values for update actions on this field are the following: * HIGH * MEDIUM * LOW+ severity :: (Core.Maybe Core.Text),+ -- | The current status of the alert. The supported values are the following: * NOT/STARTED * IN/PROGRESS * CLOSED+ status :: (Core.Maybe Core.Text),+ -- | Output only. The time this metadata was last updated.+ updateTime :: (Core.Maybe Core.DateTime)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AlertMetadata' with the minimum fields required to make a request.+newAlertMetadata ::+ AlertMetadata+newAlertMetadata =+ AlertMetadata+ { alertId = Core.Nothing,+ assignee = Core.Nothing,+ customerId = Core.Nothing,+ etag = Core.Nothing,+ severity = Core.Nothing,+ status = Core.Nothing,+ updateTime = Core.Nothing+ }++instance Core.FromJSON AlertMetadata where+ parseJSON =+ Core.withObject+ "AlertMetadata"+ ( \o ->+ AlertMetadata+ Core.<$> (o Core..:? "alertId")+ Core.<*> (o Core..:? "assignee")+ Core.<*> (o Core..:? "customerId")+ Core.<*> (o Core..:? "etag")+ Core.<*> (o Core..:? "severity")+ Core.<*> (o Core..:? "status")+ Core.<*> (o Core..:? "updateTime")+ )++instance Core.ToJSON AlertMetadata where+ toJSON AlertMetadata {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertId" Core..=) Core.<$> alertId,+ ("assignee" Core..=) Core.<$> assignee,+ ("customerId" Core..=) Core.<$> customerId,+ ("etag" Core..=) Core.<$> etag,+ ("severity" Core..=) Core.<$> severity,+ ("status" Core..=) Core.<$> status,+ ("updateTime" Core..=) Core.<$> updateTime+ ]+ )++-- | The explanation message associated with \"APNS certificate is expiring soon\" and \"APNS certificate has expired\" alerts.+--+-- /See:/ 'newApnsCertificateExpirationInfo' smart constructor.+data ApnsCertificateExpirationInfo = ApnsCertificateExpirationInfo+ { -- | The Apple ID used to create the certificate. It may be blank if admins didn\'t enter it.+ appleId :: (Core.Maybe Core.Text),+ -- | The expiration date of the APNS certificate.+ expirationTime :: (Core.Maybe Core.DateTime),+ -- | The UID of the certificate.+ uid :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ApnsCertificateExpirationInfo' with the minimum fields required to make a request.+newApnsCertificateExpirationInfo ::+ ApnsCertificateExpirationInfo+newApnsCertificateExpirationInfo =+ ApnsCertificateExpirationInfo+ { appleId = Core.Nothing,+ expirationTime = Core.Nothing,+ uid = Core.Nothing+ }++instance Core.FromJSON ApnsCertificateExpirationInfo where+ parseJSON =+ Core.withObject+ "ApnsCertificateExpirationInfo"+ ( \o ->+ ApnsCertificateExpirationInfo+ Core.<$> (o Core..:? "appleId")+ Core.<*> (o Core..:? "expirationTime")+ Core.<*> (o Core..:? "uid")+ )++instance Core.ToJSON ApnsCertificateExpirationInfo where+ toJSON ApnsCertificateExpirationInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("appleId" Core..=) Core.<$> appleId,+ ("expirationTime" Core..=) Core.<$> expirationTime,+ ("uid" Core..=) Core.<$> uid+ ]+ )++-- | Alerts from App Maker to notify admins to set up default SQL instance.+--+-- /See:/ 'newAppMakerSqlSetupNotification' smart constructor.+newtype AppMakerSqlSetupNotification = AppMakerSqlSetupNotification+ { -- | List of applications with requests for default SQL set up.+ requestInfo :: (Core.Maybe [RequestInfo])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AppMakerSqlSetupNotification' with the minimum fields required to make a request.+newAppMakerSqlSetupNotification ::+ AppMakerSqlSetupNotification+newAppMakerSqlSetupNotification =+ AppMakerSqlSetupNotification {requestInfo = Core.Nothing}++instance Core.FromJSON AppMakerSqlSetupNotification where+ parseJSON =+ Core.withObject+ "AppMakerSqlSetupNotification"+ ( \o ->+ AppMakerSqlSetupNotification Core.<$> (o Core..:? "requestInfo")+ )++instance Core.ToJSON AppMakerSqlSetupNotification where+ toJSON AppMakerSqlSetupNotification {..} =+ Core.object+ (Core.catMaybes [("requestInfo" Core..=) Core.<$> requestInfo])++-- | - Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed+--+-- /See:/ 'newAppSettingsChanged' smart constructor.+data AppSettingsChanged = AppSettingsChanged+ { -- | Any other associated alert details, for example, AlertConfiguration.+ alertDetails :: (Core.Maybe Core.Base64),+ -- | Rule name+ name :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AppSettingsChanged' with the minimum fields required to make a request.+newAppSettingsChanged ::+ AppSettingsChanged+newAppSettingsChanged =+ AppSettingsChanged+ { alertDetails = Core.Nothing,+ name = Core.Nothing+ }++instance Core.FromJSON AppSettingsChanged where+ parseJSON =+ Core.withObject+ "AppSettingsChanged"+ ( \o ->+ AppSettingsChanged+ Core.<$> (o Core..:? "alertDetails")+ Core.<*> (o Core..:? "name")+ )++instance Core.ToJSON AppSettingsChanged where+ toJSON AppSettingsChanged {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertDetails" Core..=) Core.<$> alertDetails,+ ("name" Core..=) Core.<$> name+ ]+ )++-- | An outage incident reported for a Google Workspace service.+--+-- /See:/ 'newAppsOutage' smart constructor.+data AppsOutage = AppsOutage+ { -- | Link to the outage event in Google Workspace Status Dashboard+ dashboardUri :: (Core.Maybe Core.Text),+ -- | Incident tracking ID.+ incidentTrackingId :: (Core.Maybe Core.Text),+ -- | Indicates new alert details under which the outage is communicated. Only populated when Status is MERGED.+ mergeInfo :: (Core.Maybe MergeInfo),+ -- | Timestamp by which the next update is expected to arrive.+ nextUpdateTime :: (Core.Maybe Core.DateTime),+ -- | List of products impacted by the outage.+ products :: (Core.Maybe [Core.Text]),+ -- | Timestamp when the outage is expected to be resolved, or has confirmed resolution. Provided only when known.+ resolutionTime :: (Core.Maybe Core.DateTime),+ -- | Current outage status.+ status :: (Core.Maybe AppsOutage_Status)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AppsOutage' with the minimum fields required to make a request.+newAppsOutage ::+ AppsOutage+newAppsOutage =+ AppsOutage+ { dashboardUri = Core.Nothing,+ incidentTrackingId = Core.Nothing,+ mergeInfo = Core.Nothing,+ nextUpdateTime = Core.Nothing,+ products = Core.Nothing,+ resolutionTime = Core.Nothing,+ status = Core.Nothing+ }++instance Core.FromJSON AppsOutage where+ parseJSON =+ Core.withObject+ "AppsOutage"+ ( \o ->+ AppsOutage+ Core.<$> (o Core..:? "dashboardUri")+ Core.<*> (o Core..:? "incidentTrackingId")+ Core.<*> (o Core..:? "mergeInfo")+ Core.<*> (o Core..:? "nextUpdateTime")+ Core.<*> (o Core..:? "products")+ Core.<*> (o Core..:? "resolutionTime")+ Core.<*> (o Core..:? "status")+ )++instance Core.ToJSON AppsOutage where+ toJSON AppsOutage {..} =+ Core.object+ ( Core.catMaybes+ [ ("dashboardUri" Core..=) Core.<$> dashboardUri,+ ("incidentTrackingId" Core..=) Core.<$> incidentTrackingId,+ ("mergeInfo" Core..=) Core.<$> mergeInfo,+ ("nextUpdateTime" Core..=) Core.<$> nextUpdateTime,+ ("products" Core..=) Core.<$> products,+ ("resolutionTime" Core..=) Core.<$> resolutionTime,+ ("status" Core..=) Core.<$> status+ ]+ )++-- | Attachment with application-specific information about an alert.+--+-- /See:/ 'newAttachment' smart constructor.+newtype Attachment = Attachment+ { -- | A CSV file attachment.+ csv :: (Core.Maybe Csv)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Attachment' with the minimum fields required to make a request.+newAttachment ::+ Attachment+newAttachment = Attachment {csv = Core.Nothing}++instance Core.FromJSON Attachment where+ parseJSON =+ Core.withObject+ "Attachment"+ (\o -> Attachment Core.<$> (o Core..:? "csv"))++instance Core.ToJSON Attachment where+ toJSON Attachment {..} =+ Core.object (Core.catMaybes [("csv" Core..=) Core.<$> csv])++-- | Alert for setting the domain or IP that malicious email comes from as whitelisted domain or IP in Gmail advanced settings.+--+-- /See:/ 'newBadWhitelist' smart constructor.+data BadWhitelist = BadWhitelist+ { -- | The domain ID.+ domainId :: (Core.Maybe DomainId),+ -- | The entity whose actions triggered a Gmail phishing alert.+ maliciousEntity :: (Core.Maybe MaliciousEntity),+ -- | The list of messages contained by this alert.+ messages :: (Core.Maybe [GmailMessageInfo]),+ -- | The source IP address of the malicious email, for example, @127.0.0.1@.+ sourceIp :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BadWhitelist' with the minimum fields required to make a request.+newBadWhitelist ::+ BadWhitelist+newBadWhitelist =+ BadWhitelist+ { domainId = Core.Nothing,+ maliciousEntity = Core.Nothing,+ messages = Core.Nothing,+ sourceIp = Core.Nothing+ }++instance Core.FromJSON BadWhitelist where+ parseJSON =+ Core.withObject+ "BadWhitelist"+ ( \o ->+ BadWhitelist+ Core.<$> (o Core..:? "domainId")+ Core.<*> (o Core..:? "maliciousEntity")+ Core.<*> (o Core..:? "messages")+ Core.<*> (o Core..:? "sourceIp")+ )++instance Core.ToJSON BadWhitelist where+ toJSON BadWhitelist {..} =+ Core.object+ ( Core.catMaybes+ [ ("domainId" Core..=) Core.<$> domainId,+ ("maliciousEntity" Core..=) Core.<$> maliciousEntity,+ ("messages" Core..=) Core.<$> messages,+ ("sourceIp" Core..=) Core.<$> sourceIp+ ]+ )++-- | A request to perform batch delete on alerts.+--+-- /See:/ 'newBatchDeleteAlertsRequest' smart constructor.+data BatchDeleteAlertsRequest = BatchDeleteAlertsRequest+ { -- | Required. The list of alert IDs to delete.+ alertId :: (Core.Maybe [Core.Text]),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchDeleteAlertsRequest' with the minimum fields required to make a request.+newBatchDeleteAlertsRequest ::+ BatchDeleteAlertsRequest+newBatchDeleteAlertsRequest =+ BatchDeleteAlertsRequest+ { alertId = Core.Nothing,+ customerId = Core.Nothing+ }++instance Core.FromJSON BatchDeleteAlertsRequest where+ parseJSON =+ Core.withObject+ "BatchDeleteAlertsRequest"+ ( \o ->+ BatchDeleteAlertsRequest+ Core.<$> (o Core..:? "alertId")+ Core.<*> (o Core..:? "customerId")+ )++instance Core.ToJSON BatchDeleteAlertsRequest where+ toJSON BatchDeleteAlertsRequest {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertId" Core..=) Core.<$> alertId,+ ("customerId" Core..=) Core.<$> customerId+ ]+ )++-- | Response to batch delete operation on alerts.+--+-- /See:/ 'newBatchDeleteAlertsResponse' smart constructor.+data BatchDeleteAlertsResponse = BatchDeleteAlertsResponse+ { -- | The status details for each failed @alert_id@.+ failedAlertStatus :: (Core.Maybe BatchDeleteAlertsResponse_FailedAlertStatus),+ -- | The successful list of alert IDs.+ successAlertIds :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchDeleteAlertsResponse' with the minimum fields required to make a request.+newBatchDeleteAlertsResponse ::+ BatchDeleteAlertsResponse+newBatchDeleteAlertsResponse =+ BatchDeleteAlertsResponse+ { failedAlertStatus = Core.Nothing,+ successAlertIds = Core.Nothing+ }++instance Core.FromJSON BatchDeleteAlertsResponse where+ parseJSON =+ Core.withObject+ "BatchDeleteAlertsResponse"+ ( \o ->+ BatchDeleteAlertsResponse+ Core.<$> (o Core..:? "failedAlertStatus")+ Core.<*> (o Core..:? "successAlertIds")+ )++instance Core.ToJSON BatchDeleteAlertsResponse where+ toJSON BatchDeleteAlertsResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("failedAlertStatus" Core..=) Core.<$> failedAlertStatus,+ ("successAlertIds" Core..=) Core.<$> successAlertIds+ ]+ )++-- | The status details for each failed @alert_id@.+--+-- /See:/ 'newBatchDeleteAlertsResponse_FailedAlertStatus' smart constructor.+newtype BatchDeleteAlertsResponse_FailedAlertStatus = BatchDeleteAlertsResponse_FailedAlertStatus+ { additional :: (Core.HashMap Core.Text Status)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchDeleteAlertsResponse_FailedAlertStatus' with the minimum fields required to make a request.+newBatchDeleteAlertsResponse_FailedAlertStatus ::+ -- | See 'additional'.+ Core.HashMap Core.Text Status ->+ BatchDeleteAlertsResponse_FailedAlertStatus+newBatchDeleteAlertsResponse_FailedAlertStatus additional =+ BatchDeleteAlertsResponse_FailedAlertStatus+ { additional =+ additional+ }++instance Core.FromJSON BatchDeleteAlertsResponse_FailedAlertStatus where+ parseJSON =+ Core.withObject+ "BatchDeleteAlertsResponse_FailedAlertStatus"+ ( \o ->+ BatchDeleteAlertsResponse_FailedAlertStatus+ Core.<$> (Core.parseJSONObject o)+ )++instance Core.ToJSON BatchDeleteAlertsResponse_FailedAlertStatus where+ toJSON BatchDeleteAlertsResponse_FailedAlertStatus {..} =+ Core.toJSON additional++-- | A request to perform batch undelete on alerts.+--+-- /See:/ 'newBatchUndeleteAlertsRequest' smart constructor.+data BatchUndeleteAlertsRequest = BatchUndeleteAlertsRequest+ { -- | Required. The list of alert IDs to undelete.+ alertId :: (Core.Maybe [Core.Text]),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alerts are associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchUndeleteAlertsRequest' with the minimum fields required to make a request.+newBatchUndeleteAlertsRequest ::+ BatchUndeleteAlertsRequest+newBatchUndeleteAlertsRequest =+ BatchUndeleteAlertsRequest+ { alertId = Core.Nothing,+ customerId = Core.Nothing+ }++instance Core.FromJSON BatchUndeleteAlertsRequest where+ parseJSON =+ Core.withObject+ "BatchUndeleteAlertsRequest"+ ( \o ->+ BatchUndeleteAlertsRequest+ Core.<$> (o Core..:? "alertId")+ Core.<*> (o Core..:? "customerId")+ )++instance Core.ToJSON BatchUndeleteAlertsRequest where+ toJSON BatchUndeleteAlertsRequest {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertId" Core..=) Core.<$> alertId,+ ("customerId" Core..=) Core.<$> customerId+ ]+ )++-- | Response to batch undelete operation on alerts.+--+-- /See:/ 'newBatchUndeleteAlertsResponse' smart constructor.+data BatchUndeleteAlertsResponse = BatchUndeleteAlertsResponse+ { -- | The status details for each failed @alert_id@.+ failedAlertStatus :: (Core.Maybe BatchUndeleteAlertsResponse_FailedAlertStatus),+ -- | The successful list of alert IDs.+ successAlertIds :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchUndeleteAlertsResponse' with the minimum fields required to make a request.+newBatchUndeleteAlertsResponse ::+ BatchUndeleteAlertsResponse+newBatchUndeleteAlertsResponse =+ BatchUndeleteAlertsResponse+ { failedAlertStatus = Core.Nothing,+ successAlertIds = Core.Nothing+ }++instance Core.FromJSON BatchUndeleteAlertsResponse where+ parseJSON =+ Core.withObject+ "BatchUndeleteAlertsResponse"+ ( \o ->+ BatchUndeleteAlertsResponse+ Core.<$> (o Core..:? "failedAlertStatus")+ Core.<*> (o Core..:? "successAlertIds")+ )++instance Core.ToJSON BatchUndeleteAlertsResponse where+ toJSON BatchUndeleteAlertsResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("failedAlertStatus" Core..=) Core.<$> failedAlertStatus,+ ("successAlertIds" Core..=) Core.<$> successAlertIds+ ]+ )++-- | The status details for each failed @alert_id@.+--+-- /See:/ 'newBatchUndeleteAlertsResponse_FailedAlertStatus' smart constructor.+newtype BatchUndeleteAlertsResponse_FailedAlertStatus = BatchUndeleteAlertsResponse_FailedAlertStatus+ { additional :: (Core.HashMap Core.Text Status)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BatchUndeleteAlertsResponse_FailedAlertStatus' with the minimum fields required to make a request.+newBatchUndeleteAlertsResponse_FailedAlertStatus ::+ -- | See 'additional'.+ Core.HashMap Core.Text Status ->+ BatchUndeleteAlertsResponse_FailedAlertStatus+newBatchUndeleteAlertsResponse_FailedAlertStatus additional =+ BatchUndeleteAlertsResponse_FailedAlertStatus+ { additional =+ additional+ }++instance+ Core.FromJSON+ BatchUndeleteAlertsResponse_FailedAlertStatus+ where+ parseJSON =+ Core.withObject+ "BatchUndeleteAlertsResponse_FailedAlertStatus"+ ( \o ->+ BatchUndeleteAlertsResponse_FailedAlertStatus+ Core.<$> (Core.parseJSONObject o)+ )++instance Core.ToJSON BatchUndeleteAlertsResponse_FailedAlertStatus where+ toJSON BatchUndeleteAlertsResponse_FailedAlertStatus {..} =+ Core.toJSON additional++-- | A reference to a Cloud Pubsub topic. To register for notifications, the owner of the topic must grant @alerts-api-push-notifications\@system.gserviceaccount.com@ the @projects.topics.publish@ permission.+--+-- /See:/ 'newCloudPubsubTopic' smart constructor.+data CloudPubsubTopic = CloudPubsubTopic+ { -- | Optional. The format of the payload that would be sent. If not specified the format will be JSON.+ payloadFormat :: (Core.Maybe CloudPubsubTopic_PayloadFormat),+ -- | The @name@ field of a Cloud Pubsub [Topic] (https:\/\/cloud.google.com\/pubsub\/docs\/reference\/rest\/v1\/projects.topics#Topic).+ topicName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudPubsubTopic' with the minimum fields required to make a request.+newCloudPubsubTopic ::+ CloudPubsubTopic+newCloudPubsubTopic =+ CloudPubsubTopic+ { payloadFormat = Core.Nothing,+ topicName = Core.Nothing+ }++instance Core.FromJSON CloudPubsubTopic where+ parseJSON =+ Core.withObject+ "CloudPubsubTopic"+ ( \o ->+ CloudPubsubTopic+ Core.<$> (o Core..:? "payloadFormat")+ Core.<*> (o Core..:? "topicName")+ )++instance Core.ToJSON CloudPubsubTopic where+ toJSON CloudPubsubTopic {..} =+ Core.object+ ( Core.catMaybes+ [ ("payloadFormat" Core..=) Core.<$> payloadFormat,+ ("topicName" Core..=) Core.<$> topicName+ ]+ )++-- | A representation of a CSV file attachment, as a list of column headers and a list of data rows.+--+-- /See:/ 'newCsv' smart constructor.+data Csv = Csv+ { -- | The list of data rows in a CSV file, as string arrays rather than as a single comma-separated string.+ dataRows :: (Core.Maybe [CsvRow]),+ -- | The list of headers for data columns in a CSV file.+ headers :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Csv' with the minimum fields required to make a request.+newCsv ::+ Csv+newCsv = Csv {dataRows = Core.Nothing, headers = Core.Nothing}++instance Core.FromJSON Csv where+ parseJSON =+ Core.withObject+ "Csv"+ ( \o ->+ Csv+ Core.<$> (o Core..:? "dataRows")+ Core.<*> (o Core..:? "headers")+ )++instance Core.ToJSON Csv where+ toJSON Csv {..} =+ Core.object+ ( Core.catMaybes+ [ ("dataRows" Core..=) Core.<$> dataRows,+ ("headers" Core..=) Core.<$> headers+ ]+ )++-- | A representation of a single data row in a CSV file.+--+-- /See:/ 'newCsvRow' smart constructor.+newtype CsvRow = CsvRow+ { -- | The data entries in a CSV file row, as a string array rather than a single comma-separated string.+ entries :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CsvRow' with the minimum fields required to make a request.+newCsvRow ::+ CsvRow+newCsvRow = CsvRow {entries = Core.Nothing}++instance Core.FromJSON CsvRow where+ parseJSON =+ Core.withObject+ "CsvRow"+ (\o -> CsvRow Core.<$> (o Core..:? "entries"))++instance Core.ToJSON CsvRow where+ toJSON CsvRow {..} =+ Core.object+ (Core.catMaybes [("entries" Core..=) Core.<$> entries])++-- | A mobile device compromised alert. Derived from audit logs.+--+-- /See:/ 'newDeviceCompromised' smart constructor.+data DeviceCompromised = DeviceCompromised+ { -- | The email of the user this alert was created for.+ email :: (Core.Maybe Core.Text),+ -- | Required. The list of security events.+ events :: (Core.Maybe [DeviceCompromisedSecurityDetail])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeviceCompromised' with the minimum fields required to make a request.+newDeviceCompromised ::+ DeviceCompromised+newDeviceCompromised =+ DeviceCompromised {email = Core.Nothing, events = Core.Nothing}++instance Core.FromJSON DeviceCompromised where+ parseJSON =+ Core.withObject+ "DeviceCompromised"+ ( \o ->+ DeviceCompromised+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "events")+ )++instance Core.ToJSON DeviceCompromised where+ toJSON DeviceCompromised {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("events" Core..=) Core.<$> events+ ]+ )++-- | Detailed information of a single MDM device compromised event.+--+-- /See:/ 'newDeviceCompromisedSecurityDetail' smart constructor.+data DeviceCompromisedSecurityDetail = DeviceCompromisedSecurityDetail+ { -- | The device compromised state. Possible values are \"@Compromised@\" or \"@Not Compromised@\".+ deviceCompromisedState :: (Core.Maybe Core.Text),+ -- | Required. The device ID.+ deviceId :: (Core.Maybe Core.Text),+ -- | The model of the device.+ deviceModel :: (Core.Maybe Core.Text),+ -- | The type of the device.+ deviceType :: (Core.Maybe Core.Text),+ -- | Required for iOS, empty for others.+ iosVendorId :: (Core.Maybe Core.Text),+ -- | The device resource ID.+ resourceId :: (Core.Maybe Core.Text),+ -- | The serial number of the device.+ serialNumber :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeviceCompromisedSecurityDetail' with the minimum fields required to make a request.+newDeviceCompromisedSecurityDetail ::+ DeviceCompromisedSecurityDetail+newDeviceCompromisedSecurityDetail =+ DeviceCompromisedSecurityDetail+ { deviceCompromisedState =+ Core.Nothing,+ deviceId = Core.Nothing,+ deviceModel = Core.Nothing,+ deviceType = Core.Nothing,+ iosVendorId = Core.Nothing,+ resourceId = Core.Nothing,+ serialNumber = Core.Nothing+ }++instance Core.FromJSON DeviceCompromisedSecurityDetail where+ parseJSON =+ Core.withObject+ "DeviceCompromisedSecurityDetail"+ ( \o ->+ DeviceCompromisedSecurityDetail+ Core.<$> (o Core..:? "deviceCompromisedState")+ Core.<*> (o Core..:? "deviceId")+ Core.<*> (o Core..:? "deviceModel")+ Core.<*> (o Core..:? "deviceType")+ Core.<*> (o Core..:? "iosVendorId")+ Core.<*> (o Core..:? "resourceId")+ Core.<*> (o Core..:? "serialNumber")+ )++instance Core.ToJSON DeviceCompromisedSecurityDetail where+ toJSON DeviceCompromisedSecurityDetail {..} =+ Core.object+ ( Core.catMaybes+ [ ("deviceCompromisedState" Core..=)+ Core.<$> deviceCompromisedState,+ ("deviceId" Core..=) Core.<$> deviceId,+ ("deviceModel" Core..=) Core.<$> deviceModel,+ ("deviceType" Core..=) Core.<$> deviceType,+ ("iosVendorId" Core..=) Core.<$> iosVendorId,+ ("resourceId" Core..=) Core.<$> resourceId,+ ("serialNumber" Core..=) Core.<$> serialNumber+ ]+ )++-- | Alerts from Device Management Rules configured by Admin.+--+-- /See:/ 'newDeviceManagementRule' smart constructor.+data DeviceManagementRule = DeviceManagementRule+ { -- | Required. The device ID.+ deviceId :: (Core.Maybe Core.Text),+ -- | The model of the device.+ deviceModel :: (Core.Maybe Core.Text),+ -- | The type of the device.+ deviceType :: (Core.Maybe Core.Text),+ -- | The email of the user this alert was created for.+ email :: (Core.Maybe Core.Text),+ -- | ID of the rule that triggered the alert+ id :: (Core.Maybe Core.Text),+ -- | Required for iOS, empty for others.+ iosVendorId :: (Core.Maybe Core.Text),+ -- | Obfuscated ID of the owner of the device+ ownerId :: (Core.Maybe Core.Text),+ -- | The device resource ID.+ resourceId :: (Core.Maybe Core.Text),+ -- | Action taken as result of the rule+ ruleAction :: (Core.Maybe Core.Text),+ -- | The serial number of the device.+ serialNumber :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeviceManagementRule' with the minimum fields required to make a request.+newDeviceManagementRule ::+ DeviceManagementRule+newDeviceManagementRule =+ DeviceManagementRule+ { deviceId = Core.Nothing,+ deviceModel = Core.Nothing,+ deviceType = Core.Nothing,+ email = Core.Nothing,+ id = Core.Nothing,+ iosVendorId = Core.Nothing,+ ownerId = Core.Nothing,+ resourceId = Core.Nothing,+ ruleAction = Core.Nothing,+ serialNumber = Core.Nothing+ }++instance Core.FromJSON DeviceManagementRule where+ parseJSON =+ Core.withObject+ "DeviceManagementRule"+ ( \o ->+ DeviceManagementRule+ Core.<$> (o Core..:? "deviceId")+ Core.<*> (o Core..:? "deviceModel")+ Core.<*> (o Core..:? "deviceType")+ Core.<*> (o Core..:? "email")+ Core.<*> (o Core..:? "id")+ Core.<*> (o Core..:? "iosVendorId")+ Core.<*> (o Core..:? "ownerId")+ Core.<*> (o Core..:? "resourceId")+ Core.<*> (o Core..:? "ruleAction")+ Core.<*> (o Core..:? "serialNumber")+ )++instance Core.ToJSON DeviceManagementRule where+ toJSON DeviceManagementRule {..} =+ Core.object+ ( Core.catMaybes+ [ ("deviceId" Core..=) Core.<$> deviceId,+ ("deviceModel" Core..=) Core.<$> deviceModel,+ ("deviceType" Core..=) Core.<$> deviceType,+ ("email" Core..=) Core.<$> email,+ ("id" Core..=) Core.<$> id,+ ("iosVendorId" Core..=) Core.<$> iosVendorId,+ ("ownerId" Core..=) Core.<$> ownerId,+ ("resourceId" Core..=) Core.<$> resourceId,+ ("ruleAction" Core..=) Core.<$> ruleAction,+ ("serialNumber" Core..=) Core.<$> serialNumber+ ]+ )++-- | Alerts that get triggered on violations of Data Loss Prevention (DLP) rules.+--+-- /See:/ 'newDlpRuleViolation' smart constructor.+newtype DlpRuleViolation = DlpRuleViolation+ { -- | Details about the violated DLP rule. Admins can use the predefined detectors provided by Google Cloud DLP https:\/\/cloud.google.com\/dlp\/ when setting up a DLP rule. Matched Cloud DLP detectors in this violation if any will be captured in the MatchInfo.predefined_detector.+ ruleViolationInfo :: (Core.Maybe RuleViolationInfo)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DlpRuleViolation' with the minimum fields required to make a request.+newDlpRuleViolation ::+ DlpRuleViolation+newDlpRuleViolation =+ DlpRuleViolation {ruleViolationInfo = Core.Nothing}++instance Core.FromJSON DlpRuleViolation where+ parseJSON =+ Core.withObject+ "DlpRuleViolation"+ (\o -> DlpRuleViolation Core.<$> (o Core..:? "ruleViolationInfo"))++instance Core.ToJSON DlpRuleViolation where+ toJSON DlpRuleViolation {..} =+ Core.object+ ( Core.catMaybes+ [("ruleViolationInfo" Core..=) Core.<$> ruleViolationInfo]+ )++-- | Domain ID of Gmail phishing alerts.+--+-- /See:/ 'newDomainId' smart constructor.+newtype DomainId = DomainId+ { -- | The primary domain for the customer.+ customerPrimaryDomain :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DomainId' with the minimum fields required to make a request.+newDomainId ::+ DomainId+newDomainId = DomainId {customerPrimaryDomain = Core.Nothing}++instance Core.FromJSON DomainId where+ parseJSON =+ Core.withObject+ "DomainId"+ (\o -> DomainId Core.<$> (o Core..:? "customerPrimaryDomain"))++instance Core.ToJSON DomainId where+ toJSON DomainId {..} =+ Core.object+ ( Core.catMaybes+ [("customerPrimaryDomain" Core..=) Core.<$> customerPrimaryDomain]+ )++-- | A takeout operation for the entire domain was initiated by an admin. Derived from audit logs.+--+-- /See:/ 'newDomainWideTakeoutInitiated' smart constructor.+data DomainWideTakeoutInitiated = DomainWideTakeoutInitiated+ { -- | The email of the admin who initiated the takeout.+ email :: (Core.Maybe Core.Text),+ -- | The takeout request ID.+ takeoutRequestId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DomainWideTakeoutInitiated' with the minimum fields required to make a request.+newDomainWideTakeoutInitiated ::+ DomainWideTakeoutInitiated+newDomainWideTakeoutInitiated =+ DomainWideTakeoutInitiated+ { email = Core.Nothing,+ takeoutRequestId = Core.Nothing+ }++instance Core.FromJSON DomainWideTakeoutInitiated where+ parseJSON =+ Core.withObject+ "DomainWideTakeoutInitiated"+ ( \o ->+ DomainWideTakeoutInitiated+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "takeoutRequestId")+ )++instance Core.ToJSON DomainWideTakeoutInitiated where+ toJSON DomainWideTakeoutInitiated {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("takeoutRequestId" Core..=) Core.<$> takeoutRequestId+ ]+ )++-- | A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }+--+-- /See:/ 'newEmpty' smart constructor.+data Empty = Empty+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+newEmpty ::+ Empty+newEmpty = Empty++instance Core.FromJSON Empty where+ parseJSON = Core.withObject "Empty" (\o -> Core.pure Empty)++instance Core.ToJSON Empty where+ toJSON = Core.const Core.emptyObject++-- | Individual entity affected by, or related to, an alert.+--+-- /See:/ 'newEntity' smart constructor.+data Entity = Entity+ { -- | Link to a Security Investigation Tool search based on this entity, if available.+ link :: (Core.Maybe Core.Text),+ -- | Human-readable name of this entity, such as an email address, file ID, or device name.+ name :: (Core.Maybe Core.Text),+ -- | Extra values beyond name. The order of values should align with headers in EntityList.+ values :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Entity' with the minimum fields required to make a request.+newEntity ::+ Entity+newEntity =+ Entity+ { link = Core.Nothing,+ name = Core.Nothing,+ values = Core.Nothing+ }++instance Core.FromJSON Entity where+ parseJSON =+ Core.withObject+ "Entity"+ ( \o ->+ Entity+ Core.<$> (o Core..:? "link")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "values")+ )++instance Core.ToJSON Entity where+ toJSON Entity {..} =+ Core.object+ ( Core.catMaybes+ [ ("link" Core..=) Core.<$> link,+ ("name" Core..=) Core.<$> name,+ ("values" Core..=) Core.<$> values+ ]+ )++-- | EntityList stores entities in a format that can be translated to a table in the Alert Center UI.+--+-- /See:/ 'newEntityList' smart constructor.+data EntityList = EntityList+ { -- | List of entities affected by the alert.+ entities :: (Core.Maybe [Entity]),+ -- | Headers of the values in entities. If no value is defined in Entity, this field should be empty.+ headers :: (Core.Maybe [Core.Text]),+ -- | Name of the key detail used to display this entity list.+ name :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EntityList' with the minimum fields required to make a request.+newEntityList ::+ EntityList+newEntityList =+ EntityList+ { entities = Core.Nothing,+ headers = Core.Nothing,+ name = Core.Nothing+ }++instance Core.FromJSON EntityList where+ parseJSON =+ Core.withObject+ "EntityList"+ ( \o ->+ EntityList+ Core.<$> (o Core..:? "entities")+ Core.<*> (o Core..:? "headers")+ Core.<*> (o Core..:? "name")+ )++instance Core.ToJSON EntityList where+ toJSON EntityList {..} =+ Core.object+ ( Core.catMaybes+ [ ("entities" Core..=) Core.<$> entities,+ ("headers" Core..=) Core.<$> headers,+ ("name" Core..=) Core.<$> name+ ]+ )++-- | Details of a message in phishing spike alert.+--+-- /See:/ 'newGmailMessageInfo' smart constructor.+data GmailMessageInfo = GmailMessageInfo+ { -- | The @SHA256@ hash of email\'s attachment and all MIME parts.+ attachmentsSha256Hash :: (Core.Maybe [Core.Text]),+ -- | The date of the event related to this email.+ date :: (Core.Maybe Core.DateTime),+ -- | The hash of the message body text.+ md5HashMessageBody :: (Core.Maybe Core.Text),+ -- | The MD5 Hash of email\'s subject (only available for reported emails).+ md5HashSubject :: (Core.Maybe Core.Text),+ -- | The snippet of the message body text (only available for reported emails).+ messageBodySnippet :: (Core.Maybe Core.Text),+ -- | The message ID.+ messageId :: (Core.Maybe Core.Text),+ -- | The recipient of this email.+ recipient :: (Core.Maybe Core.Text),+ -- | The sent time of the email.+ sentTime :: (Core.Maybe Core.DateTime),+ -- | The email subject text (only available for reported emails).+ subjectText :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GmailMessageInfo' with the minimum fields required to make a request.+newGmailMessageInfo ::+ GmailMessageInfo+newGmailMessageInfo =+ GmailMessageInfo+ { attachmentsSha256Hash = Core.Nothing,+ date = Core.Nothing,+ md5HashMessageBody = Core.Nothing,+ md5HashSubject = Core.Nothing,+ messageBodySnippet = Core.Nothing,+ messageId = Core.Nothing,+ recipient = Core.Nothing,+ sentTime = Core.Nothing,+ subjectText = Core.Nothing+ }++instance Core.FromJSON GmailMessageInfo where+ parseJSON =+ Core.withObject+ "GmailMessageInfo"+ ( \o ->+ GmailMessageInfo+ Core.<$> (o Core..:? "attachmentsSha256Hash")+ Core.<*> (o Core..:? "date")+ Core.<*> (o Core..:? "md5HashMessageBody")+ Core.<*> (o Core..:? "md5HashSubject")+ Core.<*> (o Core..:? "messageBodySnippet")+ Core.<*> (o Core..:? "messageId")+ Core.<*> (o Core..:? "recipient")+ Core.<*> (o Core..:? "sentTime")+ Core.<*> (o Core..:? "subjectText")+ )++instance Core.ToJSON GmailMessageInfo where+ toJSON GmailMessageInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("attachmentsSha256Hash" Core..=) Core.<$> attachmentsSha256Hash,+ ("date" Core..=) Core.<$> date,+ ("md5HashMessageBody" Core..=) Core.<$> md5HashMessageBody,+ ("md5HashSubject" Core..=) Core.<$> md5HashSubject,+ ("messageBodySnippet" Core..=) Core.<$> messageBodySnippet,+ ("messageId" Core..=) Core.<$> messageId,+ ("recipient" Core..=) Core.<$> recipient,+ ("sentTime" Core..=) Core.<$> sentTime,+ ("subjectText" Core..=) Core.<$> subjectText+ ]+ )++-- | An incident reported by Google Operations for a Google Workspace application.+--+-- /See:/ 'newGoogleOperations' smart constructor.+data GoogleOperations = GoogleOperations+ { -- | The list of emails which correspond to the users directly affected by the incident.+ affectedUserEmails :: (Core.Maybe [Core.Text]),+ -- | Optional. Application-specific data for an incident, provided when the Google Workspace application which reported the incident cannot be completely restored to a valid state.+ attachmentData :: (Core.Maybe Attachment),+ -- | A detailed, freeform incident description.+ description :: (Core.Maybe Core.Text),+ -- | Customer domain for email template personalization.+ domain :: (Core.Maybe Core.Text),+ -- | A header to display above the incident message. Typically used to attach a localized notice on the timeline for followup comms translations.+ header :: (Core.Maybe Core.Text),+ -- | A one-line incident description.+ title :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleOperations' with the minimum fields required to make a request.+newGoogleOperations ::+ GoogleOperations+newGoogleOperations =+ GoogleOperations+ { affectedUserEmails = Core.Nothing,+ attachmentData = Core.Nothing,+ description = Core.Nothing,+ domain = Core.Nothing,+ header = Core.Nothing,+ title = Core.Nothing+ }++instance Core.FromJSON GoogleOperations where+ parseJSON =+ Core.withObject+ "GoogleOperations"+ ( \o ->+ GoogleOperations+ Core.<$> (o Core..:? "affectedUserEmails")+ Core.<*> (o Core..:? "attachmentData")+ Core.<*> (o Core..:? "description")+ Core.<*> (o Core..:? "domain")+ Core.<*> (o Core..:? "header")+ Core.<*> (o Core..:? "title")+ )++instance Core.ToJSON GoogleOperations where+ toJSON GoogleOperations {..} =+ Core.object+ ( Core.catMaybes+ [ ("affectedUserEmails" Core..=) Core.<$> affectedUserEmails,+ ("attachmentData" Core..=) Core.<$> attachmentData,+ ("description" Core..=) Core.<$> description,+ ("domain" Core..=) Core.<$> domain,+ ("header" Core..=) Core.<$> header,+ ("title" Core..=) Core.<$> title+ ]+ )++-- | Response message for an alert feedback listing request.+--+-- /See:/ 'newListAlertFeedbackResponse' smart constructor.+newtype ListAlertFeedbackResponse = ListAlertFeedbackResponse+ { -- | The list of alert feedback. Feedback entries for each alert are ordered by creation time descending.+ feedback :: (Core.Maybe [AlertFeedback])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListAlertFeedbackResponse' with the minimum fields required to make a request.+newListAlertFeedbackResponse ::+ ListAlertFeedbackResponse+newListAlertFeedbackResponse =+ ListAlertFeedbackResponse {feedback = Core.Nothing}++instance Core.FromJSON ListAlertFeedbackResponse where+ parseJSON =+ Core.withObject+ "ListAlertFeedbackResponse"+ (\o -> ListAlertFeedbackResponse Core.<$> (o Core..:? "feedback"))++instance Core.ToJSON ListAlertFeedbackResponse where+ toJSON ListAlertFeedbackResponse {..} =+ Core.object+ (Core.catMaybes [("feedback" Core..=) Core.<$> feedback])++-- | Response message for an alert listing request.+--+-- /See:/ 'newListAlertsResponse' smart constructor.+data ListAlertsResponse = ListAlertsResponse+ { -- | The list of alerts.+ alerts :: (Core.Maybe [Alert]),+ -- | The token for the next page. If not empty, indicates that there may be more alerts that match the listing request; this value can be used in a subsequent ListAlertsRequest to get alerts continuing from last result of the current list call.+ nextPageToken :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListAlertsResponse' with the minimum fields required to make a request.+newListAlertsResponse ::+ ListAlertsResponse+newListAlertsResponse =+ ListAlertsResponse+ { alerts = Core.Nothing,+ nextPageToken = Core.Nothing+ }++instance Core.FromJSON ListAlertsResponse where+ parseJSON =+ Core.withObject+ "ListAlertsResponse"+ ( \o ->+ ListAlertsResponse+ Core.<$> (o Core..:? "alerts")+ Core.<*> (o Core..:? "nextPageToken")+ )++instance Core.ToJSON ListAlertsResponse where+ toJSON ListAlertsResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("alerts" Core..=) Core.<$> alerts,+ ("nextPageToken" Core..=) Core.<$> nextPageToken+ ]+ )++-- | The details of the login action.+--+-- /See:/ 'newLoginDetails' smart constructor.+data LoginDetails = LoginDetails+ { -- | Optional. The human-readable IP address (for example, @11.22.33.44@) that is associated with the warning event.+ ipAddress :: (Core.Maybe Core.Text),+ -- | Optional. The successful login time that is associated with the warning event. This isn\'t present for blocked login attempts.+ loginTime :: (Core.Maybe Core.DateTime)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'LoginDetails' with the minimum fields required to make a request.+newLoginDetails ::+ LoginDetails+newLoginDetails =+ LoginDetails {ipAddress = Core.Nothing, loginTime = Core.Nothing}++instance Core.FromJSON LoginDetails where+ parseJSON =+ Core.withObject+ "LoginDetails"+ ( \o ->+ LoginDetails+ Core.<$> (o Core..:? "ipAddress")+ Core.<*> (o Core..:? "loginTime")+ )++instance Core.ToJSON LoginDetails where+ toJSON LoginDetails {..} =+ Core.object+ ( Core.catMaybes+ [ ("ipAddress" Core..=) Core.<$> ipAddress,+ ("loginTime" Core..=) Core.<$> loginTime+ ]+ )++-- | Proto for all phishing alerts with common payload. Supported types are any of the following: * User reported phishing * User reported spam spike * Suspicious message reported * Phishing reclassification * Malware reclassification * Gmail potential employee spoofing+--+-- /See:/ 'newMailPhishing' smart constructor.+data MailPhishing = MailPhishing+ { -- | The domain ID.+ domainId :: (Core.Maybe DomainId),+ -- | If @true@, the email originated from within the organization.+ isInternal :: (Core.Maybe Core.Bool),+ -- | The entity whose actions triggered a Gmail phishing alert.+ maliciousEntity :: (Core.Maybe MaliciousEntity),+ -- | The list of messages contained by this alert.+ messages :: (Core.Maybe [GmailMessageInfo]),+ -- | System actions on the messages.+ systemActionType :: (Core.Maybe MailPhishing_SystemActionType)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MailPhishing' with the minimum fields required to make a request.+newMailPhishing ::+ MailPhishing+newMailPhishing =+ MailPhishing+ { domainId = Core.Nothing,+ isInternal = Core.Nothing,+ maliciousEntity = Core.Nothing,+ messages = Core.Nothing,+ systemActionType = Core.Nothing+ }++instance Core.FromJSON MailPhishing where+ parseJSON =+ Core.withObject+ "MailPhishing"+ ( \o ->+ MailPhishing+ Core.<$> (o Core..:? "domainId")+ Core.<*> (o Core..:? "isInternal")+ Core.<*> (o Core..:? "maliciousEntity")+ Core.<*> (o Core..:? "messages")+ Core.<*> (o Core..:? "systemActionType")+ )++instance Core.ToJSON MailPhishing where+ toJSON MailPhishing {..} =+ Core.object+ ( Core.catMaybes+ [ ("domainId" Core..=) Core.<$> domainId,+ ("isInternal" Core..=) Core.<$> isInternal,+ ("maliciousEntity" Core..=) Core.<$> maliciousEntity,+ ("messages" Core..=) Core.<$> messages,+ ("systemActionType" Core..=) Core.<$> systemActionType+ ]+ )++-- | Entity whose actions triggered a Gmail phishing alert.+--+-- /See:/ 'newMaliciousEntity' smart constructor.+data MaliciousEntity = MaliciousEntity+ { -- | The header from display name.+ displayName :: (Core.Maybe Core.Text),+ -- | The actor who triggered a gmail phishing alert.+ entity :: (Core.Maybe User),+ -- | The sender email address.+ fromHeader :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MaliciousEntity' with the minimum fields required to make a request.+newMaliciousEntity ::+ MaliciousEntity+newMaliciousEntity =+ MaliciousEntity+ { displayName = Core.Nothing,+ entity = Core.Nothing,+ fromHeader = Core.Nothing+ }++instance Core.FromJSON MaliciousEntity where+ parseJSON =+ Core.withObject+ "MaliciousEntity"+ ( \o ->+ MaliciousEntity+ Core.<$> (o Core..:? "displayName")+ Core.<*> (o Core..:? "entity")+ Core.<*> (o Core..:? "fromHeader")+ )++instance Core.ToJSON MaliciousEntity where+ toJSON MaliciousEntity {..} =+ Core.object+ ( Core.catMaybes+ [ ("displayName" Core..=) Core.<$> displayName,+ ("entity" Core..=) Core.<$> entity,+ ("fromHeader" Core..=) Core.<$> fromHeader+ ]+ )++-- | Alert Created by the MSA team for communications necessary for continued use of Google Workspace Products.+--+-- /See:/ 'newMandatoryServiceAnnouncement' smart constructor.+data MandatoryServiceAnnouncement = MandatoryServiceAnnouncement+ { -- | Detailed, freeform text describing the announcement+ description :: (Core.Maybe Core.Text),+ -- | One line summary of the announcement+ title :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MandatoryServiceAnnouncement' with the minimum fields required to make a request.+newMandatoryServiceAnnouncement ::+ MandatoryServiceAnnouncement+newMandatoryServiceAnnouncement =+ MandatoryServiceAnnouncement+ { description = Core.Nothing,+ title = Core.Nothing+ }++instance Core.FromJSON MandatoryServiceAnnouncement where+ parseJSON =+ Core.withObject+ "MandatoryServiceAnnouncement"+ ( \o ->+ MandatoryServiceAnnouncement+ Core.<$> (o Core..:? "description")+ Core.<*> (o Core..:? "title")+ )++instance Core.ToJSON MandatoryServiceAnnouncement where+ toJSON MandatoryServiceAnnouncement {..} =+ Core.object+ ( Core.catMaybes+ [ ("description" Core..=) Core.<$> description,+ ("title" Core..=) Core.<$> title+ ]+ )++-- | Proto that contains match information from the condition part of the rule.+--+-- /See:/ 'newMatchInfo' smart constructor.+data MatchInfo = MatchInfo+ { -- | For matched detector predefined by Google.+ predefinedDetector :: (Core.Maybe PredefinedDetectorInfo),+ -- | For matched detector defined by administrators.+ userDefinedDetector :: (Core.Maybe UserDefinedDetectorInfo)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MatchInfo' with the minimum fields required to make a request.+newMatchInfo ::+ MatchInfo+newMatchInfo =+ MatchInfo+ { predefinedDetector = Core.Nothing,+ userDefinedDetector = Core.Nothing+ }++instance Core.FromJSON MatchInfo where+ parseJSON =+ Core.withObject+ "MatchInfo"+ ( \o ->+ MatchInfo+ Core.<$> (o Core..:? "predefinedDetector")+ Core.<*> (o Core..:? "userDefinedDetector")+ )++instance Core.ToJSON MatchInfo where+ toJSON MatchInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("predefinedDetector" Core..=) Core.<$> predefinedDetector,+ ("userDefinedDetector" Core..=) Core.<$> userDefinedDetector+ ]+ )++-- | New alert tracking numbers.+--+-- /See:/ 'newMergeInfo' smart constructor.+data MergeInfo = MergeInfo+ { -- | Optional. New alert ID. Reference the [google.apps.alertcenter.Alert] with this ID for the current state.+ newAlertId' :: (Core.Maybe Core.Text),+ -- | The new tracking ID from the parent incident.+ newIncidentTrackingId' :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MergeInfo' with the minimum fields required to make a request.+newMergeInfo ::+ MergeInfo+newMergeInfo =+ MergeInfo+ { newAlertId' = Core.Nothing,+ newIncidentTrackingId' = Core.Nothing+ }++instance Core.FromJSON MergeInfo where+ parseJSON =+ Core.withObject+ "MergeInfo"+ ( \o ->+ MergeInfo+ Core.<$> (o Core..:? "newAlertId")+ Core.<*> (o Core..:? "newIncidentTrackingId")+ )++instance Core.ToJSON MergeInfo where+ toJSON MergeInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("newAlertId" Core..=) Core.<$> newAlertId',+ ("newIncidentTrackingId" Core..=) Core.<$> newIncidentTrackingId'+ ]+ )++-- | Settings for callback notifications. For more details see <https://developers.google.com/admin-sdk/alertcenter/guides/notifications Google Workspace Alert Notification>.+--+-- /See:/ 'newNotification' smart constructor.+newtype Notification = Notification+ { -- | A Google Cloud Pub\/sub topic destination.+ cloudPubsubTopic :: (Core.Maybe CloudPubsubTopic)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Notification' with the minimum fields required to make a request.+newNotification ::+ Notification+newNotification = Notification {cloudPubsubTopic = Core.Nothing}++instance Core.FromJSON Notification where+ parseJSON =+ Core.withObject+ "Notification"+ (\o -> Notification Core.<$> (o Core..:? "cloudPubsubTopic"))++instance Core.ToJSON Notification where+ toJSON Notification {..} =+ Core.object+ ( Core.catMaybes+ [("cloudPubsubTopic" Core..=) Core.<$> cloudPubsubTopic]+ )++-- | Alert for a spike in user reported phishing. /Warning/: This type has been deprecated. Use </admin-sdk/alertcenter/reference/rest/v1beta1/MailPhishing MailPhishing> instead.+--+-- /See:/ 'newPhishingSpike' smart constructor.+data PhishingSpike = PhishingSpike+ { -- | The domain ID.+ domainId :: (Core.Maybe DomainId),+ -- | If @true@, the email originated from within the organization.+ isInternal :: (Core.Maybe Core.Bool),+ -- | The entity whose actions triggered a Gmail phishing alert.+ maliciousEntity :: (Core.Maybe MaliciousEntity),+ -- | The list of messages contained by this alert.+ messages :: (Core.Maybe [GmailMessageInfo])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PhishingSpike' with the minimum fields required to make a request.+newPhishingSpike ::+ PhishingSpike+newPhishingSpike =+ PhishingSpike+ { domainId = Core.Nothing,+ isInternal = Core.Nothing,+ maliciousEntity = Core.Nothing,+ messages = Core.Nothing+ }++instance Core.FromJSON PhishingSpike where+ parseJSON =+ Core.withObject+ "PhishingSpike"+ ( \o ->+ PhishingSpike+ Core.<$> (o Core..:? "domainId")+ Core.<*> (o Core..:? "isInternal")+ Core.<*> (o Core..:? "maliciousEntity")+ Core.<*> (o Core..:? "messages")+ )++instance Core.ToJSON PhishingSpike where+ toJSON PhishingSpike {..} =+ Core.object+ ( Core.catMaybes+ [ ("domainId" Core..=) Core.<$> domainId,+ ("isInternal" Core..=) Core.<$> isInternal,+ ("maliciousEntity" Core..=) Core.<$> maliciousEntity,+ ("messages" Core..=) Core.<$> messages+ ]+ )++-- | Detector provided by Google.+--+-- /See:/ 'newPredefinedDetectorInfo' smart constructor.+newtype PredefinedDetectorInfo = PredefinedDetectorInfo+ { -- | Name that uniquely identifies the detector.+ detectorName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PredefinedDetectorInfo' with the minimum fields required to make a request.+newPredefinedDetectorInfo ::+ PredefinedDetectorInfo+newPredefinedDetectorInfo =+ PredefinedDetectorInfo {detectorName = Core.Nothing}++instance Core.FromJSON PredefinedDetectorInfo where+ parseJSON =+ Core.withObject+ "PredefinedDetectorInfo"+ ( \o ->+ PredefinedDetectorInfo Core.<$> (o Core..:? "detectorName")+ )++instance Core.ToJSON PredefinedDetectorInfo where+ toJSON PredefinedDetectorInfo {..} =+ Core.object+ (Core.catMaybes [("detectorName" Core..=) Core.<$> detectorName])++-- | - Event occurred when primary admin changed in customer\'s account. The event are being received from insight forwarder+--+-- /See:/ 'newPrimaryAdminChangedEvent' smart constructor.+data PrimaryAdminChangedEvent = PrimaryAdminChangedEvent+ { -- | domain in which actioned occurred+ domain :: (Core.Maybe Core.Text),+ -- | Email of person who was the primary admin before the action+ previousAdminEmail :: (Core.Maybe Core.Text),+ -- | Email of person who is the primary admin after the action+ updatedAdminEmail :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PrimaryAdminChangedEvent' with the minimum fields required to make a request.+newPrimaryAdminChangedEvent ::+ PrimaryAdminChangedEvent+newPrimaryAdminChangedEvent =+ PrimaryAdminChangedEvent+ { domain = Core.Nothing,+ previousAdminEmail = Core.Nothing,+ updatedAdminEmail = Core.Nothing+ }++instance Core.FromJSON PrimaryAdminChangedEvent where+ parseJSON =+ Core.withObject+ "PrimaryAdminChangedEvent"+ ( \o ->+ PrimaryAdminChangedEvent+ Core.<$> (o Core..:? "domain")+ Core.<*> (o Core..:? "previousAdminEmail")+ Core.<*> (o Core..:? "updatedAdminEmail")+ )++instance Core.ToJSON PrimaryAdminChangedEvent where+ toJSON PrimaryAdminChangedEvent {..} =+ Core.object+ ( Core.catMaybes+ [ ("domain" Core..=) Core.<$> domain,+ ("previousAdminEmail" Core..=) Core.<$> previousAdminEmail,+ ("updatedAdminEmail" Core..=) Core.<$> updatedAdminEmail+ ]+ )++-- | Alerts from Reporting Rules configured by Admin.+--+-- /See:/ 'newReportingRule' smart constructor.+data ReportingRule = ReportingRule+ { -- | Any other associated alert details, for example, AlertConfiguration.+ alertDetails :: (Core.Maybe Core.Base64),+ -- | Rule name+ name :: (Core.Maybe Core.Text),+ -- | Alert Rule query Sample Query query { condition { filter { expected/application/id: 777491262838 expected/event/name: \"indexable/content/change\" filter/op: IN } } conjunction/operator: OR }+ query :: (Core.Maybe Core.Base64)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ReportingRule' with the minimum fields required to make a request.+newReportingRule ::+ ReportingRule+newReportingRule =+ ReportingRule+ { alertDetails = Core.Nothing,+ name = Core.Nothing,+ query = Core.Nothing+ }++instance Core.FromJSON ReportingRule where+ parseJSON =+ Core.withObject+ "ReportingRule"+ ( \o ->+ ReportingRule+ Core.<$> (o Core..:? "alertDetails")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "query")+ )++instance Core.ToJSON ReportingRule where+ toJSON ReportingRule {..} =+ Core.object+ ( Core.catMaybes+ [ ("alertDetails" Core..=) Core.<$> alertDetails,+ ("name" Core..=) Core.<$> name,+ ("query" Core..=) Core.<$> query+ ]+ )++-- | Requests for one application that needs default SQL setup.+--+-- /See:/ 'newRequestInfo' smart constructor.+data RequestInfo = RequestInfo+ { -- | List of app developers who triggered notifications for above application.+ appDeveloperEmail :: (Core.Maybe [Core.Text]),+ -- | Required. The application that requires the SQL setup.+ appKey :: (Core.Maybe Core.Text),+ -- | Required. Number of requests sent for this application to set up default SQL instance.+ numberOfRequests :: (Core.Maybe Core.Int64)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RequestInfo' with the minimum fields required to make a request.+newRequestInfo ::+ RequestInfo+newRequestInfo =+ RequestInfo+ { appDeveloperEmail = Core.Nothing,+ appKey = Core.Nothing,+ numberOfRequests = Core.Nothing+ }++instance Core.FromJSON RequestInfo where+ parseJSON =+ Core.withObject+ "RequestInfo"+ ( \o ->+ RequestInfo+ Core.<$> (o Core..:? "appDeveloperEmail")+ Core.<*> (o Core..:? "appKey")+ Core.<*> (o Core..:? "numberOfRequests" Core.<&> Core.fmap Core.fromAsText)+ )++instance Core.ToJSON RequestInfo where+ toJSON RequestInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("appDeveloperEmail" Core..=) Core.<$> appDeveloperEmail,+ ("appKey" Core..=) Core.<$> appKey,+ ("numberOfRequests" Core..=)+ Core.. Core.AsText+ Core.<$> numberOfRequests+ ]+ )++-- | Proto that contains resource information.+--+-- /See:/ 'newResourceInfo' smart constructor.+data ResourceInfo = ResourceInfo+ { -- | Chat attachment ID.+ chatAttachmentId :: (Core.Maybe Core.Text),+ -- | Chat message ID.+ chatMessageId :: (Core.Maybe Core.Text),+ -- | Id to identify a device. For example, for Android devices, this is the \"Android Device Id\" and for Chrome OS devices, it\'s the \"Device Virtual Id\".+ deviceId :: (Core.Maybe Core.Text),+ -- | Drive file ID.+ documentId :: (Core.Maybe Core.Text),+ -- | Title of the resource, for example email subject, or document title.+ resourceTitle :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ResourceInfo' with the minimum fields required to make a request.+newResourceInfo ::+ ResourceInfo+newResourceInfo =+ ResourceInfo+ { chatAttachmentId = Core.Nothing,+ chatMessageId = Core.Nothing,+ deviceId = Core.Nothing,+ documentId = Core.Nothing,+ resourceTitle = Core.Nothing+ }++instance Core.FromJSON ResourceInfo where+ parseJSON =+ Core.withObject+ "ResourceInfo"+ ( \o ->+ ResourceInfo+ Core.<$> (o Core..:? "chatAttachmentId")+ Core.<*> (o Core..:? "chatMessageId")+ Core.<*> (o Core..:? "deviceId")+ Core.<*> (o Core..:? "documentId")+ Core.<*> (o Core..:? "resourceTitle")+ )++instance Core.ToJSON ResourceInfo where+ toJSON ResourceInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("chatAttachmentId" Core..=) Core.<$> chatAttachmentId,+ ("chatMessageId" Core..=) Core.<$> chatMessageId,+ ("deviceId" Core..=) Core.<$> deviceId,+ ("documentId" Core..=) Core.<$> documentId,+ ("resourceTitle" Core..=) Core.<$> resourceTitle+ ]+ )++-- | Proto that contains rule information.+--+-- /See:/ 'newRuleInfo' smart constructor.+data RuleInfo = RuleInfo+ { -- | User provided name of the rule.+ displayName :: (Core.Maybe Core.Text),+ -- | Resource name that uniquely identifies the rule.+ resourceName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RuleInfo' with the minimum fields required to make a request.+newRuleInfo ::+ RuleInfo+newRuleInfo =+ RuleInfo {displayName = Core.Nothing, resourceName = Core.Nothing}++instance Core.FromJSON RuleInfo where+ parseJSON =+ Core.withObject+ "RuleInfo"+ ( \o ->+ RuleInfo+ Core.<$> (o Core..:? "displayName")+ Core.<*> (o Core..:? "resourceName")+ )++instance Core.ToJSON RuleInfo where+ toJSON RuleInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("displayName" Core..=) Core.<$> displayName,+ ("resourceName" Core..=) Core.<$> resourceName+ ]+ )++-- | Common alert information about violated rules that are configured by Google Workspace administrators.+--+-- /See:/ 'newRuleViolationInfo' smart constructor.+data RuleViolationInfo = RuleViolationInfo+ { -- | Source of the data.+ dataSource :: (Core.Maybe RuleViolationInfo_DataSource),+ -- | Event associated with this alert after applying the rule.+ eventType :: (Core.Maybe RuleViolationInfo_EventType),+ -- | List of matches that were found in the resource content.+ matchInfo :: (Core.Maybe [MatchInfo]),+ -- | Resource recipients. For Drive, they are grantees that the Drive file was shared with at the time of rule triggering. Valid values include user emails, group emails, domains, or \'anyone\' if the file was publicly accessible. If the file was private the recipients list will be empty. For Gmail, they are emails of the users or groups that the Gmail message was sent to.+ recipients :: (Core.Maybe [Core.Text]),+ -- | Details of the resource which violated the rule.+ resourceInfo :: (Core.Maybe ResourceInfo),+ -- | Details of the violated rule.+ ruleInfo :: (Core.Maybe RuleInfo),+ -- | Actions suppressed due to other actions with higher priority.+ suppressedActionTypes :: (Core.Maybe [RuleViolationInfo_SuppressedActionTypesItem]),+ -- | Trigger of the rule.+ trigger :: (Core.Maybe RuleViolationInfo_Trigger),+ -- | Metadata related to the triggered actions.+ triggeredActionInfo :: (Core.Maybe [ActionInfo]),+ -- | Actions applied as a consequence of the rule being triggered.+ triggeredActionTypes :: (Core.Maybe [RuleViolationInfo_TriggeredActionTypesItem]),+ -- | Email of the user who caused the violation. Value could be empty if not applicable, for example, a violation found by drive continuous scan.+ triggeringUserEmail :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RuleViolationInfo' with the minimum fields required to make a request.+newRuleViolationInfo ::+ RuleViolationInfo+newRuleViolationInfo =+ RuleViolationInfo+ { dataSource = Core.Nothing,+ eventType = Core.Nothing,+ matchInfo = Core.Nothing,+ recipients = Core.Nothing,+ resourceInfo = Core.Nothing,+ ruleInfo = Core.Nothing,+ suppressedActionTypes = Core.Nothing,+ trigger = Core.Nothing,+ triggeredActionInfo = Core.Nothing,+ triggeredActionTypes = Core.Nothing,+ triggeringUserEmail = Core.Nothing+ }++instance Core.FromJSON RuleViolationInfo where+ parseJSON =+ Core.withObject+ "RuleViolationInfo"+ ( \o ->+ RuleViolationInfo+ Core.<$> (o Core..:? "dataSource")+ Core.<*> (o Core..:? "eventType")+ Core.<*> (o Core..:? "matchInfo")+ Core.<*> (o Core..:? "recipients")+ Core.<*> (o Core..:? "resourceInfo")+ Core.<*> (o Core..:? "ruleInfo")+ Core.<*> (o Core..:? "suppressedActionTypes")+ Core.<*> (o Core..:? "trigger")+ Core.<*> (o Core..:? "triggeredActionInfo")+ Core.<*> (o Core..:? "triggeredActionTypes")+ Core.<*> (o Core..:? "triggeringUserEmail")+ )++instance Core.ToJSON RuleViolationInfo where+ toJSON RuleViolationInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("dataSource" Core..=) Core.<$> dataSource,+ ("eventType" Core..=) Core.<$> eventType,+ ("matchInfo" Core..=) Core.<$> matchInfo,+ ("recipients" Core..=) Core.<$> recipients,+ ("resourceInfo" Core..=) Core.<$> resourceInfo,+ ("ruleInfo" Core..=) Core.<$> ruleInfo,+ ("suppressedActionTypes" Core..=) Core.<$> suppressedActionTypes,+ ("trigger" Core..=) Core.<$> trigger,+ ("triggeredActionInfo" Core..=) Core.<$> triggeredActionInfo,+ ("triggeredActionTypes" Core..=) Core.<$> triggeredActionTypes,+ ("triggeringUserEmail" Core..=) Core.<$> triggeringUserEmail+ ]+ )++-- | - Event occurred when SSO Profile created in customer\'s account. The event are being received from insight forwarder+--+-- /See:/ 'newSSOProfileCreatedEvent' smart constructor.+newtype SSOProfileCreatedEvent = SSOProfileCreatedEvent+ { -- | sso profile name which got created+ inboundSsoProfileName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SSOProfileCreatedEvent' with the minimum fields required to make a request.+newSSOProfileCreatedEvent ::+ SSOProfileCreatedEvent+newSSOProfileCreatedEvent =+ SSOProfileCreatedEvent {inboundSsoProfileName = Core.Nothing}++instance Core.FromJSON SSOProfileCreatedEvent where+ parseJSON =+ Core.withObject+ "SSOProfileCreatedEvent"+ ( \o ->+ SSOProfileCreatedEvent+ Core.<$> (o Core..:? "inboundSsoProfileName")+ )++instance Core.ToJSON SSOProfileCreatedEvent where+ toJSON SSOProfileCreatedEvent {..} =+ Core.object+ ( Core.catMaybes+ [("inboundSsoProfileName" Core..=) Core.<$> inboundSsoProfileName]+ )++-- | - Event occurred when SSO Profile deleted in customer\'s account. The event are being received from insight forwarder+--+-- /See:/ 'newSSOProfileDeletedEvent' smart constructor.+newtype SSOProfileDeletedEvent = SSOProfileDeletedEvent+ { -- | sso profile name which got deleted+ inboundSsoProfileName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SSOProfileDeletedEvent' with the minimum fields required to make a request.+newSSOProfileDeletedEvent ::+ SSOProfileDeletedEvent+newSSOProfileDeletedEvent =+ SSOProfileDeletedEvent {inboundSsoProfileName = Core.Nothing}++instance Core.FromJSON SSOProfileDeletedEvent where+ parseJSON =+ Core.withObject+ "SSOProfileDeletedEvent"+ ( \o ->+ SSOProfileDeletedEvent+ Core.<$> (o Core..:? "inboundSsoProfileName")+ )++instance Core.ToJSON SSOProfileDeletedEvent where+ toJSON SSOProfileDeletedEvent {..} =+ Core.object+ ( Core.catMaybes+ [("inboundSsoProfileName" Core..=) Core.<$> inboundSsoProfileName]+ )++-- | - Event occurred when SSO Profile updated in customer\'s account. The event are being received from insight forwarder+--+-- /See:/ 'newSSOProfileUpdatedEvent' smart constructor.+data SSOProfileUpdatedEvent = SSOProfileUpdatedEvent+ { -- | changes made to sso profile+ inboundSsoProfileChanges :: (Core.Maybe Core.Text),+ -- | sso profile name which got updated+ inboundSsoProfileName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SSOProfileUpdatedEvent' with the minimum fields required to make a request.+newSSOProfileUpdatedEvent ::+ SSOProfileUpdatedEvent+newSSOProfileUpdatedEvent =+ SSOProfileUpdatedEvent+ { inboundSsoProfileChanges = Core.Nothing,+ inboundSsoProfileName = Core.Nothing+ }++instance Core.FromJSON SSOProfileUpdatedEvent where+ parseJSON =+ Core.withObject+ "SSOProfileUpdatedEvent"+ ( \o ->+ SSOProfileUpdatedEvent+ Core.<$> (o Core..:? "inboundSsoProfileChanges")+ Core.<*> (o Core..:? "inboundSsoProfileName")+ )++instance Core.ToJSON SSOProfileUpdatedEvent where+ toJSON SSOProfileUpdatedEvent {..} =+ Core.object+ ( Core.catMaybes+ [ ("inboundSsoProfileChanges" Core..=)+ Core.<$> inboundSsoProfileChanges,+ ("inboundSsoProfileName" Core..=) Core.<$> inboundSsoProfileName+ ]+ )++-- | Alert that is triggered when Sensitive Admin Action occur in customer account.+--+-- /See:/ 'newSensitiveAdminAction' smart constructor.+data SensitiveAdminAction = SensitiveAdminAction+ { -- | Email of person who performed the action+ actorEmail :: (Core.Maybe Core.Text),+ -- | The time at which event occurred+ eventTime :: (Core.Maybe Core.DateTime),+ -- | Event occurred when primary admin changed in customer\'s account+ primaryAdminChangedEvent :: (Core.Maybe PrimaryAdminChangedEvent),+ -- | Event occurred when SSO Profile created in customer\'s account+ ssoProfileCreatedEvent :: (Core.Maybe SSOProfileCreatedEvent),+ -- | Event occurred when SSO Profile deleted in customer\'s account+ ssoProfileDeletedEvent :: (Core.Maybe SSOProfileDeletedEvent),+ -- | Event occurred when SSO Profile updated in customer\'s account+ ssoProfileUpdatedEvent :: (Core.Maybe SSOProfileUpdatedEvent),+ -- | Event occurred when password was reset for super admin in customer\'s account+ superAdminPasswordResetEvent :: (Core.Maybe SuperAdminPasswordResetEvent)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SensitiveAdminAction' with the minimum fields required to make a request.+newSensitiveAdminAction ::+ SensitiveAdminAction+newSensitiveAdminAction =+ SensitiveAdminAction+ { actorEmail = Core.Nothing,+ eventTime = Core.Nothing,+ primaryAdminChangedEvent = Core.Nothing,+ ssoProfileCreatedEvent = Core.Nothing,+ ssoProfileDeletedEvent = Core.Nothing,+ ssoProfileUpdatedEvent = Core.Nothing,+ superAdminPasswordResetEvent = Core.Nothing+ }++instance Core.FromJSON SensitiveAdminAction where+ parseJSON =+ Core.withObject+ "SensitiveAdminAction"+ ( \o ->+ SensitiveAdminAction+ Core.<$> (o Core..:? "actorEmail")+ Core.<*> (o Core..:? "eventTime")+ Core.<*> (o Core..:? "primaryAdminChangedEvent")+ Core.<*> (o Core..:? "ssoProfileCreatedEvent")+ Core.<*> (o Core..:? "ssoProfileDeletedEvent")+ Core.<*> (o Core..:? "ssoProfileUpdatedEvent")+ Core.<*> (o Core..:? "superAdminPasswordResetEvent")+ )++instance Core.ToJSON SensitiveAdminAction where+ toJSON SensitiveAdminAction {..} =+ Core.object+ ( Core.catMaybes+ [ ("actorEmail" Core..=) Core.<$> actorEmail,+ ("eventTime" Core..=) Core.<$> eventTime,+ ("primaryAdminChangedEvent" Core..=)+ Core.<$> primaryAdminChangedEvent,+ ("ssoProfileCreatedEvent" Core..=) Core.<$> ssoProfileCreatedEvent,+ ("ssoProfileDeletedEvent" Core..=) Core.<$> ssoProfileDeletedEvent,+ ("ssoProfileUpdatedEvent" Core..=) Core.<$> ssoProfileUpdatedEvent,+ ("superAdminPasswordResetEvent" Core..=)+ Core.<$> superAdminPasswordResetEvent+ ]+ )++-- | Customer-level settings.+--+-- /See:/ 'newSettings' smart constructor.+newtype Settings = Settings+ { -- | The list of notifications.+ notifications :: (Core.Maybe [Notification])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Settings' with the minimum fields required to make a request.+newSettings ::+ Settings+newSettings = Settings {notifications = Core.Nothing}++instance Core.FromJSON Settings where+ parseJSON =+ Core.withObject+ "Settings"+ (\o -> Settings Core.<$> (o Core..:? "notifications"))++instance Core.ToJSON Settings where+ toJSON Settings {..} =+ Core.object+ (Core.catMaybes [("notifications" Core..=) Core.<$> notifications])++-- | A state-sponsored attack alert. Derived from audit logs.+--+-- /See:/ 'newStateSponsoredAttack' smart constructor.+newtype StateSponsoredAttack = StateSponsoredAttack+ { -- | The email of the user this incident was created for.+ email :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'StateSponsoredAttack' with the minimum fields required to make a request.+newStateSponsoredAttack ::+ StateSponsoredAttack+newStateSponsoredAttack =+ StateSponsoredAttack {email = Core.Nothing}++instance Core.FromJSON StateSponsoredAttack where+ parseJSON =+ Core.withObject+ "StateSponsoredAttack"+ (\o -> StateSponsoredAttack Core.<$> (o Core..:? "email"))++instance Core.ToJSON StateSponsoredAttack where+ toJSON StateSponsoredAttack {..} =+ Core.object (Core.catMaybes [("email" Core..=) Core.<$> email])++-- | The @Status@ type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by <https://github.com/grpc gRPC>. Each @Status@ message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the <https://cloud.google.com/apis/design/errors API Design Guide>.+--+-- /See:/ 'newStatus' smart constructor.+data Status = Status+ { -- | The status code, which should be an enum value of google.rpc.Code.+ code :: (Core.Maybe Core.Int32),+ -- | A list of messages that carry the error details. There is a common set of message types for APIs to use.+ details :: (Core.Maybe [Status_DetailsItem]),+ -- | A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.+ message :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+newStatus ::+ Status+newStatus =+ Status+ { code = Core.Nothing,+ details = Core.Nothing,+ message = Core.Nothing+ }++instance Core.FromJSON Status where+ parseJSON =+ Core.withObject+ "Status"+ ( \o ->+ Status+ Core.<$> (o Core..:? "code")+ Core.<*> (o Core..:? "details")+ Core.<*> (o Core..:? "message")+ )++instance Core.ToJSON Status where+ toJSON Status {..} =+ Core.object+ ( Core.catMaybes+ [ ("code" Core..=) Core.<$> code,+ ("details" Core..=) Core.<$> details,+ ("message" Core..=) Core.<$> message+ ]+ )++--+-- /See:/ 'newStatus_DetailsItem' smart constructor.+newtype Status_DetailsItem = Status_DetailsItem+ { -- | Properties of the object. Contains field \@type with type URL.+ additional :: (Core.HashMap Core.Text Core.Value)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Status_DetailsItem' with the minimum fields required to make a request.+newStatus_DetailsItem ::+ -- | Properties of the object. Contains field \@type with type URL. See 'additional'.+ Core.HashMap Core.Text Core.Value ->+ Status_DetailsItem+newStatus_DetailsItem additional =+ Status_DetailsItem {additional = additional}++instance Core.FromJSON Status_DetailsItem where+ parseJSON =+ Core.withObject+ "Status_DetailsItem"+ (\o -> Status_DetailsItem Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Status_DetailsItem where+ toJSON Status_DetailsItem {..} = Core.toJSON additional++-- | - Event occurred when password was reset for super admin in customer\'s account. The event are being received from insight forwarder+--+-- /See:/ 'newSuperAdminPasswordResetEvent' smart constructor.+newtype SuperAdminPasswordResetEvent = SuperAdminPasswordResetEvent+ { -- | email of person whose password was reset+ userEmail :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuperAdminPasswordResetEvent' with the minimum fields required to make a request.+newSuperAdminPasswordResetEvent ::+ SuperAdminPasswordResetEvent+newSuperAdminPasswordResetEvent =+ SuperAdminPasswordResetEvent {userEmail = Core.Nothing}++instance Core.FromJSON SuperAdminPasswordResetEvent where+ parseJSON =+ Core.withObject+ "SuperAdminPasswordResetEvent"+ ( \o ->+ SuperAdminPasswordResetEvent Core.<$> (o Core..:? "userEmail")+ )++instance Core.ToJSON SuperAdminPasswordResetEvent where+ toJSON SuperAdminPasswordResetEvent {..} =+ Core.object+ (Core.catMaybes [("userEmail" Core..=) Core.<$> userEmail])++-- | Support ticket related to Access Approvals request+--+-- /See:/ 'newSupportTicket' smart constructor.+data SupportTicket = SupportTicket+ { -- | Support ticket ID+ ticketId :: (Core.Maybe Core.Text),+ -- | Link to support ticket+ ticketUrl :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SupportTicket' with the minimum fields required to make a request.+newSupportTicket ::+ SupportTicket+newSupportTicket =+ SupportTicket {ticketId = Core.Nothing, ticketUrl = Core.Nothing}++instance Core.FromJSON SupportTicket where+ parseJSON =+ Core.withObject+ "SupportTicket"+ ( \o ->+ SupportTicket+ Core.<$> (o Core..:? "ticketId")+ Core.<*> (o Core..:? "ticketUrl")+ )++instance Core.ToJSON SupportTicket where+ toJSON SupportTicket {..} =+ Core.object+ ( Core.catMaybes+ [ ("ticketId" Core..=) Core.<$> ticketId,+ ("ticketUrl" Core..=) Core.<$> ticketUrl+ ]+ )++-- | A mobile suspicious activity alert. Derived from audit logs.+--+-- /See:/ 'newSuspiciousActivity' smart constructor.+data SuspiciousActivity = SuspiciousActivity+ { -- | The email of the user this alert was created for.+ email :: (Core.Maybe Core.Text),+ -- | Required. The list of security events.+ events :: (Core.Maybe [SuspiciousActivitySecurityDetail])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuspiciousActivity' with the minimum fields required to make a request.+newSuspiciousActivity ::+ SuspiciousActivity+newSuspiciousActivity =+ SuspiciousActivity {email = Core.Nothing, events = Core.Nothing}++instance Core.FromJSON SuspiciousActivity where+ parseJSON =+ Core.withObject+ "SuspiciousActivity"+ ( \o ->+ SuspiciousActivity+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "events")+ )++instance Core.ToJSON SuspiciousActivity where+ toJSON SuspiciousActivity {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("events" Core..=) Core.<$> events+ ]+ )++-- | Detailed information of a single MDM suspicious activity event.+--+-- /See:/ 'newSuspiciousActivitySecurityDetail' smart constructor.+data SuspiciousActivitySecurityDetail = SuspiciousActivitySecurityDetail+ { -- | Required. The device ID.+ deviceId :: (Core.Maybe Core.Text),+ -- | The model of the device.+ deviceModel :: (Core.Maybe Core.Text),+ -- | The device property which was changed.+ deviceProperty :: (Core.Maybe Core.Text),+ -- | The type of the device.+ deviceType :: (Core.Maybe Core.Text),+ -- | Required for iOS, empty for others.+ iosVendorId :: (Core.Maybe Core.Text),+ -- | The new value of the device property after the change.+ newValue' :: (Core.Maybe Core.Text),+ -- | The old value of the device property before the change.+ oldValue :: (Core.Maybe Core.Text),+ -- | The device resource ID.+ resourceId :: (Core.Maybe Core.Text),+ -- | The serial number of the device.+ serialNumber :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SuspiciousActivitySecurityDetail' with the minimum fields required to make a request.+newSuspiciousActivitySecurityDetail ::+ SuspiciousActivitySecurityDetail+newSuspiciousActivitySecurityDetail =+ SuspiciousActivitySecurityDetail+ { deviceId = Core.Nothing,+ deviceModel = Core.Nothing,+ deviceProperty = Core.Nothing,+ deviceType = Core.Nothing,+ iosVendorId = Core.Nothing,+ newValue' = Core.Nothing,+ oldValue = Core.Nothing,+ resourceId = Core.Nothing,+ serialNumber = Core.Nothing+ }++instance Core.FromJSON SuspiciousActivitySecurityDetail where+ parseJSON =+ Core.withObject+ "SuspiciousActivitySecurityDetail"+ ( \o ->+ SuspiciousActivitySecurityDetail+ Core.<$> (o Core..:? "deviceId")+ Core.<*> (o Core..:? "deviceModel")+ Core.<*> (o Core..:? "deviceProperty")+ Core.<*> (o Core..:? "deviceType")+ Core.<*> (o Core..:? "iosVendorId")+ Core.<*> (o Core..:? "newValue")+ Core.<*> (o Core..:? "oldValue")+ Core.<*> (o Core..:? "resourceId")+ Core.<*> (o Core..:? "serialNumber")+ )++instance Core.ToJSON SuspiciousActivitySecurityDetail where+ toJSON SuspiciousActivitySecurityDetail {..} =+ Core.object+ ( Core.catMaybes+ [ ("deviceId" Core..=) Core.<$> deviceId,+ ("deviceModel" Core..=) Core.<$> deviceModel,+ ("deviceProperty" Core..=) Core.<$> deviceProperty,+ ("deviceType" Core..=) Core.<$> deviceType,+ ("iosVendorId" Core..=) Core.<$> iosVendorId,+ ("newValue" Core..=) Core.<$> newValue',+ ("oldValue" Core..=) Core.<$> oldValue,+ ("resourceId" Core..=) Core.<$> resourceId,+ ("serialNumber" Core..=) Core.<$> serialNumber+ ]+ )++-- | Details for an invalid transfer or forward.+--+-- /See:/ 'newTransferError' smart constructor.+data TransferError = TransferError+ { -- | User\'s email address. This may be unavailable if the entity was deleted.+ email :: (Core.Maybe Core.Text),+ -- | Type of entity being transferred to. For ring group members, this should always be USER.+ entityType :: (Core.Maybe TransferError_EntityType),+ -- | Ring group or auto attendant ID. Not set for users.+ id :: (Core.Maybe Core.Text),+ -- | Reason for the error.+ invalidReason :: (Core.Maybe TransferError_InvalidReason),+ -- | User\'s full name, or the ring group \/ auto attendant name. This may be unavailable if the entity was deleted.+ name :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TransferError' with the minimum fields required to make a request.+newTransferError ::+ TransferError+newTransferError =+ TransferError+ { email = Core.Nothing,+ entityType = Core.Nothing,+ id = Core.Nothing,+ invalidReason = Core.Nothing,+ name = Core.Nothing+ }++instance Core.FromJSON TransferError where+ parseJSON =+ Core.withObject+ "TransferError"+ ( \o ->+ TransferError+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "entityType")+ Core.<*> (o Core..:? "id")+ Core.<*> (o Core..:? "invalidReason")+ Core.<*> (o Core..:? "name")+ )++instance Core.ToJSON TransferError where+ toJSON TransferError {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("entityType" Core..=) Core.<$> entityType,+ ("id" Core..=) Core.<$> id,+ ("invalidReason" Core..=) Core.<$> invalidReason,+ ("name" Core..=) Core.<$> name+ ]+ )++-- | Error related to transferring or forwarding a phone call.+--+-- /See:/ 'newTransferMisconfiguration' smart constructor.+newtype TransferMisconfiguration = TransferMisconfiguration+ { -- | Details for each invalid transfer or forward.+ errors :: (Core.Maybe [TransferError])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TransferMisconfiguration' with the minimum fields required to make a request.+newTransferMisconfiguration ::+ TransferMisconfiguration+newTransferMisconfiguration =+ TransferMisconfiguration {errors = Core.Nothing}++instance Core.FromJSON TransferMisconfiguration where+ parseJSON =+ Core.withObject+ "TransferMisconfiguration"+ (\o -> TransferMisconfiguration Core.<$> (o Core..:? "errors"))++instance Core.ToJSON TransferMisconfiguration where+ toJSON TransferMisconfiguration {..} =+ Core.object (Core.catMaybes [("errors" Core..=) Core.<$> errors])++-- | A request to undelete a specific alert that was marked for deletion.+--+-- /See:/ 'newUndeleteAlertRequest' smart constructor.+newtype UndeleteAlertRequest = UndeleteAlertRequest+ { -- | Optional. The unique identifier of the Google Workspace account of the customer the alert is associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UndeleteAlertRequest' with the minimum fields required to make a request.+newUndeleteAlertRequest ::+ UndeleteAlertRequest+newUndeleteAlertRequest =+ UndeleteAlertRequest {customerId = Core.Nothing}++instance Core.FromJSON UndeleteAlertRequest where+ parseJSON =+ Core.withObject+ "UndeleteAlertRequest"+ (\o -> UndeleteAlertRequest Core.<$> (o Core..:? "customerId"))++instance Core.ToJSON UndeleteAlertRequest where+ toJSON UndeleteAlertRequest {..} =+ Core.object+ (Core.catMaybes [("customerId" Core..=) Core.<$> customerId])++-- | A user.+--+-- /See:/ 'newUser' smart constructor.+data User = User+ { -- | Display name of the user.+ displayName :: (Core.Maybe Core.Text),+ -- | Email address of the user.+ emailAddress :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+newUser ::+ User+newUser =+ User {displayName = Core.Nothing, emailAddress = Core.Nothing}++instance Core.FromJSON User where+ parseJSON =+ Core.withObject+ "User"+ ( \o ->+ User+ Core.<$> (o Core..:? "displayName")+ Core.<*> (o Core..:? "emailAddress")+ )++instance Core.ToJSON User where+ toJSON User {..} =+ Core.object+ ( Core.catMaybes+ [ ("displayName" Core..=) Core.<$> displayName,+ ("emailAddress" Core..=) Core.<$> emailAddress+ ]+ )++-- | - Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed+--+-- /See:/ 'newUserChanges' smart constructor.+newtype UserChanges = UserChanges+ { -- | Rule name+ name :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UserChanges' with the minimum fields required to make a request.+newUserChanges ::+ UserChanges+newUserChanges = UserChanges {name = Core.Nothing}++instance Core.FromJSON UserChanges where+ parseJSON =+ Core.withObject+ "UserChanges"+ (\o -> UserChanges Core.<$> (o Core..:? "name"))++instance Core.ToJSON UserChanges where+ toJSON UserChanges {..} =+ Core.object (Core.catMaybes [("name" Core..=) Core.<$> name])++-- | Detector defined by administrators.+--+-- /See:/ 'newUserDefinedDetectorInfo' smart constructor.+data UserDefinedDetectorInfo = UserDefinedDetectorInfo+ { -- | Display name of the detector.+ displayName :: (Core.Maybe Core.Text),+ -- | Resource name that uniquely identifies the detector.+ resourceName :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UserDefinedDetectorInfo' with the minimum fields required to make a request.+newUserDefinedDetectorInfo ::+ UserDefinedDetectorInfo+newUserDefinedDetectorInfo =+ UserDefinedDetectorInfo+ { displayName = Core.Nothing,+ resourceName = Core.Nothing+ }++instance Core.FromJSON UserDefinedDetectorInfo where+ parseJSON =+ Core.withObject+ "UserDefinedDetectorInfo"+ ( \o ->+ UserDefinedDetectorInfo+ Core.<$> (o Core..:? "displayName")+ Core.<*> (o Core..:? "resourceName")+ )++instance Core.ToJSON UserDefinedDetectorInfo where+ toJSON UserDefinedDetectorInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("displayName" Core..=) Core.<$> displayName,+ ("resourceName" Core..=) Core.<$> resourceName+ ]+ )++-- | An alert triggered when Google Voice configuration becomes invalid, generally due to an external entity being modified or deleted.+--+-- /See:/ 'newVoiceMisconfiguration' smart constructor.+data VoiceMisconfiguration = VoiceMisconfiguration+ { -- | Name of the entity whose configuration is now invalid.+ entityName :: (Core.Maybe Core.Text),+ -- | Type of the entity whose configuration is now invalid.+ entityType :: (Core.Maybe VoiceMisconfiguration_EntityType),+ -- | Link that the admin can follow to fix the issue.+ fixUri :: (Core.Maybe Core.Text),+ -- | Issue(s) with members of a ring group.+ membersMisconfiguration :: (Core.Maybe TransferMisconfiguration),+ -- | Issue(s) with transferring or forwarding to an external entity.+ transferMisconfiguration :: (Core.Maybe TransferMisconfiguration),+ -- | Issue(s) with sending to voicemail.+ voicemailMisconfiguration :: (Core.Maybe VoicemailMisconfiguration)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'VoiceMisconfiguration' with the minimum fields required to make a request.+newVoiceMisconfiguration ::+ VoiceMisconfiguration+newVoiceMisconfiguration =+ VoiceMisconfiguration+ { entityName = Core.Nothing,+ entityType = Core.Nothing,+ fixUri = Core.Nothing,+ membersMisconfiguration = Core.Nothing,+ transferMisconfiguration = Core.Nothing,+ voicemailMisconfiguration = Core.Nothing+ }++instance Core.FromJSON VoiceMisconfiguration where+ parseJSON =+ Core.withObject+ "VoiceMisconfiguration"+ ( \o ->+ VoiceMisconfiguration+ Core.<$> (o Core..:? "entityName")+ Core.<*> (o Core..:? "entityType")+ Core.<*> (o Core..:? "fixUri")+ Core.<*> (o Core..:? "membersMisconfiguration")+ Core.<*> (o Core..:? "transferMisconfiguration")+ Core.<*> (o Core..:? "voicemailMisconfiguration")+ )++instance Core.ToJSON VoiceMisconfiguration where+ toJSON VoiceMisconfiguration {..} =+ Core.object+ ( Core.catMaybes+ [ ("entityName" Core..=) Core.<$> entityName,+ ("entityType" Core..=) Core.<$> entityType,+ ("fixUri" Core..=) Core.<$> fixUri,+ ("membersMisconfiguration" Core..=)+ Core.<$> membersMisconfiguration,+ ("transferMisconfiguration" Core..=)+ Core.<$> transferMisconfiguration,+ ("voicemailMisconfiguration" Core..=)+ Core.<$> voicemailMisconfiguration+ ]+ )++-- | Issue(s) with sending to voicemail.+--+-- /See:/ 'newVoicemailMisconfiguration' smart constructor.+newtype VoicemailMisconfiguration = VoicemailMisconfiguration+ { -- | Issue(s) with voicemail recipients.+ errors :: (Core.Maybe [VoicemailRecipientError])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'VoicemailMisconfiguration' with the minimum fields required to make a request.+newVoicemailMisconfiguration ::+ VoicemailMisconfiguration+newVoicemailMisconfiguration =+ VoicemailMisconfiguration {errors = Core.Nothing}++instance Core.FromJSON VoicemailMisconfiguration where+ parseJSON =+ Core.withObject+ "VoicemailMisconfiguration"+ (\o -> VoicemailMisconfiguration Core.<$> (o Core..:? "errors"))++instance Core.ToJSON VoicemailMisconfiguration where+ toJSON VoicemailMisconfiguration {..} =+ Core.object (Core.catMaybes [("errors" Core..=) Core.<$> errors])++-- | Issue(s) with a voicemail recipient.+--+-- /See:/ 'newVoicemailRecipientError' smart constructor.+data VoicemailRecipientError = VoicemailRecipientError+ { -- | Email address of the invalid recipient. This may be unavailable if the recipient was deleted.+ email :: (Core.Maybe Core.Text),+ -- | Reason for the error.+ invalidReason :: (Core.Maybe VoicemailRecipientError_InvalidReason)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'VoicemailRecipientError' with the minimum fields required to make a request.+newVoicemailRecipientError ::+ VoicemailRecipientError+newVoicemailRecipientError =+ VoicemailRecipientError+ { email = Core.Nothing,+ invalidReason = Core.Nothing+ }++instance Core.FromJSON VoicemailRecipientError where+ parseJSON =+ Core.withObject+ "VoicemailRecipientError"+ ( \o ->+ VoicemailRecipientError+ Core.<$> (o Core..:? "email")+ Core.<*> (o Core..:? "invalidReason")+ )++instance Core.ToJSON VoicemailRecipientError where+ toJSON VoicemailRecipientError {..} =+ Core.object+ ( Core.catMaybes+ [ ("email" Core..=) Core.<$> email,+ ("invalidReason" Core..=) Core.<$> invalidReason+ ]+ )
+ gen/Gogol/AlertCenter/Internal/Sum.hs view
@@ -0,0 +1,1124 @@+{-# 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.AlertCenter.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.AlertCenter.Internal.Sum+ ( -- * Xgafv+ Xgafv+ ( Xgafv_1,+ Xgafv_2,+ ..+ ),++ -- * AbuseDetected_VariationType+ AbuseDetected_VariationType+ ( AbuseDetected_VariationType_ABUSEDETECTEDVARIATIONTYPEUNSPECIFIED,+ AbuseDetected_VariationType_DRIVEABUSIVECONTENT,+ AbuseDetected_VariationType_LIMITEDDISABLE,+ ..+ ),++ -- * AccessApproval_JustificationReasonItem+ AccessApproval_JustificationReasonItem+ ( AccessApproval_JustificationReasonItem_JUSTIFICATIONUNSPECIFIED,+ AccessApproval_JustificationReasonItem_CUSTOMERINITIATEDSUPPORT,+ AccessApproval_JustificationReasonItem_GOOGLEINITIATEDREVIEW,+ AccessApproval_JustificationReasonItem_GOOGLEINITIATEDSERVICE,+ AccessApproval_JustificationReasonItem_THIRDPARTYDATAREQUEST,+ AccessApproval_JustificationReasonItem_GOOGLERESPONSETOPRODUCTIONALERT,+ ..+ ),++ -- * AccountSuspensionDetails_AbuseReason+ AccountSuspensionDetails_AbuseReason+ ( AccountSuspensionDetails_AbuseReason_ACCOUNTSUSPENSIONABUSEREASONUNSPECIFIED,+ AccountSuspensionDetails_AbuseReason_TOSVIOLATION,+ AccountSuspensionDetails_AbuseReason_Spam,+ AccountSuspensionDetails_AbuseReason_Phishing,+ AccountSuspensionDetails_AbuseReason_TRAFFICPUMPING,+ AccountSuspensionDetails_AbuseReason_Fraud,+ AccountSuspensionDetails_AbuseReason_NUMBERHARVESTING,+ AccountSuspensionDetails_AbuseReason_PAYMENTSFRAUD,+ AccountSuspensionDetails_AbuseReason_UNWANTEDCONTENT,+ ..+ ),++ -- * AccountSuspensionWarning_State+ AccountSuspensionWarning_State+ ( AccountSuspensionWarning_State_ACCOUNTSUSPENSIONWARNINGSTATEUNSPECIFIED,+ AccountSuspensionWarning_State_Warning,+ AccountSuspensionWarning_State_Suspended,+ AccountSuspensionWarning_State_APPEALAPPROVED,+ AccountSuspensionWarning_State_APPEALSUBMITTED,+ ..+ ),++ -- * AlertFeedback_Type+ AlertFeedback_Type+ ( AlertFeedback_Type_ALERTFEEDBACKTYPEUNSPECIFIED,+ AlertFeedback_Type_NOTUSEFUL,+ AlertFeedback_Type_SOMEWHATUSEFUL,+ AlertFeedback_Type_VERYUSEFUL,+ ..+ ),++ -- * AppsOutage_Status+ AppsOutage_Status+ ( AppsOutage_Status_STATUSUNSPECIFIED,+ AppsOutage_Status_New,+ AppsOutage_Status_Ongoing,+ AppsOutage_Status_Resolved,+ AppsOutage_Status_FALSEPOSITIVE,+ AppsOutage_Status_PARTIALLYRESOLVED,+ AppsOutage_Status_Merged,+ AppsOutage_Status_Downgraded,+ ..+ ),++ -- * CloudPubsubTopic_PayloadFormat+ CloudPubsubTopic_PayloadFormat+ ( CloudPubsubTopic_PayloadFormat_PAYLOADFORMATUNSPECIFIED,+ CloudPubsubTopic_PayloadFormat_Json,+ ..+ ),++ -- * MailPhishing_SystemActionType+ MailPhishing_SystemActionType+ ( MailPhishing_SystemActionType_SYSTEMACTIONTYPEUNSPECIFIED,+ MailPhishing_SystemActionType_NOOPERATION,+ MailPhishing_SystemActionType_REMOVEDFROMINBOX,+ ..+ ),++ -- * RuleViolationInfo_DataSource+ RuleViolationInfo_DataSource+ ( RuleViolationInfo_DataSource_DATASOURCEUNSPECIFIED,+ RuleViolationInfo_DataSource_Drive,+ RuleViolationInfo_DataSource_Chrome,+ RuleViolationInfo_DataSource_Chat,+ ..+ ),++ -- * RuleViolationInfo_EventType+ RuleViolationInfo_EventType+ ( RuleViolationInfo_EventType_EVENTTYPEUNSPECIFIED,+ RuleViolationInfo_EventType_ACCESSBLOCKED,+ RuleViolationInfo_EventType_SHARINGBLOCKED,+ ..+ ),++ -- * RuleViolationInfo_SuppressedActionTypesItem+ RuleViolationInfo_SuppressedActionTypesItem+ ( RuleViolationInfo_SuppressedActionTypesItem_ACTIONTYPEUNSPECIFIED,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEBLOCKEXTERNALSHARING,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEWARNONEXTERNALSHARING,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEAPPLYDRIVELABELS,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEDOWNLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEDOWNLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKPAGEPRINT,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNPAGEPRINT,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKURLVISITED,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNURLVISITED,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMESTORECONTENT,+ RuleViolationInfo_SuppressedActionTypesItem_DELETEWEBPROTECTEVIDENCE,+ RuleViolationInfo_SuppressedActionTypesItem_CHATBLOCKCONTENT,+ RuleViolationInfo_SuppressedActionTypesItem_CHATWARNUSER,+ RuleViolationInfo_SuppressedActionTypesItem_Alert,+ RuleViolationInfo_SuppressedActionTypesItem_RULEACTIVATE,+ RuleViolationInfo_SuppressedActionTypesItem_RULEDEACTIVATE,+ ..+ ),++ -- * RuleViolationInfo_Trigger+ RuleViolationInfo_Trigger+ ( RuleViolationInfo_Trigger_TRIGGERUNSPECIFIED,+ RuleViolationInfo_Trigger_DRIVESHARE,+ RuleViolationInfo_Trigger_CHROMEFILEDOWNLOAD,+ RuleViolationInfo_Trigger_CHROMEFILEUPLOAD,+ RuleViolationInfo_Trigger_CHROMEWEBCONTENTUPLOAD,+ RuleViolationInfo_Trigger_CHATMESSAGESENT,+ RuleViolationInfo_Trigger_CHATATTACHMENTUPLOADED,+ RuleViolationInfo_Trigger_CHROMEPAGEPRINT,+ RuleViolationInfo_Trigger_CHROMEURLVISITED,+ ..+ ),++ -- * RuleViolationInfo_TriggeredActionTypesItem+ RuleViolationInfo_TriggeredActionTypesItem+ ( RuleViolationInfo_TriggeredActionTypesItem_ACTIONTYPEUNSPECIFIED,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEBLOCKEXTERNALSHARING,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEWARNONEXTERNALSHARING,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEAPPLYDRIVELABELS,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEDOWNLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEDOWNLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKPAGEPRINT,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNPAGEPRINT,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKURLVISITED,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNURLVISITED,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMESTORECONTENT,+ RuleViolationInfo_TriggeredActionTypesItem_DELETEWEBPROTECTEVIDENCE,+ RuleViolationInfo_TriggeredActionTypesItem_CHATBLOCKCONTENT,+ RuleViolationInfo_TriggeredActionTypesItem_CHATWARNUSER,+ RuleViolationInfo_TriggeredActionTypesItem_Alert,+ RuleViolationInfo_TriggeredActionTypesItem_RULEACTIVATE,+ RuleViolationInfo_TriggeredActionTypesItem_RULEDEACTIVATE,+ ..+ ),++ -- * TransferError_EntityType+ TransferError_EntityType+ ( TransferError_EntityType_TRANSFERENTITYTYPEUNSPECIFIED,+ TransferError_EntityType_TRANSFERAUTOATTENDANT,+ TransferError_EntityType_TRANSFERRINGGROUP,+ TransferError_EntityType_TRANSFERUSER,+ ..+ ),++ -- * TransferError_InvalidReason+ TransferError_InvalidReason+ ( TransferError_InvalidReason_TRANSFERINVALIDREASONUNSPECIFIED,+ TransferError_InvalidReason_TRANSFERTARGETDELETED,+ TransferError_InvalidReason_Unlicensed,+ TransferError_InvalidReason_Suspended,+ TransferError_InvalidReason_NOPHONENUMBER,+ ..+ ),++ -- * VoiceMisconfiguration_EntityType+ VoiceMisconfiguration_EntityType+ ( VoiceMisconfiguration_EntityType_ENTITYTYPEUNSPECIFIED,+ VoiceMisconfiguration_EntityType_AUTOATTENDANT,+ VoiceMisconfiguration_EntityType_RINGGROUP,+ ..+ ),++ -- * VoicemailRecipientError_InvalidReason+ VoicemailRecipientError_InvalidReason+ ( VoicemailRecipientError_InvalidReason_EMAILINVALIDREASONUNSPECIFIED,+ VoicemailRecipientError_InvalidReason_OUTOFQUOTA,+ VoicemailRecipientError_InvalidReason_RECIPIENTDELETED,+ ..+ ),+ )+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+ #-}++-- | Variation of AbuseDetected alerts. The variation/type determines the texts displayed the alert details. This differs from sub/alert/id because each sub alert can have multiple variation/types, representing different stages of the alert.+newtype AbuseDetected_VariationType = AbuseDetected_VariationType {fromAbuseDetected_VariationType :: 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+ )++-- | AbuseDetected alert variation type unspecified. No alert should be unspecified.+pattern AbuseDetected_VariationType_ABUSEDETECTEDVARIATIONTYPEUNSPECIFIED :: AbuseDetected_VariationType+pattern AbuseDetected_VariationType_ABUSEDETECTEDVARIATIONTYPEUNSPECIFIED = AbuseDetected_VariationType "ABUSE_DETECTED_VARIATION_TYPE_UNSPECIFIED"++-- | Variation displayed for Drive abusive content alerts.+pattern AbuseDetected_VariationType_DRIVEABUSIVECONTENT :: AbuseDetected_VariationType+pattern AbuseDetected_VariationType_DRIVEABUSIVECONTENT = AbuseDetected_VariationType "DRIVE_ABUSIVE_CONTENT"++-- | Variation displayed for Limited Disable alerts, when a Google service is disabled for a user, totally or partially, due to the user\'s abusive behavior.+pattern AbuseDetected_VariationType_LIMITEDDISABLE :: AbuseDetected_VariationType+pattern AbuseDetected_VariationType_LIMITEDDISABLE = AbuseDetected_VariationType "LIMITED_DISABLE"++{-# COMPLETE+ AbuseDetected_VariationType_ABUSEDETECTEDVARIATIONTYPEUNSPECIFIED,+ AbuseDetected_VariationType_DRIVEABUSIVECONTENT,+ AbuseDetected_VariationType_LIMITEDDISABLE,+ AbuseDetected_VariationType+ #-}++newtype AccessApproval_JustificationReasonItem = AccessApproval_JustificationReasonItem {fromAccessApproval_JustificationReasonItem :: 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+ )++-- | Justification unspecified+pattern AccessApproval_JustificationReasonItem_JUSTIFICATIONUNSPECIFIED :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_JUSTIFICATIONUNSPECIFIED = AccessApproval_JustificationReasonItem "JUSTIFICATION_UNSPECIFIED"++-- | Customer Initiated Support+pattern AccessApproval_JustificationReasonItem_CUSTOMERINITIATEDSUPPORT :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_CUSTOMERINITIATEDSUPPORT = AccessApproval_JustificationReasonItem "CUSTOMER_INITIATED_SUPPORT"++-- | Google Initiated Review+pattern AccessApproval_JustificationReasonItem_GOOGLEINITIATEDREVIEW :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_GOOGLEINITIATEDREVIEW = AccessApproval_JustificationReasonItem "GOOGLE_INITIATED_REVIEW"++-- | Google Initiated Service+pattern AccessApproval_JustificationReasonItem_GOOGLEINITIATEDSERVICE :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_GOOGLEINITIATEDSERVICE = AccessApproval_JustificationReasonItem "GOOGLE_INITIATED_SERVICE"++-- | Third Party Data Request+pattern AccessApproval_JustificationReasonItem_THIRDPARTYDATAREQUEST :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_THIRDPARTYDATAREQUEST = AccessApproval_JustificationReasonItem "THIRD_PARTY_DATA_REQUEST"++-- | Google Response to Production Alert+pattern AccessApproval_JustificationReasonItem_GOOGLERESPONSETOPRODUCTIONALERT :: AccessApproval_JustificationReasonItem+pattern AccessApproval_JustificationReasonItem_GOOGLERESPONSETOPRODUCTIONALERT = AccessApproval_JustificationReasonItem "GOOGLE_RESPONSE_TO_PRODUCTION_ALERT"++{-# COMPLETE+ AccessApproval_JustificationReasonItem_JUSTIFICATIONUNSPECIFIED,+ AccessApproval_JustificationReasonItem_CUSTOMERINITIATEDSUPPORT,+ AccessApproval_JustificationReasonItem_GOOGLEINITIATEDREVIEW,+ AccessApproval_JustificationReasonItem_GOOGLEINITIATEDSERVICE,+ AccessApproval_JustificationReasonItem_THIRDPARTYDATAREQUEST,+ AccessApproval_JustificationReasonItem_GOOGLERESPONSETOPRODUCTIONALERT,+ AccessApproval_JustificationReasonItem+ #-}++-- | The reason why this account is receiving an account suspension warning.+newtype AccountSuspensionDetails_AbuseReason = AccountSuspensionDetails_AbuseReason {fromAccountSuspensionDetails_AbuseReason :: 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+ )++-- | Abuse reason is unspecified.+pattern AccountSuspensionDetails_AbuseReason_ACCOUNTSUSPENSIONABUSEREASONUNSPECIFIED :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_ACCOUNTSUSPENSIONABUSEREASONUNSPECIFIED = AccountSuspensionDetails_AbuseReason "ACCOUNT_SUSPENSION_ABUSE_REASON_UNSPECIFIED"++-- | This account is being suspended for a Terms of Service violation.+pattern AccountSuspensionDetails_AbuseReason_TOSVIOLATION :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_TOSVIOLATION = AccountSuspensionDetails_AbuseReason "TOS_VIOLATION"++-- | This account is being suspended for spam.+pattern AccountSuspensionDetails_AbuseReason_Spam :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_Spam = AccountSuspensionDetails_AbuseReason "SPAM"++-- | This account is being suspended for phishing.+pattern AccountSuspensionDetails_AbuseReason_Phishing :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_Phishing = AccountSuspensionDetails_AbuseReason "PHISHING"++-- | This account is being suspended for artificially boosting traffic to a website.+pattern AccountSuspensionDetails_AbuseReason_TRAFFICPUMPING :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_TRAFFICPUMPING = AccountSuspensionDetails_AbuseReason "TRAFFIC_PUMPING"++-- | This account is being suspended for fraud.+pattern AccountSuspensionDetails_AbuseReason_Fraud :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_Fraud = AccountSuspensionDetails_AbuseReason "FRAUD"++-- | This account is being suspended for number harvesting.+pattern AccountSuspensionDetails_AbuseReason_NUMBERHARVESTING :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_NUMBERHARVESTING = AccountSuspensionDetails_AbuseReason "NUMBER_HARVESTING"++-- | This account is being suspended for payments fraud.+pattern AccountSuspensionDetails_AbuseReason_PAYMENTSFRAUD :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_PAYMENTSFRAUD = AccountSuspensionDetails_AbuseReason "PAYMENTS_FRAUD"++-- | This account is being suspended for unwanted content.+pattern AccountSuspensionDetails_AbuseReason_UNWANTEDCONTENT :: AccountSuspensionDetails_AbuseReason+pattern AccountSuspensionDetails_AbuseReason_UNWANTEDCONTENT = AccountSuspensionDetails_AbuseReason "UNWANTED_CONTENT"++{-# COMPLETE+ AccountSuspensionDetails_AbuseReason_ACCOUNTSUSPENSIONABUSEREASONUNSPECIFIED,+ AccountSuspensionDetails_AbuseReason_TOSVIOLATION,+ AccountSuspensionDetails_AbuseReason_Spam,+ AccountSuspensionDetails_AbuseReason_Phishing,+ AccountSuspensionDetails_AbuseReason_TRAFFICPUMPING,+ AccountSuspensionDetails_AbuseReason_Fraud,+ AccountSuspensionDetails_AbuseReason_NUMBERHARVESTING,+ AccountSuspensionDetails_AbuseReason_PAYMENTSFRAUD,+ AccountSuspensionDetails_AbuseReason_UNWANTEDCONTENT,+ AccountSuspensionDetails_AbuseReason+ #-}++-- | Account suspension warning state.+newtype AccountSuspensionWarning_State = AccountSuspensionWarning_State {fromAccountSuspensionWarning_State :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | State is unspecified.+pattern AccountSuspensionWarning_State_ACCOUNTSUSPENSIONWARNINGSTATEUNSPECIFIED :: AccountSuspensionWarning_State+pattern AccountSuspensionWarning_State_ACCOUNTSUSPENSIONWARNINGSTATEUNSPECIFIED = AccountSuspensionWarning_State "ACCOUNT_SUSPENSION_WARNING_STATE_UNSPECIFIED"++-- | Customer is receiving a warning about imminent suspension.+pattern AccountSuspensionWarning_State_Warning :: AccountSuspensionWarning_State+pattern AccountSuspensionWarning_State_Warning = AccountSuspensionWarning_State "WARNING"++-- | Customer is being notified that their account has been suspended.+pattern AccountSuspensionWarning_State_Suspended :: AccountSuspensionWarning_State+pattern AccountSuspensionWarning_State_Suspended = AccountSuspensionWarning_State "SUSPENDED"++-- | Customer is being notified that their suspension appeal was approved.+pattern AccountSuspensionWarning_State_APPEALAPPROVED :: AccountSuspensionWarning_State+pattern AccountSuspensionWarning_State_APPEALAPPROVED = AccountSuspensionWarning_State "APPEAL_APPROVED"++-- | Customer has submitted their appeal, which is pending review.+pattern AccountSuspensionWarning_State_APPEALSUBMITTED :: AccountSuspensionWarning_State+pattern AccountSuspensionWarning_State_APPEALSUBMITTED = AccountSuspensionWarning_State "APPEAL_SUBMITTED"++{-# COMPLETE+ AccountSuspensionWarning_State_ACCOUNTSUSPENSIONWARNINGSTATEUNSPECIFIED,+ AccountSuspensionWarning_State_Warning,+ AccountSuspensionWarning_State_Suspended,+ AccountSuspensionWarning_State_APPEALAPPROVED,+ AccountSuspensionWarning_State_APPEALSUBMITTED,+ AccountSuspensionWarning_State+ #-}++-- | Required. The type of the feedback.+newtype AlertFeedback_Type = AlertFeedback_Type {fromAlertFeedback_Type :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | The feedback type is not specified.+pattern AlertFeedback_Type_ALERTFEEDBACKTYPEUNSPECIFIED :: AlertFeedback_Type+pattern AlertFeedback_Type_ALERTFEEDBACKTYPEUNSPECIFIED = AlertFeedback_Type "ALERT_FEEDBACK_TYPE_UNSPECIFIED"++-- | The alert report is not useful.+pattern AlertFeedback_Type_NOTUSEFUL :: AlertFeedback_Type+pattern AlertFeedback_Type_NOTUSEFUL = AlertFeedback_Type "NOT_USEFUL"++-- | The alert report is somewhat useful.+pattern AlertFeedback_Type_SOMEWHATUSEFUL :: AlertFeedback_Type+pattern AlertFeedback_Type_SOMEWHATUSEFUL = AlertFeedback_Type "SOMEWHAT_USEFUL"++-- | The alert report is very useful.+pattern AlertFeedback_Type_VERYUSEFUL :: AlertFeedback_Type+pattern AlertFeedback_Type_VERYUSEFUL = AlertFeedback_Type "VERY_USEFUL"++{-# COMPLETE+ AlertFeedback_Type_ALERTFEEDBACKTYPEUNSPECIFIED,+ AlertFeedback_Type_NOTUSEFUL,+ AlertFeedback_Type_SOMEWHATUSEFUL,+ AlertFeedback_Type_VERYUSEFUL,+ AlertFeedback_Type+ #-}++-- | Current outage status.+newtype AppsOutage_Status = AppsOutage_Status {fromAppsOutage_Status :: 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+ )++-- | Status is unspecified.+pattern AppsOutage_Status_STATUSUNSPECIFIED :: AppsOutage_Status+pattern AppsOutage_Status_STATUSUNSPECIFIED = AppsOutage_Status "STATUS_UNSPECIFIED"++-- | The incident has just been reported.+pattern AppsOutage_Status_New :: AppsOutage_Status+pattern AppsOutage_Status_New = AppsOutage_Status "NEW"++-- | The incident is ongoing.+pattern AppsOutage_Status_Ongoing :: AppsOutage_Status+pattern AppsOutage_Status_Ongoing = AppsOutage_Status "ONGOING"++-- | The incident has been resolved.+pattern AppsOutage_Status_Resolved :: AppsOutage_Status+pattern AppsOutage_Status_Resolved = AppsOutage_Status "RESOLVED"++-- | Further assessment indicated no customer impact.+pattern AppsOutage_Status_FALSEPOSITIVE :: AppsOutage_Status+pattern AppsOutage_Status_FALSEPOSITIVE = AppsOutage_Status "FALSE_POSITIVE"++-- | The incident has been partially resolved.+pattern AppsOutage_Status_PARTIALLYRESOLVED :: AppsOutage_Status+pattern AppsOutage_Status_PARTIALLYRESOLVED = AppsOutage_Status "PARTIALLY_RESOLVED"++-- | The incident was merged into a parent.+pattern AppsOutage_Status_Merged :: AppsOutage_Status+pattern AppsOutage_Status_Merged = AppsOutage_Status "MERGED"++-- | The incident has lower impact than initially anticipated.+pattern AppsOutage_Status_Downgraded :: AppsOutage_Status+pattern AppsOutage_Status_Downgraded = AppsOutage_Status "DOWNGRADED"++{-# COMPLETE+ AppsOutage_Status_STATUSUNSPECIFIED,+ AppsOutage_Status_New,+ AppsOutage_Status_Ongoing,+ AppsOutage_Status_Resolved,+ AppsOutage_Status_FALSEPOSITIVE,+ AppsOutage_Status_PARTIALLYRESOLVED,+ AppsOutage_Status_Merged,+ AppsOutage_Status_Downgraded,+ AppsOutage_Status+ #-}++-- | Optional. The format of the payload that would be sent. If not specified the format will be JSON.+newtype CloudPubsubTopic_PayloadFormat = CloudPubsubTopic_PayloadFormat {fromCloudPubsubTopic_PayloadFormat :: 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+ )++-- | Payload format is not specified (will use JSON as default).+pattern CloudPubsubTopic_PayloadFormat_PAYLOADFORMATUNSPECIFIED :: CloudPubsubTopic_PayloadFormat+pattern CloudPubsubTopic_PayloadFormat_PAYLOADFORMATUNSPECIFIED = CloudPubsubTopic_PayloadFormat "PAYLOAD_FORMAT_UNSPECIFIED"++-- | Use JSON.+pattern CloudPubsubTopic_PayloadFormat_Json :: CloudPubsubTopic_PayloadFormat+pattern CloudPubsubTopic_PayloadFormat_Json = CloudPubsubTopic_PayloadFormat "JSON"++{-# COMPLETE+ CloudPubsubTopic_PayloadFormat_PAYLOADFORMATUNSPECIFIED,+ CloudPubsubTopic_PayloadFormat_Json,+ CloudPubsubTopic_PayloadFormat+ #-}++-- | System actions on the messages.+newtype MailPhishing_SystemActionType = MailPhishing_SystemActionType {fromMailPhishing_SystemActionType :: 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+ )++-- | System action is unspecified.+pattern MailPhishing_SystemActionType_SYSTEMACTIONTYPEUNSPECIFIED :: MailPhishing_SystemActionType+pattern MailPhishing_SystemActionType_SYSTEMACTIONTYPEUNSPECIFIED = MailPhishing_SystemActionType "SYSTEM_ACTION_TYPE_UNSPECIFIED"++-- | No operation.+pattern MailPhishing_SystemActionType_NOOPERATION :: MailPhishing_SystemActionType+pattern MailPhishing_SystemActionType_NOOPERATION = MailPhishing_SystemActionType "NO_OPERATION"++-- | Messages were removed from the inbox.+pattern MailPhishing_SystemActionType_REMOVEDFROMINBOX :: MailPhishing_SystemActionType+pattern MailPhishing_SystemActionType_REMOVEDFROMINBOX = MailPhishing_SystemActionType "REMOVED_FROM_INBOX"++{-# COMPLETE+ MailPhishing_SystemActionType_SYSTEMACTIONTYPEUNSPECIFIED,+ MailPhishing_SystemActionType_NOOPERATION,+ MailPhishing_SystemActionType_REMOVEDFROMINBOX,+ MailPhishing_SystemActionType+ #-}++-- | Source of the data.+newtype RuleViolationInfo_DataSource = RuleViolationInfo_DataSource {fromRuleViolationInfo_DataSource :: 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+ )++-- | Data source is unspecified.+pattern RuleViolationInfo_DataSource_DATASOURCEUNSPECIFIED :: RuleViolationInfo_DataSource+pattern RuleViolationInfo_DataSource_DATASOURCEUNSPECIFIED = RuleViolationInfo_DataSource "DATA_SOURCE_UNSPECIFIED"++-- | Drive data source.+pattern RuleViolationInfo_DataSource_Drive :: RuleViolationInfo_DataSource+pattern RuleViolationInfo_DataSource_Drive = RuleViolationInfo_DataSource "DRIVE"++-- | Chrome data source.+pattern RuleViolationInfo_DataSource_Chrome :: RuleViolationInfo_DataSource+pattern RuleViolationInfo_DataSource_Chrome = RuleViolationInfo_DataSource "CHROME"++-- | Chat data source.+pattern RuleViolationInfo_DataSource_Chat :: RuleViolationInfo_DataSource+pattern RuleViolationInfo_DataSource_Chat = RuleViolationInfo_DataSource "CHAT"++{-# COMPLETE+ RuleViolationInfo_DataSource_DATASOURCEUNSPECIFIED,+ RuleViolationInfo_DataSource_Drive,+ RuleViolationInfo_DataSource_Chrome,+ RuleViolationInfo_DataSource_Chat,+ RuleViolationInfo_DataSource+ #-}++-- | Event associated with this alert after applying the rule.+newtype RuleViolationInfo_EventType = RuleViolationInfo_EventType {fromRuleViolationInfo_EventType :: 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+ )++-- | Event type wasn\'t set.+pattern RuleViolationInfo_EventType_EVENTTYPEUNSPECIFIED :: RuleViolationInfo_EventType+pattern RuleViolationInfo_EventType_EVENTTYPEUNSPECIFIED = RuleViolationInfo_EventType "EVENT_TYPE_UNSPECIFIED"++-- | An access attempt was blocked.+pattern RuleViolationInfo_EventType_ACCESSBLOCKED :: RuleViolationInfo_EventType+pattern RuleViolationInfo_EventType_ACCESSBLOCKED = RuleViolationInfo_EventType "ACCESS_BLOCKED"++-- | A sharing attempt was blocked.+pattern RuleViolationInfo_EventType_SHARINGBLOCKED :: RuleViolationInfo_EventType+pattern RuleViolationInfo_EventType_SHARINGBLOCKED = RuleViolationInfo_EventType "SHARING_BLOCKED"++{-# COMPLETE+ RuleViolationInfo_EventType_EVENTTYPEUNSPECIFIED,+ RuleViolationInfo_EventType_ACCESSBLOCKED,+ RuleViolationInfo_EventType_SHARINGBLOCKED,+ RuleViolationInfo_EventType+ #-}++newtype RuleViolationInfo_SuppressedActionTypesItem = RuleViolationInfo_SuppressedActionTypesItem {fromRuleViolationInfo_SuppressedActionTypesItem :: 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+ )++-- | Action type is unspecified.+pattern RuleViolationInfo_SuppressedActionTypesItem_ACTIONTYPEUNSPECIFIED :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_ACTIONTYPEUNSPECIFIED = RuleViolationInfo_SuppressedActionTypesItem "ACTION_TYPE_UNSPECIFIED"++-- | Block sharing a file externally.+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEBLOCKEXTERNALSHARING :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEBLOCKEXTERNALSHARING = RuleViolationInfo_SuppressedActionTypesItem "DRIVE_BLOCK_EXTERNAL_SHARING"++-- | Show a warning message when sharing a file externally.+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEWARNONEXTERNALSHARING :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEWARNONEXTERNALSHARING = RuleViolationInfo_SuppressedActionTypesItem "DRIVE_WARN_ON_EXTERNAL_SHARING"++-- | Disable download, print, and copy for commenters and viewers in drive.+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY = RuleViolationInfo_SuppressedActionTypesItem "DRIVE_RESTRICT_DOWNLOAD_PRINT_COPY"++-- | Apply customer specified Drive labels to the file.+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEAPPLYDRIVELABELS :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_DRIVEAPPLYDRIVELABELS = RuleViolationInfo_SuppressedActionTypesItem "DRIVE_APPLY_DRIVE_LABELS"++-- | Chrome actions. Block file download.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEDOWNLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEDOWNLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_BLOCK_FILE_DOWNLOAD"++-- | Warn user about downloaded file.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEDOWNLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEDOWNLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_WARN_FILE_DOWNLOAD"++-- | Block file upload.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEUPLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEUPLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_BLOCK_FILE_UPLOAD"++-- | Warn user about uploaded file.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEUPLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEUPLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_WARN_FILE_UPLOAD"++-- | Block web content upload.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_BLOCK_WEB_CONTENT_UPLOAD"++-- | Warn user about uploaded web content.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD = RuleViolationInfo_SuppressedActionTypesItem "CHROME_WARN_WEB_CONTENT_UPLOAD"++-- | Block page print.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKPAGEPRINT :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKPAGEPRINT = RuleViolationInfo_SuppressedActionTypesItem "CHROME_BLOCK_PAGE_PRINT"++-- | Warn user about printed page.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNPAGEPRINT :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNPAGEPRINT = RuleViolationInfo_SuppressedActionTypesItem "CHROME_WARN_PAGE_PRINT"++-- | Block Chrome URL visit.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKURLVISITED :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKURLVISITED = RuleViolationInfo_SuppressedActionTypesItem "CHROME_BLOCK_URL_VISITED"++-- | Warn user about Chrome URL visited.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNURLVISITED :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNURLVISITED = RuleViolationInfo_SuppressedActionTypesItem "CHROME_WARN_URL_VISITED"++-- | Store the content that violated the rule.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMESTORECONTENT :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHROMESTORECONTENT = RuleViolationInfo_SuppressedActionTypesItem "CHROME_STORE_CONTENT"++-- | Delete web protect evidence file+pattern RuleViolationInfo_SuppressedActionTypesItem_DELETEWEBPROTECTEVIDENCE :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_DELETEWEBPROTECTEVIDENCE = RuleViolationInfo_SuppressedActionTypesItem "DELETE_WEBPROTECT_EVIDENCE"++-- | Chat actions. Block Chat content to be sent out.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHATBLOCKCONTENT :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHATBLOCKCONTENT = RuleViolationInfo_SuppressedActionTypesItem "CHAT_BLOCK_CONTENT"++-- | Warn end user about Chat content.+pattern RuleViolationInfo_SuppressedActionTypesItem_CHATWARNUSER :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_CHATWARNUSER = RuleViolationInfo_SuppressedActionTypesItem "CHAT_WARN_USER"++-- | Send alert.+pattern RuleViolationInfo_SuppressedActionTypesItem_Alert :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_Alert = RuleViolationInfo_SuppressedActionTypesItem "ALERT"++-- | Activate Rule Action+pattern RuleViolationInfo_SuppressedActionTypesItem_RULEACTIVATE :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_RULEACTIVATE = RuleViolationInfo_SuppressedActionTypesItem "RULE_ACTIVATE"++-- | Deactivate Rule Action+pattern RuleViolationInfo_SuppressedActionTypesItem_RULEDEACTIVATE :: RuleViolationInfo_SuppressedActionTypesItem+pattern RuleViolationInfo_SuppressedActionTypesItem_RULEDEACTIVATE = RuleViolationInfo_SuppressedActionTypesItem "RULE_DEACTIVATE"++{-# COMPLETE+ RuleViolationInfo_SuppressedActionTypesItem_ACTIONTYPEUNSPECIFIED,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEBLOCKEXTERNALSHARING,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEWARNONEXTERNALSHARING,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY,+ RuleViolationInfo_SuppressedActionTypesItem_DRIVEAPPLYDRIVELABELS,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEDOWNLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEDOWNLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKFILEUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNFILEUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKPAGEPRINT,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNPAGEPRINT,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEBLOCKURLVISITED,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMEWARNURLVISITED,+ RuleViolationInfo_SuppressedActionTypesItem_CHROMESTORECONTENT,+ RuleViolationInfo_SuppressedActionTypesItem_DELETEWEBPROTECTEVIDENCE,+ RuleViolationInfo_SuppressedActionTypesItem_CHATBLOCKCONTENT,+ RuleViolationInfo_SuppressedActionTypesItem_CHATWARNUSER,+ RuleViolationInfo_SuppressedActionTypesItem_Alert,+ RuleViolationInfo_SuppressedActionTypesItem_RULEACTIVATE,+ RuleViolationInfo_SuppressedActionTypesItem_RULEDEACTIVATE,+ RuleViolationInfo_SuppressedActionTypesItem+ #-}++-- | Trigger of the rule.+newtype RuleViolationInfo_Trigger = RuleViolationInfo_Trigger {fromRuleViolationInfo_Trigger :: 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+ )++-- | Trigger is unspecified.+pattern RuleViolationInfo_Trigger_TRIGGERUNSPECIFIED :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_TRIGGERUNSPECIFIED = RuleViolationInfo_Trigger "TRIGGER_UNSPECIFIED"++-- | A Drive file is shared.+pattern RuleViolationInfo_Trigger_DRIVESHARE :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_DRIVESHARE = RuleViolationInfo_Trigger "DRIVE_SHARE"++-- | A file being downloaded in a Chrome browser.+pattern RuleViolationInfo_Trigger_CHROMEFILEDOWNLOAD :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHROMEFILEDOWNLOAD = RuleViolationInfo_Trigger "CHROME_FILE_DOWNLOAD"++-- | A file being uploaded from a Chrome browser.+pattern RuleViolationInfo_Trigger_CHROMEFILEUPLOAD :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHROMEFILEUPLOAD = RuleViolationInfo_Trigger "CHROME_FILE_UPLOAD"++-- | Web content being uploaded from a Chrome browser.+pattern RuleViolationInfo_Trigger_CHROMEWEBCONTENTUPLOAD :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHROMEWEBCONTENTUPLOAD = RuleViolationInfo_Trigger "CHROME_WEB_CONTENT_UPLOAD"++-- | A Chat message is sent.+pattern RuleViolationInfo_Trigger_CHATMESSAGESENT :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHATMESSAGESENT = RuleViolationInfo_Trigger "CHAT_MESSAGE_SENT"++-- | A Chat attachment is uploaded.+pattern RuleViolationInfo_Trigger_CHATATTACHMENTUPLOADED :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHATATTACHMENTUPLOADED = RuleViolationInfo_Trigger "CHAT_ATTACHMENT_UPLOADED"++-- | A page is being printed by Chrome.+pattern RuleViolationInfo_Trigger_CHROMEPAGEPRINT :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHROMEPAGEPRINT = RuleViolationInfo_Trigger "CHROME_PAGE_PRINT"++-- | A URL is visited within Chrome.+pattern RuleViolationInfo_Trigger_CHROMEURLVISITED :: RuleViolationInfo_Trigger+pattern RuleViolationInfo_Trigger_CHROMEURLVISITED = RuleViolationInfo_Trigger "CHROME_URL_VISITED"++{-# COMPLETE+ RuleViolationInfo_Trigger_TRIGGERUNSPECIFIED,+ RuleViolationInfo_Trigger_DRIVESHARE,+ RuleViolationInfo_Trigger_CHROMEFILEDOWNLOAD,+ RuleViolationInfo_Trigger_CHROMEFILEUPLOAD,+ RuleViolationInfo_Trigger_CHROMEWEBCONTENTUPLOAD,+ RuleViolationInfo_Trigger_CHATMESSAGESENT,+ RuleViolationInfo_Trigger_CHATATTACHMENTUPLOADED,+ RuleViolationInfo_Trigger_CHROMEPAGEPRINT,+ RuleViolationInfo_Trigger_CHROMEURLVISITED,+ RuleViolationInfo_Trigger+ #-}++newtype RuleViolationInfo_TriggeredActionTypesItem = RuleViolationInfo_TriggeredActionTypesItem {fromRuleViolationInfo_TriggeredActionTypesItem :: 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+ )++-- | Action type is unspecified.+pattern RuleViolationInfo_TriggeredActionTypesItem_ACTIONTYPEUNSPECIFIED :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_ACTIONTYPEUNSPECIFIED = RuleViolationInfo_TriggeredActionTypesItem "ACTION_TYPE_UNSPECIFIED"++-- | Block sharing a file externally.+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEBLOCKEXTERNALSHARING :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEBLOCKEXTERNALSHARING = RuleViolationInfo_TriggeredActionTypesItem "DRIVE_BLOCK_EXTERNAL_SHARING"++-- | Show a warning message when sharing a file externally.+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEWARNONEXTERNALSHARING :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEWARNONEXTERNALSHARING = RuleViolationInfo_TriggeredActionTypesItem "DRIVE_WARN_ON_EXTERNAL_SHARING"++-- | Disable download, print, and copy for commenters and viewers in drive.+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY = RuleViolationInfo_TriggeredActionTypesItem "DRIVE_RESTRICT_DOWNLOAD_PRINT_COPY"++-- | Apply customer specified Drive labels to the file.+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEAPPLYDRIVELABELS :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_DRIVEAPPLYDRIVELABELS = RuleViolationInfo_TriggeredActionTypesItem "DRIVE_APPLY_DRIVE_LABELS"++-- | Chrome actions. Block file download.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEDOWNLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEDOWNLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_BLOCK_FILE_DOWNLOAD"++-- | Warn user about downloaded file.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEDOWNLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEDOWNLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_WARN_FILE_DOWNLOAD"++-- | Block file upload.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEUPLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEUPLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_BLOCK_FILE_UPLOAD"++-- | Warn user about uploaded file.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEUPLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEUPLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_WARN_FILE_UPLOAD"++-- | Block web content upload.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_BLOCK_WEB_CONTENT_UPLOAD"++-- | Warn user about uploaded web content.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD = RuleViolationInfo_TriggeredActionTypesItem "CHROME_WARN_WEB_CONTENT_UPLOAD"++-- | Block page print.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKPAGEPRINT :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKPAGEPRINT = RuleViolationInfo_TriggeredActionTypesItem "CHROME_BLOCK_PAGE_PRINT"++-- | Warn user about printed page.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNPAGEPRINT :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNPAGEPRINT = RuleViolationInfo_TriggeredActionTypesItem "CHROME_WARN_PAGE_PRINT"++-- | Block Chrome URL visit.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKURLVISITED :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKURLVISITED = RuleViolationInfo_TriggeredActionTypesItem "CHROME_BLOCK_URL_VISITED"++-- | Warn user about Chrome URL visited.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNURLVISITED :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNURLVISITED = RuleViolationInfo_TriggeredActionTypesItem "CHROME_WARN_URL_VISITED"++-- | Store the content that violated the rule.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMESTORECONTENT :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHROMESTORECONTENT = RuleViolationInfo_TriggeredActionTypesItem "CHROME_STORE_CONTENT"++-- | Delete web protect evidence file+pattern RuleViolationInfo_TriggeredActionTypesItem_DELETEWEBPROTECTEVIDENCE :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_DELETEWEBPROTECTEVIDENCE = RuleViolationInfo_TriggeredActionTypesItem "DELETE_WEBPROTECT_EVIDENCE"++-- | Chat actions. Block Chat content to be sent out.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHATBLOCKCONTENT :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHATBLOCKCONTENT = RuleViolationInfo_TriggeredActionTypesItem "CHAT_BLOCK_CONTENT"++-- | Warn end user about Chat content.+pattern RuleViolationInfo_TriggeredActionTypesItem_CHATWARNUSER :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_CHATWARNUSER = RuleViolationInfo_TriggeredActionTypesItem "CHAT_WARN_USER"++-- | Send alert.+pattern RuleViolationInfo_TriggeredActionTypesItem_Alert :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_Alert = RuleViolationInfo_TriggeredActionTypesItem "ALERT"++-- | Activate Rule Action+pattern RuleViolationInfo_TriggeredActionTypesItem_RULEACTIVATE :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_RULEACTIVATE = RuleViolationInfo_TriggeredActionTypesItem "RULE_ACTIVATE"++-- | Deactivate Rule Action+pattern RuleViolationInfo_TriggeredActionTypesItem_RULEDEACTIVATE :: RuleViolationInfo_TriggeredActionTypesItem+pattern RuleViolationInfo_TriggeredActionTypesItem_RULEDEACTIVATE = RuleViolationInfo_TriggeredActionTypesItem "RULE_DEACTIVATE"++{-# COMPLETE+ RuleViolationInfo_TriggeredActionTypesItem_ACTIONTYPEUNSPECIFIED,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEBLOCKEXTERNALSHARING,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEWARNONEXTERNALSHARING,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVERESTRICTDOWNLOADPRINTCOPY,+ RuleViolationInfo_TriggeredActionTypesItem_DRIVEAPPLYDRIVELABELS,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEDOWNLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEDOWNLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKFILEUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNFILEUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKWEBCONTENTUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNWEBCONTENTUPLOAD,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKPAGEPRINT,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNPAGEPRINT,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEBLOCKURLVISITED,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMEWARNURLVISITED,+ RuleViolationInfo_TriggeredActionTypesItem_CHROMESTORECONTENT,+ RuleViolationInfo_TriggeredActionTypesItem_DELETEWEBPROTECTEVIDENCE,+ RuleViolationInfo_TriggeredActionTypesItem_CHATBLOCKCONTENT,+ RuleViolationInfo_TriggeredActionTypesItem_CHATWARNUSER,+ RuleViolationInfo_TriggeredActionTypesItem_Alert,+ RuleViolationInfo_TriggeredActionTypesItem_RULEACTIVATE,+ RuleViolationInfo_TriggeredActionTypesItem_RULEDEACTIVATE,+ RuleViolationInfo_TriggeredActionTypesItem+ #-}++-- | Type of entity being transferred to. For ring group members, this should always be USER.+newtype TransferError_EntityType = TransferError_EntityType {fromTransferError_EntityType :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | Entity type wasn\'t set.+pattern TransferError_EntityType_TRANSFERENTITYTYPEUNSPECIFIED :: TransferError_EntityType+pattern TransferError_EntityType_TRANSFERENTITYTYPEUNSPECIFIED = TransferError_EntityType "TRANSFER_ENTITY_TYPE_UNSPECIFIED"++-- | Transfer to auto attendant.+pattern TransferError_EntityType_TRANSFERAUTOATTENDANT :: TransferError_EntityType+pattern TransferError_EntityType_TRANSFERAUTOATTENDANT = TransferError_EntityType "TRANSFER_AUTO_ATTENDANT"++-- | Transfer to ring group.+pattern TransferError_EntityType_TRANSFERRINGGROUP :: TransferError_EntityType+pattern TransferError_EntityType_TRANSFERRINGGROUP = TransferError_EntityType "TRANSFER_RING_GROUP"++-- | Transfer to user.+pattern TransferError_EntityType_TRANSFERUSER :: TransferError_EntityType+pattern TransferError_EntityType_TRANSFERUSER = TransferError_EntityType "TRANSFER_USER"++{-# COMPLETE+ TransferError_EntityType_TRANSFERENTITYTYPEUNSPECIFIED,+ TransferError_EntityType_TRANSFERAUTOATTENDANT,+ TransferError_EntityType_TRANSFERRINGGROUP,+ TransferError_EntityType_TRANSFERUSER,+ TransferError_EntityType+ #-}++-- | Reason for the error.+newtype TransferError_InvalidReason = TransferError_InvalidReason {fromTransferError_InvalidReason :: 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+ )++-- | Reason wasn\'t specified.+pattern TransferError_InvalidReason_TRANSFERINVALIDREASONUNSPECIFIED :: TransferError_InvalidReason+pattern TransferError_InvalidReason_TRANSFERINVALIDREASONUNSPECIFIED = TransferError_InvalidReason "TRANSFER_INVALID_REASON_UNSPECIFIED"++-- | The transfer target can\'t be found—most likely it was deleted.+pattern TransferError_InvalidReason_TRANSFERTARGETDELETED :: TransferError_InvalidReason+pattern TransferError_InvalidReason_TRANSFERTARGETDELETED = TransferError_InvalidReason "TRANSFER_TARGET_DELETED"++-- | The user\'s Google Voice license was removed.+pattern TransferError_InvalidReason_Unlicensed :: TransferError_InvalidReason+pattern TransferError_InvalidReason_Unlicensed = TransferError_InvalidReason "UNLICENSED"++-- | The user\'s Google Workspace account was suspended.+pattern TransferError_InvalidReason_Suspended :: TransferError_InvalidReason+pattern TransferError_InvalidReason_Suspended = TransferError_InvalidReason "SUSPENDED"++-- | The transfer target no longer has a phone number. This reason should become deprecated once we support numberless transfer.+pattern TransferError_InvalidReason_NOPHONENUMBER :: TransferError_InvalidReason+pattern TransferError_InvalidReason_NOPHONENUMBER = TransferError_InvalidReason "NO_PHONE_NUMBER"++{-# COMPLETE+ TransferError_InvalidReason_TRANSFERINVALIDREASONUNSPECIFIED,+ TransferError_InvalidReason_TRANSFERTARGETDELETED,+ TransferError_InvalidReason_Unlicensed,+ TransferError_InvalidReason_Suspended,+ TransferError_InvalidReason_NOPHONENUMBER,+ TransferError_InvalidReason+ #-}++-- | Type of the entity whose configuration is now invalid.+newtype VoiceMisconfiguration_EntityType = VoiceMisconfiguration_EntityType {fromVoiceMisconfiguration_EntityType :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | Entity type wasn\'t set.+pattern VoiceMisconfiguration_EntityType_ENTITYTYPEUNSPECIFIED :: VoiceMisconfiguration_EntityType+pattern VoiceMisconfiguration_EntityType_ENTITYTYPEUNSPECIFIED = VoiceMisconfiguration_EntityType "ENTITY_TYPE_UNSPECIFIED"++-- | Invalid auto attendant.+pattern VoiceMisconfiguration_EntityType_AUTOATTENDANT :: VoiceMisconfiguration_EntityType+pattern VoiceMisconfiguration_EntityType_AUTOATTENDANT = VoiceMisconfiguration_EntityType "AUTO_ATTENDANT"++-- | Invalid ring group.+pattern VoiceMisconfiguration_EntityType_RINGGROUP :: VoiceMisconfiguration_EntityType+pattern VoiceMisconfiguration_EntityType_RINGGROUP = VoiceMisconfiguration_EntityType "RING_GROUP"++{-# COMPLETE+ VoiceMisconfiguration_EntityType_ENTITYTYPEUNSPECIFIED,+ VoiceMisconfiguration_EntityType_AUTOATTENDANT,+ VoiceMisconfiguration_EntityType_RINGGROUP,+ VoiceMisconfiguration_EntityType+ #-}++-- | Reason for the error.+newtype VoicemailRecipientError_InvalidReason = VoicemailRecipientError_InvalidReason {fromVoicemailRecipientError_InvalidReason :: 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+ )++-- | Reason wasn\'t specified.+pattern VoicemailRecipientError_InvalidReason_EMAILINVALIDREASONUNSPECIFIED :: VoicemailRecipientError_InvalidReason+pattern VoicemailRecipientError_InvalidReason_EMAILINVALIDREASONUNSPECIFIED = VoicemailRecipientError_InvalidReason "EMAIL_INVALID_REASON_UNSPECIFIED"++-- | User can\'t receive emails due to insufficient quota.+pattern VoicemailRecipientError_InvalidReason_OUTOFQUOTA :: VoicemailRecipientError_InvalidReason+pattern VoicemailRecipientError_InvalidReason_OUTOFQUOTA = VoicemailRecipientError_InvalidReason "OUT_OF_QUOTA"++-- | All recipients were deleted.+pattern VoicemailRecipientError_InvalidReason_RECIPIENTDELETED :: VoicemailRecipientError_InvalidReason+pattern VoicemailRecipientError_InvalidReason_RECIPIENTDELETED = VoicemailRecipientError_InvalidReason "RECIPIENT_DELETED"++{-# COMPLETE+ VoicemailRecipientError_InvalidReason_EMAILINVALIDREASONUNSPECIFIED,+ VoicemailRecipientError_InvalidReason_OUTOFQUOTA,+ VoicemailRecipientError_InvalidReason_RECIPIENTDELETED,+ VoicemailRecipientError_InvalidReason+ #-}
+ gen/Gogol/AlertCenter/Types.hs view
@@ -0,0 +1,403 @@+{-# 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.AlertCenter.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.AlertCenter.Types+ ( -- * Configuration+ alertCenterService,++ -- * OAuth Scopes+ Apps'Alerts,++ -- * Types++ -- ** Xgafv+ Xgafv (..),++ -- ** AbuseDetected+ AbuseDetected (..),+ newAbuseDetected,++ -- ** AbuseDetected_VariationType+ AbuseDetected_VariationType (..),++ -- ** AccessApproval+ AccessApproval (..),+ newAccessApproval,++ -- ** AccessApproval_JustificationReasonItem+ AccessApproval_JustificationReasonItem (..),++ -- ** AccountSuspensionDetails+ AccountSuspensionDetails (..),+ newAccountSuspensionDetails,++ -- ** AccountSuspensionDetails_AbuseReason+ AccountSuspensionDetails_AbuseReason (..),++ -- ** AccountSuspensionWarning+ AccountSuspensionWarning (..),+ newAccountSuspensionWarning,++ -- ** AccountSuspensionWarning_State+ AccountSuspensionWarning_State (..),++ -- ** AccountWarning+ AccountWarning (..),+ newAccountWarning,++ -- ** ActionInfo+ ActionInfo (..),+ newActionInfo,++ -- ** ActivityRule+ ActivityRule (..),+ newActivityRule,++ -- ** Alert+ Alert (..),+ newAlert,++ -- ** Alert_Data+ Alert_Data (..),+ newAlert_Data,++ -- ** AlertFeedback+ AlertFeedback (..),+ newAlertFeedback,++ -- ** AlertFeedback_Type+ AlertFeedback_Type (..),++ -- ** AlertMetadata+ AlertMetadata (..),+ newAlertMetadata,++ -- ** ApnsCertificateExpirationInfo+ ApnsCertificateExpirationInfo (..),+ newApnsCertificateExpirationInfo,++ -- ** AppMakerSqlSetupNotification+ AppMakerSqlSetupNotification (..),+ newAppMakerSqlSetupNotification,++ -- ** AppSettingsChanged+ AppSettingsChanged (..),+ newAppSettingsChanged,++ -- ** AppsOutage+ AppsOutage (..),+ newAppsOutage,++ -- ** AppsOutage_Status+ AppsOutage_Status (..),++ -- ** Attachment+ Attachment (..),+ newAttachment,++ -- ** BadWhitelist+ BadWhitelist (..),+ newBadWhitelist,++ -- ** BatchDeleteAlertsRequest+ BatchDeleteAlertsRequest (..),+ newBatchDeleteAlertsRequest,++ -- ** BatchDeleteAlertsResponse+ BatchDeleteAlertsResponse (..),+ newBatchDeleteAlertsResponse,++ -- ** BatchDeleteAlertsResponse_FailedAlertStatus+ BatchDeleteAlertsResponse_FailedAlertStatus (..),+ newBatchDeleteAlertsResponse_FailedAlertStatus,++ -- ** BatchUndeleteAlertsRequest+ BatchUndeleteAlertsRequest (..),+ newBatchUndeleteAlertsRequest,++ -- ** BatchUndeleteAlertsResponse+ BatchUndeleteAlertsResponse (..),+ newBatchUndeleteAlertsResponse,++ -- ** BatchUndeleteAlertsResponse_FailedAlertStatus+ BatchUndeleteAlertsResponse_FailedAlertStatus (..),+ newBatchUndeleteAlertsResponse_FailedAlertStatus,++ -- ** CloudPubsubTopic+ CloudPubsubTopic (..),+ newCloudPubsubTopic,++ -- ** CloudPubsubTopic_PayloadFormat+ CloudPubsubTopic_PayloadFormat (..),++ -- ** Csv+ Csv (..),+ newCsv,++ -- ** CsvRow+ CsvRow (..),+ newCsvRow,++ -- ** DeviceCompromised+ DeviceCompromised (..),+ newDeviceCompromised,++ -- ** DeviceCompromisedSecurityDetail+ DeviceCompromisedSecurityDetail (..),+ newDeviceCompromisedSecurityDetail,++ -- ** DeviceManagementRule+ DeviceManagementRule (..),+ newDeviceManagementRule,++ -- ** DlpRuleViolation+ DlpRuleViolation (..),+ newDlpRuleViolation,++ -- ** DomainId+ DomainId (..),+ newDomainId,++ -- ** DomainWideTakeoutInitiated+ DomainWideTakeoutInitiated (..),+ newDomainWideTakeoutInitiated,++ -- ** Empty+ Empty (..),+ newEmpty,++ -- ** Entity+ Entity (..),+ newEntity,++ -- ** EntityList+ EntityList (..),+ newEntityList,++ -- ** GmailMessageInfo+ GmailMessageInfo (..),+ newGmailMessageInfo,++ -- ** GoogleOperations+ GoogleOperations (..),+ newGoogleOperations,++ -- ** ListAlertFeedbackResponse+ ListAlertFeedbackResponse (..),+ newListAlertFeedbackResponse,++ -- ** ListAlertsResponse+ ListAlertsResponse (..),+ newListAlertsResponse,++ -- ** LoginDetails+ LoginDetails (..),+ newLoginDetails,++ -- ** MailPhishing+ MailPhishing (..),+ newMailPhishing,++ -- ** MailPhishing_SystemActionType+ MailPhishing_SystemActionType (..),++ -- ** MaliciousEntity+ MaliciousEntity (..),+ newMaliciousEntity,++ -- ** MandatoryServiceAnnouncement+ MandatoryServiceAnnouncement (..),+ newMandatoryServiceAnnouncement,++ -- ** MatchInfo+ MatchInfo (..),+ newMatchInfo,++ -- ** MergeInfo+ MergeInfo (..),+ newMergeInfo,++ -- ** Notification+ Notification (..),+ newNotification,++ -- ** PhishingSpike+ PhishingSpike (..),+ newPhishingSpike,++ -- ** PredefinedDetectorInfo+ PredefinedDetectorInfo (..),+ newPredefinedDetectorInfo,++ -- ** PrimaryAdminChangedEvent+ PrimaryAdminChangedEvent (..),+ newPrimaryAdminChangedEvent,++ -- ** ReportingRule+ ReportingRule (..),+ newReportingRule,++ -- ** RequestInfo+ RequestInfo (..),+ newRequestInfo,++ -- ** ResourceInfo+ ResourceInfo (..),+ newResourceInfo,++ -- ** RuleInfo+ RuleInfo (..),+ newRuleInfo,++ -- ** RuleViolationInfo+ RuleViolationInfo (..),+ newRuleViolationInfo,++ -- ** RuleViolationInfo_DataSource+ RuleViolationInfo_DataSource (..),++ -- ** RuleViolationInfo_EventType+ RuleViolationInfo_EventType (..),++ -- ** RuleViolationInfo_SuppressedActionTypesItem+ RuleViolationInfo_SuppressedActionTypesItem (..),++ -- ** RuleViolationInfo_Trigger+ RuleViolationInfo_Trigger (..),++ -- ** RuleViolationInfo_TriggeredActionTypesItem+ RuleViolationInfo_TriggeredActionTypesItem (..),++ -- ** SSOProfileCreatedEvent+ SSOProfileCreatedEvent (..),+ newSSOProfileCreatedEvent,++ -- ** SSOProfileDeletedEvent+ SSOProfileDeletedEvent (..),+ newSSOProfileDeletedEvent,++ -- ** SSOProfileUpdatedEvent+ SSOProfileUpdatedEvent (..),+ newSSOProfileUpdatedEvent,++ -- ** SensitiveAdminAction+ SensitiveAdminAction (..),+ newSensitiveAdminAction,++ -- ** Settings+ Settings (..),+ newSettings,++ -- ** StateSponsoredAttack+ StateSponsoredAttack (..),+ newStateSponsoredAttack,++ -- ** Status+ Status (..),+ newStatus,++ -- ** Status_DetailsItem+ Status_DetailsItem (..),+ newStatus_DetailsItem,++ -- ** SuperAdminPasswordResetEvent+ SuperAdminPasswordResetEvent (..),+ newSuperAdminPasswordResetEvent,++ -- ** SupportTicket+ SupportTicket (..),+ newSupportTicket,++ -- ** SuspiciousActivity+ SuspiciousActivity (..),+ newSuspiciousActivity,++ -- ** SuspiciousActivitySecurityDetail+ SuspiciousActivitySecurityDetail (..),+ newSuspiciousActivitySecurityDetail,++ -- ** TransferError+ TransferError (..),+ newTransferError,++ -- ** TransferError_EntityType+ TransferError_EntityType (..),++ -- ** TransferError_InvalidReason+ TransferError_InvalidReason (..),++ -- ** TransferMisconfiguration+ TransferMisconfiguration (..),+ newTransferMisconfiguration,++ -- ** UndeleteAlertRequest+ UndeleteAlertRequest (..),+ newUndeleteAlertRequest,++ -- ** User+ User (..),+ newUser,++ -- ** UserChanges+ UserChanges (..),+ newUserChanges,++ -- ** UserDefinedDetectorInfo+ UserDefinedDetectorInfo (..),+ newUserDefinedDetectorInfo,++ -- ** VoiceMisconfiguration+ VoiceMisconfiguration (..),+ newVoiceMisconfiguration,++ -- ** VoiceMisconfiguration_EntityType+ VoiceMisconfiguration_EntityType (..),++ -- ** VoicemailMisconfiguration+ VoicemailMisconfiguration (..),+ newVoicemailMisconfiguration,++ -- ** VoicemailRecipientError+ VoicemailRecipientError (..),+ newVoicemailRecipientError,++ -- ** VoicemailRecipientError_InvalidReason+ VoicemailRecipientError_InvalidReason (..),+ )+where++import Gogol.AlertCenter.Internal.Product+import Gogol.AlertCenter.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v1beta1@ of the Google Workspace Alert Center API. This contains the host and root path used as a starting point for constructing service requests.+alertCenterService :: Core.ServiceConfig+alertCenterService =+ Core.defaultService+ (Core.ServiceId "alertcenter:v1beta1")+ "alertcenter.googleapis.com"++-- | See and delete your domain\'s G Suite alerts, and send alert feedback+type Apps'Alerts = "https://www.googleapis.com/auth/apps.alerts"
+ gen/Gogol/AlertCenter/UpdateSettings.hs view
@@ -0,0 +1,113 @@+{-# 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.AlertCenter.UpdateSettings+-- 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)+--+-- Updates the customer-level settings.+--+-- /See:/ <https://developers.google.com/admin-sdk/alertcenter/ Google Workspace Alert Center API Reference> for @alertcenter.updateSettings@.+module Gogol.AlertCenter.UpdateSettings+ ( -- * Resource+ AlertCenterUpdateSettingsResource,++ -- ** Constructing a Request+ AlertCenterUpdateSettings (..),+ newAlertCenterUpdateSettings,+ )+where++import Gogol.AlertCenter.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @alertcenter.updateSettings@ method which the+-- 'AlertCenterUpdateSettings' request conforms to.+type AlertCenterUpdateSettingsResource =+ "v1beta1"+ Core.:> "settings"+ 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 "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] Settings+ Core.:> Core.Patch '[Core.JSON] Settings++-- | Updates the customer-level settings.+--+-- /See:/ 'newAlertCenterUpdateSettings' smart constructor.+data AlertCenterUpdateSettings = AlertCenterUpdateSettings+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The unique identifier of the Google Workspace account of the customer the alert settings are associated with. The @customer_id@ must have the initial \"C\" stripped (for example, @046psxkn@). Inferred from the caller identity if not provided. <https://support.google.com/cloudidentity/answer/10070793 Find your customer ID>.+ customerId :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: Settings,+ -- | 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 'AlertCenterUpdateSettings' with the minimum fields required to make a request.+newAlertCenterUpdateSettings ::+ -- | Multipart request metadata. See 'payload'.+ Settings ->+ AlertCenterUpdateSettings+newAlertCenterUpdateSettings payload =+ AlertCenterUpdateSettings+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ customerId = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest AlertCenterUpdateSettings where+ type Rs AlertCenterUpdateSettings = Settings+ type Scopes AlertCenterUpdateSettings = '[Apps'Alerts]+ requestClient AlertCenterUpdateSettings {..} =+ go+ xgafv+ accessToken+ callback+ customerId+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ alertCenterService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy AlertCenterUpdateSettingsResource)+ Core.mempty
− gen/Network/Google/AlertCenter.hs
@@ -1,302 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module : Network.Google.AlertCenter--- 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)------ Manages alerts on issues affecting your domain.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference>-module Network.Google.AlertCenter- (- -- * Service Configuration- alertCenterService-- -- * OAuth Scopes- , appsAlertsScope-- -- * API Declaration- , AlertCenterAPI-- -- * Resources-- -- ** alertcenter.alerts.delete- , module Network.Google.Resource.AlertCenter.Alerts.Delete-- -- ** alertcenter.alerts.feedback.create- , module Network.Google.Resource.AlertCenter.Alerts.Feedback.Create-- -- ** alertcenter.alerts.feedback.list- , module Network.Google.Resource.AlertCenter.Alerts.Feedback.List-- -- ** alertcenter.alerts.get- , module Network.Google.Resource.AlertCenter.Alerts.Get-- -- ** alertcenter.alerts.list- , module Network.Google.Resource.AlertCenter.Alerts.List-- -- ** alertcenter.alerts.undelete- , module Network.Google.Resource.AlertCenter.Alerts.Undelete-- -- ** alertcenter.getSettings- , module Network.Google.Resource.AlertCenter.GetSettings-- -- ** alertcenter.updateSettings- , module Network.Google.Resource.AlertCenter.UpdateSettings-- -- * Types-- -- ** ListAlertsResponse- , ListAlertsResponse- , listAlertsResponse- , larNextPageToken- , larAlerts-- -- ** CSVRow- , CSVRow- , csvRow- , crEntries-- -- ** AlertFeedback- , AlertFeedback- , alertFeedback- , afFeedbackId- , afEmail- , afAlertId- , afCustomerId- , afType- , afCreateTime-- -- ** DeviceCompromised- , DeviceCompromised- , deviceCompromised- , dcEmail- , dcEvents-- -- ** StateSponsoredAttack- , StateSponsoredAttack- , stateSponsoredAttack- , ssaEmail-- -- ** BadWhiteList- , BadWhiteList- , badWhiteList- , bwlSourceIP- , bwlDomainId- , bwlMessages- , bwlMaliciousEntity-- -- ** SuspiciousActivitySecurityDetail- , SuspiciousActivitySecurityDetail- , suspiciousActivitySecurityDetail- , sasdDeviceProperty- , sasdResourceId- , sasdIosVendorId- , sasdOldValue- , sasdNewValue- , sasdDeviceModel- , sasdDeviceId- , sasdDeviceType- , sasdSerialNumber-- -- ** Empty- , Empty- , empty-- -- ** UndeleteAlertRequest- , UndeleteAlertRequest- , undeleteAlertRequest- , uarCustomerId-- -- ** Settings- , Settings- , settings- , sNotifications-- -- ** Notification- , Notification- , notification- , nCloudPubsubTopic-- -- ** ActivityRule- , ActivityRule- , activityRule- , arSupersededAlerts- , arActionNames- , arSupersedingAlert- , arTriggerSource- , arWindowSize- , arUpdateTime- , arName- , arThreshold- , arQuery- , arDisplayName- , arDescription- , arCreateTime-- -- ** AccountWarning- , AccountWarning- , accountWarning- , awEmail- , awLoginDetails-- -- ** MailPhishing- , MailPhishing- , mailPhishing- , mpIsInternal- , mpDomainId- , mpMessages- , mpMaliciousEntity-- -- ** GmailMessageInfo- , GmailMessageInfo- , gmailMessageInfo- , gmiMD5HashSubject- , gmiSubjectText- , gmiDate- , gmiMD5HashMessageBody- , gmiAttachmentsSha256Hash- , gmiRecipient- , gmiMessageBodySnippet- , gmiMessageId-- -- ** AlertData- , AlertData- , alertData- , adAddtional-- -- ** CloudPubsubTopicPayloadFormat- , CloudPubsubTopicPayloadFormat (..)-- -- ** PhishingSpike- , PhishingSpike- , phishingSpike- , psIsInternal- , psDomainId- , psMessages- , psMaliciousEntity-- -- ** CSV- , CSV- , csv- , cDataRows- , cHeaders-- -- ** Alert- , Alert- , alert- , aStartTime- , aData- , aAlertId- , aSecurityInvestigationToolLink- , aCustomerId- , aUpdateTime- , aEndTime- , aSource- , aDeleted- , aType- , aCreateTime-- -- ** Attachment- , Attachment- , attachment- , aCSV-- -- ** GoogleOperations- , GoogleOperations- , googleOperations- , goAttachmentData- , goAffectedUserEmails- , goTitle- , goDescription-- -- ** AlertFeedbackType- , AlertFeedbackType (..)-- -- ** SuspiciousActivity- , SuspiciousActivity- , suspiciousActivity- , saEmail- , saEvents-- -- ** Xgafv- , Xgafv (..)-- -- ** DomainWideTakeoutInitiated- , DomainWideTakeoutInitiated- , domainWideTakeoutInitiated- , dwtiEmail- , dwtiTakeoutRequestId-- -- ** DomainId- , DomainId- , domainId- , diCustomerPrimaryDomain-- -- ** DeviceCompromisedSecurityDetail- , DeviceCompromisedSecurityDetail- , deviceCompromisedSecurityDetail- , dcsdResourceId- , dcsdDeviceCompromisedState- , dcsdIosVendorId- , dcsdDeviceModel- , dcsdDeviceId- , dcsdDeviceType- , dcsdSerialNumber-- -- ** CloudPubsubTopic- , CloudPubsubTopic- , cloudPubsubTopic- , cptTopicName- , cptPayloadFormat-- -- ** ListAlertFeedbackResponse- , ListAlertFeedbackResponse- , listAlertFeedbackResponse- , lafrFeedback-- -- ** LoginDetails- , LoginDetails- , loginDetails- , ldIPAddress- , ldLoginTime-- -- ** MaliciousEntity- , MaliciousEntity- , maliciousEntity- , meFromHeader- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude-import Network.Google.Resource.AlertCenter.Alerts.Delete-import Network.Google.Resource.AlertCenter.Alerts.Feedback.Create-import Network.Google.Resource.AlertCenter.Alerts.Feedback.List-import Network.Google.Resource.AlertCenter.Alerts.Get-import Network.Google.Resource.AlertCenter.Alerts.List-import Network.Google.Resource.AlertCenter.Alerts.Undelete-import Network.Google.Resource.AlertCenter.GetSettings-import Network.Google.Resource.AlertCenter.UpdateSettings--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the G Suite Alert Center API service.-type AlertCenterAPI =- UpdateSettingsResource :<|> GetSettingsResource :<|>- AlertsFeedbackListResource- :<|> AlertsFeedbackCreateResource- :<|> AlertsListResource- :<|> AlertsUndeleteResource- :<|> AlertsGetResource- :<|> AlertsDeleteResource
− gen/Network/Google/AlertCenter/Types.hs
@@ -1,258 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.AlertCenter.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.AlertCenter.Types- (- -- * Service Configuration- alertCenterService-- -- * OAuth Scopes- , appsAlertsScope-- -- * ListAlertsResponse- , ListAlertsResponse- , listAlertsResponse- , larNextPageToken- , larAlerts-- -- * CSVRow- , CSVRow- , csvRow- , crEntries-- -- * AlertFeedback- , AlertFeedback- , alertFeedback- , afFeedbackId- , afEmail- , afAlertId- , afCustomerId- , afType- , afCreateTime-- -- * DeviceCompromised- , DeviceCompromised- , deviceCompromised- , dcEmail- , dcEvents-- -- * StateSponsoredAttack- , StateSponsoredAttack- , stateSponsoredAttack- , ssaEmail-- -- * BadWhiteList- , BadWhiteList- , badWhiteList- , bwlSourceIP- , bwlDomainId- , bwlMessages- , bwlMaliciousEntity-- -- * SuspiciousActivitySecurityDetail- , SuspiciousActivitySecurityDetail- , suspiciousActivitySecurityDetail- , sasdDeviceProperty- , sasdResourceId- , sasdIosVendorId- , sasdOldValue- , sasdNewValue- , sasdDeviceModel- , sasdDeviceId- , sasdDeviceType- , sasdSerialNumber-- -- * Empty- , Empty- , empty-- -- * UndeleteAlertRequest- , UndeleteAlertRequest- , undeleteAlertRequest- , uarCustomerId-- -- * Settings- , Settings- , settings- , sNotifications-- -- * Notification- , Notification- , notification- , nCloudPubsubTopic-- -- * ActivityRule- , ActivityRule- , activityRule- , arSupersededAlerts- , arActionNames- , arSupersedingAlert- , arTriggerSource- , arWindowSize- , arUpdateTime- , arName- , arThreshold- , arQuery- , arDisplayName- , arDescription- , arCreateTime-- -- * AccountWarning- , AccountWarning- , accountWarning- , awEmail- , awLoginDetails-- -- * MailPhishing- , MailPhishing- , mailPhishing- , mpIsInternal- , mpDomainId- , mpMessages- , mpMaliciousEntity-- -- * GmailMessageInfo- , GmailMessageInfo- , gmailMessageInfo- , gmiMD5HashSubject- , gmiSubjectText- , gmiDate- , gmiMD5HashMessageBody- , gmiAttachmentsSha256Hash- , gmiRecipient- , gmiMessageBodySnippet- , gmiMessageId-- -- * AlertData- , AlertData- , alertData- , adAddtional-- -- * CloudPubsubTopicPayloadFormat- , CloudPubsubTopicPayloadFormat (..)-- -- * PhishingSpike- , PhishingSpike- , phishingSpike- , psIsInternal- , psDomainId- , psMessages- , psMaliciousEntity-- -- * CSV- , CSV- , csv- , cDataRows- , cHeaders-- -- * Alert- , Alert- , alert- , aStartTime- , aData- , aAlertId- , aSecurityInvestigationToolLink- , aCustomerId- , aUpdateTime- , aEndTime- , aSource- , aDeleted- , aType- , aCreateTime-- -- * Attachment- , Attachment- , attachment- , aCSV-- -- * GoogleOperations- , GoogleOperations- , googleOperations- , goAttachmentData- , goAffectedUserEmails- , goTitle- , goDescription-- -- * AlertFeedbackType- , AlertFeedbackType (..)-- -- * SuspiciousActivity- , SuspiciousActivity- , suspiciousActivity- , saEmail- , saEvents-- -- * Xgafv- , Xgafv (..)-- -- * DomainWideTakeoutInitiated- , DomainWideTakeoutInitiated- , domainWideTakeoutInitiated- , dwtiEmail- , dwtiTakeoutRequestId-- -- * DomainId- , DomainId- , domainId- , diCustomerPrimaryDomain-- -- * DeviceCompromisedSecurityDetail- , DeviceCompromisedSecurityDetail- , deviceCompromisedSecurityDetail- , dcsdResourceId- , dcsdDeviceCompromisedState- , dcsdIosVendorId- , dcsdDeviceModel- , dcsdDeviceId- , dcsdDeviceType- , dcsdSerialNumber-- -- * CloudPubsubTopic- , CloudPubsubTopic- , cloudPubsubTopic- , cptTopicName- , cptPayloadFormat-- -- * ListAlertFeedbackResponse- , ListAlertFeedbackResponse- , listAlertFeedbackResponse- , lafrFeedback-- -- * LoginDetails- , LoginDetails- , loginDetails- , ldIPAddress- , ldLoginTime-- -- * MaliciousEntity- , MaliciousEntity- , maliciousEntity- , meFromHeader- ) where--import Network.Google.AlertCenter.Types.Product-import Network.Google.AlertCenter.Types.Sum-import Network.Google.Prelude---- | Default request referring to version 'v1beta1' of the G Suite Alert Center API. This contains the host and root path used as a starting point for constructing service requests.-alertCenterService :: ServiceConfig-alertCenterService- = defaultService (ServiceId "alertcenter:v1beta1")- "alertcenter.googleapis.com"---- | See and delete your domain\'s G Suite alerts, and send alert feedback-appsAlertsScope :: Proxy '["https://www.googleapis.com/auth/apps.alerts"]-appsAlertsScope = Proxy
− gen/Network/Google/AlertCenter/Types/Product.hs
@@ -1,1958 +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.AlertCenter.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.AlertCenter.Types.Product where--import Network.Google.AlertCenter.Types.Sum-import Network.Google.Prelude---- | Response message for an alert listing request.------ /See:/ 'listAlertsResponse' smart constructor.-data ListAlertsResponse =- ListAlertsResponse'- { _larNextPageToken :: !(Maybe Text)- , _larAlerts :: !(Maybe [Alert])- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListAlertsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'larNextPageToken'------ * 'larAlerts'-listAlertsResponse- :: ListAlertsResponse-listAlertsResponse =- ListAlertsResponse' {_larNextPageToken = Nothing, _larAlerts = Nothing}----- | The token for the next page. If not empty, indicates that there may be--- more alerts that match the listing request; this value can be used in a--- subsequent ListAlertsRequest to get alerts continuing from last result--- of the current list call.-larNextPageToken :: Lens' ListAlertsResponse (Maybe Text)-larNextPageToken- = lens _larNextPageToken- (\ s a -> s{_larNextPageToken = a})---- | The list of alerts.-larAlerts :: Lens' ListAlertsResponse [Alert]-larAlerts- = lens _larAlerts (\ s a -> s{_larAlerts = a}) .- _Default- . _Coerce--instance FromJSON ListAlertsResponse where- parseJSON- = withObject "ListAlertsResponse"- (\ o ->- ListAlertsResponse' <$>- (o .:? "nextPageToken") <*>- (o .:? "alerts" .!= mempty))--instance ToJSON ListAlertsResponse where- toJSON ListAlertsResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _larNextPageToken,- ("alerts" .=) <$> _larAlerts])---- | A representation of a single data row in a CSV file.------ /See:/ 'csvRow' smart constructor.-newtype CSVRow =- CSVRow'- { _crEntries :: Maybe [Text]- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CSVRow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crEntries'-csvRow- :: CSVRow-csvRow = CSVRow' {_crEntries = Nothing}----- | The data entries in a CSV file row, as a string array rather than a--- single comma-separated string.-crEntries :: Lens' CSVRow [Text]-crEntries- = lens _crEntries (\ s a -> s{_crEntries = a}) .- _Default- . _Coerce--instance FromJSON CSVRow where- parseJSON- = withObject "CSVRow"- (\ o -> CSVRow' <$> (o .:? "entries" .!= mempty))--instance ToJSON CSVRow where- toJSON CSVRow'{..}- = object (catMaybes [("entries" .=) <$> _crEntries])---- | A customer feedback about an alert.------ /See:/ 'alertFeedback' smart constructor.-data AlertFeedback =- AlertFeedback'- { _afFeedbackId :: !(Maybe Text)- , _afEmail :: !(Maybe Text)- , _afAlertId :: !(Maybe Text)- , _afCustomerId :: !(Maybe Text)- , _afType :: !(Maybe AlertFeedbackType)- , _afCreateTime :: !(Maybe DateTime')- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertFeedback' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afFeedbackId'------ * 'afEmail'------ * 'afAlertId'------ * 'afCustomerId'------ * 'afType'------ * 'afCreateTime'-alertFeedback- :: AlertFeedback-alertFeedback =- AlertFeedback'- { _afFeedbackId = Nothing- , _afEmail = Nothing- , _afAlertId = Nothing- , _afCustomerId = Nothing- , _afType = Nothing- , _afCreateTime = Nothing- }----- | Output only. The unique identifier for the feedback.-afFeedbackId :: Lens' AlertFeedback (Maybe Text)-afFeedbackId- = lens _afFeedbackId (\ s a -> s{_afFeedbackId = a})---- | Output only. The email of the user that provided the feedback.-afEmail :: Lens' AlertFeedback (Maybe Text)-afEmail = lens _afEmail (\ s a -> s{_afEmail = a})---- | Output only. The alert identifier.-afAlertId :: Lens' AlertFeedback (Maybe Text)-afAlertId- = lens _afAlertId (\ s a -> s{_afAlertId = a})---- | Output only. The unique identifier of the Google account of the--- customer.-afCustomerId :: Lens' AlertFeedback (Maybe Text)-afCustomerId- = lens _afCustomerId (\ s a -> s{_afCustomerId = a})---- | Required. The type of the feedback.-afType :: Lens' AlertFeedback (Maybe AlertFeedbackType)-afType = lens _afType (\ s a -> s{_afType = a})---- | Output only. The time this feedback was created.-afCreateTime :: Lens' AlertFeedback (Maybe UTCTime)-afCreateTime- = lens _afCreateTime (\ s a -> s{_afCreateTime = a})- . mapping _DateTime--instance FromJSON AlertFeedback where- parseJSON- = withObject "AlertFeedback"- (\ o ->- AlertFeedback' <$>- (o .:? "feedbackId") <*> (o .:? "email") <*>- (o .:? "alertId")- <*> (o .:? "customerId")- <*> (o .:? "type")- <*> (o .:? "createTime"))--instance ToJSON AlertFeedback where- toJSON AlertFeedback'{..}- = object- (catMaybes- [("feedbackId" .=) <$> _afFeedbackId,- ("email" .=) <$> _afEmail,- ("alertId" .=) <$> _afAlertId,- ("customerId" .=) <$> _afCustomerId,- ("type" .=) <$> _afType,- ("createTime" .=) <$> _afCreateTime])---- | A mobile device compromised alert. Derived from audit logs.------ /See:/ 'deviceCompromised' smart constructor.-data DeviceCompromised =- DeviceCompromised'- { _dcEmail :: !(Maybe Text)- , _dcEvents :: !(Maybe [DeviceCompromisedSecurityDetail])- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeviceCompromised' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcEmail'------ * 'dcEvents'-deviceCompromised- :: DeviceCompromised-deviceCompromised = DeviceCompromised' {_dcEmail = Nothing, _dcEvents = Nothing}----- | The email of the user this alert was created for.-dcEmail :: Lens' DeviceCompromised (Maybe Text)-dcEmail = lens _dcEmail (\ s a -> s{_dcEmail = a})---- | Required. The list of security events.-dcEvents :: Lens' DeviceCompromised [DeviceCompromisedSecurityDetail]-dcEvents- = lens _dcEvents (\ s a -> s{_dcEvents = a}) .- _Default- . _Coerce--instance FromJSON DeviceCompromised where- parseJSON- = withObject "DeviceCompromised"- (\ o ->- DeviceCompromised' <$>- (o .:? "email") <*> (o .:? "events" .!= mempty))--instance ToJSON DeviceCompromised where- toJSON DeviceCompromised'{..}- = object- (catMaybes- [("email" .=) <$> _dcEmail,- ("events" .=) <$> _dcEvents])---- | A state-sponsored attack alert. Derived from audit logs.------ /See:/ 'stateSponsoredAttack' smart constructor.-newtype StateSponsoredAttack =- StateSponsoredAttack'- { _ssaEmail :: Maybe Text- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'StateSponsoredAttack' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssaEmail'-stateSponsoredAttack- :: StateSponsoredAttack-stateSponsoredAttack = StateSponsoredAttack' {_ssaEmail = Nothing}----- | The email of the user this incident was created for.-ssaEmail :: Lens' StateSponsoredAttack (Maybe Text)-ssaEmail = lens _ssaEmail (\ s a -> s{_ssaEmail = a})--instance FromJSON StateSponsoredAttack where- parseJSON- = withObject "StateSponsoredAttack"- (\ o -> StateSponsoredAttack' <$> (o .:? "email"))--instance ToJSON StateSponsoredAttack where- toJSON StateSponsoredAttack'{..}- = object (catMaybes [("email" .=) <$> _ssaEmail])---- | Alert for setting the domain or IP that malicious email comes from as--- whitelisted domain or IP in Gmail advanced settings.------ /See:/ 'badWhiteList' smart constructor.-data BadWhiteList =- BadWhiteList'- { _bwlSourceIP :: !(Maybe Text)- , _bwlDomainId :: !(Maybe DomainId)- , _bwlMessages :: !(Maybe [GmailMessageInfo])- , _bwlMaliciousEntity :: !(Maybe MaliciousEntity)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BadWhiteList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bwlSourceIP'------ * 'bwlDomainId'------ * 'bwlMessages'------ * 'bwlMaliciousEntity'-badWhiteList- :: BadWhiteList-badWhiteList =- BadWhiteList'- { _bwlSourceIP = Nothing- , _bwlDomainId = Nothing- , _bwlMessages = Nothing- , _bwlMaliciousEntity = Nothing- }----- | The source IP address of the malicious email, for example,--- \`127.0.0.1\`.-bwlSourceIP :: Lens' BadWhiteList (Maybe Text)-bwlSourceIP- = lens _bwlSourceIP (\ s a -> s{_bwlSourceIP = a})---- | The domain ID.-bwlDomainId :: Lens' BadWhiteList (Maybe DomainId)-bwlDomainId- = lens _bwlDomainId (\ s a -> s{_bwlDomainId = a})---- | The list of messages contained by this alert.-bwlMessages :: Lens' BadWhiteList [GmailMessageInfo]-bwlMessages- = lens _bwlMessages (\ s a -> s{_bwlMessages = a}) .- _Default- . _Coerce---- | The entity whose actions triggered a Gmail phishing alert.-bwlMaliciousEntity :: Lens' BadWhiteList (Maybe MaliciousEntity)-bwlMaliciousEntity- = lens _bwlMaliciousEntity- (\ s a -> s{_bwlMaliciousEntity = a})--instance FromJSON BadWhiteList where- parseJSON- = withObject "BadWhiteList"- (\ o ->- BadWhiteList' <$>- (o .:? "sourceIp") <*> (o .:? "domainId") <*>- (o .:? "messages" .!= mempty)- <*> (o .:? "maliciousEntity"))--instance ToJSON BadWhiteList where- toJSON BadWhiteList'{..}- = object- (catMaybes- [("sourceIp" .=) <$> _bwlSourceIP,- ("domainId" .=) <$> _bwlDomainId,- ("messages" .=) <$> _bwlMessages,- ("maliciousEntity" .=) <$> _bwlMaliciousEntity])---- | Detailed information of a single MDM suspicious activity event.------ /See:/ 'suspiciousActivitySecurityDetail' smart constructor.-data SuspiciousActivitySecurityDetail =- SuspiciousActivitySecurityDetail'- { _sasdDeviceProperty :: !(Maybe Text)- , _sasdResourceId :: !(Maybe Text)- , _sasdIosVendorId :: !(Maybe Text)- , _sasdOldValue :: !(Maybe Text)- , _sasdNewValue :: !(Maybe Text)- , _sasdDeviceModel :: !(Maybe Text)- , _sasdDeviceId :: !(Maybe Text)- , _sasdDeviceType :: !(Maybe Text)- , _sasdSerialNumber :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuspiciousActivitySecurityDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sasdDeviceProperty'------ * 'sasdResourceId'------ * 'sasdIosVendorId'------ * 'sasdOldValue'------ * 'sasdNewValue'------ * 'sasdDeviceModel'------ * 'sasdDeviceId'------ * 'sasdDeviceType'------ * 'sasdSerialNumber'-suspiciousActivitySecurityDetail- :: SuspiciousActivitySecurityDetail-suspiciousActivitySecurityDetail =- SuspiciousActivitySecurityDetail'- { _sasdDeviceProperty = Nothing- , _sasdResourceId = Nothing- , _sasdIosVendorId = Nothing- , _sasdOldValue = Nothing- , _sasdNewValue = Nothing- , _sasdDeviceModel = Nothing- , _sasdDeviceId = Nothing- , _sasdDeviceType = Nothing- , _sasdSerialNumber = Nothing- }----- | The device property which was changed.-sasdDeviceProperty :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdDeviceProperty- = lens _sasdDeviceProperty- (\ s a -> s{_sasdDeviceProperty = a})---- | The device resource ID.-sasdResourceId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdResourceId- = lens _sasdResourceId- (\ s a -> s{_sasdResourceId = a})---- | Required for iOS, empty for others.-sasdIosVendorId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdIosVendorId- = lens _sasdIosVendorId- (\ s a -> s{_sasdIosVendorId = a})---- | The old value of the device property before the change.-sasdOldValue :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdOldValue- = lens _sasdOldValue (\ s a -> s{_sasdOldValue = a})---- | The new value of the device property after the change.-sasdNewValue :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdNewValue- = lens _sasdNewValue (\ s a -> s{_sasdNewValue = a})---- | The model of the device.-sasdDeviceModel :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdDeviceModel- = lens _sasdDeviceModel- (\ s a -> s{_sasdDeviceModel = a})---- | Required. The device ID.-sasdDeviceId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdDeviceId- = lens _sasdDeviceId (\ s a -> s{_sasdDeviceId = a})---- | The type of the device.-sasdDeviceType :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdDeviceType- = lens _sasdDeviceType- (\ s a -> s{_sasdDeviceType = a})---- | The serial number of the device.-sasdSerialNumber :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)-sasdSerialNumber- = lens _sasdSerialNumber- (\ s a -> s{_sasdSerialNumber = a})--instance FromJSON SuspiciousActivitySecurityDetail- where- parseJSON- = withObject "SuspiciousActivitySecurityDetail"- (\ o ->- SuspiciousActivitySecurityDetail' <$>- (o .:? "deviceProperty") <*> (o .:? "resourceId") <*>- (o .:? "iosVendorId")- <*> (o .:? "oldValue")- <*> (o .:? "newValue")- <*> (o .:? "deviceModel")- <*> (o .:? "deviceId")- <*> (o .:? "deviceType")- <*> (o .:? "serialNumber"))--instance ToJSON SuspiciousActivitySecurityDetail- where- toJSON SuspiciousActivitySecurityDetail'{..}- = object- (catMaybes- [("deviceProperty" .=) <$> _sasdDeviceProperty,- ("resourceId" .=) <$> _sasdResourceId,- ("iosVendorId" .=) <$> _sasdIosVendorId,- ("oldValue" .=) <$> _sasdOldValue,- ("newValue" .=) <$> _sasdNewValue,- ("deviceModel" .=) <$> _sasdDeviceModel,- ("deviceId" .=) <$> _sasdDeviceId,- ("deviceType" .=) <$> _sasdDeviceType,- ("serialNumber" .=) <$> _sasdSerialNumber])---- | A generic empty message that you can re-use to avoid defining duplicated--- empty messages in your APIs. A typical example is to use it as the--- request or the response type of an API method. For instance: service Foo--- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The--- JSON representation for \`Empty\` is empty JSON object \`{}\`.------ /See:/ 'empty' smart constructor.-data Empty =- Empty'- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Empty' with the minimum fields required to make a request.----empty- :: Empty-empty = Empty'---instance FromJSON Empty where- parseJSON = withObject "Empty" (\ o -> pure Empty')--instance ToJSON Empty where- toJSON = const emptyObject---- | A request to undelete a specific alert that was marked for deletion.------ /See:/ 'undeleteAlertRequest' smart constructor.-newtype UndeleteAlertRequest =- UndeleteAlertRequest'- { _uarCustomerId :: Maybe Text- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UndeleteAlertRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uarCustomerId'-undeleteAlertRequest- :: UndeleteAlertRequest-undeleteAlertRequest = UndeleteAlertRequest' {_uarCustomerId = Nothing}----- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert is associated with. Inferred from the caller--- identity if not provided.-uarCustomerId :: Lens' UndeleteAlertRequest (Maybe Text)-uarCustomerId- = lens _uarCustomerId- (\ s a -> s{_uarCustomerId = a})--instance FromJSON UndeleteAlertRequest where- parseJSON- = withObject "UndeleteAlertRequest"- (\ o ->- UndeleteAlertRequest' <$> (o .:? "customerId"))--instance ToJSON UndeleteAlertRequest where- toJSON UndeleteAlertRequest'{..}- = object- (catMaybes [("customerId" .=) <$> _uarCustomerId])---- | Customer-level settings.------ /See:/ 'settings' smart constructor.-newtype Settings =- Settings'- { _sNotifications :: Maybe [Notification]- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Settings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sNotifications'-settings- :: Settings-settings = Settings' {_sNotifications = Nothing}----- | The list of notifications.-sNotifications :: Lens' Settings [Notification]-sNotifications- = lens _sNotifications- (\ s a -> s{_sNotifications = a})- . _Default- . _Coerce--instance FromJSON Settings where- parseJSON- = withObject "Settings"- (\ o ->- Settings' <$> (o .:? "notifications" .!= mempty))--instance ToJSON Settings where- toJSON Settings'{..}- = object- (catMaybes- [("notifications" .=) <$> _sNotifications])---- | Settings for callback notifications. For more details see [G Suite Alert--- Notification](\/admin-sdk\/alertcenter\/guides\/notifications).------ /See:/ 'notification' smart constructor.-newtype Notification =- Notification'- { _nCloudPubsubTopic :: Maybe CloudPubsubTopic- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Notification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nCloudPubsubTopic'-notification- :: Notification-notification = Notification' {_nCloudPubsubTopic = Nothing}----- | A Google Cloud Pub\/sub topic destination.-nCloudPubsubTopic :: Lens' Notification (Maybe CloudPubsubTopic)-nCloudPubsubTopic- = lens _nCloudPubsubTopic- (\ s a -> s{_nCloudPubsubTopic = a})--instance FromJSON Notification where- parseJSON- = withObject "Notification"- (\ o -> Notification' <$> (o .:? "cloudPubsubTopic"))--instance ToJSON Notification where- toJSON Notification'{..}- = object- (catMaybes- [("cloudPubsubTopic" .=) <$> _nCloudPubsubTopic])---- | Alerts from G Suite Security Center rules service configured by admin.------ /See:/ 'activityRule' smart constructor.-data ActivityRule =- ActivityRule'- { _arSupersededAlerts :: !(Maybe [Text])- , _arActionNames :: !(Maybe [Text])- , _arSupersedingAlert :: !(Maybe Text)- , _arTriggerSource :: !(Maybe Text)- , _arWindowSize :: !(Maybe GDuration)- , _arUpdateTime :: !(Maybe DateTime')- , _arName :: !(Maybe Text)- , _arThreshold :: !(Maybe Text)- , _arQuery :: !(Maybe Text)- , _arDisplayName :: !(Maybe Text)- , _arDescription :: !(Maybe Text)- , _arCreateTime :: !(Maybe DateTime')- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivityRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arSupersededAlerts'------ * 'arActionNames'------ * 'arSupersedingAlert'------ * 'arTriggerSource'------ * 'arWindowSize'------ * 'arUpdateTime'------ * 'arName'------ * 'arThreshold'------ * 'arQuery'------ * 'arDisplayName'------ * 'arDescription'------ * 'arCreateTime'-activityRule- :: ActivityRule-activityRule =- ActivityRule'- { _arSupersededAlerts = Nothing- , _arActionNames = Nothing- , _arSupersedingAlert = Nothing- , _arTriggerSource = Nothing- , _arWindowSize = Nothing- , _arUpdateTime = Nothing- , _arName = Nothing- , _arThreshold = Nothing- , _arQuery = Nothing- , _arDisplayName = Nothing- , _arDescription = Nothing- , _arCreateTime = Nothing- }----- | List of alert ids superseded by this alert. It is used to indicate that--- this alert is essentially extension of superseded alerts and we found--- the relationship after creating these alerts.-arSupersededAlerts :: Lens' ActivityRule [Text]-arSupersededAlerts- = lens _arSupersededAlerts- (\ s a -> s{_arSupersededAlerts = a})- . _Default- . _Coerce---- | List of action names associated with the rule threshold.-arActionNames :: Lens' ActivityRule [Text]-arActionNames- = lens _arActionNames- (\ s a -> s{_arActionNames = a})- . _Default- . _Coerce---- | Alert id superseding this alert. It is used to indicate that superseding--- alert is essentially extension of this alert and we found the--- relationship after creating both alerts.-arSupersedingAlert :: Lens' ActivityRule (Maybe Text)-arSupersedingAlert- = lens _arSupersedingAlert- (\ s a -> s{_arSupersedingAlert = a})---- | The trigger sources for this rule. * GMAIL_EVENTS * DEVICE_EVENTS *--- USER_EVENTS-arTriggerSource :: Lens' ActivityRule (Maybe Text)-arTriggerSource- = lens _arTriggerSource- (\ s a -> s{_arTriggerSource = a})---- | Rule window size. Possible values are 1 hour or 24 hours.-arWindowSize :: Lens' ActivityRule (Maybe Scientific)-arWindowSize- = lens _arWindowSize (\ s a -> s{_arWindowSize = a})- . mapping _GDuration---- | The timestamp of the last update to the rule.-arUpdateTime :: Lens' ActivityRule (Maybe UTCTime)-arUpdateTime- = lens _arUpdateTime (\ s a -> s{_arUpdateTime = a})- . mapping _DateTime---- | Rule name.-arName :: Lens' ActivityRule (Maybe Text)-arName = lens _arName (\ s a -> s{_arName = a})---- | Alert threshold is for example “COUNT > 5”.-arThreshold :: Lens' ActivityRule (Maybe Text)-arThreshold- = lens _arThreshold (\ s a -> s{_arThreshold = a})---- | Query that is used to get the data from the associated source.-arQuery :: Lens' ActivityRule (Maybe Text)-arQuery = lens _arQuery (\ s a -> s{_arQuery = a})---- | Alert display name.-arDisplayName :: Lens' ActivityRule (Maybe Text)-arDisplayName- = lens _arDisplayName- (\ s a -> s{_arDisplayName = a})---- | Description of the rule.-arDescription :: Lens' ActivityRule (Maybe Text)-arDescription- = lens _arDescription- (\ s a -> s{_arDescription = a})---- | Rule create timestamp.-arCreateTime :: Lens' ActivityRule (Maybe UTCTime)-arCreateTime- = lens _arCreateTime (\ s a -> s{_arCreateTime = a})- . mapping _DateTime--instance FromJSON ActivityRule where- parseJSON- = withObject "ActivityRule"- (\ o ->- ActivityRule' <$>- (o .:? "supersededAlerts" .!= mempty) <*>- (o .:? "actionNames" .!= mempty)- <*> (o .:? "supersedingAlert")- <*> (o .:? "triggerSource")- <*> (o .:? "windowSize")- <*> (o .:? "updateTime")- <*> (o .:? "name")- <*> (o .:? "threshold")- <*> (o .:? "query")- <*> (o .:? "displayName")- <*> (o .:? "description")- <*> (o .:? "createTime"))--instance ToJSON ActivityRule where- toJSON ActivityRule'{..}- = object- (catMaybes- [("supersededAlerts" .=) <$> _arSupersededAlerts,- ("actionNames" .=) <$> _arActionNames,- ("supersedingAlert" .=) <$> _arSupersedingAlert,- ("triggerSource" .=) <$> _arTriggerSource,- ("windowSize" .=) <$> _arWindowSize,- ("updateTime" .=) <$> _arUpdateTime,- ("name" .=) <$> _arName,- ("threshold" .=) <$> _arThreshold,- ("query" .=) <$> _arQuery,- ("displayName" .=) <$> _arDisplayName,- ("description" .=) <$> _arDescription,- ("createTime" .=) <$> _arCreateTime])---- | Alerts for user account warning events.------ /See:/ 'accountWarning' smart constructor.-data AccountWarning =- AccountWarning'- { _awEmail :: !(Maybe Text)- , _awLoginDetails :: !(Maybe LoginDetails)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AccountWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'awEmail'------ * 'awLoginDetails'-accountWarning- :: AccountWarning-accountWarning = AccountWarning' {_awEmail = Nothing, _awLoginDetails = Nothing}----- | Required. The email of the user that this event belongs to.-awEmail :: Lens' AccountWarning (Maybe Text)-awEmail = lens _awEmail (\ s a -> s{_awEmail = a})---- | Optional. Details of the login action associated with the warning event.--- This is only available for: * Suspicious login * Suspicious login (less--- secure app) * Suspicious programmatic login * User suspended (suspicious--- activity)-awLoginDetails :: Lens' AccountWarning (Maybe LoginDetails)-awLoginDetails- = lens _awLoginDetails- (\ s a -> s{_awLoginDetails = a})--instance FromJSON AccountWarning where- parseJSON- = withObject "AccountWarning"- (\ o ->- AccountWarning' <$>- (o .:? "email") <*> (o .:? "loginDetails"))--instance ToJSON AccountWarning where- toJSON AccountWarning'{..}- = object- (catMaybes- [("email" .=) <$> _awEmail,- ("loginDetails" .=) <$> _awLoginDetails])---- | Proto for all phishing alerts with common payload. Supported types are--- any of the following: * User reported phishing * User reported spam--- spike * Suspicious message reported * Phishing reclassification *--- Malware reclassification------ /See:/ 'mailPhishing' smart constructor.-data MailPhishing =- MailPhishing'- { _mpIsInternal :: !(Maybe Bool)- , _mpDomainId :: !(Maybe DomainId)- , _mpMessages :: !(Maybe [GmailMessageInfo])- , _mpMaliciousEntity :: !(Maybe MaliciousEntity)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MailPhishing' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mpIsInternal'------ * 'mpDomainId'------ * 'mpMessages'------ * 'mpMaliciousEntity'-mailPhishing- :: MailPhishing-mailPhishing =- MailPhishing'- { _mpIsInternal = Nothing- , _mpDomainId = Nothing- , _mpMessages = Nothing- , _mpMaliciousEntity = Nothing- }----- | If \`true\`, the email originated from within the organization.-mpIsInternal :: Lens' MailPhishing (Maybe Bool)-mpIsInternal- = lens _mpIsInternal (\ s a -> s{_mpIsInternal = a})---- | The domain ID.-mpDomainId :: Lens' MailPhishing (Maybe DomainId)-mpDomainId- = lens _mpDomainId (\ s a -> s{_mpDomainId = a})---- | The list of messages contained by this alert.-mpMessages :: Lens' MailPhishing [GmailMessageInfo]-mpMessages- = lens _mpMessages (\ s a -> s{_mpMessages = a}) .- _Default- . _Coerce---- | The entity whose actions triggered a Gmail phishing alert.-mpMaliciousEntity :: Lens' MailPhishing (Maybe MaliciousEntity)-mpMaliciousEntity- = lens _mpMaliciousEntity- (\ s a -> s{_mpMaliciousEntity = a})--instance FromJSON MailPhishing where- parseJSON- = withObject "MailPhishing"- (\ o ->- MailPhishing' <$>- (o .:? "isInternal") <*> (o .:? "domainId") <*>- (o .:? "messages" .!= mempty)- <*> (o .:? "maliciousEntity"))--instance ToJSON MailPhishing where- toJSON MailPhishing'{..}- = object- (catMaybes- [("isInternal" .=) <$> _mpIsInternal,- ("domainId" .=) <$> _mpDomainId,- ("messages" .=) <$> _mpMessages,- ("maliciousEntity" .=) <$> _mpMaliciousEntity])---- | Details of a message in phishing spike alert.------ /See:/ 'gmailMessageInfo' smart constructor.-data GmailMessageInfo =- GmailMessageInfo'- { _gmiMD5HashSubject :: !(Maybe Text)- , _gmiSubjectText :: !(Maybe Text)- , _gmiDate :: !(Maybe DateTime')- , _gmiMD5HashMessageBody :: !(Maybe Text)- , _gmiAttachmentsSha256Hash :: !(Maybe [Text])- , _gmiRecipient :: !(Maybe Text)- , _gmiMessageBodySnippet :: !(Maybe Text)- , _gmiMessageId :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GmailMessageInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmiMD5HashSubject'------ * 'gmiSubjectText'------ * 'gmiDate'------ * 'gmiMD5HashMessageBody'------ * 'gmiAttachmentsSha256Hash'------ * 'gmiRecipient'------ * 'gmiMessageBodySnippet'------ * 'gmiMessageId'-gmailMessageInfo- :: GmailMessageInfo-gmailMessageInfo =- GmailMessageInfo'- { _gmiMD5HashSubject = Nothing- , _gmiSubjectText = Nothing- , _gmiDate = Nothing- , _gmiMD5HashMessageBody = Nothing- , _gmiAttachmentsSha256Hash = Nothing- , _gmiRecipient = Nothing- , _gmiMessageBodySnippet = Nothing- , _gmiMessageId = Nothing- }----- | The MD5 Hash of email\'s subject (only available for reported emails).-gmiMD5HashSubject :: Lens' GmailMessageInfo (Maybe Text)-gmiMD5HashSubject- = lens _gmiMD5HashSubject- (\ s a -> s{_gmiMD5HashSubject = a})---- | The email subject text (only available for reported emails).-gmiSubjectText :: Lens' GmailMessageInfo (Maybe Text)-gmiSubjectText- = lens _gmiSubjectText- (\ s a -> s{_gmiSubjectText = a})---- | The date the malicious email was sent.-gmiDate :: Lens' GmailMessageInfo (Maybe UTCTime)-gmiDate- = lens _gmiDate (\ s a -> s{_gmiDate = a}) .- mapping _DateTime---- | The hash of the message body text.-gmiMD5HashMessageBody :: Lens' GmailMessageInfo (Maybe Text)-gmiMD5HashMessageBody- = lens _gmiMD5HashMessageBody- (\ s a -> s{_gmiMD5HashMessageBody = a})---- | The \`SHA256\` hash of email\'s attachment and all MIME parts.-gmiAttachmentsSha256Hash :: Lens' GmailMessageInfo [Text]-gmiAttachmentsSha256Hash- = lens _gmiAttachmentsSha256Hash- (\ s a -> s{_gmiAttachmentsSha256Hash = a})- . _Default- . _Coerce---- | The recipient of this email.-gmiRecipient :: Lens' GmailMessageInfo (Maybe Text)-gmiRecipient- = lens _gmiRecipient (\ s a -> s{_gmiRecipient = a})---- | The snippet of the message body text (only available for reported--- emails).-gmiMessageBodySnippet :: Lens' GmailMessageInfo (Maybe Text)-gmiMessageBodySnippet- = lens _gmiMessageBodySnippet- (\ s a -> s{_gmiMessageBodySnippet = a})---- | The message ID.-gmiMessageId :: Lens' GmailMessageInfo (Maybe Text)-gmiMessageId- = lens _gmiMessageId (\ s a -> s{_gmiMessageId = a})--instance FromJSON GmailMessageInfo where- parseJSON- = withObject "GmailMessageInfo"- (\ o ->- GmailMessageInfo' <$>- (o .:? "md5HashSubject") <*> (o .:? "subjectText")- <*> (o .:? "date")- <*> (o .:? "md5HashMessageBody")- <*> (o .:? "attachmentsSha256Hash" .!= mempty)- <*> (o .:? "recipient")- <*> (o .:? "messageBodySnippet")- <*> (o .:? "messageId"))--instance ToJSON GmailMessageInfo where- toJSON GmailMessageInfo'{..}- = object- (catMaybes- [("md5HashSubject" .=) <$> _gmiMD5HashSubject,- ("subjectText" .=) <$> _gmiSubjectText,- ("date" .=) <$> _gmiDate,- ("md5HashMessageBody" .=) <$> _gmiMD5HashMessageBody,- ("attachmentsSha256Hash" .=) <$>- _gmiAttachmentsSha256Hash,- ("recipient" .=) <$> _gmiRecipient,- ("messageBodySnippet" .=) <$> _gmiMessageBodySnippet,- ("messageId" .=) <$> _gmiMessageId])---- | Optional. The data associated with this alert, for example--- google.apps.alertcenter.type.DeviceCompromised.------ /See:/ 'alertData' smart constructor.-newtype AlertData =- AlertData'- { _adAddtional :: HashMap Text JSONValue- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adAddtional'-alertData- :: HashMap Text JSONValue -- ^ 'adAddtional'- -> AlertData-alertData pAdAddtional_ = AlertData' {_adAddtional = _Coerce # pAdAddtional_}----- | Properties of the object. Contains field \'type with type URL.-adAddtional :: Lens' AlertData (HashMap Text JSONValue)-adAddtional- = lens _adAddtional (\ s a -> s{_adAddtional = a}) .- _Coerce--instance FromJSON AlertData where- parseJSON- = withObject "AlertData"- (\ o -> AlertData' <$> (parseJSONObject o))--instance ToJSON AlertData where- toJSON = toJSON . _adAddtional---- | Alert for a spike in user reported phishing.--- __Warning__: This type has been deprecated. Use--- [MailPhishing](\/admin-sdk\/alertcenter\/reference\/rest\/v1beta1\/MailPhishing)--- instead.------ /See:/ 'phishingSpike' smart constructor.-data PhishingSpike =- PhishingSpike'- { _psIsInternal :: !(Maybe Bool)- , _psDomainId :: !(Maybe DomainId)- , _psMessages :: !(Maybe [GmailMessageInfo])- , _psMaliciousEntity :: !(Maybe MaliciousEntity)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PhishingSpike' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'psIsInternal'------ * 'psDomainId'------ * 'psMessages'------ * 'psMaliciousEntity'-phishingSpike- :: PhishingSpike-phishingSpike =- PhishingSpike'- { _psIsInternal = Nothing- , _psDomainId = Nothing- , _psMessages = Nothing- , _psMaliciousEntity = Nothing- }----- | If \`true\`, the email originated from within the organization.-psIsInternal :: Lens' PhishingSpike (Maybe Bool)-psIsInternal- = lens _psIsInternal (\ s a -> s{_psIsInternal = a})---- | The domain ID.-psDomainId :: Lens' PhishingSpike (Maybe DomainId)-psDomainId- = lens _psDomainId (\ s a -> s{_psDomainId = a})---- | The list of messages contained by this alert.-psMessages :: Lens' PhishingSpike [GmailMessageInfo]-psMessages- = lens _psMessages (\ s a -> s{_psMessages = a}) .- _Default- . _Coerce---- | The entity whose actions triggered a Gmail phishing alert.-psMaliciousEntity :: Lens' PhishingSpike (Maybe MaliciousEntity)-psMaliciousEntity- = lens _psMaliciousEntity- (\ s a -> s{_psMaliciousEntity = a})--instance FromJSON PhishingSpike where- parseJSON- = withObject "PhishingSpike"- (\ o ->- PhishingSpike' <$>- (o .:? "isInternal") <*> (o .:? "domainId") <*>- (o .:? "messages" .!= mempty)- <*> (o .:? "maliciousEntity"))--instance ToJSON PhishingSpike where- toJSON PhishingSpike'{..}- = object- (catMaybes- [("isInternal" .=) <$> _psIsInternal,- ("domainId" .=) <$> _psDomainId,- ("messages" .=) <$> _psMessages,- ("maliciousEntity" .=) <$> _psMaliciousEntity])---- | A representation of a CSV file attachment, as a list of column headers--- and a list of data rows.------ /See:/ 'csv' smart constructor.-data CSV =- CSV'- { _cDataRows :: !(Maybe [CSVRow])- , _cHeaders :: !(Maybe [Text])- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CSV' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cDataRows'------ * 'cHeaders'-csv- :: CSV-csv = CSV' {_cDataRows = Nothing, _cHeaders = Nothing}----- | The list of data rows in a CSV file, as string arrays rather than as a--- single comma-separated string.-cDataRows :: Lens' CSV [CSVRow]-cDataRows- = lens _cDataRows (\ s a -> s{_cDataRows = a}) .- _Default- . _Coerce---- | The list of headers for data columns in a CSV file.-cHeaders :: Lens' CSV [Text]-cHeaders- = lens _cHeaders (\ s a -> s{_cHeaders = a}) .- _Default- . _Coerce--instance FromJSON CSV where- parseJSON- = withObject "CSV"- (\ o ->- CSV' <$>- (o .:? "dataRows" .!= mempty) <*>- (o .:? "headers" .!= mempty))--instance ToJSON CSV where- toJSON CSV'{..}- = object- (catMaybes- [("dataRows" .=) <$> _cDataRows,- ("headers" .=) <$> _cHeaders])---- | An alert affecting a customer.------ /See:/ 'alert' smart constructor.-data Alert =- Alert'- { _aStartTime :: !(Maybe DateTime')- , _aData :: !(Maybe AlertData)- , _aAlertId :: !(Maybe Text)- , _aSecurityInvestigationToolLink :: !(Maybe Text)- , _aCustomerId :: !(Maybe Text)- , _aUpdateTime :: !(Maybe DateTime')- , _aEndTime :: !(Maybe DateTime')- , _aSource :: !(Maybe Text)- , _aDeleted :: !(Maybe Bool)- , _aType :: !(Maybe Text)- , _aCreateTime :: !(Maybe DateTime')- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Alert' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aStartTime'------ * 'aData'------ * 'aAlertId'------ * 'aSecurityInvestigationToolLink'------ * 'aCustomerId'------ * 'aUpdateTime'------ * 'aEndTime'------ * 'aSource'------ * 'aDeleted'------ * 'aType'------ * 'aCreateTime'-alert- :: Alert-alert =- Alert'- { _aStartTime = Nothing- , _aData = Nothing- , _aAlertId = Nothing- , _aSecurityInvestigationToolLink = Nothing- , _aCustomerId = Nothing- , _aUpdateTime = Nothing- , _aEndTime = Nothing- , _aSource = Nothing- , _aDeleted = Nothing- , _aType = Nothing- , _aCreateTime = Nothing- }----- | Required. The time the event that caused this alert was started or--- detected.-aStartTime :: Lens' Alert (Maybe UTCTime)-aStartTime- = lens _aStartTime (\ s a -> s{_aStartTime = a}) .- mapping _DateTime---- | Optional. The data associated with this alert, for example--- google.apps.alertcenter.type.DeviceCompromised.-aData :: Lens' Alert (Maybe AlertData)-aData = lens _aData (\ s a -> s{_aData = a})---- | Output only. The unique identifier for the alert.-aAlertId :: Lens' Alert (Maybe Text)-aAlertId = lens _aAlertId (\ s a -> s{_aAlertId = a})---- | Output only. An optional [Security Investigation--- Tool](https:\/\/support.google.com\/a\/answer\/7575955) query for this--- alert.-aSecurityInvestigationToolLink :: Lens' Alert (Maybe Text)-aSecurityInvestigationToolLink- = lens _aSecurityInvestigationToolLink- (\ s a -> s{_aSecurityInvestigationToolLink = a})---- | Output only. The unique identifier of the Google account of the--- customer.-aCustomerId :: Lens' Alert (Maybe Text)-aCustomerId- = lens _aCustomerId (\ s a -> s{_aCustomerId = a})---- | Output only. The time this alert was last updated.-aUpdateTime :: Lens' Alert (Maybe UTCTime)-aUpdateTime- = lens _aUpdateTime (\ s a -> s{_aUpdateTime = a}) .- mapping _DateTime---- | Optional. The time the event that caused this alert ceased being active.--- If provided, the end time must not be earlier than the start time. If--- not provided, it indicates an ongoing alert.-aEndTime :: Lens' Alert (Maybe UTCTime)-aEndTime- = lens _aEndTime (\ s a -> s{_aEndTime = a}) .- mapping _DateTime---- | Required. A unique identifier for the system that reported the alert.--- This is output only after alert is created. Supported sources are any of--- the following: * Google Operations * Mobile device management * Gmail--- phishing * Domain wide takeout * Government attack warning * Google--- identity-aSource :: Lens' Alert (Maybe Text)-aSource = lens _aSource (\ s a -> s{_aSource = a})---- | Output only. \`True\` if this alert is marked for deletion.-aDeleted :: Lens' Alert (Maybe Bool)-aDeleted = lens _aDeleted (\ s a -> s{_aDeleted = a})---- | Required. The type of the alert. This is output only after alert is--- created. For a list of available alert types see [G Suite Alert--- types](\/admin-sdk\/alertcenter\/reference\/alert-types).-aType :: Lens' Alert (Maybe Text)-aType = lens _aType (\ s a -> s{_aType = a})---- | Output only. The time this alert was created.-aCreateTime :: Lens' Alert (Maybe UTCTime)-aCreateTime- = lens _aCreateTime (\ s a -> s{_aCreateTime = a}) .- mapping _DateTime--instance FromJSON Alert where- parseJSON- = withObject "Alert"- (\ o ->- Alert' <$>- (o .:? "startTime") <*> (o .:? "data") <*>- (o .:? "alertId")- <*> (o .:? "securityInvestigationToolLink")- <*> (o .:? "customerId")- <*> (o .:? "updateTime")- <*> (o .:? "endTime")- <*> (o .:? "source")- <*> (o .:? "deleted")- <*> (o .:? "type")- <*> (o .:? "createTime"))--instance ToJSON Alert where- toJSON Alert'{..}- = object- (catMaybes- [("startTime" .=) <$> _aStartTime,- ("data" .=) <$> _aData, ("alertId" .=) <$> _aAlertId,- ("securityInvestigationToolLink" .=) <$>- _aSecurityInvestigationToolLink,- ("customerId" .=) <$> _aCustomerId,- ("updateTime" .=) <$> _aUpdateTime,- ("endTime" .=) <$> _aEndTime,- ("source" .=) <$> _aSource,- ("deleted" .=) <$> _aDeleted, ("type" .=) <$> _aType,- ("createTime" .=) <$> _aCreateTime])---- | Attachment with application-specific information about an alert.------ /See:/ 'attachment' smart constructor.-newtype Attachment =- Attachment'- { _aCSV :: Maybe CSV- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Attachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aCSV'-attachment- :: Attachment-attachment = Attachment' {_aCSV = Nothing}----- | A CSV file attachment.-aCSV :: Lens' Attachment (Maybe CSV)-aCSV = lens _aCSV (\ s a -> s{_aCSV = a})--instance FromJSON Attachment where- parseJSON- = withObject "Attachment"- (\ o -> Attachment' <$> (o .:? "csv"))--instance ToJSON Attachment where- toJSON Attachment'{..}- = object (catMaybes [("csv" .=) <$> _aCSV])---- | An incident reported by Google Operations for a G Suite application.------ /See:/ 'googleOperations' smart constructor.-data GoogleOperations =- GoogleOperations'- { _goAttachmentData :: !(Maybe Attachment)- , _goAffectedUserEmails :: !(Maybe [Text])- , _goTitle :: !(Maybe Text)- , _goDescription :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GoogleOperations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'goAttachmentData'------ * 'goAffectedUserEmails'------ * 'goTitle'------ * 'goDescription'-googleOperations- :: GoogleOperations-googleOperations =- GoogleOperations'- { _goAttachmentData = Nothing- , _goAffectedUserEmails = Nothing- , _goTitle = Nothing- , _goDescription = Nothing- }----- | Optional. Application-specific data for an incident, provided when the G--- Suite application which reported the incident cannot be completely--- restored to a valid state.-goAttachmentData :: Lens' GoogleOperations (Maybe Attachment)-goAttachmentData- = lens _goAttachmentData- (\ s a -> s{_goAttachmentData = a})---- | The list of emails which correspond to the users directly affected by--- the incident.-goAffectedUserEmails :: Lens' GoogleOperations [Text]-goAffectedUserEmails- = lens _goAffectedUserEmails- (\ s a -> s{_goAffectedUserEmails = a})- . _Default- . _Coerce---- | A one-line incident description.-goTitle :: Lens' GoogleOperations (Maybe Text)-goTitle = lens _goTitle (\ s a -> s{_goTitle = a})---- | A detailed, freeform incident description.-goDescription :: Lens' GoogleOperations (Maybe Text)-goDescription- = lens _goDescription- (\ s a -> s{_goDescription = a})--instance FromJSON GoogleOperations where- parseJSON- = withObject "GoogleOperations"- (\ o ->- GoogleOperations' <$>- (o .:? "attachmentData") <*>- (o .:? "affectedUserEmails" .!= mempty)- <*> (o .:? "title")- <*> (o .:? "description"))--instance ToJSON GoogleOperations where- toJSON GoogleOperations'{..}- = object- (catMaybes- [("attachmentData" .=) <$> _goAttachmentData,- ("affectedUserEmails" .=) <$> _goAffectedUserEmails,- ("title" .=) <$> _goTitle,- ("description" .=) <$> _goDescription])---- | A mobile suspicious activity alert. Derived from audit logs.------ /See:/ 'suspiciousActivity' smart constructor.-data SuspiciousActivity =- SuspiciousActivity'- { _saEmail :: !(Maybe Text)- , _saEvents :: !(Maybe [SuspiciousActivitySecurityDetail])- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SuspiciousActivity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'saEmail'------ * 'saEvents'-suspiciousActivity- :: SuspiciousActivity-suspiciousActivity =- SuspiciousActivity' {_saEmail = Nothing, _saEvents = Nothing}----- | The email of the user this alert was created for.-saEmail :: Lens' SuspiciousActivity (Maybe Text)-saEmail = lens _saEmail (\ s a -> s{_saEmail = a})---- | Required. The list of security events.-saEvents :: Lens' SuspiciousActivity [SuspiciousActivitySecurityDetail]-saEvents- = lens _saEvents (\ s a -> s{_saEvents = a}) .- _Default- . _Coerce--instance FromJSON SuspiciousActivity where- parseJSON- = withObject "SuspiciousActivity"- (\ o ->- SuspiciousActivity' <$>- (o .:? "email") <*> (o .:? "events" .!= mempty))--instance ToJSON SuspiciousActivity where- toJSON SuspiciousActivity'{..}- = object- (catMaybes- [("email" .=) <$> _saEmail,- ("events" .=) <$> _saEvents])---- | A takeout operation for the entire domain was initiated by an admin.--- Derived from audit logs.------ /See:/ 'domainWideTakeoutInitiated' smart constructor.-data DomainWideTakeoutInitiated =- DomainWideTakeoutInitiated'- { _dwtiEmail :: !(Maybe Text)- , _dwtiTakeoutRequestId :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DomainWideTakeoutInitiated' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dwtiEmail'------ * 'dwtiTakeoutRequestId'-domainWideTakeoutInitiated- :: DomainWideTakeoutInitiated-domainWideTakeoutInitiated =- DomainWideTakeoutInitiated'- {_dwtiEmail = Nothing, _dwtiTakeoutRequestId = Nothing}----- | The email of the admin who initiated the takeout.-dwtiEmail :: Lens' DomainWideTakeoutInitiated (Maybe Text)-dwtiEmail- = lens _dwtiEmail (\ s a -> s{_dwtiEmail = a})---- | The takeout request ID.-dwtiTakeoutRequestId :: Lens' DomainWideTakeoutInitiated (Maybe Text)-dwtiTakeoutRequestId- = lens _dwtiTakeoutRequestId- (\ s a -> s{_dwtiTakeoutRequestId = a})--instance FromJSON DomainWideTakeoutInitiated where- parseJSON- = withObject "DomainWideTakeoutInitiated"- (\ o ->- DomainWideTakeoutInitiated' <$>- (o .:? "email") <*> (o .:? "takeoutRequestId"))--instance ToJSON DomainWideTakeoutInitiated where- toJSON DomainWideTakeoutInitiated'{..}- = object- (catMaybes- [("email" .=) <$> _dwtiEmail,- ("takeoutRequestId" .=) <$> _dwtiTakeoutRequestId])---- | Domain ID of Gmail phishing alerts.------ /See:/ 'domainId' smart constructor.-newtype DomainId =- DomainId'- { _diCustomerPrimaryDomain :: Maybe Text- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DomainId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'diCustomerPrimaryDomain'-domainId- :: DomainId-domainId = DomainId' {_diCustomerPrimaryDomain = Nothing}----- | The primary domain for the customer.-diCustomerPrimaryDomain :: Lens' DomainId (Maybe Text)-diCustomerPrimaryDomain- = lens _diCustomerPrimaryDomain- (\ s a -> s{_diCustomerPrimaryDomain = a})--instance FromJSON DomainId where- parseJSON- = withObject "DomainId"- (\ o ->- DomainId' <$> (o .:? "customerPrimaryDomain"))--instance ToJSON DomainId where- toJSON DomainId'{..}- = object- (catMaybes- [("customerPrimaryDomain" .=) <$>- _diCustomerPrimaryDomain])---- | Detailed information of a single MDM device compromised event.------ /See:/ 'deviceCompromisedSecurityDetail' smart constructor.-data DeviceCompromisedSecurityDetail =- DeviceCompromisedSecurityDetail'- { _dcsdResourceId :: !(Maybe Text)- , _dcsdDeviceCompromisedState :: !(Maybe Text)- , _dcsdIosVendorId :: !(Maybe Text)- , _dcsdDeviceModel :: !(Maybe Text)- , _dcsdDeviceId :: !(Maybe Text)- , _dcsdDeviceType :: !(Maybe Text)- , _dcsdSerialNumber :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DeviceCompromisedSecurityDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcsdResourceId'------ * 'dcsdDeviceCompromisedState'------ * 'dcsdIosVendorId'------ * 'dcsdDeviceModel'------ * 'dcsdDeviceId'------ * 'dcsdDeviceType'------ * 'dcsdSerialNumber'-deviceCompromisedSecurityDetail- :: DeviceCompromisedSecurityDetail-deviceCompromisedSecurityDetail =- DeviceCompromisedSecurityDetail'- { _dcsdResourceId = Nothing- , _dcsdDeviceCompromisedState = Nothing- , _dcsdIosVendorId = Nothing- , _dcsdDeviceModel = Nothing- , _dcsdDeviceId = Nothing- , _dcsdDeviceType = Nothing- , _dcsdSerialNumber = Nothing- }----- | The device resource ID.-dcsdResourceId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdResourceId- = lens _dcsdResourceId- (\ s a -> s{_dcsdResourceId = a})---- | The device compromised state. Possible values are \"\`Compromised\`\" or--- \"\`Not Compromised\`\".-dcsdDeviceCompromisedState :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdDeviceCompromisedState- = lens _dcsdDeviceCompromisedState- (\ s a -> s{_dcsdDeviceCompromisedState = a})---- | Required for iOS, empty for others.-dcsdIosVendorId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdIosVendorId- = lens _dcsdIosVendorId- (\ s a -> s{_dcsdIosVendorId = a})---- | The model of the device.-dcsdDeviceModel :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdDeviceModel- = lens _dcsdDeviceModel- (\ s a -> s{_dcsdDeviceModel = a})---- | Required. The device ID.-dcsdDeviceId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdDeviceId- = lens _dcsdDeviceId (\ s a -> s{_dcsdDeviceId = a})---- | The type of the device.-dcsdDeviceType :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdDeviceType- = lens _dcsdDeviceType- (\ s a -> s{_dcsdDeviceType = a})---- | The serial number of the device.-dcsdSerialNumber :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)-dcsdSerialNumber- = lens _dcsdSerialNumber- (\ s a -> s{_dcsdSerialNumber = a})--instance FromJSON DeviceCompromisedSecurityDetail- where- parseJSON- = withObject "DeviceCompromisedSecurityDetail"- (\ o ->- DeviceCompromisedSecurityDetail' <$>- (o .:? "resourceId") <*>- (o .:? "deviceCompromisedState")- <*> (o .:? "iosVendorId")- <*> (o .:? "deviceModel")- <*> (o .:? "deviceId")- <*> (o .:? "deviceType")- <*> (o .:? "serialNumber"))--instance ToJSON DeviceCompromisedSecurityDetail where- toJSON DeviceCompromisedSecurityDetail'{..}- = object- (catMaybes- [("resourceId" .=) <$> _dcsdResourceId,- ("deviceCompromisedState" .=) <$>- _dcsdDeviceCompromisedState,- ("iosVendorId" .=) <$> _dcsdIosVendorId,- ("deviceModel" .=) <$> _dcsdDeviceModel,- ("deviceId" .=) <$> _dcsdDeviceId,- ("deviceType" .=) <$> _dcsdDeviceType,- ("serialNumber" .=) <$> _dcsdSerialNumber])---- | A reference to a Cloud Pubsub topic. To register for notifications, the--- owner of the topic must grant--- \`alerts-api-push-notifications\'system.gserviceaccount.com\` the--- \`projects.topics.publish\` permission.------ /See:/ 'cloudPubsubTopic' smart constructor.-data CloudPubsubTopic =- CloudPubsubTopic'- { _cptTopicName :: !(Maybe Text)- , _cptPayloadFormat :: !(Maybe CloudPubsubTopicPayloadFormat)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CloudPubsubTopic' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cptTopicName'------ * 'cptPayloadFormat'-cloudPubsubTopic- :: CloudPubsubTopic-cloudPubsubTopic =- CloudPubsubTopic' {_cptTopicName = Nothing, _cptPayloadFormat = Nothing}----- | The \`name\` field of a Cloud Pubsub [Topic]--- (https:\/\/cloud.google.com\/pubsub\/docs\/reference\/rest\/v1\/projects.topics#Topic).-cptTopicName :: Lens' CloudPubsubTopic (Maybe Text)-cptTopicName- = lens _cptTopicName (\ s a -> s{_cptTopicName = a})---- | Optional. The format of the payload that would be sent. If not specified--- the format will be JSON.-cptPayloadFormat :: Lens' CloudPubsubTopic (Maybe CloudPubsubTopicPayloadFormat)-cptPayloadFormat- = lens _cptPayloadFormat- (\ s a -> s{_cptPayloadFormat = a})--instance FromJSON CloudPubsubTopic where- parseJSON- = withObject "CloudPubsubTopic"- (\ o ->- CloudPubsubTopic' <$>- (o .:? "topicName") <*> (o .:? "payloadFormat"))--instance ToJSON CloudPubsubTopic where- toJSON CloudPubsubTopic'{..}- = object- (catMaybes- [("topicName" .=) <$> _cptTopicName,- ("payloadFormat" .=) <$> _cptPayloadFormat])---- | Response message for an alert feedback listing request.------ /See:/ 'listAlertFeedbackResponse' smart constructor.-newtype ListAlertFeedbackResponse =- ListAlertFeedbackResponse'- { _lafrFeedback :: Maybe [AlertFeedback]- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListAlertFeedbackResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lafrFeedback'-listAlertFeedbackResponse- :: ListAlertFeedbackResponse-listAlertFeedbackResponse = ListAlertFeedbackResponse' {_lafrFeedback = Nothing}----- | The list of alert feedback. Feedback entries for each alert are ordered--- by creation time descending.-lafrFeedback :: Lens' ListAlertFeedbackResponse [AlertFeedback]-lafrFeedback- = lens _lafrFeedback (\ s a -> s{_lafrFeedback = a})- . _Default- . _Coerce--instance FromJSON ListAlertFeedbackResponse where- parseJSON- = withObject "ListAlertFeedbackResponse"- (\ o ->- ListAlertFeedbackResponse' <$>- (o .:? "feedback" .!= mempty))--instance ToJSON ListAlertFeedbackResponse where- toJSON ListAlertFeedbackResponse'{..}- = object- (catMaybes [("feedback" .=) <$> _lafrFeedback])---- | The details of the login action.------ /See:/ 'loginDetails' smart constructor.-data LoginDetails =- LoginDetails'- { _ldIPAddress :: !(Maybe Text)- , _ldLoginTime :: !(Maybe DateTime')- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LoginDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ldIPAddress'------ * 'ldLoginTime'-loginDetails- :: LoginDetails-loginDetails = LoginDetails' {_ldIPAddress = Nothing, _ldLoginTime = Nothing}----- | Optional. The human-readable IP address (for example, \`11.22.33.44\`)--- that is associated with the warning event.-ldIPAddress :: Lens' LoginDetails (Maybe Text)-ldIPAddress- = lens _ldIPAddress (\ s a -> s{_ldIPAddress = a})---- | Optional. The successful login time that is associated with the warning--- event. This will not be present for blocked login attempts.-ldLoginTime :: Lens' LoginDetails (Maybe UTCTime)-ldLoginTime- = lens _ldLoginTime (\ s a -> s{_ldLoginTime = a}) .- mapping _DateTime--instance FromJSON LoginDetails where- parseJSON- = withObject "LoginDetails"- (\ o ->- LoginDetails' <$>- (o .:? "ipAddress") <*> (o .:? "loginTime"))--instance ToJSON LoginDetails where- toJSON LoginDetails'{..}- = object- (catMaybes- [("ipAddress" .=) <$> _ldIPAddress,- ("loginTime" .=) <$> _ldLoginTime])---- | Entity whose actions triggered a Gmail phishing alert.------ /See:/ 'maliciousEntity' smart constructor.-newtype MaliciousEntity =- MaliciousEntity'- { _meFromHeader :: Maybe Text- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MaliciousEntity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'meFromHeader'-maliciousEntity- :: MaliciousEntity-maliciousEntity = MaliciousEntity' {_meFromHeader = Nothing}----- | The sender email address.-meFromHeader :: Lens' MaliciousEntity (Maybe Text)-meFromHeader- = lens _meFromHeader (\ s a -> s{_meFromHeader = a})--instance FromJSON MaliciousEntity where- parseJSON- = withObject "MaliciousEntity"- (\ o -> MaliciousEntity' <$> (o .:? "fromHeader"))--instance ToJSON MaliciousEntity where- toJSON MaliciousEntity'{..}- = object- (catMaybes [("fromHeader" .=) <$> _meFromHeader])
− gen/Network/Google/AlertCenter/Types/Sum.hs
@@ -1,117 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.AlertCenter.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.AlertCenter.Types.Sum where--import Network.Google.Prelude hiding (Bytes)---- | Optional. The format of the payload that would be sent. If not specified--- the format will be JSON.-data CloudPubsubTopicPayloadFormat- = PayloadFormatUnspecified- -- ^ @PAYLOAD_FORMAT_UNSPECIFIED@- -- Payload format is not specified (will use JSON as default).- | JSON- -- ^ @JSON@- -- Use JSON.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CloudPubsubTopicPayloadFormat--instance FromHttpApiData CloudPubsubTopicPayloadFormat where- parseQueryParam = \case- "PAYLOAD_FORMAT_UNSPECIFIED" -> Right PayloadFormatUnspecified- "JSON" -> Right JSON- x -> Left ("Unable to parse CloudPubsubTopicPayloadFormat from: " <> x)--instance ToHttpApiData CloudPubsubTopicPayloadFormat where- toQueryParam = \case- PayloadFormatUnspecified -> "PAYLOAD_FORMAT_UNSPECIFIED"- JSON -> "JSON"--instance FromJSON CloudPubsubTopicPayloadFormat where- parseJSON = parseJSONText "CloudPubsubTopicPayloadFormat"--instance ToJSON CloudPubsubTopicPayloadFormat where- toJSON = toJSONText---- | Required. The type of the feedback.-data AlertFeedbackType- = AlertFeedbackTypeUnspecified- -- ^ @ALERT_FEEDBACK_TYPE_UNSPECIFIED@- -- The feedback type is not specified.- | NotUseful- -- ^ @NOT_USEFUL@- -- The alert report is not useful.- | SomewhatUseful- -- ^ @SOMEWHAT_USEFUL@- -- The alert report is somewhat useful.- | VeryUseful- -- ^ @VERY_USEFUL@- -- The alert report is very useful.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable AlertFeedbackType--instance FromHttpApiData AlertFeedbackType where- parseQueryParam = \case- "ALERT_FEEDBACK_TYPE_UNSPECIFIED" -> Right AlertFeedbackTypeUnspecified- "NOT_USEFUL" -> Right NotUseful- "SOMEWHAT_USEFUL" -> Right SomewhatUseful- "VERY_USEFUL" -> Right VeryUseful- x -> Left ("Unable to parse AlertFeedbackType from: " <> x)--instance ToHttpApiData AlertFeedbackType where- toQueryParam = \case- AlertFeedbackTypeUnspecified -> "ALERT_FEEDBACK_TYPE_UNSPECIFIED"- NotUseful -> "NOT_USEFUL"- SomewhatUseful -> "SOMEWHAT_USEFUL"- VeryUseful -> "VERY_USEFUL"--instance FromJSON AlertFeedbackType where- parseJSON = parseJSONText "AlertFeedbackType"--instance ToJSON AlertFeedbackType where- toJSON = toJSONText---- | V1 error format.-data Xgafv- = X1- -- ^ @1@- -- v1 error format- | X2- -- ^ @2@- -- v2 error format- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable Xgafv--instance FromHttpApiData Xgafv where- parseQueryParam = \case- "1" -> Right X1- "2" -> Right X2- x -> Left ("Unable to parse Xgafv from: " <> x)--instance ToHttpApiData Xgafv where- toQueryParam = \case- X1 -> "1"- X2 -> "2"--instance FromJSON Xgafv where- parseJSON = parseJSONText "Xgafv"--instance ToJSON Xgafv where- toJSON = toJSONText
− gen/Network/Google/Resource/AlertCenter/Alerts/Delete.hs
@@ -1,170 +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.AlertCenter.Alerts.Delete--- 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)------ Marks the specified alert for deletion. An alert that has been marked--- for deletion is removed from Alert Center after 30 days. Marking an--- alert for deletion has no effect on an alert which has already been--- marked for deletion. Attempting to mark a nonexistent alert for deletion--- results in a \`NOT_FOUND\` error.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.delete@.-module Network.Google.Resource.AlertCenter.Alerts.Delete- (- -- * REST Resource- AlertsDeleteResource-- -- * Creating a Request- , alertsDelete- , AlertsDelete-- -- * Request Lenses- , adXgafv- , adUploadProtocol- , adAccessToken- , adAlertId- , adUploadType- , adCustomerId- , adCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.delete@ method which the--- 'AlertsDelete' request conforms to.-type AlertsDeleteResource =- "v1beta1" :>- "alerts" :>- Capture "alertId" Text :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :> Delete '[JSON] Empty---- | Marks the specified alert for deletion. An alert that has been marked--- for deletion is removed from Alert Center after 30 days. Marking an--- alert for deletion has no effect on an alert which has already been--- marked for deletion. Attempting to mark a nonexistent alert for deletion--- results in a \`NOT_FOUND\` error.------ /See:/ 'alertsDelete' smart constructor.-data AlertsDelete =- AlertsDelete'- { _adXgafv :: !(Maybe Xgafv)- , _adUploadProtocol :: !(Maybe Text)- , _adAccessToken :: !(Maybe Text)- , _adAlertId :: !Text- , _adUploadType :: !(Maybe Text)- , _adCustomerId :: !(Maybe Text)- , _adCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adXgafv'------ * 'adUploadProtocol'------ * 'adAccessToken'------ * 'adAlertId'------ * 'adUploadType'------ * 'adCustomerId'------ * 'adCallback'-alertsDelete- :: Text -- ^ 'adAlertId'- -> AlertsDelete-alertsDelete pAdAlertId_ =- AlertsDelete'- { _adXgafv = Nothing- , _adUploadProtocol = Nothing- , _adAccessToken = Nothing- , _adAlertId = pAdAlertId_- , _adUploadType = Nothing- , _adCustomerId = Nothing- , _adCallback = Nothing- }----- | V1 error format.-adXgafv :: Lens' AlertsDelete (Maybe Xgafv)-adXgafv = lens _adXgafv (\ s a -> s{_adXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-adUploadProtocol :: Lens' AlertsDelete (Maybe Text)-adUploadProtocol- = lens _adUploadProtocol- (\ s a -> s{_adUploadProtocol = a})---- | OAuth access token.-adAccessToken :: Lens' AlertsDelete (Maybe Text)-adAccessToken- = lens _adAccessToken- (\ s a -> s{_adAccessToken = a})---- | Required. The identifier of the alert to delete.-adAlertId :: Lens' AlertsDelete Text-adAlertId- = lens _adAlertId (\ s a -> s{_adAlertId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-adUploadType :: Lens' AlertsDelete (Maybe Text)-adUploadType- = lens _adUploadType (\ s a -> s{_adUploadType = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert is associated with. Inferred from the caller--- identity if not provided.-adCustomerId :: Lens' AlertsDelete (Maybe Text)-adCustomerId- = lens _adCustomerId (\ s a -> s{_adCustomerId = a})---- | JSONP-adCallback :: Lens' AlertsDelete (Maybe Text)-adCallback- = lens _adCallback (\ s a -> s{_adCallback = a})--instance GoogleRequest AlertsDelete where- type Rs AlertsDelete = Empty- type Scopes AlertsDelete =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsDelete'{..}- = go _adAlertId _adXgafv _adUploadProtocol- _adAccessToken- _adUploadType- _adCustomerId- _adCallback- (Just AltJSON)- alertCenterService- where go- = buildClient (Proxy :: Proxy AlertsDeleteResource)- mempty
− gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/Create.hs
@@ -1,182 +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.AlertCenter.Alerts.Feedback.Create--- 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)------ Creates new feedback for an alert. Attempting to create a feedback for a--- non-existent alert returns \`NOT_FOUND\` error.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.feedback.create@.-module Network.Google.Resource.AlertCenter.Alerts.Feedback.Create- (- -- * REST Resource- AlertsFeedbackCreateResource-- -- * Creating a Request- , alertsFeedbackCreate- , AlertsFeedbackCreate-- -- * Request Lenses- , afcXgafv- , afcUploadProtocol- , afcAccessToken- , afcAlertId- , afcUploadType- , afcPayload- , afcCustomerId- , afcCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.feedback.create@ method which the--- 'AlertsFeedbackCreate' request conforms to.-type AlertsFeedbackCreateResource =- "v1beta1" :>- "alerts" :>- Capture "alertId" Text :>- "feedback" :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] AlertFeedback :>- Post '[JSON] AlertFeedback---- | Creates new feedback for an alert. Attempting to create a feedback for a--- non-existent alert returns \`NOT_FOUND\` error.------ /See:/ 'alertsFeedbackCreate' smart constructor.-data AlertsFeedbackCreate =- AlertsFeedbackCreate'- { _afcXgafv :: !(Maybe Xgafv)- , _afcUploadProtocol :: !(Maybe Text)- , _afcAccessToken :: !(Maybe Text)- , _afcAlertId :: !Text- , _afcUploadType :: !(Maybe Text)- , _afcPayload :: !AlertFeedback- , _afcCustomerId :: !(Maybe Text)- , _afcCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsFeedbackCreate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afcXgafv'------ * 'afcUploadProtocol'------ * 'afcAccessToken'------ * 'afcAlertId'------ * 'afcUploadType'------ * 'afcPayload'------ * 'afcCustomerId'------ * 'afcCallback'-alertsFeedbackCreate- :: Text -- ^ 'afcAlertId'- -> AlertFeedback -- ^ 'afcPayload'- -> AlertsFeedbackCreate-alertsFeedbackCreate pAfcAlertId_ pAfcPayload_ =- AlertsFeedbackCreate'- { _afcXgafv = Nothing- , _afcUploadProtocol = Nothing- , _afcAccessToken = Nothing- , _afcAlertId = pAfcAlertId_- , _afcUploadType = Nothing- , _afcPayload = pAfcPayload_- , _afcCustomerId = Nothing- , _afcCallback = Nothing- }----- | V1 error format.-afcXgafv :: Lens' AlertsFeedbackCreate (Maybe Xgafv)-afcXgafv = lens _afcXgafv (\ s a -> s{_afcXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-afcUploadProtocol :: Lens' AlertsFeedbackCreate (Maybe Text)-afcUploadProtocol- = lens _afcUploadProtocol- (\ s a -> s{_afcUploadProtocol = a})---- | OAuth access token.-afcAccessToken :: Lens' AlertsFeedbackCreate (Maybe Text)-afcAccessToken- = lens _afcAccessToken- (\ s a -> s{_afcAccessToken = a})---- | Required. The identifier of the alert this feedback belongs to.-afcAlertId :: Lens' AlertsFeedbackCreate Text-afcAlertId- = lens _afcAlertId (\ s a -> s{_afcAlertId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-afcUploadType :: Lens' AlertsFeedbackCreate (Maybe Text)-afcUploadType- = lens _afcUploadType- (\ s a -> s{_afcUploadType = a})---- | Multipart request metadata.-afcPayload :: Lens' AlertsFeedbackCreate AlertFeedback-afcPayload- = lens _afcPayload (\ s a -> s{_afcPayload = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert is associated with. Inferred from the caller--- identity if not provided.-afcCustomerId :: Lens' AlertsFeedbackCreate (Maybe Text)-afcCustomerId- = lens _afcCustomerId- (\ s a -> s{_afcCustomerId = a})---- | JSONP-afcCallback :: Lens' AlertsFeedbackCreate (Maybe Text)-afcCallback- = lens _afcCallback (\ s a -> s{_afcCallback = a})--instance GoogleRequest AlertsFeedbackCreate where- type Rs AlertsFeedbackCreate = AlertFeedback- type Scopes AlertsFeedbackCreate =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsFeedbackCreate'{..}- = go _afcAlertId _afcXgafv _afcUploadProtocol- _afcAccessToken- _afcUploadType- _afcCustomerId- _afcCallback- (Just AltJSON)- _afcPayload- alertCenterService- where go- = buildClient- (Proxy :: Proxy AlertsFeedbackCreateResource)- mempty
− gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/List.hs
@@ -1,187 +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.AlertCenter.Alerts.Feedback.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)------ Lists all the feedback for an alert. Attempting to list feedbacks for a--- non-existent alert returns \`NOT_FOUND\` error.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.feedback.list@.-module Network.Google.Resource.AlertCenter.Alerts.Feedback.List- (- -- * REST Resource- AlertsFeedbackListResource-- -- * Creating a Request- , alertsFeedbackList- , AlertsFeedbackList-- -- * Request Lenses- , aflXgafv- , aflUploadProtocol- , aflAccessToken- , aflAlertId- , aflUploadType- , aflCustomerId- , aflFilter- , aflCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.feedback.list@ method which the--- 'AlertsFeedbackList' request conforms to.-type AlertsFeedbackListResource =- "v1beta1" :>- "alerts" :>- Capture "alertId" Text :>- "feedback" :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "filter" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- Get '[JSON] ListAlertFeedbackResponse---- | Lists all the feedback for an alert. Attempting to list feedbacks for a--- non-existent alert returns \`NOT_FOUND\` error.------ /See:/ 'alertsFeedbackList' smart constructor.-data AlertsFeedbackList =- AlertsFeedbackList'- { _aflXgafv :: !(Maybe Xgafv)- , _aflUploadProtocol :: !(Maybe Text)- , _aflAccessToken :: !(Maybe Text)- , _aflAlertId :: !Text- , _aflUploadType :: !(Maybe Text)- , _aflCustomerId :: !(Maybe Text)- , _aflFilter :: !(Maybe Text)- , _aflCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsFeedbackList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aflXgafv'------ * 'aflUploadProtocol'------ * 'aflAccessToken'------ * 'aflAlertId'------ * 'aflUploadType'------ * 'aflCustomerId'------ * 'aflFilter'------ * 'aflCallback'-alertsFeedbackList- :: Text -- ^ 'aflAlertId'- -> AlertsFeedbackList-alertsFeedbackList pAflAlertId_ =- AlertsFeedbackList'- { _aflXgafv = Nothing- , _aflUploadProtocol = Nothing- , _aflAccessToken = Nothing- , _aflAlertId = pAflAlertId_- , _aflUploadType = Nothing- , _aflCustomerId = Nothing- , _aflFilter = Nothing- , _aflCallback = Nothing- }----- | V1 error format.-aflXgafv :: Lens' AlertsFeedbackList (Maybe Xgafv)-aflXgafv = lens _aflXgafv (\ s a -> s{_aflXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-aflUploadProtocol :: Lens' AlertsFeedbackList (Maybe Text)-aflUploadProtocol- = lens _aflUploadProtocol- (\ s a -> s{_aflUploadProtocol = a})---- | OAuth access token.-aflAccessToken :: Lens' AlertsFeedbackList (Maybe Text)-aflAccessToken- = lens _aflAccessToken- (\ s a -> s{_aflAccessToken = a})---- | Required. The alert identifier. The \"-\" wildcard could be used to--- represent all alerts.-aflAlertId :: Lens' AlertsFeedbackList Text-aflAlertId- = lens _aflAlertId (\ s a -> s{_aflAlertId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-aflUploadType :: Lens' AlertsFeedbackList (Maybe Text)-aflUploadType- = lens _aflUploadType- (\ s a -> s{_aflUploadType = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert feedback are associated with. Inferred from the--- caller identity if not provided.-aflCustomerId :: Lens' AlertsFeedbackList (Maybe Text)-aflCustomerId- = lens _aflCustomerId- (\ s a -> s{_aflCustomerId = a})---- | Optional. A query string for filtering alert feedback results. For more--- details, see [Query--- filters](\/admin-sdk\/alertcenter\/guides\/query-filters) and [Supported--- query filter--- fields](\/admin-sdk\/alertcenter\/reference\/filter-fields#alerts.feedback.list).-aflFilter :: Lens' AlertsFeedbackList (Maybe Text)-aflFilter- = lens _aflFilter (\ s a -> s{_aflFilter = a})---- | JSONP-aflCallback :: Lens' AlertsFeedbackList (Maybe Text)-aflCallback- = lens _aflCallback (\ s a -> s{_aflCallback = a})--instance GoogleRequest AlertsFeedbackList where- type Rs AlertsFeedbackList =- ListAlertFeedbackResponse- type Scopes AlertsFeedbackList =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsFeedbackList'{..}- = go _aflAlertId _aflXgafv _aflUploadProtocol- _aflAccessToken- _aflUploadType- _aflCustomerId- _aflFilter- _aflCallback- (Just AltJSON)- alertCenterService- where go- = buildClient- (Proxy :: Proxy AlertsFeedbackListResource)- mempty
− gen/Network/Google/Resource/AlertCenter/Alerts/Get.hs
@@ -1,164 +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.AlertCenter.Alerts.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)------ Gets the specified alert. Attempting to get a nonexistent alert returns--- \`NOT_FOUND\` error.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.get@.-module Network.Google.Resource.AlertCenter.Alerts.Get- (- -- * REST Resource- AlertsGetResource-- -- * Creating a Request- , alertsGet- , AlertsGet-- -- * Request Lenses- , agXgafv- , agUploadProtocol- , agAccessToken- , agAlertId- , agUploadType- , agCustomerId- , agCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.get@ method which the--- 'AlertsGet' request conforms to.-type AlertsGetResource =- "v1beta1" :>- "alerts" :>- Capture "alertId" Text :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :> Get '[JSON] Alert---- | Gets the specified alert. Attempting to get a nonexistent alert returns--- \`NOT_FOUND\` error.------ /See:/ 'alertsGet' smart constructor.-data AlertsGet =- AlertsGet'- { _agXgafv :: !(Maybe Xgafv)- , _agUploadProtocol :: !(Maybe Text)- , _agAccessToken :: !(Maybe Text)- , _agAlertId :: !Text- , _agUploadType :: !(Maybe Text)- , _agCustomerId :: !(Maybe Text)- , _agCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'agXgafv'------ * 'agUploadProtocol'------ * 'agAccessToken'------ * 'agAlertId'------ * 'agUploadType'------ * 'agCustomerId'------ * 'agCallback'-alertsGet- :: Text -- ^ 'agAlertId'- -> AlertsGet-alertsGet pAgAlertId_ =- AlertsGet'- { _agXgafv = Nothing- , _agUploadProtocol = Nothing- , _agAccessToken = Nothing- , _agAlertId = pAgAlertId_- , _agUploadType = Nothing- , _agCustomerId = Nothing- , _agCallback = Nothing- }----- | V1 error format.-agXgafv :: Lens' AlertsGet (Maybe Xgafv)-agXgafv = lens _agXgafv (\ s a -> s{_agXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-agUploadProtocol :: Lens' AlertsGet (Maybe Text)-agUploadProtocol- = lens _agUploadProtocol- (\ s a -> s{_agUploadProtocol = a})---- | OAuth access token.-agAccessToken :: Lens' AlertsGet (Maybe Text)-agAccessToken- = lens _agAccessToken- (\ s a -> s{_agAccessToken = a})---- | Required. The identifier of the alert to retrieve.-agAlertId :: Lens' AlertsGet Text-agAlertId- = lens _agAlertId (\ s a -> s{_agAlertId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-agUploadType :: Lens' AlertsGet (Maybe Text)-agUploadType- = lens _agUploadType (\ s a -> s{_agUploadType = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert is associated with. Inferred from the caller--- identity if not provided.-agCustomerId :: Lens' AlertsGet (Maybe Text)-agCustomerId- = lens _agCustomerId (\ s a -> s{_agCustomerId = a})---- | JSONP-agCallback :: Lens' AlertsGet (Maybe Text)-agCallback- = lens _agCallback (\ s a -> s{_agCallback = a})--instance GoogleRequest AlertsGet where- type Rs AlertsGet = Alert- type Scopes AlertsGet =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsGet'{..}- = go _agAlertId _agXgafv _agUploadProtocol- _agAccessToken- _agUploadType- _agCustomerId- _agCallback- (Just AltJSON)- alertCenterService- where go- = buildClient (Proxy :: Proxy AlertsGetResource)- mempty
− gen/Network/Google/Resource/AlertCenter/Alerts/List.hs
@@ -1,209 +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.AlertCenter.Alerts.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)------ Lists the alerts.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.list@.-module Network.Google.Resource.AlertCenter.Alerts.List- (- -- * REST Resource- AlertsListResource-- -- * Creating a Request- , alertsList- , AlertsList-- -- * Request Lenses- , alXgafv- , alUploadProtocol- , alOrderBy- , alAccessToken- , alUploadType- , alCustomerId- , alFilter- , alPageToken- , alPageSize- , alCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.list@ method which the--- 'AlertsList' request conforms to.-type AlertsListResource =- "v1beta1" :>- "alerts" :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "orderBy" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "pageSize" (Textual Int32) :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- Get '[JSON] ListAlertsResponse---- | Lists the alerts.------ /See:/ 'alertsList' smart constructor.-data AlertsList =- AlertsList'- { _alXgafv :: !(Maybe Xgafv)- , _alUploadProtocol :: !(Maybe Text)- , _alOrderBy :: !(Maybe Text)- , _alAccessToken :: !(Maybe Text)- , _alUploadType :: !(Maybe Text)- , _alCustomerId :: !(Maybe Text)- , _alFilter :: !(Maybe Text)- , _alPageToken :: !(Maybe Text)- , _alPageSize :: !(Maybe (Textual Int32))- , _alCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alXgafv'------ * 'alUploadProtocol'------ * 'alOrderBy'------ * 'alAccessToken'------ * 'alUploadType'------ * 'alCustomerId'------ * 'alFilter'------ * 'alPageToken'------ * 'alPageSize'------ * 'alCallback'-alertsList- :: AlertsList-alertsList =- AlertsList'- { _alXgafv = Nothing- , _alUploadProtocol = Nothing- , _alOrderBy = Nothing- , _alAccessToken = Nothing- , _alUploadType = Nothing- , _alCustomerId = Nothing- , _alFilter = Nothing- , _alPageToken = Nothing- , _alPageSize = Nothing- , _alCallback = Nothing- }----- | V1 error format.-alXgafv :: Lens' AlertsList (Maybe Xgafv)-alXgafv = lens _alXgafv (\ s a -> s{_alXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-alUploadProtocol :: Lens' AlertsList (Maybe Text)-alUploadProtocol- = lens _alUploadProtocol- (\ s a -> s{_alUploadProtocol = a})---- | Optional. The sort order of the list results. If not specified results--- may be returned in arbitrary order. You can sort the results in--- descending order based on the creation timestamp using--- \`order_by=\"create_time desc\"\`. Currently, supported sorting are--- \`create_time asc\`, \`create_time desc\`, \`update_time desc\`-alOrderBy :: Lens' AlertsList (Maybe Text)-alOrderBy- = lens _alOrderBy (\ s a -> s{_alOrderBy = a})---- | OAuth access token.-alAccessToken :: Lens' AlertsList (Maybe Text)-alAccessToken- = lens _alAccessToken- (\ s a -> s{_alAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-alUploadType :: Lens' AlertsList (Maybe Text)-alUploadType- = lens _alUploadType (\ s a -> s{_alUploadType = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alerts are associated with. Inferred from the caller--- identity if not provided.-alCustomerId :: Lens' AlertsList (Maybe Text)-alCustomerId- = lens _alCustomerId (\ s a -> s{_alCustomerId = a})---- | Optional. A query string for filtering alert results. For more details,--- see [Query filters](\/admin-sdk\/alertcenter\/guides\/query-filters) and--- [Supported query filter--- fields](\/admin-sdk\/alertcenter\/reference\/filter-fields#alerts.list).-alFilter :: Lens' AlertsList (Maybe Text)-alFilter = lens _alFilter (\ s a -> s{_alFilter = a})---- | Optional. A token identifying a page of results the server should--- return. If empty, a new iteration is started. To continue an iteration,--- pass in the value from the previous ListAlertsResponse\'s--- next_page_token field.-alPageToken :: Lens' AlertsList (Maybe Text)-alPageToken- = lens _alPageToken (\ s a -> s{_alPageToken = a})---- | Optional. The requested page size. Server may return fewer items than--- requested. If unspecified, server picks an appropriate default.-alPageSize :: Lens' AlertsList (Maybe Int32)-alPageSize- = lens _alPageSize (\ s a -> s{_alPageSize = a}) .- mapping _Coerce---- | JSONP-alCallback :: Lens' AlertsList (Maybe Text)-alCallback- = lens _alCallback (\ s a -> s{_alCallback = a})--instance GoogleRequest AlertsList where- type Rs AlertsList = ListAlertsResponse- type Scopes AlertsList =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsList'{..}- = go _alXgafv _alUploadProtocol _alOrderBy- _alAccessToken- _alUploadType- _alCustomerId- _alFilter- _alPageToken- _alPageSize- _alCallback- (Just AltJSON)- alertCenterService- where go- = buildClient (Proxy :: Proxy AlertsListResource)- mempty
− gen/Network/Google/Resource/AlertCenter/Alerts/Undelete.hs
@@ -1,172 +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.AlertCenter.Alerts.Undelete--- 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)------ Restores, or \"undeletes\", an alert that was marked for deletion within--- the past 30 days. Attempting to undelete an alert which was marked for--- deletion over 30 days ago (which has been removed from the Alert Center--- database) or a nonexistent alert returns a \`NOT_FOUND\` error.--- Attempting to undelete an alert which has not been marked for deletion--- has no effect.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.alerts.undelete@.-module Network.Google.Resource.AlertCenter.Alerts.Undelete- (- -- * REST Resource- AlertsUndeleteResource-- -- * Creating a Request- , alertsUndelete- , AlertsUndelete-- -- * Request Lenses- , auXgafv- , auUploadProtocol- , auAccessToken- , auAlertId- , auUploadType- , auPayload- , auCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.alerts.undelete@ method which the--- 'AlertsUndelete' request conforms to.-type AlertsUndeleteResource =- "v1beta1" :>- "alerts" :>- CaptureMode "alertId" "undelete" Text :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] UndeleteAlertRequest :>- Post '[JSON] Alert---- | Restores, or \"undeletes\", an alert that was marked for deletion within--- the past 30 days. Attempting to undelete an alert which was marked for--- deletion over 30 days ago (which has been removed from the Alert Center--- database) or a nonexistent alert returns a \`NOT_FOUND\` error.--- Attempting to undelete an alert which has not been marked for deletion--- has no effect.------ /See:/ 'alertsUndelete' smart constructor.-data AlertsUndelete =- AlertsUndelete'- { _auXgafv :: !(Maybe Xgafv)- , _auUploadProtocol :: !(Maybe Text)- , _auAccessToken :: !(Maybe Text)- , _auAlertId :: !Text- , _auUploadType :: !(Maybe Text)- , _auPayload :: !UndeleteAlertRequest- , _auCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'AlertsUndelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'auXgafv'------ * 'auUploadProtocol'------ * 'auAccessToken'------ * 'auAlertId'------ * 'auUploadType'------ * 'auPayload'------ * 'auCallback'-alertsUndelete- :: Text -- ^ 'auAlertId'- -> UndeleteAlertRequest -- ^ 'auPayload'- -> AlertsUndelete-alertsUndelete pAuAlertId_ pAuPayload_ =- AlertsUndelete'- { _auXgafv = Nothing- , _auUploadProtocol = Nothing- , _auAccessToken = Nothing- , _auAlertId = pAuAlertId_- , _auUploadType = Nothing- , _auPayload = pAuPayload_- , _auCallback = Nothing- }----- | V1 error format.-auXgafv :: Lens' AlertsUndelete (Maybe Xgafv)-auXgafv = lens _auXgafv (\ s a -> s{_auXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-auUploadProtocol :: Lens' AlertsUndelete (Maybe Text)-auUploadProtocol- = lens _auUploadProtocol- (\ s a -> s{_auUploadProtocol = a})---- | OAuth access token.-auAccessToken :: Lens' AlertsUndelete (Maybe Text)-auAccessToken- = lens _auAccessToken- (\ s a -> s{_auAccessToken = a})---- | Required. The identifier of the alert to undelete.-auAlertId :: Lens' AlertsUndelete Text-auAlertId- = lens _auAlertId (\ s a -> s{_auAlertId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-auUploadType :: Lens' AlertsUndelete (Maybe Text)-auUploadType- = lens _auUploadType (\ s a -> s{_auUploadType = a})---- | Multipart request metadata.-auPayload :: Lens' AlertsUndelete UndeleteAlertRequest-auPayload- = lens _auPayload (\ s a -> s{_auPayload = a})---- | JSONP-auCallback :: Lens' AlertsUndelete (Maybe Text)-auCallback- = lens _auCallback (\ s a -> s{_auCallback = a})--instance GoogleRequest AlertsUndelete where- type Rs AlertsUndelete = Alert- type Scopes AlertsUndelete =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient AlertsUndelete'{..}- = go _auAlertId _auXgafv _auUploadProtocol- _auAccessToken- _auUploadType- _auCallback- (Just AltJSON)- _auPayload- alertCenterService- where go- = buildClient (Proxy :: Proxy AlertsUndeleteResource)- mempty
− gen/Network/Google/Resource/AlertCenter/GetSettings.hs
@@ -1,149 +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.AlertCenter.GetSettings--- 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)------ Returns customer-level settings.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.getSettings@.-module Network.Google.Resource.AlertCenter.GetSettings- (- -- * REST Resource- GetSettingsResource-- -- * Creating a Request- , getSettings- , GetSettings-- -- * Request Lenses- , gsXgafv- , gsUploadProtocol- , gsAccessToken- , gsUploadType- , gsCustomerId- , gsCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.getSettings@ method which the--- 'GetSettings' request conforms to.-type GetSettingsResource =- "v1beta1" :>- "settings" :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :> Get '[JSON] Settings---- | Returns customer-level settings.------ /See:/ 'getSettings' smart constructor.-data GetSettings =- GetSettings'- { _gsXgafv :: !(Maybe Xgafv)- , _gsUploadProtocol :: !(Maybe Text)- , _gsAccessToken :: !(Maybe Text)- , _gsUploadType :: !(Maybe Text)- , _gsCustomerId :: !(Maybe Text)- , _gsCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsXgafv'------ * 'gsUploadProtocol'------ * 'gsAccessToken'------ * 'gsUploadType'------ * 'gsCustomerId'------ * 'gsCallback'-getSettings- :: GetSettings-getSettings =- GetSettings'- { _gsXgafv = Nothing- , _gsUploadProtocol = Nothing- , _gsAccessToken = Nothing- , _gsUploadType = Nothing- , _gsCustomerId = Nothing- , _gsCallback = Nothing- }----- | V1 error format.-gsXgafv :: Lens' GetSettings (Maybe Xgafv)-gsXgafv = lens _gsXgafv (\ s a -> s{_gsXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gsUploadProtocol :: Lens' GetSettings (Maybe Text)-gsUploadProtocol- = lens _gsUploadProtocol- (\ s a -> s{_gsUploadProtocol = a})---- | OAuth access token.-gsAccessToken :: Lens' GetSettings (Maybe Text)-gsAccessToken- = lens _gsAccessToken- (\ s a -> s{_gsAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gsUploadType :: Lens' GetSettings (Maybe Text)-gsUploadType- = lens _gsUploadType (\ s a -> s{_gsUploadType = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert settings are associated with. Inferred from the--- caller identity if not provided.-gsCustomerId :: Lens' GetSettings (Maybe Text)-gsCustomerId- = lens _gsCustomerId (\ s a -> s{_gsCustomerId = a})---- | JSONP-gsCallback :: Lens' GetSettings (Maybe Text)-gsCallback- = lens _gsCallback (\ s a -> s{_gsCallback = a})--instance GoogleRequest GetSettings where- type Rs GetSettings = Settings- type Scopes GetSettings =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient GetSettings'{..}- = go _gsXgafv _gsUploadProtocol _gsAccessToken- _gsUploadType- _gsCustomerId- _gsCallback- (Just AltJSON)- alertCenterService- where go- = buildClient (Proxy :: Proxy GetSettingsResource)- mempty
− gen/Network/Google/Resource/AlertCenter/UpdateSettings.hs
@@ -1,162 +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.AlertCenter.UpdateSettings--- 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)------ Updates the customer-level settings.------ /See:/ <https://developers.google.com/admin-sdk/alertcenter/ G Suite Alert Center API Reference> for @alertcenter.updateSettings@.-module Network.Google.Resource.AlertCenter.UpdateSettings- (- -- * REST Resource- UpdateSettingsResource-- -- * Creating a Request- , updateSettings- , UpdateSettings-- -- * Request Lenses- , usXgafv- , usUploadProtocol- , usAccessToken- , usUploadType- , usPayload- , usCustomerId- , usCallback- ) where--import Network.Google.AlertCenter.Types-import Network.Google.Prelude---- | A resource alias for @alertcenter.updateSettings@ method which the--- 'UpdateSettings' request conforms to.-type UpdateSettingsResource =- "v1beta1" :>- "settings" :>- QueryParam "$.xgafv" Xgafv :>- QueryParam "upload_protocol" Text :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "customerId" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] Settings :> Patch '[JSON] Settings---- | Updates the customer-level settings.------ /See:/ 'updateSettings' smart constructor.-data UpdateSettings =- UpdateSettings'- { _usXgafv :: !(Maybe Xgafv)- , _usUploadProtocol :: !(Maybe Text)- , _usAccessToken :: !(Maybe Text)- , _usUploadType :: !(Maybe Text)- , _usPayload :: !Settings- , _usCustomerId :: !(Maybe Text)- , _usCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usXgafv'------ * 'usUploadProtocol'------ * 'usAccessToken'------ * 'usUploadType'------ * 'usPayload'------ * 'usCustomerId'------ * 'usCallback'-updateSettings- :: Settings -- ^ 'usPayload'- -> UpdateSettings-updateSettings pUsPayload_ =- UpdateSettings'- { _usXgafv = Nothing- , _usUploadProtocol = Nothing- , _usAccessToken = Nothing- , _usUploadType = Nothing- , _usPayload = pUsPayload_- , _usCustomerId = Nothing- , _usCallback = Nothing- }----- | V1 error format.-usXgafv :: Lens' UpdateSettings (Maybe Xgafv)-usXgafv = lens _usXgafv (\ s a -> s{_usXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-usUploadProtocol :: Lens' UpdateSettings (Maybe Text)-usUploadProtocol- = lens _usUploadProtocol- (\ s a -> s{_usUploadProtocol = a})---- | OAuth access token.-usAccessToken :: Lens' UpdateSettings (Maybe Text)-usAccessToken- = lens _usAccessToken- (\ s a -> s{_usAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-usUploadType :: Lens' UpdateSettings (Maybe Text)-usUploadType- = lens _usUploadType (\ s a -> s{_usUploadType = a})---- | Multipart request metadata.-usPayload :: Lens' UpdateSettings Settings-usPayload- = lens _usPayload (\ s a -> s{_usPayload = a})---- | Optional. The unique identifier of the G Suite organization account of--- the customer the alert settings are associated with. Inferred from the--- caller identity if not provided.-usCustomerId :: Lens' UpdateSettings (Maybe Text)-usCustomerId- = lens _usCustomerId (\ s a -> s{_usCustomerId = a})---- | JSONP-usCallback :: Lens' UpdateSettings (Maybe Text)-usCallback- = lens _usCallback (\ s a -> s{_usCallback = a})--instance GoogleRequest UpdateSettings where- type Rs UpdateSettings = Settings- type Scopes UpdateSettings =- '["https://www.googleapis.com/auth/apps.alerts"]- requestClient UpdateSettings'{..}- = go _usXgafv _usUploadProtocol _usAccessToken- _usUploadType- _usCustomerId- _usCallback- (Just AltJSON)- _usPayload- alertCenterService- where go- = buildClient (Proxy :: Proxy UpdateSettingsResource)- mempty
gogol-alertcenter.cabal view
@@ -1,53 +1,71 @@-name: gogol-alertcenter-version: 0.5.0-synopsis: Google G Suite Alert Center 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-alertcenter+version: 1.0.0+synopsis: Google Workspace Alert Center 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:- Manages alerts on issues affecting your 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 @v1beta1@- of the API.+ Manages alerts on issues affecting your domain. Note: The current version of this API (v1beta1) is available to all Google Workspace customers.+ .+ /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 @v1beta1@+ 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-alertcenter +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.AlertCenter- , Network.Google.AlertCenter.Types- , Network.Google.Resource.AlertCenter.Alerts.Delete- , Network.Google.Resource.AlertCenter.Alerts.Feedback.Create- , Network.Google.Resource.AlertCenter.Alerts.Feedback.List- , Network.Google.Resource.AlertCenter.Alerts.Get- , Network.Google.Resource.AlertCenter.Alerts.List- , Network.Google.Resource.AlertCenter.Alerts.Undelete- , Network.Google.Resource.AlertCenter.GetSettings- , Network.Google.Resource.AlertCenter.UpdateSettings+ exposed-modules:+ Gogol.AlertCenter+ Gogol.AlertCenter.Alerts.BatchDelete+ Gogol.AlertCenter.Alerts.BatchUndelete+ Gogol.AlertCenter.Alerts.Delete+ Gogol.AlertCenter.Alerts.Feedback.Create+ Gogol.AlertCenter.Alerts.Feedback.List+ Gogol.AlertCenter.Alerts.Get+ Gogol.AlertCenter.Alerts.GetMetadata+ Gogol.AlertCenter.Alerts.List+ Gogol.AlertCenter.Alerts.Undelete+ Gogol.AlertCenter.GetSettings+ Gogol.AlertCenter.Types+ Gogol.AlertCenter.UpdateSettings - other-modules:- Network.Google.AlertCenter.Types.Product- , Network.Google.AlertCenter.Types.Sum+ other-modules:+ Gogol.AlertCenter.Internal.Product+ Gogol.AlertCenter.Internal.Sum - build-depends:- gogol-core == 0.5.0.*- , base >= 4.7 && < 5+ build-depends: gogol-core ^>=1.0.0