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

Contains configuration information for maintaining Data Catalog * security.

See Also:

AWS * API Reference

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

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline const EncryptionAtRest& GetEncryptionAtRest() const{ return m_encryptionAtRest; } /** *

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline bool EncryptionAtRestHasBeenSet() const { return m_encryptionAtRestHasBeenSet; } /** *

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline void SetEncryptionAtRest(const EncryptionAtRest& value) { m_encryptionAtRestHasBeenSet = true; m_encryptionAtRest = value; } /** *

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline void SetEncryptionAtRest(EncryptionAtRest&& value) { m_encryptionAtRestHasBeenSet = true; m_encryptionAtRest = std::move(value); } /** *

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline DataCatalogEncryptionSettings& WithEncryptionAtRest(const EncryptionAtRest& value) { SetEncryptionAtRest(value); return *this;} /** *

Specifies the encryption-at-rest configuration for the Data Catalog.

*/ inline DataCatalogEncryptionSettings& WithEncryptionAtRest(EncryptionAtRest&& value) { SetEncryptionAtRest(std::move(value)); return *this;} /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline const ConnectionPasswordEncryption& GetConnectionPasswordEncryption() const{ return m_connectionPasswordEncryption; } /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline bool ConnectionPasswordEncryptionHasBeenSet() const { return m_connectionPasswordEncryptionHasBeenSet; } /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline void SetConnectionPasswordEncryption(const ConnectionPasswordEncryption& value) { m_connectionPasswordEncryptionHasBeenSet = true; m_connectionPasswordEncryption = value; } /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline void SetConnectionPasswordEncryption(ConnectionPasswordEncryption&& value) { m_connectionPasswordEncryptionHasBeenSet = true; m_connectionPasswordEncryption = std::move(value); } /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline DataCatalogEncryptionSettings& WithConnectionPasswordEncryption(const ConnectionPasswordEncryption& value) { SetConnectionPasswordEncryption(value); return *this;} /** *

When connection password protection is enabled, the Data Catalog uses a * customer-provided key to encrypt the password as part of * CreateConnection or UpdateConnection and store it in * the ENCRYPTED_PASSWORD field in the connection properties. You can * enable catalog encryption or only password encryption.

*/ inline DataCatalogEncryptionSettings& WithConnectionPasswordEncryption(ConnectionPasswordEncryption&& value) { SetConnectionPasswordEncryption(std::move(value)); return *this;} private: EncryptionAtRest m_encryptionAtRest; bool m_encryptionAtRestHasBeenSet = false; ConnectionPasswordEncryption m_connectionPasswordEncryption; bool m_connectionPasswordEncryptionHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws