46 lines
1.5 KiB
C#
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", "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);
|
|
}
|
|
|
|
/// <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();
|
|
}
|
|
}
|
|
}
|
|
} |