/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GuardDuty { namespace Model { /** *

Contains information about the product code for the EC2 * instance.

See Also:

AWS * API Reference

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

The product code information.

*/ inline const Aws::String& GetCode() const{ return m_code; } /** *

The product code information.

*/ inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } /** *

The product code information.

*/ inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } /** *

The product code information.

*/ inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } /** *

The product code information.

*/ inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } /** *

The product code information.

*/ inline ProductCode& WithCode(const Aws::String& value) { SetCode(value); return *this;} /** *

The product code information.

*/ inline ProductCode& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} /** *

The product code information.

*/ inline ProductCode& WithCode(const char* value) { SetCode(value); return *this;} /** *

The product code type.

*/ inline const Aws::String& GetProductType() const{ return m_productType; } /** *

The product code type.

*/ inline bool ProductTypeHasBeenSet() const { return m_productTypeHasBeenSet; } /** *

The product code type.

*/ inline void SetProductType(const Aws::String& value) { m_productTypeHasBeenSet = true; m_productType = value; } /** *

The product code type.

*/ inline void SetProductType(Aws::String&& value) { m_productTypeHasBeenSet = true; m_productType = std::move(value); } /** *

The product code type.

*/ inline void SetProductType(const char* value) { m_productTypeHasBeenSet = true; m_productType.assign(value); } /** *

The product code type.

*/ inline ProductCode& WithProductType(const Aws::String& value) { SetProductType(value); return *this;} /** *

The product code type.

*/ inline ProductCode& WithProductType(Aws::String&& value) { SetProductType(std::move(value)); return *this;} /** *

The product code type.

*/ inline ProductCode& WithProductType(const char* value) { SetProductType(value); return *this;} private: Aws::String m_code; bool m_codeHasBeenSet = false; Aws::String m_productType; bool m_productTypeHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws