/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Outposts { namespace Model { /** *

A summary of line items in your order.

See Also:

AWS * API Reference

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

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

The ID of the Outpost.

*/ inline OrderSummary& 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 OrderSummary& WithOrderId(const Aws::String& value) { SetOrderId(value); return *this;} /** *

The ID of the order.

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

The ID of the order.

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

The type of order.

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

The type of order.

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

The type of order.

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

The type of order.

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

The type of order.

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

The type of order.

*/ inline OrderSummary& WithOrderType(OrderType&& value) { SetOrderType(std::move(value)); return *this;} /** *

The status of the order.

  • PREPARING - Order is * received and is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

The following statuses 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 is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

The following statuses 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 is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

The following statuses 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 is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

The following statuses 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 is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

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

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

The status of the order.

  • PREPARING - Order is * received and is being prepared.

  • IN_PROGRESS - * Order is either being built, shipped, or installed. For more information, see * the LineItem status.

  • COMPLETED - * Order is complete.

  • CANCELLED - Order is * cancelled.

  • ERROR - Customer should contact * support.

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

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

The status of all line items in the order.

*/ inline const Aws::Map& GetLineItemCountsByStatus() const{ return m_lineItemCountsByStatus; } /** *

The status of all line items in the order.

*/ inline bool LineItemCountsByStatusHasBeenSet() const { return m_lineItemCountsByStatusHasBeenSet; } /** *

The status of all line items in the order.

*/ inline void SetLineItemCountsByStatus(const Aws::Map& value) { m_lineItemCountsByStatusHasBeenSet = true; m_lineItemCountsByStatus = value; } /** *

The status of all line items in the order.

*/ inline void SetLineItemCountsByStatus(Aws::Map&& value) { m_lineItemCountsByStatusHasBeenSet = true; m_lineItemCountsByStatus = std::move(value); } /** *

The status of all line items in the order.

*/ inline OrderSummary& WithLineItemCountsByStatus(const Aws::Map& value) { SetLineItemCountsByStatus(value); return *this;} /** *

The status of all line items in the order.

*/ inline OrderSummary& WithLineItemCountsByStatus(Aws::Map&& value) { SetLineItemCountsByStatus(std::move(value)); return *this;} /** *

The status of all line items in the order.

*/ inline OrderSummary& AddLineItemCountsByStatus(const LineItemStatus& key, int value) { m_lineItemCountsByStatusHasBeenSet = true; m_lineItemCountsByStatus.emplace(key, value); return *this; } /** *

The status of all line items in the order.

*/ inline OrderSummary& AddLineItemCountsByStatus(LineItemStatus&& key, int value) { m_lineItemCountsByStatusHasBeenSet = true; m_lineItemCountsByStatus.emplace(std::move(key), 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 OrderSummary& WithOrderSubmissionDate(const Aws::Utils::DateTime& value) { SetOrderSubmissionDate(value); return *this;} /** *

The submission date for the order.

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

The fulfilment date for the order.

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

The fulfilment date for the order.

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

The fulfilment date for the order.

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

The fulfilment date for the order.

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

The fulfilment date for the order.

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

The fulfilment date for the order.

*/ inline OrderSummary& WithOrderFulfilledDate(Aws::Utils::DateTime&& value) { SetOrderFulfilledDate(std::move(value)); return *this;} private: Aws::String m_outpostId; bool m_outpostIdHasBeenSet = false; Aws::String m_orderId; bool m_orderIdHasBeenSet = false; OrderType m_orderType; bool m_orderTypeHasBeenSet = false; OrderStatus m_status; bool m_statusHasBeenSet = false; Aws::Map m_lineItemCountsByStatus; bool m_lineItemCountsByStatusHasBeenSet = false; Aws::Utils::DateTime m_orderSubmissionDate; bool m_orderSubmissionDateHasBeenSet = false; Aws::Utils::DateTime m_orderFulfilledDate; bool m_orderFulfilledDateHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws