Getting started with a Terraform product
AWS Service Catalog enables quick, self-service provisioning with governance for your
HashiCorp Terraform Open Source and Terraform Cloud
The steps in the following tutorial will help you get started with a Terraform Open Source or Terraform Cloud product in AWS Service Catalog.
As the catalog administrator, you work in a central administrator account (hub account). Both Terraform Open Source and Terraform Cloud products require a Terraform provisioning engine, which you can learn more about in Prerequisite: Configure your Terraform Open Source provisioning engine and Prerequisite: Configure your Terraform Cloud provisioning engine.
During the tutorial, you perform the following tasks in the administrator account:
-
Create a Terraform Open Source or Terraform Cloud product
-
Associate the product with a portfolio
-
Create a launch constraint to allow your end users to provision the product
-
Tag the product
-
Share the portfolio and the Terraform Open Source or Terraform Cloud product with the end user account (spoke account)
In the tutorial, you share a portfolio using the organization sharing option from the admin hub account, which is also the management account of the Organization. For more information on organization sharing, see Sharing a Portfolio.
The AWS resource contained in the Terraform Open Source or Terraform Cloud product you create in the tutorial is a simple Amazon S3 bucket.
Note
Before you begin, make sure that you complete the action items in Setting Up Service Catalog.
Topics
- Prerequisite: Configure your Terraform Open Source provisioning engine
- Prerequisite: Configure your Terraform Cloud provisioning engine
- Step 1: Terraform configuration file download
- Step 2: Create a Terraform product
- Step 3: Create a Service Catalog portfolio
- Step 4: Add product to portfolio
- Step 5: Create launch roles
- Step 6: Add a Launch constraint to your Terraform product
- Step 7: Grant end user access
- Step 8: Share portfolio with end user
- Step 9: Test the end user experience
- Step 10: Monitoring Terraform provisioning operations