Host a static website on Amazon S3, written in HCL
A static website hosted on AWS S3, written in HCL
This example lives in the pulumi/examples repository. Check out just this directory to use it:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set aws-hcl-s3-foldercd pulumi-examples/aws-hcl-s3-folderA static website that uses S3’s website support, written in Pulumi HCL. Pulumi installs the HCL language plugin and the Terraform AWS provider automatically the first time you run the program.
Note: some values in this example will be different from run to run. These values are indicated
with ***.
Prerequisites#
Deploying the example#
-
Create a new stack:
Terminal window pulumi stack init website-testing -
Set the AWS region to deploy into:
Terminal window pulumi config set aws:region us-west-2 -
Deploy the stack:
Terminal window pulumi upUpdating (website-testing)Type Name Status+ pulumi:pulumi:Stack aws-hcl-s3-folder-website-testing created+ ├─ aws:s3:Bucket site_bucket created+ ├─ aws:s3:BucketWebsiteConfiguration site_config created+ ├─ aws:s3:BucketPublicAccessBlock public_access_block created+ ├─ aws:s3:BucketObject site_files["favicon.png"] created+ ├─ aws:s3:BucketObject site_files["index.html"] created+ └─ aws:s3:BucketPolicy bucket_policy createdResources:+ 7 createdDuration: *** -
To see the resources that were created, run
pulumi stack output:Terminal window pulumi stack outputCurrent stack outputs (2):OUTPUT VALUEbucket_name s3-website-bucket***website_url ***.s3-website-us-west-2.amazonaws.com -
Open the site URL in a browser to see both the rendered HTML and the favicon:
Terminal window pulumi stack output website_url***.s3-website-us-west-2.amazonaws.com
Cleaning up#
Once you’re finished experimenting, you can destroy your stack and remove it to avoid incurring any additional cost:
pulumi destroypulumi stack rm