github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go (about) 1 package main 2 3 import ( 4 "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" 5 "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda" 6 "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3" 7 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 8 ) 9 10 func main() { 11 pulumi.Run(func(ctx *pulumi.Context) error { 12 siteBucket, err := s3.NewBucket(ctx, "siteBucket", nil) 13 if err != nil { 14 return err 15 } 16 _, err = s3.NewBucketObject(ctx, "testFileAsset", &s3.BucketObjectArgs{ 17 Bucket: siteBucket.ID(), 18 Source: pulumi.NewFileAsset("file.txt"), 19 }) 20 if err != nil { 21 return err 22 } 23 _, err = s3.NewBucketObject(ctx, "testStringAsset", &s3.BucketObjectArgs{ 24 Bucket: siteBucket.ID(), 25 Source: pulumi.NewStringAsset("<h1>File contents</h1>"), 26 }) 27 if err != nil { 28 return err 29 } 30 _, err = s3.NewBucketObject(ctx, "testRemoteAsset", &s3.BucketObjectArgs{ 31 Bucket: siteBucket.ID(), 32 Source: pulumi.NewRemoteAsset("https://pulumi.test"), 33 }) 34 if err != nil { 35 return err 36 } 37 _, err = lambda.NewFunction(ctx, "testFileArchive", &lambda.FunctionArgs{ 38 Role: siteBucket.Arn, 39 Code: pulumi.NewFileArchive("file.tar.gz"), 40 }) 41 if err != nil { 42 return err 43 } 44 _, err = lambda.NewFunction(ctx, "testRemoteArchive", &lambda.FunctionArgs{ 45 Role: siteBucket.Arn, 46 Code: pulumi.NewRemoteArchive("https://pulumi.test/foo.tar.gz"), 47 }) 48 if err != nil { 49 return err 50 } 51 _, err = lambda.NewFunction(ctx, "testAssetArchive", &lambda.FunctionArgs{ 52 Role: siteBucket.Arn, 53 Code: pulumi.NewAssetArchive(map[string]interface{}{ 54 "file.txt": pulumi.NewFileAsset("file.txt"), 55 "string.txt": pulumi.NewStringAsset("<h1>File contents</h1>"), 56 "remote.txt": pulumi.NewRemoteAsset("https://pulumi.test"), 57 "file.tar": pulumi.NewFileArchive("file.tar.gz"), 58 "remote.tar": pulumi.NewRemoteArchive("https://pulumi.test/foo.tar.gz"), 59 ".nestedDir": pulumi.NewAssetArchive(map[string]interface{}{ 60 "file.txt": pulumi.NewFileAsset("file.txt"), 61 "string.txt": pulumi.NewStringAsset("<h1>File contents</h1>"), 62 "remote.txt": pulumi.NewRemoteAsset("https://pulumi.test"), 63 "file.tar": pulumi.NewFileArchive("file.tar.gz"), 64 "remote.tar": pulumi.NewRemoteArchive("https://pulumi.test/foo.tar.gz"), 65 }), 66 }), 67 }) 68 if err != nil { 69 return err 70 } 71 return nil 72 }) 73 }