Esempio n. 1
0
        private static string GetProductName(IronProduct product)
        {
            string productName;

            switch (product)
            {
            case IronProduct.AllProducts:
                productName = "iron";
                break;

            case IronProduct.IronMQ:
                productName = "iron_mq";
                break;

            case IronProduct.IronWorker:
                productName = "iron_worker";
                break;

            case IronProduct.IronCache:
                productName = "iron_cache";
                break;

            default:
                throw new ArgumentOutOfRangeException("product");
            }
            return(productName);
        }
Esempio n. 2
0
        public static string GetEnvironmentKey(IronProduct product, string key)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }

            string productName = GetProductName(product);

            return(string.Format("{0}_{1}", productName, key).ToUpper());
        }
Esempio n. 3
0
        public static IronClientConfig Load(IronProduct product = IronProduct.AllProducts, IronClientConfig overrideConfig = null, string env = null)
        {
            string homeIronDotJson = Path.Combine(GetHomeDirectory(), ".iron.json");
            string appIronDotJson  = Path.Combine(GetAppDirectory(), "iron.json");

            IronClientConfig home = ParseJsonFile(product, homeIronDotJson, env);
            IronClientConfig app  = ParseJsonFile(product, appIronDotJson, env);

            ApplyOverrides(home, app);
            ApplyOverrides(home, overrideConfig);

            return(home);
        }
        public static IronClientConfig ParseJsonFile(IronProduct product, string filePath, string env = null)
        {
            JsonDotConfigModel config = LoadJson(filePath, env);

            var settings = new IronClientConfig
            {
                ProjectId = config.ProjectId,
                Token     = config.Token,
                Host      = config.Host
            };

            ApplyOverrides(settings, GetProductOverride(product, config));

            return(settings);
        }
Esempio n. 5
0
        public static IronClientConfig LoadFromEnvironment(IronProduct product, EnvironmentVariableTarget target = EnvironmentVariableTarget.Process)
        {
            var baseConfig = new IronClientConfig
            {
                ProjectId = GetEnvironmentValue <string>(IronProduct.AllProducts, "projectid", target),
                Token     = GetEnvironmentValue <string>(IronProduct.AllProducts, "token", target)
            };

            var productConfig = new IronClientConfig
            {
                ProjectId = GetEnvironmentValue <string>(product, "projectid", target),
                Token     = GetEnvironmentValue <string>(product, "token", target),
                Host      = GetEnvironmentValue <string>(product, "host", target)
            };

            ApplyOverrides(baseConfig, productConfig);

            return(baseConfig);
        }
Esempio n. 6
0
        private static IronClientConfig GetProductOverride(IronProduct product, JsonDotConfigModel config)
        {
            IronClientConfig productOverride = null;

            switch (product)
            {
            case IronProduct.IronCache:
                productOverride = config.IronCache;
                break;

            case IronProduct.IronMQ:
                productOverride = config.IronMQ;
                break;

            case IronProduct.IronWorker:
                productOverride = config.IronWoker;
                break;
            }
            return(productOverride);
        }
Esempio n. 7
0
 public static void DeleteEnvironmentValue(IronProduct product, string key, EnvironmentVariableTarget target = EnvironmentVariableTarget.Process)
 {
     SetEnvironmentValue(product, key, null, target);
 }
Esempio n. 8
0
 public static void SetEnvironmentValue(IronProduct product, string key, string value, EnvironmentVariableTarget target = EnvironmentVariableTarget.Process)
 {
     Environment.SetEnvironmentVariable(GetEnvironmentKey(product, key), value, target);
 }
Esempio n. 9
0
 public static T GetEnvironmentValue <T>(IronProduct product, string key, T defaultValue, EnvironmentVariableTarget target = EnvironmentVariableTarget.Process)
 {
     return(Environment.GetEnvironmentVariable(GetEnvironmentKey(product, key), target).As(defaultValue));
 }
Esempio n. 10
0
 public static T GetEnvironmentValue <T>(IronProduct product, string key, EnvironmentVariableTarget target = EnvironmentVariableTarget.Process)
 {
     return(GetEnvironmentValue(product, key, default(T), target));
 }