Exemple #1
0
 public bool Downsize(ElasticBeanstalkService service)
 {
     Task.WaitAll(
         BackupCurrentConfig(service),
         CreateDownsizedConfig(service)
         );
     ApplyConfiguration(service.ServiceName).Wait();
     return(true);
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 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());
 }
Exemple #4
0
 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());
 }