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

Represents an operation to perform - either DeleteItem or * PutItem. You can only request one of these operations, not both, in * a single WriteRequest. If you do need to perform both of these * operations, you need to provide two separate WriteRequest * objects.

See Also:

AWS * API Reference

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

A request to perform a PutItem operation.

*/ inline const PutRequest& GetPutRequest() const{ return m_putRequest; } /** *

A request to perform a PutItem operation.

*/ inline bool PutRequestHasBeenSet() const { return m_putRequestHasBeenSet; } /** *

A request to perform a PutItem operation.

*/ inline void SetPutRequest(const PutRequest& value) { m_putRequestHasBeenSet = true; m_putRequest = value; } /** *

A request to perform a PutItem operation.

*/ inline void SetPutRequest(PutRequest&& value) { m_putRequestHasBeenSet = true; m_putRequest = std::move(value); } /** *

A request to perform a PutItem operation.

*/ inline WriteRequest& WithPutRequest(const PutRequest& value) { SetPutRequest(value); return *this;} /** *

A request to perform a PutItem operation.

*/ inline WriteRequest& WithPutRequest(PutRequest&& value) { SetPutRequest(std::move(value)); return *this;} /** *

A request to perform a DeleteItem operation.

*/ inline const DeleteRequest& GetDeleteRequest() const{ return m_deleteRequest; } /** *

A request to perform a DeleteItem operation.

*/ inline bool DeleteRequestHasBeenSet() const { return m_deleteRequestHasBeenSet; } /** *

A request to perform a DeleteItem operation.

*/ inline void SetDeleteRequest(const DeleteRequest& value) { m_deleteRequestHasBeenSet = true; m_deleteRequest = value; } /** *

A request to perform a DeleteItem operation.

*/ inline void SetDeleteRequest(DeleteRequest&& value) { m_deleteRequestHasBeenSet = true; m_deleteRequest = std::move(value); } /** *

A request to perform a DeleteItem operation.

*/ inline WriteRequest& WithDeleteRequest(const DeleteRequest& value) { SetDeleteRequest(value); return *this;} /** *

A request to perform a DeleteItem operation.

*/ inline WriteRequest& WithDeleteRequest(DeleteRequest&& value) { SetDeleteRequest(std::move(value)); return *this;} private: PutRequest m_putRequest; bool m_putRequestHasBeenSet = false; DeleteRequest m_deleteRequest; bool m_deleteRequestHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws