2 using System.Collections.Generic;
5 using System.Threading.Tasks;
17 this.Roles =
new Dictionary<string, AzureRoleDetails>();
18 this.Environments =
new Dictionary<string, AzureEnvironment>();
22 IDictionary<string, AzureRoleDetails> roles,
23 IDictionary<string, AzureEnvironment> envs)
27 this.Environments = envs;
30 public string Name {
get;
private set; }
32 public IDictionary<string, AzureRoleDetails> Roles {
get;
private set; }
34 public IDictionary<string, AzureEnvironment> Environments {
get;
private set; }
41 this.RoleName = roleName;
42 this.ConfigurationSettingKeys =
new HashSet<string>();
45 public string RoleName {
get;
private set; }
47 public string RoleType {
get; set; }
49 public ISet<string> ConfigurationSettingKeys {
get;
private set; }
57 foreach (var r
in parent.Roles)
60 newR.Instances = r.Value.Instances;
61 newR.ConfigSettings.AddSettings(r.Value.ConfigSettings.Settings);
62 newR.ConfigSettings.AddMissing(r.Value.ConfigSettings.MissingSettings);
63 env.Roles.Add(r.Key, newR);
71 this.EnvName = envName;
72 this.Roles =
new Dictionary<string, AzureRoleEnvironmentDetails>();
75 public string EnvName {
get;
private set; }
77 public IDictionary<string, AzureRoleEnvironmentDetails> Roles {
get;
private set; }
84 this.Details = roleDetails;
90 public string RoleName {
get {
return this.Details.RoleName; } }
92 public int Instances {
get; set; }
101 this.Settings =
new Dictionary<string, string>();
104 public IDictionary<string, string> Settings {
get;
private set; }
106 private HashSet<string> _missing =
new HashSet<string>();
108 public ISet<string> MissingSettings
112 var found = _missing.Intersect(this.Settings.Keys);
115 _missing =
new HashSet<string>(_missing.Except(found));
123 foreach (var s
in settings)
124 this.Settings[s.Key] = s.Value;
129 foreach (var m
in possiblyMissing.Except(
this.Settings.Keys))
130 this.MissingSettings.Add(m);
AzureConfig(string name, IDictionary< string, AzureRoleDetails > roles, IDictionary< string, AzureEnvironment > envs)
AzureRoleEnvironmentDetails(AzureRoleDetails roleDetails)
AzureEnvironment(string envName)
Processed Azure configuration
AzureRoleDetails(string roleName)
void AddMissing(ISet< string > possiblyMissing)
void AddSettings(IDictionary< string, string > settings)
static AzureEnvironment FromParent(string envName, AzureEnvironment parent)