/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace PaymentCryptography { namespace Model { /** */ class GetParametersForImportRequest : public PaymentCryptographyRequest { public: AWS_PAYMENTCRYPTOGRAPHY_API GetParametersForImportRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetParametersForImport"; } AWS_PAYMENTCRYPTOGRAPHY_API Aws::String SerializePayload() const override; AWS_PAYMENTCRYPTOGRAPHY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline const KeyMaterialType& GetKeyMaterialType() const{ return m_keyMaterialType; } /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline bool KeyMaterialTypeHasBeenSet() const { return m_keyMaterialTypeHasBeenSet; } /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline void SetKeyMaterialType(const KeyMaterialType& value) { m_keyMaterialTypeHasBeenSet = true; m_keyMaterialType = value; } /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline void SetKeyMaterialType(KeyMaterialType&& value) { m_keyMaterialTypeHasBeenSet = true; m_keyMaterialType = std::move(value); } /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline GetParametersForImportRequest& WithKeyMaterialType(const KeyMaterialType& value) { SetKeyMaterialType(value); return *this;} /** *

The key block format type such as TR-34 or TR-31 to use during key material * import. Import token is only required for TR-34 key import * TR34_KEY_BLOCK. Import token is not required for TR-31 key * import.

*/ inline GetParametersForImportRequest& WithKeyMaterialType(KeyMaterialType&& value) { SetKeyMaterialType(std::move(value)); return *this;} /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline const KeyAlgorithm& GetWrappingKeyAlgorithm() const{ return m_wrappingKeyAlgorithm; } /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline bool WrappingKeyAlgorithmHasBeenSet() const { return m_wrappingKeyAlgorithmHasBeenSet; } /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline void SetWrappingKeyAlgorithm(const KeyAlgorithm& value) { m_wrappingKeyAlgorithmHasBeenSet = true; m_wrappingKeyAlgorithm = value; } /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline void SetWrappingKeyAlgorithm(KeyAlgorithm&& value) { m_wrappingKeyAlgorithmHasBeenSet = true; m_wrappingKeyAlgorithm = std::move(value); } /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline GetParametersForImportRequest& WithWrappingKeyAlgorithm(const KeyAlgorithm& value) { SetWrappingKeyAlgorithm(value); return *this;} /** *

The wrapping key algorithm to generate a wrapping key certificate. This * certificate wraps the key under import within the TR-34 key block cryptogram. * RSA_2048 is the only wrapping key algorithm allowed.

*/ inline GetParametersForImportRequest& WithWrappingKeyAlgorithm(KeyAlgorithm&& value) { SetWrappingKeyAlgorithm(std::move(value)); return *this;} private: KeyMaterialType m_keyMaterialType; bool m_keyMaterialTypeHasBeenSet = false; KeyAlgorithm m_wrappingKeyAlgorithm; bool m_wrappingKeyAlgorithmHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws