/** * 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 generating a wrapped key using TR-31 or TR-34 * standard.

See Also:

AWS * API Reference

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

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline const Aws::String& GetKeyMaterial() const{ return m_keyMaterial; } /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline bool KeyMaterialHasBeenSet() const { return m_keyMaterialHasBeenSet; } /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline void SetKeyMaterial(const Aws::String& value) { m_keyMaterialHasBeenSet = true; m_keyMaterial = value; } /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline void SetKeyMaterial(Aws::String&& value) { m_keyMaterialHasBeenSet = true; m_keyMaterial = std::move(value); } /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline void SetKeyMaterial(const char* value) { m_keyMaterialHasBeenSet = true; m_keyMaterial.assign(value); } /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline WrappedKey& WithKeyMaterial(const Aws::String& value) { SetKeyMaterial(value); return *this;} /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline WrappedKey& WithKeyMaterial(Aws::String&& value) { SetKeyMaterial(std::move(value)); return *this;} /** *

Parameter information for generating a wrapped key using TR-31 or TR-34 * standard.

*/ inline WrappedKey& WithKeyMaterial(const char* value) { SetKeyMaterial(value); return *this;} /** *

The key block format of a wrapped key.

*/ inline const WrappedKeyMaterialFormat& GetWrappedKeyMaterialFormat() const{ return m_wrappedKeyMaterialFormat; } /** *

The key block format of a wrapped key.

*/ inline bool WrappedKeyMaterialFormatHasBeenSet() const { return m_wrappedKeyMaterialFormatHasBeenSet; } /** *

The key block format of a wrapped key.

*/ inline void SetWrappedKeyMaterialFormat(const WrappedKeyMaterialFormat& value) { m_wrappedKeyMaterialFormatHasBeenSet = true; m_wrappedKeyMaterialFormat = value; } /** *

The key block format of a wrapped key.

*/ inline void SetWrappedKeyMaterialFormat(WrappedKeyMaterialFormat&& value) { m_wrappedKeyMaterialFormatHasBeenSet = true; m_wrappedKeyMaterialFormat = std::move(value); } /** *

The key block format of a wrapped key.

*/ inline WrappedKey& WithWrappedKeyMaterialFormat(const WrappedKeyMaterialFormat& value) { SetWrappedKeyMaterialFormat(value); return *this;} /** *

The key block format of a wrapped key.

*/ inline WrappedKey& WithWrappedKeyMaterialFormat(WrappedKeyMaterialFormat&& value) { SetWrappedKeyMaterialFormat(std::move(value)); return *this;} /** *

The KeyARN of the wrapped key.

*/ inline const Aws::String& GetWrappingKeyArn() const{ return m_wrappingKeyArn; } /** *

The KeyARN of the wrapped key.

*/ inline bool WrappingKeyArnHasBeenSet() const { return m_wrappingKeyArnHasBeenSet; } /** *

The KeyARN of the wrapped key.

*/ inline void SetWrappingKeyArn(const Aws::String& value) { m_wrappingKeyArnHasBeenSet = true; m_wrappingKeyArn = value; } /** *

The KeyARN of the wrapped key.

*/ inline void SetWrappingKeyArn(Aws::String&& value) { m_wrappingKeyArnHasBeenSet = true; m_wrappingKeyArn = std::move(value); } /** *

The KeyARN of the wrapped key.

*/ inline void SetWrappingKeyArn(const char* value) { m_wrappingKeyArnHasBeenSet = true; m_wrappingKeyArn.assign(value); } /** *

The KeyARN of the wrapped key.

*/ inline WrappedKey& WithWrappingKeyArn(const Aws::String& value) { SetWrappingKeyArn(value); return *this;} /** *

The KeyARN of the wrapped key.

*/ inline WrappedKey& WithWrappingKeyArn(Aws::String&& value) { SetWrappingKeyArn(std::move(value)); return *this;} /** *

The KeyARN of the wrapped key.

*/ inline WrappedKey& WithWrappingKeyArn(const char* value) { SetWrappingKeyArn(value); return *this;} private: Aws::String m_keyMaterial; bool m_keyMaterialHasBeenSet = false; WrappedKeyMaterialFormat m_wrappedKeyMaterialFormat; bool m_wrappedKeyMaterialFormatHasBeenSet = false; Aws::String m_wrappingKeyArn; bool m_wrappingKeyArnHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptography } // namespace Aws