/// <summary> /// Initializes a new instance of the RbacGroup class. /// </summary> /// <param name="groupName">Group name</param> /// <param name="group">Group configuration</param> public RbacGroup(string groupName, XmlGroup group) { if (string.IsNullOrEmpty(groupName)) { throw new ArgumentException("groupName is passed as empty or null"); } this.Name = groupName; if (group != null) { if (group.MapIncomingUser == true) { this.MapIncomingUser = group.MapIncomingUser; if (string.IsNullOrEmpty(group.UserName) == false || string.IsNullOrEmpty(group.Password) == false || string.IsNullOrEmpty(group.DomainName) == false) { throw new ArgumentException("Group " + groupName + " has defined incoming user to true and defined credential for mapped user. They are exclusive and only one can be defined."); } } else { this.UserName = group.UserName; this.Password = group.Password; this.DomainName = group.DomainName; } } if (group != null && group.Cmdlets != null) { this.Cmdlets = new List <string>(group.Cmdlets); } else { this.Cmdlets = new List <string>(); } this.Scripts = new List <string>(); if (group != null && group.Scripts != null) { foreach (string script in group.Scripts) { this.Scripts.Add(script); } } this.Modules = new List <string>(); if (group != null && group.Modules != null) { foreach (string module in group.Modules) { this.Modules.Add(Path.Combine(Utils.GetBasePath(), module)); } } }
/// <summary> /// Initializes a new instance of the RbacGroup class. /// </summary> /// <param name="groupName">Group name</param> /// <param name="group">Group configuration</param> public RbacGroup(string groupName, XmlGroup group) { if (string.IsNullOrEmpty(groupName)) { throw new ArgumentException("groupName is passed as empty or null"); } this.Name = groupName; if (group != null) { if (group.MapIncomingUser == true) { this.MapIncomingUser = group.MapIncomingUser; if (string.IsNullOrEmpty(group.UserName) == false || string.IsNullOrEmpty(group.Password) == false || string.IsNullOrEmpty(group.DomainName) == false) { throw new ArgumentException("Group " + groupName + " has defined incoming user to true and defined credential for mapped user. They are exclusive and only one can be defined."); } } else { this.UserName = group.UserName; this.Password = group.Password; this.DomainName = group.DomainName; } } if (group != null && group.Cmdlets != null) { this.Cmdlets = new List<string>(group.Cmdlets); } else { this.Cmdlets = new List<string>(); } this.Scripts = new List<string>(); if (group != null && group.Scripts != null) { foreach (string script in group.Scripts) { this.Scripts.Add(script); } } this.Modules = new List<string>(); if (group != null && group.Modules != null) { foreach (string module in group.Modules) { this.Modules.Add(Path.Combine(Utils.GetBasePath(), module)); } } }
/// <summary> /// Initializes a new instance of the RbacGroup class /// </summary> /// <param name="group">Group information</param> public RbacGroup(XmlGroup group) : this(group != null ? group.Name : string.Empty, group) { }