{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.DLP.Types.Product -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.Google.DLP.Types.Product where import Network.Google.DLP.Types.Sum import Network.Google.Prelude -- | 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 } -- | Offset of the line, from the beginning of the file, where the finding is -- located. gpdvdlFileOffSet :: Lens' GooglePrivacyDlpV2DocumentLocation (Maybe Int64) gpdvdlFileOffSet = lens _gpdvdlFileOffSet (\ s a -> s{_gpdvdlFileOffSet = a}) . mapping _Coerce instance FromJSON GooglePrivacyDlpV2DocumentLocation where parseJSON = withObject "GooglePrivacyDlpV2DocumentLocation" (\ o -> GooglePrivacyDlpV2DocumentLocation' <$> (o .:? "fileOffset")) instance ToJSON GooglePrivacyDlpV2DocumentLocation where toJSON GooglePrivacyDlpV2DocumentLocation'{..} = object (catMaybes [("fileOffset" .=) <$> _gpdvdlFileOffSet])