public static IServiceCollection AddCloudTelemetry <T>(this IServiceCollection services, ISafeLogger logger, ICloudOptions options) where T : ICloudOptions { foreach (var module in ScanForTypesImplementing <ICloudTelemetry <T> >()) { var method = typeof(ICloudTelemetry <T>).GetMethod(nameof(ICloudTelemetry <T> .AddCloudTelemetry)); method?.Invoke(module, new object[] { services, logger, options }); } return(services); }
public static IMetricsBuilder AddCloudMetricsPublisher <T>(this IMetricsBuilder builder, ISafeLogger logger, ICloudOptions options) where T : ICloudOptions { foreach (var module in ScanForTypesImplementing <ICloudMetricsPublisher <T> >()) { var method = typeof(ICloudMetricsPublisher <T>).GetMethod(nameof(ICloudMetricsPublisher <T> .AddCloudMetricsPublisher)); method?.Invoke(module, new object[] { builder, logger, options }); } return(builder); }
public StackItConfiguration( AuthenticationProvider authenticationProvider, ICrowdConfiguration crowdConfiguration, IQueueingConfiguration queueingConfiguration, ICloudOptions cloudOptions, IList<IInstanceTypeConfiguration> instanceTypeConfigurations, IPuppetConfiguration puppetConfiguration ) { AuthenticationProvider = authenticationProvider; CrowdConfiguration = crowdConfiguration; QueueingConfiguration = queueingConfiguration; CloudOptions = cloudOptions; InstanceTypes = instanceTypeConfigurations; PuppetConfiguration = puppetConfiguration; }
public StackItConfiguration( AuthenticationProvider authenticationProvider, ICrowdConfiguration crowdConfiguration, IQueueingConfiguration queueingConfiguration, ICloudOptions cloudOptions, IList <IInstanceTypeConfiguration> instanceTypeConfigurations, IPuppetConfiguration puppetConfiguration ) { AuthenticationProvider = authenticationProvider; CrowdConfiguration = crowdConfiguration; QueueingConfiguration = queueingConfiguration; CloudOptions = cloudOptions; InstanceTypes = instanceTypeConfigurations; PuppetConfiguration = puppetConfiguration; }