Amazon.ElasticBeanstalk.AmazonElasticBeanstalkClient.TerminateEnvironmentAsync C# (CSharp) Method

TerminateEnvironmentAsync() public method

Initiates the asynchronous execution of the TerminateEnvironment operation.
public TerminateEnvironmentAsync ( TerminateEnvironmentRequest request, System cancellationToken = default(CancellationToken) ) : Task
request Amazon.ElasticBeanstalk.Model.TerminateEnvironmentRequest Container for the necessary parameters to execute the TerminateEnvironment operation.
cancellationToken System /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. ///
return Task
        public Task<TerminateEnvironmentResponse> TerminateEnvironmentAsync(TerminateEnvironmentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller = new TerminateEnvironmentRequestMarshaller();
            var unmarshaller = TerminateEnvironmentResponseUnmarshaller.Instance;

            return InvokeAsync<TerminateEnvironmentRequest,TerminateEnvironmentResponse>(request, marshaller, 
                unmarshaller, cancellationToken);
        }

Usage Example

        public async Task SingleSiteDockerApplicationEnsureSetupAsync(List<ConfigurationOptionSetting> optionSettings)
        {
            using (var ebClient = new AmazonElasticBeanstalkClient(creds, configurationProvider.RegionEndpoint))
            {
                var describeEnvironmentsResponse = await ebClient.DescribeEnvironmentsAsync();
                var current = describeEnvironmentsResponse.Environments
                    .SingleOrDefault(env =>
                        env?.CNAME != null && env.CNAME.StartsWith(currentCNamePrefix, StringComparison.CurrentCultureIgnoreCase) &&
                        env.Status == EnvironmentStatus.Ready);
                loggerProvider.GetLogger().Debug("Current: {@current}", current);
                
                List<Task> terminatingTasks = new List<Task>();
                if (current != null && current.Health != EnvironmentHealth.Green)
                {
                    loggerProvider.GetLogger().Debug("Current Environment is not in green state.  Deleting environment.");
                    var terminateCurrentEnvTask = ebClient.TerminateEnvironmentAsync(new TerminateEnvironmentRequest { EnvironmentId = current.EnvironmentId, TerminateResources = true });
                    terminatingTasks.Add(terminateCurrentEnvTask);
                    current = null;
                }
                
                if (terminatingTasks.Count > 0)
                {
                    await Task.WhenAll(terminatingTasks);
                    await EnsureTerminationsCompleteAsync();
                }

                if (current != null)
                {
                    loggerProvider.GetLogger().Debug("Environment is set up properly");
                    return;
                }
                
                loggerProvider.GetLogger().Debug("No environment is up - create");
                Task.WaitAll(new List<Task>
                {
                    CreateDockerCurrentEnvironmentAsync("A", optionSettings),
                }.ToArray());
                
                
            }
        }
All Usage Examples Of Amazon.ElasticBeanstalk.AmazonElasticBeanstalkClient::TerminateEnvironmentAsync
AmazonElasticBeanstalkClient