UpdateEnvironmentAsync() публичный Метод

Initiates the asynchronous execution of the UpdateEnvironment operation.
public UpdateEnvironmentAsync ( UpdateEnvironmentRequest request, System cancellationToken = default(CancellationToken) ) : Task
request Amazon.ElasticBeanstalk.Model.UpdateEnvironmentRequest Container for the necessary parameters to execute the UpdateEnvironment operation.
cancellationToken System /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. ///
Результат Task
        private async Task UpdateEnvironmentInternalAsync(Environment environment, List<ConfigurationOptionSetting> baseConfigurationOptionSettings)
        {
            using (var ebClient = new AmazonElasticBeanstalkClient(creds, configurationProvider.RegionEndpoint))
            {
                loggerProvider.GetLogger().Debug("Existing environment - updating...");
                var targetEnvironment = await GetEnvironmentDescription(environment, ebClient);

                if (targetEnvironment == null)
                {
                    var msg = "Error state: On environment update, next environment is null";
                    loggerProvider.GetLogger().Error(msg);
                    throw new ElasticBeanstalkDeployerException(msg);
                }

                loggerProvider.GetLogger().Debug("Updating environment.");
                var optionSettings = baseConfigurationOptionSettings;

                loggerProvider.GetLogger().Debug($"Updating environment: global option settings count - {optionSettings.Count}");
                var optionSettingsApp = GetAppSpecificUpdateConfigurationOptionSettings();
                optionSettings = InjectAppSpecificOptionSettings(optionSettings, optionSettingsApp);
                loggerProvider.GetLogger().Debug($"Updating environment: total option settings count - {optionSettings.Count}");

                var updateEnvironmentRequest = new UpdateEnvironmentRequest
                {
                    VersionLabel = configurationProvider.Version,
                    EnvironmentId = targetEnvironment.EnvironmentId,
                    OptionSettings = optionSettings
                };
                loggerProvider.GetLogger()
                    .Debug("Updating environment: {@updateEnvironmentRequest}", updateEnvironmentRequest);
                updateEnvironmentRequest.OptionSettings.ForEach(option => loggerProvider.GetLogger().Debug($"Updating environment option setting: namespace={option.Namespace} option name={option.OptionName}"));


                int tryCount = 0;
                bool isSuccessful = false;
                while (!isSuccessful)
                {
                    try
                    {
                        var updateEnvironmentResponse = await ebClient.UpdateEnvironmentAsync(updateEnvironmentRequest);
                        isSuccessful = true;
                        loggerProvider.GetLogger()
                            .Debug("Updated environment: {@updateEnvironmentResponse}", updateEnvironmentResponse);
                    }
                    catch (Exception ex)
                    {
                        loggerProvider.GetLogger().Debug($"Failed update with exception: {ex.Message}");
                        if (tryCount >= 5)
                        {
                            throw;
                        }
                        tryCount++;
                        await Task.Delay(TIME_BETWEEN_STATUS_CHECKS_IN_MILLISECONDS);
                    }
                }

                await WaitForEnvironmentCompletionAsync(targetEnvironment.EnvironmentId);
            }
        }