/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a transit gateway route table announcement.See
* Also:
AWS
* API Reference
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::VectorThe 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::VectorThe key-value pairs associated with the route table announcement.
*/ inline void SetTags(Aws::VectorThe key-value pairs associated with the route table announcement.
*/ inline TransitGatewayRouteTableAnnouncement& WithTags(const Aws::VectorThe key-value pairs associated with the route table announcement.
*/ inline TransitGatewayRouteTableAnnouncement& WithTags(Aws::VectorThe 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