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


---

# MID サーバー スクリプトインクルード内の CAPI クラス

# MID サーバー スクリプトインクルード内の CAPI クラス {#ariaid-title1}

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

クラウドプロビジョニングとガバナンス には、クラウドプロバイダーに対して REST 呼び出しを行う JavaScript クラスが複数用意されています。これらのクラスは、MID サーバー スクリプトインクルードから (デフォルトで Azure の場合)、またはシステム内の Java 呼び出しから (デフォルトで AWS の場合) 呼び出されます。カスタムプロバイダー、インターフェイス、または CAPI API (任意のクラウドプロバイダー) を作成する場合は、MID サーバー スクリプトインクルードを使用してクラスを呼び出すことができます。
注:  
CAPI API では、AWS クラスを呼び出すようにカスタマイズできる MID サーバー スクリプトインクルードは (メソッドマッパー内に) ありません。デフォルトでは、AWS 用の CAPI API は、Java 呼び出しを行い、続いて AWS クラスを呼び出します。ただし、CAPI API を作成する場合は、クラスを呼び出すカスタムスクリプトインクルードを作成することもできます。

CAPI クラスを表示するには、次の場所に移動します。 MID サーバースクリプトインクルード ベースシステム インスタンスインターフェイス (クラウドアドミンポータル ではない) で。\[名前\] 列を使用して \[検索先 (Go to)\] 検索ボックスでクラスの名前を検索します。

## 基底クラス {#mid-server-script-includes__section_ebm_xfp_x2b}

これらの基底クラスは、デフォルトで使用できます。これらは、実際の REST 呼び出しを行う Azure クラスと AWS クラスの基盤を成します。  

CloudAPIBase

:   CloudAPIBase は、すべての種類のクラウド API と通信するプロバイダーに依存しない API です。基本的なデバッグとログ記録、および MID サーバー に関するプロキシ情報の収集を行う関数を提供します。また、ヘッダー、パラメーター、エンドポイント、および `this.parameter` も定義します。

AWSCloudAPIBase
:   このクラスは CloudAPIBase から拡張され、呼び出し元を呼び出して GET、PUT、POST、および DELETE 要求を行う関数を提供します。このクラスには、GET の AWS 実装である `executeAction` メソッド、または REST API 呼び出しを提供する invoke メソッドのオプションが用意されています。

AzureCloudAPIBase

