private static void SetupAnsibleTower(ref IServiceCollection services) { AnsibleTowerOptions = ServiceProvider.GetService <IOptions <AnsibleTowerOptions> >()?.Value; if (AnsibleTowerOptions == null || string.IsNullOrEmpty(AnsibleTowerOptions.ApiUrlBase)) { return; } services.SetupAnsibleTower(AnsibleTowerOptions); }
public static void SetupAnsibleTower(this IServiceCollection services, AnsibleTowerOptions ansibleTowerOptions) { var serviceProvider = services.BuildServiceProvider(); CircuitBreakerHttpClient = serviceProvider.GetService <ICircuitBreakerHttpClient>(); AnsibleTowerOptions = ansibleTowerOptions; var ansibleTowerInstance = GetAnsibleTowerInstances(); if (ansibleTowerInstance == null) { return; } services.AddSingleton(typeof(IAnsibleTowerInstance), ansibleTowerInstance); services.AddTransient(typeof(IAnsibleTowerHandler), typeof(AnsibleTowerHandler)); }
public static void SetupAnsibleTower(this IServiceCollection services, ref IConfiguration configuration) { AnsibleTowerOptions = services.GetTypedOptions <AnsibleTowerOptions>(configuration, "AnsibleTower"); if (AnsibleTowerOptions == null || string.IsNullOrEmpty(AnsibleTowerOptions.ApiUrlBase)) { return; } using var serviceProvider = services.BuildServiceProvider(); HttpClientHandler = serviceProvider.GetService <IHttpClientHandler>(); var ansibleTowerInstance = GetAnsibleTowerInstances(); if (ansibleTowerInstance == null) { return; } services.AddSingleton(typeof(IAnsibleTowerInstance), ansibleTowerInstance); services.AddTransient(typeof(IAnsibleTowerHandler), typeof(AnsibleTowerHandler)); }