Edge for Private Cloud v. 4.16.09
Edge Management API を呼び出して実施する場合と同じ Edge 構成タスクを、apigee-adminapi.sh ユーティリティを使用して実施します。apigee-adminapi.sh ユーティリティの利点は次のとおりです。
- シンプルなコマンドライン インターフェースを使用できる。
- タブベースのコマンド補完が実装される。
- ヘルプと使用方法の情報が提供される。
- API を試したい場合、対応する API 呼び出しを表示できる。
apigee-adminapi.sh ユーティリティは、apigee-provision ユーティリティに代わるものではありません。apigee-provision ユーティリティは、実際には apigee-adminapi.sh ユーティリティを使用してタスクを実行します。
両者には主に次のような違いがあります。
- apigee-adminapi.sh ユーティリティは、個々の Edge API 呼び出しを置き換えるアトミック関数を実行します。たとえば、組織、環境、仮想ホストを作成するには、3 つの API 呼び出しに対応する 3 つの別々の apigee-adminapi.sh コマンドが必要です。
- apigee-provision ユーティリティは、単一のコマンドで完全な高レベルのオペレーションを実行するように設計されています。たとえば、必要なすべての情報を含む構成ファイルを渡すことによって、単一の apigee-provision コマンドで組織、環境、仮想ホストを作成できます。
Edge のドキュメントでは、必要に応じて両方のユーティリティを使用しています。
apigee-adminapi.sh をインストールする
apigee-adminapi.sh ユーティリティは、apigee-provision ユーティリティまたは apigee-validate ユーティリティをインストールすると自動的にインストールされます。
このユーティリティは次の場所にインストールされます。
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh
apigee-adminapi.sh の構文
apigee-adminapi.sh ユーティリティは、単純なコマンドライン構文を使用します。タブキーを使用すると、使用可能なコマンド オプションを一覧表示するプロンプトをいつでも表示できます。
すべての有効なコマンドを表示するには、オプションなしでユーティリティを起動します。
> apigee-adminapi.sh
「apigee-adminapi.sh」と入力した後にタブキーを押すと、有効なオプションのリストが表示されます。
analytics classification logsessions regions securityprofile userroles buildinfo GET orgs runtime servers users
Tab キーを使用すると、コマンドのコンテキストに基づいてオプションが表示されます。次のように入力してからタブキーを押すと、
> apigee-adminapi.sh orgs
orgs コマンドを完了するためのオプションが表示されます。
add apis apps delete envs list pods userroles
-h オプションを使用すると、任意のコマンドのヘルプが表示されます。たとえば、次のように -h オプションを使用すると、
> apigee-adminapi.sh orgs -h
このユーティリティは、orgs コマンドに指定可能なすべてのオプションに関する完全なヘルプ情報を表示します。出力の最初の項目は、「orgs add」コマンドのヘルプを示しています。
+++++++++++++++++++++++++++++++++++++++++++ orgs add Required: -o ORG Organization name Optional: -H HEADER add http header in request --admin ADMIN_EMAIL admin email address --pwd ADMIN_PASSWORD admin password --host EDGE_SERVER edge server to make request to --port EDGE_PORT port to use for the http request --ssl set EDGE_PROTO to https, defaults to http --debug ( set in debug mode, turns on verbose in curl ) -h Displays Help
コマンドライン スイッチと環境変数を使用してパラメータを設定する
コマンドライン スイッチまたは環境変数を使用して、すべてのパラメータをコマンドに入力する必要があります。必要に応じて、コマンドライン スイッチの前にダッシュ(-)またはダブルダッシュ(--)を付けます。
たとえば、上記の「orgs add」コマンドのヘルプでは、次のいずれかの方法で組織名を指定できます。
- -o コマンドライン スイッチを使用する場合:
> apigee-adminapi.sh orgs -o testOrg - ORG という名前の環境変数を設定する。
> export ORG=testOrg
> apigee-adminapi.sh orgs
コマンドに必要なパラメータを省略すると、欠落しているパラメータを説明するエラー メッセージが表示されます。たとえば、組織を作成するときに Edge Management Server を指定する --host または EDGE_SERVER 環境変数を省略すると、次のエラー メッセージが表示されます。
Error with required variable or parameter ADMIN_PASSWORD....OK ADMIN_EMAIL....OK EDGE_SERVER....null
環境変数として頻繁に設定される 2 つの一般的なパラメータは、システム管理者のメールアドレスと Management Server の IP アドレスです。
> export ADMIN_EMAIL=foo@bar.com > export EDGE_SERVER=192.168.56.101
apigee-adminapi.sh ユーティリティにファイルを渡す
一部の apigee-adminapi.sh ユーティリティ コマンドは、リクエスト本文を取得する PUT 呼び出しと POST API 呼び出しに対応しています。たとえば、仮想ホストの作成は、リクエスト ボディの仮想ホストに関する情報を必要とする POST API 呼び出しに対応しています。
apigee-adminapi.sh ユーティリティを使用して仮想ホストを作成する場合、つまりリクエスト本文を必要とするコマンドを実行する場合は、次のように、必要なすべての情報をコマンドラインで渡すことができます。
> apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -v myVHostUtil -p 9005 -a 192.168.56.101:9005
または、POST のリクエスト本文に含まれるものと同じ情報を記述したファイルを渡すこともできます。たとえば、次のコマンドは、仮想ホストを定義するファイルを使用します。
> apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate
この場合、vhostcreate ファイルには呼び出しの POST 本文が含まれています。この例では、XML 形式のリクエスト本文です。
<VirtualHost name="myVHostUtil"> <HostAliases> <HostAlias>192.168.56.101:9005</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
デバッグ情報と API 情報の表示
apigee-adminapi.sh ユーティリティの --debug オプションを使用して、コマンドに関する詳細情報を表示します。この情報には、操作を実施するために apigee-adminapi.sh ユーティリティによって生成される cURL コマンドが含まれます。
たとえば、次のコマンドでは --debug オプションを使用しています。
> apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug
生成された cURL コマンドを含む次の出力が表示されます。
curl -H Content-Type: application/xml -v -X POST -s -k -w \n==> %{http_code} -u ***oo@bar.com:***** http://localhost:8080/v1/o -d <Organization name="testOrg2" type="paid"/> * About to connect() to localhost port 8080 (#0) * Trying ::1... connected * Connected to localhost (::1) port 8080 (#0) * Server auth using Basic with user 'foo@bar.com' > POST /v1/o HTTP/1.1 > Authorization: Basic c2dp234234NvbkBhcGlnZ2342342342342341Q5 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: localhost:8080 > Accept: */* > Content-Type: application/xml > Content-Length: 43 > } [data not shown] < HTTP/1.1 201 Created < Content-Type: application/json < Date: Tue, 03 May 2016 02:08:32 GMT < Content-Length: 291 < { [data not shown] * Connection #0 to host localhost left intact * Closing connection #0