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

Includes encryption-related information, such as the AWS KMS key * used for encrypting data at rest and whether you want MSK to encrypt your data * in transit.

See Also:

AWS * API Reference

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

The data-volume encryption details.

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

The data-volume encryption details.

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

The data-volume encryption details.

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

The data-volume encryption details.

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

The data-volume encryption details.

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

The data-volume encryption details.

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

The details for encryption in transit.

*/ inline const EncryptionInTransit& GetEncryptionInTransit() const{ return m_encryptionInTransit; } /** *

The details for encryption in transit.

*/ inline bool EncryptionInTransitHasBeenSet() const { return m_encryptionInTransitHasBeenSet; } /** *

The details for encryption in transit.

*/ inline void SetEncryptionInTransit(const EncryptionInTransit& value) { m_encryptionInTransitHasBeenSet = true; m_encryptionInTransit = value; } /** *

The details for encryption in transit.

*/ inline void SetEncryptionInTransit(EncryptionInTransit&& value) { m_encryptionInTransitHasBeenSet = true; m_encryptionInTransit = std::move(value); } /** *

The details for encryption in transit.

*/ inline EncryptionInfo& WithEncryptionInTransit(const EncryptionInTransit& value) { SetEncryptionInTransit(value); return *this;} /** *

The details for encryption in transit.

*/ inline EncryptionInfo& WithEncryptionInTransit(EncryptionInTransit&& value) { SetEncryptionInTransit(std::move(value)); return *this;} private: EncryptionAtRest m_encryptionAtRest; bool m_encryptionAtRestHasBeenSet = false; EncryptionInTransit m_encryptionInTransit; bool m_encryptionInTransitHasBeenSet = false; }; } // namespace Model } // namespace Kafka } // namespace Aws