/// <summary> /// Removes a hive certificate if it exists. /// </summary> /// <param name="name">The certificate name.</param> public void Remove(string name) { Covenant.Requires <ArgumentException>(HiveDefinition.IsValidName(name)); hive.Vault.Client.DeleteAsync(HiveHelper.GetVaultCertificateKey(name)).Wait(); hive.SignalTrafficManagerUpdate(); }
/// <summary> /// Adds or updates a hive certificate. /// </summary> /// <param name="name">The certificate name.</param> /// <param name="certificate">The certificate.</param> /// <exception cref="ArgumentException">Thrown if the certificate is not valid.</exception> /// <remarks> /// <note> /// The <paramref name="certificate"/> must be fully parsed (it's /// <see cref="TlsCertificate.Parse()"/> method must have been called at /// some point to load the <see cref="TlsCertificate.Hosts"/>, /// <see cref="TlsCertificate.ValidFrom"/> and <see cref="TlsCertificate.ValidUntil"/> /// properties). /// </note> /// </remarks> public void Set(string name, TlsCertificate certificate) { Covenant.Requires <ArgumentException>(HiveDefinition.IsValidName(name)); Covenant.Requires <ArgumentNullException>(certificate != null); hive.Vault.Client.WriteJsonAsync(HiveHelper.GetVaultCertificateKey(name), certificate).Wait(); hive.SignalTrafficManagerUpdate(); }
/// <summary> /// Retrieves a hive certificate. /// </summary> /// <param name="name">The certificate name.</param> /// <returns>The certificate if present or <c>null</c> if it doesn't exist.</returns> public TlsCertificate Get(string name) { Covenant.Requires <ArgumentException>(HiveDefinition.IsValidName(name)); return(hive.Vault.Client.ReadJsonOrDefaultAsync <TlsCertificate>(HiveHelper.GetVaultCertificateKey(name)).Result); }