---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Terraform テンプレートからのカタログアイテムの作成

# Terraform テンプレートからのカタログアイテムの作成 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：6分

Terraform テンプレートからカタログアイテムを作成して、クラウドリソースのプロビジョニングを要求します。アクティブ化されたカタログアイテムは、クラウドユーザーポータルに表示されます。

## 始める前に

* 適切な Terraform 構成プロバイダーが利用可能であることを確認します。構成プロバイダーの作成の詳細については、「[Terraform Open Source 構成プロバイダーの作成](https://servicenow-prod.fluidtopics.net/Z1IW1VyQOUi7wY9mlcSqCg "クラウドプロビジョニングとガバナンス に Terraform Open Source 構成プロバイダーを作成します。Terraform Open Source 構成プロバイダーを使用すると、クラウドプロビジョニングとガバナンス によってインストール可能な Terraform Open Source 構成 (Terraform テンプレート) を検出し、その変更を検出できます。")」および「[Terraform Enterprise または Terraform Cloud 構成プロバイダーの作成](https://servicenow-prod.fluidtopics.net/CQeO6on_fFXFy01Aq3tAGQ "クラウドプロビジョニングとガバナンス に Terraform Enterprise または Terraform Cloud 構成プロバイダーを作成します。構成プロバイダーによって、クラウドプロビジョニングとガバナンス は Terraform 組織に添付されたワークスペースとバージョン管理システム (VCS) リポジトリを検出できます。")」を参照してください。
* Terraform テンプレートが機能していることを確認します (つまり、Terraform システムでテンプレートを直接使用して、指定されたクラウドリソースをプロビジョニングできます)。Terraformテンプレートの詳細については、 [Terraform 言語ドキュメント](https://www.terraform.io/language).
* Terraform テンプレートの provider ブロックが次の構文に従っていることを確認します。  
  * Microsoft Azure クラウドの provider ブロックの構文：  

        provider "azurerm" {

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

  * Amazon Web サービス クラウドの provider ブロックの構文：  

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

  * Google Cloud Platform の provider ブロックの構文  

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

  * VMware Cloud の provider ブロックの構文：  

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

    注:  
    Terraform テンプレートに認証情報をハードコーディングしないでください。適切な Terraform 変数を使用して、Now Platform から認証情報をフェッチしてください。
  {#catalog-item-terraform-template__ul_npm_wzl_v5b}
* 変数定義ファイル (variable.tf、.tfvars、または .tfvars.json) に、provider ブロックで使用される変数の定義が含まれていることを確認します。
* Terraform Enterprise または Terraform Cloudを使用している場合は、MID サーバー が Terraform 組織でプロビジョニングされたバージョン管理システム (VCS) アカウントに接続できることを確認してください。  
  Terraform 組織でプロビジョニングされた VCS アカウントとの接続を確認するには、MID サーバー で適切な curl コマンドを実行します。

  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"


      ここで、
      * organization は、Microsoft Azure DevOps 組織の名前です。
      * project は、Microsoft Azure DevOps プロジェクトの名前です。
      {#catalog-item-terraform-template__ul_mb3_ccp_55b}

  API 認証情報の詳細については、「[\[クラウドプロビジョニングとガバナンス：Terraform Connector API キー認証情報\] フォームの参照](Ivu5p_KYe1Kx3x7TcZEilg "クラウドプロビジョニングとガバナンス：Terraform Connector は、API キー認証情報を使用して、Terraform Enterprise および Terraform Cloud に送信された要求、およびそれらにプロビジョニングされたバージョン管理システムを認証します。")」を参照してください。

{#catalog-item-terraform-template__ul_sjy_drb_55b}

必要なロール：sn_cmp.cloud_service_designer

## このタスクについて

クラウドプロビジョニングとガバナンス：Terraform Connector アプリは、次の Terraform データタイプをサポートしています。

* 文字列
* 番号
* ブール
* リスト
* タプル
* マップ
* オブジェクト
{#catalog-item-terraform-template__ul_k5g_phr_v5b}

## 手順

1. クラウドカタログアイテムを作成します。
   1. 移動先 すべてCloud Provisioning and Governanceクラウドアドミンポータル.  
      クラウドアドミンポータルが新しいブラウザタブで開きます。 {#catalog-item-terraform-template__cpg-access-cloud-admin-portal}
   2. 移動先 Design (デザイン)クラウドカタログアイテム.
   3. \[新規\] を選択します。
   4. フォームのフィールドに入力します。  
      {#catalog-item-terraform-template__table_ev2_rpb_55b__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | カタログアイテムの一意の分かりやすい名前。 |
      | ソース | カタログアイテムのソース。 ドロップダウンリストで \[構成管理テンプレート\] を選択します。 |
      | プロバイダータイプ | 使用する Terraform 構成プロバイダータイプ。 * Terraform Enterprise または Terraform Cloud を使用するには、\[Terraform Enterprise\] を選択します。 * Linux ベースの Terraform Open Source サーバーを使用するには、\[Terraform 環境 (Terraform Environment)\] を選択します。 * Windows ベースの Terraform Open Source サーバーを使用するには、\[Terraform Windows 環境 (Terraform Windows Environment)\] を選択します。 {#catalog-item-terraform-template__ul_rxv_bhn_rhb} |
      | プロバイダー | 使用する Terraform 構成プロバイダーの名前。 |
      [表 : 1. クラウドカタログアイテムフォーム]

      {#catalog-item-terraform-template__table_ev2_rpb_55b}
   5. \[クラウドカタログアイテム\] フォームを保存します。
   {#catalog-item-terraform-template__substeps_gks_xgh_ghb}
2. Terraform テンプレートをカタログアイテムに関連付けます。
   1. \[クラウドテンプレート\] 関連リストで、\[新規\] を選択します。
   2. \[インストール可能な構成\] ドロップダウンリストで、使用する Terraform テンプレートを選択します。
   3. \[ServiceNow クラウドテンプレートバージョン\] フォームを保存します。  
      注:  
      カタログアイテムには複数のバージョンのクラウドテンプレートを含めることができますが、有効にできるバージョンは 1 つだけです。
   4. \[アクティブ化 (Activate)\]を選択して、クラウドテンプレートをアクティブ化します。
   {#catalog-item-terraform-template__substeps_apl_fhh_ghb}
3. **オプション:** カタログアイテムフォームのフィールドを追加または削除するには、カタログアイテムに関連付けられた変数セットを編集します。
4. \[アクティブ\] チェックボックスを選択して、カタログアイテムを有効にします。
5. \[更新\] を選択します。

## 次のタスク

カタログアイテムがクラウドユーザーポータルに表示されることを確認します。

