示例#1
0
        public Datacenter(DeploymentEnvironment environment)
        {
            Resources = new List<Resource>();
            Services = new List<Service>();

            Environment = environment;
        }
        public Datacenter(DeploymentEnvironment environment)
        {
            Resources = new List <Resource>();
            Services  = new List <Service>();

            Environment = environment;
        }
示例#3
0
        public Datacenter(DeploymentEnvironment environment)
        {
            Resources = new List<Resource>();
            Services = new List<Service>();
            Config = new Dictionary<string, string>();

            Environment = environment;
        }
示例#4
0
 public IDictionary<string, string> MergeConfig(DeploymentEnvironment env)
 {
     var dict = new Dictionary<string, string>(env.Config);
     foreach (var setting in Config)
     {
         dict[setting.Key] = setting.Value;
     }
     return dict;
 }
示例#5
0
        private static Datacenter LoadDatacenter(XElement e, DeploymentEnvironment env)
        {
            var dc = new Datacenter(env)
            {
                Id            = e.AttributeValueOrDefault <int>("id", Int32.Parse),
                Region        = e.AttributeValueOrDefault("region"),
                AffinityGroup = e.AttributeValueOrDefault("affinityGroup")
            };

            dc.Resources.AddRange(LoadComponents <Resource>(e.Element("resources")));
            dc.Services.AddRange(LoadServices(dc, e.Element("services")));

            return(dc);
        }
示例#6
0
        private static DeploymentEnvironment LoadEnvironment(XElement e, AppModel app, IDictionary <string, AzureSubscription> subscriptions)
        {
            var env = new DeploymentEnvironment(app)
            {
                Name    = e.AttributeValueOrDefault("name"),
                Version = Version.Parse(e.AttributeValueOrDefault("version"))
            };
            string subName = e.AttributeValueOrDefault("subscription");

            if (!String.IsNullOrEmpty(subName))
            {
                AzureSubscription sub;
                if (subscriptions.TryGetValue(subName, out sub))
                {
                    env.Subscription = sub;
                }
                else
                {
                    env.Subscription = new AzureSubscription()
                    {
                        Name = subName
                    };
                }
            }

            env.Datacenters.AddRange(e.Elements("datacenter").Select(el => LoadDatacenter(el, env)));
            env.PackageSources.AddRange(LoadComponents <PackageSource>(e.Element("packageSources")));

            var secElem = e.Element("secretStore");

            if (secElem != null)
            {
                env.SecretStore = LoadComponent <SecretStoreReference>(secElem, typeFromAttribute: true);
            }

            var tmplElem = e.Element("configTemplates");

            if (tmplElem != null)
            {
                env.ConfigTemplates = LoadComponent <ConfigTemplateReference>(tmplElem, typeFromAttribute: true);
            }

            return(env);
        }
 public virtual Task<SecretStore> Open(DeploymentEnvironment env)
 {
     return Open(GetEnvironmentStoreName(env.FullName));
 }