"""This searches for SQS queues with prefixes from the config, parses the respective queue URLs and tags each matching queue with 'environment', 'dpm_priority' and 'store_priority' according to its queue name. """ import boto3 from parsers.parsers import parse_queue_name from config import QUEUE_SEARCH_PREFIXES, AWS_ACCESS_KEY, AWS_SECRET_KEY queue_urls = [] client = boto3.client( 'sqs', aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_KEY) for search_prefix in QUEUE_SEARCH_PREFIXES: response = client.list_queues( QueueNamePrefix=search_prefix) if 'QueueUrls' in response: queue_urls.extend(response['QueueUrls']) for url in queue_urls: # get the queue name from url url_sections = url.split('/') queue_name = url_sections[len(url_sections) - 1] try: tags = parse_queue_name(queue_name) except ValueError: pass else: if all(tags): client.tag_queue( QueueUrl=url, Tags={ 'environment': tags[0], 'encoder_id': str(tags[1]), 'dpm_priority': str(tags[2]), 'store_priority': str(tags[3]) })