using System;
using System.Management.Automation;
namespace Alkami.Ops.Certificates
{
///
/// Yeets certs for a given folder
///
[Cmdlet("Remove", "SecretsInMachineSecretsFolder")]
[OutputType(typeof(string))]
public class RemoveSecretsInMachineSecretsFolder : 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\MachineSecrets\";
protected override void ProcessRecord()
{
DeleteCertificatesInFolder(Folder);
}
///
/// Imports certificates to the machine from the MachineSecrets folder.
///
///
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();
}
}
}
}