ps/Modules/Alkami.Ops.Certificates/Cmdlets/Remove-SecretsInFriendlySecretsFolder.cs
2023-05-30 22:51:22 -07:00

46 lines
1.5 KiB
C#

using System;
using System.Management.Automation;
namespace Alkami.Ops.Certificates
{
/// <summary>
/// Yeets certs for a given folder
/// </summary>
[Cmdlet("Remove", "SecretsInFriendlyCertificatesFolder")]
[OutputType(typeof(string))]
public class RemoveSecretsInFriendlyCertificatesFolder : Cmdlet
{
[Parameter(Position = 0, Mandatory = true)]
public string SecretUsername;
[Parameter(Position = 1, Mandatory = true)]
public string SecretPassword;
[Parameter(Position = 2, Mandatory = false)]
public string SecretSite = "https://alkami.secretservercloud.com";
private string Folder = @"\ops.deployment-CertApi\FriendlyCertificates\";
protected override void ProcessRecord()
{
DeleteCertificatesInFolder(Folder);
}
/// <summary>
/// Imports certificates to the machine from the MachineSecrets folder.
/// </summary>
/// <param name="Folder"></param>
private void DeleteCertificatesInFolder(string Folder)
{
Console.WriteLine("Yeeting certificates from the secret server.");
// Create secret server client.
using (var client = new SecretServer.SecretServerClient(SecretSite, SecretUsername, SecretPassword))
{
// yeet zips
var secretFolder = client.GetFolder(Folder);
client.DeleteSecretsInFolder(secretFolder).GetAwaiter().GetResult();
}
}
}
}