private static void RegisterAuthenticatedUserClient(ContainerBuilder builder)
        {
            builder.Register(context =>
            {
                var configuration = context.Resolve <IStackItConfiguration>();
                AuthenticationProvider provider = configuration.AuthenticationProvider;

                IAuthenticatedUserClient client = null;
                switch (provider)
                {
                case AuthenticationProvider.Development:
                    client = new DevelopmentAuthenticatedUserClient();
                    break;

                case AuthenticationProvider.Crowd:
                    ICrowdConfiguration crowdConfiguration = configuration.CrowdConfiguration;
                    var securityServer = context.Resolve <ISecurityServer>();
                    if (crowdConfiguration.Url != null)
                    {
                        securityServer.Url = crowdConfiguration.Url;
                    }
                    client = new CrowdAuthenticatedUserClient(
                        securityServer,
                        crowdConfiguration.ApplicationName,
                        crowdConfiguration.ApiPassword);
                    break;
                }

                return(client);
            });
        }
        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;
        }
Exemple #3
0
 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;
 }