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

The action to take on the object attribute.

See Also:

AWS * API Reference

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

A type that can be either Update or Delete.

*/ inline const UpdateActionType& GetObjectAttributeActionType() const{ return m_objectAttributeActionType; } /** *

A type that can be either Update or Delete.

*/ inline bool ObjectAttributeActionTypeHasBeenSet() const { return m_objectAttributeActionTypeHasBeenSet; } /** *

A type that can be either Update or Delete.

*/ inline void SetObjectAttributeActionType(const UpdateActionType& value) { m_objectAttributeActionTypeHasBeenSet = true; m_objectAttributeActionType = value; } /** *

A type that can be either Update or Delete.

*/ inline void SetObjectAttributeActionType(UpdateActionType&& value) { m_objectAttributeActionTypeHasBeenSet = true; m_objectAttributeActionType = std::move(value); } /** *

A type that can be either Update or Delete.

*/ inline ObjectAttributeAction& WithObjectAttributeActionType(const UpdateActionType& value) { SetObjectAttributeActionType(value); return *this;} /** *

A type that can be either Update or Delete.

*/ inline ObjectAttributeAction& WithObjectAttributeActionType(UpdateActionType&& value) { SetObjectAttributeActionType(std::move(value)); return *this;} /** *

The value that you want to update to.

*/ inline const TypedAttributeValue& GetObjectAttributeUpdateValue() const{ return m_objectAttributeUpdateValue; } /** *

The value that you want to update to.

*/ inline bool ObjectAttributeUpdateValueHasBeenSet() const { return m_objectAttributeUpdateValueHasBeenSet; } /** *

The value that you want to update to.

*/ inline void SetObjectAttributeUpdateValue(const TypedAttributeValue& value) { m_objectAttributeUpdateValueHasBeenSet = true; m_objectAttributeUpdateValue = value; } /** *

The value that you want to update to.

*/ inline void SetObjectAttributeUpdateValue(TypedAttributeValue&& value) { m_objectAttributeUpdateValueHasBeenSet = true; m_objectAttributeUpdateValue = std::move(value); } /** *

The value that you want to update to.

*/ inline ObjectAttributeAction& WithObjectAttributeUpdateValue(const TypedAttributeValue& value) { SetObjectAttributeUpdateValue(value); return *this;} /** *

The value that you want to update to.

*/ inline ObjectAttributeAction& WithObjectAttributeUpdateValue(TypedAttributeValue&& value) { SetObjectAttributeUpdateValue(std::move(value)); return *this;} private: UpdateActionType m_objectAttributeActionType; bool m_objectAttributeActionTypeHasBeenSet = false; TypedAttributeValue m_objectAttributeUpdateValue; bool m_objectAttributeUpdateValueHasBeenSet = false; }; } // namespace Model } // namespace CloudDirectory } // namespace Aws