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

Structure that contains attribute update information.

See * Also:

AWS * API Reference

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

The key of the attribute being updated.

*/ inline const AttributeKey& GetAttributeKey() const{ return m_attributeKey; } /** *

The key of the attribute being updated.

*/ inline bool AttributeKeyHasBeenSet() const { return m_attributeKeyHasBeenSet; } /** *

The key of the attribute being updated.

*/ inline void SetAttributeKey(const AttributeKey& value) { m_attributeKeyHasBeenSet = true; m_attributeKey = value; } /** *

The key of the attribute being updated.

*/ inline void SetAttributeKey(AttributeKey&& value) { m_attributeKeyHasBeenSet = true; m_attributeKey = std::move(value); } /** *

The key of the attribute being updated.

*/ inline LinkAttributeUpdate& WithAttributeKey(const AttributeKey& value) { SetAttributeKey(value); return *this;} /** *

The key of the attribute being updated.

*/ inline LinkAttributeUpdate& WithAttributeKey(AttributeKey&& value) { SetAttributeKey(std::move(value)); return *this;} /** *

The action to perform as part of the attribute update.

*/ inline const LinkAttributeAction& GetAttributeAction() const{ return m_attributeAction; } /** *

The action to perform as part of the attribute update.

*/ inline bool AttributeActionHasBeenSet() const { return m_attributeActionHasBeenSet; } /** *

The action to perform as part of the attribute update.

*/ inline void SetAttributeAction(const LinkAttributeAction& value) { m_attributeActionHasBeenSet = true; m_attributeAction = value; } /** *

The action to perform as part of the attribute update.

*/ inline void SetAttributeAction(LinkAttributeAction&& value) { m_attributeActionHasBeenSet = true; m_attributeAction = std::move(value); } /** *

The action to perform as part of the attribute update.

*/ inline LinkAttributeUpdate& WithAttributeAction(const LinkAttributeAction& value) { SetAttributeAction(value); return *this;} /** *

The action to perform as part of the attribute update.

*/ inline LinkAttributeUpdate& WithAttributeAction(LinkAttributeAction&& value) { SetAttributeAction(std::move(value)); return *this;} private: AttributeKey m_attributeKey; bool m_attributeKeyHasBeenSet = false; LinkAttributeAction m_attributeAction; bool m_attributeActionHasBeenSet = false; }; } // namespace Model } // namespace CloudDirectory } // namespace Aws