---
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


---

# CAPI API を作成する

# CAPI API を作成する {#ariaid-title1}

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

既存の CAPI API がプロバイダーの CAPI インターフェイスと統合されていない場合は、API を作成できます。リソースブロックのステップは、操作が実行されるときに API メソッドを呼び出すことができます。

## 始める前に

* 必要なロール：admin
* [デフォルトの CAPI API](https://servicenow-prod.fluidtopics.net/RVYVY3VEaDO94h7EjaAp~A "クラウドプロビジョニングとガバナンス アプリケーションには、デフォルトでいくつかの CAPI API が用意されています。") を調べ、作成しているプロバイダーと製品が存在していないことを確認します。
* プロバイダーに対する REST 呼び出しの作成方法を理解できるように、クラウドプロバイダー API に精通しておいてください。プロバイダー API に渡すことができるヘッダー、認証要件、エンドポイント、およびデータに精通していない場合は、独自の CAPI コンポーネントをビルドできません。

## このタスクについて

このトピックでは、CAPI API を作成する手順について説明します。また、CAPI、リソースブロック、詳細計画、および認証情報マッピングの構成についても説明します。

## 手順

1. クラウドアドミンポータルで、 Design (デザイン)Cloud API.
2. \[API\] タブをクリックします。
3. \[新規\] をクリックします。
4. フォームフィールドに入力します (テーブルを参照)。  
   {#create-api__table_ib1_q1k_v2b__entry__2}

   | フィールド | 説明 |
   |-|-|
   | クラウド API | わかりやすい名前を入力します。 |
   | インターフェイス | 必要な操作を提供する既存のインターフェイスから選択します。 |
   | コネクター | コネクターが、すぐに利用可能で、変更できない Java コネクターである場合、\[スクリプトコネクター (Script Connector)\] がこのフィールドに表示されます。これらのスクリプトコネクターを変更する必要はありません。 |
   | 製品 | プロバイダーの一部である製品を選択します。製品はのリソースタイプが CMDB に含まれています。 |
   | バージョン | この API を識別するバージョン番号を指定します。この API が最初のバージョンの場合は、<kbd class="ph userinput">1.0</kbd> を入力します。同じ API の複数のバージョンを作成し、リソースブロックの操作ステップで特定のバージョンを参照できます。 |
   | スクリプト化 | このフィールドは、\[インターフェイス\] の値が \[スクリプトコネクター (Script Connector)\] の場合に選択されます。 |
   | スクリプトタイプ | スクリプトの言語を選択します。 注: JavaScript をお勧めします。メソッドマッパーは、Javascript で書かれた MID サーバー スクリプトインクルードを使用します。 |
   | ExecuteScriptOnInstance |   |
   | 説明 | この API の説明を入力します。 |
   [ ]

   {#create-api__table_ib1_q1k_v2b}
5. 必要なすべての操作が \[CAPI メソッドマッパー\] 関連リストに表示されていることを確認します。  
   \[CAPI メソッドマッパー\] リストの操作は、選択したインターフェイスの操作と同じです。これらはこの API にバインドされます。リストに対して操作を追加することも削除することもできません。一部の操作、特に Azure 操作は、API の実際の実装を実行する MID サーバー スクリプトインクルードを使用します。このスクリプトには、AWS や Azure などのプロバイダーの REST API の呼び出しが含まれます。この API はプロバイダーのドキュメントに記されています。
6. CAPI メソッドマッパーのスクリプトインクルードを表示するには、次の手順を実行します。
   1. ![\[CAPI メソッドマッパー\]]() 関連リストの歯車アイコン (歯車アイコン) をクリックし、\[要求スクリプト\] フィールドを \[選択済み\] 列に追加して \[OK\] をクリックします。  
      これで MID サーバー スクリプトインクルードがメソッドマッパーのリストに表示されます。
   2. スクリプトの名前をクリックすると、スクリプトインクルードが表示されます。  
      この例では、CreateNode 操作は azure-compute-1.0-CreateNode スクリプトインクルードを使用します。  
      このスクリプトインクルードには、次のコードが含まれます。


          createNode();
          function createNode(){
             var acp = new AzureComputeVirtualMachine(this.parameters, this.headers);
              //this passes the parameters and headers into the AzureComputeVirtualMachine script include.
             var vm = acp.createVirtualMachine();

             return vm;
          }

      このコードは、デフォルトで クラウドプロビジョニングとガバナンス アプリケーションで使用できる AzureComputeVirtualMachine スクリプトインクルードを呼び出すことに注意してください。ここには、仮想マシンに対する Azure への API 呼び出しがすべて含まれます。
7. 必要な認証情報をクラウドプロバイダーに渡す API 設定の上書きを作成します。  
   また、クラウドプロバイダー REST API に必要なヘッダー情報を渡す必要があります。インスタンスがクラウドプロバイダー API に REST 呼び出しを行うときに認証情報データが含まれないので、API 設定の上書きが必要です。  
   ヒント:  
   どの API 設定の上書きを作成するかわからない場合は、CAPI に存在する類似の API を調べ、同じ上書きを使用します。たとえば、AWS ストレージなどの API を作成する場合は、AWS Block Storage や AWS Compute などの他の AWS API を確認してください。
   1. \[API 設定の上書き\] 関連リストで、\[新規\] をクリックします。
   2. ルックアップアイコンをクリックし、既存の設定パラメーターを選択します。  
      デフォルトで、\[ID\] や \[認証情報\] など、多くの役立つパラメーターが用意されています。
   3. 上書き値を入力します。  
      静的値を設定するか、`$(CloudCredential.attribute_name)` の形式でシステムから値をプルできます。`CloudCredential` の部分は認証情報ストアからロックを解除します。`attribute_name` の部分は、取得しようとしている特定の認証情報、エイリアス、またはエンドポイント URL に依存する属性です。  
      次の場所に移動します 接続と資格情報認証情報 をクリックし、AWS 認証情報を開くと、\[ アクセスキー ID \] フィールドを右クリックして、アクセスキーが保存されている認証情報テーブルの列の名前を確認できます。この場合、アクセスキーは `access_key` 列に格納されます。したがって、上書き値は <kbd class="ph userinput">$(CloudCredential.access_key)</kbd> でなければなりません。
8. API 設定の上書きで使用する設定パラメーターを作成する必要がある場合は、以下の手順に従います。
   1. \[API 設定の上書き\] フォームで、\[設定パラメーター\] フィールドのルックアップアイコンをクリックします。
   2. \[設定パラメーター\] ウィンドウで \[新規\] をクリックし、フォームに入力します。  
      {#create-api__table_fbs_y4b_n2b__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 設定パラメーター名 | 内容を端的に表す名前を入力します。 |
      | デフォルト値 | オプションのデフォルト値を設定します。 |
      | エンドポイント | このフィールドは読み取り専用です。 |
      | 説明 | 役立つ説明を入力します。 |
      | 設定データタイプ | データのタイプを選択します。 * 文字列 * DateTime * 日付 * 長 * パスワード * ブール {#create-api__ul_x3g_f5b_n2b} |
      | 設定タイプ | 設定のタイプを選択します。 * ヘッダー：この値を使用して、ヘッダーとして上書き値を渡します。API の一部として MID サーバー スクリプトインクルードがあり、`this.headers` をパラメーターとして使用する場合、上書き値はプロバイダー API に渡されます。 * 設定 * URI 設定 {#create-api__ul_i53_35b_n2b} |
      [ ]

      {#create-api__table_fbs_y4b_n2b}
9. 必要に応じて、クラウドプロバイダー API に対して操作を実行するスクリプトインクルードを変更します。
   1. クラウド API フォームの \[CAPI メソッドマッパー\] 関連リストで、CAPI インターフェイス操作の横にある情報アイコン (![情報アイコン]()) をクリックします。  
      CAPI インターフェイス操作名自体をクリックしないでください。
   2. \[レコードを開く\] をクリックします。
   3. 操作フォームで、次のフィールド値を変更できます。  
      {#create-api__table_y4k_xyb_n2b__entry__2}

      | フィールド | 説明 |
      |-|-|
      | エンドポイント操作 | デフォルトの \[スクリプトを実行\] エンドポイント操作をそのまま使用します。 |
      | サポートバージョン | 通常は、この値を変更する必要がありません。 API の異なるバージョンでメソッドマッパーを使用するように、サポートバージョンを変更します。デフォルトでは、メソッドマッパーは、所属する API と同じバージョン番号に設定されます。 |
      |   |   |
      [ ]

      {#create-api__table_y4k_xyb_n2b}
   4. \[要求スクリプト\] フィールドで、プレースホルダー MID サーバー スクリプトインクルードの横にある情報アイコン (![情報アイコン]()) をクリックして変更します。
   5. スクリプトインクルードフォームで、スクリプトを作成します。  
      次の JavaScript 例では、Azure ロードバランサーを一覧表示します。役に立つコメントをメモしてください。  


          getResourceInfo();

          function getResourceInfo() {
          	var anpi = new AzureLoadBalancer(this.parameters, this.headers);
                 
                 //this calls the 'AzureLoadBalancer' MID サーバー script include, which in turn
                 //calls the 'AzureCloudAPIBase' script include, both of which 
                 //are already in your instance by default. 
                 //The 'AzureCloudBase' script include runs a query for resources of a given type in a
          	//specified region.

          	var items = anpi.listResourcesByRegionOrIDs();
                 //This function is in the 'AzureCloudAPIBase' script include. It calls the Azure API.

          	return items;
          }

      この操作に提供される上書きは、クライアント ID、テナント ID、シークレットキー、エンドポイント URL など、Azure がロードバランサーを検索するために必要なものです。

      Google Cloud 統合の例については、MID サーバー JAR ファイルも必要です。
   6. \[送信\] をクリックします。
   7. 各操作のスクリプトインクルードを変更します。

