/** * 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 #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a transit gateway route table announcement.

See * Also:

AWS * API Reference

*/ class TransitGatewayRouteTableAnnouncement { public: AWS_EC2_API TransitGatewayRouteTableAnnouncement(); AWS_EC2_API TransitGatewayRouteTableAnnouncement(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API TransitGatewayRouteTableAnnouncement& 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 transit gateway route table announcement.

*/ inline const Aws::String& GetTransitGatewayRouteTableAnnouncementId() const{ return m_transitGatewayRouteTableAnnouncementId; } /** *

The ID of the transit gateway route table announcement.

*/ inline bool TransitGatewayRouteTableAnnouncementIdHasBeenSet() const { return m_transitGatewayRouteTableAnnouncementIdHasBeenSet; } /** *

The ID of the transit gateway route table announcement.

*/ inline void SetTransitGatewayRouteTableAnnouncementId(const Aws::String& value) { m_transitGatewayRouteTableAnnouncementIdHasBeenSet = true; m_transitGatewayRouteTableAnnouncementId = value; } /** *

The ID of the transit gateway route table announcement.

*/ inline void SetTransitGatewayRouteTableAnnouncementId(Aws::String&& value) { m_transitGatewayRouteTableAnnouncementIdHasBeenSet = true; m_transitGatewayRouteTableAnnouncementId = std::move(value); } /** *

The ID of the transit gateway route table announcement.

*/ inline void SetTransitGatewayRouteTableAnnouncementId(const char* value) { m_transitGatewayRouteTableAnnouncementIdHasBeenSet = true; m_transitGatewayRouteTableAnnouncementId.assign(value); } /** *

The ID of the transit gateway route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableAnnouncementId(const Aws::String& value) { SetTransitGatewayRouteTableAnnouncementId(value); return *this;} /** *

The ID of the transit gateway route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableAnnouncementId(Aws::String&& value) { SetTransitGatewayRouteTableAnnouncementId(std::move(value)); return *this;} /** *

The ID of the transit gateway route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableAnnouncementId(const char* value) { SetTransitGatewayRouteTableAnnouncementId(value); return *this;} /** *

The ID of the transit gateway.

*/ inline const Aws::String& GetTransitGatewayId() const{ return m_transitGatewayId; } /** *

The ID of the transit gateway.

*/ inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; } /** *

The ID of the transit gateway.

*/ inline void SetTransitGatewayId(const Aws::String& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = value; } /** *

The ID of the transit gateway.

*/ inline void SetTransitGatewayId(Aws::String&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::move(value); } /** *

The ID of the transit gateway.

*/ inline void SetTransitGatewayId(const char* value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId.assign(value); } /** *

The ID of the transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayId(const Aws::String& value) { SetTransitGatewayId(value); return *this;} /** *

The ID of the transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayId(Aws::String&& value) { SetTransitGatewayId(std::move(value)); return *this;} /** *

The ID of the transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayId(const char* value) { SetTransitGatewayId(value); return *this;} /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline const Aws::String& GetCoreNetworkId() const{ return m_coreNetworkId; } /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline bool CoreNetworkIdHasBeenSet() const { return m_coreNetworkIdHasBeenSet; } /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline void SetCoreNetworkId(const Aws::String& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = value; } /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline void SetCoreNetworkId(Aws::String&& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = std::move(value); } /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline void SetCoreNetworkId(const char* value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId.assign(value); } /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithCoreNetworkId(const Aws::String& value) { SetCoreNetworkId(value); return *this;} /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithCoreNetworkId(Aws::String&& value) { SetCoreNetworkId(std::move(value)); return *this;} /** *

The ID of the core network for the transit gateway route table * announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithCoreNetworkId(const char* value) { SetCoreNetworkId(value); return *this;} /** *

The ID of the peer transit gateway.

*/ inline const Aws::String& GetPeerTransitGatewayId() const{ return m_peerTransitGatewayId; } /** *

The ID of the peer transit gateway.

*/ inline bool PeerTransitGatewayIdHasBeenSet() const { return m_peerTransitGatewayIdHasBeenSet; } /** *

The ID of the peer transit gateway.

*/ inline void SetPeerTransitGatewayId(const Aws::String& value) { m_peerTransitGatewayIdHasBeenSet = true; m_peerTransitGatewayId = value; } /** *

The ID of the peer transit gateway.

*/ inline void SetPeerTransitGatewayId(Aws::String&& value) { m_peerTransitGatewayIdHasBeenSet = true; m_peerTransitGatewayId = std::move(value); } /** *

The ID of the peer transit gateway.

*/ inline void SetPeerTransitGatewayId(const char* value) { m_peerTransitGatewayIdHasBeenSet = true; m_peerTransitGatewayId.assign(value); } /** *

The ID of the peer transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerTransitGatewayId(const Aws::String& value) { SetPeerTransitGatewayId(value); return *this;} /** *

The ID of the peer transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerTransitGatewayId(Aws::String&& value) { SetPeerTransitGatewayId(std::move(value)); return *this;} /** *

The ID of the peer transit gateway.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerTransitGatewayId(const char* value) { SetPeerTransitGatewayId(value); return *this;} /** *

The ID of the core network ID for the peer.

*/ inline const Aws::String& GetPeerCoreNetworkId() const{ return m_peerCoreNetworkId; } /** *

The ID of the core network ID for the peer.

*/ inline bool PeerCoreNetworkIdHasBeenSet() const { return m_peerCoreNetworkIdHasBeenSet; } /** *

The ID of the core network ID for the peer.

*/ inline void SetPeerCoreNetworkId(const Aws::String& value) { m_peerCoreNetworkIdHasBeenSet = true; m_peerCoreNetworkId = value; } /** *

The ID of the core network ID for the peer.

*/ inline void SetPeerCoreNetworkId(Aws::String&& value) { m_peerCoreNetworkIdHasBeenSet = true; m_peerCoreNetworkId = std::move(value); } /** *

The ID of the core network ID for the peer.

*/ inline void SetPeerCoreNetworkId(const char* value) { m_peerCoreNetworkIdHasBeenSet = true; m_peerCoreNetworkId.assign(value); } /** *

The ID of the core network ID for the peer.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerCoreNetworkId(const Aws::String& value) { SetPeerCoreNetworkId(value); return *this;} /** *

The ID of the core network ID for the peer.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerCoreNetworkId(Aws::String&& value) { SetPeerCoreNetworkId(std::move(value)); return *this;} /** *

The ID of the core network ID for the peer.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeerCoreNetworkId(const char* value) { SetPeerCoreNetworkId(value); return *this;} /** *

The ID of the peering attachment.

*/ inline const Aws::String& GetPeeringAttachmentId() const{ return m_peeringAttachmentId; } /** *

The ID of the peering attachment.

*/ inline bool PeeringAttachmentIdHasBeenSet() const { return m_peeringAttachmentIdHasBeenSet; } /** *

The ID of the peering attachment.

*/ inline void SetPeeringAttachmentId(const Aws::String& value) { m_peeringAttachmentIdHasBeenSet = true; m_peeringAttachmentId = value; } /** *

The ID of the peering attachment.

*/ inline void SetPeeringAttachmentId(Aws::String&& value) { m_peeringAttachmentIdHasBeenSet = true; m_peeringAttachmentId = std::move(value); } /** *

The ID of the peering attachment.

*/ inline void SetPeeringAttachmentId(const char* value) { m_peeringAttachmentIdHasBeenSet = true; m_peeringAttachmentId.assign(value); } /** *

The ID of the peering attachment.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeeringAttachmentId(const Aws::String& value) { SetPeeringAttachmentId(value); return *this;} /** *

The ID of the peering attachment.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeeringAttachmentId(Aws::String&& value) { SetPeeringAttachmentId(std::move(value)); return *this;} /** *

The ID of the peering attachment.

*/ inline TransitGatewayRouteTableAnnouncement& WithPeeringAttachmentId(const char* value) { SetPeeringAttachmentId(value); return *this;} /** *

The direction for the route table announcement.

*/ inline const TransitGatewayRouteTableAnnouncementDirection& GetAnnouncementDirection() const{ return m_announcementDirection; } /** *

The direction for the route table announcement.

*/ inline bool AnnouncementDirectionHasBeenSet() const { return m_announcementDirectionHasBeenSet; } /** *

The direction for the route table announcement.

*/ inline void SetAnnouncementDirection(const TransitGatewayRouteTableAnnouncementDirection& value) { m_announcementDirectionHasBeenSet = true; m_announcementDirection = value; } /** *

The direction for the route table announcement.

*/ inline void SetAnnouncementDirection(TransitGatewayRouteTableAnnouncementDirection&& value) { m_announcementDirectionHasBeenSet = true; m_announcementDirection = std::move(value); } /** *

The direction for the route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithAnnouncementDirection(const TransitGatewayRouteTableAnnouncementDirection& value) { SetAnnouncementDirection(value); return *this;} /** *

The direction for the route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithAnnouncementDirection(TransitGatewayRouteTableAnnouncementDirection&& value) { SetAnnouncementDirection(std::move(value)); return *this;} /** *

The ID of the transit gateway route table.

*/ inline const Aws::String& GetTransitGatewayRouteTableId() const{ return m_transitGatewayRouteTableId; } /** *

The ID of the transit gateway route table.

*/ inline bool TransitGatewayRouteTableIdHasBeenSet() const { return m_transitGatewayRouteTableIdHasBeenSet; } /** *

The ID of the transit gateway route table.

*/ inline void SetTransitGatewayRouteTableId(const Aws::String& value) { m_transitGatewayRouteTableIdHasBeenSet = true; m_transitGatewayRouteTableId = value; } /** *

The ID of the transit gateway route table.

*/ inline void SetTransitGatewayRouteTableId(Aws::String&& value) { m_transitGatewayRouteTableIdHasBeenSet = true; m_transitGatewayRouteTableId = std::move(value); } /** *

The ID of the transit gateway route table.

*/ inline void SetTransitGatewayRouteTableId(const char* value) { m_transitGatewayRouteTableIdHasBeenSet = true; m_transitGatewayRouteTableId.assign(value); } /** *

The ID of the transit gateway route table.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableId(const Aws::String& value) { SetTransitGatewayRouteTableId(value); return *this;} /** *

The ID of the transit gateway route table.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableId(Aws::String&& value) { SetTransitGatewayRouteTableId(std::move(value)); return *this;} /** *

The ID of the transit gateway route table.

*/ inline TransitGatewayRouteTableAnnouncement& WithTransitGatewayRouteTableId(const char* value) { SetTransitGatewayRouteTableId(value); return *this;} /** *

The state of the transit gateway announcement.

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

The state of the transit gateway announcement.

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

The state of the transit gateway announcement.

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

The state of the transit gateway announcement.

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

The state of the transit gateway announcement.

*/ inline TransitGatewayRouteTableAnnouncement& WithState(const TransitGatewayRouteTableAnnouncementState& value) { SetState(value); return *this;} /** *

The state of the transit gateway announcement.

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

The timestamp when the transit gateway route table announcement was * created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The timestamp when the transit gateway route table announcement was * created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The timestamp when the transit gateway route table announcement was * created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The timestamp when the transit gateway route table announcement was * created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The timestamp when the transit gateway route table announcement was * created.

*/ inline TransitGatewayRouteTableAnnouncement& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The timestamp when the transit gateway route table announcement was * created.

*/ inline TransitGatewayRouteTableAnnouncement& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

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

The key-value pairs associated with the route table announcement.

*/ inline TransitGatewayRouteTableAnnouncement& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_transitGatewayRouteTableAnnouncementId; bool m_transitGatewayRouteTableAnnouncementIdHasBeenSet = false; Aws::String m_transitGatewayId; bool m_transitGatewayIdHasBeenSet = false; Aws::String m_coreNetworkId; bool m_coreNetworkIdHasBeenSet = false; Aws::String m_peerTransitGatewayId; bool m_peerTransitGatewayIdHasBeenSet = false; Aws::String m_peerCoreNetworkId; bool m_peerCoreNetworkIdHasBeenSet = false; Aws::String m_peeringAttachmentId; bool m_peeringAttachmentIdHasBeenSet = false; TransitGatewayRouteTableAnnouncementDirection m_announcementDirection; bool m_announcementDirectionHasBeenSet = false; Aws::String m_transitGatewayRouteTableId; bool m_transitGatewayRouteTableIdHasBeenSet = false; TransitGatewayRouteTableAnnouncementState m_state; bool m_stateHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws