Utiliser l'utilitaire apigee-adminapi.sh

Edge pour Private Cloud v. 4.16.09

Utilisez l'utilitaire apigee-adminapi.sh pour effectuer les mêmes tâches de configuration Edge que celles que vous effectuez en effectuant des appels à l'API de gestion Edge. L'utilitaire apigee-adminapi.sh présente les avantages suivants:

  • Utiliser une interface de ligne de commande simple
  • Implémente la saisie semi-automatique des commandes par tabulation
  • Fournit de l'aide et des informations sur l'utilisation
  • Peut afficher l'appel d'API correspondant si vous décidez d'essayer l'API

L'utilitaire apigee-adminapi.sh ne remplace pas l'utilitaire apigee-provision. L'utilitaire apigee-provision utilise en fait l'utilitaire apigee-adminapi.sh pour effectuer ses tâches.

Les principales différences entre les deux sont les suivantes:

  • L'utilitaire apigee-adminapi.sh exécute des fonctions atomiques qui remplacent les appels d'API Edge individuels. Par exemple, la création d'une organisation, d'un environnement et d'un hôte virtuel nécessite trois commandes apigee-adminapi.sh distinctes correspondant à trois appels d'API.
  • L'utilitaire apigee-provision est conçu pour effectuer une opération de haut niveau complète en une seule commande. Par exemple, vous pouvez créer une organisation, un environnement et un hôte virtuel avec une seule commande apigee-provision en transmettant un fichier de configuration contenant toutes les informations nécessaires.

La documentation Edge utilise les deux utilitaires lorsque cela est approprié.

Installer apigee-adminapi.sh

L'utilitaire apigee-adminapi.sh est installé automatiquement lorsque vous installez l'utilitaire apigee-provision ou apigee-validate.

L'utilitaire est installé à l'emplacement suivant:

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

Syntaxe apigee-adminapi.sh

L'utilitaire apigee-adminapi.sh utilise une syntaxe de ligne de commande simple. À tout moment, vous pouvez utiliser la touche Tabulation pour afficher une invite qui liste les options de commande disponibles.

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

> apigee-adminapi.sh 

Si vous appuyez sur la touche Tabulation après avoir saisi apigee-adminapi.sh, la liste des options possibles s'affiche:

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

La touche Tabulation affiche des options en fonction du contexte de la commande. Si vous appuyez sur la touche Tabulation après avoir saisi:

> apigee-adminapi.sh orgs

Les options possibles pour la commande orgs s'affichent:

add  apis  apps  delete  envs  list  pods  userroles

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

> apigee-adminapi.sh orgs -h

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

Définir des paramètres à l'aide de commutateurs de ligne de commande et de variables d'environnement

Vous devez saisir tous les paramètres d'une commande à l'aide de commutateurs de ligne de commande ou de variables d'environnement. Si nécessaire, ajoutez un seul tiret (-) ou un double tiret (--) aux changements de ligne de commande.

Par exemple, dans l'aide affichée ci-dessus pour la commande "orgs add", vous pouvez spécifier le nom de l'organisation de deux manières:

  • En utilisant l'option de ligne de commande -o:
    > apigee-adminapi.sh orgs -o testOrg
  • Définir une variable d'environnement nommée ORG:
    > export ORG=testOrg
    > apigee-adminapi.sh orgs

Si vous omettez des paramètres obligatoires de la commande, l'utilitaire affiche un message d'erreur décrivant les paramètres manquants. Par exemple, si vous omettez la variable d'environnement --host ou EDGE_SERVER spécifiant le serveur de gestion Edge lors de la création d'une organisation, le message d'erreur suivant s'affiche:

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

Deux paramètres courants que vous définissez souvent en tant que variables d'environnement sont l'adresse e-mail de l'administrateur système et l'adresse IP du serveur de gestion:

> export ADMIN_EMAIL=foo@bar.com
> export EDGE_SERVER=192.168.56.101

Transmettre un fichier à l'utilitaire apigee-adminapi.sh

Certaines commandes d'utilitaire apigee-adminapi.sh correspondent à des 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 acceptant un corps de requête, vous pouvez transmettre toutes les informations nécessaires sur la ligne de commande, comme indiqué ci-dessous:

> 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 le corps de la requête POST. Par exemple, la commande suivante utilise un fichier définissant l'hôte virtuel:

> 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 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 des 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ée par l'utilitaire apigee-adminapi.sh pour effectuer l'opération.

Par exemple, cette commande utilise l'option --debug:

> apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug

Le résultat suivant s'affiche, y compris la commande cURL générée:

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