Пример #1
0
        public async Task <ActionResult> RestartEnvironment(string environmentName)
        {
            if (string.IsNullOrEmpty(environmentName))
            {
                throw new ArgumentNullException(nameof(environmentName));
            }

            if (!HomeController.RestartBeanstalkGroups.Any(x => environmentName.StartsWith(x, StringComparison.OrdinalIgnoreCase)))
            {
                throw new UnauthorizedAccessException();
            }

            RestartAppServerResponse restartResponse;

            try
            {
                using (AmazonElasticBeanstalkClient client = new AmazonElasticBeanstalkClient(RegionEndpoint.EUWest1))
                {
                    RestartAppServerRequest request = new RestartAppServerRequest
                    {
                        EnvironmentName = environmentName,
                    };

                    restartResponse = await client.RestartAppServerAsync(request);
                }
            }
            catch (AmazonElasticBeanstalkException ex)
            {
                return(new HttpStatusCodeResult(ex.StatusCode, ex.Message));
            }

            return(this.RedirectToAction("Index", "Restart"));
        }