Cómo usar la utilidad apigee-adminapi.sh

Edge para la nube privada v. 4.17.05

Usa la utilidad apigee-adminapi.sh para realizar las mismas tareas de configuración de Edge que realizas cuando haces llamadas a la API de administración de Edge. La ventaja de la utilidad apigee-adminapi.sh es que hace lo siguiente:

  • Usa una interfaz de línea de comandos simple
  • Implementa el autocompletado de comandos basado en pestañas
  • Proporciona información de ayuda y uso
  • Puede mostrar la llamada a la API correspondiente si decides probar la API.

La utilidad apigee-adminapi.sh no reemplaza a la utilidad apigee-provision. La utilidad apigee-provision en realidad usa la utilidad apigee-adminapi.sh para realizar sus tareas.

Las principales diferencias entre ambos son las siguientes:

  • La utilidad apigee-adminapi.sh realiza funciones atómicas que reemplazan llamadas individuales a la API de Edge. Por ejemplo, para crear una organización, un entorno y un host virtual, se requieren tres comandos apigee-adminapi.sh separados que corresponden a tres llamadas a la API.
  • La utilidad apigee-provision está diseñada para realizar una operación completa de alto nivel en un solo comando. Por ejemplo, puedes crear una organización, un entorno y un host virtual con un solo comando apigee-provision pasando un archivo de configuración con toda la información necesaria.

La documentación de Edge usa ambas utilidades cuando corresponde.

Instala apigee-adminapi.sh

La utilidad apigee-adminapi.sh se instala automáticamente cuando instalas apigee-provision o la utilidad apigee-validate.

La utilidad se instala en la siguiente ubicación:

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

Sintaxis de apigee-adminapi.sh

La utilidad apigee-adminapi.sh usa una sintaxis de línea de comandos simple. En cualquier momento, usa la tecla Tab para mostrar un mensaje que enumere las opciones de comandos disponibles.

Para ver todos los comandos posibles, invoca la utilidad sin opciones:

> apigee-adminapi.sh 

Si presionas la tecla Tab después de escribir apigee-adminapi.sh, verás la lista de opciones posibles:

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

La tecla Tab muestra opciones según el contexto del comando. Si ingresas la tecla Tab después de escribir lo siguiente:

> apigee-adminapi.sh orgs

Verás las opciones posibles para completar el comando orgs:

add  apis  apps  delete  envs  list  pods  userroles

Usa la opción -h para mostrar la ayuda de cualquier comando. Por ejemplo, si usas la opción -h como se muestra a continuación:

> apigee-adminapi.sh orgs -h

La utilidad muestra información de ayuda completa para todas las opciones posibles del comando orgs. El primer elemento del resultado muestra la ayuda del comando "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

Cómo configurar parámetros con interruptores de línea de comandos y variables de entorno

Debes ingresar todos los parámetros de un comando con interruptores de línea de comandos o con variables de entorno. Antecede los interruptores de línea de comandos con un guion simple (-) o doble (--) según sea necesario.

Por ejemplo, en la ayuda que se muestra arriba para el comando "orgs add", puedes especificar el nombre de la organización de las siguientes maneras:

  • Con el interruptor de línea de comandos -o:
    > apigee-adminapi.sh orgs -o testOrg
  • Configura una variable de entorno llamada ORG:
    > export ORG=testOrg
    > apigee-adminapi.sh orgs

Si omites algún parámetro obligatorio del comando, la utilidad mostrará un mensaje de error en el que se describen los parámetros faltantes. Por ejemplo, si omites la variable de entorno --host o EDGE_SERVER que especifica el servidor de administración de Edge cuando creas una organización, verás el siguiente mensaje de error:

Error with required variable or parameter
ADMIN_PASSWORD....OK
ADMIN_EMAIL....OK
EDGE_SERVER....null

Dos parámetros comunes que sueles configurar como variables de entorno son la dirección de correo electrónico del administrador del sistema y la dirección IP del servidor de administración:

> export ADMIN_EMAIL=foo@bar.com
> export EDGE_SERVER=192.168.56.101

Pasa un archivo a la utilidad apigee-adminapi.sh

Algunos comandos de utilidad de apigee-adminapi.sh corresponden a llamadas a la API de PUT y POST que toman un cuerpo de solicitud. Por ejemplo, la creación de un host virtual corresponde a una llamada a la API POST que requiere información sobre el host virtual en el cuerpo de la solicitud.

Cuando usas la utilidad apigee-adminapi.sh para crear un host virtual o cualquier comando que tome un cuerpo de solicitud, puedes pasar toda la información necesaria en la línea de comandos, como se muestra a continuación:

> 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

También puedes pasar un archivo que contenga la misma información que se incluiría en el cuerpo de la solicitud POST. Por ejemplo, el siguiente comando toma un archivo que define el host virtual:

> apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate

en el que el archivo vhostcreate contiene el cuerpo POST de la llamada. En este ejemplo, es un cuerpo de solicitud con formato XML:

<VirtualHost name="myVHostUtil">
   <HostAliases>
     <HostAlias>192.168.56.101:9005</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Cómo mostrar información de depuración y de la API

Usa la opción --debug en la utilidad apigee-adminapi.sh para mostrar información detallada sobre el comando. Esta información incluye el comando cURL que genera la utilidad apigee-adminapi.sh para realizar la operación.

Por ejemplo, este comando usa la opción --debug:

> apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug

Y muestra el siguiente resultado, incluido el comando cURL generado:

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