Beispiel #1
0
        public static void StartChildProcess(KPLNETConfiguration config, ILogger logger)
        {
            Ec2Metadata ec2_md = null;

            try
            {
                SetDirectLogging(config.logLevel, logger);
                var executor        = get_executor();
                var socket_factory  = get_socket_factory();
                var region          = get_region(config, ec2_md);
                var creds_providers = get_creds_providers(executor, ec2_md, config);
                var ipc_manager     = DirectMessageService.Instance.GetChildProcessMessageManager();
                var kp = get_kp(ipc_manager, socket_factory, region, config, creds_providers.Key, creds_providers.Value, executor);
            }
            catch (Exception e)
            {
                StdErrorOut.Instance.StdError(e.ToString());
                throw new Exception("Service Creation failed.", e);
            }
        }
Beispiel #2
0
 public DefaultAwsCredentialsProviderChain(Executor executor, Ec2Metadata ec2_metadata)
     : base(new List <AwsCredentialsProvider> {
     new EnvVarAwsCredentialsProvider(), new InstanceProfileAwsCredentialsProvider(executor, ec2_metadata)
 })
 {
 }
Beispiel #3
0
        static KeyValuePair <AwsCredentialsProvider, AwsCredentialsProvider> get_creds_providers(Executor executor, Ec2Metadata ec2_md, List <SetCredentials> set_creds)
        {
            AwsCredentialsProvider creds_provider         = null;
            AwsCredentialsProvider metrics_creds_provider = null;

            foreach (var sc in set_creds)
            {
                var cp = new BasicAwsCredentialsProvider(sc.Credentials.Akid, sc.Credentials.SecretKey, sc.Credentials.Token);
                if (sc.ForMetrics)
                {
                    metrics_creds_provider = cp;
                }
                else
                {
                    creds_provider = cp;
                }
            }

            if (null == creds_provider)
            {
                creds_provider = new DefaultAwsCredentialsProviderChain(executor, ec2_md);
                Thread.Sleep(250);
            }

            if (null == creds_provider.get_credentials())
            {
                StdErrorOut.Instance.StdError("Could not retrieve credentials from anywhere.");
                throw new Exception("Could not retrieve credentials from anywhere.");
            }

            if (null == metrics_creds_provider)
            {
                metrics_creds_provider = creds_provider;
            }

            return(new KeyValuePair <AwsCredentialsProvider, AwsCredentialsProvider>(creds_provider, metrics_creds_provider));
        }
Beispiel #4
0
        static KeyValuePair <AwsCredentialsProvider, AwsCredentialsProvider> get_creds_providers(Executor executor, Ec2Metadata ec2_md, KPLNETConfiguration config)
        {
            AwsCredentialsProvider creds_provider         = null;
            AwsCredentialsProvider metrics_creds_provider = null;

            if (null != config.AWSCredentials)
            {
                creds_provider = new BasicAwsCredentialsProvider(config.AWSCredentials.Akid, config.AWSCredentials.SecretKey, config.AWSCredentials.SessionToken);
                if (null != config.AWSMetricsCredentials)
                {
                    metrics_creds_provider = new BasicAwsCredentialsProvider(config.AWSMetricsCredentials.Akid, config.AWSMetricsCredentials.SecretKey, config.AWSMetricsCredentials.SessionToken);
                }
                else
                {
                    metrics_creds_provider = creds_provider;
                }
            }
            else
            {
                creds_provider = new DefaultAwsCredentialsProviderChain(executor, ec2_md);
                Thread.Sleep(250);
            }

            if (null == creds_provider.get_credentials())
            {
                StdErrorOut.Instance.StdError("Could not retrieve credentials from anywhere.");
                throw new Exception("Could not retrieve credentials from anywhere.");
            }

            return(new KeyValuePair <AwsCredentialsProvider, AwsCredentialsProvider>(creds_provider, metrics_creds_provider));
        }
Beispiel #5
0
        static KeyValuePair <AwsCredentialsProvider, AwsCredentialsProvider> get_creds_providers(Executor executor, Ec2Metadata ec2_md, string cred, string metricCred)
        {
            List <SetCredentials> set_creds = get_creds(cred, metricCred);

            return(get_creds_providers(executor, ec2_md, set_creds));
        }