/** * 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 LakeFormation { namespace Model { /** *

Defines an object to add to or delete from a governed table.

See * Also:

AWS * API Reference

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

A new object to add to the governed table.

*/ inline const AddObjectInput& GetAddObject() const{ return m_addObject; } /** *

A new object to add to the governed table.

*/ inline bool AddObjectHasBeenSet() const { return m_addObjectHasBeenSet; } /** *

A new object to add to the governed table.

*/ inline void SetAddObject(const AddObjectInput& value) { m_addObjectHasBeenSet = true; m_addObject = value; } /** *

A new object to add to the governed table.

*/ inline void SetAddObject(AddObjectInput&& value) { m_addObjectHasBeenSet = true; m_addObject = std::move(value); } /** *

A new object to add to the governed table.

*/ inline WriteOperation& WithAddObject(const AddObjectInput& value) { SetAddObject(value); return *this;} /** *

A new object to add to the governed table.

*/ inline WriteOperation& WithAddObject(AddObjectInput&& value) { SetAddObject(std::move(value)); return *this;} /** *

An object to delete from the governed table.

*/ inline const DeleteObjectInput& GetDeleteObject() const{ return m_deleteObject; } /** *

An object to delete from the governed table.

*/ inline bool DeleteObjectHasBeenSet() const { return m_deleteObjectHasBeenSet; } /** *

An object to delete from the governed table.

*/ inline void SetDeleteObject(const DeleteObjectInput& value) { m_deleteObjectHasBeenSet = true; m_deleteObject = value; } /** *

An object to delete from the governed table.

*/ inline void SetDeleteObject(DeleteObjectInput&& value) { m_deleteObjectHasBeenSet = true; m_deleteObject = std::move(value); } /** *

An object to delete from the governed table.

*/ inline WriteOperation& WithDeleteObject(const DeleteObjectInput& value) { SetDeleteObject(value); return *this;} /** *

An object to delete from the governed table.

*/ inline WriteOperation& WithDeleteObject(DeleteObjectInput&& value) { SetDeleteObject(std::move(value)); return *this;} private: AddObjectInput m_addObject; bool m_addObjectHasBeenSet = false; DeleteObjectInput m_deleteObject; bool m_deleteObjectHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws