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  }