---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Create a catalog item from the Terraform template

# Create a catalog item from the Terraform template {#ariaid-title1}

* Release version: Yokohama
* 
* Updated March 12, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Create a catalog item from the Terraform template to request cloud
resource provisioning. Activated catalog items appear in the cloud user portal.

## Before you begin

* Ensure that the Terraform template contains only one provider. Templates with multiple providers or provider aliases will fail validation.
* Ensure that an appropriate Terraform config provider is available. For more information on creating the config provider, see [Create a Terraform Open Source config provider](https://servicenow-prod.fluidtopics.net/MC9kz03hkBOFfsDUVmaWEw "Create a Terraform Open Source config provider in Cloud Provisioning and Governance. The Terraform Open Source config provider enables Cloud Provisioning and Governance to discover the Terraform Open Source config installables (Terraform templates) and detect changes in them.") and [Create a Terraform Enterprise or Terraform Cloud config provider](https://servicenow-prod.fluidtopics.net/fX_Edza6jve~3bieuQ9PDA "Create Terraform Enterprise or Terraform Cloud config provider in Cloud Provisioning and Governance. The config provider enables Cloud Provisioning and Governance to discover the workspaces and Version Control System (VCS) repositories attached to the Terraform organization.").
* Ensure that the Terraform template is working (that is, you can directly use the template with the Terraform system to provision the specified cloud resources). For more information on Terraform templates, see the [Terraform language
  documentation](https://www.terraform.io/language).
* Ensure that the provider block of the Terraform template adheres to the following syntax:  
  * Provider block syntax for the Microsoft Azure cloud:  

        provider "azurerm" {

          subscription_id = "${var.subscriptionId}"
          client_id       = "${var.clientId}"
          client_secret   = "${var.clientSecret}"
          tenant_id       = "${var.tenantId}"
        }

  * Provider block syntax for the Amazon Web Services cloud:  
    Important:  
    By default, the ServiceNow® Cloud Provisioning and Governance (CPG) Terraform Connector does not support AWS IAM role-based authentication when using Terraform templates.  

        provider "aws" {
          access_key      = "${var.access_key}"
          secret_key      = "${var.secret_key}"
          region          = "${var.region}"
        }

  * Provider block syntax for Google Cloud Platform  

        terraform {
          required_providers {
            google = {
              source  = "hashicorp/google"
              version = "5.10.0"
            }
          }
        }
         
        provider "google" {
          credentials = var.credentials
          project     = var.project
          region      = var.region
        }

  * Provider block syntax for VMware Cloud:  

        provider "vsphere" {
          user                  = "${var.user}"
          password              = "${var.password}"
          vsphere_server        = "${var.vsphere_server}"
        }

    Note:  
    Do not hard-code any credential in the Terraform template. Use appropriate Terraform variables to fetch the credentials from the ServiceNow AI Platform.
  {#catalog-item-terraform-template__ul_npm_wzl_v5b}
* Ensure that the variable definition file (variable.tf, .tfvars, or .tfvars.json) contains the definition of the variables used in the provider block.
* If you are using Terraform Enterprise or Terraform Cloud, ensure that the MID Server can connect with Version Control System (VCS) accounts provisioned in the Terraform organization.  
  To verify connectivity with the VCS accounts provisioned in the Terraform organization, execute the appropriate curl command on the MID Server.

  GitHub
  :

          curl -H "Authorization: <API credential> https://<github-api-host>/user/repos?per_page=100&page=1"

  GitLab
  :

          curl -H "Authorization: <API credential>" https://<gitlab-api-host>/api/v4/projects?visibility=private&per_page=100&page=1

  Microsoft Azure DevOps
  :

          curl -H "Authorization: <API credential> https://<azure-devops-api-host>/<organization>/<project>/_apis/git/repositories?api-version=6.0"


      Where,
      * organization is the name of the Microsoft Azure DevOps organization.
      * project is the name of the Microsoft Azure DevOps project.
      {#catalog-item-terraform-template__ul_mb3_ccp_55b}

  For more information on the API credentials, see [Cloud Provisioning and Governance: Terraform Connector API Key Credentials form reference](https://servicenow-prod.fluidtopics.net/H3aDpwRYyQ4MZpY6stK0CA "The Cloud Provisioning and Governance: Terraform Connector uses API key credentials to authenticate the requests sent to the Terraform Enterprise and Terraform Cloud and the version control systems provisioned in them.").

{#catalog-item-terraform-template__ul_sjy_drb_55b}

Role required: sn_cmp.cloud_service_designer

## About this task

The Cloud Provisioning and Governance: Terraform Connector app supports the following Terraform data types:

* string
* number
* bool
* list
* tuple
* map
* object
{#catalog-item-terraform-template__ul_k5g_phr_v5b}

## Procedure

1. Create a cloud catalog item.
   1. Navigate to AllCloud Provisioning and GovernanceCloud Admin Portal.  
      The Cloud Admin Portal opens in a new browser tab. {#catalog-item-terraform-template__cpg-access-cloud-admin-portal}
   2. Navigate to DesignCloud Catalog Items.
   3. Select New.
   4. On the form, fill in the fields.  
      {#catalog-item-terraform-template__table_ev2_rpb_55b__entry__2}

      | Field | Description |
      |-|-|
      | Name | Unique and descriptive name of the catalog item. |
      | Source | Source of the catalog item. Select Configuration Management Template from the drop-down list. |
      | Provider Type | Terraform config provider type that you want to use. * To use Terraform Enterprise or Terraform Cloud, select Terraform Enterprise. * To use a Linux-based Terraform Open Source server, select Terraform Environment. * To use a Windows-based Terraform Open Source server, select Terraform Windows Environment. {#catalog-item-terraform-template__ul_rxv_bhn_rhb} |
      | Provider | Name of the Terraform config provider that you want to use. |
      [Table 1. Cloud Catalog Item form]

      {#catalog-item-terraform-template__table_ev2_rpb_55b}
   5. Save the Cloud Catalog Item form.
   {#catalog-item-terraform-template__substeps_gks_xgh_ghb}
2. Associate a Terraform template with the catalog item.
   1. From the Cloud Templates related list, select New.
   2. From the Configuration installable drop-down list, select the Terraform template you want to use.
   3. Save the ServiceNow Cloud Templates Versions form.  
      Note:  
      A catalog item can include multiple versions of the cloud template, but only one version can be active.
   4. Select Activate to activate the cloud template.
   {#catalog-item-terraform-template__substeps_apl_fhh_ghb}
3. **Optional:** To add or remove catalog item form fields, edit the variable sets associated with the catalog item.
4. Select the Active check box to activate the catalog item.
5. Select Update.

## What to do next

Verify that the catalog item appears in the Cloud User Portal.

*[\>]: and then


