/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The role of the key, the algorithm it supports, and the cryptographic
* operations allowed with the key. This data is immutable after the key is
* created.See Also:
AWS
* API Reference
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The key algorithm to be use during creation of an Amazon Web Services Payment * Cryptography key.
For symmetric keys, Amazon Web Services Payment
* Cryptography supports AES
and TDES
algorithms. For
* asymmetric keys, Amazon Web Services Payment Cryptography supports
* RSA
and ECC_NIST
algorithms.
The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline const KeyClass& GetKeyClass() const{ return m_keyClass; } /** *The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline bool KeyClassHasBeenSet() const { return m_keyClassHasBeenSet; } /** *The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline void SetKeyClass(const KeyClass& value) { m_keyClassHasBeenSet = true; m_keyClass = value; } /** *The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline void SetKeyClass(KeyClass&& value) { m_keyClassHasBeenSet = true; m_keyClass = std::move(value); } /** *The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline KeyAttributes& WithKeyClass(const KeyClass& value) { SetKeyClass(value); return *this;} /** *The type of Amazon Web Services Payment Cryptography key to create, which * determines the classification of the cryptographic method and whether Amazon Web * Services Payment Cryptography key contains a symmetric key or an asymmetric key * pair.
*/ inline KeyAttributes& WithKeyClass(KeyClass&& value) { SetKeyClass(std::move(value)); return *this;} /** *The list of cryptographic operations that you can perform using the key.
*/ inline const KeyModesOfUse& GetKeyModesOfUse() const{ return m_keyModesOfUse; } /** *The list of cryptographic operations that you can perform using the key.
*/ inline bool KeyModesOfUseHasBeenSet() const { return m_keyModesOfUseHasBeenSet; } /** *The list of cryptographic operations that you can perform using the key.
*/ inline void SetKeyModesOfUse(const KeyModesOfUse& value) { m_keyModesOfUseHasBeenSet = true; m_keyModesOfUse = value; } /** *The list of cryptographic operations that you can perform using the key.
*/ inline void SetKeyModesOfUse(KeyModesOfUse&& value) { m_keyModesOfUseHasBeenSet = true; m_keyModesOfUse = std::move(value); } /** *The list of cryptographic operations that you can perform using the key.
*/ inline KeyAttributes& WithKeyModesOfUse(const KeyModesOfUse& value) { SetKeyModesOfUse(value); return *this;} /** *The list of cryptographic operations that you can perform using the key.
*/ inline KeyAttributes& WithKeyModesOfUse(KeyModesOfUse&& value) { SetKeyModesOfUse(std::move(value)); return *this;} /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline const KeyUsage& GetKeyUsage() const{ return m_keyUsage; } /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline bool KeyUsageHasBeenSet() const { return m_keyUsageHasBeenSet; } /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline void SetKeyUsage(const KeyUsage& value) { m_keyUsageHasBeenSet = true; m_keyUsage = value; } /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline void SetKeyUsage(KeyUsage&& value) { m_keyUsageHasBeenSet = true; m_keyUsage = std::move(value); } /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline KeyAttributes& WithKeyUsage(const KeyUsage& value) { SetKeyUsage(value); return *this;} /** *The cryptographic usage of an Amazon Web Services Payment Cryptography key as * defined in section A.5.2 of the TR-31 spec.
*/ inline KeyAttributes& WithKeyUsage(KeyUsage&& value) { SetKeyUsage(std::move(value)); return *this;} private: KeyAlgorithm m_keyAlgorithm; bool m_keyAlgorithmHasBeenSet = false; KeyClass m_keyClass; bool m_keyClassHasBeenSet = false; KeyModesOfUse m_keyModesOfUse; bool m_keyModesOfUseHasBeenSet = false; KeyUsage m_keyUsage; bool m_keyUsageHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws