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

The encryption configuration.

See Also:

AWS * API Reference

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

The type of encryption.

*/ inline const EncryptionType& GetEncryptionType() const{ return m_encryptionType; } /** *

The type of encryption.

*/ inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } /** *

The type of encryption.

*/ inline void SetEncryptionType(const EncryptionType& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } /** *

The type of encryption.

*/ inline void SetEncryptionType(EncryptionType&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } /** *

The type of encryption.

*/ inline EncryptionConfig& WithEncryptionType(const EncryptionType& value) { SetEncryptionType(value); return *this;} /** *

The type of encryption.

*/ inline EncryptionConfig& WithEncryptionType(EncryptionType&& value) { SetEncryptionType(std::move(value)); return *this;} /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline EncryptionConfig& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline EncryptionConfig& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

The full ARN of the encryption key.

Be sure to provide the * full ARN of the encryption key, not just the ID.

Amazon Connect supports * only KMS keys with the default key spec of * SYMMETRIC_DEFAULT .

*/ inline EncryptionConfig& WithKeyId(const char* value) { SetKeyId(value); return *this;} private: EncryptionType m_encryptionType; bool m_encryptionTypeHasBeenSet = false; Aws::String m_keyId; bool m_keyIdHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws