private async Task GenerateAlarmsFor(AlertingGroup alertingGroup, bool dryRun) { if (alertingGroup.DynamoDb?.Tables == null || alertingGroup.DynamoDb.Tables.Count == 0) { return; } await _populator.PopulateDynamoTableNames(alertingGroup); var snsTopic = await _snsCreator.EnsureSnsTopic(alertingGroup, dryRun); var readAlarms = AlarmTablesHelper.FilterForRead(alertingGroup); readAlarms.SnsTopicArn = snsTopic; readAlarms.DryRun = dryRun; readAlarms.ThrottlingThreshold = alertingGroup.DynamoDb.ThrottlingThreshold ?? AwsConstants.ThrottlingThreshold; await EnsureReadAlarms(readAlarms); var writeAlarms = AlarmTablesHelper.FilterForWrite(alertingGroup); writeAlarms.SnsTopicArn = snsTopic; writeAlarms.DryRun = dryRun; writeAlarms.ThrottlingThreshold = alertingGroup.DynamoDb.ThrottlingThreshold ?? AwsConstants.ThrottlingThreshold; await EnsureWriteAlarms(writeAlarms); }
private async Task GenerateAlarmsFor(AlertingGroup alertingGroup, bool dryRun) { if (alertingGroup.Sqs?.Queues == null || alertingGroup.Sqs.Queues.Count == 0) { return; } SetErrorDefaults(alertingGroup); await _queueNamePopulator.PopulateSqsNames(alertingGroup); var snsTopic = await _snsCreator.EnsureSnsTopic(alertingGroup, dryRun); var queueResourceNames = await _queueSource.GetResourceNamesAsync(); await EnsureAllQueueAlarms(alertingGroup, queueResourceNames, snsTopic, dryRun); }