/** * 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 EntityResolution { namespace Model { /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be * hashed.

See Also:

AWS * API Reference

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

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline const Aws::String& GetKMSArn() const{ return m_kMSArn; } /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline bool KMSArnHasBeenSet() const { return m_kMSArnHasBeenSet; } /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline void SetKMSArn(const Aws::String& value) { m_kMSArnHasBeenSet = true; m_kMSArn = value; } /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline void SetKMSArn(Aws::String&& value) { m_kMSArnHasBeenSet = true; m_kMSArn = std::move(value); } /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline void SetKMSArn(const char* value) { m_kMSArnHasBeenSet = true; m_kMSArn.assign(value); } /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline OutputSource& WithKMSArn(const Aws::String& value) { SetKMSArn(value); return *this;} /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline OutputSource& WithKMSArn(Aws::String&& value) { SetKMSArn(std::move(value)); return *this;} /** *

Customer KMS ARN for encryption at rest. If not provided, system will use an * Entity Resolution managed KMS key.

*/ inline OutputSource& WithKMSArn(const char* value) { SetKMSArn(value); return *this;} /** *

Normalizes the attributes defined in the schema in the input data. For * example, if an attribute has an AttributeType of * PHONE_NUMBER, and the data in the input table is in a format of * 1234567890, Entity Resolution will normalize this field in the output to * (123)-456-7890.

*/ inline bool GetApplyNormalization() const{ return m_applyNormalization; } /** *

Normalizes the attributes defined in the schema in the input data. For * example, if an attribute has an AttributeType of * PHONE_NUMBER, and the data in the input table is in a format of * 1234567890, Entity Resolution will normalize this field in the output to * (123)-456-7890.

*/ inline bool ApplyNormalizationHasBeenSet() const { return m_applyNormalizationHasBeenSet; } /** *

Normalizes the attributes defined in the schema in the input data. For * example, if an attribute has an AttributeType of * PHONE_NUMBER, and the data in the input table is in a format of * 1234567890, Entity Resolution will normalize this field in the output to * (123)-456-7890.

*/ inline void SetApplyNormalization(bool value) { m_applyNormalizationHasBeenSet = true; m_applyNormalization = value; } /** *

Normalizes the attributes defined in the schema in the input data. For * example, if an attribute has an AttributeType of * PHONE_NUMBER, and the data in the input table is in a format of * 1234567890, Entity Resolution will normalize this field in the output to * (123)-456-7890.

*/ inline OutputSource& WithApplyNormalization(bool value) { SetApplyNormalization(value); return *this;} /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline const Aws::Vector& GetOutput() const{ return m_output; } /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline void SetOutput(const Aws::Vector& value) { m_outputHasBeenSet = true; m_output = value; } /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline void SetOutput(Aws::Vector&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline OutputSource& WithOutput(const Aws::Vector& value) { SetOutput(value); return *this;} /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline OutputSource& WithOutput(Aws::Vector&& value) { SetOutput(std::move(value)); return *this;} /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline OutputSource& AddOutput(const OutputAttribute& value) { m_outputHasBeenSet = true; m_output.push_back(value); return *this; } /** *

A list of OutputAttribute objects, each of which have the fields * Name and Hashed. Each of these objects selects a column to be included in the * output table, and whether the values of the column should be hashed.

*/ inline OutputSource& AddOutput(OutputAttribute&& value) { m_outputHasBeenSet = true; m_output.push_back(std::move(value)); return *this; } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline const Aws::String& GetOutputS3Path() const{ return m_outputS3Path; } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline bool OutputS3PathHasBeenSet() const { return m_outputS3PathHasBeenSet; } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline void SetOutputS3Path(const Aws::String& value) { m_outputS3PathHasBeenSet = true; m_outputS3Path = value; } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline void SetOutputS3Path(Aws::String&& value) { m_outputS3PathHasBeenSet = true; m_outputS3Path = std::move(value); } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline void SetOutputS3Path(const char* value) { m_outputS3PathHasBeenSet = true; m_outputS3Path.assign(value); } /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline OutputSource& WithOutputS3Path(const Aws::String& value) { SetOutputS3Path(value); return *this;} /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline OutputSource& WithOutputS3Path(Aws::String&& value) { SetOutputS3Path(std::move(value)); return *this;} /** *

The S3 path to which Entity Resolution will write the output table.

*/ inline OutputSource& WithOutputS3Path(const char* value) { SetOutputS3Path(value); return *this;} private: Aws::String m_kMSArn; bool m_kMSArnHasBeenSet = false; bool m_applyNormalization; bool m_applyNormalizationHasBeenSet = false; Aws::Vector m_output; bool m_outputHasBeenSet = false; Aws::String m_outputS3Path; bool m_outputS3PathHasBeenSet = false; }; } // namespace Model } // namespace EntityResolution } // namespace Aws