{-# 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 where
import Network.Google.AlertCenter.Types.Sum
import Network.Google.Prelude
data ListAlertsResponse = ListAlertsResponse'
{ _larNextPageToken :: !(Maybe Text)
, _larAlerts :: !(Maybe [Alert])
} deriving (Eq,Show,Data,Typeable,Generic)
listAlertsResponse
:: ListAlertsResponse
listAlertsResponse =
ListAlertsResponse'
{ _larNextPageToken = Nothing
, _larAlerts = Nothing
}
larNextPageToken :: Lens' ListAlertsResponse (Maybe Text)
larNextPageToken
= lens _larNextPageToken
(\ s a -> s{_larNextPageToken = a})
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])
newtype CSVRow = CSVRow'
{ _crEntries :: Maybe [Text]
} deriving (Eq,Show,Data,Typeable,Generic)
csvRow
:: CSVRow
csvRow =
CSVRow'
{ _crEntries = Nothing
}
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])
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)
alertFeedback
:: AlertFeedback
alertFeedback =
AlertFeedback'
{ _afFeedbackId = Nothing
, _afEmail = Nothing
, _afAlertId = Nothing
, _afCustomerId = Nothing
, _afType = Nothing
, _afCreateTime = Nothing
}
afFeedbackId :: Lens' AlertFeedback (Maybe Text)
afFeedbackId
= lens _afFeedbackId (\ s a -> s{_afFeedbackId = a})
afEmail :: Lens' AlertFeedback (Maybe Text)
afEmail = lens _afEmail (\ s a -> s{_afEmail = a})
afAlertId :: Lens' AlertFeedback (Maybe Text)
afAlertId
= lens _afAlertId (\ s a -> s{_afAlertId = a})
afCustomerId :: Lens' AlertFeedback (Maybe Text)
afCustomerId
= lens _afCustomerId (\ s a -> s{_afCustomerId = a})
afType :: Lens' AlertFeedback (Maybe AlertFeedbackType)
afType = lens _afType (\ s a -> s{_afType = a})
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])
data DeviceCompromised = DeviceCompromised'
{ _dcEmail :: !(Maybe Text)
, _dcEvents :: !(Maybe [DeviceCompromisedSecurityDetail])
} deriving (Eq,Show,Data,Typeable,Generic)
deviceCompromised
:: DeviceCompromised
deviceCompromised =
DeviceCompromised'
{ _dcEmail = Nothing
, _dcEvents = Nothing
}
dcEmail :: Lens' DeviceCompromised (Maybe Text)
dcEmail = lens _dcEmail (\ s a -> s{_dcEmail = a})
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])
newtype StateSponsoredAttack = StateSponsoredAttack'
{ _ssaEmail :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
stateSponsoredAttack
:: StateSponsoredAttack
stateSponsoredAttack =
StateSponsoredAttack'
{ _ssaEmail = Nothing
}
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])
data BadWhiteList = BadWhiteList'
{ _bwlSourceIP :: !(Maybe Text)
, _bwlDomainId :: !(Maybe DomainId)
, _bwlMessages :: !(Maybe [GmailMessageInfo])
, _bwlMaliciousEntity :: !(Maybe MaliciousEntity)
} deriving (Eq,Show,Data,Typeable,Generic)
badWhiteList
:: BadWhiteList
badWhiteList =
BadWhiteList'
{ _bwlSourceIP = Nothing
, _bwlDomainId = Nothing
, _bwlMessages = Nothing
, _bwlMaliciousEntity = Nothing
}
bwlSourceIP :: Lens' BadWhiteList (Maybe Text)
bwlSourceIP
= lens _bwlSourceIP (\ s a -> s{_bwlSourceIP = a})
bwlDomainId :: Lens' BadWhiteList (Maybe DomainId)
bwlDomainId
= lens _bwlDomainId (\ s a -> s{_bwlDomainId = a})
bwlMessages :: Lens' BadWhiteList [GmailMessageInfo]
bwlMessages
= lens _bwlMessages (\ s a -> s{_bwlMessages = a}) .
_Default
. _Coerce
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])
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)
suspiciousActivitySecurityDetail
:: SuspiciousActivitySecurityDetail
suspiciousActivitySecurityDetail =
SuspiciousActivitySecurityDetail'
{ _sasdDeviceProperty = Nothing
, _sasdResourceId = Nothing
, _sasdIosVendorId = Nothing
, _sasdOldValue = Nothing
, _sasdNewValue = Nothing
, _sasdDeviceModel = Nothing
, _sasdDeviceId = Nothing
, _sasdDeviceType = Nothing
, _sasdSerialNumber = Nothing
}
sasdDeviceProperty :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdDeviceProperty
= lens _sasdDeviceProperty
(\ s a -> s{_sasdDeviceProperty = a})
sasdResourceId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdResourceId
= lens _sasdResourceId
(\ s a -> s{_sasdResourceId = a})
sasdIosVendorId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdIosVendorId
= lens _sasdIosVendorId
(\ s a -> s{_sasdIosVendorId = a})
sasdOldValue :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdOldValue
= lens _sasdOldValue (\ s a -> s{_sasdOldValue = a})
sasdNewValue :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdNewValue
= lens _sasdNewValue (\ s a -> s{_sasdNewValue = a})
sasdDeviceModel :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdDeviceModel
= lens _sasdDeviceModel
(\ s a -> s{_sasdDeviceModel = a})
sasdDeviceId :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdDeviceId
= lens _sasdDeviceId (\ s a -> s{_sasdDeviceId = a})
sasdDeviceType :: Lens' SuspiciousActivitySecurityDetail (Maybe Text)
sasdDeviceType
= lens _sasdDeviceType
(\ s a -> s{_sasdDeviceType = a})
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])
data Empty =
Empty'
deriving (Eq,Show,Data,Typeable,Generic)
empty
:: Empty
empty = Empty'
instance FromJSON Empty where
parseJSON = withObject "Empty" (\ o -> pure Empty')
instance ToJSON Empty where
toJSON = const emptyObject
newtype UndeleteAlertRequest = UndeleteAlertRequest'
{ _uarCustomerId :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
undeleteAlertRequest
:: UndeleteAlertRequest
undeleteAlertRequest =
UndeleteAlertRequest'
{ _uarCustomerId = Nothing
}
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])
newtype Settings = Settings'
{ _sNotifications :: Maybe [Notification]
} deriving (Eq,Show,Data,Typeable,Generic)
settings
:: Settings
settings =
Settings'
{ _sNotifications = Nothing
}
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])
newtype Notification = Notification'
{ _nCloudPubsubTopic :: Maybe CloudPubsubTopic
} deriving (Eq,Show,Data,Typeable,Generic)
notification
:: Notification
notification =
Notification'
{ _nCloudPubsubTopic = Nothing
}
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])
data AccountWarning = AccountWarning'
{ _awEmail :: !(Maybe Text)
, _awLoginDetails :: !(Maybe LoginDetails)
} deriving (Eq,Show,Data,Typeable,Generic)
accountWarning
:: AccountWarning
accountWarning =
AccountWarning'
{ _awEmail = Nothing
, _awLoginDetails = Nothing
}
awEmail :: Lens' AccountWarning (Maybe Text)
awEmail = lens _awEmail (\ s a -> s{_awEmail = a})
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])
data MailPhishing = MailPhishing'
{ _mpIsInternal :: !(Maybe Bool)
, _mpDomainId :: !(Maybe DomainId)
, _mpMessages :: !(Maybe [GmailMessageInfo])
, _mpMaliciousEntity :: !(Maybe MaliciousEntity)
} deriving (Eq,Show,Data,Typeable,Generic)
mailPhishing
:: MailPhishing
mailPhishing =
MailPhishing'
{ _mpIsInternal = Nothing
, _mpDomainId = Nothing
, _mpMessages = Nothing
, _mpMaliciousEntity = Nothing
}
mpIsInternal :: Lens' MailPhishing (Maybe Bool)
mpIsInternal
= lens _mpIsInternal (\ s a -> s{_mpIsInternal = a})
mpDomainId :: Lens' MailPhishing (Maybe DomainId)
mpDomainId
= lens _mpDomainId (\ s a -> s{_mpDomainId = a})
mpMessages :: Lens' MailPhishing [GmailMessageInfo]
mpMessages
= lens _mpMessages (\ s a -> s{_mpMessages = a}) .
_Default
. _Coerce
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])
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)
gmailMessageInfo
:: GmailMessageInfo
gmailMessageInfo =
GmailMessageInfo'
{ _gmiMD5HashSubject = Nothing
, _gmiSubjectText = Nothing
, _gmiDate = Nothing
, _gmiMD5HashMessageBody = Nothing
, _gmiAttachmentsSha256Hash = Nothing
, _gmiRecipient = Nothing
, _gmiMessageBodySnippet = Nothing
, _gmiMessageId = Nothing
}
gmiMD5HashSubject :: Lens' GmailMessageInfo (Maybe Text)
gmiMD5HashSubject
= lens _gmiMD5HashSubject
(\ s a -> s{_gmiMD5HashSubject = a})
gmiSubjectText :: Lens' GmailMessageInfo (Maybe Text)
gmiSubjectText
= lens _gmiSubjectText
(\ s a -> s{_gmiSubjectText = a})
gmiDate :: Lens' GmailMessageInfo (Maybe UTCTime)
gmiDate
= lens _gmiDate (\ s a -> s{_gmiDate = a}) .
mapping _DateTime
gmiMD5HashMessageBody :: Lens' GmailMessageInfo (Maybe Text)
gmiMD5HashMessageBody
= lens _gmiMD5HashMessageBody
(\ s a -> s{_gmiMD5HashMessageBody = a})
gmiAttachmentsSha256Hash :: Lens' GmailMessageInfo [Text]
gmiAttachmentsSha256Hash
= lens _gmiAttachmentsSha256Hash
(\ s a -> s{_gmiAttachmentsSha256Hash = a})
. _Default
. _Coerce
gmiRecipient :: Lens' GmailMessageInfo (Maybe Text)
gmiRecipient
= lens _gmiRecipient (\ s a -> s{_gmiRecipient = a})
gmiMessageBodySnippet :: Lens' GmailMessageInfo (Maybe Text)
gmiMessageBodySnippet
= lens _gmiMessageBodySnippet
(\ s a -> s{_gmiMessageBodySnippet = a})
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])
newtype AlertData = AlertData'
{ _adAddtional :: HashMap Text JSONValue
} deriving (Eq,Show,Data,Typeable,Generic)
alertData
:: HashMap Text JSONValue
-> AlertData
alertData pAdAddtional_ =
AlertData'
{ _adAddtional = _Coerce # pAdAddtional_
}
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
data PhishingSpike = PhishingSpike'
{ _psIsInternal :: !(Maybe Bool)
, _psDomainId :: !(Maybe DomainId)
, _psMessages :: !(Maybe [GmailMessageInfo])
, _psMaliciousEntity :: !(Maybe MaliciousEntity)
} deriving (Eq,Show,Data,Typeable,Generic)
phishingSpike
:: PhishingSpike
phishingSpike =
PhishingSpike'
{ _psIsInternal = Nothing
, _psDomainId = Nothing
, _psMessages = Nothing
, _psMaliciousEntity = Nothing
}
psIsInternal :: Lens' PhishingSpike (Maybe Bool)
psIsInternal
= lens _psIsInternal (\ s a -> s{_psIsInternal = a})
psDomainId :: Lens' PhishingSpike (Maybe DomainId)
psDomainId
= lens _psDomainId (\ s a -> s{_psDomainId = a})
psMessages :: Lens' PhishingSpike [GmailMessageInfo]
psMessages
= lens _psMessages (\ s a -> s{_psMessages = a}) .
_Default
. _Coerce
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])
data CSV = CSV'
{ _cDataRows :: !(Maybe [CSVRow])
, _cHeaders :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
csv
:: CSV
csv =
CSV'
{ _cDataRows = Nothing
, _cHeaders = Nothing
}
cDataRows :: Lens' CSV [CSVRow]
cDataRows
= lens _cDataRows (\ s a -> s{_cDataRows = a}) .
_Default
. _Coerce
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])
data Alert = Alert'
{ _aStartTime :: !(Maybe DateTime')
, _aData :: !(Maybe AlertData)
, _aAlertId :: !(Maybe Text)
, _aSecurityInvestigationToolLink :: !(Maybe Text)
, _aCustomerId :: !(Maybe Text)
, _aEndTime :: !(Maybe DateTime')
, _aSource :: !(Maybe Text)
, _aDeleted :: !(Maybe Bool)
, _aType :: !(Maybe Text)
, _aCreateTime :: !(Maybe DateTime')
} deriving (Eq,Show,Data,Typeable,Generic)
alert
:: Alert
alert =
Alert'
{ _aStartTime = Nothing
, _aData = Nothing
, _aAlertId = Nothing
, _aSecurityInvestigationToolLink = Nothing
, _aCustomerId = Nothing
, _aEndTime = Nothing
, _aSource = Nothing
, _aDeleted = Nothing
, _aType = Nothing
, _aCreateTime = Nothing
}
aStartTime :: Lens' Alert (Maybe UTCTime)
aStartTime
= lens _aStartTime (\ s a -> s{_aStartTime = a}) .
mapping _DateTime
aData :: Lens' Alert (Maybe AlertData)
aData = lens _aData (\ s a -> s{_aData = a})
aAlertId :: Lens' Alert (Maybe Text)
aAlertId = lens _aAlertId (\ s a -> s{_aAlertId = a})
aSecurityInvestigationToolLink :: Lens' Alert (Maybe Text)
aSecurityInvestigationToolLink
= lens _aSecurityInvestigationToolLink
(\ s a -> s{_aSecurityInvestigationToolLink = a})
aCustomerId :: Lens' Alert (Maybe Text)
aCustomerId
= lens _aCustomerId (\ s a -> s{_aCustomerId = a})
aEndTime :: Lens' Alert (Maybe UTCTime)
aEndTime
= lens _aEndTime (\ s a -> s{_aEndTime = a}) .
mapping _DateTime
aSource :: Lens' Alert (Maybe Text)
aSource = lens _aSource (\ s a -> s{_aSource = a})
aDeleted :: Lens' Alert (Maybe Bool)
aDeleted = lens _aDeleted (\ s a -> s{_aDeleted = a})
aType :: Lens' Alert (Maybe Text)
aType = lens _aType (\ s a -> s{_aType = a})
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 .:? "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,
("endTime" .=) <$> _aEndTime,
("source" .=) <$> _aSource,
("deleted" .=) <$> _aDeleted, ("type" .=) <$> _aType,
("createTime" .=) <$> _aCreateTime])
newtype Attachment = Attachment'
{ _aCSV :: Maybe CSV
} deriving (Eq,Show,Data,Typeable,Generic)
attachment
:: Attachment
attachment =
Attachment'
{ _aCSV = Nothing
}
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])
data GoogleOperations = GoogleOperations'
{ _goAttachmentData :: !(Maybe Attachment)
, _goAffectedUserEmails :: !(Maybe [Text])
, _goTitle :: !(Maybe Text)
, _goDescription :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
googleOperations
:: GoogleOperations
googleOperations =
GoogleOperations'
{ _goAttachmentData = Nothing
, _goAffectedUserEmails = Nothing
, _goTitle = Nothing
, _goDescription = Nothing
}
goAttachmentData :: Lens' GoogleOperations (Maybe Attachment)
goAttachmentData
= lens _goAttachmentData
(\ s a -> s{_goAttachmentData = a})
goAffectedUserEmails :: Lens' GoogleOperations [Text]
goAffectedUserEmails
= lens _goAffectedUserEmails
(\ s a -> s{_goAffectedUserEmails = a})
. _Default
. _Coerce
goTitle :: Lens' GoogleOperations (Maybe Text)
goTitle = lens _goTitle (\ s a -> s{_goTitle = a})
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])
data SuspiciousActivity = SuspiciousActivity'
{ _saEmail :: !(Maybe Text)
, _saEvents :: !(Maybe [SuspiciousActivitySecurityDetail])
} deriving (Eq,Show,Data,Typeable,Generic)
suspiciousActivity
:: SuspiciousActivity
suspiciousActivity =
SuspiciousActivity'
{ _saEmail = Nothing
, _saEvents = Nothing
}
saEmail :: Lens' SuspiciousActivity (Maybe Text)
saEmail = lens _saEmail (\ s a -> s{_saEmail = a})
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])
data DomainWideTakeoutInitiated = DomainWideTakeoutInitiated'
{ _dwtiEmail :: !(Maybe Text)
, _dwtiTakeoutRequestId :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
domainWideTakeoutInitiated
:: DomainWideTakeoutInitiated
domainWideTakeoutInitiated =
DomainWideTakeoutInitiated'
{ _dwtiEmail = Nothing
, _dwtiTakeoutRequestId = Nothing
}
dwtiEmail :: Lens' DomainWideTakeoutInitiated (Maybe Text)
dwtiEmail
= lens _dwtiEmail (\ s a -> s{_dwtiEmail = a})
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])
newtype DomainId = DomainId'
{ _diCustomerPrimaryDomain :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
domainId
:: DomainId
domainId =
DomainId'
{ _diCustomerPrimaryDomain = Nothing
}
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])
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)
deviceCompromisedSecurityDetail
:: DeviceCompromisedSecurityDetail
deviceCompromisedSecurityDetail =
DeviceCompromisedSecurityDetail'
{ _dcsdResourceId = Nothing
, _dcsdDeviceCompromisedState = Nothing
, _dcsdIosVendorId = Nothing
, _dcsdDeviceModel = Nothing
, _dcsdDeviceId = Nothing
, _dcsdDeviceType = Nothing
, _dcsdSerialNumber = Nothing
}
dcsdResourceId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdResourceId
= lens _dcsdResourceId
(\ s a -> s{_dcsdResourceId = a})
dcsdDeviceCompromisedState :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdDeviceCompromisedState
= lens _dcsdDeviceCompromisedState
(\ s a -> s{_dcsdDeviceCompromisedState = a})
dcsdIosVendorId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdIosVendorId
= lens _dcsdIosVendorId
(\ s a -> s{_dcsdIosVendorId = a})
dcsdDeviceModel :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdDeviceModel
= lens _dcsdDeviceModel
(\ s a -> s{_dcsdDeviceModel = a})
dcsdDeviceId :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdDeviceId
= lens _dcsdDeviceId (\ s a -> s{_dcsdDeviceId = a})
dcsdDeviceType :: Lens' DeviceCompromisedSecurityDetail (Maybe Text)
dcsdDeviceType
= lens _dcsdDeviceType
(\ s a -> s{_dcsdDeviceType = a})
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])
data CloudPubsubTopic = CloudPubsubTopic'
{ _cptTopicName :: !(Maybe Text)
, _cptPayloadFormat :: !(Maybe CloudPubsubTopicPayloadFormat)
} deriving (Eq,Show,Data,Typeable,Generic)
cloudPubsubTopic
:: CloudPubsubTopic
cloudPubsubTopic =
CloudPubsubTopic'
{ _cptTopicName = Nothing
, _cptPayloadFormat = Nothing
}
cptTopicName :: Lens' CloudPubsubTopic (Maybe Text)
cptTopicName
= lens _cptTopicName (\ s a -> s{_cptTopicName = a})
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])
newtype ListAlertFeedbackResponse = ListAlertFeedbackResponse'
{ _lafrFeedback :: Maybe [AlertFeedback]
} deriving (Eq,Show,Data,Typeable,Generic)
listAlertFeedbackResponse
:: ListAlertFeedbackResponse
listAlertFeedbackResponse =
ListAlertFeedbackResponse'
{ _lafrFeedback = Nothing
}
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])
data LoginDetails = LoginDetails'
{ _ldIPAddress :: !(Maybe Text)
, _ldLoginTime :: !(Maybe DateTime')
} deriving (Eq,Show,Data,Typeable,Generic)
loginDetails
:: LoginDetails
loginDetails =
LoginDetails'
{ _ldIPAddress = Nothing
, _ldLoginTime = Nothing
}
ldIPAddress :: Lens' LoginDetails (Maybe Text)
ldIPAddress
= lens _ldIPAddress (\ s a -> s{_ldIPAddress = a})
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])
newtype MaliciousEntity = MaliciousEntity'
{ _meFromHeader :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
maliciousEntity
:: MaliciousEntity
maliciousEntity =
MaliciousEntity'
{ _meFromHeader = Nothing
}
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])