Launch Amazon Service Catalog products with Terraform - Amazon Launch Wizard
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Launch Amazon Service Catalog products with Terraform

The official HashiCorp Amazon provider supports Amazon Service Catalog resources. You can launch products created with Launch Wizard and saved to Amazon Service Catalog using Terraform. Or, you can integrate the products with their existing Terraform workflows. Administrators can create Amazon Service Catalog portfolios and add Launch Wizard products to them using Terraform.

Prerequisites for using Terraform to launch products:
  • You must create a deployment using Launch Wizard by choosing the Create an Amazon Service Catalog product option in the infrastructure settings in Launch Wizard. For more information, see Define infrastructure.

  • The Terraform user that authenticates the Amazon account must have access to the Amazon Service Catalog products. For more information, see Amazon Provider in the Terraform documentation.

  • The IAM user that authenticates the Amazon account must have permissions to use the Amazon Service Catalog products created by Launch Wizard. For steps to grant access to users, see Granting Access to Users in the Amazon Service Catalog User Guide.

The Terraform resource named aws_servicecatalog_product is used to launch the Amazon Service Catalog product created with Launch Wizard.

Example Terraform script

The following example Terraform script launches a single node HANA database instance with a single node HANA product (prod-abc1234546) created with Launch Wizard using the product version ID (pa-xyz12345). In this example, the hostname for HANA and the SID for HANA DB are passed to override the defaults, and the remaining parameters are set to the defaults in the Amazon Service Catalog product.

terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 3.54.0" } } } provider "aws" { profile = "default" region = "us-east-1" } resource "random_id" "id" { byte_length = 8 } #Confirm user can launch product - No launch paths has many reasons for failure. resource "aws_servicecatalog_provisioned_product" "singlenodehana" { name = "tef-${random_id.id.hex}" product_id = "prod-abc1234546" provisioning_artifact_id = "pa-xyz12345" provisioning_parameters { key = "HANASID" value = "HDB" } provisioning_parameters { key = "HANAHostname" value = "saphanadev" } tags = { TFLaunched= "True" } }

Note that the environment variables authentication mechanism is used in this example.