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

Describes a managed prefix list.

See Also:

AWS * API Reference

*/ class ManagedPrefixList { public: AWS_EC2_API ManagedPrefixList(); AWS_EC2_API ManagedPrefixList(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API ManagedPrefixList& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the prefix list.

*/ inline const Aws::String& GetPrefixListId() const{ return m_prefixListId; } /** *

The ID of the prefix list.

*/ inline bool PrefixListIdHasBeenSet() const { return m_prefixListIdHasBeenSet; } /** *

The ID of the prefix list.

*/ inline void SetPrefixListId(const Aws::String& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = value; } /** *

The ID of the prefix list.

*/ inline void SetPrefixListId(Aws::String&& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = std::move(value); } /** *

The ID of the prefix list.

*/ inline void SetPrefixListId(const char* value) { m_prefixListIdHasBeenSet = true; m_prefixListId.assign(value); } /** *

The ID of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListId(const Aws::String& value) { SetPrefixListId(value); return *this;} /** *

The ID of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListId(Aws::String&& value) { SetPrefixListId(std::move(value)); return *this;} /** *

The ID of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListId(const char* value) { SetPrefixListId(value); return *this;} /** *

The IP address version.

*/ inline const Aws::String& GetAddressFamily() const{ return m_addressFamily; } /** *

The IP address version.

*/ inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; } /** *

The IP address version.

*/ inline void SetAddressFamily(const Aws::String& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = value; } /** *

The IP address version.

*/ inline void SetAddressFamily(Aws::String&& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = std::move(value); } /** *

The IP address version.

*/ inline void SetAddressFamily(const char* value) { m_addressFamilyHasBeenSet = true; m_addressFamily.assign(value); } /** *

The IP address version.

*/ inline ManagedPrefixList& WithAddressFamily(const Aws::String& value) { SetAddressFamily(value); return *this;} /** *

The IP address version.

*/ inline ManagedPrefixList& WithAddressFamily(Aws::String&& value) { SetAddressFamily(std::move(value)); return *this;} /** *

The IP address version.

*/ inline ManagedPrefixList& WithAddressFamily(const char* value) { SetAddressFamily(value); return *this;} /** *

The current state of the prefix list.

*/ inline const PrefixListState& GetState() const{ return m_state; } /** *

The current state of the prefix list.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the prefix list.

*/ inline void SetState(const PrefixListState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the prefix list.

*/ inline void SetState(PrefixListState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the prefix list.

*/ inline ManagedPrefixList& WithState(const PrefixListState& value) { SetState(value); return *this;} /** *

The current state of the prefix list.

*/ inline ManagedPrefixList& WithState(PrefixListState&& value) { SetState(std::move(value)); return *this;} /** *

The state message.

*/ inline const Aws::String& GetStateMessage() const{ return m_stateMessage; } /** *

The state message.

*/ inline bool StateMessageHasBeenSet() const { return m_stateMessageHasBeenSet; } /** *

The state message.

*/ inline void SetStateMessage(const Aws::String& value) { m_stateMessageHasBeenSet = true; m_stateMessage = value; } /** *

The state message.

*/ inline void SetStateMessage(Aws::String&& value) { m_stateMessageHasBeenSet = true; m_stateMessage = std::move(value); } /** *

The state message.

*/ inline void SetStateMessage(const char* value) { m_stateMessageHasBeenSet = true; m_stateMessage.assign(value); } /** *

The state message.

*/ inline ManagedPrefixList& WithStateMessage(const Aws::String& value) { SetStateMessage(value); return *this;} /** *

The state message.

*/ inline ManagedPrefixList& WithStateMessage(Aws::String&& value) { SetStateMessage(std::move(value)); return *this;} /** *

The state message.

*/ inline ManagedPrefixList& WithStateMessage(const char* value) { SetStateMessage(value); return *this;} /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline const Aws::String& GetPrefixListArn() const{ return m_prefixListArn; } /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline bool PrefixListArnHasBeenSet() const { return m_prefixListArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline void SetPrefixListArn(const Aws::String& value) { m_prefixListArnHasBeenSet = true; m_prefixListArn = value; } /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline void SetPrefixListArn(Aws::String&& value) { m_prefixListArnHasBeenSet = true; m_prefixListArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline void SetPrefixListArn(const char* value) { m_prefixListArnHasBeenSet = true; m_prefixListArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline ManagedPrefixList& WithPrefixListArn(const Aws::String& value) { SetPrefixListArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline ManagedPrefixList& WithPrefixListArn(Aws::String&& value) { SetPrefixListArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the prefix list.

*/ inline ManagedPrefixList& WithPrefixListArn(const char* value) { SetPrefixListArn(value); return *this;} /** *

The name of the prefix list.

*/ inline const Aws::String& GetPrefixListName() const{ return m_prefixListName; } /** *

The name of the prefix list.

*/ inline bool PrefixListNameHasBeenSet() const { return m_prefixListNameHasBeenSet; } /** *

The name of the prefix list.

*/ inline void SetPrefixListName(const Aws::String& value) { m_prefixListNameHasBeenSet = true; m_prefixListName = value; } /** *

The name of the prefix list.

*/ inline void SetPrefixListName(Aws::String&& value) { m_prefixListNameHasBeenSet = true; m_prefixListName = std::move(value); } /** *

The name of the prefix list.

*/ inline void SetPrefixListName(const char* value) { m_prefixListNameHasBeenSet = true; m_prefixListName.assign(value); } /** *

The name of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListName(const Aws::String& value) { SetPrefixListName(value); return *this;} /** *

The name of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListName(Aws::String&& value) { SetPrefixListName(std::move(value)); return *this;} /** *

The name of the prefix list.

*/ inline ManagedPrefixList& WithPrefixListName(const char* value) { SetPrefixListName(value); return *this;} /** *

The maximum number of entries for the prefix list.

*/ inline int GetMaxEntries() const{ return m_maxEntries; } /** *

The maximum number of entries for the prefix list.

*/ inline bool MaxEntriesHasBeenSet() const { return m_maxEntriesHasBeenSet; } /** *

The maximum number of entries for the prefix list.

*/ inline void SetMaxEntries(int value) { m_maxEntriesHasBeenSet = true; m_maxEntries = value; } /** *

The maximum number of entries for the prefix list.

*/ inline ManagedPrefixList& WithMaxEntries(int value) { SetMaxEntries(value); return *this;} /** *

The version of the prefix list.

*/ inline long long GetVersion() const{ return m_version; } /** *

The version of the prefix list.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version of the prefix list.

*/ inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version of the prefix list.

*/ inline ManagedPrefixList& WithVersion(long long value) { SetVersion(value); return *this;} /** *

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The tags for the prefix list.

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

The ID of the owner of the prefix list.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The ID of the owner of the prefix list.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The ID of the owner of the prefix list.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

The ID of the owner of the prefix list.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

The ID of the owner of the prefix list.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

The ID of the owner of the prefix list.

*/ inline ManagedPrefixList& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The ID of the owner of the prefix list.

*/ inline ManagedPrefixList& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The ID of the owner of the prefix list.

*/ inline ManagedPrefixList& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} private: Aws::String m_prefixListId; bool m_prefixListIdHasBeenSet = false; Aws::String m_addressFamily; bool m_addressFamilyHasBeenSet = false; PrefixListState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateMessage; bool m_stateMessageHasBeenSet = false; Aws::String m_prefixListArn; bool m_prefixListArnHasBeenSet = false; Aws::String m_prefixListName; bool m_prefixListNameHasBeenSet = false; int m_maxEntries; bool m_maxEntriesHasBeenSet = false; long long m_version; bool m_versionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws