//--------------------------------------------------------------------- // Instance members /// <summary> /// Constructor. /// </summary> /// <param name="name">The policy name.</param> /// <param name="path">The policy path.</param> /// <param name="capabilities">The policy capabilities.</param> public VaultPolicy(string name, string path, VaultCapabilies capabilities) { Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(name)); Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(path)); this.Name = name; this.Path = path; this.Capabilities = capabilities; }
/// <summary> /// Appends a comma separated, quoted Vault capability if the corresponding bit is set. /// </summary> /// <param name="sb">The target string builder.</param> /// <param name="capabilities">The capability bits.</param> /// <param name="test">The capability we're testing.</param> /// <param name="name">The capability name.</param> private static void Append(StringBuilder sb, VaultCapabilies capabilities, VaultCapabilies test, string name) { if ((capabilities & test) == 0) { return; // Not set } sb.AppendWithSeparator($"\"{name}\"", ","); }