import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; import { prefixed } from "../utils/prefixed"; import { deepMerge } from "../utils/deep-merge"; export interface StorageS3Args { bucketArgs?: aws.s3.BucketV2Args; } export class StorageS3 extends pulumi.ComponentResource { bucket: aws.s3.BucketV2; constructor( name: string = "Storage", args?: StorageS3Args, opts?: pulumi.ComponentResourceOptions ) { super("limo:StorageS3Component", name, {}, opts); this.bucket = new aws.s3.BucketV2( "ObjectStorage", deepMerge( { bucketPrefix: prefixed("storage", 37) }, args?.bucketArgs ) ); this.registerOutputs({ bucketName: this.bucket.bucket }); } }