in source/tgw_peering_attachment_handler.py [0:0]
def tgw_peering_attachment_id_finder(self, list_of_tgw_attachments,
peering_attachment_not_found):
remote_tgw_and_tgw_attach_id_map = {}
peer_attachment_state_map = {}
for tgw_peering_attachment in list_of_tgw_attachments:
requester_region = tgw_peering_attachment.get(
'RequesterTgwInfo').get('Region')
accepter_region = tgw_peering_attachment.get(
'AccepterTgwInfo').get('Region')
tgw_peering_attachment_id = tgw_peering_attachment.get(
'TransitGatewayAttachmentId')
remote_tgw_peer_id = tgw_peering_attachment.get(
'AccepterTgwInfo').get('TransitGatewayId')
tgw_peer_attachment_state = tgw_peering_attachment.get('State')
# build list of tgw id and peering attachment map if match the
# local and remote regions for the peer
if requester_region == self.local_region and \
accepter_region == self.peer_region:
remote_tgw_and_tgw_attach_id_map.update(
{remote_tgw_peer_id: tgw_peering_attachment_id})
peer_attachment_state_map.update(
{tgw_peering_attachment_id: tgw_peer_attachment_state})
self.logger.info(f"TGW ID:TGW Attach ID Reduced Map:"
f"{remote_tgw_and_tgw_attach_id_map}")
self.logger.info(f"Attachment ID: State Map: "
f"{peer_attachment_state_map}")
final_attachment_id = self.get_attachment_id(
remote_tgw_and_tgw_attach_id_map)
self.logger.info(f"Attachment ID: {final_attachment_id}")
if final_attachment_id is None:
self.event.update(peering_attachment_not_found)
else:
self.event.update({'TgwPeeringAttachmentExist': 'Yes'})
self.event.update({'TgwPeeringAttachmentId': final_attachment_id})
self.event.update(
{'TgwPeeringAttachmentState': peer_attachment_state_map.get(
final_attachment_id)})