aws_sdk_glue/types/
_pii_detection.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Specifies a transform that identifies, removes or masks PII data.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct PiiDetection {
7    /// <p>The name of the transform node.</p>
8    pub name: ::std::string::String,
9    /// <p>The node ID inputs to the transform.</p>
10    pub inputs: ::std::vec::Vec<::std::string::String>,
11    /// <p>Indicates the type of PIIDetection transform.</p>
12    pub pii_type: crate::types::PiiType,
13    /// <p>Indicates the types of entities the PIIDetection transform will identify as PII data.</p>
14    /// <p>PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE</p>
15    pub entity_types_to_detect: ::std::vec::Vec<::std::string::String>,
16    /// <p>Indicates the output column name that will contain any entity type detected in that row.</p>
17    pub output_column_name: ::std::option::Option<::std::string::String>,
18    /// <p>Indicates the fraction of the data to sample when scanning for PII entities.</p>
19    pub sample_fraction: ::std::option::Option<f64>,
20    /// <p>Indicates the fraction of the data that must be met in order for a column to be identified as PII data.</p>
21    pub threshold_fraction: ::std::option::Option<f64>,
22    /// <p>Indicates the value that will replace the detected entity.</p>
23    pub mask_value: ::std::option::Option<::std::string::String>,
24    /// <p>Specifies whether to redact the detected PII text. When set to <code>true</code>, PII content is replaced with redaction characters.</p>
25    pub redact_text: ::std::option::Option<::std::string::String>,
26    /// <p>The character used to replace detected PII content when redaction is enabled. The default redaction character is <code>*</code>.</p>
27    pub redact_char: ::std::option::Option<::std::string::String>,
28    /// <p>A regular expression pattern used to identify additional PII content beyond the standard detection algorithms.</p>
29    pub match_pattern: ::std::option::Option<::std::string::String>,
30    /// <p>The number of characters to exclude from redaction on the left side of detected PII content. This allows preserving context around the sensitive data.</p>
31    pub num_left_chars_to_exclude: ::std::option::Option<i32>,
32    /// <p>The number of characters to exclude from redaction on the right side of detected PII content. This allows preserving context around the sensitive data.</p>
33    pub num_right_chars_to_exclude: ::std::option::Option<i32>,
34    /// <p>Additional parameters for configuring PII detection behavior and sensitivity settings.</p>
35    pub detection_parameters: ::std::option::Option<::std::string::String>,
36    /// <p>The sensitivity level for PII detection. Higher sensitivity levels detect more potential PII but may result in more false positives.</p>
37    pub detection_sensitivity: ::std::option::Option<::std::string::String>,
38}
39impl PiiDetection {
40    /// <p>The name of the transform node.</p>
41    pub fn name(&self) -> &str {
42        use std::ops::Deref;
43        self.name.deref()
44    }
45    /// <p>The node ID inputs to the transform.</p>
46    pub fn inputs(&self) -> &[::std::string::String] {
47        use std::ops::Deref;
48        self.inputs.deref()
49    }
50    /// <p>Indicates the type of PIIDetection transform.</p>
51    pub fn pii_type(&self) -> &crate::types::PiiType {
52        &self.pii_type
53    }
54    /// <p>Indicates the types of entities the PIIDetection transform will identify as PII data.</p>
55    /// <p>PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE</p>
56    pub fn entity_types_to_detect(&self) -> &[::std::string::String] {
57        use std::ops::Deref;
58        self.entity_types_to_detect.deref()
59    }
60    /// <p>Indicates the output column name that will contain any entity type detected in that row.</p>
61    pub fn output_column_name(&self) -> ::std::option::Option<&str> {
62        self.output_column_name.as_deref()
63    }
64    /// <p>Indicates the fraction of the data to sample when scanning for PII entities.</p>
65    pub fn sample_fraction(&self) -> ::std::option::Option<f64> {
66        self.sample_fraction
67    }
68    /// <p>Indicates the fraction of the data that must be met in order for a column to be identified as PII data.</p>
69    pub fn threshold_fraction(&self) -> ::std::option::Option<f64> {
70        self.threshold_fraction
71    }
72    /// <p>Indicates the value that will replace the detected entity.</p>
73    pub fn mask_value(&self) -> ::std::option::Option<&str> {
74        self.mask_value.as_deref()
75    }
76    /// <p>Specifies whether to redact the detected PII text. When set to <code>true</code>, PII content is replaced with redaction characters.</p>
77    pub fn redact_text(&self) -> ::std::option::Option<&str> {
78        self.redact_text.as_deref()
79    }
80    /// <p>The character used to replace detected PII content when redaction is enabled. The default redaction character is <code>*</code>.</p>
81    pub fn redact_char(&self) -> ::std::option::Option<&str> {
82        self.redact_char.as_deref()
83    }
84    /// <p>A regular expression pattern used to identify additional PII content beyond the standard detection algorithms.</p>
85    pub fn match_pattern(&self) -> ::std::option::Option<&str> {
86        self.match_pattern.as_deref()
87    }
88    /// <p>The number of characters to exclude from redaction on the left side of detected PII content. This allows preserving context around the sensitive data.</p>
89    pub fn num_left_chars_to_exclude(&self) -> ::std::option::Option<i32> {
90        self.num_left_chars_to_exclude
91    }
92    /// <p>The number of characters to exclude from redaction on the right side of detected PII content. This allows preserving context around the sensitive data.</p>
93    pub fn num_right_chars_to_exclude(&self) -> ::std::option::Option<i32> {
94        self.num_right_chars_to_exclude
95    }
96    /// <p>Additional parameters for configuring PII detection behavior and sensitivity settings.</p>
97    pub fn detection_parameters(&self) -> ::std::option::Option<&str> {
98        self.detection_parameters.as_deref()
99    }
100    /// <p>The sensitivity level for PII detection. Higher sensitivity levels detect more potential PII but may result in more false positives.</p>
101    pub fn detection_sensitivity(&self) -> ::std::option::Option<&str> {
102        self.detection_sensitivity.as_deref()
103    }
104}
105impl PiiDetection {
106    /// Creates a new builder-style object to manufacture [`PiiDetection`](crate::types::PiiDetection).
107    pub fn builder() -> crate::types::builders::PiiDetectionBuilder {
108        crate::types::builders::PiiDetectionBuilder::default()
109    }
110}
111
112/// A builder for [`PiiDetection`](crate::types::PiiDetection).
113#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
114#[non_exhaustive]
115pub struct PiiDetectionBuilder {
116    pub(crate) name: ::std::option::Option<::std::string::String>,
117    pub(crate) inputs: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
118    pub(crate) pii_type: ::std::option::Option<crate::types::PiiType>,
119    pub(crate) entity_types_to_detect: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
120    pub(crate) output_column_name: ::std::option::Option<::std::string::String>,
121    pub(crate) sample_fraction: ::std::option::Option<f64>,
122    pub(crate) threshold_fraction: ::std::option::Option<f64>,
123    pub(crate) mask_value: ::std::option::Option<::std::string::String>,
124    pub(crate) redact_text: ::std::option::Option<::std::string::String>,
125    pub(crate) redact_char: ::std::option::Option<::std::string::String>,
126    pub(crate) match_pattern: ::std::option::Option<::std::string::String>,
127    pub(crate) num_left_chars_to_exclude: ::std::option::Option<i32>,
128    pub(crate) num_right_chars_to_exclude: ::std::option::Option<i32>,
129    pub(crate) detection_parameters: ::std::option::Option<::std::string::String>,
130    pub(crate) detection_sensitivity: ::std::option::Option<::std::string::String>,
131}
132impl PiiDetectionBuilder {
133    /// <p>The name of the transform node.</p>
134    /// This field is required.
135    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
136        self.name = ::std::option::Option::Some(input.into());
137        self
138    }
139    /// <p>The name of the transform node.</p>
140    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.name = input;
142        self
143    }
144    /// <p>The name of the transform node.</p>
145    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
146        &self.name
147    }
148    /// Appends an item to `inputs`.
149    ///
150    /// To override the contents of this collection use [`set_inputs`](Self::set_inputs).
151    ///
152    /// <p>The node ID inputs to the transform.</p>
153    pub fn inputs(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
154        let mut v = self.inputs.unwrap_or_default();
155        v.push(input.into());
156        self.inputs = ::std::option::Option::Some(v);
157        self
158    }
159    /// <p>The node ID inputs to the transform.</p>
160    pub fn set_inputs(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
161        self.inputs = input;
162        self
163    }
164    /// <p>The node ID inputs to the transform.</p>
165    pub fn get_inputs(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
166        &self.inputs
167    }
168    /// <p>Indicates the type of PIIDetection transform.</p>
169    /// This field is required.
170    pub fn pii_type(mut self, input: crate::types::PiiType) -> Self {
171        self.pii_type = ::std::option::Option::Some(input);
172        self
173    }
174    /// <p>Indicates the type of PIIDetection transform.</p>
175    pub fn set_pii_type(mut self, input: ::std::option::Option<crate::types::PiiType>) -> Self {
176        self.pii_type = input;
177        self
178    }
179    /// <p>Indicates the type of PIIDetection transform.</p>
180    pub fn get_pii_type(&self) -> &::std::option::Option<crate::types::PiiType> {
181        &self.pii_type
182    }
183    /// Appends an item to `entity_types_to_detect`.
184    ///
185    /// To override the contents of this collection use [`set_entity_types_to_detect`](Self::set_entity_types_to_detect).
186    ///
187    /// <p>Indicates the types of entities the PIIDetection transform will identify as PII data.</p>
188    /// <p>PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE</p>
189    pub fn entity_types_to_detect(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190        let mut v = self.entity_types_to_detect.unwrap_or_default();
191        v.push(input.into());
192        self.entity_types_to_detect = ::std::option::Option::Some(v);
193        self
194    }
195    /// <p>Indicates the types of entities the PIIDetection transform will identify as PII data.</p>
196    /// <p>PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE</p>
197    pub fn set_entity_types_to_detect(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
198        self.entity_types_to_detect = input;
199        self
200    }
201    /// <p>Indicates the types of entities the PIIDetection transform will identify as PII data.</p>
202    /// <p>PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE</p>
203    pub fn get_entity_types_to_detect(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
204        &self.entity_types_to_detect
205    }
206    /// <p>Indicates the output column name that will contain any entity type detected in that row.</p>
207    pub fn output_column_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.output_column_name = ::std::option::Option::Some(input.into());
209        self
210    }
211    /// <p>Indicates the output column name that will contain any entity type detected in that row.</p>
212    pub fn set_output_column_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.output_column_name = input;
214        self
215    }
216    /// <p>Indicates the output column name that will contain any entity type detected in that row.</p>
217    pub fn get_output_column_name(&self) -> &::std::option::Option<::std::string::String> {
218        &self.output_column_name
219    }
220    /// <p>Indicates the fraction of the data to sample when scanning for PII entities.</p>
221    pub fn sample_fraction(mut self, input: f64) -> Self {
222        self.sample_fraction = ::std::option::Option::Some(input);
223        self
224    }
225    /// <p>Indicates the fraction of the data to sample when scanning for PII entities.</p>
226    pub fn set_sample_fraction(mut self, input: ::std::option::Option<f64>) -> Self {
227        self.sample_fraction = input;
228        self
229    }
230    /// <p>Indicates the fraction of the data to sample when scanning for PII entities.</p>
231    pub fn get_sample_fraction(&self) -> &::std::option::Option<f64> {
232        &self.sample_fraction
233    }
234    /// <p>Indicates the fraction of the data that must be met in order for a column to be identified as PII data.</p>
235    pub fn threshold_fraction(mut self, input: f64) -> Self {
236        self.threshold_fraction = ::std::option::Option::Some(input);
237        self
238    }
239    /// <p>Indicates the fraction of the data that must be met in order for a column to be identified as PII data.</p>
240    pub fn set_threshold_fraction(mut self, input: ::std::option::Option<f64>) -> Self {
241        self.threshold_fraction = input;
242        self
243    }
244    /// <p>Indicates the fraction of the data that must be met in order for a column to be identified as PII data.</p>
245    pub fn get_threshold_fraction(&self) -> &::std::option::Option<f64> {
246        &self.threshold_fraction
247    }
248    /// <p>Indicates the value that will replace the detected entity.</p>
249    pub fn mask_value(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.mask_value = ::std::option::Option::Some(input.into());
251        self
252    }
253    /// <p>Indicates the value that will replace the detected entity.</p>
254    pub fn set_mask_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.mask_value = input;
256        self
257    }
258    /// <p>Indicates the value that will replace the detected entity.</p>
259    pub fn get_mask_value(&self) -> &::std::option::Option<::std::string::String> {
260        &self.mask_value
261    }
262    /// <p>Specifies whether to redact the detected PII text. When set to <code>true</code>, PII content is replaced with redaction characters.</p>
263    pub fn redact_text(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
264        self.redact_text = ::std::option::Option::Some(input.into());
265        self
266    }
267    /// <p>Specifies whether to redact the detected PII text. When set to <code>true</code>, PII content is replaced with redaction characters.</p>
268    pub fn set_redact_text(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
269        self.redact_text = input;
270        self
271    }
272    /// <p>Specifies whether to redact the detected PII text. When set to <code>true</code>, PII content is replaced with redaction characters.</p>
273    pub fn get_redact_text(&self) -> &::std::option::Option<::std::string::String> {
274        &self.redact_text
275    }
276    /// <p>The character used to replace detected PII content when redaction is enabled. The default redaction character is <code>*</code>.</p>
277    pub fn redact_char(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278        self.redact_char = ::std::option::Option::Some(input.into());
279        self
280    }
281    /// <p>The character used to replace detected PII content when redaction is enabled. The default redaction character is <code>*</code>.</p>
282    pub fn set_redact_char(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
283        self.redact_char = input;
284        self
285    }
286    /// <p>The character used to replace detected PII content when redaction is enabled. The default redaction character is <code>*</code>.</p>
287    pub fn get_redact_char(&self) -> &::std::option::Option<::std::string::String> {
288        &self.redact_char
289    }
290    /// <p>A regular expression pattern used to identify additional PII content beyond the standard detection algorithms.</p>
291    pub fn match_pattern(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
292        self.match_pattern = ::std::option::Option::Some(input.into());
293        self
294    }
295    /// <p>A regular expression pattern used to identify additional PII content beyond the standard detection algorithms.</p>
296    pub fn set_match_pattern(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297        self.match_pattern = input;
298        self
299    }
300    /// <p>A regular expression pattern used to identify additional PII content beyond the standard detection algorithms.</p>
301    pub fn get_match_pattern(&self) -> &::std::option::Option<::std::string::String> {
302        &self.match_pattern
303    }
304    /// <p>The number of characters to exclude from redaction on the left side of detected PII content. This allows preserving context around the sensitive data.</p>
305    pub fn num_left_chars_to_exclude(mut self, input: i32) -> Self {
306        self.num_left_chars_to_exclude = ::std::option::Option::Some(input);
307        self
308    }
309    /// <p>The number of characters to exclude from redaction on the left side of detected PII content. This allows preserving context around the sensitive data.</p>
310    pub fn set_num_left_chars_to_exclude(mut self, input: ::std::option::Option<i32>) -> Self {
311        self.num_left_chars_to_exclude = input;
312        self
313    }
314    /// <p>The number of characters to exclude from redaction on the left side of detected PII content. This allows preserving context around the sensitive data.</p>
315    pub fn get_num_left_chars_to_exclude(&self) -> &::std::option::Option<i32> {
316        &self.num_left_chars_to_exclude
317    }
318    /// <p>The number of characters to exclude from redaction on the right side of detected PII content. This allows preserving context around the sensitive data.</p>
319    pub fn num_right_chars_to_exclude(mut self, input: i32) -> Self {
320        self.num_right_chars_to_exclude = ::std::option::Option::Some(input);
321        self
322    }
323    /// <p>The number of characters to exclude from redaction on the right side of detected PII content. This allows preserving context around the sensitive data.</p>
324    pub fn set_num_right_chars_to_exclude(mut self, input: ::std::option::Option<i32>) -> Self {
325        self.num_right_chars_to_exclude = input;
326        self
327    }
328    /// <p>The number of characters to exclude from redaction on the right side of detected PII content. This allows preserving context around the sensitive data.</p>
329    pub fn get_num_right_chars_to_exclude(&self) -> &::std::option::Option<i32> {
330        &self.num_right_chars_to_exclude
331    }
332    /// <p>Additional parameters for configuring PII detection behavior and sensitivity settings.</p>
333    pub fn detection_parameters(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
334        self.detection_parameters = ::std::option::Option::Some(input.into());
335        self
336    }
337    /// <p>Additional parameters for configuring PII detection behavior and sensitivity settings.</p>
338    pub fn set_detection_parameters(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
339        self.detection_parameters = input;
340        self
341    }
342    /// <p>Additional parameters for configuring PII detection behavior and sensitivity settings.</p>
343    pub fn get_detection_parameters(&self) -> &::std::option::Option<::std::string::String> {
344        &self.detection_parameters
345    }
346    /// <p>The sensitivity level for PII detection. Higher sensitivity levels detect more potential PII but may result in more false positives.</p>
347    pub fn detection_sensitivity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
348        self.detection_sensitivity = ::std::option::Option::Some(input.into());
349        self
350    }
351    /// <p>The sensitivity level for PII detection. Higher sensitivity levels detect more potential PII but may result in more false positives.</p>
352    pub fn set_detection_sensitivity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
353        self.detection_sensitivity = input;
354        self
355    }
356    /// <p>The sensitivity level for PII detection. Higher sensitivity levels detect more potential PII but may result in more false positives.</p>
357    pub fn get_detection_sensitivity(&self) -> &::std::option::Option<::std::string::String> {
358        &self.detection_sensitivity
359    }
360    /// Consumes the builder and constructs a [`PiiDetection`](crate::types::PiiDetection).
361    /// This method will fail if any of the following fields are not set:
362    /// - [`name`](crate::types::builders::PiiDetectionBuilder::name)
363    /// - [`inputs`](crate::types::builders::PiiDetectionBuilder::inputs)
364    /// - [`pii_type`](crate::types::builders::PiiDetectionBuilder::pii_type)
365    /// - [`entity_types_to_detect`](crate::types::builders::PiiDetectionBuilder::entity_types_to_detect)
366    pub fn build(self) -> ::std::result::Result<crate::types::PiiDetection, ::aws_smithy_types::error::operation::BuildError> {
367        ::std::result::Result::Ok(crate::types::PiiDetection {
368            name: self.name.ok_or_else(|| {
369                ::aws_smithy_types::error::operation::BuildError::missing_field(
370                    "name",
371                    "name was not specified but it is required when building PiiDetection",
372                )
373            })?,
374            inputs: self.inputs.ok_or_else(|| {
375                ::aws_smithy_types::error::operation::BuildError::missing_field(
376                    "inputs",
377                    "inputs was not specified but it is required when building PiiDetection",
378                )
379            })?,
380            pii_type: self.pii_type.ok_or_else(|| {
381                ::aws_smithy_types::error::operation::BuildError::missing_field(
382                    "pii_type",
383                    "pii_type was not specified but it is required when building PiiDetection",
384                )
385            })?,
386            entity_types_to_detect: self.entity_types_to_detect.ok_or_else(|| {
387                ::aws_smithy_types::error::operation::BuildError::missing_field(
388                    "entity_types_to_detect",
389                    "entity_types_to_detect was not specified but it is required when building PiiDetection",
390                )
391            })?,
392            output_column_name: self.output_column_name,
393            sample_fraction: self.sample_fraction,
394            threshold_fraction: self.threshold_fraction,
395            mask_value: self.mask_value,
396            redact_text: self.redact_text,
397            redact_char: self.redact_char,
398            match_pattern: self.match_pattern,
399            num_left_chars_to_exclude: self.num_left_chars_to_exclude,
400            num_right_chars_to_exclude: self.num_right_chars_to_exclude,
401            detection_parameters: self.detection_parameters,
402            detection_sensitivity: self.detection_sensitivity,
403        })
404    }
405}