Cómo usar la utilidad apigee-adminapi.sh

Edge para nube privada v. 4.16.05

Usa la utilidad apigee-adminapi.sh para realizar las mismas tareas de configuración de Edge que realizas mediante llamadas a la API de administración de Edge. La ventaja de la utilidad apigee-adminapi.sh es que tiene las siguientes características:

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

La utilidad apigee-adminapi.sh no es un reemplazo de la utilidad apigee-provision. En realidad, la utilidad apigee-provision usa la apigee-adminapi.sh para realizar sus tareas.

Estas son las principales diferencias entre ambos:

  • 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 independientes que correspondan 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 si pasas un archivo de configuración con toda la información necesaria.

En la documentación de Edge, se usan ambas utilidades cuando corresponde.

Instala apigee-adminapi.sh

La utilidad apigee-adminapi.sh se instala de forma automática cuando instalas apigee-provision o 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 comando disponibles.

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

> apigee-adminapi.sh 

Si presionas la tecla de tabulación 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:

> 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 para el comando orgs. El primer elemento del resultado muestra la ayuda para el 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

Configura parámetros mediante interruptores de línea de comandos y variables de entorno

Debes ingresar todos los parámetros en un comando mediante interruptores de línea de comandos o variables de entorno. Agrega como prefijo los interruptores de línea de comandos un guion simple (-) o un guion 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 en el comando, la utilidad muestra un mensaje de error que describe los parámetros faltantes. Por ejemplo, si omites la variable de entorno --host o EDGE_SERVER que especifica el servidor de administración perimetral 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 establecer 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 apigee-adminapi.sh corresponden a llamadas a las API de PUT y POST que toman un cuerpo de solicitud. Por ejemplo, crear un host virtual corresponde a una llamada a la API de 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 figuraría en el cuerpo de la solicitud de 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 de 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 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 de 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