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

Represents the metadata of an offering transaction.

See Also:

* AWS * API Reference

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

The status of an offering transaction.

*/ inline const OfferingStatus& GetOfferingStatus() const{ return m_offeringStatus; } /** *

The status of an offering transaction.

*/ inline bool OfferingStatusHasBeenSet() const { return m_offeringStatusHasBeenSet; } /** *

The status of an offering transaction.

*/ inline void SetOfferingStatus(const OfferingStatus& value) { m_offeringStatusHasBeenSet = true; m_offeringStatus = value; } /** *

The status of an offering transaction.

*/ inline void SetOfferingStatus(OfferingStatus&& value) { m_offeringStatusHasBeenSet = true; m_offeringStatus = std::move(value); } /** *

The status of an offering transaction.

*/ inline OfferingTransaction& WithOfferingStatus(const OfferingStatus& value) { SetOfferingStatus(value); return *this;} /** *

The status of an offering transaction.

*/ inline OfferingTransaction& WithOfferingStatus(OfferingStatus&& value) { SetOfferingStatus(std::move(value)); return *this;} /** *

The transaction ID of the offering transaction.

*/ inline const Aws::String& GetTransactionId() const{ return m_transactionId; } /** *

The transaction ID of the offering transaction.

*/ inline bool TransactionIdHasBeenSet() const { return m_transactionIdHasBeenSet; } /** *

The transaction ID of the offering transaction.

*/ inline void SetTransactionId(const Aws::String& value) { m_transactionIdHasBeenSet = true; m_transactionId = value; } /** *

The transaction ID of the offering transaction.

*/ inline void SetTransactionId(Aws::String&& value) { m_transactionIdHasBeenSet = true; m_transactionId = std::move(value); } /** *

The transaction ID of the offering transaction.

*/ inline void SetTransactionId(const char* value) { m_transactionIdHasBeenSet = true; m_transactionId.assign(value); } /** *

The transaction ID of the offering transaction.

*/ inline OfferingTransaction& WithTransactionId(const Aws::String& value) { SetTransactionId(value); return *this;} /** *

The transaction ID of the offering transaction.

*/ inline OfferingTransaction& WithTransactionId(Aws::String&& value) { SetTransactionId(std::move(value)); return *this;} /** *

The transaction ID of the offering transaction.

*/ inline OfferingTransaction& WithTransactionId(const char* value) { SetTransactionId(value); return *this;} /** *

The ID that corresponds to a device offering promotion.

*/ inline const Aws::String& GetOfferingPromotionId() const{ return m_offeringPromotionId; } /** *

The ID that corresponds to a device offering promotion.

*/ inline bool OfferingPromotionIdHasBeenSet() const { return m_offeringPromotionIdHasBeenSet; } /** *

The ID that corresponds to a device offering promotion.

*/ inline void SetOfferingPromotionId(const Aws::String& value) { m_offeringPromotionIdHasBeenSet = true; m_offeringPromotionId = value; } /** *

The ID that corresponds to a device offering promotion.

*/ inline void SetOfferingPromotionId(Aws::String&& value) { m_offeringPromotionIdHasBeenSet = true; m_offeringPromotionId = std::move(value); } /** *

The ID that corresponds to a device offering promotion.

*/ inline void SetOfferingPromotionId(const char* value) { m_offeringPromotionIdHasBeenSet = true; m_offeringPromotionId.assign(value); } /** *

The ID that corresponds to a device offering promotion.

*/ inline OfferingTransaction& WithOfferingPromotionId(const Aws::String& value) { SetOfferingPromotionId(value); return *this;} /** *

The ID that corresponds to a device offering promotion.

*/ inline OfferingTransaction& WithOfferingPromotionId(Aws::String&& value) { SetOfferingPromotionId(std::move(value)); return *this;} /** *

The ID that corresponds to a device offering promotion.

*/ inline OfferingTransaction& WithOfferingPromotionId(const char* value) { SetOfferingPromotionId(value); return *this;} /** *

The date on which an offering transaction was created.

*/ inline const Aws::Utils::DateTime& GetCreatedOn() const{ return m_createdOn; } /** *

The date on which an offering transaction was created.

*/ inline bool CreatedOnHasBeenSet() const { return m_createdOnHasBeenSet; } /** *

The date on which an offering transaction was created.

*/ inline void SetCreatedOn(const Aws::Utils::DateTime& value) { m_createdOnHasBeenSet = true; m_createdOn = value; } /** *

The date on which an offering transaction was created.

*/ inline void SetCreatedOn(Aws::Utils::DateTime&& value) { m_createdOnHasBeenSet = true; m_createdOn = std::move(value); } /** *

The date on which an offering transaction was created.

*/ inline OfferingTransaction& WithCreatedOn(const Aws::Utils::DateTime& value) { SetCreatedOn(value); return *this;} /** *

The date on which an offering transaction was created.

*/ inline OfferingTransaction& WithCreatedOn(Aws::Utils::DateTime&& value) { SetCreatedOn(std::move(value)); return *this;} /** *

The cost of an offering transaction.

*/ inline const MonetaryAmount& GetCost() const{ return m_cost; } /** *

The cost of an offering transaction.

*/ inline bool CostHasBeenSet() const { return m_costHasBeenSet; } /** *

The cost of an offering transaction.

*/ inline void SetCost(const MonetaryAmount& value) { m_costHasBeenSet = true; m_cost = value; } /** *

The cost of an offering transaction.

*/ inline void SetCost(MonetaryAmount&& value) { m_costHasBeenSet = true; m_cost = std::move(value); } /** *

The cost of an offering transaction.

*/ inline OfferingTransaction& WithCost(const MonetaryAmount& value) { SetCost(value); return *this;} /** *

The cost of an offering transaction.

*/ inline OfferingTransaction& WithCost(MonetaryAmount&& value) { SetCost(std::move(value)); return *this;} private: OfferingStatus m_offeringStatus; bool m_offeringStatusHasBeenSet = false; Aws::String m_transactionId; bool m_transactionIdHasBeenSet = false; Aws::String m_offeringPromotionId; bool m_offeringPromotionIdHasBeenSet = false; Aws::Utils::DateTime m_createdOn; bool m_createdOnHasBeenSet = false; MonetaryAmount m_cost; bool m_costHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws