Exemplo n.º 1
0
        public IContainer ConfigureContainer(StartupParameters parameters)
        {
            var container = new Container();

            container.Configure(ctx => AwsBootstrapper.Configure(ctx, parameters));
            container.Configure(ctx => ConfigureLoggers(ctx, parameters));
            container.Configure(ConfigureInternalDependencies);

            return(container);
        }
Exemplo n.º 2
0
        private void ConfigureLoggers(IProfileRegistry registry, StartupParameters parameters)
        {
            var fileSettings = new FileSettings(parameters.ConfigFolderLocation);
            var loadLogger   = new ConsoleConfigLoadLogger(parameters.Verbose);
            var alarmLogger  = new ConsoleAlarmLogger(parameters.Verbose);

            registry.For <FileSettings>().Use(fileSettings);
            registry.For <IConfigLoadLogger>().Use(loadLogger);
            registry.For <IAlarmLogger>().Use(alarmLogger);
        }
Exemplo n.º 3
0
        public static void Configure(IProfileRegistry registry, StartupParameters parameters)
        {
            var region = AwsStartup.ParseRegion(parameters.AwsRegion);
            var creds  = AwsStartup.CredentialsWithFallback(
                parameters.AwsAccessKey, parameters.AwsSecretKey, parameters.AwsProfile);

            registry.For <IAmazonDynamoDB>()
            .Use(ctx => new AmazonDynamoDBClient(creds, new AmazonDynamoDBConfig {
                RegionEndpoint = region
            }));
            registry.For <IAmazonCloudWatch>()
            .Use(ctx => new AmazonCloudWatchClient(creds, new AmazonCloudWatchConfig {
                RegionEndpoint = region
            }));
        }
Exemplo n.º 4
0
        private static int Main(string[] args)
        {
            var startupParams = new StartupParameters();

            if (!Parser.Default.ParseArguments(args, startupParams))
            {
                Console.WriteLine("Missing required arguments, exiting...");
                return(ExitCode.InvalidParams);
            }

            var task = GenerateReports(startupParams);

            task.Wait();
            return(task.Result);
        }
Exemplo n.º 5
0
        private static async Task <int> GenerateReports(StartupParameters startupParams)
        {
            try
            {
                var container       = new IocBootstrapper().ConfigureContainer(startupParams);
                var reportGenerator = container.GetInstance <ReportGenerator>();
                var reports         = await reportGenerator.GetReports();

                var reportSender = container.GetInstance <ReportSender>();
                await reportSender.SendReports(reports);

                return(ExitCode.Success);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine($"Run failed: {ex.Message}");
                return(ExitCode.RunFailed);
            }
        }