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

The settings for client-side encryption for cryptographic * computing.

See Also:

AWS * API Reference

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

Indicates whether encrypted tables can contain cleartext data (true) or are * to cryptographically process every column (false).

*/ inline bool GetAllowCleartext() const{ return m_allowCleartext; } /** *

Indicates whether encrypted tables can contain cleartext data (true) or are * to cryptographically process every column (false).

*/ inline bool AllowCleartextHasBeenSet() const { return m_allowCleartextHasBeenSet; } /** *

Indicates whether encrypted tables can contain cleartext data (true) or are * to cryptographically process every column (false).

*/ inline void SetAllowCleartext(bool value) { m_allowCleartextHasBeenSet = true; m_allowCleartext = value; } /** *

Indicates whether encrypted tables can contain cleartext data (true) or are * to cryptographically process every column (false).

*/ inline DataEncryptionMetadata& WithAllowCleartext(bool value) { SetAllowCleartext(value); return *this;} /** *

Indicates whether Fingerprint columns can contain duplicate entries (true) or * are to contain only non-repeated values (false).

*/ inline bool GetAllowDuplicates() const{ return m_allowDuplicates; } /** *

Indicates whether Fingerprint columns can contain duplicate entries (true) or * are to contain only non-repeated values (false).

*/ inline bool AllowDuplicatesHasBeenSet() const { return m_allowDuplicatesHasBeenSet; } /** *

Indicates whether Fingerprint columns can contain duplicate entries (true) or * are to contain only non-repeated values (false).

*/ inline void SetAllowDuplicates(bool value) { m_allowDuplicatesHasBeenSet = true; m_allowDuplicates = value; } /** *

Indicates whether Fingerprint columns can contain duplicate entries (true) or * are to contain only non-repeated values (false).

*/ inline DataEncryptionMetadata& WithAllowDuplicates(bool value) { SetAllowDuplicates(value); return *this;} /** *

Indicates whether Fingerprint columns can be joined on any other Fingerprint * column with a different name (true) or can only be joined on Fingerprint columns * of the same name (false).

*/ inline bool GetAllowJoinsOnColumnsWithDifferentNames() const{ return m_allowJoinsOnColumnsWithDifferentNames; } /** *

Indicates whether Fingerprint columns can be joined on any other Fingerprint * column with a different name (true) or can only be joined on Fingerprint columns * of the same name (false).

*/ inline bool AllowJoinsOnColumnsWithDifferentNamesHasBeenSet() const { return m_allowJoinsOnColumnsWithDifferentNamesHasBeenSet; } /** *

Indicates whether Fingerprint columns can be joined on any other Fingerprint * column with a different name (true) or can only be joined on Fingerprint columns * of the same name (false).

*/ inline void SetAllowJoinsOnColumnsWithDifferentNames(bool value) { m_allowJoinsOnColumnsWithDifferentNamesHasBeenSet = true; m_allowJoinsOnColumnsWithDifferentNames = value; } /** *

Indicates whether Fingerprint columns can be joined on any other Fingerprint * column with a different name (true) or can only be joined on Fingerprint columns * of the same name (false).

*/ inline DataEncryptionMetadata& WithAllowJoinsOnColumnsWithDifferentNames(bool value) { SetAllowJoinsOnColumnsWithDifferentNames(value); return *this;} /** *

Indicates whether NULL values are to be copied as NULL to encrypted tables * (true) or cryptographically processed (false).

*/ inline bool GetPreserveNulls() const{ return m_preserveNulls; } /** *

Indicates whether NULL values are to be copied as NULL to encrypted tables * (true) or cryptographically processed (false).

*/ inline bool PreserveNullsHasBeenSet() const { return m_preserveNullsHasBeenSet; } /** *

Indicates whether NULL values are to be copied as NULL to encrypted tables * (true) or cryptographically processed (false).

*/ inline void SetPreserveNulls(bool value) { m_preserveNullsHasBeenSet = true; m_preserveNulls = value; } /** *

Indicates whether NULL values are to be copied as NULL to encrypted tables * (true) or cryptographically processed (false).

*/ inline DataEncryptionMetadata& WithPreserveNulls(bool value) { SetPreserveNulls(value); return *this;} private: bool m_allowCleartext; bool m_allowCleartextHasBeenSet = false; bool m_allowDuplicates; bool m_allowDuplicatesHasBeenSet = false; bool m_allowJoinsOnColumnsWithDifferentNames; bool m_allowJoinsOnColumnsWithDifferentNamesHasBeenSet = false; bool m_preserveNulls; bool m_preserveNullsHasBeenSet = false; }; } // namespace Model } // namespace CleanRooms } // namespace Aws