using System;
using System.Linq;
using Alkami.Ops.SecretServer.Model;
namespace Alkami.Ops.SecretServer.Console
{
class Program
{
///
/// Simple example console app to pull all secrets from a given folder
///
///
static void Main(string[] args)
{
try
{
using (var client = new Client())
{
var result = client.AuthenticateAsync("ops.deployment", @"PasswordGoesHere!", "corp.alkamitech.com").Result;
var secretSearchResults = client.GetFolderSecretsAsync("POD6").Result;
foreach (var cert in secretSearchResults.Secrets.Where(s => s.Value is Certificate).Select(s => s.Value))
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var downloadPath = ((Certificate)cert).SaveFileToDisk(path);
System.Console.WriteLine($"Downloaded certificate to {downloadPath}");
}
foreach (var user in secretSearchResults.Secrets.Where(s => s.Value is User).Select(s => s.Value))
{
var castUser = (User)user;
System.Console.WriteLine($"Retrieved user {castUser.UserName} with password {castUser.Password}");
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e);
throw;
}
}
}
}