/** * 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 { /** *

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

See Also:

AWS * API Reference

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

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline const CatalogEncryptionMode& GetCatalogEncryptionMode() const{ return m_catalogEncryptionMode; } /** *

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline bool CatalogEncryptionModeHasBeenSet() const { return m_catalogEncryptionModeHasBeenSet; } /** *

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline void SetCatalogEncryptionMode(const CatalogEncryptionMode& value) { m_catalogEncryptionModeHasBeenSet = true; m_catalogEncryptionMode = value; } /** *

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline void SetCatalogEncryptionMode(CatalogEncryptionMode&& value) { m_catalogEncryptionModeHasBeenSet = true; m_catalogEncryptionMode = std::move(value); } /** *

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline EncryptionAtRest& WithCatalogEncryptionMode(const CatalogEncryptionMode& value) { SetCatalogEncryptionMode(value); return *this;} /** *

The encryption-at-rest mode for encrypting Data Catalog data.

*/ inline EncryptionAtRest& WithCatalogEncryptionMode(CatalogEncryptionMode&& value) { SetCatalogEncryptionMode(std::move(value)); return *this;} /** *

The ID of the KMS key to use for encryption at rest.

*/ inline const Aws::String& GetSseAwsKmsKeyId() const{ return m_sseAwsKmsKeyId; } /** *

The ID of the KMS key to use for encryption at rest.

*/ inline bool SseAwsKmsKeyIdHasBeenSet() const { return m_sseAwsKmsKeyIdHasBeenSet; } /** *

The ID of the KMS key to use for encryption at rest.

*/ inline void SetSseAwsKmsKeyId(const Aws::String& value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId = value; } /** *

The ID of the KMS key to use for encryption at rest.

*/ inline void SetSseAwsKmsKeyId(Aws::String&& value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId = std::move(value); } /** *

The ID of the KMS key to use for encryption at rest.

*/ inline void SetSseAwsKmsKeyId(const char* value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId.assign(value); } /** *

The ID of the KMS key to use for encryption at rest.

*/ inline EncryptionAtRest& WithSseAwsKmsKeyId(const Aws::String& value) { SetSseAwsKmsKeyId(value); return *this;} /** *

The ID of the KMS key to use for encryption at rest.

*/ inline EncryptionAtRest& WithSseAwsKmsKeyId(Aws::String&& value) { SetSseAwsKmsKeyId(std::move(value)); return *this;} /** *

The ID of the KMS key to use for encryption at rest.

*/ inline EncryptionAtRest& WithSseAwsKmsKeyId(const char* value) { SetSseAwsKmsKeyId(value); return *this;} private: CatalogEncryptionMode m_catalogEncryptionMode; bool m_catalogEncryptionModeHasBeenSet = false; Aws::String m_sseAwsKmsKeyId; bool m_sseAwsKmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws