A static website that uses S3's website support. For a detailed walkthrough of this example, see the tutorial Static Website on AWS S3.
Note: Some resources are not yet supported by the Native AWS provider, so we are using both the Native and Classic provider in this example. The resources will be updated to use native resources as they are available in AWS's Cloud Control API.
Note: some values in this example will be different from run to run. These values are indicated
with ***
.
-
Set the AWS region:
Either using an environment variable
$ export AWS_REGION=us-west-2
Or with the stack config
$ pulumi config set aws:region us-west-2 $ pulumi config set aws-native:region us-west-2
-
Run
pulumi up
to preview and deploy changes. After the preview is shown you will be prompted if you want to continue or not.$ pulumi up Previewing update (dev) View Live: https://app.pulumi.com/***/aws-java-s3-folder/dev/previews/e251093a-d128-4ed3-a230-4e98888aed84 Type Name Plan Info + pulumi:pulumi:Stack aws-java-s3-folder-dev create 6 messages + ├─ aws-native:s3:Bucket s3-website-bucket create + ├─ aws:s3:BucketPolicy bucketPolicy create + ├─ aws:s3:BucketObject index.html create + └─ aws:s3:BucketObject favicon.ico create Diagnostics: pulumi:pulumi:Stack (aws-java-s3-folder-dev): > Task :app:compileJava UP-TO-DATE > Task :app:processResources NO-SOURCE > Task :app:classes UP-TO-DATE > Task :app:run BUILD SUCCESSFUL in 3s 2 actionable tasks: 1 executed, 1 up-to-date Updating (dev) View Live: https://app.pulumi.com/***/aws-java-s3-folder/dev/updates/1 Type Name Status Info + pulumi:pulumi:Stack aws-java-s3-folder-dev created 6 messages + ├─ aws-native:s3:Bucket s3-website-bucket created + ├─ aws:s3:BucketPolicy bucketPolicy created + ├─ aws:s3:BucketObject index.html created + └─ aws:s3:BucketObject favicon.ico created Diagnostics: pulumi:pulumi:Stack (aws-java-s3-folder-dev): > Task :app:compileJava UP-TO-DATE > Task :app:processResources NO-SOURCE > Task :app:classes UP-TO-DATE > Task :app:run BUILD SUCCESSFUL in 1m 5s 2 actionable tasks: 1 executed, 1 up-to-date Outputs: bucketName: "s3-website-bucket-***" urn : "***" websiteUrl: "http://s3-website-bucket-***.s3-website-us-west-2.amazonaws.com" Resources: + 5 created Duration: 1m6s
-
To see the resources that were created, run
pulumi stack output
:$ pulumi stack output Current stack outputs (3): OUTPUT VALUE bucketName s3-website-bucket-*** urn urn:pulumi:dev::aws-java-s3-folder::pulumi:pulumi:Stack::aws-java-s3-folder-dev websiteUrl http://s3-website-bucket-***.s3-website-us-west-2.amazonaws.com
-
To see that the S3 objects exist, you can either use the AWS Console or the AWS CLI:
$ aws s3 ls $(pulumi stack output bucketName) 2022-02-17 14:11:54 13731 favicon.ico 2022-02-17 14:11:54 198 index.html
-
Open the site URL in a browser to see both the rendered HTML and the favicon:
$ pulumi stack output websiteUrl http://s3-website-bucket-***.s3-website-us-west-2.amazonaws.com
-
To clean up resources, run
pulumi destroy
and answer the confirmation question at the prompt.