public bool Downsize(ElasticBeanstalkService service) { Task.WaitAll( BackupCurrentConfig(service), CreateDownsizedConfig(service) ); ApplyConfiguration(service.ServiceName).Wait(); return(true); }
public ElasticBeanstalkService Create(EnvironmentDescription environmentDescription) { var service = new ElasticBeanstalkService { ServiceName = environmentDescription.EnvironmentName, EnvironmentId = environmentDescription.EnvironmentId, ApplicationName = environmentDescription.ApplicationName, TemplateName = environmentDescription.TemplateName }; if (!HasAppropriateTags(environmentDescription.EnvironmentArn)) { return(service); } service.OptionSettings = GetOptionSettings(environmentDescription.EnvironmentName, environmentDescription.ApplicationName); service.InstanceType = GetCurrentInstanceSize(service.OptionSettings); service.AppropriateToDownsize = true; return(service); }
private async Task CreateDownsizedConfig(ElasticBeanstalkService service) { await ForceCreateNewTemplate(service.ApplicationName, service.EnvironmentId, DownsizedTemplateName, "A copy of the originally deployed config but with a smaller instance type", service.InstanceType.Downsize().ToString()); }
private async Task BackupCurrentConfig(ElasticBeanstalkService service) { await ForceCreateNewTemplate(service.ApplicationName, service.EnvironmentId, BackupTemplateName, "A backup of the original deployed configuration for when the finance monkey is finished with this service", service.InstanceType.ToString()); }