Cómo usar la utilidad apigee-adminapi.sh

Edge for Private Cloud v4.18.01

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 de la siguiente manera:

  • Usa una interfaz de línea de comandos simple
  • Implementa la finalización de comandos basados en tabulaciones
  • 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 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 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.

En la documentación de Edge, se usan 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 está instalada 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 posibles Opciones:

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 el cuadro de ayuda que aparece arriba para la frase "organizaciones que agregan" , puedes especificar el nombre de la organización de alguna 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 muestra un mensaje de error. al describir 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 a menudo configuras como variables de entorno son el 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 la API de PUT y POST que toman un cuerpo de solicitud. Por ejemplo, crear una instancia host corresponde a una llamada a la API de POST que requiere información sobre el host virtual en la del cuerpo de la solicitud.

Cuando uses la utilidad apigee-adminapi.sh para crear un host virtual, o cualquier comando que tome el cuerpo de una solicitud, puedes pasar todos los 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 aparece en la solicitud. cuerpo de la 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

donde 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