def describe_transit_gateway_vpc_attachments()

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


    def describe_transit_gateway_vpc_attachments(self, tgw_id, vpc_id, state):
        try:
            response = self.ec2_client.describe_transit_gateway_vpc_attachments(
                Filters=[
                    {
                        'Name': 'transit-gateway-id',
                        'Values': [tgw_id]
                    },
                    {
                        'Name': 'vpc-id',
                        'Values': [vpc_id]
                    },
                    {
                        'Name': 'state',
                        'Values': state
                    }
                ]
            )

            transit_gateway_vpc_attachments_list = response.get('TransitGatewayVpcAttachments', [])
            next_token = response.get('NextToken', None)

            while next_token is not None:
                self.logger.info("Next Token Returned: {}".format(next_token))
                response = self.ec2_client.describe_transit_gateway_vpc_attachments(
                    Filters=[
                        {
                            'Name': 'transit-gateway-id',
                            'Values': [tgw_id]
                        },
                        {
                            'Name': 'vpc-id',
                            'Values': [vpc_id]
                        },
                        {
                            'Name': 'state',
                            'Values': state
                        }
                    ],
                    NextToken=next_token
                )
                self.logger.info("Extending TGW-VPC Attachment List")
                transit_gateway_vpc_attachments_list.extend(response.get('TransitGatewayVpcAttachments', []))
                next_token = response.get('NextToken', None)

            return transit_gateway_vpc_attachments_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