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  }