/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Specifies a transform that identifies, removes or masks PII * data.

See Also:

AWS * API Reference

*/ class PIIDetection { public: AWS_GLUE_API PIIDetection(); AWS_GLUE_API PIIDetection(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API PIIDetection& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the transform node.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the transform node.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the transform node.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the transform node.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the transform node.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the transform node.

*/ inline PIIDetection& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the transform node.

*/ inline PIIDetection& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the transform node.

*/ inline PIIDetection& WithName(const char* value) { SetName(value); return *this;} /** *

The node ID inputs to the transform.

*/ inline const Aws::Vector& GetInputs() const{ return m_inputs; } /** *

The node ID inputs to the transform.

*/ inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } /** *

The node ID inputs to the transform.

*/ inline void SetInputs(const Aws::Vector& value) { m_inputsHasBeenSet = true; m_inputs = value; } /** *

The node ID inputs to the transform.

*/ inline void SetInputs(Aws::Vector&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } /** *

The node ID inputs to the transform.

*/ inline PIIDetection& WithInputs(const Aws::Vector& value) { SetInputs(value); return *this;} /** *

The node ID inputs to the transform.

*/ inline PIIDetection& WithInputs(Aws::Vector&& value) { SetInputs(std::move(value)); return *this;} /** *

The node ID inputs to the transform.

*/ inline PIIDetection& AddInputs(const Aws::String& value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } /** *

The node ID inputs to the transform.

*/ inline PIIDetection& AddInputs(Aws::String&& value) { m_inputsHasBeenSet = true; m_inputs.push_back(std::move(value)); return *this; } /** *

The node ID inputs to the transform.

*/ inline PIIDetection& AddInputs(const char* value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } /** *

Indicates the type of PIIDetection transform.

*/ inline const PiiType& GetPiiType() const{ return m_piiType; } /** *

Indicates the type of PIIDetection transform.

*/ inline bool PiiTypeHasBeenSet() const { return m_piiTypeHasBeenSet; } /** *

Indicates the type of PIIDetection transform.

*/ inline void SetPiiType(const PiiType& value) { m_piiTypeHasBeenSet = true; m_piiType = value; } /** *

Indicates the type of PIIDetection transform.

*/ inline void SetPiiType(PiiType&& value) { m_piiTypeHasBeenSet = true; m_piiType = std::move(value); } /** *

Indicates the type of PIIDetection transform.

*/ inline PIIDetection& WithPiiType(const PiiType& value) { SetPiiType(value); return *this;} /** *

Indicates the type of PIIDetection transform.

*/ inline PIIDetection& WithPiiType(PiiType&& value) { SetPiiType(std::move(value)); return *this;} /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline const Aws::Vector& GetEntityTypesToDetect() const{ return m_entityTypesToDetect; } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline bool EntityTypesToDetectHasBeenSet() const { return m_entityTypesToDetectHasBeenSet; } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline void SetEntityTypesToDetect(const Aws::Vector& value) { m_entityTypesToDetectHasBeenSet = true; m_entityTypesToDetect = value; } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline void SetEntityTypesToDetect(Aws::Vector&& value) { m_entityTypesToDetectHasBeenSet = true; m_entityTypesToDetect = std::move(value); } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline PIIDetection& WithEntityTypesToDetect(const Aws::Vector& value) { SetEntityTypesToDetect(value); return *this;} /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline PIIDetection& WithEntityTypesToDetect(Aws::Vector&& value) { SetEntityTypesToDetect(std::move(value)); return *this;} /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline PIIDetection& AddEntityTypesToDetect(const Aws::String& value) { m_entityTypesToDetectHasBeenSet = true; m_entityTypesToDetect.push_back(value); return *this; } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline PIIDetection& AddEntityTypesToDetect(Aws::String&& value) { m_entityTypesToDetectHasBeenSet = true; m_entityTypesToDetect.push_back(std::move(value)); return *this; } /** *

Indicates the types of entities the PIIDetection transform will identify as * PII data.

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 *

*/ inline PIIDetection& AddEntityTypesToDetect(const char* value) { m_entityTypesToDetectHasBeenSet = true; m_entityTypesToDetect.push_back(value); return *this; } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline const Aws::String& GetOutputColumnName() const{ return m_outputColumnName; } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline bool OutputColumnNameHasBeenSet() const { return m_outputColumnNameHasBeenSet; } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline void SetOutputColumnName(const Aws::String& value) { m_outputColumnNameHasBeenSet = true; m_outputColumnName = value; } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline void SetOutputColumnName(Aws::String&& value) { m_outputColumnNameHasBeenSet = true; m_outputColumnName = std::move(value); } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline void SetOutputColumnName(const char* value) { m_outputColumnNameHasBeenSet = true; m_outputColumnName.assign(value); } /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline PIIDetection& WithOutputColumnName(const Aws::String& value) { SetOutputColumnName(value); return *this;} /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline PIIDetection& WithOutputColumnName(Aws::String&& value) { SetOutputColumnName(std::move(value)); return *this;} /** *

Indicates the output column name that will contain any entity type detected * in that row.

*/ inline PIIDetection& WithOutputColumnName(const char* value) { SetOutputColumnName(value); return *this;} /** *

Indicates the fraction of the data to sample when scanning for PII entities. *

*/ inline double GetSampleFraction() const{ return m_sampleFraction; } /** *

Indicates the fraction of the data to sample when scanning for PII entities. *

*/ inline bool SampleFractionHasBeenSet() const { return m_sampleFractionHasBeenSet; } /** *

Indicates the fraction of the data to sample when scanning for PII entities. *

*/ inline void SetSampleFraction(double value) { m_sampleFractionHasBeenSet = true; m_sampleFraction = value; } /** *

Indicates the fraction of the data to sample when scanning for PII entities. *

*/ inline PIIDetection& WithSampleFraction(double value) { SetSampleFraction(value); return *this;} /** *

Indicates the fraction of the data that must be met in order for a column to * be identified as PII data.

*/ inline double GetThresholdFraction() const{ return m_thresholdFraction; } /** *

Indicates the fraction of the data that must be met in order for a column to * be identified as PII data.

*/ inline bool ThresholdFractionHasBeenSet() const { return m_thresholdFractionHasBeenSet; } /** *

Indicates the fraction of the data that must be met in order for a column to * be identified as PII data.

*/ inline void SetThresholdFraction(double value) { m_thresholdFractionHasBeenSet = true; m_thresholdFraction = value; } /** *

Indicates the fraction of the data that must be met in order for a column to * be identified as PII data.

*/ inline PIIDetection& WithThresholdFraction(double value) { SetThresholdFraction(value); return *this;} /** *

Indicates the value that will replace the detected entity.

*/ inline const Aws::String& GetMaskValue() const{ return m_maskValue; } /** *

Indicates the value that will replace the detected entity.

*/ inline bool MaskValueHasBeenSet() const { return m_maskValueHasBeenSet; } /** *

Indicates the value that will replace the detected entity.

*/ inline void SetMaskValue(const Aws::String& value) { m_maskValueHasBeenSet = true; m_maskValue = value; } /** *

Indicates the value that will replace the detected entity.

*/ inline void SetMaskValue(Aws::String&& value) { m_maskValueHasBeenSet = true; m_maskValue = std::move(value); } /** *

Indicates the value that will replace the detected entity.

*/ inline void SetMaskValue(const char* value) { m_maskValueHasBeenSet = true; m_maskValue.assign(value); } /** *

Indicates the value that will replace the detected entity.

*/ inline PIIDetection& WithMaskValue(const Aws::String& value) { SetMaskValue(value); return *this;} /** *

Indicates the value that will replace the detected entity.

*/ inline PIIDetection& WithMaskValue(Aws::String&& value) { SetMaskValue(std::move(value)); return *this;} /** *

Indicates the value that will replace the detected entity.

*/ inline PIIDetection& WithMaskValue(const char* value) { SetMaskValue(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_inputs; bool m_inputsHasBeenSet = false; PiiType m_piiType; bool m_piiTypeHasBeenSet = false; Aws::Vector m_entityTypesToDetect; bool m_entityTypesToDetectHasBeenSet = false; Aws::String m_outputColumnName; bool m_outputColumnNameHasBeenSet = false; double m_sampleFraction; bool m_sampleFractionHasBeenSet = false; double m_thresholdFraction; bool m_thresholdFractionHasBeenSet = false; Aws::String m_maskValue; bool m_maskValueHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws