gogol-dlp 0.4.0 → 0.5.0
raw patch · 52 files changed
+12368/−11118 lines, 52 filesdep ~gogol-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
+ Network.Google.DLP: data GooglePrivacyDlpV2ActivateJobTriggerRequest
+ Network.Google.DLP: data GooglePrivacyDlpV2CryptoDeterministicConfig
+ Network.Google.DLP: data GooglePrivacyDlpV2JobNotificationEmails
+ Network.Google.DLP: googlePrivacyDlpV2ActivateJobTriggerRequest :: GooglePrivacyDlpV2ActivateJobTriggerRequest
+ Network.Google.DLP: googlePrivacyDlpV2CryptoDeterministicConfig :: GooglePrivacyDlpV2CryptoDeterministicConfig
+ Network.Google.DLP: googlePrivacyDlpV2JobNotificationEmails :: GooglePrivacyDlpV2JobNotificationEmails
+ Network.Google.DLP: gpdvaJobNotificationEmails :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2JobNotificationEmails)
+ Network.Google.DLP: gpdvcdcContext :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2FieldId)
+ Network.Google.DLP: gpdvcdcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2CryptoKey)
+ Network.Google.DLP: gpdvcdcSurrogateInfoType :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2InfoType)
+ Network.Google.DLP: gpdvitdDescription :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)
+ Network.Google.DLP: gpdvptCryptoDeterministicConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoDeterministicConfig)
+ Network.Google.DLP: gpdvrGroupIndexes :: Lens' GooglePrivacyDlpV2Regex [Int32]
+ Network.Google.DLP.Types: data GooglePrivacyDlpV2ActivateJobTriggerRequest
+ Network.Google.DLP.Types: data GooglePrivacyDlpV2CryptoDeterministicConfig
+ Network.Google.DLP.Types: data GooglePrivacyDlpV2JobNotificationEmails
+ Network.Google.DLP.Types: googlePrivacyDlpV2ActivateJobTriggerRequest :: GooglePrivacyDlpV2ActivateJobTriggerRequest
+ Network.Google.DLP.Types: googlePrivacyDlpV2CryptoDeterministicConfig :: GooglePrivacyDlpV2CryptoDeterministicConfig
+ Network.Google.DLP.Types: googlePrivacyDlpV2JobNotificationEmails :: GooglePrivacyDlpV2JobNotificationEmails
+ Network.Google.DLP.Types: gpdvaJobNotificationEmails :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2JobNotificationEmails)
+ Network.Google.DLP.Types: gpdvcdcContext :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2FieldId)
+ Network.Google.DLP.Types: gpdvcdcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2CryptoKey)
+ Network.Google.DLP.Types: gpdvcdcSurrogateInfoType :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2InfoType)
+ Network.Google.DLP.Types: gpdvitdDescription :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)
+ Network.Google.DLP.Types: gpdvptCryptoDeterministicConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoDeterministicConfig)
+ Network.Google.DLP.Types: gpdvrGroupIndexes :: Lens' GooglePrivacyDlpV2Regex [Int32]
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: data ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: instance Data.Data.Data Network.Google.Resource.DLP.Projects.JobTriggers.Activate.ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: instance GHC.Classes.Eq Network.Google.Resource.DLP.Projects.JobTriggers.Activate.ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: instance GHC.Generics.Generic Network.Google.Resource.DLP.Projects.JobTriggers.Activate.ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: instance GHC.Show.Show Network.Google.Resource.DLP.Projects.JobTriggers.Activate.ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: instance Network.Google.Types.GoogleRequest Network.Google.Resource.DLP.Projects.JobTriggers.Activate.ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaAccessToken :: Lens' ProjectsJobTriggersActivate (Maybe Text)
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaCallback :: Lens' ProjectsJobTriggersActivate (Maybe Text)
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaName :: Lens' ProjectsJobTriggersActivate Text
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaPayload :: Lens' ProjectsJobTriggersActivate GooglePrivacyDlpV2ActivateJobTriggerRequest
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaUploadProtocol :: Lens' ProjectsJobTriggersActivate (Maybe Text)
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaUploadType :: Lens' ProjectsJobTriggersActivate (Maybe Text)
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: pjtaXgafv :: Lens' ProjectsJobTriggersActivate (Maybe Xgafv)
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: projectsJobTriggersActivate :: GooglePrivacyDlpV2ActivateJobTriggerRequest -> Text -> ProjectsJobTriggersActivate
+ Network.Google.Resource.DLP.Projects.JobTriggers.Activate: type ProjectsJobTriggersActivateResource = "v2" :> CaptureMode "name" "activate" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] GooglePrivacyDlpV2ActivateJobTriggerRequest :> Post '[JSON] GooglePrivacyDlpV2DlpJob
+ Network.Google.Resource.DLP.Projects.JobTriggers.List: pjtlFilter :: Lens' ProjectsJobTriggersList (Maybe Text)
- Network.Google.DLP: type DLPAPI = InfoTypesListResource :<|> OrganizationsInspectTemplatesListResource :<|> OrganizationsInspectTemplatesPatchResource :<|> OrganizationsInspectTemplatesGetResource :<|> OrganizationsInspectTemplatesCreateResource :<|> OrganizationsInspectTemplatesDeleteResource :<|> OrganizationsStoredInfoTypesListResource :<|> OrganizationsStoredInfoTypesPatchResource :<|> OrganizationsStoredInfoTypesGetResource :<|> OrganizationsStoredInfoTypesCreateResource :<|> OrganizationsStoredInfoTypesDeleteResource :<|> OrganizationsDeidentifyTemplatesListResource :<|> OrganizationsDeidentifyTemplatesPatchResource :<|> OrganizationsDeidentifyTemplatesGetResource :<|> OrganizationsDeidentifyTemplatesCreateResource :<|> OrganizationsDeidentifyTemplatesDeleteResource :<|> ProjectsDlpJobsListResource :<|> ProjectsDlpJobsGetResource :<|> ProjectsDlpJobsCreateResource :<|> ProjectsDlpJobsCancelResource :<|> ProjectsDlpJobsDeleteResource :<|> ProjectsImageRedactResource :<|> ProjectsContentInspectResource :<|> ProjectsContentDeidentifyResource :<|> ProjectsContentReidentifyResource :<|> ProjectsJobTriggersListResource :<|> ProjectsJobTriggersPatchResource :<|> ProjectsJobTriggersGetResource :<|> ProjectsJobTriggersCreateResource :<|> ProjectsJobTriggersDeleteResource :<|> ProjectsInspectTemplatesListResource :<|> ProjectsInspectTemplatesPatchResource :<|> ProjectsInspectTemplatesGetResource :<|> ProjectsInspectTemplatesCreateResource :<|> ProjectsInspectTemplatesDeleteResource :<|> ProjectsStoredInfoTypesListResource :<|> ProjectsStoredInfoTypesPatchResource :<|> ProjectsStoredInfoTypesGetResource :<|> ProjectsStoredInfoTypesCreateResource :<|> ProjectsStoredInfoTypesDeleteResource :<|> ProjectsDeidentifyTemplatesListResource :<|> ProjectsDeidentifyTemplatesPatchResource :<|> ProjectsDeidentifyTemplatesGetResource :<|> ProjectsDeidentifyTemplatesCreateResource :<|> ProjectsDeidentifyTemplatesDeleteResource
+ Network.Google.DLP: type DLPAPI = InfoTypesListResource :<|> OrganizationsInspectTemplatesListResource :<|> OrganizationsInspectTemplatesPatchResource :<|> OrganizationsInspectTemplatesGetResource :<|> OrganizationsInspectTemplatesCreateResource :<|> OrganizationsInspectTemplatesDeleteResource :<|> OrganizationsStoredInfoTypesListResource :<|> OrganizationsStoredInfoTypesPatchResource :<|> OrganizationsStoredInfoTypesGetResource :<|> OrganizationsStoredInfoTypesCreateResource :<|> OrganizationsStoredInfoTypesDeleteResource :<|> OrganizationsDeidentifyTemplatesListResource :<|> OrganizationsDeidentifyTemplatesPatchResource :<|> OrganizationsDeidentifyTemplatesGetResource :<|> OrganizationsDeidentifyTemplatesCreateResource :<|> OrganizationsDeidentifyTemplatesDeleteResource :<|> ProjectsDlpJobsListResource :<|> ProjectsDlpJobsGetResource :<|> ProjectsDlpJobsCreateResource :<|> ProjectsDlpJobsCancelResource :<|> ProjectsDlpJobsDeleteResource :<|> ProjectsImageRedactResource :<|> ProjectsContentInspectResource :<|> ProjectsContentDeidentifyResource :<|> ProjectsContentReidentifyResource :<|> ProjectsJobTriggersListResource :<|> ProjectsJobTriggersPatchResource :<|> ProjectsJobTriggersGetResource :<|> ProjectsJobTriggersActivateResource :<|> ProjectsJobTriggersCreateResource :<|> ProjectsJobTriggersDeleteResource :<|> ProjectsInspectTemplatesListResource :<|> ProjectsInspectTemplatesPatchResource :<|> ProjectsInspectTemplatesGetResource :<|> ProjectsInspectTemplatesCreateResource :<|> ProjectsInspectTemplatesDeleteResource :<|> ProjectsStoredInfoTypesListResource :<|> ProjectsStoredInfoTypesPatchResource :<|> ProjectsStoredInfoTypesGetResource :<|> ProjectsStoredInfoTypesCreateResource :<|> ProjectsStoredInfoTypesDeleteResource :<|> ProjectsDeidentifyTemplatesListResource :<|> ProjectsDeidentifyTemplatesPatchResource :<|> ProjectsDeidentifyTemplatesGetResource :<|> ProjectsDeidentifyTemplatesCreateResource :<|> ProjectsDeidentifyTemplatesDeleteResource
- Network.Google.Resource.DLP.Projects.JobTriggers.List: type ProjectsJobTriggersListResource = "v2" :> Capture "parent" Text :> "jobTriggers" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "orderBy" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GooglePrivacyDlpV2ListJobTriggersResponse
+ Network.Google.Resource.DLP.Projects.JobTriggers.List: type ProjectsJobTriggersListResource = "v2" :> Capture "parent" Text :> "jobTriggers" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "orderBy" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GooglePrivacyDlpV2ListJobTriggersResponse
Files
- README.md +1/−1
- gen/Network/Google/DLP.hs +24/−0
- gen/Network/Google/DLP/Types.hs +20/−1
- gen/Network/Google/DLP/Types/Product.hs +11761/−10951
- gen/Network/Google/DLP/Types/Sum.hs +2/−2
- gen/Network/Google/Resource/DLP/InfoTypes/List.hs +7/−3
- gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Create.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Delete.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Get.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/List.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Patch.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Create.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Delete.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Get.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/List.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Patch.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Create.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Delete.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Get.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/List.hs +9/−4
- gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Patch.hs +9/−4
- gen/Network/Google/Resource/DLP/Projects/Content/Deidentify.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/Content/Inspect.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/Content/Reidentify.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Create.hs +9/−4
- gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Delete.hs +9/−4
- gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Get.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/List.hs +9/−4
- gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Patch.hs +9/−4
- gen/Network/Google/Resource/DLP/Projects/DlpJobs/Cancel.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DlpJobs/Create.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DlpJobs/Delete.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DlpJobs/Get.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/DlpJobs/List.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/Image/Redact.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Create.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Delete.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Get.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/InspectTemplates/List.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Patch.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/Activate.hs +169/−0
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/Create.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/Delete.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/Get.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/List.hs +42/−10
- gen/Network/Google/Resource/DLP/Projects/JobTriggers/Patch.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Create.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Delete.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Get.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/List.hs +7/−3
- gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Patch.hs +7/−3
- gogol-dlp.cabal +3/−2
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.3.0`+`0.5.0` ## Description
gen/Network/Google/DLP.hs view
@@ -136,6 +136,9 @@ -- ** dlp.projects.inspectTemplates.patch , module Network.Google.Resource.DLP.Projects.InspectTemplates.Patch + -- ** dlp.projects.jobTriggers.activate+ , module Network.Google.Resource.DLP.Projects.JobTriggers.Activate+ -- ** dlp.projects.jobTriggers.create , module Network.Google.Resource.DLP.Projects.JobTriggers.Create @@ -559,6 +562,7 @@ , gpdvitdName , gpdvitdDisplayName , gpdvitdSupportedBy+ , gpdvitdDescription -- ** GoogleProtobufEmpty , GoogleProtobufEmpty@@ -661,6 +665,7 @@ -- ** GooglePrivacyDlpV2Regex , GooglePrivacyDlpV2Regex , googlePrivacyDlpV2Regex+ , gpdvrGroupIndexes , gpdvrPattern -- ** GooglePrivacyDlpV2UpdateStoredInfoTypeRequest@@ -687,6 +692,10 @@ , gpdvldcSensitiveAttribute , gpdvldcQuasiIds + -- ** GooglePrivacyDlpV2JobNotificationEmails+ , GooglePrivacyDlpV2JobNotificationEmails+ , googlePrivacyDlpV2JobNotificationEmails+ -- ** GooglePrivacyDlpV2DeidentifyContentRequest , GooglePrivacyDlpV2DeidentifyContentRequest , googlePrivacyDlpV2DeidentifyContentRequest@@ -835,6 +844,10 @@ , gpdvldecNumDistinctSensitiveValues , gpdvldecQuasiIdsValues + -- ** GooglePrivacyDlpV2ActivateJobTriggerRequest+ , GooglePrivacyDlpV2ActivateJobTriggerRequest+ , googlePrivacyDlpV2ActivateJobTriggerRequest+ -- ** GooglePrivacyDlpV2DeidentifyConfig , GooglePrivacyDlpV2DeidentifyConfig , googlePrivacyDlpV2DeidentifyConfig@@ -1036,6 +1049,7 @@ -- ** GooglePrivacyDlpV2Action , GooglePrivacyDlpV2Action , googlePrivacyDlpV2Action+ , gpdvaJobNotificationEmails , gpdvaPubSub , gpdvaSaveFindings , gpdvaPublishSummaryToCscc@@ -1228,6 +1242,7 @@ , gpdvptDateShiftConfig , gpdvptBucketingConfig , gpdvptReplaceWithInfoTypeConfig+ , gpdvptCryptoDeterministicConfig , gpdvptCryptoHashConfig , gpdvptReplaceConfig , gpdvptCryptoReplaceFfxFpeConfig@@ -1259,6 +1274,13 @@ , gpdvsitName , gpdvsitPendingVersions + -- ** GooglePrivacyDlpV2CryptoDeterministicConfig+ , GooglePrivacyDlpV2CryptoDeterministicConfig+ , googlePrivacyDlpV2CryptoDeterministicConfig+ , gpdvcdcContext+ , gpdvcdcSurrogateInfoType+ , gpdvcdcCryptoKey+ -- ** GooglePrivacyDlpV2StatisticalTable , GooglePrivacyDlpV2StatisticalTable , googlePrivacyDlpV2StatisticalTable@@ -1411,6 +1433,7 @@ import Network.Google.Resource.DLP.Projects.InspectTemplates.Get import Network.Google.Resource.DLP.Projects.InspectTemplates.List import Network.Google.Resource.DLP.Projects.InspectTemplates.Patch+import Network.Google.Resource.DLP.Projects.JobTriggers.Activate import Network.Google.Resource.DLP.Projects.JobTriggers.Create import Network.Google.Resource.DLP.Projects.JobTriggers.Delete import Network.Google.Resource.DLP.Projects.JobTriggers.Get@@ -1456,6 +1479,7 @@ :<|> ProjectsJobTriggersListResource :<|> ProjectsJobTriggersPatchResource :<|> ProjectsJobTriggersGetResource+ :<|> ProjectsJobTriggersActivateResource :<|> ProjectsJobTriggersCreateResource :<|> ProjectsJobTriggersDeleteResource :<|> ProjectsInspectTemplatesListResource
gen/Network/Google/DLP/Types.hs view
@@ -413,6 +413,7 @@ , gpdvitdName , gpdvitdDisplayName , gpdvitdSupportedBy+ , gpdvitdDescription -- * GoogleProtobufEmpty , GoogleProtobufEmpty@@ -515,6 +516,7 @@ -- * GooglePrivacyDlpV2Regex , GooglePrivacyDlpV2Regex , googlePrivacyDlpV2Regex+ , gpdvrGroupIndexes , gpdvrPattern -- * GooglePrivacyDlpV2UpdateStoredInfoTypeRequest@@ -541,6 +543,10 @@ , gpdvldcSensitiveAttribute , gpdvldcQuasiIds + -- * GooglePrivacyDlpV2JobNotificationEmails+ , GooglePrivacyDlpV2JobNotificationEmails+ , googlePrivacyDlpV2JobNotificationEmails+ -- * GooglePrivacyDlpV2DeidentifyContentRequest , GooglePrivacyDlpV2DeidentifyContentRequest , googlePrivacyDlpV2DeidentifyContentRequest@@ -689,6 +695,10 @@ , gpdvldecNumDistinctSensitiveValues , gpdvldecQuasiIdsValues + -- * GooglePrivacyDlpV2ActivateJobTriggerRequest+ , GooglePrivacyDlpV2ActivateJobTriggerRequest+ , googlePrivacyDlpV2ActivateJobTriggerRequest+ -- * GooglePrivacyDlpV2DeidentifyConfig , GooglePrivacyDlpV2DeidentifyConfig , googlePrivacyDlpV2DeidentifyConfig@@ -890,6 +900,7 @@ -- * GooglePrivacyDlpV2Action , GooglePrivacyDlpV2Action , googlePrivacyDlpV2Action+ , gpdvaJobNotificationEmails , gpdvaPubSub , gpdvaSaveFindings , gpdvaPublishSummaryToCscc@@ -1082,6 +1093,7 @@ , gpdvptDateShiftConfig , gpdvptBucketingConfig , gpdvptReplaceWithInfoTypeConfig+ , gpdvptCryptoDeterministicConfig , gpdvptCryptoHashConfig , gpdvptReplaceConfig , gpdvptCryptoReplaceFfxFpeConfig@@ -1113,6 +1125,13 @@ , gpdvsitName , gpdvsitPendingVersions + -- * GooglePrivacyDlpV2CryptoDeterministicConfig+ , GooglePrivacyDlpV2CryptoDeterministicConfig+ , googlePrivacyDlpV2CryptoDeterministicConfig+ , gpdvcdcContext+ , gpdvcdcSurrogateInfoType+ , gpdvcdcCryptoKey+ -- * GooglePrivacyDlpV2StatisticalTable , GooglePrivacyDlpV2StatisticalTable , googlePrivacyDlpV2StatisticalTable@@ -1240,4 +1259,4 @@ -- | View and manage your data across Google Cloud Platform services cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]-cloudPlatformScope = Proxy;+cloudPlatformScope = Proxy
gen/Network/Google/DLP/Types/Product.hs view
@@ -23,10957 +23,11767 @@ -- | Statistics regarding a specific InfoType. -- -- /See:/ 'googlePrivacyDlpV2InfoTypeStats' smart constructor.-data GooglePrivacyDlpV2InfoTypeStats = GooglePrivacyDlpV2InfoTypeStats'- { _gpdvitsCount :: !(Maybe (Textual Int64))- , _gpdvitsInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoTypeStats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvitsCount'------ * 'gpdvitsInfoType'-googlePrivacyDlpV2InfoTypeStats- :: GooglePrivacyDlpV2InfoTypeStats-googlePrivacyDlpV2InfoTypeStats =- GooglePrivacyDlpV2InfoTypeStats'- { _gpdvitsCount = Nothing- , _gpdvitsInfoType = Nothing- }---- | Number of findings for this infoType.-gpdvitsCount :: Lens' GooglePrivacyDlpV2InfoTypeStats (Maybe Int64)-gpdvitsCount- = lens _gpdvitsCount (\ s a -> s{_gpdvitsCount = a})- . mapping _Coerce---- | The type of finding this stat is for.-gpdvitsInfoType :: Lens' GooglePrivacyDlpV2InfoTypeStats (Maybe GooglePrivacyDlpV2InfoType)-gpdvitsInfoType- = lens _gpdvitsInfoType- (\ s a -> s{_gpdvitsInfoType = a})--instance FromJSON GooglePrivacyDlpV2InfoTypeStats- where- parseJSON- = withObject "GooglePrivacyDlpV2InfoTypeStats"- (\ o ->- GooglePrivacyDlpV2InfoTypeStats' <$>- (o .:? "count") <*> (o .:? "infoType"))--instance ToJSON GooglePrivacyDlpV2InfoTypeStats where- toJSON GooglePrivacyDlpV2InfoTypeStats'{..}- = object- (catMaybes- [("count" .=) <$> _gpdvitsCount,- ("infoType" .=) <$> _gpdvitsInfoType])---- | Redact a given value. For example, if used with an--- \`InfoTypeTransformation\` transforming PHONE_NUMBER, and input \'My--- phone number is 206-555-0123\', the output would be \'My phone number is--- \'.------ /See:/ 'googlePrivacyDlpV2RedactConfig' smart constructor.-data GooglePrivacyDlpV2RedactConfig =- GooglePrivacyDlpV2RedactConfig'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RedactConfig' with the minimum fields required to make a request.----googlePrivacyDlpV2RedactConfig- :: GooglePrivacyDlpV2RedactConfig-googlePrivacyDlpV2RedactConfig = GooglePrivacyDlpV2RedactConfig'--instance FromJSON GooglePrivacyDlpV2RedactConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2RedactConfig"- (\ o -> pure GooglePrivacyDlpV2RedactConfig')--instance ToJSON GooglePrivacyDlpV2RedactConfig where- toJSON = const emptyObject---- | Request message for UpdateJobTrigger.------ /See:/ 'googlePrivacyDlpV2UpdateJobTriggerRequest' smart constructor.-data GooglePrivacyDlpV2UpdateJobTriggerRequest = GooglePrivacyDlpV2UpdateJobTriggerRequest'- { _gpdvujtrUpdateMask :: !(Maybe GFieldMask)- , _gpdvujtrJobTrigger :: !(Maybe GooglePrivacyDlpV2JobTrigger)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2UpdateJobTriggerRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvujtrUpdateMask'------ * 'gpdvujtrJobTrigger'-googlePrivacyDlpV2UpdateJobTriggerRequest- :: GooglePrivacyDlpV2UpdateJobTriggerRequest-googlePrivacyDlpV2UpdateJobTriggerRequest =- GooglePrivacyDlpV2UpdateJobTriggerRequest'- { _gpdvujtrUpdateMask = Nothing- , _gpdvujtrJobTrigger = Nothing- }---- | Mask to control which fields get updated.-gpdvujtrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateJobTriggerRequest (Maybe GFieldMask)-gpdvujtrUpdateMask- = lens _gpdvujtrUpdateMask- (\ s a -> s{_gpdvujtrUpdateMask = a})---- | New JobTrigger value.-gpdvujtrJobTrigger :: Lens' GooglePrivacyDlpV2UpdateJobTriggerRequest (Maybe GooglePrivacyDlpV2JobTrigger)-gpdvujtrJobTrigger- = lens _gpdvujtrJobTrigger- (\ s a -> s{_gpdvujtrJobTrigger = a})--instance FromJSON- GooglePrivacyDlpV2UpdateJobTriggerRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2UpdateJobTriggerRequest"- (\ o ->- GooglePrivacyDlpV2UpdateJobTriggerRequest' <$>- (o .:? "updateMask") <*> (o .:? "jobTrigger"))--instance ToJSON- GooglePrivacyDlpV2UpdateJobTriggerRequest where- toJSON GooglePrivacyDlpV2UpdateJobTriggerRequest'{..}- = object- (catMaybes- [("updateMask" .=) <$> _gpdvujtrUpdateMask,- ("jobTrigger" .=) <$> _gpdvujtrJobTrigger])---- | Generic half-open interval [start, end)------ /See:/ 'googlePrivacyDlpV2Range' smart constructor.-data GooglePrivacyDlpV2Range = GooglePrivacyDlpV2Range'- { _gpdvrStart :: !(Maybe (Textual Int64))- , _gpdvrEnd :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Range' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrStart'------ * 'gpdvrEnd'-googlePrivacyDlpV2Range- :: GooglePrivacyDlpV2Range-googlePrivacyDlpV2Range =- GooglePrivacyDlpV2Range'- { _gpdvrStart = Nothing- , _gpdvrEnd = Nothing- }---- | Index of the first character of the range (inclusive).-gpdvrStart :: Lens' GooglePrivacyDlpV2Range (Maybe Int64)-gpdvrStart- = lens _gpdvrStart (\ s a -> s{_gpdvrStart = a}) .- mapping _Coerce---- | Index of the last character of the range (exclusive).-gpdvrEnd :: Lens' GooglePrivacyDlpV2Range (Maybe Int64)-gpdvrEnd- = lens _gpdvrEnd (\ s a -> s{_gpdvrEnd = a}) .- mapping _Coerce--instance FromJSON GooglePrivacyDlpV2Range where- parseJSON- = withObject "GooglePrivacyDlpV2Range"- (\ o ->- GooglePrivacyDlpV2Range' <$>- (o .:? "start") <*> (o .:? "end"))--instance ToJSON GooglePrivacyDlpV2Range where- toJSON GooglePrivacyDlpV2Range'{..}- = object- (catMaybes- [("start" .=) <$> _gpdvrStart,- ("end" .=) <$> _gpdvrEnd])---- | 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 [gRPC](https:\/\/github.com\/grpc). The error model is--- designed to be: - Simple to use and understand for most users - Flexible--- enough to meet unexpected needs # Overview The \`Status\` message--- contains three pieces of data: error code, error message, and error--- details. The error code should be an enum value of google.rpc.Code, but--- it may accept additional error codes if needed. The error message should--- be a developer-facing English message that helps developers *understand*--- and *resolve* the error. If a localized user-facing error message is--- needed, put the localized message in the error details or localize it in--- the client. The optional error details may contain arbitrary information--- about the error. There is a predefined set of error detail types in the--- package \`google.rpc\` that can be used for common error conditions. #--- Language mapping The \`Status\` message is the logical representation of--- the error model, but it is not necessarily the actual wire format. When--- the \`Status\` message is exposed in different client libraries and--- different wire protocols, it can be mapped differently. For example, it--- will likely be mapped to some exceptions in Java, but more likely mapped--- to some error codes in C. # Other uses The error model and the--- \`Status\` message can be used in a variety of environments, either with--- or without APIs, to provide a consistent developer experience across--- different environments. Example uses of this error model include: ---- Partial errors. If a service needs to return partial errors to the--- client, it may embed the \`Status\` in the normal response to indicate--- the partial errors. - Workflow errors. A typical workflow has multiple--- steps. Each step may have a \`Status\` message for error reporting. ---- Batch operations. If a client uses batch request and batch response, the--- \`Status\` message should be used directly inside batch response, one--- for each error sub-response. - Asynchronous operations. If an API call--- embeds asynchronous operation results in its response, the status of--- those operations should be represented directly using the \`Status\`--- message. - Logging. If some API errors are stored in logs, the message--- \`Status\` could be used directly after any stripping needed for--- security\/privacy reasons.------ /See:/ 'googleRpcStatus' smart constructor.-data GoogleRpcStatus = GoogleRpcStatus'- { _grsDetails :: !(Maybe [GoogleRpcStatusDetailsItem])- , _grsCode :: !(Maybe (Textual Int32))- , _grsMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GoogleRpcStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grsDetails'------ * 'grsCode'------ * 'grsMessage'-googleRpcStatus- :: GoogleRpcStatus-googleRpcStatus =- GoogleRpcStatus'- { _grsDetails = Nothing- , _grsCode = Nothing- , _grsMessage = Nothing- }---- | A list of messages that carry the error details. There is a common set--- of message types for APIs to use.-grsDetails :: Lens' GoogleRpcStatus [GoogleRpcStatusDetailsItem]-grsDetails- = lens _grsDetails (\ s a -> s{_grsDetails = a}) .- _Default- . _Coerce---- | The status code, which should be an enum value of google.rpc.Code.-grsCode :: Lens' GoogleRpcStatus (Maybe Int32)-grsCode- = lens _grsCode (\ s a -> s{_grsCode = a}) .- mapping _Coerce---- | 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.-grsMessage :: Lens' GoogleRpcStatus (Maybe Text)-grsMessage- = lens _grsMessage (\ s a -> s{_grsMessage = a})--instance FromJSON GoogleRpcStatus where- parseJSON- = withObject "GoogleRpcStatus"- (\ o ->- GoogleRpcStatus' <$>- (o .:? "details" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON GoogleRpcStatus where- toJSON GoogleRpcStatus'{..}- = object- (catMaybes- [("details" .=) <$> _grsDetails,- ("code" .=) <$> _grsCode,- ("message" .=) <$> _grsMessage])---- | Buckets values based on fixed size ranges. The Bucketing transformation--- can provide all of this functionality, but requires more configuration.--- This message is provided as a convenience to the user for simple--- bucketing strategies. The transformed value will be a hyphenated string--- of -, i.e if lower_bound = 10 and upper_bound = 20 all values that are--- within this bucket will be replaced with \"10-20\". This can be used on--- data of type: double, long. If the bound Value type differs from the--- type of data being transformed, we will first attempt converting the--- type of the data to be transformed to match the type of the bound before--- comparing. See https:\/\/cloud.google.com\/dlp\/docs\/concepts-bucketing--- to learn more.------ /See:/ 'googlePrivacyDlpV2FixedSizeBucketingConfig' smart constructor.-data GooglePrivacyDlpV2FixedSizeBucketingConfig = GooglePrivacyDlpV2FixedSizeBucketingConfig'- { _gpdvfsbcUpperBound :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvfsbcLowerBound :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvfsbcBucketSize :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2FixedSizeBucketingConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvfsbcUpperBound'------ * 'gpdvfsbcLowerBound'------ * 'gpdvfsbcBucketSize'-googlePrivacyDlpV2FixedSizeBucketingConfig- :: GooglePrivacyDlpV2FixedSizeBucketingConfig-googlePrivacyDlpV2FixedSizeBucketingConfig =- GooglePrivacyDlpV2FixedSizeBucketingConfig'- { _gpdvfsbcUpperBound = Nothing- , _gpdvfsbcLowerBound = Nothing- , _gpdvfsbcBucketSize = Nothing- }---- | Upper bound value of buckets. All values greater than upper_bound are--- grouped together into a single bucket; for example if \`upper_bound\` =--- 89, then all values greater than 89 are replaced with the value “89+”.--- [Required].-gpdvfsbcUpperBound :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe GooglePrivacyDlpV2Value)-gpdvfsbcUpperBound- = lens _gpdvfsbcUpperBound- (\ s a -> s{_gpdvfsbcUpperBound = a})---- | Lower bound value of buckets. All values less than \`lower_bound\` are--- grouped together into a single bucket; for example if \`lower_bound\` =--- 10, then all values less than 10 are replaced with the value “-10”.--- [Required].-gpdvfsbcLowerBound :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe GooglePrivacyDlpV2Value)-gpdvfsbcLowerBound- = lens _gpdvfsbcLowerBound- (\ s a -> s{_gpdvfsbcLowerBound = a})---- | Size of each bucket (except for minimum and maximum buckets). So if--- \`lower_bound\` = 10, \`upper_bound\` = 89, and \`bucket_size\` = 10,--- then the following buckets would be used: -10, 10-20, 20-30, 30-40,--- 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals--- works. [Required].-gpdvfsbcBucketSize :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe Double)-gpdvfsbcBucketSize- = lens _gpdvfsbcBucketSize- (\ s a -> s{_gpdvfsbcBucketSize = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2FixedSizeBucketingConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2FixedSizeBucketingConfig"- (\ o ->- GooglePrivacyDlpV2FixedSizeBucketingConfig' <$>- (o .:? "upperBound") <*> (o .:? "lowerBound") <*>- (o .:? "bucketSize"))--instance ToJSON- GooglePrivacyDlpV2FixedSizeBucketingConfig where- toJSON- GooglePrivacyDlpV2FixedSizeBucketingConfig'{..}- = object- (catMaybes- [("upperBound" .=) <$> _gpdvfsbcUpperBound,- ("lowerBound" .=) <$> _gpdvfsbcLowerBound,- ("bucketSize" .=) <$> _gpdvfsbcBucketSize])---- | All the findings for a single scanned item.------ /See:/ 'googlePrivacyDlpV2InspectResult' smart constructor.-data GooglePrivacyDlpV2InspectResult = GooglePrivacyDlpV2InspectResult'- { _gpdvirFindingsTruncated :: !(Maybe Bool)- , _gpdvirFindings :: !(Maybe [GooglePrivacyDlpV2Finding])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvirFindingsTruncated'------ * 'gpdvirFindings'-googlePrivacyDlpV2InspectResult- :: GooglePrivacyDlpV2InspectResult-googlePrivacyDlpV2InspectResult =- GooglePrivacyDlpV2InspectResult'- { _gpdvirFindingsTruncated = Nothing- , _gpdvirFindings = Nothing- }---- | If true, then this item might have more findings than were returned, and--- the findings returned are an arbitrary subset of all findings. The--- findings list might be truncated because the input items were too large,--- or because the server reached the maximum amount of resources allowed--- for a single API call. For best results, divide the input into smaller--- batches.-gpdvirFindingsTruncated :: Lens' GooglePrivacyDlpV2InspectResult (Maybe Bool)-gpdvirFindingsTruncated- = lens _gpdvirFindingsTruncated- (\ s a -> s{_gpdvirFindingsTruncated = a})---- | List of findings for an item.-gpdvirFindings :: Lens' GooglePrivacyDlpV2InspectResult [GooglePrivacyDlpV2Finding]-gpdvirFindings- = lens _gpdvirFindings- (\ s a -> s{_gpdvirFindings = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2InspectResult- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectResult"- (\ o ->- GooglePrivacyDlpV2InspectResult' <$>- (o .:? "findingsTruncated") <*>- (o .:? "findings" .!= mempty))--instance ToJSON GooglePrivacyDlpV2InspectResult where- toJSON GooglePrivacyDlpV2InspectResult'{..}- = object- (catMaybes- [("findingsTruncated" .=) <$>- _gpdvirFindingsTruncated,- ("findings" .=) <$> _gpdvirFindings])---- | Configuration for a StoredInfoType.------ /See:/ 'googlePrivacyDlpV2StoredInfoTypeConfig' smart constructor.-data GooglePrivacyDlpV2StoredInfoTypeConfig = GooglePrivacyDlpV2StoredInfoTypeConfig'- { _gpdvsitcLargeCustomDictionary :: !(Maybe GooglePrivacyDlpV2LargeCustomDictionaryConfig)- , _gpdvsitcDisplayName :: !(Maybe Text)- , _gpdvsitcDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StoredInfoTypeConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsitcLargeCustomDictionary'------ * 'gpdvsitcDisplayName'------ * 'gpdvsitcDescription'-googlePrivacyDlpV2StoredInfoTypeConfig- :: GooglePrivacyDlpV2StoredInfoTypeConfig-googlePrivacyDlpV2StoredInfoTypeConfig =- GooglePrivacyDlpV2StoredInfoTypeConfig'- { _gpdvsitcLargeCustomDictionary = Nothing- , _gpdvsitcDisplayName = Nothing- , _gpdvsitcDescription = Nothing- }---- | StoredInfoType where findings are defined by a dictionary of phrases.-gpdvsitcLargeCustomDictionary :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe GooglePrivacyDlpV2LargeCustomDictionaryConfig)-gpdvsitcLargeCustomDictionary- = lens _gpdvsitcLargeCustomDictionary- (\ s a -> s{_gpdvsitcLargeCustomDictionary = a})---- | Display name of the StoredInfoType (max 256 characters).-gpdvsitcDisplayName :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe Text)-gpdvsitcDisplayName- = lens _gpdvsitcDisplayName- (\ s a -> s{_gpdvsitcDisplayName = a})---- | Description of the StoredInfoType (max 256 characters).-gpdvsitcDescription :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe Text)-gpdvsitcDescription- = lens _gpdvsitcDescription- (\ s a -> s{_gpdvsitcDescription = a})--instance FromJSON- GooglePrivacyDlpV2StoredInfoTypeConfig where- parseJSON- = withObject "GooglePrivacyDlpV2StoredInfoTypeConfig"- (\ o ->- GooglePrivacyDlpV2StoredInfoTypeConfig' <$>- (o .:? "largeCustomDictionary") <*>- (o .:? "displayName")- <*> (o .:? "description"))--instance ToJSON- GooglePrivacyDlpV2StoredInfoTypeConfig where- toJSON GooglePrivacyDlpV2StoredInfoTypeConfig'{..}- = object- (catMaybes- [("largeCustomDictionary" .=) <$>- _gpdvsitcLargeCustomDictionary,- ("displayName" .=) <$> _gpdvsitcDisplayName,- ("description" .=) <$> _gpdvsitcDescription])---- | A transformation to apply to text that is identified as a specific--- info_type.------ /See:/ 'googlePrivacyDlpV2InfoTypeTransformation' smart constructor.-data GooglePrivacyDlpV2InfoTypeTransformation = GooglePrivacyDlpV2InfoTypeTransformation'- { _gpdvittInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])- , _gpdvittPrimitiveTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoTypeTransformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvittInfoTypes'------ * 'gpdvittPrimitiveTransformation'-googlePrivacyDlpV2InfoTypeTransformation- :: GooglePrivacyDlpV2InfoTypeTransformation-googlePrivacyDlpV2InfoTypeTransformation =- GooglePrivacyDlpV2InfoTypeTransformation'- { _gpdvittInfoTypes = Nothing- , _gpdvittPrimitiveTransformation = Nothing- }---- | InfoTypes to apply the transformation to. An empty list will cause this--- transformation to apply to all findings that correspond to infoTypes--- that were requested in \`InspectConfig\`.-gpdvittInfoTypes :: Lens' GooglePrivacyDlpV2InfoTypeTransformation [GooglePrivacyDlpV2InfoType]-gpdvittInfoTypes- = lens _gpdvittInfoTypes- (\ s a -> s{_gpdvittInfoTypes = a})- . _Default- . _Coerce---- | Primitive transformation to apply to the infoType. [required]-gpdvittPrimitiveTransformation :: Lens' GooglePrivacyDlpV2InfoTypeTransformation (Maybe GooglePrivacyDlpV2PrimitiveTransformation)-gpdvittPrimitiveTransformation- = lens _gpdvittPrimitiveTransformation- (\ s a -> s{_gpdvittPrimitiveTransformation = a})--instance FromJSON- GooglePrivacyDlpV2InfoTypeTransformation where- parseJSON- = withObject- "GooglePrivacyDlpV2InfoTypeTransformation"- (\ o ->- GooglePrivacyDlpV2InfoTypeTransformation' <$>- (o .:? "infoTypes" .!= mempty) <*>- (o .:? "primitiveTransformation"))--instance ToJSON- GooglePrivacyDlpV2InfoTypeTransformation where- toJSON GooglePrivacyDlpV2InfoTypeTransformation'{..}- = object- (catMaybes- [("infoTypes" .=) <$> _gpdvittInfoTypes,- ("primitiveTransformation" .=) <$>- _gpdvittPrimitiveTransformation])---- | General identifier of a data field in a storage service.------ /See:/ 'googlePrivacyDlpV2FieldId' smart constructor.-newtype GooglePrivacyDlpV2FieldId = GooglePrivacyDlpV2FieldId'- { _gpdvfiName :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2FieldId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvfiName'-googlePrivacyDlpV2FieldId- :: GooglePrivacyDlpV2FieldId-googlePrivacyDlpV2FieldId =- GooglePrivacyDlpV2FieldId'- { _gpdvfiName = Nothing- }---- | Name describing the field.-gpdvfiName :: Lens' GooglePrivacyDlpV2FieldId (Maybe Text)-gpdvfiName- = lens _gpdvfiName (\ s a -> s{_gpdvfiName = a})--instance FromJSON GooglePrivacyDlpV2FieldId where- parseJSON- = withObject "GooglePrivacyDlpV2FieldId"- (\ o ->- GooglePrivacyDlpV2FieldId' <$> (o .:? "name"))--instance ToJSON GooglePrivacyDlpV2FieldId where- toJSON GooglePrivacyDlpV2FieldId'{..}- = object (catMaybes [("name" .=) <$> _gpdvfiName])---- | Combines all of the information about a DLP job.------ /See:/ 'googlePrivacyDlpV2DlpJob' smart constructor.-data GooglePrivacyDlpV2DlpJob = GooglePrivacyDlpV2DlpJob'- { _gpdvdjInspectDetails :: !(Maybe GooglePrivacyDlpV2InspectDataSourceDetails)- , _gpdvdjState :: !(Maybe GooglePrivacyDlpV2DlpJobState)- , _gpdvdjStartTime :: !(Maybe DateTime')- , _gpdvdjJobTriggerName :: !(Maybe Text)- , _gpdvdjRiskDetails :: !(Maybe GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails)- , _gpdvdjName :: !(Maybe Text)- , _gpdvdjEndTime :: !(Maybe DateTime')- , _gpdvdjType :: !(Maybe GooglePrivacyDlpV2DlpJobType)- , _gpdvdjErrors :: !(Maybe [GooglePrivacyDlpV2Error])- , _gpdvdjCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DlpJob' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdjInspectDetails'------ * 'gpdvdjState'------ * 'gpdvdjStartTime'------ * 'gpdvdjJobTriggerName'------ * 'gpdvdjRiskDetails'------ * 'gpdvdjName'------ * 'gpdvdjEndTime'------ * 'gpdvdjType'------ * 'gpdvdjErrors'------ * 'gpdvdjCreateTime'-googlePrivacyDlpV2DlpJob- :: GooglePrivacyDlpV2DlpJob-googlePrivacyDlpV2DlpJob =- GooglePrivacyDlpV2DlpJob'- { _gpdvdjInspectDetails = Nothing- , _gpdvdjState = Nothing- , _gpdvdjStartTime = Nothing- , _gpdvdjJobTriggerName = Nothing- , _gpdvdjRiskDetails = Nothing- , _gpdvdjName = Nothing- , _gpdvdjEndTime = Nothing- , _gpdvdjType = Nothing- , _gpdvdjErrors = Nothing- , _gpdvdjCreateTime = Nothing- }---- | Results from inspecting a data source.-gpdvdjInspectDetails :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2InspectDataSourceDetails)-gpdvdjInspectDetails- = lens _gpdvdjInspectDetails- (\ s a -> s{_gpdvdjInspectDetails = a})---- | State of a job.-gpdvdjState :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2DlpJobState)-gpdvdjState- = lens _gpdvdjState (\ s a -> s{_gpdvdjState = a})---- | Time when the job started.-gpdvdjStartTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)-gpdvdjStartTime- = lens _gpdvdjStartTime- (\ s a -> s{_gpdvdjStartTime = a})- . mapping _DateTime---- | If created by a job trigger, the resource name of the trigger that--- instantiated the job.-gpdvdjJobTriggerName :: Lens' GooglePrivacyDlpV2DlpJob (Maybe Text)-gpdvdjJobTriggerName- = lens _gpdvdjJobTriggerName- (\ s a -> s{_gpdvdjJobTriggerName = a})---- | Results from analyzing risk of a data source.-gpdvdjRiskDetails :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails)-gpdvdjRiskDetails- = lens _gpdvdjRiskDetails- (\ s a -> s{_gpdvdjRiskDetails = a})---- | The server-assigned name.-gpdvdjName :: Lens' GooglePrivacyDlpV2DlpJob (Maybe Text)-gpdvdjName- = lens _gpdvdjName (\ s a -> s{_gpdvdjName = a})---- | Time when the job finished.-gpdvdjEndTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)-gpdvdjEndTime- = lens _gpdvdjEndTime- (\ s a -> s{_gpdvdjEndTime = a})- . mapping _DateTime---- | The type of job.-gpdvdjType :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2DlpJobType)-gpdvdjType- = lens _gpdvdjType (\ s a -> s{_gpdvdjType = a})---- | A stream of errors encountered running the job.-gpdvdjErrors :: Lens' GooglePrivacyDlpV2DlpJob [GooglePrivacyDlpV2Error]-gpdvdjErrors- = lens _gpdvdjErrors (\ s a -> s{_gpdvdjErrors = a})- . _Default- . _Coerce---- | Time when the job was created.-gpdvdjCreateTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)-gpdvdjCreateTime- = lens _gpdvdjCreateTime- (\ s a -> s{_gpdvdjCreateTime = a})- . mapping _DateTime--instance FromJSON GooglePrivacyDlpV2DlpJob where- parseJSON- = withObject "GooglePrivacyDlpV2DlpJob"- (\ o ->- GooglePrivacyDlpV2DlpJob' <$>- (o .:? "inspectDetails") <*> (o .:? "state") <*>- (o .:? "startTime")- <*> (o .:? "jobTriggerName")- <*> (o .:? "riskDetails")- <*> (o .:? "name")- <*> (o .:? "endTime")- <*> (o .:? "type")- <*> (o .:? "errors" .!= mempty)- <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2DlpJob where- toJSON GooglePrivacyDlpV2DlpJob'{..}- = object- (catMaybes- [("inspectDetails" .=) <$> _gpdvdjInspectDetails,- ("state" .=) <$> _gpdvdjState,- ("startTime" .=) <$> _gpdvdjStartTime,- ("jobTriggerName" .=) <$> _gpdvdjJobTriggerName,- ("riskDetails" .=) <$> _gpdvdjRiskDetails,- ("name" .=) <$> _gpdvdjName,- ("endTime" .=) <$> _gpdvdjEndTime,- ("type" .=) <$> _gpdvdjType,- ("errors" .=) <$> _gpdvdjErrors,- ("createTime" .=) <$> _gpdvdjCreateTime])---- | A type of transformation that is applied over structured data such as a--- table.------ /See:/ 'googlePrivacyDlpV2RecordTransformations' smart constructor.-data GooglePrivacyDlpV2RecordTransformations = GooglePrivacyDlpV2RecordTransformations'- { _gpdvrtRecordSuppressions :: !(Maybe [GooglePrivacyDlpV2RecordSuppression])- , _gpdvrtFieldTransformations :: !(Maybe [GooglePrivacyDlpV2FieldTransformation])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RecordTransformations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrtRecordSuppressions'------ * 'gpdvrtFieldTransformations'-googlePrivacyDlpV2RecordTransformations- :: GooglePrivacyDlpV2RecordTransformations-googlePrivacyDlpV2RecordTransformations =- GooglePrivacyDlpV2RecordTransformations'- { _gpdvrtRecordSuppressions = Nothing- , _gpdvrtFieldTransformations = Nothing- }---- | Configuration defining which records get suppressed entirely. Records--- that match any suppression rule are omitted from the output [optional].-gpdvrtRecordSuppressions :: Lens' GooglePrivacyDlpV2RecordTransformations [GooglePrivacyDlpV2RecordSuppression]-gpdvrtRecordSuppressions- = lens _gpdvrtRecordSuppressions- (\ s a -> s{_gpdvrtRecordSuppressions = a})- . _Default- . _Coerce---- | Transform the record by applying various field transformations.-gpdvrtFieldTransformations :: Lens' GooglePrivacyDlpV2RecordTransformations [GooglePrivacyDlpV2FieldTransformation]-gpdvrtFieldTransformations- = lens _gpdvrtFieldTransformations- (\ s a -> s{_gpdvrtFieldTransformations = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2RecordTransformations where- parseJSON- = withObject- "GooglePrivacyDlpV2RecordTransformations"- (\ o ->- GooglePrivacyDlpV2RecordTransformations' <$>- (o .:? "recordSuppressions" .!= mempty) <*>- (o .:? "fieldTransformations" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2RecordTransformations where- toJSON GooglePrivacyDlpV2RecordTransformations'{..}- = object- (catMaybes- [("recordSuppressions" .=) <$>- _gpdvrtRecordSuppressions,- ("fieldTransformations" .=) <$>- _gpdvrtFieldTransformations])---- | A unique identifier for a Datastore entity. If a key\'s partition ID or--- any of its path kinds or names are reserved\/read-only, the key is--- reserved\/read-only. A reserved\/read-only key is forbidden in certain--- documented contexts.------ /See:/ 'googlePrivacyDlpV2Key' smart constructor.-data GooglePrivacyDlpV2Key = GooglePrivacyDlpV2Key'- { _gpdvkPartitionId :: !(Maybe GooglePrivacyDlpV2PartitionId)- , _gpdvkPath :: !(Maybe [GooglePrivacyDlpV2PathElement])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Key' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkPartitionId'------ * 'gpdvkPath'-googlePrivacyDlpV2Key- :: GooglePrivacyDlpV2Key-googlePrivacyDlpV2Key =- GooglePrivacyDlpV2Key'- { _gpdvkPartitionId = Nothing- , _gpdvkPath = Nothing- }---- | Entities are partitioned into subsets, currently identified by a project--- ID and namespace ID. Queries are scoped to a single partition.-gpdvkPartitionId :: Lens' GooglePrivacyDlpV2Key (Maybe GooglePrivacyDlpV2PartitionId)-gpdvkPartitionId- = lens _gpdvkPartitionId- (\ s a -> s{_gpdvkPartitionId = a})---- | The entity path. An entity path consists of one or more elements--- composed of a kind and a string or numerical identifier, which identify--- entities. The first element identifies a _root entity_, the second--- element identifies a _child_ of the root entity, the third element--- identifies a child of the second entity, and so forth. The entities--- identified by all prefixes of the path are called the element\'s--- _ancestors_. A path can never be empty, and a path can have at most 100--- elements.-gpdvkPath :: Lens' GooglePrivacyDlpV2Key [GooglePrivacyDlpV2PathElement]-gpdvkPath- = lens _gpdvkPath (\ s a -> s{_gpdvkPath = a}) .- _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2Key where- parseJSON- = withObject "GooglePrivacyDlpV2Key"- (\ o ->- GooglePrivacyDlpV2Key' <$>- (o .:? "partitionId") <*> (o .:? "path" .!= mempty))--instance ToJSON GooglePrivacyDlpV2Key where- toJSON GooglePrivacyDlpV2Key'{..}- = object- (catMaybes- [("partitionId" .=) <$> _gpdvkPartitionId,- ("path" .=) <$> _gpdvkPath])---- | Generalization function that buckets values based on ranges. The ranges--- and replacement values are dynamically provided by the user for custom--- behavior, such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH This can be--- used on data of type: number, long, string, timestamp. If the bound--- \`Value\` type differs from the type of data being transformed, we will--- first attempt converting the type of the data to be transformed to match--- the type of the bound before comparing. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-bucketing to learn more.------ /See:/ 'googlePrivacyDlpV2BucketingConfig' smart constructor.-newtype GooglePrivacyDlpV2BucketingConfig = GooglePrivacyDlpV2BucketingConfig'- { _gpdvbcBuckets :: Maybe [GooglePrivacyDlpV2Bucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BucketingConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbcBuckets'-googlePrivacyDlpV2BucketingConfig- :: GooglePrivacyDlpV2BucketingConfig-googlePrivacyDlpV2BucketingConfig =- GooglePrivacyDlpV2BucketingConfig'- { _gpdvbcBuckets = Nothing- }---- | Set of buckets. Ranges must be non-overlapping.-gpdvbcBuckets :: Lens' GooglePrivacyDlpV2BucketingConfig [GooglePrivacyDlpV2Bucket]-gpdvbcBuckets- = lens _gpdvbcBuckets- (\ s a -> s{_gpdvbcBuckets = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2BucketingConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2BucketingConfig"- (\ o ->- GooglePrivacyDlpV2BucketingConfig' <$>- (o .:? "buckets" .!= mempty))--instance ToJSON GooglePrivacyDlpV2BucketingConfig- where- toJSON GooglePrivacyDlpV2BucketingConfig'{..}- = object- (catMaybes [("buckets" .=) <$> _gpdvbcBuckets])---- | Configuration description of the scanning process. When used with--- redactContent only info_types and min_likelihood are currently used.------ /See:/ 'googlePrivacyDlpV2InspectConfig' smart constructor.-data GooglePrivacyDlpV2InspectConfig = GooglePrivacyDlpV2InspectConfig'- { _gpdvicInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])- , _gpdvicMinLikelihood :: !(Maybe GooglePrivacyDlpV2InspectConfigMinLikelihood)- , _gpdvicExcludeInfoTypes :: !(Maybe Bool)- , _gpdvicIncludeQuote :: !(Maybe Bool)- , _gpdvicCustomInfoTypes :: !(Maybe [GooglePrivacyDlpV2CustomInfoType])- , _gpdvicLimits :: !(Maybe GooglePrivacyDlpV2FindingLimits)- , _gpdvicContentOptions :: !(Maybe [Text])- , _gpdvicRuleSet :: !(Maybe [GooglePrivacyDlpV2InspectionRuleSet])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvicInfoTypes'------ * 'gpdvicMinLikelihood'------ * 'gpdvicExcludeInfoTypes'------ * 'gpdvicIncludeQuote'------ * 'gpdvicCustomInfoTypes'------ * 'gpdvicLimits'------ * 'gpdvicContentOptions'------ * 'gpdvicRuleSet'-googlePrivacyDlpV2InspectConfig- :: GooglePrivacyDlpV2InspectConfig-googlePrivacyDlpV2InspectConfig =- GooglePrivacyDlpV2InspectConfig'- { _gpdvicInfoTypes = Nothing- , _gpdvicMinLikelihood = Nothing- , _gpdvicExcludeInfoTypes = Nothing- , _gpdvicIncludeQuote = Nothing- , _gpdvicCustomInfoTypes = Nothing- , _gpdvicLimits = Nothing- , _gpdvicContentOptions = Nothing- , _gpdvicRuleSet = Nothing- }---- | Restricts what info_types to look for. The values must correspond to--- InfoType values returned by ListInfoTypes or listed at--- https:\/\/cloud.google.com\/dlp\/docs\/infotypes-reference. When no--- InfoTypes or CustomInfoTypes are specified in a request, the system may--- automatically choose what detectors to run. By default this may be all--- types, but may change over time as detectors are updated. The special--- InfoType name \"ALL_BASIC\" can be used to trigger all detectors, but--- may change over time as new InfoTypes are added. If you need precise--- control and predictability as to what detectors are run you should--- specify specific InfoTypes listed in the reference.-gpdvicInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2InfoType]-gpdvicInfoTypes- = lens _gpdvicInfoTypes- (\ s a -> s{_gpdvicInfoTypes = a})- . _Default- . _Coerce---- | Only returns findings equal or above this threshold. The default is--- POSSIBLE. See https:\/\/cloud.google.com\/dlp\/docs\/likelihood to learn--- more.-gpdvicMinLikelihood :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe GooglePrivacyDlpV2InspectConfigMinLikelihood)-gpdvicMinLikelihood- = lens _gpdvicMinLikelihood- (\ s a -> s{_gpdvicMinLikelihood = a})---- | When true, excludes type information of the findings.-gpdvicExcludeInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe Bool)-gpdvicExcludeInfoTypes- = lens _gpdvicExcludeInfoTypes- (\ s a -> s{_gpdvicExcludeInfoTypes = a})---- | When true, a contextual quote from the data that triggered a finding is--- included in the response; see Finding.quote.-gpdvicIncludeQuote :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe Bool)-gpdvicIncludeQuote- = lens _gpdvicIncludeQuote- (\ s a -> s{_gpdvicIncludeQuote = a})---- | CustomInfoTypes provided by the user. See--- https:\/\/cloud.google.com\/dlp\/docs\/creating-custom-infotypes to--- learn more.-gpdvicCustomInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2CustomInfoType]-gpdvicCustomInfoTypes- = lens _gpdvicCustomInfoTypes- (\ s a -> s{_gpdvicCustomInfoTypes = a})- . _Default- . _Coerce--gpdvicLimits :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe GooglePrivacyDlpV2FindingLimits)-gpdvicLimits- = lens _gpdvicLimits (\ s a -> s{_gpdvicLimits = a})---- | List of options defining data content to scan. If empty, text, images,--- and other content will be included.-gpdvicContentOptions :: Lens' GooglePrivacyDlpV2InspectConfig [Text]-gpdvicContentOptions- = lens _gpdvicContentOptions- (\ s a -> s{_gpdvicContentOptions = a})- . _Default- . _Coerce---- | Set of rules to apply to the findings for this InspectConfig. Exclusion--- rules, contained in the set are executed in the end, other rules are--- executed in the order they are specified for each info type.-gpdvicRuleSet :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2InspectionRuleSet]-gpdvicRuleSet- = lens _gpdvicRuleSet- (\ s a -> s{_gpdvicRuleSet = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2InspectConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectConfig"- (\ o ->- GooglePrivacyDlpV2InspectConfig' <$>- (o .:? "infoTypes" .!= mempty) <*>- (o .:? "minLikelihood")- <*> (o .:? "excludeInfoTypes")- <*> (o .:? "includeQuote")- <*> (o .:? "customInfoTypes" .!= mempty)- <*> (o .:? "limits")- <*> (o .:? "contentOptions" .!= mempty)- <*> (o .:? "ruleSet" .!= mempty))--instance ToJSON GooglePrivacyDlpV2InspectConfig where- toJSON GooglePrivacyDlpV2InspectConfig'{..}- = object- (catMaybes- [("infoTypes" .=) <$> _gpdvicInfoTypes,- ("minLikelihood" .=) <$> _gpdvicMinLikelihood,- ("excludeInfoTypes" .=) <$> _gpdvicExcludeInfoTypes,- ("includeQuote" .=) <$> _gpdvicIncludeQuote,- ("customInfoTypes" .=) <$> _gpdvicCustomInfoTypes,- ("limits" .=) <$> _gpdvicLimits,- ("contentOptions" .=) <$> _gpdvicContentOptions,- ("ruleSet" .=) <$> _gpdvicRuleSet])---- | Configuration for a risk analysis job. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-risk-analysis to learn--- more.------ /See:/ 'googlePrivacyDlpV2RiskAnalysisJobConfig' smart constructor.-data GooglePrivacyDlpV2RiskAnalysisJobConfig = GooglePrivacyDlpV2RiskAnalysisJobConfig'- { _gpdvrajcPrivacyMetric :: !(Maybe GooglePrivacyDlpV2PrivacyMetric)- , _gpdvrajcActions :: !(Maybe [GooglePrivacyDlpV2Action])- , _gpdvrajcSourceTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RiskAnalysisJobConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrajcPrivacyMetric'------ * 'gpdvrajcActions'------ * 'gpdvrajcSourceTable'-googlePrivacyDlpV2RiskAnalysisJobConfig- :: GooglePrivacyDlpV2RiskAnalysisJobConfig-googlePrivacyDlpV2RiskAnalysisJobConfig =- GooglePrivacyDlpV2RiskAnalysisJobConfig'- { _gpdvrajcPrivacyMetric = Nothing- , _gpdvrajcActions = Nothing- , _gpdvrajcSourceTable = Nothing- }---- | Privacy metric to compute.-gpdvrajcPrivacyMetric :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig (Maybe GooglePrivacyDlpV2PrivacyMetric)-gpdvrajcPrivacyMetric- = lens _gpdvrajcPrivacyMetric- (\ s a -> s{_gpdvrajcPrivacyMetric = a})---- | Actions to execute at the completion of the job. Are executed in the--- order provided.-gpdvrajcActions :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig [GooglePrivacyDlpV2Action]-gpdvrajcActions- = lens _gpdvrajcActions- (\ s a -> s{_gpdvrajcActions = a})- . _Default- . _Coerce---- | Input dataset to compute metrics over.-gpdvrajcSourceTable :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvrajcSourceTable- = lens _gpdvrajcSourceTable- (\ s a -> s{_gpdvrajcSourceTable = a})--instance FromJSON- GooglePrivacyDlpV2RiskAnalysisJobConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2RiskAnalysisJobConfig"- (\ o ->- GooglePrivacyDlpV2RiskAnalysisJobConfig' <$>- (o .:? "privacyMetric") <*>- (o .:? "actions" .!= mempty)- <*> (o .:? "sourceTable"))--instance ToJSON- GooglePrivacyDlpV2RiskAnalysisJobConfig where- toJSON GooglePrivacyDlpV2RiskAnalysisJobConfig'{..}- = object- (catMaybes- [("privacyMetric" .=) <$> _gpdvrajcPrivacyMetric,- ("actions" .=) <$> _gpdvrajcActions,- ("sourceTable" .=) <$> _gpdvrajcSourceTable])---- | Message for infoType-dependent details parsed from quote.------ /See:/ 'googlePrivacyDlpV2QuoteInfo' smart constructor.-newtype GooglePrivacyDlpV2QuoteInfo = GooglePrivacyDlpV2QuoteInfo'- { _gpdvqiDateTime :: Maybe GooglePrivacyDlpV2DateTime- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2QuoteInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvqiDateTime'-googlePrivacyDlpV2QuoteInfo- :: GooglePrivacyDlpV2QuoteInfo-googlePrivacyDlpV2QuoteInfo =- GooglePrivacyDlpV2QuoteInfo'- { _gpdvqiDateTime = Nothing- }---- | The date time indicated by the quote.-gpdvqiDateTime :: Lens' GooglePrivacyDlpV2QuoteInfo (Maybe GooglePrivacyDlpV2DateTime)-gpdvqiDateTime- = lens _gpdvqiDateTime- (\ s a -> s{_gpdvqiDateTime = a})--instance FromJSON GooglePrivacyDlpV2QuoteInfo where- parseJSON- = withObject "GooglePrivacyDlpV2QuoteInfo"- (\ o ->- GooglePrivacyDlpV2QuoteInfo' <$> (o .:? "dateTime"))--instance ToJSON GooglePrivacyDlpV2QuoteInfo where- toJSON GooglePrivacyDlpV2QuoteInfo'{..}- = object- (catMaybes [("dateTime" .=) <$> _gpdvqiDateTime])---- | Configuration to suppress records whose suppression conditions evaluate--- to true.------ /See:/ 'googlePrivacyDlpV2RecordSuppression' smart constructor.-newtype GooglePrivacyDlpV2RecordSuppression = GooglePrivacyDlpV2RecordSuppression'- { _gpdvrsCondition :: Maybe GooglePrivacyDlpV2RecordCondition- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RecordSuppression' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrsCondition'-googlePrivacyDlpV2RecordSuppression- :: GooglePrivacyDlpV2RecordSuppression-googlePrivacyDlpV2RecordSuppression =- GooglePrivacyDlpV2RecordSuppression'- { _gpdvrsCondition = Nothing- }---- | A condition that when it evaluates to true will result in the record--- being evaluated to be suppressed from the transformed content.-gpdvrsCondition :: Lens' GooglePrivacyDlpV2RecordSuppression (Maybe GooglePrivacyDlpV2RecordCondition)-gpdvrsCondition- = lens _gpdvrsCondition- (\ s a -> s{_gpdvrsCondition = a})--instance FromJSON GooglePrivacyDlpV2RecordSuppression- where- parseJSON- = withObject "GooglePrivacyDlpV2RecordSuppression"- (\ o ->- GooglePrivacyDlpV2RecordSuppression' <$>- (o .:? "condition"))--instance ToJSON GooglePrivacyDlpV2RecordSuppression- where- toJSON GooglePrivacyDlpV2RecordSuppression'{..}- = object- (catMaybes [("condition" .=) <$> _gpdvrsCondition])---- | This is a data encryption key (DEK) (as opposed to a key encryption key--- (KEK) stored by KMS). When using KMS to wrap\/unwrap DEKs, be sure to--- set an appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an--- attacker cannot unwrap the data crypto key.------ /See:/ 'googlePrivacyDlpV2CryptoKey' smart constructor.-data GooglePrivacyDlpV2CryptoKey = GooglePrivacyDlpV2CryptoKey'- { _gpdvckTransient :: !(Maybe GooglePrivacyDlpV2TransientCryptoKey)- , _gpdvckKmsWrApped :: !(Maybe GooglePrivacyDlpV2KmsWrAppedCryptoKey)- , _gpdvckUnwrApped :: !(Maybe GooglePrivacyDlpV2UnwrAppedCryptoKey)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CryptoKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvckTransient'------ * 'gpdvckKmsWrApped'------ * 'gpdvckUnwrApped'-googlePrivacyDlpV2CryptoKey- :: GooglePrivacyDlpV2CryptoKey-googlePrivacyDlpV2CryptoKey =- GooglePrivacyDlpV2CryptoKey'- { _gpdvckTransient = Nothing- , _gpdvckKmsWrApped = Nothing- , _gpdvckUnwrApped = Nothing- }--gpdvckTransient :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2TransientCryptoKey)-gpdvckTransient- = lens _gpdvckTransient- (\ s a -> s{_gpdvckTransient = a})--gpdvckKmsWrApped :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2KmsWrAppedCryptoKey)-gpdvckKmsWrApped- = lens _gpdvckKmsWrApped- (\ s a -> s{_gpdvckKmsWrApped = a})--gpdvckUnwrApped :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2UnwrAppedCryptoKey)-gpdvckUnwrApped- = lens _gpdvckUnwrApped- (\ s a -> s{_gpdvckUnwrApped = a})--instance FromJSON GooglePrivacyDlpV2CryptoKey where- parseJSON- = withObject "GooglePrivacyDlpV2CryptoKey"- (\ o ->- GooglePrivacyDlpV2CryptoKey' <$>- (o .:? "transient") <*> (o .:? "kmsWrapped") <*>- (o .:? "unwrapped"))--instance ToJSON GooglePrivacyDlpV2CryptoKey where- toJSON GooglePrivacyDlpV2CryptoKey'{..}- = object- (catMaybes- [("transient" .=) <$> _gpdvckTransient,- ("kmsWrapped" .=) <$> _gpdvckKmsWrApped,- ("unwrapped" .=) <$> _gpdvckUnwrApped])---- | Configuration for a custom dictionary created from a data source of any--- size up to the maximum size defined in the--- [limits](https:\/\/cloud.google.com\/dlp\/limits) page. The artifacts of--- dictionary creation are stored in the specified Google Cloud Storage--- location. Consider using \`CustomInfoType.Dictionary\` for smaller--- dictionaries that satisfy the size requirements.------ /See:/ 'googlePrivacyDlpV2LargeCustomDictionaryConfig' smart constructor.-data GooglePrivacyDlpV2LargeCustomDictionaryConfig = GooglePrivacyDlpV2LargeCustomDictionaryConfig'- { _gpdvlcdcBigQueryField :: !(Maybe GooglePrivacyDlpV2BigQueryField)- , _gpdvlcdcCloudStorageFileSet :: !(Maybe GooglePrivacyDlpV2CloudStorageFileSet)- , _gpdvlcdcOutputPath :: !(Maybe GooglePrivacyDlpV2CloudStoragePath)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LargeCustomDictionaryConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlcdcBigQueryField'------ * 'gpdvlcdcCloudStorageFileSet'------ * 'gpdvlcdcOutputPath'-googlePrivacyDlpV2LargeCustomDictionaryConfig- :: GooglePrivacyDlpV2LargeCustomDictionaryConfig-googlePrivacyDlpV2LargeCustomDictionaryConfig =- GooglePrivacyDlpV2LargeCustomDictionaryConfig'- { _gpdvlcdcBigQueryField = Nothing- , _gpdvlcdcCloudStorageFileSet = Nothing- , _gpdvlcdcOutputPath = Nothing- }---- | Field in a BigQuery table where each cell represents a dictionary--- phrase.-gpdvlcdcBigQueryField :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2BigQueryField)-gpdvlcdcBigQueryField- = lens _gpdvlcdcBigQueryField- (\ s a -> s{_gpdvlcdcBigQueryField = a})---- | Set of files containing newline-delimited lists of dictionary phrases.-gpdvlcdcCloudStorageFileSet :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2CloudStorageFileSet)-gpdvlcdcCloudStorageFileSet- = lens _gpdvlcdcCloudStorageFileSet- (\ s a -> s{_gpdvlcdcCloudStorageFileSet = a})---- | Location to store dictionary artifacts in Google Cloud Storage. These--- files will only be accessible by project owners and the DLP API. If any--- of these artifacts are modified, the dictionary is considered invalid--- and can no longer be used.-gpdvlcdcOutputPath :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2CloudStoragePath)-gpdvlcdcOutputPath- = lens _gpdvlcdcOutputPath- (\ s a -> s{_gpdvlcdcOutputPath = a})--instance FromJSON- GooglePrivacyDlpV2LargeCustomDictionaryConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2LargeCustomDictionaryConfig"- (\ o ->- GooglePrivacyDlpV2LargeCustomDictionaryConfig' <$>- (o .:? "bigQueryField") <*>- (o .:? "cloudStorageFileSet")- <*> (o .:? "outputPath"))--instance ToJSON- GooglePrivacyDlpV2LargeCustomDictionaryConfig where- toJSON- GooglePrivacyDlpV2LargeCustomDictionaryConfig'{..}- = object- (catMaybes- [("bigQueryField" .=) <$> _gpdvlcdcBigQueryField,- ("cloudStorageFileSet" .=) <$>- _gpdvlcdcCloudStorageFileSet,- ("outputPath" .=) <$> _gpdvlcdcOutputPath])---- | Message defining a list of words or phrases to search for in the data.------ /See:/ 'googlePrivacyDlpV2WordList' smart constructor.-newtype GooglePrivacyDlpV2WordList = GooglePrivacyDlpV2WordList'- { _gpdvwlWords :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2WordList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvwlWords'-googlePrivacyDlpV2WordList- :: GooglePrivacyDlpV2WordList-googlePrivacyDlpV2WordList =- GooglePrivacyDlpV2WordList'- { _gpdvwlWords = Nothing- }---- | Words or phrases defining the dictionary. The dictionary must contain at--- least one phrase and every phrase must contain at least 2 characters--- that are letters or digits. [required]-gpdvwlWords :: Lens' GooglePrivacyDlpV2WordList [Text]-gpdvwlWords- = lens _gpdvwlWords (\ s a -> s{_gpdvwlWords = a}) .- _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2WordList where- parseJSON- = withObject "GooglePrivacyDlpV2WordList"- (\ o ->- GooglePrivacyDlpV2WordList' <$>- (o .:? "words" .!= mempty))--instance ToJSON GooglePrivacyDlpV2WordList where- toJSON GooglePrivacyDlpV2WordList'{..}- = object (catMaybes [("words" .=) <$> _gpdvwlWords])---- | Container structure for the content to inspect.------ /See:/ 'googlePrivacyDlpV2ContentItem' smart constructor.-data GooglePrivacyDlpV2ContentItem = GooglePrivacyDlpV2ContentItem'- { _gpdvciValue :: !(Maybe Text)- , _gpdvciByteItem :: !(Maybe GooglePrivacyDlpV2ByteContentItem)- , _gpdvciTable :: !(Maybe GooglePrivacyDlpV2Table)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ContentItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvciValue'------ * 'gpdvciByteItem'------ * 'gpdvciTable'-googlePrivacyDlpV2ContentItem- :: GooglePrivacyDlpV2ContentItem-googlePrivacyDlpV2ContentItem =- GooglePrivacyDlpV2ContentItem'- { _gpdvciValue = Nothing- , _gpdvciByteItem = Nothing- , _gpdvciTable = Nothing- }---- | String data to inspect or redact.-gpdvciValue :: Lens' GooglePrivacyDlpV2ContentItem (Maybe Text)-gpdvciValue- = lens _gpdvciValue (\ s a -> s{_gpdvciValue = a})---- | Content data to inspect or redact. Replaces \`type\` and \`data\`.-gpdvciByteItem :: Lens' GooglePrivacyDlpV2ContentItem (Maybe GooglePrivacyDlpV2ByteContentItem)-gpdvciByteItem- = lens _gpdvciByteItem- (\ s a -> s{_gpdvciByteItem = a})---- | Structured content for inspection. See--- https:\/\/cloud.google.com\/dlp\/docs\/inspecting-text#inspecting_a_table--- to learn more.-gpdvciTable :: Lens' GooglePrivacyDlpV2ContentItem (Maybe GooglePrivacyDlpV2Table)-gpdvciTable- = lens _gpdvciTable (\ s a -> s{_gpdvciTable = a})--instance FromJSON GooglePrivacyDlpV2ContentItem where- parseJSON- = withObject "GooglePrivacyDlpV2ContentItem"- (\ o ->- GooglePrivacyDlpV2ContentItem' <$>- (o .:? "value") <*> (o .:? "byteItem") <*>- (o .:? "table"))--instance ToJSON GooglePrivacyDlpV2ContentItem where- toJSON GooglePrivacyDlpV2ContentItem'{..}- = object- (catMaybes- [("value" .=) <$> _gpdvciValue,- ("byteItem" .=) <$> _gpdvciByteItem,- ("table" .=) <$> _gpdvciTable])------- /See:/ 'googlePrivacyDlpV2CategoricalStatsHistogramBucket' smart constructor.-data GooglePrivacyDlpV2CategoricalStatsHistogramBucket = GooglePrivacyDlpV2CategoricalStatsHistogramBucket'- { _gpdvcshbValueFrequencyLowerBound :: !(Maybe (Textual Int64))- , _gpdvcshbBucketValues :: !(Maybe [GooglePrivacyDlpV2ValueFrequency])- , _gpdvcshbValueFrequencyUpperBound :: !(Maybe (Textual Int64))- , _gpdvcshbBucketSize :: !(Maybe (Textual Int64))- , _gpdvcshbBucketValueCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsHistogramBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcshbValueFrequencyLowerBound'------ * 'gpdvcshbBucketValues'------ * 'gpdvcshbValueFrequencyUpperBound'------ * 'gpdvcshbBucketSize'------ * 'gpdvcshbBucketValueCount'-googlePrivacyDlpV2CategoricalStatsHistogramBucket- :: GooglePrivacyDlpV2CategoricalStatsHistogramBucket-googlePrivacyDlpV2CategoricalStatsHistogramBucket =- GooglePrivacyDlpV2CategoricalStatsHistogramBucket'- { _gpdvcshbValueFrequencyLowerBound = Nothing- , _gpdvcshbBucketValues = Nothing- , _gpdvcshbValueFrequencyUpperBound = Nothing- , _gpdvcshbBucketSize = Nothing- , _gpdvcshbBucketValueCount = Nothing- }---- | Lower bound on the value frequency of the values in this bucket.-gpdvcshbValueFrequencyLowerBound :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)-gpdvcshbValueFrequencyLowerBound- = lens _gpdvcshbValueFrequencyLowerBound- (\ s a -> s{_gpdvcshbValueFrequencyLowerBound = a})- . mapping _Coerce---- | Sample of value frequencies in this bucket. The total number of values--- returned per bucket is capped at 20.-gpdvcshbBucketValues :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket [GooglePrivacyDlpV2ValueFrequency]-gpdvcshbBucketValues- = lens _gpdvcshbBucketValues- (\ s a -> s{_gpdvcshbBucketValues = a})- . _Default- . _Coerce---- | Upper bound on the value frequency of the values in this bucket.-gpdvcshbValueFrequencyUpperBound :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)-gpdvcshbValueFrequencyUpperBound- = lens _gpdvcshbValueFrequencyUpperBound- (\ s a -> s{_gpdvcshbValueFrequencyUpperBound = a})- . mapping _Coerce---- | Total number of values in this bucket.-gpdvcshbBucketSize :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)-gpdvcshbBucketSize- = lens _gpdvcshbBucketSize- (\ s a -> s{_gpdvcshbBucketSize = a})- . mapping _Coerce---- | Total number of distinct values in this bucket.-gpdvcshbBucketValueCount :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)-gpdvcshbBucketValueCount- = lens _gpdvcshbBucketValueCount- (\ s a -> s{_gpdvcshbBucketValueCount = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2CategoricalStatsHistogramBucket- where- parseJSON- = withObject- "GooglePrivacyDlpV2CategoricalStatsHistogramBucket"- (\ o ->- GooglePrivacyDlpV2CategoricalStatsHistogramBucket'- <$>- (o .:? "valueFrequencyLowerBound") <*>- (o .:? "bucketValues" .!= mempty)- <*> (o .:? "valueFrequencyUpperBound")- <*> (o .:? "bucketSize")- <*> (o .:? "bucketValueCount"))--instance ToJSON- GooglePrivacyDlpV2CategoricalStatsHistogramBucket- where- toJSON- GooglePrivacyDlpV2CategoricalStatsHistogramBucket'{..}- = object- (catMaybes- [("valueFrequencyLowerBound" .=) <$>- _gpdvcshbValueFrequencyLowerBound,- ("bucketValues" .=) <$> _gpdvcshbBucketValues,- ("valueFrequencyUpperBound" .=) <$>- _gpdvcshbValueFrequencyUpperBound,- ("bucketSize" .=) <$> _gpdvcshbBucketSize,- ("bucketValueCount" .=) <$>- _gpdvcshbBucketValueCount])------- /See:/ 'googlePrivacyDlpV2Result' smart constructor.-data GooglePrivacyDlpV2Result = GooglePrivacyDlpV2Result'- { _gpdvrProcessedBytes :: !(Maybe (Textual Int64))- , _gpdvrInfoTypeStats :: !(Maybe [GooglePrivacyDlpV2InfoTypeStats])- , _gpdvrTotalEstimatedBytes :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Result' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrProcessedBytes'------ * 'gpdvrInfoTypeStats'------ * 'gpdvrTotalEstimatedBytes'-googlePrivacyDlpV2Result- :: GooglePrivacyDlpV2Result-googlePrivacyDlpV2Result =- GooglePrivacyDlpV2Result'- { _gpdvrProcessedBytes = Nothing- , _gpdvrInfoTypeStats = Nothing- , _gpdvrTotalEstimatedBytes = Nothing- }---- | Total size in bytes that were processed.-gpdvrProcessedBytes :: Lens' GooglePrivacyDlpV2Result (Maybe Int64)-gpdvrProcessedBytes- = lens _gpdvrProcessedBytes- (\ s a -> s{_gpdvrProcessedBytes = a})- . mapping _Coerce---- | Statistics of how many instances of each info type were found during--- inspect job.-gpdvrInfoTypeStats :: Lens' GooglePrivacyDlpV2Result [GooglePrivacyDlpV2InfoTypeStats]-gpdvrInfoTypeStats- = lens _gpdvrInfoTypeStats- (\ s a -> s{_gpdvrInfoTypeStats = a})- . _Default- . _Coerce---- | Estimate of the number of bytes to process.-gpdvrTotalEstimatedBytes :: Lens' GooglePrivacyDlpV2Result (Maybe Int64)-gpdvrTotalEstimatedBytes- = lens _gpdvrTotalEstimatedBytes- (\ s a -> s{_gpdvrTotalEstimatedBytes = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2Result where- parseJSON- = withObject "GooglePrivacyDlpV2Result"- (\ o ->- GooglePrivacyDlpV2Result' <$>- (o .:? "processedBytes") <*>- (o .:? "infoTypeStats" .!= mempty)- <*> (o .:? "totalEstimatedBytes"))--instance ToJSON GooglePrivacyDlpV2Result where- toJSON GooglePrivacyDlpV2Result'{..}- = object- (catMaybes- [("processedBytes" .=) <$> _gpdvrProcessedBytes,- ("infoTypeStats" .=) <$> _gpdvrInfoTypeStats,- ("totalEstimatedBytes" .=) <$>- _gpdvrTotalEstimatedBytes])---- | The results of an inspect DataSource job.------ /See:/ 'googlePrivacyDlpV2InspectDataSourceDetails' smart constructor.-data GooglePrivacyDlpV2InspectDataSourceDetails = GooglePrivacyDlpV2InspectDataSourceDetails'- { _gpdvidsdResult :: !(Maybe GooglePrivacyDlpV2Result)- , _gpdvidsdRequestedOptions :: !(Maybe GooglePrivacyDlpV2RequestedOptions)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectDataSourceDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvidsdResult'------ * 'gpdvidsdRequestedOptions'-googlePrivacyDlpV2InspectDataSourceDetails- :: GooglePrivacyDlpV2InspectDataSourceDetails-googlePrivacyDlpV2InspectDataSourceDetails =- GooglePrivacyDlpV2InspectDataSourceDetails'- { _gpdvidsdResult = Nothing- , _gpdvidsdRequestedOptions = Nothing- }---- | A summary of the outcome of this inspect job.-gpdvidsdResult :: Lens' GooglePrivacyDlpV2InspectDataSourceDetails (Maybe GooglePrivacyDlpV2Result)-gpdvidsdResult- = lens _gpdvidsdResult- (\ s a -> s{_gpdvidsdResult = a})---- | The configuration used for this job.-gpdvidsdRequestedOptions :: Lens' GooglePrivacyDlpV2InspectDataSourceDetails (Maybe GooglePrivacyDlpV2RequestedOptions)-gpdvidsdRequestedOptions- = lens _gpdvidsdRequestedOptions- (\ s a -> s{_gpdvidsdRequestedOptions = a})--instance FromJSON- GooglePrivacyDlpV2InspectDataSourceDetails where- parseJSON- = withObject- "GooglePrivacyDlpV2InspectDataSourceDetails"- (\ o ->- GooglePrivacyDlpV2InspectDataSourceDetails' <$>- (o .:? "result") <*> (o .:? "requestedOptions"))--instance ToJSON- GooglePrivacyDlpV2InspectDataSourceDetails where- toJSON- GooglePrivacyDlpV2InspectDataSourceDetails'{..}- = object- (catMaybes- [("result" .=) <$> _gpdvidsdResult,- ("requestedOptions" .=) <$>- _gpdvidsdRequestedOptions])---- | Results of redacting an image.------ /See:/ 'googlePrivacyDlpV2RedactImageResponse' smart constructor.-data GooglePrivacyDlpV2RedactImageResponse = GooglePrivacyDlpV2RedactImageResponse'- { _gpdvrirExtractedText :: !(Maybe Text)- , _gpdvrirInspectResult :: !(Maybe GooglePrivacyDlpV2InspectResult)- , _gpdvrirRedactedImage :: !(Maybe Bytes)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RedactImageResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrirExtractedText'------ * 'gpdvrirInspectResult'------ * 'gpdvrirRedactedImage'-googlePrivacyDlpV2RedactImageResponse- :: GooglePrivacyDlpV2RedactImageResponse-googlePrivacyDlpV2RedactImageResponse =- GooglePrivacyDlpV2RedactImageResponse'- { _gpdvrirExtractedText = Nothing- , _gpdvrirInspectResult = Nothing- , _gpdvrirRedactedImage = Nothing- }---- | If an image was being inspected and the InspectConfig\'s include_quote--- was set to true, then this field will include all text, if any, that was--- found in the image.-gpdvrirExtractedText :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe Text)-gpdvrirExtractedText- = lens _gpdvrirExtractedText- (\ s a -> s{_gpdvrirExtractedText = a})---- | The findings. Populated when include_findings in the request is true.-gpdvrirInspectResult :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe GooglePrivacyDlpV2InspectResult)-gpdvrirInspectResult- = lens _gpdvrirInspectResult- (\ s a -> s{_gpdvrirInspectResult = a})---- | The redacted image. The type will be the same as the original image.-gpdvrirRedactedImage :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe ByteString)-gpdvrirRedactedImage- = lens _gpdvrirRedactedImage- (\ s a -> s{_gpdvrirRedactedImage = a})- . mapping _Bytes--instance FromJSON- GooglePrivacyDlpV2RedactImageResponse where- parseJSON- = withObject "GooglePrivacyDlpV2RedactImageResponse"- (\ o ->- GooglePrivacyDlpV2RedactImageResponse' <$>- (o .:? "extractedText") <*> (o .:? "inspectResult")- <*> (o .:? "redactedImage"))--instance ToJSON GooglePrivacyDlpV2RedactImageResponse- where- toJSON GooglePrivacyDlpV2RedactImageResponse'{..}- = object- (catMaybes- [("extractedText" .=) <$> _gpdvrirExtractedText,- ("inspectResult" .=) <$> _gpdvrirInspectResult,- ("redactedImage" .=) <$> _gpdvrirRedactedImage])---- | Publish the results of a DlpJob to a pub sub channel. Compatible with:--- Inspect, Risk------ /See:/ 'googlePrivacyDlpV2PublishToPubSub' smart constructor.-newtype GooglePrivacyDlpV2PublishToPubSub = GooglePrivacyDlpV2PublishToPubSub'- { _gpdvptpsTopic :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PublishToPubSub' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvptpsTopic'-googlePrivacyDlpV2PublishToPubSub- :: GooglePrivacyDlpV2PublishToPubSub-googlePrivacyDlpV2PublishToPubSub =- GooglePrivacyDlpV2PublishToPubSub'- { _gpdvptpsTopic = Nothing- }---- | Cloud Pub\/Sub topic to send notifications to. The topic must have given--- publishing access rights to the DLP API service account executing the--- long running DlpJob sending the notifications. Format is--- projects\/{project}\/topics\/{topic}.-gpdvptpsTopic :: Lens' GooglePrivacyDlpV2PublishToPubSub (Maybe Text)-gpdvptpsTopic- = lens _gpdvptpsTopic- (\ s a -> s{_gpdvptpsTopic = a})--instance FromJSON GooglePrivacyDlpV2PublishToPubSub- where- parseJSON- = withObject "GooglePrivacyDlpV2PublishToPubSub"- (\ o ->- GooglePrivacyDlpV2PublishToPubSub' <$>- (o .:? "topic"))--instance ToJSON GooglePrivacyDlpV2PublishToPubSub- where- toJSON GooglePrivacyDlpV2PublishToPubSub'{..}- = object- (catMaybes [("topic" .=) <$> _gpdvptpsTopic])---- | Row key for identifying a record in BigQuery table.------ /See:/ 'googlePrivacyDlpV2BigQueryKey' smart constructor.-data GooglePrivacyDlpV2BigQueryKey = GooglePrivacyDlpV2BigQueryKey'- { _gpdvbqkTableReference :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- , _gpdvbqkRowNumber :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BigQueryKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbqkTableReference'------ * 'gpdvbqkRowNumber'-googlePrivacyDlpV2BigQueryKey- :: GooglePrivacyDlpV2BigQueryKey-googlePrivacyDlpV2BigQueryKey =- GooglePrivacyDlpV2BigQueryKey'- { _gpdvbqkTableReference = Nothing- , _gpdvbqkRowNumber = Nothing- }---- | Complete BigQuery table reference.-gpdvbqkTableReference :: Lens' GooglePrivacyDlpV2BigQueryKey (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvbqkTableReference- = lens _gpdvbqkTableReference- (\ s a -> s{_gpdvbqkTableReference = a})---- | Absolute number of the row from the beginning of the table at the time--- of scanning.-gpdvbqkRowNumber :: Lens' GooglePrivacyDlpV2BigQueryKey (Maybe Int64)-gpdvbqkRowNumber- = lens _gpdvbqkRowNumber- (\ s a -> s{_gpdvbqkRowNumber = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2BigQueryKey where- parseJSON- = withObject "GooglePrivacyDlpV2BigQueryKey"- (\ o ->- GooglePrivacyDlpV2BigQueryKey' <$>- (o .:? "tableReference") <*> (o .:? "rowNumber"))--instance ToJSON GooglePrivacyDlpV2BigQueryKey where- toJSON GooglePrivacyDlpV2BigQueryKey'{..}- = object- (catMaybes- [("tableReference" .=) <$> _gpdvbqkTableReference,- ("rowNumber" .=) <$> _gpdvbqkRowNumber])---- | Rule for modifying a CustomInfoType to alter behavior under certain--- circumstances, depending on the specific details of the rule. Not--- supported for the \`surrogate_type\` custom info type.------ /See:/ 'googlePrivacyDlpV2DetectionRule' smart constructor.-newtype GooglePrivacyDlpV2DetectionRule = GooglePrivacyDlpV2DetectionRule'- { _gpdvdrHotwordRule :: Maybe GooglePrivacyDlpV2HotwordRule- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DetectionRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdrHotwordRule'-googlePrivacyDlpV2DetectionRule- :: GooglePrivacyDlpV2DetectionRule-googlePrivacyDlpV2DetectionRule =- GooglePrivacyDlpV2DetectionRule'- { _gpdvdrHotwordRule = Nothing- }---- | Hotword-based detection rule.-gpdvdrHotwordRule :: Lens' GooglePrivacyDlpV2DetectionRule (Maybe GooglePrivacyDlpV2HotwordRule)-gpdvdrHotwordRule- = lens _gpdvdrHotwordRule- (\ s a -> s{_gpdvdrHotwordRule = a})--instance FromJSON GooglePrivacyDlpV2DetectionRule- where- parseJSON- = withObject "GooglePrivacyDlpV2DetectionRule"- (\ o ->- GooglePrivacyDlpV2DetectionRule' <$>- (o .:? "hotwordRule"))--instance ToJSON GooglePrivacyDlpV2DetectionRule where- toJSON GooglePrivacyDlpV2DetectionRule'{..}- = object- (catMaybes- [("hotwordRule" .=) <$> _gpdvdrHotwordRule])---- | A condition for determining whether a transformation should be applied--- to a field.------ /See:/ 'googlePrivacyDlpV2RecordCondition' smart constructor.-newtype GooglePrivacyDlpV2RecordCondition = GooglePrivacyDlpV2RecordCondition'- { _gpdvrcExpressions :: Maybe GooglePrivacyDlpV2Expressions- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RecordCondition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrcExpressions'-googlePrivacyDlpV2RecordCondition- :: GooglePrivacyDlpV2RecordCondition-googlePrivacyDlpV2RecordCondition =- GooglePrivacyDlpV2RecordCondition'- { _gpdvrcExpressions = Nothing- }---- | An expression.-gpdvrcExpressions :: Lens' GooglePrivacyDlpV2RecordCondition (Maybe GooglePrivacyDlpV2Expressions)-gpdvrcExpressions- = lens _gpdvrcExpressions- (\ s a -> s{_gpdvrcExpressions = a})--instance FromJSON GooglePrivacyDlpV2RecordCondition- where- parseJSON- = withObject "GooglePrivacyDlpV2RecordCondition"- (\ o ->- GooglePrivacyDlpV2RecordCondition' <$>- (o .:? "expressions"))--instance ToJSON GooglePrivacyDlpV2RecordCondition- where- toJSON GooglePrivacyDlpV2RecordCondition'{..}- = object- (catMaybes- [("expressions" .=) <$> _gpdvrcExpressions])---- | Shifts dates by random number of days, with option to be consistent for--- the same context. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-date-shifting to learn--- more.------ /See:/ 'googlePrivacyDlpV2DateShiftConfig' smart constructor.-data GooglePrivacyDlpV2DateShiftConfig = GooglePrivacyDlpV2DateShiftConfig'- { _gpdvdscContext :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvdscUpperBoundDays :: !(Maybe (Textual Int32))- , _gpdvdscCryptoKey :: !(Maybe GooglePrivacyDlpV2CryptoKey)- , _gpdvdscLowerBoundDays :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DateShiftConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdscContext'------ * 'gpdvdscUpperBoundDays'------ * 'gpdvdscCryptoKey'------ * 'gpdvdscLowerBoundDays'-googlePrivacyDlpV2DateShiftConfig- :: GooglePrivacyDlpV2DateShiftConfig-googlePrivacyDlpV2DateShiftConfig =- GooglePrivacyDlpV2DateShiftConfig'- { _gpdvdscContext = Nothing- , _gpdvdscUpperBoundDays = Nothing- , _gpdvdscCryptoKey = Nothing- , _gpdvdscLowerBoundDays = Nothing- }---- | Points to the field that contains the context, for example, an entity--- id. If set, must also set method. If set, shift will be consistent for--- the given context.-gpdvdscContext :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvdscContext- = lens _gpdvdscContext- (\ s a -> s{_gpdvdscContext = a})---- | Range of shift in days. Actual shift will be selected at random within--- this range (inclusive ends). Negative means shift to earlier in time.--- Must not be more than 365250 days (1000 years) each direction. For--- example, 3 means shift date to at most 3 days into the future.--- [Required]-gpdvdscUpperBoundDays :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe Int32)-gpdvdscUpperBoundDays- = lens _gpdvdscUpperBoundDays- (\ s a -> s{_gpdvdscUpperBoundDays = a})- . mapping _Coerce---- | Causes the shift to be computed based on this key and the context. This--- results in the same shift for the same context and crypto_key.-gpdvdscCryptoKey :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe GooglePrivacyDlpV2CryptoKey)-gpdvdscCryptoKey- = lens _gpdvdscCryptoKey- (\ s a -> s{_gpdvdscCryptoKey = a})---- | For example, -5 means shift date to at most 5 days back in the past.--- [Required]-gpdvdscLowerBoundDays :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe Int32)-gpdvdscLowerBoundDays- = lens _gpdvdscLowerBoundDays- (\ s a -> s{_gpdvdscLowerBoundDays = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2DateShiftConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2DateShiftConfig"- (\ o ->- GooglePrivacyDlpV2DateShiftConfig' <$>- (o .:? "context") <*> (o .:? "upperBoundDays") <*>- (o .:? "cryptoKey")- <*> (o .:? "lowerBoundDays"))--instance ToJSON GooglePrivacyDlpV2DateShiftConfig- where- toJSON GooglePrivacyDlpV2DateShiftConfig'{..}- = object- (catMaybes- [("context" .=) <$> _gpdvdscContext,- ("upperBoundDays" .=) <$> _gpdvdscUpperBoundDays,- ("cryptoKey" .=) <$> _gpdvdscCryptoKey,- ("lowerBoundDays" .=) <$> _gpdvdscLowerBoundDays])---- | Request to search for potentially sensitive info in a ContentItem.------ /See:/ 'googlePrivacyDlpV2InspectContentRequest' smart constructor.-data GooglePrivacyDlpV2InspectContentRequest = GooglePrivacyDlpV2InspectContentRequest'- { _gpdvicrInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gpdvicrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)- , _gpdvicrInspectTemplateName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectContentRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvicrInspectConfig'------ * 'gpdvicrItem'------ * 'gpdvicrInspectTemplateName'-googlePrivacyDlpV2InspectContentRequest- :: GooglePrivacyDlpV2InspectContentRequest-googlePrivacyDlpV2InspectContentRequest =- GooglePrivacyDlpV2InspectContentRequest'- { _gpdvicrInspectConfig = Nothing- , _gpdvicrItem = Nothing- , _gpdvicrInspectTemplateName = Nothing- }---- | Configuration for the inspector. What specified here will override the--- template referenced by the inspect_template_name argument.-gpdvicrInspectConfig :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)-gpdvicrInspectConfig- = lens _gpdvicrInspectConfig- (\ s a -> s{_gpdvicrInspectConfig = a})---- | The item to inspect.-gpdvicrItem :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe GooglePrivacyDlpV2ContentItem)-gpdvicrItem- = lens _gpdvicrItem (\ s a -> s{_gpdvicrItem = a})---- | Optional template to use. Any configuration directly specified in--- inspect_config will override those set in the template. Singular fields--- that are set in this request will replace their corresponding fields in--- the template. Repeated fields are appended. Singular sub-messages and--- groups are recursively merged.-gpdvicrInspectTemplateName :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe Text)-gpdvicrInspectTemplateName- = lens _gpdvicrInspectTemplateName- (\ s a -> s{_gpdvicrInspectTemplateName = a})--instance FromJSON- GooglePrivacyDlpV2InspectContentRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2InspectContentRequest"- (\ o ->- GooglePrivacyDlpV2InspectContentRequest' <$>- (o .:? "inspectConfig") <*> (o .:? "item") <*>- (o .:? "inspectTemplateName"))--instance ToJSON- GooglePrivacyDlpV2InspectContentRequest where- toJSON GooglePrivacyDlpV2InspectContentRequest'{..}- = object- (catMaybes- [("inspectConfig" .=) <$> _gpdvicrInspectConfig,- ("item" .=) <$> _gpdvicrItem,- ("inspectTemplateName" .=) <$>- _gpdvicrInspectTemplateName])---- | Result of the categorical stats computation.------ /See:/ 'googlePrivacyDlpV2CategoricalStatsResult' smart constructor.-newtype GooglePrivacyDlpV2CategoricalStatsResult = GooglePrivacyDlpV2CategoricalStatsResult'- { _gpdvcsrValueFrequencyHistogramBuckets :: Maybe [GooglePrivacyDlpV2CategoricalStatsHistogramBucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcsrValueFrequencyHistogramBuckets'-googlePrivacyDlpV2CategoricalStatsResult- :: GooglePrivacyDlpV2CategoricalStatsResult-googlePrivacyDlpV2CategoricalStatsResult =- GooglePrivacyDlpV2CategoricalStatsResult'- { _gpdvcsrValueFrequencyHistogramBuckets = Nothing- }---- | Histogram of value frequencies in the column.-gpdvcsrValueFrequencyHistogramBuckets :: Lens' GooglePrivacyDlpV2CategoricalStatsResult [GooglePrivacyDlpV2CategoricalStatsHistogramBucket]-gpdvcsrValueFrequencyHistogramBuckets- = lens _gpdvcsrValueFrequencyHistogramBuckets- (\ s a ->- s{_gpdvcsrValueFrequencyHistogramBuckets = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2CategoricalStatsResult where- parseJSON- = withObject- "GooglePrivacyDlpV2CategoricalStatsResult"- (\ o ->- GooglePrivacyDlpV2CategoricalStatsResult' <$>- (o .:? "valueFrequencyHistogramBuckets" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2CategoricalStatsResult where- toJSON GooglePrivacyDlpV2CategoricalStatsResult'{..}- = object- (catMaybes- [("valueFrequencyHistogramBuckets" .=) <$>- _gpdvcsrValueFrequencyHistogramBuckets])---- | Result of the numerical stats computation.------ /See:/ 'googlePrivacyDlpV2NumericalStatsResult' smart constructor.-data GooglePrivacyDlpV2NumericalStatsResult = GooglePrivacyDlpV2NumericalStatsResult'- { _gpdvnsrMaxValue :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvnsrQuantileValues :: !(Maybe [GooglePrivacyDlpV2Value])- , _gpdvnsrMinValue :: !(Maybe GooglePrivacyDlpV2Value)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2NumericalStatsResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvnsrMaxValue'------ * 'gpdvnsrQuantileValues'------ * 'gpdvnsrMinValue'-googlePrivacyDlpV2NumericalStatsResult- :: GooglePrivacyDlpV2NumericalStatsResult-googlePrivacyDlpV2NumericalStatsResult =- GooglePrivacyDlpV2NumericalStatsResult'- { _gpdvnsrMaxValue = Nothing- , _gpdvnsrQuantileValues = Nothing- , _gpdvnsrMinValue = Nothing- }---- | Maximum value appearing in the column.-gpdvnsrMaxValue :: Lens' GooglePrivacyDlpV2NumericalStatsResult (Maybe GooglePrivacyDlpV2Value)-gpdvnsrMaxValue- = lens _gpdvnsrMaxValue- (\ s a -> s{_gpdvnsrMaxValue = a})---- | List of 99 values that partition the set of field values into 100 equal--- sized buckets.-gpdvnsrQuantileValues :: Lens' GooglePrivacyDlpV2NumericalStatsResult [GooglePrivacyDlpV2Value]-gpdvnsrQuantileValues- = lens _gpdvnsrQuantileValues- (\ s a -> s{_gpdvnsrQuantileValues = a})- . _Default- . _Coerce---- | Minimum value appearing in the column.-gpdvnsrMinValue :: Lens' GooglePrivacyDlpV2NumericalStatsResult (Maybe GooglePrivacyDlpV2Value)-gpdvnsrMinValue- = lens _gpdvnsrMinValue- (\ s a -> s{_gpdvnsrMinValue = a})--instance FromJSON- GooglePrivacyDlpV2NumericalStatsResult where- parseJSON- = withObject "GooglePrivacyDlpV2NumericalStatsResult"- (\ o ->- GooglePrivacyDlpV2NumericalStatsResult' <$>- (o .:? "maxValue") <*>- (o .:? "quantileValues" .!= mempty)- <*> (o .:? "minValue"))--instance ToJSON- GooglePrivacyDlpV2NumericalStatsResult where- toJSON GooglePrivacyDlpV2NumericalStatsResult'{..}- = object- (catMaybes- [("maxValue" .=) <$> _gpdvnsrMaxValue,- ("quantileValues" .=) <$> _gpdvnsrQuantileValues,- ("minValue" .=) <$> _gpdvnsrMinValue])---- | Publish the result summary of a DlpJob to the Cloud Security Command--- Center (CSCC Alpha). This action is only available for projects which--- are parts of an organization and whitelisted for the alpha Cloud--- Security Command Center. The action will publish count of finding--- instances and their info types. The summary of findings will be--- persisted in CSCC and are governed by CSCC service-specific policy, see--- https:\/\/cloud.google.com\/terms\/service-terms Only a single instance--- of this action can be specified. Compatible with: Inspect------ /See:/ 'googlePrivacyDlpV2PublishSummaryToCscc' smart constructor.-data GooglePrivacyDlpV2PublishSummaryToCscc =- GooglePrivacyDlpV2PublishSummaryToCscc'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PublishSummaryToCscc' with the minimum fields required to make a request.----googlePrivacyDlpV2PublishSummaryToCscc- :: GooglePrivacyDlpV2PublishSummaryToCscc-googlePrivacyDlpV2PublishSummaryToCscc =- GooglePrivacyDlpV2PublishSummaryToCscc'--instance FromJSON- GooglePrivacyDlpV2PublishSummaryToCscc where- parseJSON- = withObject "GooglePrivacyDlpV2PublishSummaryToCscc"- (\ o -> pure GooglePrivacyDlpV2PublishSummaryToCscc')--instance ToJSON- GooglePrivacyDlpV2PublishSummaryToCscc where- toJSON = const emptyObject---- | Request message for UpdateInspectTemplate.------ /See:/ 'googlePrivacyDlpV2UpdateInspectTemplateRequest' smart constructor.-data GooglePrivacyDlpV2UpdateInspectTemplateRequest = GooglePrivacyDlpV2UpdateInspectTemplateRequest'- { _gpdvuitrUpdateMask :: !(Maybe GFieldMask)- , _gpdvuitrInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2UpdateInspectTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvuitrUpdateMask'------ * 'gpdvuitrInspectTemplate'-googlePrivacyDlpV2UpdateInspectTemplateRequest- :: GooglePrivacyDlpV2UpdateInspectTemplateRequest-googlePrivacyDlpV2UpdateInspectTemplateRequest =- GooglePrivacyDlpV2UpdateInspectTemplateRequest'- { _gpdvuitrUpdateMask = Nothing- , _gpdvuitrInspectTemplate = Nothing- }---- | Mask to control which fields get updated.-gpdvuitrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateInspectTemplateRequest (Maybe GFieldMask)-gpdvuitrUpdateMask- = lens _gpdvuitrUpdateMask- (\ s a -> s{_gpdvuitrUpdateMask = a})---- | New InspectTemplate value.-gpdvuitrInspectTemplate :: Lens' GooglePrivacyDlpV2UpdateInspectTemplateRequest (Maybe GooglePrivacyDlpV2InspectTemplate)-gpdvuitrInspectTemplate- = lens _gpdvuitrInspectTemplate- (\ s a -> s{_gpdvuitrInspectTemplate = a})--instance FromJSON- GooglePrivacyDlpV2UpdateInspectTemplateRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2UpdateInspectTemplateRequest"- (\ o ->- GooglePrivacyDlpV2UpdateInspectTemplateRequest' <$>- (o .:? "updateMask") <*> (o .:? "inspectTemplate"))--instance ToJSON- GooglePrivacyDlpV2UpdateInspectTemplateRequest where- toJSON- GooglePrivacyDlpV2UpdateInspectTemplateRequest'{..}- = object- (catMaybes- [("updateMask" .=) <$> _gpdvuitrUpdateMask,- ("inspectTemplate" .=) <$> _gpdvuitrInspectTemplate])---- | An entity in a dataset is a field or set of fields that correspond to a--- single person. For example, in medical records the \`EntityId\` might be--- a patient identifier, or for financial records it might be an account--- identifier. This message is used when generalizations or analysis must--- take into account that multiple rows correspond to the same entity.------ /See:/ 'googlePrivacyDlpV2EntityId' smart constructor.-newtype GooglePrivacyDlpV2EntityId = GooglePrivacyDlpV2EntityId'- { _gpdveiField :: Maybe GooglePrivacyDlpV2FieldId- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2EntityId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdveiField'-googlePrivacyDlpV2EntityId- :: GooglePrivacyDlpV2EntityId-googlePrivacyDlpV2EntityId =- GooglePrivacyDlpV2EntityId'- { _gpdveiField = Nothing- }---- | Composite key indicating which field contains the entity identifier.-gpdveiField :: Lens' GooglePrivacyDlpV2EntityId (Maybe GooglePrivacyDlpV2FieldId)-gpdveiField- = lens _gpdveiField (\ s a -> s{_gpdveiField = a})--instance FromJSON GooglePrivacyDlpV2EntityId where- parseJSON- = withObject "GooglePrivacyDlpV2EntityId"- (\ o ->- GooglePrivacyDlpV2EntityId' <$> (o .:? "field"))--instance ToJSON GooglePrivacyDlpV2EntityId where- toJSON GooglePrivacyDlpV2EntityId'{..}- = object (catMaybes [("field" .=) <$> _gpdveiField])---- | Container for bytes to inspect or redact.------ /See:/ 'googlePrivacyDlpV2ByteContentItem' smart constructor.-data GooglePrivacyDlpV2ByteContentItem = GooglePrivacyDlpV2ByteContentItem'- { _gpdvbciData :: !(Maybe Bytes)- , _gpdvbciType :: !(Maybe GooglePrivacyDlpV2ByteContentItemType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ByteContentItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbciData'------ * 'gpdvbciType'-googlePrivacyDlpV2ByteContentItem- :: GooglePrivacyDlpV2ByteContentItem-googlePrivacyDlpV2ByteContentItem =- GooglePrivacyDlpV2ByteContentItem'- { _gpdvbciData = Nothing- , _gpdvbciType = Nothing- }---- | Content data to inspect or redact.-gpdvbciData :: Lens' GooglePrivacyDlpV2ByteContentItem (Maybe ByteString)-gpdvbciData- = lens _gpdvbciData (\ s a -> s{_gpdvbciData = a}) .- mapping _Bytes---- | The type of data stored in the bytes string. Default will be TEXT_UTF8.-gpdvbciType :: Lens' GooglePrivacyDlpV2ByteContentItem (Maybe GooglePrivacyDlpV2ByteContentItemType)-gpdvbciType- = lens _gpdvbciType (\ s a -> s{_gpdvbciType = a})--instance FromJSON GooglePrivacyDlpV2ByteContentItem- where- parseJSON- = withObject "GooglePrivacyDlpV2ByteContentItem"- (\ o ->- GooglePrivacyDlpV2ByteContentItem' <$>- (o .:? "data") <*> (o .:? "type"))--instance ToJSON GooglePrivacyDlpV2ByteContentItem- where- toJSON GooglePrivacyDlpV2ByteContentItem'{..}- = object- (catMaybes- [("data" .=) <$> _gpdvbciData,- ("type" .=) <$> _gpdvbciType])------- /See:/ 'googlePrivacyDlpV2TaggedField' smart constructor.-data GooglePrivacyDlpV2TaggedField = GooglePrivacyDlpV2TaggedField'- { _gpdvtfField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvtfInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvtfInferred :: !(Maybe GoogleProtobufEmpty)- , _gpdvtfCustomTag :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TaggedField' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtfField'------ * 'gpdvtfInfoType'------ * 'gpdvtfInferred'------ * 'gpdvtfCustomTag'-googlePrivacyDlpV2TaggedField- :: GooglePrivacyDlpV2TaggedField-googlePrivacyDlpV2TaggedField =- GooglePrivacyDlpV2TaggedField'- { _gpdvtfField = Nothing- , _gpdvtfInfoType = Nothing- , _gpdvtfInferred = Nothing- , _gpdvtfCustomTag = Nothing- }---- | Identifies the column. [required]-gpdvtfField :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GooglePrivacyDlpV2FieldId)-gpdvtfField- = lens _gpdvtfField (\ s a -> s{_gpdvtfField = a})---- | A column can be tagged with a InfoType to use the relevant public--- dataset as a statistical model of population, if available. We currently--- support US ZIP codes, region codes, ages and genders. To--- programmatically obtain the list of supported InfoTypes, use--- ListInfoTypes with the supported_by=RISK_ANALYSIS filter.-gpdvtfInfoType :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GooglePrivacyDlpV2InfoType)-gpdvtfInfoType- = lens _gpdvtfInfoType- (\ s a -> s{_gpdvtfInfoType = a})---- | If no semantic tag is indicated, we infer the statistical model from the--- distribution of values in the input data-gpdvtfInferred :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GoogleProtobufEmpty)-gpdvtfInferred- = lens _gpdvtfInferred- (\ s a -> s{_gpdvtfInferred = a})---- | A column can be tagged with a custom tag. In this case, the user must--- indicate an auxiliary table that contains statistical information on the--- possible values of this column (below).-gpdvtfCustomTag :: Lens' GooglePrivacyDlpV2TaggedField (Maybe Text)-gpdvtfCustomTag- = lens _gpdvtfCustomTag- (\ s a -> s{_gpdvtfCustomTag = a})--instance FromJSON GooglePrivacyDlpV2TaggedField where- parseJSON- = withObject "GooglePrivacyDlpV2TaggedField"- (\ o ->- GooglePrivacyDlpV2TaggedField' <$>- (o .:? "field") <*> (o .:? "infoType") <*>- (o .:? "inferred")- <*> (o .:? "customTag"))--instance ToJSON GooglePrivacyDlpV2TaggedField where- toJSON GooglePrivacyDlpV2TaggedField'{..}- = object- (catMaybes- [("field" .=) <$> _gpdvtfField,- ("infoType" .=) <$> _gpdvtfInfoType,- ("inferred" .=) <$> _gpdvtfInferred,- ("customTag" .=) <$> _gpdvtfCustomTag])---- | Options defining BigQuery table and row identifiers.------ /See:/ 'googlePrivacyDlpV2BigQueryOptions' smart constructor.-data GooglePrivacyDlpV2BigQueryOptions = GooglePrivacyDlpV2BigQueryOptions'- { _gpdvbqoRowsLimit :: !(Maybe (Textual Int64))- , _gpdvbqoRowsLimitPercent :: !(Maybe (Textual Int32))- , _gpdvbqoTableReference :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- , _gpdvbqoIdentifyingFields :: !(Maybe [GooglePrivacyDlpV2FieldId])- , _gpdvbqoExcludedFields :: !(Maybe [GooglePrivacyDlpV2FieldId])- , _gpdvbqoSampleMethod :: !(Maybe GooglePrivacyDlpV2BigQueryOptionsSampleMethod)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BigQueryOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbqoRowsLimit'------ * 'gpdvbqoRowsLimitPercent'------ * 'gpdvbqoTableReference'------ * 'gpdvbqoIdentifyingFields'------ * 'gpdvbqoExcludedFields'------ * 'gpdvbqoSampleMethod'-googlePrivacyDlpV2BigQueryOptions- :: GooglePrivacyDlpV2BigQueryOptions-googlePrivacyDlpV2BigQueryOptions =- GooglePrivacyDlpV2BigQueryOptions'- { _gpdvbqoRowsLimit = Nothing- , _gpdvbqoRowsLimitPercent = Nothing- , _gpdvbqoTableReference = Nothing- , _gpdvbqoIdentifyingFields = Nothing- , _gpdvbqoExcludedFields = Nothing- , _gpdvbqoSampleMethod = Nothing- }---- | Max number of rows to scan. If the table has more rows than this value,--- the rest of the rows are omitted. If not set, or if set to 0, all rows--- will be scanned. Only one of rows_limit and rows_limit_percent can be--- specified. Cannot be used in conjunction with TimespanConfig.-gpdvbqoRowsLimit :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe Int64)-gpdvbqoRowsLimit- = lens _gpdvbqoRowsLimit- (\ s a -> s{_gpdvbqoRowsLimit = a})- . mapping _Coerce---- | Max percentage of rows to scan. The rest are omitted. The number of rows--- scanned is rounded down. Must be between 0 and 100, inclusively. Both 0--- and 100 means no limit. Defaults to 0. Only one of rows_limit and--- rows_limit_percent can be specified. Cannot be used in conjunction with--- TimespanConfig.-gpdvbqoRowsLimitPercent :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe Int32)-gpdvbqoRowsLimitPercent- = lens _gpdvbqoRowsLimitPercent- (\ s a -> s{_gpdvbqoRowsLimitPercent = a})- . mapping _Coerce---- | Complete BigQuery table reference.-gpdvbqoTableReference :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvbqoTableReference- = lens _gpdvbqoTableReference- (\ s a -> s{_gpdvbqoTableReference = a})---- | References to fields uniquely identifying rows within the table. Nested--- fields in the format, like \`person.birthdate.year\`, are allowed.-gpdvbqoIdentifyingFields :: Lens' GooglePrivacyDlpV2BigQueryOptions [GooglePrivacyDlpV2FieldId]-gpdvbqoIdentifyingFields- = lens _gpdvbqoIdentifyingFields- (\ s a -> s{_gpdvbqoIdentifyingFields = a})- . _Default- . _Coerce---- | References to fields excluded from scanning. This allows you to skip--- inspection of entire columns which you know have no findings.-gpdvbqoExcludedFields :: Lens' GooglePrivacyDlpV2BigQueryOptions [GooglePrivacyDlpV2FieldId]-gpdvbqoExcludedFields- = lens _gpdvbqoExcludedFields- (\ s a -> s{_gpdvbqoExcludedFields = a})- . _Default- . _Coerce--gpdvbqoSampleMethod :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe GooglePrivacyDlpV2BigQueryOptionsSampleMethod)-gpdvbqoSampleMethod- = lens _gpdvbqoSampleMethod- (\ s a -> s{_gpdvbqoSampleMethod = a})--instance FromJSON GooglePrivacyDlpV2BigQueryOptions- where- parseJSON- = withObject "GooglePrivacyDlpV2BigQueryOptions"- (\ o ->- GooglePrivacyDlpV2BigQueryOptions' <$>- (o .:? "rowsLimit") <*> (o .:? "rowsLimitPercent")- <*> (o .:? "tableReference")- <*> (o .:? "identifyingFields" .!= mempty)- <*> (o .:? "excludedFields" .!= mempty)- <*> (o .:? "sampleMethod"))--instance ToJSON GooglePrivacyDlpV2BigQueryOptions- where- toJSON GooglePrivacyDlpV2BigQueryOptions'{..}- = object- (catMaybes- [("rowsLimit" .=) <$> _gpdvbqoRowsLimit,- ("rowsLimitPercent" .=) <$> _gpdvbqoRowsLimitPercent,- ("tableReference" .=) <$> _gpdvbqoTableReference,- ("identifyingFields" .=) <$>- _gpdvbqoIdentifyingFields,- ("excludedFields" .=) <$> _gpdvbqoExcludedFields,- ("sampleMethod" .=) <$> _gpdvbqoSampleMethod])---- | A tuple of values for the quasi-identifier columns.------ /See:/ 'googlePrivacyDlpV2KMapEstimationQuasiIdValues' smart constructor.-data GooglePrivacyDlpV2KMapEstimationQuasiIdValues = GooglePrivacyDlpV2KMapEstimationQuasiIdValues'- { _gpdvkmeqivEstimatedAnonymity :: !(Maybe (Textual Int64))- , _gpdvkmeqivQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationQuasiIdValues' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkmeqivEstimatedAnonymity'------ * 'gpdvkmeqivQuasiIdsValues'-googlePrivacyDlpV2KMapEstimationQuasiIdValues- :: GooglePrivacyDlpV2KMapEstimationQuasiIdValues-googlePrivacyDlpV2KMapEstimationQuasiIdValues =- GooglePrivacyDlpV2KMapEstimationQuasiIdValues'- { _gpdvkmeqivEstimatedAnonymity = Nothing- , _gpdvkmeqivQuasiIdsValues = Nothing- }---- | The estimated anonymity for these quasi-identifier values.-gpdvkmeqivEstimatedAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationQuasiIdValues (Maybe Int64)-gpdvkmeqivEstimatedAnonymity- = lens _gpdvkmeqivEstimatedAnonymity- (\ s a -> s{_gpdvkmeqivEstimatedAnonymity = a})- . mapping _Coerce---- | The quasi-identifier values.-gpdvkmeqivQuasiIdsValues :: Lens' GooglePrivacyDlpV2KMapEstimationQuasiIdValues [GooglePrivacyDlpV2Value]-gpdvkmeqivQuasiIdsValues- = lens _gpdvkmeqivQuasiIdsValues- (\ s a -> s{_gpdvkmeqivQuasiIdsValues = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2KMapEstimationQuasiIdValues where- parseJSON- = withObject- "GooglePrivacyDlpV2KMapEstimationQuasiIdValues"- (\ o ->- GooglePrivacyDlpV2KMapEstimationQuasiIdValues' <$>- (o .:? "estimatedAnonymity") <*>- (o .:? "quasiIdsValues" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2KMapEstimationQuasiIdValues where- toJSON- GooglePrivacyDlpV2KMapEstimationQuasiIdValues'{..}- = object- (catMaybes- [("estimatedAnonymity" .=) <$>- _gpdvkmeqivEstimatedAnonymity,- ("quasiIdsValues" .=) <$> _gpdvkmeqivQuasiIdsValues])---- | List of exclude infoTypes.------ /See:/ 'googlePrivacyDlpV2ExcludeInfoTypes' smart constructor.-newtype GooglePrivacyDlpV2ExcludeInfoTypes = GooglePrivacyDlpV2ExcludeInfoTypes'- { _gpdveitInfoTypes :: Maybe [GooglePrivacyDlpV2InfoType]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ExcludeInfoTypes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdveitInfoTypes'-googlePrivacyDlpV2ExcludeInfoTypes- :: GooglePrivacyDlpV2ExcludeInfoTypes-googlePrivacyDlpV2ExcludeInfoTypes =- GooglePrivacyDlpV2ExcludeInfoTypes'- { _gpdveitInfoTypes = Nothing- }---- | InfoType list in ExclusionRule rule drops a finding when it overlaps or--- contained within with a finding of an infoType from this list. For--- example, for \`InspectionRuleSet.info_types\` containing--- \"PHONE_NUMBER\"\` and \`exclusion_rule\` containing--- \`exclude_info_types.info_types\` with \"EMAIL_ADDRESS\" the phone--- number findings are dropped if they overlap with EMAIL_ADDRESS finding.--- That leads to \"555-222-2222\'example.org\" to generate only a single--- finding, namely email address.-gpdveitInfoTypes :: Lens' GooglePrivacyDlpV2ExcludeInfoTypes [GooglePrivacyDlpV2InfoType]-gpdveitInfoTypes- = lens _gpdveitInfoTypes- (\ s a -> s{_gpdveitInfoTypes = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2ExcludeInfoTypes- where- parseJSON- = withObject "GooglePrivacyDlpV2ExcludeInfoTypes"- (\ o ->- GooglePrivacyDlpV2ExcludeInfoTypes' <$>- (o .:? "infoTypes" .!= mempty))--instance ToJSON GooglePrivacyDlpV2ExcludeInfoTypes- where- toJSON GooglePrivacyDlpV2ExcludeInfoTypes'{..}- = object- (catMaybes [("infoTypes" .=) <$> _gpdveitInfoTypes])---- | Request message for CreateInspectTemplate.------ /See:/ 'googlePrivacyDlpV2CreateInspectTemplateRequest' smart constructor.-data GooglePrivacyDlpV2CreateInspectTemplateRequest = GooglePrivacyDlpV2CreateInspectTemplateRequest'- { _gpdvcitrTemplateId :: !(Maybe Text)- , _gpdvcitrInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CreateInspectTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcitrTemplateId'------ * 'gpdvcitrInspectTemplate'-googlePrivacyDlpV2CreateInspectTemplateRequest- :: GooglePrivacyDlpV2CreateInspectTemplateRequest-googlePrivacyDlpV2CreateInspectTemplateRequest =- GooglePrivacyDlpV2CreateInspectTemplateRequest'- { _gpdvcitrTemplateId = Nothing- , _gpdvcitrInspectTemplate = Nothing- }---- | The template id can contain uppercase and lowercase letters, numbers,--- and hyphens; that is, it must match the regular expression:--- \`[a-zA-Z\\\\d-]+\`. The maximum length is 100 characters. Can be empty--- to allow the system to generate one.-gpdvcitrTemplateId :: Lens' GooglePrivacyDlpV2CreateInspectTemplateRequest (Maybe Text)-gpdvcitrTemplateId- = lens _gpdvcitrTemplateId- (\ s a -> s{_gpdvcitrTemplateId = a})---- | The InspectTemplate to create.-gpdvcitrInspectTemplate :: Lens' GooglePrivacyDlpV2CreateInspectTemplateRequest (Maybe GooglePrivacyDlpV2InspectTemplate)-gpdvcitrInspectTemplate- = lens _gpdvcitrInspectTemplate- (\ s a -> s{_gpdvcitrInspectTemplate = a})--instance FromJSON- GooglePrivacyDlpV2CreateInspectTemplateRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2CreateInspectTemplateRequest"- (\ o ->- GooglePrivacyDlpV2CreateInspectTemplateRequest' <$>- (o .:? "templateId") <*> (o .:? "inspectTemplate"))--instance ToJSON- GooglePrivacyDlpV2CreateInspectTemplateRequest where- toJSON- GooglePrivacyDlpV2CreateInspectTemplateRequest'{..}- = object- (catMaybes- [("templateId" .=) <$> _gpdvcitrTemplateId,- ("inspectTemplate" .=) <$> _gpdvcitrInspectTemplate])---- | A (kind, ID\/name) pair used to construct a key path. If either name or--- ID is set, the element is complete. If neither is set, the element is--- incomplete.------ /See:/ 'googlePrivacyDlpV2PathElement' smart constructor.-data GooglePrivacyDlpV2PathElement = GooglePrivacyDlpV2PathElement'- { _gpdvpeKind :: !(Maybe Text)- , _gpdvpeName :: !(Maybe Text)- , _gpdvpeId :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PathElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvpeKind'------ * 'gpdvpeName'------ * 'gpdvpeId'-googlePrivacyDlpV2PathElement- :: GooglePrivacyDlpV2PathElement-googlePrivacyDlpV2PathElement =- GooglePrivacyDlpV2PathElement'- { _gpdvpeKind = Nothing- , _gpdvpeName = Nothing- , _gpdvpeId = Nothing- }---- | The kind of the entity. A kind matching regex \`__.*__\` is--- reserved\/read-only. A kind must not contain more than 1500 bytes when--- UTF-8 encoded. Cannot be \`\"\"\`.-gpdvpeKind :: Lens' GooglePrivacyDlpV2PathElement (Maybe Text)-gpdvpeKind- = lens _gpdvpeKind (\ s a -> s{_gpdvpeKind = a})---- | The name of the entity. A name matching regex \`__.*__\` is--- reserved\/read-only. A name must not be more than 1500 bytes when UTF-8--- encoded. Cannot be \`\"\"\`.-gpdvpeName :: Lens' GooglePrivacyDlpV2PathElement (Maybe Text)-gpdvpeName- = lens _gpdvpeName (\ s a -> s{_gpdvpeName = a})---- | The auto-allocated ID of the entity. Never equal to zero. Values less--- than zero are discouraged and may not be supported in the future.-gpdvpeId :: Lens' GooglePrivacyDlpV2PathElement (Maybe Int64)-gpdvpeId- = lens _gpdvpeId (\ s a -> s{_gpdvpeId = a}) .- mapping _Coerce--instance FromJSON GooglePrivacyDlpV2PathElement where- parseJSON- = withObject "GooglePrivacyDlpV2PathElement"- (\ o ->- GooglePrivacyDlpV2PathElement' <$>- (o .:? "kind") <*> (o .:? "name") <*> (o .:? "id"))--instance ToJSON GooglePrivacyDlpV2PathElement where- toJSON GooglePrivacyDlpV2PathElement'{..}- = object- (catMaybes- [("kind" .=) <$> _gpdvpeKind,- ("name" .=) <$> _gpdvpeName,- ("id" .=) <$> _gpdvpeId])---- | Result of the δ-presence computation. Note that these results are an--- estimation, not exact values.------ /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationResult' smart constructor.-newtype GooglePrivacyDlpV2DeltaPresenceEstimationResult = GooglePrivacyDlpV2DeltaPresenceEstimationResult'- { _gpdvdperDeltaPresenceEstimationHistogram :: Maybe [GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdperDeltaPresenceEstimationHistogram'-googlePrivacyDlpV2DeltaPresenceEstimationResult- :: GooglePrivacyDlpV2DeltaPresenceEstimationResult-googlePrivacyDlpV2DeltaPresenceEstimationResult =- GooglePrivacyDlpV2DeltaPresenceEstimationResult'- { _gpdvdperDeltaPresenceEstimationHistogram = Nothing- }---- | The intervals [min_probability, max_probability) do not overlap. If a--- value doesn\'t correspond to any such interval, the associated frequency--- is zero. For example, the following records: {min_probability: 0,--- max_probability: 0.1, frequency: 17} {min_probability: 0.2,--- max_probability: 0.3, frequency: 42} {min_probability: 0.3,--- max_probability: 0.4, frequency: 99} mean that there are no record with--- an estimated probability in [0.1, 0.2) nor larger or equal to 0.4.-gpdvdperDeltaPresenceEstimationHistogram :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationResult [GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket]-gpdvdperDeltaPresenceEstimationHistogram- = lens _gpdvdperDeltaPresenceEstimationHistogram- (\ s a ->- s{_gpdvdperDeltaPresenceEstimationHistogram = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2DeltaPresenceEstimationResult where- parseJSON- = withObject- "GooglePrivacyDlpV2DeltaPresenceEstimationResult"- (\ o ->- GooglePrivacyDlpV2DeltaPresenceEstimationResult' <$>- (o .:? "deltaPresenceEstimationHistogram" .!=- mempty))--instance ToJSON- GooglePrivacyDlpV2DeltaPresenceEstimationResult where- toJSON- GooglePrivacyDlpV2DeltaPresenceEstimationResult'{..}- = object- (catMaybes- [("deltaPresenceEstimationHistogram" .=) <$>- _gpdvdperDeltaPresenceEstimationHistogram])------- /See:/ 'googlePrivacyDlpV2InspectJobConfig' smart constructor.-data GooglePrivacyDlpV2InspectJobConfig = GooglePrivacyDlpV2InspectJobConfig'- { _gpdvijcActions :: !(Maybe [GooglePrivacyDlpV2Action])- , _gpdvijcStorageConfig :: !(Maybe GooglePrivacyDlpV2StorageConfig)- , _gpdvijcInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gpdvijcInspectTemplateName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectJobConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvijcActions'------ * 'gpdvijcStorageConfig'------ * 'gpdvijcInspectConfig'------ * 'gpdvijcInspectTemplateName'-googlePrivacyDlpV2InspectJobConfig- :: GooglePrivacyDlpV2InspectJobConfig-googlePrivacyDlpV2InspectJobConfig =- GooglePrivacyDlpV2InspectJobConfig'- { _gpdvijcActions = Nothing- , _gpdvijcStorageConfig = Nothing- , _gpdvijcInspectConfig = Nothing- , _gpdvijcInspectTemplateName = Nothing- }---- | Actions to execute at the completion of the job. Are executed in the--- order provided.-gpdvijcActions :: Lens' GooglePrivacyDlpV2InspectJobConfig [GooglePrivacyDlpV2Action]-gpdvijcActions- = lens _gpdvijcActions- (\ s a -> s{_gpdvijcActions = a})- . _Default- . _Coerce---- | The data to scan.-gpdvijcStorageConfig :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe GooglePrivacyDlpV2StorageConfig)-gpdvijcStorageConfig- = lens _gpdvijcStorageConfig- (\ s a -> s{_gpdvijcStorageConfig = a})---- | How and what to scan for.-gpdvijcInspectConfig :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe GooglePrivacyDlpV2InspectConfig)-gpdvijcInspectConfig- = lens _gpdvijcInspectConfig- (\ s a -> s{_gpdvijcInspectConfig = a})---- | If provided, will be used as the default for all values in--- InspectConfig. \`inspect_config\` will be merged into the values--- persisted as part of the template.-gpdvijcInspectTemplateName :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe Text)-gpdvijcInspectTemplateName- = lens _gpdvijcInspectTemplateName- (\ s a -> s{_gpdvijcInspectTemplateName = a})--instance FromJSON GooglePrivacyDlpV2InspectJobConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectJobConfig"- (\ o ->- GooglePrivacyDlpV2InspectJobConfig' <$>- (o .:? "actions" .!= mempty) <*>- (o .:? "storageConfig")- <*> (o .:? "inspectConfig")- <*> (o .:? "inspectTemplateName"))--instance ToJSON GooglePrivacyDlpV2InspectJobConfig- where- toJSON GooglePrivacyDlpV2InspectJobConfig'{..}- = object- (catMaybes- [("actions" .=) <$> _gpdvijcActions,- ("storageConfig" .=) <$> _gpdvijcStorageConfig,- ("inspectConfig" .=) <$> _gpdvijcInspectConfig,- ("inspectTemplateName" .=) <$>- _gpdvijcInspectTemplateName])---- | A reference to a StoredInfoType to use with scanning.------ /See:/ 'googlePrivacyDlpV2StoredType' smart constructor.-data GooglePrivacyDlpV2StoredType = GooglePrivacyDlpV2StoredType'- { _gpdvstName :: !(Maybe Text)- , _gpdvstCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StoredType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvstName'------ * 'gpdvstCreateTime'-googlePrivacyDlpV2StoredType- :: GooglePrivacyDlpV2StoredType-googlePrivacyDlpV2StoredType =- GooglePrivacyDlpV2StoredType'- { _gpdvstName = Nothing- , _gpdvstCreateTime = Nothing- }---- | Resource name of the requested \`StoredInfoType\`, for example--- \`organizations\/433245324\/storedInfoTypes\/432452342\` or--- \`projects\/project-id\/storedInfoTypes\/432452342\`.-gpdvstName :: Lens' GooglePrivacyDlpV2StoredType (Maybe Text)-gpdvstName- = lens _gpdvstName (\ s a -> s{_gpdvstName = a})---- | Timestamp indicating when the version of the \`StoredInfoType\` used for--- inspection was created. Output-only field, populated by the system.-gpdvstCreateTime :: Lens' GooglePrivacyDlpV2StoredType (Maybe UTCTime)-gpdvstCreateTime- = lens _gpdvstCreateTime- (\ s a -> s{_gpdvstCreateTime = a})- . mapping _DateTime--instance FromJSON GooglePrivacyDlpV2StoredType where- parseJSON- = withObject "GooglePrivacyDlpV2StoredType"- (\ o ->- GooglePrivacyDlpV2StoredType' <$>- (o .:? "name") <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2StoredType where- toJSON GooglePrivacyDlpV2StoredType'{..}- = object- (catMaybes- [("name" .=) <$> _gpdvstName,- ("createTime" .=) <$> _gpdvstCreateTime])---- | The transformation to apply to the field.------ /See:/ 'googlePrivacyDlpV2FieldTransformation' smart constructor.-data GooglePrivacyDlpV2FieldTransformation = GooglePrivacyDlpV2FieldTransformation'- { _gpdvftInfoTypeTransformations :: !(Maybe GooglePrivacyDlpV2InfoTypeTransformations)- , _gpdvftPrimitiveTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)- , _gpdvftCondition :: !(Maybe GooglePrivacyDlpV2RecordCondition)- , _gpdvftFields :: !(Maybe [GooglePrivacyDlpV2FieldId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2FieldTransformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvftInfoTypeTransformations'------ * 'gpdvftPrimitiveTransformation'------ * 'gpdvftCondition'------ * 'gpdvftFields'-googlePrivacyDlpV2FieldTransformation- :: GooglePrivacyDlpV2FieldTransformation-googlePrivacyDlpV2FieldTransformation =- GooglePrivacyDlpV2FieldTransformation'- { _gpdvftInfoTypeTransformations = Nothing- , _gpdvftPrimitiveTransformation = Nothing- , _gpdvftCondition = Nothing- , _gpdvftFields = Nothing- }---- | Treat the contents of the field as free text, and selectively transform--- content that matches an \`InfoType\`.-gpdvftInfoTypeTransformations :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2InfoTypeTransformations)-gpdvftInfoTypeTransformations- = lens _gpdvftInfoTypeTransformations- (\ s a -> s{_gpdvftInfoTypeTransformations = a})---- | Apply the transformation to the entire field.-gpdvftPrimitiveTransformation :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2PrimitiveTransformation)-gpdvftPrimitiveTransformation- = lens _gpdvftPrimitiveTransformation- (\ s a -> s{_gpdvftPrimitiveTransformation = a})---- | Only apply the transformation if the condition evaluates to true for the--- given \`RecordCondition\`. The conditions are allowed to reference--- fields that are not used in the actual transformation. [optional]--- Example Use Cases: - Apply a different bucket transformation to an age--- column if the zip code column for the same record is within a specific--- range. - Redact a field if the date of birth field is greater than 85.-gpdvftCondition :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2RecordCondition)-gpdvftCondition- = lens _gpdvftCondition- (\ s a -> s{_gpdvftCondition = a})---- | Input field(s) to apply the transformation to. [required]-gpdvftFields :: Lens' GooglePrivacyDlpV2FieldTransformation [GooglePrivacyDlpV2FieldId]-gpdvftFields- = lens _gpdvftFields (\ s a -> s{_gpdvftFields = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2FieldTransformation where- parseJSON- = withObject "GooglePrivacyDlpV2FieldTransformation"- (\ o ->- GooglePrivacyDlpV2FieldTransformation' <$>- (o .:? "infoTypeTransformations") <*>- (o .:? "primitiveTransformation")- <*> (o .:? "condition")- <*> (o .:? "fields" .!= mempty))--instance ToJSON GooglePrivacyDlpV2FieldTransformation- where- toJSON GooglePrivacyDlpV2FieldTransformation'{..}- = object- (catMaybes- [("infoTypeTransformations" .=) <$>- _gpdvftInfoTypeTransformations,- ("primitiveTransformation" .=) <$>- _gpdvftPrimitiveTransformation,- ("condition" .=) <$> _gpdvftCondition,- ("fields" .=) <$> _gpdvftFields])---- | The rule that adjusts the likelihood of findings within a certain--- proximity of hotwords.------ /See:/ 'googlePrivacyDlpV2HotwordRule' smart constructor.-data GooglePrivacyDlpV2HotwordRule = GooglePrivacyDlpV2HotwordRule'- { _gpdvhrProximity :: !(Maybe GooglePrivacyDlpV2Proximity)- , _gpdvhrLikelihoodAdjustment :: !(Maybe GooglePrivacyDlpV2LikelihoodAdjustment)- , _gpdvhrHotwordRegex :: !(Maybe GooglePrivacyDlpV2Regex)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2HotwordRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvhrProximity'------ * 'gpdvhrLikelihoodAdjustment'------ * 'gpdvhrHotwordRegex'-googlePrivacyDlpV2HotwordRule- :: GooglePrivacyDlpV2HotwordRule-googlePrivacyDlpV2HotwordRule =- GooglePrivacyDlpV2HotwordRule'- { _gpdvhrProximity = Nothing- , _gpdvhrLikelihoodAdjustment = Nothing- , _gpdvhrHotwordRegex = Nothing- }---- | Proximity of the finding within which the entire hotword must reside.--- The total length of the window cannot exceed 1000 characters. Note that--- the finding itself will be included in the window, so that hotwords may--- be used to match substrings of the finding itself. For example, the--- certainty of a phone number regex \"\\(\\d{3}\\) \\d{3}-\\d{4}\" could--- be adjusted upwards if the area code is known to be the local area code--- of a company office using the hotword regex \"\\(xxx\\)\", where \"xxx\"--- is the area code in question.-gpdvhrProximity :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2Proximity)-gpdvhrProximity- = lens _gpdvhrProximity- (\ s a -> s{_gpdvhrProximity = a})---- | Likelihood adjustment to apply to all matching findings.-gpdvhrLikelihoodAdjustment :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2LikelihoodAdjustment)-gpdvhrLikelihoodAdjustment- = lens _gpdvhrLikelihoodAdjustment- (\ s a -> s{_gpdvhrLikelihoodAdjustment = a})---- | Regular expression pattern defining what qualifies as a hotword.-gpdvhrHotwordRegex :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2Regex)-gpdvhrHotwordRegex- = lens _gpdvhrHotwordRegex- (\ s a -> s{_gpdvhrHotwordRegex = a})--instance FromJSON GooglePrivacyDlpV2HotwordRule where- parseJSON- = withObject "GooglePrivacyDlpV2HotwordRule"- (\ o ->- GooglePrivacyDlpV2HotwordRule' <$>- (o .:? "proximity") <*>- (o .:? "likelihoodAdjustment")- <*> (o .:? "hotwordRegex"))--instance ToJSON GooglePrivacyDlpV2HotwordRule where- toJSON GooglePrivacyDlpV2HotwordRule'{..}- = object- (catMaybes- [("proximity" .=) <$> _gpdvhrProximity,- ("likelihoodAdjustment" .=) <$>- _gpdvhrLikelihoodAdjustment,- ("hotwordRegex" .=) <$> _gpdvhrHotwordRegex])---- | Request to search for potentially sensitive info in an image and redact--- it by covering it with a colored rectangle.------ /See:/ 'googlePrivacyDlpV2RedactImageRequest' smart constructor.-data GooglePrivacyDlpV2RedactImageRequest = GooglePrivacyDlpV2RedactImageRequest'- { _gpdvrirIncludeFindings :: !(Maybe Bool)- , _gpdvrirInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gpdvrirByteItem :: !(Maybe GooglePrivacyDlpV2ByteContentItem)- , _gpdvrirImageRedactionConfigs :: !(Maybe [GooglePrivacyDlpV2ImageRedactionConfig])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RedactImageRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrirIncludeFindings'------ * 'gpdvrirInspectConfig'------ * 'gpdvrirByteItem'------ * 'gpdvrirImageRedactionConfigs'-googlePrivacyDlpV2RedactImageRequest- :: GooglePrivacyDlpV2RedactImageRequest-googlePrivacyDlpV2RedactImageRequest =- GooglePrivacyDlpV2RedactImageRequest'- { _gpdvrirIncludeFindings = Nothing- , _gpdvrirInspectConfig = Nothing- , _gpdvrirByteItem = Nothing- , _gpdvrirImageRedactionConfigs = Nothing- }---- | Whether the response should include findings along with the redacted--- image.-gpdvrirIncludeFindings :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe Bool)-gpdvrirIncludeFindings- = lens _gpdvrirIncludeFindings- (\ s a -> s{_gpdvrirIncludeFindings = a})---- | Configuration for the inspector.-gpdvrirInspectConfig :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe GooglePrivacyDlpV2InspectConfig)-gpdvrirInspectConfig- = lens _gpdvrirInspectConfig- (\ s a -> s{_gpdvrirInspectConfig = a})---- | The content must be PNG, JPEG, SVG or BMP.-gpdvrirByteItem :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe GooglePrivacyDlpV2ByteContentItem)-gpdvrirByteItem- = lens _gpdvrirByteItem- (\ s a -> s{_gpdvrirByteItem = a})---- | The configuration for specifying what content to redact from images.-gpdvrirImageRedactionConfigs :: Lens' GooglePrivacyDlpV2RedactImageRequest [GooglePrivacyDlpV2ImageRedactionConfig]-gpdvrirImageRedactionConfigs- = lens _gpdvrirImageRedactionConfigs- (\ s a -> s{_gpdvrirImageRedactionConfigs = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2RedactImageRequest where- parseJSON- = withObject "GooglePrivacyDlpV2RedactImageRequest"- (\ o ->- GooglePrivacyDlpV2RedactImageRequest' <$>- (o .:? "includeFindings") <*> (o .:? "inspectConfig")- <*> (o .:? "byteItem")- <*> (o .:? "imageRedactionConfigs" .!= mempty))--instance ToJSON GooglePrivacyDlpV2RedactImageRequest- where- toJSON GooglePrivacyDlpV2RedactImageRequest'{..}- = object- (catMaybes- [("includeFindings" .=) <$> _gpdvrirIncludeFindings,- ("inspectConfig" .=) <$> _gpdvrirInspectConfig,- ("byteItem" .=) <$> _gpdvrirByteItem,- ("imageRedactionConfigs" .=) <$>- _gpdvrirImageRedactionConfigs])------- /See:/ 'googlePrivacyDlpV2FindingLimits' smart constructor.-data GooglePrivacyDlpV2FindingLimits = GooglePrivacyDlpV2FindingLimits'- { _gpdvflMaxFindingsPerItem :: !(Maybe (Textual Int32))- , _gpdvflMaxFindingsPerInfoType :: !(Maybe [GooglePrivacyDlpV2InfoTypeLimit])- , _gpdvflMaxFindingsPerRequest :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2FindingLimits' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvflMaxFindingsPerItem'------ * 'gpdvflMaxFindingsPerInfoType'------ * 'gpdvflMaxFindingsPerRequest'-googlePrivacyDlpV2FindingLimits- :: GooglePrivacyDlpV2FindingLimits-googlePrivacyDlpV2FindingLimits =- GooglePrivacyDlpV2FindingLimits'- { _gpdvflMaxFindingsPerItem = Nothing- , _gpdvflMaxFindingsPerInfoType = Nothing- , _gpdvflMaxFindingsPerRequest = Nothing- }---- | Max number of findings that will be returned for each item scanned. When--- set within \`InspectDataSourceRequest\`, the maximum returned is 1000--- regardless if this is set higher. When set within--- \`InspectContentRequest\`, this field is ignored.-gpdvflMaxFindingsPerItem :: Lens' GooglePrivacyDlpV2FindingLimits (Maybe Int32)-gpdvflMaxFindingsPerItem- = lens _gpdvflMaxFindingsPerItem- (\ s a -> s{_gpdvflMaxFindingsPerItem = a})- . mapping _Coerce---- | Configuration of findings limit given for specified infoTypes.-gpdvflMaxFindingsPerInfoType :: Lens' GooglePrivacyDlpV2FindingLimits [GooglePrivacyDlpV2InfoTypeLimit]-gpdvflMaxFindingsPerInfoType- = lens _gpdvflMaxFindingsPerInfoType- (\ s a -> s{_gpdvflMaxFindingsPerInfoType = a})- . _Default- . _Coerce---- | Max number of findings that will be returned per request\/job. When set--- within \`InspectContentRequest\`, the maximum returned is 1000--- regardless if this is set higher.-gpdvflMaxFindingsPerRequest :: Lens' GooglePrivacyDlpV2FindingLimits (Maybe Int32)-gpdvflMaxFindingsPerRequest- = lens _gpdvflMaxFindingsPerRequest- (\ s a -> s{_gpdvflMaxFindingsPerRequest = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2FindingLimits- where- parseJSON- = withObject "GooglePrivacyDlpV2FindingLimits"- (\ o ->- GooglePrivacyDlpV2FindingLimits' <$>- (o .:? "maxFindingsPerItem") <*>- (o .:? "maxFindingsPerInfoType" .!= mempty)- <*> (o .:? "maxFindingsPerRequest"))--instance ToJSON GooglePrivacyDlpV2FindingLimits where- toJSON GooglePrivacyDlpV2FindingLimits'{..}- = object- (catMaybes- [("maxFindingsPerItem" .=) <$>- _gpdvflMaxFindingsPerItem,- ("maxFindingsPerInfoType" .=) <$>- _gpdvflMaxFindingsPerInfoType,- ("maxFindingsPerRequest" .=) <$>- _gpdvflMaxFindingsPerRequest])---- | The field type of \`value\` and \`field\` do not need to match to be--- considered equal, but not all comparisons are possible. A \`value\` of--- type: - \`string\` can be compared against all other types - \`boolean\`--- can only be compared against other booleans - \`integer\` can be--- compared against doubles or a string if the string value can be parsed--- as an integer. - \`double\` can be compared against integers or a string--- if the string can be parsed as a double. - \`Timestamp\` can be compared--- against strings in RFC 3339 date string format. - \`TimeOfDay\` can be--- compared against timestamps and strings in the format of \'HH:mm:ss\'.--- If we fail to compare do to type mismatch, a warning will be given and--- the condition will evaluate to false.------ /See:/ 'googlePrivacyDlpV2Condition' smart constructor.-data GooglePrivacyDlpV2Condition = GooglePrivacyDlpV2Condition'- { _gpdvcField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvcOperator :: !(Maybe GooglePrivacyDlpV2ConditionOperator)- , _gpdvcValue :: !(Maybe GooglePrivacyDlpV2Value)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Condition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcField'------ * 'gpdvcOperator'------ * 'gpdvcValue'-googlePrivacyDlpV2Condition- :: GooglePrivacyDlpV2Condition-googlePrivacyDlpV2Condition =- GooglePrivacyDlpV2Condition'- { _gpdvcField = Nothing- , _gpdvcOperator = Nothing- , _gpdvcValue = Nothing- }---- | Field within the record this condition is evaluated against. [required]-gpdvcField :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2FieldId)-gpdvcField- = lens _gpdvcField (\ s a -> s{_gpdvcField = a})---- | Operator used to compare the field or infoType to the value. [required]-gpdvcOperator :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2ConditionOperator)-gpdvcOperator- = lens _gpdvcOperator- (\ s a -> s{_gpdvcOperator = a})---- | Value to compare against. [Required, except for \`EXISTS\` tests.]-gpdvcValue :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2Value)-gpdvcValue- = lens _gpdvcValue (\ s a -> s{_gpdvcValue = a})--instance FromJSON GooglePrivacyDlpV2Condition where- parseJSON- = withObject "GooglePrivacyDlpV2Condition"- (\ o ->- GooglePrivacyDlpV2Condition' <$>- (o .:? "field") <*> (o .:? "operator") <*>- (o .:? "value"))--instance ToJSON GooglePrivacyDlpV2Condition where- toJSON GooglePrivacyDlpV2Condition'{..}- = object- (catMaybes- [("field" .=) <$> _gpdvcField,- ("operator" .=) <$> _gpdvcOperator,- ("value" .=) <$> _gpdvcValue])---- | Configuration of the timespan of the items to include in scanning.--- Currently only supported when inspecting Google Cloud Storage and--- BigQuery.------ /See:/ 'googlePrivacyDlpV2TimespanConfig' smart constructor.-data GooglePrivacyDlpV2TimespanConfig = GooglePrivacyDlpV2TimespanConfig'- { _gpdvtcTimestampField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvtcStartTime :: !(Maybe DateTime')- , _gpdvtcEnableAutoPopulationOfTimespanConfig :: !(Maybe Bool)- , _gpdvtcEndTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TimespanConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtcTimestampField'------ * 'gpdvtcStartTime'------ * 'gpdvtcEnableAutoPopulationOfTimespanConfig'------ * 'gpdvtcEndTime'-googlePrivacyDlpV2TimespanConfig- :: GooglePrivacyDlpV2TimespanConfig-googlePrivacyDlpV2TimespanConfig =- GooglePrivacyDlpV2TimespanConfig'- { _gpdvtcTimestampField = Nothing- , _gpdvtcStartTime = Nothing- , _gpdvtcEnableAutoPopulationOfTimespanConfig = Nothing- , _gpdvtcEndTime = Nothing- }---- | Specification of the field containing the timestamp of scanned items.--- Used for data sources like Datastore or BigQuery. If not specified for--- BigQuery, table last modification timestamp is checked against given--- time span. The valid data types of the timestamp field are: for BigQuery--- - timestamp, date, datetime; for Datastore - timestamp. Datastore entity--- will be scanned if the timestamp property does not exist or its value is--- empty or invalid.-gpdvtcTimestampField :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvtcTimestampField- = lens _gpdvtcTimestampField- (\ s a -> s{_gpdvtcTimestampField = a})---- | Exclude files or rows older than this value.-gpdvtcStartTime :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe UTCTime)-gpdvtcStartTime- = lens _gpdvtcStartTime- (\ s a -> s{_gpdvtcStartTime = a})- . mapping _DateTime---- | When the job is started by a JobTrigger we will automatically figure out--- a valid start_time to avoid scanning files that have not been modified--- since the last time the JobTrigger executed. This will be based on the--- time of the execution of the last run of the JobTrigger.-gpdvtcEnableAutoPopulationOfTimespanConfig :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe Bool)-gpdvtcEnableAutoPopulationOfTimespanConfig- = lens _gpdvtcEnableAutoPopulationOfTimespanConfig- (\ s a ->- s{_gpdvtcEnableAutoPopulationOfTimespanConfig = a})---- | Exclude files or rows newer than this value. If set to zero, no upper--- time limit is applied.-gpdvtcEndTime :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe UTCTime)-gpdvtcEndTime- = lens _gpdvtcEndTime- (\ s a -> s{_gpdvtcEndTime = a})- . mapping _DateTime--instance FromJSON GooglePrivacyDlpV2TimespanConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2TimespanConfig"- (\ o ->- GooglePrivacyDlpV2TimespanConfig' <$>- (o .:? "timestampField") <*> (o .:? "startTime") <*>- (o .:? "enableAutoPopulationOfTimespanConfig")- <*> (o .:? "endTime"))--instance ToJSON GooglePrivacyDlpV2TimespanConfig- where- toJSON GooglePrivacyDlpV2TimespanConfig'{..}- = object- (catMaybes- [("timestampField" .=) <$> _gpdvtcTimestampField,- ("startTime" .=) <$> _gpdvtcStartTime,- ("enableAutoPopulationOfTimespanConfig" .=) <$>- _gpdvtcEnableAutoPopulationOfTimespanConfig,- ("endTime" .=) <$> _gpdvtcEndTime])---- | Request message for CreateDeidentifyTemplate.------ /See:/ 'googlePrivacyDlpV2CreateDeidentifyTemplateRequest' smart constructor.-data GooglePrivacyDlpV2CreateDeidentifyTemplateRequest = GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'- { _gpdvcdtrTemplateId :: !(Maybe Text)- , _gpdvcdtrDeidentifyTemplate :: !(Maybe GooglePrivacyDlpV2DeidentifyTemplate)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CreateDeidentifyTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcdtrTemplateId'------ * 'gpdvcdtrDeidentifyTemplate'-googlePrivacyDlpV2CreateDeidentifyTemplateRequest- :: GooglePrivacyDlpV2CreateDeidentifyTemplateRequest-googlePrivacyDlpV2CreateDeidentifyTemplateRequest =- GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'- { _gpdvcdtrTemplateId = Nothing- , _gpdvcdtrDeidentifyTemplate = Nothing- }---- | The template id can contain uppercase and lowercase letters, numbers,--- and hyphens; that is, it must match the regular expression:--- \`[a-zA-Z\\\\d-]+\`. The maximum length is 100 characters. Can be empty--- to allow the system to generate one.-gpdvcdtrTemplateId :: Lens' GooglePrivacyDlpV2CreateDeidentifyTemplateRequest (Maybe Text)-gpdvcdtrTemplateId- = lens _gpdvcdtrTemplateId- (\ s a -> s{_gpdvcdtrTemplateId = a})---- | The DeidentifyTemplate to create.-gpdvcdtrDeidentifyTemplate :: Lens' GooglePrivacyDlpV2CreateDeidentifyTemplateRequest (Maybe GooglePrivacyDlpV2DeidentifyTemplate)-gpdvcdtrDeidentifyTemplate- = lens _gpdvcdtrDeidentifyTemplate- (\ s a -> s{_gpdvcdtrDeidentifyTemplate = a})--instance FromJSON- GooglePrivacyDlpV2CreateDeidentifyTemplateRequest- where- parseJSON- = withObject- "GooglePrivacyDlpV2CreateDeidentifyTemplateRequest"- (\ o ->- GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'- <$>- (o .:? "templateId") <*>- (o .:? "deidentifyTemplate"))--instance ToJSON- GooglePrivacyDlpV2CreateDeidentifyTemplateRequest- where- toJSON- GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'{..}- = object- (catMaybes- [("templateId" .=) <$> _gpdvcdtrTemplateId,- ("deidentifyTemplate" .=) <$>- _gpdvcdtrDeidentifyTemplate])---- | Use this to have a random data crypto key generated. It will be--- discarded after the request finishes.------ /See:/ 'googlePrivacyDlpV2TransientCryptoKey' smart constructor.-newtype GooglePrivacyDlpV2TransientCryptoKey = GooglePrivacyDlpV2TransientCryptoKey'- { _gpdvtckName :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TransientCryptoKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtckName'-googlePrivacyDlpV2TransientCryptoKey- :: GooglePrivacyDlpV2TransientCryptoKey-googlePrivacyDlpV2TransientCryptoKey =- GooglePrivacyDlpV2TransientCryptoKey'- { _gpdvtckName = Nothing- }---- | Name of the key. [required] This is an arbitrary string used to--- differentiate different keys. A unique key is generated per name: two--- separate \`TransientCryptoKey\` protos share the same generated key if--- their names are the same. When the data crypto key is generated, this--- name is not used in any way (repeating the api call will result in a--- different key being generated).-gpdvtckName :: Lens' GooglePrivacyDlpV2TransientCryptoKey (Maybe Text)-gpdvtckName- = lens _gpdvtckName (\ s a -> s{_gpdvtckName = a})--instance FromJSON- GooglePrivacyDlpV2TransientCryptoKey where- parseJSON- = withObject "GooglePrivacyDlpV2TransientCryptoKey"- (\ o ->- GooglePrivacyDlpV2TransientCryptoKey' <$>- (o .:? "name"))--instance ToJSON GooglePrivacyDlpV2TransientCryptoKey- where- toJSON GooglePrivacyDlpV2TransientCryptoKey'{..}- = object (catMaybes [("name" .=) <$> _gpdvtckName])---- | InfoType description.------ /See:/ 'googlePrivacyDlpV2InfoTypeDescription' smart constructor.-data GooglePrivacyDlpV2InfoTypeDescription = GooglePrivacyDlpV2InfoTypeDescription'- { _gpdvitdName :: !(Maybe Text)- , _gpdvitdDisplayName :: !(Maybe Text)- , _gpdvitdSupportedBy :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoTypeDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvitdName'------ * 'gpdvitdDisplayName'------ * 'gpdvitdSupportedBy'-googlePrivacyDlpV2InfoTypeDescription- :: GooglePrivacyDlpV2InfoTypeDescription-googlePrivacyDlpV2InfoTypeDescription =- GooglePrivacyDlpV2InfoTypeDescription'- { _gpdvitdName = Nothing- , _gpdvitdDisplayName = Nothing- , _gpdvitdSupportedBy = Nothing- }---- | Internal name of the infoType.-gpdvitdName :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)-gpdvitdName- = lens _gpdvitdName (\ s a -> s{_gpdvitdName = a})---- | Human readable form of the infoType name.-gpdvitdDisplayName :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)-gpdvitdDisplayName- = lens _gpdvitdDisplayName- (\ s a -> s{_gpdvitdDisplayName = a})---- | Which parts of the API supports this InfoType.-gpdvitdSupportedBy :: Lens' GooglePrivacyDlpV2InfoTypeDescription [Text]-gpdvitdSupportedBy- = lens _gpdvitdSupportedBy- (\ s a -> s{_gpdvitdSupportedBy = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2InfoTypeDescription where- parseJSON- = withObject "GooglePrivacyDlpV2InfoTypeDescription"- (\ o ->- GooglePrivacyDlpV2InfoTypeDescription' <$>- (o .:? "name") <*> (o .:? "displayName") <*>- (o .:? "supportedBy" .!= mempty))--instance ToJSON GooglePrivacyDlpV2InfoTypeDescription- where- toJSON GooglePrivacyDlpV2InfoTypeDescription'{..}- = object- (catMaybes- [("name" .=) <$> _gpdvitdName,- ("displayName" .=) <$> _gpdvitdDisplayName,- ("supportedBy" .=) <$> _gpdvitdSupportedBy])---- | 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:/ 'googleProtobufEmpty' smart constructor.-data GoogleProtobufEmpty =- GoogleProtobufEmpty'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GoogleProtobufEmpty' with the minimum fields required to make a request.----googleProtobufEmpty- :: GoogleProtobufEmpty-googleProtobufEmpty = GoogleProtobufEmpty'--instance FromJSON GoogleProtobufEmpty where- parseJSON- = withObject "GoogleProtobufEmpty"- (\ o -> pure GoogleProtobufEmpty')--instance ToJSON GoogleProtobufEmpty where- toJSON = const emptyObject------- /See:/ 'googleRpcStatusDetailsItem' smart constructor.-newtype GoogleRpcStatusDetailsItem = GoogleRpcStatusDetailsItem'- { _grsdiAddtional :: HashMap Text JSONValue- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GoogleRpcStatusDetailsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grsdiAddtional'-googleRpcStatusDetailsItem- :: HashMap Text JSONValue -- ^ 'grsdiAddtional'- -> GoogleRpcStatusDetailsItem-googleRpcStatusDetailsItem pGrsdiAddtional_ =- GoogleRpcStatusDetailsItem'- { _grsdiAddtional = _Coerce # pGrsdiAddtional_- }---- | Properties of the object. Contains field \'type with type URL.-grsdiAddtional :: Lens' GoogleRpcStatusDetailsItem (HashMap Text JSONValue)-grsdiAddtional- = lens _grsdiAddtional- (\ s a -> s{_grsdiAddtional = a})- . _Coerce--instance FromJSON GoogleRpcStatusDetailsItem where- parseJSON- = withObject "GoogleRpcStatusDetailsItem"- (\ o ->- GoogleRpcStatusDetailsItem' <$> (parseJSONObject o))--instance ToJSON GoogleRpcStatusDetailsItem where- toJSON = toJSON . _grsdiAddtional---- | Configuration for determining how redaction of images should occur.------ /See:/ 'googlePrivacyDlpV2ImageRedactionConfig' smart constructor.-data GooglePrivacyDlpV2ImageRedactionConfig = GooglePrivacyDlpV2ImageRedactionConfig'- { _gpdvircRedactionColor :: !(Maybe GooglePrivacyDlpV2Color)- , _gpdvircInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvircRedactAllText :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ImageRedactionConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvircRedactionColor'------ * 'gpdvircInfoType'------ * 'gpdvircRedactAllText'-googlePrivacyDlpV2ImageRedactionConfig- :: GooglePrivacyDlpV2ImageRedactionConfig-googlePrivacyDlpV2ImageRedactionConfig =- GooglePrivacyDlpV2ImageRedactionConfig'- { _gpdvircRedactionColor = Nothing- , _gpdvircInfoType = Nothing- , _gpdvircRedactAllText = Nothing- }---- | The color to use when redacting content from an image. If not specified,--- the default is black.-gpdvircRedactionColor :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe GooglePrivacyDlpV2Color)-gpdvircRedactionColor- = lens _gpdvircRedactionColor- (\ s a -> s{_gpdvircRedactionColor = a})---- | Only one per info_type should be provided per request. If not specified,--- and redact_all_text is false, the DLP API will redact all text that it--- matches against all info_types that are found, but not specified in--- another ImageRedactionConfig.-gpdvircInfoType :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe GooglePrivacyDlpV2InfoType)-gpdvircInfoType- = lens _gpdvircInfoType- (\ s a -> s{_gpdvircInfoType = a})---- | If true, all text found in the image, regardless whether it matches an--- info_type, is redacted. Only one should be provided.-gpdvircRedactAllText :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe Bool)-gpdvircRedactAllText- = lens _gpdvircRedactAllText- (\ s a -> s{_gpdvircRedactAllText = a})--instance FromJSON- GooglePrivacyDlpV2ImageRedactionConfig where- parseJSON- = withObject "GooglePrivacyDlpV2ImageRedactionConfig"- (\ o ->- GooglePrivacyDlpV2ImageRedactionConfig' <$>- (o .:? "redactionColor") <*> (o .:? "infoType") <*>- (o .:? "redactAllText"))--instance ToJSON- GooglePrivacyDlpV2ImageRedactionConfig where- toJSON GooglePrivacyDlpV2ImageRedactionConfig'{..}- = object- (catMaybes- [("redactionColor" .=) <$> _gpdvircRedactionColor,- ("infoType" .=) <$> _gpdvircInfoType,- ("redactAllText" .=) <$> _gpdvircRedactAllText])---- | What event needs to occur for a new job to be started.------ /See:/ 'googlePrivacyDlpV2Trigger' smart constructor.-newtype GooglePrivacyDlpV2Trigger = GooglePrivacyDlpV2Trigger'- { _gpdvtSchedule :: Maybe GooglePrivacyDlpV2Schedule- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Trigger' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtSchedule'-googlePrivacyDlpV2Trigger- :: GooglePrivacyDlpV2Trigger-googlePrivacyDlpV2Trigger =- GooglePrivacyDlpV2Trigger'- { _gpdvtSchedule = Nothing- }---- | Create a job on a repeating basis based on the elapse of time.-gpdvtSchedule :: Lens' GooglePrivacyDlpV2Trigger (Maybe GooglePrivacyDlpV2Schedule)-gpdvtSchedule- = lens _gpdvtSchedule- (\ s a -> s{_gpdvtSchedule = a})--instance FromJSON GooglePrivacyDlpV2Trigger where- parseJSON- = withObject "GooglePrivacyDlpV2Trigger"- (\ o ->- GooglePrivacyDlpV2Trigger' <$> (o .:? "schedule"))--instance ToJSON GooglePrivacyDlpV2Trigger where- toJSON GooglePrivacyDlpV2Trigger'{..}- = object- (catMaybes [("schedule" .=) <$> _gpdvtSchedule])---- | Options defining a file or a set of files within a Google Cloud Storage--- bucket.------ /See:/ 'googlePrivacyDlpV2CloudStorageOptions' smart constructor.-data GooglePrivacyDlpV2CloudStorageOptions = GooglePrivacyDlpV2CloudStorageOptions'- { _gpdvcsoFileSet :: !(Maybe GooglePrivacyDlpV2FileSet)- , _gpdvcsoBytesLimitPerFile :: !(Maybe (Textual Int64))- , _gpdvcsoFileTypes :: !(Maybe [Text])- , _gpdvcsoBytesLimitPerFilePercent :: !(Maybe (Textual Int32))- , _gpdvcsoFilesLimitPercent :: !(Maybe (Textual Int32))- , _gpdvcsoSampleMethod :: !(Maybe GooglePrivacyDlpV2CloudStorageOptionsSampleMethod)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CloudStorageOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcsoFileSet'------ * 'gpdvcsoBytesLimitPerFile'------ * 'gpdvcsoFileTypes'------ * 'gpdvcsoBytesLimitPerFilePercent'------ * 'gpdvcsoFilesLimitPercent'------ * 'gpdvcsoSampleMethod'-googlePrivacyDlpV2CloudStorageOptions- :: GooglePrivacyDlpV2CloudStorageOptions-googlePrivacyDlpV2CloudStorageOptions =- GooglePrivacyDlpV2CloudStorageOptions'- { _gpdvcsoFileSet = Nothing- , _gpdvcsoBytesLimitPerFile = Nothing- , _gpdvcsoFileTypes = Nothing- , _gpdvcsoBytesLimitPerFilePercent = Nothing- , _gpdvcsoFilesLimitPercent = Nothing- , _gpdvcsoSampleMethod = Nothing- }---- | The set of one or more files to scan.-gpdvcsoFileSet :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe GooglePrivacyDlpV2FileSet)-gpdvcsoFileSet- = lens _gpdvcsoFileSet- (\ s a -> s{_gpdvcsoFileSet = a})---- | Max number of bytes to scan from a file. If a scanned file\'s size is--- bigger than this value then the rest of the bytes are omitted. Only one--- of bytes_limit_per_file and bytes_limit_per_file_percent can be--- specified.-gpdvcsoBytesLimitPerFile :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int64)-gpdvcsoBytesLimitPerFile- = lens _gpdvcsoBytesLimitPerFile- (\ s a -> s{_gpdvcsoBytesLimitPerFile = a})- . mapping _Coerce---- | List of file type groups to include in the scan. If empty, all files are--- scanned and available data format processors are applied. In addition,--- the binary content of the selected files is always scanned as well.-gpdvcsoFileTypes :: Lens' GooglePrivacyDlpV2CloudStorageOptions [Text]-gpdvcsoFileTypes- = lens _gpdvcsoFileTypes- (\ s a -> s{_gpdvcsoFileTypes = a})- . _Default- . _Coerce---- | Max percentage of bytes to scan from a file. The rest are omitted. The--- number of bytes scanned is rounded down. Must be between 0 and 100,--- inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of--- bytes_limit_per_file and bytes_limit_per_file_percent can be specified.-gpdvcsoBytesLimitPerFilePercent :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int32)-gpdvcsoBytesLimitPerFilePercent- = lens _gpdvcsoBytesLimitPerFilePercent- (\ s a -> s{_gpdvcsoBytesLimitPerFilePercent = a})- . mapping _Coerce---- | Limits the number of files to scan to this percentage of the input--- FileSet. Number of files scanned is rounded down. Must be between 0 and--- 100, inclusively. Both 0 and 100 means no limit. Defaults to 0.-gpdvcsoFilesLimitPercent :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int32)-gpdvcsoFilesLimitPercent- = lens _gpdvcsoFilesLimitPercent- (\ s a -> s{_gpdvcsoFilesLimitPercent = a})- . mapping _Coerce--gpdvcsoSampleMethod :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe GooglePrivacyDlpV2CloudStorageOptionsSampleMethod)-gpdvcsoSampleMethod- = lens _gpdvcsoSampleMethod- (\ s a -> s{_gpdvcsoSampleMethod = a})--instance FromJSON- GooglePrivacyDlpV2CloudStorageOptions where- parseJSON- = withObject "GooglePrivacyDlpV2CloudStorageOptions"- (\ o ->- GooglePrivacyDlpV2CloudStorageOptions' <$>- (o .:? "fileSet") <*> (o .:? "bytesLimitPerFile") <*>- (o .:? "fileTypes" .!= mempty)- <*> (o .:? "bytesLimitPerFilePercent")- <*> (o .:? "filesLimitPercent")- <*> (o .:? "sampleMethod"))--instance ToJSON GooglePrivacyDlpV2CloudStorageOptions- where- toJSON GooglePrivacyDlpV2CloudStorageOptions'{..}- = object- (catMaybes- [("fileSet" .=) <$> _gpdvcsoFileSet,- ("bytesLimitPerFile" .=) <$>- _gpdvcsoBytesLimitPerFile,- ("fileTypes" .=) <$> _gpdvcsoFileTypes,- ("bytesLimitPerFilePercent" .=) <$>- _gpdvcsoBytesLimitPerFilePercent,- ("filesLimitPercent" .=) <$>- _gpdvcsoFilesLimitPercent,- ("sampleMethod" .=) <$> _gpdvcsoSampleMethod])---- | δ-presence metric, used to estimate how likely it is for an attacker to--- figure out that one given individual appears in a de-identified dataset.--- Similarly to the k-map metric, we cannot compute δ-presence exactly--- without knowing the attack dataset, so we use a statistical model--- instead.------ /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationConfig' smart constructor.-data GooglePrivacyDlpV2DeltaPresenceEstimationConfig = GooglePrivacyDlpV2DeltaPresenceEstimationConfig'- { _gpdvdpecAuxiliaryTables :: !(Maybe [GooglePrivacyDlpV2StatisticalTable])- , _gpdvdpecRegionCode :: !(Maybe Text)- , _gpdvdpecQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdpecAuxiliaryTables'------ * 'gpdvdpecRegionCode'------ * 'gpdvdpecQuasiIds'-googlePrivacyDlpV2DeltaPresenceEstimationConfig- :: GooglePrivacyDlpV2DeltaPresenceEstimationConfig-googlePrivacyDlpV2DeltaPresenceEstimationConfig =- GooglePrivacyDlpV2DeltaPresenceEstimationConfig'- { _gpdvdpecAuxiliaryTables = Nothing- , _gpdvdpecRegionCode = Nothing- , _gpdvdpecQuasiIds = Nothing- }---- | Several auxiliary tables can be used in the analysis. Each custom_tag--- used to tag a quasi-identifiers field must appear in exactly one field--- of one auxiliary table.-gpdvdpecAuxiliaryTables :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig [GooglePrivacyDlpV2StatisticalTable]-gpdvdpecAuxiliaryTables- = lens _gpdvdpecAuxiliaryTables- (\ s a -> s{_gpdvdpecAuxiliaryTables = a})- . _Default- . _Coerce---- | ISO 3166-1 alpha-2 region code to use in the statistical modeling.--- Required if no column is tagged with a region-specific InfoType (like--- US_ZIP_5) or a region code.-gpdvdpecRegionCode :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig (Maybe Text)-gpdvdpecRegionCode- = lens _gpdvdpecRegionCode- (\ s a -> s{_gpdvdpecRegionCode = a})---- | Fields considered to be quasi-identifiers. No two fields can have the--- same tag. [required]-gpdvdpecQuasiIds :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig [GooglePrivacyDlpV2QuasiId]-gpdvdpecQuasiIds- = lens _gpdvdpecQuasiIds- (\ s a -> s{_gpdvdpecQuasiIds = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2DeltaPresenceEstimationConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2DeltaPresenceEstimationConfig"- (\ o ->- GooglePrivacyDlpV2DeltaPresenceEstimationConfig' <$>- (o .:? "auxiliaryTables" .!= mempty) <*>- (o .:? "regionCode")- <*> (o .:? "quasiIds" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2DeltaPresenceEstimationConfig where- toJSON- GooglePrivacyDlpV2DeltaPresenceEstimationConfig'{..}- = object- (catMaybes- [("auxiliaryTables" .=) <$> _gpdvdpecAuxiliaryTables,- ("regionCode" .=) <$> _gpdvdpecRegionCode,- ("quasiIds" .=) <$> _gpdvdpecQuasiIds])---- | Request message for CreateStoredInfoType.------ /See:/ 'googlePrivacyDlpV2CreateStoredInfoTypeRequest' smart constructor.-data GooglePrivacyDlpV2CreateStoredInfoTypeRequest = GooglePrivacyDlpV2CreateStoredInfoTypeRequest'- { _gpdvcsitrConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)- , _gpdvcsitrStoredInfoTypeId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CreateStoredInfoTypeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcsitrConfig'------ * 'gpdvcsitrStoredInfoTypeId'-googlePrivacyDlpV2CreateStoredInfoTypeRequest- :: GooglePrivacyDlpV2CreateStoredInfoTypeRequest-googlePrivacyDlpV2CreateStoredInfoTypeRequest =- GooglePrivacyDlpV2CreateStoredInfoTypeRequest'- { _gpdvcsitrConfig = Nothing- , _gpdvcsitrStoredInfoTypeId = Nothing- }---- | Configuration of the storedInfoType to create.-gpdvcsitrConfig :: Lens' GooglePrivacyDlpV2CreateStoredInfoTypeRequest (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)-gpdvcsitrConfig- = lens _gpdvcsitrConfig- (\ s a -> s{_gpdvcsitrConfig = a})---- | The storedInfoType ID can contain uppercase and lowercase letters,--- numbers, and hyphens; that is, it must match the regular expression:--- \`[a-zA-Z\\\\d-]+\`. The maximum length is 100 characters. Can be empty--- to allow the system to generate one.-gpdvcsitrStoredInfoTypeId :: Lens' GooglePrivacyDlpV2CreateStoredInfoTypeRequest (Maybe Text)-gpdvcsitrStoredInfoTypeId- = lens _gpdvcsitrStoredInfoTypeId- (\ s a -> s{_gpdvcsitrStoredInfoTypeId = a})--instance FromJSON- GooglePrivacyDlpV2CreateStoredInfoTypeRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2CreateStoredInfoTypeRequest"- (\ o ->- GooglePrivacyDlpV2CreateStoredInfoTypeRequest' <$>- (o .:? "config") <*> (o .:? "storedInfoTypeId"))--instance ToJSON- GooglePrivacyDlpV2CreateStoredInfoTypeRequest where- toJSON- GooglePrivacyDlpV2CreateStoredInfoTypeRequest'{..}- = object- (catMaybes- [("config" .=) <$> _gpdvcsitrConfig,- ("storedInfoTypeId" .=) <$>- _gpdvcsitrStoredInfoTypeId])---- | A quasi-identifier column has a custom_tag, used to know which column in--- the data corresponds to which column in the statistical model.------ /See:/ 'googlePrivacyDlpV2QuasiIdField' smart constructor.-data GooglePrivacyDlpV2QuasiIdField = GooglePrivacyDlpV2QuasiIdField'- { _gpdvqifField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvqifCustomTag :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2QuasiIdField' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvqifField'------ * 'gpdvqifCustomTag'-googlePrivacyDlpV2QuasiIdField- :: GooglePrivacyDlpV2QuasiIdField-googlePrivacyDlpV2QuasiIdField =- GooglePrivacyDlpV2QuasiIdField'- { _gpdvqifField = Nothing- , _gpdvqifCustomTag = Nothing- }--gpdvqifField :: Lens' GooglePrivacyDlpV2QuasiIdField (Maybe GooglePrivacyDlpV2FieldId)-gpdvqifField- = lens _gpdvqifField (\ s a -> s{_gpdvqifField = a})--gpdvqifCustomTag :: Lens' GooglePrivacyDlpV2QuasiIdField (Maybe Text)-gpdvqifCustomTag- = lens _gpdvqifCustomTag- (\ s a -> s{_gpdvqifCustomTag = a})--instance FromJSON GooglePrivacyDlpV2QuasiIdField- where- parseJSON- = withObject "GooglePrivacyDlpV2QuasiIdField"- (\ o ->- GooglePrivacyDlpV2QuasiIdField' <$>- (o .:? "field") <*> (o .:? "customTag"))--instance ToJSON GooglePrivacyDlpV2QuasiIdField where- toJSON GooglePrivacyDlpV2QuasiIdField'{..}- = object- (catMaybes- [("field" .=) <$> _gpdvqifField,- ("customTag" .=) <$> _gpdvqifCustomTag])---- | For use with \`Date\`, \`Timestamp\`, and \`TimeOfDay\`, extract or--- preserve a portion of the value.------ /See:/ 'googlePrivacyDlpV2TimePartConfig' smart constructor.-newtype GooglePrivacyDlpV2TimePartConfig = GooglePrivacyDlpV2TimePartConfig'- { _gpdvtpcPartToExtract :: Maybe GooglePrivacyDlpV2TimePartConfigPartToExtract- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TimePartConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtpcPartToExtract'-googlePrivacyDlpV2TimePartConfig- :: GooglePrivacyDlpV2TimePartConfig-googlePrivacyDlpV2TimePartConfig =- GooglePrivacyDlpV2TimePartConfig'- { _gpdvtpcPartToExtract = Nothing- }--gpdvtpcPartToExtract :: Lens' GooglePrivacyDlpV2TimePartConfig (Maybe GooglePrivacyDlpV2TimePartConfigPartToExtract)-gpdvtpcPartToExtract- = lens _gpdvtpcPartToExtract- (\ s a -> s{_gpdvtpcPartToExtract = a})--instance FromJSON GooglePrivacyDlpV2TimePartConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2TimePartConfig"- (\ o ->- GooglePrivacyDlpV2TimePartConfig' <$>- (o .:? "partToExtract"))--instance ToJSON GooglePrivacyDlpV2TimePartConfig- where- toJSON GooglePrivacyDlpV2TimePartConfig'{..}- = object- (catMaybes- [("partToExtract" .=) <$> _gpdvtpcPartToExtract])---- | A single inspection rule to be applied to infoTypes, specified in--- \`InspectionRuleSet\`.------ /See:/ 'googlePrivacyDlpV2InspectionRule' smart constructor.-data GooglePrivacyDlpV2InspectionRule = GooglePrivacyDlpV2InspectionRule'- { _gpdvirExclusionRule :: !(Maybe GooglePrivacyDlpV2ExclusionRule)- , _gpdvirHotwordRule :: !(Maybe GooglePrivacyDlpV2HotwordRule)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectionRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvirExclusionRule'------ * 'gpdvirHotwordRule'-googlePrivacyDlpV2InspectionRule- :: GooglePrivacyDlpV2InspectionRule-googlePrivacyDlpV2InspectionRule =- GooglePrivacyDlpV2InspectionRule'- { _gpdvirExclusionRule = Nothing- , _gpdvirHotwordRule = Nothing- }---- | Exclusion rule.-gpdvirExclusionRule :: Lens' GooglePrivacyDlpV2InspectionRule (Maybe GooglePrivacyDlpV2ExclusionRule)-gpdvirExclusionRule- = lens _gpdvirExclusionRule- (\ s a -> s{_gpdvirExclusionRule = a})---- | Hotword-based detection rule.-gpdvirHotwordRule :: Lens' GooglePrivacyDlpV2InspectionRule (Maybe GooglePrivacyDlpV2HotwordRule)-gpdvirHotwordRule- = lens _gpdvirHotwordRule- (\ s a -> s{_gpdvirHotwordRule = a})--instance FromJSON GooglePrivacyDlpV2InspectionRule- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectionRule"- (\ o ->- GooglePrivacyDlpV2InspectionRule' <$>- (o .:? "exclusionRule") <*> (o .:? "hotwordRule"))--instance ToJSON GooglePrivacyDlpV2InspectionRule- where- toJSON GooglePrivacyDlpV2InspectionRule'{..}- = object- (catMaybes- [("exclusionRule" .=) <$> _gpdvirExclusionRule,- ("hotwordRule" .=) <$> _gpdvirHotwordRule])---- | Custom information type provided by the user. Used to find--- domain-specific sensitive information configurable to the data in--- question.------ /See:/ 'googlePrivacyDlpV2CustomInfoType' smart constructor.-data GooglePrivacyDlpV2CustomInfoType = GooglePrivacyDlpV2CustomInfoType'- { _gpdvcitRegex :: !(Maybe GooglePrivacyDlpV2Regex)- , _gpdvcitStoredType :: !(Maybe GooglePrivacyDlpV2StoredType)- , _gpdvcitInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvcitExclusionType :: !(Maybe GooglePrivacyDlpV2CustomInfoTypeExclusionType)- , _gpdvcitLikelihood :: !(Maybe GooglePrivacyDlpV2CustomInfoTypeLikelihood)- , _gpdvcitDetectionRules :: !(Maybe [GooglePrivacyDlpV2DetectionRule])- , _gpdvcitDictionary :: !(Maybe GooglePrivacyDlpV2Dictionary)- , _gpdvcitSurrogateType :: !(Maybe GooglePrivacyDlpV2SurrogateType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CustomInfoType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcitRegex'------ * 'gpdvcitStoredType'------ * 'gpdvcitInfoType'------ * 'gpdvcitExclusionType'------ * 'gpdvcitLikelihood'------ * 'gpdvcitDetectionRules'------ * 'gpdvcitDictionary'------ * 'gpdvcitSurrogateType'-googlePrivacyDlpV2CustomInfoType- :: GooglePrivacyDlpV2CustomInfoType-googlePrivacyDlpV2CustomInfoType =- GooglePrivacyDlpV2CustomInfoType'- { _gpdvcitRegex = Nothing- , _gpdvcitStoredType = Nothing- , _gpdvcitInfoType = Nothing- , _gpdvcitExclusionType = Nothing- , _gpdvcitLikelihood = Nothing- , _gpdvcitDetectionRules = Nothing- , _gpdvcitDictionary = Nothing- , _gpdvcitSurrogateType = Nothing- }---- | Regular expression based CustomInfoType.-gpdvcitRegex :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2Regex)-gpdvcitRegex- = lens _gpdvcitRegex (\ s a -> s{_gpdvcitRegex = a})---- | Load an existing \`StoredInfoType\` resource for use in--- \`InspectDataSource\`. Not currently supported in \`InspectContent\`.-gpdvcitStoredType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2StoredType)-gpdvcitStoredType- = lens _gpdvcitStoredType- (\ s a -> s{_gpdvcitStoredType = a})---- | CustomInfoType can either be a new infoType, or an extension of built-in--- infoType, when the name matches one of existing infoTypes and that--- infoType is specified in \`InspectContent.info_types\` field. Specifying--- the latter adds findings to the one detected by the system. If built-in--- info type is not specified in \`InspectContent.info_types\` list then--- the name is treated as a custom info type.-gpdvcitInfoType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2InfoType)-gpdvcitInfoType- = lens _gpdvcitInfoType- (\ s a -> s{_gpdvcitInfoType = a})---- | If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding--- to be returned. It still can be used for rules matching.-gpdvcitExclusionType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2CustomInfoTypeExclusionType)-gpdvcitExclusionType- = lens _gpdvcitExclusionType- (\ s a -> s{_gpdvcitExclusionType = a})---- | Likelihood to return for this CustomInfoType. This base value can be--- altered by a detection rule if the finding meets the criteria specified--- by the rule. Defaults to \`VERY_LIKELY\` if not specified.-gpdvcitLikelihood :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2CustomInfoTypeLikelihood)-gpdvcitLikelihood- = lens _gpdvcitLikelihood- (\ s a -> s{_gpdvcitLikelihood = a})---- | Set of detection rules to apply to all findings of this CustomInfoType.--- Rules are applied in order that they are specified. Not supported for--- the \`surrogate_type\` CustomInfoType.-gpdvcitDetectionRules :: Lens' GooglePrivacyDlpV2CustomInfoType [GooglePrivacyDlpV2DetectionRule]-gpdvcitDetectionRules- = lens _gpdvcitDetectionRules- (\ s a -> s{_gpdvcitDetectionRules = a})- . _Default- . _Coerce---- | A list of phrases to detect as a CustomInfoType.-gpdvcitDictionary :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2Dictionary)-gpdvcitDictionary- = lens _gpdvcitDictionary- (\ s a -> s{_gpdvcitDictionary = a})---- | Message for detecting output from deidentification transformations that--- support reversing.-gpdvcitSurrogateType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2SurrogateType)-gpdvcitSurrogateType- = lens _gpdvcitSurrogateType- (\ s a -> s{_gpdvcitSurrogateType = a})--instance FromJSON GooglePrivacyDlpV2CustomInfoType- where- parseJSON- = withObject "GooglePrivacyDlpV2CustomInfoType"- (\ o ->- GooglePrivacyDlpV2CustomInfoType' <$>- (o .:? "regex") <*> (o .:? "storedType") <*>- (o .:? "infoType")- <*> (o .:? "exclusionType")- <*> (o .:? "likelihood")- <*> (o .:? "detectionRules" .!= mempty)- <*> (o .:? "dictionary")- <*> (o .:? "surrogateType"))--instance ToJSON GooglePrivacyDlpV2CustomInfoType- where- toJSON GooglePrivacyDlpV2CustomInfoType'{..}- = object- (catMaybes- [("regex" .=) <$> _gpdvcitRegex,- ("storedType" .=) <$> _gpdvcitStoredType,- ("infoType" .=) <$> _gpdvcitInfoType,- ("exclusionType" .=) <$> _gpdvcitExclusionType,- ("likelihood" .=) <$> _gpdvcitLikelihood,- ("detectionRules" .=) <$> _gpdvcitDetectionRules,- ("dictionary" .=) <$> _gpdvcitDictionary,- ("surrogateType" .=) <$> _gpdvcitSurrogateType])---- | Result of the reidentifiability analysis. Note that these results are an--- estimation, not exact values.------ /See:/ 'googlePrivacyDlpV2KMapEstimationResult' smart constructor.-newtype GooglePrivacyDlpV2KMapEstimationResult = GooglePrivacyDlpV2KMapEstimationResult'- { _gpdvkmerKMapEstimationHistogram :: Maybe [GooglePrivacyDlpV2KMapEstimationHistogramBucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkmerKMapEstimationHistogram'-googlePrivacyDlpV2KMapEstimationResult- :: GooglePrivacyDlpV2KMapEstimationResult-googlePrivacyDlpV2KMapEstimationResult =- GooglePrivacyDlpV2KMapEstimationResult'- { _gpdvkmerKMapEstimationHistogram = Nothing- }---- | The intervals [min_anonymity, max_anonymity] do not overlap. If a value--- doesn\'t correspond to any such interval, the associated frequency is--- zero. For example, the following records: {min_anonymity: 1,--- max_anonymity: 1, frequency: 17} {min_anonymity: 2, max_anonymity: 3,--- frequency: 42} {min_anonymity: 5, max_anonymity: 10, frequency: 99} mean--- that there are no record with an estimated anonymity of 4, 5, or larger--- than 10.-gpdvkmerKMapEstimationHistogram :: Lens' GooglePrivacyDlpV2KMapEstimationResult [GooglePrivacyDlpV2KMapEstimationHistogramBucket]-gpdvkmerKMapEstimationHistogram- = lens _gpdvkmerKMapEstimationHistogram- (\ s a -> s{_gpdvkmerKMapEstimationHistogram = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2KMapEstimationResult where- parseJSON- = withObject "GooglePrivacyDlpV2KMapEstimationResult"- (\ o ->- GooglePrivacyDlpV2KMapEstimationResult' <$>- (o .:? "kMapEstimationHistogram" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2KMapEstimationResult where- toJSON GooglePrivacyDlpV2KMapEstimationResult'{..}- = object- (catMaybes- [("kMapEstimationHistogram" .=) <$>- _gpdvkmerKMapEstimationHistogram])---- | Summary of a single tranformation. Only one of \'transformation\',--- \'field_transformation\', or \'record_suppress\' will be set.------ /See:/ 'googlePrivacyDlpV2TransformationSummary' smart constructor.-data GooglePrivacyDlpV2TransformationSummary = GooglePrivacyDlpV2TransformationSummary'- { _gpdvtsResults :: !(Maybe [GooglePrivacyDlpV2SummaryResult])- , _gpdvtsField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvtsInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvtsRecordSuppress :: !(Maybe GooglePrivacyDlpV2RecordSuppression)- , _gpdvtsTransformedBytes :: !(Maybe (Textual Int64))- , _gpdvtsFieldTransformations :: !(Maybe [GooglePrivacyDlpV2FieldTransformation])- , _gpdvtsTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TransformationSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtsResults'------ * 'gpdvtsField'------ * 'gpdvtsInfoType'------ * 'gpdvtsRecordSuppress'------ * 'gpdvtsTransformedBytes'------ * 'gpdvtsFieldTransformations'------ * 'gpdvtsTransformation'-googlePrivacyDlpV2TransformationSummary- :: GooglePrivacyDlpV2TransformationSummary-googlePrivacyDlpV2TransformationSummary =- GooglePrivacyDlpV2TransformationSummary'- { _gpdvtsResults = Nothing- , _gpdvtsField = Nothing- , _gpdvtsInfoType = Nothing- , _gpdvtsRecordSuppress = Nothing- , _gpdvtsTransformedBytes = Nothing- , _gpdvtsFieldTransformations = Nothing- , _gpdvtsTransformation = Nothing- }--gpdvtsResults :: Lens' GooglePrivacyDlpV2TransformationSummary [GooglePrivacyDlpV2SummaryResult]-gpdvtsResults- = lens _gpdvtsResults- (\ s a -> s{_gpdvtsResults = a})- . _Default- . _Coerce---- | Set if the transformation was limited to a specific FieldId.-gpdvtsField :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2FieldId)-gpdvtsField- = lens _gpdvtsField (\ s a -> s{_gpdvtsField = a})---- | Set if the transformation was limited to a specific InfoType.-gpdvtsInfoType :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2InfoType)-gpdvtsInfoType- = lens _gpdvtsInfoType- (\ s a -> s{_gpdvtsInfoType = a})---- | The specific suppression option these stats apply to.-gpdvtsRecordSuppress :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2RecordSuppression)-gpdvtsRecordSuppress- = lens _gpdvtsRecordSuppress- (\ s a -> s{_gpdvtsRecordSuppress = a})---- | Total size in bytes that were transformed in some way.-gpdvtsTransformedBytes :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe Int64)-gpdvtsTransformedBytes- = lens _gpdvtsTransformedBytes- (\ s a -> s{_gpdvtsTransformedBytes = a})- . mapping _Coerce---- | The field transformation that was applied. If multiple field--- transformations are requested for a single field, this list will contain--- all of them; otherwise, only one is supplied.-gpdvtsFieldTransformations :: Lens' GooglePrivacyDlpV2TransformationSummary [GooglePrivacyDlpV2FieldTransformation]-gpdvtsFieldTransformations- = lens _gpdvtsFieldTransformations- (\ s a -> s{_gpdvtsFieldTransformations = a})- . _Default- . _Coerce---- | The specific transformation these stats apply to.-gpdvtsTransformation :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2PrimitiveTransformation)-gpdvtsTransformation- = lens _gpdvtsTransformation- (\ s a -> s{_gpdvtsTransformation = a})--instance FromJSON- GooglePrivacyDlpV2TransformationSummary where- parseJSON- = withObject- "GooglePrivacyDlpV2TransformationSummary"- (\ o ->- GooglePrivacyDlpV2TransformationSummary' <$>- (o .:? "results" .!= mempty) <*> (o .:? "field") <*>- (o .:? "infoType")- <*> (o .:? "recordSuppress")- <*> (o .:? "transformedBytes")- <*> (o .:? "fieldTransformations" .!= mempty)- <*> (o .:? "transformation"))--instance ToJSON- GooglePrivacyDlpV2TransformationSummary where- toJSON GooglePrivacyDlpV2TransformationSummary'{..}- = object- (catMaybes- [("results" .=) <$> _gpdvtsResults,- ("field" .=) <$> _gpdvtsField,- ("infoType" .=) <$> _gpdvtsInfoType,- ("recordSuppress" .=) <$> _gpdvtsRecordSuppress,- ("transformedBytes" .=) <$> _gpdvtsTransformedBytes,- ("fieldTransformations" .=) <$>- _gpdvtsFieldTransformations,- ("transformation" .=) <$> _gpdvtsTransformation])---- | Message for specifying an adjustment to the likelihood of a finding as--- part of a detection rule.------ /See:/ 'googlePrivacyDlpV2LikelihoodAdjustment' smart constructor.-data GooglePrivacyDlpV2LikelihoodAdjustment = GooglePrivacyDlpV2LikelihoodAdjustment'- { _gpdvlaFixedLikelihood :: !(Maybe GooglePrivacyDlpV2LikelihoodAdjustmentFixedLikelihood)- , _gpdvlaRelativeLikelihood :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LikelihoodAdjustment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlaFixedLikelihood'------ * 'gpdvlaRelativeLikelihood'-googlePrivacyDlpV2LikelihoodAdjustment- :: GooglePrivacyDlpV2LikelihoodAdjustment-googlePrivacyDlpV2LikelihoodAdjustment =- GooglePrivacyDlpV2LikelihoodAdjustment'- { _gpdvlaFixedLikelihood = Nothing- , _gpdvlaRelativeLikelihood = Nothing- }---- | Set the likelihood of a finding to a fixed value.-gpdvlaFixedLikelihood :: Lens' GooglePrivacyDlpV2LikelihoodAdjustment (Maybe GooglePrivacyDlpV2LikelihoodAdjustmentFixedLikelihood)-gpdvlaFixedLikelihood- = lens _gpdvlaFixedLikelihood- (\ s a -> s{_gpdvlaFixedLikelihood = a})---- | Increase or decrease the likelihood by the specified number of levels.--- For example, if a finding would be \`POSSIBLE\` without the detection--- rule and \`relative_likelihood\` is 1, then it is upgraded to--- \`LIKELY\`, while a value of -1 would downgrade it to \`UNLIKELY\`.--- Likelihood may never drop below \`VERY_UNLIKELY\` or exceed--- \`VERY_LIKELY\`, so applying an adjustment of 1 followed by an--- adjustment of -1 when base likelihood is \`VERY_LIKELY\` will result in--- a final likelihood of \`LIKELY\`.-gpdvlaRelativeLikelihood :: Lens' GooglePrivacyDlpV2LikelihoodAdjustment (Maybe Int32)-gpdvlaRelativeLikelihood- = lens _gpdvlaRelativeLikelihood- (\ s a -> s{_gpdvlaRelativeLikelihood = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2LikelihoodAdjustment where- parseJSON- = withObject "GooglePrivacyDlpV2LikelihoodAdjustment"- (\ o ->- GooglePrivacyDlpV2LikelihoodAdjustment' <$>- (o .:? "fixedLikelihood") <*>- (o .:? "relativeLikelihood"))--instance ToJSON- GooglePrivacyDlpV2LikelihoodAdjustment where- toJSON GooglePrivacyDlpV2LikelihoodAdjustment'{..}- = object- (catMaybes- [("fixedLikelihood" .=) <$> _gpdvlaFixedLikelihood,- ("relativeLikelihood" .=) <$>- _gpdvlaRelativeLikelihood])---- | Message defining a custom regular expression.------ /See:/ 'googlePrivacyDlpV2Regex' smart constructor.-newtype GooglePrivacyDlpV2Regex = GooglePrivacyDlpV2Regex'- { _gpdvrPattern :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Regex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrPattern'-googlePrivacyDlpV2Regex- :: GooglePrivacyDlpV2Regex-googlePrivacyDlpV2Regex =- GooglePrivacyDlpV2Regex'- { _gpdvrPattern = Nothing- }---- | Pattern defining the regular expression. Its syntax--- (https:\/\/github.com\/google\/re2\/wiki\/Syntax) can be found under the--- google\/re2 repository on GitHub.-gpdvrPattern :: Lens' GooglePrivacyDlpV2Regex (Maybe Text)-gpdvrPattern- = lens _gpdvrPattern (\ s a -> s{_gpdvrPattern = a})--instance FromJSON GooglePrivacyDlpV2Regex where- parseJSON- = withObject "GooglePrivacyDlpV2Regex"- (\ o ->- GooglePrivacyDlpV2Regex' <$> (o .:? "pattern"))--instance ToJSON GooglePrivacyDlpV2Regex where- toJSON GooglePrivacyDlpV2Regex'{..}- = object- (catMaybes [("pattern" .=) <$> _gpdvrPattern])---- | Request message for UpdateStoredInfoType.------ /See:/ 'googlePrivacyDlpV2UpdateStoredInfoTypeRequest' smart constructor.-data GooglePrivacyDlpV2UpdateStoredInfoTypeRequest = GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'- { _gpdvusitrConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)- , _gpdvusitrUpdateMask :: !(Maybe GFieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2UpdateStoredInfoTypeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvusitrConfig'------ * 'gpdvusitrUpdateMask'-googlePrivacyDlpV2UpdateStoredInfoTypeRequest- :: GooglePrivacyDlpV2UpdateStoredInfoTypeRequest-googlePrivacyDlpV2UpdateStoredInfoTypeRequest =- GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'- { _gpdvusitrConfig = Nothing- , _gpdvusitrUpdateMask = Nothing- }---- | Updated configuration for the storedInfoType. If not provided, a new--- version of the storedInfoType will be created with the existing--- configuration.-gpdvusitrConfig :: Lens' GooglePrivacyDlpV2UpdateStoredInfoTypeRequest (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)-gpdvusitrConfig- = lens _gpdvusitrConfig- (\ s a -> s{_gpdvusitrConfig = a})---- | Mask to control which fields get updated.-gpdvusitrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateStoredInfoTypeRequest (Maybe GFieldMask)-gpdvusitrUpdateMask- = lens _gpdvusitrUpdateMask- (\ s a -> s{_gpdvusitrUpdateMask = a})--instance FromJSON- GooglePrivacyDlpV2UpdateStoredInfoTypeRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2UpdateStoredInfoTypeRequest"- (\ o ->- GooglePrivacyDlpV2UpdateStoredInfoTypeRequest' <$>- (o .:? "config") <*> (o .:? "updateMask"))--instance ToJSON- GooglePrivacyDlpV2UpdateStoredInfoTypeRequest where- toJSON- GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'{..}- = object- (catMaybes- [("config" .=) <$> _gpdvusitrConfig,- ("updateMask" .=) <$> _gpdvusitrUpdateMask])---- | The set of columns\' values that share the same ldiversity value------ /See:/ 'googlePrivacyDlpV2KAnonymityEquivalenceClass' smart constructor.-data GooglePrivacyDlpV2KAnonymityEquivalenceClass = GooglePrivacyDlpV2KAnonymityEquivalenceClass'- { _gpdvkaecEquivalenceClassSize :: !(Maybe (Textual Int64))- , _gpdvkaecQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KAnonymityEquivalenceClass' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkaecEquivalenceClassSize'------ * 'gpdvkaecQuasiIdsValues'-googlePrivacyDlpV2KAnonymityEquivalenceClass- :: GooglePrivacyDlpV2KAnonymityEquivalenceClass-googlePrivacyDlpV2KAnonymityEquivalenceClass =- GooglePrivacyDlpV2KAnonymityEquivalenceClass'- { _gpdvkaecEquivalenceClassSize = Nothing- , _gpdvkaecQuasiIdsValues = Nothing- }---- | Size of the equivalence class, for example number of rows with the above--- set of values.-gpdvkaecEquivalenceClassSize :: Lens' GooglePrivacyDlpV2KAnonymityEquivalenceClass (Maybe Int64)-gpdvkaecEquivalenceClassSize- = lens _gpdvkaecEquivalenceClassSize- (\ s a -> s{_gpdvkaecEquivalenceClassSize = a})- . mapping _Coerce---- | Set of values defining the equivalence class. One value per--- quasi-identifier column in the original KAnonymity metric message. The--- order is always the same as the original request.-gpdvkaecQuasiIdsValues :: Lens' GooglePrivacyDlpV2KAnonymityEquivalenceClass [GooglePrivacyDlpV2Value]-gpdvkaecQuasiIdsValues- = lens _gpdvkaecQuasiIdsValues- (\ s a -> s{_gpdvkaecQuasiIdsValues = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2KAnonymityEquivalenceClass where- parseJSON- = withObject- "GooglePrivacyDlpV2KAnonymityEquivalenceClass"- (\ o ->- GooglePrivacyDlpV2KAnonymityEquivalenceClass' <$>- (o .:? "equivalenceClassSize") <*>- (o .:? "quasiIdsValues" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2KAnonymityEquivalenceClass where- toJSON- GooglePrivacyDlpV2KAnonymityEquivalenceClass'{..}- = object- (catMaybes- [("equivalenceClassSize" .=) <$>- _gpdvkaecEquivalenceClassSize,- ("quasiIdsValues" .=) <$> _gpdvkaecQuasiIdsValues])---- | Request message for UpdateDeidentifyTemplate.------ /See:/ 'googlePrivacyDlpV2UpdateDeidentifyTemplateRequest' smart constructor.-data GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest = GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'- { _gpdvudtrUpdateMask :: !(Maybe GFieldMask)- , _gpdvudtrDeidentifyTemplate :: !(Maybe GooglePrivacyDlpV2DeidentifyTemplate)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvudtrUpdateMask'------ * 'gpdvudtrDeidentifyTemplate'-googlePrivacyDlpV2UpdateDeidentifyTemplateRequest- :: GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest-googlePrivacyDlpV2UpdateDeidentifyTemplateRequest =- GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'- { _gpdvudtrUpdateMask = Nothing- , _gpdvudtrDeidentifyTemplate = Nothing- }---- | Mask to control which fields get updated.-gpdvudtrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest (Maybe GFieldMask)-gpdvudtrUpdateMask- = lens _gpdvudtrUpdateMask- (\ s a -> s{_gpdvudtrUpdateMask = a})---- | New DeidentifyTemplate value.-gpdvudtrDeidentifyTemplate :: Lens' GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest (Maybe GooglePrivacyDlpV2DeidentifyTemplate)-gpdvudtrDeidentifyTemplate- = lens _gpdvudtrDeidentifyTemplate- (\ s a -> s{_gpdvudtrDeidentifyTemplate = a})--instance FromJSON- GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest- where- parseJSON- = withObject- "GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest"- (\ o ->- GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'- <$>- (o .:? "updateMask") <*>- (o .:? "deidentifyTemplate"))--instance ToJSON- GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest- where- toJSON- GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'{..}- = object- (catMaybes- [("updateMask" .=) <$> _gpdvudtrUpdateMask,- ("deidentifyTemplate" .=) <$>- _gpdvudtrDeidentifyTemplate])---- | l-diversity metric, used for analysis of reidentification risk.------ /See:/ 'googlePrivacyDlpV2LDiversityConfig' smart constructor.-data GooglePrivacyDlpV2LDiversityConfig = GooglePrivacyDlpV2LDiversityConfig'- { _gpdvldcSensitiveAttribute :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvldcQuasiIds :: !(Maybe [GooglePrivacyDlpV2FieldId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LDiversityConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldcSensitiveAttribute'------ * 'gpdvldcQuasiIds'-googlePrivacyDlpV2LDiversityConfig- :: GooglePrivacyDlpV2LDiversityConfig-googlePrivacyDlpV2LDiversityConfig =- GooglePrivacyDlpV2LDiversityConfig'- { _gpdvldcSensitiveAttribute = Nothing- , _gpdvldcQuasiIds = Nothing- }---- | Sensitive field for computing the l-value.-gpdvldcSensitiveAttribute :: Lens' GooglePrivacyDlpV2LDiversityConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvldcSensitiveAttribute- = lens _gpdvldcSensitiveAttribute- (\ s a -> s{_gpdvldcSensitiveAttribute = a})---- | Set of quasi-identifiers indicating how equivalence classes are defined--- for the l-diversity computation. When multiple fields are specified,--- they are considered a single composite key.-gpdvldcQuasiIds :: Lens' GooglePrivacyDlpV2LDiversityConfig [GooglePrivacyDlpV2FieldId]-gpdvldcQuasiIds- = lens _gpdvldcQuasiIds- (\ s a -> s{_gpdvldcQuasiIds = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2LDiversityConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2LDiversityConfig"- (\ o ->- GooglePrivacyDlpV2LDiversityConfig' <$>- (o .:? "sensitiveAttribute") <*>- (o .:? "quasiIds" .!= mempty))--instance ToJSON GooglePrivacyDlpV2LDiversityConfig- where- toJSON GooglePrivacyDlpV2LDiversityConfig'{..}- = object- (catMaybes- [("sensitiveAttribute" .=) <$>- _gpdvldcSensitiveAttribute,- ("quasiIds" .=) <$> _gpdvldcQuasiIds])---- | Request to de-identify a list of items.------ /See:/ 'googlePrivacyDlpV2DeidentifyContentRequest' smart constructor.-data GooglePrivacyDlpV2DeidentifyContentRequest = GooglePrivacyDlpV2DeidentifyContentRequest'- { _gpdvdcrInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gpdvdcrDeidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)- , _gpdvdcrDeidentifyTemplateName :: !(Maybe Text)- , _gpdvdcrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)- , _gpdvdcrInspectTemplateName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeidentifyContentRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdcrInspectConfig'------ * 'gpdvdcrDeidentifyConfig'------ * 'gpdvdcrDeidentifyTemplateName'------ * 'gpdvdcrItem'------ * 'gpdvdcrInspectTemplateName'-googlePrivacyDlpV2DeidentifyContentRequest- :: GooglePrivacyDlpV2DeidentifyContentRequest-googlePrivacyDlpV2DeidentifyContentRequest =- GooglePrivacyDlpV2DeidentifyContentRequest'- { _gpdvdcrInspectConfig = Nothing- , _gpdvdcrDeidentifyConfig = Nothing- , _gpdvdcrDeidentifyTemplateName = Nothing- , _gpdvdcrItem = Nothing- , _gpdvdcrInspectTemplateName = Nothing- }---- | Configuration for the inspector. Items specified here will override the--- template referenced by the inspect_template_name argument.-gpdvdcrInspectConfig :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)-gpdvdcrInspectConfig- = lens _gpdvdcrInspectConfig- (\ s a -> s{_gpdvdcrInspectConfig = a})---- | Configuration for the de-identification of the content item. Items--- specified here will override the template referenced by the--- deidentify_template_name argument.-gpdvdcrDeidentifyConfig :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2DeidentifyConfig)-gpdvdcrDeidentifyConfig- = lens _gpdvdcrDeidentifyConfig- (\ s a -> s{_gpdvdcrDeidentifyConfig = a})---- | Optional template to use. Any configuration directly specified in--- deidentify_config will override those set in the template. Singular--- fields that are set in this request will replace their corresponding--- fields in the template. Repeated fields are appended. Singular--- sub-messages and groups are recursively merged.-gpdvdcrDeidentifyTemplateName :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe Text)-gpdvdcrDeidentifyTemplateName- = lens _gpdvdcrDeidentifyTemplateName- (\ s a -> s{_gpdvdcrDeidentifyTemplateName = a})---- | The item to de-identify. Will be treated as text.-gpdvdcrItem :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2ContentItem)-gpdvdcrItem- = lens _gpdvdcrItem (\ s a -> s{_gpdvdcrItem = a})---- | Optional template to use. Any configuration directly specified in--- inspect_config will override those set in the template. Singular fields--- that are set in this request will replace their corresponding fields in--- the template. Repeated fields are appended. Singular sub-messages and--- groups are recursively merged.-gpdvdcrInspectTemplateName :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe Text)-gpdvdcrInspectTemplateName- = lens _gpdvdcrInspectTemplateName- (\ s a -> s{_gpdvdcrInspectTemplateName = a})--instance FromJSON- GooglePrivacyDlpV2DeidentifyContentRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2DeidentifyContentRequest"- (\ o ->- GooglePrivacyDlpV2DeidentifyContentRequest' <$>- (o .:? "inspectConfig") <*>- (o .:? "deidentifyConfig")- <*> (o .:? "deidentifyTemplateName")- <*> (o .:? "item")- <*> (o .:? "inspectTemplateName"))--instance ToJSON- GooglePrivacyDlpV2DeidentifyContentRequest where- toJSON- GooglePrivacyDlpV2DeidentifyContentRequest'{..}- = object- (catMaybes- [("inspectConfig" .=) <$> _gpdvdcrInspectConfig,- ("deidentifyConfig" .=) <$> _gpdvdcrDeidentifyConfig,- ("deidentifyTemplateName" .=) <$>- _gpdvdcrDeidentifyTemplateName,- ("item" .=) <$> _gpdvdcrItem,- ("inspectTemplateName" .=) <$>- _gpdvdcrInspectTemplateName])---- | Represents a color in the RGB color space.------ /See:/ 'googlePrivacyDlpV2Color' smart constructor.-data GooglePrivacyDlpV2Color = GooglePrivacyDlpV2Color'- { _gpdvcRed :: !(Maybe (Textual Double))- , _gpdvcGreen :: !(Maybe (Textual Double))- , _gpdvcBlue :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Color' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcRed'------ * 'gpdvcGreen'------ * 'gpdvcBlue'-googlePrivacyDlpV2Color- :: GooglePrivacyDlpV2Color-googlePrivacyDlpV2Color =- GooglePrivacyDlpV2Color'- { _gpdvcRed = Nothing- , _gpdvcGreen = Nothing- , _gpdvcBlue = Nothing- }---- | The amount of red in the color as a value in the interval [0, 1].-gpdvcRed :: Lens' GooglePrivacyDlpV2Color (Maybe Double)-gpdvcRed- = lens _gpdvcRed (\ s a -> s{_gpdvcRed = a}) .- mapping _Coerce---- | The amount of green in the color as a value in the interval [0, 1].-gpdvcGreen :: Lens' GooglePrivacyDlpV2Color (Maybe Double)-gpdvcGreen- = lens _gpdvcGreen (\ s a -> s{_gpdvcGreen = a}) .- mapping _Coerce---- | The amount of blue in the color as a value in the interval [0, 1].-gpdvcBlue :: Lens' GooglePrivacyDlpV2Color (Maybe Double)-gpdvcBlue- = lens _gpdvcBlue (\ s a -> s{_gpdvcBlue = a}) .- mapping _Coerce--instance FromJSON GooglePrivacyDlpV2Color where- parseJSON- = withObject "GooglePrivacyDlpV2Color"- (\ o ->- GooglePrivacyDlpV2Color' <$>- (o .:? "red") <*> (o .:? "green") <*> (o .:? "blue"))--instance ToJSON GooglePrivacyDlpV2Color where- toJSON GooglePrivacyDlpV2Color'{..}- = object- (catMaybes- [("red" .=) <$> _gpdvcRed,- ("green" .=) <$> _gpdvcGreen,- ("blue" .=) <$> _gpdvcBlue])---- | The response message for listing DLP jobs.------ /See:/ 'googlePrivacyDlpV2ListDlpJobsResponse' smart constructor.-data GooglePrivacyDlpV2ListDlpJobsResponse = GooglePrivacyDlpV2ListDlpJobsResponse'- { _gpdvldjrNextPageToken :: !(Maybe Text)- , _gpdvldjrJobs :: !(Maybe [GooglePrivacyDlpV2DlpJob])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListDlpJobsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldjrNextPageToken'------ * 'gpdvldjrJobs'-googlePrivacyDlpV2ListDlpJobsResponse- :: GooglePrivacyDlpV2ListDlpJobsResponse-googlePrivacyDlpV2ListDlpJobsResponse =- GooglePrivacyDlpV2ListDlpJobsResponse'- { _gpdvldjrNextPageToken = Nothing- , _gpdvldjrJobs = Nothing- }---- | The standard List next-page token.-gpdvldjrNextPageToken :: Lens' GooglePrivacyDlpV2ListDlpJobsResponse (Maybe Text)-gpdvldjrNextPageToken- = lens _gpdvldjrNextPageToken- (\ s a -> s{_gpdvldjrNextPageToken = a})---- | A list of DlpJobs that matches the specified filter in the request.-gpdvldjrJobs :: Lens' GooglePrivacyDlpV2ListDlpJobsResponse [GooglePrivacyDlpV2DlpJob]-gpdvldjrJobs- = lens _gpdvldjrJobs (\ s a -> s{_gpdvldjrJobs = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListDlpJobsResponse where- parseJSON- = withObject "GooglePrivacyDlpV2ListDlpJobsResponse"- (\ o ->- GooglePrivacyDlpV2ListDlpJobsResponse' <$>- (o .:? "nextPageToken") <*>- (o .:? "jobs" .!= mempty))--instance ToJSON GooglePrivacyDlpV2ListDlpJobsResponse- where- toJSON GooglePrivacyDlpV2ListDlpJobsResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _gpdvldjrNextPageToken,- ("jobs" .=) <$> _gpdvldjrJobs])---- | Message for specifying a window around a finding to apply a detection--- rule.------ /See:/ 'googlePrivacyDlpV2Proximity' smart constructor.-data GooglePrivacyDlpV2Proximity = GooglePrivacyDlpV2Proximity'- { _gpdvpWindowAfter :: !(Maybe (Textual Int32))- , _gpdvpWindowBefore :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Proximity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvpWindowAfter'------ * 'gpdvpWindowBefore'-googlePrivacyDlpV2Proximity- :: GooglePrivacyDlpV2Proximity-googlePrivacyDlpV2Proximity =- GooglePrivacyDlpV2Proximity'- { _gpdvpWindowAfter = Nothing- , _gpdvpWindowBefore = Nothing- }---- | Number of characters after the finding to consider.-gpdvpWindowAfter :: Lens' GooglePrivacyDlpV2Proximity (Maybe Int32)-gpdvpWindowAfter- = lens _gpdvpWindowAfter- (\ s a -> s{_gpdvpWindowAfter = a})- . mapping _Coerce---- | Number of characters before the finding to consider.-gpdvpWindowBefore :: Lens' GooglePrivacyDlpV2Proximity (Maybe Int32)-gpdvpWindowBefore- = lens _gpdvpWindowBefore- (\ s a -> s{_gpdvpWindowBefore = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2Proximity where- parseJSON- = withObject "GooglePrivacyDlpV2Proximity"- (\ o ->- GooglePrivacyDlpV2Proximity' <$>- (o .:? "windowAfter") <*> (o .:? "windowBefore"))--instance ToJSON GooglePrivacyDlpV2Proximity where- toJSON GooglePrivacyDlpV2Proximity'{..}- = object- (catMaybes- [("windowAfter" .=) <$> _gpdvpWindowAfter,- ("windowBefore" .=) <$> _gpdvpWindowBefore])---- | Represents a piece of potentially sensitive content.------ /See:/ 'googlePrivacyDlpV2Finding' smart constructor.-data GooglePrivacyDlpV2Finding = GooglePrivacyDlpV2Finding'- { _gpdvfLocation :: !(Maybe GooglePrivacyDlpV2Location)- , _gpdvfInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvfQuoteInfo :: !(Maybe GooglePrivacyDlpV2QuoteInfo)- , _gpdvfLikelihood :: !(Maybe GooglePrivacyDlpV2FindingLikelihood)- , _gpdvfQuote :: !(Maybe Text)- , _gpdvfCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Finding' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvfLocation'------ * 'gpdvfInfoType'------ * 'gpdvfQuoteInfo'------ * 'gpdvfLikelihood'------ * 'gpdvfQuote'------ * 'gpdvfCreateTime'-googlePrivacyDlpV2Finding- :: GooglePrivacyDlpV2Finding-googlePrivacyDlpV2Finding =- GooglePrivacyDlpV2Finding'- { _gpdvfLocation = Nothing- , _gpdvfInfoType = Nothing- , _gpdvfQuoteInfo = Nothing- , _gpdvfLikelihood = Nothing- , _gpdvfQuote = Nothing- , _gpdvfCreateTime = Nothing- }---- | Where the content was found.-gpdvfLocation :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2Location)-gpdvfLocation- = lens _gpdvfLocation- (\ s a -> s{_gpdvfLocation = a})---- | The type of content that might have been found. Provided if--- \`excluded_types\` is false.-gpdvfInfoType :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2InfoType)-gpdvfInfoType- = lens _gpdvfInfoType- (\ s a -> s{_gpdvfInfoType = a})---- | Contains data parsed from quotes. Only populated if include_quote was--- set to true and a supported infoType was requested. Currently supported--- infoTypes: DATE, DATE_OF_BIRTH and TIME.-gpdvfQuoteInfo :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2QuoteInfo)-gpdvfQuoteInfo- = lens _gpdvfQuoteInfo- (\ s a -> s{_gpdvfQuoteInfo = a})---- | Confidence of how likely it is that the \`info_type\` is correct.-gpdvfLikelihood :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2FindingLikelihood)-gpdvfLikelihood- = lens _gpdvfLikelihood- (\ s a -> s{_gpdvfLikelihood = a})---- | The content that was found. Even if the content is not textual, it may--- be converted to a textual representation here. Provided if--- \`include_quote\` is true and the finding is less than or equal to 4096--- bytes long. If the finding exceeds 4096 bytes in length, the quote may--- be omitted.-gpdvfQuote :: Lens' GooglePrivacyDlpV2Finding (Maybe Text)-gpdvfQuote- = lens _gpdvfQuote (\ s a -> s{_gpdvfQuote = a})---- | Timestamp when finding was detected.-gpdvfCreateTime :: Lens' GooglePrivacyDlpV2Finding (Maybe UTCTime)-gpdvfCreateTime- = lens _gpdvfCreateTime- (\ s a -> s{_gpdvfCreateTime = a})- . mapping _DateTime--instance FromJSON GooglePrivacyDlpV2Finding where- parseJSON- = withObject "GooglePrivacyDlpV2Finding"- (\ o ->- GooglePrivacyDlpV2Finding' <$>- (o .:? "location") <*> (o .:? "infoType") <*>- (o .:? "quoteInfo")- <*> (o .:? "likelihood")- <*> (o .:? "quote")- <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2Finding where- toJSON GooglePrivacyDlpV2Finding'{..}- = object- (catMaybes- [("location" .=) <$> _gpdvfLocation,- ("infoType" .=) <$> _gpdvfInfoType,- ("quoteInfo" .=) <$> _gpdvfQuoteInfo,- ("likelihood" .=) <$> _gpdvfLikelihood,- ("quote" .=) <$> _gpdvfQuote,- ("createTime" .=) <$> _gpdvfCreateTime])---- | A collection that informs the user the number of times a particular--- \`TransformationResultCode\` and error details occurred.------ /See:/ 'googlePrivacyDlpV2SummaryResult' smart constructor.-data GooglePrivacyDlpV2SummaryResult = GooglePrivacyDlpV2SummaryResult'- { _gpdvsrCount :: !(Maybe (Textual Int64))- , _gpdvsrDetails :: !(Maybe Text)- , _gpdvsrCode :: !(Maybe GooglePrivacyDlpV2SummaryResultCode)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2SummaryResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsrCount'------ * 'gpdvsrDetails'------ * 'gpdvsrCode'-googlePrivacyDlpV2SummaryResult- :: GooglePrivacyDlpV2SummaryResult-googlePrivacyDlpV2SummaryResult =- GooglePrivacyDlpV2SummaryResult'- { _gpdvsrCount = Nothing- , _gpdvsrDetails = Nothing- , _gpdvsrCode = Nothing- }--gpdvsrCount :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe Int64)-gpdvsrCount- = lens _gpdvsrCount (\ s a -> s{_gpdvsrCount = a}) .- mapping _Coerce---- | A place for warnings or errors to show up if a transformation didn\'t--- work as expected.-gpdvsrDetails :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe Text)-gpdvsrDetails- = lens _gpdvsrDetails- (\ s a -> s{_gpdvsrDetails = a})--gpdvsrCode :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe GooglePrivacyDlpV2SummaryResultCode)-gpdvsrCode- = lens _gpdvsrCode (\ s a -> s{_gpdvsrCode = a})--instance FromJSON GooglePrivacyDlpV2SummaryResult- where- parseJSON- = withObject "GooglePrivacyDlpV2SummaryResult"- (\ o ->- GooglePrivacyDlpV2SummaryResult' <$>- (o .:? "count") <*> (o .:? "details") <*>- (o .:? "code"))--instance ToJSON GooglePrivacyDlpV2SummaryResult where- toJSON GooglePrivacyDlpV2SummaryResult'{..}- = object- (catMaybes- [("count" .=) <$> _gpdvsrCount,- ("details" .=) <$> _gpdvsrDetails,- ("code" .=) <$> _gpdvsrCode])------- /See:/ 'googlePrivacyDlpV2Row' smart constructor.-newtype GooglePrivacyDlpV2Row = GooglePrivacyDlpV2Row'- { _gpdvrValues :: Maybe [GooglePrivacyDlpV2Value]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Row' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrValues'-googlePrivacyDlpV2Row- :: GooglePrivacyDlpV2Row-googlePrivacyDlpV2Row =- GooglePrivacyDlpV2Row'- { _gpdvrValues = Nothing- }--gpdvrValues :: Lens' GooglePrivacyDlpV2Row [GooglePrivacyDlpV2Value]-gpdvrValues- = lens _gpdvrValues (\ s a -> s{_gpdvrValues = a}) .- _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2Row where- parseJSON- = withObject "GooglePrivacyDlpV2Row"- (\ o ->- GooglePrivacyDlpV2Row' <$>- (o .:? "values" .!= mempty))--instance ToJSON GooglePrivacyDlpV2Row where- toJSON GooglePrivacyDlpV2Row'{..}- = object (catMaybes [("values" .=) <$> _gpdvrValues])---- | Replace each matching finding with the name of the info_type.------ /See:/ 'googlePrivacyDlpV2ReplaceWithInfoTypeConfig' smart constructor.-data GooglePrivacyDlpV2ReplaceWithInfoTypeConfig =- GooglePrivacyDlpV2ReplaceWithInfoTypeConfig'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ReplaceWithInfoTypeConfig' with the minimum fields required to make a request.----googlePrivacyDlpV2ReplaceWithInfoTypeConfig- :: GooglePrivacyDlpV2ReplaceWithInfoTypeConfig-googlePrivacyDlpV2ReplaceWithInfoTypeConfig =- GooglePrivacyDlpV2ReplaceWithInfoTypeConfig'--instance FromJSON- GooglePrivacyDlpV2ReplaceWithInfoTypeConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2ReplaceWithInfoTypeConfig"- (\ o ->- pure GooglePrivacyDlpV2ReplaceWithInfoTypeConfig')--instance ToJSON- GooglePrivacyDlpV2ReplaceWithInfoTypeConfig where- toJSON = const emptyObject---- | Represents a time of day. The date and time zone are either not--- significant or are specified elsewhere. An API may choose to allow leap--- seconds. Related types are google.type.Date and--- \`google.protobuf.Timestamp\`.------ /See:/ 'googleTypeTimeOfDay' smart constructor.-data GoogleTypeTimeOfDay = GoogleTypeTimeOfDay'- { _gttodNanos :: !(Maybe (Textual Int32))- , _gttodHours :: !(Maybe (Textual Int32))- , _gttodMinutes :: !(Maybe (Textual Int32))- , _gttodSeconds :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GoogleTypeTimeOfDay' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gttodNanos'------ * 'gttodHours'------ * 'gttodMinutes'------ * 'gttodSeconds'-googleTypeTimeOfDay- :: GoogleTypeTimeOfDay-googleTypeTimeOfDay =- GoogleTypeTimeOfDay'- { _gttodNanos = Nothing- , _gttodHours = Nothing- , _gttodMinutes = Nothing- , _gttodSeconds = Nothing- }---- | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.-gttodNanos :: Lens' GoogleTypeTimeOfDay (Maybe Int32)-gttodNanos- = lens _gttodNanos (\ s a -> s{_gttodNanos = a}) .- mapping _Coerce---- | Hours of day in 24 hour format. Should be from 0 to 23. An API may--- choose to allow the value \"24:00:00\" for scenarios like business--- closing time.-gttodHours :: Lens' GoogleTypeTimeOfDay (Maybe Int32)-gttodHours- = lens _gttodHours (\ s a -> s{_gttodHours = a}) .- mapping _Coerce---- | Minutes of hour of day. Must be from 0 to 59.-gttodMinutes :: Lens' GoogleTypeTimeOfDay (Maybe Int32)-gttodMinutes- = lens _gttodMinutes (\ s a -> s{_gttodMinutes = a})- . mapping _Coerce---- | Seconds of minutes of the time. Must normally be from 0 to 59. An API--- may allow the value 60 if it allows leap-seconds.-gttodSeconds :: Lens' GoogleTypeTimeOfDay (Maybe Int32)-gttodSeconds- = lens _gttodSeconds (\ s a -> s{_gttodSeconds = a})- . mapping _Coerce--instance FromJSON GoogleTypeTimeOfDay where- parseJSON- = withObject "GoogleTypeTimeOfDay"- (\ o ->- GoogleTypeTimeOfDay' <$>- (o .:? "nanos") <*> (o .:? "hours") <*>- (o .:? "minutes")- <*> (o .:? "seconds"))--instance ToJSON GoogleTypeTimeOfDay where- toJSON GoogleTypeTimeOfDay'{..}- = object- (catMaybes- [("nanos" .=) <$> _gttodNanos,- ("hours" .=) <$> _gttodHours,- ("minutes" .=) <$> _gttodMinutes,- ("seconds" .=) <$> _gttodSeconds])---- | The rule that specifies conditions when findings of infoTypes specified--- in \`InspectionRuleSet\` are removed from results.------ /See:/ 'googlePrivacyDlpV2ExclusionRule' smart constructor.-data GooglePrivacyDlpV2ExclusionRule = GooglePrivacyDlpV2ExclusionRule'- { _gpdverRegex :: !(Maybe GooglePrivacyDlpV2Regex)- , _gpdverExcludeInfoTypes :: !(Maybe GooglePrivacyDlpV2ExcludeInfoTypes)- , _gpdverDictionary :: !(Maybe GooglePrivacyDlpV2Dictionary)- , _gpdverMatchingType :: !(Maybe GooglePrivacyDlpV2ExclusionRuleMatchingType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ExclusionRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdverRegex'------ * 'gpdverExcludeInfoTypes'------ * 'gpdverDictionary'------ * 'gpdverMatchingType'-googlePrivacyDlpV2ExclusionRule- :: GooglePrivacyDlpV2ExclusionRule-googlePrivacyDlpV2ExclusionRule =- GooglePrivacyDlpV2ExclusionRule'- { _gpdverRegex = Nothing- , _gpdverExcludeInfoTypes = Nothing- , _gpdverDictionary = Nothing- , _gpdverMatchingType = Nothing- }---- | Regular expression which defines the rule.-gpdverRegex :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2Regex)-gpdverRegex- = lens _gpdverRegex (\ s a -> s{_gpdverRegex = a})---- | Set of infoTypes for which findings would affect this rule.-gpdverExcludeInfoTypes :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2ExcludeInfoTypes)-gpdverExcludeInfoTypes- = lens _gpdverExcludeInfoTypes- (\ s a -> s{_gpdverExcludeInfoTypes = a})---- | Dictionary which defines the rule.-gpdverDictionary :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2Dictionary)-gpdverDictionary- = lens _gpdverDictionary- (\ s a -> s{_gpdverDictionary = a})---- | How the rule is applied, see MatchingType documentation for details.-gpdverMatchingType :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2ExclusionRuleMatchingType)-gpdverMatchingType- = lens _gpdverMatchingType- (\ s a -> s{_gpdverMatchingType = a})--instance FromJSON GooglePrivacyDlpV2ExclusionRule- where- parseJSON- = withObject "GooglePrivacyDlpV2ExclusionRule"- (\ o ->- GooglePrivacyDlpV2ExclusionRule' <$>- (o .:? "regex") <*> (o .:? "excludeInfoTypes") <*>- (o .:? "dictionary")- <*> (o .:? "matchingType"))--instance ToJSON GooglePrivacyDlpV2ExclusionRule where- toJSON GooglePrivacyDlpV2ExclusionRule'{..}- = object- (catMaybes- [("regex" .=) <$> _gpdverRegex,- ("excludeInfoTypes" .=) <$> _gpdverExcludeInfoTypes,- ("dictionary" .=) <$> _gpdverDictionary,- ("matchingType" .=) <$> _gpdverMatchingType])---- | Request message for CreateDlpJobRequest. Used to initiate long running--- jobs such as calculating risk metrics or inspecting Google Cloud--- Storage.------ /See:/ 'googlePrivacyDlpV2CreateDlpJobRequest' smart constructor.-data GooglePrivacyDlpV2CreateDlpJobRequest = GooglePrivacyDlpV2CreateDlpJobRequest'- { _gpdvcdjrRiskJob :: !(Maybe GooglePrivacyDlpV2RiskAnalysisJobConfig)- , _gpdvcdjrJobId :: !(Maybe Text)- , _gpdvcdjrInspectJob :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CreateDlpJobRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcdjrRiskJob'------ * 'gpdvcdjrJobId'------ * 'gpdvcdjrInspectJob'-googlePrivacyDlpV2CreateDlpJobRequest- :: GooglePrivacyDlpV2CreateDlpJobRequest-googlePrivacyDlpV2CreateDlpJobRequest =- GooglePrivacyDlpV2CreateDlpJobRequest'- { _gpdvcdjrRiskJob = Nothing- , _gpdvcdjrJobId = Nothing- , _gpdvcdjrInspectJob = Nothing- }--gpdvcdjrRiskJob :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe GooglePrivacyDlpV2RiskAnalysisJobConfig)-gpdvcdjrRiskJob- = lens _gpdvcdjrRiskJob- (\ s a -> s{_gpdvcdjrRiskJob = a})---- | The job id can contain uppercase and lowercase letters, numbers, and--- hyphens; that is, it must match the regular expression:--- \`[a-zA-Z\\\\d-]+\`. The maximum length is 100 characters. Can be empty--- to allow the system to generate one.-gpdvcdjrJobId :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe Text)-gpdvcdjrJobId- = lens _gpdvcdjrJobId- (\ s a -> s{_gpdvcdjrJobId = a})--gpdvcdjrInspectJob :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe GooglePrivacyDlpV2InspectJobConfig)-gpdvcdjrInspectJob- = lens _gpdvcdjrInspectJob- (\ s a -> s{_gpdvcdjrInspectJob = a})--instance FromJSON- GooglePrivacyDlpV2CreateDlpJobRequest where- parseJSON- = withObject "GooglePrivacyDlpV2CreateDlpJobRequest"- (\ o ->- GooglePrivacyDlpV2CreateDlpJobRequest' <$>- (o .:? "riskJob") <*> (o .:? "jobId") <*>- (o .:? "inspectJob"))--instance ToJSON GooglePrivacyDlpV2CreateDlpJobRequest- where- toJSON GooglePrivacyDlpV2CreateDlpJobRequest'{..}- = object- (catMaybes- [("riskJob" .=) <$> _gpdvcdjrRiskJob,- ("jobId" .=) <$> _gpdvcdjrJobId,- ("inspectJob" .=) <$> _gpdvcdjrInspectJob])---- | Message for a unique key indicating a record that contains a finding.------ /See:/ 'googlePrivacyDlpV2RecordKey' smart constructor.-data GooglePrivacyDlpV2RecordKey = GooglePrivacyDlpV2RecordKey'- { _gpdvrkIdValues :: !(Maybe [Text])- , _gpdvrkDatastoreKey :: !(Maybe GooglePrivacyDlpV2DatastoreKey)- , _gpdvrkBigQueryKey :: !(Maybe GooglePrivacyDlpV2BigQueryKey)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RecordKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrkIdValues'------ * 'gpdvrkDatastoreKey'------ * 'gpdvrkBigQueryKey'-googlePrivacyDlpV2RecordKey- :: GooglePrivacyDlpV2RecordKey-googlePrivacyDlpV2RecordKey =- GooglePrivacyDlpV2RecordKey'- { _gpdvrkIdValues = Nothing- , _gpdvrkDatastoreKey = Nothing- , _gpdvrkBigQueryKey = Nothing- }---- | Values of identifying columns in the given row. Order of values matches--- the order of field identifiers specified in the scanning request.-gpdvrkIdValues :: Lens' GooglePrivacyDlpV2RecordKey [Text]-gpdvrkIdValues- = lens _gpdvrkIdValues- (\ s a -> s{_gpdvrkIdValues = a})- . _Default- . _Coerce--gpdvrkDatastoreKey :: Lens' GooglePrivacyDlpV2RecordKey (Maybe GooglePrivacyDlpV2DatastoreKey)-gpdvrkDatastoreKey- = lens _gpdvrkDatastoreKey- (\ s a -> s{_gpdvrkDatastoreKey = a})--gpdvrkBigQueryKey :: Lens' GooglePrivacyDlpV2RecordKey (Maybe GooglePrivacyDlpV2BigQueryKey)-gpdvrkBigQueryKey- = lens _gpdvrkBigQueryKey- (\ s a -> s{_gpdvrkBigQueryKey = a})--instance FromJSON GooglePrivacyDlpV2RecordKey where- parseJSON- = withObject "GooglePrivacyDlpV2RecordKey"- (\ o ->- GooglePrivacyDlpV2RecordKey' <$>- (o .:? "idValues" .!= mempty) <*>- (o .:? "datastoreKey")- <*> (o .:? "bigQueryKey"))--instance ToJSON GooglePrivacyDlpV2RecordKey where- toJSON GooglePrivacyDlpV2RecordKey'{..}- = object- (catMaybes- [("idValues" .=) <$> _gpdvrkIdValues,- ("datastoreKey" .=) <$> _gpdvrkDatastoreKey,- ("bigQueryKey" .=) <$> _gpdvrkBigQueryKey])---- | A KMapEstimationHistogramBucket message with the following values:--- min_anonymity: 3 max_anonymity: 5 frequency: 42 means that there are 42--- records whose quasi-identifier values correspond to 3, 4 or 5 people in--- the overlying population. An important particular case is when--- min_anonymity = max_anonymity = 1: the frequency field then corresponds--- to the number of uniquely identifiable records.------ /See:/ 'googlePrivacyDlpV2KMapEstimationHistogramBucket' smart constructor.-data GooglePrivacyDlpV2KMapEstimationHistogramBucket = GooglePrivacyDlpV2KMapEstimationHistogramBucket'- { _gpdvkmehbMaxAnonymity :: !(Maybe (Textual Int64))- , _gpdvkmehbBucketValues :: !(Maybe [GooglePrivacyDlpV2KMapEstimationQuasiIdValues])- , _gpdvkmehbMinAnonymity :: !(Maybe (Textual Int64))- , _gpdvkmehbBucketSize :: !(Maybe (Textual Int64))- , _gpdvkmehbBucketValueCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationHistogramBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkmehbMaxAnonymity'------ * 'gpdvkmehbBucketValues'------ * 'gpdvkmehbMinAnonymity'------ * 'gpdvkmehbBucketSize'------ * 'gpdvkmehbBucketValueCount'-googlePrivacyDlpV2KMapEstimationHistogramBucket- :: GooglePrivacyDlpV2KMapEstimationHistogramBucket-googlePrivacyDlpV2KMapEstimationHistogramBucket =- GooglePrivacyDlpV2KMapEstimationHistogramBucket'- { _gpdvkmehbMaxAnonymity = Nothing- , _gpdvkmehbBucketValues = Nothing- , _gpdvkmehbMinAnonymity = Nothing- , _gpdvkmehbBucketSize = Nothing- , _gpdvkmehbBucketValueCount = Nothing- }---- | Always greater than or equal to min_anonymity.-gpdvkmehbMaxAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)-gpdvkmehbMaxAnonymity- = lens _gpdvkmehbMaxAnonymity- (\ s a -> s{_gpdvkmehbMaxAnonymity = a})- . mapping _Coerce---- | Sample of quasi-identifier tuple values in this bucket. The total number--- of classes returned per bucket is capped at 20.-gpdvkmehbBucketValues :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket [GooglePrivacyDlpV2KMapEstimationQuasiIdValues]-gpdvkmehbBucketValues- = lens _gpdvkmehbBucketValues- (\ s a -> s{_gpdvkmehbBucketValues = a})- . _Default- . _Coerce---- | Always positive.-gpdvkmehbMinAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)-gpdvkmehbMinAnonymity- = lens _gpdvkmehbMinAnonymity- (\ s a -> s{_gpdvkmehbMinAnonymity = a})- . mapping _Coerce---- | Number of records within these anonymity bounds.-gpdvkmehbBucketSize :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)-gpdvkmehbBucketSize- = lens _gpdvkmehbBucketSize- (\ s a -> s{_gpdvkmehbBucketSize = a})- . mapping _Coerce---- | Total number of distinct quasi-identifier tuple values in this bucket.-gpdvkmehbBucketValueCount :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)-gpdvkmehbBucketValueCount- = lens _gpdvkmehbBucketValueCount- (\ s a -> s{_gpdvkmehbBucketValueCount = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2KMapEstimationHistogramBucket where- parseJSON- = withObject- "GooglePrivacyDlpV2KMapEstimationHistogramBucket"- (\ o ->- GooglePrivacyDlpV2KMapEstimationHistogramBucket' <$>- (o .:? "maxAnonymity") <*>- (o .:? "bucketValues" .!= mempty)- <*> (o .:? "minAnonymity")- <*> (o .:? "bucketSize")- <*> (o .:? "bucketValueCount"))--instance ToJSON- GooglePrivacyDlpV2KMapEstimationHistogramBucket where- toJSON- GooglePrivacyDlpV2KMapEstimationHistogramBucket'{..}- = object- (catMaybes- [("maxAnonymity" .=) <$> _gpdvkmehbMaxAnonymity,- ("bucketValues" .=) <$> _gpdvkmehbBucketValues,- ("minAnonymity" .=) <$> _gpdvkmehbMinAnonymity,- ("bucketSize" .=) <$> _gpdvkmehbBucketSize,- ("bucketValueCount" .=) <$>- _gpdvkmehbBucketValueCount])---- | Response message for ListDeidentifyTemplates.------ /See:/ 'googlePrivacyDlpV2ListDeidentifyTemplatesResponse' smart constructor.-data GooglePrivacyDlpV2ListDeidentifyTemplatesResponse = GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'- { _gpdvldtrNextPageToken :: !(Maybe Text)- , _gpdvldtrDeidentifyTemplates :: !(Maybe [GooglePrivacyDlpV2DeidentifyTemplate])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListDeidentifyTemplatesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldtrNextPageToken'------ * 'gpdvldtrDeidentifyTemplates'-googlePrivacyDlpV2ListDeidentifyTemplatesResponse- :: GooglePrivacyDlpV2ListDeidentifyTemplatesResponse-googlePrivacyDlpV2ListDeidentifyTemplatesResponse =- GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'- { _gpdvldtrNextPageToken = Nothing- , _gpdvldtrDeidentifyTemplates = Nothing- }---- | If the next page is available then the next page token to be used in--- following ListDeidentifyTemplates request.-gpdvldtrNextPageToken :: Lens' GooglePrivacyDlpV2ListDeidentifyTemplatesResponse (Maybe Text)-gpdvldtrNextPageToken- = lens _gpdvldtrNextPageToken- (\ s a -> s{_gpdvldtrNextPageToken = a})---- | List of deidentify templates, up to page_size in--- ListDeidentifyTemplatesRequest.-gpdvldtrDeidentifyTemplates :: Lens' GooglePrivacyDlpV2ListDeidentifyTemplatesResponse [GooglePrivacyDlpV2DeidentifyTemplate]-gpdvldtrDeidentifyTemplates- = lens _gpdvldtrDeidentifyTemplates- (\ s a -> s{_gpdvldtrDeidentifyTemplates = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListDeidentifyTemplatesResponse- where- parseJSON- = withObject- "GooglePrivacyDlpV2ListDeidentifyTemplatesResponse"- (\ o ->- GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'- <$>- (o .:? "nextPageToken") <*>- (o .:? "deidentifyTemplates" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2ListDeidentifyTemplatesResponse- where- toJSON- GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _gpdvldtrNextPageToken,- ("deidentifyTemplates" .=) <$>- _gpdvldtrDeidentifyTemplates])---- | k-anonymity metric, used for analysis of reidentification risk.------ /See:/ 'googlePrivacyDlpV2KAnonymityConfig' smart constructor.-data GooglePrivacyDlpV2KAnonymityConfig = GooglePrivacyDlpV2KAnonymityConfig'- { _gpdvkacEntityId :: !(Maybe GooglePrivacyDlpV2EntityId)- , _gpdvkacQuasiIds :: !(Maybe [GooglePrivacyDlpV2FieldId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KAnonymityConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkacEntityId'------ * 'gpdvkacQuasiIds'-googlePrivacyDlpV2KAnonymityConfig- :: GooglePrivacyDlpV2KAnonymityConfig-googlePrivacyDlpV2KAnonymityConfig =- GooglePrivacyDlpV2KAnonymityConfig'- { _gpdvkacEntityId = Nothing- , _gpdvkacQuasiIds = Nothing- }---- | Optional message indicating that multiple rows might be associated to a--- single individual. If the same entity_id is associated to multiple--- quasi-identifier tuples over distinct rows, we consider the entire--- collection of tuples as the composite quasi-identifier. This collection--- is a multiset: the order in which the different tuples appear in the--- dataset is ignored, but their frequency is taken into account. Important--- note: a maximum of 1000 rows can be associated to a single entity ID. If--- more rows are associated with the same entity ID, some might be ignored.-gpdvkacEntityId :: Lens' GooglePrivacyDlpV2KAnonymityConfig (Maybe GooglePrivacyDlpV2EntityId)-gpdvkacEntityId- = lens _gpdvkacEntityId- (\ s a -> s{_gpdvkacEntityId = a})---- | Set of fields to compute k-anonymity over. When multiple fields are--- specified, they are considered a single composite key. Structs and--- repeated data types are not supported; however, nested fields are--- supported so long as they are not structs themselves or nested within a--- repeated field.-gpdvkacQuasiIds :: Lens' GooglePrivacyDlpV2KAnonymityConfig [GooglePrivacyDlpV2FieldId]-gpdvkacQuasiIds- = lens _gpdvkacQuasiIds- (\ s a -> s{_gpdvkacQuasiIds = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2KAnonymityConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2KAnonymityConfig"- (\ o ->- GooglePrivacyDlpV2KAnonymityConfig' <$>- (o .:? "entityId") <*> (o .:? "quasiIds" .!= mempty))--instance ToJSON GooglePrivacyDlpV2KAnonymityConfig- where- toJSON GooglePrivacyDlpV2KAnonymityConfig'{..}- = object- (catMaybes- [("entityId" .=) <$> _gpdvkacEntityId,- ("quasiIds" .=) <$> _gpdvkacQuasiIds])---- | Results of de-identifying a ContentItem.------ /See:/ 'googlePrivacyDlpV2DeidentifyContentResponse' smart constructor.-data GooglePrivacyDlpV2DeidentifyContentResponse = GooglePrivacyDlpV2DeidentifyContentResponse'- { _gOverview :: !(Maybe GooglePrivacyDlpV2TransformationOverview)- , _gItem :: !(Maybe GooglePrivacyDlpV2ContentItem)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeidentifyContentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gOverview'------ * 'gItem'-googlePrivacyDlpV2DeidentifyContentResponse- :: GooglePrivacyDlpV2DeidentifyContentResponse-googlePrivacyDlpV2DeidentifyContentResponse =- GooglePrivacyDlpV2DeidentifyContentResponse'- { _gOverview = Nothing- , _gItem = Nothing- }---- | An overview of the changes that were made on the \`item\`.-gOverview :: Lens' GooglePrivacyDlpV2DeidentifyContentResponse (Maybe GooglePrivacyDlpV2TransformationOverview)-gOverview- = lens _gOverview (\ s a -> s{_gOverview = a})---- | The de-identified item.-gItem :: Lens' GooglePrivacyDlpV2DeidentifyContentResponse (Maybe GooglePrivacyDlpV2ContentItem)-gItem = lens _gItem (\ s a -> s{_gItem = a})--instance FromJSON- GooglePrivacyDlpV2DeidentifyContentResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2DeidentifyContentResponse"- (\ o ->- GooglePrivacyDlpV2DeidentifyContentResponse' <$>- (o .:? "overview") <*> (o .:? "item"))--instance ToJSON- GooglePrivacyDlpV2DeidentifyContentResponse where- toJSON- GooglePrivacyDlpV2DeidentifyContentResponse'{..}- = object- (catMaybes- [("overview" .=) <$> _gOverview,- ("item" .=) <$> _gItem])---- | Contains a configuration to make dlp api calls on a repeating basis. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-job-triggers to learn--- more.------ /See:/ 'googlePrivacyDlpV2JobTrigger' smart constructor.-data GooglePrivacyDlpV2JobTrigger = GooglePrivacyDlpV2JobTrigger'- { _gpdvjtStatus :: !(Maybe GooglePrivacyDlpV2JobTriggerStatus)- , _gpdvjtTriggers :: !(Maybe [GooglePrivacyDlpV2Trigger])- , _gpdvjtLastRunTime :: !(Maybe DateTime')- , _gpdvjtInspectJob :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)- , _gpdvjtUpdateTime :: !(Maybe DateTime')- , _gpdvjtName :: !(Maybe Text)- , _gpdvjtDisplayName :: !(Maybe Text)- , _gpdvjtErrors :: !(Maybe [GooglePrivacyDlpV2Error])- , _gpdvjtDescription :: !(Maybe Text)- , _gpdvjtCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2JobTrigger' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvjtStatus'------ * 'gpdvjtTriggers'------ * 'gpdvjtLastRunTime'------ * 'gpdvjtInspectJob'------ * 'gpdvjtUpdateTime'------ * 'gpdvjtName'------ * 'gpdvjtDisplayName'------ * 'gpdvjtErrors'------ * 'gpdvjtDescription'------ * 'gpdvjtCreateTime'-googlePrivacyDlpV2JobTrigger- :: GooglePrivacyDlpV2JobTrigger-googlePrivacyDlpV2JobTrigger =- GooglePrivacyDlpV2JobTrigger'- { _gpdvjtStatus = Nothing- , _gpdvjtTriggers = Nothing- , _gpdvjtLastRunTime = Nothing- , _gpdvjtInspectJob = Nothing- , _gpdvjtUpdateTime = Nothing- , _gpdvjtName = Nothing- , _gpdvjtDisplayName = Nothing- , _gpdvjtErrors = Nothing- , _gpdvjtDescription = Nothing- , _gpdvjtCreateTime = Nothing- }---- | A status for this trigger. [required]-gpdvjtStatus :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe GooglePrivacyDlpV2JobTriggerStatus)-gpdvjtStatus- = lens _gpdvjtStatus (\ s a -> s{_gpdvjtStatus = a})---- | A list of triggers which will be OR\'ed together. Only one in the list--- needs to trigger for a job to be started. The list may contain only a--- single Schedule trigger and must have at least one object.-gpdvjtTriggers :: Lens' GooglePrivacyDlpV2JobTrigger [GooglePrivacyDlpV2Trigger]-gpdvjtTriggers- = lens _gpdvjtTriggers- (\ s a -> s{_gpdvjtTriggers = a})- . _Default- . _Coerce---- | The timestamp of the last time this trigger executed, output only field.-gpdvjtLastRunTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)-gpdvjtLastRunTime- = lens _gpdvjtLastRunTime- (\ s a -> s{_gpdvjtLastRunTime = a})- . mapping _DateTime--gpdvjtInspectJob :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe GooglePrivacyDlpV2InspectJobConfig)-gpdvjtInspectJob- = lens _gpdvjtInspectJob- (\ s a -> s{_gpdvjtInspectJob = a})---- | The last update timestamp of a triggeredJob, output only field.-gpdvjtUpdateTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)-gpdvjtUpdateTime- = lens _gpdvjtUpdateTime- (\ s a -> s{_gpdvjtUpdateTime = a})- . mapping _DateTime---- | Unique resource name for the triggeredJob, assigned by the service when--- the triggeredJob is created, for example--- \`projects\/dlp-test-project\/triggeredJobs\/53234423\`.-gpdvjtName :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)-gpdvjtName- = lens _gpdvjtName (\ s a -> s{_gpdvjtName = a})---- | Display name (max 100 chars)-gpdvjtDisplayName :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)-gpdvjtDisplayName- = lens _gpdvjtDisplayName- (\ s a -> s{_gpdvjtDisplayName = a})---- | A stream of errors encountered when the trigger was activated. Repeated--- errors may result in the JobTrigger automatically being paused. Will--- return the last 100 errors. Whenever the JobTrigger is modified this--- list will be cleared. Output only field.-gpdvjtErrors :: Lens' GooglePrivacyDlpV2JobTrigger [GooglePrivacyDlpV2Error]-gpdvjtErrors- = lens _gpdvjtErrors (\ s a -> s{_gpdvjtErrors = a})- . _Default- . _Coerce---- | User provided description (max 256 chars)-gpdvjtDescription :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)-gpdvjtDescription- = lens _gpdvjtDescription- (\ s a -> s{_gpdvjtDescription = a})---- | The creation timestamp of a triggeredJob, output only field.-gpdvjtCreateTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)-gpdvjtCreateTime- = lens _gpdvjtCreateTime- (\ s a -> s{_gpdvjtCreateTime = a})- . mapping _DateTime--instance FromJSON GooglePrivacyDlpV2JobTrigger where- parseJSON- = withObject "GooglePrivacyDlpV2JobTrigger"- (\ o ->- GooglePrivacyDlpV2JobTrigger' <$>- (o .:? "status") <*> (o .:? "triggers" .!= mempty)- <*> (o .:? "lastRunTime")- <*> (o .:? "inspectJob")- <*> (o .:? "updateTime")- <*> (o .:? "name")- <*> (o .:? "displayName")- <*> (o .:? "errors" .!= mempty)- <*> (o .:? "description")- <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2JobTrigger where- toJSON GooglePrivacyDlpV2JobTrigger'{..}- = object- (catMaybes- [("status" .=) <$> _gpdvjtStatus,- ("triggers" .=) <$> _gpdvjtTriggers,- ("lastRunTime" .=) <$> _gpdvjtLastRunTime,- ("inspectJob" .=) <$> _gpdvjtInspectJob,- ("updateTime" .=) <$> _gpdvjtUpdateTime,- ("name" .=) <$> _gpdvjtName,- ("displayName" .=) <$> _gpdvjtDisplayName,- ("errors" .=) <$> _gpdvjtErrors,- ("description" .=) <$> _gpdvjtDescription,- ("createTime" .=) <$> _gpdvjtCreateTime])---- | Response message for ListStoredInfoTypes.------ /See:/ 'googlePrivacyDlpV2ListStoredInfoTypesResponse' smart constructor.-data GooglePrivacyDlpV2ListStoredInfoTypesResponse = GooglePrivacyDlpV2ListStoredInfoTypesResponse'- { _gpdvlsitrNextPageToken :: !(Maybe Text)- , _gpdvlsitrStoredInfoTypes :: !(Maybe [GooglePrivacyDlpV2StoredInfoType])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListStoredInfoTypesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlsitrNextPageToken'------ * 'gpdvlsitrStoredInfoTypes'-googlePrivacyDlpV2ListStoredInfoTypesResponse- :: GooglePrivacyDlpV2ListStoredInfoTypesResponse-googlePrivacyDlpV2ListStoredInfoTypesResponse =- GooglePrivacyDlpV2ListStoredInfoTypesResponse'- { _gpdvlsitrNextPageToken = Nothing- , _gpdvlsitrStoredInfoTypes = Nothing- }---- | If the next page is available then the next page token to be used in--- following ListStoredInfoTypes request.-gpdvlsitrNextPageToken :: Lens' GooglePrivacyDlpV2ListStoredInfoTypesResponse (Maybe Text)-gpdvlsitrNextPageToken- = lens _gpdvlsitrNextPageToken- (\ s a -> s{_gpdvlsitrNextPageToken = a})---- | List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.-gpdvlsitrStoredInfoTypes :: Lens' GooglePrivacyDlpV2ListStoredInfoTypesResponse [GooglePrivacyDlpV2StoredInfoType]-gpdvlsitrStoredInfoTypes- = lens _gpdvlsitrStoredInfoTypes- (\ s a -> s{_gpdvlsitrStoredInfoTypes = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListStoredInfoTypesResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2ListStoredInfoTypesResponse"- (\ o ->- GooglePrivacyDlpV2ListStoredInfoTypesResponse' <$>- (o .:? "nextPageToken") <*>- (o .:? "storedInfoTypes" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2ListStoredInfoTypesResponse where- toJSON- GooglePrivacyDlpV2ListStoredInfoTypesResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _gpdvlsitrNextPageToken,- ("storedInfoTypes" .=) <$>- _gpdvlsitrStoredInfoTypes])---- | The set of columns\' values that share the same ldiversity value.------ /See:/ 'googlePrivacyDlpV2LDiversityEquivalenceClass' smart constructor.-data GooglePrivacyDlpV2LDiversityEquivalenceClass = GooglePrivacyDlpV2LDiversityEquivalenceClass'- { _gpdvldecTopSensitiveValues :: !(Maybe [GooglePrivacyDlpV2ValueFrequency])- , _gpdvldecEquivalenceClassSize :: !(Maybe (Textual Int64))- , _gpdvldecNumDistinctSensitiveValues :: !(Maybe (Textual Int64))- , _gpdvldecQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LDiversityEquivalenceClass' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldecTopSensitiveValues'------ * 'gpdvldecEquivalenceClassSize'------ * 'gpdvldecNumDistinctSensitiveValues'------ * 'gpdvldecQuasiIdsValues'-googlePrivacyDlpV2LDiversityEquivalenceClass- :: GooglePrivacyDlpV2LDiversityEquivalenceClass-googlePrivacyDlpV2LDiversityEquivalenceClass =- GooglePrivacyDlpV2LDiversityEquivalenceClass'- { _gpdvldecTopSensitiveValues = Nothing- , _gpdvldecEquivalenceClassSize = Nothing- , _gpdvldecNumDistinctSensitiveValues = Nothing- , _gpdvldecQuasiIdsValues = Nothing- }---- | Estimated frequencies of top sensitive values.-gpdvldecTopSensitiveValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass [GooglePrivacyDlpV2ValueFrequency]-gpdvldecTopSensitiveValues- = lens _gpdvldecTopSensitiveValues- (\ s a -> s{_gpdvldecTopSensitiveValues = a})- . _Default- . _Coerce---- | Size of the k-anonymity equivalence class.-gpdvldecEquivalenceClassSize :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass (Maybe Int64)-gpdvldecEquivalenceClassSize- = lens _gpdvldecEquivalenceClassSize- (\ s a -> s{_gpdvldecEquivalenceClassSize = a})- . mapping _Coerce---- | Number of distinct sensitive values in this equivalence class.-gpdvldecNumDistinctSensitiveValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass (Maybe Int64)-gpdvldecNumDistinctSensitiveValues- = lens _gpdvldecNumDistinctSensitiveValues- (\ s a -> s{_gpdvldecNumDistinctSensitiveValues = a})- . mapping _Coerce---- | Quasi-identifier values defining the k-anonymity equivalence class. The--- order is always the same as the original request.-gpdvldecQuasiIdsValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass [GooglePrivacyDlpV2Value]-gpdvldecQuasiIdsValues- = lens _gpdvldecQuasiIdsValues- (\ s a -> s{_gpdvldecQuasiIdsValues = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2LDiversityEquivalenceClass where- parseJSON- = withObject- "GooglePrivacyDlpV2LDiversityEquivalenceClass"- (\ o ->- GooglePrivacyDlpV2LDiversityEquivalenceClass' <$>- (o .:? "topSensitiveValues" .!= mempty) <*>- (o .:? "equivalenceClassSize")- <*> (o .:? "numDistinctSensitiveValues")- <*> (o .:? "quasiIdsValues" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2LDiversityEquivalenceClass where- toJSON- GooglePrivacyDlpV2LDiversityEquivalenceClass'{..}- = object- (catMaybes- [("topSensitiveValues" .=) <$>- _gpdvldecTopSensitiveValues,- ("equivalenceClassSize" .=) <$>- _gpdvldecEquivalenceClassSize,- ("numDistinctSensitiveValues" .=) <$>- _gpdvldecNumDistinctSensitiveValues,- ("quasiIdsValues" .=) <$> _gpdvldecQuasiIdsValues])---- | The configuration that controls how the data will change.------ /See:/ 'googlePrivacyDlpV2DeidentifyConfig' smart constructor.-data GooglePrivacyDlpV2DeidentifyConfig = GooglePrivacyDlpV2DeidentifyConfig'- { _gpdvdcInfoTypeTransformations :: !(Maybe GooglePrivacyDlpV2InfoTypeTransformations)- , _gpdvdcRecordTransformations :: !(Maybe GooglePrivacyDlpV2RecordTransformations)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeidentifyConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdcInfoTypeTransformations'------ * 'gpdvdcRecordTransformations'-googlePrivacyDlpV2DeidentifyConfig- :: GooglePrivacyDlpV2DeidentifyConfig-googlePrivacyDlpV2DeidentifyConfig =- GooglePrivacyDlpV2DeidentifyConfig'- { _gpdvdcInfoTypeTransformations = Nothing- , _gpdvdcRecordTransformations = Nothing- }---- | Treat the dataset as free-form text and apply the same free text--- transformation everywhere.-gpdvdcInfoTypeTransformations :: Lens' GooglePrivacyDlpV2DeidentifyConfig (Maybe GooglePrivacyDlpV2InfoTypeTransformations)-gpdvdcInfoTypeTransformations- = lens _gpdvdcInfoTypeTransformations- (\ s a -> s{_gpdvdcInfoTypeTransformations = a})---- | Treat the dataset as structured. Transformations can be applied to--- specific locations within structured datasets, such as transforming a--- column within a table.-gpdvdcRecordTransformations :: Lens' GooglePrivacyDlpV2DeidentifyConfig (Maybe GooglePrivacyDlpV2RecordTransformations)-gpdvdcRecordTransformations- = lens _gpdvdcRecordTransformations- (\ s a -> s{_gpdvdcRecordTransformations = a})--instance FromJSON GooglePrivacyDlpV2DeidentifyConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2DeidentifyConfig"- (\ o ->- GooglePrivacyDlpV2DeidentifyConfig' <$>- (o .:? "infoTypeTransformations") <*>- (o .:? "recordTransformations"))--instance ToJSON GooglePrivacyDlpV2DeidentifyConfig- where- toJSON GooglePrivacyDlpV2DeidentifyConfig'{..}- = object- (catMaybes- [("infoTypeTransformations" .=) <$>- _gpdvdcInfoTypeTransformations,- ("recordTransformations" .=) <$>- _gpdvdcRecordTransformations])---- | Partially mask a string by replacing a given number of characters with a--- fixed character. Masking can start from the beginning or end of the--- string. This can be used on data of any type (numbers, longs, and so on)--- and when de-identifying structured data we\'ll attempt to preserve the--- original data\'s type. (This allows you to take a long like 123 and--- modify it to a string like **3.------ /See:/ 'googlePrivacyDlpV2CharacterMaskConfig' smart constructor.-data GooglePrivacyDlpV2CharacterMaskConfig = GooglePrivacyDlpV2CharacterMaskConfig'- { _gpdvcmcNumberToMask :: !(Maybe (Textual Int32))- , _gpdvcmcMaskingCharacter :: !(Maybe Text)- , _gpdvcmcReverseOrder :: !(Maybe Bool)- , _gpdvcmcCharactersToIgnore :: !(Maybe [GooglePrivacyDlpV2CharsToIgnore])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CharacterMaskConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcmcNumberToMask'------ * 'gpdvcmcMaskingCharacter'------ * 'gpdvcmcReverseOrder'------ * 'gpdvcmcCharactersToIgnore'-googlePrivacyDlpV2CharacterMaskConfig- :: GooglePrivacyDlpV2CharacterMaskConfig-googlePrivacyDlpV2CharacterMaskConfig =- GooglePrivacyDlpV2CharacterMaskConfig'- { _gpdvcmcNumberToMask = Nothing- , _gpdvcmcMaskingCharacter = Nothing- , _gpdvcmcReverseOrder = Nothing- , _gpdvcmcCharactersToIgnore = Nothing- }---- | Number of characters to mask. If not set, all matching chars will be--- masked. Skipped characters do not count towards this tally.-gpdvcmcNumberToMask :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Int32)-gpdvcmcNumberToMask- = lens _gpdvcmcNumberToMask- (\ s a -> s{_gpdvcmcNumberToMask = a})- . mapping _Coerce---- | Character to mask the sensitive values—for example, \"*\" for an--- alphabetic string such as name, or \"0\" for a numeric string such as--- ZIP code or credit card number. String must have length 1. If not--- supplied, we will default to \"*\" for strings, 0 for digits.-gpdvcmcMaskingCharacter :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Text)-gpdvcmcMaskingCharacter- = lens _gpdvcmcMaskingCharacter- (\ s a -> s{_gpdvcmcMaskingCharacter = a})---- | Mask characters in reverse order. For example, if \`masking_character\`--- is \'0\', number_to_mask is 14, and \`reverse_order\` is false, then--- 1234-5678-9012-3456 -> 00000000000000-3456 If \`masking_character\` is--- \'*\', \`number_to_mask\` is 3, and \`reverse_order\` is true, then--- 12345 -> 12***-gpdvcmcReverseOrder :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Bool)-gpdvcmcReverseOrder- = lens _gpdvcmcReverseOrder- (\ s a -> s{_gpdvcmcReverseOrder = a})---- | When masking a string, items in this list will be skipped when--- replacing. For example, if your string is 555-555-5555 and you ask us to--- skip \`-\` and mask 5 chars with * we would produce ***-*55-5555.-gpdvcmcCharactersToIgnore :: Lens' GooglePrivacyDlpV2CharacterMaskConfig [GooglePrivacyDlpV2CharsToIgnore]-gpdvcmcCharactersToIgnore- = lens _gpdvcmcCharactersToIgnore- (\ s a -> s{_gpdvcmcCharactersToIgnore = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2CharacterMaskConfig where- parseJSON- = withObject "GooglePrivacyDlpV2CharacterMaskConfig"- (\ o ->- GooglePrivacyDlpV2CharacterMaskConfig' <$>- (o .:? "numberToMask") <*> (o .:? "maskingCharacter")- <*> (o .:? "reverseOrder")- <*> (o .:? "charactersToIgnore" .!= mempty))--instance ToJSON GooglePrivacyDlpV2CharacterMaskConfig- where- toJSON GooglePrivacyDlpV2CharacterMaskConfig'{..}- = object- (catMaybes- [("numberToMask" .=) <$> _gpdvcmcNumberToMask,- ("maskingCharacter" .=) <$> _gpdvcmcMaskingCharacter,- ("reverseOrder" .=) <$> _gpdvcmcReverseOrder,- ("charactersToIgnore" .=) <$>- _gpdvcmcCharactersToIgnore])---- | Options defining a data set within Google Cloud Datastore.------ /See:/ 'googlePrivacyDlpV2DatastoreOptions' smart constructor.-data GooglePrivacyDlpV2DatastoreOptions = GooglePrivacyDlpV2DatastoreOptions'- { _gpdvdoPartitionId :: !(Maybe GooglePrivacyDlpV2PartitionId)- , _gpdvdoKind :: !(Maybe GooglePrivacyDlpV2KindExpression)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DatastoreOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdoPartitionId'------ * 'gpdvdoKind'-googlePrivacyDlpV2DatastoreOptions- :: GooglePrivacyDlpV2DatastoreOptions-googlePrivacyDlpV2DatastoreOptions =- GooglePrivacyDlpV2DatastoreOptions'- { _gpdvdoPartitionId = Nothing- , _gpdvdoKind = Nothing- }---- | A partition ID identifies a grouping of entities. The grouping is always--- by project and namespace, however the namespace ID may be empty.-gpdvdoPartitionId :: Lens' GooglePrivacyDlpV2DatastoreOptions (Maybe GooglePrivacyDlpV2PartitionId)-gpdvdoPartitionId- = lens _gpdvdoPartitionId- (\ s a -> s{_gpdvdoPartitionId = a})---- | The kind to process.-gpdvdoKind :: Lens' GooglePrivacyDlpV2DatastoreOptions (Maybe GooglePrivacyDlpV2KindExpression)-gpdvdoKind- = lens _gpdvdoKind (\ s a -> s{_gpdvdoKind = a})--instance FromJSON GooglePrivacyDlpV2DatastoreOptions- where- parseJSON- = withObject "GooglePrivacyDlpV2DatastoreOptions"- (\ o ->- GooglePrivacyDlpV2DatastoreOptions' <$>- (o .:? "partitionId") <*> (o .:? "kind"))--instance ToJSON GooglePrivacyDlpV2DatastoreOptions- where- toJSON GooglePrivacyDlpV2DatastoreOptions'{..}- = object- (catMaybes- [("partitionId" .=) <$> _gpdvdoPartitionId,- ("kind" .=) <$> _gpdvdoKind])---- | A value of a field, including its frequency.------ /See:/ 'googlePrivacyDlpV2ValueFrequency' smart constructor.-data GooglePrivacyDlpV2ValueFrequency = GooglePrivacyDlpV2ValueFrequency'- { _gpdvvfValue :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvvfCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ValueFrequency' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvvfValue'------ * 'gpdvvfCount'-googlePrivacyDlpV2ValueFrequency- :: GooglePrivacyDlpV2ValueFrequency-googlePrivacyDlpV2ValueFrequency =- GooglePrivacyDlpV2ValueFrequency'- { _gpdvvfValue = Nothing- , _gpdvvfCount = Nothing- }---- | A value contained in the field in question.-gpdvvfValue :: Lens' GooglePrivacyDlpV2ValueFrequency (Maybe GooglePrivacyDlpV2Value)-gpdvvfValue- = lens _gpdvvfValue (\ s a -> s{_gpdvvfValue = a})---- | How many times the value is contained in the field.-gpdvvfCount :: Lens' GooglePrivacyDlpV2ValueFrequency (Maybe Int64)-gpdvvfCount- = lens _gpdvvfCount (\ s a -> s{_gpdvvfCount = a}) .- mapping _Coerce--instance FromJSON GooglePrivacyDlpV2ValueFrequency- where- parseJSON- = withObject "GooglePrivacyDlpV2ValueFrequency"- (\ o ->- GooglePrivacyDlpV2ValueFrequency' <$>- (o .:? "value") <*> (o .:? "count"))--instance ToJSON GooglePrivacyDlpV2ValueFrequency- where- toJSON GooglePrivacyDlpV2ValueFrequency'{..}- = object- (catMaybes- [("value" .=) <$> _gpdvvfValue,- ("count" .=) <$> _gpdvvfCount])---- | Bounding box encompassing detected text within an image.------ /See:/ 'googlePrivacyDlpV2BoundingBox' smart constructor.-data GooglePrivacyDlpV2BoundingBox = GooglePrivacyDlpV2BoundingBox'- { _gpdvbbHeight :: !(Maybe (Textual Int32))- , _gpdvbbLeft :: !(Maybe (Textual Int32))- , _gpdvbbWidth :: !(Maybe (Textual Int32))- , _gpdvbbTop :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BoundingBox' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbbHeight'------ * 'gpdvbbLeft'------ * 'gpdvbbWidth'------ * 'gpdvbbTop'-googlePrivacyDlpV2BoundingBox- :: GooglePrivacyDlpV2BoundingBox-googlePrivacyDlpV2BoundingBox =- GooglePrivacyDlpV2BoundingBox'- { _gpdvbbHeight = Nothing- , _gpdvbbLeft = Nothing- , _gpdvbbWidth = Nothing- , _gpdvbbTop = Nothing- }---- | Height of the bounding box in pixels.-gpdvbbHeight :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)-gpdvbbHeight- = lens _gpdvbbHeight (\ s a -> s{_gpdvbbHeight = a})- . mapping _Coerce---- | Left coordinate of the bounding box. (0,0) is upper left.-gpdvbbLeft :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)-gpdvbbLeft- = lens _gpdvbbLeft (\ s a -> s{_gpdvbbLeft = a}) .- mapping _Coerce---- | Width of the bounding box in pixels.-gpdvbbWidth :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)-gpdvbbWidth- = lens _gpdvbbWidth (\ s a -> s{_gpdvbbWidth = a}) .- mapping _Coerce---- | Top coordinate of the bounding box. (0,0) is upper left.-gpdvbbTop :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)-gpdvbbTop- = lens _gpdvbbTop (\ s a -> s{_gpdvbbTop = a}) .- mapping _Coerce--instance FromJSON GooglePrivacyDlpV2BoundingBox where- parseJSON- = withObject "GooglePrivacyDlpV2BoundingBox"- (\ o ->- GooglePrivacyDlpV2BoundingBox' <$>- (o .:? "height") <*> (o .:? "left") <*>- (o .:? "width")- <*> (o .:? "top"))--instance ToJSON GooglePrivacyDlpV2BoundingBox where- toJSON GooglePrivacyDlpV2BoundingBox'{..}- = object- (catMaybes- [("height" .=) <$> _gpdvbbHeight,- ("left" .=) <$> _gpdvbbLeft,- ("width" .=) <$> _gpdvbbWidth,- ("top" .=) <$> _gpdvbbTop])---- | Datastore partition ID. A partition ID identifies a grouping of--- entities. The grouping is always by project and namespace, however the--- namespace ID may be empty. A partition ID contains several dimensions:--- project ID and namespace ID.------ /See:/ 'googlePrivacyDlpV2PartitionId' smart constructor.-data GooglePrivacyDlpV2PartitionId = GooglePrivacyDlpV2PartitionId'- { _gpdvpiNamespaceId :: !(Maybe Text)- , _gpdvpiProjectId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PartitionId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvpiNamespaceId'------ * 'gpdvpiProjectId'-googlePrivacyDlpV2PartitionId- :: GooglePrivacyDlpV2PartitionId-googlePrivacyDlpV2PartitionId =- GooglePrivacyDlpV2PartitionId'- { _gpdvpiNamespaceId = Nothing- , _gpdvpiProjectId = Nothing- }---- | If not empty, the ID of the namespace to which the entities belong.-gpdvpiNamespaceId :: Lens' GooglePrivacyDlpV2PartitionId (Maybe Text)-gpdvpiNamespaceId- = lens _gpdvpiNamespaceId- (\ s a -> s{_gpdvpiNamespaceId = a})---- | The ID of the project to which the entities belong.-gpdvpiProjectId :: Lens' GooglePrivacyDlpV2PartitionId (Maybe Text)-gpdvpiProjectId- = lens _gpdvpiProjectId- (\ s a -> s{_gpdvpiProjectId = a})--instance FromJSON GooglePrivacyDlpV2PartitionId where- parseJSON- = withObject "GooglePrivacyDlpV2PartitionId"- (\ o ->- GooglePrivacyDlpV2PartitionId' <$>- (o .:? "namespaceId") <*> (o .:? "projectId"))--instance ToJSON GooglePrivacyDlpV2PartitionId where- toJSON GooglePrivacyDlpV2PartitionId'{..}- = object- (catMaybes- [("namespaceId" .=) <$> _gpdvpiNamespaceId,- ("projectId" .=) <$> _gpdvpiProjectId])---- | If set, the detailed findings will be persisted to the specified--- OutputStorageConfig. Only a single instance of this action can be--- specified. Compatible with: Inspect, Risk------ /See:/ 'googlePrivacyDlpV2SaveFindings' smart constructor.-newtype GooglePrivacyDlpV2SaveFindings = GooglePrivacyDlpV2SaveFindings'- { _gpdvsfOutputConfig :: Maybe GooglePrivacyDlpV2OutputStorageConfig- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2SaveFindings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsfOutputConfig'-googlePrivacyDlpV2SaveFindings- :: GooglePrivacyDlpV2SaveFindings-googlePrivacyDlpV2SaveFindings =- GooglePrivacyDlpV2SaveFindings'- { _gpdvsfOutputConfig = Nothing- }--gpdvsfOutputConfig :: Lens' GooglePrivacyDlpV2SaveFindings (Maybe GooglePrivacyDlpV2OutputStorageConfig)-gpdvsfOutputConfig- = lens _gpdvsfOutputConfig- (\ s a -> s{_gpdvsfOutputConfig = a})--instance FromJSON GooglePrivacyDlpV2SaveFindings- where- parseJSON- = withObject "GooglePrivacyDlpV2SaveFindings"- (\ o ->- GooglePrivacyDlpV2SaveFindings' <$>- (o .:? "outputConfig"))--instance ToJSON GooglePrivacyDlpV2SaveFindings where- toJSON GooglePrivacyDlpV2SaveFindings'{..}- = object- (catMaybes- [("outputConfig" .=) <$> _gpdvsfOutputConfig])---- | Version of a StoredInfoType, including the configuration used to build--- it, create timestamp, and current state.------ /See:/ 'googlePrivacyDlpV2StoredInfoTypeVersion' smart constructor.-data GooglePrivacyDlpV2StoredInfoTypeVersion = GooglePrivacyDlpV2StoredInfoTypeVersion'- { _gpdvsitvState :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeVersionState)- , _gpdvsitvConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)- , _gpdvsitvErrors :: !(Maybe [GooglePrivacyDlpV2Error])- , _gpdvsitvCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StoredInfoTypeVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsitvState'------ * 'gpdvsitvConfig'------ * 'gpdvsitvErrors'------ * 'gpdvsitvCreateTime'-googlePrivacyDlpV2StoredInfoTypeVersion- :: GooglePrivacyDlpV2StoredInfoTypeVersion-googlePrivacyDlpV2StoredInfoTypeVersion =- GooglePrivacyDlpV2StoredInfoTypeVersion'- { _gpdvsitvState = Nothing- , _gpdvsitvConfig = Nothing- , _gpdvsitvErrors = Nothing- , _gpdvsitvCreateTime = Nothing- }---- | Stored info type version state. Read-only, updated by the system during--- dictionary creation.-gpdvsitvState :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe GooglePrivacyDlpV2StoredInfoTypeVersionState)-gpdvsitvState- = lens _gpdvsitvState- (\ s a -> s{_gpdvsitvState = a})---- | StoredInfoType configuration.-gpdvsitvConfig :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)-gpdvsitvConfig- = lens _gpdvsitvConfig- (\ s a -> s{_gpdvsitvConfig = a})---- | Errors that occurred when creating this storedInfoType version, or--- anomalies detected in the storedInfoType data that render it unusable.--- Only the five most recent errors will be displayed, with the most recent--- error appearing first.------ For example, some of the data for stored custom dictionaries is put in--- the user\'s Google Cloud Storage bucket, and if this data is modified or--- deleted by the user or another system, the dictionary becomes invalid.------ If any errors occur, fix the problem indicated by the error message and--- use the UpdateStoredInfoType API method to create another version of the--- storedInfoType to continue using it, reusing the same \`config\` if it--- was not the source of the error.-gpdvsitvErrors :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion [GooglePrivacyDlpV2Error]-gpdvsitvErrors- = lens _gpdvsitvErrors- (\ s a -> s{_gpdvsitvErrors = a})- . _Default- . _Coerce---- | Create timestamp of the version. Read-only, determined by the system--- when the version is created.-gpdvsitvCreateTime :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe UTCTime)-gpdvsitvCreateTime- = lens _gpdvsitvCreateTime- (\ s a -> s{_gpdvsitvCreateTime = a})- . mapping _DateTime--instance FromJSON- GooglePrivacyDlpV2StoredInfoTypeVersion where- parseJSON- = withObject- "GooglePrivacyDlpV2StoredInfoTypeVersion"- (\ o ->- GooglePrivacyDlpV2StoredInfoTypeVersion' <$>- (o .:? "state") <*> (o .:? "config") <*>- (o .:? "errors" .!= mempty)- <*> (o .:? "createTime"))--instance ToJSON- GooglePrivacyDlpV2StoredInfoTypeVersion where- toJSON GooglePrivacyDlpV2StoredInfoTypeVersion'{..}- = object- (catMaybes- [("state" .=) <$> _gpdvsitvState,- ("config" .=) <$> _gpdvsitvConfig,- ("errors" .=) <$> _gpdvsitvErrors,- ("createTime" .=) <$> _gpdvsitvCreateTime])---- | Response to the ListInfoTypes request.------ /See:/ 'googlePrivacyDlpV2ListInfoTypesResponse' smart constructor.-newtype GooglePrivacyDlpV2ListInfoTypesResponse = GooglePrivacyDlpV2ListInfoTypesResponse'- { _gpdvlitrInfoTypes :: Maybe [GooglePrivacyDlpV2InfoTypeDescription]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListInfoTypesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlitrInfoTypes'-googlePrivacyDlpV2ListInfoTypesResponse- :: GooglePrivacyDlpV2ListInfoTypesResponse-googlePrivacyDlpV2ListInfoTypesResponse =- GooglePrivacyDlpV2ListInfoTypesResponse'- { _gpdvlitrInfoTypes = Nothing- }---- | Set of sensitive infoTypes.-gpdvlitrInfoTypes :: Lens' GooglePrivacyDlpV2ListInfoTypesResponse [GooglePrivacyDlpV2InfoTypeDescription]-gpdvlitrInfoTypes- = lens _gpdvlitrInfoTypes- (\ s a -> s{_gpdvlitrInfoTypes = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListInfoTypesResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2ListInfoTypesResponse"- (\ o ->- GooglePrivacyDlpV2ListInfoTypesResponse' <$>- (o .:? "infoTypes" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2ListInfoTypesResponse where- toJSON GooglePrivacyDlpV2ListInfoTypesResponse'{..}- = object- (catMaybes [("infoTypes" .=) <$> _gpdvlitrInfoTypes])---- | Findings container location data.------ /See:/ 'googlePrivacyDlpV2ContentLocation' smart constructor.-data GooglePrivacyDlpV2ContentLocation = GooglePrivacyDlpV2ContentLocation'- { _gpdvclImageLocation :: !(Maybe GooglePrivacyDlpV2ImageLocation)- , _gpdvclContainerName :: !(Maybe Text)- , _gpdvclContainerTimestamp :: !(Maybe DateTime')- , _gpdvclDocumentLocation :: !(Maybe GooglePrivacyDlpV2DocumentLocation)- , _gpdvclContainerVersion :: !(Maybe Text)- , _gpdvclRecordLocation :: !(Maybe GooglePrivacyDlpV2RecordLocation)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ContentLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvclImageLocation'------ * 'gpdvclContainerName'------ * 'gpdvclContainerTimestamp'------ * 'gpdvclDocumentLocation'------ * 'gpdvclContainerVersion'------ * 'gpdvclRecordLocation'-googlePrivacyDlpV2ContentLocation- :: GooglePrivacyDlpV2ContentLocation-googlePrivacyDlpV2ContentLocation =- GooglePrivacyDlpV2ContentLocation'- { _gpdvclImageLocation = Nothing- , _gpdvclContainerName = Nothing- , _gpdvclContainerTimestamp = Nothing- , _gpdvclDocumentLocation = Nothing- , _gpdvclContainerVersion = Nothing- , _gpdvclRecordLocation = Nothing- }---- | Location within an image\'s pixels.-gpdvclImageLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2ImageLocation)-gpdvclImageLocation- = lens _gpdvclImageLocation- (\ s a -> s{_gpdvclImageLocation = a})---- | Name of the container where the finding is located. The top level name--- is the source file name or table name. Names of some common storage--- containers are formatted as follows: * BigQuery tables: \`:.\` * Cloud--- Storage files: \`gs:\/\/\/\` * Datastore namespace: Nested names could--- be absent if the embedded object has no string identifier (for an--- example an image contained within a document).-gpdvclContainerName :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe Text)-gpdvclContainerName- = lens _gpdvclContainerName- (\ s a -> s{_gpdvclContainerName = a})---- | Findings container modification timestamp, if applicable. For Google--- Cloud Storage contains last file modification timestamp. For BigQuery--- table contains last_modified_time property. For Datastore - not--- populated.-gpdvclContainerTimestamp :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe UTCTime)-gpdvclContainerTimestamp- = lens _gpdvclContainerTimestamp- (\ s a -> s{_gpdvclContainerTimestamp = a})- . mapping _DateTime---- | Location data for document files.-gpdvclDocumentLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2DocumentLocation)-gpdvclDocumentLocation- = lens _gpdvclDocumentLocation- (\ s a -> s{_gpdvclDocumentLocation = a})---- | Findings container version, if available (\"generation\" for Google--- Cloud Storage).-gpdvclContainerVersion :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe Text)-gpdvclContainerVersion- = lens _gpdvclContainerVersion- (\ s a -> s{_gpdvclContainerVersion = a})---- | Location within a row or record of a database table.-gpdvclRecordLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2RecordLocation)-gpdvclRecordLocation- = lens _gpdvclRecordLocation- (\ s a -> s{_gpdvclRecordLocation = a})--instance FromJSON GooglePrivacyDlpV2ContentLocation- where- parseJSON- = withObject "GooglePrivacyDlpV2ContentLocation"- (\ o ->- GooglePrivacyDlpV2ContentLocation' <$>- (o .:? "imageLocation") <*> (o .:? "containerName")- <*> (o .:? "containerTimestamp")- <*> (o .:? "documentLocation")- <*> (o .:? "containerVersion")- <*> (o .:? "recordLocation"))--instance ToJSON GooglePrivacyDlpV2ContentLocation- where- toJSON GooglePrivacyDlpV2ContentLocation'{..}- = object- (catMaybes- [("imageLocation" .=) <$> _gpdvclImageLocation,- ("containerName" .=) <$> _gpdvclContainerName,- ("containerTimestamp" .=) <$>- _gpdvclContainerTimestamp,- ("documentLocation" .=) <$> _gpdvclDocumentLocation,- ("containerVersion" .=) <$> _gpdvclContainerVersion,- ("recordLocation" .=) <$> _gpdvclRecordLocation])---- | An auxiliary table contains statistical information on the relative--- frequency of different quasi-identifiers values. It has one or several--- quasi-identifiers columns, and one column that indicates the relative--- frequency of each quasi-identifier tuple. If a tuple is present in the--- data but not in the auxiliary table, the corresponding relative--- frequency is assumed to be zero (and thus, the tuple is highly--- reidentifiable).------ /See:/ 'googlePrivacyDlpV2AuxiliaryTable' smart constructor.-data GooglePrivacyDlpV2AuxiliaryTable = GooglePrivacyDlpV2AuxiliaryTable'- { _gpdvatRelativeFrequency :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvatTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- , _gpdvatQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiIdField])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2AuxiliaryTable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvatRelativeFrequency'------ * 'gpdvatTable'------ * 'gpdvatQuasiIds'-googlePrivacyDlpV2AuxiliaryTable- :: GooglePrivacyDlpV2AuxiliaryTable-googlePrivacyDlpV2AuxiliaryTable =- GooglePrivacyDlpV2AuxiliaryTable'- { _gpdvatRelativeFrequency = Nothing- , _gpdvatTable = Nothing- , _gpdvatQuasiIds = Nothing- }---- | The relative frequency column must contain a floating-point number--- between 0 and 1 (inclusive). Null values are assumed to be zero.--- [required]-gpdvatRelativeFrequency :: Lens' GooglePrivacyDlpV2AuxiliaryTable (Maybe GooglePrivacyDlpV2FieldId)-gpdvatRelativeFrequency- = lens _gpdvatRelativeFrequency- (\ s a -> s{_gpdvatRelativeFrequency = a})---- | Auxiliary table location. [required]-gpdvatTable :: Lens' GooglePrivacyDlpV2AuxiliaryTable (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvatTable- = lens _gpdvatTable (\ s a -> s{_gpdvatTable = a})---- | Quasi-identifier columns. [required]-gpdvatQuasiIds :: Lens' GooglePrivacyDlpV2AuxiliaryTable [GooglePrivacyDlpV2QuasiIdField]-gpdvatQuasiIds- = lens _gpdvatQuasiIds- (\ s a -> s{_gpdvatQuasiIds = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2AuxiliaryTable- where- parseJSON- = withObject "GooglePrivacyDlpV2AuxiliaryTable"- (\ o ->- GooglePrivacyDlpV2AuxiliaryTable' <$>- (o .:? "relativeFrequency") <*> (o .:? "table") <*>- (o .:? "quasiIds" .!= mempty))--instance ToJSON GooglePrivacyDlpV2AuxiliaryTable- where- toJSON GooglePrivacyDlpV2AuxiliaryTable'{..}- = object- (catMaybes- [("relativeFrequency" .=) <$>- _gpdvatRelativeFrequency,- ("table" .=) <$> _gpdvatTable,- ("quasiIds" .=) <$> _gpdvatQuasiIds])---- | A DeltaPresenceEstimationHistogramBucket message with the following--- values: min_probability: 0.1 max_probability: 0.2 frequency: 42 means--- that there are 42 records for which δ is in [0.1, 0.2). An important--- particular case is when min_probability = max_probability = 1: then,--- every individual who shares this quasi-identifier combination is in the--- dataset.------ /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket' smart constructor.-data GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket = GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'- { _gpdvdpehbBucketValues :: !(Maybe [GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues])- , _gpdvdpehbMaxProbability :: !(Maybe (Textual Double))- , _gpdvdpehbMinProbability :: !(Maybe (Textual Double))- , _gpdvdpehbBucketSize :: !(Maybe (Textual Int64))- , _gpdvdpehbBucketValueCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdpehbBucketValues'------ * 'gpdvdpehbMaxProbability'------ * 'gpdvdpehbMinProbability'------ * 'gpdvdpehbBucketSize'------ * 'gpdvdpehbBucketValueCount'-googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket- :: GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket-googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket =- GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'- { _gpdvdpehbBucketValues = Nothing- , _gpdvdpehbMaxProbability = Nothing- , _gpdvdpehbMinProbability = Nothing- , _gpdvdpehbBucketSize = Nothing- , _gpdvdpehbBucketValueCount = Nothing- }---- | Sample of quasi-identifier tuple values in this bucket. The total number--- of classes returned per bucket is capped at 20.-gpdvdpehbBucketValues :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket [GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues]-gpdvdpehbBucketValues- = lens _gpdvdpehbBucketValues- (\ s a -> s{_gpdvdpehbBucketValues = a})- . _Default- . _Coerce---- | Always greater than or equal to min_probability.-gpdvdpehbMaxProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Double)-gpdvdpehbMaxProbability- = lens _gpdvdpehbMaxProbability- (\ s a -> s{_gpdvdpehbMaxProbability = a})- . mapping _Coerce---- | Between 0 and 1.-gpdvdpehbMinProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Double)-gpdvdpehbMinProbability- = lens _gpdvdpehbMinProbability- (\ s a -> s{_gpdvdpehbMinProbability = a})- . mapping _Coerce---- | Number of records within these probability bounds.-gpdvdpehbBucketSize :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Int64)-gpdvdpehbBucketSize- = lens _gpdvdpehbBucketSize- (\ s a -> s{_gpdvdpehbBucketSize = a})- . mapping _Coerce---- | Total number of distinct quasi-identifier tuple values in this bucket.-gpdvdpehbBucketValueCount :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Int64)-gpdvdpehbBucketValueCount- = lens _gpdvdpehbBucketValueCount- (\ s a -> s{_gpdvdpehbBucketValueCount = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket- where- parseJSON- = withObject- "GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket"- (\ o ->- GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'- <$>- (o .:? "bucketValues" .!= mempty) <*>- (o .:? "maxProbability")- <*> (o .:? "minProbability")- <*> (o .:? "bucketSize")- <*> (o .:? "bucketValueCount"))--instance ToJSON- GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket- where- toJSON- GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'{..}- = object- (catMaybes- [("bucketValues" .=) <$> _gpdvdpehbBucketValues,- ("maxProbability" .=) <$> _gpdvdpehbMaxProbability,- ("minProbability" .=) <$> _gpdvdpehbMinProbability,- ("bucketSize" .=) <$> _gpdvdpehbBucketSize,- ("bucketValueCount" .=) <$>- _gpdvdpehbBucketValueCount])---- | Set of files to scan.------ /See:/ 'googlePrivacyDlpV2FileSet' smart constructor.-data GooglePrivacyDlpV2FileSet = GooglePrivacyDlpV2FileSet'- { _gpdvfsURL :: !(Maybe Text)- , _gpdvfsRegexFileSet :: !(Maybe GooglePrivacyDlpV2CloudStorageRegexFileSet)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2FileSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvfsURL'------ * 'gpdvfsRegexFileSet'-googlePrivacyDlpV2FileSet- :: GooglePrivacyDlpV2FileSet-googlePrivacyDlpV2FileSet =- GooglePrivacyDlpV2FileSet'- { _gpdvfsURL = Nothing- , _gpdvfsRegexFileSet = Nothing- }---- | The Cloud Storage url of the file(s) to scan, in the format--- \`gs:\/\/\/\`. Trailing wildcard in the path is allowed. If the url ends--- in a trailing slash, the bucket or directory represented by the url will--- be scanned non-recursively (content in sub-directories will not be--- scanned). This means that \`gs:\/\/mybucket\/\` is equivalent to--- \`gs:\/\/mybucket\/*\`, and \`gs:\/\/mybucket\/directory\/\` is--- equivalent to \`gs:\/\/mybucket\/directory\/*\`. Exactly one of \`url\`--- or \`regex_file_set\` must be set.-gpdvfsURL :: Lens' GooglePrivacyDlpV2FileSet (Maybe Text)-gpdvfsURL- = lens _gpdvfsURL (\ s a -> s{_gpdvfsURL = a})---- | The regex-filtered set of files to scan. Exactly one of \`url\` or--- \`regex_file_set\` must be set.-gpdvfsRegexFileSet :: Lens' GooglePrivacyDlpV2FileSet (Maybe GooglePrivacyDlpV2CloudStorageRegexFileSet)-gpdvfsRegexFileSet- = lens _gpdvfsRegexFileSet- (\ s a -> s{_gpdvfsRegexFileSet = a})--instance FromJSON GooglePrivacyDlpV2FileSet where- parseJSON- = withObject "GooglePrivacyDlpV2FileSet"- (\ o ->- GooglePrivacyDlpV2FileSet' <$>- (o .:? "url") <*> (o .:? "regexFileSet"))--instance ToJSON GooglePrivacyDlpV2FileSet where- toJSON GooglePrivacyDlpV2FileSet'{..}- = object- (catMaybes- [("url" .=) <$> _gpdvfsURL,- ("regexFileSet" .=) <$> _gpdvfsRegexFileSet])---- | Response message for ListInspectTemplates.------ /See:/ 'googlePrivacyDlpV2ListInspectTemplatesResponse' smart constructor.-data GooglePrivacyDlpV2ListInspectTemplatesResponse = GooglePrivacyDlpV2ListInspectTemplatesResponse'- { _gpdvlitrNextPageToken :: !(Maybe Text)- , _gpdvlitrInspectTemplates :: !(Maybe [GooglePrivacyDlpV2InspectTemplate])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListInspectTemplatesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlitrNextPageToken'------ * 'gpdvlitrInspectTemplates'-googlePrivacyDlpV2ListInspectTemplatesResponse- :: GooglePrivacyDlpV2ListInspectTemplatesResponse-googlePrivacyDlpV2ListInspectTemplatesResponse =- GooglePrivacyDlpV2ListInspectTemplatesResponse'- { _gpdvlitrNextPageToken = Nothing- , _gpdvlitrInspectTemplates = Nothing- }---- | If the next page is available then the next page token to be used in--- following ListInspectTemplates request.-gpdvlitrNextPageToken :: Lens' GooglePrivacyDlpV2ListInspectTemplatesResponse (Maybe Text)-gpdvlitrNextPageToken- = lens _gpdvlitrNextPageToken- (\ s a -> s{_gpdvlitrNextPageToken = a})---- | List of inspectTemplates, up to page_size in--- ListInspectTemplatesRequest.-gpdvlitrInspectTemplates :: Lens' GooglePrivacyDlpV2ListInspectTemplatesResponse [GooglePrivacyDlpV2InspectTemplate]-gpdvlitrInspectTemplates- = lens _gpdvlitrInspectTemplates- (\ s a -> s{_gpdvlitrInspectTemplates = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListInspectTemplatesResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2ListInspectTemplatesResponse"- (\ o ->- GooglePrivacyDlpV2ListInspectTemplatesResponse' <$>- (o .:? "nextPageToken") <*>- (o .:? "inspectTemplates" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2ListInspectTemplatesResponse where- toJSON- GooglePrivacyDlpV2ListInspectTemplatesResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _gpdvlitrNextPageToken,- ("inspectTemplates" .=) <$>- _gpdvlitrInspectTemplates])---- | Result of the k-anonymity computation.------ /See:/ 'googlePrivacyDlpV2KAnonymityResult' smart constructor.-newtype GooglePrivacyDlpV2KAnonymityResult = GooglePrivacyDlpV2KAnonymityResult'- { _gpdvkarEquivalenceClassHistogramBuckets :: Maybe [GooglePrivacyDlpV2KAnonymityHistogramBucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KAnonymityResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkarEquivalenceClassHistogramBuckets'-googlePrivacyDlpV2KAnonymityResult- :: GooglePrivacyDlpV2KAnonymityResult-googlePrivacyDlpV2KAnonymityResult =- GooglePrivacyDlpV2KAnonymityResult'- { _gpdvkarEquivalenceClassHistogramBuckets = Nothing- }---- | Histogram of k-anonymity equivalence classes.-gpdvkarEquivalenceClassHistogramBuckets :: Lens' GooglePrivacyDlpV2KAnonymityResult [GooglePrivacyDlpV2KAnonymityHistogramBucket]-gpdvkarEquivalenceClassHistogramBuckets- = lens _gpdvkarEquivalenceClassHistogramBuckets- (\ s a ->- s{_gpdvkarEquivalenceClassHistogramBuckets = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2KAnonymityResult- where- parseJSON- = withObject "GooglePrivacyDlpV2KAnonymityResult"- (\ o ->- GooglePrivacyDlpV2KAnonymityResult' <$>- (o .:? "equivalenceClassHistogramBuckets" .!=- mempty))--instance ToJSON GooglePrivacyDlpV2KAnonymityResult- where- toJSON GooglePrivacyDlpV2KAnonymityResult'{..}- = object- (catMaybes- [("equivalenceClassHistogramBuckets" .=) <$>- _gpdvkarEquivalenceClassHistogramBuckets])---- | Message defining a field of a BigQuery table.------ /See:/ 'googlePrivacyDlpV2BigQueryField' smart constructor.-data GooglePrivacyDlpV2BigQueryField = GooglePrivacyDlpV2BigQueryField'- { _gpdvbqfField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvbqfTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BigQueryField' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbqfField'------ * 'gpdvbqfTable'-googlePrivacyDlpV2BigQueryField- :: GooglePrivacyDlpV2BigQueryField-googlePrivacyDlpV2BigQueryField =- GooglePrivacyDlpV2BigQueryField'- { _gpdvbqfField = Nothing- , _gpdvbqfTable = Nothing- }---- | Designated field in the BigQuery table.-gpdvbqfField :: Lens' GooglePrivacyDlpV2BigQueryField (Maybe GooglePrivacyDlpV2FieldId)-gpdvbqfField- = lens _gpdvbqfField (\ s a -> s{_gpdvbqfField = a})---- | Source table of the field.-gpdvbqfTable :: Lens' GooglePrivacyDlpV2BigQueryField (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvbqfTable- = lens _gpdvbqfTable (\ s a -> s{_gpdvbqfTable = a})--instance FromJSON GooglePrivacyDlpV2BigQueryField- where- parseJSON- = withObject "GooglePrivacyDlpV2BigQueryField"- (\ o ->- GooglePrivacyDlpV2BigQueryField' <$>- (o .:? "field") <*> (o .:? "table"))--instance ToJSON GooglePrivacyDlpV2BigQueryField where- toJSON GooglePrivacyDlpV2BigQueryField'{..}- = object- (catMaybes- [("field" .=) <$> _gpdvbqfField,- ("table" .=) <$> _gpdvbqfTable])---- | Cloud repository for storing output.------ /See:/ 'googlePrivacyDlpV2OutputStorageConfig' smart constructor.-data GooglePrivacyDlpV2OutputStorageConfig = GooglePrivacyDlpV2OutputStorageConfig'- { _gpdvoscOutputSchema :: !(Maybe GooglePrivacyDlpV2OutputStorageConfigOutputSchema)- , _gpdvoscTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2OutputStorageConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvoscOutputSchema'------ * 'gpdvoscTable'-googlePrivacyDlpV2OutputStorageConfig- :: GooglePrivacyDlpV2OutputStorageConfig-googlePrivacyDlpV2OutputStorageConfig =- GooglePrivacyDlpV2OutputStorageConfig'- { _gpdvoscOutputSchema = Nothing- , _gpdvoscTable = Nothing- }---- | Schema used for writing the findings for Inspect jobs. This field is--- only used for Inspect and must be unspecified for Risk jobs. Columns are--- derived from the \`Finding\` object. If appending to an existing table,--- any columns from the predefined schema that are missing will be added.--- No columns in the existing table will be deleted. If unspecified, then--- all available columns will be used for a new table or an (existing)--- table with no schema, and no changes will be made to an existing table--- that has a schema.-gpdvoscOutputSchema :: Lens' GooglePrivacyDlpV2OutputStorageConfig (Maybe GooglePrivacyDlpV2OutputStorageConfigOutputSchema)-gpdvoscOutputSchema- = lens _gpdvoscOutputSchema- (\ s a -> s{_gpdvoscOutputSchema = a})---- | Store findings in an existing table or a new table in an existing--- dataset. If table_id is not set a new one will be generated for you with--- the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific--- timezone will be used for generating the date details. For Inspect, each--- column in an existing output table must have the same name, type, and--- mode of a field in the \`Finding\` object. For Risk, an existing output--- table should be the output of a previous Risk analysis job run on the--- same source table, with the same privacy metric and quasi-identifiers.--- Risk jobs that analyze the same table but compute a different privacy--- metric, or use different sets of quasi-identifiers, cannot store their--- results in the same table.-gpdvoscTable :: Lens' GooglePrivacyDlpV2OutputStorageConfig (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvoscTable- = lens _gpdvoscTable (\ s a -> s{_gpdvoscTable = a})--instance FromJSON- GooglePrivacyDlpV2OutputStorageConfig where- parseJSON- = withObject "GooglePrivacyDlpV2OutputStorageConfig"- (\ o ->- GooglePrivacyDlpV2OutputStorageConfig' <$>- (o .:? "outputSchema") <*> (o .:? "table"))--instance ToJSON GooglePrivacyDlpV2OutputStorageConfig- where- toJSON GooglePrivacyDlpV2OutputStorageConfig'{..}- = object- (catMaybes- [("outputSchema" .=) <$> _gpdvoscOutputSchema,- ("table" .=) <$> _gpdvoscTable])---- | Message representing a set of files in Cloud Storage.------ /See:/ 'googlePrivacyDlpV2CloudStorageFileSet' smart constructor.-newtype GooglePrivacyDlpV2CloudStorageFileSet = GooglePrivacyDlpV2CloudStorageFileSet'- { _gpdvcsfsURL :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CloudStorageFileSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcsfsURL'-googlePrivacyDlpV2CloudStorageFileSet- :: GooglePrivacyDlpV2CloudStorageFileSet-googlePrivacyDlpV2CloudStorageFileSet =- GooglePrivacyDlpV2CloudStorageFileSet'- { _gpdvcsfsURL = Nothing- }---- | The url, in the format \`gs:\/\/\/\`. Trailing wildcard in the path is--- allowed.-gpdvcsfsURL :: Lens' GooglePrivacyDlpV2CloudStorageFileSet (Maybe Text)-gpdvcsfsURL- = lens _gpdvcsfsURL (\ s a -> s{_gpdvcsfsURL = a})--instance FromJSON- GooglePrivacyDlpV2CloudStorageFileSet where- parseJSON- = withObject "GooglePrivacyDlpV2CloudStorageFileSet"- (\ o ->- GooglePrivacyDlpV2CloudStorageFileSet' <$>- (o .:? "url"))--instance ToJSON GooglePrivacyDlpV2CloudStorageFileSet- where- toJSON GooglePrivacyDlpV2CloudStorageFileSet'{..}- = object (catMaybes [("url" .=) <$> _gpdvcsfsURL])---- | A type of transformation that will scan unstructured text and apply--- various \`PrimitiveTransformation\`s to each finding, where the--- transformation is applied to only values that were identified as a--- specific info_type.------ /See:/ 'googlePrivacyDlpV2InfoTypeTransformations' smart constructor.-newtype GooglePrivacyDlpV2InfoTypeTransformations = GooglePrivacyDlpV2InfoTypeTransformations'- { _gpdvittTransformations :: Maybe [GooglePrivacyDlpV2InfoTypeTransformation]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoTypeTransformations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvittTransformations'-googlePrivacyDlpV2InfoTypeTransformations- :: GooglePrivacyDlpV2InfoTypeTransformations-googlePrivacyDlpV2InfoTypeTransformations =- GooglePrivacyDlpV2InfoTypeTransformations'- { _gpdvittTransformations = Nothing- }---- | Transformation for each infoType. Cannot specify more than one for a--- given infoType. [required]-gpdvittTransformations :: Lens' GooglePrivacyDlpV2InfoTypeTransformations [GooglePrivacyDlpV2InfoTypeTransformation]-gpdvittTransformations- = lens _gpdvittTransformations- (\ s a -> s{_gpdvittTransformations = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2InfoTypeTransformations where- parseJSON- = withObject- "GooglePrivacyDlpV2InfoTypeTransformations"- (\ o ->- GooglePrivacyDlpV2InfoTypeTransformations' <$>- (o .:? "transformations" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2InfoTypeTransformations where- toJSON GooglePrivacyDlpV2InfoTypeTransformations'{..}- = object- (catMaybes- [("transformations" .=) <$> _gpdvittTransformations])---- | Include to use an existing data crypto key wrapped by KMS. Authorization--- requires the following IAM permissions when sending a request to perform--- a crypto transformation using a kms-wrapped crypto key: dlp.kms.encrypt------ /See:/ 'googlePrivacyDlpV2KmsWrAppedCryptoKey' smart constructor.-data GooglePrivacyDlpV2KmsWrAppedCryptoKey = GooglePrivacyDlpV2KmsWrAppedCryptoKey'- { _gpdvkwackWrAppedKey :: !(Maybe Bytes)- , _gpdvkwackCryptoKeyName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KmsWrAppedCryptoKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkwackWrAppedKey'------ * 'gpdvkwackCryptoKeyName'-googlePrivacyDlpV2KmsWrAppedCryptoKey- :: GooglePrivacyDlpV2KmsWrAppedCryptoKey-googlePrivacyDlpV2KmsWrAppedCryptoKey =- GooglePrivacyDlpV2KmsWrAppedCryptoKey'- { _gpdvkwackWrAppedKey = Nothing- , _gpdvkwackCryptoKeyName = Nothing- }---- | The wrapped data crypto key. [required]-gpdvkwackWrAppedKey :: Lens' GooglePrivacyDlpV2KmsWrAppedCryptoKey (Maybe ByteString)-gpdvkwackWrAppedKey- = lens _gpdvkwackWrAppedKey- (\ s a -> s{_gpdvkwackWrAppedKey = a})- . mapping _Bytes---- | The resource name of the KMS CryptoKey to use for unwrapping. [required]-gpdvkwackCryptoKeyName :: Lens' GooglePrivacyDlpV2KmsWrAppedCryptoKey (Maybe Text)-gpdvkwackCryptoKeyName- = lens _gpdvkwackCryptoKeyName- (\ s a -> s{_gpdvkwackCryptoKeyName = a})--instance FromJSON- GooglePrivacyDlpV2KmsWrAppedCryptoKey where- parseJSON- = withObject "GooglePrivacyDlpV2KmsWrAppedCryptoKey"- (\ o ->- GooglePrivacyDlpV2KmsWrAppedCryptoKey' <$>- (o .:? "wrappedKey") <*> (o .:? "cryptoKeyName"))--instance ToJSON GooglePrivacyDlpV2KmsWrAppedCryptoKey- where- toJSON GooglePrivacyDlpV2KmsWrAppedCryptoKey'{..}- = object- (catMaybes- [("wrappedKey" .=) <$> _gpdvkwackWrAppedKey,- ("cryptoKeyName" .=) <$> _gpdvkwackCryptoKeyName])---- | Results of inspecting an item.------ /See:/ 'googlePrivacyDlpV2InspectContentResponse' smart constructor.-newtype GooglePrivacyDlpV2InspectContentResponse = GooglePrivacyDlpV2InspectContentResponse'- { _gpdvicrResult :: Maybe GooglePrivacyDlpV2InspectResult- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectContentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvicrResult'-googlePrivacyDlpV2InspectContentResponse- :: GooglePrivacyDlpV2InspectContentResponse-googlePrivacyDlpV2InspectContentResponse =- GooglePrivacyDlpV2InspectContentResponse'- { _gpdvicrResult = Nothing- }---- | The findings.-gpdvicrResult :: Lens' GooglePrivacyDlpV2InspectContentResponse (Maybe GooglePrivacyDlpV2InspectResult)-gpdvicrResult- = lens _gpdvicrResult- (\ s a -> s{_gpdvicrResult = a})--instance FromJSON- GooglePrivacyDlpV2InspectContentResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2InspectContentResponse"- (\ o ->- GooglePrivacyDlpV2InspectContentResponse' <$>- (o .:? "result"))--instance ToJSON- GooglePrivacyDlpV2InspectContentResponse where- toJSON GooglePrivacyDlpV2InspectContentResponse'{..}- = object- (catMaybes [("result" .=) <$> _gpdvicrResult])------- /See:/ 'googlePrivacyDlpV2LDiversityHistogramBucket' smart constructor.-data GooglePrivacyDlpV2LDiversityHistogramBucket = GooglePrivacyDlpV2LDiversityHistogramBucket'- { _gpdvldhbBucketValues :: !(Maybe [GooglePrivacyDlpV2LDiversityEquivalenceClass])- , _gpdvldhbSensitiveValueFrequencyLowerBound :: !(Maybe (Textual Int64))- , _gpdvldhbSensitiveValueFrequencyUpperBound :: !(Maybe (Textual Int64))- , _gpdvldhbBucketSize :: !(Maybe (Textual Int64))- , _gpdvldhbBucketValueCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LDiversityHistogramBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldhbBucketValues'------ * 'gpdvldhbSensitiveValueFrequencyLowerBound'------ * 'gpdvldhbSensitiveValueFrequencyUpperBound'------ * 'gpdvldhbBucketSize'------ * 'gpdvldhbBucketValueCount'-googlePrivacyDlpV2LDiversityHistogramBucket- :: GooglePrivacyDlpV2LDiversityHistogramBucket-googlePrivacyDlpV2LDiversityHistogramBucket =- GooglePrivacyDlpV2LDiversityHistogramBucket'- { _gpdvldhbBucketValues = Nothing- , _gpdvldhbSensitiveValueFrequencyLowerBound = Nothing- , _gpdvldhbSensitiveValueFrequencyUpperBound = Nothing- , _gpdvldhbBucketSize = Nothing- , _gpdvldhbBucketValueCount = Nothing- }---- | Sample of equivalence classes in this bucket. The total number of--- classes returned per bucket is capped at 20.-gpdvldhbBucketValues :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket [GooglePrivacyDlpV2LDiversityEquivalenceClass]-gpdvldhbBucketValues- = lens _gpdvldhbBucketValues- (\ s a -> s{_gpdvldhbBucketValues = a})- . _Default- . _Coerce---- | Lower bound on the sensitive value frequencies of the equivalence--- classes in this bucket.-gpdvldhbSensitiveValueFrequencyLowerBound :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)-gpdvldhbSensitiveValueFrequencyLowerBound- = lens _gpdvldhbSensitiveValueFrequencyLowerBound- (\ s a ->- s{_gpdvldhbSensitiveValueFrequencyLowerBound = a})- . mapping _Coerce---- | Upper bound on the sensitive value frequencies of the equivalence--- classes in this bucket.-gpdvldhbSensitiveValueFrequencyUpperBound :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)-gpdvldhbSensitiveValueFrequencyUpperBound- = lens _gpdvldhbSensitiveValueFrequencyUpperBound- (\ s a ->- s{_gpdvldhbSensitiveValueFrequencyUpperBound = a})- . mapping _Coerce---- | Total number of equivalence classes in this bucket.-gpdvldhbBucketSize :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)-gpdvldhbBucketSize- = lens _gpdvldhbBucketSize- (\ s a -> s{_gpdvldhbBucketSize = a})- . mapping _Coerce---- | Total number of distinct equivalence classes in this bucket.-gpdvldhbBucketValueCount :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)-gpdvldhbBucketValueCount- = lens _gpdvldhbBucketValueCount- (\ s a -> s{_gpdvldhbBucketValueCount = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2LDiversityHistogramBucket where- parseJSON- = withObject- "GooglePrivacyDlpV2LDiversityHistogramBucket"- (\ o ->- GooglePrivacyDlpV2LDiversityHistogramBucket' <$>- (o .:? "bucketValues" .!= mempty) <*>- (o .:? "sensitiveValueFrequencyLowerBound")- <*> (o .:? "sensitiveValueFrequencyUpperBound")- <*> (o .:? "bucketSize")- <*> (o .:? "bucketValueCount"))--instance ToJSON- GooglePrivacyDlpV2LDiversityHistogramBucket where- toJSON- GooglePrivacyDlpV2LDiversityHistogramBucket'{..}- = object- (catMaybes- [("bucketValues" .=) <$> _gpdvldhbBucketValues,- ("sensitiveValueFrequencyLowerBound" .=) <$>- _gpdvldhbSensitiveValueFrequencyLowerBound,- ("sensitiveValueFrequencyUpperBound" .=) <$>- _gpdvldhbSensitiveValueFrequencyUpperBound,- ("bucketSize" .=) <$> _gpdvldhbBucketSize,- ("bucketValueCount" .=) <$>- _gpdvldhbBucketValueCount])---- | Results of re-identifying a item.------ /See:/ 'googlePrivacyDlpV2ReidentifyContentResponse' smart constructor.-data GooglePrivacyDlpV2ReidentifyContentResponse = GooglePrivacyDlpV2ReidentifyContentResponse'- { _gpdvrcrOverview :: !(Maybe GooglePrivacyDlpV2TransformationOverview)- , _gpdvrcrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ReidentifyContentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrcrOverview'------ * 'gpdvrcrItem'-googlePrivacyDlpV2ReidentifyContentResponse- :: GooglePrivacyDlpV2ReidentifyContentResponse-googlePrivacyDlpV2ReidentifyContentResponse =- GooglePrivacyDlpV2ReidentifyContentResponse'- { _gpdvrcrOverview = Nothing- , _gpdvrcrItem = Nothing- }---- | An overview of the changes that were made to the \`item\`.-gpdvrcrOverview :: Lens' GooglePrivacyDlpV2ReidentifyContentResponse (Maybe GooglePrivacyDlpV2TransformationOverview)-gpdvrcrOverview- = lens _gpdvrcrOverview- (\ s a -> s{_gpdvrcrOverview = a})---- | The re-identified item.-gpdvrcrItem :: Lens' GooglePrivacyDlpV2ReidentifyContentResponse (Maybe GooglePrivacyDlpV2ContentItem)-gpdvrcrItem- = lens _gpdvrcrItem (\ s a -> s{_gpdvrcrItem = a})--instance FromJSON- GooglePrivacyDlpV2ReidentifyContentResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2ReidentifyContentResponse"- (\ o ->- GooglePrivacyDlpV2ReidentifyContentResponse' <$>- (o .:? "overview") <*> (o .:? "item"))--instance ToJSON- GooglePrivacyDlpV2ReidentifyContentResponse where- toJSON- GooglePrivacyDlpV2ReidentifyContentResponse'{..}- = object- (catMaybes- [("overview" .=) <$> _gpdvrcrOverview,- ("item" .=) <$> _gpdvrcrItem])---- | An expression, consisting or an operator and conditions.------ /See:/ 'googlePrivacyDlpV2Expressions' smart constructor.-data GooglePrivacyDlpV2Expressions = GooglePrivacyDlpV2Expressions'- { _gpdveLogicalOperator :: !(Maybe GooglePrivacyDlpV2ExpressionsLogicalOperator)- , _gpdveConditions :: !(Maybe GooglePrivacyDlpV2Conditions)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Expressions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdveLogicalOperator'------ * 'gpdveConditions'-googlePrivacyDlpV2Expressions- :: GooglePrivacyDlpV2Expressions-googlePrivacyDlpV2Expressions =- GooglePrivacyDlpV2Expressions'- { _gpdveLogicalOperator = Nothing- , _gpdveConditions = Nothing- }---- | The operator to apply to the result of conditions. Default and currently--- only supported value is \`AND\`.-gpdveLogicalOperator :: Lens' GooglePrivacyDlpV2Expressions (Maybe GooglePrivacyDlpV2ExpressionsLogicalOperator)-gpdveLogicalOperator- = lens _gpdveLogicalOperator- (\ s a -> s{_gpdveLogicalOperator = a})--gpdveConditions :: Lens' GooglePrivacyDlpV2Expressions (Maybe GooglePrivacyDlpV2Conditions)-gpdveConditions- = lens _gpdveConditions- (\ s a -> s{_gpdveConditions = a})--instance FromJSON GooglePrivacyDlpV2Expressions where- parseJSON- = withObject "GooglePrivacyDlpV2Expressions"- (\ o ->- GooglePrivacyDlpV2Expressions' <$>- (o .:? "logicalOperator") <*> (o .:? "conditions"))--instance ToJSON GooglePrivacyDlpV2Expressions where- toJSON GooglePrivacyDlpV2Expressions'{..}- = object- (catMaybes- [("logicalOperator" .=) <$> _gpdveLogicalOperator,- ("conditions" .=) <$> _gpdveConditions])---- | Message for a date time object. e.g. 2018-01-01, 5th August.------ /See:/ 'googlePrivacyDlpV2DateTime' smart constructor.-data GooglePrivacyDlpV2DateTime = GooglePrivacyDlpV2DateTime'- { _gpdvdtTime :: !(Maybe GoogleTypeTimeOfDay)- , _gpdvdtDate :: !(Maybe GoogleTypeDate)- , _gpdvdtTimeZone :: !(Maybe GooglePrivacyDlpV2TimeZone)- , _gpdvdtDayOfWeek :: !(Maybe GooglePrivacyDlpV2DateTimeDayOfWeek)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DateTime' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdtTime'------ * 'gpdvdtDate'------ * 'gpdvdtTimeZone'------ * 'gpdvdtDayOfWeek'-googlePrivacyDlpV2DateTime- :: GooglePrivacyDlpV2DateTime-googlePrivacyDlpV2DateTime =- GooglePrivacyDlpV2DateTime'- { _gpdvdtTime = Nothing- , _gpdvdtDate = Nothing- , _gpdvdtTimeZone = Nothing- , _gpdvdtDayOfWeek = Nothing- }--gpdvdtTime :: Lens' GooglePrivacyDlpV2DateTime (Maybe GoogleTypeTimeOfDay)-gpdvdtTime- = lens _gpdvdtTime (\ s a -> s{_gpdvdtTime = a})---- | One or more of the following must be set. All fields are optional, but--- when set must be valid date or time values.-gpdvdtDate :: Lens' GooglePrivacyDlpV2DateTime (Maybe GoogleTypeDate)-gpdvdtDate- = lens _gpdvdtDate (\ s a -> s{_gpdvdtDate = a})--gpdvdtTimeZone :: Lens' GooglePrivacyDlpV2DateTime (Maybe GooglePrivacyDlpV2TimeZone)-gpdvdtTimeZone- = lens _gpdvdtTimeZone- (\ s a -> s{_gpdvdtTimeZone = a})--gpdvdtDayOfWeek :: Lens' GooglePrivacyDlpV2DateTime (Maybe GooglePrivacyDlpV2DateTimeDayOfWeek)-gpdvdtDayOfWeek- = lens _gpdvdtDayOfWeek- (\ s a -> s{_gpdvdtDayOfWeek = a})--instance FromJSON GooglePrivacyDlpV2DateTime where- parseJSON- = withObject "GooglePrivacyDlpV2DateTime"- (\ o ->- GooglePrivacyDlpV2DateTime' <$>- (o .:? "time") <*> (o .:? "date") <*>- (o .:? "timeZone")- <*> (o .:? "dayOfWeek"))--instance ToJSON GooglePrivacyDlpV2DateTime where- toJSON GooglePrivacyDlpV2DateTime'{..}- = object- (catMaybes- [("time" .=) <$> _gpdvdtTime,- ("date" .=) <$> _gpdvdtDate,- ("timeZone" .=) <$> _gpdvdtTimeZone,- ("dayOfWeek" .=) <$> _gpdvdtDayOfWeek])---- | Message representing a set of files in a Cloud Storage bucket. Regular--- expressions are used to allow fine-grained control over which files in--- the bucket to include. Included files are those that match at least one--- item in \`include_regex\` and do not match any items in--- \`exclude_regex\`. Note that a file that matches items from both lists--- will _not_ be included. For a match to occur, the entire file path--- (i.e., everything in the url after the bucket name) must match the--- regular expression. For example, given the input \`{bucket_name:--- \"mybucket\", include_regex: [\"directory1\/.*\"], exclude_regex:--- [\"directory1\/excluded.*\"]}\`: *--- \`gs:\/\/mybucket\/directory1\/myfile\` will be included *--- \`gs:\/\/mybucket\/directory1\/directory2\/myfile\` will be included--- (\`.*\` matches across \`\/\`) *--- \`gs:\/\/mybucket\/directory0\/directory1\/myfile\` will _not_ be--- included (the full path doesn\'t match any items in \`include_regex\`) *--- \`gs:\/\/mybucket\/directory1\/excludedfile\` will _not_ be included--- (the path matches an item in \`exclude_regex\`) If \`include_regex\` is--- left empty, it will match all files by default (this is equivalent to--- setting \`include_regex: [\".*\"]\`). Some other common use cases: *--- \`{bucket_name: \"mybucket\", exclude_regex: [\".*\\.pdf\"]}\` will--- include all files in \`mybucket\` except for .pdf files *--- \`{bucket_name: \"mybucket\", include_regex: [\"directory\/[^\/]+\"]}\`--- will include all files directly under \`gs:\/\/mybucket\/directory\/\`,--- without matching across \`\/\`------ /See:/ 'googlePrivacyDlpV2CloudStorageRegexFileSet' smart constructor.-data GooglePrivacyDlpV2CloudStorageRegexFileSet = GooglePrivacyDlpV2CloudStorageRegexFileSet'- { _gpdvcsrfsExcludeRegex :: !(Maybe [Text])- , _gpdvcsrfsBucketName :: !(Maybe Text)- , _gpdvcsrfsIncludeRegex :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CloudStorageRegexFileSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcsrfsExcludeRegex'------ * 'gpdvcsrfsBucketName'------ * 'gpdvcsrfsIncludeRegex'-googlePrivacyDlpV2CloudStorageRegexFileSet- :: GooglePrivacyDlpV2CloudStorageRegexFileSet-googlePrivacyDlpV2CloudStorageRegexFileSet =- GooglePrivacyDlpV2CloudStorageRegexFileSet'- { _gpdvcsrfsExcludeRegex = Nothing- , _gpdvcsrfsBucketName = Nothing- , _gpdvcsrfsIncludeRegex = Nothing- }---- | A list of regular expressions matching file paths to exclude. All files--- in the bucket that match at least one of these regular expressions will--- be excluded from the scan. Regular expressions use RE2--- [syntax](https:\/\/github.com\/google\/re2\/wiki\/Syntax); a guide can--- be found under the google\/re2 repository on GitHub.-gpdvcsrfsExcludeRegex :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet [Text]-gpdvcsrfsExcludeRegex- = lens _gpdvcsrfsExcludeRegex- (\ s a -> s{_gpdvcsrfsExcludeRegex = a})- . _Default- . _Coerce---- | The name of a Cloud Storage bucket. Required.-gpdvcsrfsBucketName :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet (Maybe Text)-gpdvcsrfsBucketName- = lens _gpdvcsrfsBucketName- (\ s a -> s{_gpdvcsrfsBucketName = a})---- | A list of regular expressions matching file paths to include. All files--- in the bucket that match at least one of these regular expressions will--- be included in the set of files, except for those that also match an--- item in \`exclude_regex\`. Leaving this field empty will match all files--- by default (this is equivalent to including \`.*\` in the list). Regular--- expressions use RE2--- [syntax](https:\/\/github.com\/google\/re2\/wiki\/Syntax); a guide can--- be found under the google\/re2 repository on GitHub.-gpdvcsrfsIncludeRegex :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet [Text]-gpdvcsrfsIncludeRegex- = lens _gpdvcsrfsIncludeRegex- (\ s a -> s{_gpdvcsrfsIncludeRegex = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2CloudStorageRegexFileSet where- parseJSON- = withObject- "GooglePrivacyDlpV2CloudStorageRegexFileSet"- (\ o ->- GooglePrivacyDlpV2CloudStorageRegexFileSet' <$>- (o .:? "excludeRegex" .!= mempty) <*>- (o .:? "bucketName")- <*> (o .:? "includeRegex" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2CloudStorageRegexFileSet where- toJSON- GooglePrivacyDlpV2CloudStorageRegexFileSet'{..}- = object- (catMaybes- [("excludeRegex" .=) <$> _gpdvcsrfsExcludeRegex,- ("bucketName" .=) <$> _gpdvcsrfsBucketName,- ("includeRegex" .=) <$> _gpdvcsrfsIncludeRegex])---- | Bucket is represented as a range, along with replacement values.------ /See:/ 'googlePrivacyDlpV2Bucket' smart constructor.-data GooglePrivacyDlpV2Bucket = GooglePrivacyDlpV2Bucket'- { _gpdvbMax :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvbReplacementValue :: !(Maybe GooglePrivacyDlpV2Value)- , _gpdvbMin :: !(Maybe GooglePrivacyDlpV2Value)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Bucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbMax'------ * 'gpdvbReplacementValue'------ * 'gpdvbMin'-googlePrivacyDlpV2Bucket- :: GooglePrivacyDlpV2Bucket-googlePrivacyDlpV2Bucket =- GooglePrivacyDlpV2Bucket'- { _gpdvbMax = Nothing- , _gpdvbReplacementValue = Nothing- , _gpdvbMin = Nothing- }---- | Upper bound of the range, exclusive; type must match min.-gpdvbMax :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)-gpdvbMax = lens _gpdvbMax (\ s a -> s{_gpdvbMax = a})---- | Replacement value for this bucket. If not provided the default behavior--- will be to hyphenate the min-max range.-gpdvbReplacementValue :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)-gpdvbReplacementValue- = lens _gpdvbReplacementValue- (\ s a -> s{_gpdvbReplacementValue = a})---- | Lower bound of the range, inclusive. Type should be the same as max if--- used.-gpdvbMin :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)-gpdvbMin = lens _gpdvbMin (\ s a -> s{_gpdvbMin = a})--instance FromJSON GooglePrivacyDlpV2Bucket where- parseJSON- = withObject "GooglePrivacyDlpV2Bucket"- (\ o ->- GooglePrivacyDlpV2Bucket' <$>- (o .:? "max") <*> (o .:? "replacementValue") <*>- (o .:? "min"))--instance ToJSON GooglePrivacyDlpV2Bucket where- toJSON GooglePrivacyDlpV2Bucket'{..}- = object- (catMaybes- [("max" .=) <$> _gpdvbMax,- ("replacementValue" .=) <$> _gpdvbReplacementValue,- ("min" .=) <$> _gpdvbMin])---- | A task to execute on the completion of a job. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-actions to learn more.------ /See:/ 'googlePrivacyDlpV2Action' smart constructor.-data GooglePrivacyDlpV2Action = GooglePrivacyDlpV2Action'- { _gpdvaPubSub :: !(Maybe GooglePrivacyDlpV2PublishToPubSub)- , _gpdvaSaveFindings :: !(Maybe GooglePrivacyDlpV2SaveFindings)- , _gpdvaPublishSummaryToCscc :: !(Maybe GooglePrivacyDlpV2PublishSummaryToCscc)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Action' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvaPubSub'------ * 'gpdvaSaveFindings'------ * 'gpdvaPublishSummaryToCscc'-googlePrivacyDlpV2Action- :: GooglePrivacyDlpV2Action-googlePrivacyDlpV2Action =- GooglePrivacyDlpV2Action'- { _gpdvaPubSub = Nothing- , _gpdvaSaveFindings = Nothing- , _gpdvaPublishSummaryToCscc = Nothing- }---- | Publish a notification to a pubsub topic.-gpdvaPubSub :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2PublishToPubSub)-gpdvaPubSub- = lens _gpdvaPubSub (\ s a -> s{_gpdvaPubSub = a})---- | Save resulting findings in a provided location.-gpdvaSaveFindings :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2SaveFindings)-gpdvaSaveFindings- = lens _gpdvaSaveFindings- (\ s a -> s{_gpdvaSaveFindings = a})---- | Publish summary to Cloud Security Command Center (Alpha).-gpdvaPublishSummaryToCscc :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2PublishSummaryToCscc)-gpdvaPublishSummaryToCscc- = lens _gpdvaPublishSummaryToCscc- (\ s a -> s{_gpdvaPublishSummaryToCscc = a})--instance FromJSON GooglePrivacyDlpV2Action where- parseJSON- = withObject "GooglePrivacyDlpV2Action"- (\ o ->- GooglePrivacyDlpV2Action' <$>- (o .:? "pubSub") <*> (o .:? "saveFindings") <*>- (o .:? "publishSummaryToCscc"))--instance ToJSON GooglePrivacyDlpV2Action where- toJSON GooglePrivacyDlpV2Action'{..}- = object- (catMaybes- [("pubSub" .=) <$> _gpdvaPubSub,- ("saveFindings" .=) <$> _gpdvaSaveFindings,- ("publishSummaryToCscc" .=) <$>- _gpdvaPublishSummaryToCscc])---- | Represents a whole or partial calendar date, e.g. a birthday. The time--- of day and time zone are either specified elsewhere or are not--- significant. The date is relative to the Proleptic Gregorian Calendar.--- This can represent: * A full date, with non-zero year, month and day--- values * A month and day value, with a zero year, e.g. an anniversary *--- A year on its own, with zero month and day values * A year and month--- value, with a zero day, e.g. a credit card expiration date Related types--- are google.type.TimeOfDay and \`google.protobuf.Timestamp\`.------ /See:/ 'googleTypeDate' smart constructor.-data GoogleTypeDate = GoogleTypeDate'- { _gtdDay :: !(Maybe (Textual Int32))- , _gtdYear :: !(Maybe (Textual Int32))- , _gtdMonth :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GoogleTypeDate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gtdDay'------ * 'gtdYear'------ * 'gtdMonth'-googleTypeDate- :: GoogleTypeDate-googleTypeDate =- GoogleTypeDate'- { _gtdDay = Nothing- , _gtdYear = Nothing- , _gtdMonth = Nothing- }---- | Day of month. Must be from 1 to 31 and valid for the year and month, or--- 0 if specifying a year by itself or a year and month where the day is--- not significant.-gtdDay :: Lens' GoogleTypeDate (Maybe Int32)-gtdDay- = lens _gtdDay (\ s a -> s{_gtdDay = a}) .- mapping _Coerce---- | Year of date. Must be from 1 to 9999, or 0 if specifying a date without--- a year.-gtdYear :: Lens' GoogleTypeDate (Maybe Int32)-gtdYear- = lens _gtdYear (\ s a -> s{_gtdYear = a}) .- mapping _Coerce---- | Month of year. Must be from 1 to 12, or 0 if specifying a year without a--- month and day.-gtdMonth :: Lens' GoogleTypeDate (Maybe Int32)-gtdMonth- = lens _gtdMonth (\ s a -> s{_gtdMonth = a}) .- mapping _Coerce--instance FromJSON GoogleTypeDate where- parseJSON- = withObject "GoogleTypeDate"- (\ o ->- GoogleTypeDate' <$>- (o .:? "day") <*> (o .:? "year") <*> (o .:? "month"))--instance ToJSON GoogleTypeDate where- toJSON GoogleTypeDate'{..}- = object- (catMaybes- [("day" .=) <$> _gtdDay, ("year" .=) <$> _gtdYear,- ("month" .=) <$> _gtdMonth])---- | Message for detecting output from deidentification transformations such--- as--- [\`CryptoReplaceFfxFpeConfig\`](\/dlp\/docs\/reference\/rest\/v2\/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).--- These types of transformations are those that perform pseudonymization,--- thereby producing a \"surrogate\" as output. This should be used in--- conjunction with a field on the transformation such as--- \`surrogate_info_type\`. This CustomInfoType does not support the use of--- \`detection_rules\`.------ /See:/ 'googlePrivacyDlpV2SurrogateType' smart constructor.-data GooglePrivacyDlpV2SurrogateType =- GooglePrivacyDlpV2SurrogateType'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2SurrogateType' with the minimum fields required to make a request.----googlePrivacyDlpV2SurrogateType- :: GooglePrivacyDlpV2SurrogateType-googlePrivacyDlpV2SurrogateType = GooglePrivacyDlpV2SurrogateType'--instance FromJSON GooglePrivacyDlpV2SurrogateType- where- parseJSON- = withObject "GooglePrivacyDlpV2SurrogateType"- (\ o -> pure GooglePrivacyDlpV2SurrogateType')--instance ToJSON GooglePrivacyDlpV2SurrogateType where- toJSON = const emptyObject---- | Structured content to inspect. Up to 50,000 \`Value\`s per request--- allowed. See--- https:\/\/cloud.google.com\/dlp\/docs\/inspecting-text#inspecting_a_table--- to learn more.------ /See:/ 'googlePrivacyDlpV2Table' smart constructor.-data GooglePrivacyDlpV2Table = GooglePrivacyDlpV2Table'- { _gpdvtRows :: !(Maybe [GooglePrivacyDlpV2Row])- , _gpdvtHeaders :: !(Maybe [GooglePrivacyDlpV2FieldId])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Table' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtRows'------ * 'gpdvtHeaders'-googlePrivacyDlpV2Table- :: GooglePrivacyDlpV2Table-googlePrivacyDlpV2Table =- GooglePrivacyDlpV2Table'- { _gpdvtRows = Nothing- , _gpdvtHeaders = Nothing- }--gpdvtRows :: Lens' GooglePrivacyDlpV2Table [GooglePrivacyDlpV2Row]-gpdvtRows- = lens _gpdvtRows (\ s a -> s{_gpdvtRows = a}) .- _Default- . _Coerce--gpdvtHeaders :: Lens' GooglePrivacyDlpV2Table [GooglePrivacyDlpV2FieldId]-gpdvtHeaders- = lens _gpdvtHeaders (\ s a -> s{_gpdvtHeaders = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2Table where- parseJSON- = withObject "GooglePrivacyDlpV2Table"- (\ o ->- GooglePrivacyDlpV2Table' <$>- (o .:? "rows" .!= mempty) <*>- (o .:? "headers" .!= mempty))--instance ToJSON GooglePrivacyDlpV2Table where- toJSON GooglePrivacyDlpV2Table'{..}- = object- (catMaybes- [("rows" .=) <$> _gpdvtRows,- ("headers" .=) <$> _gpdvtHeaders])---- | Result of the l-diversity computation.------ /See:/ 'googlePrivacyDlpV2LDiversityResult' smart constructor.-newtype GooglePrivacyDlpV2LDiversityResult = GooglePrivacyDlpV2LDiversityResult'- { _gpdvldrSensitiveValueFrequencyHistogramBuckets :: Maybe [GooglePrivacyDlpV2LDiversityHistogramBucket]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2LDiversityResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvldrSensitiveValueFrequencyHistogramBuckets'-googlePrivacyDlpV2LDiversityResult- :: GooglePrivacyDlpV2LDiversityResult-googlePrivacyDlpV2LDiversityResult =- GooglePrivacyDlpV2LDiversityResult'- { _gpdvldrSensitiveValueFrequencyHistogramBuckets = Nothing- }---- | Histogram of l-diversity equivalence class sensitive value frequencies.-gpdvldrSensitiveValueFrequencyHistogramBuckets :: Lens' GooglePrivacyDlpV2LDiversityResult [GooglePrivacyDlpV2LDiversityHistogramBucket]-gpdvldrSensitiveValueFrequencyHistogramBuckets- = lens- _gpdvldrSensitiveValueFrequencyHistogramBuckets- (\ s a ->- s{_gpdvldrSensitiveValueFrequencyHistogramBuckets =- a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2LDiversityResult- where- parseJSON- = withObject "GooglePrivacyDlpV2LDiversityResult"- (\ o ->- GooglePrivacyDlpV2LDiversityResult' <$>- (o .:? "sensitiveValueFrequencyHistogramBuckets" .!=- mempty))--instance ToJSON GooglePrivacyDlpV2LDiversityResult- where- toJSON GooglePrivacyDlpV2LDiversityResult'{..}- = object- (catMaybes- [("sensitiveValueFrequencyHistogramBuckets" .=) <$>- _gpdvldrSensitiveValueFrequencyHistogramBuckets])---- | Reidentifiability metric. This corresponds to a risk model similar to--- what is called \"journalist risk\" in the literature, except the attack--- dataset is statistically modeled instead of being perfectly known. This--- can be done using publicly available data (like the US Census), or using--- a custom statistical model (indicated as one or several BigQuery--- tables), or by extrapolating from the distribution of values in the--- input dataset. A column with a semantic tag attached.------ /See:/ 'googlePrivacyDlpV2KMapEstimationConfig' smart constructor.-data GooglePrivacyDlpV2KMapEstimationConfig = GooglePrivacyDlpV2KMapEstimationConfig'- { _gpdvkmecAuxiliaryTables :: !(Maybe [GooglePrivacyDlpV2AuxiliaryTable])- , _gpdvkmecRegionCode :: !(Maybe Text)- , _gpdvkmecQuasiIds :: !(Maybe [GooglePrivacyDlpV2TaggedField])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkmecAuxiliaryTables'------ * 'gpdvkmecRegionCode'------ * 'gpdvkmecQuasiIds'-googlePrivacyDlpV2KMapEstimationConfig- :: GooglePrivacyDlpV2KMapEstimationConfig-googlePrivacyDlpV2KMapEstimationConfig =- GooglePrivacyDlpV2KMapEstimationConfig'- { _gpdvkmecAuxiliaryTables = Nothing- , _gpdvkmecRegionCode = Nothing- , _gpdvkmecQuasiIds = Nothing- }---- | Several auxiliary tables can be used in the analysis. Each custom_tag--- used to tag a quasi-identifiers column must appear in exactly one column--- of one auxiliary table.-gpdvkmecAuxiliaryTables :: Lens' GooglePrivacyDlpV2KMapEstimationConfig [GooglePrivacyDlpV2AuxiliaryTable]-gpdvkmecAuxiliaryTables- = lens _gpdvkmecAuxiliaryTables- (\ s a -> s{_gpdvkmecAuxiliaryTables = a})- . _Default- . _Coerce---- | ISO 3166-1 alpha-2 region code to use in the statistical modeling.--- Required if no column is tagged with a region-specific InfoType (like--- US_ZIP_5) or a region code.-gpdvkmecRegionCode :: Lens' GooglePrivacyDlpV2KMapEstimationConfig (Maybe Text)-gpdvkmecRegionCode- = lens _gpdvkmecRegionCode- (\ s a -> s{_gpdvkmecRegionCode = a})---- | Fields considered to be quasi-identifiers. No two columns can have the--- same tag. [required]-gpdvkmecQuasiIds :: Lens' GooglePrivacyDlpV2KMapEstimationConfig [GooglePrivacyDlpV2TaggedField]-gpdvkmecQuasiIds- = lens _gpdvkmecQuasiIds- (\ s a -> s{_gpdvkmecQuasiIds = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2KMapEstimationConfig where- parseJSON- = withObject "GooglePrivacyDlpV2KMapEstimationConfig"- (\ o ->- GooglePrivacyDlpV2KMapEstimationConfig' <$>- (o .:? "auxiliaryTables" .!= mempty) <*>- (o .:? "regionCode")- <*> (o .:? "quasiIds" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2KMapEstimationConfig where- toJSON GooglePrivacyDlpV2KMapEstimationConfig'{..}- = object- (catMaybes- [("auxiliaryTables" .=) <$> _gpdvkmecAuxiliaryTables,- ("regionCode" .=) <$> _gpdvkmecRegionCode,- ("quasiIds" .=) <$> _gpdvkmecQuasiIds])---- | Replaces an identifier with a surrogate using FPE with the FFX mode of--- operation; however when used in the \`ReidentifyContent\` API method, it--- serves the opposite function by reversing the surrogate back into the--- original identifier. The identifier must be encoded as ASCII. For a--- given crypto key and context, the same identifier will be replaced with--- the same surrogate. Identifiers must be at least two characters long. In--- the case that the identifier is the empty string, it will be skipped.--- See https:\/\/cloud.google.com\/dlp\/docs\/pseudonymization to learn--- more.------ /See:/ 'googlePrivacyDlpV2CryptoReplaceFfxFpeConfig' smart constructor.-data GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig = GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'- { _gpdvcrffcContext :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvcrffcCommonAlphabet :: !(Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfigCommonAlphabet)- , _gpdvcrffcSurrogateInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvcrffcCustomAlphabet :: !(Maybe Text)- , _gpdvcrffcCryptoKey :: !(Maybe GooglePrivacyDlpV2CryptoKey)- , _gpdvcrffcRadix :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcrffcContext'------ * 'gpdvcrffcCommonAlphabet'------ * 'gpdvcrffcSurrogateInfoType'------ * 'gpdvcrffcCustomAlphabet'------ * 'gpdvcrffcCryptoKey'------ * 'gpdvcrffcRadix'-googlePrivacyDlpV2CryptoReplaceFfxFpeConfig- :: GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig-googlePrivacyDlpV2CryptoReplaceFfxFpeConfig =- GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'- { _gpdvcrffcContext = Nothing- , _gpdvcrffcCommonAlphabet = Nothing- , _gpdvcrffcSurrogateInfoType = Nothing- , _gpdvcrffcCustomAlphabet = Nothing- , _gpdvcrffcCryptoKey = Nothing- , _gpdvcrffcRadix = Nothing- }---- | The \'tweak\', a context may be used for higher security since the same--- identifier in two different contexts won\'t be given the same surrogate.--- If the context is not set, a default tweak will be used. If the context--- is set but: 1. there is no record present when transforming a given--- value or 1. the field is not present when transforming a given value, a--- default tweak will be used. Note that case (1) is expected when an--- \`InfoTypeTransformation\` is applied to both structured and--- non-structured \`ContentItem\`s. Currently, the referenced field may be--- of value type integer or string. The tweak is constructed as a sequence--- of bytes in big endian byte order such that: - a 64 bit integer is--- encoded followed by a single byte of value 1 - a string is encoded in--- UTF-8 format followed by a single byte of value 2-gpdvcrffcContext :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvcrffcContext- = lens _gpdvcrffcContext- (\ s a -> s{_gpdvcrffcContext = a})--gpdvcrffcCommonAlphabet :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfigCommonAlphabet)-gpdvcrffcCommonAlphabet- = lens _gpdvcrffcCommonAlphabet- (\ s a -> s{_gpdvcrffcCommonAlphabet = a})---- | The custom infoType to annotate the surrogate with. This annotation will--- be applied to the surrogate by prefixing it with the name of the custom--- infoType followed by the number of characters comprising the surrogate.--- The following scheme defines the format:--- info_type_name(surrogate_character_count):surrogate For example, if the--- name of custom infoType is \'MY_TOKEN_INFO_TYPE\' and the surrogate is--- \'abc\', the full replacement value will be:--- \'MY_TOKEN_INFO_TYPE(3):abc\' This annotation identifies the surrogate--- when inspecting content using the custom infoType--- [\`SurrogateType\`](\/dlp\/docs\/reference\/rest\/v2\/InspectConfig#surrogatetype).--- This facilitates reversal of the surrogate when it occurs in free text.--- In order for inspection to work properly, the name of this infoType must--- not occur naturally anywhere in your data; otherwise, inspection may--- find a surrogate that does not correspond to an actual identifier.--- Therefore, choose your custom infoType name carefully after considering--- what your data looks like. One way to select a name that has a high--- chance of yielding reliable detection is to include one or more unicode--- characters that are highly improbable to exist in your data. For--- example, assuming your data is entered from a regular ASCII keyboard,--- the symbol with the hex code point 29DD might be used like so:--- ⧝MY_TOKEN_TYPE-gpdvcrffcSurrogateInfoType :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2InfoType)-gpdvcrffcSurrogateInfoType- = lens _gpdvcrffcSurrogateInfoType- (\ s a -> s{_gpdvcrffcSurrogateInfoType = a})---- | This is supported by mapping these to the alphanumeric characters that--- the FFX mode natively supports. This happens before\/after--- encryption\/decryption. Each character listed must appear only once.--- Number of characters must be in the range [2, 62]. This must be encoded--- as ASCII. The order of characters does not matter.-gpdvcrffcCustomAlphabet :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe Text)-gpdvcrffcCustomAlphabet- = lens _gpdvcrffcCustomAlphabet- (\ s a -> s{_gpdvcrffcCustomAlphabet = a})---- | The key used by the encryption algorithm. [required]-gpdvcrffcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2CryptoKey)-gpdvcrffcCryptoKey- = lens _gpdvcrffcCryptoKey- (\ s a -> s{_gpdvcrffcCryptoKey = a})---- | The native way to select the alphabet. Must be in the range [2, 62].-gpdvcrffcRadix :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe Int32)-gpdvcrffcRadix- = lens _gpdvcrffcRadix- (\ s a -> s{_gpdvcrffcRadix = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig"- (\ o ->- GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' <$>- (o .:? "context") <*> (o .:? "commonAlphabet") <*>- (o .:? "surrogateInfoType")- <*> (o .:? "customAlphabet")- <*> (o .:? "cryptoKey")- <*> (o .:? "radix"))--instance ToJSON- GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig where- toJSON- GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'{..}- = object- (catMaybes- [("context" .=) <$> _gpdvcrffcContext,- ("commonAlphabet" .=) <$> _gpdvcrffcCommonAlphabet,- ("surrogateInfoType" .=) <$>- _gpdvcrffcSurrogateInfoType,- ("customAlphabet" .=) <$> _gpdvcrffcCustomAlphabet,- ("cryptoKey" .=) <$> _gpdvcrffcCryptoKey,- ("radix" .=) <$> _gpdvcrffcRadix])---- | A quasi-identifier column has a custom_tag, used to know which column in--- the data corresponds to which column in the statistical model.------ /See:/ 'googlePrivacyDlpV2QuasiIdentifierField' smart constructor.-data GooglePrivacyDlpV2QuasiIdentifierField = GooglePrivacyDlpV2QuasiIdentifierField'- { _gField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gCustomTag :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2QuasiIdentifierField' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gField'------ * 'gCustomTag'-googlePrivacyDlpV2QuasiIdentifierField- :: GooglePrivacyDlpV2QuasiIdentifierField-googlePrivacyDlpV2QuasiIdentifierField =- GooglePrivacyDlpV2QuasiIdentifierField'- { _gField = Nothing- , _gCustomTag = Nothing- }--gField :: Lens' GooglePrivacyDlpV2QuasiIdentifierField (Maybe GooglePrivacyDlpV2FieldId)-gField = lens _gField (\ s a -> s{_gField = a})--gCustomTag :: Lens' GooglePrivacyDlpV2QuasiIdentifierField (Maybe Text)-gCustomTag- = lens _gCustomTag (\ s a -> s{_gCustomTag = a})--instance FromJSON- GooglePrivacyDlpV2QuasiIdentifierField where- parseJSON- = withObject "GooglePrivacyDlpV2QuasiIdentifierField"- (\ o ->- GooglePrivacyDlpV2QuasiIdentifierField' <$>- (o .:? "field") <*> (o .:? "customTag"))--instance ToJSON- GooglePrivacyDlpV2QuasiIdentifierField where- toJSON GooglePrivacyDlpV2QuasiIdentifierField'{..}- = object- (catMaybes- [("field" .=) <$> _gField,- ("customTag" .=) <$> _gCustomTag])---- | Type of information detected by the API.------ /See:/ 'googlePrivacyDlpV2InfoType' smart constructor.-newtype GooglePrivacyDlpV2InfoType = GooglePrivacyDlpV2InfoType'- { _gpdvitName :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvitName'-googlePrivacyDlpV2InfoType- :: GooglePrivacyDlpV2InfoType-googlePrivacyDlpV2InfoType =- GooglePrivacyDlpV2InfoType'- { _gpdvitName = Nothing- }---- | Name of the information type. Either a name of your choosing when--- creating a CustomInfoType, or one of the names listed at--- https:\/\/cloud.google.com\/dlp\/docs\/infotypes-reference when--- specifying a built-in type. InfoType names should conform to the pattern--- [a-zA-Z0-9_]{1,64}.-gpdvitName :: Lens' GooglePrivacyDlpV2InfoType (Maybe Text)-gpdvitName- = lens _gpdvitName (\ s a -> s{_gpdvitName = a})--instance FromJSON GooglePrivacyDlpV2InfoType where- parseJSON- = withObject "GooglePrivacyDlpV2InfoType"- (\ o ->- GooglePrivacyDlpV2InfoType' <$> (o .:? "name"))--instance ToJSON GooglePrivacyDlpV2InfoType where- toJSON GooglePrivacyDlpV2InfoType'{..}- = object (catMaybes [("name" .=) <$> _gpdvitName])---- | The inspectTemplate contains a configuration (set of types of sensitive--- data to be detected) to be used anywhere you otherwise would normally--- specify InspectConfig. See--- https:\/\/cloud.google.com\/dlp\/docs\/concepts-templates to learn more.------ /See:/ 'googlePrivacyDlpV2InspectTemplate' smart constructor.-data GooglePrivacyDlpV2InspectTemplate = GooglePrivacyDlpV2InspectTemplate'- { _gInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gUpdateTime :: !(Maybe DateTime')- , _gName :: !(Maybe Text)- , _gDisplayName :: !(Maybe Text)- , _gDescription :: !(Maybe Text)- , _gCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectTemplate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gInspectConfig'------ * 'gUpdateTime'------ * 'gName'------ * 'gDisplayName'------ * 'gDescription'------ * 'gCreateTime'-googlePrivacyDlpV2InspectTemplate- :: GooglePrivacyDlpV2InspectTemplate-googlePrivacyDlpV2InspectTemplate =- GooglePrivacyDlpV2InspectTemplate'- { _gInspectConfig = Nothing- , _gUpdateTime = Nothing- , _gName = Nothing- , _gDisplayName = Nothing- , _gDescription = Nothing- , _gCreateTime = Nothing- }---- | The core content of the template. Configuration of the scanning process.-gInspectConfig :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe GooglePrivacyDlpV2InspectConfig)-gInspectConfig- = lens _gInspectConfig- (\ s a -> s{_gInspectConfig = a})---- | The last update timestamp of a inspectTemplate, output only field.-gUpdateTime :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe UTCTime)-gUpdateTime- = lens _gUpdateTime (\ s a -> s{_gUpdateTime = a}) .- mapping _DateTime---- | The template name. Output only. The template will have one of the--- following formats:--- \`projects\/PROJECT_ID\/inspectTemplates\/TEMPLATE_ID\` OR--- \`organizations\/ORGANIZATION_ID\/inspectTemplates\/TEMPLATE_ID\`-gName :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)-gName = lens _gName (\ s a -> s{_gName = a})---- | Display name (max 256 chars).-gDisplayName :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)-gDisplayName- = lens _gDisplayName (\ s a -> s{_gDisplayName = a})---- | Short description (max 256 chars).-gDescription :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)-gDescription- = lens _gDescription (\ s a -> s{_gDescription = a})---- | The creation timestamp of a inspectTemplate, output only field.-gCreateTime :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe UTCTime)-gCreateTime- = lens _gCreateTime (\ s a -> s{_gCreateTime = a}) .- mapping _DateTime--instance FromJSON GooglePrivacyDlpV2InspectTemplate- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectTemplate"- (\ o ->- GooglePrivacyDlpV2InspectTemplate' <$>- (o .:? "inspectConfig") <*> (o .:? "updateTime") <*>- (o .:? "name")- <*> (o .:? "displayName")- <*> (o .:? "description")- <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2InspectTemplate- where- toJSON GooglePrivacyDlpV2InspectTemplate'{..}- = object- (catMaybes- [("inspectConfig" .=) <$> _gInspectConfig,- ("updateTime" .=) <$> _gUpdateTime,- ("name" .=) <$> _gName,- ("displayName" .=) <$> _gDisplayName,- ("description" .=) <$> _gDescription,- ("createTime" .=) <$> _gCreateTime])------- /See:/ 'googlePrivacyDlpV2KAnonymityHistogramBucket' smart constructor.-data GooglePrivacyDlpV2KAnonymityHistogramBucket = GooglePrivacyDlpV2KAnonymityHistogramBucket'- { _gpdvkahbEquivalenceClassSizeLowerBound :: !(Maybe (Textual Int64))- , _gpdvkahbEquivalenceClassSizeUpperBound :: !(Maybe (Textual Int64))- , _gpdvkahbBucketValues :: !(Maybe [GooglePrivacyDlpV2KAnonymityEquivalenceClass])- , _gpdvkahbBucketSize :: !(Maybe (Textual Int64))- , _gpdvkahbBucketValueCount :: !(Maybe (Textual Int64))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KAnonymityHistogramBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkahbEquivalenceClassSizeLowerBound'------ * 'gpdvkahbEquivalenceClassSizeUpperBound'------ * 'gpdvkahbBucketValues'------ * 'gpdvkahbBucketSize'------ * 'gpdvkahbBucketValueCount'-googlePrivacyDlpV2KAnonymityHistogramBucket- :: GooglePrivacyDlpV2KAnonymityHistogramBucket-googlePrivacyDlpV2KAnonymityHistogramBucket =- GooglePrivacyDlpV2KAnonymityHistogramBucket'- { _gpdvkahbEquivalenceClassSizeLowerBound = Nothing- , _gpdvkahbEquivalenceClassSizeUpperBound = Nothing- , _gpdvkahbBucketValues = Nothing- , _gpdvkahbBucketSize = Nothing- , _gpdvkahbBucketValueCount = Nothing- }---- | Lower bound on the size of the equivalence classes in this bucket.-gpdvkahbEquivalenceClassSizeLowerBound :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)-gpdvkahbEquivalenceClassSizeLowerBound- = lens _gpdvkahbEquivalenceClassSizeLowerBound- (\ s a ->- s{_gpdvkahbEquivalenceClassSizeLowerBound = a})- . mapping _Coerce---- | Upper bound on the size of the equivalence classes in this bucket.-gpdvkahbEquivalenceClassSizeUpperBound :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)-gpdvkahbEquivalenceClassSizeUpperBound- = lens _gpdvkahbEquivalenceClassSizeUpperBound- (\ s a ->- s{_gpdvkahbEquivalenceClassSizeUpperBound = a})- . mapping _Coerce---- | Sample of equivalence classes in this bucket. The total number of--- classes returned per bucket is capped at 20.-gpdvkahbBucketValues :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket [GooglePrivacyDlpV2KAnonymityEquivalenceClass]-gpdvkahbBucketValues- = lens _gpdvkahbBucketValues- (\ s a -> s{_gpdvkahbBucketValues = a})- . _Default- . _Coerce---- | Total number of equivalence classes in this bucket.-gpdvkahbBucketSize :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)-gpdvkahbBucketSize- = lens _gpdvkahbBucketSize- (\ s a -> s{_gpdvkahbBucketSize = a})- . mapping _Coerce---- | Total number of distinct equivalence classes in this bucket.-gpdvkahbBucketValueCount :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)-gpdvkahbBucketValueCount- = lens _gpdvkahbBucketValueCount- (\ s a -> s{_gpdvkahbBucketValueCount = a})- . mapping _Coerce--instance FromJSON- GooglePrivacyDlpV2KAnonymityHistogramBucket where- parseJSON- = withObject- "GooglePrivacyDlpV2KAnonymityHistogramBucket"- (\ o ->- GooglePrivacyDlpV2KAnonymityHistogramBucket' <$>- (o .:? "equivalenceClassSizeLowerBound") <*>- (o .:? "equivalenceClassSizeUpperBound")- <*> (o .:? "bucketValues" .!= mempty)- <*> (o .:? "bucketSize")- <*> (o .:? "bucketValueCount"))--instance ToJSON- GooglePrivacyDlpV2KAnonymityHistogramBucket where- toJSON- GooglePrivacyDlpV2KAnonymityHistogramBucket'{..}- = object- (catMaybes- [("equivalenceClassSizeLowerBound" .=) <$>- _gpdvkahbEquivalenceClassSizeLowerBound,- ("equivalenceClassSizeUpperBound" .=) <$>- _gpdvkahbEquivalenceClassSizeUpperBound,- ("bucketValues" .=) <$> _gpdvkahbBucketValues,- ("bucketSize" .=) <$> _gpdvkahbBucketSize,- ("bucketValueCount" .=) <$>- _gpdvkahbBucketValueCount])---- | Request to re-identify an item.------ /See:/ 'googlePrivacyDlpV2ReidentifyContentRequest' smart constructor.-data GooglePrivacyDlpV2ReidentifyContentRequest = GooglePrivacyDlpV2ReidentifyContentRequest'- { _gooInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)- , _gooReidentifyTemplateName :: !(Maybe Text)- , _gooItem :: !(Maybe GooglePrivacyDlpV2ContentItem)- , _gooInspectTemplateName :: !(Maybe Text)- , _gooReidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ReidentifyContentRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gooInspectConfig'------ * 'gooReidentifyTemplateName'------ * 'gooItem'------ * 'gooInspectTemplateName'------ * 'gooReidentifyConfig'-googlePrivacyDlpV2ReidentifyContentRequest- :: GooglePrivacyDlpV2ReidentifyContentRequest-googlePrivacyDlpV2ReidentifyContentRequest =- GooglePrivacyDlpV2ReidentifyContentRequest'- { _gooInspectConfig = Nothing- , _gooReidentifyTemplateName = Nothing- , _gooItem = Nothing- , _gooInspectTemplateName = Nothing- , _gooReidentifyConfig = Nothing- }---- | Configuration for the inspector.-gooInspectConfig :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)-gooInspectConfig- = lens _gooInspectConfig- (\ s a -> s{_gooInspectConfig = a})---- | Optional template to use. References an instance of--- \`DeidentifyTemplate\`. Any configuration directly specified in--- \`reidentify_config\` or \`inspect_config\` will override those set in--- the template. Singular fields that are set in this request will replace--- their corresponding fields in the template. Repeated fields are--- appended. Singular sub-messages and groups are recursively merged.-gooReidentifyTemplateName :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe Text)-gooReidentifyTemplateName- = lens _gooReidentifyTemplateName- (\ s a -> s{_gooReidentifyTemplateName = a})---- | The item to re-identify. Will be treated as text.-gooItem :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2ContentItem)-gooItem = lens _gooItem (\ s a -> s{_gooItem = a})---- | Optional template to use. Any configuration directly specified in--- \`inspect_config\` will override those set in the template. Singular--- fields that are set in this request will replace their corresponding--- fields in the template. Repeated fields are appended. Singular--- sub-messages and groups are recursively merged.-gooInspectTemplateName :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe Text)-gooInspectTemplateName- = lens _gooInspectTemplateName- (\ s a -> s{_gooInspectTemplateName = a})---- | Configuration for the re-identification of the content item. This field--- shares the same proto message type that is used for de-identification,--- however its usage here is for the reversal of the previous--- de-identification. Re-identification is performed by examining the--- transformations used to de-identify the items and executing the reverse.--- This requires that only reversible transformations be provided here. The--- reversible transformations are: - \`CryptoReplaceFfxFpeConfig\`-gooReidentifyConfig :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2DeidentifyConfig)-gooReidentifyConfig- = lens _gooReidentifyConfig- (\ s a -> s{_gooReidentifyConfig = a})--instance FromJSON- GooglePrivacyDlpV2ReidentifyContentRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2ReidentifyContentRequest"- (\ o ->- GooglePrivacyDlpV2ReidentifyContentRequest' <$>- (o .:? "inspectConfig") <*>- (o .:? "reidentifyTemplateName")- <*> (o .:? "item")- <*> (o .:? "inspectTemplateName")- <*> (o .:? "reidentifyConfig"))--instance ToJSON- GooglePrivacyDlpV2ReidentifyContentRequest where- toJSON- GooglePrivacyDlpV2ReidentifyContentRequest'{..}- = object- (catMaybes- [("inspectConfig" .=) <$> _gooInspectConfig,- ("reidentifyTemplateName" .=) <$>- _gooReidentifyTemplateName,- ("item" .=) <$> _gooItem,- ("inspectTemplateName" .=) <$>- _gooInspectTemplateName,- ("reidentifyConfig" .=) <$> _gooReidentifyConfig])---- | Pseudonymization method that generates surrogates via cryptographic--- hashing. Uses SHA-256. The key size must be either 32 or 64 bytes.--- Outputs a base64 encoded representation of the hashed output (for--- example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only--- string and integer values can be hashed. See--- https:\/\/cloud.google.com\/dlp\/docs\/pseudonymization to learn more.------ /See:/ 'googlePrivacyDlpV2CryptoHashConfig' smart constructor.-newtype GooglePrivacyDlpV2CryptoHashConfig = GooglePrivacyDlpV2CryptoHashConfig'- { _gpdvchcCryptoKey :: Maybe GooglePrivacyDlpV2CryptoKey- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CryptoHashConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvchcCryptoKey'-googlePrivacyDlpV2CryptoHashConfig- :: GooglePrivacyDlpV2CryptoHashConfig-googlePrivacyDlpV2CryptoHashConfig =- GooglePrivacyDlpV2CryptoHashConfig'- { _gpdvchcCryptoKey = Nothing- }---- | The key used by the hash function.-gpdvchcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoHashConfig (Maybe GooglePrivacyDlpV2CryptoKey)-gpdvchcCryptoKey- = lens _gpdvchcCryptoKey- (\ s a -> s{_gpdvchcCryptoKey = a})--instance FromJSON GooglePrivacyDlpV2CryptoHashConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2CryptoHashConfig"- (\ o ->- GooglePrivacyDlpV2CryptoHashConfig' <$>- (o .:? "cryptoKey"))--instance ToJSON GooglePrivacyDlpV2CryptoHashConfig- where- toJSON GooglePrivacyDlpV2CryptoHashConfig'{..}- = object- (catMaybes [("cryptoKey" .=) <$> _gpdvchcCryptoKey])---- | Max findings configuration per infoType, per content item or long--- running DlpJob.------ /See:/ 'googlePrivacyDlpV2InfoTypeLimit' smart constructor.-data GooglePrivacyDlpV2InfoTypeLimit = GooglePrivacyDlpV2InfoTypeLimit'- { _gpdvitlMaxFindings :: !(Maybe (Textual Int32))- , _gpdvitlInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InfoTypeLimit' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvitlMaxFindings'------ * 'gpdvitlInfoType'-googlePrivacyDlpV2InfoTypeLimit- :: GooglePrivacyDlpV2InfoTypeLimit-googlePrivacyDlpV2InfoTypeLimit =- GooglePrivacyDlpV2InfoTypeLimit'- { _gpdvitlMaxFindings = Nothing- , _gpdvitlInfoType = Nothing- }---- | Max findings limit for the given infoType.-gpdvitlMaxFindings :: Lens' GooglePrivacyDlpV2InfoTypeLimit (Maybe Int32)-gpdvitlMaxFindings- = lens _gpdvitlMaxFindings- (\ s a -> s{_gpdvitlMaxFindings = a})- . mapping _Coerce---- | Type of information the findings limit applies to. Only one limit per--- info_type should be provided. If InfoTypeLimit does not have an--- info_type, the DLP API applies the limit against all info_types that are--- found but not specified in another InfoTypeLimit.-gpdvitlInfoType :: Lens' GooglePrivacyDlpV2InfoTypeLimit (Maybe GooglePrivacyDlpV2InfoType)-gpdvitlInfoType- = lens _gpdvitlInfoType- (\ s a -> s{_gpdvitlInfoType = a})--instance FromJSON GooglePrivacyDlpV2InfoTypeLimit- where- parseJSON- = withObject "GooglePrivacyDlpV2InfoTypeLimit"- (\ o ->- GooglePrivacyDlpV2InfoTypeLimit' <$>- (o .:? "maxFindings") <*> (o .:? "infoType"))--instance ToJSON GooglePrivacyDlpV2InfoTypeLimit where- toJSON GooglePrivacyDlpV2InfoTypeLimit'{..}- = object- (catMaybes- [("maxFindings" .=) <$> _gpdvitlMaxFindings,- ("infoType" .=) <$> _gpdvitlInfoType])---- | Location of a finding within a table.------ /See:/ 'googlePrivacyDlpV2TableLocation' smart constructor.-newtype GooglePrivacyDlpV2TableLocation = GooglePrivacyDlpV2TableLocation'- { _gpdvtlRowIndex :: Maybe (Textual Int64)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TableLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtlRowIndex'-googlePrivacyDlpV2TableLocation- :: GooglePrivacyDlpV2TableLocation-googlePrivacyDlpV2TableLocation =- GooglePrivacyDlpV2TableLocation'- { _gpdvtlRowIndex = Nothing- }---- | The zero-based index of the row where the finding is located.-gpdvtlRowIndex :: Lens' GooglePrivacyDlpV2TableLocation (Maybe Int64)-gpdvtlRowIndex- = lens _gpdvtlRowIndex- (\ s a -> s{_gpdvtlRowIndex = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2TableLocation- where- parseJSON- = withObject "GooglePrivacyDlpV2TableLocation"- (\ o ->- GooglePrivacyDlpV2TableLocation' <$>- (o .:? "rowIndex"))--instance ToJSON GooglePrivacyDlpV2TableLocation where- toJSON GooglePrivacyDlpV2TableLocation'{..}- = object- (catMaybes [("rowIndex" .=) <$> _gpdvtlRowIndex])------- /See:/ 'googlePrivacyDlpV2TimeZone' smart constructor.-newtype GooglePrivacyDlpV2TimeZone = GooglePrivacyDlpV2TimeZone'- { _gpdvtzOffSetMinutes :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TimeZone' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtzOffSetMinutes'-googlePrivacyDlpV2TimeZone- :: GooglePrivacyDlpV2TimeZone-googlePrivacyDlpV2TimeZone =- GooglePrivacyDlpV2TimeZone'- { _gpdvtzOffSetMinutes = Nothing- }---- | Set only if the offset can be determined. Positive for time ahead of--- UTC. E.g. For \"UTC-9\", this value is -540.-gpdvtzOffSetMinutes :: Lens' GooglePrivacyDlpV2TimeZone (Maybe Int32)-gpdvtzOffSetMinutes- = lens _gpdvtzOffSetMinutes- (\ s a -> s{_gpdvtzOffSetMinutes = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2TimeZone where- parseJSON- = withObject "GooglePrivacyDlpV2TimeZone"- (\ o ->- GooglePrivacyDlpV2TimeZone' <$>- (o .:? "offsetMinutes"))--instance ToJSON GooglePrivacyDlpV2TimeZone where- toJSON GooglePrivacyDlpV2TimeZone'{..}- = object- (catMaybes- [("offsetMinutes" .=) <$> _gpdvtzOffSetMinutes])---- | Shared message indicating Cloud storage type.------ /See:/ 'googlePrivacyDlpV2StorageConfig' smart constructor.-data GooglePrivacyDlpV2StorageConfig = GooglePrivacyDlpV2StorageConfig'- { _gpdvscTimespanConfig :: !(Maybe GooglePrivacyDlpV2TimespanConfig)- , _gpdvscBigQueryOptions :: !(Maybe GooglePrivacyDlpV2BigQueryOptions)- , _gpdvscDatastoreOptions :: !(Maybe GooglePrivacyDlpV2DatastoreOptions)- , _gpdvscCloudStorageOptions :: !(Maybe GooglePrivacyDlpV2CloudStorageOptions)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StorageConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvscTimespanConfig'------ * 'gpdvscBigQueryOptions'------ * 'gpdvscDatastoreOptions'------ * 'gpdvscCloudStorageOptions'-googlePrivacyDlpV2StorageConfig- :: GooglePrivacyDlpV2StorageConfig-googlePrivacyDlpV2StorageConfig =- GooglePrivacyDlpV2StorageConfig'- { _gpdvscTimespanConfig = Nothing- , _gpdvscBigQueryOptions = Nothing- , _gpdvscDatastoreOptions = Nothing- , _gpdvscCloudStorageOptions = Nothing- }--gpdvscTimespanConfig :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2TimespanConfig)-gpdvscTimespanConfig- = lens _gpdvscTimespanConfig- (\ s a -> s{_gpdvscTimespanConfig = a})---- | BigQuery options specification.-gpdvscBigQueryOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2BigQueryOptions)-gpdvscBigQueryOptions- = lens _gpdvscBigQueryOptions- (\ s a -> s{_gpdvscBigQueryOptions = a})---- | Google Cloud Datastore options specification.-gpdvscDatastoreOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2DatastoreOptions)-gpdvscDatastoreOptions- = lens _gpdvscDatastoreOptions- (\ s a -> s{_gpdvscDatastoreOptions = a})---- | Google Cloud Storage options specification.-gpdvscCloudStorageOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2CloudStorageOptions)-gpdvscCloudStorageOptions- = lens _gpdvscCloudStorageOptions- (\ s a -> s{_gpdvscCloudStorageOptions = a})--instance FromJSON GooglePrivacyDlpV2StorageConfig- where- parseJSON- = withObject "GooglePrivacyDlpV2StorageConfig"- (\ o ->- GooglePrivacyDlpV2StorageConfig' <$>- (o .:? "timespanConfig") <*>- (o .:? "bigQueryOptions")- <*> (o .:? "datastoreOptions")- <*> (o .:? "cloudStorageOptions"))--instance ToJSON GooglePrivacyDlpV2StorageConfig where- toJSON GooglePrivacyDlpV2StorageConfig'{..}- = object- (catMaybes- [("timespanConfig" .=) <$> _gpdvscTimespanConfig,- ("bigQueryOptions" .=) <$> _gpdvscBigQueryOptions,- ("datastoreOptions" .=) <$> _gpdvscDatastoreOptions,- ("cloudStorageOptions" .=) <$>- _gpdvscCloudStorageOptions])---- | Set of primitive values supported by the system. Note that for the--- purposes of inspection or transformation, the number of bytes considered--- to comprise a \'Value\' is based on its representation as a UTF-8--- encoded string. For example, if \'integer_value\' is set to 123456789,--- the number of bytes would be counted as 9, even though an int64 only--- holds up to 8 bytes of data.------ /See:/ 'googlePrivacyDlpV2Value' smart constructor.-data GooglePrivacyDlpV2Value = GooglePrivacyDlpV2Value'- { _gpdvvDayOfWeekValue :: !(Maybe GooglePrivacyDlpV2ValueDayOfWeekValue)- , _gpdvvIntegerValue :: !(Maybe (Textual Int64))- , _gpdvvTimestampValue :: !(Maybe DateTime')- , _gpdvvTimeValue :: !(Maybe GoogleTypeTimeOfDay)- , _gpdvvStringValue :: !(Maybe Text)- , _gpdvvDateValue :: !(Maybe GoogleTypeDate)- , _gpdvvBooleanValue :: !(Maybe Bool)- , _gpdvvFloatValue :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Value' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvvDayOfWeekValue'------ * 'gpdvvIntegerValue'------ * 'gpdvvTimestampValue'------ * 'gpdvvTimeValue'------ * 'gpdvvStringValue'------ * 'gpdvvDateValue'------ * 'gpdvvBooleanValue'------ * 'gpdvvFloatValue'-googlePrivacyDlpV2Value- :: GooglePrivacyDlpV2Value-googlePrivacyDlpV2Value =- GooglePrivacyDlpV2Value'- { _gpdvvDayOfWeekValue = Nothing- , _gpdvvIntegerValue = Nothing- , _gpdvvTimestampValue = Nothing- , _gpdvvTimeValue = Nothing- , _gpdvvStringValue = Nothing- , _gpdvvDateValue = Nothing- , _gpdvvBooleanValue = Nothing- , _gpdvvFloatValue = Nothing- }--gpdvvDayOfWeekValue :: Lens' GooglePrivacyDlpV2Value (Maybe GooglePrivacyDlpV2ValueDayOfWeekValue)-gpdvvDayOfWeekValue- = lens _gpdvvDayOfWeekValue- (\ s a -> s{_gpdvvDayOfWeekValue = a})--gpdvvIntegerValue :: Lens' GooglePrivacyDlpV2Value (Maybe Int64)-gpdvvIntegerValue- = lens _gpdvvIntegerValue- (\ s a -> s{_gpdvvIntegerValue = a})- . mapping _Coerce--gpdvvTimestampValue :: Lens' GooglePrivacyDlpV2Value (Maybe UTCTime)-gpdvvTimestampValue- = lens _gpdvvTimestampValue- (\ s a -> s{_gpdvvTimestampValue = a})- . mapping _DateTime--gpdvvTimeValue :: Lens' GooglePrivacyDlpV2Value (Maybe GoogleTypeTimeOfDay)-gpdvvTimeValue- = lens _gpdvvTimeValue- (\ s a -> s{_gpdvvTimeValue = a})--gpdvvStringValue :: Lens' GooglePrivacyDlpV2Value (Maybe Text)-gpdvvStringValue- = lens _gpdvvStringValue- (\ s a -> s{_gpdvvStringValue = a})--gpdvvDateValue :: Lens' GooglePrivacyDlpV2Value (Maybe GoogleTypeDate)-gpdvvDateValue- = lens _gpdvvDateValue- (\ s a -> s{_gpdvvDateValue = a})--gpdvvBooleanValue :: Lens' GooglePrivacyDlpV2Value (Maybe Bool)-gpdvvBooleanValue- = lens _gpdvvBooleanValue- (\ s a -> s{_gpdvvBooleanValue = a})--gpdvvFloatValue :: Lens' GooglePrivacyDlpV2Value (Maybe Double)-gpdvvFloatValue- = lens _gpdvvFloatValue- (\ s a -> s{_gpdvvFloatValue = a})- . mapping _Coerce--instance FromJSON GooglePrivacyDlpV2Value where- parseJSON- = withObject "GooglePrivacyDlpV2Value"- (\ o ->- GooglePrivacyDlpV2Value' <$>- (o .:? "dayOfWeekValue") <*> (o .:? "integerValue")- <*> (o .:? "timestampValue")- <*> (o .:? "timeValue")- <*> (o .:? "stringValue")- <*> (o .:? "dateValue")- <*> (o .:? "booleanValue")- <*> (o .:? "floatValue"))--instance ToJSON GooglePrivacyDlpV2Value where- toJSON GooglePrivacyDlpV2Value'{..}- = object- (catMaybes- [("dayOfWeekValue" .=) <$> _gpdvvDayOfWeekValue,- ("integerValue" .=) <$> _gpdvvIntegerValue,- ("timestampValue" .=) <$> _gpdvvTimestampValue,- ("timeValue" .=) <$> _gpdvvTimeValue,- ("stringValue" .=) <$> _gpdvvStringValue,- ("dateValue" .=) <$> _gpdvvDateValue,- ("booleanValue" .=) <$> _gpdvvBooleanValue,- ("floatValue" .=) <$> _gpdvvFloatValue])---- | Custom information type based on a dictionary of words or phrases. This--- can be used to match sensitive information specific to the data, such as--- a list of employee IDs or job titles. Dictionary words are--- case-insensitive and all characters other than letters and digits in the--- unicode [Basic Multilingual--- Plane](https:\/\/en.wikipedia.org\/wiki\/Plane_%28Unicode%29#Basic_Multilingual_Plane)--- will be replaced with whitespace when scanning for matches, so the--- dictionary phrase \"Sam Johnson\" will match all three phrases \"sam--- johnson\", \"Sam, Johnson\", and \"Sam (Johnson)\". Additionally, the--- characters surrounding any match must be of a different type than the--- adjacent characters within the word, so letters must be next to--- non-letters and digits next to non-digits. For example, the dictionary--- word \"jen\" will match the first three letters of the text \"jen123\"--- but will return no matches for \"jennifer\". Dictionary words containing--- a large number of characters that are not letters or digits may result--- in unexpected findings because such characters are treated as--- whitespace. The [limits](https:\/\/cloud.google.com\/dlp\/limits) page--- contains details about the size limits of dictionaries. For dictionaries--- that do not fit within these constraints, consider using--- \`LargeCustomDictionaryConfig\` in the \`StoredInfoType\` API.------ /See:/ 'googlePrivacyDlpV2Dictionary' smart constructor.-data GooglePrivacyDlpV2Dictionary = GooglePrivacyDlpV2Dictionary'- { _gpdvdWordList :: !(Maybe GooglePrivacyDlpV2WordList)- , _gpdvdCloudStoragePath :: !(Maybe GooglePrivacyDlpV2CloudStoragePath)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Dictionary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdWordList'------ * 'gpdvdCloudStoragePath'-googlePrivacyDlpV2Dictionary- :: GooglePrivacyDlpV2Dictionary-googlePrivacyDlpV2Dictionary =- GooglePrivacyDlpV2Dictionary'- { _gpdvdWordList = Nothing- , _gpdvdCloudStoragePath = Nothing- }---- | List of words or phrases to search for.-gpdvdWordList :: Lens' GooglePrivacyDlpV2Dictionary (Maybe GooglePrivacyDlpV2WordList)-gpdvdWordList- = lens _gpdvdWordList- (\ s a -> s{_gpdvdWordList = a})---- | Newline-delimited file of words in Cloud Storage. Only a single file is--- accepted.-gpdvdCloudStoragePath :: Lens' GooglePrivacyDlpV2Dictionary (Maybe GooglePrivacyDlpV2CloudStoragePath)-gpdvdCloudStoragePath- = lens _gpdvdCloudStoragePath- (\ s a -> s{_gpdvdCloudStoragePath = a})--instance FromJSON GooglePrivacyDlpV2Dictionary where- parseJSON- = withObject "GooglePrivacyDlpV2Dictionary"- (\ o ->- GooglePrivacyDlpV2Dictionary' <$>- (o .:? "wordList") <*> (o .:? "cloudStoragePath"))--instance ToJSON GooglePrivacyDlpV2Dictionary where- toJSON GooglePrivacyDlpV2Dictionary'{..}- = object- (catMaybes- [("wordList" .=) <$> _gpdvdWordList,- ("cloudStoragePath" .=) <$> _gpdvdCloudStoragePath])---- | Result of a risk analysis operation request.------ /See:/ 'googlePrivacyDlpV2AnalyzeDataSourceRiskDetails' smart constructor.-data GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails = GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'- { _gpdvadsrdRequestedPrivacyMetric :: !(Maybe GooglePrivacyDlpV2PrivacyMetric)- , _gpdvadsrdRequestedSourceTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- , _gpdvadsrdLDiversityResult :: !(Maybe GooglePrivacyDlpV2LDiversityResult)- , _gpdvadsrdKAnonymityResult :: !(Maybe GooglePrivacyDlpV2KAnonymityResult)- , _gpdvadsrdKMapEstimationResult :: !(Maybe GooglePrivacyDlpV2KMapEstimationResult)- , _gpdvadsrdDeltaPresenceEstimationResult :: !(Maybe GooglePrivacyDlpV2DeltaPresenceEstimationResult)- , _gpdvadsrdNumericalStatsResult :: !(Maybe GooglePrivacyDlpV2NumericalStatsResult)- , _gpdvadsrdCategoricalStatsResult :: !(Maybe GooglePrivacyDlpV2CategoricalStatsResult)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvadsrdRequestedPrivacyMetric'------ * 'gpdvadsrdRequestedSourceTable'------ * 'gpdvadsrdLDiversityResult'------ * 'gpdvadsrdKAnonymityResult'------ * 'gpdvadsrdKMapEstimationResult'------ * 'gpdvadsrdDeltaPresenceEstimationResult'------ * 'gpdvadsrdNumericalStatsResult'------ * 'gpdvadsrdCategoricalStatsResult'-googlePrivacyDlpV2AnalyzeDataSourceRiskDetails- :: GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails-googlePrivacyDlpV2AnalyzeDataSourceRiskDetails =- GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'- { _gpdvadsrdRequestedPrivacyMetric = Nothing- , _gpdvadsrdRequestedSourceTable = Nothing- , _gpdvadsrdLDiversityResult = Nothing- , _gpdvadsrdKAnonymityResult = Nothing- , _gpdvadsrdKMapEstimationResult = Nothing- , _gpdvadsrdDeltaPresenceEstimationResult = Nothing- , _gpdvadsrdNumericalStatsResult = Nothing- , _gpdvadsrdCategoricalStatsResult = Nothing- }---- | Privacy metric to compute.-gpdvadsrdRequestedPrivacyMetric :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2PrivacyMetric)-gpdvadsrdRequestedPrivacyMetric- = lens _gpdvadsrdRequestedPrivacyMetric- (\ s a -> s{_gpdvadsrdRequestedPrivacyMetric = a})---- | Input dataset to compute metrics over.-gpdvadsrdRequestedSourceTable :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvadsrdRequestedSourceTable- = lens _gpdvadsrdRequestedSourceTable- (\ s a -> s{_gpdvadsrdRequestedSourceTable = a})--gpdvadsrdLDiversityResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2LDiversityResult)-gpdvadsrdLDiversityResult- = lens _gpdvadsrdLDiversityResult- (\ s a -> s{_gpdvadsrdLDiversityResult = a})--gpdvadsrdKAnonymityResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2KAnonymityResult)-gpdvadsrdKAnonymityResult- = lens _gpdvadsrdKAnonymityResult- (\ s a -> s{_gpdvadsrdKAnonymityResult = a})--gpdvadsrdKMapEstimationResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2KMapEstimationResult)-gpdvadsrdKMapEstimationResult- = lens _gpdvadsrdKMapEstimationResult- (\ s a -> s{_gpdvadsrdKMapEstimationResult = a})--gpdvadsrdDeltaPresenceEstimationResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2DeltaPresenceEstimationResult)-gpdvadsrdDeltaPresenceEstimationResult- = lens _gpdvadsrdDeltaPresenceEstimationResult- (\ s a ->- s{_gpdvadsrdDeltaPresenceEstimationResult = a})--gpdvadsrdNumericalStatsResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2NumericalStatsResult)-gpdvadsrdNumericalStatsResult- = lens _gpdvadsrdNumericalStatsResult- (\ s a -> s{_gpdvadsrdNumericalStatsResult = a})--gpdvadsrdCategoricalStatsResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2CategoricalStatsResult)-gpdvadsrdCategoricalStatsResult- = lens _gpdvadsrdCategoricalStatsResult- (\ s a -> s{_gpdvadsrdCategoricalStatsResult = a})--instance FromJSON- GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails where- parseJSON- = withObject- "GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails"- (\ o ->- GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' <$>- (o .:? "requestedPrivacyMetric") <*>- (o .:? "requestedSourceTable")- <*> (o .:? "lDiversityResult")- <*> (o .:? "kAnonymityResult")- <*> (o .:? "kMapEstimationResult")- <*> (o .:? "deltaPresenceEstimationResult")- <*> (o .:? "numericalStatsResult")- <*> (o .:? "categoricalStatsResult"))--instance ToJSON- GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails where- toJSON- GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'{..}- = object- (catMaybes- [("requestedPrivacyMetric" .=) <$>- _gpdvadsrdRequestedPrivacyMetric,- ("requestedSourceTable" .=) <$>- _gpdvadsrdRequestedSourceTable,- ("lDiversityResult" .=) <$>- _gpdvadsrdLDiversityResult,- ("kAnonymityResult" .=) <$>- _gpdvadsrdKAnonymityResult,- ("kMapEstimationResult" .=) <$>- _gpdvadsrdKMapEstimationResult,- ("deltaPresenceEstimationResult" .=) <$>- _gpdvadsrdDeltaPresenceEstimationResult,- ("numericalStatsResult" .=) <$>- _gpdvadsrdNumericalStatsResult,- ("categoricalStatsResult" .=) <$>- _gpdvadsrdCategoricalStatsResult])---- | A collection of conditions.------ /See:/ 'googlePrivacyDlpV2Conditions' smart constructor.-newtype GooglePrivacyDlpV2Conditions = GooglePrivacyDlpV2Conditions'- { _gpdvcConditions :: Maybe [GooglePrivacyDlpV2Condition]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Conditions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcConditions'-googlePrivacyDlpV2Conditions- :: GooglePrivacyDlpV2Conditions-googlePrivacyDlpV2Conditions =- GooglePrivacyDlpV2Conditions'- { _gpdvcConditions = Nothing- }--gpdvcConditions :: Lens' GooglePrivacyDlpV2Conditions [GooglePrivacyDlpV2Condition]-gpdvcConditions- = lens _gpdvcConditions- (\ s a -> s{_gpdvcConditions = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2Conditions where- parseJSON- = withObject "GooglePrivacyDlpV2Conditions"- (\ o ->- GooglePrivacyDlpV2Conditions' <$>- (o .:? "conditions" .!= mempty))--instance ToJSON GooglePrivacyDlpV2Conditions where- toJSON GooglePrivacyDlpV2Conditions'{..}- = object- (catMaybes [("conditions" .=) <$> _gpdvcConditions])---- | Record key for a finding in Cloud Datastore.------ /See:/ 'googlePrivacyDlpV2DatastoreKey' smart constructor.-newtype GooglePrivacyDlpV2DatastoreKey = GooglePrivacyDlpV2DatastoreKey'- { _gpdvdkEntityKey :: Maybe GooglePrivacyDlpV2Key- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DatastoreKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdkEntityKey'-googlePrivacyDlpV2DatastoreKey- :: GooglePrivacyDlpV2DatastoreKey-googlePrivacyDlpV2DatastoreKey =- GooglePrivacyDlpV2DatastoreKey'- { _gpdvdkEntityKey = Nothing- }---- | Datastore entity key.-gpdvdkEntityKey :: Lens' GooglePrivacyDlpV2DatastoreKey (Maybe GooglePrivacyDlpV2Key)-gpdvdkEntityKey- = lens _gpdvdkEntityKey- (\ s a -> s{_gpdvdkEntityKey = a})--instance FromJSON GooglePrivacyDlpV2DatastoreKey- where- parseJSON- = withObject "GooglePrivacyDlpV2DatastoreKey"- (\ o ->- GooglePrivacyDlpV2DatastoreKey' <$>- (o .:? "entityKey"))--instance ToJSON GooglePrivacyDlpV2DatastoreKey where- toJSON GooglePrivacyDlpV2DatastoreKey'{..}- = object- (catMaybes [("entityKey" .=) <$> _gpdvdkEntityKey])---- | A tuple of values for the quasi-identifier columns.------ /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues' smart constructor.-data GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues = GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'- { _gpdvdpeqivEstimatedProbability :: !(Maybe (Textual Double))- , _gpdvdpeqivQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdpeqivEstimatedProbability'------ * 'gpdvdpeqivQuasiIdsValues'-googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues- :: GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues-googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues =- GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'- { _gpdvdpeqivEstimatedProbability = Nothing- , _gpdvdpeqivQuasiIdsValues = Nothing- }---- | The estimated probability that a given individual sharing these--- quasi-identifier values is in the dataset. This value, typically called--- δ, is the ratio between the number of records in the dataset with these--- quasi-identifier values, and the total number of individuals (inside--- *and* outside the dataset) with these quasi-identifier values. For--- example, if there are 15 individuals in the dataset who share the same--- quasi-identifier values, and an estimated 100 people in the entire--- population with these values, then δ is 0.15.-gpdvdpeqivEstimatedProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues (Maybe Double)-gpdvdpeqivEstimatedProbability- = lens _gpdvdpeqivEstimatedProbability- (\ s a -> s{_gpdvdpeqivEstimatedProbability = a})- . mapping _Coerce---- | The quasi-identifier values.-gpdvdpeqivQuasiIdsValues :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues [GooglePrivacyDlpV2Value]-gpdvdpeqivQuasiIdsValues- = lens _gpdvdpeqivQuasiIdsValues- (\ s a -> s{_gpdvdpeqivQuasiIdsValues = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues- where- parseJSON- = withObject- "GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues"- (\ o ->- GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'- <$>- (o .:? "estimatedProbability") <*>- (o .:? "quasiIdsValues" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues- where- toJSON- GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'{..}- = object- (catMaybes- [("estimatedProbability" .=) <$>- _gpdvdpeqivEstimatedProbability,- ("quasiIdsValues" .=) <$> _gpdvdpeqivQuasiIdsValues])---- | Characters to skip when doing deidentification of a value. These will be--- left alone and skipped.------ /See:/ 'googlePrivacyDlpV2CharsToIgnore' smart constructor.-data GooglePrivacyDlpV2CharsToIgnore = GooglePrivacyDlpV2CharsToIgnore'- { _gpdvctiCommonCharactersToIgnore :: !(Maybe GooglePrivacyDlpV2CharsToIgnoreCommonCharactersToIgnore)- , _gpdvctiCharactersToSkip :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CharsToIgnore' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvctiCommonCharactersToIgnore'------ * 'gpdvctiCharactersToSkip'-googlePrivacyDlpV2CharsToIgnore- :: GooglePrivacyDlpV2CharsToIgnore-googlePrivacyDlpV2CharsToIgnore =- GooglePrivacyDlpV2CharsToIgnore'- { _gpdvctiCommonCharactersToIgnore = Nothing- , _gpdvctiCharactersToSkip = Nothing- }--gpdvctiCommonCharactersToIgnore :: Lens' GooglePrivacyDlpV2CharsToIgnore (Maybe GooglePrivacyDlpV2CharsToIgnoreCommonCharactersToIgnore)-gpdvctiCommonCharactersToIgnore- = lens _gpdvctiCommonCharactersToIgnore- (\ s a -> s{_gpdvctiCommonCharactersToIgnore = a})--gpdvctiCharactersToSkip :: Lens' GooglePrivacyDlpV2CharsToIgnore (Maybe Text)-gpdvctiCharactersToSkip- = lens _gpdvctiCharactersToSkip- (\ s a -> s{_gpdvctiCharactersToSkip = a})--instance FromJSON GooglePrivacyDlpV2CharsToIgnore- where- parseJSON- = withObject "GooglePrivacyDlpV2CharsToIgnore"- (\ o ->- GooglePrivacyDlpV2CharsToIgnore' <$>- (o .:? "commonCharactersToIgnore") <*>- (o .:? "charactersToSkip"))--instance ToJSON GooglePrivacyDlpV2CharsToIgnore where- toJSON GooglePrivacyDlpV2CharsToIgnore'{..}- = object- (catMaybes- [("commonCharactersToIgnore" .=) <$>- _gpdvctiCommonCharactersToIgnore,- ("charactersToSkip" .=) <$>- _gpdvctiCharactersToSkip])---- | Message defining the location of a BigQuery table. A table is uniquely--- identified by its project_id, dataset_id, and table_name. Within a query--- a table is often referenced with a string in the format of: \`:.\` or--- \`..\`.------ /See:/ 'googlePrivacyDlpV2BigQueryTable' smart constructor.-data GooglePrivacyDlpV2BigQueryTable = GooglePrivacyDlpV2BigQueryTable'- { _gpdvbqtDataSetId :: !(Maybe Text)- , _gpdvbqtProjectId :: !(Maybe Text)- , _gpdvbqtTableId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2BigQueryTable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvbqtDataSetId'------ * 'gpdvbqtProjectId'------ * 'gpdvbqtTableId'-googlePrivacyDlpV2BigQueryTable- :: GooglePrivacyDlpV2BigQueryTable-googlePrivacyDlpV2BigQueryTable =- GooglePrivacyDlpV2BigQueryTable'- { _gpdvbqtDataSetId = Nothing- , _gpdvbqtProjectId = Nothing- , _gpdvbqtTableId = Nothing- }---- | Dataset ID of the table.-gpdvbqtDataSetId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)-gpdvbqtDataSetId- = lens _gpdvbqtDataSetId- (\ s a -> s{_gpdvbqtDataSetId = a})---- | The Google Cloud Platform project ID of the project containing the--- table. If omitted, project ID is inferred from the API call.-gpdvbqtProjectId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)-gpdvbqtProjectId- = lens _gpdvbqtProjectId- (\ s a -> s{_gpdvbqtProjectId = a})---- | Name of the table.-gpdvbqtTableId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)-gpdvbqtTableId- = lens _gpdvbqtTableId- (\ s a -> s{_gpdvbqtTableId = a})--instance FromJSON GooglePrivacyDlpV2BigQueryTable- where- parseJSON- = withObject "GooglePrivacyDlpV2BigQueryTable"- (\ o ->- GooglePrivacyDlpV2BigQueryTable' <$>- (o .:? "datasetId") <*> (o .:? "projectId") <*>- (o .:? "tableId"))--instance ToJSON GooglePrivacyDlpV2BigQueryTable where- toJSON GooglePrivacyDlpV2BigQueryTable'{..}- = object- (catMaybes- [("datasetId" .=) <$> _gpdvbqtDataSetId,- ("projectId" .=) <$> _gpdvbqtProjectId,- ("tableId" .=) <$> _gpdvbqtTableId])------- /See:/ 'googlePrivacyDlpV2RequestedOptions' smart constructor.-data GooglePrivacyDlpV2RequestedOptions = GooglePrivacyDlpV2RequestedOptions'- { _gpdvroSnapshotInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)- , _gpdvroJobConfig :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RequestedOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvroSnapshotInspectTemplate'------ * 'gpdvroJobConfig'-googlePrivacyDlpV2RequestedOptions- :: GooglePrivacyDlpV2RequestedOptions-googlePrivacyDlpV2RequestedOptions =- GooglePrivacyDlpV2RequestedOptions'- { _gpdvroSnapshotInspectTemplate = Nothing- , _gpdvroJobConfig = Nothing- }---- | If run with an InspectTemplate, a snapshot of its state at the time of--- this run.-gpdvroSnapshotInspectTemplate :: Lens' GooglePrivacyDlpV2RequestedOptions (Maybe GooglePrivacyDlpV2InspectTemplate)-gpdvroSnapshotInspectTemplate- = lens _gpdvroSnapshotInspectTemplate- (\ s a -> s{_gpdvroSnapshotInspectTemplate = a})--gpdvroJobConfig :: Lens' GooglePrivacyDlpV2RequestedOptions (Maybe GooglePrivacyDlpV2InspectJobConfig)-gpdvroJobConfig- = lens _gpdvroJobConfig- (\ s a -> s{_gpdvroJobConfig = a})--instance FromJSON GooglePrivacyDlpV2RequestedOptions- where- parseJSON- = withObject "GooglePrivacyDlpV2RequestedOptions"- (\ o ->- GooglePrivacyDlpV2RequestedOptions' <$>- (o .:? "snapshotInspectTemplate") <*>- (o .:? "jobConfig"))--instance ToJSON GooglePrivacyDlpV2RequestedOptions- where- toJSON GooglePrivacyDlpV2RequestedOptions'{..}- = object- (catMaybes- [("snapshotInspectTemplate" .=) <$>- _gpdvroSnapshotInspectTemplate,- ("jobConfig" .=) <$> _gpdvroJobConfig])---- | A rule for transforming a value.------ /See:/ 'googlePrivacyDlpV2PrimitiveTransformation' smart constructor.-data GooglePrivacyDlpV2PrimitiveTransformation = GooglePrivacyDlpV2PrimitiveTransformation'- { _gpdvptFixedSizeBucketingConfig :: !(Maybe GooglePrivacyDlpV2FixedSizeBucketingConfig)- , _gpdvptRedactConfig :: !(Maybe GooglePrivacyDlpV2RedactConfig)- , _gpdvptCharacterMaskConfig :: !(Maybe GooglePrivacyDlpV2CharacterMaskConfig)- , _gpdvptTimePartConfig :: !(Maybe GooglePrivacyDlpV2TimePartConfig)- , _gpdvptDateShiftConfig :: !(Maybe GooglePrivacyDlpV2DateShiftConfig)- , _gpdvptBucketingConfig :: !(Maybe GooglePrivacyDlpV2BucketingConfig)- , _gpdvptReplaceWithInfoTypeConfig :: !(Maybe GooglePrivacyDlpV2ReplaceWithInfoTypeConfig)- , _gpdvptCryptoHashConfig :: !(Maybe GooglePrivacyDlpV2CryptoHashConfig)- , _gpdvptReplaceConfig :: !(Maybe GooglePrivacyDlpV2ReplaceValueConfig)- , _gpdvptCryptoReplaceFfxFpeConfig :: !(Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PrimitiveTransformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvptFixedSizeBucketingConfig'------ * 'gpdvptRedactConfig'------ * 'gpdvptCharacterMaskConfig'------ * 'gpdvptTimePartConfig'------ * 'gpdvptDateShiftConfig'------ * 'gpdvptBucketingConfig'------ * 'gpdvptReplaceWithInfoTypeConfig'------ * 'gpdvptCryptoHashConfig'------ * 'gpdvptReplaceConfig'------ * 'gpdvptCryptoReplaceFfxFpeConfig'-googlePrivacyDlpV2PrimitiveTransformation- :: GooglePrivacyDlpV2PrimitiveTransformation-googlePrivacyDlpV2PrimitiveTransformation =- GooglePrivacyDlpV2PrimitiveTransformation'- { _gpdvptFixedSizeBucketingConfig = Nothing- , _gpdvptRedactConfig = Nothing- , _gpdvptCharacterMaskConfig = Nothing- , _gpdvptTimePartConfig = Nothing- , _gpdvptDateShiftConfig = Nothing- , _gpdvptBucketingConfig = Nothing- , _gpdvptReplaceWithInfoTypeConfig = Nothing- , _gpdvptCryptoHashConfig = Nothing- , _gpdvptReplaceConfig = Nothing- , _gpdvptCryptoReplaceFfxFpeConfig = Nothing- }--gpdvptFixedSizeBucketingConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2FixedSizeBucketingConfig)-gpdvptFixedSizeBucketingConfig- = lens _gpdvptFixedSizeBucketingConfig- (\ s a -> s{_gpdvptFixedSizeBucketingConfig = a})--gpdvptRedactConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2RedactConfig)-gpdvptRedactConfig- = lens _gpdvptRedactConfig- (\ s a -> s{_gpdvptRedactConfig = a})--gpdvptCharacterMaskConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CharacterMaskConfig)-gpdvptCharacterMaskConfig- = lens _gpdvptCharacterMaskConfig- (\ s a -> s{_gpdvptCharacterMaskConfig = a})--gpdvptTimePartConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2TimePartConfig)-gpdvptTimePartConfig- = lens _gpdvptTimePartConfig- (\ s a -> s{_gpdvptTimePartConfig = a})--gpdvptDateShiftConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2DateShiftConfig)-gpdvptDateShiftConfig- = lens _gpdvptDateShiftConfig- (\ s a -> s{_gpdvptDateShiftConfig = a})--gpdvptBucketingConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2BucketingConfig)-gpdvptBucketingConfig- = lens _gpdvptBucketingConfig- (\ s a -> s{_gpdvptBucketingConfig = a})--gpdvptReplaceWithInfoTypeConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2ReplaceWithInfoTypeConfig)-gpdvptReplaceWithInfoTypeConfig- = lens _gpdvptReplaceWithInfoTypeConfig- (\ s a -> s{_gpdvptReplaceWithInfoTypeConfig = a})--gpdvptCryptoHashConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoHashConfig)-gpdvptCryptoHashConfig- = lens _gpdvptCryptoHashConfig- (\ s a -> s{_gpdvptCryptoHashConfig = a})--gpdvptReplaceConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2ReplaceValueConfig)-gpdvptReplaceConfig- = lens _gpdvptReplaceConfig- (\ s a -> s{_gpdvptReplaceConfig = a})--gpdvptCryptoReplaceFfxFpeConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig)-gpdvptCryptoReplaceFfxFpeConfig- = lens _gpdvptCryptoReplaceFfxFpeConfig- (\ s a -> s{_gpdvptCryptoReplaceFfxFpeConfig = a})--instance FromJSON- GooglePrivacyDlpV2PrimitiveTransformation where- parseJSON- = withObject- "GooglePrivacyDlpV2PrimitiveTransformation"- (\ o ->- GooglePrivacyDlpV2PrimitiveTransformation' <$>- (o .:? "fixedSizeBucketingConfig") <*>- (o .:? "redactConfig")- <*> (o .:? "characterMaskConfig")- <*> (o .:? "timePartConfig")- <*> (o .:? "dateShiftConfig")- <*> (o .:? "bucketingConfig")- <*> (o .:? "replaceWithInfoTypeConfig")- <*> (o .:? "cryptoHashConfig")- <*> (o .:? "replaceConfig")- <*> (o .:? "cryptoReplaceFfxFpeConfig"))--instance ToJSON- GooglePrivacyDlpV2PrimitiveTransformation where- toJSON GooglePrivacyDlpV2PrimitiveTransformation'{..}- = object- (catMaybes- [("fixedSizeBucketingConfig" .=) <$>- _gpdvptFixedSizeBucketingConfig,- ("redactConfig" .=) <$> _gpdvptRedactConfig,- ("characterMaskConfig" .=) <$>- _gpdvptCharacterMaskConfig,- ("timePartConfig" .=) <$> _gpdvptTimePartConfig,- ("dateShiftConfig" .=) <$> _gpdvptDateShiftConfig,- ("bucketingConfig" .=) <$> _gpdvptBucketingConfig,- ("replaceWithInfoTypeConfig" .=) <$>- _gpdvptReplaceWithInfoTypeConfig,- ("cryptoHashConfig" .=) <$> _gpdvptCryptoHashConfig,- ("replaceConfig" .=) <$> _gpdvptReplaceConfig,- ("cryptoReplaceFfxFpeConfig" .=) <$>- _gpdvptCryptoReplaceFfxFpeConfig])---- | The request message for canceling a DLP job.------ /See:/ 'googlePrivacyDlpV2CancelDlpJobRequest' smart constructor.-data GooglePrivacyDlpV2CancelDlpJobRequest =- GooglePrivacyDlpV2CancelDlpJobRequest'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CancelDlpJobRequest' with the minimum fields required to make a request.----googlePrivacyDlpV2CancelDlpJobRequest- :: GooglePrivacyDlpV2CancelDlpJobRequest-googlePrivacyDlpV2CancelDlpJobRequest = GooglePrivacyDlpV2CancelDlpJobRequest'--instance FromJSON- GooglePrivacyDlpV2CancelDlpJobRequest where- parseJSON- = withObject "GooglePrivacyDlpV2CancelDlpJobRequest"- (\ o -> pure GooglePrivacyDlpV2CancelDlpJobRequest')--instance ToJSON GooglePrivacyDlpV2CancelDlpJobRequest- where- toJSON = const emptyObject---- | Location of a finding within a row or record.------ /See:/ 'googlePrivacyDlpV2RecordLocation' smart constructor.-data GooglePrivacyDlpV2RecordLocation = GooglePrivacyDlpV2RecordLocation'- { _gpdvrlTableLocation :: !(Maybe GooglePrivacyDlpV2TableLocation)- , _gpdvrlFieldId :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvrlRecordKey :: !(Maybe GooglePrivacyDlpV2RecordKey)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2RecordLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrlTableLocation'------ * 'gpdvrlFieldId'------ * 'gpdvrlRecordKey'-googlePrivacyDlpV2RecordLocation- :: GooglePrivacyDlpV2RecordLocation-googlePrivacyDlpV2RecordLocation =- GooglePrivacyDlpV2RecordLocation'- { _gpdvrlTableLocation = Nothing- , _gpdvrlFieldId = Nothing- , _gpdvrlRecordKey = Nothing- }---- | Location within a \`ContentItem.Table\`.-gpdvrlTableLocation :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2TableLocation)-gpdvrlTableLocation- = lens _gpdvrlTableLocation- (\ s a -> s{_gpdvrlTableLocation = a})---- | Field id of the field containing the finding.-gpdvrlFieldId :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2FieldId)-gpdvrlFieldId- = lens _gpdvrlFieldId- (\ s a -> s{_gpdvrlFieldId = a})---- | Key of the finding.-gpdvrlRecordKey :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2RecordKey)-gpdvrlRecordKey- = lens _gpdvrlRecordKey- (\ s a -> s{_gpdvrlRecordKey = a})--instance FromJSON GooglePrivacyDlpV2RecordLocation- where- parseJSON- = withObject "GooglePrivacyDlpV2RecordLocation"- (\ o ->- GooglePrivacyDlpV2RecordLocation' <$>- (o .:? "tableLocation") <*> (o .:? "fieldId") <*>- (o .:? "recordKey"))--instance ToJSON GooglePrivacyDlpV2RecordLocation- where- toJSON GooglePrivacyDlpV2RecordLocation'{..}- = object- (catMaybes- [("tableLocation" .=) <$> _gpdvrlTableLocation,- ("fieldId" .=) <$> _gpdvrlFieldId,- ("recordKey" .=) <$> _gpdvrlRecordKey])---- | Details information about an error encountered during job execution or--- the results of an unsuccessful activation of the JobTrigger. Output only--- field.------ /See:/ 'googlePrivacyDlpV2Error' smart constructor.-data GooglePrivacyDlpV2Error = GooglePrivacyDlpV2Error'- { _gpdveDetails :: !(Maybe GoogleRpcStatus)- , _gpdveTimestamps :: !(Maybe [DateTime'])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Error' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdveDetails'------ * 'gpdveTimestamps'-googlePrivacyDlpV2Error- :: GooglePrivacyDlpV2Error-googlePrivacyDlpV2Error =- GooglePrivacyDlpV2Error'- { _gpdveDetails = Nothing- , _gpdveTimestamps = Nothing- }--gpdveDetails :: Lens' GooglePrivacyDlpV2Error (Maybe GoogleRpcStatus)-gpdveDetails- = lens _gpdveDetails (\ s a -> s{_gpdveDetails = a})---- | The times the error occurred.-gpdveTimestamps :: Lens' GooglePrivacyDlpV2Error [UTCTime]-gpdveTimestamps- = lens _gpdveTimestamps- (\ s a -> s{_gpdveTimestamps = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2Error where- parseJSON- = withObject "GooglePrivacyDlpV2Error"- (\ o ->- GooglePrivacyDlpV2Error' <$>- (o .:? "details") <*>- (o .:? "timestamps" .!= mempty))--instance ToJSON GooglePrivacyDlpV2Error where- toJSON GooglePrivacyDlpV2Error'{..}- = object- (catMaybes- [("details" .=) <$> _gpdveDetails,- ("timestamps" .=) <$> _gpdveTimestamps])---- | StoredInfoType resource message that contains information about the--- current version and any pending updates.------ /See:/ 'googlePrivacyDlpV2StoredInfoType' smart constructor.-data GooglePrivacyDlpV2StoredInfoType = GooglePrivacyDlpV2StoredInfoType'- { _gpdvsitCurrentVersion :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeVersion)- , _gpdvsitName :: !(Maybe Text)- , _gpdvsitPendingVersions :: !(Maybe [GooglePrivacyDlpV2StoredInfoTypeVersion])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StoredInfoType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsitCurrentVersion'------ * 'gpdvsitName'------ * 'gpdvsitPendingVersions'-googlePrivacyDlpV2StoredInfoType- :: GooglePrivacyDlpV2StoredInfoType-googlePrivacyDlpV2StoredInfoType =- GooglePrivacyDlpV2StoredInfoType'- { _gpdvsitCurrentVersion = Nothing- , _gpdvsitName = Nothing- , _gpdvsitPendingVersions = Nothing- }---- | Current version of the stored info type.-gpdvsitCurrentVersion :: Lens' GooglePrivacyDlpV2StoredInfoType (Maybe GooglePrivacyDlpV2StoredInfoTypeVersion)-gpdvsitCurrentVersion- = lens _gpdvsitCurrentVersion- (\ s a -> s{_gpdvsitCurrentVersion = a})---- | Resource name.-gpdvsitName :: Lens' GooglePrivacyDlpV2StoredInfoType (Maybe Text)-gpdvsitName- = lens _gpdvsitName (\ s a -> s{_gpdvsitName = a})---- | Pending versions of the stored info type. Empty if no versions are--- pending.-gpdvsitPendingVersions :: Lens' GooglePrivacyDlpV2StoredInfoType [GooglePrivacyDlpV2StoredInfoTypeVersion]-gpdvsitPendingVersions- = lens _gpdvsitPendingVersions- (\ s a -> s{_gpdvsitPendingVersions = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2StoredInfoType- where- parseJSON- = withObject "GooglePrivacyDlpV2StoredInfoType"- (\ o ->- GooglePrivacyDlpV2StoredInfoType' <$>- (o .:? "currentVersion") <*> (o .:? "name") <*>- (o .:? "pendingVersions" .!= mempty))--instance ToJSON GooglePrivacyDlpV2StoredInfoType- where- toJSON GooglePrivacyDlpV2StoredInfoType'{..}- = object- (catMaybes- [("currentVersion" .=) <$> _gpdvsitCurrentVersion,- ("name" .=) <$> _gpdvsitName,- ("pendingVersions" .=) <$> _gpdvsitPendingVersions])---- | An auxiliary table containing statistical information on the relative--- frequency of different quasi-identifiers values. It has one or several--- quasi-identifiers columns, and one column that indicates the relative--- frequency of each quasi-identifier tuple. If a tuple is present in the--- data but not in the auxiliary table, the corresponding relative--- frequency is assumed to be zero (and thus, the tuple is highly--- reidentifiable).------ /See:/ 'googlePrivacyDlpV2StatisticalTable' smart constructor.-data GooglePrivacyDlpV2StatisticalTable = GooglePrivacyDlpV2StatisticalTable'- { _gpdvstRelativeFrequency :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvstTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)- , _gpdvstQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiIdentifierField])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2StatisticalTable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvstRelativeFrequency'------ * 'gpdvstTable'------ * 'gpdvstQuasiIds'-googlePrivacyDlpV2StatisticalTable- :: GooglePrivacyDlpV2StatisticalTable-googlePrivacyDlpV2StatisticalTable =- GooglePrivacyDlpV2StatisticalTable'- { _gpdvstRelativeFrequency = Nothing- , _gpdvstTable = Nothing- , _gpdvstQuasiIds = Nothing- }---- | The relative frequency column must contain a floating-point number--- between 0 and 1 (inclusive). Null values are assumed to be zero.--- [required]-gpdvstRelativeFrequency :: Lens' GooglePrivacyDlpV2StatisticalTable (Maybe GooglePrivacyDlpV2FieldId)-gpdvstRelativeFrequency- = lens _gpdvstRelativeFrequency- (\ s a -> s{_gpdvstRelativeFrequency = a})---- | Auxiliary table location. [required]-gpdvstTable :: Lens' GooglePrivacyDlpV2StatisticalTable (Maybe GooglePrivacyDlpV2BigQueryTable)-gpdvstTable- = lens _gpdvstTable (\ s a -> s{_gpdvstTable = a})---- | Quasi-identifier columns. [required]-gpdvstQuasiIds :: Lens' GooglePrivacyDlpV2StatisticalTable [GooglePrivacyDlpV2QuasiIdentifierField]-gpdvstQuasiIds- = lens _gpdvstQuasiIds- (\ s a -> s{_gpdvstQuasiIds = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2StatisticalTable- where- parseJSON- = withObject "GooglePrivacyDlpV2StatisticalTable"- (\ o ->- GooglePrivacyDlpV2StatisticalTable' <$>- (o .:? "relativeFrequency") <*> (o .:? "table") <*>- (o .:? "quasiIds" .!= mempty))--instance ToJSON GooglePrivacyDlpV2StatisticalTable- where- toJSON GooglePrivacyDlpV2StatisticalTable'{..}- = object- (catMaybes- [("relativeFrequency" .=) <$>- _gpdvstRelativeFrequency,- ("table" .=) <$> _gpdvstTable,- ("quasiIds" .=) <$> _gpdvstQuasiIds])---- | The DeidentifyTemplates contains instructions on how to deidentify--- content. See https:\/\/cloud.google.com\/dlp\/docs\/concepts-templates--- to learn more.------ /See:/ 'googlePrivacyDlpV2DeidentifyTemplate' smart constructor.-data GooglePrivacyDlpV2DeidentifyTemplate = GooglePrivacyDlpV2DeidentifyTemplate'- { _gpdvdtUpdateTime :: !(Maybe DateTime')- , _gpdvdtName :: !(Maybe Text)- , _gpdvdtDeidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)- , _gpdvdtDisplayName :: !(Maybe Text)- , _gpdvdtDescription :: !(Maybe Text)- , _gpdvdtCreateTime :: !(Maybe DateTime')- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DeidentifyTemplate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdtUpdateTime'------ * 'gpdvdtName'------ * 'gpdvdtDeidentifyConfig'------ * 'gpdvdtDisplayName'------ * 'gpdvdtDescription'------ * 'gpdvdtCreateTime'-googlePrivacyDlpV2DeidentifyTemplate- :: GooglePrivacyDlpV2DeidentifyTemplate-googlePrivacyDlpV2DeidentifyTemplate =- GooglePrivacyDlpV2DeidentifyTemplate'- { _gpdvdtUpdateTime = Nothing- , _gpdvdtName = Nothing- , _gpdvdtDeidentifyConfig = Nothing- , _gpdvdtDisplayName = Nothing- , _gpdvdtDescription = Nothing- , _gpdvdtCreateTime = Nothing- }---- | The last update timestamp of a inspectTemplate, output only field.-gpdvdtUpdateTime :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe UTCTime)-gpdvdtUpdateTime- = lens _gpdvdtUpdateTime- (\ s a -> s{_gpdvdtUpdateTime = a})- . mapping _DateTime---- | The template name. Output only. The template will have one of the--- following formats:--- \`projects\/PROJECT_ID\/deidentifyTemplates\/TEMPLATE_ID\` OR--- \`organizations\/ORGANIZATION_ID\/deidentifyTemplates\/TEMPLATE_ID\`-gpdvdtName :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)-gpdvdtName- = lens _gpdvdtName (\ s a -> s{_gpdvdtName = a})---- | \/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/ The core content of the template \/\/--- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/-gpdvdtDeidentifyConfig :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe GooglePrivacyDlpV2DeidentifyConfig)-gpdvdtDeidentifyConfig- = lens _gpdvdtDeidentifyConfig- (\ s a -> s{_gpdvdtDeidentifyConfig = a})---- | Display name (max 256 chars).-gpdvdtDisplayName :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)-gpdvdtDisplayName- = lens _gpdvdtDisplayName- (\ s a -> s{_gpdvdtDisplayName = a})---- | Short description (max 256 chars).-gpdvdtDescription :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)-gpdvdtDescription- = lens _gpdvdtDescription- (\ s a -> s{_gpdvdtDescription = a})---- | The creation timestamp of a inspectTemplate, output only field.-gpdvdtCreateTime :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe UTCTime)-gpdvdtCreateTime- = lens _gpdvdtCreateTime- (\ s a -> s{_gpdvdtCreateTime = a})- . mapping _DateTime--instance FromJSON- GooglePrivacyDlpV2DeidentifyTemplate where- parseJSON- = withObject "GooglePrivacyDlpV2DeidentifyTemplate"- (\ o ->- GooglePrivacyDlpV2DeidentifyTemplate' <$>- (o .:? "updateTime") <*> (o .:? "name") <*>- (o .:? "deidentifyConfig")- <*> (o .:? "displayName")- <*> (o .:? "description")- <*> (o .:? "createTime"))--instance ToJSON GooglePrivacyDlpV2DeidentifyTemplate- where- toJSON GooglePrivacyDlpV2DeidentifyTemplate'{..}- = object- (catMaybes- [("updateTime" .=) <$> _gpdvdtUpdateTime,- ("name" .=) <$> _gpdvdtName,- ("deidentifyConfig" .=) <$> _gpdvdtDeidentifyConfig,- ("displayName" .=) <$> _gpdvdtDisplayName,- ("description" .=) <$> _gpdvdtDescription,- ("createTime" .=) <$> _gpdvdtCreateTime])---- | Replace each input value with a given \`Value\`.------ /See:/ 'googlePrivacyDlpV2ReplaceValueConfig' smart constructor.-newtype GooglePrivacyDlpV2ReplaceValueConfig = GooglePrivacyDlpV2ReplaceValueConfig'- { _gpdvrvcNewValue :: Maybe GooglePrivacyDlpV2Value- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ReplaceValueConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvrvcNewValue'-googlePrivacyDlpV2ReplaceValueConfig- :: GooglePrivacyDlpV2ReplaceValueConfig-googlePrivacyDlpV2ReplaceValueConfig =- GooglePrivacyDlpV2ReplaceValueConfig'- { _gpdvrvcNewValue = Nothing- }---- | Value to replace it with.-gpdvrvcNewValue :: Lens' GooglePrivacyDlpV2ReplaceValueConfig (Maybe GooglePrivacyDlpV2Value)-gpdvrvcNewValue- = lens _gpdvrvcNewValue- (\ s a -> s{_gpdvrvcNewValue = a})--instance FromJSON- GooglePrivacyDlpV2ReplaceValueConfig where- parseJSON- = withObject "GooglePrivacyDlpV2ReplaceValueConfig"- (\ o ->- GooglePrivacyDlpV2ReplaceValueConfig' <$>- (o .:? "newValue"))--instance ToJSON GooglePrivacyDlpV2ReplaceValueConfig- where- toJSON GooglePrivacyDlpV2ReplaceValueConfig'{..}- = object- (catMaybes [("newValue" .=) <$> _gpdvrvcNewValue])---- | Compute numerical stats over an individual column, including number of--- distinct values and value count distribution.------ /See:/ 'googlePrivacyDlpV2CategoricalStatsConfig' smart constructor.-newtype GooglePrivacyDlpV2CategoricalStatsConfig = GooglePrivacyDlpV2CategoricalStatsConfig'- { _gpdvcscField :: Maybe GooglePrivacyDlpV2FieldId- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcscField'-googlePrivacyDlpV2CategoricalStatsConfig- :: GooglePrivacyDlpV2CategoricalStatsConfig-googlePrivacyDlpV2CategoricalStatsConfig =- GooglePrivacyDlpV2CategoricalStatsConfig'- { _gpdvcscField = Nothing- }---- | Field to compute categorical stats on. All column types are supported--- except for arrays and structs. However, it may be more informative to--- use NumericalStats when the field type is supported, depending on the--- data.-gpdvcscField :: Lens' GooglePrivacyDlpV2CategoricalStatsConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvcscField- = lens _gpdvcscField (\ s a -> s{_gpdvcscField = a})--instance FromJSON- GooglePrivacyDlpV2CategoricalStatsConfig where- parseJSON- = withObject- "GooglePrivacyDlpV2CategoricalStatsConfig"- (\ o ->- GooglePrivacyDlpV2CategoricalStatsConfig' <$>- (o .:? "field"))--instance ToJSON- GooglePrivacyDlpV2CategoricalStatsConfig where- toJSON GooglePrivacyDlpV2CategoricalStatsConfig'{..}- = object (catMaybes [("field" .=) <$> _gpdvcscField])---- | Compute numerical stats over an individual column, including min, max,--- and quantiles.------ /See:/ 'googlePrivacyDlpV2NumericalStatsConfig' smart constructor.-newtype GooglePrivacyDlpV2NumericalStatsConfig = GooglePrivacyDlpV2NumericalStatsConfig'- { _gpdvnscField :: Maybe GooglePrivacyDlpV2FieldId- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2NumericalStatsConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvnscField'-googlePrivacyDlpV2NumericalStatsConfig- :: GooglePrivacyDlpV2NumericalStatsConfig-googlePrivacyDlpV2NumericalStatsConfig =- GooglePrivacyDlpV2NumericalStatsConfig'- { _gpdvnscField = Nothing- }---- | Field to compute numerical stats on. Supported types are integer, float,--- date, datetime, timestamp, time.-gpdvnscField :: Lens' GooglePrivacyDlpV2NumericalStatsConfig (Maybe GooglePrivacyDlpV2FieldId)-gpdvnscField- = lens _gpdvnscField (\ s a -> s{_gpdvnscField = a})--instance FromJSON- GooglePrivacyDlpV2NumericalStatsConfig where- parseJSON- = withObject "GooglePrivacyDlpV2NumericalStatsConfig"- (\ o ->- GooglePrivacyDlpV2NumericalStatsConfig' <$>- (o .:? "field"))--instance ToJSON- GooglePrivacyDlpV2NumericalStatsConfig where- toJSON GooglePrivacyDlpV2NumericalStatsConfig'{..}- = object (catMaybes [("field" .=) <$> _gpdvnscField])---- | Response message for ListJobTriggers.------ /See:/ 'googlePrivacyDlpV2ListJobTriggersResponse' smart constructor.-data GooglePrivacyDlpV2ListJobTriggersResponse = GooglePrivacyDlpV2ListJobTriggersResponse'- { _gpdvljtrNextPageToken :: !(Maybe Text)- , _gpdvljtrJobTriggers :: !(Maybe [GooglePrivacyDlpV2JobTrigger])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ListJobTriggersResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvljtrNextPageToken'------ * 'gpdvljtrJobTriggers'-googlePrivacyDlpV2ListJobTriggersResponse- :: GooglePrivacyDlpV2ListJobTriggersResponse-googlePrivacyDlpV2ListJobTriggersResponse =- GooglePrivacyDlpV2ListJobTriggersResponse'- { _gpdvljtrNextPageToken = Nothing- , _gpdvljtrJobTriggers = Nothing- }---- | If the next page is available then the next page token to be used in--- following ListJobTriggers request.-gpdvljtrNextPageToken :: Lens' GooglePrivacyDlpV2ListJobTriggersResponse (Maybe Text)-gpdvljtrNextPageToken- = lens _gpdvljtrNextPageToken- (\ s a -> s{_gpdvljtrNextPageToken = a})---- | List of triggeredJobs, up to page_size in ListJobTriggersRequest.-gpdvljtrJobTriggers :: Lens' GooglePrivacyDlpV2ListJobTriggersResponse [GooglePrivacyDlpV2JobTrigger]-gpdvljtrJobTriggers- = lens _gpdvljtrJobTriggers- (\ s a -> s{_gpdvljtrJobTriggers = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2ListJobTriggersResponse where- parseJSON- = withObject- "GooglePrivacyDlpV2ListJobTriggersResponse"- (\ o ->- GooglePrivacyDlpV2ListJobTriggersResponse' <$>- (o .:? "nextPageToken") <*>- (o .:? "jobTriggers" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2ListJobTriggersResponse where- toJSON GooglePrivacyDlpV2ListJobTriggersResponse'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _gpdvljtrNextPageToken,- ("jobTriggers" .=) <$> _gpdvljtrJobTriggers])---- | Message representing a single file or path in Cloud Storage.------ /See:/ 'googlePrivacyDlpV2CloudStoragePath' smart constructor.-newtype GooglePrivacyDlpV2CloudStoragePath = GooglePrivacyDlpV2CloudStoragePath'- { _gpdvcspPath :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CloudStoragePath' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcspPath'-googlePrivacyDlpV2CloudStoragePath- :: GooglePrivacyDlpV2CloudStoragePath-googlePrivacyDlpV2CloudStoragePath =- GooglePrivacyDlpV2CloudStoragePath'- { _gpdvcspPath = Nothing- }---- | A url representing a file or path (no wildcards) in Cloud Storage.--- Example: gs:\/\/[BUCKET_NAME]\/dictionary.txt-gpdvcspPath :: Lens' GooglePrivacyDlpV2CloudStoragePath (Maybe Text)-gpdvcspPath- = lens _gpdvcspPath (\ s a -> s{_gpdvcspPath = a})--instance FromJSON GooglePrivacyDlpV2CloudStoragePath- where- parseJSON- = withObject "GooglePrivacyDlpV2CloudStoragePath"- (\ o ->- GooglePrivacyDlpV2CloudStoragePath' <$>- (o .:? "path"))--instance ToJSON GooglePrivacyDlpV2CloudStoragePath- where- toJSON GooglePrivacyDlpV2CloudStoragePath'{..}- = object (catMaybes [("path" .=) <$> _gpdvcspPath])---- | Specifies the location of the finding.------ /See:/ 'googlePrivacyDlpV2Location' smart constructor.-data GooglePrivacyDlpV2Location = GooglePrivacyDlpV2Location'- { _gpdvlCodepointRange :: !(Maybe GooglePrivacyDlpV2Range)- , _gpdvlContentLocations :: !(Maybe [GooglePrivacyDlpV2ContentLocation])- , _gpdvlByteRange :: !(Maybe GooglePrivacyDlpV2Range)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Location' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvlCodepointRange'------ * 'gpdvlContentLocations'------ * 'gpdvlByteRange'-googlePrivacyDlpV2Location- :: GooglePrivacyDlpV2Location-googlePrivacyDlpV2Location =- GooglePrivacyDlpV2Location'- { _gpdvlCodepointRange = Nothing- , _gpdvlContentLocations = Nothing- , _gpdvlByteRange = Nothing- }---- | Unicode character offsets delimiting the finding. These are relative to--- the finding\'s containing element. Provided when the content is text.-gpdvlCodepointRange :: Lens' GooglePrivacyDlpV2Location (Maybe GooglePrivacyDlpV2Range)-gpdvlCodepointRange- = lens _gpdvlCodepointRange- (\ s a -> s{_gpdvlCodepointRange = a})---- | List of nested objects pointing to the precise location of the finding--- within the file or record.-gpdvlContentLocations :: Lens' GooglePrivacyDlpV2Location [GooglePrivacyDlpV2ContentLocation]-gpdvlContentLocations- = lens _gpdvlContentLocations- (\ s a -> s{_gpdvlContentLocations = a})- . _Default- . _Coerce---- | Zero-based byte offsets delimiting the finding. These are relative to--- the finding\'s containing element. Note that when the content is not--- textual, this references the UTF-8 encoded textual representation of the--- content. Omitted if content is an image.-gpdvlByteRange :: Lens' GooglePrivacyDlpV2Location (Maybe GooglePrivacyDlpV2Range)-gpdvlByteRange- = lens _gpdvlByteRange- (\ s a -> s{_gpdvlByteRange = a})--instance FromJSON GooglePrivacyDlpV2Location where- parseJSON- = withObject "GooglePrivacyDlpV2Location"- (\ o ->- GooglePrivacyDlpV2Location' <$>- (o .:? "codepointRange") <*>- (o .:? "contentLocations" .!= mempty)- <*> (o .:? "byteRange"))--instance ToJSON GooglePrivacyDlpV2Location where- toJSON GooglePrivacyDlpV2Location'{..}- = object- (catMaybes- [("codepointRange" .=) <$> _gpdvlCodepointRange,- ("contentLocations" .=) <$> _gpdvlContentLocations,- ("byteRange" .=) <$> _gpdvlByteRange])---- | Schedule for triggeredJobs.------ /See:/ 'googlePrivacyDlpV2Schedule' smart constructor.-newtype GooglePrivacyDlpV2Schedule = GooglePrivacyDlpV2Schedule'- { _gpdvsRecurrencePeriodDuration :: Maybe GDuration- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2Schedule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvsRecurrencePeriodDuration'-googlePrivacyDlpV2Schedule- :: GooglePrivacyDlpV2Schedule-googlePrivacyDlpV2Schedule =- GooglePrivacyDlpV2Schedule'- { _gpdvsRecurrencePeriodDuration = Nothing- }---- | With this option a job is started a regular periodic basis. For example:--- every day (86400 seconds). A scheduled start time will be skipped if the--- previous execution has not ended when its scheduled time occurs. This--- value must be set to a time duration greater than or equal to 1 day and--- can be no longer than 60 days.-gpdvsRecurrencePeriodDuration :: Lens' GooglePrivacyDlpV2Schedule (Maybe Scientific)-gpdvsRecurrencePeriodDuration- = lens _gpdvsRecurrencePeriodDuration- (\ s a -> s{_gpdvsRecurrencePeriodDuration = a})- . mapping _GDuration--instance FromJSON GooglePrivacyDlpV2Schedule where- parseJSON- = withObject "GooglePrivacyDlpV2Schedule"- (\ o ->- GooglePrivacyDlpV2Schedule' <$>- (o .:? "recurrencePeriodDuration"))--instance ToJSON GooglePrivacyDlpV2Schedule where- toJSON GooglePrivacyDlpV2Schedule'{..}- = object- (catMaybes- [("recurrencePeriodDuration" .=) <$>- _gpdvsRecurrencePeriodDuration])---- | Request message for CreateJobTrigger.------ /See:/ 'googlePrivacyDlpV2CreateJobTriggerRequest' smart constructor.-data GooglePrivacyDlpV2CreateJobTriggerRequest = GooglePrivacyDlpV2CreateJobTriggerRequest'- { _gpdvcjtrTriggerId :: !(Maybe Text)- , _gpdvcjtrJobTrigger :: !(Maybe GooglePrivacyDlpV2JobTrigger)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2CreateJobTriggerRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvcjtrTriggerId'------ * 'gpdvcjtrJobTrigger'-googlePrivacyDlpV2CreateJobTriggerRequest- :: GooglePrivacyDlpV2CreateJobTriggerRequest-googlePrivacyDlpV2CreateJobTriggerRequest =- GooglePrivacyDlpV2CreateJobTriggerRequest'- { _gpdvcjtrTriggerId = Nothing- , _gpdvcjtrJobTrigger = Nothing- }---- | The trigger id can contain uppercase and lowercase letters, numbers, and--- hyphens; that is, it must match the regular expression:--- \`[a-zA-Z\\\\d-]+\`. The maximum length is 100 characters. Can be empty--- to allow the system to generate one.-gpdvcjtrTriggerId :: Lens' GooglePrivacyDlpV2CreateJobTriggerRequest (Maybe Text)-gpdvcjtrTriggerId- = lens _gpdvcjtrTriggerId- (\ s a -> s{_gpdvcjtrTriggerId = a})---- | The JobTrigger to create.-gpdvcjtrJobTrigger :: Lens' GooglePrivacyDlpV2CreateJobTriggerRequest (Maybe GooglePrivacyDlpV2JobTrigger)-gpdvcjtrJobTrigger- = lens _gpdvcjtrJobTrigger- (\ s a -> s{_gpdvcjtrJobTrigger = a})--instance FromJSON- GooglePrivacyDlpV2CreateJobTriggerRequest where- parseJSON- = withObject- "GooglePrivacyDlpV2CreateJobTriggerRequest"- (\ o ->- GooglePrivacyDlpV2CreateJobTriggerRequest' <$>- (o .:? "triggerId") <*> (o .:? "jobTrigger"))--instance ToJSON- GooglePrivacyDlpV2CreateJobTriggerRequest where- toJSON GooglePrivacyDlpV2CreateJobTriggerRequest'{..}- = object- (catMaybes- [("triggerId" .=) <$> _gpdvcjtrTriggerId,- ("jobTrigger" .=) <$> _gpdvcjtrJobTrigger])---- | Overview of the modifications that occurred.------ /See:/ 'googlePrivacyDlpV2TransformationOverview' smart constructor.-data GooglePrivacyDlpV2TransformationOverview = GooglePrivacyDlpV2TransformationOverview'- { _gpdvtoTransformedBytes :: !(Maybe (Textual Int64))- , _gpdvtoTransformationSummaries :: !(Maybe [GooglePrivacyDlpV2TransformationSummary])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2TransformationOverview' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvtoTransformedBytes'------ * 'gpdvtoTransformationSummaries'-googlePrivacyDlpV2TransformationOverview- :: GooglePrivacyDlpV2TransformationOverview-googlePrivacyDlpV2TransformationOverview =- GooglePrivacyDlpV2TransformationOverview'- { _gpdvtoTransformedBytes = Nothing- , _gpdvtoTransformationSummaries = Nothing- }---- | Total size in bytes that were transformed in some way.-gpdvtoTransformedBytes :: Lens' GooglePrivacyDlpV2TransformationOverview (Maybe Int64)-gpdvtoTransformedBytes- = lens _gpdvtoTransformedBytes- (\ s a -> s{_gpdvtoTransformedBytes = a})- . mapping _Coerce---- | Transformations applied to the dataset.-gpdvtoTransformationSummaries :: Lens' GooglePrivacyDlpV2TransformationOverview [GooglePrivacyDlpV2TransformationSummary]-gpdvtoTransformationSummaries- = lens _gpdvtoTransformationSummaries- (\ s a -> s{_gpdvtoTransformationSummaries = a})- . _Default- . _Coerce--instance FromJSON- GooglePrivacyDlpV2TransformationOverview where- parseJSON- = withObject- "GooglePrivacyDlpV2TransformationOverview"- (\ o ->- GooglePrivacyDlpV2TransformationOverview' <$>- (o .:? "transformedBytes") <*>- (o .:? "transformationSummaries" .!= mempty))--instance ToJSON- GooglePrivacyDlpV2TransformationOverview where- toJSON GooglePrivacyDlpV2TransformationOverview'{..}- = object- (catMaybes- [("transformedBytes" .=) <$> _gpdvtoTransformedBytes,- ("transformationSummaries" .=) <$>- _gpdvtoTransformationSummaries])---- | Location of the finding within an image.------ /See:/ 'googlePrivacyDlpV2ImageLocation' smart constructor.-newtype GooglePrivacyDlpV2ImageLocation = GooglePrivacyDlpV2ImageLocation'- { _gpdvilBoundingBoxes :: Maybe [GooglePrivacyDlpV2BoundingBox]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2ImageLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvilBoundingBoxes'-googlePrivacyDlpV2ImageLocation- :: GooglePrivacyDlpV2ImageLocation-googlePrivacyDlpV2ImageLocation =- GooglePrivacyDlpV2ImageLocation'- { _gpdvilBoundingBoxes = Nothing- }---- | Bounding boxes locating the pixels within the image containing the--- finding.-gpdvilBoundingBoxes :: Lens' GooglePrivacyDlpV2ImageLocation [GooglePrivacyDlpV2BoundingBox]-gpdvilBoundingBoxes- = lens _gpdvilBoundingBoxes- (\ s a -> s{_gpdvilBoundingBoxes = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2ImageLocation- where- parseJSON- = withObject "GooglePrivacyDlpV2ImageLocation"- (\ o ->- GooglePrivacyDlpV2ImageLocation' <$>- (o .:? "boundingBoxes" .!= mempty))--instance ToJSON GooglePrivacyDlpV2ImageLocation where- toJSON GooglePrivacyDlpV2ImageLocation'{..}- = object- (catMaybes- [("boundingBoxes" .=) <$> _gpdvilBoundingBoxes])---- | A representation of a Datastore kind.------ /See:/ 'googlePrivacyDlpV2KindExpression' smart constructor.-newtype GooglePrivacyDlpV2KindExpression = GooglePrivacyDlpV2KindExpression'- { _gpdvkeName :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2KindExpression' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvkeName'-googlePrivacyDlpV2KindExpression- :: GooglePrivacyDlpV2KindExpression-googlePrivacyDlpV2KindExpression =- GooglePrivacyDlpV2KindExpression'- { _gpdvkeName = Nothing- }---- | The name of the kind.-gpdvkeName :: Lens' GooglePrivacyDlpV2KindExpression (Maybe Text)-gpdvkeName- = lens _gpdvkeName (\ s a -> s{_gpdvkeName = a})--instance FromJSON GooglePrivacyDlpV2KindExpression- where- parseJSON- = withObject "GooglePrivacyDlpV2KindExpression"- (\ o ->- GooglePrivacyDlpV2KindExpression' <$> (o .:? "name"))--instance ToJSON GooglePrivacyDlpV2KindExpression- where- toJSON GooglePrivacyDlpV2KindExpression'{..}- = object (catMaybes [("name" .=) <$> _gpdvkeName])---- | Privacy metric to compute for reidentification risk analysis.------ /See:/ 'googlePrivacyDlpV2PrivacyMetric' smart constructor.-data GooglePrivacyDlpV2PrivacyMetric = GooglePrivacyDlpV2PrivacyMetric'- { _gpdvpmNumericalStatsConfig :: !(Maybe GooglePrivacyDlpV2NumericalStatsConfig)- , _gpdvpmCategoricalStatsConfig :: !(Maybe GooglePrivacyDlpV2CategoricalStatsConfig)- , _gpdvpmKMapEstimationConfig :: !(Maybe GooglePrivacyDlpV2KMapEstimationConfig)- , _gpdvpmKAnonymityConfig :: !(Maybe GooglePrivacyDlpV2KAnonymityConfig)- , _gpdvpmLDiversityConfig :: !(Maybe GooglePrivacyDlpV2LDiversityConfig)- , _gpdvpmDeltaPresenceEstimationConfig :: !(Maybe GooglePrivacyDlpV2DeltaPresenceEstimationConfig)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2PrivacyMetric' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvpmNumericalStatsConfig'------ * 'gpdvpmCategoricalStatsConfig'------ * 'gpdvpmKMapEstimationConfig'------ * 'gpdvpmKAnonymityConfig'------ * 'gpdvpmLDiversityConfig'------ * 'gpdvpmDeltaPresenceEstimationConfig'-googlePrivacyDlpV2PrivacyMetric- :: GooglePrivacyDlpV2PrivacyMetric-googlePrivacyDlpV2PrivacyMetric =- GooglePrivacyDlpV2PrivacyMetric'- { _gpdvpmNumericalStatsConfig = Nothing- , _gpdvpmCategoricalStatsConfig = Nothing- , _gpdvpmKMapEstimationConfig = Nothing- , _gpdvpmKAnonymityConfig = Nothing- , _gpdvpmLDiversityConfig = Nothing- , _gpdvpmDeltaPresenceEstimationConfig = Nothing- }--gpdvpmNumericalStatsConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2NumericalStatsConfig)-gpdvpmNumericalStatsConfig- = lens _gpdvpmNumericalStatsConfig- (\ s a -> s{_gpdvpmNumericalStatsConfig = a})--gpdvpmCategoricalStatsConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2CategoricalStatsConfig)-gpdvpmCategoricalStatsConfig- = lens _gpdvpmCategoricalStatsConfig- (\ s a -> s{_gpdvpmCategoricalStatsConfig = a})--gpdvpmKMapEstimationConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2KMapEstimationConfig)-gpdvpmKMapEstimationConfig- = lens _gpdvpmKMapEstimationConfig- (\ s a -> s{_gpdvpmKMapEstimationConfig = a})--gpdvpmKAnonymityConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2KAnonymityConfig)-gpdvpmKAnonymityConfig- = lens _gpdvpmKAnonymityConfig- (\ s a -> s{_gpdvpmKAnonymityConfig = a})--gpdvpmLDiversityConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2LDiversityConfig)-gpdvpmLDiversityConfig- = lens _gpdvpmLDiversityConfig- (\ s a -> s{_gpdvpmLDiversityConfig = a})--gpdvpmDeltaPresenceEstimationConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2DeltaPresenceEstimationConfig)-gpdvpmDeltaPresenceEstimationConfig- = lens _gpdvpmDeltaPresenceEstimationConfig- (\ s a ->- s{_gpdvpmDeltaPresenceEstimationConfig = a})--instance FromJSON GooglePrivacyDlpV2PrivacyMetric- where- parseJSON- = withObject "GooglePrivacyDlpV2PrivacyMetric"- (\ o ->- GooglePrivacyDlpV2PrivacyMetric' <$>- (o .:? "numericalStatsConfig") <*>- (o .:? "categoricalStatsConfig")- <*> (o .:? "kMapEstimationConfig")- <*> (o .:? "kAnonymityConfig")- <*> (o .:? "lDiversityConfig")- <*> (o .:? "deltaPresenceEstimationConfig"))--instance ToJSON GooglePrivacyDlpV2PrivacyMetric where- toJSON GooglePrivacyDlpV2PrivacyMetric'{..}- = object- (catMaybes- [("numericalStatsConfig" .=) <$>- _gpdvpmNumericalStatsConfig,- ("categoricalStatsConfig" .=) <$>- _gpdvpmCategoricalStatsConfig,- ("kMapEstimationConfig" .=) <$>- _gpdvpmKMapEstimationConfig,- ("kAnonymityConfig" .=) <$> _gpdvpmKAnonymityConfig,- ("lDiversityConfig" .=) <$> _gpdvpmLDiversityConfig,- ("deltaPresenceEstimationConfig" .=) <$>- _gpdvpmDeltaPresenceEstimationConfig])---- | Using raw keys is prone to security risks due to accidentally leaking--- the key. Choose another type of key if possible.------ /See:/ 'googlePrivacyDlpV2UnwrAppedCryptoKey' smart constructor.-newtype GooglePrivacyDlpV2UnwrAppedCryptoKey = GooglePrivacyDlpV2UnwrAppedCryptoKey'- { _gpdvuackKey :: Maybe Bytes- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2UnwrAppedCryptoKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvuackKey'-googlePrivacyDlpV2UnwrAppedCryptoKey- :: GooglePrivacyDlpV2UnwrAppedCryptoKey-googlePrivacyDlpV2UnwrAppedCryptoKey =- GooglePrivacyDlpV2UnwrAppedCryptoKey'- { _gpdvuackKey = Nothing- }---- | The AES 128\/192\/256 bit key. [required]-gpdvuackKey :: Lens' GooglePrivacyDlpV2UnwrAppedCryptoKey (Maybe ByteString)-gpdvuackKey- = lens _gpdvuackKey (\ s a -> s{_gpdvuackKey = a}) .- mapping _Bytes--instance FromJSON- GooglePrivacyDlpV2UnwrAppedCryptoKey where- parseJSON- = withObject "GooglePrivacyDlpV2UnwrAppedCryptoKey"- (\ o ->- GooglePrivacyDlpV2UnwrAppedCryptoKey' <$>- (o .:? "key"))--instance ToJSON GooglePrivacyDlpV2UnwrAppedCryptoKey- where- toJSON GooglePrivacyDlpV2UnwrAppedCryptoKey'{..}- = object (catMaybes [("key" .=) <$> _gpdvuackKey])---- | Rule set for modifying a set of infoTypes to alter behavior under--- certain circumstances, depending on the specific details of the rules--- within the set.------ /See:/ 'googlePrivacyDlpV2InspectionRuleSet' smart constructor.-data GooglePrivacyDlpV2InspectionRuleSet = GooglePrivacyDlpV2InspectionRuleSet'- { _gpdvirsRules :: !(Maybe [GooglePrivacyDlpV2InspectionRule])- , _gpdvirsInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2InspectionRuleSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvirsRules'------ * 'gpdvirsInfoTypes'-googlePrivacyDlpV2InspectionRuleSet- :: GooglePrivacyDlpV2InspectionRuleSet-googlePrivacyDlpV2InspectionRuleSet =- GooglePrivacyDlpV2InspectionRuleSet'- { _gpdvirsRules = Nothing- , _gpdvirsInfoTypes = Nothing- }---- | Set of rules to be applied to infoTypes. The rules are applied in order.-gpdvirsRules :: Lens' GooglePrivacyDlpV2InspectionRuleSet [GooglePrivacyDlpV2InspectionRule]-gpdvirsRules- = lens _gpdvirsRules (\ s a -> s{_gpdvirsRules = a})- . _Default- . _Coerce---- | List of infoTypes this rule set is applied to.-gpdvirsInfoTypes :: Lens' GooglePrivacyDlpV2InspectionRuleSet [GooglePrivacyDlpV2InfoType]-gpdvirsInfoTypes- = lens _gpdvirsInfoTypes- (\ s a -> s{_gpdvirsInfoTypes = a})- . _Default- . _Coerce--instance FromJSON GooglePrivacyDlpV2InspectionRuleSet- where- parseJSON- = withObject "GooglePrivacyDlpV2InspectionRuleSet"- (\ o ->- GooglePrivacyDlpV2InspectionRuleSet' <$>- (o .:? "rules" .!= mempty) <*>- (o .:? "infoTypes" .!= mempty))--instance ToJSON GooglePrivacyDlpV2InspectionRuleSet- where- toJSON GooglePrivacyDlpV2InspectionRuleSet'{..}- = object- (catMaybes- [("rules" .=) <$> _gpdvirsRules,- ("infoTypes" .=) <$> _gpdvirsInfoTypes])---- | A column with a semantic tag attached.------ /See:/ 'googlePrivacyDlpV2QuasiId' smart constructor.-data GooglePrivacyDlpV2QuasiId = GooglePrivacyDlpV2QuasiId'- { _gpdvqiField :: !(Maybe GooglePrivacyDlpV2FieldId)- , _gpdvqiInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)- , _gpdvqiInferred :: !(Maybe GoogleProtobufEmpty)- , _gpdvqiCustomTag :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2QuasiId' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvqiField'------ * 'gpdvqiInfoType'------ * 'gpdvqiInferred'------ * 'gpdvqiCustomTag'-googlePrivacyDlpV2QuasiId- :: GooglePrivacyDlpV2QuasiId-googlePrivacyDlpV2QuasiId =- GooglePrivacyDlpV2QuasiId'- { _gpdvqiField = Nothing- , _gpdvqiInfoType = Nothing- , _gpdvqiInferred = Nothing- , _gpdvqiCustomTag = Nothing- }---- | Identifies the column. [required]-gpdvqiField :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GooglePrivacyDlpV2FieldId)-gpdvqiField- = lens _gpdvqiField (\ s a -> s{_gpdvqiField = a})---- | A column can be tagged with a InfoType to use the relevant public--- dataset as a statistical model of population, if available. We currently--- support US ZIP codes, region codes, ages and genders. To--- programmatically obtain the list of supported InfoTypes, use--- ListInfoTypes with the supported_by=RISK_ANALYSIS filter.-gpdvqiInfoType :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GooglePrivacyDlpV2InfoType)-gpdvqiInfoType- = lens _gpdvqiInfoType- (\ s a -> s{_gpdvqiInfoType = a})---- | If no semantic tag is indicated, we infer the statistical model from the--- distribution of values in the input data-gpdvqiInferred :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GoogleProtobufEmpty)-gpdvqiInferred- = lens _gpdvqiInferred- (\ s a -> s{_gpdvqiInferred = a})---- | A column can be tagged with a custom tag. In this case, the user must--- indicate an auxiliary table that contains statistical information on the--- possible values of this column (below).-gpdvqiCustomTag :: Lens' GooglePrivacyDlpV2QuasiId (Maybe Text)-gpdvqiCustomTag- = lens _gpdvqiCustomTag- (\ s a -> s{_gpdvqiCustomTag = a})--instance FromJSON GooglePrivacyDlpV2QuasiId where- parseJSON- = withObject "GooglePrivacyDlpV2QuasiId"- (\ o ->- GooglePrivacyDlpV2QuasiId' <$>- (o .:? "field") <*> (o .:? "infoType") <*>- (o .:? "inferred")- <*> (o .:? "customTag"))--instance ToJSON GooglePrivacyDlpV2QuasiId where- toJSON GooglePrivacyDlpV2QuasiId'{..}- = object- (catMaybes- [("field" .=) <$> _gpdvqiField,- ("infoType" .=) <$> _gpdvqiInfoType,- ("inferred" .=) <$> _gpdvqiInferred,- ("customTag" .=) <$> _gpdvqiCustomTag])---- | Location of a finding within a document.------ /See:/ 'googlePrivacyDlpV2DocumentLocation' smart constructor.-newtype GooglePrivacyDlpV2DocumentLocation = GooglePrivacyDlpV2DocumentLocation'- { _gpdvdlFileOffSet :: Maybe (Textual Int64)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GooglePrivacyDlpV2DocumentLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpdvdlFileOffSet'-googlePrivacyDlpV2DocumentLocation- :: GooglePrivacyDlpV2DocumentLocation-googlePrivacyDlpV2DocumentLocation =- GooglePrivacyDlpV2DocumentLocation'- { _gpdvdlFileOffSet = Nothing- }+data GooglePrivacyDlpV2InfoTypeStats =+ GooglePrivacyDlpV2InfoTypeStats'+ { _gpdvitsCount :: !(Maybe (Textual Int64))+ , _gpdvitsInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoTypeStats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvitsCount'+--+-- * 'gpdvitsInfoType'+googlePrivacyDlpV2InfoTypeStats+ :: GooglePrivacyDlpV2InfoTypeStats+googlePrivacyDlpV2InfoTypeStats =+ GooglePrivacyDlpV2InfoTypeStats'+ {_gpdvitsCount = Nothing, _gpdvitsInfoType = Nothing}+++-- | Number of findings for this infoType.+gpdvitsCount :: Lens' GooglePrivacyDlpV2InfoTypeStats (Maybe Int64)+gpdvitsCount+ = lens _gpdvitsCount (\ s a -> s{_gpdvitsCount = a})+ . mapping _Coerce++-- | The type of finding this stat is for.+gpdvitsInfoType :: Lens' GooglePrivacyDlpV2InfoTypeStats (Maybe GooglePrivacyDlpV2InfoType)+gpdvitsInfoType+ = lens _gpdvitsInfoType+ (\ s a -> s{_gpdvitsInfoType = a})++instance FromJSON GooglePrivacyDlpV2InfoTypeStats+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InfoTypeStats"+ (\ o ->+ GooglePrivacyDlpV2InfoTypeStats' <$>+ (o .:? "count") <*> (o .:? "infoType"))++instance ToJSON GooglePrivacyDlpV2InfoTypeStats where+ toJSON GooglePrivacyDlpV2InfoTypeStats'{..}+ = object+ (catMaybes+ [("count" .=) <$> _gpdvitsCount,+ ("infoType" .=) <$> _gpdvitsInfoType])++-- | Redact a given value. For example, if used with an+-- \`InfoTypeTransformation\` transforming PHONE_NUMBER, and input \'My+-- phone number is 206-555-0123\', the output would be \'My phone number is+-- \'.+--+-- /See:/ 'googlePrivacyDlpV2RedactConfig' smart constructor.+data GooglePrivacyDlpV2RedactConfig =+ GooglePrivacyDlpV2RedactConfig'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RedactConfig' with the minimum fields required to make a request.+--+googlePrivacyDlpV2RedactConfig+ :: GooglePrivacyDlpV2RedactConfig+googlePrivacyDlpV2RedactConfig = GooglePrivacyDlpV2RedactConfig'+++instance FromJSON GooglePrivacyDlpV2RedactConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RedactConfig"+ (\ o -> pure GooglePrivacyDlpV2RedactConfig')++instance ToJSON GooglePrivacyDlpV2RedactConfig where+ toJSON = const emptyObject++-- | Request message for UpdateJobTrigger.+--+-- /See:/ 'googlePrivacyDlpV2UpdateJobTriggerRequest' smart constructor.+data GooglePrivacyDlpV2UpdateJobTriggerRequest =+ GooglePrivacyDlpV2UpdateJobTriggerRequest'+ { _gpdvujtrUpdateMask :: !(Maybe GFieldMask)+ , _gpdvujtrJobTrigger :: !(Maybe GooglePrivacyDlpV2JobTrigger)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2UpdateJobTriggerRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvujtrUpdateMask'+--+-- * 'gpdvujtrJobTrigger'+googlePrivacyDlpV2UpdateJobTriggerRequest+ :: GooglePrivacyDlpV2UpdateJobTriggerRequest+googlePrivacyDlpV2UpdateJobTriggerRequest =+ GooglePrivacyDlpV2UpdateJobTriggerRequest'+ {_gpdvujtrUpdateMask = Nothing, _gpdvujtrJobTrigger = Nothing}+++-- | Mask to control which fields get updated.+gpdvujtrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateJobTriggerRequest (Maybe GFieldMask)+gpdvujtrUpdateMask+ = lens _gpdvujtrUpdateMask+ (\ s a -> s{_gpdvujtrUpdateMask = a})++-- | New JobTrigger value.+gpdvujtrJobTrigger :: Lens' GooglePrivacyDlpV2UpdateJobTriggerRequest (Maybe GooglePrivacyDlpV2JobTrigger)+gpdvujtrJobTrigger+ = lens _gpdvujtrJobTrigger+ (\ s a -> s{_gpdvujtrJobTrigger = a})++instance FromJSON+ GooglePrivacyDlpV2UpdateJobTriggerRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2UpdateJobTriggerRequest"+ (\ o ->+ GooglePrivacyDlpV2UpdateJobTriggerRequest' <$>+ (o .:? "updateMask") <*> (o .:? "jobTrigger"))++instance ToJSON+ GooglePrivacyDlpV2UpdateJobTriggerRequest+ where+ toJSON GooglePrivacyDlpV2UpdateJobTriggerRequest'{..}+ = object+ (catMaybes+ [("updateMask" .=) <$> _gpdvujtrUpdateMask,+ ("jobTrigger" .=) <$> _gpdvujtrJobTrigger])++-- | Generic half-open interval [start, end)+--+-- /See:/ 'googlePrivacyDlpV2Range' smart constructor.+data GooglePrivacyDlpV2Range =+ GooglePrivacyDlpV2Range'+ { _gpdvrStart :: !(Maybe (Textual Int64))+ , _gpdvrEnd :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Range' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrStart'+--+-- * 'gpdvrEnd'+googlePrivacyDlpV2Range+ :: GooglePrivacyDlpV2Range+googlePrivacyDlpV2Range =+ GooglePrivacyDlpV2Range' {_gpdvrStart = Nothing, _gpdvrEnd = Nothing}+++-- | Index of the first character of the range (inclusive).+gpdvrStart :: Lens' GooglePrivacyDlpV2Range (Maybe Int64)+gpdvrStart+ = lens _gpdvrStart (\ s a -> s{_gpdvrStart = a}) .+ mapping _Coerce++-- | Index of the last character of the range (exclusive).+gpdvrEnd :: Lens' GooglePrivacyDlpV2Range (Maybe Int64)+gpdvrEnd+ = lens _gpdvrEnd (\ s a -> s{_gpdvrEnd = a}) .+ mapping _Coerce++instance FromJSON GooglePrivacyDlpV2Range where+ parseJSON+ = withObject "GooglePrivacyDlpV2Range"+ (\ o ->+ GooglePrivacyDlpV2Range' <$>+ (o .:? "start") <*> (o .:? "end"))++instance ToJSON GooglePrivacyDlpV2Range where+ toJSON GooglePrivacyDlpV2Range'{..}+ = object+ (catMaybes+ [("start" .=) <$> _gpdvrStart,+ ("end" .=) <$> _gpdvrEnd])++-- | 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 [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'googleRpcStatus' smart constructor.+data GoogleRpcStatus =+ GoogleRpcStatus'+ { _grsDetails :: !(Maybe [GoogleRpcStatusDetailsItem])+ , _grsCode :: !(Maybe (Textual Int32))+ , _grsMessage :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GoogleRpcStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsDetails'+--+-- * 'grsCode'+--+-- * 'grsMessage'+googleRpcStatus+ :: GoogleRpcStatus+googleRpcStatus =+ GoogleRpcStatus'+ {_grsDetails = Nothing, _grsCode = Nothing, _grsMessage = Nothing}+++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+grsDetails :: Lens' GoogleRpcStatus [GoogleRpcStatusDetailsItem]+grsDetails+ = lens _grsDetails (\ s a -> s{_grsDetails = a}) .+ _Default+ . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+grsCode :: Lens' GoogleRpcStatus (Maybe Int32)+grsCode+ = lens _grsCode (\ s a -> s{_grsCode = a}) .+ mapping _Coerce++-- | 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.+grsMessage :: Lens' GoogleRpcStatus (Maybe Text)+grsMessage+ = lens _grsMessage (\ s a -> s{_grsMessage = a})++instance FromJSON GoogleRpcStatus where+ parseJSON+ = withObject "GoogleRpcStatus"+ (\ o ->+ GoogleRpcStatus' <$>+ (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON GoogleRpcStatus where+ toJSON GoogleRpcStatus'{..}+ = object+ (catMaybes+ [("details" .=) <$> _grsDetails,+ ("code" .=) <$> _grsCode,+ ("message" .=) <$> _grsMessage])++-- | Buckets values based on fixed size ranges. The Bucketing transformation+-- can provide all of this functionality, but requires more configuration.+-- This message is provided as a convenience to the user for simple+-- bucketing strategies. The transformed value will be a hyphenated string+-- of -, i.e if lower_bound = 10 and upper_bound = 20 all values that are+-- within this bucket will be replaced with \"10-20\". This can be used on+-- data of type: double, long. If the bound Value type differs from the+-- type of data being transformed, we will first attempt converting the+-- type of the data to be transformed to match the type of the bound before+-- comparing. See https:\/\/cloud.google.com\/dlp\/docs\/concepts-bucketing+-- to learn more.+--+-- /See:/ 'googlePrivacyDlpV2FixedSizeBucketingConfig' smart constructor.+data GooglePrivacyDlpV2FixedSizeBucketingConfig =+ GooglePrivacyDlpV2FixedSizeBucketingConfig'+ { _gpdvfsbcUpperBound :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvfsbcLowerBound :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvfsbcBucketSize :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2FixedSizeBucketingConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvfsbcUpperBound'+--+-- * 'gpdvfsbcLowerBound'+--+-- * 'gpdvfsbcBucketSize'+googlePrivacyDlpV2FixedSizeBucketingConfig+ :: GooglePrivacyDlpV2FixedSizeBucketingConfig+googlePrivacyDlpV2FixedSizeBucketingConfig =+ GooglePrivacyDlpV2FixedSizeBucketingConfig'+ { _gpdvfsbcUpperBound = Nothing+ , _gpdvfsbcLowerBound = Nothing+ , _gpdvfsbcBucketSize = Nothing+ }+++-- | Upper bound value of buckets. All values greater than upper_bound are+-- grouped together into a single bucket; for example if \`upper_bound\` =+-- 89, then all values greater than 89 are replaced with the value “89+”.+-- [Required].+gpdvfsbcUpperBound :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe GooglePrivacyDlpV2Value)+gpdvfsbcUpperBound+ = lens _gpdvfsbcUpperBound+ (\ s a -> s{_gpdvfsbcUpperBound = a})++-- | Lower bound value of buckets. All values less than \`lower_bound\` are+-- grouped together into a single bucket; for example if \`lower_bound\` =+-- 10, then all values less than 10 are replaced with the value “-10”.+-- [Required].+gpdvfsbcLowerBound :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe GooglePrivacyDlpV2Value)+gpdvfsbcLowerBound+ = lens _gpdvfsbcLowerBound+ (\ s a -> s{_gpdvfsbcLowerBound = a})++-- | Size of each bucket (except for minimum and maximum buckets). So if+-- \`lower_bound\` = 10, \`upper_bound\` = 89, and \`bucket_size\` = 10,+-- then the following buckets would be used: -10, 10-20, 20-30, 30-40,+-- 40-50, 50-60, 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals+-- works. [Required].+gpdvfsbcBucketSize :: Lens' GooglePrivacyDlpV2FixedSizeBucketingConfig (Maybe Double)+gpdvfsbcBucketSize+ = lens _gpdvfsbcBucketSize+ (\ s a -> s{_gpdvfsbcBucketSize = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2FixedSizeBucketingConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2FixedSizeBucketingConfig"+ (\ o ->+ GooglePrivacyDlpV2FixedSizeBucketingConfig' <$>+ (o .:? "upperBound") <*> (o .:? "lowerBound") <*>+ (o .:? "bucketSize"))++instance ToJSON+ GooglePrivacyDlpV2FixedSizeBucketingConfig+ where+ toJSON+ GooglePrivacyDlpV2FixedSizeBucketingConfig'{..}+ = object+ (catMaybes+ [("upperBound" .=) <$> _gpdvfsbcUpperBound,+ ("lowerBound" .=) <$> _gpdvfsbcLowerBound,+ ("bucketSize" .=) <$> _gpdvfsbcBucketSize])++-- | All the findings for a single scanned item.+--+-- /See:/ 'googlePrivacyDlpV2InspectResult' smart constructor.+data GooglePrivacyDlpV2InspectResult =+ GooglePrivacyDlpV2InspectResult'+ { _gpdvirFindingsTruncated :: !(Maybe Bool)+ , _gpdvirFindings :: !(Maybe [GooglePrivacyDlpV2Finding])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvirFindingsTruncated'+--+-- * 'gpdvirFindings'+googlePrivacyDlpV2InspectResult+ :: GooglePrivacyDlpV2InspectResult+googlePrivacyDlpV2InspectResult =+ GooglePrivacyDlpV2InspectResult'+ {_gpdvirFindingsTruncated = Nothing, _gpdvirFindings = Nothing}+++-- | If true, then this item might have more findings than were returned, and+-- the findings returned are an arbitrary subset of all findings. The+-- findings list might be truncated because the input items were too large,+-- or because the server reached the maximum amount of resources allowed+-- for a single API call. For best results, divide the input into smaller+-- batches.+gpdvirFindingsTruncated :: Lens' GooglePrivacyDlpV2InspectResult (Maybe Bool)+gpdvirFindingsTruncated+ = lens _gpdvirFindingsTruncated+ (\ s a -> s{_gpdvirFindingsTruncated = a})++-- | List of findings for an item.+gpdvirFindings :: Lens' GooglePrivacyDlpV2InspectResult [GooglePrivacyDlpV2Finding]+gpdvirFindings+ = lens _gpdvirFindings+ (\ s a -> s{_gpdvirFindings = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2InspectResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectResult"+ (\ o ->+ GooglePrivacyDlpV2InspectResult' <$>+ (o .:? "findingsTruncated") <*>+ (o .:? "findings" .!= mempty))++instance ToJSON GooglePrivacyDlpV2InspectResult where+ toJSON GooglePrivacyDlpV2InspectResult'{..}+ = object+ (catMaybes+ [("findingsTruncated" .=) <$>+ _gpdvirFindingsTruncated,+ ("findings" .=) <$> _gpdvirFindings])++-- | Configuration for a StoredInfoType.+--+-- /See:/ 'googlePrivacyDlpV2StoredInfoTypeConfig' smart constructor.+data GooglePrivacyDlpV2StoredInfoTypeConfig =+ GooglePrivacyDlpV2StoredInfoTypeConfig'+ { _gpdvsitcLargeCustomDictionary :: !(Maybe GooglePrivacyDlpV2LargeCustomDictionaryConfig)+ , _gpdvsitcDisplayName :: !(Maybe Text)+ , _gpdvsitcDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StoredInfoTypeConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsitcLargeCustomDictionary'+--+-- * 'gpdvsitcDisplayName'+--+-- * 'gpdvsitcDescription'+googlePrivacyDlpV2StoredInfoTypeConfig+ :: GooglePrivacyDlpV2StoredInfoTypeConfig+googlePrivacyDlpV2StoredInfoTypeConfig =+ GooglePrivacyDlpV2StoredInfoTypeConfig'+ { _gpdvsitcLargeCustomDictionary = Nothing+ , _gpdvsitcDisplayName = Nothing+ , _gpdvsitcDescription = Nothing+ }+++-- | StoredInfoType where findings are defined by a dictionary of phrases.+gpdvsitcLargeCustomDictionary :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe GooglePrivacyDlpV2LargeCustomDictionaryConfig)+gpdvsitcLargeCustomDictionary+ = lens _gpdvsitcLargeCustomDictionary+ (\ s a -> s{_gpdvsitcLargeCustomDictionary = a})++-- | Display name of the StoredInfoType (max 256 characters).+gpdvsitcDisplayName :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe Text)+gpdvsitcDisplayName+ = lens _gpdvsitcDisplayName+ (\ s a -> s{_gpdvsitcDisplayName = a})++-- | Description of the StoredInfoType (max 256 characters).+gpdvsitcDescription :: Lens' GooglePrivacyDlpV2StoredInfoTypeConfig (Maybe Text)+gpdvsitcDescription+ = lens _gpdvsitcDescription+ (\ s a -> s{_gpdvsitcDescription = a})++instance FromJSON+ GooglePrivacyDlpV2StoredInfoTypeConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2StoredInfoTypeConfig"+ (\ o ->+ GooglePrivacyDlpV2StoredInfoTypeConfig' <$>+ (o .:? "largeCustomDictionary") <*>+ (o .:? "displayName")+ <*> (o .:? "description"))++instance ToJSON+ GooglePrivacyDlpV2StoredInfoTypeConfig+ where+ toJSON GooglePrivacyDlpV2StoredInfoTypeConfig'{..}+ = object+ (catMaybes+ [("largeCustomDictionary" .=) <$>+ _gpdvsitcLargeCustomDictionary,+ ("displayName" .=) <$> _gpdvsitcDisplayName,+ ("description" .=) <$> _gpdvsitcDescription])++-- | A transformation to apply to text that is identified as a specific+-- info_type.+--+-- /See:/ 'googlePrivacyDlpV2InfoTypeTransformation' smart constructor.+data GooglePrivacyDlpV2InfoTypeTransformation =+ GooglePrivacyDlpV2InfoTypeTransformation'+ { _gpdvittInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])+ , _gpdvittPrimitiveTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoTypeTransformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvittInfoTypes'+--+-- * 'gpdvittPrimitiveTransformation'+googlePrivacyDlpV2InfoTypeTransformation+ :: GooglePrivacyDlpV2InfoTypeTransformation+googlePrivacyDlpV2InfoTypeTransformation =+ GooglePrivacyDlpV2InfoTypeTransformation'+ {_gpdvittInfoTypes = Nothing, _gpdvittPrimitiveTransformation = Nothing}+++-- | InfoTypes to apply the transformation to. An empty list will cause this+-- transformation to apply to all findings that correspond to infoTypes+-- that were requested in \`InspectConfig\`.+gpdvittInfoTypes :: Lens' GooglePrivacyDlpV2InfoTypeTransformation [GooglePrivacyDlpV2InfoType]+gpdvittInfoTypes+ = lens _gpdvittInfoTypes+ (\ s a -> s{_gpdvittInfoTypes = a})+ . _Default+ . _Coerce++-- | Primitive transformation to apply to the infoType. [required]+gpdvittPrimitiveTransformation :: Lens' GooglePrivacyDlpV2InfoTypeTransformation (Maybe GooglePrivacyDlpV2PrimitiveTransformation)+gpdvittPrimitiveTransformation+ = lens _gpdvittPrimitiveTransformation+ (\ s a -> s{_gpdvittPrimitiveTransformation = a})++instance FromJSON+ GooglePrivacyDlpV2InfoTypeTransformation+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2InfoTypeTransformation"+ (\ o ->+ GooglePrivacyDlpV2InfoTypeTransformation' <$>+ (o .:? "infoTypes" .!= mempty) <*>+ (o .:? "primitiveTransformation"))++instance ToJSON+ GooglePrivacyDlpV2InfoTypeTransformation+ where+ toJSON GooglePrivacyDlpV2InfoTypeTransformation'{..}+ = object+ (catMaybes+ [("infoTypes" .=) <$> _gpdvittInfoTypes,+ ("primitiveTransformation" .=) <$>+ _gpdvittPrimitiveTransformation])++-- | General identifier of a data field in a storage service.+--+-- /See:/ 'googlePrivacyDlpV2FieldId' smart constructor.+newtype GooglePrivacyDlpV2FieldId =+ GooglePrivacyDlpV2FieldId'+ { _gpdvfiName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2FieldId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvfiName'+googlePrivacyDlpV2FieldId+ :: GooglePrivacyDlpV2FieldId+googlePrivacyDlpV2FieldId = GooglePrivacyDlpV2FieldId' {_gpdvfiName = Nothing}+++-- | Name describing the field.+gpdvfiName :: Lens' GooglePrivacyDlpV2FieldId (Maybe Text)+gpdvfiName+ = lens _gpdvfiName (\ s a -> s{_gpdvfiName = a})++instance FromJSON GooglePrivacyDlpV2FieldId where+ parseJSON+ = withObject "GooglePrivacyDlpV2FieldId"+ (\ o ->+ GooglePrivacyDlpV2FieldId' <$> (o .:? "name"))++instance ToJSON GooglePrivacyDlpV2FieldId where+ toJSON GooglePrivacyDlpV2FieldId'{..}+ = object (catMaybes [("name" .=) <$> _gpdvfiName])++-- | Combines all of the information about a DLP job.+--+-- /See:/ 'googlePrivacyDlpV2DlpJob' smart constructor.+data GooglePrivacyDlpV2DlpJob =+ GooglePrivacyDlpV2DlpJob'+ { _gpdvdjInspectDetails :: !(Maybe GooglePrivacyDlpV2InspectDataSourceDetails)+ , _gpdvdjState :: !(Maybe GooglePrivacyDlpV2DlpJobState)+ , _gpdvdjStartTime :: !(Maybe DateTime')+ , _gpdvdjJobTriggerName :: !(Maybe Text)+ , _gpdvdjRiskDetails :: !(Maybe GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails)+ , _gpdvdjName :: !(Maybe Text)+ , _gpdvdjEndTime :: !(Maybe DateTime')+ , _gpdvdjType :: !(Maybe GooglePrivacyDlpV2DlpJobType)+ , _gpdvdjErrors :: !(Maybe [GooglePrivacyDlpV2Error])+ , _gpdvdjCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DlpJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdjInspectDetails'+--+-- * 'gpdvdjState'+--+-- * 'gpdvdjStartTime'+--+-- * 'gpdvdjJobTriggerName'+--+-- * 'gpdvdjRiskDetails'+--+-- * 'gpdvdjName'+--+-- * 'gpdvdjEndTime'+--+-- * 'gpdvdjType'+--+-- * 'gpdvdjErrors'+--+-- * 'gpdvdjCreateTime'+googlePrivacyDlpV2DlpJob+ :: GooglePrivacyDlpV2DlpJob+googlePrivacyDlpV2DlpJob =+ GooglePrivacyDlpV2DlpJob'+ { _gpdvdjInspectDetails = Nothing+ , _gpdvdjState = Nothing+ , _gpdvdjStartTime = Nothing+ , _gpdvdjJobTriggerName = Nothing+ , _gpdvdjRiskDetails = Nothing+ , _gpdvdjName = Nothing+ , _gpdvdjEndTime = Nothing+ , _gpdvdjType = Nothing+ , _gpdvdjErrors = Nothing+ , _gpdvdjCreateTime = Nothing+ }+++-- | Results from inspecting a data source.+gpdvdjInspectDetails :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2InspectDataSourceDetails)+gpdvdjInspectDetails+ = lens _gpdvdjInspectDetails+ (\ s a -> s{_gpdvdjInspectDetails = a})++-- | State of a job.+gpdvdjState :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2DlpJobState)+gpdvdjState+ = lens _gpdvdjState (\ s a -> s{_gpdvdjState = a})++-- | Time when the job started.+gpdvdjStartTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)+gpdvdjStartTime+ = lens _gpdvdjStartTime+ (\ s a -> s{_gpdvdjStartTime = a})+ . mapping _DateTime++-- | If created by a job trigger, the resource name of the trigger that+-- instantiated the job.+gpdvdjJobTriggerName :: Lens' GooglePrivacyDlpV2DlpJob (Maybe Text)+gpdvdjJobTriggerName+ = lens _gpdvdjJobTriggerName+ (\ s a -> s{_gpdvdjJobTriggerName = a})++-- | Results from analyzing risk of a data source.+gpdvdjRiskDetails :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails)+gpdvdjRiskDetails+ = lens _gpdvdjRiskDetails+ (\ s a -> s{_gpdvdjRiskDetails = a})++-- | The server-assigned name.+gpdvdjName :: Lens' GooglePrivacyDlpV2DlpJob (Maybe Text)+gpdvdjName+ = lens _gpdvdjName (\ s a -> s{_gpdvdjName = a})++-- | Time when the job finished.+gpdvdjEndTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)+gpdvdjEndTime+ = lens _gpdvdjEndTime+ (\ s a -> s{_gpdvdjEndTime = a})+ . mapping _DateTime++-- | The type of job.+gpdvdjType :: Lens' GooglePrivacyDlpV2DlpJob (Maybe GooglePrivacyDlpV2DlpJobType)+gpdvdjType+ = lens _gpdvdjType (\ s a -> s{_gpdvdjType = a})++-- | A stream of errors encountered running the job.+gpdvdjErrors :: Lens' GooglePrivacyDlpV2DlpJob [GooglePrivacyDlpV2Error]+gpdvdjErrors+ = lens _gpdvdjErrors (\ s a -> s{_gpdvdjErrors = a})+ . _Default+ . _Coerce++-- | Time when the job was created.+gpdvdjCreateTime :: Lens' GooglePrivacyDlpV2DlpJob (Maybe UTCTime)+gpdvdjCreateTime+ = lens _gpdvdjCreateTime+ (\ s a -> s{_gpdvdjCreateTime = a})+ . mapping _DateTime++instance FromJSON GooglePrivacyDlpV2DlpJob where+ parseJSON+ = withObject "GooglePrivacyDlpV2DlpJob"+ (\ o ->+ GooglePrivacyDlpV2DlpJob' <$>+ (o .:? "inspectDetails") <*> (o .:? "state") <*>+ (o .:? "startTime")+ <*> (o .:? "jobTriggerName")+ <*> (o .:? "riskDetails")+ <*> (o .:? "name")+ <*> (o .:? "endTime")+ <*> (o .:? "type")+ <*> (o .:? "errors" .!= mempty)+ <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2DlpJob where+ toJSON GooglePrivacyDlpV2DlpJob'{..}+ = object+ (catMaybes+ [("inspectDetails" .=) <$> _gpdvdjInspectDetails,+ ("state" .=) <$> _gpdvdjState,+ ("startTime" .=) <$> _gpdvdjStartTime,+ ("jobTriggerName" .=) <$> _gpdvdjJobTriggerName,+ ("riskDetails" .=) <$> _gpdvdjRiskDetails,+ ("name" .=) <$> _gpdvdjName,+ ("endTime" .=) <$> _gpdvdjEndTime,+ ("type" .=) <$> _gpdvdjType,+ ("errors" .=) <$> _gpdvdjErrors,+ ("createTime" .=) <$> _gpdvdjCreateTime])++-- | A type of transformation that is applied over structured data such as a+-- table.+--+-- /See:/ 'googlePrivacyDlpV2RecordTransformations' smart constructor.+data GooglePrivacyDlpV2RecordTransformations =+ GooglePrivacyDlpV2RecordTransformations'+ { _gpdvrtRecordSuppressions :: !(Maybe [GooglePrivacyDlpV2RecordSuppression])+ , _gpdvrtFieldTransformations :: !(Maybe [GooglePrivacyDlpV2FieldTransformation])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RecordTransformations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrtRecordSuppressions'+--+-- * 'gpdvrtFieldTransformations'+googlePrivacyDlpV2RecordTransformations+ :: GooglePrivacyDlpV2RecordTransformations+googlePrivacyDlpV2RecordTransformations =+ GooglePrivacyDlpV2RecordTransformations'+ {_gpdvrtRecordSuppressions = Nothing, _gpdvrtFieldTransformations = Nothing}+++-- | Configuration defining which records get suppressed entirely. Records+-- that match any suppression rule are omitted from the output [optional].+gpdvrtRecordSuppressions :: Lens' GooglePrivacyDlpV2RecordTransformations [GooglePrivacyDlpV2RecordSuppression]+gpdvrtRecordSuppressions+ = lens _gpdvrtRecordSuppressions+ (\ s a -> s{_gpdvrtRecordSuppressions = a})+ . _Default+ . _Coerce++-- | Transform the record by applying various field transformations.+gpdvrtFieldTransformations :: Lens' GooglePrivacyDlpV2RecordTransformations [GooglePrivacyDlpV2FieldTransformation]+gpdvrtFieldTransformations+ = lens _gpdvrtFieldTransformations+ (\ s a -> s{_gpdvrtFieldTransformations = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2RecordTransformations+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2RecordTransformations"+ (\ o ->+ GooglePrivacyDlpV2RecordTransformations' <$>+ (o .:? "recordSuppressions" .!= mempty) <*>+ (o .:? "fieldTransformations" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2RecordTransformations+ where+ toJSON GooglePrivacyDlpV2RecordTransformations'{..}+ = object+ (catMaybes+ [("recordSuppressions" .=) <$>+ _gpdvrtRecordSuppressions,+ ("fieldTransformations" .=) <$>+ _gpdvrtFieldTransformations])++-- | A unique identifier for a Datastore entity. If a key\'s partition ID or+-- any of its path kinds or names are reserved\/read-only, the key is+-- reserved\/read-only. A reserved\/read-only key is forbidden in certain+-- documented contexts.+--+-- /See:/ 'googlePrivacyDlpV2Key' smart constructor.+data GooglePrivacyDlpV2Key =+ GooglePrivacyDlpV2Key'+ { _gpdvkPartitionId :: !(Maybe GooglePrivacyDlpV2PartitionId)+ , _gpdvkPath :: !(Maybe [GooglePrivacyDlpV2PathElement])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Key' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkPartitionId'+--+-- * 'gpdvkPath'+googlePrivacyDlpV2Key+ :: GooglePrivacyDlpV2Key+googlePrivacyDlpV2Key =+ GooglePrivacyDlpV2Key' {_gpdvkPartitionId = Nothing, _gpdvkPath = Nothing}+++-- | Entities are partitioned into subsets, currently identified by a project+-- ID and namespace ID. Queries are scoped to a single partition.+gpdvkPartitionId :: Lens' GooglePrivacyDlpV2Key (Maybe GooglePrivacyDlpV2PartitionId)+gpdvkPartitionId+ = lens _gpdvkPartitionId+ (\ s a -> s{_gpdvkPartitionId = a})++-- | The entity path. An entity path consists of one or more elements+-- composed of a kind and a string or numerical identifier, which identify+-- entities. The first element identifies a _root entity_, the second+-- element identifies a _child_ of the root entity, the third element+-- identifies a child of the second entity, and so forth. The entities+-- identified by all prefixes of the path are called the element\'s+-- _ancestors_. A path can never be empty, and a path can have at most 100+-- elements.+gpdvkPath :: Lens' GooglePrivacyDlpV2Key [GooglePrivacyDlpV2PathElement]+gpdvkPath+ = lens _gpdvkPath (\ s a -> s{_gpdvkPath = a}) .+ _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2Key where+ parseJSON+ = withObject "GooglePrivacyDlpV2Key"+ (\ o ->+ GooglePrivacyDlpV2Key' <$>+ (o .:? "partitionId") <*> (o .:? "path" .!= mempty))++instance ToJSON GooglePrivacyDlpV2Key where+ toJSON GooglePrivacyDlpV2Key'{..}+ = object+ (catMaybes+ [("partitionId" .=) <$> _gpdvkPartitionId,+ ("path" .=) <$> _gpdvkPath])++-- | Generalization function that buckets values based on ranges. The ranges+-- and replacement values are dynamically provided by the user for custom+-- behavior, such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH This can be+-- used on data of type: number, long, string, timestamp. If the bound+-- \`Value\` type differs from the type of data being transformed, we will+-- first attempt converting the type of the data to be transformed to match+-- the type of the bound before comparing. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-bucketing to learn more.+--+-- /See:/ 'googlePrivacyDlpV2BucketingConfig' smart constructor.+newtype GooglePrivacyDlpV2BucketingConfig =+ GooglePrivacyDlpV2BucketingConfig'+ { _gpdvbcBuckets :: Maybe [GooglePrivacyDlpV2Bucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BucketingConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbcBuckets'+googlePrivacyDlpV2BucketingConfig+ :: GooglePrivacyDlpV2BucketingConfig+googlePrivacyDlpV2BucketingConfig =+ GooglePrivacyDlpV2BucketingConfig' {_gpdvbcBuckets = Nothing}+++-- | Set of buckets. Ranges must be non-overlapping.+gpdvbcBuckets :: Lens' GooglePrivacyDlpV2BucketingConfig [GooglePrivacyDlpV2Bucket]+gpdvbcBuckets+ = lens _gpdvbcBuckets+ (\ s a -> s{_gpdvbcBuckets = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2BucketingConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2BucketingConfig"+ (\ o ->+ GooglePrivacyDlpV2BucketingConfig' <$>+ (o .:? "buckets" .!= mempty))++instance ToJSON GooglePrivacyDlpV2BucketingConfig+ where+ toJSON GooglePrivacyDlpV2BucketingConfig'{..}+ = object+ (catMaybes [("buckets" .=) <$> _gpdvbcBuckets])++-- | Configuration description of the scanning process. When used with+-- redactContent only info_types and min_likelihood are currently used.+--+-- /See:/ 'googlePrivacyDlpV2InspectConfig' smart constructor.+data GooglePrivacyDlpV2InspectConfig =+ GooglePrivacyDlpV2InspectConfig'+ { _gpdvicInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])+ , _gpdvicMinLikelihood :: !(Maybe GooglePrivacyDlpV2InspectConfigMinLikelihood)+ , _gpdvicExcludeInfoTypes :: !(Maybe Bool)+ , _gpdvicIncludeQuote :: !(Maybe Bool)+ , _gpdvicCustomInfoTypes :: !(Maybe [GooglePrivacyDlpV2CustomInfoType])+ , _gpdvicLimits :: !(Maybe GooglePrivacyDlpV2FindingLimits)+ , _gpdvicContentOptions :: !(Maybe [Text])+ , _gpdvicRuleSet :: !(Maybe [GooglePrivacyDlpV2InspectionRuleSet])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvicInfoTypes'+--+-- * 'gpdvicMinLikelihood'+--+-- * 'gpdvicExcludeInfoTypes'+--+-- * 'gpdvicIncludeQuote'+--+-- * 'gpdvicCustomInfoTypes'+--+-- * 'gpdvicLimits'+--+-- * 'gpdvicContentOptions'+--+-- * 'gpdvicRuleSet'+googlePrivacyDlpV2InspectConfig+ :: GooglePrivacyDlpV2InspectConfig+googlePrivacyDlpV2InspectConfig =+ GooglePrivacyDlpV2InspectConfig'+ { _gpdvicInfoTypes = Nothing+ , _gpdvicMinLikelihood = Nothing+ , _gpdvicExcludeInfoTypes = Nothing+ , _gpdvicIncludeQuote = Nothing+ , _gpdvicCustomInfoTypes = Nothing+ , _gpdvicLimits = Nothing+ , _gpdvicContentOptions = Nothing+ , _gpdvicRuleSet = Nothing+ }+++-- | Restricts what info_types to look for. The values must correspond to+-- InfoType values returned by ListInfoTypes or listed at+-- https:\/\/cloud.google.com\/dlp\/docs\/infotypes-reference. When no+-- InfoTypes or CustomInfoTypes are specified in a request, the system may+-- automatically choose what detectors to run. By default this may be all+-- types, but may change over time as detectors are updated. The special+-- InfoType name \"ALL_BASIC\" can be used to trigger all detectors, but+-- may change over time as new InfoTypes are added. If you need precise+-- control and predictability as to what detectors are run you should+-- specify specific InfoTypes listed in the reference.+gpdvicInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2InfoType]+gpdvicInfoTypes+ = lens _gpdvicInfoTypes+ (\ s a -> s{_gpdvicInfoTypes = a})+ . _Default+ . _Coerce++-- | Only returns findings equal or above this threshold. The default is+-- POSSIBLE. See https:\/\/cloud.google.com\/dlp\/docs\/likelihood to learn+-- more.+gpdvicMinLikelihood :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe GooglePrivacyDlpV2InspectConfigMinLikelihood)+gpdvicMinLikelihood+ = lens _gpdvicMinLikelihood+ (\ s a -> s{_gpdvicMinLikelihood = a})++-- | When true, excludes type information of the findings.+gpdvicExcludeInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe Bool)+gpdvicExcludeInfoTypes+ = lens _gpdvicExcludeInfoTypes+ (\ s a -> s{_gpdvicExcludeInfoTypes = a})++-- | When true, a contextual quote from the data that triggered a finding is+-- included in the response; see Finding.quote.+gpdvicIncludeQuote :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe Bool)+gpdvicIncludeQuote+ = lens _gpdvicIncludeQuote+ (\ s a -> s{_gpdvicIncludeQuote = a})++-- | CustomInfoTypes provided by the user. See+-- https:\/\/cloud.google.com\/dlp\/docs\/creating-custom-infotypes to+-- learn more.+gpdvicCustomInfoTypes :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2CustomInfoType]+gpdvicCustomInfoTypes+ = lens _gpdvicCustomInfoTypes+ (\ s a -> s{_gpdvicCustomInfoTypes = a})+ . _Default+ . _Coerce++gpdvicLimits :: Lens' GooglePrivacyDlpV2InspectConfig (Maybe GooglePrivacyDlpV2FindingLimits)+gpdvicLimits+ = lens _gpdvicLimits (\ s a -> s{_gpdvicLimits = a})++-- | List of options defining data content to scan. If empty, text, images,+-- and other content will be included.+gpdvicContentOptions :: Lens' GooglePrivacyDlpV2InspectConfig [Text]+gpdvicContentOptions+ = lens _gpdvicContentOptions+ (\ s a -> s{_gpdvicContentOptions = a})+ . _Default+ . _Coerce++-- | Set of rules to apply to the findings for this InspectConfig. Exclusion+-- rules, contained in the set are executed in the end, other rules are+-- executed in the order they are specified for each info type.+gpdvicRuleSet :: Lens' GooglePrivacyDlpV2InspectConfig [GooglePrivacyDlpV2InspectionRuleSet]+gpdvicRuleSet+ = lens _gpdvicRuleSet+ (\ s a -> s{_gpdvicRuleSet = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2InspectConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectConfig"+ (\ o ->+ GooglePrivacyDlpV2InspectConfig' <$>+ (o .:? "infoTypes" .!= mempty) <*>+ (o .:? "minLikelihood")+ <*> (o .:? "excludeInfoTypes")+ <*> (o .:? "includeQuote")+ <*> (o .:? "customInfoTypes" .!= mempty)+ <*> (o .:? "limits")+ <*> (o .:? "contentOptions" .!= mempty)+ <*> (o .:? "ruleSet" .!= mempty))++instance ToJSON GooglePrivacyDlpV2InspectConfig where+ toJSON GooglePrivacyDlpV2InspectConfig'{..}+ = object+ (catMaybes+ [("infoTypes" .=) <$> _gpdvicInfoTypes,+ ("minLikelihood" .=) <$> _gpdvicMinLikelihood,+ ("excludeInfoTypes" .=) <$> _gpdvicExcludeInfoTypes,+ ("includeQuote" .=) <$> _gpdvicIncludeQuote,+ ("customInfoTypes" .=) <$> _gpdvicCustomInfoTypes,+ ("limits" .=) <$> _gpdvicLimits,+ ("contentOptions" .=) <$> _gpdvicContentOptions,+ ("ruleSet" .=) <$> _gpdvicRuleSet])++-- | Configuration for a risk analysis job. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-risk-analysis to learn+-- more.+--+-- /See:/ 'googlePrivacyDlpV2RiskAnalysisJobConfig' smart constructor.+data GooglePrivacyDlpV2RiskAnalysisJobConfig =+ GooglePrivacyDlpV2RiskAnalysisJobConfig'+ { _gpdvrajcPrivacyMetric :: !(Maybe GooglePrivacyDlpV2PrivacyMetric)+ , _gpdvrajcActions :: !(Maybe [GooglePrivacyDlpV2Action])+ , _gpdvrajcSourceTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RiskAnalysisJobConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrajcPrivacyMetric'+--+-- * 'gpdvrajcActions'+--+-- * 'gpdvrajcSourceTable'+googlePrivacyDlpV2RiskAnalysisJobConfig+ :: GooglePrivacyDlpV2RiskAnalysisJobConfig+googlePrivacyDlpV2RiskAnalysisJobConfig =+ GooglePrivacyDlpV2RiskAnalysisJobConfig'+ { _gpdvrajcPrivacyMetric = Nothing+ , _gpdvrajcActions = Nothing+ , _gpdvrajcSourceTable = Nothing+ }+++-- | Privacy metric to compute.+gpdvrajcPrivacyMetric :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig (Maybe GooglePrivacyDlpV2PrivacyMetric)+gpdvrajcPrivacyMetric+ = lens _gpdvrajcPrivacyMetric+ (\ s a -> s{_gpdvrajcPrivacyMetric = a})++-- | Actions to execute at the completion of the job. Are executed in the+-- order provided.+gpdvrajcActions :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig [GooglePrivacyDlpV2Action]+gpdvrajcActions+ = lens _gpdvrajcActions+ (\ s a -> s{_gpdvrajcActions = a})+ . _Default+ . _Coerce++-- | Input dataset to compute metrics over.+gpdvrajcSourceTable :: Lens' GooglePrivacyDlpV2RiskAnalysisJobConfig (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvrajcSourceTable+ = lens _gpdvrajcSourceTable+ (\ s a -> s{_gpdvrajcSourceTable = a})++instance FromJSON+ GooglePrivacyDlpV2RiskAnalysisJobConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2RiskAnalysisJobConfig"+ (\ o ->+ GooglePrivacyDlpV2RiskAnalysisJobConfig' <$>+ (o .:? "privacyMetric") <*>+ (o .:? "actions" .!= mempty)+ <*> (o .:? "sourceTable"))++instance ToJSON+ GooglePrivacyDlpV2RiskAnalysisJobConfig+ where+ toJSON GooglePrivacyDlpV2RiskAnalysisJobConfig'{..}+ = object+ (catMaybes+ [("privacyMetric" .=) <$> _gpdvrajcPrivacyMetric,+ ("actions" .=) <$> _gpdvrajcActions,+ ("sourceTable" .=) <$> _gpdvrajcSourceTable])++-- | Message for infoType-dependent details parsed from quote.+--+-- /See:/ 'googlePrivacyDlpV2QuoteInfo' smart constructor.+newtype GooglePrivacyDlpV2QuoteInfo =+ GooglePrivacyDlpV2QuoteInfo'+ { _gpdvqiDateTime :: Maybe GooglePrivacyDlpV2DateTime+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2QuoteInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvqiDateTime'+googlePrivacyDlpV2QuoteInfo+ :: GooglePrivacyDlpV2QuoteInfo+googlePrivacyDlpV2QuoteInfo =+ GooglePrivacyDlpV2QuoteInfo' {_gpdvqiDateTime = Nothing}+++-- | The date time indicated by the quote.+gpdvqiDateTime :: Lens' GooglePrivacyDlpV2QuoteInfo (Maybe GooglePrivacyDlpV2DateTime)+gpdvqiDateTime+ = lens _gpdvqiDateTime+ (\ s a -> s{_gpdvqiDateTime = a})++instance FromJSON GooglePrivacyDlpV2QuoteInfo where+ parseJSON+ = withObject "GooglePrivacyDlpV2QuoteInfo"+ (\ o ->+ GooglePrivacyDlpV2QuoteInfo' <$> (o .:? "dateTime"))++instance ToJSON GooglePrivacyDlpV2QuoteInfo where+ toJSON GooglePrivacyDlpV2QuoteInfo'{..}+ = object+ (catMaybes [("dateTime" .=) <$> _gpdvqiDateTime])++-- | Configuration to suppress records whose suppression conditions evaluate+-- to true.+--+-- /See:/ 'googlePrivacyDlpV2RecordSuppression' smart constructor.+newtype GooglePrivacyDlpV2RecordSuppression =+ GooglePrivacyDlpV2RecordSuppression'+ { _gpdvrsCondition :: Maybe GooglePrivacyDlpV2RecordCondition+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RecordSuppression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrsCondition'+googlePrivacyDlpV2RecordSuppression+ :: GooglePrivacyDlpV2RecordSuppression+googlePrivacyDlpV2RecordSuppression =+ GooglePrivacyDlpV2RecordSuppression' {_gpdvrsCondition = Nothing}+++-- | A condition that when it evaluates to true will result in the record+-- being evaluated to be suppressed from the transformed content.+gpdvrsCondition :: Lens' GooglePrivacyDlpV2RecordSuppression (Maybe GooglePrivacyDlpV2RecordCondition)+gpdvrsCondition+ = lens _gpdvrsCondition+ (\ s a -> s{_gpdvrsCondition = a})++instance FromJSON GooglePrivacyDlpV2RecordSuppression+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RecordSuppression"+ (\ o ->+ GooglePrivacyDlpV2RecordSuppression' <$>+ (o .:? "condition"))++instance ToJSON GooglePrivacyDlpV2RecordSuppression+ where+ toJSON GooglePrivacyDlpV2RecordSuppression'{..}+ = object+ (catMaybes [("condition" .=) <$> _gpdvrsCondition])++-- | This is a data encryption key (DEK) (as opposed to a key encryption key+-- (KEK) stored by KMS). When using KMS to wrap\/unwrap DEKs, be sure to+-- set an appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an+-- attacker cannot unwrap the data crypto key.+--+-- /See:/ 'googlePrivacyDlpV2CryptoKey' smart constructor.+data GooglePrivacyDlpV2CryptoKey =+ GooglePrivacyDlpV2CryptoKey'+ { _gpdvckTransient :: !(Maybe GooglePrivacyDlpV2TransientCryptoKey)+ , _gpdvckKmsWrApped :: !(Maybe GooglePrivacyDlpV2KmsWrAppedCryptoKey)+ , _gpdvckUnwrApped :: !(Maybe GooglePrivacyDlpV2UnwrAppedCryptoKey)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CryptoKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvckTransient'+--+-- * 'gpdvckKmsWrApped'+--+-- * 'gpdvckUnwrApped'+googlePrivacyDlpV2CryptoKey+ :: GooglePrivacyDlpV2CryptoKey+googlePrivacyDlpV2CryptoKey =+ GooglePrivacyDlpV2CryptoKey'+ { _gpdvckTransient = Nothing+ , _gpdvckKmsWrApped = Nothing+ , _gpdvckUnwrApped = Nothing+ }+++gpdvckTransient :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2TransientCryptoKey)+gpdvckTransient+ = lens _gpdvckTransient+ (\ s a -> s{_gpdvckTransient = a})++gpdvckKmsWrApped :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2KmsWrAppedCryptoKey)+gpdvckKmsWrApped+ = lens _gpdvckKmsWrApped+ (\ s a -> s{_gpdvckKmsWrApped = a})++gpdvckUnwrApped :: Lens' GooglePrivacyDlpV2CryptoKey (Maybe GooglePrivacyDlpV2UnwrAppedCryptoKey)+gpdvckUnwrApped+ = lens _gpdvckUnwrApped+ (\ s a -> s{_gpdvckUnwrApped = a})++instance FromJSON GooglePrivacyDlpV2CryptoKey where+ parseJSON+ = withObject "GooglePrivacyDlpV2CryptoKey"+ (\ o ->+ GooglePrivacyDlpV2CryptoKey' <$>+ (o .:? "transient") <*> (o .:? "kmsWrapped") <*>+ (o .:? "unwrapped"))++instance ToJSON GooglePrivacyDlpV2CryptoKey where+ toJSON GooglePrivacyDlpV2CryptoKey'{..}+ = object+ (catMaybes+ [("transient" .=) <$> _gpdvckTransient,+ ("kmsWrapped" .=) <$> _gpdvckKmsWrApped,+ ("unwrapped" .=) <$> _gpdvckUnwrApped])++-- | Configuration for a custom dictionary created from a data source of any+-- size up to the maximum size defined in the+-- [limits](https:\/\/cloud.google.com\/dlp\/limits) page. The artifacts of+-- dictionary creation are stored in the specified Google Cloud Storage+-- location. Consider using \`CustomInfoType.Dictionary\` for smaller+-- dictionaries that satisfy the size requirements.+--+-- /See:/ 'googlePrivacyDlpV2LargeCustomDictionaryConfig' smart constructor.+data GooglePrivacyDlpV2LargeCustomDictionaryConfig =+ GooglePrivacyDlpV2LargeCustomDictionaryConfig'+ { _gpdvlcdcBigQueryField :: !(Maybe GooglePrivacyDlpV2BigQueryField)+ , _gpdvlcdcCloudStorageFileSet :: !(Maybe GooglePrivacyDlpV2CloudStorageFileSet)+ , _gpdvlcdcOutputPath :: !(Maybe GooglePrivacyDlpV2CloudStoragePath)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LargeCustomDictionaryConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlcdcBigQueryField'+--+-- * 'gpdvlcdcCloudStorageFileSet'+--+-- * 'gpdvlcdcOutputPath'+googlePrivacyDlpV2LargeCustomDictionaryConfig+ :: GooglePrivacyDlpV2LargeCustomDictionaryConfig+googlePrivacyDlpV2LargeCustomDictionaryConfig =+ GooglePrivacyDlpV2LargeCustomDictionaryConfig'+ { _gpdvlcdcBigQueryField = Nothing+ , _gpdvlcdcCloudStorageFileSet = Nothing+ , _gpdvlcdcOutputPath = Nothing+ }+++-- | Field in a BigQuery table where each cell represents a dictionary+-- phrase.+gpdvlcdcBigQueryField :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2BigQueryField)+gpdvlcdcBigQueryField+ = lens _gpdvlcdcBigQueryField+ (\ s a -> s{_gpdvlcdcBigQueryField = a})++-- | Set of files containing newline-delimited lists of dictionary phrases.+gpdvlcdcCloudStorageFileSet :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2CloudStorageFileSet)+gpdvlcdcCloudStorageFileSet+ = lens _gpdvlcdcCloudStorageFileSet+ (\ s a -> s{_gpdvlcdcCloudStorageFileSet = a})++-- | Location to store dictionary artifacts in Google Cloud Storage. These+-- files will only be accessible by project owners and the DLP API. If any+-- of these artifacts are modified, the dictionary is considered invalid+-- and can no longer be used.+gpdvlcdcOutputPath :: Lens' GooglePrivacyDlpV2LargeCustomDictionaryConfig (Maybe GooglePrivacyDlpV2CloudStoragePath)+gpdvlcdcOutputPath+ = lens _gpdvlcdcOutputPath+ (\ s a -> s{_gpdvlcdcOutputPath = a})++instance FromJSON+ GooglePrivacyDlpV2LargeCustomDictionaryConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2LargeCustomDictionaryConfig"+ (\ o ->+ GooglePrivacyDlpV2LargeCustomDictionaryConfig' <$>+ (o .:? "bigQueryField") <*>+ (o .:? "cloudStorageFileSet")+ <*> (o .:? "outputPath"))++instance ToJSON+ GooglePrivacyDlpV2LargeCustomDictionaryConfig+ where+ toJSON+ GooglePrivacyDlpV2LargeCustomDictionaryConfig'{..}+ = object+ (catMaybes+ [("bigQueryField" .=) <$> _gpdvlcdcBigQueryField,+ ("cloudStorageFileSet" .=) <$>+ _gpdvlcdcCloudStorageFileSet,+ ("outputPath" .=) <$> _gpdvlcdcOutputPath])++-- | Message defining a list of words or phrases to search for in the data.+--+-- /See:/ 'googlePrivacyDlpV2WordList' smart constructor.+newtype GooglePrivacyDlpV2WordList =+ GooglePrivacyDlpV2WordList'+ { _gpdvwlWords :: Maybe [Text]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2WordList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvwlWords'+googlePrivacyDlpV2WordList+ :: GooglePrivacyDlpV2WordList+googlePrivacyDlpV2WordList =+ GooglePrivacyDlpV2WordList' {_gpdvwlWords = Nothing}+++-- | Words or phrases defining the dictionary. The dictionary must contain at+-- least one phrase and every phrase must contain at least 2 characters+-- that are letters or digits. [required]+gpdvwlWords :: Lens' GooglePrivacyDlpV2WordList [Text]+gpdvwlWords+ = lens _gpdvwlWords (\ s a -> s{_gpdvwlWords = a}) .+ _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2WordList where+ parseJSON+ = withObject "GooglePrivacyDlpV2WordList"+ (\ o ->+ GooglePrivacyDlpV2WordList' <$>+ (o .:? "words" .!= mempty))++instance ToJSON GooglePrivacyDlpV2WordList where+ toJSON GooglePrivacyDlpV2WordList'{..}+ = object (catMaybes [("words" .=) <$> _gpdvwlWords])++-- | Container structure for the content to inspect.+--+-- /See:/ 'googlePrivacyDlpV2ContentItem' smart constructor.+data GooglePrivacyDlpV2ContentItem =+ GooglePrivacyDlpV2ContentItem'+ { _gpdvciValue :: !(Maybe Text)+ , _gpdvciByteItem :: !(Maybe GooglePrivacyDlpV2ByteContentItem)+ , _gpdvciTable :: !(Maybe GooglePrivacyDlpV2Table)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ContentItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvciValue'+--+-- * 'gpdvciByteItem'+--+-- * 'gpdvciTable'+googlePrivacyDlpV2ContentItem+ :: GooglePrivacyDlpV2ContentItem+googlePrivacyDlpV2ContentItem =+ GooglePrivacyDlpV2ContentItem'+ {_gpdvciValue = Nothing, _gpdvciByteItem = Nothing, _gpdvciTable = Nothing}+++-- | String data to inspect or redact.+gpdvciValue :: Lens' GooglePrivacyDlpV2ContentItem (Maybe Text)+gpdvciValue+ = lens _gpdvciValue (\ s a -> s{_gpdvciValue = a})++-- | Content data to inspect or redact. Replaces \`type\` and \`data\`.+gpdvciByteItem :: Lens' GooglePrivacyDlpV2ContentItem (Maybe GooglePrivacyDlpV2ByteContentItem)+gpdvciByteItem+ = lens _gpdvciByteItem+ (\ s a -> s{_gpdvciByteItem = a})++-- | Structured content for inspection. See+-- https:\/\/cloud.google.com\/dlp\/docs\/inspecting-text#inspecting_a_table+-- to learn more.+gpdvciTable :: Lens' GooglePrivacyDlpV2ContentItem (Maybe GooglePrivacyDlpV2Table)+gpdvciTable+ = lens _gpdvciTable (\ s a -> s{_gpdvciTable = a})++instance FromJSON GooglePrivacyDlpV2ContentItem where+ parseJSON+ = withObject "GooglePrivacyDlpV2ContentItem"+ (\ o ->+ GooglePrivacyDlpV2ContentItem' <$>+ (o .:? "value") <*> (o .:? "byteItem") <*>+ (o .:? "table"))++instance ToJSON GooglePrivacyDlpV2ContentItem where+ toJSON GooglePrivacyDlpV2ContentItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _gpdvciValue,+ ("byteItem" .=) <$> _gpdvciByteItem,+ ("table" .=) <$> _gpdvciTable])++--+-- /See:/ 'googlePrivacyDlpV2CategoricalStatsHistogramBucket' smart constructor.+data GooglePrivacyDlpV2CategoricalStatsHistogramBucket =+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket'+ { _gpdvcshbValueFrequencyLowerBound :: !(Maybe (Textual Int64))+ , _gpdvcshbBucketValues :: !(Maybe [GooglePrivacyDlpV2ValueFrequency])+ , _gpdvcshbValueFrequencyUpperBound :: !(Maybe (Textual Int64))+ , _gpdvcshbBucketSize :: !(Maybe (Textual Int64))+ , _gpdvcshbBucketValueCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsHistogramBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcshbValueFrequencyLowerBound'+--+-- * 'gpdvcshbBucketValues'+--+-- * 'gpdvcshbValueFrequencyUpperBound'+--+-- * 'gpdvcshbBucketSize'+--+-- * 'gpdvcshbBucketValueCount'+googlePrivacyDlpV2CategoricalStatsHistogramBucket+ :: GooglePrivacyDlpV2CategoricalStatsHistogramBucket+googlePrivacyDlpV2CategoricalStatsHistogramBucket =+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket'+ { _gpdvcshbValueFrequencyLowerBound = Nothing+ , _gpdvcshbBucketValues = Nothing+ , _gpdvcshbValueFrequencyUpperBound = Nothing+ , _gpdvcshbBucketSize = Nothing+ , _gpdvcshbBucketValueCount = Nothing+ }+++-- | Lower bound on the value frequency of the values in this bucket.+gpdvcshbValueFrequencyLowerBound :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)+gpdvcshbValueFrequencyLowerBound+ = lens _gpdvcshbValueFrequencyLowerBound+ (\ s a -> s{_gpdvcshbValueFrequencyLowerBound = a})+ . mapping _Coerce++-- | Sample of value frequencies in this bucket. The total number of values+-- returned per bucket is capped at 20.+gpdvcshbBucketValues :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket [GooglePrivacyDlpV2ValueFrequency]+gpdvcshbBucketValues+ = lens _gpdvcshbBucketValues+ (\ s a -> s{_gpdvcshbBucketValues = a})+ . _Default+ . _Coerce++-- | Upper bound on the value frequency of the values in this bucket.+gpdvcshbValueFrequencyUpperBound :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)+gpdvcshbValueFrequencyUpperBound+ = lens _gpdvcshbValueFrequencyUpperBound+ (\ s a -> s{_gpdvcshbValueFrequencyUpperBound = a})+ . mapping _Coerce++-- | Total number of values in this bucket.+gpdvcshbBucketSize :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)+gpdvcshbBucketSize+ = lens _gpdvcshbBucketSize+ (\ s a -> s{_gpdvcshbBucketSize = a})+ . mapping _Coerce++-- | Total number of distinct values in this bucket.+gpdvcshbBucketValueCount :: Lens' GooglePrivacyDlpV2CategoricalStatsHistogramBucket (Maybe Int64)+gpdvcshbBucketValueCount+ = lens _gpdvcshbBucketValueCount+ (\ s a -> s{_gpdvcshbBucketValueCount = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CategoricalStatsHistogramBucket"+ (\ o ->+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket'+ <$>+ (o .:? "valueFrequencyLowerBound") <*>+ (o .:? "bucketValues" .!= mempty)+ <*> (o .:? "valueFrequencyUpperBound")+ <*> (o .:? "bucketSize")+ <*> (o .:? "bucketValueCount"))++instance ToJSON+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket+ where+ toJSON+ GooglePrivacyDlpV2CategoricalStatsHistogramBucket'{..}+ = object+ (catMaybes+ [("valueFrequencyLowerBound" .=) <$>+ _gpdvcshbValueFrequencyLowerBound,+ ("bucketValues" .=) <$> _gpdvcshbBucketValues,+ ("valueFrequencyUpperBound" .=) <$>+ _gpdvcshbValueFrequencyUpperBound,+ ("bucketSize" .=) <$> _gpdvcshbBucketSize,+ ("bucketValueCount" .=) <$>+ _gpdvcshbBucketValueCount])++-- | All result fields mentioned below are updated while the job is+-- processing.+--+-- /See:/ 'googlePrivacyDlpV2Result' smart constructor.+data GooglePrivacyDlpV2Result =+ GooglePrivacyDlpV2Result'+ { _gpdvrProcessedBytes :: !(Maybe (Textual Int64))+ , _gpdvrInfoTypeStats :: !(Maybe [GooglePrivacyDlpV2InfoTypeStats])+ , _gpdvrTotalEstimatedBytes :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Result' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrProcessedBytes'+--+-- * 'gpdvrInfoTypeStats'+--+-- * 'gpdvrTotalEstimatedBytes'+googlePrivacyDlpV2Result+ :: GooglePrivacyDlpV2Result+googlePrivacyDlpV2Result =+ GooglePrivacyDlpV2Result'+ { _gpdvrProcessedBytes = Nothing+ , _gpdvrInfoTypeStats = Nothing+ , _gpdvrTotalEstimatedBytes = Nothing+ }+++-- | Total size in bytes that were processed.+gpdvrProcessedBytes :: Lens' GooglePrivacyDlpV2Result (Maybe Int64)+gpdvrProcessedBytes+ = lens _gpdvrProcessedBytes+ (\ s a -> s{_gpdvrProcessedBytes = a})+ . mapping _Coerce++-- | Statistics of how many instances of each info type were found during+-- inspect job.+gpdvrInfoTypeStats :: Lens' GooglePrivacyDlpV2Result [GooglePrivacyDlpV2InfoTypeStats]+gpdvrInfoTypeStats+ = lens _gpdvrInfoTypeStats+ (\ s a -> s{_gpdvrInfoTypeStats = a})+ . _Default+ . _Coerce++-- | Estimate of the number of bytes to process.+gpdvrTotalEstimatedBytes :: Lens' GooglePrivacyDlpV2Result (Maybe Int64)+gpdvrTotalEstimatedBytes+ = lens _gpdvrTotalEstimatedBytes+ (\ s a -> s{_gpdvrTotalEstimatedBytes = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2Result where+ parseJSON+ = withObject "GooglePrivacyDlpV2Result"+ (\ o ->+ GooglePrivacyDlpV2Result' <$>+ (o .:? "processedBytes") <*>+ (o .:? "infoTypeStats" .!= mempty)+ <*> (o .:? "totalEstimatedBytes"))++instance ToJSON GooglePrivacyDlpV2Result where+ toJSON GooglePrivacyDlpV2Result'{..}+ = object+ (catMaybes+ [("processedBytes" .=) <$> _gpdvrProcessedBytes,+ ("infoTypeStats" .=) <$> _gpdvrInfoTypeStats,+ ("totalEstimatedBytes" .=) <$>+ _gpdvrTotalEstimatedBytes])++-- | The results of an inspect DataSource job.+--+-- /See:/ 'googlePrivacyDlpV2InspectDataSourceDetails' smart constructor.+data GooglePrivacyDlpV2InspectDataSourceDetails =+ GooglePrivacyDlpV2InspectDataSourceDetails'+ { _gpdvidsdResult :: !(Maybe GooglePrivacyDlpV2Result)+ , _gpdvidsdRequestedOptions :: !(Maybe GooglePrivacyDlpV2RequestedOptions)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectDataSourceDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvidsdResult'+--+-- * 'gpdvidsdRequestedOptions'+googlePrivacyDlpV2InspectDataSourceDetails+ :: GooglePrivacyDlpV2InspectDataSourceDetails+googlePrivacyDlpV2InspectDataSourceDetails =+ GooglePrivacyDlpV2InspectDataSourceDetails'+ {_gpdvidsdResult = Nothing, _gpdvidsdRequestedOptions = Nothing}+++-- | A summary of the outcome of this inspect job.+gpdvidsdResult :: Lens' GooglePrivacyDlpV2InspectDataSourceDetails (Maybe GooglePrivacyDlpV2Result)+gpdvidsdResult+ = lens _gpdvidsdResult+ (\ s a -> s{_gpdvidsdResult = a})++-- | The configuration used for this job.+gpdvidsdRequestedOptions :: Lens' GooglePrivacyDlpV2InspectDataSourceDetails (Maybe GooglePrivacyDlpV2RequestedOptions)+gpdvidsdRequestedOptions+ = lens _gpdvidsdRequestedOptions+ (\ s a -> s{_gpdvidsdRequestedOptions = a})++instance FromJSON+ GooglePrivacyDlpV2InspectDataSourceDetails+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2InspectDataSourceDetails"+ (\ o ->+ GooglePrivacyDlpV2InspectDataSourceDetails' <$>+ (o .:? "result") <*> (o .:? "requestedOptions"))++instance ToJSON+ GooglePrivacyDlpV2InspectDataSourceDetails+ where+ toJSON+ GooglePrivacyDlpV2InspectDataSourceDetails'{..}+ = object+ (catMaybes+ [("result" .=) <$> _gpdvidsdResult,+ ("requestedOptions" .=) <$>+ _gpdvidsdRequestedOptions])++-- | Results of redacting an image.+--+-- /See:/ 'googlePrivacyDlpV2RedactImageResponse' smart constructor.+data GooglePrivacyDlpV2RedactImageResponse =+ GooglePrivacyDlpV2RedactImageResponse'+ { _gpdvrirExtractedText :: !(Maybe Text)+ , _gpdvrirInspectResult :: !(Maybe GooglePrivacyDlpV2InspectResult)+ , _gpdvrirRedactedImage :: !(Maybe Bytes)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RedactImageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrirExtractedText'+--+-- * 'gpdvrirInspectResult'+--+-- * 'gpdvrirRedactedImage'+googlePrivacyDlpV2RedactImageResponse+ :: GooglePrivacyDlpV2RedactImageResponse+googlePrivacyDlpV2RedactImageResponse =+ GooglePrivacyDlpV2RedactImageResponse'+ { _gpdvrirExtractedText = Nothing+ , _gpdvrirInspectResult = Nothing+ , _gpdvrirRedactedImage = Nothing+ }+++-- | If an image was being inspected and the InspectConfig\'s include_quote+-- was set to true, then this field will include all text, if any, that was+-- found in the image.+gpdvrirExtractedText :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe Text)+gpdvrirExtractedText+ = lens _gpdvrirExtractedText+ (\ s a -> s{_gpdvrirExtractedText = a})++-- | The findings. Populated when include_findings in the request is true.+gpdvrirInspectResult :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe GooglePrivacyDlpV2InspectResult)+gpdvrirInspectResult+ = lens _gpdvrirInspectResult+ (\ s a -> s{_gpdvrirInspectResult = a})++-- | The redacted image. The type will be the same as the original image.+gpdvrirRedactedImage :: Lens' GooglePrivacyDlpV2RedactImageResponse (Maybe ByteString)+gpdvrirRedactedImage+ = lens _gpdvrirRedactedImage+ (\ s a -> s{_gpdvrirRedactedImage = a})+ . mapping _Bytes++instance FromJSON+ GooglePrivacyDlpV2RedactImageResponse+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RedactImageResponse"+ (\ o ->+ GooglePrivacyDlpV2RedactImageResponse' <$>+ (o .:? "extractedText") <*> (o .:? "inspectResult")+ <*> (o .:? "redactedImage"))++instance ToJSON GooglePrivacyDlpV2RedactImageResponse+ where+ toJSON GooglePrivacyDlpV2RedactImageResponse'{..}+ = object+ (catMaybes+ [("extractedText" .=) <$> _gpdvrirExtractedText,+ ("inspectResult" .=) <$> _gpdvrirInspectResult,+ ("redactedImage" .=) <$> _gpdvrirRedactedImage])++-- | Publish the results of a DlpJob to a pub sub channel. Compatible with:+-- Inspect, Risk+--+-- /See:/ 'googlePrivacyDlpV2PublishToPubSub' smart constructor.+newtype GooglePrivacyDlpV2PublishToPubSub =+ GooglePrivacyDlpV2PublishToPubSub'+ { _gpdvptpsTopic :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PublishToPubSub' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvptpsTopic'+googlePrivacyDlpV2PublishToPubSub+ :: GooglePrivacyDlpV2PublishToPubSub+googlePrivacyDlpV2PublishToPubSub =+ GooglePrivacyDlpV2PublishToPubSub' {_gpdvptpsTopic = Nothing}+++-- | Cloud Pub\/Sub topic to send notifications to. The topic must have given+-- publishing access rights to the DLP API service account executing the+-- long running DlpJob sending the notifications. Format is+-- projects\/{project}\/topics\/{topic}.+gpdvptpsTopic :: Lens' GooglePrivacyDlpV2PublishToPubSub (Maybe Text)+gpdvptpsTopic+ = lens _gpdvptpsTopic+ (\ s a -> s{_gpdvptpsTopic = a})++instance FromJSON GooglePrivacyDlpV2PublishToPubSub+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2PublishToPubSub"+ (\ o ->+ GooglePrivacyDlpV2PublishToPubSub' <$>+ (o .:? "topic"))++instance ToJSON GooglePrivacyDlpV2PublishToPubSub+ where+ toJSON GooglePrivacyDlpV2PublishToPubSub'{..}+ = object+ (catMaybes [("topic" .=) <$> _gpdvptpsTopic])++-- | Row key for identifying a record in BigQuery table.+--+-- /See:/ 'googlePrivacyDlpV2BigQueryKey' smart constructor.+data GooglePrivacyDlpV2BigQueryKey =+ GooglePrivacyDlpV2BigQueryKey'+ { _gpdvbqkTableReference :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ , _gpdvbqkRowNumber :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BigQueryKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbqkTableReference'+--+-- * 'gpdvbqkRowNumber'+googlePrivacyDlpV2BigQueryKey+ :: GooglePrivacyDlpV2BigQueryKey+googlePrivacyDlpV2BigQueryKey =+ GooglePrivacyDlpV2BigQueryKey'+ {_gpdvbqkTableReference = Nothing, _gpdvbqkRowNumber = Nothing}+++-- | Complete BigQuery table reference.+gpdvbqkTableReference :: Lens' GooglePrivacyDlpV2BigQueryKey (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvbqkTableReference+ = lens _gpdvbqkTableReference+ (\ s a -> s{_gpdvbqkTableReference = a})++-- | Absolute number of the row from the beginning of the table at the time+-- of scanning.+gpdvbqkRowNumber :: Lens' GooglePrivacyDlpV2BigQueryKey (Maybe Int64)+gpdvbqkRowNumber+ = lens _gpdvbqkRowNumber+ (\ s a -> s{_gpdvbqkRowNumber = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2BigQueryKey where+ parseJSON+ = withObject "GooglePrivacyDlpV2BigQueryKey"+ (\ o ->+ GooglePrivacyDlpV2BigQueryKey' <$>+ (o .:? "tableReference") <*> (o .:? "rowNumber"))++instance ToJSON GooglePrivacyDlpV2BigQueryKey where+ toJSON GooglePrivacyDlpV2BigQueryKey'{..}+ = object+ (catMaybes+ [("tableReference" .=) <$> _gpdvbqkTableReference,+ ("rowNumber" .=) <$> _gpdvbqkRowNumber])++-- | Rule for modifying a CustomInfoType to alter behavior under certain+-- circumstances, depending on the specific details of the rule. Not+-- supported for the \`surrogate_type\` custom info type.+--+-- /See:/ 'googlePrivacyDlpV2DetectionRule' smart constructor.+newtype GooglePrivacyDlpV2DetectionRule =+ GooglePrivacyDlpV2DetectionRule'+ { _gpdvdrHotwordRule :: Maybe GooglePrivacyDlpV2HotwordRule+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DetectionRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdrHotwordRule'+googlePrivacyDlpV2DetectionRule+ :: GooglePrivacyDlpV2DetectionRule+googlePrivacyDlpV2DetectionRule =+ GooglePrivacyDlpV2DetectionRule' {_gpdvdrHotwordRule = Nothing}+++-- | Hotword-based detection rule.+gpdvdrHotwordRule :: Lens' GooglePrivacyDlpV2DetectionRule (Maybe GooglePrivacyDlpV2HotwordRule)+gpdvdrHotwordRule+ = lens _gpdvdrHotwordRule+ (\ s a -> s{_gpdvdrHotwordRule = a})++instance FromJSON GooglePrivacyDlpV2DetectionRule+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DetectionRule"+ (\ o ->+ GooglePrivacyDlpV2DetectionRule' <$>+ (o .:? "hotwordRule"))++instance ToJSON GooglePrivacyDlpV2DetectionRule where+ toJSON GooglePrivacyDlpV2DetectionRule'{..}+ = object+ (catMaybes+ [("hotwordRule" .=) <$> _gpdvdrHotwordRule])++-- | A condition for determining whether a transformation should be applied+-- to a field.+--+-- /See:/ 'googlePrivacyDlpV2RecordCondition' smart constructor.+newtype GooglePrivacyDlpV2RecordCondition =+ GooglePrivacyDlpV2RecordCondition'+ { _gpdvrcExpressions :: Maybe GooglePrivacyDlpV2Expressions+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RecordCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrcExpressions'+googlePrivacyDlpV2RecordCondition+ :: GooglePrivacyDlpV2RecordCondition+googlePrivacyDlpV2RecordCondition =+ GooglePrivacyDlpV2RecordCondition' {_gpdvrcExpressions = Nothing}+++-- | An expression.+gpdvrcExpressions :: Lens' GooglePrivacyDlpV2RecordCondition (Maybe GooglePrivacyDlpV2Expressions)+gpdvrcExpressions+ = lens _gpdvrcExpressions+ (\ s a -> s{_gpdvrcExpressions = a})++instance FromJSON GooglePrivacyDlpV2RecordCondition+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RecordCondition"+ (\ o ->+ GooglePrivacyDlpV2RecordCondition' <$>+ (o .:? "expressions"))++instance ToJSON GooglePrivacyDlpV2RecordCondition+ where+ toJSON GooglePrivacyDlpV2RecordCondition'{..}+ = object+ (catMaybes+ [("expressions" .=) <$> _gpdvrcExpressions])++-- | Shifts dates by random number of days, with option to be consistent for+-- the same context. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-date-shifting to learn+-- more.+--+-- /See:/ 'googlePrivacyDlpV2DateShiftConfig' smart constructor.+data GooglePrivacyDlpV2DateShiftConfig =+ GooglePrivacyDlpV2DateShiftConfig'+ { _gpdvdscContext :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvdscUpperBoundDays :: !(Maybe (Textual Int32))+ , _gpdvdscCryptoKey :: !(Maybe GooglePrivacyDlpV2CryptoKey)+ , _gpdvdscLowerBoundDays :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DateShiftConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdscContext'+--+-- * 'gpdvdscUpperBoundDays'+--+-- * 'gpdvdscCryptoKey'+--+-- * 'gpdvdscLowerBoundDays'+googlePrivacyDlpV2DateShiftConfig+ :: GooglePrivacyDlpV2DateShiftConfig+googlePrivacyDlpV2DateShiftConfig =+ GooglePrivacyDlpV2DateShiftConfig'+ { _gpdvdscContext = Nothing+ , _gpdvdscUpperBoundDays = Nothing+ , _gpdvdscCryptoKey = Nothing+ , _gpdvdscLowerBoundDays = Nothing+ }+++-- | Points to the field that contains the context, for example, an entity+-- id. If set, must also set method. If set, shift will be consistent for+-- the given context.+gpdvdscContext :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvdscContext+ = lens _gpdvdscContext+ (\ s a -> s{_gpdvdscContext = a})++-- | Range of shift in days. Actual shift will be selected at random within+-- this range (inclusive ends). Negative means shift to earlier in time.+-- Must not be more than 365250 days (1000 years) each direction. For+-- example, 3 means shift date to at most 3 days into the future.+-- [Required]+gpdvdscUpperBoundDays :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe Int32)+gpdvdscUpperBoundDays+ = lens _gpdvdscUpperBoundDays+ (\ s a -> s{_gpdvdscUpperBoundDays = a})+ . mapping _Coerce++-- | Causes the shift to be computed based on this key and the context. This+-- results in the same shift for the same context and crypto_key.+gpdvdscCryptoKey :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe GooglePrivacyDlpV2CryptoKey)+gpdvdscCryptoKey+ = lens _gpdvdscCryptoKey+ (\ s a -> s{_gpdvdscCryptoKey = a})++-- | For example, -5 means shift date to at most 5 days back in the past.+-- [Required]+gpdvdscLowerBoundDays :: Lens' GooglePrivacyDlpV2DateShiftConfig (Maybe Int32)+gpdvdscLowerBoundDays+ = lens _gpdvdscLowerBoundDays+ (\ s a -> s{_gpdvdscLowerBoundDays = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2DateShiftConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DateShiftConfig"+ (\ o ->+ GooglePrivacyDlpV2DateShiftConfig' <$>+ (o .:? "context") <*> (o .:? "upperBoundDays") <*>+ (o .:? "cryptoKey")+ <*> (o .:? "lowerBoundDays"))++instance ToJSON GooglePrivacyDlpV2DateShiftConfig+ where+ toJSON GooglePrivacyDlpV2DateShiftConfig'{..}+ = object+ (catMaybes+ [("context" .=) <$> _gpdvdscContext,+ ("upperBoundDays" .=) <$> _gpdvdscUpperBoundDays,+ ("cryptoKey" .=) <$> _gpdvdscCryptoKey,+ ("lowerBoundDays" .=) <$> _gpdvdscLowerBoundDays])++-- | Request to search for potentially sensitive info in a ContentItem.+--+-- /See:/ 'googlePrivacyDlpV2InspectContentRequest' smart constructor.+data GooglePrivacyDlpV2InspectContentRequest =+ GooglePrivacyDlpV2InspectContentRequest'+ { _gpdvicrInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gpdvicrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)+ , _gpdvicrInspectTemplateName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectContentRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvicrInspectConfig'+--+-- * 'gpdvicrItem'+--+-- * 'gpdvicrInspectTemplateName'+googlePrivacyDlpV2InspectContentRequest+ :: GooglePrivacyDlpV2InspectContentRequest+googlePrivacyDlpV2InspectContentRequest =+ GooglePrivacyDlpV2InspectContentRequest'+ { _gpdvicrInspectConfig = Nothing+ , _gpdvicrItem = Nothing+ , _gpdvicrInspectTemplateName = Nothing+ }+++-- | Configuration for the inspector. What specified here will override the+-- template referenced by the inspect_template_name argument.+gpdvicrInspectConfig :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)+gpdvicrInspectConfig+ = lens _gpdvicrInspectConfig+ (\ s a -> s{_gpdvicrInspectConfig = a})++-- | The item to inspect.+gpdvicrItem :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe GooglePrivacyDlpV2ContentItem)+gpdvicrItem+ = lens _gpdvicrItem (\ s a -> s{_gpdvicrItem = a})++-- | Optional template to use. Any configuration directly specified in+-- inspect_config will override those set in the template. Singular fields+-- that are set in this request will replace their corresponding fields in+-- the template. Repeated fields are appended. Singular sub-messages and+-- groups are recursively merged.+gpdvicrInspectTemplateName :: Lens' GooglePrivacyDlpV2InspectContentRequest (Maybe Text)+gpdvicrInspectTemplateName+ = lens _gpdvicrInspectTemplateName+ (\ s a -> s{_gpdvicrInspectTemplateName = a})++instance FromJSON+ GooglePrivacyDlpV2InspectContentRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2InspectContentRequest"+ (\ o ->+ GooglePrivacyDlpV2InspectContentRequest' <$>+ (o .:? "inspectConfig") <*> (o .:? "item") <*>+ (o .:? "inspectTemplateName"))++instance ToJSON+ GooglePrivacyDlpV2InspectContentRequest+ where+ toJSON GooglePrivacyDlpV2InspectContentRequest'{..}+ = object+ (catMaybes+ [("inspectConfig" .=) <$> _gpdvicrInspectConfig,+ ("item" .=) <$> _gpdvicrItem,+ ("inspectTemplateName" .=) <$>+ _gpdvicrInspectTemplateName])++-- | Result of the categorical stats computation.+--+-- /See:/ 'googlePrivacyDlpV2CategoricalStatsResult' smart constructor.+newtype GooglePrivacyDlpV2CategoricalStatsResult =+ GooglePrivacyDlpV2CategoricalStatsResult'+ { _gpdvcsrValueFrequencyHistogramBuckets :: Maybe [GooglePrivacyDlpV2CategoricalStatsHistogramBucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcsrValueFrequencyHistogramBuckets'+googlePrivacyDlpV2CategoricalStatsResult+ :: GooglePrivacyDlpV2CategoricalStatsResult+googlePrivacyDlpV2CategoricalStatsResult =+ GooglePrivacyDlpV2CategoricalStatsResult'+ {_gpdvcsrValueFrequencyHistogramBuckets = Nothing}+++-- | Histogram of value frequencies in the column.+gpdvcsrValueFrequencyHistogramBuckets :: Lens' GooglePrivacyDlpV2CategoricalStatsResult [GooglePrivacyDlpV2CategoricalStatsHistogramBucket]+gpdvcsrValueFrequencyHistogramBuckets+ = lens _gpdvcsrValueFrequencyHistogramBuckets+ (\ s a ->+ s{_gpdvcsrValueFrequencyHistogramBuckets = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2CategoricalStatsResult+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CategoricalStatsResult"+ (\ o ->+ GooglePrivacyDlpV2CategoricalStatsResult' <$>+ (o .:? "valueFrequencyHistogramBuckets" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2CategoricalStatsResult+ where+ toJSON GooglePrivacyDlpV2CategoricalStatsResult'{..}+ = object+ (catMaybes+ [("valueFrequencyHistogramBuckets" .=) <$>+ _gpdvcsrValueFrequencyHistogramBuckets])++-- | Result of the numerical stats computation.+--+-- /See:/ 'googlePrivacyDlpV2NumericalStatsResult' smart constructor.+data GooglePrivacyDlpV2NumericalStatsResult =+ GooglePrivacyDlpV2NumericalStatsResult'+ { _gpdvnsrMaxValue :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvnsrQuantileValues :: !(Maybe [GooglePrivacyDlpV2Value])+ , _gpdvnsrMinValue :: !(Maybe GooglePrivacyDlpV2Value)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2NumericalStatsResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvnsrMaxValue'+--+-- * 'gpdvnsrQuantileValues'+--+-- * 'gpdvnsrMinValue'+googlePrivacyDlpV2NumericalStatsResult+ :: GooglePrivacyDlpV2NumericalStatsResult+googlePrivacyDlpV2NumericalStatsResult =+ GooglePrivacyDlpV2NumericalStatsResult'+ { _gpdvnsrMaxValue = Nothing+ , _gpdvnsrQuantileValues = Nothing+ , _gpdvnsrMinValue = Nothing+ }+++-- | Maximum value appearing in the column.+gpdvnsrMaxValue :: Lens' GooglePrivacyDlpV2NumericalStatsResult (Maybe GooglePrivacyDlpV2Value)+gpdvnsrMaxValue+ = lens _gpdvnsrMaxValue+ (\ s a -> s{_gpdvnsrMaxValue = a})++-- | List of 99 values that partition the set of field values into 100 equal+-- sized buckets.+gpdvnsrQuantileValues :: Lens' GooglePrivacyDlpV2NumericalStatsResult [GooglePrivacyDlpV2Value]+gpdvnsrQuantileValues+ = lens _gpdvnsrQuantileValues+ (\ s a -> s{_gpdvnsrQuantileValues = a})+ . _Default+ . _Coerce++-- | Minimum value appearing in the column.+gpdvnsrMinValue :: Lens' GooglePrivacyDlpV2NumericalStatsResult (Maybe GooglePrivacyDlpV2Value)+gpdvnsrMinValue+ = lens _gpdvnsrMinValue+ (\ s a -> s{_gpdvnsrMinValue = a})++instance FromJSON+ GooglePrivacyDlpV2NumericalStatsResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2NumericalStatsResult"+ (\ o ->+ GooglePrivacyDlpV2NumericalStatsResult' <$>+ (o .:? "maxValue") <*>+ (o .:? "quantileValues" .!= mempty)+ <*> (o .:? "minValue"))++instance ToJSON+ GooglePrivacyDlpV2NumericalStatsResult+ where+ toJSON GooglePrivacyDlpV2NumericalStatsResult'{..}+ = object+ (catMaybes+ [("maxValue" .=) <$> _gpdvnsrMaxValue,+ ("quantileValues" .=) <$> _gpdvnsrQuantileValues,+ ("minValue" .=) <$> _gpdvnsrMinValue])++-- | Publish the result summary of a DlpJob to the Cloud Security Command+-- Center (CSCC Alpha). This action is only available for projects which+-- are parts of an organization and whitelisted for the alpha Cloud+-- Security Command Center. The action will publish count of finding+-- instances and their info types. The summary of findings will be+-- persisted in CSCC and are governed by CSCC service-specific policy, see+-- https:\/\/cloud.google.com\/terms\/service-terms Only a single instance+-- of this action can be specified. Compatible with: Inspect+--+-- /See:/ 'googlePrivacyDlpV2PublishSummaryToCscc' smart constructor.+data GooglePrivacyDlpV2PublishSummaryToCscc =+ GooglePrivacyDlpV2PublishSummaryToCscc'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PublishSummaryToCscc' with the minimum fields required to make a request.+--+googlePrivacyDlpV2PublishSummaryToCscc+ :: GooglePrivacyDlpV2PublishSummaryToCscc+googlePrivacyDlpV2PublishSummaryToCscc = GooglePrivacyDlpV2PublishSummaryToCscc'+++instance FromJSON+ GooglePrivacyDlpV2PublishSummaryToCscc+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2PublishSummaryToCscc"+ (\ o -> pure GooglePrivacyDlpV2PublishSummaryToCscc')++instance ToJSON+ GooglePrivacyDlpV2PublishSummaryToCscc+ where+ toJSON = const emptyObject++-- | Request message for UpdateInspectTemplate.+--+-- /See:/ 'googlePrivacyDlpV2UpdateInspectTemplateRequest' smart constructor.+data GooglePrivacyDlpV2UpdateInspectTemplateRequest =+ GooglePrivacyDlpV2UpdateInspectTemplateRequest'+ { _gpdvuitrUpdateMask :: !(Maybe GFieldMask)+ , _gpdvuitrInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2UpdateInspectTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvuitrUpdateMask'+--+-- * 'gpdvuitrInspectTemplate'+googlePrivacyDlpV2UpdateInspectTemplateRequest+ :: GooglePrivacyDlpV2UpdateInspectTemplateRequest+googlePrivacyDlpV2UpdateInspectTemplateRequest =+ GooglePrivacyDlpV2UpdateInspectTemplateRequest'+ {_gpdvuitrUpdateMask = Nothing, _gpdvuitrInspectTemplate = Nothing}+++-- | Mask to control which fields get updated.+gpdvuitrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateInspectTemplateRequest (Maybe GFieldMask)+gpdvuitrUpdateMask+ = lens _gpdvuitrUpdateMask+ (\ s a -> s{_gpdvuitrUpdateMask = a})++-- | New InspectTemplate value.+gpdvuitrInspectTemplate :: Lens' GooglePrivacyDlpV2UpdateInspectTemplateRequest (Maybe GooglePrivacyDlpV2InspectTemplate)+gpdvuitrInspectTemplate+ = lens _gpdvuitrInspectTemplate+ (\ s a -> s{_gpdvuitrInspectTemplate = a})++instance FromJSON+ GooglePrivacyDlpV2UpdateInspectTemplateRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2UpdateInspectTemplateRequest"+ (\ o ->+ GooglePrivacyDlpV2UpdateInspectTemplateRequest' <$>+ (o .:? "updateMask") <*> (o .:? "inspectTemplate"))++instance ToJSON+ GooglePrivacyDlpV2UpdateInspectTemplateRequest+ where+ toJSON+ GooglePrivacyDlpV2UpdateInspectTemplateRequest'{..}+ = object+ (catMaybes+ [("updateMask" .=) <$> _gpdvuitrUpdateMask,+ ("inspectTemplate" .=) <$> _gpdvuitrInspectTemplate])++-- | An entity in a dataset is a field or set of fields that correspond to a+-- single person. For example, in medical records the \`EntityId\` might be+-- a patient identifier, or for financial records it might be an account+-- identifier. This message is used when generalizations or analysis must+-- take into account that multiple rows correspond to the same entity.+--+-- /See:/ 'googlePrivacyDlpV2EntityId' smart constructor.+newtype GooglePrivacyDlpV2EntityId =+ GooglePrivacyDlpV2EntityId'+ { _gpdveiField :: Maybe GooglePrivacyDlpV2FieldId+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2EntityId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdveiField'+googlePrivacyDlpV2EntityId+ :: GooglePrivacyDlpV2EntityId+googlePrivacyDlpV2EntityId =+ GooglePrivacyDlpV2EntityId' {_gpdveiField = Nothing}+++-- | Composite key indicating which field contains the entity identifier.+gpdveiField :: Lens' GooglePrivacyDlpV2EntityId (Maybe GooglePrivacyDlpV2FieldId)+gpdveiField+ = lens _gpdveiField (\ s a -> s{_gpdveiField = a})++instance FromJSON GooglePrivacyDlpV2EntityId where+ parseJSON+ = withObject "GooglePrivacyDlpV2EntityId"+ (\ o ->+ GooglePrivacyDlpV2EntityId' <$> (o .:? "field"))++instance ToJSON GooglePrivacyDlpV2EntityId where+ toJSON GooglePrivacyDlpV2EntityId'{..}+ = object (catMaybes [("field" .=) <$> _gpdveiField])++-- | Container for bytes to inspect or redact.+--+-- /See:/ 'googlePrivacyDlpV2ByteContentItem' smart constructor.+data GooglePrivacyDlpV2ByteContentItem =+ GooglePrivacyDlpV2ByteContentItem'+ { _gpdvbciData :: !(Maybe Bytes)+ , _gpdvbciType :: !(Maybe GooglePrivacyDlpV2ByteContentItemType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ByteContentItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbciData'+--+-- * 'gpdvbciType'+googlePrivacyDlpV2ByteContentItem+ :: GooglePrivacyDlpV2ByteContentItem+googlePrivacyDlpV2ByteContentItem =+ GooglePrivacyDlpV2ByteContentItem'+ {_gpdvbciData = Nothing, _gpdvbciType = Nothing}+++-- | Content data to inspect or redact.+gpdvbciData :: Lens' GooglePrivacyDlpV2ByteContentItem (Maybe ByteString)+gpdvbciData+ = lens _gpdvbciData (\ s a -> s{_gpdvbciData = a}) .+ mapping _Bytes++-- | The type of data stored in the bytes string. Default will be TEXT_UTF8.+gpdvbciType :: Lens' GooglePrivacyDlpV2ByteContentItem (Maybe GooglePrivacyDlpV2ByteContentItemType)+gpdvbciType+ = lens _gpdvbciType (\ s a -> s{_gpdvbciType = a})++instance FromJSON GooglePrivacyDlpV2ByteContentItem+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ByteContentItem"+ (\ o ->+ GooglePrivacyDlpV2ByteContentItem' <$>+ (o .:? "data") <*> (o .:? "type"))++instance ToJSON GooglePrivacyDlpV2ByteContentItem+ where+ toJSON GooglePrivacyDlpV2ByteContentItem'{..}+ = object+ (catMaybes+ [("data" .=) <$> _gpdvbciData,+ ("type" .=) <$> _gpdvbciType])++--+-- /See:/ 'googlePrivacyDlpV2TaggedField' smart constructor.+data GooglePrivacyDlpV2TaggedField =+ GooglePrivacyDlpV2TaggedField'+ { _gpdvtfField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvtfInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvtfInferred :: !(Maybe GoogleProtobufEmpty)+ , _gpdvtfCustomTag :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TaggedField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtfField'+--+-- * 'gpdvtfInfoType'+--+-- * 'gpdvtfInferred'+--+-- * 'gpdvtfCustomTag'+googlePrivacyDlpV2TaggedField+ :: GooglePrivacyDlpV2TaggedField+googlePrivacyDlpV2TaggedField =+ GooglePrivacyDlpV2TaggedField'+ { _gpdvtfField = Nothing+ , _gpdvtfInfoType = Nothing+ , _gpdvtfInferred = Nothing+ , _gpdvtfCustomTag = Nothing+ }+++-- | Identifies the column. [required]+gpdvtfField :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GooglePrivacyDlpV2FieldId)+gpdvtfField+ = lens _gpdvtfField (\ s a -> s{_gpdvtfField = a})++-- | A column can be tagged with a InfoType to use the relevant public+-- dataset as a statistical model of population, if available. We currently+-- support US ZIP codes, region codes, ages and genders. To+-- programmatically obtain the list of supported InfoTypes, use+-- ListInfoTypes with the supported_by=RISK_ANALYSIS filter.+gpdvtfInfoType :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GooglePrivacyDlpV2InfoType)+gpdvtfInfoType+ = lens _gpdvtfInfoType+ (\ s a -> s{_gpdvtfInfoType = a})++-- | If no semantic tag is indicated, we infer the statistical model from the+-- distribution of values in the input data+gpdvtfInferred :: Lens' GooglePrivacyDlpV2TaggedField (Maybe GoogleProtobufEmpty)+gpdvtfInferred+ = lens _gpdvtfInferred+ (\ s a -> s{_gpdvtfInferred = a})++-- | A column can be tagged with a custom tag. In this case, the user must+-- indicate an auxiliary table that contains statistical information on the+-- possible values of this column (below).+gpdvtfCustomTag :: Lens' GooglePrivacyDlpV2TaggedField (Maybe Text)+gpdvtfCustomTag+ = lens _gpdvtfCustomTag+ (\ s a -> s{_gpdvtfCustomTag = a})++instance FromJSON GooglePrivacyDlpV2TaggedField where+ parseJSON+ = withObject "GooglePrivacyDlpV2TaggedField"+ (\ o ->+ GooglePrivacyDlpV2TaggedField' <$>+ (o .:? "field") <*> (o .:? "infoType") <*>+ (o .:? "inferred")+ <*> (o .:? "customTag"))++instance ToJSON GooglePrivacyDlpV2TaggedField where+ toJSON GooglePrivacyDlpV2TaggedField'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gpdvtfField,+ ("infoType" .=) <$> _gpdvtfInfoType,+ ("inferred" .=) <$> _gpdvtfInferred,+ ("customTag" .=) <$> _gpdvtfCustomTag])++-- | Options defining BigQuery table and row identifiers.+--+-- /See:/ 'googlePrivacyDlpV2BigQueryOptions' smart constructor.+data GooglePrivacyDlpV2BigQueryOptions =+ GooglePrivacyDlpV2BigQueryOptions'+ { _gpdvbqoRowsLimit :: !(Maybe (Textual Int64))+ , _gpdvbqoRowsLimitPercent :: !(Maybe (Textual Int32))+ , _gpdvbqoTableReference :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ , _gpdvbqoIdentifyingFields :: !(Maybe [GooglePrivacyDlpV2FieldId])+ , _gpdvbqoExcludedFields :: !(Maybe [GooglePrivacyDlpV2FieldId])+ , _gpdvbqoSampleMethod :: !(Maybe GooglePrivacyDlpV2BigQueryOptionsSampleMethod)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BigQueryOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbqoRowsLimit'+--+-- * 'gpdvbqoRowsLimitPercent'+--+-- * 'gpdvbqoTableReference'+--+-- * 'gpdvbqoIdentifyingFields'+--+-- * 'gpdvbqoExcludedFields'+--+-- * 'gpdvbqoSampleMethod'+googlePrivacyDlpV2BigQueryOptions+ :: GooglePrivacyDlpV2BigQueryOptions+googlePrivacyDlpV2BigQueryOptions =+ GooglePrivacyDlpV2BigQueryOptions'+ { _gpdvbqoRowsLimit = Nothing+ , _gpdvbqoRowsLimitPercent = Nothing+ , _gpdvbqoTableReference = Nothing+ , _gpdvbqoIdentifyingFields = Nothing+ , _gpdvbqoExcludedFields = Nothing+ , _gpdvbqoSampleMethod = Nothing+ }+++-- | Max number of rows to scan. If the table has more rows than this value,+-- the rest of the rows are omitted. If not set, or if set to 0, all rows+-- will be scanned. Only one of rows_limit and rows_limit_percent can be+-- specified. Cannot be used in conjunction with TimespanConfig.+gpdvbqoRowsLimit :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe Int64)+gpdvbqoRowsLimit+ = lens _gpdvbqoRowsLimit+ (\ s a -> s{_gpdvbqoRowsLimit = a})+ . mapping _Coerce++-- | Max percentage of rows to scan. The rest are omitted. The number of rows+-- scanned is rounded down. Must be between 0 and 100, inclusively. Both 0+-- and 100 means no limit. Defaults to 0. Only one of rows_limit and+-- rows_limit_percent can be specified. Cannot be used in conjunction with+-- TimespanConfig.+gpdvbqoRowsLimitPercent :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe Int32)+gpdvbqoRowsLimitPercent+ = lens _gpdvbqoRowsLimitPercent+ (\ s a -> s{_gpdvbqoRowsLimitPercent = a})+ . mapping _Coerce++-- | Complete BigQuery table reference.+gpdvbqoTableReference :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvbqoTableReference+ = lens _gpdvbqoTableReference+ (\ s a -> s{_gpdvbqoTableReference = a})++-- | References to fields uniquely identifying rows within the table. Nested+-- fields in the format, like \`person.birthdate.year\`, are allowed.+gpdvbqoIdentifyingFields :: Lens' GooglePrivacyDlpV2BigQueryOptions [GooglePrivacyDlpV2FieldId]+gpdvbqoIdentifyingFields+ = lens _gpdvbqoIdentifyingFields+ (\ s a -> s{_gpdvbqoIdentifyingFields = a})+ . _Default+ . _Coerce++-- | References to fields excluded from scanning. This allows you to skip+-- inspection of entire columns which you know have no findings.+gpdvbqoExcludedFields :: Lens' GooglePrivacyDlpV2BigQueryOptions [GooglePrivacyDlpV2FieldId]+gpdvbqoExcludedFields+ = lens _gpdvbqoExcludedFields+ (\ s a -> s{_gpdvbqoExcludedFields = a})+ . _Default+ . _Coerce++gpdvbqoSampleMethod :: Lens' GooglePrivacyDlpV2BigQueryOptions (Maybe GooglePrivacyDlpV2BigQueryOptionsSampleMethod)+gpdvbqoSampleMethod+ = lens _gpdvbqoSampleMethod+ (\ s a -> s{_gpdvbqoSampleMethod = a})++instance FromJSON GooglePrivacyDlpV2BigQueryOptions+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2BigQueryOptions"+ (\ o ->+ GooglePrivacyDlpV2BigQueryOptions' <$>+ (o .:? "rowsLimit") <*> (o .:? "rowsLimitPercent")+ <*> (o .:? "tableReference")+ <*> (o .:? "identifyingFields" .!= mempty)+ <*> (o .:? "excludedFields" .!= mempty)+ <*> (o .:? "sampleMethod"))++instance ToJSON GooglePrivacyDlpV2BigQueryOptions+ where+ toJSON GooglePrivacyDlpV2BigQueryOptions'{..}+ = object+ (catMaybes+ [("rowsLimit" .=) <$> _gpdvbqoRowsLimit,+ ("rowsLimitPercent" .=) <$> _gpdvbqoRowsLimitPercent,+ ("tableReference" .=) <$> _gpdvbqoTableReference,+ ("identifyingFields" .=) <$>+ _gpdvbqoIdentifyingFields,+ ("excludedFields" .=) <$> _gpdvbqoExcludedFields,+ ("sampleMethod" .=) <$> _gpdvbqoSampleMethod])++-- | A tuple of values for the quasi-identifier columns.+--+-- /See:/ 'googlePrivacyDlpV2KMapEstimationQuasiIdValues' smart constructor.+data GooglePrivacyDlpV2KMapEstimationQuasiIdValues =+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues'+ { _gpdvkmeqivEstimatedAnonymity :: !(Maybe (Textual Int64))+ , _gpdvkmeqivQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationQuasiIdValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkmeqivEstimatedAnonymity'+--+-- * 'gpdvkmeqivQuasiIdsValues'+googlePrivacyDlpV2KMapEstimationQuasiIdValues+ :: GooglePrivacyDlpV2KMapEstimationQuasiIdValues+googlePrivacyDlpV2KMapEstimationQuasiIdValues =+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues'+ { _gpdvkmeqivEstimatedAnonymity = Nothing+ , _gpdvkmeqivQuasiIdsValues = Nothing+ }+++-- | The estimated anonymity for these quasi-identifier values.+gpdvkmeqivEstimatedAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationQuasiIdValues (Maybe Int64)+gpdvkmeqivEstimatedAnonymity+ = lens _gpdvkmeqivEstimatedAnonymity+ (\ s a -> s{_gpdvkmeqivEstimatedAnonymity = a})+ . mapping _Coerce++-- | The quasi-identifier values.+gpdvkmeqivQuasiIdsValues :: Lens' GooglePrivacyDlpV2KMapEstimationQuasiIdValues [GooglePrivacyDlpV2Value]+gpdvkmeqivQuasiIdsValues+ = lens _gpdvkmeqivQuasiIdsValues+ (\ s a -> s{_gpdvkmeqivQuasiIdsValues = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2KMapEstimationQuasiIdValues"+ (\ o ->+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues' <$>+ (o .:? "estimatedAnonymity") <*>+ (o .:? "quasiIdsValues" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues+ where+ toJSON+ GooglePrivacyDlpV2KMapEstimationQuasiIdValues'{..}+ = object+ (catMaybes+ [("estimatedAnonymity" .=) <$>+ _gpdvkmeqivEstimatedAnonymity,+ ("quasiIdsValues" .=) <$> _gpdvkmeqivQuasiIdsValues])++-- | List of exclude infoTypes.+--+-- /See:/ 'googlePrivacyDlpV2ExcludeInfoTypes' smart constructor.+newtype GooglePrivacyDlpV2ExcludeInfoTypes =+ GooglePrivacyDlpV2ExcludeInfoTypes'+ { _gpdveitInfoTypes :: Maybe [GooglePrivacyDlpV2InfoType]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ExcludeInfoTypes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdveitInfoTypes'+googlePrivacyDlpV2ExcludeInfoTypes+ :: GooglePrivacyDlpV2ExcludeInfoTypes+googlePrivacyDlpV2ExcludeInfoTypes =+ GooglePrivacyDlpV2ExcludeInfoTypes' {_gpdveitInfoTypes = Nothing}+++-- | InfoType list in ExclusionRule rule drops a finding when it overlaps or+-- contained within with a finding of an infoType from this list. For+-- example, for \`InspectionRuleSet.info_types\` containing+-- \"PHONE_NUMBER\"\` and \`exclusion_rule\` containing+-- \`exclude_info_types.info_types\` with \"EMAIL_ADDRESS\" the phone+-- number findings are dropped if they overlap with EMAIL_ADDRESS finding.+-- That leads to \"555-222-2222\'example.org\" to generate only a single+-- finding, namely email address.+gpdveitInfoTypes :: Lens' GooglePrivacyDlpV2ExcludeInfoTypes [GooglePrivacyDlpV2InfoType]+gpdveitInfoTypes+ = lens _gpdveitInfoTypes+ (\ s a -> s{_gpdveitInfoTypes = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2ExcludeInfoTypes+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ExcludeInfoTypes"+ (\ o ->+ GooglePrivacyDlpV2ExcludeInfoTypes' <$>+ (o .:? "infoTypes" .!= mempty))++instance ToJSON GooglePrivacyDlpV2ExcludeInfoTypes+ where+ toJSON GooglePrivacyDlpV2ExcludeInfoTypes'{..}+ = object+ (catMaybes [("infoTypes" .=) <$> _gpdveitInfoTypes])++-- | Request message for CreateInspectTemplate.+--+-- /See:/ 'googlePrivacyDlpV2CreateInspectTemplateRequest' smart constructor.+data GooglePrivacyDlpV2CreateInspectTemplateRequest =+ GooglePrivacyDlpV2CreateInspectTemplateRequest'+ { _gpdvcitrTemplateId :: !(Maybe Text)+ , _gpdvcitrInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CreateInspectTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcitrTemplateId'+--+-- * 'gpdvcitrInspectTemplate'+googlePrivacyDlpV2CreateInspectTemplateRequest+ :: GooglePrivacyDlpV2CreateInspectTemplateRequest+googlePrivacyDlpV2CreateInspectTemplateRequest =+ GooglePrivacyDlpV2CreateInspectTemplateRequest'+ {_gpdvcitrTemplateId = Nothing, _gpdvcitrInspectTemplate = Nothing}+++-- | The template id can contain uppercase and lowercase letters, numbers,+-- and hyphens; that is, it must match the regular expression:+-- \`[a-zA-Z\\\\d-_]+\`. The maximum length is 100 characters. Can be empty+-- to allow the system to generate one.+gpdvcitrTemplateId :: Lens' GooglePrivacyDlpV2CreateInspectTemplateRequest (Maybe Text)+gpdvcitrTemplateId+ = lens _gpdvcitrTemplateId+ (\ s a -> s{_gpdvcitrTemplateId = a})++-- | The InspectTemplate to create.+gpdvcitrInspectTemplate :: Lens' GooglePrivacyDlpV2CreateInspectTemplateRequest (Maybe GooglePrivacyDlpV2InspectTemplate)+gpdvcitrInspectTemplate+ = lens _gpdvcitrInspectTemplate+ (\ s a -> s{_gpdvcitrInspectTemplate = a})++instance FromJSON+ GooglePrivacyDlpV2CreateInspectTemplateRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CreateInspectTemplateRequest"+ (\ o ->+ GooglePrivacyDlpV2CreateInspectTemplateRequest' <$>+ (o .:? "templateId") <*> (o .:? "inspectTemplate"))++instance ToJSON+ GooglePrivacyDlpV2CreateInspectTemplateRequest+ where+ toJSON+ GooglePrivacyDlpV2CreateInspectTemplateRequest'{..}+ = object+ (catMaybes+ [("templateId" .=) <$> _gpdvcitrTemplateId,+ ("inspectTemplate" .=) <$> _gpdvcitrInspectTemplate])++-- | A (kind, ID\/name) pair used to construct a key path. If either name or+-- ID is set, the element is complete. If neither is set, the element is+-- incomplete.+--+-- /See:/ 'googlePrivacyDlpV2PathElement' smart constructor.+data GooglePrivacyDlpV2PathElement =+ GooglePrivacyDlpV2PathElement'+ { _gpdvpeKind :: !(Maybe Text)+ , _gpdvpeName :: !(Maybe Text)+ , _gpdvpeId :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PathElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvpeKind'+--+-- * 'gpdvpeName'+--+-- * 'gpdvpeId'+googlePrivacyDlpV2PathElement+ :: GooglePrivacyDlpV2PathElement+googlePrivacyDlpV2PathElement =+ GooglePrivacyDlpV2PathElement'+ {_gpdvpeKind = Nothing, _gpdvpeName = Nothing, _gpdvpeId = Nothing}+++-- | The kind of the entity. A kind matching regex \`__.*__\` is+-- reserved\/read-only. A kind must not contain more than 1500 bytes when+-- UTF-8 encoded. Cannot be \`\"\"\`.+gpdvpeKind :: Lens' GooglePrivacyDlpV2PathElement (Maybe Text)+gpdvpeKind+ = lens _gpdvpeKind (\ s a -> s{_gpdvpeKind = a})++-- | The name of the entity. A name matching regex \`__.*__\` is+-- reserved\/read-only. A name must not be more than 1500 bytes when UTF-8+-- encoded. Cannot be \`\"\"\`.+gpdvpeName :: Lens' GooglePrivacyDlpV2PathElement (Maybe Text)+gpdvpeName+ = lens _gpdvpeName (\ s a -> s{_gpdvpeName = a})++-- | The auto-allocated ID of the entity. Never equal to zero. Values less+-- than zero are discouraged and may not be supported in the future.+gpdvpeId :: Lens' GooglePrivacyDlpV2PathElement (Maybe Int64)+gpdvpeId+ = lens _gpdvpeId (\ s a -> s{_gpdvpeId = a}) .+ mapping _Coerce++instance FromJSON GooglePrivacyDlpV2PathElement where+ parseJSON+ = withObject "GooglePrivacyDlpV2PathElement"+ (\ o ->+ GooglePrivacyDlpV2PathElement' <$>+ (o .:? "kind") <*> (o .:? "name") <*> (o .:? "id"))++instance ToJSON GooglePrivacyDlpV2PathElement where+ toJSON GooglePrivacyDlpV2PathElement'{..}+ = object+ (catMaybes+ [("kind" .=) <$> _gpdvpeKind,+ ("name" .=) <$> _gpdvpeName,+ ("id" .=) <$> _gpdvpeId])++-- | Result of the δ-presence computation. Note that these results are an+-- estimation, not exact values.+--+-- /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationResult' smart constructor.+newtype GooglePrivacyDlpV2DeltaPresenceEstimationResult =+ GooglePrivacyDlpV2DeltaPresenceEstimationResult'+ { _gpdvdperDeltaPresenceEstimationHistogram :: Maybe [GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdperDeltaPresenceEstimationHistogram'+googlePrivacyDlpV2DeltaPresenceEstimationResult+ :: GooglePrivacyDlpV2DeltaPresenceEstimationResult+googlePrivacyDlpV2DeltaPresenceEstimationResult =+ GooglePrivacyDlpV2DeltaPresenceEstimationResult'+ {_gpdvdperDeltaPresenceEstimationHistogram = Nothing}+++-- | The intervals [min_probability, max_probability) do not overlap. If a+-- value doesn\'t correspond to any such interval, the associated frequency+-- is zero. For example, the following records: {min_probability: 0,+-- max_probability: 0.1, frequency: 17} {min_probability: 0.2,+-- max_probability: 0.3, frequency: 42} {min_probability: 0.3,+-- max_probability: 0.4, frequency: 99} mean that there are no record with+-- an estimated probability in [0.1, 0.2) nor larger or equal to 0.4.+gpdvdperDeltaPresenceEstimationHistogram :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationResult [GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket]+gpdvdperDeltaPresenceEstimationHistogram+ = lens _gpdvdperDeltaPresenceEstimationHistogram+ (\ s a ->+ s{_gpdvdperDeltaPresenceEstimationHistogram = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationResult+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeltaPresenceEstimationResult"+ (\ o ->+ GooglePrivacyDlpV2DeltaPresenceEstimationResult' <$>+ (o .:? "deltaPresenceEstimationHistogram" .!=+ mempty))++instance ToJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationResult+ where+ toJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationResult'{..}+ = object+ (catMaybes+ [("deltaPresenceEstimationHistogram" .=) <$>+ _gpdvdperDeltaPresenceEstimationHistogram])++--+-- /See:/ 'googlePrivacyDlpV2InspectJobConfig' smart constructor.+data GooglePrivacyDlpV2InspectJobConfig =+ GooglePrivacyDlpV2InspectJobConfig'+ { _gpdvijcActions :: !(Maybe [GooglePrivacyDlpV2Action])+ , _gpdvijcStorageConfig :: !(Maybe GooglePrivacyDlpV2StorageConfig)+ , _gpdvijcInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gpdvijcInspectTemplateName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectJobConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvijcActions'+--+-- * 'gpdvijcStorageConfig'+--+-- * 'gpdvijcInspectConfig'+--+-- * 'gpdvijcInspectTemplateName'+googlePrivacyDlpV2InspectJobConfig+ :: GooglePrivacyDlpV2InspectJobConfig+googlePrivacyDlpV2InspectJobConfig =+ GooglePrivacyDlpV2InspectJobConfig'+ { _gpdvijcActions = Nothing+ , _gpdvijcStorageConfig = Nothing+ , _gpdvijcInspectConfig = Nothing+ , _gpdvijcInspectTemplateName = Nothing+ }+++-- | Actions to execute at the completion of the job.+gpdvijcActions :: Lens' GooglePrivacyDlpV2InspectJobConfig [GooglePrivacyDlpV2Action]+gpdvijcActions+ = lens _gpdvijcActions+ (\ s a -> s{_gpdvijcActions = a})+ . _Default+ . _Coerce++-- | The data to scan.+gpdvijcStorageConfig :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe GooglePrivacyDlpV2StorageConfig)+gpdvijcStorageConfig+ = lens _gpdvijcStorageConfig+ (\ s a -> s{_gpdvijcStorageConfig = a})++-- | How and what to scan for.+gpdvijcInspectConfig :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe GooglePrivacyDlpV2InspectConfig)+gpdvijcInspectConfig+ = lens _gpdvijcInspectConfig+ (\ s a -> s{_gpdvijcInspectConfig = a})++-- | If provided, will be used as the default for all values in+-- InspectConfig. \`inspect_config\` will be merged into the values+-- persisted as part of the template.+gpdvijcInspectTemplateName :: Lens' GooglePrivacyDlpV2InspectJobConfig (Maybe Text)+gpdvijcInspectTemplateName+ = lens _gpdvijcInspectTemplateName+ (\ s a -> s{_gpdvijcInspectTemplateName = a})++instance FromJSON GooglePrivacyDlpV2InspectJobConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectJobConfig"+ (\ o ->+ GooglePrivacyDlpV2InspectJobConfig' <$>+ (o .:? "actions" .!= mempty) <*>+ (o .:? "storageConfig")+ <*> (o .:? "inspectConfig")+ <*> (o .:? "inspectTemplateName"))++instance ToJSON GooglePrivacyDlpV2InspectJobConfig+ where+ toJSON GooglePrivacyDlpV2InspectJobConfig'{..}+ = object+ (catMaybes+ [("actions" .=) <$> _gpdvijcActions,+ ("storageConfig" .=) <$> _gpdvijcStorageConfig,+ ("inspectConfig" .=) <$> _gpdvijcInspectConfig,+ ("inspectTemplateName" .=) <$>+ _gpdvijcInspectTemplateName])++-- | A reference to a StoredInfoType to use with scanning.+--+-- /See:/ 'googlePrivacyDlpV2StoredType' smart constructor.+data GooglePrivacyDlpV2StoredType =+ GooglePrivacyDlpV2StoredType'+ { _gpdvstName :: !(Maybe Text)+ , _gpdvstCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StoredType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvstName'+--+-- * 'gpdvstCreateTime'+googlePrivacyDlpV2StoredType+ :: GooglePrivacyDlpV2StoredType+googlePrivacyDlpV2StoredType =+ GooglePrivacyDlpV2StoredType'+ {_gpdvstName = Nothing, _gpdvstCreateTime = Nothing}+++-- | Resource name of the requested \`StoredInfoType\`, for example+-- \`organizations\/433245324\/storedInfoTypes\/432452342\` or+-- \`projects\/project-id\/storedInfoTypes\/432452342\`.+gpdvstName :: Lens' GooglePrivacyDlpV2StoredType (Maybe Text)+gpdvstName+ = lens _gpdvstName (\ s a -> s{_gpdvstName = a})++-- | Timestamp indicating when the version of the \`StoredInfoType\` used for+-- inspection was created. Output-only field, populated by the system.+gpdvstCreateTime :: Lens' GooglePrivacyDlpV2StoredType (Maybe UTCTime)+gpdvstCreateTime+ = lens _gpdvstCreateTime+ (\ s a -> s{_gpdvstCreateTime = a})+ . mapping _DateTime++instance FromJSON GooglePrivacyDlpV2StoredType where+ parseJSON+ = withObject "GooglePrivacyDlpV2StoredType"+ (\ o ->+ GooglePrivacyDlpV2StoredType' <$>+ (o .:? "name") <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2StoredType where+ toJSON GooglePrivacyDlpV2StoredType'{..}+ = object+ (catMaybes+ [("name" .=) <$> _gpdvstName,+ ("createTime" .=) <$> _gpdvstCreateTime])++-- | The transformation to apply to the field.+--+-- /See:/ 'googlePrivacyDlpV2FieldTransformation' smart constructor.+data GooglePrivacyDlpV2FieldTransformation =+ GooglePrivacyDlpV2FieldTransformation'+ { _gpdvftInfoTypeTransformations :: !(Maybe GooglePrivacyDlpV2InfoTypeTransformations)+ , _gpdvftPrimitiveTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)+ , _gpdvftCondition :: !(Maybe GooglePrivacyDlpV2RecordCondition)+ , _gpdvftFields :: !(Maybe [GooglePrivacyDlpV2FieldId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2FieldTransformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvftInfoTypeTransformations'+--+-- * 'gpdvftPrimitiveTransformation'+--+-- * 'gpdvftCondition'+--+-- * 'gpdvftFields'+googlePrivacyDlpV2FieldTransformation+ :: GooglePrivacyDlpV2FieldTransformation+googlePrivacyDlpV2FieldTransformation =+ GooglePrivacyDlpV2FieldTransformation'+ { _gpdvftInfoTypeTransformations = Nothing+ , _gpdvftPrimitiveTransformation = Nothing+ , _gpdvftCondition = Nothing+ , _gpdvftFields = Nothing+ }+++-- | Treat the contents of the field as free text, and selectively transform+-- content that matches an \`InfoType\`.+gpdvftInfoTypeTransformations :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2InfoTypeTransformations)+gpdvftInfoTypeTransformations+ = lens _gpdvftInfoTypeTransformations+ (\ s a -> s{_gpdvftInfoTypeTransformations = a})++-- | Apply the transformation to the entire field.+gpdvftPrimitiveTransformation :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2PrimitiveTransformation)+gpdvftPrimitiveTransformation+ = lens _gpdvftPrimitiveTransformation+ (\ s a -> s{_gpdvftPrimitiveTransformation = a})++-- | Only apply the transformation if the condition evaluates to true for the+-- given \`RecordCondition\`. The conditions are allowed to reference+-- fields that are not used in the actual transformation. [optional]+-- Example Use Cases: - Apply a different bucket transformation to an age+-- column if the zip code column for the same record is within a specific+-- range. - Redact a field if the date of birth field is greater than 85.+gpdvftCondition :: Lens' GooglePrivacyDlpV2FieldTransformation (Maybe GooglePrivacyDlpV2RecordCondition)+gpdvftCondition+ = lens _gpdvftCondition+ (\ s a -> s{_gpdvftCondition = a})++-- | Input field(s) to apply the transformation to. [required]+gpdvftFields :: Lens' GooglePrivacyDlpV2FieldTransformation [GooglePrivacyDlpV2FieldId]+gpdvftFields+ = lens _gpdvftFields (\ s a -> s{_gpdvftFields = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2FieldTransformation+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2FieldTransformation"+ (\ o ->+ GooglePrivacyDlpV2FieldTransformation' <$>+ (o .:? "infoTypeTransformations") <*>+ (o .:? "primitiveTransformation")+ <*> (o .:? "condition")+ <*> (o .:? "fields" .!= mempty))++instance ToJSON GooglePrivacyDlpV2FieldTransformation+ where+ toJSON GooglePrivacyDlpV2FieldTransformation'{..}+ = object+ (catMaybes+ [("infoTypeTransformations" .=) <$>+ _gpdvftInfoTypeTransformations,+ ("primitiveTransformation" .=) <$>+ _gpdvftPrimitiveTransformation,+ ("condition" .=) <$> _gpdvftCondition,+ ("fields" .=) <$> _gpdvftFields])++-- | The rule that adjusts the likelihood of findings within a certain+-- proximity of hotwords.+--+-- /See:/ 'googlePrivacyDlpV2HotwordRule' smart constructor.+data GooglePrivacyDlpV2HotwordRule =+ GooglePrivacyDlpV2HotwordRule'+ { _gpdvhrProximity :: !(Maybe GooglePrivacyDlpV2Proximity)+ , _gpdvhrLikelihoodAdjustment :: !(Maybe GooglePrivacyDlpV2LikelihoodAdjustment)+ , _gpdvhrHotwordRegex :: !(Maybe GooglePrivacyDlpV2Regex)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2HotwordRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvhrProximity'+--+-- * 'gpdvhrLikelihoodAdjustment'+--+-- * 'gpdvhrHotwordRegex'+googlePrivacyDlpV2HotwordRule+ :: GooglePrivacyDlpV2HotwordRule+googlePrivacyDlpV2HotwordRule =+ GooglePrivacyDlpV2HotwordRule'+ { _gpdvhrProximity = Nothing+ , _gpdvhrLikelihoodAdjustment = Nothing+ , _gpdvhrHotwordRegex = Nothing+ }+++-- | Proximity of the finding within which the entire hotword must reside.+-- The total length of the window cannot exceed 1000 characters. Note that+-- the finding itself will be included in the window, so that hotwords may+-- be used to match substrings of the finding itself. For example, the+-- certainty of a phone number regex \"\\(\\d{3}\\) \\d{3}-\\d{4}\" could+-- be adjusted upwards if the area code is known to be the local area code+-- of a company office using the hotword regex \"\\(xxx\\)\", where \"xxx\"+-- is the area code in question.+gpdvhrProximity :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2Proximity)+gpdvhrProximity+ = lens _gpdvhrProximity+ (\ s a -> s{_gpdvhrProximity = a})++-- | Likelihood adjustment to apply to all matching findings.+gpdvhrLikelihoodAdjustment :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2LikelihoodAdjustment)+gpdvhrLikelihoodAdjustment+ = lens _gpdvhrLikelihoodAdjustment+ (\ s a -> s{_gpdvhrLikelihoodAdjustment = a})++-- | Regular expression pattern defining what qualifies as a hotword.+gpdvhrHotwordRegex :: Lens' GooglePrivacyDlpV2HotwordRule (Maybe GooglePrivacyDlpV2Regex)+gpdvhrHotwordRegex+ = lens _gpdvhrHotwordRegex+ (\ s a -> s{_gpdvhrHotwordRegex = a})++instance FromJSON GooglePrivacyDlpV2HotwordRule where+ parseJSON+ = withObject "GooglePrivacyDlpV2HotwordRule"+ (\ o ->+ GooglePrivacyDlpV2HotwordRule' <$>+ (o .:? "proximity") <*>+ (o .:? "likelihoodAdjustment")+ <*> (o .:? "hotwordRegex"))++instance ToJSON GooglePrivacyDlpV2HotwordRule where+ toJSON GooglePrivacyDlpV2HotwordRule'{..}+ = object+ (catMaybes+ [("proximity" .=) <$> _gpdvhrProximity,+ ("likelihoodAdjustment" .=) <$>+ _gpdvhrLikelihoodAdjustment,+ ("hotwordRegex" .=) <$> _gpdvhrHotwordRegex])++-- | Request to search for potentially sensitive info in an image and redact+-- it by covering it with a colored rectangle.+--+-- /See:/ 'googlePrivacyDlpV2RedactImageRequest' smart constructor.+data GooglePrivacyDlpV2RedactImageRequest =+ GooglePrivacyDlpV2RedactImageRequest'+ { _gpdvrirIncludeFindings :: !(Maybe Bool)+ , _gpdvrirInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gpdvrirByteItem :: !(Maybe GooglePrivacyDlpV2ByteContentItem)+ , _gpdvrirImageRedactionConfigs :: !(Maybe [GooglePrivacyDlpV2ImageRedactionConfig])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RedactImageRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrirIncludeFindings'+--+-- * 'gpdvrirInspectConfig'+--+-- * 'gpdvrirByteItem'+--+-- * 'gpdvrirImageRedactionConfigs'+googlePrivacyDlpV2RedactImageRequest+ :: GooglePrivacyDlpV2RedactImageRequest+googlePrivacyDlpV2RedactImageRequest =+ GooglePrivacyDlpV2RedactImageRequest'+ { _gpdvrirIncludeFindings = Nothing+ , _gpdvrirInspectConfig = Nothing+ , _gpdvrirByteItem = Nothing+ , _gpdvrirImageRedactionConfigs = Nothing+ }+++-- | Whether the response should include findings along with the redacted+-- image.+gpdvrirIncludeFindings :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe Bool)+gpdvrirIncludeFindings+ = lens _gpdvrirIncludeFindings+ (\ s a -> s{_gpdvrirIncludeFindings = a})++-- | Configuration for the inspector.+gpdvrirInspectConfig :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe GooglePrivacyDlpV2InspectConfig)+gpdvrirInspectConfig+ = lens _gpdvrirInspectConfig+ (\ s a -> s{_gpdvrirInspectConfig = a})++-- | The content must be PNG, JPEG, SVG or BMP.+gpdvrirByteItem :: Lens' GooglePrivacyDlpV2RedactImageRequest (Maybe GooglePrivacyDlpV2ByteContentItem)+gpdvrirByteItem+ = lens _gpdvrirByteItem+ (\ s a -> s{_gpdvrirByteItem = a})++-- | The configuration for specifying what content to redact from images.+gpdvrirImageRedactionConfigs :: Lens' GooglePrivacyDlpV2RedactImageRequest [GooglePrivacyDlpV2ImageRedactionConfig]+gpdvrirImageRedactionConfigs+ = lens _gpdvrirImageRedactionConfigs+ (\ s a -> s{_gpdvrirImageRedactionConfigs = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2RedactImageRequest+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RedactImageRequest"+ (\ o ->+ GooglePrivacyDlpV2RedactImageRequest' <$>+ (o .:? "includeFindings") <*> (o .:? "inspectConfig")+ <*> (o .:? "byteItem")+ <*> (o .:? "imageRedactionConfigs" .!= mempty))++instance ToJSON GooglePrivacyDlpV2RedactImageRequest+ where+ toJSON GooglePrivacyDlpV2RedactImageRequest'{..}+ = object+ (catMaybes+ [("includeFindings" .=) <$> _gpdvrirIncludeFindings,+ ("inspectConfig" .=) <$> _gpdvrirInspectConfig,+ ("byteItem" .=) <$> _gpdvrirByteItem,+ ("imageRedactionConfigs" .=) <$>+ _gpdvrirImageRedactionConfigs])++--+-- /See:/ 'googlePrivacyDlpV2FindingLimits' smart constructor.+data GooglePrivacyDlpV2FindingLimits =+ GooglePrivacyDlpV2FindingLimits'+ { _gpdvflMaxFindingsPerItem :: !(Maybe (Textual Int32))+ , _gpdvflMaxFindingsPerInfoType :: !(Maybe [GooglePrivacyDlpV2InfoTypeLimit])+ , _gpdvflMaxFindingsPerRequest :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2FindingLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvflMaxFindingsPerItem'+--+-- * 'gpdvflMaxFindingsPerInfoType'+--+-- * 'gpdvflMaxFindingsPerRequest'+googlePrivacyDlpV2FindingLimits+ :: GooglePrivacyDlpV2FindingLimits+googlePrivacyDlpV2FindingLimits =+ GooglePrivacyDlpV2FindingLimits'+ { _gpdvflMaxFindingsPerItem = Nothing+ , _gpdvflMaxFindingsPerInfoType = Nothing+ , _gpdvflMaxFindingsPerRequest = Nothing+ }+++-- | Max number of findings that will be returned for each item scanned. When+-- set within \`InspectDataSourceRequest\`, the maximum returned is 2000+-- regardless if this is set higher. When set within+-- \`InspectContentRequest\`, this field is ignored.+gpdvflMaxFindingsPerItem :: Lens' GooglePrivacyDlpV2FindingLimits (Maybe Int32)+gpdvflMaxFindingsPerItem+ = lens _gpdvflMaxFindingsPerItem+ (\ s a -> s{_gpdvflMaxFindingsPerItem = a})+ . mapping _Coerce++-- | Configuration of findings limit given for specified infoTypes.+gpdvflMaxFindingsPerInfoType :: Lens' GooglePrivacyDlpV2FindingLimits [GooglePrivacyDlpV2InfoTypeLimit]+gpdvflMaxFindingsPerInfoType+ = lens _gpdvflMaxFindingsPerInfoType+ (\ s a -> s{_gpdvflMaxFindingsPerInfoType = a})+ . _Default+ . _Coerce++-- | Max number of findings that will be returned per request\/job. When set+-- within \`InspectContentRequest\`, the maximum returned is 2000+-- regardless if this is set higher.+gpdvflMaxFindingsPerRequest :: Lens' GooglePrivacyDlpV2FindingLimits (Maybe Int32)+gpdvflMaxFindingsPerRequest+ = lens _gpdvflMaxFindingsPerRequest+ (\ s a -> s{_gpdvflMaxFindingsPerRequest = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2FindingLimits+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2FindingLimits"+ (\ o ->+ GooglePrivacyDlpV2FindingLimits' <$>+ (o .:? "maxFindingsPerItem") <*>+ (o .:? "maxFindingsPerInfoType" .!= mempty)+ <*> (o .:? "maxFindingsPerRequest"))++instance ToJSON GooglePrivacyDlpV2FindingLimits where+ toJSON GooglePrivacyDlpV2FindingLimits'{..}+ = object+ (catMaybes+ [("maxFindingsPerItem" .=) <$>+ _gpdvflMaxFindingsPerItem,+ ("maxFindingsPerInfoType" .=) <$>+ _gpdvflMaxFindingsPerInfoType,+ ("maxFindingsPerRequest" .=) <$>+ _gpdvflMaxFindingsPerRequest])++-- | The field type of \`value\` and \`field\` do not need to match to be+-- considered equal, but not all comparisons are possible. EQUAL_TO and+-- NOT_EQUAL_TO attempt to compare even with incompatible types, but all+-- other comparisons are invalid with incompatible types. A \`value\` of+-- type: - \`string\` can be compared against all other types - \`boolean\`+-- can only be compared against other booleans - \`integer\` can be+-- compared against doubles or a string if the string value can be parsed+-- as an integer. - \`double\` can be compared against integers or a string+-- if the string can be parsed as a double. - \`Timestamp\` can be compared+-- against strings in RFC 3339 date string format. - \`TimeOfDay\` can be+-- compared against timestamps and strings in the format of \'HH:mm:ss\'.+-- If we fail to compare do to type mismatch, a warning will be given and+-- the condition will evaluate to false.+--+-- /See:/ 'googlePrivacyDlpV2Condition' smart constructor.+data GooglePrivacyDlpV2Condition =+ GooglePrivacyDlpV2Condition'+ { _gpdvcField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvcOperator :: !(Maybe GooglePrivacyDlpV2ConditionOperator)+ , _gpdvcValue :: !(Maybe GooglePrivacyDlpV2Value)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcField'+--+-- * 'gpdvcOperator'+--+-- * 'gpdvcValue'+googlePrivacyDlpV2Condition+ :: GooglePrivacyDlpV2Condition+googlePrivacyDlpV2Condition =+ GooglePrivacyDlpV2Condition'+ {_gpdvcField = Nothing, _gpdvcOperator = Nothing, _gpdvcValue = Nothing}+++-- | Field within the record this condition is evaluated against. [required]+gpdvcField :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2FieldId)+gpdvcField+ = lens _gpdvcField (\ s a -> s{_gpdvcField = a})++-- | Operator used to compare the field or infoType to the value. [required]+gpdvcOperator :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2ConditionOperator)+gpdvcOperator+ = lens _gpdvcOperator+ (\ s a -> s{_gpdvcOperator = a})++-- | Value to compare against. [Required, except for \`EXISTS\` tests.]+gpdvcValue :: Lens' GooglePrivacyDlpV2Condition (Maybe GooglePrivacyDlpV2Value)+gpdvcValue+ = lens _gpdvcValue (\ s a -> s{_gpdvcValue = a})++instance FromJSON GooglePrivacyDlpV2Condition where+ parseJSON+ = withObject "GooglePrivacyDlpV2Condition"+ (\ o ->+ GooglePrivacyDlpV2Condition' <$>+ (o .:? "field") <*> (o .:? "operator") <*>+ (o .:? "value"))++instance ToJSON GooglePrivacyDlpV2Condition where+ toJSON GooglePrivacyDlpV2Condition'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gpdvcField,+ ("operator" .=) <$> _gpdvcOperator,+ ("value" .=) <$> _gpdvcValue])++-- | Configuration of the timespan of the items to include in scanning.+-- Currently only supported when inspecting Google Cloud Storage and+-- BigQuery.+--+-- /See:/ 'googlePrivacyDlpV2TimespanConfig' smart constructor.+data GooglePrivacyDlpV2TimespanConfig =+ GooglePrivacyDlpV2TimespanConfig'+ { _gpdvtcTimestampField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvtcStartTime :: !(Maybe DateTime')+ , _gpdvtcEnableAutoPopulationOfTimespanConfig :: !(Maybe Bool)+ , _gpdvtcEndTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TimespanConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtcTimestampField'+--+-- * 'gpdvtcStartTime'+--+-- * 'gpdvtcEnableAutoPopulationOfTimespanConfig'+--+-- * 'gpdvtcEndTime'+googlePrivacyDlpV2TimespanConfig+ :: GooglePrivacyDlpV2TimespanConfig+googlePrivacyDlpV2TimespanConfig =+ GooglePrivacyDlpV2TimespanConfig'+ { _gpdvtcTimestampField = Nothing+ , _gpdvtcStartTime = Nothing+ , _gpdvtcEnableAutoPopulationOfTimespanConfig = Nothing+ , _gpdvtcEndTime = Nothing+ }+++-- | Specification of the field containing the timestamp of scanned items.+-- Used for data sources like Datastore or BigQuery. If not specified for+-- BigQuery, table last modification timestamp is checked against given+-- time span. The valid data types of the timestamp field are: for BigQuery+-- - timestamp, date, datetime; for Datastore - timestamp. Datastore entity+-- will be scanned if the timestamp property does not exist or its value is+-- empty or invalid.+gpdvtcTimestampField :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvtcTimestampField+ = lens _gpdvtcTimestampField+ (\ s a -> s{_gpdvtcTimestampField = a})++-- | Exclude files or rows older than this value.+gpdvtcStartTime :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe UTCTime)+gpdvtcStartTime+ = lens _gpdvtcStartTime+ (\ s a -> s{_gpdvtcStartTime = a})+ . mapping _DateTime++-- | When the job is started by a JobTrigger we will automatically figure out+-- a valid start_time to avoid scanning files that have not been modified+-- since the last time the JobTrigger executed. This will be based on the+-- time of the execution of the last run of the JobTrigger.+gpdvtcEnableAutoPopulationOfTimespanConfig :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe Bool)+gpdvtcEnableAutoPopulationOfTimespanConfig+ = lens _gpdvtcEnableAutoPopulationOfTimespanConfig+ (\ s a ->+ s{_gpdvtcEnableAutoPopulationOfTimespanConfig = a})++-- | Exclude files or rows newer than this value. If set to zero, no upper+-- time limit is applied.+gpdvtcEndTime :: Lens' GooglePrivacyDlpV2TimespanConfig (Maybe UTCTime)+gpdvtcEndTime+ = lens _gpdvtcEndTime+ (\ s a -> s{_gpdvtcEndTime = a})+ . mapping _DateTime++instance FromJSON GooglePrivacyDlpV2TimespanConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2TimespanConfig"+ (\ o ->+ GooglePrivacyDlpV2TimespanConfig' <$>+ (o .:? "timestampField") <*> (o .:? "startTime") <*>+ (o .:? "enableAutoPopulationOfTimespanConfig")+ <*> (o .:? "endTime"))++instance ToJSON GooglePrivacyDlpV2TimespanConfig+ where+ toJSON GooglePrivacyDlpV2TimespanConfig'{..}+ = object+ (catMaybes+ [("timestampField" .=) <$> _gpdvtcTimestampField,+ ("startTime" .=) <$> _gpdvtcStartTime,+ ("enableAutoPopulationOfTimespanConfig" .=) <$>+ _gpdvtcEnableAutoPopulationOfTimespanConfig,+ ("endTime" .=) <$> _gpdvtcEndTime])++-- | Request message for CreateDeidentifyTemplate.+--+-- /See:/ 'googlePrivacyDlpV2CreateDeidentifyTemplateRequest' smart constructor.+data GooglePrivacyDlpV2CreateDeidentifyTemplateRequest =+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'+ { _gpdvcdtrTemplateId :: !(Maybe Text)+ , _gpdvcdtrDeidentifyTemplate :: !(Maybe GooglePrivacyDlpV2DeidentifyTemplate)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CreateDeidentifyTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcdtrTemplateId'+--+-- * 'gpdvcdtrDeidentifyTemplate'+googlePrivacyDlpV2CreateDeidentifyTemplateRequest+ :: GooglePrivacyDlpV2CreateDeidentifyTemplateRequest+googlePrivacyDlpV2CreateDeidentifyTemplateRequest =+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'+ {_gpdvcdtrTemplateId = Nothing, _gpdvcdtrDeidentifyTemplate = Nothing}+++-- | The template id can contain uppercase and lowercase letters, numbers,+-- and hyphens; that is, it must match the regular expression:+-- \`[a-zA-Z\\\\d-_]+\`. The maximum length is 100 characters. Can be empty+-- to allow the system to generate one.+gpdvcdtrTemplateId :: Lens' GooglePrivacyDlpV2CreateDeidentifyTemplateRequest (Maybe Text)+gpdvcdtrTemplateId+ = lens _gpdvcdtrTemplateId+ (\ s a -> s{_gpdvcdtrTemplateId = a})++-- | The DeidentifyTemplate to create.+gpdvcdtrDeidentifyTemplate :: Lens' GooglePrivacyDlpV2CreateDeidentifyTemplateRequest (Maybe GooglePrivacyDlpV2DeidentifyTemplate)+gpdvcdtrDeidentifyTemplate+ = lens _gpdvcdtrDeidentifyTemplate+ (\ s a -> s{_gpdvcdtrDeidentifyTemplate = a})++instance FromJSON+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CreateDeidentifyTemplateRequest"+ (\ o ->+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'+ <$>+ (o .:? "templateId") <*>+ (o .:? "deidentifyTemplate"))++instance ToJSON+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest+ where+ toJSON+ GooglePrivacyDlpV2CreateDeidentifyTemplateRequest'{..}+ = object+ (catMaybes+ [("templateId" .=) <$> _gpdvcdtrTemplateId,+ ("deidentifyTemplate" .=) <$>+ _gpdvcdtrDeidentifyTemplate])++-- | Use this to have a random data crypto key generated. It will be+-- discarded after the request finishes.+--+-- /See:/ 'googlePrivacyDlpV2TransientCryptoKey' smart constructor.+newtype GooglePrivacyDlpV2TransientCryptoKey =+ GooglePrivacyDlpV2TransientCryptoKey'+ { _gpdvtckName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TransientCryptoKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtckName'+googlePrivacyDlpV2TransientCryptoKey+ :: GooglePrivacyDlpV2TransientCryptoKey+googlePrivacyDlpV2TransientCryptoKey =+ GooglePrivacyDlpV2TransientCryptoKey' {_gpdvtckName = Nothing}+++-- | Name of the key. [required] This is an arbitrary string used to+-- differentiate different keys. A unique key is generated per name: two+-- separate \`TransientCryptoKey\` protos share the same generated key if+-- their names are the same. When the data crypto key is generated, this+-- name is not used in any way (repeating the api call will result in a+-- different key being generated).+gpdvtckName :: Lens' GooglePrivacyDlpV2TransientCryptoKey (Maybe Text)+gpdvtckName+ = lens _gpdvtckName (\ s a -> s{_gpdvtckName = a})++instance FromJSON+ GooglePrivacyDlpV2TransientCryptoKey+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2TransientCryptoKey"+ (\ o ->+ GooglePrivacyDlpV2TransientCryptoKey' <$>+ (o .:? "name"))++instance ToJSON GooglePrivacyDlpV2TransientCryptoKey+ where+ toJSON GooglePrivacyDlpV2TransientCryptoKey'{..}+ = object (catMaybes [("name" .=) <$> _gpdvtckName])++-- | InfoType description.+--+-- /See:/ 'googlePrivacyDlpV2InfoTypeDescription' smart constructor.+data GooglePrivacyDlpV2InfoTypeDescription =+ GooglePrivacyDlpV2InfoTypeDescription'+ { _gpdvitdName :: !(Maybe Text)+ , _gpdvitdDisplayName :: !(Maybe Text)+ , _gpdvitdSupportedBy :: !(Maybe [Text])+ , _gpdvitdDescription :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoTypeDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvitdName'+--+-- * 'gpdvitdDisplayName'+--+-- * 'gpdvitdSupportedBy'+--+-- * 'gpdvitdDescription'+googlePrivacyDlpV2InfoTypeDescription+ :: GooglePrivacyDlpV2InfoTypeDescription+googlePrivacyDlpV2InfoTypeDescription =+ GooglePrivacyDlpV2InfoTypeDescription'+ { _gpdvitdName = Nothing+ , _gpdvitdDisplayName = Nothing+ , _gpdvitdSupportedBy = Nothing+ , _gpdvitdDescription = Nothing+ }+++-- | Internal name of the infoType.+gpdvitdName :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)+gpdvitdName+ = lens _gpdvitdName (\ s a -> s{_gpdvitdName = a})++-- | Human readable form of the infoType name.+gpdvitdDisplayName :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)+gpdvitdDisplayName+ = lens _gpdvitdDisplayName+ (\ s a -> s{_gpdvitdDisplayName = a})++-- | Which parts of the API supports this InfoType.+gpdvitdSupportedBy :: Lens' GooglePrivacyDlpV2InfoTypeDescription [Text]+gpdvitdSupportedBy+ = lens _gpdvitdSupportedBy+ (\ s a -> s{_gpdvitdSupportedBy = a})+ . _Default+ . _Coerce++-- | Description of the infotype. Translated when language is provided in the+-- request.+gpdvitdDescription :: Lens' GooglePrivacyDlpV2InfoTypeDescription (Maybe Text)+gpdvitdDescription+ = lens _gpdvitdDescription+ (\ s a -> s{_gpdvitdDescription = a})++instance FromJSON+ GooglePrivacyDlpV2InfoTypeDescription+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InfoTypeDescription"+ (\ o ->+ GooglePrivacyDlpV2InfoTypeDescription' <$>+ (o .:? "name") <*> (o .:? "displayName") <*>+ (o .:? "supportedBy" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON GooglePrivacyDlpV2InfoTypeDescription+ where+ toJSON GooglePrivacyDlpV2InfoTypeDescription'{..}+ = object+ (catMaybes+ [("name" .=) <$> _gpdvitdName,+ ("displayName" .=) <$> _gpdvitdDisplayName,+ ("supportedBy" .=) <$> _gpdvitdSupportedBy,+ ("description" .=) <$> _gpdvitdDescription])++-- | 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:/ 'googleProtobufEmpty' smart constructor.+data GoogleProtobufEmpty =+ GoogleProtobufEmpty'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GoogleProtobufEmpty' with the minimum fields required to make a request.+--+googleProtobufEmpty+ :: GoogleProtobufEmpty+googleProtobufEmpty = GoogleProtobufEmpty'+++instance FromJSON GoogleProtobufEmpty where+ parseJSON+ = withObject "GoogleProtobufEmpty"+ (\ o -> pure GoogleProtobufEmpty')++instance ToJSON GoogleProtobufEmpty where+ toJSON = const emptyObject++--+-- /See:/ 'googleRpcStatusDetailsItem' smart constructor.+newtype GoogleRpcStatusDetailsItem =+ GoogleRpcStatusDetailsItem'+ { _grsdiAddtional :: HashMap Text JSONValue+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GoogleRpcStatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsdiAddtional'+googleRpcStatusDetailsItem+ :: HashMap Text JSONValue -- ^ 'grsdiAddtional'+ -> GoogleRpcStatusDetailsItem+googleRpcStatusDetailsItem pGrsdiAddtional_ =+ GoogleRpcStatusDetailsItem' {_grsdiAddtional = _Coerce # pGrsdiAddtional_}+++-- | Properties of the object. Contains field \'type with type URL.+grsdiAddtional :: Lens' GoogleRpcStatusDetailsItem (HashMap Text JSONValue)+grsdiAddtional+ = lens _grsdiAddtional+ (\ s a -> s{_grsdiAddtional = a})+ . _Coerce++instance FromJSON GoogleRpcStatusDetailsItem where+ parseJSON+ = withObject "GoogleRpcStatusDetailsItem"+ (\ o ->+ GoogleRpcStatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON GoogleRpcStatusDetailsItem where+ toJSON = toJSON . _grsdiAddtional++-- | Configuration for determining how redaction of images should occur.+--+-- /See:/ 'googlePrivacyDlpV2ImageRedactionConfig' smart constructor.+data GooglePrivacyDlpV2ImageRedactionConfig =+ GooglePrivacyDlpV2ImageRedactionConfig'+ { _gpdvircRedactionColor :: !(Maybe GooglePrivacyDlpV2Color)+ , _gpdvircInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvircRedactAllText :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ImageRedactionConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvircRedactionColor'+--+-- * 'gpdvircInfoType'+--+-- * 'gpdvircRedactAllText'+googlePrivacyDlpV2ImageRedactionConfig+ :: GooglePrivacyDlpV2ImageRedactionConfig+googlePrivacyDlpV2ImageRedactionConfig =+ GooglePrivacyDlpV2ImageRedactionConfig'+ { _gpdvircRedactionColor = Nothing+ , _gpdvircInfoType = Nothing+ , _gpdvircRedactAllText = Nothing+ }+++-- | The color to use when redacting content from an image. If not specified,+-- the default is black.+gpdvircRedactionColor :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe GooglePrivacyDlpV2Color)+gpdvircRedactionColor+ = lens _gpdvircRedactionColor+ (\ s a -> s{_gpdvircRedactionColor = a})++-- | Only one per info_type should be provided per request. If not specified,+-- and redact_all_text is false, the DLP API will redact all text that it+-- matches against all info_types that are found, but not specified in+-- another ImageRedactionConfig.+gpdvircInfoType :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe GooglePrivacyDlpV2InfoType)+gpdvircInfoType+ = lens _gpdvircInfoType+ (\ s a -> s{_gpdvircInfoType = a})++-- | If true, all text found in the image, regardless whether it matches an+-- info_type, is redacted. Only one should be provided.+gpdvircRedactAllText :: Lens' GooglePrivacyDlpV2ImageRedactionConfig (Maybe Bool)+gpdvircRedactAllText+ = lens _gpdvircRedactAllText+ (\ s a -> s{_gpdvircRedactAllText = a})++instance FromJSON+ GooglePrivacyDlpV2ImageRedactionConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ImageRedactionConfig"+ (\ o ->+ GooglePrivacyDlpV2ImageRedactionConfig' <$>+ (o .:? "redactionColor") <*> (o .:? "infoType") <*>+ (o .:? "redactAllText"))++instance ToJSON+ GooglePrivacyDlpV2ImageRedactionConfig+ where+ toJSON GooglePrivacyDlpV2ImageRedactionConfig'{..}+ = object+ (catMaybes+ [("redactionColor" .=) <$> _gpdvircRedactionColor,+ ("infoType" .=) <$> _gpdvircInfoType,+ ("redactAllText" .=) <$> _gpdvircRedactAllText])++-- | What event needs to occur for a new job to be started.+--+-- /See:/ 'googlePrivacyDlpV2Trigger' smart constructor.+newtype GooglePrivacyDlpV2Trigger =+ GooglePrivacyDlpV2Trigger'+ { _gpdvtSchedule :: Maybe GooglePrivacyDlpV2Schedule+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Trigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtSchedule'+googlePrivacyDlpV2Trigger+ :: GooglePrivacyDlpV2Trigger+googlePrivacyDlpV2Trigger =+ GooglePrivacyDlpV2Trigger' {_gpdvtSchedule = Nothing}+++-- | Create a job on a repeating basis based on the elapse of time.+gpdvtSchedule :: Lens' GooglePrivacyDlpV2Trigger (Maybe GooglePrivacyDlpV2Schedule)+gpdvtSchedule+ = lens _gpdvtSchedule+ (\ s a -> s{_gpdvtSchedule = a})++instance FromJSON GooglePrivacyDlpV2Trigger where+ parseJSON+ = withObject "GooglePrivacyDlpV2Trigger"+ (\ o ->+ GooglePrivacyDlpV2Trigger' <$> (o .:? "schedule"))++instance ToJSON GooglePrivacyDlpV2Trigger where+ toJSON GooglePrivacyDlpV2Trigger'{..}+ = object+ (catMaybes [("schedule" .=) <$> _gpdvtSchedule])++-- | Options defining a file or a set of files within a Google Cloud Storage+-- bucket.+--+-- /See:/ 'googlePrivacyDlpV2CloudStorageOptions' smart constructor.+data GooglePrivacyDlpV2CloudStorageOptions =+ GooglePrivacyDlpV2CloudStorageOptions'+ { _gpdvcsoFileSet :: !(Maybe GooglePrivacyDlpV2FileSet)+ , _gpdvcsoBytesLimitPerFile :: !(Maybe (Textual Int64))+ , _gpdvcsoFileTypes :: !(Maybe [Text])+ , _gpdvcsoBytesLimitPerFilePercent :: !(Maybe (Textual Int32))+ , _gpdvcsoFilesLimitPercent :: !(Maybe (Textual Int32))+ , _gpdvcsoSampleMethod :: !(Maybe GooglePrivacyDlpV2CloudStorageOptionsSampleMethod)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CloudStorageOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcsoFileSet'+--+-- * 'gpdvcsoBytesLimitPerFile'+--+-- * 'gpdvcsoFileTypes'+--+-- * 'gpdvcsoBytesLimitPerFilePercent'+--+-- * 'gpdvcsoFilesLimitPercent'+--+-- * 'gpdvcsoSampleMethod'+googlePrivacyDlpV2CloudStorageOptions+ :: GooglePrivacyDlpV2CloudStorageOptions+googlePrivacyDlpV2CloudStorageOptions =+ GooglePrivacyDlpV2CloudStorageOptions'+ { _gpdvcsoFileSet = Nothing+ , _gpdvcsoBytesLimitPerFile = Nothing+ , _gpdvcsoFileTypes = Nothing+ , _gpdvcsoBytesLimitPerFilePercent = Nothing+ , _gpdvcsoFilesLimitPercent = Nothing+ , _gpdvcsoSampleMethod = Nothing+ }+++-- | The set of one or more files to scan.+gpdvcsoFileSet :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe GooglePrivacyDlpV2FileSet)+gpdvcsoFileSet+ = lens _gpdvcsoFileSet+ (\ s a -> s{_gpdvcsoFileSet = a})++-- | Max number of bytes to scan from a file. If a scanned file\'s size is+-- bigger than this value then the rest of the bytes are omitted. Only one+-- of bytes_limit_per_file and bytes_limit_per_file_percent can be+-- specified.+gpdvcsoBytesLimitPerFile :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int64)+gpdvcsoBytesLimitPerFile+ = lens _gpdvcsoBytesLimitPerFile+ (\ s a -> s{_gpdvcsoBytesLimitPerFile = a})+ . mapping _Coerce++-- | List of file type groups to include in the scan. If empty, all files are+-- scanned and available data format processors are applied. In addition,+-- the binary content of the selected files is always scanned as well.+gpdvcsoFileTypes :: Lens' GooglePrivacyDlpV2CloudStorageOptions [Text]+gpdvcsoFileTypes+ = lens _gpdvcsoFileTypes+ (\ s a -> s{_gpdvcsoFileTypes = a})+ . _Default+ . _Coerce++-- | Max percentage of bytes to scan from a file. The rest are omitted. The+-- number of bytes scanned is rounded down. Must be between 0 and 100,+-- inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of+-- bytes_limit_per_file and bytes_limit_per_file_percent can be specified.+gpdvcsoBytesLimitPerFilePercent :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int32)+gpdvcsoBytesLimitPerFilePercent+ = lens _gpdvcsoBytesLimitPerFilePercent+ (\ s a -> s{_gpdvcsoBytesLimitPerFilePercent = a})+ . mapping _Coerce++-- | Limits the number of files to scan to this percentage of the input+-- FileSet. Number of files scanned is rounded down. Must be between 0 and+-- 100, inclusively. Both 0 and 100 means no limit. Defaults to 0.+gpdvcsoFilesLimitPercent :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe Int32)+gpdvcsoFilesLimitPercent+ = lens _gpdvcsoFilesLimitPercent+ (\ s a -> s{_gpdvcsoFilesLimitPercent = a})+ . mapping _Coerce++gpdvcsoSampleMethod :: Lens' GooglePrivacyDlpV2CloudStorageOptions (Maybe GooglePrivacyDlpV2CloudStorageOptionsSampleMethod)+gpdvcsoSampleMethod+ = lens _gpdvcsoSampleMethod+ (\ s a -> s{_gpdvcsoSampleMethod = a})++instance FromJSON+ GooglePrivacyDlpV2CloudStorageOptions+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CloudStorageOptions"+ (\ o ->+ GooglePrivacyDlpV2CloudStorageOptions' <$>+ (o .:? "fileSet") <*> (o .:? "bytesLimitPerFile") <*>+ (o .:? "fileTypes" .!= mempty)+ <*> (o .:? "bytesLimitPerFilePercent")+ <*> (o .:? "filesLimitPercent")+ <*> (o .:? "sampleMethod"))++instance ToJSON GooglePrivacyDlpV2CloudStorageOptions+ where+ toJSON GooglePrivacyDlpV2CloudStorageOptions'{..}+ = object+ (catMaybes+ [("fileSet" .=) <$> _gpdvcsoFileSet,+ ("bytesLimitPerFile" .=) <$>+ _gpdvcsoBytesLimitPerFile,+ ("fileTypes" .=) <$> _gpdvcsoFileTypes,+ ("bytesLimitPerFilePercent" .=) <$>+ _gpdvcsoBytesLimitPerFilePercent,+ ("filesLimitPercent" .=) <$>+ _gpdvcsoFilesLimitPercent,+ ("sampleMethod" .=) <$> _gpdvcsoSampleMethod])++-- | δ-presence metric, used to estimate how likely it is for an attacker to+-- figure out that one given individual appears in a de-identified dataset.+-- Similarly to the k-map metric, we cannot compute δ-presence exactly+-- without knowing the attack dataset, so we use a statistical model+-- instead.+--+-- /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationConfig' smart constructor.+data GooglePrivacyDlpV2DeltaPresenceEstimationConfig =+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig'+ { _gpdvdpecAuxiliaryTables :: !(Maybe [GooglePrivacyDlpV2StatisticalTable])+ , _gpdvdpecRegionCode :: !(Maybe Text)+ , _gpdvdpecQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdpecAuxiliaryTables'+--+-- * 'gpdvdpecRegionCode'+--+-- * 'gpdvdpecQuasiIds'+googlePrivacyDlpV2DeltaPresenceEstimationConfig+ :: GooglePrivacyDlpV2DeltaPresenceEstimationConfig+googlePrivacyDlpV2DeltaPresenceEstimationConfig =+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig'+ { _gpdvdpecAuxiliaryTables = Nothing+ , _gpdvdpecRegionCode = Nothing+ , _gpdvdpecQuasiIds = Nothing+ }+++-- | Several auxiliary tables can be used in the analysis. Each custom_tag+-- used to tag a quasi-identifiers field must appear in exactly one field+-- of one auxiliary table.+gpdvdpecAuxiliaryTables :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig [GooglePrivacyDlpV2StatisticalTable]+gpdvdpecAuxiliaryTables+ = lens _gpdvdpecAuxiliaryTables+ (\ s a -> s{_gpdvdpecAuxiliaryTables = a})+ . _Default+ . _Coerce++-- | ISO 3166-1 alpha-2 region code to use in the statistical modeling.+-- Required if no column is tagged with a region-specific InfoType (like+-- US_ZIP_5) or a region code.+gpdvdpecRegionCode :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig (Maybe Text)+gpdvdpecRegionCode+ = lens _gpdvdpecRegionCode+ (\ s a -> s{_gpdvdpecRegionCode = a})++-- | Fields considered to be quasi-identifiers. No two fields can have the+-- same tag. [required]+gpdvdpecQuasiIds :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationConfig [GooglePrivacyDlpV2QuasiId]+gpdvdpecQuasiIds+ = lens _gpdvdpecQuasiIds+ (\ s a -> s{_gpdvdpecQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeltaPresenceEstimationConfig"+ (\ o ->+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig' <$>+ (o .:? "auxiliaryTables" .!= mempty) <*>+ (o .:? "regionCode")+ <*> (o .:? "quasiIds" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig+ where+ toJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationConfig'{..}+ = object+ (catMaybes+ [("auxiliaryTables" .=) <$> _gpdvdpecAuxiliaryTables,+ ("regionCode" .=) <$> _gpdvdpecRegionCode,+ ("quasiIds" .=) <$> _gpdvdpecQuasiIds])++-- | Request message for CreateStoredInfoType.+--+-- /See:/ 'googlePrivacyDlpV2CreateStoredInfoTypeRequest' smart constructor.+data GooglePrivacyDlpV2CreateStoredInfoTypeRequest =+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest'+ { _gpdvcsitrConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+ , _gpdvcsitrStoredInfoTypeId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CreateStoredInfoTypeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcsitrConfig'+--+-- * 'gpdvcsitrStoredInfoTypeId'+googlePrivacyDlpV2CreateStoredInfoTypeRequest+ :: GooglePrivacyDlpV2CreateStoredInfoTypeRequest+googlePrivacyDlpV2CreateStoredInfoTypeRequest =+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest'+ {_gpdvcsitrConfig = Nothing, _gpdvcsitrStoredInfoTypeId = Nothing}+++-- | Configuration of the storedInfoType to create.+gpdvcsitrConfig :: Lens' GooglePrivacyDlpV2CreateStoredInfoTypeRequest (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+gpdvcsitrConfig+ = lens _gpdvcsitrConfig+ (\ s a -> s{_gpdvcsitrConfig = a})++-- | The storedInfoType ID can contain uppercase and lowercase letters,+-- numbers, and hyphens; that is, it must match the regular expression:+-- \`[a-zA-Z\\\\d-_]+\`. The maximum length is 100 characters. Can be empty+-- to allow the system to generate one.+gpdvcsitrStoredInfoTypeId :: Lens' GooglePrivacyDlpV2CreateStoredInfoTypeRequest (Maybe Text)+gpdvcsitrStoredInfoTypeId+ = lens _gpdvcsitrStoredInfoTypeId+ (\ s a -> s{_gpdvcsitrStoredInfoTypeId = a})++instance FromJSON+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CreateStoredInfoTypeRequest"+ (\ o ->+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest' <$>+ (o .:? "config") <*> (o .:? "storedInfoTypeId"))++instance ToJSON+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest+ where+ toJSON+ GooglePrivacyDlpV2CreateStoredInfoTypeRequest'{..}+ = object+ (catMaybes+ [("config" .=) <$> _gpdvcsitrConfig,+ ("storedInfoTypeId" .=) <$>+ _gpdvcsitrStoredInfoTypeId])++-- | A quasi-identifier column has a custom_tag, used to know which column in+-- the data corresponds to which column in the statistical model.+--+-- /See:/ 'googlePrivacyDlpV2QuasiIdField' smart constructor.+data GooglePrivacyDlpV2QuasiIdField =+ GooglePrivacyDlpV2QuasiIdField'+ { _gpdvqifField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvqifCustomTag :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2QuasiIdField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvqifField'+--+-- * 'gpdvqifCustomTag'+googlePrivacyDlpV2QuasiIdField+ :: GooglePrivacyDlpV2QuasiIdField+googlePrivacyDlpV2QuasiIdField =+ GooglePrivacyDlpV2QuasiIdField'+ {_gpdvqifField = Nothing, _gpdvqifCustomTag = Nothing}+++gpdvqifField :: Lens' GooglePrivacyDlpV2QuasiIdField (Maybe GooglePrivacyDlpV2FieldId)+gpdvqifField+ = lens _gpdvqifField (\ s a -> s{_gpdvqifField = a})++gpdvqifCustomTag :: Lens' GooglePrivacyDlpV2QuasiIdField (Maybe Text)+gpdvqifCustomTag+ = lens _gpdvqifCustomTag+ (\ s a -> s{_gpdvqifCustomTag = a})++instance FromJSON GooglePrivacyDlpV2QuasiIdField+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2QuasiIdField"+ (\ o ->+ GooglePrivacyDlpV2QuasiIdField' <$>+ (o .:? "field") <*> (o .:? "customTag"))++instance ToJSON GooglePrivacyDlpV2QuasiIdField where+ toJSON GooglePrivacyDlpV2QuasiIdField'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gpdvqifField,+ ("customTag" .=) <$> _gpdvqifCustomTag])++-- | For use with \`Date\`, \`Timestamp\`, and \`TimeOfDay\`, extract or+-- preserve a portion of the value.+--+-- /See:/ 'googlePrivacyDlpV2TimePartConfig' smart constructor.+newtype GooglePrivacyDlpV2TimePartConfig =+ GooglePrivacyDlpV2TimePartConfig'+ { _gpdvtpcPartToExtract :: Maybe GooglePrivacyDlpV2TimePartConfigPartToExtract+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TimePartConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtpcPartToExtract'+googlePrivacyDlpV2TimePartConfig+ :: GooglePrivacyDlpV2TimePartConfig+googlePrivacyDlpV2TimePartConfig =+ GooglePrivacyDlpV2TimePartConfig' {_gpdvtpcPartToExtract = Nothing}+++gpdvtpcPartToExtract :: Lens' GooglePrivacyDlpV2TimePartConfig (Maybe GooglePrivacyDlpV2TimePartConfigPartToExtract)+gpdvtpcPartToExtract+ = lens _gpdvtpcPartToExtract+ (\ s a -> s{_gpdvtpcPartToExtract = a})++instance FromJSON GooglePrivacyDlpV2TimePartConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2TimePartConfig"+ (\ o ->+ GooglePrivacyDlpV2TimePartConfig' <$>+ (o .:? "partToExtract"))++instance ToJSON GooglePrivacyDlpV2TimePartConfig+ where+ toJSON GooglePrivacyDlpV2TimePartConfig'{..}+ = object+ (catMaybes+ [("partToExtract" .=) <$> _gpdvtpcPartToExtract])++-- | A single inspection rule to be applied to infoTypes, specified in+-- \`InspectionRuleSet\`.+--+-- /See:/ 'googlePrivacyDlpV2InspectionRule' smart constructor.+data GooglePrivacyDlpV2InspectionRule =+ GooglePrivacyDlpV2InspectionRule'+ { _gpdvirExclusionRule :: !(Maybe GooglePrivacyDlpV2ExclusionRule)+ , _gpdvirHotwordRule :: !(Maybe GooglePrivacyDlpV2HotwordRule)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectionRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvirExclusionRule'+--+-- * 'gpdvirHotwordRule'+googlePrivacyDlpV2InspectionRule+ :: GooglePrivacyDlpV2InspectionRule+googlePrivacyDlpV2InspectionRule =+ GooglePrivacyDlpV2InspectionRule'+ {_gpdvirExclusionRule = Nothing, _gpdvirHotwordRule = Nothing}+++-- | Exclusion rule.+gpdvirExclusionRule :: Lens' GooglePrivacyDlpV2InspectionRule (Maybe GooglePrivacyDlpV2ExclusionRule)+gpdvirExclusionRule+ = lens _gpdvirExclusionRule+ (\ s a -> s{_gpdvirExclusionRule = a})++-- | Hotword-based detection rule.+gpdvirHotwordRule :: Lens' GooglePrivacyDlpV2InspectionRule (Maybe GooglePrivacyDlpV2HotwordRule)+gpdvirHotwordRule+ = lens _gpdvirHotwordRule+ (\ s a -> s{_gpdvirHotwordRule = a})++instance FromJSON GooglePrivacyDlpV2InspectionRule+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectionRule"+ (\ o ->+ GooglePrivacyDlpV2InspectionRule' <$>+ (o .:? "exclusionRule") <*> (o .:? "hotwordRule"))++instance ToJSON GooglePrivacyDlpV2InspectionRule+ where+ toJSON GooglePrivacyDlpV2InspectionRule'{..}+ = object+ (catMaybes+ [("exclusionRule" .=) <$> _gpdvirExclusionRule,+ ("hotwordRule" .=) <$> _gpdvirHotwordRule])++-- | Custom information type provided by the user. Used to find+-- domain-specific sensitive information configurable to the data in+-- question.+--+-- /See:/ 'googlePrivacyDlpV2CustomInfoType' smart constructor.+data GooglePrivacyDlpV2CustomInfoType =+ GooglePrivacyDlpV2CustomInfoType'+ { _gpdvcitRegex :: !(Maybe GooglePrivacyDlpV2Regex)+ , _gpdvcitStoredType :: !(Maybe GooglePrivacyDlpV2StoredType)+ , _gpdvcitInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvcitExclusionType :: !(Maybe GooglePrivacyDlpV2CustomInfoTypeExclusionType)+ , _gpdvcitLikelihood :: !(Maybe GooglePrivacyDlpV2CustomInfoTypeLikelihood)+ , _gpdvcitDetectionRules :: !(Maybe [GooglePrivacyDlpV2DetectionRule])+ , _gpdvcitDictionary :: !(Maybe GooglePrivacyDlpV2Dictionary)+ , _gpdvcitSurrogateType :: !(Maybe GooglePrivacyDlpV2SurrogateType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CustomInfoType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcitRegex'+--+-- * 'gpdvcitStoredType'+--+-- * 'gpdvcitInfoType'+--+-- * 'gpdvcitExclusionType'+--+-- * 'gpdvcitLikelihood'+--+-- * 'gpdvcitDetectionRules'+--+-- * 'gpdvcitDictionary'+--+-- * 'gpdvcitSurrogateType'+googlePrivacyDlpV2CustomInfoType+ :: GooglePrivacyDlpV2CustomInfoType+googlePrivacyDlpV2CustomInfoType =+ GooglePrivacyDlpV2CustomInfoType'+ { _gpdvcitRegex = Nothing+ , _gpdvcitStoredType = Nothing+ , _gpdvcitInfoType = Nothing+ , _gpdvcitExclusionType = Nothing+ , _gpdvcitLikelihood = Nothing+ , _gpdvcitDetectionRules = Nothing+ , _gpdvcitDictionary = Nothing+ , _gpdvcitSurrogateType = Nothing+ }+++-- | Regular expression based CustomInfoType.+gpdvcitRegex :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2Regex)+gpdvcitRegex+ = lens _gpdvcitRegex (\ s a -> s{_gpdvcitRegex = a})++-- | Load an existing \`StoredInfoType\` resource for use in+-- \`InspectDataSource\`. Not currently supported in \`InspectContent\`.+gpdvcitStoredType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2StoredType)+gpdvcitStoredType+ = lens _gpdvcitStoredType+ (\ s a -> s{_gpdvcitStoredType = a})++-- | CustomInfoType can either be a new infoType, or an extension of built-in+-- infoType, when the name matches one of existing infoTypes and that+-- infoType is specified in \`InspectContent.info_types\` field. Specifying+-- the latter adds findings to the one detected by the system. If built-in+-- info type is not specified in \`InspectContent.info_types\` list then+-- the name is treated as a custom info type.+gpdvcitInfoType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2InfoType)+gpdvcitInfoType+ = lens _gpdvcitInfoType+ (\ s a -> s{_gpdvcitInfoType = a})++-- | If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding+-- to be returned. It still can be used for rules matching.+gpdvcitExclusionType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2CustomInfoTypeExclusionType)+gpdvcitExclusionType+ = lens _gpdvcitExclusionType+ (\ s a -> s{_gpdvcitExclusionType = a})++-- | Likelihood to return for this CustomInfoType. This base value can be+-- altered by a detection rule if the finding meets the criteria specified+-- by the rule. Defaults to \`VERY_LIKELY\` if not specified.+gpdvcitLikelihood :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2CustomInfoTypeLikelihood)+gpdvcitLikelihood+ = lens _gpdvcitLikelihood+ (\ s a -> s{_gpdvcitLikelihood = a})++-- | Set of detection rules to apply to all findings of this CustomInfoType.+-- Rules are applied in order that they are specified. Not supported for+-- the \`surrogate_type\` CustomInfoType.+gpdvcitDetectionRules :: Lens' GooglePrivacyDlpV2CustomInfoType [GooglePrivacyDlpV2DetectionRule]+gpdvcitDetectionRules+ = lens _gpdvcitDetectionRules+ (\ s a -> s{_gpdvcitDetectionRules = a})+ . _Default+ . _Coerce++-- | A list of phrases to detect as a CustomInfoType.+gpdvcitDictionary :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2Dictionary)+gpdvcitDictionary+ = lens _gpdvcitDictionary+ (\ s a -> s{_gpdvcitDictionary = a})++-- | Message for detecting output from deidentification transformations that+-- support reversing.+gpdvcitSurrogateType :: Lens' GooglePrivacyDlpV2CustomInfoType (Maybe GooglePrivacyDlpV2SurrogateType)+gpdvcitSurrogateType+ = lens _gpdvcitSurrogateType+ (\ s a -> s{_gpdvcitSurrogateType = a})++instance FromJSON GooglePrivacyDlpV2CustomInfoType+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CustomInfoType"+ (\ o ->+ GooglePrivacyDlpV2CustomInfoType' <$>+ (o .:? "regex") <*> (o .:? "storedType") <*>+ (o .:? "infoType")+ <*> (o .:? "exclusionType")+ <*> (o .:? "likelihood")+ <*> (o .:? "detectionRules" .!= mempty)+ <*> (o .:? "dictionary")+ <*> (o .:? "surrogateType"))++instance ToJSON GooglePrivacyDlpV2CustomInfoType+ where+ toJSON GooglePrivacyDlpV2CustomInfoType'{..}+ = object+ (catMaybes+ [("regex" .=) <$> _gpdvcitRegex,+ ("storedType" .=) <$> _gpdvcitStoredType,+ ("infoType" .=) <$> _gpdvcitInfoType,+ ("exclusionType" .=) <$> _gpdvcitExclusionType,+ ("likelihood" .=) <$> _gpdvcitLikelihood,+ ("detectionRules" .=) <$> _gpdvcitDetectionRules,+ ("dictionary" .=) <$> _gpdvcitDictionary,+ ("surrogateType" .=) <$> _gpdvcitSurrogateType])++-- | Result of the reidentifiability analysis. Note that these results are an+-- estimation, not exact values.+--+-- /See:/ 'googlePrivacyDlpV2KMapEstimationResult' smart constructor.+newtype GooglePrivacyDlpV2KMapEstimationResult =+ GooglePrivacyDlpV2KMapEstimationResult'+ { _gpdvkmerKMapEstimationHistogram :: Maybe [GooglePrivacyDlpV2KMapEstimationHistogramBucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkmerKMapEstimationHistogram'+googlePrivacyDlpV2KMapEstimationResult+ :: GooglePrivacyDlpV2KMapEstimationResult+googlePrivacyDlpV2KMapEstimationResult =+ GooglePrivacyDlpV2KMapEstimationResult'+ {_gpdvkmerKMapEstimationHistogram = Nothing}+++-- | The intervals [min_anonymity, max_anonymity] do not overlap. If a value+-- doesn\'t correspond to any such interval, the associated frequency is+-- zero. For example, the following records: {min_anonymity: 1,+-- max_anonymity: 1, frequency: 17} {min_anonymity: 2, max_anonymity: 3,+-- frequency: 42} {min_anonymity: 5, max_anonymity: 10, frequency: 99} mean+-- that there are no record with an estimated anonymity of 4, 5, or larger+-- than 10.+gpdvkmerKMapEstimationHistogram :: Lens' GooglePrivacyDlpV2KMapEstimationResult [GooglePrivacyDlpV2KMapEstimationHistogramBucket]+gpdvkmerKMapEstimationHistogram+ = lens _gpdvkmerKMapEstimationHistogram+ (\ s a -> s{_gpdvkmerKMapEstimationHistogram = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2KMapEstimationResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KMapEstimationResult"+ (\ o ->+ GooglePrivacyDlpV2KMapEstimationResult' <$>+ (o .:? "kMapEstimationHistogram" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2KMapEstimationResult+ where+ toJSON GooglePrivacyDlpV2KMapEstimationResult'{..}+ = object+ (catMaybes+ [("kMapEstimationHistogram" .=) <$>+ _gpdvkmerKMapEstimationHistogram])++-- | Summary of a single transformation. Only one of \'transformation\',+-- \'field_transformation\', or \'record_suppress\' will be set.+--+-- /See:/ 'googlePrivacyDlpV2TransformationSummary' smart constructor.+data GooglePrivacyDlpV2TransformationSummary =+ GooglePrivacyDlpV2TransformationSummary'+ { _gpdvtsResults :: !(Maybe [GooglePrivacyDlpV2SummaryResult])+ , _gpdvtsField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvtsInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvtsRecordSuppress :: !(Maybe GooglePrivacyDlpV2RecordSuppression)+ , _gpdvtsTransformedBytes :: !(Maybe (Textual Int64))+ , _gpdvtsFieldTransformations :: !(Maybe [GooglePrivacyDlpV2FieldTransformation])+ , _gpdvtsTransformation :: !(Maybe GooglePrivacyDlpV2PrimitiveTransformation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TransformationSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtsResults'+--+-- * 'gpdvtsField'+--+-- * 'gpdvtsInfoType'+--+-- * 'gpdvtsRecordSuppress'+--+-- * 'gpdvtsTransformedBytes'+--+-- * 'gpdvtsFieldTransformations'+--+-- * 'gpdvtsTransformation'+googlePrivacyDlpV2TransformationSummary+ :: GooglePrivacyDlpV2TransformationSummary+googlePrivacyDlpV2TransformationSummary =+ GooglePrivacyDlpV2TransformationSummary'+ { _gpdvtsResults = Nothing+ , _gpdvtsField = Nothing+ , _gpdvtsInfoType = Nothing+ , _gpdvtsRecordSuppress = Nothing+ , _gpdvtsTransformedBytes = Nothing+ , _gpdvtsFieldTransformations = Nothing+ , _gpdvtsTransformation = Nothing+ }+++gpdvtsResults :: Lens' GooglePrivacyDlpV2TransformationSummary [GooglePrivacyDlpV2SummaryResult]+gpdvtsResults+ = lens _gpdvtsResults+ (\ s a -> s{_gpdvtsResults = a})+ . _Default+ . _Coerce++-- | Set if the transformation was limited to a specific FieldId.+gpdvtsField :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2FieldId)+gpdvtsField+ = lens _gpdvtsField (\ s a -> s{_gpdvtsField = a})++-- | Set if the transformation was limited to a specific InfoType.+gpdvtsInfoType :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2InfoType)+gpdvtsInfoType+ = lens _gpdvtsInfoType+ (\ s a -> s{_gpdvtsInfoType = a})++-- | The specific suppression option these stats apply to.+gpdvtsRecordSuppress :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2RecordSuppression)+gpdvtsRecordSuppress+ = lens _gpdvtsRecordSuppress+ (\ s a -> s{_gpdvtsRecordSuppress = a})++-- | Total size in bytes that were transformed in some way.+gpdvtsTransformedBytes :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe Int64)+gpdvtsTransformedBytes+ = lens _gpdvtsTransformedBytes+ (\ s a -> s{_gpdvtsTransformedBytes = a})+ . mapping _Coerce++-- | The field transformation that was applied. If multiple field+-- transformations are requested for a single field, this list will contain+-- all of them; otherwise, only one is supplied.+gpdvtsFieldTransformations :: Lens' GooglePrivacyDlpV2TransformationSummary [GooglePrivacyDlpV2FieldTransformation]+gpdvtsFieldTransformations+ = lens _gpdvtsFieldTransformations+ (\ s a -> s{_gpdvtsFieldTransformations = a})+ . _Default+ . _Coerce++-- | The specific transformation these stats apply to.+gpdvtsTransformation :: Lens' GooglePrivacyDlpV2TransformationSummary (Maybe GooglePrivacyDlpV2PrimitiveTransformation)+gpdvtsTransformation+ = lens _gpdvtsTransformation+ (\ s a -> s{_gpdvtsTransformation = a})++instance FromJSON+ GooglePrivacyDlpV2TransformationSummary+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2TransformationSummary"+ (\ o ->+ GooglePrivacyDlpV2TransformationSummary' <$>+ (o .:? "results" .!= mempty) <*> (o .:? "field") <*>+ (o .:? "infoType")+ <*> (o .:? "recordSuppress")+ <*> (o .:? "transformedBytes")+ <*> (o .:? "fieldTransformations" .!= mempty)+ <*> (o .:? "transformation"))++instance ToJSON+ GooglePrivacyDlpV2TransformationSummary+ where+ toJSON GooglePrivacyDlpV2TransformationSummary'{..}+ = object+ (catMaybes+ [("results" .=) <$> _gpdvtsResults,+ ("field" .=) <$> _gpdvtsField,+ ("infoType" .=) <$> _gpdvtsInfoType,+ ("recordSuppress" .=) <$> _gpdvtsRecordSuppress,+ ("transformedBytes" .=) <$> _gpdvtsTransformedBytes,+ ("fieldTransformations" .=) <$>+ _gpdvtsFieldTransformations,+ ("transformation" .=) <$> _gpdvtsTransformation])++-- | Message for specifying an adjustment to the likelihood of a finding as+-- part of a detection rule.+--+-- /See:/ 'googlePrivacyDlpV2LikelihoodAdjustment' smart constructor.+data GooglePrivacyDlpV2LikelihoodAdjustment =+ GooglePrivacyDlpV2LikelihoodAdjustment'+ { _gpdvlaFixedLikelihood :: !(Maybe GooglePrivacyDlpV2LikelihoodAdjustmentFixedLikelihood)+ , _gpdvlaRelativeLikelihood :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LikelihoodAdjustment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlaFixedLikelihood'+--+-- * 'gpdvlaRelativeLikelihood'+googlePrivacyDlpV2LikelihoodAdjustment+ :: GooglePrivacyDlpV2LikelihoodAdjustment+googlePrivacyDlpV2LikelihoodAdjustment =+ GooglePrivacyDlpV2LikelihoodAdjustment'+ {_gpdvlaFixedLikelihood = Nothing, _gpdvlaRelativeLikelihood = Nothing}+++-- | Set the likelihood of a finding to a fixed value.+gpdvlaFixedLikelihood :: Lens' GooglePrivacyDlpV2LikelihoodAdjustment (Maybe GooglePrivacyDlpV2LikelihoodAdjustmentFixedLikelihood)+gpdvlaFixedLikelihood+ = lens _gpdvlaFixedLikelihood+ (\ s a -> s{_gpdvlaFixedLikelihood = a})++-- | Increase or decrease the likelihood by the specified number of levels.+-- For example, if a finding would be \`POSSIBLE\` without the detection+-- rule and \`relative_likelihood\` is 1, then it is upgraded to+-- \`LIKELY\`, while a value of -1 would downgrade it to \`UNLIKELY\`.+-- Likelihood may never drop below \`VERY_UNLIKELY\` or exceed+-- \`VERY_LIKELY\`, so applying an adjustment of 1 followed by an+-- adjustment of -1 when base likelihood is \`VERY_LIKELY\` will result in+-- a final likelihood of \`LIKELY\`.+gpdvlaRelativeLikelihood :: Lens' GooglePrivacyDlpV2LikelihoodAdjustment (Maybe Int32)+gpdvlaRelativeLikelihood+ = lens _gpdvlaRelativeLikelihood+ (\ s a -> s{_gpdvlaRelativeLikelihood = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2LikelihoodAdjustment+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2LikelihoodAdjustment"+ (\ o ->+ GooglePrivacyDlpV2LikelihoodAdjustment' <$>+ (o .:? "fixedLikelihood") <*>+ (o .:? "relativeLikelihood"))++instance ToJSON+ GooglePrivacyDlpV2LikelihoodAdjustment+ where+ toJSON GooglePrivacyDlpV2LikelihoodAdjustment'{..}+ = object+ (catMaybes+ [("fixedLikelihood" .=) <$> _gpdvlaFixedLikelihood,+ ("relativeLikelihood" .=) <$>+ _gpdvlaRelativeLikelihood])++-- | Message defining a custom regular expression.+--+-- /See:/ 'googlePrivacyDlpV2Regex' smart constructor.+data GooglePrivacyDlpV2Regex =+ GooglePrivacyDlpV2Regex'+ { _gpdvrGroupIndexes :: !(Maybe [Textual Int32])+ , _gpdvrPattern :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Regex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrGroupIndexes'+--+-- * 'gpdvrPattern'+googlePrivacyDlpV2Regex+ :: GooglePrivacyDlpV2Regex+googlePrivacyDlpV2Regex =+ GooglePrivacyDlpV2Regex'+ {_gpdvrGroupIndexes = Nothing, _gpdvrPattern = Nothing}+++-- | The index of the submatch to extract as findings. When not specified,+-- the entire match is returned. No more than 3 may be included.+gpdvrGroupIndexes :: Lens' GooglePrivacyDlpV2Regex [Int32]+gpdvrGroupIndexes+ = lens _gpdvrGroupIndexes+ (\ s a -> s{_gpdvrGroupIndexes = a})+ . _Default+ . _Coerce++-- | Pattern defining the regular expression. Its syntax+-- (https:\/\/github.com\/google\/re2\/wiki\/Syntax) can be found under the+-- google\/re2 repository on GitHub.+gpdvrPattern :: Lens' GooglePrivacyDlpV2Regex (Maybe Text)+gpdvrPattern+ = lens _gpdvrPattern (\ s a -> s{_gpdvrPattern = a})++instance FromJSON GooglePrivacyDlpV2Regex where+ parseJSON+ = withObject "GooglePrivacyDlpV2Regex"+ (\ o ->+ GooglePrivacyDlpV2Regex' <$>+ (o .:? "groupIndexes" .!= mempty) <*>+ (o .:? "pattern"))++instance ToJSON GooglePrivacyDlpV2Regex where+ toJSON GooglePrivacyDlpV2Regex'{..}+ = object+ (catMaybes+ [("groupIndexes" .=) <$> _gpdvrGroupIndexes,+ ("pattern" .=) <$> _gpdvrPattern])++-- | Request message for UpdateStoredInfoType.+--+-- /See:/ 'googlePrivacyDlpV2UpdateStoredInfoTypeRequest' smart constructor.+data GooglePrivacyDlpV2UpdateStoredInfoTypeRequest =+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'+ { _gpdvusitrConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+ , _gpdvusitrUpdateMask :: !(Maybe GFieldMask)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2UpdateStoredInfoTypeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvusitrConfig'+--+-- * 'gpdvusitrUpdateMask'+googlePrivacyDlpV2UpdateStoredInfoTypeRequest+ :: GooglePrivacyDlpV2UpdateStoredInfoTypeRequest+googlePrivacyDlpV2UpdateStoredInfoTypeRequest =+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'+ {_gpdvusitrConfig = Nothing, _gpdvusitrUpdateMask = Nothing}+++-- | Updated configuration for the storedInfoType. If not provided, a new+-- version of the storedInfoType will be created with the existing+-- configuration.+gpdvusitrConfig :: Lens' GooglePrivacyDlpV2UpdateStoredInfoTypeRequest (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+gpdvusitrConfig+ = lens _gpdvusitrConfig+ (\ s a -> s{_gpdvusitrConfig = a})++-- | Mask to control which fields get updated.+gpdvusitrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateStoredInfoTypeRequest (Maybe GFieldMask)+gpdvusitrUpdateMask+ = lens _gpdvusitrUpdateMask+ (\ s a -> s{_gpdvusitrUpdateMask = a})++instance FromJSON+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2UpdateStoredInfoTypeRequest"+ (\ o ->+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest' <$>+ (o .:? "config") <*> (o .:? "updateMask"))++instance ToJSON+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest+ where+ toJSON+ GooglePrivacyDlpV2UpdateStoredInfoTypeRequest'{..}+ = object+ (catMaybes+ [("config" .=) <$> _gpdvusitrConfig,+ ("updateMask" .=) <$> _gpdvusitrUpdateMask])++-- | The set of columns\' values that share the same ldiversity value+--+-- /See:/ 'googlePrivacyDlpV2KAnonymityEquivalenceClass' smart constructor.+data GooglePrivacyDlpV2KAnonymityEquivalenceClass =+ GooglePrivacyDlpV2KAnonymityEquivalenceClass'+ { _gpdvkaecEquivalenceClassSize :: !(Maybe (Textual Int64))+ , _gpdvkaecQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KAnonymityEquivalenceClass' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkaecEquivalenceClassSize'+--+-- * 'gpdvkaecQuasiIdsValues'+googlePrivacyDlpV2KAnonymityEquivalenceClass+ :: GooglePrivacyDlpV2KAnonymityEquivalenceClass+googlePrivacyDlpV2KAnonymityEquivalenceClass =+ GooglePrivacyDlpV2KAnonymityEquivalenceClass'+ {_gpdvkaecEquivalenceClassSize = Nothing, _gpdvkaecQuasiIdsValues = Nothing}+++-- | Size of the equivalence class, for example number of rows with the above+-- set of values.+gpdvkaecEquivalenceClassSize :: Lens' GooglePrivacyDlpV2KAnonymityEquivalenceClass (Maybe Int64)+gpdvkaecEquivalenceClassSize+ = lens _gpdvkaecEquivalenceClassSize+ (\ s a -> s{_gpdvkaecEquivalenceClassSize = a})+ . mapping _Coerce++-- | Set of values defining the equivalence class. One value per+-- quasi-identifier column in the original KAnonymity metric message. The+-- order is always the same as the original request.+gpdvkaecQuasiIdsValues :: Lens' GooglePrivacyDlpV2KAnonymityEquivalenceClass [GooglePrivacyDlpV2Value]+gpdvkaecQuasiIdsValues+ = lens _gpdvkaecQuasiIdsValues+ (\ s a -> s{_gpdvkaecQuasiIdsValues = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2KAnonymityEquivalenceClass+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2KAnonymityEquivalenceClass"+ (\ o ->+ GooglePrivacyDlpV2KAnonymityEquivalenceClass' <$>+ (o .:? "equivalenceClassSize") <*>+ (o .:? "quasiIdsValues" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2KAnonymityEquivalenceClass+ where+ toJSON+ GooglePrivacyDlpV2KAnonymityEquivalenceClass'{..}+ = object+ (catMaybes+ [("equivalenceClassSize" .=) <$>+ _gpdvkaecEquivalenceClassSize,+ ("quasiIdsValues" .=) <$> _gpdvkaecQuasiIdsValues])++-- | Request message for UpdateDeidentifyTemplate.+--+-- /See:/ 'googlePrivacyDlpV2UpdateDeidentifyTemplateRequest' smart constructor.+data GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest =+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'+ { _gpdvudtrUpdateMask :: !(Maybe GFieldMask)+ , _gpdvudtrDeidentifyTemplate :: !(Maybe GooglePrivacyDlpV2DeidentifyTemplate)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvudtrUpdateMask'+--+-- * 'gpdvudtrDeidentifyTemplate'+googlePrivacyDlpV2UpdateDeidentifyTemplateRequest+ :: GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest+googlePrivacyDlpV2UpdateDeidentifyTemplateRequest =+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'+ {_gpdvudtrUpdateMask = Nothing, _gpdvudtrDeidentifyTemplate = Nothing}+++-- | Mask to control which fields get updated.+gpdvudtrUpdateMask :: Lens' GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest (Maybe GFieldMask)+gpdvudtrUpdateMask+ = lens _gpdvudtrUpdateMask+ (\ s a -> s{_gpdvudtrUpdateMask = a})++-- | New DeidentifyTemplate value.+gpdvudtrDeidentifyTemplate :: Lens' GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest (Maybe GooglePrivacyDlpV2DeidentifyTemplate)+gpdvudtrDeidentifyTemplate+ = lens _gpdvudtrDeidentifyTemplate+ (\ s a -> s{_gpdvudtrDeidentifyTemplate = a})++instance FromJSON+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest"+ (\ o ->+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'+ <$>+ (o .:? "updateMask") <*>+ (o .:? "deidentifyTemplate"))++instance ToJSON+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest+ where+ toJSON+ GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest'{..}+ = object+ (catMaybes+ [("updateMask" .=) <$> _gpdvudtrUpdateMask,+ ("deidentifyTemplate" .=) <$>+ _gpdvudtrDeidentifyTemplate])++-- | l-diversity metric, used for analysis of reidentification risk.+--+-- /See:/ 'googlePrivacyDlpV2LDiversityConfig' smart constructor.+data GooglePrivacyDlpV2LDiversityConfig =+ GooglePrivacyDlpV2LDiversityConfig'+ { _gpdvldcSensitiveAttribute :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvldcQuasiIds :: !(Maybe [GooglePrivacyDlpV2FieldId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LDiversityConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldcSensitiveAttribute'+--+-- * 'gpdvldcQuasiIds'+googlePrivacyDlpV2LDiversityConfig+ :: GooglePrivacyDlpV2LDiversityConfig+googlePrivacyDlpV2LDiversityConfig =+ GooglePrivacyDlpV2LDiversityConfig'+ {_gpdvldcSensitiveAttribute = Nothing, _gpdvldcQuasiIds = Nothing}+++-- | Sensitive field for computing the l-value.+gpdvldcSensitiveAttribute :: Lens' GooglePrivacyDlpV2LDiversityConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvldcSensitiveAttribute+ = lens _gpdvldcSensitiveAttribute+ (\ s a -> s{_gpdvldcSensitiveAttribute = a})++-- | Set of quasi-identifiers indicating how equivalence classes are defined+-- for the l-diversity computation. When multiple fields are specified,+-- they are considered a single composite key.+gpdvldcQuasiIds :: Lens' GooglePrivacyDlpV2LDiversityConfig [GooglePrivacyDlpV2FieldId]+gpdvldcQuasiIds+ = lens _gpdvldcQuasiIds+ (\ s a -> s{_gpdvldcQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2LDiversityConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2LDiversityConfig"+ (\ o ->+ GooglePrivacyDlpV2LDiversityConfig' <$>+ (o .:? "sensitiveAttribute") <*>+ (o .:? "quasiIds" .!= mempty))++instance ToJSON GooglePrivacyDlpV2LDiversityConfig+ where+ toJSON GooglePrivacyDlpV2LDiversityConfig'{..}+ = object+ (catMaybes+ [("sensitiveAttribute" .=) <$>+ _gpdvldcSensitiveAttribute,+ ("quasiIds" .=) <$> _gpdvldcQuasiIds])++-- | Enable email notification to project owners and editors on jobs\'s+-- completion\/failure.+--+-- /See:/ 'googlePrivacyDlpV2JobNotificationEmails' smart constructor.+data GooglePrivacyDlpV2JobNotificationEmails =+ GooglePrivacyDlpV2JobNotificationEmails'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2JobNotificationEmails' with the minimum fields required to make a request.+--+googlePrivacyDlpV2JobNotificationEmails+ :: GooglePrivacyDlpV2JobNotificationEmails+googlePrivacyDlpV2JobNotificationEmails =+ GooglePrivacyDlpV2JobNotificationEmails'+++instance FromJSON+ GooglePrivacyDlpV2JobNotificationEmails+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2JobNotificationEmails"+ (\ o ->+ pure GooglePrivacyDlpV2JobNotificationEmails')++instance ToJSON+ GooglePrivacyDlpV2JobNotificationEmails+ where+ toJSON = const emptyObject++-- | Request to de-identify a list of items.+--+-- /See:/ 'googlePrivacyDlpV2DeidentifyContentRequest' smart constructor.+data GooglePrivacyDlpV2DeidentifyContentRequest =+ GooglePrivacyDlpV2DeidentifyContentRequest'+ { _gpdvdcrInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gpdvdcrDeidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)+ , _gpdvdcrDeidentifyTemplateName :: !(Maybe Text)+ , _gpdvdcrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)+ , _gpdvdcrInspectTemplateName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeidentifyContentRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdcrInspectConfig'+--+-- * 'gpdvdcrDeidentifyConfig'+--+-- * 'gpdvdcrDeidentifyTemplateName'+--+-- * 'gpdvdcrItem'+--+-- * 'gpdvdcrInspectTemplateName'+googlePrivacyDlpV2DeidentifyContentRequest+ :: GooglePrivacyDlpV2DeidentifyContentRequest+googlePrivacyDlpV2DeidentifyContentRequest =+ GooglePrivacyDlpV2DeidentifyContentRequest'+ { _gpdvdcrInspectConfig = Nothing+ , _gpdvdcrDeidentifyConfig = Nothing+ , _gpdvdcrDeidentifyTemplateName = Nothing+ , _gpdvdcrItem = Nothing+ , _gpdvdcrInspectTemplateName = Nothing+ }+++-- | Configuration for the inspector. Items specified here will override the+-- template referenced by the inspect_template_name argument.+gpdvdcrInspectConfig :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)+gpdvdcrInspectConfig+ = lens _gpdvdcrInspectConfig+ (\ s a -> s{_gpdvdcrInspectConfig = a})++-- | Configuration for the de-identification of the content item. Items+-- specified here will override the template referenced by the+-- deidentify_template_name argument.+gpdvdcrDeidentifyConfig :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2DeidentifyConfig)+gpdvdcrDeidentifyConfig+ = lens _gpdvdcrDeidentifyConfig+ (\ s a -> s{_gpdvdcrDeidentifyConfig = a})++-- | Optional template to use. Any configuration directly specified in+-- deidentify_config will override those set in the template. Singular+-- fields that are set in this request will replace their corresponding+-- fields in the template. Repeated fields are appended. Singular+-- sub-messages and groups are recursively merged.+gpdvdcrDeidentifyTemplateName :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe Text)+gpdvdcrDeidentifyTemplateName+ = lens _gpdvdcrDeidentifyTemplateName+ (\ s a -> s{_gpdvdcrDeidentifyTemplateName = a})++-- | The item to de-identify. Will be treated as text.+gpdvdcrItem :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe GooglePrivacyDlpV2ContentItem)+gpdvdcrItem+ = lens _gpdvdcrItem (\ s a -> s{_gpdvdcrItem = a})++-- | Optional template to use. Any configuration directly specified in+-- inspect_config will override those set in the template. Singular fields+-- that are set in this request will replace their corresponding fields in+-- the template. Repeated fields are appended. Singular sub-messages and+-- groups are recursively merged.+gpdvdcrInspectTemplateName :: Lens' GooglePrivacyDlpV2DeidentifyContentRequest (Maybe Text)+gpdvdcrInspectTemplateName+ = lens _gpdvdcrInspectTemplateName+ (\ s a -> s{_gpdvdcrInspectTemplateName = a})++instance FromJSON+ GooglePrivacyDlpV2DeidentifyContentRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeidentifyContentRequest"+ (\ o ->+ GooglePrivacyDlpV2DeidentifyContentRequest' <$>+ (o .:? "inspectConfig") <*>+ (o .:? "deidentifyConfig")+ <*> (o .:? "deidentifyTemplateName")+ <*> (o .:? "item")+ <*> (o .:? "inspectTemplateName"))++instance ToJSON+ GooglePrivacyDlpV2DeidentifyContentRequest+ where+ toJSON+ GooglePrivacyDlpV2DeidentifyContentRequest'{..}+ = object+ (catMaybes+ [("inspectConfig" .=) <$> _gpdvdcrInspectConfig,+ ("deidentifyConfig" .=) <$> _gpdvdcrDeidentifyConfig,+ ("deidentifyTemplateName" .=) <$>+ _gpdvdcrDeidentifyTemplateName,+ ("item" .=) <$> _gpdvdcrItem,+ ("inspectTemplateName" .=) <$>+ _gpdvdcrInspectTemplateName])++-- | Represents a color in the RGB color space.+--+-- /See:/ 'googlePrivacyDlpV2Color' smart constructor.+data GooglePrivacyDlpV2Color =+ GooglePrivacyDlpV2Color'+ { _gpdvcRed :: !(Maybe (Textual Double))+ , _gpdvcGreen :: !(Maybe (Textual Double))+ , _gpdvcBlue :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Color' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcRed'+--+-- * 'gpdvcGreen'+--+-- * 'gpdvcBlue'+googlePrivacyDlpV2Color+ :: GooglePrivacyDlpV2Color+googlePrivacyDlpV2Color =+ GooglePrivacyDlpV2Color'+ {_gpdvcRed = Nothing, _gpdvcGreen = Nothing, _gpdvcBlue = Nothing}+++-- | The amount of red in the color as a value in the interval [0, 1].+gpdvcRed :: Lens' GooglePrivacyDlpV2Color (Maybe Double)+gpdvcRed+ = lens _gpdvcRed (\ s a -> s{_gpdvcRed = a}) .+ mapping _Coerce++-- | The amount of green in the color as a value in the interval [0, 1].+gpdvcGreen :: Lens' GooglePrivacyDlpV2Color (Maybe Double)+gpdvcGreen+ = lens _gpdvcGreen (\ s a -> s{_gpdvcGreen = a}) .+ mapping _Coerce++-- | The amount of blue in the color as a value in the interval [0, 1].+gpdvcBlue :: Lens' GooglePrivacyDlpV2Color (Maybe Double)+gpdvcBlue+ = lens _gpdvcBlue (\ s a -> s{_gpdvcBlue = a}) .+ mapping _Coerce++instance FromJSON GooglePrivacyDlpV2Color where+ parseJSON+ = withObject "GooglePrivacyDlpV2Color"+ (\ o ->+ GooglePrivacyDlpV2Color' <$>+ (o .:? "red") <*> (o .:? "green") <*> (o .:? "blue"))++instance ToJSON GooglePrivacyDlpV2Color where+ toJSON GooglePrivacyDlpV2Color'{..}+ = object+ (catMaybes+ [("red" .=) <$> _gpdvcRed,+ ("green" .=) <$> _gpdvcGreen,+ ("blue" .=) <$> _gpdvcBlue])++-- | The response message for listing DLP jobs.+--+-- /See:/ 'googlePrivacyDlpV2ListDlpJobsResponse' smart constructor.+data GooglePrivacyDlpV2ListDlpJobsResponse =+ GooglePrivacyDlpV2ListDlpJobsResponse'+ { _gpdvldjrNextPageToken :: !(Maybe Text)+ , _gpdvldjrJobs :: !(Maybe [GooglePrivacyDlpV2DlpJob])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListDlpJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldjrNextPageToken'+--+-- * 'gpdvldjrJobs'+googlePrivacyDlpV2ListDlpJobsResponse+ :: GooglePrivacyDlpV2ListDlpJobsResponse+googlePrivacyDlpV2ListDlpJobsResponse =+ GooglePrivacyDlpV2ListDlpJobsResponse'+ {_gpdvldjrNextPageToken = Nothing, _gpdvldjrJobs = Nothing}+++-- | The standard List next-page token.+gpdvldjrNextPageToken :: Lens' GooglePrivacyDlpV2ListDlpJobsResponse (Maybe Text)+gpdvldjrNextPageToken+ = lens _gpdvldjrNextPageToken+ (\ s a -> s{_gpdvldjrNextPageToken = a})++-- | A list of DlpJobs that matches the specified filter in the request.+gpdvldjrJobs :: Lens' GooglePrivacyDlpV2ListDlpJobsResponse [GooglePrivacyDlpV2DlpJob]+gpdvldjrJobs+ = lens _gpdvldjrJobs (\ s a -> s{_gpdvldjrJobs = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListDlpJobsResponse+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ListDlpJobsResponse"+ (\ o ->+ GooglePrivacyDlpV2ListDlpJobsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "jobs" .!= mempty))++instance ToJSON GooglePrivacyDlpV2ListDlpJobsResponse+ where+ toJSON GooglePrivacyDlpV2ListDlpJobsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _gpdvldjrNextPageToken,+ ("jobs" .=) <$> _gpdvldjrJobs])++-- | Message for specifying a window around a finding to apply a detection+-- rule.+--+-- /See:/ 'googlePrivacyDlpV2Proximity' smart constructor.+data GooglePrivacyDlpV2Proximity =+ GooglePrivacyDlpV2Proximity'+ { _gpdvpWindowAfter :: !(Maybe (Textual Int32))+ , _gpdvpWindowBefore :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Proximity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvpWindowAfter'+--+-- * 'gpdvpWindowBefore'+googlePrivacyDlpV2Proximity+ :: GooglePrivacyDlpV2Proximity+googlePrivacyDlpV2Proximity =+ GooglePrivacyDlpV2Proximity'+ {_gpdvpWindowAfter = Nothing, _gpdvpWindowBefore = Nothing}+++-- | Number of characters after the finding to consider.+gpdvpWindowAfter :: Lens' GooglePrivacyDlpV2Proximity (Maybe Int32)+gpdvpWindowAfter+ = lens _gpdvpWindowAfter+ (\ s a -> s{_gpdvpWindowAfter = a})+ . mapping _Coerce++-- | Number of characters before the finding to consider.+gpdvpWindowBefore :: Lens' GooglePrivacyDlpV2Proximity (Maybe Int32)+gpdvpWindowBefore+ = lens _gpdvpWindowBefore+ (\ s a -> s{_gpdvpWindowBefore = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2Proximity where+ parseJSON+ = withObject "GooglePrivacyDlpV2Proximity"+ (\ o ->+ GooglePrivacyDlpV2Proximity' <$>+ (o .:? "windowAfter") <*> (o .:? "windowBefore"))++instance ToJSON GooglePrivacyDlpV2Proximity where+ toJSON GooglePrivacyDlpV2Proximity'{..}+ = object+ (catMaybes+ [("windowAfter" .=) <$> _gpdvpWindowAfter,+ ("windowBefore" .=) <$> _gpdvpWindowBefore])++-- | Represents a piece of potentially sensitive content.+--+-- /See:/ 'googlePrivacyDlpV2Finding' smart constructor.+data GooglePrivacyDlpV2Finding =+ GooglePrivacyDlpV2Finding'+ { _gpdvfLocation :: !(Maybe GooglePrivacyDlpV2Location)+ , _gpdvfInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvfQuoteInfo :: !(Maybe GooglePrivacyDlpV2QuoteInfo)+ , _gpdvfLikelihood :: !(Maybe GooglePrivacyDlpV2FindingLikelihood)+ , _gpdvfQuote :: !(Maybe Text)+ , _gpdvfCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Finding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvfLocation'+--+-- * 'gpdvfInfoType'+--+-- * 'gpdvfQuoteInfo'+--+-- * 'gpdvfLikelihood'+--+-- * 'gpdvfQuote'+--+-- * 'gpdvfCreateTime'+googlePrivacyDlpV2Finding+ :: GooglePrivacyDlpV2Finding+googlePrivacyDlpV2Finding =+ GooglePrivacyDlpV2Finding'+ { _gpdvfLocation = Nothing+ , _gpdvfInfoType = Nothing+ , _gpdvfQuoteInfo = Nothing+ , _gpdvfLikelihood = Nothing+ , _gpdvfQuote = Nothing+ , _gpdvfCreateTime = Nothing+ }+++-- | Where the content was found.+gpdvfLocation :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2Location)+gpdvfLocation+ = lens _gpdvfLocation+ (\ s a -> s{_gpdvfLocation = a})++-- | The type of content that might have been found. Provided if+-- \`excluded_types\` is false.+gpdvfInfoType :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2InfoType)+gpdvfInfoType+ = lens _gpdvfInfoType+ (\ s a -> s{_gpdvfInfoType = a})++-- | Contains data parsed from quotes. Only populated if include_quote was+-- set to true and a supported infoType was requested. Currently supported+-- infoTypes: DATE, DATE_OF_BIRTH and TIME.+gpdvfQuoteInfo :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2QuoteInfo)+gpdvfQuoteInfo+ = lens _gpdvfQuoteInfo+ (\ s a -> s{_gpdvfQuoteInfo = a})++-- | Confidence of how likely it is that the \`info_type\` is correct.+gpdvfLikelihood :: Lens' GooglePrivacyDlpV2Finding (Maybe GooglePrivacyDlpV2FindingLikelihood)+gpdvfLikelihood+ = lens _gpdvfLikelihood+ (\ s a -> s{_gpdvfLikelihood = a})++-- | The content that was found. Even if the content is not textual, it may+-- be converted to a textual representation here. Provided if+-- \`include_quote\` is true and the finding is less than or equal to 4096+-- bytes long. If the finding exceeds 4096 bytes in length, the quote may+-- be omitted.+gpdvfQuote :: Lens' GooglePrivacyDlpV2Finding (Maybe Text)+gpdvfQuote+ = lens _gpdvfQuote (\ s a -> s{_gpdvfQuote = a})++-- | Timestamp when finding was detected.+gpdvfCreateTime :: Lens' GooglePrivacyDlpV2Finding (Maybe UTCTime)+gpdvfCreateTime+ = lens _gpdvfCreateTime+ (\ s a -> s{_gpdvfCreateTime = a})+ . mapping _DateTime++instance FromJSON GooglePrivacyDlpV2Finding where+ parseJSON+ = withObject "GooglePrivacyDlpV2Finding"+ (\ o ->+ GooglePrivacyDlpV2Finding' <$>+ (o .:? "location") <*> (o .:? "infoType") <*>+ (o .:? "quoteInfo")+ <*> (o .:? "likelihood")+ <*> (o .:? "quote")+ <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2Finding where+ toJSON GooglePrivacyDlpV2Finding'{..}+ = object+ (catMaybes+ [("location" .=) <$> _gpdvfLocation,+ ("infoType" .=) <$> _gpdvfInfoType,+ ("quoteInfo" .=) <$> _gpdvfQuoteInfo,+ ("likelihood" .=) <$> _gpdvfLikelihood,+ ("quote" .=) <$> _gpdvfQuote,+ ("createTime" .=) <$> _gpdvfCreateTime])++-- | A collection that informs the user the number of times a particular+-- \`TransformationResultCode\` and error details occurred.+--+-- /See:/ 'googlePrivacyDlpV2SummaryResult' smart constructor.+data GooglePrivacyDlpV2SummaryResult =+ GooglePrivacyDlpV2SummaryResult'+ { _gpdvsrCount :: !(Maybe (Textual Int64))+ , _gpdvsrDetails :: !(Maybe Text)+ , _gpdvsrCode :: !(Maybe GooglePrivacyDlpV2SummaryResultCode)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2SummaryResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsrCount'+--+-- * 'gpdvsrDetails'+--+-- * 'gpdvsrCode'+googlePrivacyDlpV2SummaryResult+ :: GooglePrivacyDlpV2SummaryResult+googlePrivacyDlpV2SummaryResult =+ GooglePrivacyDlpV2SummaryResult'+ {_gpdvsrCount = Nothing, _gpdvsrDetails = Nothing, _gpdvsrCode = Nothing}+++gpdvsrCount :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe Int64)+gpdvsrCount+ = lens _gpdvsrCount (\ s a -> s{_gpdvsrCount = a}) .+ mapping _Coerce++-- | A place for warnings or errors to show up if a transformation didn\'t+-- work as expected.+gpdvsrDetails :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe Text)+gpdvsrDetails+ = lens _gpdvsrDetails+ (\ s a -> s{_gpdvsrDetails = a})++gpdvsrCode :: Lens' GooglePrivacyDlpV2SummaryResult (Maybe GooglePrivacyDlpV2SummaryResultCode)+gpdvsrCode+ = lens _gpdvsrCode (\ s a -> s{_gpdvsrCode = a})++instance FromJSON GooglePrivacyDlpV2SummaryResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2SummaryResult"+ (\ o ->+ GooglePrivacyDlpV2SummaryResult' <$>+ (o .:? "count") <*> (o .:? "details") <*>+ (o .:? "code"))++instance ToJSON GooglePrivacyDlpV2SummaryResult where+ toJSON GooglePrivacyDlpV2SummaryResult'{..}+ = object+ (catMaybes+ [("count" .=) <$> _gpdvsrCount,+ ("details" .=) <$> _gpdvsrDetails,+ ("code" .=) <$> _gpdvsrCode])++--+-- /See:/ 'googlePrivacyDlpV2Row' smart constructor.+newtype GooglePrivacyDlpV2Row =+ GooglePrivacyDlpV2Row'+ { _gpdvrValues :: Maybe [GooglePrivacyDlpV2Value]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Row' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrValues'+googlePrivacyDlpV2Row+ :: GooglePrivacyDlpV2Row+googlePrivacyDlpV2Row = GooglePrivacyDlpV2Row' {_gpdvrValues = Nothing}+++gpdvrValues :: Lens' GooglePrivacyDlpV2Row [GooglePrivacyDlpV2Value]+gpdvrValues+ = lens _gpdvrValues (\ s a -> s{_gpdvrValues = a}) .+ _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2Row where+ parseJSON+ = withObject "GooglePrivacyDlpV2Row"+ (\ o ->+ GooglePrivacyDlpV2Row' <$>+ (o .:? "values" .!= mempty))++instance ToJSON GooglePrivacyDlpV2Row where+ toJSON GooglePrivacyDlpV2Row'{..}+ = object (catMaybes [("values" .=) <$> _gpdvrValues])++-- | Replace each matching finding with the name of the info_type.+--+-- /See:/ 'googlePrivacyDlpV2ReplaceWithInfoTypeConfig' smart constructor.+data GooglePrivacyDlpV2ReplaceWithInfoTypeConfig =+ GooglePrivacyDlpV2ReplaceWithInfoTypeConfig'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ReplaceWithInfoTypeConfig' with the minimum fields required to make a request.+--+googlePrivacyDlpV2ReplaceWithInfoTypeConfig+ :: GooglePrivacyDlpV2ReplaceWithInfoTypeConfig+googlePrivacyDlpV2ReplaceWithInfoTypeConfig =+ GooglePrivacyDlpV2ReplaceWithInfoTypeConfig'+++instance FromJSON+ GooglePrivacyDlpV2ReplaceWithInfoTypeConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ReplaceWithInfoTypeConfig"+ (\ o ->+ pure GooglePrivacyDlpV2ReplaceWithInfoTypeConfig')++instance ToJSON+ GooglePrivacyDlpV2ReplaceWithInfoTypeConfig+ where+ toJSON = const emptyObject++-- | Represents a time of day. The date and time zone are either not+-- significant or are specified elsewhere. An API may choose to allow leap+-- seconds. Related types are google.type.Date and+-- \`google.protobuf.Timestamp\`.+--+-- /See:/ 'googleTypeTimeOfDay' smart constructor.+data GoogleTypeTimeOfDay =+ GoogleTypeTimeOfDay'+ { _gttodNanos :: !(Maybe (Textual Int32))+ , _gttodHours :: !(Maybe (Textual Int32))+ , _gttodMinutes :: !(Maybe (Textual Int32))+ , _gttodSeconds :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GoogleTypeTimeOfDay' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gttodNanos'+--+-- * 'gttodHours'+--+-- * 'gttodMinutes'+--+-- * 'gttodSeconds'+googleTypeTimeOfDay+ :: GoogleTypeTimeOfDay+googleTypeTimeOfDay =+ GoogleTypeTimeOfDay'+ { _gttodNanos = Nothing+ , _gttodHours = Nothing+ , _gttodMinutes = Nothing+ , _gttodSeconds = Nothing+ }+++-- | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.+gttodNanos :: Lens' GoogleTypeTimeOfDay (Maybe Int32)+gttodNanos+ = lens _gttodNanos (\ s a -> s{_gttodNanos = a}) .+ mapping _Coerce++-- | Hours of day in 24 hour format. Should be from 0 to 23. An API may+-- choose to allow the value \"24:00:00\" for scenarios like business+-- closing time.+gttodHours :: Lens' GoogleTypeTimeOfDay (Maybe Int32)+gttodHours+ = lens _gttodHours (\ s a -> s{_gttodHours = a}) .+ mapping _Coerce++-- | Minutes of hour of day. Must be from 0 to 59.+gttodMinutes :: Lens' GoogleTypeTimeOfDay (Maybe Int32)+gttodMinutes+ = lens _gttodMinutes (\ s a -> s{_gttodMinutes = a})+ . mapping _Coerce++-- | Seconds of minutes of the time. Must normally be from 0 to 59. An API+-- may allow the value 60 if it allows leap-seconds.+gttodSeconds :: Lens' GoogleTypeTimeOfDay (Maybe Int32)+gttodSeconds+ = lens _gttodSeconds (\ s a -> s{_gttodSeconds = a})+ . mapping _Coerce++instance FromJSON GoogleTypeTimeOfDay where+ parseJSON+ = withObject "GoogleTypeTimeOfDay"+ (\ o ->+ GoogleTypeTimeOfDay' <$>+ (o .:? "nanos") <*> (o .:? "hours") <*>+ (o .:? "minutes")+ <*> (o .:? "seconds"))++instance ToJSON GoogleTypeTimeOfDay where+ toJSON GoogleTypeTimeOfDay'{..}+ = object+ (catMaybes+ [("nanos" .=) <$> _gttodNanos,+ ("hours" .=) <$> _gttodHours,+ ("minutes" .=) <$> _gttodMinutes,+ ("seconds" .=) <$> _gttodSeconds])++-- | The rule that specifies conditions when findings of infoTypes specified+-- in \`InspectionRuleSet\` are removed from results.+--+-- /See:/ 'googlePrivacyDlpV2ExclusionRule' smart constructor.+data GooglePrivacyDlpV2ExclusionRule =+ GooglePrivacyDlpV2ExclusionRule'+ { _gpdverRegex :: !(Maybe GooglePrivacyDlpV2Regex)+ , _gpdverExcludeInfoTypes :: !(Maybe GooglePrivacyDlpV2ExcludeInfoTypes)+ , _gpdverDictionary :: !(Maybe GooglePrivacyDlpV2Dictionary)+ , _gpdverMatchingType :: !(Maybe GooglePrivacyDlpV2ExclusionRuleMatchingType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ExclusionRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdverRegex'+--+-- * 'gpdverExcludeInfoTypes'+--+-- * 'gpdverDictionary'+--+-- * 'gpdverMatchingType'+googlePrivacyDlpV2ExclusionRule+ :: GooglePrivacyDlpV2ExclusionRule+googlePrivacyDlpV2ExclusionRule =+ GooglePrivacyDlpV2ExclusionRule'+ { _gpdverRegex = Nothing+ , _gpdverExcludeInfoTypes = Nothing+ , _gpdverDictionary = Nothing+ , _gpdverMatchingType = Nothing+ }+++-- | Regular expression which defines the rule.+gpdverRegex :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2Regex)+gpdverRegex+ = lens _gpdverRegex (\ s a -> s{_gpdverRegex = a})++-- | Set of infoTypes for which findings would affect this rule.+gpdverExcludeInfoTypes :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2ExcludeInfoTypes)+gpdverExcludeInfoTypes+ = lens _gpdverExcludeInfoTypes+ (\ s a -> s{_gpdverExcludeInfoTypes = a})++-- | Dictionary which defines the rule.+gpdverDictionary :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2Dictionary)+gpdverDictionary+ = lens _gpdverDictionary+ (\ s a -> s{_gpdverDictionary = a})++-- | How the rule is applied, see MatchingType documentation for details.+gpdverMatchingType :: Lens' GooglePrivacyDlpV2ExclusionRule (Maybe GooglePrivacyDlpV2ExclusionRuleMatchingType)+gpdverMatchingType+ = lens _gpdverMatchingType+ (\ s a -> s{_gpdverMatchingType = a})++instance FromJSON GooglePrivacyDlpV2ExclusionRule+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ExclusionRule"+ (\ o ->+ GooglePrivacyDlpV2ExclusionRule' <$>+ (o .:? "regex") <*> (o .:? "excludeInfoTypes") <*>+ (o .:? "dictionary")+ <*> (o .:? "matchingType"))++instance ToJSON GooglePrivacyDlpV2ExclusionRule where+ toJSON GooglePrivacyDlpV2ExclusionRule'{..}+ = object+ (catMaybes+ [("regex" .=) <$> _gpdverRegex,+ ("excludeInfoTypes" .=) <$> _gpdverExcludeInfoTypes,+ ("dictionary" .=) <$> _gpdverDictionary,+ ("matchingType" .=) <$> _gpdverMatchingType])++-- | Request message for CreateDlpJobRequest. Used to initiate long running+-- jobs such as calculating risk metrics or inspecting Google Cloud+-- Storage.+--+-- /See:/ 'googlePrivacyDlpV2CreateDlpJobRequest' smart constructor.+data GooglePrivacyDlpV2CreateDlpJobRequest =+ GooglePrivacyDlpV2CreateDlpJobRequest'+ { _gpdvcdjrRiskJob :: !(Maybe GooglePrivacyDlpV2RiskAnalysisJobConfig)+ , _gpdvcdjrJobId :: !(Maybe Text)+ , _gpdvcdjrInspectJob :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CreateDlpJobRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcdjrRiskJob'+--+-- * 'gpdvcdjrJobId'+--+-- * 'gpdvcdjrInspectJob'+googlePrivacyDlpV2CreateDlpJobRequest+ :: GooglePrivacyDlpV2CreateDlpJobRequest+googlePrivacyDlpV2CreateDlpJobRequest =+ GooglePrivacyDlpV2CreateDlpJobRequest'+ { _gpdvcdjrRiskJob = Nothing+ , _gpdvcdjrJobId = Nothing+ , _gpdvcdjrInspectJob = Nothing+ }+++gpdvcdjrRiskJob :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe GooglePrivacyDlpV2RiskAnalysisJobConfig)+gpdvcdjrRiskJob+ = lens _gpdvcdjrRiskJob+ (\ s a -> s{_gpdvcdjrRiskJob = a})++-- | The job id can contain uppercase and lowercase letters, numbers, and+-- hyphens; that is, it must match the regular expression:+-- \`[a-zA-Z\\\\d-_]+\`. The maximum length is 100 characters. Can be empty+-- to allow the system to generate one.+gpdvcdjrJobId :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe Text)+gpdvcdjrJobId+ = lens _gpdvcdjrJobId+ (\ s a -> s{_gpdvcdjrJobId = a})++gpdvcdjrInspectJob :: Lens' GooglePrivacyDlpV2CreateDlpJobRequest (Maybe GooglePrivacyDlpV2InspectJobConfig)+gpdvcdjrInspectJob+ = lens _gpdvcdjrInspectJob+ (\ s a -> s{_gpdvcdjrInspectJob = a})++instance FromJSON+ GooglePrivacyDlpV2CreateDlpJobRequest+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CreateDlpJobRequest"+ (\ o ->+ GooglePrivacyDlpV2CreateDlpJobRequest' <$>+ (o .:? "riskJob") <*> (o .:? "jobId") <*>+ (o .:? "inspectJob"))++instance ToJSON GooglePrivacyDlpV2CreateDlpJobRequest+ where+ toJSON GooglePrivacyDlpV2CreateDlpJobRequest'{..}+ = object+ (catMaybes+ [("riskJob" .=) <$> _gpdvcdjrRiskJob,+ ("jobId" .=) <$> _gpdvcdjrJobId,+ ("inspectJob" .=) <$> _gpdvcdjrInspectJob])++-- | Message for a unique key indicating a record that contains a finding.+--+-- /See:/ 'googlePrivacyDlpV2RecordKey' smart constructor.+data GooglePrivacyDlpV2RecordKey =+ GooglePrivacyDlpV2RecordKey'+ { _gpdvrkIdValues :: !(Maybe [Text])+ , _gpdvrkDatastoreKey :: !(Maybe GooglePrivacyDlpV2DatastoreKey)+ , _gpdvrkBigQueryKey :: !(Maybe GooglePrivacyDlpV2BigQueryKey)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RecordKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrkIdValues'+--+-- * 'gpdvrkDatastoreKey'+--+-- * 'gpdvrkBigQueryKey'+googlePrivacyDlpV2RecordKey+ :: GooglePrivacyDlpV2RecordKey+googlePrivacyDlpV2RecordKey =+ GooglePrivacyDlpV2RecordKey'+ { _gpdvrkIdValues = Nothing+ , _gpdvrkDatastoreKey = Nothing+ , _gpdvrkBigQueryKey = Nothing+ }+++-- | Values of identifying columns in the given row. Order of values matches+-- the order of field identifiers specified in the scanning request.+gpdvrkIdValues :: Lens' GooglePrivacyDlpV2RecordKey [Text]+gpdvrkIdValues+ = lens _gpdvrkIdValues+ (\ s a -> s{_gpdvrkIdValues = a})+ . _Default+ . _Coerce++gpdvrkDatastoreKey :: Lens' GooglePrivacyDlpV2RecordKey (Maybe GooglePrivacyDlpV2DatastoreKey)+gpdvrkDatastoreKey+ = lens _gpdvrkDatastoreKey+ (\ s a -> s{_gpdvrkDatastoreKey = a})++gpdvrkBigQueryKey :: Lens' GooglePrivacyDlpV2RecordKey (Maybe GooglePrivacyDlpV2BigQueryKey)+gpdvrkBigQueryKey+ = lens _gpdvrkBigQueryKey+ (\ s a -> s{_gpdvrkBigQueryKey = a})++instance FromJSON GooglePrivacyDlpV2RecordKey where+ parseJSON+ = withObject "GooglePrivacyDlpV2RecordKey"+ (\ o ->+ GooglePrivacyDlpV2RecordKey' <$>+ (o .:? "idValues" .!= mempty) <*>+ (o .:? "datastoreKey")+ <*> (o .:? "bigQueryKey"))++instance ToJSON GooglePrivacyDlpV2RecordKey where+ toJSON GooglePrivacyDlpV2RecordKey'{..}+ = object+ (catMaybes+ [("idValues" .=) <$> _gpdvrkIdValues,+ ("datastoreKey" .=) <$> _gpdvrkDatastoreKey,+ ("bigQueryKey" .=) <$> _gpdvrkBigQueryKey])++-- | A KMapEstimationHistogramBucket message with the following values:+-- min_anonymity: 3 max_anonymity: 5 frequency: 42 means that there are 42+-- records whose quasi-identifier values correspond to 3, 4 or 5 people in+-- the overlying population. An important particular case is when+-- min_anonymity = max_anonymity = 1: the frequency field then corresponds+-- to the number of uniquely identifiable records.+--+-- /See:/ 'googlePrivacyDlpV2KMapEstimationHistogramBucket' smart constructor.+data GooglePrivacyDlpV2KMapEstimationHistogramBucket =+ GooglePrivacyDlpV2KMapEstimationHistogramBucket'+ { _gpdvkmehbMaxAnonymity :: !(Maybe (Textual Int64))+ , _gpdvkmehbBucketValues :: !(Maybe [GooglePrivacyDlpV2KMapEstimationQuasiIdValues])+ , _gpdvkmehbMinAnonymity :: !(Maybe (Textual Int64))+ , _gpdvkmehbBucketSize :: !(Maybe (Textual Int64))+ , _gpdvkmehbBucketValueCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationHistogramBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkmehbMaxAnonymity'+--+-- * 'gpdvkmehbBucketValues'+--+-- * 'gpdvkmehbMinAnonymity'+--+-- * 'gpdvkmehbBucketSize'+--+-- * 'gpdvkmehbBucketValueCount'+googlePrivacyDlpV2KMapEstimationHistogramBucket+ :: GooglePrivacyDlpV2KMapEstimationHistogramBucket+googlePrivacyDlpV2KMapEstimationHistogramBucket =+ GooglePrivacyDlpV2KMapEstimationHistogramBucket'+ { _gpdvkmehbMaxAnonymity = Nothing+ , _gpdvkmehbBucketValues = Nothing+ , _gpdvkmehbMinAnonymity = Nothing+ , _gpdvkmehbBucketSize = Nothing+ , _gpdvkmehbBucketValueCount = Nothing+ }+++-- | Always greater than or equal to min_anonymity.+gpdvkmehbMaxAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)+gpdvkmehbMaxAnonymity+ = lens _gpdvkmehbMaxAnonymity+ (\ s a -> s{_gpdvkmehbMaxAnonymity = a})+ . mapping _Coerce++-- | Sample of quasi-identifier tuple values in this bucket. The total number+-- of classes returned per bucket is capped at 20.+gpdvkmehbBucketValues :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket [GooglePrivacyDlpV2KMapEstimationQuasiIdValues]+gpdvkmehbBucketValues+ = lens _gpdvkmehbBucketValues+ (\ s a -> s{_gpdvkmehbBucketValues = a})+ . _Default+ . _Coerce++-- | Always positive.+gpdvkmehbMinAnonymity :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)+gpdvkmehbMinAnonymity+ = lens _gpdvkmehbMinAnonymity+ (\ s a -> s{_gpdvkmehbMinAnonymity = a})+ . mapping _Coerce++-- | Number of records within these anonymity bounds.+gpdvkmehbBucketSize :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)+gpdvkmehbBucketSize+ = lens _gpdvkmehbBucketSize+ (\ s a -> s{_gpdvkmehbBucketSize = a})+ . mapping _Coerce++-- | Total number of distinct quasi-identifier tuple values in this bucket.+gpdvkmehbBucketValueCount :: Lens' GooglePrivacyDlpV2KMapEstimationHistogramBucket (Maybe Int64)+gpdvkmehbBucketValueCount+ = lens _gpdvkmehbBucketValueCount+ (\ s a -> s{_gpdvkmehbBucketValueCount = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2KMapEstimationHistogramBucket+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2KMapEstimationHistogramBucket"+ (\ o ->+ GooglePrivacyDlpV2KMapEstimationHistogramBucket' <$>+ (o .:? "maxAnonymity") <*>+ (o .:? "bucketValues" .!= mempty)+ <*> (o .:? "minAnonymity")+ <*> (o .:? "bucketSize")+ <*> (o .:? "bucketValueCount"))++instance ToJSON+ GooglePrivacyDlpV2KMapEstimationHistogramBucket+ where+ toJSON+ GooglePrivacyDlpV2KMapEstimationHistogramBucket'{..}+ = object+ (catMaybes+ [("maxAnonymity" .=) <$> _gpdvkmehbMaxAnonymity,+ ("bucketValues" .=) <$> _gpdvkmehbBucketValues,+ ("minAnonymity" .=) <$> _gpdvkmehbMinAnonymity,+ ("bucketSize" .=) <$> _gpdvkmehbBucketSize,+ ("bucketValueCount" .=) <$>+ _gpdvkmehbBucketValueCount])++-- | Response message for ListDeidentifyTemplates.+--+-- /See:/ 'googlePrivacyDlpV2ListDeidentifyTemplatesResponse' smart constructor.+data GooglePrivacyDlpV2ListDeidentifyTemplatesResponse =+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'+ { _gpdvldtrNextPageToken :: !(Maybe Text)+ , _gpdvldtrDeidentifyTemplates :: !(Maybe [GooglePrivacyDlpV2DeidentifyTemplate])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListDeidentifyTemplatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldtrNextPageToken'+--+-- * 'gpdvldtrDeidentifyTemplates'+googlePrivacyDlpV2ListDeidentifyTemplatesResponse+ :: GooglePrivacyDlpV2ListDeidentifyTemplatesResponse+googlePrivacyDlpV2ListDeidentifyTemplatesResponse =+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'+ {_gpdvldtrNextPageToken = Nothing, _gpdvldtrDeidentifyTemplates = Nothing}+++-- | If the next page is available then the next page token to be used in+-- following ListDeidentifyTemplates request.+gpdvldtrNextPageToken :: Lens' GooglePrivacyDlpV2ListDeidentifyTemplatesResponse (Maybe Text)+gpdvldtrNextPageToken+ = lens _gpdvldtrNextPageToken+ (\ s a -> s{_gpdvldtrNextPageToken = a})++-- | List of deidentify templates, up to page_size in+-- ListDeidentifyTemplatesRequest.+gpdvldtrDeidentifyTemplates :: Lens' GooglePrivacyDlpV2ListDeidentifyTemplatesResponse [GooglePrivacyDlpV2DeidentifyTemplate]+gpdvldtrDeidentifyTemplates+ = lens _gpdvldtrDeidentifyTemplates+ (\ s a -> s{_gpdvldtrDeidentifyTemplates = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ListDeidentifyTemplatesResponse"+ (\ o ->+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'+ <$>+ (o .:? "nextPageToken") <*>+ (o .:? "deidentifyTemplates" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse+ where+ toJSON+ GooglePrivacyDlpV2ListDeidentifyTemplatesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _gpdvldtrNextPageToken,+ ("deidentifyTemplates" .=) <$>+ _gpdvldtrDeidentifyTemplates])++-- | k-anonymity metric, used for analysis of reidentification risk.+--+-- /See:/ 'googlePrivacyDlpV2KAnonymityConfig' smart constructor.+data GooglePrivacyDlpV2KAnonymityConfig =+ GooglePrivacyDlpV2KAnonymityConfig'+ { _gpdvkacEntityId :: !(Maybe GooglePrivacyDlpV2EntityId)+ , _gpdvkacQuasiIds :: !(Maybe [GooglePrivacyDlpV2FieldId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KAnonymityConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkacEntityId'+--+-- * 'gpdvkacQuasiIds'+googlePrivacyDlpV2KAnonymityConfig+ :: GooglePrivacyDlpV2KAnonymityConfig+googlePrivacyDlpV2KAnonymityConfig =+ GooglePrivacyDlpV2KAnonymityConfig'+ {_gpdvkacEntityId = Nothing, _gpdvkacQuasiIds = Nothing}+++-- | Optional message indicating that multiple rows might be associated to a+-- single individual. If the same entity_id is associated to multiple+-- quasi-identifier tuples over distinct rows, we consider the entire+-- collection of tuples as the composite quasi-identifier. This collection+-- is a multiset: the order in which the different tuples appear in the+-- dataset is ignored, but their frequency is taken into account. Important+-- note: a maximum of 1000 rows can be associated to a single entity ID. If+-- more rows are associated with the same entity ID, some might be ignored.+gpdvkacEntityId :: Lens' GooglePrivacyDlpV2KAnonymityConfig (Maybe GooglePrivacyDlpV2EntityId)+gpdvkacEntityId+ = lens _gpdvkacEntityId+ (\ s a -> s{_gpdvkacEntityId = a})++-- | Set of fields to compute k-anonymity over. When multiple fields are+-- specified, they are considered a single composite key. Structs and+-- repeated data types are not supported; however, nested fields are+-- supported so long as they are not structs themselves or nested within a+-- repeated field.+gpdvkacQuasiIds :: Lens' GooglePrivacyDlpV2KAnonymityConfig [GooglePrivacyDlpV2FieldId]+gpdvkacQuasiIds+ = lens _gpdvkacQuasiIds+ (\ s a -> s{_gpdvkacQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2KAnonymityConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KAnonymityConfig"+ (\ o ->+ GooglePrivacyDlpV2KAnonymityConfig' <$>+ (o .:? "entityId") <*> (o .:? "quasiIds" .!= mempty))++instance ToJSON GooglePrivacyDlpV2KAnonymityConfig+ where+ toJSON GooglePrivacyDlpV2KAnonymityConfig'{..}+ = object+ (catMaybes+ [("entityId" .=) <$> _gpdvkacEntityId,+ ("quasiIds" .=) <$> _gpdvkacQuasiIds])++-- | Results of de-identifying a ContentItem.+--+-- /See:/ 'googlePrivacyDlpV2DeidentifyContentResponse' smart constructor.+data GooglePrivacyDlpV2DeidentifyContentResponse =+ GooglePrivacyDlpV2DeidentifyContentResponse'+ { _gOverview :: !(Maybe GooglePrivacyDlpV2TransformationOverview)+ , _gItem :: !(Maybe GooglePrivacyDlpV2ContentItem)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeidentifyContentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gOverview'+--+-- * 'gItem'+googlePrivacyDlpV2DeidentifyContentResponse+ :: GooglePrivacyDlpV2DeidentifyContentResponse+googlePrivacyDlpV2DeidentifyContentResponse =+ GooglePrivacyDlpV2DeidentifyContentResponse'+ {_gOverview = Nothing, _gItem = Nothing}+++-- | An overview of the changes that were made on the \`item\`.+gOverview :: Lens' GooglePrivacyDlpV2DeidentifyContentResponse (Maybe GooglePrivacyDlpV2TransformationOverview)+gOverview+ = lens _gOverview (\ s a -> s{_gOverview = a})++-- | The de-identified item.+gItem :: Lens' GooglePrivacyDlpV2DeidentifyContentResponse (Maybe GooglePrivacyDlpV2ContentItem)+gItem = lens _gItem (\ s a -> s{_gItem = a})++instance FromJSON+ GooglePrivacyDlpV2DeidentifyContentResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeidentifyContentResponse"+ (\ o ->+ GooglePrivacyDlpV2DeidentifyContentResponse' <$>+ (o .:? "overview") <*> (o .:? "item"))++instance ToJSON+ GooglePrivacyDlpV2DeidentifyContentResponse+ where+ toJSON+ GooglePrivacyDlpV2DeidentifyContentResponse'{..}+ = object+ (catMaybes+ [("overview" .=) <$> _gOverview,+ ("item" .=) <$> _gItem])++-- | Contains a configuration to make dlp api calls on a repeating basis. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-job-triggers to learn+-- more.+--+-- /See:/ 'googlePrivacyDlpV2JobTrigger' smart constructor.+data GooglePrivacyDlpV2JobTrigger =+ GooglePrivacyDlpV2JobTrigger'+ { _gpdvjtStatus :: !(Maybe GooglePrivacyDlpV2JobTriggerStatus)+ , _gpdvjtTriggers :: !(Maybe [GooglePrivacyDlpV2Trigger])+ , _gpdvjtLastRunTime :: !(Maybe DateTime')+ , _gpdvjtInspectJob :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)+ , _gpdvjtUpdateTime :: !(Maybe DateTime')+ , _gpdvjtName :: !(Maybe Text)+ , _gpdvjtDisplayName :: !(Maybe Text)+ , _gpdvjtErrors :: !(Maybe [GooglePrivacyDlpV2Error])+ , _gpdvjtDescription :: !(Maybe Text)+ , _gpdvjtCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2JobTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvjtStatus'+--+-- * 'gpdvjtTriggers'+--+-- * 'gpdvjtLastRunTime'+--+-- * 'gpdvjtInspectJob'+--+-- * 'gpdvjtUpdateTime'+--+-- * 'gpdvjtName'+--+-- * 'gpdvjtDisplayName'+--+-- * 'gpdvjtErrors'+--+-- * 'gpdvjtDescription'+--+-- * 'gpdvjtCreateTime'+googlePrivacyDlpV2JobTrigger+ :: GooglePrivacyDlpV2JobTrigger+googlePrivacyDlpV2JobTrigger =+ GooglePrivacyDlpV2JobTrigger'+ { _gpdvjtStatus = Nothing+ , _gpdvjtTriggers = Nothing+ , _gpdvjtLastRunTime = Nothing+ , _gpdvjtInspectJob = Nothing+ , _gpdvjtUpdateTime = Nothing+ , _gpdvjtName = Nothing+ , _gpdvjtDisplayName = Nothing+ , _gpdvjtErrors = Nothing+ , _gpdvjtDescription = Nothing+ , _gpdvjtCreateTime = Nothing+ }+++-- | A status for this trigger. [required]+gpdvjtStatus :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe GooglePrivacyDlpV2JobTriggerStatus)+gpdvjtStatus+ = lens _gpdvjtStatus (\ s a -> s{_gpdvjtStatus = a})++-- | A list of triggers which will be OR\'ed together. Only one in the list+-- needs to trigger for a job to be started. The list may contain only a+-- single Schedule trigger and must have at least one object.+gpdvjtTriggers :: Lens' GooglePrivacyDlpV2JobTrigger [GooglePrivacyDlpV2Trigger]+gpdvjtTriggers+ = lens _gpdvjtTriggers+ (\ s a -> s{_gpdvjtTriggers = a})+ . _Default+ . _Coerce++-- | The timestamp of the last time this trigger executed, output only field.+gpdvjtLastRunTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)+gpdvjtLastRunTime+ = lens _gpdvjtLastRunTime+ (\ s a -> s{_gpdvjtLastRunTime = a})+ . mapping _DateTime++gpdvjtInspectJob :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe GooglePrivacyDlpV2InspectJobConfig)+gpdvjtInspectJob+ = lens _gpdvjtInspectJob+ (\ s a -> s{_gpdvjtInspectJob = a})++-- | The last update timestamp of a triggeredJob, output only field.+gpdvjtUpdateTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)+gpdvjtUpdateTime+ = lens _gpdvjtUpdateTime+ (\ s a -> s{_gpdvjtUpdateTime = a})+ . mapping _DateTime++-- | Unique resource name for the triggeredJob, assigned by the service when+-- the triggeredJob is created, for example+-- \`projects\/dlp-test-project\/triggeredJobs\/53234423\`.+gpdvjtName :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)+gpdvjtName+ = lens _gpdvjtName (\ s a -> s{_gpdvjtName = a})++-- | Display name (max 100 chars)+gpdvjtDisplayName :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)+gpdvjtDisplayName+ = lens _gpdvjtDisplayName+ (\ s a -> s{_gpdvjtDisplayName = a})++-- | A stream of errors encountered when the trigger was activated. Repeated+-- errors may result in the JobTrigger automatically being paused. Will+-- return the last 100 errors. Whenever the JobTrigger is modified this+-- list will be cleared. Output only field.+gpdvjtErrors :: Lens' GooglePrivacyDlpV2JobTrigger [GooglePrivacyDlpV2Error]+gpdvjtErrors+ = lens _gpdvjtErrors (\ s a -> s{_gpdvjtErrors = a})+ . _Default+ . _Coerce++-- | User provided description (max 256 chars)+gpdvjtDescription :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe Text)+gpdvjtDescription+ = lens _gpdvjtDescription+ (\ s a -> s{_gpdvjtDescription = a})++-- | The creation timestamp of a triggeredJob, output only field.+gpdvjtCreateTime :: Lens' GooglePrivacyDlpV2JobTrigger (Maybe UTCTime)+gpdvjtCreateTime+ = lens _gpdvjtCreateTime+ (\ s a -> s{_gpdvjtCreateTime = a})+ . mapping _DateTime++instance FromJSON GooglePrivacyDlpV2JobTrigger where+ parseJSON+ = withObject "GooglePrivacyDlpV2JobTrigger"+ (\ o ->+ GooglePrivacyDlpV2JobTrigger' <$>+ (o .:? "status") <*> (o .:? "triggers" .!= mempty)+ <*> (o .:? "lastRunTime")+ <*> (o .:? "inspectJob")+ <*> (o .:? "updateTime")+ <*> (o .:? "name")+ <*> (o .:? "displayName")+ <*> (o .:? "errors" .!= mempty)+ <*> (o .:? "description")+ <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2JobTrigger where+ toJSON GooglePrivacyDlpV2JobTrigger'{..}+ = object+ (catMaybes+ [("status" .=) <$> _gpdvjtStatus,+ ("triggers" .=) <$> _gpdvjtTriggers,+ ("lastRunTime" .=) <$> _gpdvjtLastRunTime,+ ("inspectJob" .=) <$> _gpdvjtInspectJob,+ ("updateTime" .=) <$> _gpdvjtUpdateTime,+ ("name" .=) <$> _gpdvjtName,+ ("displayName" .=) <$> _gpdvjtDisplayName,+ ("errors" .=) <$> _gpdvjtErrors,+ ("description" .=) <$> _gpdvjtDescription,+ ("createTime" .=) <$> _gpdvjtCreateTime])++-- | Response message for ListStoredInfoTypes.+--+-- /See:/ 'googlePrivacyDlpV2ListStoredInfoTypesResponse' smart constructor.+data GooglePrivacyDlpV2ListStoredInfoTypesResponse =+ GooglePrivacyDlpV2ListStoredInfoTypesResponse'+ { _gpdvlsitrNextPageToken :: !(Maybe Text)+ , _gpdvlsitrStoredInfoTypes :: !(Maybe [GooglePrivacyDlpV2StoredInfoType])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListStoredInfoTypesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlsitrNextPageToken'+--+-- * 'gpdvlsitrStoredInfoTypes'+googlePrivacyDlpV2ListStoredInfoTypesResponse+ :: GooglePrivacyDlpV2ListStoredInfoTypesResponse+googlePrivacyDlpV2ListStoredInfoTypesResponse =+ GooglePrivacyDlpV2ListStoredInfoTypesResponse'+ {_gpdvlsitrNextPageToken = Nothing, _gpdvlsitrStoredInfoTypes = Nothing}+++-- | If the next page is available then the next page token to be used in+-- following ListStoredInfoTypes request.+gpdvlsitrNextPageToken :: Lens' GooglePrivacyDlpV2ListStoredInfoTypesResponse (Maybe Text)+gpdvlsitrNextPageToken+ = lens _gpdvlsitrNextPageToken+ (\ s a -> s{_gpdvlsitrNextPageToken = a})++-- | List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.+gpdvlsitrStoredInfoTypes :: Lens' GooglePrivacyDlpV2ListStoredInfoTypesResponse [GooglePrivacyDlpV2StoredInfoType]+gpdvlsitrStoredInfoTypes+ = lens _gpdvlsitrStoredInfoTypes+ (\ s a -> s{_gpdvlsitrStoredInfoTypes = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListStoredInfoTypesResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ListStoredInfoTypesResponse"+ (\ o ->+ GooglePrivacyDlpV2ListStoredInfoTypesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "storedInfoTypes" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2ListStoredInfoTypesResponse+ where+ toJSON+ GooglePrivacyDlpV2ListStoredInfoTypesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _gpdvlsitrNextPageToken,+ ("storedInfoTypes" .=) <$>+ _gpdvlsitrStoredInfoTypes])++-- | The set of columns\' values that share the same ldiversity value.+--+-- /See:/ 'googlePrivacyDlpV2LDiversityEquivalenceClass' smart constructor.+data GooglePrivacyDlpV2LDiversityEquivalenceClass =+ GooglePrivacyDlpV2LDiversityEquivalenceClass'+ { _gpdvldecTopSensitiveValues :: !(Maybe [GooglePrivacyDlpV2ValueFrequency])+ , _gpdvldecEquivalenceClassSize :: !(Maybe (Textual Int64))+ , _gpdvldecNumDistinctSensitiveValues :: !(Maybe (Textual Int64))+ , _gpdvldecQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LDiversityEquivalenceClass' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldecTopSensitiveValues'+--+-- * 'gpdvldecEquivalenceClassSize'+--+-- * 'gpdvldecNumDistinctSensitiveValues'+--+-- * 'gpdvldecQuasiIdsValues'+googlePrivacyDlpV2LDiversityEquivalenceClass+ :: GooglePrivacyDlpV2LDiversityEquivalenceClass+googlePrivacyDlpV2LDiversityEquivalenceClass =+ GooglePrivacyDlpV2LDiversityEquivalenceClass'+ { _gpdvldecTopSensitiveValues = Nothing+ , _gpdvldecEquivalenceClassSize = Nothing+ , _gpdvldecNumDistinctSensitiveValues = Nothing+ , _gpdvldecQuasiIdsValues = Nothing+ }+++-- | Estimated frequencies of top sensitive values.+gpdvldecTopSensitiveValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass [GooglePrivacyDlpV2ValueFrequency]+gpdvldecTopSensitiveValues+ = lens _gpdvldecTopSensitiveValues+ (\ s a -> s{_gpdvldecTopSensitiveValues = a})+ . _Default+ . _Coerce++-- | Size of the k-anonymity equivalence class.+gpdvldecEquivalenceClassSize :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass (Maybe Int64)+gpdvldecEquivalenceClassSize+ = lens _gpdvldecEquivalenceClassSize+ (\ s a -> s{_gpdvldecEquivalenceClassSize = a})+ . mapping _Coerce++-- | Number of distinct sensitive values in this equivalence class.+gpdvldecNumDistinctSensitiveValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass (Maybe Int64)+gpdvldecNumDistinctSensitiveValues+ = lens _gpdvldecNumDistinctSensitiveValues+ (\ s a -> s{_gpdvldecNumDistinctSensitiveValues = a})+ . mapping _Coerce++-- | Quasi-identifier values defining the k-anonymity equivalence class. The+-- order is always the same as the original request.+gpdvldecQuasiIdsValues :: Lens' GooglePrivacyDlpV2LDiversityEquivalenceClass [GooglePrivacyDlpV2Value]+gpdvldecQuasiIdsValues+ = lens _gpdvldecQuasiIdsValues+ (\ s a -> s{_gpdvldecQuasiIdsValues = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2LDiversityEquivalenceClass+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2LDiversityEquivalenceClass"+ (\ o ->+ GooglePrivacyDlpV2LDiversityEquivalenceClass' <$>+ (o .:? "topSensitiveValues" .!= mempty) <*>+ (o .:? "equivalenceClassSize")+ <*> (o .:? "numDistinctSensitiveValues")+ <*> (o .:? "quasiIdsValues" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2LDiversityEquivalenceClass+ where+ toJSON+ GooglePrivacyDlpV2LDiversityEquivalenceClass'{..}+ = object+ (catMaybes+ [("topSensitiveValues" .=) <$>+ _gpdvldecTopSensitiveValues,+ ("equivalenceClassSize" .=) <$>+ _gpdvldecEquivalenceClassSize,+ ("numDistinctSensitiveValues" .=) <$>+ _gpdvldecNumDistinctSensitiveValues,+ ("quasiIdsValues" .=) <$> _gpdvldecQuasiIdsValues])++-- | Request message for ActivateJobTrigger.+--+-- /See:/ 'googlePrivacyDlpV2ActivateJobTriggerRequest' smart constructor.+data GooglePrivacyDlpV2ActivateJobTriggerRequest =+ GooglePrivacyDlpV2ActivateJobTriggerRequest'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ActivateJobTriggerRequest' with the minimum fields required to make a request.+--+googlePrivacyDlpV2ActivateJobTriggerRequest+ :: GooglePrivacyDlpV2ActivateJobTriggerRequest+googlePrivacyDlpV2ActivateJobTriggerRequest =+ GooglePrivacyDlpV2ActivateJobTriggerRequest'+++instance FromJSON+ GooglePrivacyDlpV2ActivateJobTriggerRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ActivateJobTriggerRequest"+ (\ o ->+ pure GooglePrivacyDlpV2ActivateJobTriggerRequest')++instance ToJSON+ GooglePrivacyDlpV2ActivateJobTriggerRequest+ where+ toJSON = const emptyObject++-- | The configuration that controls how the data will change.+--+-- /See:/ 'googlePrivacyDlpV2DeidentifyConfig' smart constructor.+data GooglePrivacyDlpV2DeidentifyConfig =+ GooglePrivacyDlpV2DeidentifyConfig'+ { _gpdvdcInfoTypeTransformations :: !(Maybe GooglePrivacyDlpV2InfoTypeTransformations)+ , _gpdvdcRecordTransformations :: !(Maybe GooglePrivacyDlpV2RecordTransformations)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeidentifyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdcInfoTypeTransformations'+--+-- * 'gpdvdcRecordTransformations'+googlePrivacyDlpV2DeidentifyConfig+ :: GooglePrivacyDlpV2DeidentifyConfig+googlePrivacyDlpV2DeidentifyConfig =+ GooglePrivacyDlpV2DeidentifyConfig'+ { _gpdvdcInfoTypeTransformations = Nothing+ , _gpdvdcRecordTransformations = Nothing+ }+++-- | Treat the dataset as free-form text and apply the same free text+-- transformation everywhere.+gpdvdcInfoTypeTransformations :: Lens' GooglePrivacyDlpV2DeidentifyConfig (Maybe GooglePrivacyDlpV2InfoTypeTransformations)+gpdvdcInfoTypeTransformations+ = lens _gpdvdcInfoTypeTransformations+ (\ s a -> s{_gpdvdcInfoTypeTransformations = a})++-- | Treat the dataset as structured. Transformations can be applied to+-- specific locations within structured datasets, such as transforming a+-- column within a table.+gpdvdcRecordTransformations :: Lens' GooglePrivacyDlpV2DeidentifyConfig (Maybe GooglePrivacyDlpV2RecordTransformations)+gpdvdcRecordTransformations+ = lens _gpdvdcRecordTransformations+ (\ s a -> s{_gpdvdcRecordTransformations = a})++instance FromJSON GooglePrivacyDlpV2DeidentifyConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DeidentifyConfig"+ (\ o ->+ GooglePrivacyDlpV2DeidentifyConfig' <$>+ (o .:? "infoTypeTransformations") <*>+ (o .:? "recordTransformations"))++instance ToJSON GooglePrivacyDlpV2DeidentifyConfig+ where+ toJSON GooglePrivacyDlpV2DeidentifyConfig'{..}+ = object+ (catMaybes+ [("infoTypeTransformations" .=) <$>+ _gpdvdcInfoTypeTransformations,+ ("recordTransformations" .=) <$>+ _gpdvdcRecordTransformations])++-- | Partially mask a string by replacing a given number of characters with a+-- fixed character. Masking can start from the beginning or end of the+-- string. This can be used on data of any type (numbers, longs, and so on)+-- and when de-identifying structured data we\'ll attempt to preserve the+-- original data\'s type. (This allows you to take a long like 123 and+-- modify it to a string like **3.+--+-- /See:/ 'googlePrivacyDlpV2CharacterMaskConfig' smart constructor.+data GooglePrivacyDlpV2CharacterMaskConfig =+ GooglePrivacyDlpV2CharacterMaskConfig'+ { _gpdvcmcNumberToMask :: !(Maybe (Textual Int32))+ , _gpdvcmcMaskingCharacter :: !(Maybe Text)+ , _gpdvcmcReverseOrder :: !(Maybe Bool)+ , _gpdvcmcCharactersToIgnore :: !(Maybe [GooglePrivacyDlpV2CharsToIgnore])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CharacterMaskConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcmcNumberToMask'+--+-- * 'gpdvcmcMaskingCharacter'+--+-- * 'gpdvcmcReverseOrder'+--+-- * 'gpdvcmcCharactersToIgnore'+googlePrivacyDlpV2CharacterMaskConfig+ :: GooglePrivacyDlpV2CharacterMaskConfig+googlePrivacyDlpV2CharacterMaskConfig =+ GooglePrivacyDlpV2CharacterMaskConfig'+ { _gpdvcmcNumberToMask = Nothing+ , _gpdvcmcMaskingCharacter = Nothing+ , _gpdvcmcReverseOrder = Nothing+ , _gpdvcmcCharactersToIgnore = Nothing+ }+++-- | Number of characters to mask. If not set, all matching chars will be+-- masked. Skipped characters do not count towards this tally.+gpdvcmcNumberToMask :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Int32)+gpdvcmcNumberToMask+ = lens _gpdvcmcNumberToMask+ (\ s a -> s{_gpdvcmcNumberToMask = a})+ . mapping _Coerce++-- | Character to mask the sensitive values—for example, \"*\" for an+-- alphabetic string such as name, or \"0\" for a numeric string such as+-- ZIP code or credit card number. String must have length 1. If not+-- supplied, we will default to \"*\" for strings, 0 for digits.+gpdvcmcMaskingCharacter :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Text)+gpdvcmcMaskingCharacter+ = lens _gpdvcmcMaskingCharacter+ (\ s a -> s{_gpdvcmcMaskingCharacter = a})++-- | Mask characters in reverse order. For example, if \`masking_character\`+-- is \'0\', number_to_mask is 14, and \`reverse_order\` is false, then+-- 1234-5678-9012-3456 -> 00000000000000-3456 If \`masking_character\` is+-- \'*\', \`number_to_mask\` is 3, and \`reverse_order\` is true, then+-- 12345 -> 12***+gpdvcmcReverseOrder :: Lens' GooglePrivacyDlpV2CharacterMaskConfig (Maybe Bool)+gpdvcmcReverseOrder+ = lens _gpdvcmcReverseOrder+ (\ s a -> s{_gpdvcmcReverseOrder = a})++-- | When masking a string, items in this list will be skipped when+-- replacing. For example, if your string is 555-555-5555 and you ask us to+-- skip \`-\` and mask 5 chars with * we would produce ***-*55-5555.+gpdvcmcCharactersToIgnore :: Lens' GooglePrivacyDlpV2CharacterMaskConfig [GooglePrivacyDlpV2CharsToIgnore]+gpdvcmcCharactersToIgnore+ = lens _gpdvcmcCharactersToIgnore+ (\ s a -> s{_gpdvcmcCharactersToIgnore = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2CharacterMaskConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CharacterMaskConfig"+ (\ o ->+ GooglePrivacyDlpV2CharacterMaskConfig' <$>+ (o .:? "numberToMask") <*> (o .:? "maskingCharacter")+ <*> (o .:? "reverseOrder")+ <*> (o .:? "charactersToIgnore" .!= mempty))++instance ToJSON GooglePrivacyDlpV2CharacterMaskConfig+ where+ toJSON GooglePrivacyDlpV2CharacterMaskConfig'{..}+ = object+ (catMaybes+ [("numberToMask" .=) <$> _gpdvcmcNumberToMask,+ ("maskingCharacter" .=) <$> _gpdvcmcMaskingCharacter,+ ("reverseOrder" .=) <$> _gpdvcmcReverseOrder,+ ("charactersToIgnore" .=) <$>+ _gpdvcmcCharactersToIgnore])++-- | Options defining a data set within Google Cloud Datastore.+--+-- /See:/ 'googlePrivacyDlpV2DatastoreOptions' smart constructor.+data GooglePrivacyDlpV2DatastoreOptions =+ GooglePrivacyDlpV2DatastoreOptions'+ { _gpdvdoPartitionId :: !(Maybe GooglePrivacyDlpV2PartitionId)+ , _gpdvdoKind :: !(Maybe GooglePrivacyDlpV2KindExpression)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DatastoreOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdoPartitionId'+--+-- * 'gpdvdoKind'+googlePrivacyDlpV2DatastoreOptions+ :: GooglePrivacyDlpV2DatastoreOptions+googlePrivacyDlpV2DatastoreOptions =+ GooglePrivacyDlpV2DatastoreOptions'+ {_gpdvdoPartitionId = Nothing, _gpdvdoKind = Nothing}+++-- | A partition ID identifies a grouping of entities. The grouping is always+-- by project and namespace, however the namespace ID may be empty.+gpdvdoPartitionId :: Lens' GooglePrivacyDlpV2DatastoreOptions (Maybe GooglePrivacyDlpV2PartitionId)+gpdvdoPartitionId+ = lens _gpdvdoPartitionId+ (\ s a -> s{_gpdvdoPartitionId = a})++-- | The kind to process.+gpdvdoKind :: Lens' GooglePrivacyDlpV2DatastoreOptions (Maybe GooglePrivacyDlpV2KindExpression)+gpdvdoKind+ = lens _gpdvdoKind (\ s a -> s{_gpdvdoKind = a})++instance FromJSON GooglePrivacyDlpV2DatastoreOptions+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DatastoreOptions"+ (\ o ->+ GooglePrivacyDlpV2DatastoreOptions' <$>+ (o .:? "partitionId") <*> (o .:? "kind"))++instance ToJSON GooglePrivacyDlpV2DatastoreOptions+ where+ toJSON GooglePrivacyDlpV2DatastoreOptions'{..}+ = object+ (catMaybes+ [("partitionId" .=) <$> _gpdvdoPartitionId,+ ("kind" .=) <$> _gpdvdoKind])++-- | A value of a field, including its frequency.+--+-- /See:/ 'googlePrivacyDlpV2ValueFrequency' smart constructor.+data GooglePrivacyDlpV2ValueFrequency =+ GooglePrivacyDlpV2ValueFrequency'+ { _gpdvvfValue :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvvfCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ValueFrequency' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvvfValue'+--+-- * 'gpdvvfCount'+googlePrivacyDlpV2ValueFrequency+ :: GooglePrivacyDlpV2ValueFrequency+googlePrivacyDlpV2ValueFrequency =+ GooglePrivacyDlpV2ValueFrequency'+ {_gpdvvfValue = Nothing, _gpdvvfCount = Nothing}+++-- | A value contained in the field in question.+gpdvvfValue :: Lens' GooglePrivacyDlpV2ValueFrequency (Maybe GooglePrivacyDlpV2Value)+gpdvvfValue+ = lens _gpdvvfValue (\ s a -> s{_gpdvvfValue = a})++-- | How many times the value is contained in the field.+gpdvvfCount :: Lens' GooglePrivacyDlpV2ValueFrequency (Maybe Int64)+gpdvvfCount+ = lens _gpdvvfCount (\ s a -> s{_gpdvvfCount = a}) .+ mapping _Coerce++instance FromJSON GooglePrivacyDlpV2ValueFrequency+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ValueFrequency"+ (\ o ->+ GooglePrivacyDlpV2ValueFrequency' <$>+ (o .:? "value") <*> (o .:? "count"))++instance ToJSON GooglePrivacyDlpV2ValueFrequency+ where+ toJSON GooglePrivacyDlpV2ValueFrequency'{..}+ = object+ (catMaybes+ [("value" .=) <$> _gpdvvfValue,+ ("count" .=) <$> _gpdvvfCount])++-- | Bounding box encompassing detected text within an image.+--+-- /See:/ 'googlePrivacyDlpV2BoundingBox' smart constructor.+data GooglePrivacyDlpV2BoundingBox =+ GooglePrivacyDlpV2BoundingBox'+ { _gpdvbbHeight :: !(Maybe (Textual Int32))+ , _gpdvbbLeft :: !(Maybe (Textual Int32))+ , _gpdvbbWidth :: !(Maybe (Textual Int32))+ , _gpdvbbTop :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BoundingBox' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbbHeight'+--+-- * 'gpdvbbLeft'+--+-- * 'gpdvbbWidth'+--+-- * 'gpdvbbTop'+googlePrivacyDlpV2BoundingBox+ :: GooglePrivacyDlpV2BoundingBox+googlePrivacyDlpV2BoundingBox =+ GooglePrivacyDlpV2BoundingBox'+ { _gpdvbbHeight = Nothing+ , _gpdvbbLeft = Nothing+ , _gpdvbbWidth = Nothing+ , _gpdvbbTop = Nothing+ }+++-- | Height of the bounding box in pixels.+gpdvbbHeight :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)+gpdvbbHeight+ = lens _gpdvbbHeight (\ s a -> s{_gpdvbbHeight = a})+ . mapping _Coerce++-- | Left coordinate of the bounding box. (0,0) is upper left.+gpdvbbLeft :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)+gpdvbbLeft+ = lens _gpdvbbLeft (\ s a -> s{_gpdvbbLeft = a}) .+ mapping _Coerce++-- | Width of the bounding box in pixels.+gpdvbbWidth :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)+gpdvbbWidth+ = lens _gpdvbbWidth (\ s a -> s{_gpdvbbWidth = a}) .+ mapping _Coerce++-- | Top coordinate of the bounding box. (0,0) is upper left.+gpdvbbTop :: Lens' GooglePrivacyDlpV2BoundingBox (Maybe Int32)+gpdvbbTop+ = lens _gpdvbbTop (\ s a -> s{_gpdvbbTop = a}) .+ mapping _Coerce++instance FromJSON GooglePrivacyDlpV2BoundingBox where+ parseJSON+ = withObject "GooglePrivacyDlpV2BoundingBox"+ (\ o ->+ GooglePrivacyDlpV2BoundingBox' <$>+ (o .:? "height") <*> (o .:? "left") <*>+ (o .:? "width")+ <*> (o .:? "top"))++instance ToJSON GooglePrivacyDlpV2BoundingBox where+ toJSON GooglePrivacyDlpV2BoundingBox'{..}+ = object+ (catMaybes+ [("height" .=) <$> _gpdvbbHeight,+ ("left" .=) <$> _gpdvbbLeft,+ ("width" .=) <$> _gpdvbbWidth,+ ("top" .=) <$> _gpdvbbTop])++-- | Datastore partition ID. A partition ID identifies a grouping of+-- entities. The grouping is always by project and namespace, however the+-- namespace ID may be empty. A partition ID contains several dimensions:+-- project ID and namespace ID.+--+-- /See:/ 'googlePrivacyDlpV2PartitionId' smart constructor.+data GooglePrivacyDlpV2PartitionId =+ GooglePrivacyDlpV2PartitionId'+ { _gpdvpiNamespaceId :: !(Maybe Text)+ , _gpdvpiProjectId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PartitionId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvpiNamespaceId'+--+-- * 'gpdvpiProjectId'+googlePrivacyDlpV2PartitionId+ :: GooglePrivacyDlpV2PartitionId+googlePrivacyDlpV2PartitionId =+ GooglePrivacyDlpV2PartitionId'+ {_gpdvpiNamespaceId = Nothing, _gpdvpiProjectId = Nothing}+++-- | If not empty, the ID of the namespace to which the entities belong.+gpdvpiNamespaceId :: Lens' GooglePrivacyDlpV2PartitionId (Maybe Text)+gpdvpiNamespaceId+ = lens _gpdvpiNamespaceId+ (\ s a -> s{_gpdvpiNamespaceId = a})++-- | The ID of the project to which the entities belong.+gpdvpiProjectId :: Lens' GooglePrivacyDlpV2PartitionId (Maybe Text)+gpdvpiProjectId+ = lens _gpdvpiProjectId+ (\ s a -> s{_gpdvpiProjectId = a})++instance FromJSON GooglePrivacyDlpV2PartitionId where+ parseJSON+ = withObject "GooglePrivacyDlpV2PartitionId"+ (\ o ->+ GooglePrivacyDlpV2PartitionId' <$>+ (o .:? "namespaceId") <*> (o .:? "projectId"))++instance ToJSON GooglePrivacyDlpV2PartitionId where+ toJSON GooglePrivacyDlpV2PartitionId'{..}+ = object+ (catMaybes+ [("namespaceId" .=) <$> _gpdvpiNamespaceId,+ ("projectId" .=) <$> _gpdvpiProjectId])++-- | If set, the detailed findings will be persisted to the specified+-- OutputStorageConfig. Only a single instance of this action can be+-- specified. Compatible with: Inspect, Risk+--+-- /See:/ 'googlePrivacyDlpV2SaveFindings' smart constructor.+newtype GooglePrivacyDlpV2SaveFindings =+ GooglePrivacyDlpV2SaveFindings'+ { _gpdvsfOutputConfig :: Maybe GooglePrivacyDlpV2OutputStorageConfig+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2SaveFindings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsfOutputConfig'+googlePrivacyDlpV2SaveFindings+ :: GooglePrivacyDlpV2SaveFindings+googlePrivacyDlpV2SaveFindings =+ GooglePrivacyDlpV2SaveFindings' {_gpdvsfOutputConfig = Nothing}+++gpdvsfOutputConfig :: Lens' GooglePrivacyDlpV2SaveFindings (Maybe GooglePrivacyDlpV2OutputStorageConfig)+gpdvsfOutputConfig+ = lens _gpdvsfOutputConfig+ (\ s a -> s{_gpdvsfOutputConfig = a})++instance FromJSON GooglePrivacyDlpV2SaveFindings+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2SaveFindings"+ (\ o ->+ GooglePrivacyDlpV2SaveFindings' <$>+ (o .:? "outputConfig"))++instance ToJSON GooglePrivacyDlpV2SaveFindings where+ toJSON GooglePrivacyDlpV2SaveFindings'{..}+ = object+ (catMaybes+ [("outputConfig" .=) <$> _gpdvsfOutputConfig])++-- | Version of a StoredInfoType, including the configuration used to build+-- it, create timestamp, and current state.+--+-- /See:/ 'googlePrivacyDlpV2StoredInfoTypeVersion' smart constructor.+data GooglePrivacyDlpV2StoredInfoTypeVersion =+ GooglePrivacyDlpV2StoredInfoTypeVersion'+ { _gpdvsitvState :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeVersionState)+ , _gpdvsitvConfig :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+ , _gpdvsitvErrors :: !(Maybe [GooglePrivacyDlpV2Error])+ , _gpdvsitvCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StoredInfoTypeVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsitvState'+--+-- * 'gpdvsitvConfig'+--+-- * 'gpdvsitvErrors'+--+-- * 'gpdvsitvCreateTime'+googlePrivacyDlpV2StoredInfoTypeVersion+ :: GooglePrivacyDlpV2StoredInfoTypeVersion+googlePrivacyDlpV2StoredInfoTypeVersion =+ GooglePrivacyDlpV2StoredInfoTypeVersion'+ { _gpdvsitvState = Nothing+ , _gpdvsitvConfig = Nothing+ , _gpdvsitvErrors = Nothing+ , _gpdvsitvCreateTime = Nothing+ }+++-- | Stored info type version state. Read-only, updated by the system during+-- dictionary creation.+gpdvsitvState :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe GooglePrivacyDlpV2StoredInfoTypeVersionState)+gpdvsitvState+ = lens _gpdvsitvState+ (\ s a -> s{_gpdvsitvState = a})++-- | StoredInfoType configuration.+gpdvsitvConfig :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe GooglePrivacyDlpV2StoredInfoTypeConfig)+gpdvsitvConfig+ = lens _gpdvsitvConfig+ (\ s a -> s{_gpdvsitvConfig = a})++-- | Errors that occurred when creating this storedInfoType version, or+-- anomalies detected in the storedInfoType data that render it unusable.+-- Only the five most recent errors will be displayed, with the most recent+-- error appearing first.+--+-- For example, some of the data for stored custom dictionaries is put in+-- the user\'s Google Cloud Storage bucket, and if this data is modified or+-- deleted by the user or another system, the dictionary becomes invalid.+--+-- If any errors occur, fix the problem indicated by the error message and+-- use the UpdateStoredInfoType API method to create another version of the+-- storedInfoType to continue using it, reusing the same \`config\` if it+-- was not the source of the error.+gpdvsitvErrors :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion [GooglePrivacyDlpV2Error]+gpdvsitvErrors+ = lens _gpdvsitvErrors+ (\ s a -> s{_gpdvsitvErrors = a})+ . _Default+ . _Coerce++-- | Create timestamp of the version. Read-only, determined by the system+-- when the version is created.+gpdvsitvCreateTime :: Lens' GooglePrivacyDlpV2StoredInfoTypeVersion (Maybe UTCTime)+gpdvsitvCreateTime+ = lens _gpdvsitvCreateTime+ (\ s a -> s{_gpdvsitvCreateTime = a})+ . mapping _DateTime++instance FromJSON+ GooglePrivacyDlpV2StoredInfoTypeVersion+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2StoredInfoTypeVersion"+ (\ o ->+ GooglePrivacyDlpV2StoredInfoTypeVersion' <$>+ (o .:? "state") <*> (o .:? "config") <*>+ (o .:? "errors" .!= mempty)+ <*> (o .:? "createTime"))++instance ToJSON+ GooglePrivacyDlpV2StoredInfoTypeVersion+ where+ toJSON GooglePrivacyDlpV2StoredInfoTypeVersion'{..}+ = object+ (catMaybes+ [("state" .=) <$> _gpdvsitvState,+ ("config" .=) <$> _gpdvsitvConfig,+ ("errors" .=) <$> _gpdvsitvErrors,+ ("createTime" .=) <$> _gpdvsitvCreateTime])++-- | Response to the ListInfoTypes request.+--+-- /See:/ 'googlePrivacyDlpV2ListInfoTypesResponse' smart constructor.+newtype GooglePrivacyDlpV2ListInfoTypesResponse =+ GooglePrivacyDlpV2ListInfoTypesResponse'+ { _gpdvlitrInfoTypes :: Maybe [GooglePrivacyDlpV2InfoTypeDescription]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListInfoTypesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlitrInfoTypes'+googlePrivacyDlpV2ListInfoTypesResponse+ :: GooglePrivacyDlpV2ListInfoTypesResponse+googlePrivacyDlpV2ListInfoTypesResponse =+ GooglePrivacyDlpV2ListInfoTypesResponse' {_gpdvlitrInfoTypes = Nothing}+++-- | Set of sensitive infoTypes.+gpdvlitrInfoTypes :: Lens' GooglePrivacyDlpV2ListInfoTypesResponse [GooglePrivacyDlpV2InfoTypeDescription]+gpdvlitrInfoTypes+ = lens _gpdvlitrInfoTypes+ (\ s a -> s{_gpdvlitrInfoTypes = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListInfoTypesResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ListInfoTypesResponse"+ (\ o ->+ GooglePrivacyDlpV2ListInfoTypesResponse' <$>+ (o .:? "infoTypes" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2ListInfoTypesResponse+ where+ toJSON GooglePrivacyDlpV2ListInfoTypesResponse'{..}+ = object+ (catMaybes [("infoTypes" .=) <$> _gpdvlitrInfoTypes])++-- | Findings container location data.+--+-- /See:/ 'googlePrivacyDlpV2ContentLocation' smart constructor.+data GooglePrivacyDlpV2ContentLocation =+ GooglePrivacyDlpV2ContentLocation'+ { _gpdvclImageLocation :: !(Maybe GooglePrivacyDlpV2ImageLocation)+ , _gpdvclContainerName :: !(Maybe Text)+ , _gpdvclContainerTimestamp :: !(Maybe DateTime')+ , _gpdvclDocumentLocation :: !(Maybe GooglePrivacyDlpV2DocumentLocation)+ , _gpdvclContainerVersion :: !(Maybe Text)+ , _gpdvclRecordLocation :: !(Maybe GooglePrivacyDlpV2RecordLocation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ContentLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvclImageLocation'+--+-- * 'gpdvclContainerName'+--+-- * 'gpdvclContainerTimestamp'+--+-- * 'gpdvclDocumentLocation'+--+-- * 'gpdvclContainerVersion'+--+-- * 'gpdvclRecordLocation'+googlePrivacyDlpV2ContentLocation+ :: GooglePrivacyDlpV2ContentLocation+googlePrivacyDlpV2ContentLocation =+ GooglePrivacyDlpV2ContentLocation'+ { _gpdvclImageLocation = Nothing+ , _gpdvclContainerName = Nothing+ , _gpdvclContainerTimestamp = Nothing+ , _gpdvclDocumentLocation = Nothing+ , _gpdvclContainerVersion = Nothing+ , _gpdvclRecordLocation = Nothing+ }+++-- | Location within an image\'s pixels.+gpdvclImageLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2ImageLocation)+gpdvclImageLocation+ = lens _gpdvclImageLocation+ (\ s a -> s{_gpdvclImageLocation = a})++-- | Name of the container where the finding is located. The top level name+-- is the source file name or table name. Names of some common storage+-- containers are formatted as follows: * BigQuery tables: \`:.\` * Cloud+-- Storage files: \`gs:\/\/\/\` * Datastore namespace: Nested names could+-- be absent if the embedded object has no string identifier (for an+-- example an image contained within a document).+gpdvclContainerName :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe Text)+gpdvclContainerName+ = lens _gpdvclContainerName+ (\ s a -> s{_gpdvclContainerName = a})++-- | Findings container modification timestamp, if applicable. For Google+-- Cloud Storage contains last file modification timestamp. For BigQuery+-- table contains last_modified_time property. For Datastore - not+-- populated.+gpdvclContainerTimestamp :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe UTCTime)+gpdvclContainerTimestamp+ = lens _gpdvclContainerTimestamp+ (\ s a -> s{_gpdvclContainerTimestamp = a})+ . mapping _DateTime++-- | Location data for document files.+gpdvclDocumentLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2DocumentLocation)+gpdvclDocumentLocation+ = lens _gpdvclDocumentLocation+ (\ s a -> s{_gpdvclDocumentLocation = a})++-- | Findings container version, if available (\"generation\" for Google+-- Cloud Storage).+gpdvclContainerVersion :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe Text)+gpdvclContainerVersion+ = lens _gpdvclContainerVersion+ (\ s a -> s{_gpdvclContainerVersion = a})++-- | Location within a row or record of a database table.+gpdvclRecordLocation :: Lens' GooglePrivacyDlpV2ContentLocation (Maybe GooglePrivacyDlpV2RecordLocation)+gpdvclRecordLocation+ = lens _gpdvclRecordLocation+ (\ s a -> s{_gpdvclRecordLocation = a})++instance FromJSON GooglePrivacyDlpV2ContentLocation+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ContentLocation"+ (\ o ->+ GooglePrivacyDlpV2ContentLocation' <$>+ (o .:? "imageLocation") <*> (o .:? "containerName")+ <*> (o .:? "containerTimestamp")+ <*> (o .:? "documentLocation")+ <*> (o .:? "containerVersion")+ <*> (o .:? "recordLocation"))++instance ToJSON GooglePrivacyDlpV2ContentLocation+ where+ toJSON GooglePrivacyDlpV2ContentLocation'{..}+ = object+ (catMaybes+ [("imageLocation" .=) <$> _gpdvclImageLocation,+ ("containerName" .=) <$> _gpdvclContainerName,+ ("containerTimestamp" .=) <$>+ _gpdvclContainerTimestamp,+ ("documentLocation" .=) <$> _gpdvclDocumentLocation,+ ("containerVersion" .=) <$> _gpdvclContainerVersion,+ ("recordLocation" .=) <$> _gpdvclRecordLocation])++-- | An auxiliary table contains statistical information on the relative+-- frequency of different quasi-identifiers values. It has one or several+-- quasi-identifiers columns, and one column that indicates the relative+-- frequency of each quasi-identifier tuple. If a tuple is present in the+-- data but not in the auxiliary table, the corresponding relative+-- frequency is assumed to be zero (and thus, the tuple is highly+-- reidentifiable).+--+-- /See:/ 'googlePrivacyDlpV2AuxiliaryTable' smart constructor.+data GooglePrivacyDlpV2AuxiliaryTable =+ GooglePrivacyDlpV2AuxiliaryTable'+ { _gpdvatRelativeFrequency :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvatTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ , _gpdvatQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiIdField])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2AuxiliaryTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvatRelativeFrequency'+--+-- * 'gpdvatTable'+--+-- * 'gpdvatQuasiIds'+googlePrivacyDlpV2AuxiliaryTable+ :: GooglePrivacyDlpV2AuxiliaryTable+googlePrivacyDlpV2AuxiliaryTable =+ GooglePrivacyDlpV2AuxiliaryTable'+ { _gpdvatRelativeFrequency = Nothing+ , _gpdvatTable = Nothing+ , _gpdvatQuasiIds = Nothing+ }+++-- | The relative frequency column must contain a floating-point number+-- between 0 and 1 (inclusive). Null values are assumed to be zero.+-- [required]+gpdvatRelativeFrequency :: Lens' GooglePrivacyDlpV2AuxiliaryTable (Maybe GooglePrivacyDlpV2FieldId)+gpdvatRelativeFrequency+ = lens _gpdvatRelativeFrequency+ (\ s a -> s{_gpdvatRelativeFrequency = a})++-- | Auxiliary table location. [required]+gpdvatTable :: Lens' GooglePrivacyDlpV2AuxiliaryTable (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvatTable+ = lens _gpdvatTable (\ s a -> s{_gpdvatTable = a})++-- | Quasi-identifier columns. [required]+gpdvatQuasiIds :: Lens' GooglePrivacyDlpV2AuxiliaryTable [GooglePrivacyDlpV2QuasiIdField]+gpdvatQuasiIds+ = lens _gpdvatQuasiIds+ (\ s a -> s{_gpdvatQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2AuxiliaryTable+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2AuxiliaryTable"+ (\ o ->+ GooglePrivacyDlpV2AuxiliaryTable' <$>+ (o .:? "relativeFrequency") <*> (o .:? "table") <*>+ (o .:? "quasiIds" .!= mempty))++instance ToJSON GooglePrivacyDlpV2AuxiliaryTable+ where+ toJSON GooglePrivacyDlpV2AuxiliaryTable'{..}+ = object+ (catMaybes+ [("relativeFrequency" .=) <$>+ _gpdvatRelativeFrequency,+ ("table" .=) <$> _gpdvatTable,+ ("quasiIds" .=) <$> _gpdvatQuasiIds])++-- | A DeltaPresenceEstimationHistogramBucket message with the following+-- values: min_probability: 0.1 max_probability: 0.2 frequency: 42 means+-- that there are 42 records for which δ is in [0.1, 0.2). An important+-- particular case is when min_probability = max_probability = 1: then,+-- every individual who shares this quasi-identifier combination is in the+-- dataset.+--+-- /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket' smart constructor.+data GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket =+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'+ { _gpdvdpehbBucketValues :: !(Maybe [GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues])+ , _gpdvdpehbMaxProbability :: !(Maybe (Textual Double))+ , _gpdvdpehbMinProbability :: !(Maybe (Textual Double))+ , _gpdvdpehbBucketSize :: !(Maybe (Textual Int64))+ , _gpdvdpehbBucketValueCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdpehbBucketValues'+--+-- * 'gpdvdpehbMaxProbability'+--+-- * 'gpdvdpehbMinProbability'+--+-- * 'gpdvdpehbBucketSize'+--+-- * 'gpdvdpehbBucketValueCount'+googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket+ :: GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket+googlePrivacyDlpV2DeltaPresenceEstimationHistogramBucket =+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'+ { _gpdvdpehbBucketValues = Nothing+ , _gpdvdpehbMaxProbability = Nothing+ , _gpdvdpehbMinProbability = Nothing+ , _gpdvdpehbBucketSize = Nothing+ , _gpdvdpehbBucketValueCount = Nothing+ }+++-- | Sample of quasi-identifier tuple values in this bucket. The total number+-- of classes returned per bucket is capped at 20.+gpdvdpehbBucketValues :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket [GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues]+gpdvdpehbBucketValues+ = lens _gpdvdpehbBucketValues+ (\ s a -> s{_gpdvdpehbBucketValues = a})+ . _Default+ . _Coerce++-- | Always greater than or equal to min_probability.+gpdvdpehbMaxProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Double)+gpdvdpehbMaxProbability+ = lens _gpdvdpehbMaxProbability+ (\ s a -> s{_gpdvdpehbMaxProbability = a})+ . mapping _Coerce++-- | Between 0 and 1.+gpdvdpehbMinProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Double)+gpdvdpehbMinProbability+ = lens _gpdvdpehbMinProbability+ (\ s a -> s{_gpdvdpehbMinProbability = a})+ . mapping _Coerce++-- | Number of records within these probability bounds.+gpdvdpehbBucketSize :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Int64)+gpdvdpehbBucketSize+ = lens _gpdvdpehbBucketSize+ (\ s a -> s{_gpdvdpehbBucketSize = a})+ . mapping _Coerce++-- | Total number of distinct quasi-identifier tuple values in this bucket.+gpdvdpehbBucketValueCount :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket (Maybe Int64)+gpdvdpehbBucketValueCount+ = lens _gpdvdpehbBucketValueCount+ (\ s a -> s{_gpdvdpehbBucketValueCount = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket"+ (\ o ->+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'+ <$>+ (o .:? "bucketValues" .!= mempty) <*>+ (o .:? "maxProbability")+ <*> (o .:? "minProbability")+ <*> (o .:? "bucketSize")+ <*> (o .:? "bucketValueCount"))++instance ToJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket+ where+ toJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationHistogramBucket'{..}+ = object+ (catMaybes+ [("bucketValues" .=) <$> _gpdvdpehbBucketValues,+ ("maxProbability" .=) <$> _gpdvdpehbMaxProbability,+ ("minProbability" .=) <$> _gpdvdpehbMinProbability,+ ("bucketSize" .=) <$> _gpdvdpehbBucketSize,+ ("bucketValueCount" .=) <$>+ _gpdvdpehbBucketValueCount])++-- | Set of files to scan.+--+-- /See:/ 'googlePrivacyDlpV2FileSet' smart constructor.+data GooglePrivacyDlpV2FileSet =+ GooglePrivacyDlpV2FileSet'+ { _gpdvfsURL :: !(Maybe Text)+ , _gpdvfsRegexFileSet :: !(Maybe GooglePrivacyDlpV2CloudStorageRegexFileSet)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2FileSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvfsURL'+--+-- * 'gpdvfsRegexFileSet'+googlePrivacyDlpV2FileSet+ :: GooglePrivacyDlpV2FileSet+googlePrivacyDlpV2FileSet =+ GooglePrivacyDlpV2FileSet'+ {_gpdvfsURL = Nothing, _gpdvfsRegexFileSet = Nothing}+++-- | The Cloud Storage url of the file(s) to scan, in the format+-- \`gs:\/\/\/\`. Trailing wildcard in the path is allowed. If the url ends+-- in a trailing slash, the bucket or directory represented by the url will+-- be scanned non-recursively (content in sub-directories will not be+-- scanned). This means that \`gs:\/\/mybucket\/\` is equivalent to+-- \`gs:\/\/mybucket\/*\`, and \`gs:\/\/mybucket\/directory\/\` is+-- equivalent to \`gs:\/\/mybucket\/directory\/*\`. Exactly one of \`url\`+-- or \`regex_file_set\` must be set.+gpdvfsURL :: Lens' GooglePrivacyDlpV2FileSet (Maybe Text)+gpdvfsURL+ = lens _gpdvfsURL (\ s a -> s{_gpdvfsURL = a})++-- | The regex-filtered set of files to scan. Exactly one of \`url\` or+-- \`regex_file_set\` must be set.+gpdvfsRegexFileSet :: Lens' GooglePrivacyDlpV2FileSet (Maybe GooglePrivacyDlpV2CloudStorageRegexFileSet)+gpdvfsRegexFileSet+ = lens _gpdvfsRegexFileSet+ (\ s a -> s{_gpdvfsRegexFileSet = a})++instance FromJSON GooglePrivacyDlpV2FileSet where+ parseJSON+ = withObject "GooglePrivacyDlpV2FileSet"+ (\ o ->+ GooglePrivacyDlpV2FileSet' <$>+ (o .:? "url") <*> (o .:? "regexFileSet"))++instance ToJSON GooglePrivacyDlpV2FileSet where+ toJSON GooglePrivacyDlpV2FileSet'{..}+ = object+ (catMaybes+ [("url" .=) <$> _gpdvfsURL,+ ("regexFileSet" .=) <$> _gpdvfsRegexFileSet])++-- | Response message for ListInspectTemplates.+--+-- /See:/ 'googlePrivacyDlpV2ListInspectTemplatesResponse' smart constructor.+data GooglePrivacyDlpV2ListInspectTemplatesResponse =+ GooglePrivacyDlpV2ListInspectTemplatesResponse'+ { _gpdvlitrNextPageToken :: !(Maybe Text)+ , _gpdvlitrInspectTemplates :: !(Maybe [GooglePrivacyDlpV2InspectTemplate])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListInspectTemplatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlitrNextPageToken'+--+-- * 'gpdvlitrInspectTemplates'+googlePrivacyDlpV2ListInspectTemplatesResponse+ :: GooglePrivacyDlpV2ListInspectTemplatesResponse+googlePrivacyDlpV2ListInspectTemplatesResponse =+ GooglePrivacyDlpV2ListInspectTemplatesResponse'+ {_gpdvlitrNextPageToken = Nothing, _gpdvlitrInspectTemplates = Nothing}+++-- | If the next page is available then the next page token to be used in+-- following ListInspectTemplates request.+gpdvlitrNextPageToken :: Lens' GooglePrivacyDlpV2ListInspectTemplatesResponse (Maybe Text)+gpdvlitrNextPageToken+ = lens _gpdvlitrNextPageToken+ (\ s a -> s{_gpdvlitrNextPageToken = a})++-- | List of inspectTemplates, up to page_size in+-- ListInspectTemplatesRequest.+gpdvlitrInspectTemplates :: Lens' GooglePrivacyDlpV2ListInspectTemplatesResponse [GooglePrivacyDlpV2InspectTemplate]+gpdvlitrInspectTemplates+ = lens _gpdvlitrInspectTemplates+ (\ s a -> s{_gpdvlitrInspectTemplates = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListInspectTemplatesResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ListInspectTemplatesResponse"+ (\ o ->+ GooglePrivacyDlpV2ListInspectTemplatesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "inspectTemplates" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2ListInspectTemplatesResponse+ where+ toJSON+ GooglePrivacyDlpV2ListInspectTemplatesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _gpdvlitrNextPageToken,+ ("inspectTemplates" .=) <$>+ _gpdvlitrInspectTemplates])++-- | Result of the k-anonymity computation.+--+-- /See:/ 'googlePrivacyDlpV2KAnonymityResult' smart constructor.+newtype GooglePrivacyDlpV2KAnonymityResult =+ GooglePrivacyDlpV2KAnonymityResult'+ { _gpdvkarEquivalenceClassHistogramBuckets :: Maybe [GooglePrivacyDlpV2KAnonymityHistogramBucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KAnonymityResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkarEquivalenceClassHistogramBuckets'+googlePrivacyDlpV2KAnonymityResult+ :: GooglePrivacyDlpV2KAnonymityResult+googlePrivacyDlpV2KAnonymityResult =+ GooglePrivacyDlpV2KAnonymityResult'+ {_gpdvkarEquivalenceClassHistogramBuckets = Nothing}+++-- | Histogram of k-anonymity equivalence classes.+gpdvkarEquivalenceClassHistogramBuckets :: Lens' GooglePrivacyDlpV2KAnonymityResult [GooglePrivacyDlpV2KAnonymityHistogramBucket]+gpdvkarEquivalenceClassHistogramBuckets+ = lens _gpdvkarEquivalenceClassHistogramBuckets+ (\ s a ->+ s{_gpdvkarEquivalenceClassHistogramBuckets = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2KAnonymityResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KAnonymityResult"+ (\ o ->+ GooglePrivacyDlpV2KAnonymityResult' <$>+ (o .:? "equivalenceClassHistogramBuckets" .!=+ mempty))++instance ToJSON GooglePrivacyDlpV2KAnonymityResult+ where+ toJSON GooglePrivacyDlpV2KAnonymityResult'{..}+ = object+ (catMaybes+ [("equivalenceClassHistogramBuckets" .=) <$>+ _gpdvkarEquivalenceClassHistogramBuckets])++-- | Message defining a field of a BigQuery table.+--+-- /See:/ 'googlePrivacyDlpV2BigQueryField' smart constructor.+data GooglePrivacyDlpV2BigQueryField =+ GooglePrivacyDlpV2BigQueryField'+ { _gpdvbqfField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvbqfTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BigQueryField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbqfField'+--+-- * 'gpdvbqfTable'+googlePrivacyDlpV2BigQueryField+ :: GooglePrivacyDlpV2BigQueryField+googlePrivacyDlpV2BigQueryField =+ GooglePrivacyDlpV2BigQueryField'+ {_gpdvbqfField = Nothing, _gpdvbqfTable = Nothing}+++-- | Designated field in the BigQuery table.+gpdvbqfField :: Lens' GooglePrivacyDlpV2BigQueryField (Maybe GooglePrivacyDlpV2FieldId)+gpdvbqfField+ = lens _gpdvbqfField (\ s a -> s{_gpdvbqfField = a})++-- | Source table of the field.+gpdvbqfTable :: Lens' GooglePrivacyDlpV2BigQueryField (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvbqfTable+ = lens _gpdvbqfTable (\ s a -> s{_gpdvbqfTable = a})++instance FromJSON GooglePrivacyDlpV2BigQueryField+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2BigQueryField"+ (\ o ->+ GooglePrivacyDlpV2BigQueryField' <$>+ (o .:? "field") <*> (o .:? "table"))++instance ToJSON GooglePrivacyDlpV2BigQueryField where+ toJSON GooglePrivacyDlpV2BigQueryField'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gpdvbqfField,+ ("table" .=) <$> _gpdvbqfTable])++-- | Cloud repository for storing output.+--+-- /See:/ 'googlePrivacyDlpV2OutputStorageConfig' smart constructor.+data GooglePrivacyDlpV2OutputStorageConfig =+ GooglePrivacyDlpV2OutputStorageConfig'+ { _gpdvoscOutputSchema :: !(Maybe GooglePrivacyDlpV2OutputStorageConfigOutputSchema)+ , _gpdvoscTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2OutputStorageConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvoscOutputSchema'+--+-- * 'gpdvoscTable'+googlePrivacyDlpV2OutputStorageConfig+ :: GooglePrivacyDlpV2OutputStorageConfig+googlePrivacyDlpV2OutputStorageConfig =+ GooglePrivacyDlpV2OutputStorageConfig'+ {_gpdvoscOutputSchema = Nothing, _gpdvoscTable = Nothing}+++-- | Schema used for writing the findings for Inspect jobs. This field is+-- only used for Inspect and must be unspecified for Risk jobs. Columns are+-- derived from the \`Finding\` object. If appending to an existing table,+-- any columns from the predefined schema that are missing will be added.+-- No columns in the existing table will be deleted. If unspecified, then+-- all available columns will be used for a new table or an (existing)+-- table with no schema, and no changes will be made to an existing table+-- that has a schema.+gpdvoscOutputSchema :: Lens' GooglePrivacyDlpV2OutputStorageConfig (Maybe GooglePrivacyDlpV2OutputStorageConfigOutputSchema)+gpdvoscOutputSchema+ = lens _gpdvoscOutputSchema+ (\ s a -> s{_gpdvoscOutputSchema = a})++-- | Store findings in an existing table or a new table in an existing+-- dataset. If table_id is not set a new one will be generated for you with+-- the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific+-- timezone will be used for generating the date details. For Inspect, each+-- column in an existing output table must have the same name, type, and+-- mode of a field in the \`Finding\` object. For Risk, an existing output+-- table should be the output of a previous Risk analysis job run on the+-- same source table, with the same privacy metric and quasi-identifiers.+-- Risk jobs that analyze the same table but compute a different privacy+-- metric, or use different sets of quasi-identifiers, cannot store their+-- results in the same table.+gpdvoscTable :: Lens' GooglePrivacyDlpV2OutputStorageConfig (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvoscTable+ = lens _gpdvoscTable (\ s a -> s{_gpdvoscTable = a})++instance FromJSON+ GooglePrivacyDlpV2OutputStorageConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2OutputStorageConfig"+ (\ o ->+ GooglePrivacyDlpV2OutputStorageConfig' <$>+ (o .:? "outputSchema") <*> (o .:? "table"))++instance ToJSON GooglePrivacyDlpV2OutputStorageConfig+ where+ toJSON GooglePrivacyDlpV2OutputStorageConfig'{..}+ = object+ (catMaybes+ [("outputSchema" .=) <$> _gpdvoscOutputSchema,+ ("table" .=) <$> _gpdvoscTable])++-- | Message representing a set of files in Cloud Storage.+--+-- /See:/ 'googlePrivacyDlpV2CloudStorageFileSet' smart constructor.+newtype GooglePrivacyDlpV2CloudStorageFileSet =+ GooglePrivacyDlpV2CloudStorageFileSet'+ { _gpdvcsfsURL :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CloudStorageFileSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcsfsURL'+googlePrivacyDlpV2CloudStorageFileSet+ :: GooglePrivacyDlpV2CloudStorageFileSet+googlePrivacyDlpV2CloudStorageFileSet =+ GooglePrivacyDlpV2CloudStorageFileSet' {_gpdvcsfsURL = Nothing}+++-- | The url, in the format \`gs:\/\/\/\`. Trailing wildcard in the path is+-- allowed.+gpdvcsfsURL :: Lens' GooglePrivacyDlpV2CloudStorageFileSet (Maybe Text)+gpdvcsfsURL+ = lens _gpdvcsfsURL (\ s a -> s{_gpdvcsfsURL = a})++instance FromJSON+ GooglePrivacyDlpV2CloudStorageFileSet+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CloudStorageFileSet"+ (\ o ->+ GooglePrivacyDlpV2CloudStorageFileSet' <$>+ (o .:? "url"))++instance ToJSON GooglePrivacyDlpV2CloudStorageFileSet+ where+ toJSON GooglePrivacyDlpV2CloudStorageFileSet'{..}+ = object (catMaybes [("url" .=) <$> _gpdvcsfsURL])++-- | A type of transformation that will scan unstructured text and apply+-- various \`PrimitiveTransformation\`s to each finding, where the+-- transformation is applied to only values that were identified as a+-- specific info_type.+--+-- /See:/ 'googlePrivacyDlpV2InfoTypeTransformations' smart constructor.+newtype GooglePrivacyDlpV2InfoTypeTransformations =+ GooglePrivacyDlpV2InfoTypeTransformations'+ { _gpdvittTransformations :: Maybe [GooglePrivacyDlpV2InfoTypeTransformation]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoTypeTransformations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvittTransformations'+googlePrivacyDlpV2InfoTypeTransformations+ :: GooglePrivacyDlpV2InfoTypeTransformations+googlePrivacyDlpV2InfoTypeTransformations =+ GooglePrivacyDlpV2InfoTypeTransformations' {_gpdvittTransformations = Nothing}+++-- | Transformation for each infoType. Cannot specify more than one for a+-- given infoType. [required]+gpdvittTransformations :: Lens' GooglePrivacyDlpV2InfoTypeTransformations [GooglePrivacyDlpV2InfoTypeTransformation]+gpdvittTransformations+ = lens _gpdvittTransformations+ (\ s a -> s{_gpdvittTransformations = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2InfoTypeTransformations+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2InfoTypeTransformations"+ (\ o ->+ GooglePrivacyDlpV2InfoTypeTransformations' <$>+ (o .:? "transformations" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2InfoTypeTransformations+ where+ toJSON GooglePrivacyDlpV2InfoTypeTransformations'{..}+ = object+ (catMaybes+ [("transformations" .=) <$> _gpdvittTransformations])++-- | Include to use an existing data crypto key wrapped by KMS. The wrapped+-- key must be a 128\/192\/256 bit key. Authorization requires the+-- following IAM permissions when sending a request to perform a crypto+-- transformation using a kms-wrapped crypto key: dlp.kms.encrypt+--+-- /See:/ 'googlePrivacyDlpV2KmsWrAppedCryptoKey' smart constructor.+data GooglePrivacyDlpV2KmsWrAppedCryptoKey =+ GooglePrivacyDlpV2KmsWrAppedCryptoKey'+ { _gpdvkwackWrAppedKey :: !(Maybe Bytes)+ , _gpdvkwackCryptoKeyName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KmsWrAppedCryptoKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkwackWrAppedKey'+--+-- * 'gpdvkwackCryptoKeyName'+googlePrivacyDlpV2KmsWrAppedCryptoKey+ :: GooglePrivacyDlpV2KmsWrAppedCryptoKey+googlePrivacyDlpV2KmsWrAppedCryptoKey =+ GooglePrivacyDlpV2KmsWrAppedCryptoKey'+ {_gpdvkwackWrAppedKey = Nothing, _gpdvkwackCryptoKeyName = Nothing}+++-- | The wrapped data crypto key. [required]+gpdvkwackWrAppedKey :: Lens' GooglePrivacyDlpV2KmsWrAppedCryptoKey (Maybe ByteString)+gpdvkwackWrAppedKey+ = lens _gpdvkwackWrAppedKey+ (\ s a -> s{_gpdvkwackWrAppedKey = a})+ . mapping _Bytes++-- | The resource name of the KMS CryptoKey to use for unwrapping. [required]+gpdvkwackCryptoKeyName :: Lens' GooglePrivacyDlpV2KmsWrAppedCryptoKey (Maybe Text)+gpdvkwackCryptoKeyName+ = lens _gpdvkwackCryptoKeyName+ (\ s a -> s{_gpdvkwackCryptoKeyName = a})++instance FromJSON+ GooglePrivacyDlpV2KmsWrAppedCryptoKey+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KmsWrAppedCryptoKey"+ (\ o ->+ GooglePrivacyDlpV2KmsWrAppedCryptoKey' <$>+ (o .:? "wrappedKey") <*> (o .:? "cryptoKeyName"))++instance ToJSON GooglePrivacyDlpV2KmsWrAppedCryptoKey+ where+ toJSON GooglePrivacyDlpV2KmsWrAppedCryptoKey'{..}+ = object+ (catMaybes+ [("wrappedKey" .=) <$> _gpdvkwackWrAppedKey,+ ("cryptoKeyName" .=) <$> _gpdvkwackCryptoKeyName])++-- | Results of inspecting an item.+--+-- /See:/ 'googlePrivacyDlpV2InspectContentResponse' smart constructor.+newtype GooglePrivacyDlpV2InspectContentResponse =+ GooglePrivacyDlpV2InspectContentResponse'+ { _gpdvicrResult :: Maybe GooglePrivacyDlpV2InspectResult+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectContentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvicrResult'+googlePrivacyDlpV2InspectContentResponse+ :: GooglePrivacyDlpV2InspectContentResponse+googlePrivacyDlpV2InspectContentResponse =+ GooglePrivacyDlpV2InspectContentResponse' {_gpdvicrResult = Nothing}+++-- | The findings.+gpdvicrResult :: Lens' GooglePrivacyDlpV2InspectContentResponse (Maybe GooglePrivacyDlpV2InspectResult)+gpdvicrResult+ = lens _gpdvicrResult+ (\ s a -> s{_gpdvicrResult = a})++instance FromJSON+ GooglePrivacyDlpV2InspectContentResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2InspectContentResponse"+ (\ o ->+ GooglePrivacyDlpV2InspectContentResponse' <$>+ (o .:? "result"))++instance ToJSON+ GooglePrivacyDlpV2InspectContentResponse+ where+ toJSON GooglePrivacyDlpV2InspectContentResponse'{..}+ = object+ (catMaybes [("result" .=) <$> _gpdvicrResult])++--+-- /See:/ 'googlePrivacyDlpV2LDiversityHistogramBucket' smart constructor.+data GooglePrivacyDlpV2LDiversityHistogramBucket =+ GooglePrivacyDlpV2LDiversityHistogramBucket'+ { _gpdvldhbBucketValues :: !(Maybe [GooglePrivacyDlpV2LDiversityEquivalenceClass])+ , _gpdvldhbSensitiveValueFrequencyLowerBound :: !(Maybe (Textual Int64))+ , _gpdvldhbSensitiveValueFrequencyUpperBound :: !(Maybe (Textual Int64))+ , _gpdvldhbBucketSize :: !(Maybe (Textual Int64))+ , _gpdvldhbBucketValueCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LDiversityHistogramBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldhbBucketValues'+--+-- * 'gpdvldhbSensitiveValueFrequencyLowerBound'+--+-- * 'gpdvldhbSensitiveValueFrequencyUpperBound'+--+-- * 'gpdvldhbBucketSize'+--+-- * 'gpdvldhbBucketValueCount'+googlePrivacyDlpV2LDiversityHistogramBucket+ :: GooglePrivacyDlpV2LDiversityHistogramBucket+googlePrivacyDlpV2LDiversityHistogramBucket =+ GooglePrivacyDlpV2LDiversityHistogramBucket'+ { _gpdvldhbBucketValues = Nothing+ , _gpdvldhbSensitiveValueFrequencyLowerBound = Nothing+ , _gpdvldhbSensitiveValueFrequencyUpperBound = Nothing+ , _gpdvldhbBucketSize = Nothing+ , _gpdvldhbBucketValueCount = Nothing+ }+++-- | Sample of equivalence classes in this bucket. The total number of+-- classes returned per bucket is capped at 20.+gpdvldhbBucketValues :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket [GooglePrivacyDlpV2LDiversityEquivalenceClass]+gpdvldhbBucketValues+ = lens _gpdvldhbBucketValues+ (\ s a -> s{_gpdvldhbBucketValues = a})+ . _Default+ . _Coerce++-- | Lower bound on the sensitive value frequencies of the equivalence+-- classes in this bucket.+gpdvldhbSensitiveValueFrequencyLowerBound :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)+gpdvldhbSensitiveValueFrequencyLowerBound+ = lens _gpdvldhbSensitiveValueFrequencyLowerBound+ (\ s a ->+ s{_gpdvldhbSensitiveValueFrequencyLowerBound = a})+ . mapping _Coerce++-- | Upper bound on the sensitive value frequencies of the equivalence+-- classes in this bucket.+gpdvldhbSensitiveValueFrequencyUpperBound :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)+gpdvldhbSensitiveValueFrequencyUpperBound+ = lens _gpdvldhbSensitiveValueFrequencyUpperBound+ (\ s a ->+ s{_gpdvldhbSensitiveValueFrequencyUpperBound = a})+ . mapping _Coerce++-- | Total number of equivalence classes in this bucket.+gpdvldhbBucketSize :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)+gpdvldhbBucketSize+ = lens _gpdvldhbBucketSize+ (\ s a -> s{_gpdvldhbBucketSize = a})+ . mapping _Coerce++-- | Total number of distinct equivalence classes in this bucket.+gpdvldhbBucketValueCount :: Lens' GooglePrivacyDlpV2LDiversityHistogramBucket (Maybe Int64)+gpdvldhbBucketValueCount+ = lens _gpdvldhbBucketValueCount+ (\ s a -> s{_gpdvldhbBucketValueCount = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2LDiversityHistogramBucket+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2LDiversityHistogramBucket"+ (\ o ->+ GooglePrivacyDlpV2LDiversityHistogramBucket' <$>+ (o .:? "bucketValues" .!= mempty) <*>+ (o .:? "sensitiveValueFrequencyLowerBound")+ <*> (o .:? "sensitiveValueFrequencyUpperBound")+ <*> (o .:? "bucketSize")+ <*> (o .:? "bucketValueCount"))++instance ToJSON+ GooglePrivacyDlpV2LDiversityHistogramBucket+ where+ toJSON+ GooglePrivacyDlpV2LDiversityHistogramBucket'{..}+ = object+ (catMaybes+ [("bucketValues" .=) <$> _gpdvldhbBucketValues,+ ("sensitiveValueFrequencyLowerBound" .=) <$>+ _gpdvldhbSensitiveValueFrequencyLowerBound,+ ("sensitiveValueFrequencyUpperBound" .=) <$>+ _gpdvldhbSensitiveValueFrequencyUpperBound,+ ("bucketSize" .=) <$> _gpdvldhbBucketSize,+ ("bucketValueCount" .=) <$>+ _gpdvldhbBucketValueCount])++-- | Results of re-identifying a item.+--+-- /See:/ 'googlePrivacyDlpV2ReidentifyContentResponse' smart constructor.+data GooglePrivacyDlpV2ReidentifyContentResponse =+ GooglePrivacyDlpV2ReidentifyContentResponse'+ { _gpdvrcrOverview :: !(Maybe GooglePrivacyDlpV2TransformationOverview)+ , _gpdvrcrItem :: !(Maybe GooglePrivacyDlpV2ContentItem)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ReidentifyContentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrcrOverview'+--+-- * 'gpdvrcrItem'+googlePrivacyDlpV2ReidentifyContentResponse+ :: GooglePrivacyDlpV2ReidentifyContentResponse+googlePrivacyDlpV2ReidentifyContentResponse =+ GooglePrivacyDlpV2ReidentifyContentResponse'+ {_gpdvrcrOverview = Nothing, _gpdvrcrItem = Nothing}+++-- | An overview of the changes that were made to the \`item\`.+gpdvrcrOverview :: Lens' GooglePrivacyDlpV2ReidentifyContentResponse (Maybe GooglePrivacyDlpV2TransformationOverview)+gpdvrcrOverview+ = lens _gpdvrcrOverview+ (\ s a -> s{_gpdvrcrOverview = a})++-- | The re-identified item.+gpdvrcrItem :: Lens' GooglePrivacyDlpV2ReidentifyContentResponse (Maybe GooglePrivacyDlpV2ContentItem)+gpdvrcrItem+ = lens _gpdvrcrItem (\ s a -> s{_gpdvrcrItem = a})++instance FromJSON+ GooglePrivacyDlpV2ReidentifyContentResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ReidentifyContentResponse"+ (\ o ->+ GooglePrivacyDlpV2ReidentifyContentResponse' <$>+ (o .:? "overview") <*> (o .:? "item"))++instance ToJSON+ GooglePrivacyDlpV2ReidentifyContentResponse+ where+ toJSON+ GooglePrivacyDlpV2ReidentifyContentResponse'{..}+ = object+ (catMaybes+ [("overview" .=) <$> _gpdvrcrOverview,+ ("item" .=) <$> _gpdvrcrItem])++-- | An expression, consisting or an operator and conditions.+--+-- /See:/ 'googlePrivacyDlpV2Expressions' smart constructor.+data GooglePrivacyDlpV2Expressions =+ GooglePrivacyDlpV2Expressions'+ { _gpdveLogicalOperator :: !(Maybe GooglePrivacyDlpV2ExpressionsLogicalOperator)+ , _gpdveConditions :: !(Maybe GooglePrivacyDlpV2Conditions)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Expressions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdveLogicalOperator'+--+-- * 'gpdveConditions'+googlePrivacyDlpV2Expressions+ :: GooglePrivacyDlpV2Expressions+googlePrivacyDlpV2Expressions =+ GooglePrivacyDlpV2Expressions'+ {_gpdveLogicalOperator = Nothing, _gpdveConditions = Nothing}+++-- | The operator to apply to the result of conditions. Default and currently+-- only supported value is \`AND\`.+gpdveLogicalOperator :: Lens' GooglePrivacyDlpV2Expressions (Maybe GooglePrivacyDlpV2ExpressionsLogicalOperator)+gpdveLogicalOperator+ = lens _gpdveLogicalOperator+ (\ s a -> s{_gpdveLogicalOperator = a})++gpdveConditions :: Lens' GooglePrivacyDlpV2Expressions (Maybe GooglePrivacyDlpV2Conditions)+gpdveConditions+ = lens _gpdveConditions+ (\ s a -> s{_gpdveConditions = a})++instance FromJSON GooglePrivacyDlpV2Expressions where+ parseJSON+ = withObject "GooglePrivacyDlpV2Expressions"+ (\ o ->+ GooglePrivacyDlpV2Expressions' <$>+ (o .:? "logicalOperator") <*> (o .:? "conditions"))++instance ToJSON GooglePrivacyDlpV2Expressions where+ toJSON GooglePrivacyDlpV2Expressions'{..}+ = object+ (catMaybes+ [("logicalOperator" .=) <$> _gpdveLogicalOperator,+ ("conditions" .=) <$> _gpdveConditions])++-- | Message for a date time object. e.g. 2018-01-01, 5th August.+--+-- /See:/ 'googlePrivacyDlpV2DateTime' smart constructor.+data GooglePrivacyDlpV2DateTime =+ GooglePrivacyDlpV2DateTime'+ { _gpdvdtTime :: !(Maybe GoogleTypeTimeOfDay)+ , _gpdvdtDate :: !(Maybe GoogleTypeDate)+ , _gpdvdtTimeZone :: !(Maybe GooglePrivacyDlpV2TimeZone)+ , _gpdvdtDayOfWeek :: !(Maybe GooglePrivacyDlpV2DateTimeDayOfWeek)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DateTime' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdtTime'+--+-- * 'gpdvdtDate'+--+-- * 'gpdvdtTimeZone'+--+-- * 'gpdvdtDayOfWeek'+googlePrivacyDlpV2DateTime+ :: GooglePrivacyDlpV2DateTime+googlePrivacyDlpV2DateTime =+ GooglePrivacyDlpV2DateTime'+ { _gpdvdtTime = Nothing+ , _gpdvdtDate = Nothing+ , _gpdvdtTimeZone = Nothing+ , _gpdvdtDayOfWeek = Nothing+ }+++gpdvdtTime :: Lens' GooglePrivacyDlpV2DateTime (Maybe GoogleTypeTimeOfDay)+gpdvdtTime+ = lens _gpdvdtTime (\ s a -> s{_gpdvdtTime = a})++-- | One or more of the following must be set. All fields are optional, but+-- when set must be valid date or time values.+gpdvdtDate :: Lens' GooglePrivacyDlpV2DateTime (Maybe GoogleTypeDate)+gpdvdtDate+ = lens _gpdvdtDate (\ s a -> s{_gpdvdtDate = a})++gpdvdtTimeZone :: Lens' GooglePrivacyDlpV2DateTime (Maybe GooglePrivacyDlpV2TimeZone)+gpdvdtTimeZone+ = lens _gpdvdtTimeZone+ (\ s a -> s{_gpdvdtTimeZone = a})++gpdvdtDayOfWeek :: Lens' GooglePrivacyDlpV2DateTime (Maybe GooglePrivacyDlpV2DateTimeDayOfWeek)+gpdvdtDayOfWeek+ = lens _gpdvdtDayOfWeek+ (\ s a -> s{_gpdvdtDayOfWeek = a})++instance FromJSON GooglePrivacyDlpV2DateTime where+ parseJSON+ = withObject "GooglePrivacyDlpV2DateTime"+ (\ o ->+ GooglePrivacyDlpV2DateTime' <$>+ (o .:? "time") <*> (o .:? "date") <*>+ (o .:? "timeZone")+ <*> (o .:? "dayOfWeek"))++instance ToJSON GooglePrivacyDlpV2DateTime where+ toJSON GooglePrivacyDlpV2DateTime'{..}+ = object+ (catMaybes+ [("time" .=) <$> _gpdvdtTime,+ ("date" .=) <$> _gpdvdtDate,+ ("timeZone" .=) <$> _gpdvdtTimeZone,+ ("dayOfWeek" .=) <$> _gpdvdtDayOfWeek])++-- | Message representing a set of files in a Cloud Storage bucket. Regular+-- expressions are used to allow fine-grained control over which files in+-- the bucket to include. Included files are those that match at least one+-- item in \`include_regex\` and do not match any items in+-- \`exclude_regex\`. Note that a file that matches items from both lists+-- will _not_ be included. For a match to occur, the entire file path+-- (i.e., everything in the url after the bucket name) must match the+-- regular expression. For example, given the input \`{bucket_name:+-- \"mybucket\", include_regex: [\"directory1\/.*\"], exclude_regex:+-- [\"directory1\/excluded.*\"]}\`: *+-- \`gs:\/\/mybucket\/directory1\/myfile\` will be included *+-- \`gs:\/\/mybucket\/directory1\/directory2\/myfile\` will be included+-- (\`.*\` matches across \`\/\`) *+-- \`gs:\/\/mybucket\/directory0\/directory1\/myfile\` will _not_ be+-- included (the full path doesn\'t match any items in \`include_regex\`) *+-- \`gs:\/\/mybucket\/directory1\/excludedfile\` will _not_ be included+-- (the path matches an item in \`exclude_regex\`) If \`include_regex\` is+-- left empty, it will match all files by default (this is equivalent to+-- setting \`include_regex: [\".*\"]\`). Some other common use cases: *+-- \`{bucket_name: \"mybucket\", exclude_regex: [\".*\\.pdf\"]}\` will+-- include all files in \`mybucket\` except for .pdf files *+-- \`{bucket_name: \"mybucket\", include_regex: [\"directory\/[^\/]+\"]}\`+-- will include all files directly under \`gs:\/\/mybucket\/directory\/\`,+-- without matching across \`\/\`+--+-- /See:/ 'googlePrivacyDlpV2CloudStorageRegexFileSet' smart constructor.+data GooglePrivacyDlpV2CloudStorageRegexFileSet =+ GooglePrivacyDlpV2CloudStorageRegexFileSet'+ { _gpdvcsrfsExcludeRegex :: !(Maybe [Text])+ , _gpdvcsrfsBucketName :: !(Maybe Text)+ , _gpdvcsrfsIncludeRegex :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CloudStorageRegexFileSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcsrfsExcludeRegex'+--+-- * 'gpdvcsrfsBucketName'+--+-- * 'gpdvcsrfsIncludeRegex'+googlePrivacyDlpV2CloudStorageRegexFileSet+ :: GooglePrivacyDlpV2CloudStorageRegexFileSet+googlePrivacyDlpV2CloudStorageRegexFileSet =+ GooglePrivacyDlpV2CloudStorageRegexFileSet'+ { _gpdvcsrfsExcludeRegex = Nothing+ , _gpdvcsrfsBucketName = Nothing+ , _gpdvcsrfsIncludeRegex = Nothing+ }+++-- | A list of regular expressions matching file paths to exclude. All files+-- in the bucket that match at least one of these regular expressions will+-- be excluded from the scan. Regular expressions use RE2+-- [syntax](https:\/\/github.com\/google\/re2\/wiki\/Syntax); a guide can+-- be found under the google\/re2 repository on GitHub.+gpdvcsrfsExcludeRegex :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet [Text]+gpdvcsrfsExcludeRegex+ = lens _gpdvcsrfsExcludeRegex+ (\ s a -> s{_gpdvcsrfsExcludeRegex = a})+ . _Default+ . _Coerce++-- | The name of a Cloud Storage bucket. Required.+gpdvcsrfsBucketName :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet (Maybe Text)+gpdvcsrfsBucketName+ = lens _gpdvcsrfsBucketName+ (\ s a -> s{_gpdvcsrfsBucketName = a})++-- | A list of regular expressions matching file paths to include. All files+-- in the bucket that match at least one of these regular expressions will+-- be included in the set of files, except for those that also match an+-- item in \`exclude_regex\`. Leaving this field empty will match all files+-- by default (this is equivalent to including \`.*\` in the list). Regular+-- expressions use RE2+-- [syntax](https:\/\/github.com\/google\/re2\/wiki\/Syntax); a guide can+-- be found under the google\/re2 repository on GitHub.+gpdvcsrfsIncludeRegex :: Lens' GooglePrivacyDlpV2CloudStorageRegexFileSet [Text]+gpdvcsrfsIncludeRegex+ = lens _gpdvcsrfsIncludeRegex+ (\ s a -> s{_gpdvcsrfsIncludeRegex = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2CloudStorageRegexFileSet+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CloudStorageRegexFileSet"+ (\ o ->+ GooglePrivacyDlpV2CloudStorageRegexFileSet' <$>+ (o .:? "excludeRegex" .!= mempty) <*>+ (o .:? "bucketName")+ <*> (o .:? "includeRegex" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2CloudStorageRegexFileSet+ where+ toJSON+ GooglePrivacyDlpV2CloudStorageRegexFileSet'{..}+ = object+ (catMaybes+ [("excludeRegex" .=) <$> _gpdvcsrfsExcludeRegex,+ ("bucketName" .=) <$> _gpdvcsrfsBucketName,+ ("includeRegex" .=) <$> _gpdvcsrfsIncludeRegex])++-- | Bucket is represented as a range, along with replacement values.+--+-- /See:/ 'googlePrivacyDlpV2Bucket' smart constructor.+data GooglePrivacyDlpV2Bucket =+ GooglePrivacyDlpV2Bucket'+ { _gpdvbMax :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvbReplacementValue :: !(Maybe GooglePrivacyDlpV2Value)+ , _gpdvbMin :: !(Maybe GooglePrivacyDlpV2Value)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Bucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbMax'+--+-- * 'gpdvbReplacementValue'+--+-- * 'gpdvbMin'+googlePrivacyDlpV2Bucket+ :: GooglePrivacyDlpV2Bucket+googlePrivacyDlpV2Bucket =+ GooglePrivacyDlpV2Bucket'+ {_gpdvbMax = Nothing, _gpdvbReplacementValue = Nothing, _gpdvbMin = Nothing}+++-- | Upper bound of the range, exclusive; type must match min.+gpdvbMax :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)+gpdvbMax = lens _gpdvbMax (\ s a -> s{_gpdvbMax = a})++-- | Replacement value for this bucket. If not provided the default behavior+-- will be to hyphenate the min-max range.+gpdvbReplacementValue :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)+gpdvbReplacementValue+ = lens _gpdvbReplacementValue+ (\ s a -> s{_gpdvbReplacementValue = a})++-- | Lower bound of the range, inclusive. Type should be the same as max if+-- used.+gpdvbMin :: Lens' GooglePrivacyDlpV2Bucket (Maybe GooglePrivacyDlpV2Value)+gpdvbMin = lens _gpdvbMin (\ s a -> s{_gpdvbMin = a})++instance FromJSON GooglePrivacyDlpV2Bucket where+ parseJSON+ = withObject "GooglePrivacyDlpV2Bucket"+ (\ o ->+ GooglePrivacyDlpV2Bucket' <$>+ (o .:? "max") <*> (o .:? "replacementValue") <*>+ (o .:? "min"))++instance ToJSON GooglePrivacyDlpV2Bucket where+ toJSON GooglePrivacyDlpV2Bucket'{..}+ = object+ (catMaybes+ [("max" .=) <$> _gpdvbMax,+ ("replacementValue" .=) <$> _gpdvbReplacementValue,+ ("min" .=) <$> _gpdvbMin])++-- | A task to execute on the completion of a job. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-actions to learn more.+--+-- /See:/ 'googlePrivacyDlpV2Action' smart constructor.+data GooglePrivacyDlpV2Action =+ GooglePrivacyDlpV2Action'+ { _gpdvaJobNotificationEmails :: !(Maybe GooglePrivacyDlpV2JobNotificationEmails)+ , _gpdvaPubSub :: !(Maybe GooglePrivacyDlpV2PublishToPubSub)+ , _gpdvaSaveFindings :: !(Maybe GooglePrivacyDlpV2SaveFindings)+ , _gpdvaPublishSummaryToCscc :: !(Maybe GooglePrivacyDlpV2PublishSummaryToCscc)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Action' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvaJobNotificationEmails'+--+-- * 'gpdvaPubSub'+--+-- * 'gpdvaSaveFindings'+--+-- * 'gpdvaPublishSummaryToCscc'+googlePrivacyDlpV2Action+ :: GooglePrivacyDlpV2Action+googlePrivacyDlpV2Action =+ GooglePrivacyDlpV2Action'+ { _gpdvaJobNotificationEmails = Nothing+ , _gpdvaPubSub = Nothing+ , _gpdvaSaveFindings = Nothing+ , _gpdvaPublishSummaryToCscc = Nothing+ }+++-- | Enable email notification to project owners and editors on job\'s+-- completion\/failure.+gpdvaJobNotificationEmails :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2JobNotificationEmails)+gpdvaJobNotificationEmails+ = lens _gpdvaJobNotificationEmails+ (\ s a -> s{_gpdvaJobNotificationEmails = a})++-- | Publish a notification to a pubsub topic.+gpdvaPubSub :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2PublishToPubSub)+gpdvaPubSub+ = lens _gpdvaPubSub (\ s a -> s{_gpdvaPubSub = a})++-- | Save resulting findings in a provided location.+gpdvaSaveFindings :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2SaveFindings)+gpdvaSaveFindings+ = lens _gpdvaSaveFindings+ (\ s a -> s{_gpdvaSaveFindings = a})++-- | Publish summary to Cloud Security Command Center (Alpha).+gpdvaPublishSummaryToCscc :: Lens' GooglePrivacyDlpV2Action (Maybe GooglePrivacyDlpV2PublishSummaryToCscc)+gpdvaPublishSummaryToCscc+ = lens _gpdvaPublishSummaryToCscc+ (\ s a -> s{_gpdvaPublishSummaryToCscc = a})++instance FromJSON GooglePrivacyDlpV2Action where+ parseJSON+ = withObject "GooglePrivacyDlpV2Action"+ (\ o ->+ GooglePrivacyDlpV2Action' <$>+ (o .:? "jobNotificationEmails") <*> (o .:? "pubSub")+ <*> (o .:? "saveFindings")+ <*> (o .:? "publishSummaryToCscc"))++instance ToJSON GooglePrivacyDlpV2Action where+ toJSON GooglePrivacyDlpV2Action'{..}+ = object+ (catMaybes+ [("jobNotificationEmails" .=) <$>+ _gpdvaJobNotificationEmails,+ ("pubSub" .=) <$> _gpdvaPubSub,+ ("saveFindings" .=) <$> _gpdvaSaveFindings,+ ("publishSummaryToCscc" .=) <$>+ _gpdvaPublishSummaryToCscc])++-- | Represents a whole or partial calendar date, e.g. a birthday. The time+-- of day and time zone are either specified elsewhere or are not+-- significant. The date is relative to the Proleptic Gregorian Calendar.+-- This can represent: * A full date, with non-zero year, month and day+-- values * A month and day value, with a zero year, e.g. an anniversary *+-- A year on its own, with zero month and day values * A year and month+-- value, with a zero day, e.g. a credit card expiration date Related types+-- are google.type.TimeOfDay and \`google.protobuf.Timestamp\`.+--+-- /See:/ 'googleTypeDate' smart constructor.+data GoogleTypeDate =+ GoogleTypeDate'+ { _gtdDay :: !(Maybe (Textual Int32))+ , _gtdYear :: !(Maybe (Textual Int32))+ , _gtdMonth :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GoogleTypeDate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtdDay'+--+-- * 'gtdYear'+--+-- * 'gtdMonth'+googleTypeDate+ :: GoogleTypeDate+googleTypeDate =+ GoogleTypeDate' {_gtdDay = Nothing, _gtdYear = Nothing, _gtdMonth = Nothing}+++-- | Day of month. Must be from 1 to 31 and valid for the year and month, or+-- 0 if specifying a year by itself or a year and month where the day is+-- not significant.+gtdDay :: Lens' GoogleTypeDate (Maybe Int32)+gtdDay+ = lens _gtdDay (\ s a -> s{_gtdDay = a}) .+ mapping _Coerce++-- | Year of date. Must be from 1 to 9999, or 0 if specifying a date without+-- a year.+gtdYear :: Lens' GoogleTypeDate (Maybe Int32)+gtdYear+ = lens _gtdYear (\ s a -> s{_gtdYear = a}) .+ mapping _Coerce++-- | Month of year. Must be from 1 to 12, or 0 if specifying a year without a+-- month and day.+gtdMonth :: Lens' GoogleTypeDate (Maybe Int32)+gtdMonth+ = lens _gtdMonth (\ s a -> s{_gtdMonth = a}) .+ mapping _Coerce++instance FromJSON GoogleTypeDate where+ parseJSON+ = withObject "GoogleTypeDate"+ (\ o ->+ GoogleTypeDate' <$>+ (o .:? "day") <*> (o .:? "year") <*> (o .:? "month"))++instance ToJSON GoogleTypeDate where+ toJSON GoogleTypeDate'{..}+ = object+ (catMaybes+ [("day" .=) <$> _gtdDay, ("year" .=) <$> _gtdYear,+ ("month" .=) <$> _gtdMonth])++-- | Message for detecting output from deidentification transformations such+-- as+-- [\`CryptoReplaceFfxFpeConfig\`](\/dlp\/docs\/reference\/rest\/v2\/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).+-- These types of transformations are those that perform pseudonymization,+-- thereby producing a \"surrogate\" as output. This should be used in+-- conjunction with a field on the transformation such as+-- \`surrogate_info_type\`. This CustomInfoType does not support the use of+-- \`detection_rules\`.+--+-- /See:/ 'googlePrivacyDlpV2SurrogateType' smart constructor.+data GooglePrivacyDlpV2SurrogateType =+ GooglePrivacyDlpV2SurrogateType'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2SurrogateType' with the minimum fields required to make a request.+--+googlePrivacyDlpV2SurrogateType+ :: GooglePrivacyDlpV2SurrogateType+googlePrivacyDlpV2SurrogateType = GooglePrivacyDlpV2SurrogateType'+++instance FromJSON GooglePrivacyDlpV2SurrogateType+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2SurrogateType"+ (\ o -> pure GooglePrivacyDlpV2SurrogateType')++instance ToJSON GooglePrivacyDlpV2SurrogateType where+ toJSON = const emptyObject++-- | Structured content to inspect. Up to 50,000 \`Value\`s per request+-- allowed. See+-- https:\/\/cloud.google.com\/dlp\/docs\/inspecting-text#inspecting_a_table+-- to learn more.+--+-- /See:/ 'googlePrivacyDlpV2Table' smart constructor.+data GooglePrivacyDlpV2Table =+ GooglePrivacyDlpV2Table'+ { _gpdvtRows :: !(Maybe [GooglePrivacyDlpV2Row])+ , _gpdvtHeaders :: !(Maybe [GooglePrivacyDlpV2FieldId])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtRows'+--+-- * 'gpdvtHeaders'+googlePrivacyDlpV2Table+ :: GooglePrivacyDlpV2Table+googlePrivacyDlpV2Table =+ GooglePrivacyDlpV2Table' {_gpdvtRows = Nothing, _gpdvtHeaders = Nothing}+++gpdvtRows :: Lens' GooglePrivacyDlpV2Table [GooglePrivacyDlpV2Row]+gpdvtRows+ = lens _gpdvtRows (\ s a -> s{_gpdvtRows = a}) .+ _Default+ . _Coerce++gpdvtHeaders :: Lens' GooglePrivacyDlpV2Table [GooglePrivacyDlpV2FieldId]+gpdvtHeaders+ = lens _gpdvtHeaders (\ s a -> s{_gpdvtHeaders = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2Table where+ parseJSON+ = withObject "GooglePrivacyDlpV2Table"+ (\ o ->+ GooglePrivacyDlpV2Table' <$>+ (o .:? "rows" .!= mempty) <*>+ (o .:? "headers" .!= mempty))++instance ToJSON GooglePrivacyDlpV2Table where+ toJSON GooglePrivacyDlpV2Table'{..}+ = object+ (catMaybes+ [("rows" .=) <$> _gpdvtRows,+ ("headers" .=) <$> _gpdvtHeaders])++-- | Result of the l-diversity computation.+--+-- /See:/ 'googlePrivacyDlpV2LDiversityResult' smart constructor.+newtype GooglePrivacyDlpV2LDiversityResult =+ GooglePrivacyDlpV2LDiversityResult'+ { _gpdvldrSensitiveValueFrequencyHistogramBuckets :: Maybe [GooglePrivacyDlpV2LDiversityHistogramBucket]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2LDiversityResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvldrSensitiveValueFrequencyHistogramBuckets'+googlePrivacyDlpV2LDiversityResult+ :: GooglePrivacyDlpV2LDiversityResult+googlePrivacyDlpV2LDiversityResult =+ GooglePrivacyDlpV2LDiversityResult'+ {_gpdvldrSensitiveValueFrequencyHistogramBuckets = Nothing}+++-- | Histogram of l-diversity equivalence class sensitive value frequencies.+gpdvldrSensitiveValueFrequencyHistogramBuckets :: Lens' GooglePrivacyDlpV2LDiversityResult [GooglePrivacyDlpV2LDiversityHistogramBucket]+gpdvldrSensitiveValueFrequencyHistogramBuckets+ = lens+ _gpdvldrSensitiveValueFrequencyHistogramBuckets+ (\ s a ->+ s{_gpdvldrSensitiveValueFrequencyHistogramBuckets =+ a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2LDiversityResult+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2LDiversityResult"+ (\ o ->+ GooglePrivacyDlpV2LDiversityResult' <$>+ (o .:? "sensitiveValueFrequencyHistogramBuckets" .!=+ mempty))++instance ToJSON GooglePrivacyDlpV2LDiversityResult+ where+ toJSON GooglePrivacyDlpV2LDiversityResult'{..}+ = object+ (catMaybes+ [("sensitiveValueFrequencyHistogramBuckets" .=) <$>+ _gpdvldrSensitiveValueFrequencyHistogramBuckets])++-- | Reidentifiability metric. This corresponds to a risk model similar to+-- what is called \"journalist risk\" in the literature, except the attack+-- dataset is statistically modeled instead of being perfectly known. This+-- can be done using publicly available data (like the US Census), or using+-- a custom statistical model (indicated as one or several BigQuery+-- tables), or by extrapolating from the distribution of values in the+-- input dataset. A column with a semantic tag attached.+--+-- /See:/ 'googlePrivacyDlpV2KMapEstimationConfig' smart constructor.+data GooglePrivacyDlpV2KMapEstimationConfig =+ GooglePrivacyDlpV2KMapEstimationConfig'+ { _gpdvkmecAuxiliaryTables :: !(Maybe [GooglePrivacyDlpV2AuxiliaryTable])+ , _gpdvkmecRegionCode :: !(Maybe Text)+ , _gpdvkmecQuasiIds :: !(Maybe [GooglePrivacyDlpV2TaggedField])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KMapEstimationConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkmecAuxiliaryTables'+--+-- * 'gpdvkmecRegionCode'+--+-- * 'gpdvkmecQuasiIds'+googlePrivacyDlpV2KMapEstimationConfig+ :: GooglePrivacyDlpV2KMapEstimationConfig+googlePrivacyDlpV2KMapEstimationConfig =+ GooglePrivacyDlpV2KMapEstimationConfig'+ { _gpdvkmecAuxiliaryTables = Nothing+ , _gpdvkmecRegionCode = Nothing+ , _gpdvkmecQuasiIds = Nothing+ }+++-- | Several auxiliary tables can be used in the analysis. Each custom_tag+-- used to tag a quasi-identifiers column must appear in exactly one column+-- of one auxiliary table.+gpdvkmecAuxiliaryTables :: Lens' GooglePrivacyDlpV2KMapEstimationConfig [GooglePrivacyDlpV2AuxiliaryTable]+gpdvkmecAuxiliaryTables+ = lens _gpdvkmecAuxiliaryTables+ (\ s a -> s{_gpdvkmecAuxiliaryTables = a})+ . _Default+ . _Coerce++-- | ISO 3166-1 alpha-2 region code to use in the statistical modeling.+-- Required if no column is tagged with a region-specific InfoType (like+-- US_ZIP_5) or a region code.+gpdvkmecRegionCode :: Lens' GooglePrivacyDlpV2KMapEstimationConfig (Maybe Text)+gpdvkmecRegionCode+ = lens _gpdvkmecRegionCode+ (\ s a -> s{_gpdvkmecRegionCode = a})++-- | Fields considered to be quasi-identifiers. No two columns can have the+-- same tag. [required]+gpdvkmecQuasiIds :: Lens' GooglePrivacyDlpV2KMapEstimationConfig [GooglePrivacyDlpV2TaggedField]+gpdvkmecQuasiIds+ = lens _gpdvkmecQuasiIds+ (\ s a -> s{_gpdvkmecQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2KMapEstimationConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KMapEstimationConfig"+ (\ o ->+ GooglePrivacyDlpV2KMapEstimationConfig' <$>+ (o .:? "auxiliaryTables" .!= mempty) <*>+ (o .:? "regionCode")+ <*> (o .:? "quasiIds" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2KMapEstimationConfig+ where+ toJSON GooglePrivacyDlpV2KMapEstimationConfig'{..}+ = object+ (catMaybes+ [("auxiliaryTables" .=) <$> _gpdvkmecAuxiliaryTables,+ ("regionCode" .=) <$> _gpdvkmecRegionCode,+ ("quasiIds" .=) <$> _gpdvkmecQuasiIds])++-- | Replaces an identifier with a surrogate using Format Preserving+-- Encryption (FPE) with the FFX mode of operation; however when used in+-- the \`ReidentifyContent\` API method, it serves the opposite function by+-- reversing the surrogate back into the original identifier. The+-- identifier must be encoded as ASCII. For a given crypto key and context,+-- the same identifier will be replaced with the same surrogate.+-- Identifiers must be at least two characters long. In the case that the+-- identifier is the empty string, it will be skipped. See+-- https:\/\/cloud.google.com\/dlp\/docs\/pseudonymization to learn more.+-- Note: We recommend using CryptoDeterministicConfig for all use cases+-- which do not require preserving the input alphabet space and size, plus+-- warrant referential integrity.+--+-- /See:/ 'googlePrivacyDlpV2CryptoReplaceFfxFpeConfig' smart constructor.+data GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig =+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'+ { _gpdvcrffcContext :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvcrffcCommonAlphabet :: !(Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfigCommonAlphabet)+ , _gpdvcrffcSurrogateInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvcrffcCustomAlphabet :: !(Maybe Text)+ , _gpdvcrffcCryptoKey :: !(Maybe GooglePrivacyDlpV2CryptoKey)+ , _gpdvcrffcRadix :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcrffcContext'+--+-- * 'gpdvcrffcCommonAlphabet'+--+-- * 'gpdvcrffcSurrogateInfoType'+--+-- * 'gpdvcrffcCustomAlphabet'+--+-- * 'gpdvcrffcCryptoKey'+--+-- * 'gpdvcrffcRadix'+googlePrivacyDlpV2CryptoReplaceFfxFpeConfig+ :: GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig+googlePrivacyDlpV2CryptoReplaceFfxFpeConfig =+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'+ { _gpdvcrffcContext = Nothing+ , _gpdvcrffcCommonAlphabet = Nothing+ , _gpdvcrffcSurrogateInfoType = Nothing+ , _gpdvcrffcCustomAlphabet = Nothing+ , _gpdvcrffcCryptoKey = Nothing+ , _gpdvcrffcRadix = Nothing+ }+++-- | The \'tweak\', a context may be used for higher security since the same+-- identifier in two different contexts won\'t be given the same surrogate.+-- If the context is not set, a default tweak will be used. If the context+-- is set but: 1. there is no record present when transforming a given+-- value or 1. the field is not present when transforming a given value, a+-- default tweak will be used. Note that case (1) is expected when an+-- \`InfoTypeTransformation\` is applied to both structured and+-- non-structured \`ContentItem\`s. Currently, the referenced field may be+-- of value type integer or string. The tweak is constructed as a sequence+-- of bytes in big endian byte order such that: - a 64 bit integer is+-- encoded followed by a single byte of value 1 - a string is encoded in+-- UTF-8 format followed by a single byte of value 2+gpdvcrffcContext :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvcrffcContext+ = lens _gpdvcrffcContext+ (\ s a -> s{_gpdvcrffcContext = a})++gpdvcrffcCommonAlphabet :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfigCommonAlphabet)+gpdvcrffcCommonAlphabet+ = lens _gpdvcrffcCommonAlphabet+ (\ s a -> s{_gpdvcrffcCommonAlphabet = a})++-- | The custom infoType to annotate the surrogate with. This annotation will+-- be applied to the surrogate by prefixing it with the name of the custom+-- infoType followed by the number of characters comprising the surrogate.+-- The following scheme defines the format:+-- info_type_name(surrogate_character_count):surrogate For example, if the+-- name of custom infoType is \'MY_TOKEN_INFO_TYPE\' and the surrogate is+-- \'abc\', the full replacement value will be:+-- \'MY_TOKEN_INFO_TYPE(3):abc\' This annotation identifies the surrogate+-- when inspecting content using the custom infoType+-- [\`SurrogateType\`](\/dlp\/docs\/reference\/rest\/v2\/InspectConfig#surrogatetype).+-- This facilitates reversal of the surrogate when it occurs in free text.+-- In order for inspection to work properly, the name of this infoType must+-- not occur naturally anywhere in your data; otherwise, inspection may+-- find a surrogate that does not correspond to an actual identifier.+-- Therefore, choose your custom infoType name carefully after considering+-- what your data looks like. One way to select a name that has a high+-- chance of yielding reliable detection is to include one or more unicode+-- characters that are highly improbable to exist in your data. For+-- example, assuming your data is entered from a regular ASCII keyboard,+-- the symbol with the hex code point 29DD might be used like so:+-- ⧝MY_TOKEN_TYPE+gpdvcrffcSurrogateInfoType :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2InfoType)+gpdvcrffcSurrogateInfoType+ = lens _gpdvcrffcSurrogateInfoType+ (\ s a -> s{_gpdvcrffcSurrogateInfoType = a})++-- | This is supported by mapping these to the alphanumeric characters that+-- the FFX mode natively supports. This happens before\/after+-- encryption\/decryption. Each character listed must appear only once.+-- Number of characters must be in the range [2, 62]. This must be encoded+-- as ASCII. The order of characters does not matter.+gpdvcrffcCustomAlphabet :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe Text)+gpdvcrffcCustomAlphabet+ = lens _gpdvcrffcCustomAlphabet+ (\ s a -> s{_gpdvcrffcCustomAlphabet = a})++-- | The key used by the encryption algorithm. [required]+gpdvcrffcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe GooglePrivacyDlpV2CryptoKey)+gpdvcrffcCryptoKey+ = lens _gpdvcrffcCryptoKey+ (\ s a -> s{_gpdvcrffcCryptoKey = a})++-- | The native way to select the alphabet. Must be in the range [2, 62].+gpdvcrffcRadix :: Lens' GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig (Maybe Int32)+gpdvcrffcRadix+ = lens _gpdvcrffcRadix+ (\ s a -> s{_gpdvcrffcRadix = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig"+ (\ o ->+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig' <$>+ (o .:? "context") <*> (o .:? "commonAlphabet") <*>+ (o .:? "surrogateInfoType")+ <*> (o .:? "customAlphabet")+ <*> (o .:? "cryptoKey")+ <*> (o .:? "radix"))++instance ToJSON+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig+ where+ toJSON+ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig'{..}+ = object+ (catMaybes+ [("context" .=) <$> _gpdvcrffcContext,+ ("commonAlphabet" .=) <$> _gpdvcrffcCommonAlphabet,+ ("surrogateInfoType" .=) <$>+ _gpdvcrffcSurrogateInfoType,+ ("customAlphabet" .=) <$> _gpdvcrffcCustomAlphabet,+ ("cryptoKey" .=) <$> _gpdvcrffcCryptoKey,+ ("radix" .=) <$> _gpdvcrffcRadix])++-- | A quasi-identifier column has a custom_tag, used to know which column in+-- the data corresponds to which column in the statistical model.+--+-- /See:/ 'googlePrivacyDlpV2QuasiIdentifierField' smart constructor.+data GooglePrivacyDlpV2QuasiIdentifierField =+ GooglePrivacyDlpV2QuasiIdentifierField'+ { _gField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gCustomTag :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2QuasiIdentifierField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gField'+--+-- * 'gCustomTag'+googlePrivacyDlpV2QuasiIdentifierField+ :: GooglePrivacyDlpV2QuasiIdentifierField+googlePrivacyDlpV2QuasiIdentifierField =+ GooglePrivacyDlpV2QuasiIdentifierField'+ {_gField = Nothing, _gCustomTag = Nothing}+++gField :: Lens' GooglePrivacyDlpV2QuasiIdentifierField (Maybe GooglePrivacyDlpV2FieldId)+gField = lens _gField (\ s a -> s{_gField = a})++gCustomTag :: Lens' GooglePrivacyDlpV2QuasiIdentifierField (Maybe Text)+gCustomTag+ = lens _gCustomTag (\ s a -> s{_gCustomTag = a})++instance FromJSON+ GooglePrivacyDlpV2QuasiIdentifierField+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2QuasiIdentifierField"+ (\ o ->+ GooglePrivacyDlpV2QuasiIdentifierField' <$>+ (o .:? "field") <*> (o .:? "customTag"))++instance ToJSON+ GooglePrivacyDlpV2QuasiIdentifierField+ where+ toJSON GooglePrivacyDlpV2QuasiIdentifierField'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gField,+ ("customTag" .=) <$> _gCustomTag])++-- | Type of information detected by the API.+--+-- /See:/ 'googlePrivacyDlpV2InfoType' smart constructor.+newtype GooglePrivacyDlpV2InfoType =+ GooglePrivacyDlpV2InfoType'+ { _gpdvitName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvitName'+googlePrivacyDlpV2InfoType+ :: GooglePrivacyDlpV2InfoType+googlePrivacyDlpV2InfoType = GooglePrivacyDlpV2InfoType' {_gpdvitName = Nothing}+++-- | Name of the information type. Either a name of your choosing when+-- creating a CustomInfoType, or one of the names listed at+-- https:\/\/cloud.google.com\/dlp\/docs\/infotypes-reference when+-- specifying a built-in type. InfoType names should conform to the pattern+-- [a-zA-Z0-9_]{1,64}.+gpdvitName :: Lens' GooglePrivacyDlpV2InfoType (Maybe Text)+gpdvitName+ = lens _gpdvitName (\ s a -> s{_gpdvitName = a})++instance FromJSON GooglePrivacyDlpV2InfoType where+ parseJSON+ = withObject "GooglePrivacyDlpV2InfoType"+ (\ o ->+ GooglePrivacyDlpV2InfoType' <$> (o .:? "name"))++instance ToJSON GooglePrivacyDlpV2InfoType where+ toJSON GooglePrivacyDlpV2InfoType'{..}+ = object (catMaybes [("name" .=) <$> _gpdvitName])++-- | The inspectTemplate contains a configuration (set of types of sensitive+-- data to be detected) to be used anywhere you otherwise would normally+-- specify InspectConfig. See+-- https:\/\/cloud.google.com\/dlp\/docs\/concepts-templates to learn more.+--+-- /See:/ 'googlePrivacyDlpV2InspectTemplate' smart constructor.+data GooglePrivacyDlpV2InspectTemplate =+ GooglePrivacyDlpV2InspectTemplate'+ { _gInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gUpdateTime :: !(Maybe DateTime')+ , _gName :: !(Maybe Text)+ , _gDisplayName :: !(Maybe Text)+ , _gDescription :: !(Maybe Text)+ , _gCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gInspectConfig'+--+-- * 'gUpdateTime'+--+-- * 'gName'+--+-- * 'gDisplayName'+--+-- * 'gDescription'+--+-- * 'gCreateTime'+googlePrivacyDlpV2InspectTemplate+ :: GooglePrivacyDlpV2InspectTemplate+googlePrivacyDlpV2InspectTemplate =+ GooglePrivacyDlpV2InspectTemplate'+ { _gInspectConfig = Nothing+ , _gUpdateTime = Nothing+ , _gName = Nothing+ , _gDisplayName = Nothing+ , _gDescription = Nothing+ , _gCreateTime = Nothing+ }+++-- | The core content of the template. Configuration of the scanning process.+gInspectConfig :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe GooglePrivacyDlpV2InspectConfig)+gInspectConfig+ = lens _gInspectConfig+ (\ s a -> s{_gInspectConfig = a})++-- | The last update timestamp of a inspectTemplate, output only field.+gUpdateTime :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe UTCTime)+gUpdateTime+ = lens _gUpdateTime (\ s a -> s{_gUpdateTime = a}) .+ mapping _DateTime++-- | The template name. Output only. The template will have one of the+-- following formats:+-- \`projects\/PROJECT_ID\/inspectTemplates\/TEMPLATE_ID\` OR+-- \`organizations\/ORGANIZATION_ID\/inspectTemplates\/TEMPLATE_ID\`+gName :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)+gName = lens _gName (\ s a -> s{_gName = a})++-- | Display name (max 256 chars).+gDisplayName :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)+gDisplayName+ = lens _gDisplayName (\ s a -> s{_gDisplayName = a})++-- | Short description (max 256 chars).+gDescription :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe Text)+gDescription+ = lens _gDescription (\ s a -> s{_gDescription = a})++-- | The creation timestamp of a inspectTemplate, output only field.+gCreateTime :: Lens' GooglePrivacyDlpV2InspectTemplate (Maybe UTCTime)+gCreateTime+ = lens _gCreateTime (\ s a -> s{_gCreateTime = a}) .+ mapping _DateTime++instance FromJSON GooglePrivacyDlpV2InspectTemplate+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectTemplate"+ (\ o ->+ GooglePrivacyDlpV2InspectTemplate' <$>+ (o .:? "inspectConfig") <*> (o .:? "updateTime") <*>+ (o .:? "name")+ <*> (o .:? "displayName")+ <*> (o .:? "description")+ <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2InspectTemplate+ where+ toJSON GooglePrivacyDlpV2InspectTemplate'{..}+ = object+ (catMaybes+ [("inspectConfig" .=) <$> _gInspectConfig,+ ("updateTime" .=) <$> _gUpdateTime,+ ("name" .=) <$> _gName,+ ("displayName" .=) <$> _gDisplayName,+ ("description" .=) <$> _gDescription,+ ("createTime" .=) <$> _gCreateTime])++--+-- /See:/ 'googlePrivacyDlpV2KAnonymityHistogramBucket' smart constructor.+data GooglePrivacyDlpV2KAnonymityHistogramBucket =+ GooglePrivacyDlpV2KAnonymityHistogramBucket'+ { _gpdvkahbEquivalenceClassSizeLowerBound :: !(Maybe (Textual Int64))+ , _gpdvkahbEquivalenceClassSizeUpperBound :: !(Maybe (Textual Int64))+ , _gpdvkahbBucketValues :: !(Maybe [GooglePrivacyDlpV2KAnonymityEquivalenceClass])+ , _gpdvkahbBucketSize :: !(Maybe (Textual Int64))+ , _gpdvkahbBucketValueCount :: !(Maybe (Textual Int64))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KAnonymityHistogramBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkahbEquivalenceClassSizeLowerBound'+--+-- * 'gpdvkahbEquivalenceClassSizeUpperBound'+--+-- * 'gpdvkahbBucketValues'+--+-- * 'gpdvkahbBucketSize'+--+-- * 'gpdvkahbBucketValueCount'+googlePrivacyDlpV2KAnonymityHistogramBucket+ :: GooglePrivacyDlpV2KAnonymityHistogramBucket+googlePrivacyDlpV2KAnonymityHistogramBucket =+ GooglePrivacyDlpV2KAnonymityHistogramBucket'+ { _gpdvkahbEquivalenceClassSizeLowerBound = Nothing+ , _gpdvkahbEquivalenceClassSizeUpperBound = Nothing+ , _gpdvkahbBucketValues = Nothing+ , _gpdvkahbBucketSize = Nothing+ , _gpdvkahbBucketValueCount = Nothing+ }+++-- | Lower bound on the size of the equivalence classes in this bucket.+gpdvkahbEquivalenceClassSizeLowerBound :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)+gpdvkahbEquivalenceClassSizeLowerBound+ = lens _gpdvkahbEquivalenceClassSizeLowerBound+ (\ s a ->+ s{_gpdvkahbEquivalenceClassSizeLowerBound = a})+ . mapping _Coerce++-- | Upper bound on the size of the equivalence classes in this bucket.+gpdvkahbEquivalenceClassSizeUpperBound :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)+gpdvkahbEquivalenceClassSizeUpperBound+ = lens _gpdvkahbEquivalenceClassSizeUpperBound+ (\ s a ->+ s{_gpdvkahbEquivalenceClassSizeUpperBound = a})+ . mapping _Coerce++-- | Sample of equivalence classes in this bucket. The total number of+-- classes returned per bucket is capped at 20.+gpdvkahbBucketValues :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket [GooglePrivacyDlpV2KAnonymityEquivalenceClass]+gpdvkahbBucketValues+ = lens _gpdvkahbBucketValues+ (\ s a -> s{_gpdvkahbBucketValues = a})+ . _Default+ . _Coerce++-- | Total number of equivalence classes in this bucket.+gpdvkahbBucketSize :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)+gpdvkahbBucketSize+ = lens _gpdvkahbBucketSize+ (\ s a -> s{_gpdvkahbBucketSize = a})+ . mapping _Coerce++-- | Total number of distinct equivalence classes in this bucket.+gpdvkahbBucketValueCount :: Lens' GooglePrivacyDlpV2KAnonymityHistogramBucket (Maybe Int64)+gpdvkahbBucketValueCount+ = lens _gpdvkahbBucketValueCount+ (\ s a -> s{_gpdvkahbBucketValueCount = a})+ . mapping _Coerce++instance FromJSON+ GooglePrivacyDlpV2KAnonymityHistogramBucket+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2KAnonymityHistogramBucket"+ (\ o ->+ GooglePrivacyDlpV2KAnonymityHistogramBucket' <$>+ (o .:? "equivalenceClassSizeLowerBound") <*>+ (o .:? "equivalenceClassSizeUpperBound")+ <*> (o .:? "bucketValues" .!= mempty)+ <*> (o .:? "bucketSize")+ <*> (o .:? "bucketValueCount"))++instance ToJSON+ GooglePrivacyDlpV2KAnonymityHistogramBucket+ where+ toJSON+ GooglePrivacyDlpV2KAnonymityHistogramBucket'{..}+ = object+ (catMaybes+ [("equivalenceClassSizeLowerBound" .=) <$>+ _gpdvkahbEquivalenceClassSizeLowerBound,+ ("equivalenceClassSizeUpperBound" .=) <$>+ _gpdvkahbEquivalenceClassSizeUpperBound,+ ("bucketValues" .=) <$> _gpdvkahbBucketValues,+ ("bucketSize" .=) <$> _gpdvkahbBucketSize,+ ("bucketValueCount" .=) <$>+ _gpdvkahbBucketValueCount])++-- | Request to re-identify an item.+--+-- /See:/ 'googlePrivacyDlpV2ReidentifyContentRequest' smart constructor.+data GooglePrivacyDlpV2ReidentifyContentRequest =+ GooglePrivacyDlpV2ReidentifyContentRequest'+ { _gooInspectConfig :: !(Maybe GooglePrivacyDlpV2InspectConfig)+ , _gooReidentifyTemplateName :: !(Maybe Text)+ , _gooItem :: !(Maybe GooglePrivacyDlpV2ContentItem)+ , _gooInspectTemplateName :: !(Maybe Text)+ , _gooReidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ReidentifyContentRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gooInspectConfig'+--+-- * 'gooReidentifyTemplateName'+--+-- * 'gooItem'+--+-- * 'gooInspectTemplateName'+--+-- * 'gooReidentifyConfig'+googlePrivacyDlpV2ReidentifyContentRequest+ :: GooglePrivacyDlpV2ReidentifyContentRequest+googlePrivacyDlpV2ReidentifyContentRequest =+ GooglePrivacyDlpV2ReidentifyContentRequest'+ { _gooInspectConfig = Nothing+ , _gooReidentifyTemplateName = Nothing+ , _gooItem = Nothing+ , _gooInspectTemplateName = Nothing+ , _gooReidentifyConfig = Nothing+ }+++-- | Configuration for the inspector.+gooInspectConfig :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2InspectConfig)+gooInspectConfig+ = lens _gooInspectConfig+ (\ s a -> s{_gooInspectConfig = a})++-- | Optional template to use. References an instance of+-- \`DeidentifyTemplate\`. Any configuration directly specified in+-- \`reidentify_config\` or \`inspect_config\` will override those set in+-- the template. Singular fields that are set in this request will replace+-- their corresponding fields in the template. Repeated fields are+-- appended. Singular sub-messages and groups are recursively merged.+gooReidentifyTemplateName :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe Text)+gooReidentifyTemplateName+ = lens _gooReidentifyTemplateName+ (\ s a -> s{_gooReidentifyTemplateName = a})++-- | The item to re-identify. Will be treated as text.+gooItem :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2ContentItem)+gooItem = lens _gooItem (\ s a -> s{_gooItem = a})++-- | Optional template to use. Any configuration directly specified in+-- \`inspect_config\` will override those set in the template. Singular+-- fields that are set in this request will replace their corresponding+-- fields in the template. Repeated fields are appended. Singular+-- sub-messages and groups are recursively merged.+gooInspectTemplateName :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe Text)+gooInspectTemplateName+ = lens _gooInspectTemplateName+ (\ s a -> s{_gooInspectTemplateName = a})++-- | Configuration for the re-identification of the content item. This field+-- shares the same proto message type that is used for de-identification,+-- however its usage here is for the reversal of the previous+-- de-identification. Re-identification is performed by examining the+-- transformations used to de-identify the items and executing the reverse.+-- This requires that only reversible transformations be provided here. The+-- reversible transformations are: - \`CryptoReplaceFfxFpeConfig\`+gooReidentifyConfig :: Lens' GooglePrivacyDlpV2ReidentifyContentRequest (Maybe GooglePrivacyDlpV2DeidentifyConfig)+gooReidentifyConfig+ = lens _gooReidentifyConfig+ (\ s a -> s{_gooReidentifyConfig = a})++instance FromJSON+ GooglePrivacyDlpV2ReidentifyContentRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ReidentifyContentRequest"+ (\ o ->+ GooglePrivacyDlpV2ReidentifyContentRequest' <$>+ (o .:? "inspectConfig") <*>+ (o .:? "reidentifyTemplateName")+ <*> (o .:? "item")+ <*> (o .:? "inspectTemplateName")+ <*> (o .:? "reidentifyConfig"))++instance ToJSON+ GooglePrivacyDlpV2ReidentifyContentRequest+ where+ toJSON+ GooglePrivacyDlpV2ReidentifyContentRequest'{..}+ = object+ (catMaybes+ [("inspectConfig" .=) <$> _gooInspectConfig,+ ("reidentifyTemplateName" .=) <$>+ _gooReidentifyTemplateName,+ ("item" .=) <$> _gooItem,+ ("inspectTemplateName" .=) <$>+ _gooInspectTemplateName,+ ("reidentifyConfig" .=) <$> _gooReidentifyConfig])++-- | Pseudonymization method that generates surrogates via cryptographic+-- hashing. Uses SHA-256. The key size must be either 32 or 64 bytes.+-- Outputs a base64 encoded representation of the hashed output (for+-- example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only+-- string and integer values can be hashed. See+-- https:\/\/cloud.google.com\/dlp\/docs\/pseudonymization to learn more.+--+-- /See:/ 'googlePrivacyDlpV2CryptoHashConfig' smart constructor.+newtype GooglePrivacyDlpV2CryptoHashConfig =+ GooglePrivacyDlpV2CryptoHashConfig'+ { _gpdvchcCryptoKey :: Maybe GooglePrivacyDlpV2CryptoKey+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CryptoHashConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvchcCryptoKey'+googlePrivacyDlpV2CryptoHashConfig+ :: GooglePrivacyDlpV2CryptoHashConfig+googlePrivacyDlpV2CryptoHashConfig =+ GooglePrivacyDlpV2CryptoHashConfig' {_gpdvchcCryptoKey = Nothing}+++-- | The key used by the hash function.+gpdvchcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoHashConfig (Maybe GooglePrivacyDlpV2CryptoKey)+gpdvchcCryptoKey+ = lens _gpdvchcCryptoKey+ (\ s a -> s{_gpdvchcCryptoKey = a})++instance FromJSON GooglePrivacyDlpV2CryptoHashConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CryptoHashConfig"+ (\ o ->+ GooglePrivacyDlpV2CryptoHashConfig' <$>+ (o .:? "cryptoKey"))++instance ToJSON GooglePrivacyDlpV2CryptoHashConfig+ where+ toJSON GooglePrivacyDlpV2CryptoHashConfig'{..}+ = object+ (catMaybes [("cryptoKey" .=) <$> _gpdvchcCryptoKey])++-- | Max findings configuration per infoType, per content item or long+-- running DlpJob.+--+-- /See:/ 'googlePrivacyDlpV2InfoTypeLimit' smart constructor.+data GooglePrivacyDlpV2InfoTypeLimit =+ GooglePrivacyDlpV2InfoTypeLimit'+ { _gpdvitlMaxFindings :: !(Maybe (Textual Int32))+ , _gpdvitlInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InfoTypeLimit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvitlMaxFindings'+--+-- * 'gpdvitlInfoType'+googlePrivacyDlpV2InfoTypeLimit+ :: GooglePrivacyDlpV2InfoTypeLimit+googlePrivacyDlpV2InfoTypeLimit =+ GooglePrivacyDlpV2InfoTypeLimit'+ {_gpdvitlMaxFindings = Nothing, _gpdvitlInfoType = Nothing}+++-- | Max findings limit for the given infoType.+gpdvitlMaxFindings :: Lens' GooglePrivacyDlpV2InfoTypeLimit (Maybe Int32)+gpdvitlMaxFindings+ = lens _gpdvitlMaxFindings+ (\ s a -> s{_gpdvitlMaxFindings = a})+ . mapping _Coerce++-- | Type of information the findings limit applies to. Only one limit per+-- info_type should be provided. If InfoTypeLimit does not have an+-- info_type, the DLP API applies the limit against all info_types that are+-- found but not specified in another InfoTypeLimit.+gpdvitlInfoType :: Lens' GooglePrivacyDlpV2InfoTypeLimit (Maybe GooglePrivacyDlpV2InfoType)+gpdvitlInfoType+ = lens _gpdvitlInfoType+ (\ s a -> s{_gpdvitlInfoType = a})++instance FromJSON GooglePrivacyDlpV2InfoTypeLimit+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InfoTypeLimit"+ (\ o ->+ GooglePrivacyDlpV2InfoTypeLimit' <$>+ (o .:? "maxFindings") <*> (o .:? "infoType"))++instance ToJSON GooglePrivacyDlpV2InfoTypeLimit where+ toJSON GooglePrivacyDlpV2InfoTypeLimit'{..}+ = object+ (catMaybes+ [("maxFindings" .=) <$> _gpdvitlMaxFindings,+ ("infoType" .=) <$> _gpdvitlInfoType])++-- | Location of a finding within a table.+--+-- /See:/ 'googlePrivacyDlpV2TableLocation' smart constructor.+newtype GooglePrivacyDlpV2TableLocation =+ GooglePrivacyDlpV2TableLocation'+ { _gpdvtlRowIndex :: Maybe (Textual Int64)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TableLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtlRowIndex'+googlePrivacyDlpV2TableLocation+ :: GooglePrivacyDlpV2TableLocation+googlePrivacyDlpV2TableLocation =+ GooglePrivacyDlpV2TableLocation' {_gpdvtlRowIndex = Nothing}+++-- | The zero-based index of the row where the finding is located.+gpdvtlRowIndex :: Lens' GooglePrivacyDlpV2TableLocation (Maybe Int64)+gpdvtlRowIndex+ = lens _gpdvtlRowIndex+ (\ s a -> s{_gpdvtlRowIndex = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2TableLocation+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2TableLocation"+ (\ o ->+ GooglePrivacyDlpV2TableLocation' <$>+ (o .:? "rowIndex"))++instance ToJSON GooglePrivacyDlpV2TableLocation where+ toJSON GooglePrivacyDlpV2TableLocation'{..}+ = object+ (catMaybes [("rowIndex" .=) <$> _gpdvtlRowIndex])++--+-- /See:/ 'googlePrivacyDlpV2TimeZone' smart constructor.+newtype GooglePrivacyDlpV2TimeZone =+ GooglePrivacyDlpV2TimeZone'+ { _gpdvtzOffSetMinutes :: Maybe (Textual Int32)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TimeZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtzOffSetMinutes'+googlePrivacyDlpV2TimeZone+ :: GooglePrivacyDlpV2TimeZone+googlePrivacyDlpV2TimeZone =+ GooglePrivacyDlpV2TimeZone' {_gpdvtzOffSetMinutes = Nothing}+++-- | Set only if the offset can be determined. Positive for time ahead of+-- UTC. E.g. For \"UTC-9\", this value is -540.+gpdvtzOffSetMinutes :: Lens' GooglePrivacyDlpV2TimeZone (Maybe Int32)+gpdvtzOffSetMinutes+ = lens _gpdvtzOffSetMinutes+ (\ s a -> s{_gpdvtzOffSetMinutes = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2TimeZone where+ parseJSON+ = withObject "GooglePrivacyDlpV2TimeZone"+ (\ o ->+ GooglePrivacyDlpV2TimeZone' <$>+ (o .:? "offsetMinutes"))++instance ToJSON GooglePrivacyDlpV2TimeZone where+ toJSON GooglePrivacyDlpV2TimeZone'{..}+ = object+ (catMaybes+ [("offsetMinutes" .=) <$> _gpdvtzOffSetMinutes])++-- | Shared message indicating Cloud storage type.+--+-- /See:/ 'googlePrivacyDlpV2StorageConfig' smart constructor.+data GooglePrivacyDlpV2StorageConfig =+ GooglePrivacyDlpV2StorageConfig'+ { _gpdvscTimespanConfig :: !(Maybe GooglePrivacyDlpV2TimespanConfig)+ , _gpdvscBigQueryOptions :: !(Maybe GooglePrivacyDlpV2BigQueryOptions)+ , _gpdvscDatastoreOptions :: !(Maybe GooglePrivacyDlpV2DatastoreOptions)+ , _gpdvscCloudStorageOptions :: !(Maybe GooglePrivacyDlpV2CloudStorageOptions)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StorageConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvscTimespanConfig'+--+-- * 'gpdvscBigQueryOptions'+--+-- * 'gpdvscDatastoreOptions'+--+-- * 'gpdvscCloudStorageOptions'+googlePrivacyDlpV2StorageConfig+ :: GooglePrivacyDlpV2StorageConfig+googlePrivacyDlpV2StorageConfig =+ GooglePrivacyDlpV2StorageConfig'+ { _gpdvscTimespanConfig = Nothing+ , _gpdvscBigQueryOptions = Nothing+ , _gpdvscDatastoreOptions = Nothing+ , _gpdvscCloudStorageOptions = Nothing+ }+++gpdvscTimespanConfig :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2TimespanConfig)+gpdvscTimespanConfig+ = lens _gpdvscTimespanConfig+ (\ s a -> s{_gpdvscTimespanConfig = a})++-- | BigQuery options specification.+gpdvscBigQueryOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2BigQueryOptions)+gpdvscBigQueryOptions+ = lens _gpdvscBigQueryOptions+ (\ s a -> s{_gpdvscBigQueryOptions = a})++-- | Google Cloud Datastore options specification.+gpdvscDatastoreOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2DatastoreOptions)+gpdvscDatastoreOptions+ = lens _gpdvscDatastoreOptions+ (\ s a -> s{_gpdvscDatastoreOptions = a})++-- | Google Cloud Storage options specification.+gpdvscCloudStorageOptions :: Lens' GooglePrivacyDlpV2StorageConfig (Maybe GooglePrivacyDlpV2CloudStorageOptions)+gpdvscCloudStorageOptions+ = lens _gpdvscCloudStorageOptions+ (\ s a -> s{_gpdvscCloudStorageOptions = a})++instance FromJSON GooglePrivacyDlpV2StorageConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2StorageConfig"+ (\ o ->+ GooglePrivacyDlpV2StorageConfig' <$>+ (o .:? "timespanConfig") <*>+ (o .:? "bigQueryOptions")+ <*> (o .:? "datastoreOptions")+ <*> (o .:? "cloudStorageOptions"))++instance ToJSON GooglePrivacyDlpV2StorageConfig where+ toJSON GooglePrivacyDlpV2StorageConfig'{..}+ = object+ (catMaybes+ [("timespanConfig" .=) <$> _gpdvscTimespanConfig,+ ("bigQueryOptions" .=) <$> _gpdvscBigQueryOptions,+ ("datastoreOptions" .=) <$> _gpdvscDatastoreOptions,+ ("cloudStorageOptions" .=) <$>+ _gpdvscCloudStorageOptions])++-- | Set of primitive values supported by the system. Note that for the+-- purposes of inspection or transformation, the number of bytes considered+-- to comprise a \'Value\' is based on its representation as a UTF-8+-- encoded string. For example, if \'integer_value\' is set to 123456789,+-- the number of bytes would be counted as 9, even though an int64 only+-- holds up to 8 bytes of data.+--+-- /See:/ 'googlePrivacyDlpV2Value' smart constructor.+data GooglePrivacyDlpV2Value =+ GooglePrivacyDlpV2Value'+ { _gpdvvDayOfWeekValue :: !(Maybe GooglePrivacyDlpV2ValueDayOfWeekValue)+ , _gpdvvIntegerValue :: !(Maybe (Textual Int64))+ , _gpdvvTimestampValue :: !(Maybe DateTime')+ , _gpdvvTimeValue :: !(Maybe GoogleTypeTimeOfDay)+ , _gpdvvStringValue :: !(Maybe Text)+ , _gpdvvDateValue :: !(Maybe GoogleTypeDate)+ , _gpdvvBooleanValue :: !(Maybe Bool)+ , _gpdvvFloatValue :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Value' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvvDayOfWeekValue'+--+-- * 'gpdvvIntegerValue'+--+-- * 'gpdvvTimestampValue'+--+-- * 'gpdvvTimeValue'+--+-- * 'gpdvvStringValue'+--+-- * 'gpdvvDateValue'+--+-- * 'gpdvvBooleanValue'+--+-- * 'gpdvvFloatValue'+googlePrivacyDlpV2Value+ :: GooglePrivacyDlpV2Value+googlePrivacyDlpV2Value =+ GooglePrivacyDlpV2Value'+ { _gpdvvDayOfWeekValue = Nothing+ , _gpdvvIntegerValue = Nothing+ , _gpdvvTimestampValue = Nothing+ , _gpdvvTimeValue = Nothing+ , _gpdvvStringValue = Nothing+ , _gpdvvDateValue = Nothing+ , _gpdvvBooleanValue = Nothing+ , _gpdvvFloatValue = Nothing+ }+++gpdvvDayOfWeekValue :: Lens' GooglePrivacyDlpV2Value (Maybe GooglePrivacyDlpV2ValueDayOfWeekValue)+gpdvvDayOfWeekValue+ = lens _gpdvvDayOfWeekValue+ (\ s a -> s{_gpdvvDayOfWeekValue = a})++gpdvvIntegerValue :: Lens' GooglePrivacyDlpV2Value (Maybe Int64)+gpdvvIntegerValue+ = lens _gpdvvIntegerValue+ (\ s a -> s{_gpdvvIntegerValue = a})+ . mapping _Coerce++gpdvvTimestampValue :: Lens' GooglePrivacyDlpV2Value (Maybe UTCTime)+gpdvvTimestampValue+ = lens _gpdvvTimestampValue+ (\ s a -> s{_gpdvvTimestampValue = a})+ . mapping _DateTime++gpdvvTimeValue :: Lens' GooglePrivacyDlpV2Value (Maybe GoogleTypeTimeOfDay)+gpdvvTimeValue+ = lens _gpdvvTimeValue+ (\ s a -> s{_gpdvvTimeValue = a})++gpdvvStringValue :: Lens' GooglePrivacyDlpV2Value (Maybe Text)+gpdvvStringValue+ = lens _gpdvvStringValue+ (\ s a -> s{_gpdvvStringValue = a})++gpdvvDateValue :: Lens' GooglePrivacyDlpV2Value (Maybe GoogleTypeDate)+gpdvvDateValue+ = lens _gpdvvDateValue+ (\ s a -> s{_gpdvvDateValue = a})++gpdvvBooleanValue :: Lens' GooglePrivacyDlpV2Value (Maybe Bool)+gpdvvBooleanValue+ = lens _gpdvvBooleanValue+ (\ s a -> s{_gpdvvBooleanValue = a})++gpdvvFloatValue :: Lens' GooglePrivacyDlpV2Value (Maybe Double)+gpdvvFloatValue+ = lens _gpdvvFloatValue+ (\ s a -> s{_gpdvvFloatValue = a})+ . mapping _Coerce++instance FromJSON GooglePrivacyDlpV2Value where+ parseJSON+ = withObject "GooglePrivacyDlpV2Value"+ (\ o ->+ GooglePrivacyDlpV2Value' <$>+ (o .:? "dayOfWeekValue") <*> (o .:? "integerValue")+ <*> (o .:? "timestampValue")+ <*> (o .:? "timeValue")+ <*> (o .:? "stringValue")+ <*> (o .:? "dateValue")+ <*> (o .:? "booleanValue")+ <*> (o .:? "floatValue"))++instance ToJSON GooglePrivacyDlpV2Value where+ toJSON GooglePrivacyDlpV2Value'{..}+ = object+ (catMaybes+ [("dayOfWeekValue" .=) <$> _gpdvvDayOfWeekValue,+ ("integerValue" .=) <$> _gpdvvIntegerValue,+ ("timestampValue" .=) <$> _gpdvvTimestampValue,+ ("timeValue" .=) <$> _gpdvvTimeValue,+ ("stringValue" .=) <$> _gpdvvStringValue,+ ("dateValue" .=) <$> _gpdvvDateValue,+ ("booleanValue" .=) <$> _gpdvvBooleanValue,+ ("floatValue" .=) <$> _gpdvvFloatValue])++-- | Custom information type based on a dictionary of words or phrases. This+-- can be used to match sensitive information specific to the data, such as+-- a list of employee IDs or job titles. Dictionary words are+-- case-insensitive and all characters other than letters and digits in the+-- unicode [Basic Multilingual+-- Plane](https:\/\/en.wikipedia.org\/wiki\/Plane_%28Unicode%29#Basic_Multilingual_Plane)+-- will be replaced with whitespace when scanning for matches, so the+-- dictionary phrase \"Sam Johnson\" will match all three phrases \"sam+-- johnson\", \"Sam, Johnson\", and \"Sam (Johnson)\". Additionally, the+-- characters surrounding any match must be of a different type than the+-- adjacent characters within the word, so letters must be next to+-- non-letters and digits next to non-digits. For example, the dictionary+-- word \"jen\" will match the first three letters of the text \"jen123\"+-- but will return no matches for \"jennifer\". Dictionary words containing+-- a large number of characters that are not letters or digits may result+-- in unexpected findings because such characters are treated as+-- whitespace. The [limits](https:\/\/cloud.google.com\/dlp\/limits) page+-- contains details about the size limits of dictionaries. For dictionaries+-- that do not fit within these constraints, consider using+-- \`LargeCustomDictionaryConfig\` in the \`StoredInfoType\` API.+--+-- /See:/ 'googlePrivacyDlpV2Dictionary' smart constructor.+data GooglePrivacyDlpV2Dictionary =+ GooglePrivacyDlpV2Dictionary'+ { _gpdvdWordList :: !(Maybe GooglePrivacyDlpV2WordList)+ , _gpdvdCloudStoragePath :: !(Maybe GooglePrivacyDlpV2CloudStoragePath)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Dictionary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdWordList'+--+-- * 'gpdvdCloudStoragePath'+googlePrivacyDlpV2Dictionary+ :: GooglePrivacyDlpV2Dictionary+googlePrivacyDlpV2Dictionary =+ GooglePrivacyDlpV2Dictionary'+ {_gpdvdWordList = Nothing, _gpdvdCloudStoragePath = Nothing}+++-- | List of words or phrases to search for.+gpdvdWordList :: Lens' GooglePrivacyDlpV2Dictionary (Maybe GooglePrivacyDlpV2WordList)+gpdvdWordList+ = lens _gpdvdWordList+ (\ s a -> s{_gpdvdWordList = a})++-- | Newline-delimited file of words in Cloud Storage. Only a single file is+-- accepted.+gpdvdCloudStoragePath :: Lens' GooglePrivacyDlpV2Dictionary (Maybe GooglePrivacyDlpV2CloudStoragePath)+gpdvdCloudStoragePath+ = lens _gpdvdCloudStoragePath+ (\ s a -> s{_gpdvdCloudStoragePath = a})++instance FromJSON GooglePrivacyDlpV2Dictionary where+ parseJSON+ = withObject "GooglePrivacyDlpV2Dictionary"+ (\ o ->+ GooglePrivacyDlpV2Dictionary' <$>+ (o .:? "wordList") <*> (o .:? "cloudStoragePath"))++instance ToJSON GooglePrivacyDlpV2Dictionary where+ toJSON GooglePrivacyDlpV2Dictionary'{..}+ = object+ (catMaybes+ [("wordList" .=) <$> _gpdvdWordList,+ ("cloudStoragePath" .=) <$> _gpdvdCloudStoragePath])++-- | Result of a risk analysis operation request.+--+-- /See:/ 'googlePrivacyDlpV2AnalyzeDataSourceRiskDetails' smart constructor.+data GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails =+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'+ { _gpdvadsrdRequestedPrivacyMetric :: !(Maybe GooglePrivacyDlpV2PrivacyMetric)+ , _gpdvadsrdRequestedSourceTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ , _gpdvadsrdLDiversityResult :: !(Maybe GooglePrivacyDlpV2LDiversityResult)+ , _gpdvadsrdKAnonymityResult :: !(Maybe GooglePrivacyDlpV2KAnonymityResult)+ , _gpdvadsrdKMapEstimationResult :: !(Maybe GooglePrivacyDlpV2KMapEstimationResult)+ , _gpdvadsrdDeltaPresenceEstimationResult :: !(Maybe GooglePrivacyDlpV2DeltaPresenceEstimationResult)+ , _gpdvadsrdNumericalStatsResult :: !(Maybe GooglePrivacyDlpV2NumericalStatsResult)+ , _gpdvadsrdCategoricalStatsResult :: !(Maybe GooglePrivacyDlpV2CategoricalStatsResult)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvadsrdRequestedPrivacyMetric'+--+-- * 'gpdvadsrdRequestedSourceTable'+--+-- * 'gpdvadsrdLDiversityResult'+--+-- * 'gpdvadsrdKAnonymityResult'+--+-- * 'gpdvadsrdKMapEstimationResult'+--+-- * 'gpdvadsrdDeltaPresenceEstimationResult'+--+-- * 'gpdvadsrdNumericalStatsResult'+--+-- * 'gpdvadsrdCategoricalStatsResult'+googlePrivacyDlpV2AnalyzeDataSourceRiskDetails+ :: GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails+googlePrivacyDlpV2AnalyzeDataSourceRiskDetails =+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'+ { _gpdvadsrdRequestedPrivacyMetric = Nothing+ , _gpdvadsrdRequestedSourceTable = Nothing+ , _gpdvadsrdLDiversityResult = Nothing+ , _gpdvadsrdKAnonymityResult = Nothing+ , _gpdvadsrdKMapEstimationResult = Nothing+ , _gpdvadsrdDeltaPresenceEstimationResult = Nothing+ , _gpdvadsrdNumericalStatsResult = Nothing+ , _gpdvadsrdCategoricalStatsResult = Nothing+ }+++-- | Privacy metric to compute.+gpdvadsrdRequestedPrivacyMetric :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2PrivacyMetric)+gpdvadsrdRequestedPrivacyMetric+ = lens _gpdvadsrdRequestedPrivacyMetric+ (\ s a -> s{_gpdvadsrdRequestedPrivacyMetric = a})++-- | Input dataset to compute metrics over.+gpdvadsrdRequestedSourceTable :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvadsrdRequestedSourceTable+ = lens _gpdvadsrdRequestedSourceTable+ (\ s a -> s{_gpdvadsrdRequestedSourceTable = a})++gpdvadsrdLDiversityResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2LDiversityResult)+gpdvadsrdLDiversityResult+ = lens _gpdvadsrdLDiversityResult+ (\ s a -> s{_gpdvadsrdLDiversityResult = a})++gpdvadsrdKAnonymityResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2KAnonymityResult)+gpdvadsrdKAnonymityResult+ = lens _gpdvadsrdKAnonymityResult+ (\ s a -> s{_gpdvadsrdKAnonymityResult = a})++gpdvadsrdKMapEstimationResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2KMapEstimationResult)+gpdvadsrdKMapEstimationResult+ = lens _gpdvadsrdKMapEstimationResult+ (\ s a -> s{_gpdvadsrdKMapEstimationResult = a})++gpdvadsrdDeltaPresenceEstimationResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2DeltaPresenceEstimationResult)+gpdvadsrdDeltaPresenceEstimationResult+ = lens _gpdvadsrdDeltaPresenceEstimationResult+ (\ s a ->+ s{_gpdvadsrdDeltaPresenceEstimationResult = a})++gpdvadsrdNumericalStatsResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2NumericalStatsResult)+gpdvadsrdNumericalStatsResult+ = lens _gpdvadsrdNumericalStatsResult+ (\ s a -> s{_gpdvadsrdNumericalStatsResult = a})++gpdvadsrdCategoricalStatsResult :: Lens' GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails (Maybe GooglePrivacyDlpV2CategoricalStatsResult)+gpdvadsrdCategoricalStatsResult+ = lens _gpdvadsrdCategoricalStatsResult+ (\ s a -> s{_gpdvadsrdCategoricalStatsResult = a})++instance FromJSON+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails"+ (\ o ->+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails' <$>+ (o .:? "requestedPrivacyMetric") <*>+ (o .:? "requestedSourceTable")+ <*> (o .:? "lDiversityResult")+ <*> (o .:? "kAnonymityResult")+ <*> (o .:? "kMapEstimationResult")+ <*> (o .:? "deltaPresenceEstimationResult")+ <*> (o .:? "numericalStatsResult")+ <*> (o .:? "categoricalStatsResult"))++instance ToJSON+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails+ where+ toJSON+ GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails'{..}+ = object+ (catMaybes+ [("requestedPrivacyMetric" .=) <$>+ _gpdvadsrdRequestedPrivacyMetric,+ ("requestedSourceTable" .=) <$>+ _gpdvadsrdRequestedSourceTable,+ ("lDiversityResult" .=) <$>+ _gpdvadsrdLDiversityResult,+ ("kAnonymityResult" .=) <$>+ _gpdvadsrdKAnonymityResult,+ ("kMapEstimationResult" .=) <$>+ _gpdvadsrdKMapEstimationResult,+ ("deltaPresenceEstimationResult" .=) <$>+ _gpdvadsrdDeltaPresenceEstimationResult,+ ("numericalStatsResult" .=) <$>+ _gpdvadsrdNumericalStatsResult,+ ("categoricalStatsResult" .=) <$>+ _gpdvadsrdCategoricalStatsResult])++-- | A collection of conditions.+--+-- /See:/ 'googlePrivacyDlpV2Conditions' smart constructor.+newtype GooglePrivacyDlpV2Conditions =+ GooglePrivacyDlpV2Conditions'+ { _gpdvcConditions :: Maybe [GooglePrivacyDlpV2Condition]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Conditions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcConditions'+googlePrivacyDlpV2Conditions+ :: GooglePrivacyDlpV2Conditions+googlePrivacyDlpV2Conditions =+ GooglePrivacyDlpV2Conditions' {_gpdvcConditions = Nothing}+++gpdvcConditions :: Lens' GooglePrivacyDlpV2Conditions [GooglePrivacyDlpV2Condition]+gpdvcConditions+ = lens _gpdvcConditions+ (\ s a -> s{_gpdvcConditions = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2Conditions where+ parseJSON+ = withObject "GooglePrivacyDlpV2Conditions"+ (\ o ->+ GooglePrivacyDlpV2Conditions' <$>+ (o .:? "conditions" .!= mempty))++instance ToJSON GooglePrivacyDlpV2Conditions where+ toJSON GooglePrivacyDlpV2Conditions'{..}+ = object+ (catMaybes [("conditions" .=) <$> _gpdvcConditions])++-- | Record key for a finding in Cloud Datastore.+--+-- /See:/ 'googlePrivacyDlpV2DatastoreKey' smart constructor.+newtype GooglePrivacyDlpV2DatastoreKey =+ GooglePrivacyDlpV2DatastoreKey'+ { _gpdvdkEntityKey :: Maybe GooglePrivacyDlpV2Key+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DatastoreKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdkEntityKey'+googlePrivacyDlpV2DatastoreKey+ :: GooglePrivacyDlpV2DatastoreKey+googlePrivacyDlpV2DatastoreKey =+ GooglePrivacyDlpV2DatastoreKey' {_gpdvdkEntityKey = Nothing}+++-- | Datastore entity key.+gpdvdkEntityKey :: Lens' GooglePrivacyDlpV2DatastoreKey (Maybe GooglePrivacyDlpV2Key)+gpdvdkEntityKey+ = lens _gpdvdkEntityKey+ (\ s a -> s{_gpdvdkEntityKey = a})++instance FromJSON GooglePrivacyDlpV2DatastoreKey+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DatastoreKey"+ (\ o ->+ GooglePrivacyDlpV2DatastoreKey' <$>+ (o .:? "entityKey"))++instance ToJSON GooglePrivacyDlpV2DatastoreKey where+ toJSON GooglePrivacyDlpV2DatastoreKey'{..}+ = object+ (catMaybes [("entityKey" .=) <$> _gpdvdkEntityKey])++-- | A tuple of values for the quasi-identifier columns.+--+-- /See:/ 'googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues' smart constructor.+data GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues =+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'+ { _gpdvdpeqivEstimatedProbability :: !(Maybe (Textual Double))+ , _gpdvdpeqivQuasiIdsValues :: !(Maybe [GooglePrivacyDlpV2Value])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdpeqivEstimatedProbability'+--+-- * 'gpdvdpeqivQuasiIdsValues'+googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues+ :: GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues+googlePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues =+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'+ { _gpdvdpeqivEstimatedProbability = Nothing+ , _gpdvdpeqivQuasiIdsValues = Nothing+ }+++-- | The estimated probability that a given individual sharing these+-- quasi-identifier values is in the dataset. This value, typically called+-- δ, is the ratio between the number of records in the dataset with these+-- quasi-identifier values, and the total number of individuals (inside+-- *and* outside the dataset) with these quasi-identifier values. For+-- example, if there are 15 individuals in the dataset who share the same+-- quasi-identifier values, and an estimated 100 people in the entire+-- population with these values, then δ is 0.15.+gpdvdpeqivEstimatedProbability :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues (Maybe Double)+gpdvdpeqivEstimatedProbability+ = lens _gpdvdpeqivEstimatedProbability+ (\ s a -> s{_gpdvdpeqivEstimatedProbability = a})+ . mapping _Coerce++-- | The quasi-identifier values.+gpdvdpeqivQuasiIdsValues :: Lens' GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues [GooglePrivacyDlpV2Value]+gpdvdpeqivQuasiIdsValues+ = lens _gpdvdpeqivQuasiIdsValues+ (\ s a -> s{_gpdvdpeqivQuasiIdsValues = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues"+ (\ o ->+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'+ <$>+ (o .:? "estimatedProbability") <*>+ (o .:? "quasiIdsValues" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues+ where+ toJSON+ GooglePrivacyDlpV2DeltaPresenceEstimationQuasiIdValues'{..}+ = object+ (catMaybes+ [("estimatedProbability" .=) <$>+ _gpdvdpeqivEstimatedProbability,+ ("quasiIdsValues" .=) <$> _gpdvdpeqivQuasiIdsValues])++-- | Characters to skip when doing deidentification of a value. These will be+-- left alone and skipped.+--+-- /See:/ 'googlePrivacyDlpV2CharsToIgnore' smart constructor.+data GooglePrivacyDlpV2CharsToIgnore =+ GooglePrivacyDlpV2CharsToIgnore'+ { _gpdvctiCommonCharactersToIgnore :: !(Maybe GooglePrivacyDlpV2CharsToIgnoreCommonCharactersToIgnore)+ , _gpdvctiCharactersToSkip :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CharsToIgnore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvctiCommonCharactersToIgnore'+--+-- * 'gpdvctiCharactersToSkip'+googlePrivacyDlpV2CharsToIgnore+ :: GooglePrivacyDlpV2CharsToIgnore+googlePrivacyDlpV2CharsToIgnore =+ GooglePrivacyDlpV2CharsToIgnore'+ { _gpdvctiCommonCharactersToIgnore = Nothing+ , _gpdvctiCharactersToSkip = Nothing+ }+++gpdvctiCommonCharactersToIgnore :: Lens' GooglePrivacyDlpV2CharsToIgnore (Maybe GooglePrivacyDlpV2CharsToIgnoreCommonCharactersToIgnore)+gpdvctiCommonCharactersToIgnore+ = lens _gpdvctiCommonCharactersToIgnore+ (\ s a -> s{_gpdvctiCommonCharactersToIgnore = a})++gpdvctiCharactersToSkip :: Lens' GooglePrivacyDlpV2CharsToIgnore (Maybe Text)+gpdvctiCharactersToSkip+ = lens _gpdvctiCharactersToSkip+ (\ s a -> s{_gpdvctiCharactersToSkip = a})++instance FromJSON GooglePrivacyDlpV2CharsToIgnore+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CharsToIgnore"+ (\ o ->+ GooglePrivacyDlpV2CharsToIgnore' <$>+ (o .:? "commonCharactersToIgnore") <*>+ (o .:? "charactersToSkip"))++instance ToJSON GooglePrivacyDlpV2CharsToIgnore where+ toJSON GooglePrivacyDlpV2CharsToIgnore'{..}+ = object+ (catMaybes+ [("commonCharactersToIgnore" .=) <$>+ _gpdvctiCommonCharactersToIgnore,+ ("charactersToSkip" .=) <$>+ _gpdvctiCharactersToSkip])++-- | Message defining the location of a BigQuery table. A table is uniquely+-- identified by its project_id, dataset_id, and table_name. Within a query+-- a table is often referenced with a string in the format of: \`:.\` or+-- \`..\`.+--+-- /See:/ 'googlePrivacyDlpV2BigQueryTable' smart constructor.+data GooglePrivacyDlpV2BigQueryTable =+ GooglePrivacyDlpV2BigQueryTable'+ { _gpdvbqtDataSetId :: !(Maybe Text)+ , _gpdvbqtProjectId :: !(Maybe Text)+ , _gpdvbqtTableId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2BigQueryTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvbqtDataSetId'+--+-- * 'gpdvbqtProjectId'+--+-- * 'gpdvbqtTableId'+googlePrivacyDlpV2BigQueryTable+ :: GooglePrivacyDlpV2BigQueryTable+googlePrivacyDlpV2BigQueryTable =+ GooglePrivacyDlpV2BigQueryTable'+ { _gpdvbqtDataSetId = Nothing+ , _gpdvbqtProjectId = Nothing+ , _gpdvbqtTableId = Nothing+ }+++-- | Dataset ID of the table.+gpdvbqtDataSetId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)+gpdvbqtDataSetId+ = lens _gpdvbqtDataSetId+ (\ s a -> s{_gpdvbqtDataSetId = a})++-- | The Google Cloud Platform project ID of the project containing the+-- table. If omitted, project ID is inferred from the API call.+gpdvbqtProjectId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)+gpdvbqtProjectId+ = lens _gpdvbqtProjectId+ (\ s a -> s{_gpdvbqtProjectId = a})++-- | Name of the table.+gpdvbqtTableId :: Lens' GooglePrivacyDlpV2BigQueryTable (Maybe Text)+gpdvbqtTableId+ = lens _gpdvbqtTableId+ (\ s a -> s{_gpdvbqtTableId = a})++instance FromJSON GooglePrivacyDlpV2BigQueryTable+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2BigQueryTable"+ (\ o ->+ GooglePrivacyDlpV2BigQueryTable' <$>+ (o .:? "datasetId") <*> (o .:? "projectId") <*>+ (o .:? "tableId"))++instance ToJSON GooglePrivacyDlpV2BigQueryTable where+ toJSON GooglePrivacyDlpV2BigQueryTable'{..}+ = object+ (catMaybes+ [("datasetId" .=) <$> _gpdvbqtDataSetId,+ ("projectId" .=) <$> _gpdvbqtProjectId,+ ("tableId" .=) <$> _gpdvbqtTableId])++--+-- /See:/ 'googlePrivacyDlpV2RequestedOptions' smart constructor.+data GooglePrivacyDlpV2RequestedOptions =+ GooglePrivacyDlpV2RequestedOptions'+ { _gpdvroSnapshotInspectTemplate :: !(Maybe GooglePrivacyDlpV2InspectTemplate)+ , _gpdvroJobConfig :: !(Maybe GooglePrivacyDlpV2InspectJobConfig)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RequestedOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvroSnapshotInspectTemplate'+--+-- * 'gpdvroJobConfig'+googlePrivacyDlpV2RequestedOptions+ :: GooglePrivacyDlpV2RequestedOptions+googlePrivacyDlpV2RequestedOptions =+ GooglePrivacyDlpV2RequestedOptions'+ {_gpdvroSnapshotInspectTemplate = Nothing, _gpdvroJobConfig = Nothing}+++-- | If run with an InspectTemplate, a snapshot of its state at the time of+-- this run.+gpdvroSnapshotInspectTemplate :: Lens' GooglePrivacyDlpV2RequestedOptions (Maybe GooglePrivacyDlpV2InspectTemplate)+gpdvroSnapshotInspectTemplate+ = lens _gpdvroSnapshotInspectTemplate+ (\ s a -> s{_gpdvroSnapshotInspectTemplate = a})++gpdvroJobConfig :: Lens' GooglePrivacyDlpV2RequestedOptions (Maybe GooglePrivacyDlpV2InspectJobConfig)+gpdvroJobConfig+ = lens _gpdvroJobConfig+ (\ s a -> s{_gpdvroJobConfig = a})++instance FromJSON GooglePrivacyDlpV2RequestedOptions+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RequestedOptions"+ (\ o ->+ GooglePrivacyDlpV2RequestedOptions' <$>+ (o .:? "snapshotInspectTemplate") <*>+ (o .:? "jobConfig"))++instance ToJSON GooglePrivacyDlpV2RequestedOptions+ where+ toJSON GooglePrivacyDlpV2RequestedOptions'{..}+ = object+ (catMaybes+ [("snapshotInspectTemplate" .=) <$>+ _gpdvroSnapshotInspectTemplate,+ ("jobConfig" .=) <$> _gpdvroJobConfig])++-- | A rule for transforming a value.+--+-- /See:/ 'googlePrivacyDlpV2PrimitiveTransformation' smart constructor.+data GooglePrivacyDlpV2PrimitiveTransformation =+ GooglePrivacyDlpV2PrimitiveTransformation'+ { _gpdvptFixedSizeBucketingConfig :: !(Maybe GooglePrivacyDlpV2FixedSizeBucketingConfig)+ , _gpdvptRedactConfig :: !(Maybe GooglePrivacyDlpV2RedactConfig)+ , _gpdvptCharacterMaskConfig :: !(Maybe GooglePrivacyDlpV2CharacterMaskConfig)+ , _gpdvptTimePartConfig :: !(Maybe GooglePrivacyDlpV2TimePartConfig)+ , _gpdvptDateShiftConfig :: !(Maybe GooglePrivacyDlpV2DateShiftConfig)+ , _gpdvptBucketingConfig :: !(Maybe GooglePrivacyDlpV2BucketingConfig)+ , _gpdvptReplaceWithInfoTypeConfig :: !(Maybe GooglePrivacyDlpV2ReplaceWithInfoTypeConfig)+ , _gpdvptCryptoDeterministicConfig :: !(Maybe GooglePrivacyDlpV2CryptoDeterministicConfig)+ , _gpdvptCryptoHashConfig :: !(Maybe GooglePrivacyDlpV2CryptoHashConfig)+ , _gpdvptReplaceConfig :: !(Maybe GooglePrivacyDlpV2ReplaceValueConfig)+ , _gpdvptCryptoReplaceFfxFpeConfig :: !(Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PrimitiveTransformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvptFixedSizeBucketingConfig'+--+-- * 'gpdvptRedactConfig'+--+-- * 'gpdvptCharacterMaskConfig'+--+-- * 'gpdvptTimePartConfig'+--+-- * 'gpdvptDateShiftConfig'+--+-- * 'gpdvptBucketingConfig'+--+-- * 'gpdvptReplaceWithInfoTypeConfig'+--+-- * 'gpdvptCryptoDeterministicConfig'+--+-- * 'gpdvptCryptoHashConfig'+--+-- * 'gpdvptReplaceConfig'+--+-- * 'gpdvptCryptoReplaceFfxFpeConfig'+googlePrivacyDlpV2PrimitiveTransformation+ :: GooglePrivacyDlpV2PrimitiveTransformation+googlePrivacyDlpV2PrimitiveTransformation =+ GooglePrivacyDlpV2PrimitiveTransformation'+ { _gpdvptFixedSizeBucketingConfig = Nothing+ , _gpdvptRedactConfig = Nothing+ , _gpdvptCharacterMaskConfig = Nothing+ , _gpdvptTimePartConfig = Nothing+ , _gpdvptDateShiftConfig = Nothing+ , _gpdvptBucketingConfig = Nothing+ , _gpdvptReplaceWithInfoTypeConfig = Nothing+ , _gpdvptCryptoDeterministicConfig = Nothing+ , _gpdvptCryptoHashConfig = Nothing+ , _gpdvptReplaceConfig = Nothing+ , _gpdvptCryptoReplaceFfxFpeConfig = Nothing+ }+++gpdvptFixedSizeBucketingConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2FixedSizeBucketingConfig)+gpdvptFixedSizeBucketingConfig+ = lens _gpdvptFixedSizeBucketingConfig+ (\ s a -> s{_gpdvptFixedSizeBucketingConfig = a})++gpdvptRedactConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2RedactConfig)+gpdvptRedactConfig+ = lens _gpdvptRedactConfig+ (\ s a -> s{_gpdvptRedactConfig = a})++gpdvptCharacterMaskConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CharacterMaskConfig)+gpdvptCharacterMaskConfig+ = lens _gpdvptCharacterMaskConfig+ (\ s a -> s{_gpdvptCharacterMaskConfig = a})++gpdvptTimePartConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2TimePartConfig)+gpdvptTimePartConfig+ = lens _gpdvptTimePartConfig+ (\ s a -> s{_gpdvptTimePartConfig = a})++gpdvptDateShiftConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2DateShiftConfig)+gpdvptDateShiftConfig+ = lens _gpdvptDateShiftConfig+ (\ s a -> s{_gpdvptDateShiftConfig = a})++gpdvptBucketingConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2BucketingConfig)+gpdvptBucketingConfig+ = lens _gpdvptBucketingConfig+ (\ s a -> s{_gpdvptBucketingConfig = a})++gpdvptReplaceWithInfoTypeConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2ReplaceWithInfoTypeConfig)+gpdvptReplaceWithInfoTypeConfig+ = lens _gpdvptReplaceWithInfoTypeConfig+ (\ s a -> s{_gpdvptReplaceWithInfoTypeConfig = a})++gpdvptCryptoDeterministicConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoDeterministicConfig)+gpdvptCryptoDeterministicConfig+ = lens _gpdvptCryptoDeterministicConfig+ (\ s a -> s{_gpdvptCryptoDeterministicConfig = a})++gpdvptCryptoHashConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoHashConfig)+gpdvptCryptoHashConfig+ = lens _gpdvptCryptoHashConfig+ (\ s a -> s{_gpdvptCryptoHashConfig = a})++gpdvptReplaceConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2ReplaceValueConfig)+gpdvptReplaceConfig+ = lens _gpdvptReplaceConfig+ (\ s a -> s{_gpdvptReplaceConfig = a})++gpdvptCryptoReplaceFfxFpeConfig :: Lens' GooglePrivacyDlpV2PrimitiveTransformation (Maybe GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig)+gpdvptCryptoReplaceFfxFpeConfig+ = lens _gpdvptCryptoReplaceFfxFpeConfig+ (\ s a -> s{_gpdvptCryptoReplaceFfxFpeConfig = a})++instance FromJSON+ GooglePrivacyDlpV2PrimitiveTransformation+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2PrimitiveTransformation"+ (\ o ->+ GooglePrivacyDlpV2PrimitiveTransformation' <$>+ (o .:? "fixedSizeBucketingConfig") <*>+ (o .:? "redactConfig")+ <*> (o .:? "characterMaskConfig")+ <*> (o .:? "timePartConfig")+ <*> (o .:? "dateShiftConfig")+ <*> (o .:? "bucketingConfig")+ <*> (o .:? "replaceWithInfoTypeConfig")+ <*> (o .:? "cryptoDeterministicConfig")+ <*> (o .:? "cryptoHashConfig")+ <*> (o .:? "replaceConfig")+ <*> (o .:? "cryptoReplaceFfxFpeConfig"))++instance ToJSON+ GooglePrivacyDlpV2PrimitiveTransformation+ where+ toJSON GooglePrivacyDlpV2PrimitiveTransformation'{..}+ = object+ (catMaybes+ [("fixedSizeBucketingConfig" .=) <$>+ _gpdvptFixedSizeBucketingConfig,+ ("redactConfig" .=) <$> _gpdvptRedactConfig,+ ("characterMaskConfig" .=) <$>+ _gpdvptCharacterMaskConfig,+ ("timePartConfig" .=) <$> _gpdvptTimePartConfig,+ ("dateShiftConfig" .=) <$> _gpdvptDateShiftConfig,+ ("bucketingConfig" .=) <$> _gpdvptBucketingConfig,+ ("replaceWithInfoTypeConfig" .=) <$>+ _gpdvptReplaceWithInfoTypeConfig,+ ("cryptoDeterministicConfig" .=) <$>+ _gpdvptCryptoDeterministicConfig,+ ("cryptoHashConfig" .=) <$> _gpdvptCryptoHashConfig,+ ("replaceConfig" .=) <$> _gpdvptReplaceConfig,+ ("cryptoReplaceFfxFpeConfig" .=) <$>+ _gpdvptCryptoReplaceFfxFpeConfig])++-- | The request message for canceling a DLP job.+--+-- /See:/ 'googlePrivacyDlpV2CancelDlpJobRequest' smart constructor.+data GooglePrivacyDlpV2CancelDlpJobRequest =+ GooglePrivacyDlpV2CancelDlpJobRequest'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CancelDlpJobRequest' with the minimum fields required to make a request.+--+googlePrivacyDlpV2CancelDlpJobRequest+ :: GooglePrivacyDlpV2CancelDlpJobRequest+googlePrivacyDlpV2CancelDlpJobRequest = GooglePrivacyDlpV2CancelDlpJobRequest'+++instance FromJSON+ GooglePrivacyDlpV2CancelDlpJobRequest+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CancelDlpJobRequest"+ (\ o -> pure GooglePrivacyDlpV2CancelDlpJobRequest')++instance ToJSON GooglePrivacyDlpV2CancelDlpJobRequest+ where+ toJSON = const emptyObject++-- | Location of a finding within a row or record.+--+-- /See:/ 'googlePrivacyDlpV2RecordLocation' smart constructor.+data GooglePrivacyDlpV2RecordLocation =+ GooglePrivacyDlpV2RecordLocation'+ { _gpdvrlTableLocation :: !(Maybe GooglePrivacyDlpV2TableLocation)+ , _gpdvrlFieldId :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvrlRecordKey :: !(Maybe GooglePrivacyDlpV2RecordKey)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2RecordLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrlTableLocation'+--+-- * 'gpdvrlFieldId'+--+-- * 'gpdvrlRecordKey'+googlePrivacyDlpV2RecordLocation+ :: GooglePrivacyDlpV2RecordLocation+googlePrivacyDlpV2RecordLocation =+ GooglePrivacyDlpV2RecordLocation'+ { _gpdvrlTableLocation = Nothing+ , _gpdvrlFieldId = Nothing+ , _gpdvrlRecordKey = Nothing+ }+++-- | Location within a \`ContentItem.Table\`.+gpdvrlTableLocation :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2TableLocation)+gpdvrlTableLocation+ = lens _gpdvrlTableLocation+ (\ s a -> s{_gpdvrlTableLocation = a})++-- | Field id of the field containing the finding.+gpdvrlFieldId :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2FieldId)+gpdvrlFieldId+ = lens _gpdvrlFieldId+ (\ s a -> s{_gpdvrlFieldId = a})++-- | Key of the finding.+gpdvrlRecordKey :: Lens' GooglePrivacyDlpV2RecordLocation (Maybe GooglePrivacyDlpV2RecordKey)+gpdvrlRecordKey+ = lens _gpdvrlRecordKey+ (\ s a -> s{_gpdvrlRecordKey = a})++instance FromJSON GooglePrivacyDlpV2RecordLocation+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2RecordLocation"+ (\ o ->+ GooglePrivacyDlpV2RecordLocation' <$>+ (o .:? "tableLocation") <*> (o .:? "fieldId") <*>+ (o .:? "recordKey"))++instance ToJSON GooglePrivacyDlpV2RecordLocation+ where+ toJSON GooglePrivacyDlpV2RecordLocation'{..}+ = object+ (catMaybes+ [("tableLocation" .=) <$> _gpdvrlTableLocation,+ ("fieldId" .=) <$> _gpdvrlFieldId,+ ("recordKey" .=) <$> _gpdvrlRecordKey])++-- | Details information about an error encountered during job execution or+-- the results of an unsuccessful activation of the JobTrigger. Output only+-- field.+--+-- /See:/ 'googlePrivacyDlpV2Error' smart constructor.+data GooglePrivacyDlpV2Error =+ GooglePrivacyDlpV2Error'+ { _gpdveDetails :: !(Maybe GoogleRpcStatus)+ , _gpdveTimestamps :: !(Maybe [DateTime'])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Error' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdveDetails'+--+-- * 'gpdveTimestamps'+googlePrivacyDlpV2Error+ :: GooglePrivacyDlpV2Error+googlePrivacyDlpV2Error =+ GooglePrivacyDlpV2Error' {_gpdveDetails = Nothing, _gpdveTimestamps = Nothing}+++gpdveDetails :: Lens' GooglePrivacyDlpV2Error (Maybe GoogleRpcStatus)+gpdveDetails+ = lens _gpdveDetails (\ s a -> s{_gpdveDetails = a})++-- | The times the error occurred.+gpdveTimestamps :: Lens' GooglePrivacyDlpV2Error [UTCTime]+gpdveTimestamps+ = lens _gpdveTimestamps+ (\ s a -> s{_gpdveTimestamps = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2Error where+ parseJSON+ = withObject "GooglePrivacyDlpV2Error"+ (\ o ->+ GooglePrivacyDlpV2Error' <$>+ (o .:? "details") <*>+ (o .:? "timestamps" .!= mempty))++instance ToJSON GooglePrivacyDlpV2Error where+ toJSON GooglePrivacyDlpV2Error'{..}+ = object+ (catMaybes+ [("details" .=) <$> _gpdveDetails,+ ("timestamps" .=) <$> _gpdveTimestamps])++-- | StoredInfoType resource message that contains information about the+-- current version and any pending updates.+--+-- /See:/ 'googlePrivacyDlpV2StoredInfoType' smart constructor.+data GooglePrivacyDlpV2StoredInfoType =+ GooglePrivacyDlpV2StoredInfoType'+ { _gpdvsitCurrentVersion :: !(Maybe GooglePrivacyDlpV2StoredInfoTypeVersion)+ , _gpdvsitName :: !(Maybe Text)+ , _gpdvsitPendingVersions :: !(Maybe [GooglePrivacyDlpV2StoredInfoTypeVersion])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StoredInfoType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsitCurrentVersion'+--+-- * 'gpdvsitName'+--+-- * 'gpdvsitPendingVersions'+googlePrivacyDlpV2StoredInfoType+ :: GooglePrivacyDlpV2StoredInfoType+googlePrivacyDlpV2StoredInfoType =+ GooglePrivacyDlpV2StoredInfoType'+ { _gpdvsitCurrentVersion = Nothing+ , _gpdvsitName = Nothing+ , _gpdvsitPendingVersions = Nothing+ }+++-- | Current version of the stored info type.+gpdvsitCurrentVersion :: Lens' GooglePrivacyDlpV2StoredInfoType (Maybe GooglePrivacyDlpV2StoredInfoTypeVersion)+gpdvsitCurrentVersion+ = lens _gpdvsitCurrentVersion+ (\ s a -> s{_gpdvsitCurrentVersion = a})++-- | Resource name.+gpdvsitName :: Lens' GooglePrivacyDlpV2StoredInfoType (Maybe Text)+gpdvsitName+ = lens _gpdvsitName (\ s a -> s{_gpdvsitName = a})++-- | Pending versions of the stored info type. Empty if no versions are+-- pending.+gpdvsitPendingVersions :: Lens' GooglePrivacyDlpV2StoredInfoType [GooglePrivacyDlpV2StoredInfoTypeVersion]+gpdvsitPendingVersions+ = lens _gpdvsitPendingVersions+ (\ s a -> s{_gpdvsitPendingVersions = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2StoredInfoType+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2StoredInfoType"+ (\ o ->+ GooglePrivacyDlpV2StoredInfoType' <$>+ (o .:? "currentVersion") <*> (o .:? "name") <*>+ (o .:? "pendingVersions" .!= mempty))++instance ToJSON GooglePrivacyDlpV2StoredInfoType+ where+ toJSON GooglePrivacyDlpV2StoredInfoType'{..}+ = object+ (catMaybes+ [("currentVersion" .=) <$> _gpdvsitCurrentVersion,+ ("name" .=) <$> _gpdvsitName,+ ("pendingVersions" .=) <$> _gpdvsitPendingVersions])++-- | Pseudonymization method that generates deterministic encryption for the+-- given input. Outputs a base64 encoded representation of the encrypted+-- output. Uses AES-SIV based on the RFC+-- https:\/\/tools.ietf.org\/html\/rfc5297.+--+-- /See:/ 'googlePrivacyDlpV2CryptoDeterministicConfig' smart constructor.+data GooglePrivacyDlpV2CryptoDeterministicConfig =+ GooglePrivacyDlpV2CryptoDeterministicConfig'+ { _gpdvcdcContext :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvcdcSurrogateInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvcdcCryptoKey :: !(Maybe GooglePrivacyDlpV2CryptoKey)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CryptoDeterministicConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcdcContext'+--+-- * 'gpdvcdcSurrogateInfoType'+--+-- * 'gpdvcdcCryptoKey'+googlePrivacyDlpV2CryptoDeterministicConfig+ :: GooglePrivacyDlpV2CryptoDeterministicConfig+googlePrivacyDlpV2CryptoDeterministicConfig =+ GooglePrivacyDlpV2CryptoDeterministicConfig'+ { _gpdvcdcContext = Nothing+ , _gpdvcdcSurrogateInfoType = Nothing+ , _gpdvcdcCryptoKey = Nothing+ }+++-- | Optional. A context may be used for higher security and maintaining+-- referential integrity such that the same identifier in two different+-- contexts will be given a distinct surrogate. The context is appended to+-- plaintext value being encrypted. On decryption the provided context is+-- validated against the value used during encryption. If a context was+-- provided during encryption, same context must be provided during+-- decryption as well. If the context is not set, plaintext would be used+-- as is for encryption. If the context is set but: 1. there is no record+-- present when transforming a given value or 2. the field is not present+-- when transforming a given value, plaintext would be used as is for+-- encryption. Note that case (1) is expected when an+-- \`InfoTypeTransformation\` is applied to both structured and+-- non-structured \`ContentItem\`s.+gpdvcdcContext :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvcdcContext+ = lens _gpdvcdcContext+ (\ s a -> s{_gpdvcdcContext = a})++-- | The custom info type to annotate the surrogate with. This annotation+-- will be applied to the surrogate by prefixing it with the name of the+-- custom info type followed by the number of characters comprising the+-- surrogate. The following scheme defines the format: (): For example, if+-- the name of custom info type is \'MY_TOKEN_INFO_TYPE\' and the surrogate+-- is \'abc\', the full replacement value will be:+-- \'MY_TOKEN_INFO_TYPE(3):abc\' This annotation identifies the surrogate+-- when inspecting content using the custom info type \'Surrogate\'. This+-- facilitates reversal of the surrogate when it occurs in free text. In+-- order for inspection to work properly, the name of this info type must+-- not occur naturally anywhere in your data; otherwise, inspection may+-- either - reverse a surrogate that does not correspond to an actual+-- identifier - be unable to parse the surrogate and result in an error+-- Therefore, choose your custom info type name carefully after considering+-- what your data looks like. One way to select a name that has a high+-- chance of yielding reliable detection is to include one or more unicode+-- characters that are highly improbable to exist in your data. For+-- example, assuming your data is entered from a regular ASCII keyboard,+-- the symbol with the hex code point 29DD might be used like so:+-- ⧝MY_TOKEN_TYPE+gpdvcdcSurrogateInfoType :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2InfoType)+gpdvcdcSurrogateInfoType+ = lens _gpdvcdcSurrogateInfoType+ (\ s a -> s{_gpdvcdcSurrogateInfoType = a})++-- | The key used by the encryption function.+gpdvcdcCryptoKey :: Lens' GooglePrivacyDlpV2CryptoDeterministicConfig (Maybe GooglePrivacyDlpV2CryptoKey)+gpdvcdcCryptoKey+ = lens _gpdvcdcCryptoKey+ (\ s a -> s{_gpdvcdcCryptoKey = a})++instance FromJSON+ GooglePrivacyDlpV2CryptoDeterministicConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CryptoDeterministicConfig"+ (\ o ->+ GooglePrivacyDlpV2CryptoDeterministicConfig' <$>+ (o .:? "context") <*> (o .:? "surrogateInfoType") <*>+ (o .:? "cryptoKey"))++instance ToJSON+ GooglePrivacyDlpV2CryptoDeterministicConfig+ where+ toJSON+ GooglePrivacyDlpV2CryptoDeterministicConfig'{..}+ = object+ (catMaybes+ [("context" .=) <$> _gpdvcdcContext,+ ("surrogateInfoType" .=) <$>+ _gpdvcdcSurrogateInfoType,+ ("cryptoKey" .=) <$> _gpdvcdcCryptoKey])++-- | An auxiliary table containing statistical information on the relative+-- frequency of different quasi-identifiers values. It has one or several+-- quasi-identifiers columns, and one column that indicates the relative+-- frequency of each quasi-identifier tuple. If a tuple is present in the+-- data but not in the auxiliary table, the corresponding relative+-- frequency is assumed to be zero (and thus, the tuple is highly+-- reidentifiable).+--+-- /See:/ 'googlePrivacyDlpV2StatisticalTable' smart constructor.+data GooglePrivacyDlpV2StatisticalTable =+ GooglePrivacyDlpV2StatisticalTable'+ { _gpdvstRelativeFrequency :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvstTable :: !(Maybe GooglePrivacyDlpV2BigQueryTable)+ , _gpdvstQuasiIds :: !(Maybe [GooglePrivacyDlpV2QuasiIdentifierField])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2StatisticalTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvstRelativeFrequency'+--+-- * 'gpdvstTable'+--+-- * 'gpdvstQuasiIds'+googlePrivacyDlpV2StatisticalTable+ :: GooglePrivacyDlpV2StatisticalTable+googlePrivacyDlpV2StatisticalTable =+ GooglePrivacyDlpV2StatisticalTable'+ { _gpdvstRelativeFrequency = Nothing+ , _gpdvstTable = Nothing+ , _gpdvstQuasiIds = Nothing+ }+++-- | The relative frequency column must contain a floating-point number+-- between 0 and 1 (inclusive). Null values are assumed to be zero.+-- [required]+gpdvstRelativeFrequency :: Lens' GooglePrivacyDlpV2StatisticalTable (Maybe GooglePrivacyDlpV2FieldId)+gpdvstRelativeFrequency+ = lens _gpdvstRelativeFrequency+ (\ s a -> s{_gpdvstRelativeFrequency = a})++-- | Auxiliary table location. [required]+gpdvstTable :: Lens' GooglePrivacyDlpV2StatisticalTable (Maybe GooglePrivacyDlpV2BigQueryTable)+gpdvstTable+ = lens _gpdvstTable (\ s a -> s{_gpdvstTable = a})++-- | Quasi-identifier columns. [required]+gpdvstQuasiIds :: Lens' GooglePrivacyDlpV2StatisticalTable [GooglePrivacyDlpV2QuasiIdentifierField]+gpdvstQuasiIds+ = lens _gpdvstQuasiIds+ (\ s a -> s{_gpdvstQuasiIds = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2StatisticalTable+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2StatisticalTable"+ (\ o ->+ GooglePrivacyDlpV2StatisticalTable' <$>+ (o .:? "relativeFrequency") <*> (o .:? "table") <*>+ (o .:? "quasiIds" .!= mempty))++instance ToJSON GooglePrivacyDlpV2StatisticalTable+ where+ toJSON GooglePrivacyDlpV2StatisticalTable'{..}+ = object+ (catMaybes+ [("relativeFrequency" .=) <$>+ _gpdvstRelativeFrequency,+ ("table" .=) <$> _gpdvstTable,+ ("quasiIds" .=) <$> _gpdvstQuasiIds])++-- | The DeidentifyTemplates contains instructions on how to deidentify+-- content. See https:\/\/cloud.google.com\/dlp\/docs\/concepts-templates+-- to learn more.+--+-- /See:/ 'googlePrivacyDlpV2DeidentifyTemplate' smart constructor.+data GooglePrivacyDlpV2DeidentifyTemplate =+ GooglePrivacyDlpV2DeidentifyTemplate'+ { _gpdvdtUpdateTime :: !(Maybe DateTime')+ , _gpdvdtName :: !(Maybe Text)+ , _gpdvdtDeidentifyConfig :: !(Maybe GooglePrivacyDlpV2DeidentifyConfig)+ , _gpdvdtDisplayName :: !(Maybe Text)+ , _gpdvdtDescription :: !(Maybe Text)+ , _gpdvdtCreateTime :: !(Maybe DateTime')+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DeidentifyTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdtUpdateTime'+--+-- * 'gpdvdtName'+--+-- * 'gpdvdtDeidentifyConfig'+--+-- * 'gpdvdtDisplayName'+--+-- * 'gpdvdtDescription'+--+-- * 'gpdvdtCreateTime'+googlePrivacyDlpV2DeidentifyTemplate+ :: GooglePrivacyDlpV2DeidentifyTemplate+googlePrivacyDlpV2DeidentifyTemplate =+ GooglePrivacyDlpV2DeidentifyTemplate'+ { _gpdvdtUpdateTime = Nothing+ , _gpdvdtName = Nothing+ , _gpdvdtDeidentifyConfig = Nothing+ , _gpdvdtDisplayName = Nothing+ , _gpdvdtDescription = Nothing+ , _gpdvdtCreateTime = Nothing+ }+++-- | The last update timestamp of a inspectTemplate, output only field.+gpdvdtUpdateTime :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe UTCTime)+gpdvdtUpdateTime+ = lens _gpdvdtUpdateTime+ (\ s a -> s{_gpdvdtUpdateTime = a})+ . mapping _DateTime++-- | The template name. Output only. The template will have one of the+-- following formats:+-- \`projects\/PROJECT_ID\/deidentifyTemplates\/TEMPLATE_ID\` OR+-- \`organizations\/ORGANIZATION_ID\/deidentifyTemplates\/TEMPLATE_ID\`+gpdvdtName :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)+gpdvdtName+ = lens _gpdvdtName (\ s a -> s{_gpdvdtName = a})++-- | \/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/ The core content of the template \/\/+-- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+gpdvdtDeidentifyConfig :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe GooglePrivacyDlpV2DeidentifyConfig)+gpdvdtDeidentifyConfig+ = lens _gpdvdtDeidentifyConfig+ (\ s a -> s{_gpdvdtDeidentifyConfig = a})++-- | Display name (max 256 chars).+gpdvdtDisplayName :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)+gpdvdtDisplayName+ = lens _gpdvdtDisplayName+ (\ s a -> s{_gpdvdtDisplayName = a})++-- | Short description (max 256 chars).+gpdvdtDescription :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe Text)+gpdvdtDescription+ = lens _gpdvdtDescription+ (\ s a -> s{_gpdvdtDescription = a})++-- | The creation timestamp of a inspectTemplate, output only field.+gpdvdtCreateTime :: Lens' GooglePrivacyDlpV2DeidentifyTemplate (Maybe UTCTime)+gpdvdtCreateTime+ = lens _gpdvdtCreateTime+ (\ s a -> s{_gpdvdtCreateTime = a})+ . mapping _DateTime++instance FromJSON+ GooglePrivacyDlpV2DeidentifyTemplate+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2DeidentifyTemplate"+ (\ o ->+ GooglePrivacyDlpV2DeidentifyTemplate' <$>+ (o .:? "updateTime") <*> (o .:? "name") <*>+ (o .:? "deidentifyConfig")+ <*> (o .:? "displayName")+ <*> (o .:? "description")+ <*> (o .:? "createTime"))++instance ToJSON GooglePrivacyDlpV2DeidentifyTemplate+ where+ toJSON GooglePrivacyDlpV2DeidentifyTemplate'{..}+ = object+ (catMaybes+ [("updateTime" .=) <$> _gpdvdtUpdateTime,+ ("name" .=) <$> _gpdvdtName,+ ("deidentifyConfig" .=) <$> _gpdvdtDeidentifyConfig,+ ("displayName" .=) <$> _gpdvdtDisplayName,+ ("description" .=) <$> _gpdvdtDescription,+ ("createTime" .=) <$> _gpdvdtCreateTime])++-- | Replace each input value with a given \`Value\`.+--+-- /See:/ 'googlePrivacyDlpV2ReplaceValueConfig' smart constructor.+newtype GooglePrivacyDlpV2ReplaceValueConfig =+ GooglePrivacyDlpV2ReplaceValueConfig'+ { _gpdvrvcNewValue :: Maybe GooglePrivacyDlpV2Value+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ReplaceValueConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvrvcNewValue'+googlePrivacyDlpV2ReplaceValueConfig+ :: GooglePrivacyDlpV2ReplaceValueConfig+googlePrivacyDlpV2ReplaceValueConfig =+ GooglePrivacyDlpV2ReplaceValueConfig' {_gpdvrvcNewValue = Nothing}+++-- | Value to replace it with.+gpdvrvcNewValue :: Lens' GooglePrivacyDlpV2ReplaceValueConfig (Maybe GooglePrivacyDlpV2Value)+gpdvrvcNewValue+ = lens _gpdvrvcNewValue+ (\ s a -> s{_gpdvrvcNewValue = a})++instance FromJSON+ GooglePrivacyDlpV2ReplaceValueConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ReplaceValueConfig"+ (\ o ->+ GooglePrivacyDlpV2ReplaceValueConfig' <$>+ (o .:? "newValue"))++instance ToJSON GooglePrivacyDlpV2ReplaceValueConfig+ where+ toJSON GooglePrivacyDlpV2ReplaceValueConfig'{..}+ = object+ (catMaybes [("newValue" .=) <$> _gpdvrvcNewValue])++-- | Compute numerical stats over an individual column, including number of+-- distinct values and value count distribution.+--+-- /See:/ 'googlePrivacyDlpV2CategoricalStatsConfig' smart constructor.+newtype GooglePrivacyDlpV2CategoricalStatsConfig =+ GooglePrivacyDlpV2CategoricalStatsConfig'+ { _gpdvcscField :: Maybe GooglePrivacyDlpV2FieldId+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CategoricalStatsConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcscField'+googlePrivacyDlpV2CategoricalStatsConfig+ :: GooglePrivacyDlpV2CategoricalStatsConfig+googlePrivacyDlpV2CategoricalStatsConfig =+ GooglePrivacyDlpV2CategoricalStatsConfig' {_gpdvcscField = Nothing}+++-- | Field to compute categorical stats on. All column types are supported+-- except for arrays and structs. However, it may be more informative to+-- use NumericalStats when the field type is supported, depending on the+-- data.+gpdvcscField :: Lens' GooglePrivacyDlpV2CategoricalStatsConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvcscField+ = lens _gpdvcscField (\ s a -> s{_gpdvcscField = a})++instance FromJSON+ GooglePrivacyDlpV2CategoricalStatsConfig+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CategoricalStatsConfig"+ (\ o ->+ GooglePrivacyDlpV2CategoricalStatsConfig' <$>+ (o .:? "field"))++instance ToJSON+ GooglePrivacyDlpV2CategoricalStatsConfig+ where+ toJSON GooglePrivacyDlpV2CategoricalStatsConfig'{..}+ = object (catMaybes [("field" .=) <$> _gpdvcscField])++-- | Compute numerical stats over an individual column, including min, max,+-- and quantiles.+--+-- /See:/ 'googlePrivacyDlpV2NumericalStatsConfig' smart constructor.+newtype GooglePrivacyDlpV2NumericalStatsConfig =+ GooglePrivacyDlpV2NumericalStatsConfig'+ { _gpdvnscField :: Maybe GooglePrivacyDlpV2FieldId+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2NumericalStatsConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvnscField'+googlePrivacyDlpV2NumericalStatsConfig+ :: GooglePrivacyDlpV2NumericalStatsConfig+googlePrivacyDlpV2NumericalStatsConfig =+ GooglePrivacyDlpV2NumericalStatsConfig' {_gpdvnscField = Nothing}+++-- | Field to compute numerical stats on. Supported types are integer, float,+-- date, datetime, timestamp, time.+gpdvnscField :: Lens' GooglePrivacyDlpV2NumericalStatsConfig (Maybe GooglePrivacyDlpV2FieldId)+gpdvnscField+ = lens _gpdvnscField (\ s a -> s{_gpdvnscField = a})++instance FromJSON+ GooglePrivacyDlpV2NumericalStatsConfig+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2NumericalStatsConfig"+ (\ o ->+ GooglePrivacyDlpV2NumericalStatsConfig' <$>+ (o .:? "field"))++instance ToJSON+ GooglePrivacyDlpV2NumericalStatsConfig+ where+ toJSON GooglePrivacyDlpV2NumericalStatsConfig'{..}+ = object (catMaybes [("field" .=) <$> _gpdvnscField])++-- | Response message for ListJobTriggers.+--+-- /See:/ 'googlePrivacyDlpV2ListJobTriggersResponse' smart constructor.+data GooglePrivacyDlpV2ListJobTriggersResponse =+ GooglePrivacyDlpV2ListJobTriggersResponse'+ { _gpdvljtrNextPageToken :: !(Maybe Text)+ , _gpdvljtrJobTriggers :: !(Maybe [GooglePrivacyDlpV2JobTrigger])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ListJobTriggersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvljtrNextPageToken'+--+-- * 'gpdvljtrJobTriggers'+googlePrivacyDlpV2ListJobTriggersResponse+ :: GooglePrivacyDlpV2ListJobTriggersResponse+googlePrivacyDlpV2ListJobTriggersResponse =+ GooglePrivacyDlpV2ListJobTriggersResponse'+ {_gpdvljtrNextPageToken = Nothing, _gpdvljtrJobTriggers = Nothing}+++-- | If the next page is available then the next page token to be used in+-- following ListJobTriggers request.+gpdvljtrNextPageToken :: Lens' GooglePrivacyDlpV2ListJobTriggersResponse (Maybe Text)+gpdvljtrNextPageToken+ = lens _gpdvljtrNextPageToken+ (\ s a -> s{_gpdvljtrNextPageToken = a})++-- | List of triggeredJobs, up to page_size in ListJobTriggersRequest.+gpdvljtrJobTriggers :: Lens' GooglePrivacyDlpV2ListJobTriggersResponse [GooglePrivacyDlpV2JobTrigger]+gpdvljtrJobTriggers+ = lens _gpdvljtrJobTriggers+ (\ s a -> s{_gpdvljtrJobTriggers = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2ListJobTriggersResponse+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2ListJobTriggersResponse"+ (\ o ->+ GooglePrivacyDlpV2ListJobTriggersResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "jobTriggers" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2ListJobTriggersResponse+ where+ toJSON GooglePrivacyDlpV2ListJobTriggersResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _gpdvljtrNextPageToken,+ ("jobTriggers" .=) <$> _gpdvljtrJobTriggers])++-- | Message representing a single file or path in Cloud Storage.+--+-- /See:/ 'googlePrivacyDlpV2CloudStoragePath' smart constructor.+newtype GooglePrivacyDlpV2CloudStoragePath =+ GooglePrivacyDlpV2CloudStoragePath'+ { _gpdvcspPath :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CloudStoragePath' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcspPath'+googlePrivacyDlpV2CloudStoragePath+ :: GooglePrivacyDlpV2CloudStoragePath+googlePrivacyDlpV2CloudStoragePath =+ GooglePrivacyDlpV2CloudStoragePath' {_gpdvcspPath = Nothing}+++-- | A url representing a file or path (no wildcards) in Cloud Storage.+-- Example: gs:\/\/[BUCKET_NAME]\/dictionary.txt+gpdvcspPath :: Lens' GooglePrivacyDlpV2CloudStoragePath (Maybe Text)+gpdvcspPath+ = lens _gpdvcspPath (\ s a -> s{_gpdvcspPath = a})++instance FromJSON GooglePrivacyDlpV2CloudStoragePath+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2CloudStoragePath"+ (\ o ->+ GooglePrivacyDlpV2CloudStoragePath' <$>+ (o .:? "path"))++instance ToJSON GooglePrivacyDlpV2CloudStoragePath+ where+ toJSON GooglePrivacyDlpV2CloudStoragePath'{..}+ = object (catMaybes [("path" .=) <$> _gpdvcspPath])++-- | Specifies the location of the finding.+--+-- /See:/ 'googlePrivacyDlpV2Location' smart constructor.+data GooglePrivacyDlpV2Location =+ GooglePrivacyDlpV2Location'+ { _gpdvlCodepointRange :: !(Maybe GooglePrivacyDlpV2Range)+ , _gpdvlContentLocations :: !(Maybe [GooglePrivacyDlpV2ContentLocation])+ , _gpdvlByteRange :: !(Maybe GooglePrivacyDlpV2Range)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvlCodepointRange'+--+-- * 'gpdvlContentLocations'+--+-- * 'gpdvlByteRange'+googlePrivacyDlpV2Location+ :: GooglePrivacyDlpV2Location+googlePrivacyDlpV2Location =+ GooglePrivacyDlpV2Location'+ { _gpdvlCodepointRange = Nothing+ , _gpdvlContentLocations = Nothing+ , _gpdvlByteRange = Nothing+ }+++-- | Unicode character offsets delimiting the finding. These are relative to+-- the finding\'s containing element. Provided when the content is text.+gpdvlCodepointRange :: Lens' GooglePrivacyDlpV2Location (Maybe GooglePrivacyDlpV2Range)+gpdvlCodepointRange+ = lens _gpdvlCodepointRange+ (\ s a -> s{_gpdvlCodepointRange = a})++-- | List of nested objects pointing to the precise location of the finding+-- within the file or record.+gpdvlContentLocations :: Lens' GooglePrivacyDlpV2Location [GooglePrivacyDlpV2ContentLocation]+gpdvlContentLocations+ = lens _gpdvlContentLocations+ (\ s a -> s{_gpdvlContentLocations = a})+ . _Default+ . _Coerce++-- | Zero-based byte offsets delimiting the finding. These are relative to+-- the finding\'s containing element. Note that when the content is not+-- textual, this references the UTF-8 encoded textual representation of the+-- content. Omitted if content is an image.+gpdvlByteRange :: Lens' GooglePrivacyDlpV2Location (Maybe GooglePrivacyDlpV2Range)+gpdvlByteRange+ = lens _gpdvlByteRange+ (\ s a -> s{_gpdvlByteRange = a})++instance FromJSON GooglePrivacyDlpV2Location where+ parseJSON+ = withObject "GooglePrivacyDlpV2Location"+ (\ o ->+ GooglePrivacyDlpV2Location' <$>+ (o .:? "codepointRange") <*>+ (o .:? "contentLocations" .!= mempty)+ <*> (o .:? "byteRange"))++instance ToJSON GooglePrivacyDlpV2Location where+ toJSON GooglePrivacyDlpV2Location'{..}+ = object+ (catMaybes+ [("codepointRange" .=) <$> _gpdvlCodepointRange,+ ("contentLocations" .=) <$> _gpdvlContentLocations,+ ("byteRange" .=) <$> _gpdvlByteRange])++-- | Schedule for triggeredJobs.+--+-- /See:/ 'googlePrivacyDlpV2Schedule' smart constructor.+newtype GooglePrivacyDlpV2Schedule =+ GooglePrivacyDlpV2Schedule'+ { _gpdvsRecurrencePeriodDuration :: Maybe GDuration+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2Schedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvsRecurrencePeriodDuration'+googlePrivacyDlpV2Schedule+ :: GooglePrivacyDlpV2Schedule+googlePrivacyDlpV2Schedule =+ GooglePrivacyDlpV2Schedule' {_gpdvsRecurrencePeriodDuration = Nothing}+++-- | With this option a job is started a regular periodic basis. For example:+-- every day (86400 seconds). A scheduled start time will be skipped if the+-- previous execution has not ended when its scheduled time occurs. This+-- value must be set to a time duration greater than or equal to 1 day and+-- can be no longer than 60 days.+gpdvsRecurrencePeriodDuration :: Lens' GooglePrivacyDlpV2Schedule (Maybe Scientific)+gpdvsRecurrencePeriodDuration+ = lens _gpdvsRecurrencePeriodDuration+ (\ s a -> s{_gpdvsRecurrencePeriodDuration = a})+ . mapping _GDuration++instance FromJSON GooglePrivacyDlpV2Schedule where+ parseJSON+ = withObject "GooglePrivacyDlpV2Schedule"+ (\ o ->+ GooglePrivacyDlpV2Schedule' <$>+ (o .:? "recurrencePeriodDuration"))++instance ToJSON GooglePrivacyDlpV2Schedule where+ toJSON GooglePrivacyDlpV2Schedule'{..}+ = object+ (catMaybes+ [("recurrencePeriodDuration" .=) <$>+ _gpdvsRecurrencePeriodDuration])++-- | Request message for CreateJobTrigger.+--+-- /See:/ 'googlePrivacyDlpV2CreateJobTriggerRequest' smart constructor.+data GooglePrivacyDlpV2CreateJobTriggerRequest =+ GooglePrivacyDlpV2CreateJobTriggerRequest'+ { _gpdvcjtrTriggerId :: !(Maybe Text)+ , _gpdvcjtrJobTrigger :: !(Maybe GooglePrivacyDlpV2JobTrigger)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2CreateJobTriggerRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvcjtrTriggerId'+--+-- * 'gpdvcjtrJobTrigger'+googlePrivacyDlpV2CreateJobTriggerRequest+ :: GooglePrivacyDlpV2CreateJobTriggerRequest+googlePrivacyDlpV2CreateJobTriggerRequest =+ GooglePrivacyDlpV2CreateJobTriggerRequest'+ {_gpdvcjtrTriggerId = Nothing, _gpdvcjtrJobTrigger = Nothing}+++-- | The trigger id can contain uppercase and lowercase letters, numbers, and+-- hyphens; that is, it must match the regular expression:+-- \`[a-zA-Z\\\\d-_]+\`. The maximum length is 100 characters. Can be empty+-- to allow the system to generate one.+gpdvcjtrTriggerId :: Lens' GooglePrivacyDlpV2CreateJobTriggerRequest (Maybe Text)+gpdvcjtrTriggerId+ = lens _gpdvcjtrTriggerId+ (\ s a -> s{_gpdvcjtrTriggerId = a})++-- | The JobTrigger to create.+gpdvcjtrJobTrigger :: Lens' GooglePrivacyDlpV2CreateJobTriggerRequest (Maybe GooglePrivacyDlpV2JobTrigger)+gpdvcjtrJobTrigger+ = lens _gpdvcjtrJobTrigger+ (\ s a -> s{_gpdvcjtrJobTrigger = a})++instance FromJSON+ GooglePrivacyDlpV2CreateJobTriggerRequest+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2CreateJobTriggerRequest"+ (\ o ->+ GooglePrivacyDlpV2CreateJobTriggerRequest' <$>+ (o .:? "triggerId") <*> (o .:? "jobTrigger"))++instance ToJSON+ GooglePrivacyDlpV2CreateJobTriggerRequest+ where+ toJSON GooglePrivacyDlpV2CreateJobTriggerRequest'{..}+ = object+ (catMaybes+ [("triggerId" .=) <$> _gpdvcjtrTriggerId,+ ("jobTrigger" .=) <$> _gpdvcjtrJobTrigger])++-- | Overview of the modifications that occurred.+--+-- /See:/ 'googlePrivacyDlpV2TransformationOverview' smart constructor.+data GooglePrivacyDlpV2TransformationOverview =+ GooglePrivacyDlpV2TransformationOverview'+ { _gpdvtoTransformedBytes :: !(Maybe (Textual Int64))+ , _gpdvtoTransformationSummaries :: !(Maybe [GooglePrivacyDlpV2TransformationSummary])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2TransformationOverview' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvtoTransformedBytes'+--+-- * 'gpdvtoTransformationSummaries'+googlePrivacyDlpV2TransformationOverview+ :: GooglePrivacyDlpV2TransformationOverview+googlePrivacyDlpV2TransformationOverview =+ GooglePrivacyDlpV2TransformationOverview'+ { _gpdvtoTransformedBytes = Nothing+ , _gpdvtoTransformationSummaries = Nothing+ }+++-- | Total size in bytes that were transformed in some way.+gpdvtoTransformedBytes :: Lens' GooglePrivacyDlpV2TransformationOverview (Maybe Int64)+gpdvtoTransformedBytes+ = lens _gpdvtoTransformedBytes+ (\ s a -> s{_gpdvtoTransformedBytes = a})+ . mapping _Coerce++-- | Transformations applied to the dataset.+gpdvtoTransformationSummaries :: Lens' GooglePrivacyDlpV2TransformationOverview [GooglePrivacyDlpV2TransformationSummary]+gpdvtoTransformationSummaries+ = lens _gpdvtoTransformationSummaries+ (\ s a -> s{_gpdvtoTransformationSummaries = a})+ . _Default+ . _Coerce++instance FromJSON+ GooglePrivacyDlpV2TransformationOverview+ where+ parseJSON+ = withObject+ "GooglePrivacyDlpV2TransformationOverview"+ (\ o ->+ GooglePrivacyDlpV2TransformationOverview' <$>+ (o .:? "transformedBytes") <*>+ (o .:? "transformationSummaries" .!= mempty))++instance ToJSON+ GooglePrivacyDlpV2TransformationOverview+ where+ toJSON GooglePrivacyDlpV2TransformationOverview'{..}+ = object+ (catMaybes+ [("transformedBytes" .=) <$> _gpdvtoTransformedBytes,+ ("transformationSummaries" .=) <$>+ _gpdvtoTransformationSummaries])++-- | Location of the finding within an image.+--+-- /See:/ 'googlePrivacyDlpV2ImageLocation' smart constructor.+newtype GooglePrivacyDlpV2ImageLocation =+ GooglePrivacyDlpV2ImageLocation'+ { _gpdvilBoundingBoxes :: Maybe [GooglePrivacyDlpV2BoundingBox]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2ImageLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvilBoundingBoxes'+googlePrivacyDlpV2ImageLocation+ :: GooglePrivacyDlpV2ImageLocation+googlePrivacyDlpV2ImageLocation =+ GooglePrivacyDlpV2ImageLocation' {_gpdvilBoundingBoxes = Nothing}+++-- | Bounding boxes locating the pixels within the image containing the+-- finding.+gpdvilBoundingBoxes :: Lens' GooglePrivacyDlpV2ImageLocation [GooglePrivacyDlpV2BoundingBox]+gpdvilBoundingBoxes+ = lens _gpdvilBoundingBoxes+ (\ s a -> s{_gpdvilBoundingBoxes = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2ImageLocation+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2ImageLocation"+ (\ o ->+ GooglePrivacyDlpV2ImageLocation' <$>+ (o .:? "boundingBoxes" .!= mempty))++instance ToJSON GooglePrivacyDlpV2ImageLocation where+ toJSON GooglePrivacyDlpV2ImageLocation'{..}+ = object+ (catMaybes+ [("boundingBoxes" .=) <$> _gpdvilBoundingBoxes])++-- | A representation of a Datastore kind.+--+-- /See:/ 'googlePrivacyDlpV2KindExpression' smart constructor.+newtype GooglePrivacyDlpV2KindExpression =+ GooglePrivacyDlpV2KindExpression'+ { _gpdvkeName :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2KindExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvkeName'+googlePrivacyDlpV2KindExpression+ :: GooglePrivacyDlpV2KindExpression+googlePrivacyDlpV2KindExpression =+ GooglePrivacyDlpV2KindExpression' {_gpdvkeName = Nothing}+++-- | The name of the kind.+gpdvkeName :: Lens' GooglePrivacyDlpV2KindExpression (Maybe Text)+gpdvkeName+ = lens _gpdvkeName (\ s a -> s{_gpdvkeName = a})++instance FromJSON GooglePrivacyDlpV2KindExpression+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2KindExpression"+ (\ o ->+ GooglePrivacyDlpV2KindExpression' <$> (o .:? "name"))++instance ToJSON GooglePrivacyDlpV2KindExpression+ where+ toJSON GooglePrivacyDlpV2KindExpression'{..}+ = object (catMaybes [("name" .=) <$> _gpdvkeName])++-- | Privacy metric to compute for reidentification risk analysis.+--+-- /See:/ 'googlePrivacyDlpV2PrivacyMetric' smart constructor.+data GooglePrivacyDlpV2PrivacyMetric =+ GooglePrivacyDlpV2PrivacyMetric'+ { _gpdvpmNumericalStatsConfig :: !(Maybe GooglePrivacyDlpV2NumericalStatsConfig)+ , _gpdvpmCategoricalStatsConfig :: !(Maybe GooglePrivacyDlpV2CategoricalStatsConfig)+ , _gpdvpmKMapEstimationConfig :: !(Maybe GooglePrivacyDlpV2KMapEstimationConfig)+ , _gpdvpmKAnonymityConfig :: !(Maybe GooglePrivacyDlpV2KAnonymityConfig)+ , _gpdvpmLDiversityConfig :: !(Maybe GooglePrivacyDlpV2LDiversityConfig)+ , _gpdvpmDeltaPresenceEstimationConfig :: !(Maybe GooglePrivacyDlpV2DeltaPresenceEstimationConfig)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2PrivacyMetric' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvpmNumericalStatsConfig'+--+-- * 'gpdvpmCategoricalStatsConfig'+--+-- * 'gpdvpmKMapEstimationConfig'+--+-- * 'gpdvpmKAnonymityConfig'+--+-- * 'gpdvpmLDiversityConfig'+--+-- * 'gpdvpmDeltaPresenceEstimationConfig'+googlePrivacyDlpV2PrivacyMetric+ :: GooglePrivacyDlpV2PrivacyMetric+googlePrivacyDlpV2PrivacyMetric =+ GooglePrivacyDlpV2PrivacyMetric'+ { _gpdvpmNumericalStatsConfig = Nothing+ , _gpdvpmCategoricalStatsConfig = Nothing+ , _gpdvpmKMapEstimationConfig = Nothing+ , _gpdvpmKAnonymityConfig = Nothing+ , _gpdvpmLDiversityConfig = Nothing+ , _gpdvpmDeltaPresenceEstimationConfig = Nothing+ }+++gpdvpmNumericalStatsConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2NumericalStatsConfig)+gpdvpmNumericalStatsConfig+ = lens _gpdvpmNumericalStatsConfig+ (\ s a -> s{_gpdvpmNumericalStatsConfig = a})++gpdvpmCategoricalStatsConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2CategoricalStatsConfig)+gpdvpmCategoricalStatsConfig+ = lens _gpdvpmCategoricalStatsConfig+ (\ s a -> s{_gpdvpmCategoricalStatsConfig = a})++gpdvpmKMapEstimationConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2KMapEstimationConfig)+gpdvpmKMapEstimationConfig+ = lens _gpdvpmKMapEstimationConfig+ (\ s a -> s{_gpdvpmKMapEstimationConfig = a})++gpdvpmKAnonymityConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2KAnonymityConfig)+gpdvpmKAnonymityConfig+ = lens _gpdvpmKAnonymityConfig+ (\ s a -> s{_gpdvpmKAnonymityConfig = a})++gpdvpmLDiversityConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2LDiversityConfig)+gpdvpmLDiversityConfig+ = lens _gpdvpmLDiversityConfig+ (\ s a -> s{_gpdvpmLDiversityConfig = a})++gpdvpmDeltaPresenceEstimationConfig :: Lens' GooglePrivacyDlpV2PrivacyMetric (Maybe GooglePrivacyDlpV2DeltaPresenceEstimationConfig)+gpdvpmDeltaPresenceEstimationConfig+ = lens _gpdvpmDeltaPresenceEstimationConfig+ (\ s a ->+ s{_gpdvpmDeltaPresenceEstimationConfig = a})++instance FromJSON GooglePrivacyDlpV2PrivacyMetric+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2PrivacyMetric"+ (\ o ->+ GooglePrivacyDlpV2PrivacyMetric' <$>+ (o .:? "numericalStatsConfig") <*>+ (o .:? "categoricalStatsConfig")+ <*> (o .:? "kMapEstimationConfig")+ <*> (o .:? "kAnonymityConfig")+ <*> (o .:? "lDiversityConfig")+ <*> (o .:? "deltaPresenceEstimationConfig"))++instance ToJSON GooglePrivacyDlpV2PrivacyMetric where+ toJSON GooglePrivacyDlpV2PrivacyMetric'{..}+ = object+ (catMaybes+ [("numericalStatsConfig" .=) <$>+ _gpdvpmNumericalStatsConfig,+ ("categoricalStatsConfig" .=) <$>+ _gpdvpmCategoricalStatsConfig,+ ("kMapEstimationConfig" .=) <$>+ _gpdvpmKMapEstimationConfig,+ ("kAnonymityConfig" .=) <$> _gpdvpmKAnonymityConfig,+ ("lDiversityConfig" .=) <$> _gpdvpmLDiversityConfig,+ ("deltaPresenceEstimationConfig" .=) <$>+ _gpdvpmDeltaPresenceEstimationConfig])++-- | Using raw keys is prone to security risks due to accidentally leaking+-- the key. Choose another type of key if possible.+--+-- /See:/ 'googlePrivacyDlpV2UnwrAppedCryptoKey' smart constructor.+newtype GooglePrivacyDlpV2UnwrAppedCryptoKey =+ GooglePrivacyDlpV2UnwrAppedCryptoKey'+ { _gpdvuackKey :: Maybe Bytes+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2UnwrAppedCryptoKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvuackKey'+googlePrivacyDlpV2UnwrAppedCryptoKey+ :: GooglePrivacyDlpV2UnwrAppedCryptoKey+googlePrivacyDlpV2UnwrAppedCryptoKey =+ GooglePrivacyDlpV2UnwrAppedCryptoKey' {_gpdvuackKey = Nothing}+++-- | A 128\/192\/256 bit key. [required]+gpdvuackKey :: Lens' GooglePrivacyDlpV2UnwrAppedCryptoKey (Maybe ByteString)+gpdvuackKey+ = lens _gpdvuackKey (\ s a -> s{_gpdvuackKey = a}) .+ mapping _Bytes++instance FromJSON+ GooglePrivacyDlpV2UnwrAppedCryptoKey+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2UnwrAppedCryptoKey"+ (\ o ->+ GooglePrivacyDlpV2UnwrAppedCryptoKey' <$>+ (o .:? "key"))++instance ToJSON GooglePrivacyDlpV2UnwrAppedCryptoKey+ where+ toJSON GooglePrivacyDlpV2UnwrAppedCryptoKey'{..}+ = object (catMaybes [("key" .=) <$> _gpdvuackKey])++-- | Rule set for modifying a set of infoTypes to alter behavior under+-- certain circumstances, depending on the specific details of the rules+-- within the set.+--+-- /See:/ 'googlePrivacyDlpV2InspectionRuleSet' smart constructor.+data GooglePrivacyDlpV2InspectionRuleSet =+ GooglePrivacyDlpV2InspectionRuleSet'+ { _gpdvirsRules :: !(Maybe [GooglePrivacyDlpV2InspectionRule])+ , _gpdvirsInfoTypes :: !(Maybe [GooglePrivacyDlpV2InfoType])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2InspectionRuleSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvirsRules'+--+-- * 'gpdvirsInfoTypes'+googlePrivacyDlpV2InspectionRuleSet+ :: GooglePrivacyDlpV2InspectionRuleSet+googlePrivacyDlpV2InspectionRuleSet =+ GooglePrivacyDlpV2InspectionRuleSet'+ {_gpdvirsRules = Nothing, _gpdvirsInfoTypes = Nothing}+++-- | Set of rules to be applied to infoTypes. The rules are applied in order.+gpdvirsRules :: Lens' GooglePrivacyDlpV2InspectionRuleSet [GooglePrivacyDlpV2InspectionRule]+gpdvirsRules+ = lens _gpdvirsRules (\ s a -> s{_gpdvirsRules = a})+ . _Default+ . _Coerce++-- | List of infoTypes this rule set is applied to.+gpdvirsInfoTypes :: Lens' GooglePrivacyDlpV2InspectionRuleSet [GooglePrivacyDlpV2InfoType]+gpdvirsInfoTypes+ = lens _gpdvirsInfoTypes+ (\ s a -> s{_gpdvirsInfoTypes = a})+ . _Default+ . _Coerce++instance FromJSON GooglePrivacyDlpV2InspectionRuleSet+ where+ parseJSON+ = withObject "GooglePrivacyDlpV2InspectionRuleSet"+ (\ o ->+ GooglePrivacyDlpV2InspectionRuleSet' <$>+ (o .:? "rules" .!= mempty) <*>+ (o .:? "infoTypes" .!= mempty))++instance ToJSON GooglePrivacyDlpV2InspectionRuleSet+ where+ toJSON GooglePrivacyDlpV2InspectionRuleSet'{..}+ = object+ (catMaybes+ [("rules" .=) <$> _gpdvirsRules,+ ("infoTypes" .=) <$> _gpdvirsInfoTypes])++-- | A column with a semantic tag attached.+--+-- /See:/ 'googlePrivacyDlpV2QuasiId' smart constructor.+data GooglePrivacyDlpV2QuasiId =+ GooglePrivacyDlpV2QuasiId'+ { _gpdvqiField :: !(Maybe GooglePrivacyDlpV2FieldId)+ , _gpdvqiInfoType :: !(Maybe GooglePrivacyDlpV2InfoType)+ , _gpdvqiInferred :: !(Maybe GoogleProtobufEmpty)+ , _gpdvqiCustomTag :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2QuasiId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvqiField'+--+-- * 'gpdvqiInfoType'+--+-- * 'gpdvqiInferred'+--+-- * 'gpdvqiCustomTag'+googlePrivacyDlpV2QuasiId+ :: GooglePrivacyDlpV2QuasiId+googlePrivacyDlpV2QuasiId =+ GooglePrivacyDlpV2QuasiId'+ { _gpdvqiField = Nothing+ , _gpdvqiInfoType = Nothing+ , _gpdvqiInferred = Nothing+ , _gpdvqiCustomTag = Nothing+ }+++-- | Identifies the column. [required]+gpdvqiField :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GooglePrivacyDlpV2FieldId)+gpdvqiField+ = lens _gpdvqiField (\ s a -> s{_gpdvqiField = a})++-- | A column can be tagged with a InfoType to use the relevant public+-- dataset as a statistical model of population, if available. We currently+-- support US ZIP codes, region codes, ages and genders. To+-- programmatically obtain the list of supported InfoTypes, use+-- ListInfoTypes with the supported_by=RISK_ANALYSIS filter.+gpdvqiInfoType :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GooglePrivacyDlpV2InfoType)+gpdvqiInfoType+ = lens _gpdvqiInfoType+ (\ s a -> s{_gpdvqiInfoType = a})++-- | If no semantic tag is indicated, we infer the statistical model from the+-- distribution of values in the input data+gpdvqiInferred :: Lens' GooglePrivacyDlpV2QuasiId (Maybe GoogleProtobufEmpty)+gpdvqiInferred+ = lens _gpdvqiInferred+ (\ s a -> s{_gpdvqiInferred = a})++-- | A column can be tagged with a custom tag. In this case, the user must+-- indicate an auxiliary table that contains statistical information on the+-- possible values of this column (below).+gpdvqiCustomTag :: Lens' GooglePrivacyDlpV2QuasiId (Maybe Text)+gpdvqiCustomTag+ = lens _gpdvqiCustomTag+ (\ s a -> s{_gpdvqiCustomTag = a})++instance FromJSON GooglePrivacyDlpV2QuasiId where+ parseJSON+ = withObject "GooglePrivacyDlpV2QuasiId"+ (\ o ->+ GooglePrivacyDlpV2QuasiId' <$>+ (o .:? "field") <*> (o .:? "infoType") <*>+ (o .:? "inferred")+ <*> (o .:? "customTag"))++instance ToJSON GooglePrivacyDlpV2QuasiId where+ toJSON GooglePrivacyDlpV2QuasiId'{..}+ = object+ (catMaybes+ [("field" .=) <$> _gpdvqiField,+ ("infoType" .=) <$> _gpdvqiInfoType,+ ("inferred" .=) <$> _gpdvqiInferred,+ ("customTag" .=) <$> _gpdvqiCustomTag])++-- | Location of a finding within a document.+--+-- /See:/ 'googlePrivacyDlpV2DocumentLocation' smart constructor.+newtype GooglePrivacyDlpV2DocumentLocation =+ GooglePrivacyDlpV2DocumentLocation'+ { _gpdvdlFileOffSet :: Maybe (Textual Int64)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GooglePrivacyDlpV2DocumentLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpdvdlFileOffSet'+googlePrivacyDlpV2DocumentLocation+ :: GooglePrivacyDlpV2DocumentLocation+googlePrivacyDlpV2DocumentLocation =+ GooglePrivacyDlpV2DocumentLocation' {_gpdvdlFileOffSet = Nothing}+ -- | Offset of the line, from the beginning of the file, where the finding is -- located.
gen/Network/Google/DLP/Types/Sum.hs view
@@ -250,10 +250,10 @@ -- ^ @RELATIONAL_OPERATOR_UNSPECIFIED@ | EqualTo -- ^ @EQUAL_TO@- -- Equal.+ -- Equal. Attempts to match even with incompatible types. | NotEqualTo -- ^ @NOT_EQUAL_TO@- -- Not equal to.+ -- Not equal to. Attempts to match even with incompatible types. | GreaterThan -- ^ @GREATER_THAN@ -- Greater than.
gen/Network/Google/Resource/DLP/InfoTypes/List.hs view
@@ -67,7 +67,8 @@ -- to learn more. -- -- /See:/ 'infoTypesList' smart constructor.-data InfoTypesList = InfoTypesList'+data InfoTypesList =+ InfoTypesList' { _itlXgafv :: !(Maybe Xgafv) , _itlLanguageCode :: !(Maybe Text) , _itlUploadProtocol :: !(Maybe Text)@@ -75,8 +76,10 @@ , _itlUploadType :: !(Maybe Text) , _itlFilter :: !(Maybe Text) , _itlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'InfoTypesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -97,7 +100,7 @@ infoTypesList :: InfoTypesList infoTypesList =- InfoTypesList'+ InfoTypesList' { _itlXgafv = Nothing , _itlLanguageCode = Nothing , _itlUploadProtocol = Nothing@@ -106,6 +109,7 @@ , _itlFilter = Nothing , _itlCallback = Nothing }+ -- | V1 error format. itlXgafv :: Lens' InfoTypesList (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Create.hs view
@@ -70,7 +70,8 @@ -- more. -- -- /See:/ 'organizationsDeidentifyTemplatesCreate' smart constructor.-data OrganizationsDeidentifyTemplatesCreate = OrganizationsDeidentifyTemplatesCreate'+data OrganizationsDeidentifyTemplatesCreate =+ OrganizationsDeidentifyTemplatesCreate' { _odtcParent :: !Text , _odtcXgafv :: !(Maybe Xgafv) , _odtcUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@ , _odtcUploadType :: !(Maybe Text) , _odtcPayload :: !GooglePrivacyDlpV2CreateDeidentifyTemplateRequest , _odtcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsDeidentifyTemplatesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@ -> GooglePrivacyDlpV2CreateDeidentifyTemplateRequest -- ^ 'odtcPayload' -> OrganizationsDeidentifyTemplatesCreate organizationsDeidentifyTemplatesCreate pOdtcParent_ pOdtcPayload_ =- OrganizationsDeidentifyTemplatesCreate'+ OrganizationsDeidentifyTemplatesCreate' { _odtcParent = pOdtcParent_ , _odtcXgafv = Nothing , _odtcUploadProtocol = Nothing@@ -112,6 +115,7 @@ , _odtcCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. odtcParent :: Lens' OrganizationsDeidentifyTemplatesCreate Text@@ -152,7 +156,8 @@ = lens _odtcCallback (\ s a -> s{_odtcCallback = a}) instance GoogleRequest- OrganizationsDeidentifyTemplatesCreate where+ OrganizationsDeidentifyTemplatesCreate+ where type Rs OrganizationsDeidentifyTemplatesCreate = GooglePrivacyDlpV2DeidentifyTemplate type Scopes OrganizationsDeidentifyTemplatesCreate =
gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Delete.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'organizationsDeidentifyTemplatesDelete' smart constructor.-data OrganizationsDeidentifyTemplatesDelete = OrganizationsDeidentifyTemplatesDelete'+data OrganizationsDeidentifyTemplatesDelete =+ OrganizationsDeidentifyTemplatesDelete' { _odtdXgafv :: !(Maybe Xgafv) , _odtdUploadProtocol :: !(Maybe Text) , _odtdAccessToken :: !(Maybe Text) , _odtdUploadType :: !(Maybe Text) , _odtdName :: !Text , _odtdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsDeidentifyTemplatesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'odtdName' -> OrganizationsDeidentifyTemplatesDelete organizationsDeidentifyTemplatesDelete pOdtdName_ =- OrganizationsDeidentifyTemplatesDelete'+ OrganizationsDeidentifyTemplatesDelete' { _odtdXgafv = Nothing , _odtdUploadProtocol = Nothing , _odtdAccessToken = Nothing@@ -101,6 +104,7 @@ , _odtdCallback = Nothing } + -- | V1 error format. odtdXgafv :: Lens' OrganizationsDeidentifyTemplatesDelete (Maybe Xgafv) odtdXgafv@@ -136,7 +140,8 @@ = lens _odtdCallback (\ s a -> s{_odtdCallback = a}) instance GoogleRequest- OrganizationsDeidentifyTemplatesDelete where+ OrganizationsDeidentifyTemplatesDelete+ where type Rs OrganizationsDeidentifyTemplatesDelete = GoogleProtobufEmpty type Scopes OrganizationsDeidentifyTemplatesDelete =
gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Get.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'organizationsDeidentifyTemplatesGet' smart constructor.-data OrganizationsDeidentifyTemplatesGet = OrganizationsDeidentifyTemplatesGet'+data OrganizationsDeidentifyTemplatesGet =+ OrganizationsDeidentifyTemplatesGet' { _odtgXgafv :: !(Maybe Xgafv) , _odtgUploadProtocol :: !(Maybe Text) , _odtgAccessToken :: !(Maybe Text) , _odtgUploadType :: !(Maybe Text) , _odtgName :: !Text , _odtgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsDeidentifyTemplatesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'odtgName' -> OrganizationsDeidentifyTemplatesGet organizationsDeidentifyTemplatesGet pOdtgName_ =- OrganizationsDeidentifyTemplatesGet'+ OrganizationsDeidentifyTemplatesGet' { _odtgXgafv = Nothing , _odtgUploadProtocol = Nothing , _odtgAccessToken = Nothing@@ -101,6 +104,7 @@ , _odtgCallback = Nothing } + -- | V1 error format. odtgXgafv :: Lens' OrganizationsDeidentifyTemplatesGet (Maybe Xgafv) odtgXgafv@@ -136,7 +140,8 @@ = lens _odtgCallback (\ s a -> s{_odtgCallback = a}) instance GoogleRequest- OrganizationsDeidentifyTemplatesGet where+ OrganizationsDeidentifyTemplatesGet+ where type Rs OrganizationsDeidentifyTemplatesGet = GooglePrivacyDlpV2DeidentifyTemplate type Scopes OrganizationsDeidentifyTemplatesGet =
gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/List.hs view
@@ -72,7 +72,8 @@ -- more. -- -- /See:/ 'organizationsDeidentifyTemplatesList' smart constructor.-data OrganizationsDeidentifyTemplatesList = OrganizationsDeidentifyTemplatesList'+data OrganizationsDeidentifyTemplatesList =+ OrganizationsDeidentifyTemplatesList' { _odtlParent :: !Text , _odtlXgafv :: !(Maybe Xgafv) , _odtlUploadProtocol :: !(Maybe Text)@@ -82,8 +83,10 @@ , _odtlPageToken :: !(Maybe Text) , _odtlPageSize :: !(Maybe (Textual Int32)) , _odtlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsDeidentifyTemplatesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@ :: Text -- ^ 'odtlParent' -> OrganizationsDeidentifyTemplatesList organizationsDeidentifyTemplatesList pOdtlParent_ =- OrganizationsDeidentifyTemplatesList'+ OrganizationsDeidentifyTemplatesList' { _odtlParent = pOdtlParent_ , _odtlXgafv = Nothing , _odtlUploadProtocol = Nothing@@ -121,6 +124,7 @@ , _odtlCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. odtlParent :: Lens' OrganizationsDeidentifyTemplatesList Text@@ -182,7 +186,8 @@ = lens _odtlCallback (\ s a -> s{_odtlCallback = a}) instance GoogleRequest- OrganizationsDeidentifyTemplatesList where+ OrganizationsDeidentifyTemplatesList+ where type Rs OrganizationsDeidentifyTemplatesList = GooglePrivacyDlpV2ListDeidentifyTemplatesResponse type Scopes OrganizationsDeidentifyTemplatesList =
gen/Network/Google/Resource/DLP/Organizations/DeidentifyTemplates/Patch.hs view
@@ -67,7 +67,8 @@ -- more. -- -- /See:/ 'organizationsDeidentifyTemplatesPatch' smart constructor.-data OrganizationsDeidentifyTemplatesPatch = OrganizationsDeidentifyTemplatesPatch'+data OrganizationsDeidentifyTemplatesPatch =+ OrganizationsDeidentifyTemplatesPatch' { _odtpXgafv :: !(Maybe Xgafv) , _odtpUploadProtocol :: !(Maybe Text) , _odtpAccessToken :: !(Maybe Text)@@ -75,8 +76,10 @@ , _odtpPayload :: !GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest , _odtpName :: !Text , _odtpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsDeidentifyTemplatesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@ -> Text -- ^ 'odtpName' -> OrganizationsDeidentifyTemplatesPatch organizationsDeidentifyTemplatesPatch pOdtpPayload_ pOdtpName_ =- OrganizationsDeidentifyTemplatesPatch'+ OrganizationsDeidentifyTemplatesPatch' { _odtpXgafv = Nothing , _odtpUploadProtocol = Nothing , _odtpAccessToken = Nothing@@ -109,6 +112,7 @@ , _odtpCallback = Nothing } + -- | V1 error format. odtpXgafv :: Lens' OrganizationsDeidentifyTemplatesPatch (Maybe Xgafv) odtpXgafv@@ -149,7 +153,8 @@ = lens _odtpCallback (\ s a -> s{_odtpCallback = a}) instance GoogleRequest- OrganizationsDeidentifyTemplatesPatch where+ OrganizationsDeidentifyTemplatesPatch+ where type Rs OrganizationsDeidentifyTemplatesPatch = GooglePrivacyDlpV2DeidentifyTemplate type Scopes OrganizationsDeidentifyTemplatesPatch =
gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Create.hs view
@@ -68,7 +68,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'organizationsInspectTemplatesCreate' smart constructor.-data OrganizationsInspectTemplatesCreate = OrganizationsInspectTemplatesCreate'+data OrganizationsInspectTemplatesCreate =+ OrganizationsInspectTemplatesCreate' { _oitcParent :: !Text , _oitcXgafv :: !(Maybe Xgafv) , _oitcUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@ , _oitcUploadType :: !(Maybe Text) , _oitcPayload :: !GooglePrivacyDlpV2CreateInspectTemplateRequest , _oitcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsInspectTemplatesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -100,7 +103,7 @@ -> GooglePrivacyDlpV2CreateInspectTemplateRequest -- ^ 'oitcPayload' -> OrganizationsInspectTemplatesCreate organizationsInspectTemplatesCreate pOitcParent_ pOitcPayload_ =- OrganizationsInspectTemplatesCreate'+ OrganizationsInspectTemplatesCreate' { _oitcParent = pOitcParent_ , _oitcXgafv = Nothing , _oitcUploadProtocol = Nothing@@ -110,6 +113,7 @@ , _oitcCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. oitcParent :: Lens' OrganizationsInspectTemplatesCreate Text@@ -150,7 +154,8 @@ = lens _oitcCallback (\ s a -> s{_oitcCallback = a}) instance GoogleRequest- OrganizationsInspectTemplatesCreate where+ OrganizationsInspectTemplatesCreate+ where type Rs OrganizationsInspectTemplatesCreate = GooglePrivacyDlpV2InspectTemplate type Scopes OrganizationsInspectTemplatesCreate =
gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Delete.hs view
@@ -62,15 +62,18 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'organizationsInspectTemplatesDelete' smart constructor.-data OrganizationsInspectTemplatesDelete = OrganizationsInspectTemplatesDelete'+data OrganizationsInspectTemplatesDelete =+ OrganizationsInspectTemplatesDelete' { _oitdXgafv :: !(Maybe Xgafv) , _oitdUploadProtocol :: !(Maybe Text) , _oitdAccessToken :: !(Maybe Text) , _oitdUploadType :: !(Maybe Text) , _oitdName :: !Text , _oitdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsInspectTemplatesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -90,7 +93,7 @@ :: Text -- ^ 'oitdName' -> OrganizationsInspectTemplatesDelete organizationsInspectTemplatesDelete pOitdName_ =- OrganizationsInspectTemplatesDelete'+ OrganizationsInspectTemplatesDelete' { _oitdXgafv = Nothing , _oitdUploadProtocol = Nothing , _oitdAccessToken = Nothing@@ -99,6 +102,7 @@ , _oitdCallback = Nothing } + -- | V1 error format. oitdXgafv :: Lens' OrganizationsInspectTemplatesDelete (Maybe Xgafv) oitdXgafv@@ -134,7 +138,8 @@ = lens _oitdCallback (\ s a -> s{_oitdCallback = a}) instance GoogleRequest- OrganizationsInspectTemplatesDelete where+ OrganizationsInspectTemplatesDelete+ where type Rs OrganizationsInspectTemplatesDelete = GoogleProtobufEmpty type Scopes OrganizationsInspectTemplatesDelete =
gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Get.hs view
@@ -62,15 +62,18 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'organizationsInspectTemplatesGet' smart constructor.-data OrganizationsInspectTemplatesGet = OrganizationsInspectTemplatesGet'+data OrganizationsInspectTemplatesGet =+ OrganizationsInspectTemplatesGet' { _oitgXgafv :: !(Maybe Xgafv) , _oitgUploadProtocol :: !(Maybe Text) , _oitgAccessToken :: !(Maybe Text) , _oitgUploadType :: !(Maybe Text) , _oitgName :: !Text , _oitgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsInspectTemplatesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -90,7 +93,7 @@ :: Text -- ^ 'oitgName' -> OrganizationsInspectTemplatesGet organizationsInspectTemplatesGet pOitgName_ =- OrganizationsInspectTemplatesGet'+ OrganizationsInspectTemplatesGet' { _oitgXgafv = Nothing , _oitgUploadProtocol = Nothing , _oitgAccessToken = Nothing@@ -99,6 +102,7 @@ , _oitgCallback = Nothing } + -- | V1 error format. oitgXgafv :: Lens' OrganizationsInspectTemplatesGet (Maybe Xgafv) oitgXgafv@@ -134,7 +138,8 @@ = lens _oitgCallback (\ s a -> s{_oitgCallback = a}) instance GoogleRequest- OrganizationsInspectTemplatesGet where+ OrganizationsInspectTemplatesGet+ where type Rs OrganizationsInspectTemplatesGet = GooglePrivacyDlpV2InspectTemplate type Scopes OrganizationsInspectTemplatesGet =
gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/List.hs view
@@ -70,7 +70,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'organizationsInspectTemplatesList' smart constructor.-data OrganizationsInspectTemplatesList = OrganizationsInspectTemplatesList'+data OrganizationsInspectTemplatesList =+ OrganizationsInspectTemplatesList' { _oitlParent :: !Text , _oitlXgafv :: !(Maybe Xgafv) , _oitlUploadProtocol :: !(Maybe Text)@@ -80,8 +81,10 @@ , _oitlPageToken :: !(Maybe Text) , _oitlPageSize :: !(Maybe (Textual Int32)) , _oitlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsInspectTemplatesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@ :: Text -- ^ 'oitlParent' -> OrganizationsInspectTemplatesList organizationsInspectTemplatesList pOitlParent_ =- OrganizationsInspectTemplatesList'+ OrganizationsInspectTemplatesList' { _oitlParent = pOitlParent_ , _oitlXgafv = Nothing , _oitlUploadProtocol = Nothing@@ -119,6 +122,7 @@ , _oitlCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. oitlParent :: Lens' OrganizationsInspectTemplatesList Text@@ -180,7 +184,8 @@ = lens _oitlCallback (\ s a -> s{_oitlCallback = a}) instance GoogleRequest- OrganizationsInspectTemplatesList where+ OrganizationsInspectTemplatesList+ where type Rs OrganizationsInspectTemplatesList = GooglePrivacyDlpV2ListInspectTemplatesResponse type Scopes OrganizationsInspectTemplatesList =
gen/Network/Google/Resource/DLP/Organizations/InspectTemplates/Patch.hs view
@@ -65,7 +65,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'organizationsInspectTemplatesPatch' smart constructor.-data OrganizationsInspectTemplatesPatch = OrganizationsInspectTemplatesPatch'+data OrganizationsInspectTemplatesPatch =+ OrganizationsInspectTemplatesPatch' { _oitpXgafv :: !(Maybe Xgafv) , _oitpUploadProtocol :: !(Maybe Text) , _oitpAccessToken :: !(Maybe Text)@@ -73,8 +74,10 @@ , _oitpPayload :: !GooglePrivacyDlpV2UpdateInspectTemplateRequest , _oitpName :: !Text , _oitpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsInspectTemplatesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -97,7 +100,7 @@ -> Text -- ^ 'oitpName' -> OrganizationsInspectTemplatesPatch organizationsInspectTemplatesPatch pOitpPayload_ pOitpName_ =- OrganizationsInspectTemplatesPatch'+ OrganizationsInspectTemplatesPatch' { _oitpXgafv = Nothing , _oitpUploadProtocol = Nothing , _oitpAccessToken = Nothing@@ -107,6 +110,7 @@ , _oitpCallback = Nothing } + -- | V1 error format. oitpXgafv :: Lens' OrganizationsInspectTemplatesPatch (Maybe Xgafv) oitpXgafv@@ -147,7 +151,8 @@ = lens _oitpCallback (\ s a -> s{_oitpCallback = a}) instance GoogleRequest- OrganizationsInspectTemplatesPatch where+ OrganizationsInspectTemplatesPatch+ where type Rs OrganizationsInspectTemplatesPatch = GooglePrivacyDlpV2InspectTemplate type Scopes OrganizationsInspectTemplatesPatch =
gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Create.hs view
@@ -68,7 +68,8 @@ -- learn more. -- -- /See:/ 'organizationsStoredInfoTypesCreate' smart constructor.-data OrganizationsStoredInfoTypesCreate = OrganizationsStoredInfoTypesCreate'+data OrganizationsStoredInfoTypesCreate =+ OrganizationsStoredInfoTypesCreate' { _ositcParent :: !Text , _ositcXgafv :: !(Maybe Xgafv) , _ositcUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@ , _ositcUploadType :: !(Maybe Text) , _ositcPayload :: !GooglePrivacyDlpV2CreateStoredInfoTypeRequest , _ositcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsStoredInfoTypesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -100,7 +103,7 @@ -> GooglePrivacyDlpV2CreateStoredInfoTypeRequest -- ^ 'ositcPayload' -> OrganizationsStoredInfoTypesCreate organizationsStoredInfoTypesCreate pOsitcParent_ pOsitcPayload_ =- OrganizationsStoredInfoTypesCreate'+ OrganizationsStoredInfoTypesCreate' { _ositcParent = pOsitcParent_ , _ositcXgafv = Nothing , _ositcUploadProtocol = Nothing@@ -110,6 +113,7 @@ , _ositcCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. ositcParent :: Lens' OrganizationsStoredInfoTypesCreate Text@@ -151,7 +155,8 @@ (\ s a -> s{_ositcCallback = a}) instance GoogleRequest- OrganizationsStoredInfoTypesCreate where+ OrganizationsStoredInfoTypesCreate+ where type Rs OrganizationsStoredInfoTypesCreate = GooglePrivacyDlpV2StoredInfoType type Scopes OrganizationsStoredInfoTypesCreate =
gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Delete.hs view
@@ -64,15 +64,18 @@ -- learn more. -- -- /See:/ 'organizationsStoredInfoTypesDelete' smart constructor.-data OrganizationsStoredInfoTypesDelete = OrganizationsStoredInfoTypesDelete'+data OrganizationsStoredInfoTypesDelete =+ OrganizationsStoredInfoTypesDelete' { _ositdXgafv :: !(Maybe Xgafv) , _ositdUploadProtocol :: !(Maybe Text) , _ositdAccessToken :: !(Maybe Text) , _ositdUploadType :: !(Maybe Text) , _ositdName :: !Text , _ositdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsStoredInfoTypesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'ositdName' -> OrganizationsStoredInfoTypesDelete organizationsStoredInfoTypesDelete pOsitdName_ =- OrganizationsStoredInfoTypesDelete'+ OrganizationsStoredInfoTypesDelete' { _ositdXgafv = Nothing , _ositdUploadProtocol = Nothing , _ositdAccessToken = Nothing@@ -101,6 +104,7 @@ , _ositdCallback = Nothing } + -- | V1 error format. ositdXgafv :: Lens' OrganizationsStoredInfoTypesDelete (Maybe Xgafv) ositdXgafv@@ -138,7 +142,8 @@ (\ s a -> s{_ositdCallback = a}) instance GoogleRequest- OrganizationsStoredInfoTypesDelete where+ OrganizationsStoredInfoTypesDelete+ where type Rs OrganizationsStoredInfoTypesDelete = GoogleProtobufEmpty type Scopes OrganizationsStoredInfoTypesDelete =
gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Get.hs view
@@ -64,15 +64,18 @@ -- learn more. -- -- /See:/ 'organizationsStoredInfoTypesGet' smart constructor.-data OrganizationsStoredInfoTypesGet = OrganizationsStoredInfoTypesGet'+data OrganizationsStoredInfoTypesGet =+ OrganizationsStoredInfoTypesGet' { _ositgXgafv :: !(Maybe Xgafv) , _ositgUploadProtocol :: !(Maybe Text) , _ositgAccessToken :: !(Maybe Text) , _ositgUploadType :: !(Maybe Text) , _ositgName :: !Text , _ositgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsStoredInfoTypesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'ositgName' -> OrganizationsStoredInfoTypesGet organizationsStoredInfoTypesGet pOsitgName_ =- OrganizationsStoredInfoTypesGet'+ OrganizationsStoredInfoTypesGet' { _ositgXgafv = Nothing , _ositgUploadProtocol = Nothing , _ositgAccessToken = Nothing@@ -101,6 +104,7 @@ , _ositgCallback = Nothing } + -- | V1 error format. ositgXgafv :: Lens' OrganizationsStoredInfoTypesGet (Maybe Xgafv) ositgXgafv@@ -138,7 +142,8 @@ (\ s a -> s{_ositgCallback = a}) instance GoogleRequest- OrganizationsStoredInfoTypesGet where+ OrganizationsStoredInfoTypesGet+ where type Rs OrganizationsStoredInfoTypesGet = GooglePrivacyDlpV2StoredInfoType type Scopes OrganizationsStoredInfoTypesGet =
gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/List.hs view
@@ -72,7 +72,8 @@ -- learn more. -- -- /See:/ 'organizationsStoredInfoTypesList' smart constructor.-data OrganizationsStoredInfoTypesList = OrganizationsStoredInfoTypesList'+data OrganizationsStoredInfoTypesList =+ OrganizationsStoredInfoTypesList' { _ositlParent :: !Text , _ositlXgafv :: !(Maybe Xgafv) , _ositlUploadProtocol :: !(Maybe Text)@@ -82,8 +83,10 @@ , _ositlPageToken :: !(Maybe Text) , _ositlPageSize :: !(Maybe (Textual Int32)) , _ositlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsStoredInfoTypesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@ :: Text -- ^ 'ositlParent' -> OrganizationsStoredInfoTypesList organizationsStoredInfoTypesList pOsitlParent_ =- OrganizationsStoredInfoTypesList'+ OrganizationsStoredInfoTypesList' { _ositlParent = pOsitlParent_ , _ositlXgafv = Nothing , _ositlUploadProtocol = Nothing@@ -121,6 +124,7 @@ , _ositlCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. ositlParent :: Lens' OrganizationsStoredInfoTypesList Text@@ -184,7 +188,8 @@ (\ s a -> s{_ositlCallback = a}) instance GoogleRequest- OrganizationsStoredInfoTypesList where+ OrganizationsStoredInfoTypesList+ where type Rs OrganizationsStoredInfoTypesList = GooglePrivacyDlpV2ListStoredInfoTypesResponse type Scopes OrganizationsStoredInfoTypesList =
gen/Network/Google/Resource/DLP/Organizations/StoredInfoTypes/Patch.hs view
@@ -69,7 +69,8 @@ -- learn more. -- -- /See:/ 'organizationsStoredInfoTypesPatch' smart constructor.-data OrganizationsStoredInfoTypesPatch = OrganizationsStoredInfoTypesPatch'+data OrganizationsStoredInfoTypesPatch =+ OrganizationsStoredInfoTypesPatch' { _ositpXgafv :: !(Maybe Xgafv) , _ositpUploadProtocol :: !(Maybe Text) , _ositpAccessToken :: !(Maybe Text)@@ -77,8 +78,10 @@ , _ositpPayload :: !GooglePrivacyDlpV2UpdateStoredInfoTypeRequest , _ositpName :: !Text , _ositpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'OrganizationsStoredInfoTypesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,7 +104,7 @@ -> Text -- ^ 'ositpName' -> OrganizationsStoredInfoTypesPatch organizationsStoredInfoTypesPatch pOsitpPayload_ pOsitpName_ =- OrganizationsStoredInfoTypesPatch'+ OrganizationsStoredInfoTypesPatch' { _ositpXgafv = Nothing , _ositpUploadProtocol = Nothing , _ositpAccessToken = Nothing@@ -111,6 +114,7 @@ , _ositpCallback = Nothing } + -- | V1 error format. ositpXgafv :: Lens' OrganizationsStoredInfoTypesPatch (Maybe Xgafv) ositpXgafv@@ -153,7 +157,8 @@ (\ s a -> s{_ositpCallback = a}) instance GoogleRequest- OrganizationsStoredInfoTypesPatch where+ OrganizationsStoredInfoTypesPatch+ where type Rs OrganizationsStoredInfoTypesPatch = GooglePrivacyDlpV2StoredInfoType type Scopes OrganizationsStoredInfoTypesPatch =
gen/Network/Google/Resource/DLP/Projects/Content/Deidentify.hs view
@@ -78,7 +78,8 @@ -- updated. -- -- /See:/ 'projectsContentDeidentify' smart constructor.-data ProjectsContentDeidentify = ProjectsContentDeidentify'+data ProjectsContentDeidentify =+ ProjectsContentDeidentify' { _pcdParent :: !Text , _pcdXgafv :: !(Maybe Xgafv) , _pcdUploadProtocol :: !(Maybe Text)@@ -86,8 +87,10 @@ , _pcdUploadType :: !(Maybe Text) , _pcdPayload :: !GooglePrivacyDlpV2DeidentifyContentRequest , _pcdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsContentDeidentify' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@ -> GooglePrivacyDlpV2DeidentifyContentRequest -- ^ 'pcdPayload' -> ProjectsContentDeidentify projectsContentDeidentify pPcdParent_ pPcdPayload_ =- ProjectsContentDeidentify'+ ProjectsContentDeidentify' { _pcdParent = pPcdParent_ , _pcdXgafv = Nothing , _pcdUploadProtocol = Nothing@@ -119,6 +122,7 @@ , _pcdPayload = pPcdPayload_ , _pcdCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pcdParent :: Lens' ProjectsContentDeidentify Text
gen/Network/Google/Resource/DLP/Projects/Content/Inspect.hs view
@@ -77,7 +77,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/inspecting-text, -- -- /See:/ 'projectsContentInspect' smart constructor.-data ProjectsContentInspect = ProjectsContentInspect'+data ProjectsContentInspect =+ ProjectsContentInspect' { _pciParent :: !Text , _pciXgafv :: !(Maybe Xgafv) , _pciUploadProtocol :: !(Maybe Text)@@ -85,8 +86,10 @@ , _pciUploadType :: !(Maybe Text) , _pciPayload :: !GooglePrivacyDlpV2InspectContentRequest , _pciCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsContentInspect' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@ -> GooglePrivacyDlpV2InspectContentRequest -- ^ 'pciPayload' -> ProjectsContentInspect projectsContentInspect pPciParent_ pPciPayload_ =- ProjectsContentInspect'+ ProjectsContentInspect' { _pciParent = pPciParent_ , _pciXgafv = Nothing , _pciUploadProtocol = Nothing@@ -118,6 +121,7 @@ , _pciPayload = pPciPayload_ , _pciCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pciParent :: Lens' ProjectsContentInspect Text
gen/Network/Google/Resource/DLP/Projects/Content/Reidentify.hs view
@@ -70,7 +70,8 @@ -- to learn more. -- -- /See:/ 'projectsContentReidentify' smart constructor.-data ProjectsContentReidentify = ProjectsContentReidentify'+data ProjectsContentReidentify =+ ProjectsContentReidentify' { _pcrParent :: !Text , _pcrXgafv :: !(Maybe Xgafv) , _pcrUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@ , _pcrUploadType :: !(Maybe Text) , _pcrPayload :: !GooglePrivacyDlpV2ReidentifyContentRequest , _pcrCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsContentReidentify' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@ -> GooglePrivacyDlpV2ReidentifyContentRequest -- ^ 'pcrPayload' -> ProjectsContentReidentify projectsContentReidentify pPcrParent_ pPcrPayload_ =- ProjectsContentReidentify'+ ProjectsContentReidentify' { _pcrParent = pPcrParent_ , _pcrXgafv = Nothing , _pcrUploadProtocol = Nothing@@ -111,6 +114,7 @@ , _pcrPayload = pPcrPayload_ , _pcrCallback = Nothing }+ -- | The parent resource name. pcrParent :: Lens' ProjectsContentReidentify Text
gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Create.hs view
@@ -70,7 +70,8 @@ -- more. -- -- /See:/ 'projectsDeidentifyTemplatesCreate' smart constructor.-data ProjectsDeidentifyTemplatesCreate = ProjectsDeidentifyTemplatesCreate'+data ProjectsDeidentifyTemplatesCreate =+ ProjectsDeidentifyTemplatesCreate' { _pdtcParent :: !Text , _pdtcXgafv :: !(Maybe Xgafv) , _pdtcUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@ , _pdtcUploadType :: !(Maybe Text) , _pdtcPayload :: !GooglePrivacyDlpV2CreateDeidentifyTemplateRequest , _pdtcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDeidentifyTemplatesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@ -> GooglePrivacyDlpV2CreateDeidentifyTemplateRequest -- ^ 'pdtcPayload' -> ProjectsDeidentifyTemplatesCreate projectsDeidentifyTemplatesCreate pPdtcParent_ pPdtcPayload_ =- ProjectsDeidentifyTemplatesCreate'+ ProjectsDeidentifyTemplatesCreate' { _pdtcParent = pPdtcParent_ , _pdtcXgafv = Nothing , _pdtcUploadProtocol = Nothing@@ -112,6 +115,7 @@ , _pdtcCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. pdtcParent :: Lens' ProjectsDeidentifyTemplatesCreate Text@@ -152,7 +156,8 @@ = lens _pdtcCallback (\ s a -> s{_pdtcCallback = a}) instance GoogleRequest- ProjectsDeidentifyTemplatesCreate where+ ProjectsDeidentifyTemplatesCreate+ where type Rs ProjectsDeidentifyTemplatesCreate = GooglePrivacyDlpV2DeidentifyTemplate type Scopes ProjectsDeidentifyTemplatesCreate =
gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Delete.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'projectsDeidentifyTemplatesDelete' smart constructor.-data ProjectsDeidentifyTemplatesDelete = ProjectsDeidentifyTemplatesDelete'+data ProjectsDeidentifyTemplatesDelete =+ ProjectsDeidentifyTemplatesDelete' { _pdtdXgafv :: !(Maybe Xgafv) , _pdtdUploadProtocol :: !(Maybe Text) , _pdtdAccessToken :: !(Maybe Text) , _pdtdUploadType :: !(Maybe Text) , _pdtdName :: !Text , _pdtdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDeidentifyTemplatesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'pdtdName' -> ProjectsDeidentifyTemplatesDelete projectsDeidentifyTemplatesDelete pPdtdName_ =- ProjectsDeidentifyTemplatesDelete'+ ProjectsDeidentifyTemplatesDelete' { _pdtdXgafv = Nothing , _pdtdUploadProtocol = Nothing , _pdtdAccessToken = Nothing@@ -101,6 +104,7 @@ , _pdtdCallback = Nothing } + -- | V1 error format. pdtdXgafv :: Lens' ProjectsDeidentifyTemplatesDelete (Maybe Xgafv) pdtdXgafv@@ -136,7 +140,8 @@ = lens _pdtdCallback (\ s a -> s{_pdtdCallback = a}) instance GoogleRequest- ProjectsDeidentifyTemplatesDelete where+ ProjectsDeidentifyTemplatesDelete+ where type Rs ProjectsDeidentifyTemplatesDelete = GoogleProtobufEmpty type Scopes ProjectsDeidentifyTemplatesDelete =
gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Get.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'projectsDeidentifyTemplatesGet' smart constructor.-data ProjectsDeidentifyTemplatesGet = ProjectsDeidentifyTemplatesGet'+data ProjectsDeidentifyTemplatesGet =+ ProjectsDeidentifyTemplatesGet' { _pdtgXgafv :: !(Maybe Xgafv) , _pdtgUploadProtocol :: !(Maybe Text) , _pdtgAccessToken :: !(Maybe Text) , _pdtgUploadType :: !(Maybe Text) , _pdtgName :: !Text , _pdtgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDeidentifyTemplatesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'pdtgName' -> ProjectsDeidentifyTemplatesGet projectsDeidentifyTemplatesGet pPdtgName_ =- ProjectsDeidentifyTemplatesGet'+ ProjectsDeidentifyTemplatesGet' { _pdtgXgafv = Nothing , _pdtgUploadProtocol = Nothing , _pdtgAccessToken = Nothing@@ -100,6 +103,7 @@ , _pdtgName = pPdtgName_ , _pdtgCallback = Nothing }+ -- | V1 error format. pdtgXgafv :: Lens' ProjectsDeidentifyTemplatesGet (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/List.hs view
@@ -72,7 +72,8 @@ -- more. -- -- /See:/ 'projectsDeidentifyTemplatesList' smart constructor.-data ProjectsDeidentifyTemplatesList = ProjectsDeidentifyTemplatesList'+data ProjectsDeidentifyTemplatesList =+ ProjectsDeidentifyTemplatesList' { _pdtlParent :: !Text , _pdtlXgafv :: !(Maybe Xgafv) , _pdtlUploadProtocol :: !(Maybe Text)@@ -82,8 +83,10 @@ , _pdtlPageToken :: !(Maybe Text) , _pdtlPageSize :: !(Maybe (Textual Int32)) , _pdtlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDeidentifyTemplatesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@ :: Text -- ^ 'pdtlParent' -> ProjectsDeidentifyTemplatesList projectsDeidentifyTemplatesList pPdtlParent_ =- ProjectsDeidentifyTemplatesList'+ ProjectsDeidentifyTemplatesList' { _pdtlParent = pPdtlParent_ , _pdtlXgafv = Nothing , _pdtlUploadProtocol = Nothing@@ -121,6 +124,7 @@ , _pdtlCallback = Nothing } + -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id. pdtlParent :: Lens' ProjectsDeidentifyTemplatesList Text@@ -182,7 +186,8 @@ = lens _pdtlCallback (\ s a -> s{_pdtlCallback = a}) instance GoogleRequest- ProjectsDeidentifyTemplatesList where+ ProjectsDeidentifyTemplatesList+ where type Rs ProjectsDeidentifyTemplatesList = GooglePrivacyDlpV2ListDeidentifyTemplatesResponse type Scopes ProjectsDeidentifyTemplatesList =
gen/Network/Google/Resource/DLP/Projects/DeidentifyTemplates/Patch.hs view
@@ -67,7 +67,8 @@ -- more. -- -- /See:/ 'projectsDeidentifyTemplatesPatch' smart constructor.-data ProjectsDeidentifyTemplatesPatch = ProjectsDeidentifyTemplatesPatch'+data ProjectsDeidentifyTemplatesPatch =+ ProjectsDeidentifyTemplatesPatch' { _pdtpXgafv :: !(Maybe Xgafv) , _pdtpUploadProtocol :: !(Maybe Text) , _pdtpAccessToken :: !(Maybe Text)@@ -75,8 +76,10 @@ , _pdtpPayload :: !GooglePrivacyDlpV2UpdateDeidentifyTemplateRequest , _pdtpName :: !Text , _pdtpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDeidentifyTemplatesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@ -> Text -- ^ 'pdtpName' -> ProjectsDeidentifyTemplatesPatch projectsDeidentifyTemplatesPatch pPdtpPayload_ pPdtpName_ =- ProjectsDeidentifyTemplatesPatch'+ ProjectsDeidentifyTemplatesPatch' { _pdtpXgafv = Nothing , _pdtpUploadProtocol = Nothing , _pdtpAccessToken = Nothing@@ -109,6 +112,7 @@ , _pdtpCallback = Nothing } + -- | V1 error format. pdtpXgafv :: Lens' ProjectsDeidentifyTemplatesPatch (Maybe Xgafv) pdtpXgafv@@ -149,7 +153,8 @@ = lens _pdtpCallback (\ s a -> s{_pdtpCallback = a}) instance GoogleRequest- ProjectsDeidentifyTemplatesPatch where+ ProjectsDeidentifyTemplatesPatch+ where type Rs ProjectsDeidentifyTemplatesPatch = GooglePrivacyDlpV2DeidentifyTemplate type Scopes ProjectsDeidentifyTemplatesPatch =
gen/Network/Google/Resource/DLP/Projects/DlpJobs/Cancel.hs view
@@ -70,7 +70,8 @@ -- more. -- -- /See:/ 'projectsDlpJobsCancel' smart constructor.-data ProjectsDlpJobsCancel = ProjectsDlpJobsCancel'+data ProjectsDlpJobsCancel =+ ProjectsDlpJobsCancel' { _pdjcXgafv :: !(Maybe Xgafv) , _pdjcUploadProtocol :: !(Maybe Text) , _pdjcAccessToken :: !(Maybe Text)@@ -78,8 +79,10 @@ , _pdjcPayload :: !GooglePrivacyDlpV2CancelDlpJobRequest , _pdjcName :: !Text , _pdjcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDlpJobsCancel' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@ -> Text -- ^ 'pdjcName' -> ProjectsDlpJobsCancel projectsDlpJobsCancel pPdjcPayload_ pPdjcName_ =- ProjectsDlpJobsCancel'+ ProjectsDlpJobsCancel' { _pdjcXgafv = Nothing , _pdjcUploadProtocol = Nothing , _pdjcAccessToken = Nothing@@ -111,6 +114,7 @@ , _pdjcName = pPdjcName_ , _pdjcCallback = Nothing }+ -- | V1 error format. pdjcXgafv :: Lens' ProjectsDlpJobsCancel (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/DlpJobs/Create.hs view
@@ -75,7 +75,8 @@ -- updated. -- -- /See:/ 'projectsDlpJobsCreate' smart constructor.-data ProjectsDlpJobsCreate = ProjectsDlpJobsCreate'+data ProjectsDlpJobsCreate =+ ProjectsDlpJobsCreate' { _pParent :: !Text , _pXgafv :: !(Maybe Xgafv) , _pUploadProtocol :: !(Maybe Text)@@ -83,8 +84,10 @@ , _pUploadType :: !(Maybe Text) , _pPayload :: !GooglePrivacyDlpV2CreateDlpJobRequest , _pCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDlpJobsCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@ -> GooglePrivacyDlpV2CreateDlpJobRequest -- ^ 'pPayload' -> ProjectsDlpJobsCreate projectsDlpJobsCreate pPParent_ pPPayload_ =- ProjectsDlpJobsCreate'+ ProjectsDlpJobsCreate' { _pParent = pPParent_ , _pXgafv = Nothing , _pUploadProtocol = Nothing@@ -116,6 +119,7 @@ , _pPayload = pPPayload_ , _pCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pParent :: Lens' ProjectsDlpJobsCreate Text
gen/Network/Google/Resource/DLP/Projects/DlpJobs/Delete.hs view
@@ -68,15 +68,18 @@ -- learn more. -- -- /See:/ 'projectsDlpJobsDelete' smart constructor.-data ProjectsDlpJobsDelete = ProjectsDlpJobsDelete'+data ProjectsDlpJobsDelete =+ ProjectsDlpJobsDelete' { _pdjdXgafv :: !(Maybe Xgafv) , _pdjdUploadProtocol :: !(Maybe Text) , _pdjdAccessToken :: !(Maybe Text) , _pdjdUploadType :: !(Maybe Text) , _pdjdName :: !Text , _pdjdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDlpJobsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -96,7 +99,7 @@ :: Text -- ^ 'pdjdName' -> ProjectsDlpJobsDelete projectsDlpJobsDelete pPdjdName_ =- ProjectsDlpJobsDelete'+ ProjectsDlpJobsDelete' { _pdjdXgafv = Nothing , _pdjdUploadProtocol = Nothing , _pdjdAccessToken = Nothing@@ -104,6 +107,7 @@ , _pdjdName = pPdjdName_ , _pdjdCallback = Nothing }+ -- | V1 error format. pdjdXgafv :: Lens' ProjectsDlpJobsDelete (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/DlpJobs/Get.hs view
@@ -66,15 +66,18 @@ -- more. -- -- /See:/ 'projectsDlpJobsGet' smart constructor.-data ProjectsDlpJobsGet = ProjectsDlpJobsGet'+data ProjectsDlpJobsGet =+ ProjectsDlpJobsGet' { _pdjgXgafv :: !(Maybe Xgafv) , _pdjgUploadProtocol :: !(Maybe Text) , _pdjgAccessToken :: !(Maybe Text) , _pdjgUploadType :: !(Maybe Text) , _pdjgName :: !Text , _pdjgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDlpJobsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@ :: Text -- ^ 'pdjgName' -> ProjectsDlpJobsGet projectsDlpJobsGet pPdjgName_ =- ProjectsDlpJobsGet'+ ProjectsDlpJobsGet' { _pdjgXgafv = Nothing , _pdjgUploadProtocol = Nothing , _pdjgAccessToken = Nothing@@ -102,6 +105,7 @@ , _pdjgName = pPdjgName_ , _pdjgCallback = Nothing }+ -- | V1 error format. pdjgXgafv :: Lens' ProjectsDlpJobsGet (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/DlpJobs/List.hs view
@@ -78,7 +78,8 @@ -- more. -- -- /See:/ 'projectsDlpJobsList' smart constructor.-data ProjectsDlpJobsList = ProjectsDlpJobsList'+data ProjectsDlpJobsList =+ ProjectsDlpJobsList' { _pdjlParent :: !Text , _pdjlXgafv :: !(Maybe Xgafv) , _pdjlUploadProtocol :: !(Maybe Text)@@ -90,8 +91,10 @@ , _pdjlType :: !(Maybe Text) , _pdjlPageSize :: !(Maybe (Textual Int32)) , _pdjlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsDlpJobsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,7 +124,7 @@ :: Text -- ^ 'pdjlParent' -> ProjectsDlpJobsList projectsDlpJobsList pPdjlParent_ =- ProjectsDlpJobsList'+ ProjectsDlpJobsList' { _pdjlParent = pPdjlParent_ , _pdjlXgafv = Nothing , _pdjlUploadProtocol = Nothing@@ -134,6 +137,7 @@ , _pdjlPageSize = Nothing , _pdjlCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pdjlParent :: Lens' ProjectsDlpJobsList Text
gen/Network/Google/Resource/DLP/Projects/Image/Redact.hs view
@@ -75,7 +75,8 @@ -- detectors are updated. -- -- /See:/ 'projectsImageRedact' smart constructor.-data ProjectsImageRedact = ProjectsImageRedact'+data ProjectsImageRedact =+ ProjectsImageRedact' { _pirParent :: !Text , _pirXgafv :: !(Maybe Xgafv) , _pirUploadProtocol :: !(Maybe Text)@@ -83,8 +84,10 @@ , _pirUploadType :: !(Maybe Text) , _pirPayload :: !GooglePrivacyDlpV2RedactImageRequest , _pirCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsImageRedact' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@ -> GooglePrivacyDlpV2RedactImageRequest -- ^ 'pirPayload' -> ProjectsImageRedact projectsImageRedact pPirParent_ pPirPayload_ =- ProjectsImageRedact'+ ProjectsImageRedact' { _pirParent = pPirParent_ , _pirXgafv = Nothing , _pirUploadProtocol = Nothing@@ -116,6 +119,7 @@ , _pirPayload = pPirPayload_ , _pirCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pirParent :: Lens' ProjectsImageRedact Text
gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Create.hs view
@@ -68,7 +68,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'projectsInspectTemplatesCreate' smart constructor.-data ProjectsInspectTemplatesCreate = ProjectsInspectTemplatesCreate'+data ProjectsInspectTemplatesCreate =+ ProjectsInspectTemplatesCreate' { _pitcParent :: !Text , _pitcXgafv :: !(Maybe Xgafv) , _pitcUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@ , _pitcUploadType :: !(Maybe Text) , _pitcPayload :: !GooglePrivacyDlpV2CreateInspectTemplateRequest , _pitcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsInspectTemplatesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -100,7 +103,7 @@ -> GooglePrivacyDlpV2CreateInspectTemplateRequest -- ^ 'pitcPayload' -> ProjectsInspectTemplatesCreate projectsInspectTemplatesCreate pPitcParent_ pPitcPayload_ =- ProjectsInspectTemplatesCreate'+ ProjectsInspectTemplatesCreate' { _pitcParent = pPitcParent_ , _pitcXgafv = Nothing , _pitcUploadProtocol = Nothing@@ -109,6 +112,7 @@ , _pitcPayload = pPitcPayload_ , _pitcCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id.
gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Delete.hs view
@@ -62,15 +62,18 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'projectsInspectTemplatesDelete' smart constructor.-data ProjectsInspectTemplatesDelete = ProjectsInspectTemplatesDelete'+data ProjectsInspectTemplatesDelete =+ ProjectsInspectTemplatesDelete' { _pitdXgafv :: !(Maybe Xgafv) , _pitdUploadProtocol :: !(Maybe Text) , _pitdAccessToken :: !(Maybe Text) , _pitdUploadType :: !(Maybe Text) , _pitdName :: !Text , _pitdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsInspectTemplatesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -90,7 +93,7 @@ :: Text -- ^ 'pitdName' -> ProjectsInspectTemplatesDelete projectsInspectTemplatesDelete pPitdName_ =- ProjectsInspectTemplatesDelete'+ ProjectsInspectTemplatesDelete' { _pitdXgafv = Nothing , _pitdUploadProtocol = Nothing , _pitdAccessToken = Nothing@@ -98,6 +101,7 @@ , _pitdName = pPitdName_ , _pitdCallback = Nothing }+ -- | V1 error format. pitdXgafv :: Lens' ProjectsInspectTemplatesDelete (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Get.hs view
@@ -62,15 +62,18 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'projectsInspectTemplatesGet' smart constructor.-data ProjectsInspectTemplatesGet = ProjectsInspectTemplatesGet'+data ProjectsInspectTemplatesGet =+ ProjectsInspectTemplatesGet' { _pitgXgafv :: !(Maybe Xgafv) , _pitgUploadProtocol :: !(Maybe Text) , _pitgAccessToken :: !(Maybe Text) , _pitgUploadType :: !(Maybe Text) , _pitgName :: !Text , _pitgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsInspectTemplatesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -90,7 +93,7 @@ :: Text -- ^ 'pitgName' -> ProjectsInspectTemplatesGet projectsInspectTemplatesGet pPitgName_ =- ProjectsInspectTemplatesGet'+ ProjectsInspectTemplatesGet' { _pitgXgafv = Nothing , _pitgUploadProtocol = Nothing , _pitgAccessToken = Nothing@@ -98,6 +101,7 @@ , _pitgName = pPitgName_ , _pitgCallback = Nothing }+ -- | V1 error format. pitgXgafv :: Lens' ProjectsInspectTemplatesGet (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/InspectTemplates/List.hs view
@@ -70,7 +70,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'projectsInspectTemplatesList' smart constructor.-data ProjectsInspectTemplatesList = ProjectsInspectTemplatesList'+data ProjectsInspectTemplatesList =+ ProjectsInspectTemplatesList' { _pitlParent :: !Text , _pitlXgafv :: !(Maybe Xgafv) , _pitlUploadProtocol :: !(Maybe Text)@@ -80,8 +81,10 @@ , _pitlPageToken :: !(Maybe Text) , _pitlPageSize :: !(Maybe (Textual Int32)) , _pitlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsInspectTemplatesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@ :: Text -- ^ 'pitlParent' -> ProjectsInspectTemplatesList projectsInspectTemplatesList pPitlParent_ =- ProjectsInspectTemplatesList'+ ProjectsInspectTemplatesList' { _pitlParent = pPitlParent_ , _pitlXgafv = Nothing , _pitlUploadProtocol = Nothing@@ -118,6 +121,7 @@ , _pitlPageSize = Nothing , _pitlCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id.
gen/Network/Google/Resource/DLP/Projects/InspectTemplates/Patch.hs view
@@ -65,7 +65,8 @@ -- https:\/\/cloud.google.com\/dlp\/docs\/creating-templates to learn more. -- -- /See:/ 'projectsInspectTemplatesPatch' smart constructor.-data ProjectsInspectTemplatesPatch = ProjectsInspectTemplatesPatch'+data ProjectsInspectTemplatesPatch =+ ProjectsInspectTemplatesPatch' { _pitpXgafv :: !(Maybe Xgafv) , _pitpUploadProtocol :: !(Maybe Text) , _pitpAccessToken :: !(Maybe Text)@@ -73,8 +74,10 @@ , _pitpPayload :: !GooglePrivacyDlpV2UpdateInspectTemplateRequest , _pitpName :: !Text , _pitpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsInspectTemplatesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -97,7 +100,7 @@ -> Text -- ^ 'pitpName' -> ProjectsInspectTemplatesPatch projectsInspectTemplatesPatch pPitpPayload_ pPitpName_ =- ProjectsInspectTemplatesPatch'+ ProjectsInspectTemplatesPatch' { _pitpXgafv = Nothing , _pitpUploadProtocol = Nothing , _pitpAccessToken = Nothing@@ -106,6 +109,7 @@ , _pitpName = pPitpName_ , _pitpCallback = Nothing }+ -- | V1 error format. pitpXgafv :: Lens' ProjectsInspectTemplatesPatch (Maybe Xgafv)
+ gen/Network/Google/Resource/DLP/Projects/JobTriggers/Activate.hs view
@@ -0,0 +1,169 @@+{-# 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.DLP.Projects.JobTriggers.Activate+-- 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)+--+-- Activate a job trigger. Causes the immediate execute of a trigger+-- instead of waiting on the trigger event to occur.+--+-- /See:/ <https://cloud.google.com/dlp/docs/ Cloud Data Loss Prevention (DLP) API Reference> for @dlp.projects.jobTriggers.activate@.+module Network.Google.Resource.DLP.Projects.JobTriggers.Activate+ (+ -- * REST Resource+ ProjectsJobTriggersActivateResource++ -- * Creating a Request+ , projectsJobTriggersActivate+ , ProjectsJobTriggersActivate++ -- * Request Lenses+ , pjtaXgafv+ , pjtaUploadProtocol+ , pjtaAccessToken+ , pjtaUploadType+ , pjtaPayload+ , pjtaName+ , pjtaCallback+ ) where++import Network.Google.DLP.Types+import Network.Google.Prelude++-- | A resource alias for @dlp.projects.jobTriggers.activate@ method which the+-- 'ProjectsJobTriggersActivate' request conforms to.+type ProjectsJobTriggersActivateResource =+ "v2" :>+ CaptureMode "name" "activate" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ GooglePrivacyDlpV2ActivateJobTriggerRequest+ :> Post '[JSON] GooglePrivacyDlpV2DlpJob++-- | Activate a job trigger. Causes the immediate execute of a trigger+-- instead of waiting on the trigger event to occur.+--+-- /See:/ 'projectsJobTriggersActivate' smart constructor.+data ProjectsJobTriggersActivate =+ ProjectsJobTriggersActivate'+ { _pjtaXgafv :: !(Maybe Xgafv)+ , _pjtaUploadProtocol :: !(Maybe Text)+ , _pjtaAccessToken :: !(Maybe Text)+ , _pjtaUploadType :: !(Maybe Text)+ , _pjtaPayload :: !GooglePrivacyDlpV2ActivateJobTriggerRequest+ , _pjtaName :: !Text+ , _pjtaCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsJobTriggersActivate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjtaXgafv'+--+-- * 'pjtaUploadProtocol'+--+-- * 'pjtaAccessToken'+--+-- * 'pjtaUploadType'+--+-- * 'pjtaPayload'+--+-- * 'pjtaName'+--+-- * 'pjtaCallback'+projectsJobTriggersActivate+ :: GooglePrivacyDlpV2ActivateJobTriggerRequest -- ^ 'pjtaPayload'+ -> Text -- ^ 'pjtaName'+ -> ProjectsJobTriggersActivate+projectsJobTriggersActivate pPjtaPayload_ pPjtaName_ =+ ProjectsJobTriggersActivate'+ { _pjtaXgafv = Nothing+ , _pjtaUploadProtocol = Nothing+ , _pjtaAccessToken = Nothing+ , _pjtaUploadType = Nothing+ , _pjtaPayload = pPjtaPayload_+ , _pjtaName = pPjtaName_+ , _pjtaCallback = Nothing+ }+++-- | V1 error format.+pjtaXgafv :: Lens' ProjectsJobTriggersActivate (Maybe Xgafv)+pjtaXgafv+ = lens _pjtaXgafv (\ s a -> s{_pjtaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pjtaUploadProtocol :: Lens' ProjectsJobTriggersActivate (Maybe Text)+pjtaUploadProtocol+ = lens _pjtaUploadProtocol+ (\ s a -> s{_pjtaUploadProtocol = a})++-- | OAuth access token.+pjtaAccessToken :: Lens' ProjectsJobTriggersActivate (Maybe Text)+pjtaAccessToken+ = lens _pjtaAccessToken+ (\ s a -> s{_pjtaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pjtaUploadType :: Lens' ProjectsJobTriggersActivate (Maybe Text)+pjtaUploadType+ = lens _pjtaUploadType+ (\ s a -> s{_pjtaUploadType = a})++-- | Multipart request metadata.+pjtaPayload :: Lens' ProjectsJobTriggersActivate GooglePrivacyDlpV2ActivateJobTriggerRequest+pjtaPayload+ = lens _pjtaPayload (\ s a -> s{_pjtaPayload = a})++-- | Resource name of the trigger to activate, for example+-- \`projects\/dlp-test-project\/jobTriggers\/53234423\`.+pjtaName :: Lens' ProjectsJobTriggersActivate Text+pjtaName = lens _pjtaName (\ s a -> s{_pjtaName = a})++-- | JSONP+pjtaCallback :: Lens' ProjectsJobTriggersActivate (Maybe Text)+pjtaCallback+ = lens _pjtaCallback (\ s a -> s{_pjtaCallback = a})++instance GoogleRequest ProjectsJobTriggersActivate+ where+ type Rs ProjectsJobTriggersActivate =+ GooglePrivacyDlpV2DlpJob+ type Scopes ProjectsJobTriggersActivate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsJobTriggersActivate'{..}+ = go _pjtaName _pjtaXgafv _pjtaUploadProtocol+ _pjtaAccessToken+ _pjtaUploadType+ _pjtaCallback+ (Just AltJSON)+ _pjtaPayload+ dLPService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsJobTriggersActivateResource)+ mempty
gen/Network/Google/Resource/DLP/Projects/JobTriggers/Create.hs view
@@ -70,7 +70,8 @@ -- more. -- -- /See:/ 'projectsJobTriggersCreate' smart constructor.-data ProjectsJobTriggersCreate = ProjectsJobTriggersCreate'+data ProjectsJobTriggersCreate =+ ProjectsJobTriggersCreate' { _pjtcParent :: !Text , _pjtcXgafv :: !(Maybe Xgafv) , _pjtcUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@ , _pjtcUploadType :: !(Maybe Text) , _pjtcPayload :: !GooglePrivacyDlpV2CreateJobTriggerRequest , _pjtcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsJobTriggersCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@ -> GooglePrivacyDlpV2CreateJobTriggerRequest -- ^ 'pjtcPayload' -> ProjectsJobTriggersCreate projectsJobTriggersCreate pPjtcParent_ pPjtcPayload_ =- ProjectsJobTriggersCreate'+ ProjectsJobTriggersCreate' { _pjtcParent = pPjtcParent_ , _pjtcXgafv = Nothing , _pjtcUploadProtocol = Nothing@@ -111,6 +114,7 @@ , _pjtcPayload = pPjtcPayload_ , _pjtcCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id. pjtcParent :: Lens' ProjectsJobTriggersCreate Text
gen/Network/Google/Resource/DLP/Projects/JobTriggers/Delete.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'projectsJobTriggersDelete' smart constructor.-data ProjectsJobTriggersDelete = ProjectsJobTriggersDelete'+data ProjectsJobTriggersDelete =+ ProjectsJobTriggersDelete' { _pjtdXgafv :: !(Maybe Xgafv) , _pjtdUploadProtocol :: !(Maybe Text) , _pjtdAccessToken :: !(Maybe Text) , _pjtdUploadType :: !(Maybe Text) , _pjtdName :: !Text , _pjtdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsJobTriggersDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'pjtdName' -> ProjectsJobTriggersDelete projectsJobTriggersDelete pPjtdName_ =- ProjectsJobTriggersDelete'+ ProjectsJobTriggersDelete' { _pjtdXgafv = Nothing , _pjtdUploadProtocol = Nothing , _pjtdAccessToken = Nothing@@ -100,6 +103,7 @@ , _pjtdName = pPjtdName_ , _pjtdCallback = Nothing }+ -- | V1 error format. pjtdXgafv :: Lens' ProjectsJobTriggersDelete (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/JobTriggers/Get.hs view
@@ -64,15 +64,18 @@ -- more. -- -- /See:/ 'projectsJobTriggersGet' smart constructor.-data ProjectsJobTriggersGet = ProjectsJobTriggersGet'+data ProjectsJobTriggersGet =+ ProjectsJobTriggersGet' { _pjtgXgafv :: !(Maybe Xgafv) , _pjtgUploadProtocol :: !(Maybe Text) , _pjtgAccessToken :: !(Maybe Text) , _pjtgUploadType :: !(Maybe Text) , _pjtgName :: !Text , _pjtgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsJobTriggersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'pjtgName' -> ProjectsJobTriggersGet projectsJobTriggersGet pPjtgName_ =- ProjectsJobTriggersGet'+ ProjectsJobTriggersGet' { _pjtgXgafv = Nothing , _pjtgUploadProtocol = Nothing , _pjtgAccessToken = Nothing@@ -100,6 +103,7 @@ , _pjtgName = pPjtgName_ , _pjtgCallback = Nothing }+ -- | V1 error format. pjtgXgafv :: Lens' ProjectsJobTriggersGet (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/JobTriggers/List.hs view
@@ -41,6 +41,7 @@ , pjtlOrderBy , pjtlAccessToken , pjtlUploadType+ , pjtlFilter , pjtlPageToken , pjtlPageSize , pjtlCallback@@ -60,30 +61,35 @@ QueryParam "orderBy" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :>- QueryParam "pageToken" Text :>- QueryParam "pageSize" (Textual Int32) :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- Get '[JSON]- GooglePrivacyDlpV2ListJobTriggersResponse+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON]+ GooglePrivacyDlpV2ListJobTriggersResponse -- | Lists job triggers. See -- https:\/\/cloud.google.com\/dlp\/docs\/creating-job-triggers to learn -- more. -- -- /See:/ 'projectsJobTriggersList' smart constructor.-data ProjectsJobTriggersList = ProjectsJobTriggersList'+data ProjectsJobTriggersList =+ ProjectsJobTriggersList' { _pjtlParent :: !Text , _pjtlXgafv :: !(Maybe Xgafv) , _pjtlUploadProtocol :: !(Maybe Text) , _pjtlOrderBy :: !(Maybe Text) , _pjtlAccessToken :: !(Maybe Text) , _pjtlUploadType :: !(Maybe Text)+ , _pjtlFilter :: !(Maybe Text) , _pjtlPageToken :: !(Maybe Text) , _pjtlPageSize :: !(Maybe (Textual Int32)) , _pjtlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsJobTriggersList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -100,6 +106,8 @@ -- -- * 'pjtlUploadType' --+-- * 'pjtlFilter'+-- -- * 'pjtlPageToken' -- -- * 'pjtlPageSize'@@ -109,18 +117,20 @@ :: Text -- ^ 'pjtlParent' -> ProjectsJobTriggersList projectsJobTriggersList pPjtlParent_ =- ProjectsJobTriggersList'+ ProjectsJobTriggersList' { _pjtlParent = pPjtlParent_ , _pjtlXgafv = Nothing , _pjtlUploadProtocol = Nothing , _pjtlOrderBy = Nothing , _pjtlAccessToken = Nothing , _pjtlUploadType = Nothing+ , _pjtlFilter = Nothing , _pjtlPageToken = Nothing , _pjtlPageSize = Nothing , _pjtlCallback = Nothing } + -- | The parent resource name, for example \`projects\/my-project-id\`. pjtlParent :: Lens' ProjectsJobTriggersList Text pjtlParent@@ -143,7 +153,8 @@ -- insignificant. Example: \`name asc,update_time, create_time desc\` -- Supported fields are: - \`create_time\`: corresponds to time the -- JobTrigger was created. - \`update_time\`: corresponds to time the--- JobTrigger was last updated. - \`name\`: corresponds to JobTrigger\'s+-- JobTrigger was last updated. - \`last_run_time\`: corresponds to the+-- last time the JobTrigger ran. - \`name\`: corresponds to JobTrigger\'s -- name. - \`display_name\`: corresponds to JobTrigger\'s display name. - -- \`status\`: corresponds to JobTrigger\'s status. pjtlOrderBy :: Lens' ProjectsJobTriggersList (Maybe Text)@@ -162,6 +173,26 @@ = lens _pjtlUploadType (\ s a -> s{_pjtlUploadType = a}) +-- | Optional. Allows filtering. Supported syntax: * Filter expressions are+-- made up of one or more restrictions. * Restrictions can be combined by+-- \`AND\` or \`OR\` logical operators. A sequence of restrictions+-- implicitly uses \`AND\`. * A restriction has the form of \` \`. *+-- Supported fields\/values for inspect jobs: - \`status\` -+-- HEALTHY|PAUSED|CANCELLED - \`inspected_storage\` -+-- DATASTORE|CLOUD_STORAGE|BIGQUERY - \'last_run_time\` - RFC 3339+-- formatted timestamp, surrounded by quotation marks. Nanoseconds are+-- ignored. - \'error_count\' - Number of errors that have occurred while+-- running. * The operator must be \`=\` or \`!=\` for status and+-- inspected_storage. Examples: * inspected_storage = cloud_storage AND+-- status = HEALTHY * inspected_storage = cloud_storage OR+-- inspected_storage = bigquery * inspected_storage = cloud_storage AND+-- (state = PAUSED OR state = HEALTHY) * last_run_time >+-- \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no+-- more than 500 characters.+pjtlFilter :: Lens' ProjectsJobTriggersList (Maybe Text)+pjtlFilter+ = lens _pjtlFilter (\ s a -> s{_pjtlFilter = a})+ -- | Optional page token to continue retrieval. Comes from previous call to -- ListJobTriggers. \`order_by\` field must not change for subsequent -- calls.@@ -191,6 +222,7 @@ _pjtlOrderBy _pjtlAccessToken _pjtlUploadType+ _pjtlFilter _pjtlPageToken _pjtlPageSize _pjtlCallback
gen/Network/Google/Resource/DLP/Projects/JobTriggers/Patch.hs view
@@ -67,7 +67,8 @@ -- more. -- -- /See:/ 'projectsJobTriggersPatch' smart constructor.-data ProjectsJobTriggersPatch = ProjectsJobTriggersPatch'+data ProjectsJobTriggersPatch =+ ProjectsJobTriggersPatch' { _pjtpXgafv :: !(Maybe Xgafv) , _pjtpUploadProtocol :: !(Maybe Text) , _pjtpAccessToken :: !(Maybe Text)@@ -75,8 +76,10 @@ , _pjtpPayload :: !GooglePrivacyDlpV2UpdateJobTriggerRequest , _pjtpName :: !Text , _pjtpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsJobTriggersPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@ -> Text -- ^ 'pjtpName' -> ProjectsJobTriggersPatch projectsJobTriggersPatch pPjtpPayload_ pPjtpName_ =- ProjectsJobTriggersPatch'+ ProjectsJobTriggersPatch' { _pjtpXgafv = Nothing , _pjtpUploadProtocol = Nothing , _pjtpAccessToken = Nothing@@ -108,6 +111,7 @@ , _pjtpName = pPjtpName_ , _pjtpCallback = Nothing }+ -- | V1 error format. pjtpXgafv :: Lens' ProjectsJobTriggersPatch (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Create.hs view
@@ -68,7 +68,8 @@ -- learn more. -- -- /See:/ 'projectsStoredInfoTypesCreate' smart constructor.-data ProjectsStoredInfoTypesCreate = ProjectsStoredInfoTypesCreate'+data ProjectsStoredInfoTypesCreate =+ ProjectsStoredInfoTypesCreate' { _psitcParent :: !Text , _psitcXgafv :: !(Maybe Xgafv) , _psitcUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@ , _psitcUploadType :: !(Maybe Text) , _psitcPayload :: !GooglePrivacyDlpV2CreateStoredInfoTypeRequest , _psitcCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsStoredInfoTypesCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -100,7 +103,7 @@ -> GooglePrivacyDlpV2CreateStoredInfoTypeRequest -- ^ 'psitcPayload' -> ProjectsStoredInfoTypesCreate projectsStoredInfoTypesCreate pPsitcParent_ pPsitcPayload_ =- ProjectsStoredInfoTypesCreate'+ ProjectsStoredInfoTypesCreate' { _psitcParent = pPsitcParent_ , _psitcXgafv = Nothing , _psitcUploadProtocol = Nothing@@ -109,6 +112,7 @@ , _psitcPayload = pPsitcPayload_ , _psitcCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id.
gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Delete.hs view
@@ -64,15 +64,18 @@ -- learn more. -- -- /See:/ 'projectsStoredInfoTypesDelete' smart constructor.-data ProjectsStoredInfoTypesDelete = ProjectsStoredInfoTypesDelete'+data ProjectsStoredInfoTypesDelete =+ ProjectsStoredInfoTypesDelete' { _psitdXgafv :: !(Maybe Xgafv) , _psitdUploadProtocol :: !(Maybe Text) , _psitdAccessToken :: !(Maybe Text) , _psitdUploadType :: !(Maybe Text) , _psitdName :: !Text , _psitdCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsStoredInfoTypesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'psitdName' -> ProjectsStoredInfoTypesDelete projectsStoredInfoTypesDelete pPsitdName_ =- ProjectsStoredInfoTypesDelete'+ ProjectsStoredInfoTypesDelete' { _psitdXgafv = Nothing , _psitdUploadProtocol = Nothing , _psitdAccessToken = Nothing@@ -100,6 +103,7 @@ , _psitdName = pPsitdName_ , _psitdCallback = Nothing }+ -- | V1 error format. psitdXgafv :: Lens' ProjectsStoredInfoTypesDelete (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Get.hs view
@@ -64,15 +64,18 @@ -- learn more. -- -- /See:/ 'projectsStoredInfoTypesGet' smart constructor.-data ProjectsStoredInfoTypesGet = ProjectsStoredInfoTypesGet'+data ProjectsStoredInfoTypesGet =+ ProjectsStoredInfoTypesGet' { _psitgXgafv :: !(Maybe Xgafv) , _psitgUploadProtocol :: !(Maybe Text) , _psitgAccessToken :: !(Maybe Text) , _psitgUploadType :: !(Maybe Text) , _psitgName :: !Text , _psitgCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsStoredInfoTypesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -92,7 +95,7 @@ :: Text -- ^ 'psitgName' -> ProjectsStoredInfoTypesGet projectsStoredInfoTypesGet pPsitgName_ =- ProjectsStoredInfoTypesGet'+ ProjectsStoredInfoTypesGet' { _psitgXgafv = Nothing , _psitgUploadProtocol = Nothing , _psitgAccessToken = Nothing@@ -100,6 +103,7 @@ , _psitgName = pPsitgName_ , _psitgCallback = Nothing }+ -- | V1 error format. psitgXgafv :: Lens' ProjectsStoredInfoTypesGet (Maybe Xgafv)
gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/List.hs view
@@ -72,7 +72,8 @@ -- learn more. -- -- /See:/ 'projectsStoredInfoTypesList' smart constructor.-data ProjectsStoredInfoTypesList = ProjectsStoredInfoTypesList'+data ProjectsStoredInfoTypesList =+ ProjectsStoredInfoTypesList' { _psitlParent :: !Text , _psitlXgafv :: !(Maybe Xgafv) , _psitlUploadProtocol :: !(Maybe Text)@@ -82,8 +83,10 @@ , _psitlPageToken :: !(Maybe Text) , _psitlPageSize :: !(Maybe (Textual Int32)) , _psitlCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsStoredInfoTypesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@ :: Text -- ^ 'psitlParent' -> ProjectsStoredInfoTypesList projectsStoredInfoTypesList pPsitlParent_ =- ProjectsStoredInfoTypesList'+ ProjectsStoredInfoTypesList' { _psitlParent = pPsitlParent_ , _psitlXgafv = Nothing , _psitlUploadProtocol = Nothing@@ -120,6 +123,7 @@ , _psitlPageSize = Nothing , _psitlCallback = Nothing }+ -- | The parent resource name, for example projects\/my-project-id or -- organizations\/my-org-id.
gen/Network/Google/Resource/DLP/Projects/StoredInfoTypes/Patch.hs view
@@ -69,7 +69,8 @@ -- learn more. -- -- /See:/ 'projectsStoredInfoTypesPatch' smart constructor.-data ProjectsStoredInfoTypesPatch = ProjectsStoredInfoTypesPatch'+data ProjectsStoredInfoTypesPatch =+ ProjectsStoredInfoTypesPatch' { _psitpXgafv :: !(Maybe Xgafv) , _psitpUploadProtocol :: !(Maybe Text) , _psitpAccessToken :: !(Maybe Text)@@ -77,8 +78,10 @@ , _psitpPayload :: !GooglePrivacyDlpV2UpdateStoredInfoTypeRequest , _psitpName :: !Text , _psitpCallback :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)+ }+ deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsStoredInfoTypesPatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,7 +104,7 @@ -> Text -- ^ 'psitpName' -> ProjectsStoredInfoTypesPatch projectsStoredInfoTypesPatch pPsitpPayload_ pPsitpName_ =- ProjectsStoredInfoTypesPatch'+ ProjectsStoredInfoTypesPatch' { _psitpXgafv = Nothing , _psitpUploadProtocol = Nothing , _psitpAccessToken = Nothing@@ -110,6 +113,7 @@ , _psitpName = pPsitpName_ , _psitpCallback = Nothing }+ -- | V1 error format. psitpXgafv :: Lens' ProjectsStoredInfoTypesPatch (Maybe Xgafv)
gogol-dlp.cabal view
@@ -1,5 +1,5 @@ name: gogol-dlp-version: 0.4.0+version: 0.5.0 synopsis: Google Cloud Data Loss Prevention (DLP) SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -72,6 +72,7 @@ , Network.Google.Resource.DLP.Projects.InspectTemplates.Get , Network.Google.Resource.DLP.Projects.InspectTemplates.List , Network.Google.Resource.DLP.Projects.InspectTemplates.Patch+ , Network.Google.Resource.DLP.Projects.JobTriggers.Activate , Network.Google.Resource.DLP.Projects.JobTriggers.Create , Network.Google.Resource.DLP.Projects.JobTriggers.Delete , Network.Google.Resource.DLP.Projects.JobTriggers.Get@@ -88,5 +89,5 @@ , Network.Google.DLP.Types.Sum build-depends:- gogol-core == 0.4.0.*+ gogol-core == 0.5.0.* , base >= 4.7 && < 5