Extract ExoCmd into own file
This commit is contained in:
parent
395d5a89b2
commit
25450aecee
|
@ -0,0 +1,48 @@
|
||||||
|
using CliWrap;
|
||||||
|
using CliWrap.Buffered;
|
||||||
|
using InnovEnergy.Lib.Utils;
|
||||||
|
|
||||||
|
namespace InnovEnergy.App.Backend.DataTypes.Methods;
|
||||||
|
|
||||||
|
public static class ExoCmd
|
||||||
|
{
|
||||||
|
private static readonly Command Exo = Cli.Wrap("exo");
|
||||||
|
private const String ConfigFile = "./exoscale.toml";
|
||||||
|
|
||||||
|
public static async Task<(String key, String secret)> CreateKey(this Installation installation)
|
||||||
|
{
|
||||||
|
//if (installation.Id != 1) return "help"; //Todo remove me I am for debugging
|
||||||
|
|
||||||
|
var preParse = await Exo
|
||||||
|
.WithArguments("iam access-key create " + installation.BucketName()
|
||||||
|
+ " --operation get-sos-object"
|
||||||
|
+ " --resource sos/bucket:" + installation.BucketName()
|
||||||
|
+ " -C " + ConfigFile
|
||||||
|
+ " -O text")
|
||||||
|
.ExecuteBufferedAsync();
|
||||||
|
|
||||||
|
var key = preParse.StandardOutput.Split("\t")[2];
|
||||||
|
var secret = preParse.StandardOutput.Split("\t")[3];
|
||||||
|
|
||||||
|
return (key, secret);
|
||||||
|
|
||||||
|
//return $"{key};{secret}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async void RevokeKey(this Installation installation)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await Exo
|
||||||
|
.WithArguments("iam access-key revoke " + installation.S3Key + " -f " + " -C " + ConfigFile)
|
||||||
|
.ExecuteAsync();
|
||||||
|
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
("Failed to revoke key for installation " + installation.Name).WriteLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue