diff --git a/aws-fs-s3-folder/Program.fs b/aws-fs-s3-folder/Program.fs index c57f52d9c..cadcfa3cb 100644 --- a/aws-fs-s3-folder/Program.fs +++ b/aws-fs-s3-folder/Program.fs @@ -9,18 +9,23 @@ open Pulumi.Aws.S3 let infra () = // Create an AWS resource (S3 Bucket) - let bucket = - Bucket("my-bucket", - BucketArgs (Website = input (BucketWebsiteArgs (IndexDocument = input "index.html")))) + let bucket = BucketV2("my-bucket", BucketV2Args()) - let ownershipControls = + let website = + BucketWebsiteConfigurationV2("website", + BucketWebsiteConfigurationV2Args + (Bucket = bucket.Bucket, + IndexDocument = new BucketWebsiteConfigurationV2IndexDocumentArgs(Suffix = "index.html")), + CustomResourceOptions (Parent = bucket)) + + let ownershipControls = BucketOwnershipControls("ownership-controls", BucketOwnershipControlsArgs (Bucket = io bucket.Id, Rule = input (BucketOwnershipControlsRuleArgs(ObjectOwnership = input "ObjectWriter"))), CustomResourceOptions (Parent = bucket)) - let publicAccessBlock = + let publicAccessBlock = BucketPublicAccessBlock("public-access-block", BucketPublicAccessBlockArgs (Bucket = io bucket.Id, @@ -33,19 +38,19 @@ let infra () = files |> Array.map(fun file -> let name = file.Substring 8 - let contentType = if name.EndsWith ".png" then "image/png" else "text/html" - + let contentType = if name.EndsWith ".png" then "image/png" else "text/html" + // ... create a bucket object BucketObject(name, BucketObjectArgs (Acl = input "public-read", - Bucket = io bucket.BucketName, + Bucket = io bucket.Bucket, ContentType = input contentType, Source = input (FileAsset file :> AssetOrArchive)), CustomResourceOptions (Parent = bucket, DependsOn = inputList [input ownershipControls; input publicAccessBlock]))) - + // Export the name of the bucket - let endpoint = bucket.WebsiteEndpoint.Apply (sprintf "http://%s") + let endpoint = website.WebsiteEndpoint.Apply (sprintf "http://%s") dict [("endpoint", endpoint :> obj)] [] diff --git a/aws-fs-s3-folder/README.md b/aws-fs-s3-folder/README.md index 246ac1cf2..398577d18 100644 --- a/aws-fs-s3-folder/README.md +++ b/aws-fs-s3-folder/README.md @@ -25,7 +25,7 @@ A static website that uses [S3's website support](https://docs.aws.amazon.com/Am Previewing update (dev): Type Name Plan + pulumi:pulumi:Stack aws-cs-s3-folder-dev create - + └─ aws:s3:Bucket my-bucket create + + └─ aws:s3:BucketV2 my-bucket create + ├─ aws:s3:BucketObject index.html create + └─ aws:s3:BucketObject favicon.png create @@ -36,7 +36,7 @@ A static website that uses [S3's website support](https://docs.aws.amazon.com/Am Updating (dev): Type Name Status + pulumi:pulumi:Stack aws-cs-s3-folder-dev created - + └─ aws:s3:Bucket my-bucket created + + └─ aws:s3:BucketV2 my-bucket created + ├─ aws:s3:BucketObject index.html created + └─ aws:s3:BucketObject favicon.png created diff --git a/aws-fs-s3-folder/aws-cs-s3-folder.fsproj b/aws-fs-s3-folder/aws-cs-s3-folder.fsproj index ecd932e85..effaa69e6 100644 --- a/aws-fs-s3-folder/aws-cs-s3-folder.fsproj +++ b/aws-fs-s3-folder/aws-cs-s3-folder.fsproj @@ -9,7 +9,7 @@ - +