github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/aws-optionals-pp/go/aws-optionals.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
     5  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     6  )
     7  
     8  func main() {
     9  	pulumi.Run(func(ctx *pulumi.Context) error {
    10  		policyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    11  			Statements: []iam.GetPolicyDocumentStatement{
    12  				iam.GetPolicyDocumentStatement{
    13  					Sid: pulumi.StringRef("1"),
    14  					Actions: []string{
    15  						"s3:ListAllMyBuckets",
    16  						"s3:GetBucketLocation",
    17  					},
    18  					Resources: []string{
    19  						"arn:aws:s3:::*",
    20  					},
    21  				},
    22  			},
    23  		}, nil)
    24  		if err != nil {
    25  			return err
    26  		}
    27  		_, err = iam.NewPolicy(ctx, "example", &iam.PolicyArgs{
    28  			Name:   pulumi.String("example_policy"),
    29  			Path:   pulumi.String("/"),
    30  			Policy: pulumi.String(policyDocument.Json),
    31  		})
    32  		if err != nil {
    33  			return err
    34  		}
    35  		return nil
    36  	})
    37  }