我已经看了高高低低如何做到这一点。我不认为我有正确的术语。使用Pulumi和Golang如何引用字符串中某些资源的ID。
例如,我创建了一个存储桶,然后我想在 IAM 策略中引用该存储桶的 ID。这似乎是不可能的。
bucket, err := s3.NewBucket(
ctx,
photosBucketName,
&s3.BucketArgs{})
tmpJSON, err := json.Marshal(map[string]interface{}{
"Version": "2012-10-17",
"Statement": []map[string]interface{}{
{
"Effect": "Allow",
"Principal": "*",
"Action": []string{"s3:GetObject"},
"Resource": []string{fmt.Sprintf("arn:aws:s3:::%s/*", bucket.ID())},
},
},
})
输出为:
Sprintf format %s has arg bucket.ID() of wrong type github.com/pulumi/pulumi/sdk/v2/go/pulumi.IDOutput
使用会导致文档格式不正确,因为存储桶名称上生成的后缀。photosBucketName
感谢您的时间和帮助。
Qyouu
相关分类