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

Parameter information for root public key certificate import.

See * Also:

AWS * API Reference

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

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline const KeyAttributes& GetKeyAttributes() const{ return m_keyAttributes; } /** *

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } /** *

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline void SetKeyAttributes(const KeyAttributes& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } /** *

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline void SetKeyAttributes(KeyAttributes&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } /** *

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline RootCertificatePublicKey& WithKeyAttributes(const KeyAttributes& value) { SetKeyAttributes(value); return *this;} /** *

The role of the key, the algorithm it supports, and the cryptographic * operations allowed with the key. This data is immutable after the root public * key is imported.

*/ inline RootCertificatePublicKey& WithKeyAttributes(KeyAttributes&& value) { SetKeyAttributes(std::move(value)); return *this;} /** *

Parameter information for root public key certificate import.

*/ inline const Aws::String& GetPublicKeyCertificate() const{ return m_publicKeyCertificate; } /** *

Parameter information for root public key certificate import.

*/ inline bool PublicKeyCertificateHasBeenSet() const { return m_publicKeyCertificateHasBeenSet; } /** *

Parameter information for root public key certificate import.

*/ inline void SetPublicKeyCertificate(const Aws::String& value) { m_publicKeyCertificateHasBeenSet = true; m_publicKeyCertificate = value; } /** *

Parameter information for root public key certificate import.

*/ inline void SetPublicKeyCertificate(Aws::String&& value) { m_publicKeyCertificateHasBeenSet = true; m_publicKeyCertificate = std::move(value); } /** *

Parameter information for root public key certificate import.

*/ inline void SetPublicKeyCertificate(const char* value) { m_publicKeyCertificateHasBeenSet = true; m_publicKeyCertificate.assign(value); } /** *

Parameter information for root public key certificate import.

*/ inline RootCertificatePublicKey& WithPublicKeyCertificate(const Aws::String& value) { SetPublicKeyCertificate(value); return *this;} /** *

Parameter information for root public key certificate import.

*/ inline RootCertificatePublicKey& WithPublicKeyCertificate(Aws::String&& value) { SetPublicKeyCertificate(std::move(value)); return *this;} /** *

Parameter information for root public key certificate import.

*/ inline RootCertificatePublicKey& WithPublicKeyCertificate(const char* value) { SetPublicKeyCertificate(value); return *this;} private: KeyAttributes m_keyAttributes; bool m_keyAttributesHasBeenSet = false; Aws::String m_publicKeyCertificate; bool m_publicKeyCertificateHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws