CAPI API を作成する

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:8分
  • 既存の CAPI API がプロバイダーの CAPI インターフェイスと統合されていない場合は、API を作成できます。リソースブロックのステップは、操作が実行されるときに API メソッドを呼び出すことができます。

    始める前に

    • 必要なロール:admin
    • デフォルトの CAPI API を調べ、作成しているプロバイダーと製品が存在していないことを確認します。
    • プロバイダーに対する REST 呼び出しの作成方法を理解できるように、クラウドプロバイダー API に精通しておいてください。プロバイダー API に渡すことができるヘッダー、認証要件、エンドポイント、およびデータに精通していない場合は、独自の CAPI コンポーネントをビルドできません。

    このタスクについて

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

    手順

    1. クラウドアドミンポータルで、 設計 > Cloud API.
    2. [API] タブをクリックします。
    3. [新規] をクリックします。
    4. フォームフィールドに入力します (テーブルを参照)。
      フィールド 説明
      クラウド API わかりやすい名前を入力します。
      インターフェイス 必要な操作を提供する既存のインターフェイスから選択します。
      コネクター コネクターが、すぐに利用可能で、変更できない Java コネクターである場合、[スクリプトコネクター (Script Connector)] がこのフィールドに表示されます。これらのスクリプトコネクターを変更する必要はありません。
      製品 プロバイダーの一部である製品を選択します。製品はのリソースタイプが CMDB に含まれています。
      バージョン この API を識別するバージョン番号を指定します。この API が最初のバージョンの場合は、1.0 を入力します。同じ API の複数のバージョンを作成し、リソースブロックの操作ステップで特定のバージョンを参照できます。
      スクリプト化 このフィールドは、[インターフェイス] の値が [スクリプトコネクター (Script Connector)] の場合に選択されます。
      スクリプトタイプ スクリプトの言語を選択します。
      注:

      JavaScript をお勧めします。メソッドマッパーは、Javascript で書かれた MID サーバー スクリプトインクルードを使用します。

      ExecuteScriptOnInstance
      説明 この API の説明を入力します。
    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 の例
        このスクリプトインクルードには、次のコードが含まれます。
        
        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 列に格納されます。したがって、上書き値は $(CloudCredential.access_key) でなければなりません。
        アクセスキー
    8. API 設定の上書きで使用する設定パラメーターを作成する必要がある場合は、以下の手順に従います。
      1. [API 設定の上書き] フォームで、[設定パラメーター] フィールドのルックアップアイコンをクリックします。
      2. [設定パラメーター] ウィンドウで [新規] をクリックし、フォームに入力します。
        フィールド 説明
        設定パラメーター名 内容を端的に表す名前を入力します。
        デフォルト値 オプションのデフォルト値を設定します。
        エンドポイント このフィールドは読み取り専用です。
        説明 役立つ説明を入力します。
        設定データタイプ データのタイプを選択します。
        • 文字列
        • DateTime
        • 日付
        • パスワード
        • ブール
        設定タイプ 設定のタイプを選択します。
        • ヘッダー:この値を使用して、ヘッダーとして上書き値を渡します。API の一部として MID サーバー スクリプトインクルードがあり、this.headers をパラメーターとして使用する場合、上書き値はプロバイダー API に渡されます。
        • 設定
        • URI 設定
    9. 必要に応じて、クラウドプロバイダー API に対して操作を実行するスクリプトインクルードを変更します。
      1. クラウド API フォームの [CAPI メソッドマッパー] 関連リストで、CAPI インターフェイス操作の横にある情報アイコン (情報アイコン) をクリックします。
        CAPI インターフェイス操作名自体をクリックしないでください。
      2. [レコードを開く] をクリックします。
      3. 操作フォームで、次のフィールド値を変更できます。
        フィールド 説明
        エンドポイント操作 デフォルトの [スクリプトを実行] エンドポイント操作をそのまま使用します。
        サポートバージョン 通常は、この値を変更する必要がありません。

        API の異なるバージョンでメソッドマッパーを使用するように、サポートバージョンを変更します。デフォルトでは、メソッドマッパーは、所属する API と同じバージョン番号に設定されます。

      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 がロードバランサーを検索するために必要なものです。
        API 構成の上書き

        Google Cloud 統合の例については、MID サーバー JAR ファイルも必要です。

      6. [送信] をクリックします。
      7. 各操作のスクリプトインクルードを変更します。