def get_transit_gateway_route_table_associations()

in source/lib/ec2.py [0:0]


    def get_transit_gateway_route_table_associations(self, transit_gateway_route_table_id,
                                                     transit_gateway_attachment_id,
                                                     resource_id,
                                                     resource_type='vpc'):
        try:
            response = self.ec2_client.get_transit_gateway_route_table_associations(
                TransitGatewayRouteTableId=transit_gateway_route_table_id,
                Filters=[
                    {
                        'Name': 'transit-gateway-attachment-id',
                        'Values': [transit_gateway_attachment_id]
                    },
                    {
                        'Name': 'resource-type',
                        'Values': [resource_type]
                    },
                    {
                        'Name': 'resource-id',
                        'Values': [resource_id]
                    }
                ]
            )

            associations_list = response.get('Associations', [])
            next_token = response.get('NextToken', None)

            while next_token is not None:
                response = self.ec2_client.get_transit_gateway_route_table_associations(
                    TransitGatewayRouteTableId=transit_gateway_route_table_id,
                    NextToken=next_token
                )
                associations_list.extend(response.get('Associations', []))
                next_token = response.get('NextToken', None)
            return associations_list

        except Exception as e:
            message = {'FILE': __file__.split('/')[-1], 'CLASS': self.__class__.__name__,
                       'METHOD': inspect.stack()[0][3], 'EXCEPTION': str(e)}
            self.logger.exception(message)
            raise