public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonElasticMapReduceConfig config = new AmazonElasticMapReduceConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonElasticMapReduceClient client = new AmazonElasticMapReduceClient(creds, config);

            ListInstanceFleetsResponse resp = new ListInstanceFleetsResponse();

            do
            {
                ListInstanceFleetsRequest req = new ListInstanceFleetsRequest
                {
                    Marker = resp.Marker
                };

                resp = client.ListInstanceFleets(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.InstanceFleets)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.Marker));
        }
        protected IAmazonElasticMapReduce CreateClient(AWSCredentials credentials, RegionEndpoint region)
        {
            var config = new AmazonElasticMapReduceConfig {
                RegionEndpoint = region
            };

            Amazon.PowerShell.Utils.Common.PopulateConfig(this, config);
            this.CustomizeClientConfig(config);
            var client = new AmazonElasticMapReduceClient(credentials, config);

            client.BeforeRequestEvent += RequestEventHandler;
            client.AfterResponseEvent += ResponseEventHandler;
            return(client);
        }
        public async Task Test1()
        {
            var emrClient = new AmazonElasticMapReduceClient();
            var ec2Client = new AmazonEC2Client();;

            var logger = Log.Logger = new LoggerConfiguration()
                                      .MinimumLevel.Debug()
                                      .WriteTo.Console()
                                      .CreateLogger();

            var emrCostCalculator = new EmrCostCalculator(emrClient, ec2Client, logger);

            await emrCostCalculator.GetClusterCost("j-MFJC4FYSX32S");

            Assert.Pass();
        }
        public async Task <bool> Run()
        {
            //Create dependencies
            IBuilderSettings             settings          = this.CreateSettings();
            AmazonElasticMapReduceClient emrClient         = this.CreateEmrClient();
            IEmrJobLogger               emrJobLogger       = new EmrJobLogger();
            IEmrJobStateChecker         emrJobStateChecker = new EmrJobStateChecker();
            DemoEmrActivitiesEnumerator activitiesIterator = new DemoEmrActivitiesEnumerator();

            using (EmrActivitiesRunner emrRunner = new EmrActivitiesRunner(emrJobLogger, emrJobStateChecker, emrClient, settings, activitiesIterator))
            {
                //explicitly set an existing jobFlowId, if you want to work with an existing job
                //emrRunner.JobFlowId = "j-36G3NHTVEP1Q7";

                return(await emrRunner.Start());
            }
        }
Example #5
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonElasticMapReduceConfig config = new AmazonElasticMapReduceConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonElasticMapReduceClient client = new AmazonElasticMapReduceClient(creds, config);

            DescribeJobFlowsResponse resp = new DescribeJobFlowsResponse();
            DescribeJobFlowsRequest  req  = new DescribeJobFlowsRequest
            {
            };

            resp = client.DescribeJobFlows(req);
            CheckError(resp.HttpStatusCode, "200");

            foreach (var obj in resp.JobFlows)
            {
                AddObject(obj);
            }
        }
        public async Task <bool> Run()
        {
            //Create dependencies
            var settings           = this.CreateSettings();
            var emrJobLogger       = new EmrJobLogger();
            var emrJobStateChecker = new EmrJobStateChecker();

            var emrClient = new AmazonElasticMapReduceClient(AccessKey, SecretKey, RegionEndpoint.USEast1);
            var swfClient = new AmazonSimpleWorkflowClient(AccessKey, SecretKey, RegionEndpoint.USEast1);
            var swfConfig = new DemoSwfConfiguration();

            SwfManager swfManager = new SwfManager(emrJobLogger, swfClient, swfConfig);
            await swfManager.SetupAsync();

            using (var decider = new SwfEmrJobDecider(emrJobLogger, swfClient, swfConfig))
                using (var runner = new SwfActivitiesRunner(emrJobLogger, emrJobStateChecker, settings, emrClient, swfClient, swfConfig))
                {
                    //decider.Start
                }

            return(true);
        }