/**
* 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