public DeploymentEnvironment(AppModel app)
 {
     App = app;
     Datacenters = new List<Datacenter>();
     PackageSources = new List<PackageSource>();
     SecretStores = new List<SecretStore>();
     Config = new Dictionary<string, string>();
 }
Exemplo n.º 2
0
        public static AppModel LoadAppModel(XElement root)
        {
            var subs = LoadSubscriptions(root.Element("subscriptions"));

            var app = new AppModel(
                root.AttributeValueOrDefault("name"),
                root.AttributeValueOrDefault("version", Version.Parse, AppModel.DefaultVersion))
            {
                DistinguishedName = root.AttributeValueOrDefault("distinguishedName")
            };


            app.Resources.AddRange(LoadComponents <Resource>(root.Element("resources")));

            app.Environments.AddRange(LoadEnvironments(root.Element("environments"), app, subs));
            app.Subscriptions.AddRange(subs);
            return(app);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
 public OperationsSession(AppModel model, AzureTokenManager azureTokens)
 {
     Model = model;
     AzureTokens = azureTokens;
     Environments = Model.Environments.ToDictionaryByFirstItemWithKey(e => e.Name, StringComparer.OrdinalIgnoreCase);
 }
Exemplo n.º 5
0
 public DeploymentEnvironment(AppModel app)
 {
     App            = app;
     Datacenters    = new List <Datacenter>();
     PackageSources = new List <PackageSource>();
 }
Exemplo n.º 6
0
        private static IEnumerable <DeploymentEnvironment> LoadEnvironments(XElement root, AppModel app, IEnumerable <AzureSubscription> subscriptions = null)
        {
            if (root == null)
            {
                return(Enumerable.Empty <DeploymentEnvironment>());
            }

            subscriptions = subscriptions ?? Enumerable.Empty <AzureSubscription>();
            var subDict = subscriptions
                          .ToDictionaryByFirstItemWithKey(
                s => s.Name,
                StringComparer.OrdinalIgnoreCase);

            return(root.Elements("environment").Select(e => LoadEnvironment(e, app, subDict)));
        }
 public DeploymentEnvironment(AppModel app)
 {
     App = app;
     Datacenters = new List<Datacenter>();
     PackageSources = new List<PackageSource>();
 }