El apigee-adminapi.sh llama a la API de administración de Edge para realizar muchas tareas de mantenimiento.
Acerca de apigee-adminapi.sh
Invoca apigee-adminapi.sh
Invoca apigee-adminapi.sh desde un nodo del servidor de administración. Cuando invocas la utilidad, debes
definir 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 comandosadmin)ADMIN_PASSWORD(pwd)EDGE_SERVER(host)
En el siguiente ejemplo, se invoca apigee-adminapi.sh y se pasan los valores requeridos como opciones de línea de comandos:
/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 requeridas como variables de entorno temporales y, luego,
se invoca la utilidad apigee-adminapi.sh:
export ADMIN_EMAIL=user@example.comexport ADMIN_PASSWORD=abcd1234export EDGE_SERVER=192.168.56.101/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh servers list
Si no pasas la contraseña como una opción o no la defines como una variable de entorno,
apigee-adminapi.sh te pedirá que la ingreses.
Configura los parámetros de apigee-adminapi.sh
Debes ingresar todos los parámetros a un comando con modificadores de línea de comandos o con variables de entorno. Antepón los modificadores de línea de comandos con un solo guion (-) o un guion doble (--) según sea necesario.
Por ejemplo, puedes especificar el nombre de la organización de las siguientes maneras:
- Usando el modificador de línea de comandos
-o:/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
- Configurando 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 para el comando, la utilidad muestra un mensaje de error
que describe 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 la contraseña incorrecta.
Obtén ayuda con apigee-adminapi.sh
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:
/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 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:
/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 ayuda para cualquier comando. Por ejemplo, si usas la
-h opción 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 del
orgs comando. El primer elemento del resultado muestra la ayuda para el
orgs add comando:
+++++++++++++++++++++++++++++++++++++++++++ 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 alrededor de curl. Como resultado, algunos
comandos corresponden a PUT y POST llamadas a la API 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:
/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
O bien, 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:
/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
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>Muestra información de depuración y de la API
Usa la opción --debug para 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, el siguiente comando usa la opción --debug. Los resultados
muestran 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