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

An object that contains:

  • The encryption option for a * repository association. It is either owned by Amazon Web Services Key Management * Service (KMS) (AWS_OWNED_CMK) or customer managed * (CUSTOMER_MANAGED_CMK).

  • The ID of the Amazon Web * Services KMS key that is associated with a repository association.

  • *

See Also:

AWS * API Reference

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

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline const Aws::String& GetKMSKeyId() const{ return m_kMSKeyId; } /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline bool KMSKeyIdHasBeenSet() const { return m_kMSKeyIdHasBeenSet; } /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline void SetKMSKeyId(const Aws::String& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = value; } /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline void SetKMSKeyId(Aws::String&& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = std::move(value); } /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline void SetKMSKeyId(const char* value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId.assign(value); } /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline KMSKeyDetails& WithKMSKeyId(const Aws::String& value) { SetKMSKeyId(value); return *this;} /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline KMSKeyDetails& WithKMSKeyId(Aws::String&& value) { SetKMSKeyId(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services KMS key that is associated with a * repository association.

*/ inline KMSKeyDetails& WithKMSKeyId(const char* value) { SetKMSKeyId(value); return *this;} /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline const EncryptionOption& GetEncryptionOption() const{ return m_encryptionOption; } /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline bool EncryptionOptionHasBeenSet() const { return m_encryptionOptionHasBeenSet; } /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline void SetEncryptionOption(const EncryptionOption& value) { m_encryptionOptionHasBeenSet = true; m_encryptionOption = value; } /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline void SetEncryptionOption(EncryptionOption&& value) { m_encryptionOptionHasBeenSet = true; m_encryptionOption = std::move(value); } /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline KMSKeyDetails& WithEncryptionOption(const EncryptionOption& value) { SetEncryptionOption(value); return *this;} /** *

The encryption option for a repository association. It is either owned by * Amazon Web Services Key Management Service (KMS) (AWS_OWNED_CMK) or * customer managed (CUSTOMER_MANAGED_CMK).

*/ inline KMSKeyDetails& WithEncryptionOption(EncryptionOption&& value) { SetEncryptionOption(std::move(value)); return *this;} private: Aws::String m_kMSKeyId; bool m_kMSKeyIdHasBeenSet = false; EncryptionOption m_encryptionOption; bool m_encryptionOptionHasBeenSet = false; }; } // namespace Model } // namespace CodeGuruReviewer } // namespace Aws