github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/aws-iam-policy-pp/go/aws-iam-policy.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 6 "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" 7 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 8 ) 9 10 func main() { 11 pulumi.Run(func(ctx *pulumi.Context) error { 12 tmpJSON0, err := json.Marshal(map[string]interface{}{ 13 "Version": "2012-10-17", 14 "Statement": []map[string]interface{}{ 15 map[string]interface{}{ 16 "Effect": "Allow", 17 "Action": "lambda:*", 18 "Resource": "arn:aws:lambda:*:*:function:*", 19 "Condition": map[string]interface{}{ 20 "StringEquals": map[string]interface{}{ 21 "aws:RequestTag/Team": []string{ 22 "iamuser-admin", 23 "iamuser2-admin", 24 }, 25 }, 26 "ForAllValues:StringEquals": map[string]interface{}{ 27 "aws:TagKeys": []string{ 28 "Team", 29 }, 30 }, 31 }, 32 }, 33 }, 34 }) 35 if err != nil { 36 return err 37 } 38 json0 := string(tmpJSON0) 39 policy, err := iam.NewPolicy(ctx, "policy", &iam.PolicyArgs{ 40 Path: pulumi.String("/"), 41 Description: pulumi.String("My test policy"), 42 Policy: pulumi.String(json0), 43 }) 44 if err != nil { 45 return err 46 } 47 ctx.Export("policyName", policy.Name) 48 return nil 49 }) 50 }