https://pulumi.com logo
Title
g

gorgeous-vegetable-57900

01/09/2023, 8:03 PM
I'm struggling to use
aws/secretsmanager
to do a
LookupSecret
followed by a
GetSecretVersion
reference, _ := pulumi.NewStackReference(ctx, fmt.Sprintf("prefix/%v", stackName), nil)
secretArn := reference.GetStringOutput(pulumi.String("SecretARN"))

secret := secretArn.ApplyT(func(arn string) string {
  // I'm disappointed that I seem to have to do this within an Apply
  secret, _ := secretsmanager.LookupSecret(ctx,
    &secretsmanager.LookupSecretArgs{
      Arn: &arn,
    },
    nil,
  )

  // Error: cannot use secret.Id (variable of type string) as type pulumi.IDInput in argument to secretsmanager.GetSecretVersion
  secretVersion, _ := secretsmanager.GetSecretVersion(ctx, secret.Name, secret.Id, nil, nil)

  return secretVersion.SecretString
})
How can I convert
secret.Id
from a
string
to a
pulumi.IDInput
for use with
GetSecretVersion
?
Looks like I should use
secretVersion, _ := secretsmanager.LookupSecretVersion(ctx, &secretsmanager.LookupSecretVersionArgs{
			SecretId: secret.Id,
		}, nil)
!
🦆
d

delightful-camera-97029

01/11/2023, 12:58 PM
I dont understand, have u tried to do it like this?
reference, _ := pulumi.NewStackReference(ctx, fmt.Sprintf("prefix/%v", stackName), nil)
secretArn := reference.GetStringOutput(pulumi.String("SecretARN"))

secret := secretArn.ApplyT(func(arn string) string {
  // I'm disappointed that I seem to have to do this within an Apply
  secret, _ := secretsmanager.LookupSecret(ctx,
    &secretsmanager.LookupSecretArgs{
      Arn: &arn,
    },
    nil,
  )

  // Error: cannot use secret.Id (variable of type string) as type pulumi.IDInput 
  // in argument to secretsmanager.GetSecretVersion
  secretVersion, _ := secretsmanager.GetSecretVersion(ctx, secret.Name, secret.Id, nil, nil)

  return secretVersion.SecretString
})