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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|