public AlertingGroup()
        {
            Targets       = new List <AlertTarget>();
            ReportTargets = new List <ReportTarget>();

            DynamoDb = new DynamoDb();
            Sqs      = new Sqs();
        }
        private async Task <List <Queue> > ExpandPatterns(SqsConfig sqs, string alertingGroupName)
        {
            var namedQueues = sqs.Queues
                              .Where(t => string.IsNullOrWhiteSpace(t.Pattern));

            NamesToPatterns(namedQueues);

            var queuesFromPatterns = new List <Queue>();

            foreach (var queuePattern in sqs.Queues)
            {
                var matches = await GetPatternMatches(queuePattern, alertingGroupName);

                // filter out duplicates
                matches = matches
                          .Where(match => queuesFromPatterns.All(t => t.Name != match.Name))
                          .ToList();

                queuesFromPatterns.AddRange(matches);
            }

            return(queuesFromPatterns.ToList());
        }