apigee-adminapi.sh ユーティリティの使用

Edge for Private Cloud v4.18.05

Edge 管理 API を呼び出して実施する場合と同じ Edge 構成タスクを、apigee-adminapi.sh ユーティリティを使用して実施します。apigee-adminapi.sh ユーティリティを使用する利点は次のとおりです。

  • シンプルなコマンドライン インターフェースを使用できる。
  • タブベースのコマンド補完が実装されている。
  • ヘルプと使用方法の情報が提供される。
  • API を試行する場合は、対応する API 呼び出しを表示できる。

apigee-adminapi.sh ユーティリティは、apigee-provision ユーティリティを置き換えるものではありません。apigee-provision ユーティリティは、実際には apigee-adminapi.sh ユーティリティを使用してタスクを実施します。

この 2 つには、主に次の違いがあります。

  • apigee-adminapi.sh ユーティリティは、個々の Edge API 呼び出しを置き換えるアトミック関数を実施します。たとえば、組織、環境、仮想ホストを作成するには、3 つの API 呼び出しに対応する 3 つの別々の apigee-adminapi.sh コマンドが必要です。
  • apigee-provision ユーティリティは、1 つのコマンドで完全なハイレベル操作を実施するように設計されています。たとえば、すべての必要な情報を含む構成ファイルを渡すことによって、単一の apigee-provision コマンドで組織、環境、仮想ホストを作成できます。

Edge のドキュメントでは、必要に応じて両方のユーティリティを使用しています。

apigee-adminapi.sh をインストールする

apigee-adminapi.sh ユーティリティは、apigee-provision ユーティリティまたは apigee-validate ユーティリティをインストールすると自動的にインストールされます。

このユーティリティは、次の場所にインストールします。

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh 構文

apigee-adminapi.sh ユーティリティは、単純なコマンドライン構文を使用します。タブキーを使用すると、使用可能なコマンド オプションを一覧表示するプロンプトをいつでも表示できます。

すべての有効なコマンドを表示するには、オプションなしでユーティリティを起動します。

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh

「apigee-adminapi.sh」と入力した後にタブキーを押すと、有効なオプションのリストが表示されます。

analytics  classification  logsessions  regions  securityprofile  userroles
    buildinfo  GET             orgs         runtime  servers          users

タブキーは、コマンドのコンテキストに基づいてオプションを表示します。次のように入力してからタブキーを入力するとします。

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

orgs コマンドを完了するための有効なオプションが表示されます。

add  apis  apps  delete  envs  list  pods  userroles

コマンドのヘルプを表示するには、-h オプションを使用します。たとえば、次のように -h オプションを使用するとします。

/opt/apigee/apigee-adminapi/bin/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 コマンドライン スイッチを使用する。
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • ORG という名前の環境変数を設定する。
    > export ORG=testOrg
        /opt/apigee/apigee-adminapi/bin/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 の sysadmin メールアドレスと 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 ユーティリティを使用して仮想ホストを作成する場合、またはリクエスト ボディを取得するコマンドの場合、以下に示すように、必要なすべての情報をコマンドラインで渡すことができます。

/opt/apigee/apigee-adminapi/bin/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 のリクエスト ボディに含まれるものと同じ情報を含むファイルを渡すことができます。たとえば、次のコマンドは仮想ホストを定義するファイルを取得します。

/opt/apigee/apigee-adminapi/bin/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 オプションを使用します。

/opt/apigee/apigee-adminapi/bin/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