/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 key material import.

See Also:

AWS * API Reference

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

Parameter information for root public key certificate import.

*/ inline const RootCertificatePublicKey& GetRootCertificatePublicKey() const{ return m_rootCertificatePublicKey; } /** *

Parameter information for root public key certificate import.

*/ inline bool RootCertificatePublicKeyHasBeenSet() const { return m_rootCertificatePublicKeyHasBeenSet; } /** *

Parameter information for root public key certificate import.

*/ inline void SetRootCertificatePublicKey(const RootCertificatePublicKey& value) { m_rootCertificatePublicKeyHasBeenSet = true; m_rootCertificatePublicKey = value; } /** *

Parameter information for root public key certificate import.

*/ inline void SetRootCertificatePublicKey(RootCertificatePublicKey&& value) { m_rootCertificatePublicKeyHasBeenSet = true; m_rootCertificatePublicKey = std::move(value); } /** *

Parameter information for root public key certificate import.

*/ inline ImportKeyMaterial& WithRootCertificatePublicKey(const RootCertificatePublicKey& value) { SetRootCertificatePublicKey(value); return *this;} /** *

Parameter information for root public key certificate import.

*/ inline ImportKeyMaterial& WithRootCertificatePublicKey(RootCertificatePublicKey&& value) { SetRootCertificatePublicKey(std::move(value)); return *this;} /** *

Parameter information for key material import using TR-31 standard.

*/ inline const ImportTr31KeyBlock& GetTr31KeyBlock() const{ return m_tr31KeyBlock; } /** *

Parameter information for key material import using TR-31 standard.

*/ inline bool Tr31KeyBlockHasBeenSet() const { return m_tr31KeyBlockHasBeenSet; } /** *

Parameter information for key material import using TR-31 standard.

*/ inline void SetTr31KeyBlock(const ImportTr31KeyBlock& value) { m_tr31KeyBlockHasBeenSet = true; m_tr31KeyBlock = value; } /** *

Parameter information for key material import using TR-31 standard.

*/ inline void SetTr31KeyBlock(ImportTr31KeyBlock&& value) { m_tr31KeyBlockHasBeenSet = true; m_tr31KeyBlock = std::move(value); } /** *

Parameter information for key material import using TR-31 standard.

*/ inline ImportKeyMaterial& WithTr31KeyBlock(const ImportTr31KeyBlock& value) { SetTr31KeyBlock(value); return *this;} /** *

Parameter information for key material import using TR-31 standard.

*/ inline ImportKeyMaterial& WithTr31KeyBlock(ImportTr31KeyBlock&& value) { SetTr31KeyBlock(std::move(value)); return *this;} /** *

Parameter information for key material import using TR-34 standard.

*/ inline const ImportTr34KeyBlock& GetTr34KeyBlock() const{ return m_tr34KeyBlock; } /** *

Parameter information for key material import using TR-34 standard.

*/ inline bool Tr34KeyBlockHasBeenSet() const { return m_tr34KeyBlockHasBeenSet; } /** *

Parameter information for key material import using TR-34 standard.

*/ inline void SetTr34KeyBlock(const ImportTr34KeyBlock& value) { m_tr34KeyBlockHasBeenSet = true; m_tr34KeyBlock = value; } /** *

Parameter information for key material import using TR-34 standard.

*/ inline void SetTr34KeyBlock(ImportTr34KeyBlock&& value) { m_tr34KeyBlockHasBeenSet = true; m_tr34KeyBlock = std::move(value); } /** *

Parameter information for key material import using TR-34 standard.

*/ inline ImportKeyMaterial& WithTr34KeyBlock(const ImportTr34KeyBlock& value) { SetTr34KeyBlock(value); return *this;} /** *

Parameter information for key material import using TR-34 standard.

*/ inline ImportKeyMaterial& WithTr34KeyBlock(ImportTr34KeyBlock&& value) { SetTr34KeyBlock(std::move(value)); return *this;} /** *

Parameter information for trusted public key certificate import.

*/ inline const TrustedCertificatePublicKey& GetTrustedCertificatePublicKey() const{ return m_trustedCertificatePublicKey; } /** *

Parameter information for trusted public key certificate import.

*/ inline bool TrustedCertificatePublicKeyHasBeenSet() const { return m_trustedCertificatePublicKeyHasBeenSet; } /** *

Parameter information for trusted public key certificate import.

*/ inline void SetTrustedCertificatePublicKey(const TrustedCertificatePublicKey& value) { m_trustedCertificatePublicKeyHasBeenSet = true; m_trustedCertificatePublicKey = value; } /** *

Parameter information for trusted public key certificate import.

*/ inline void SetTrustedCertificatePublicKey(TrustedCertificatePublicKey&& value) { m_trustedCertificatePublicKeyHasBeenSet = true; m_trustedCertificatePublicKey = std::move(value); } /** *

Parameter information for trusted public key certificate import.

*/ inline ImportKeyMaterial& WithTrustedCertificatePublicKey(const TrustedCertificatePublicKey& value) { SetTrustedCertificatePublicKey(value); return *this;} /** *

Parameter information for trusted public key certificate import.

*/ inline ImportKeyMaterial& WithTrustedCertificatePublicKey(TrustedCertificatePublicKey&& value) { SetTrustedCertificatePublicKey(std::move(value)); return *this;} private: RootCertificatePublicKey m_rootCertificatePublicKey; bool m_rootCertificatePublicKeyHasBeenSet = false; ImportTr31KeyBlock m_tr31KeyBlock; bool m_tr31KeyBlockHasBeenSet = false; ImportTr34KeyBlock m_tr34KeyBlock; bool m_tr34KeyBlockHasBeenSet = false; TrustedCertificatePublicKey m_trustedCertificatePublicKey; bool m_trustedCertificatePublicKeyHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws