/** * 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 Outposts { namespace Model { /** */ class CreateOrderRequest : public OutpostsRequest { public: AWS_OUTPOSTS_API CreateOrderRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateOrder"; } AWS_OUTPOSTS_API Aws::String SerializePayload() const override; /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline const Aws::String& GetOutpostIdentifier() const{ return m_outpostIdentifier; } /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline bool OutpostIdentifierHasBeenSet() const { return m_outpostIdentifierHasBeenSet; } /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline void SetOutpostIdentifier(const Aws::String& value) { m_outpostIdentifierHasBeenSet = true; m_outpostIdentifier = value; } /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline void SetOutpostIdentifier(Aws::String&& value) { m_outpostIdentifierHasBeenSet = true; m_outpostIdentifier = std::move(value); } /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline void SetOutpostIdentifier(const char* value) { m_outpostIdentifierHasBeenSet = true; m_outpostIdentifier.assign(value); } /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline CreateOrderRequest& WithOutpostIdentifier(const Aws::String& value) { SetOutpostIdentifier(value); return *this;} /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline CreateOrderRequest& WithOutpostIdentifier(Aws::String&& value) { SetOutpostIdentifier(std::move(value)); return *this;} /** *

The ID or the Amazon Resource Name (ARN) of the Outpost.

*/ inline CreateOrderRequest& WithOutpostIdentifier(const char* value) { SetOutpostIdentifier(value); return *this;} /** *

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The line items that make up the order.

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

The payment option.

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

The payment option.

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

The payment option.

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

The payment option.

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

The payment option.

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

The payment option.

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

The payment terms.

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

The payment terms.

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

The payment terms.

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

The payment terms.

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

The payment terms.

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

The payment terms.

*/ inline CreateOrderRequest& WithPaymentTerm(PaymentTerm&& value) { SetPaymentTerm(std::move(value)); return *this;} private: Aws::String m_outpostIdentifier; bool m_outpostIdentifierHasBeenSet = false; Aws::Vector m_lineItems; bool m_lineItemsHasBeenSet = false; PaymentOption m_paymentOption; bool m_paymentOptionHasBeenSet = false; PaymentTerm m_paymentTerm; bool m_paymentTermHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws