public DeploymentEnvironment(AppModel app) { App = app; Datacenters = new List<Datacenter>(); PackageSources = new List<PackageSource>(); SecretStores = new List<SecretStore>(); Config = new Dictionary<string, string>(); }
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); }
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 OperationsSession(AppModel model, AzureTokenManager azureTokens) { Model = model; AzureTokens = azureTokens; Environments = Model.Environments.ToDictionaryByFirstItemWithKey(e => e.Name, StringComparer.OrdinalIgnoreCase); }
public DeploymentEnvironment(AppModel app) { App = app; Datacenters = new List <Datacenter>(); PackageSources = new List <PackageSource>(); }
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>(); }