public static bool ValidateSettings(Settings settings, ChaosLogger logger) { var settingsValid = true; if (string.IsNullOrEmpty(settings.ServiceUrl) && !string.IsNullOrEmpty(settings.Ec2Endpoint)) { settings.ServiceUrl = ServiceUrlFromEndPointName(settings.Ec2Endpoint); if (string.IsNullOrEmpty(settings.ServiceUrl)) { logger.Log("ERROR: Cannot find service url for endpoint '" + settings.Ec2Endpoint + "'"); settingsValid = false; } } if (string.IsNullOrEmpty(settings.ServiceUrl)) { logger.Log("ERROR: No service URL found"); settingsValid = false; } if (string.IsNullOrEmpty(settings.Tagkey)) { logger.Log("ERROR: Tag key needed"); settingsValid = false; } if (string.IsNullOrEmpty(settings.TagValue)) { logger.Log("ERROR: Tag value needed"); settingsValid = false; } return settingsValid; }
public List <Reservation> ListInstancesByTag(string tagKey, string tagValue) { var describeInstancesRequest = new DescribeInstancesRequest() { Filter = new List <Filter> { new Filter() { Name = "tag:" + tagKey, Value = new List <string> { tagValue }, }, new Filter() { Name = "instance-state-name", Value = new List <string> { "running" }, } } }; try { var describeInstancesResponse = amazonEc2.DescribeInstances(describeInstancesRequest); return(describeInstancesResponse.DescribeInstancesResult.Reservation); } catch (Exception ex) { logger.Log("AWS ERROR: " + ex.Message); throw new Exception("Cannot list instances"); } }
public override IList<ParentMonkey> GetMonkeys(Settings settings, ChaosLogger logger) { logger.Log("Hard coded MonkyeListProvider returning EC2Monkey"); return new List<ParentMonkey>() { new EC2Monkey(settings, logger) }; }