/// <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);
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }