/// <summary> /// <para> Returns a description of the settings for the specified configuration set, that is, either a configuration template or the /// configuration set associated with a running environment. </para> <para> When describing the settings for the configuration set associated /// with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other /// is a draft configuration of an environment that is either in the process of deployment or that failed to deploy. </para> <para>Related /// Topics</para> /// <ul> /// <li> DeleteEnvironmentConfiguration </li> /// /// </ul> /// </summary> /// /// <param name="describeConfigurationSettingsRequest">Container for the necessary parameters to execute the DescribeConfigurationSettings /// service method on AmazonElasticBeanstalk.</param> /// /// <returns>The response from the DescribeConfigurationSettings service method, as returned by AmazonElasticBeanstalk.</returns> /// public DescribeConfigurationSettingsResponse DescribeConfigurationSettings(DescribeConfigurationSettingsRequest describeConfigurationSettingsRequest) { IRequest <DescribeConfigurationSettingsRequest> request = new DescribeConfigurationSettingsRequestMarshaller().Marshall(describeConfigurationSettingsRequest); DescribeConfigurationSettingsResponse response = Invoke <DescribeConfigurationSettingsRequest, DescribeConfigurationSettingsResponse> (request, this.signer, DescribeConfigurationSettingsResponseUnmarshaller.GetInstance()); return(response); }
public void ChangeConfig() { var requestSettings = new DescribeConfigurationSettingsRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", }; var response = client.DescribeConfigurationSettings(requestSettings); HashSet <string> setNameSpace = new HashSet <string>(); HashSet <string> setOptionName = new HashSet <string>(); foreach (var option in response.ConfigurationSettings[0].OptionSettings) { setNameSpace.Add(option.Namespace); setOptionName.Add(option.Namespace + "." + option.OptionName + "=" + option.Value); } }
public async Task <List <ConfigurationOptionSettingModel> > GetScheduledActionSettingItems() { var ret = new List <ConfigurationOptionSettingModel>(); var requestSettings = new DescribeConfigurationSettingsRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", }; var response = await client.DescribeConfigurationSettingsAsync(requestSettings); var sourceSettings = response.ConfigurationSettings[0].OptionSettings.FindAll( o => o.Namespace == "aws:autoscaling:scheduledaction"); foreach (var settings in sourceSettings) { ret.Add(ModelTransformer <ConfigurationOptionSetting, ConfigurationOptionSettingModel> . TransformAwsModelToSafeArrivalModel(settings)); } return(ret); }
public void DisableScheduleActions(bool command) { var requestSettings = new DescribeConfigurationSettingsRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", }; var response = client.DescribeConfigurationSettings(requestSettings); var suspendSettings = response.ConfigurationSettings[0].OptionSettings.FindAll( o => o.Namespace == "aws:autoscaling:scheduledaction" && o.OptionName == "Suspend"); foreach (var setting in suspendSettings) { setting.Value = command.ToString(); } var request = new UpdateEnvironmentRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", OptionSettings = suspendSettings }; var responseUpdate = client.UpdateEnvironment(request); }
public void ChangeScheduleActionInstnaceNum(string scheduleActionname, int desiredCapacity, int max, int min) { var requestSettings = new DescribeConfigurationSettingsRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", }; var response = client.DescribeConfigurationSettings(requestSettings); var settings = new List <ConfigurationOptionSetting>(); var sourceSettings = response.ConfigurationSettings[0].OptionSettings.FindAll( o => o.Namespace == "aws:autoscaling:scheduledaction"); //Now have to hard code the resource name because no way to store the setting original value before set them to 0; //HashSet<string> resourceNameList = new HashSet<string>(); //foreach (var optionSettings in sourceSettings) //{ // resourceNameList.Add(optionSettings.ResourceName); //} foreach (var optionSettings in sourceSettings) { if (optionSettings.OptionName == "DesiredCapacity") { settings.Add(new ConfigurationOptionSetting() { Namespace = optionSettings.Namespace, OptionName = optionSettings.OptionName, ResourceName = optionSettings.ResourceName, Value = desiredCapacity.ToString() }); } if (optionSettings.OptionName == "MaxSize") { settings.Add(new ConfigurationOptionSetting() { Namespace = optionSettings.Namespace, OptionName = optionSettings.OptionName, ResourceName = optionSettings.ResourceName, Value = max.ToString() }); } if (optionSettings.OptionName == "MinSize") { settings.Add(new ConfigurationOptionSetting() { Namespace = optionSettings.Namespace, OptionName = optionSettings.OptionName, ResourceName = optionSettings.ResourceName, Value = min.ToString() }); } } //UpdateConfigurationTemplateRequest request = new UpdateConfigurationTemplateRequest() //{ //}; //client.UpdateConfigurationTemplate(request); var request = new UpdateEnvironmentRequest() { ApplicationName = $"Safe-Arrival-{ environment.ToString()}-{GlobalVariables.Color}", EnvironmentName = $"{ environment.ToString()}-{GlobalVariables.Color}-API", OptionSettings = settings }; client.UpdateEnvironment(request); }