Cómo usar la utilidad apigee-adminapi.sh

El apigee-adminapi.sh llama a la API de Edge Management para realizar tareas de mantenimiento tareas.

Acerca de apigee-adminapi.sh

Invoca apigee-adminapi.sh

Invocas apigee-adminapi.sh desde un nodo del servidor de administración. Cuando invocas la utilidad, debes define lo siguiente como variables de entorno o como opciones de línea de comandos:

  • ADMIN_EMAIL (corresponde a la opción de línea de comandos admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

En el siguiente ejemplo, se invoca a apigee-adminapi.sh y se pasan los valores necesarios como línea de comandos. Opciones:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost

En el siguiente ejemplo, se definen las opciones necesarias como variables de entorno temporales y, luego, Invoca la utilidad apigee-adminapi.sh:

export ADMIN_EMAIL=user@example.com
export ADMIN_PASSWORD=abcd1234
export EDGE_SERVER=192.168.56.101
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh servers list

Si no pasas la contraseña como opción ni la defines como una variable de entorno, apigee-adminapi.sh te pedirá que lo ingreses.

Configura los parámetros de apigee-adminapi.sh

Debes ingresar todos los parámetros en un comando mediante interruptores de línea de comandos o variables de entorno. Agrega el prefijo de un solo guion (-) o dos guiones a los interruptores de la línea de comandos. (--) según sea necesario.

Por ejemplo, puedes especificar el nombre de la organización de alguna de las siguientes maneras:

  • Con el interruptor de línea de comandos de -o, haz lo siguiente:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Configura una variable de entorno llamada ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/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 opción --host (que corresponde a la variable de entorno EDGE_SERVER), apigee-adminapi.sh responde con el siguiente error:

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

Si recibes un error HTTP STATUS CODE: 401, significa que ingresaste uno incorrecto contraseña.

Obtén ayuda de apigee-adminapi.sh

En cualquier momento, puedes usar la tecla Tab para mostrar un mensaje con las opciones de comando disponibles.

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

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

/opt/apigee/apigee-adminapi/bin/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 utilizas el -h, como se muestra a continuación:

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

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

Pasa un archivo a apigee-adminapi.sh

La utilidad apigee-adminapi.sh es un wrapper de curl. Como resultado, algunos corresponden a las llamadas a la 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 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:

/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

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:

/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

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 API

Usa la opción --debug para la utilidad apigee-adminapi.sh a fin de mostrarla 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, el siguiente comando usa la opción --debug. Resultados Muestra el resultado del comando curl subyacente en modo detallado:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug
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