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

Information about an order.

See Also:

AWS API * Reference

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

The ID of the Outpost in the order.

*/ inline const Aws::String& GetOutpostId() const{ return m_outpostId; } /** *

The ID of the Outpost in the order.

*/ inline bool OutpostIdHasBeenSet() const { return m_outpostIdHasBeenSet; } /** *

The ID of the Outpost in the order.

*/ inline void SetOutpostId(const Aws::String& value) { m_outpostIdHasBeenSet = true; m_outpostId = value; } /** *

The ID of the Outpost in the order.

*/ inline void SetOutpostId(Aws::String&& value) { m_outpostIdHasBeenSet = true; m_outpostId = std::move(value); } /** *

The ID of the Outpost in the order.

*/ inline void SetOutpostId(const char* value) { m_outpostIdHasBeenSet = true; m_outpostId.assign(value); } /** *

The ID of the Outpost in the order.

*/ inline Order& WithOutpostId(const Aws::String& value) { SetOutpostId(value); return *this;} /** *

The ID of the Outpost in the order.

*/ inline Order& WithOutpostId(Aws::String&& value) { SetOutpostId(std::move(value)); return *this;} /** *

The ID of the Outpost in the order.

*/ inline Order& WithOutpostId(const char* value) { SetOutpostId(value); return *this;} /** *

The ID of the order.

*/ inline const Aws::String& GetOrderId() const{ return m_orderId; } /** *

The ID of the order.

*/ inline bool OrderIdHasBeenSet() const { return m_orderIdHasBeenSet; } /** *

The ID of the order.

*/ inline void SetOrderId(const Aws::String& value) { m_orderIdHasBeenSet = true; m_orderId = value; } /** *

The ID of the order.

*/ inline void SetOrderId(Aws::String&& value) { m_orderIdHasBeenSet = true; m_orderId = std::move(value); } /** *

The ID of the order.

*/ inline void SetOrderId(const char* value) { m_orderIdHasBeenSet = true; m_orderId.assign(value); } /** *

The ID of the order.

*/ inline Order& WithOrderId(const Aws::String& value) { SetOrderId(value); return *this;} /** *

The ID of the order.

*/ inline Order& WithOrderId(Aws::String&& value) { SetOrderId(std::move(value)); return *this;} /** *

The ID of the order.

*/ inline Order& WithOrderId(const char* value) { SetOrderId(value); return *this;} /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline const OrderStatus& GetStatus() const{ return m_status; } /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline void SetStatus(const OrderStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline void SetStatus(OrderStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline Order& WithStatus(const OrderStatus& value) { SetStatus(value); return *this;} /** *

The status of the order.

  • PREPARING - Order is * received and being prepared.

  • IN_PROGRESS - Order * is either being built, shipped, or installed. To get more details, see the line * item status.

  • COMPLETED - Order is complete.

    *
  • CANCELLED - Order is cancelled.

  • * ERROR - Customer should contact support.

*

The following status are deprecated: RECEIVED, * PENDING, PROCESSING, INSTALLING, and * FULFILLED.

*/ inline Order& WithStatus(OrderStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The line items for the order

*/ inline const Aws::Vector& GetLineItems() const{ return m_lineItems; } /** *

The line items for the order

*/ inline bool LineItemsHasBeenSet() const { return m_lineItemsHasBeenSet; } /** *

The line items for the order

*/ inline void SetLineItems(const Aws::Vector& value) { m_lineItemsHasBeenSet = true; m_lineItems = value; } /** *

The line items for the order

*/ inline void SetLineItems(Aws::Vector&& value) { m_lineItemsHasBeenSet = true; m_lineItems = std::move(value); } /** *

The line items for the order

*/ inline Order& WithLineItems(const Aws::Vector& value) { SetLineItems(value); return *this;} /** *

The line items for the order

*/ inline Order& WithLineItems(Aws::Vector&& value) { SetLineItems(std::move(value)); return *this;} /** *

The line items for the order

*/ inline Order& AddLineItems(const LineItem& value) { m_lineItemsHasBeenSet = true; m_lineItems.push_back(value); return *this; } /** *

The line items for the order

*/ inline Order& AddLineItems(LineItem&& value) { m_lineItemsHasBeenSet = true; m_lineItems.push_back(std::move(value)); return *this; } /** *

The payment option for the order.

*/ inline const PaymentOption& GetPaymentOption() const{ return m_paymentOption; } /** *

The payment option for the order.

*/ inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } /** *

The payment option for the order.

*/ inline void SetPaymentOption(const PaymentOption& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } /** *

The payment option for the order.

*/ inline void SetPaymentOption(PaymentOption&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } /** *

The payment option for the order.

*/ inline Order& WithPaymentOption(const PaymentOption& value) { SetPaymentOption(value); return *this;} /** *

The payment option for the order.

*/ inline Order& WithPaymentOption(PaymentOption&& value) { SetPaymentOption(std::move(value)); return *this;} /** *

The submission date for the order.

*/ inline const Aws::Utils::DateTime& GetOrderSubmissionDate() const{ return m_orderSubmissionDate; } /** *

The submission date for the order.

*/ inline bool OrderSubmissionDateHasBeenSet() const { return m_orderSubmissionDateHasBeenSet; } /** *

The submission date for the order.

*/ inline void SetOrderSubmissionDate(const Aws::Utils::DateTime& value) { m_orderSubmissionDateHasBeenSet = true; m_orderSubmissionDate = value; } /** *

The submission date for the order.

*/ inline void SetOrderSubmissionDate(Aws::Utils::DateTime&& value) { m_orderSubmissionDateHasBeenSet = true; m_orderSubmissionDate = std::move(value); } /** *

The submission date for the order.

*/ inline Order& WithOrderSubmissionDate(const Aws::Utils::DateTime& value) { SetOrderSubmissionDate(value); return *this;} /** *

The submission date for the order.

*/ inline Order& WithOrderSubmissionDate(Aws::Utils::DateTime&& value) { SetOrderSubmissionDate(std::move(value)); return *this;} /** *

The fulfillment date of the order.

*/ inline const Aws::Utils::DateTime& GetOrderFulfilledDate() const{ return m_orderFulfilledDate; } /** *

The fulfillment date of the order.

*/ inline bool OrderFulfilledDateHasBeenSet() const { return m_orderFulfilledDateHasBeenSet; } /** *

The fulfillment date of the order.

*/ inline void SetOrderFulfilledDate(const Aws::Utils::DateTime& value) { m_orderFulfilledDateHasBeenSet = true; m_orderFulfilledDate = value; } /** *

The fulfillment date of the order.

*/ inline void SetOrderFulfilledDate(Aws::Utils::DateTime&& value) { m_orderFulfilledDateHasBeenSet = true; m_orderFulfilledDate = std::move(value); } /** *

The fulfillment date of the order.

*/ inline Order& WithOrderFulfilledDate(const Aws::Utils::DateTime& value) { SetOrderFulfilledDate(value); return *this;} /** *

The fulfillment date of the order.

*/ inline Order& WithOrderFulfilledDate(Aws::Utils::DateTime&& value) { SetOrderFulfilledDate(std::move(value)); return *this;} /** *

The payment term.

*/ inline const PaymentTerm& GetPaymentTerm() const{ return m_paymentTerm; } /** *

The payment term.

*/ inline bool PaymentTermHasBeenSet() const { return m_paymentTermHasBeenSet; } /** *

The payment term.

*/ inline void SetPaymentTerm(const PaymentTerm& value) { m_paymentTermHasBeenSet = true; m_paymentTerm = value; } /** *

The payment term.

*/ inline void SetPaymentTerm(PaymentTerm&& value) { m_paymentTermHasBeenSet = true; m_paymentTerm = std::move(value); } /** *

The payment term.

*/ inline Order& WithPaymentTerm(const PaymentTerm& value) { SetPaymentTerm(value); return *this;} /** *

The payment term.

*/ inline Order& WithPaymentTerm(PaymentTerm&& value) { SetPaymentTerm(std::move(value)); return *this;} /** *

Type of order.

*/ inline const OrderType& GetOrderType() const{ return m_orderType; } /** *

Type of order.

*/ inline bool OrderTypeHasBeenSet() const { return m_orderTypeHasBeenSet; } /** *

Type of order.

*/ inline void SetOrderType(const OrderType& value) { m_orderTypeHasBeenSet = true; m_orderType = value; } /** *

Type of order.

*/ inline void SetOrderType(OrderType&& value) { m_orderTypeHasBeenSet = true; m_orderType = std::move(value); } /** *

Type of order.

*/ inline Order& WithOrderType(const OrderType& value) { SetOrderType(value); return *this;} /** *

Type of order.

*/ inline Order& WithOrderType(OrderType&& value) { SetOrderType(std::move(value)); return *this;} private: Aws::String m_outpostId; bool m_outpostIdHasBeenSet = false; Aws::String m_orderId; bool m_orderIdHasBeenSet = false; OrderStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_lineItems; bool m_lineItemsHasBeenSet = false; PaymentOption m_paymentOption; bool m_paymentOptionHasBeenSet = false; Aws::Utils::DateTime m_orderSubmissionDate; bool m_orderSubmissionDateHasBeenSet = false; Aws::Utils::DateTime m_orderFulfilledDate; bool m_orderFulfilledDateHasBeenSet = false; PaymentTerm m_paymentTerm; bool m_paymentTermHasBeenSet = false; OrderType m_orderType; bool m_orderTypeHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws