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

Describes a proposed segment change. In some cases, the segment change must * first be evaluated and accepted.

See Also:

AWS * API Reference

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

The list of key-value tags that changed for the segment.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The list of key-value tags that changed for the segment.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The list of key-value tags that changed for the segment.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The list of key-value tags that changed for the segment.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The list of key-value tags that changed for the segment.

*/ inline ProposedSegmentChange& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The list of key-value tags that changed for the segment.

*/ inline ProposedSegmentChange& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The list of key-value tags that changed for the segment.

*/ inline ProposedSegmentChange& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The list of key-value tags that changed for the segment.

*/ inline ProposedSegmentChange& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The rule number in the policy document that applies to this change.

*/ inline int GetAttachmentPolicyRuleNumber() const{ return m_attachmentPolicyRuleNumber; } /** *

The rule number in the policy document that applies to this change.

*/ inline bool AttachmentPolicyRuleNumberHasBeenSet() const { return m_attachmentPolicyRuleNumberHasBeenSet; } /** *

The rule number in the policy document that applies to this change.

*/ inline void SetAttachmentPolicyRuleNumber(int value) { m_attachmentPolicyRuleNumberHasBeenSet = true; m_attachmentPolicyRuleNumber = value; } /** *

The rule number in the policy document that applies to this change.

*/ inline ProposedSegmentChange& WithAttachmentPolicyRuleNumber(int value) { SetAttachmentPolicyRuleNumber(value); return *this;} /** *

The name of the segment to change.

*/ inline const Aws::String& GetSegmentName() const{ return m_segmentName; } /** *

The name of the segment to change.

*/ inline bool SegmentNameHasBeenSet() const { return m_segmentNameHasBeenSet; } /** *

The name of the segment to change.

*/ inline void SetSegmentName(const Aws::String& value) { m_segmentNameHasBeenSet = true; m_segmentName = value; } /** *

The name of the segment to change.

*/ inline void SetSegmentName(Aws::String&& value) { m_segmentNameHasBeenSet = true; m_segmentName = std::move(value); } /** *

The name of the segment to change.

*/ inline void SetSegmentName(const char* value) { m_segmentNameHasBeenSet = true; m_segmentName.assign(value); } /** *

The name of the segment to change.

*/ inline ProposedSegmentChange& WithSegmentName(const Aws::String& value) { SetSegmentName(value); return *this;} /** *

The name of the segment to change.

*/ inline ProposedSegmentChange& WithSegmentName(Aws::String&& value) { SetSegmentName(std::move(value)); return *this;} /** *

The name of the segment to change.

*/ inline ProposedSegmentChange& WithSegmentName(const char* value) { SetSegmentName(value); return *this;} private: Aws::Vector m_tags; bool m_tagsHasBeenSet = false; int m_attachmentPolicyRuleNumber; bool m_attachmentPolicyRuleNumberHasBeenSet = false; Aws::String m_segmentName; bool m_segmentNameHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws