in ddbtools/table.py [0:0]
def get_table_tags(self, table_arn:str, next_tag_token:str=None, table_tags:dict=None) -> dict:
"""Given a table's ARN, return all tags key:value pairs assigned to that table"""
if table_tags is None:
table_tags = {}
response = None
if not next_tag_token:
response = self.dynamodb_client.list_tags_of_resource(ResourceArn=table_arn)
else:
response = self.dynamodb_client.get_table_tags(ResourceArn=table_arn,
NextToken=next_tag_token)
tag_list = response['Tags']
for tag_dict in tag_list:
tag_key = tag_dict['Key']
table_tags[tag_key] = tag_dict['Value']
# recurse if there are more tags to retrieve
if 'NextToken' in response:
self.get_table_tags(table_arn=table_arn,
next_tag_token=response['NextToken'],
table_tags=table_tags)
return table_tags