Utiliser l'utilitaire apigee-adminapi.sh

Le apigee-adminapi.sh appelle l'API de gestion Edge pour effectuer de nombreuses opérations de maintenance tâches.

À propos de apigee-adminapi.sh

Appeler apigee-adminapi.sh

Vous appelez apigee-adminapi.sh à partir d'un nœud du serveur de gestion. Lorsque vous appelez l'utilitaire, vous devez Définissez les éléments suivants comme variables d'environnement ou options de ligne de commande:

  • ADMIN_EMAIL (correspond à l'option de ligne de commande admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

L'exemple suivant appelle apigee-adminapi.sh et transmet les valeurs requises en tant que ligne de commande options:

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

L'exemple suivant définit les options requises en tant que variables d'environnement temporaires, puis appelle l'utilitaire 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 vous ne transmettez pas le mot de passe en tant qu'option ou ne le définissez pas en tant que variable d'environnement, apigee-adminapi.sh vous invitera à le saisir.

Définir les paramètres apigee-adminapi.sh

Vous devez saisir tous les paramètres d'une commande à l'aide de commutateurs de ligne de commande ou en utilisant variables d'environnement. Ajoutez un simple tiret (-) ou un double tiret aux commutateurs de ligne de commande. (--) selon les besoins.

Par exemple, vous pouvez spécifier le nom de l'organisation:

  • À l'aide du commutateur de ligne de commande -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Définissez une variable d'environnement nommée ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Si vous omettez des paramètres obligatoires dans la commande, l'utilitaire affiche un message d'erreur décrivant les paramètres manquants. Par exemple, si vous omettez l'option --host (qui correspond à la variable d'environnement EDGE_SERVER), apigee-adminapi.sh répond avec l'erreur suivante:

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

Si vous recevez une erreur HTTP STATUS CODE: 401, cela signifie que vous avez saisi une erreur. mot de passe.

Obtenir de l'aide sur apigee-adminapi.sh

Vous pouvez à tout moment utiliser la touche de tabulation pour afficher une invite listant les options de commande disponibles.

Pour afficher toutes les commandes possibles, appelez l'utilitaire sans aucune option:

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

Si vous appuyez sur la touche de tabulation après avoir saisi apigee-adminapi.sh, vous verrez la liste des options:

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

La touche de tabulation affiche les options en fonction du contexte de la commande. Si vous saisissez la touche de tabulation après avoir saisi:

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

Les options disponibles pour exécuter la commande orgs s'affichent:

add  apis  apps  delete  envs  list  pods  userroles

Utilisez l'option -h pour afficher l'aide de n'importe quelle commande. Par exemple, si vous utilisez le paramètre -h comme indiqué ci-dessous:

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

L'utilitaire affiche des informations d'aide complètes pour toutes les options possibles du orgs. Le premier élément de la sortie indique l'aide Commande 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

Transmettre un fichier à apigee-adminapi.sh

L'utilitaire apigee-adminapi.sh est un wrapper autour de curl. Par conséquent, certaines correspondent aux appels d'API PUT et POST qui acceptent un corps de requête. Par exemple, la création d'un hôte virtuel correspond à un appel d'API POST qui nécessite des informations sur l'hôte virtuel dans le corps de la requête.

Lorsque vous utilisez l'utilitaire apigee-adminapi.sh pour créer un hôte virtuel ou toute commande qui accepte un corps de requête, vous pouvez transmettre toutes les les informations nécessaires sur la ligne de commande, comme indiqué ci-dessous:

/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

Vous pouvez également transmettre un fichier contenant les mêmes informations que celles contenues dans la demande. corps de la requête POST. Par exemple, la commande suivante utilise un fichier définissant l'hôte virtuel:

/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

Où le fichier vhostcreate contient le corps POST de l'appel. Dans Dans cet exemple, il s'agit d'un corps de requête au format XML:

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

Afficher les informations de débogage et d'API

Utilisez l'option --debug de l'utilitaire apigee-adminapi.sh pour afficher des informations détaillées sur la commande. Ces informations incluent la commande curl généré par l'utilitaire apigee-adminapi.sh pour effectuer l'opération.

Par exemple, la commande suivante utilise l'option --debug. Résultats Affichez le résultat de la commande curl sous-jacente en mode détaillé:

/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