quaint-river-59320
03/31/2022, 3:11 PM//Create RDS Secret
var config = new Pulumi.Config();
string dbUser = config.Get("rdsUser").ToString();
var password = new Random.RandomPassword("chpm-rds-password", new Random.RandomPasswordArgs
{
Length = 16,
Special = true
});
var rdsSecret = new AwsClassic.SecretsManager.Secret("CHPM-DB-Secret");
var secretObject = new
{
UserName = dbUser,
Password = password.Result,
Endpoint = "test"
};
billowy-army-68599
03/31/2022, 3:21 PMSecretVersion
https://www.pulumi.com/registry/packages/aws/api-docs/secretsmanager/secretversion/
store the password in there.
the SecretsManager.Secret
just creates a container to store secretsquaint-river-59320
03/31/2022, 3:30 PM//Create RDS Secret
var config = new Pulumi.Config();
string dbUser = config.Get("rdsUser").ToString();
var password = new Random.RandomPassword("chpm-rds-password", new Random.RandomPasswordArgs
{
Length = 16,
Special = true
});
var rdsSecret = new AwsClassic.SecretsManager.Secret("CHPM-DB-Secret");
var secretObject = new
{
UserName = dbUser,
Password = password.Result,
Endpoint = "test"
};
string jsonData = JsonConvert.SerializeObject(secretObject);
// Create secret version
var secretVersion = new AwsClassic.SecretsManager.SecretVersion("secretVersion", new AwsClassic.SecretsManager.SecretVersionArgs
{
SecretId = rdsSecret.Id,
SecretString = jsonData,
});
billowy-army-68599
03/31/2022, 3:33 PMapply
to do the JSON serializationquaint-river-59320
03/31/2022, 3:37 PM//Create RDS Secret
var config = new Pulumi.Config();
string dbUser = config.Get("rdsUser").ToString();
var password = new Random.RandomPassword("chpm-rds-password", new Random.RandomPasswordArgs
{
Length = 16,
Special = true
});
var rdsSecret = new AwsClassic.SecretsManager.Secret("CHPM-DB-Secret");
var secretObject = new
{
UserName = dbUser,
Password = password.Result.Apply(p => $"{p}"),
Endpoint = "test"
};
string jsonData = JsonConvert.SerializeObject(secretObject);
// Create secret version
var secretVersion = new AwsClassic.SecretsManager.SecretVersion("secretVersion", new AwsClassic.SecretsManager.SecretVersionArgs
{
SecretId = rdsSecret.Id,
SecretString = jsonData,
});
billowy-army-68599
03/31/2022, 3:40 PMvar secretVersion = new AwsClassic.SecretsManager.SecretVersion("secretVersion", new AwsClassic.SecretsManager.SecretVersionArgs
{
SecretId = rdsSecret.Id,
SecretString = password.Result.Apply(JsonConvert.SerializeObject(secretObject))
});
I'm not great with C#, but hopefully you get the ideaApply
to create an JSON object, and then pass that to secretsmanagerquaint-river-59320
03/31/2022, 3:44 PMbillowy-army-68599
03/31/2022, 5:40 PMquaint-river-59320
03/31/2022, 9:58 PM