def tgw_peering_attachment_id_finder()

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)})