コード例 #1
0
 private static void SetupAnsibleTower(ref IServiceCollection services)
 {
     AnsibleTowerOptions = ServiceProvider.GetService <IOptions <AnsibleTowerOptions> >()?.Value;
     if (AnsibleTowerOptions == null || string.IsNullOrEmpty(AnsibleTowerOptions.ApiUrlBase))
     {
         return;
     }
     services.SetupAnsibleTower(AnsibleTowerOptions);
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }