/** * 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 key material export using TR-34 * standard.

See Also:

AWS * API Reference

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

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline const Aws::String& GetCertificateAuthorityPublicKeyIdentifier() const{ return m_certificateAuthorityPublicKeyIdentifier; } /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline bool CertificateAuthorityPublicKeyIdentifierHasBeenSet() const { return m_certificateAuthorityPublicKeyIdentifierHasBeenSet; } /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline void SetCertificateAuthorityPublicKeyIdentifier(const Aws::String& value) { m_certificateAuthorityPublicKeyIdentifierHasBeenSet = true; m_certificateAuthorityPublicKeyIdentifier = value; } /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline void SetCertificateAuthorityPublicKeyIdentifier(Aws::String&& value) { m_certificateAuthorityPublicKeyIdentifierHasBeenSet = true; m_certificateAuthorityPublicKeyIdentifier = std::move(value); } /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline void SetCertificateAuthorityPublicKeyIdentifier(const char* value) { m_certificateAuthorityPublicKeyIdentifierHasBeenSet = true; m_certificateAuthorityPublicKeyIdentifier.assign(value); } /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline ExportTr34KeyBlock& WithCertificateAuthorityPublicKeyIdentifier(const Aws::String& value) { SetCertificateAuthorityPublicKeyIdentifier(value); return *this;} /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline ExportTr34KeyBlock& WithCertificateAuthorityPublicKeyIdentifier(Aws::String&& value) { SetCertificateAuthorityPublicKeyIdentifier(std::move(value)); return *this;} /** *

The KeyARN of the certificate chain that signs the wrapping key * certificate during TR-34 key export.

*/ inline ExportTr34KeyBlock& WithCertificateAuthorityPublicKeyIdentifier(const char* value) { SetCertificateAuthorityPublicKeyIdentifier(value); return *this;} /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline const Aws::String& GetExportToken() const{ return m_exportToken; } /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline bool ExportTokenHasBeenSet() const { return m_exportTokenHasBeenSet; } /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline void SetExportToken(const Aws::String& value) { m_exportTokenHasBeenSet = true; m_exportToken = value; } /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline void SetExportToken(Aws::String&& value) { m_exportTokenHasBeenSet = true; m_exportToken = std::move(value); } /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline void SetExportToken(const char* value) { m_exportTokenHasBeenSet = true; m_exportToken.assign(value); } /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline ExportTr34KeyBlock& WithExportToken(const Aws::String& value) { SetExportToken(value); return *this;} /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline ExportTr34KeyBlock& WithExportToken(Aws::String&& value) { SetExportToken(std::move(value)); return *this;} /** *

The export token to initiate key export from Amazon Web Services Payment * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call * GetParametersForExport to receive an export token. It expires after 7 * days. You can use the same export token to export multiple keys from the same * service account.

*/ inline ExportTr34KeyBlock& WithExportToken(const char* value) { SetExportToken(value); return *this;} /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline const Tr34KeyBlockFormat& GetKeyBlockFormat() const{ return m_keyBlockFormat; } /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline bool KeyBlockFormatHasBeenSet() const { return m_keyBlockFormatHasBeenSet; } /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline void SetKeyBlockFormat(const Tr34KeyBlockFormat& value) { m_keyBlockFormatHasBeenSet = true; m_keyBlockFormat = value; } /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline void SetKeyBlockFormat(Tr34KeyBlockFormat&& value) { m_keyBlockFormatHasBeenSet = true; m_keyBlockFormat = std::move(value); } /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline ExportTr34KeyBlock& WithKeyBlockFormat(const Tr34KeyBlockFormat& value) { SetKeyBlockFormat(value); return *this;} /** *

The format of key block that Amazon Web Services Payment Cryptography will * use during key export.

*/ inline ExportTr34KeyBlock& WithKeyBlockFormat(Tr34KeyBlockFormat&& value) { SetKeyBlockFormat(std::move(value)); return *this;} /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline const Aws::String& GetRandomNonce() const{ return m_randomNonce; } /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline bool RandomNonceHasBeenSet() const { return m_randomNonceHasBeenSet; } /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline void SetRandomNonce(const Aws::String& value) { m_randomNonceHasBeenSet = true; m_randomNonce = value; } /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline void SetRandomNonce(Aws::String&& value) { m_randomNonceHasBeenSet = true; m_randomNonce = std::move(value); } /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline void SetRandomNonce(const char* value) { m_randomNonceHasBeenSet = true; m_randomNonce.assign(value); } /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline ExportTr34KeyBlock& WithRandomNonce(const Aws::String& value) { SetRandomNonce(value); return *this;} /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline ExportTr34KeyBlock& WithRandomNonce(Aws::String&& value) { SetRandomNonce(std::move(value)); return *this;} /** *

A random number value that is unique to the TR-34 key block generated using 2 * pass. The operation will fail, if a random nonce value is not provided for a * TR-34 key block generated using 2 pass.

*/ inline ExportTr34KeyBlock& WithRandomNonce(const char* value) { SetRandomNonce(value); return *this;} /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline const Aws::String& GetWrappingKeyCertificate() const{ return m_wrappingKeyCertificate; } /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline bool WrappingKeyCertificateHasBeenSet() const { return m_wrappingKeyCertificateHasBeenSet; } /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline void SetWrappingKeyCertificate(const Aws::String& value) { m_wrappingKeyCertificateHasBeenSet = true; m_wrappingKeyCertificate = value; } /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline void SetWrappingKeyCertificate(Aws::String&& value) { m_wrappingKeyCertificateHasBeenSet = true; m_wrappingKeyCertificate = std::move(value); } /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline void SetWrappingKeyCertificate(const char* value) { m_wrappingKeyCertificateHasBeenSet = true; m_wrappingKeyCertificate.assign(value); } /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline ExportTr34KeyBlock& WithWrappingKeyCertificate(const Aws::String& value) { SetWrappingKeyCertificate(value); return *this;} /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline ExportTr34KeyBlock& WithWrappingKeyCertificate(Aws::String&& value) { SetWrappingKeyCertificate(std::move(value)); return *this;} /** *

The KeyARN of the wrapping key certificate. Amazon Web Services * Payment Cryptography uses this certificate to wrap the key under export.

*/ inline ExportTr34KeyBlock& WithWrappingKeyCertificate(const char* value) { SetWrappingKeyCertificate(value); return *this;} private: Aws::String m_certificateAuthorityPublicKeyIdentifier; bool m_certificateAuthorityPublicKeyIdentifierHasBeenSet = false; Aws::String m_exportToken; bool m_exportTokenHasBeenSet = false; Tr34KeyBlockFormat m_keyBlockFormat; bool m_keyBlockFormatHasBeenSet = false; Aws::String m_randomNonce; bool m_randomNonceHasBeenSet = false; Aws::String m_wrappingKeyCertificate; bool m_wrappingKeyCertificateHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws