public async Task <AwsConfigProvider> CreateAsync(AppConfigProviderSpec specification)
        {
            var application = await _applicationService.Get(specification.ApplicationName);

            var environment = await _environmentService.Get(application.Id, specification.EnvironmentName);

            var configurationProfile = await _configurationProfileService.Get(application.Id, specification.ConfigurationName);

            return(AwsConfigProviders.GetOrAdd(specification, settings => new AwsConfigProvider(specification.ClientId, _client,
                                                                                                application, environment, configurationProfile, _logger)));
        }
Example #2
0
        private async Task <string> GetConfigurationProfileSummary(Application application, string configurationName)
        {
            var cfgProfile = await _configurationProfileService.Get(application.Id, configurationName);

            if (cfgProfile == null)
            {
                Console.WriteLine($"Can't find configuration [{configurationName}] for application [{application.Name}]. Creating the profile");

                var newProfile = await _client.CreateConfigurationProfileAsync(new CreateConfigurationProfileRequest
                {
                    ApplicationId = application.Id,
                    Name          = configurationName,
                    LocationUri   = "hosted"
                });

                return(newProfile.Id);
            }

            return(cfgProfile.Id);
        }