:   このクラスは CloudAPIBase から拡張され、次のアクションを実行する関数を提供します。

    * リソース ID をフェッチする。
    * エンドポイントプロパティをフェッチする。
    * リソースを一覧表示する。
    * 呼び出し元を呼び出して、GET、PUT、POST、および DELETE の各要求を行う。
    {#mid-server-script-includes__ul_b3c_bdg_dfb}

AzureCloudAPIBase は、`_invokeRequest` メソッドを利用して、標準の REST API 呼び出しを使用した Azure に対する REST API 呼び出しを行います。  
図 : 1. ベース API

## 呼び出し元クラス {#mid-server-script-includes__section_dxf_qp4_2fb}

呼び出し元クラスは、クラウドプロバイダーに対して実際の REST 呼び出しを実行します。カスタム CAPI インターフェイスと API を作成する場合、CloudRestAPIInvoker を拡張して REST 呼び出しを作成する必要があります。  

CloudRestAPIInvoker

:   このクラスは、REST API 呼び出しを行うための抽象化されたクラスです。要求と共に送信するヘッダーやパラメーターがある場合、呼び出し元を実装するクラスはこのオブジェクトを拡張する必要があります。また、ターゲットエンドポイントを返す getEndpointUrl の上書きや getHeaders および getParameters の上書きを提供する必要もあります。たとえば、Azure REST API では、認証にトークンをヘッダーとして渡す必要があります。これを実装した拡張オブジェクトは、トークンの作成または取得を実行し、その設定を行う getHeaders からの応答を提供する必要があります。この基本オブジェクトは、getHeaders を呼び出し、戻されたものをすべて要求とともに送信します。このクラスは、クラウドプロバイダーからの応答を処理する getResponse メソッドも提供します。

    カスタム CAPI API を作成する場合は、クラウドプロバイダーに REST 呼び出しを行うように CloudRestAPIInvoker を拡張する必要があります。

AmazonWebServicesAPIInvoker
:   このクラスは、CloudRestAPIInvoker から拡張され、クラウドプロバイダーに REST API 呼び出しを行うためのメソッドを提供します。

AzureAPIInvoker
:   このクラスは、CloudRestAPIInvoker から拡張され、Azure Resource Manager にこれらの REST API 呼び出しを行う関数を提供します。

    * REST 呼び出しのサービスプリンシパル、ヘッダー、およびパラメーターを設定します。
    * エンドポイント URL、トークン (クライアント ID、テナント ID、およびシークレットキー)、およびヘッダー/パラメーターを取得します。
    * JSON 応答本文を取得して、クラウドプロバイダーからデコードします。
    {#mid-server-script-includes__ul_ocg_jkg_dfb}

AzureEAAPIInvoker
:   このクラスは、Azure Enterprise Agreement (EA) REST API にアクセスするためのトークンを返します。

AzureStorageAPIInvoker
:   このクラスは、Azure ストレージの REST 呼び出しを行います。このクラスの関数は、トークン、応答、ヘッダー、およびパラメーターを取得できます。

次の図は、これらの基底クラスを使用して AWS 固有のクラスと Azure 固有のクラスを拡張する方法を示しています。  
図 : 2. REST 呼び出しの呼び出し

## 例外 {#mid-server-script-includes__section_otl_xp4_2fb}

RESTAPIException
:   この基底クラスは、REST 呼び出し中に発生する可能性のある例外を処理します。クラウドプロバイダーからの応答コードを返します。

AWSAPIException
:   このクラスは、REST 呼び出し中に発生する可能性のある例外を処理します。

AzureAPIException
: このクラスは、Azure API の呼び出し中に必要な場合にランタイム例外をスローします。  
図 : 3. 例外の処理

## 認証情報のクラス {#mid-server-script-includes__section_nz2_5fp_x2b}

CloudRESTRequestSigningUtil

:   このクラスは、CAPI API 設定の上書きで指定された上書きを使用します。AmazonWebServicesRequestSigner クラスは、このクラスを拡張します。Azure では、多くの署名者が Azure CAPI API のメソッドマッパー用の MID サーバー スクリプトインクルードに組み込まれています。

AmazonWebServicesRequestSigner
:   このクラスは、要求に関する情報を取得し、要求の [signature v4](http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) 署名文字列を作成することで、REST API 呼び出しのセキュアセッションを設定します。このクラスは、CloudRESTRequestSigningUtil から拡張されます。

## その他の Azure クラス {#mid-server-script-includes__section_m22_vfp_x2b}

{#mid-server-script-includes__table_cx5_2fx_2fb__entry__2}

| クラス | 説明 |
|-|-|
| AzureAlertRule | Azure アラートルールを作成および削除するクラス。 |
| AzureAuthorizationPolicy | タグポリシーを割り当てるクラス。 |
| AzureComputeAvailabilitySet | Azure 可用性セットをフェッチするクラス。参照：https://docs.microsoft.com/en-us/rest/api/compute/availabilitysets |
| AzureComputeHardware | Azure サイズをフェッチするクラス。参照：https://docs.microsoft.com/en-us/rest/api/compute/virtualmachinesizes |
| AzureComputeImage | イメージに対する Azure API 呼び出しを処理するクラス。参照：https://docs.microsoft.com/en-us/rest/api/manageddisks/images/images-rest-api |
| AzureComputeVirtualMachine | 仮想マシンに対する Azure API 呼び出しを処理するクラス。参照：https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines VM Size and Capacities: https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-sizes Cloud-Init supported Versions: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init |
| AzureDeployment | Azure ARM テンプレートのデプロイを処理するクラス。 |
| AzureDeploymentOperation | Azure ARM テンプレートのデプロイ操作を処理するクラス。 |
| AzureImages | Azure イメージを処理するクラス。 |
| AzureLoadBalancer | ロードバランサーに対する Azure API 呼び出しを処理するクラス。参照：https://msdn.microsoft.com/en-us/library/azure/mt163651.aspx |
| AzureLocalNetworkGateways | ローカルネットワークゲートウェイを作成および取得するクラス。 |
| AzureNetworkNIC | ネットワークインターフェイスカードに対する Azure API 呼び出しを処理するクラス。参照：https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx |
| AzureNetworkPublicIP | パブリック IP アドレスに対する Azure API 呼び出しを処理するクラス。参照：https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx |
| AzureNetworkRouter | ルーティングテーブルに対する Azure API 呼び出しを処理するクラス。参照：https://docs.microsoft.com/en-us/rest/api/network/route-tables |
| AzureNetworkSecurityGroup | ネットワークインターフェイスカードに対する Azure API 呼び出しを処理するクラス。参照：https://msdn.microsoft.com/en-us/library/azure/mt163579.aspx |
| AzureNetworkVirtualNetwork | 仮想ネットワークに対する Azure API 呼び出しを処理するクラス。 |
| AzureProvider | プロバイダーの URL やバージョンなど、Azure プロバイダーの詳細を取得するクラス。 |
| AzureRegion | Azure リージョンをフェッチするクラス。 |
| AzureResource | パラメーター内の ObjectID で参照されるオブジェクトを処理します。また、API バージョンもフェッチします。このクラスは、主にサポートされていないタイプを取得したり、リソースを削除したりすることを目的としています。 |
| AzureResourceGroupManager | Azure ARM リソース グループを処理するクラス。 |
| AzureResponseUtil | Azure API の応答を DTO オブジェクトに変換するクラス。 |
| AzureStorageAccount | ｓストレージアカウントに対する Azure API 呼び出しを処理するクラス。参照：//https://msdn.microsoft.com/en-us/library/azure/mt163638.aspx |
| AzureStorageBlob | ストレージコンテナーと BLOB を作成および操作するクラス。 |
| AzureStorageManagedDisk | 管理対象ディスクに対する Azure API 呼び出しを処理するクラス。参照：https://docs.microsoft.com/en-us/rest/api/manageddisks/disks/disks-create-or-update |
| AzureSubscription | Azure サブスクリプションをフェッチするクラス。 |
| AzureVirtualNetworkGateways | 仮想ネットワークゲートウェイを作成および操作するクラス。 |
| AzureCloudEAAPIBase | Azure EA API ハンドラーの基本オブジェクト。Azure EA API には、https://consumption.azure.com の基本 URL が含まれ、そのパスに登録番号が必要です。このクラスは、EnrollmentNumber と EnrollmentToken のパラメーターのマーシャリングを処理します。 |
[表 : 1. AzureCloudAPIBase を拡張するクラス]

{#mid-server-script-includes__table_cx5_2fx_2fb}

## その他の AWS クラス {#mid-server-script-includes__section_k45_lzv_2fb}

{#mid-server-script-includes__table_dct_f3x_2fb__entry__2}

| クラス | 説明 |
|-|-|
| AmazonImages | Amazon マシンイメージを処理するクラス。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html |
| AmazonResponseProcessorUtil | AWS REST API 応答を処理するクラス。 |
| AWSAutoScalingGroups | AWS API 呼び出しを処理し、[自動スケーリンググループ](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateAutoScalingGroup.html)を作成および操作するためのクラス 。 |
| AWSCloudFormation | AWS CloudFormation API 呼び出しのハンドラー。 |
| AWSEC2 | AWS EC2 API 呼び出しのハンドラー。 |
| AWSKeyValuePair | キーペアをインポートおよび操作するクラス。 |
| AWSLaunchConfigurations | ヘルパークラス。 |
| AWSS3 | AWS S3 API 呼び出しのハンドラー。 |
| AWSTopics | [AWS トピック](http://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html)を含むクラス 。 |
[ ]

{#mid-server-script-includes__table_dct_f3x_2fb}

