Service Web de groupes

L'API de npc fournit des services Web permettant d'effectuer des tâches de gestion de groupe communes.
capm370
L'API de CA
NetOps Portal
fournit des services Web permettant d'effectuer des tâches de gestion de groupe communes.
Utilisez les groupes de service Web RESTful pour créer et gérer des groupes d'éléments surveillés. Vous pouvez créer des groupes et y ajouter des éléments manuellement. Vous pouvez également écrire des règles pour créer et remplir des groupes basés sur les attributs des éléments.
Recherche de l'ID d'un groupe
Pour la plupart des appels d'API de
NetOps Portal
, vous avez besoin de la valeur groupItemId numérique d'un groupe. Vous pouvez utiliser l'une des trois méthodes suivantes pour rechercher ces ID.
  1. Service de recherche de groupItemId
    Ce service vous permet de rechercher l'ID d'un chemin de groupe unique à l'aide d'une simple commande HTTP GET.
    Pour rechercher l'ID de Tous les groupes/Inventaire, utilisez le paramètre
    groupItemId
    . La syntaxe est la suivante :
    http://
    PC_host
    :8181/pc/center/webservice/groups/groupPath/All
    %20
    Groups
    %2F
    Inventory/groupItemId
    Il n'est pas obligatoire de spécifier le chemin complet. Par exemple, vous pouvez trouver le groupe
    Tous les groupes/Clients hébergés/Acme/Groupes/Sites/Boston
    en recherchant
    groupPath/Acme%2FGroups%2FSites%2FBoston/groupItemId
    .
    Lorsque vous spécifiez le chemin de groupe, utilisez le codage de texte URL. Les espaces doivent être remplacés par %20 et les groupes doivent être séparés par %2F.
    Le code XML renvoyé se présente comme suit :
    <groupItemId>
    <groupItemId>5</groupItemId>
    </groupItemId>
    La recherche peut correspondre à plusieurs groupes, mais n'en renvoie qu'un seul.
  2. Service de recherche de groupes en bloc
    Ce service vous permet de rechercher l'ID de plusieurs groupes avec une seule commande HTTP POST. La syntaxe est la suivante :
    http://PC_host:8181/pc/center/webservice/groups/find
    Le code XML pour la commande POST se présente comme suit :
    <groups> <group Path='/All Groups/Tenants/Acme/Groups/Sites/San Francisco'/> <group Path='/All Groups/Tenants/Acme/Groups/Sites/Austin'/> <group Path='/All Groups/Tenants/Acme/Groups/Sites/Boston'/> </groups>
    Vous pouvez rechercher un nombre quelconque de groupes. Pour chaque chemin de groupe trouvé, l'ID et le nom de groupe correspondants sont renvoyés. Si un chemin ne correspond à aucun groupe, aucun ID n'est renvoyé.
    Le code XML renvoyé pour la commande POST ci-dessus se présente comme suit :
    <?xml version="1.0" encoding="UTF-8"?> <groups> <group ID="10503"Name="San Francisco" Path="/All Groups/Tenants/Acme/Groups/Sites/San Francisco"/> <group Path="/All Groups/Tenants/Acme/Groups/Sites/Austin"/> <group ID="10505"Name="Boston" Path="/All Groups/Tenants/Acme/Groups/Sites/Boston"/> </groups>
    Le groupe Austin n'existant pas, aucun ID de groupe n'est renvoyé pour ce groupe.
  3. Service Web de groupes
    Ce service répertorie tous les groupes enfants du groupe spécifié. Cet appel prend plusieurs minutes pour renvoyer une vaste hiérarchie de groupes. Cette méthode est la plus lente, car elle renvoie plus de données.
    Pour rechercher l'ID de "Tous les groupes/Inventaire", la syntaxe est la suivante :
    http://PC_host:8181/pc/center/webservice/groups/groupPath/All%20Groups%2FInventory
    Lorsque vous spécifiez le chemin de groupe, utilisez le codage de texte URL. Les espaces doivent être remplacés par %20 et les groupes doivent être séparés par %2F.
Syntaxe pour la gestion de groupes de sites
Pour obtenir une liste de tous les groupes sous Tous les groupes, utilisez le paramètre groupPath ou groupItemId.
Envoyez l'appel suivant pour utiliser le paramètre groupPath afin d'identifier le groupe par défaut :
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups
Lorsque vous utilisez certains clients REST, la syntaxe All Groups est requise au lieu de la syntaxe All%20Groups. Mais en général, les espaces ne sont pas valides dans les URL.
Envoyez l'appel suivant pour obtenir l'identificateur (siteId) pour un groupe de sites :
http://
PC_host
:8181/pc/center/webservice/groups/groupItemId/siteId
Le code XML suivant illustre un exemple d'ID de site renvoyé :
<GroupTree siteId="118" inheritDefault="true" path="Austin, TX">
Vous pouvez obtenir la liste de tous les sous-groupes inclus dans un groupe que vous spécifiez de deux façons :
  • Utilisez le paramètre
    groupPath
    .
  • Utilisez le paramètre
    groupItemId
    .
Envoyez l'appel suivant pour utiliser le paramètre
groupPath
afin d'identifier le groupe dont les sous-groupes sont répertoriés dans le contenu XML renvoyé :
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups%2FInventory
Envoyez l'appel suivant pour utiliser le paramètre
groupItemId
afin d'identifier le groupe dont les sous-groupes sont répertoriés dans le contenu XML renvoyé :
La valeur
groupItemId
du groupe Inventory (Inventaire) par défaut est 5.
http://
PC_host
:8181/pc/center/webservice/groups/groupItemId/5
Le contenu XML qui est renvoyé inclut la syntaxe des règles de groupe appliquées à ce groupe. Testez plusieurs règles que vous créez dans l'interface utilisateur et révisez la syntaxe générée.
Groupes de sites et règles
Les règles de groupe prennent en charge plusieurs comparaisons, en plus des expressions régulières. Par exemple, utilisez la syntaxe suivante dans le contenu XML pour publier une règle de groupe ajoutant des unités dont le nom commence par le mot Cisco :
<Match> <Compare readOnly="true" using="MEMBER_OF"> <Property name="ItemID" type="device"/> <Value reference="/All Groups">1</Value> </Compare> <Compare readOnly="false" using="STARTS_WITH"> <Property name="AlternateName" type="device"/> <Value>Cisco*</Value> </Compare> </Match>
Pour la syntaxe du chemin de groupe, les caractères de barre oblique sont adaptés aux documents XML que vous publiez. Cet exemple s'applique à une structure de groupe All Groups\Texas\Austin :
<GroupTree inheritDefault="true" path="/All Groups/Texas/Austin"> <Group desc="" inherit="true" location="" name="CA Officetype="custom group"> <Group desc="" inherit="true" location="" name="Austin Lab" type="custom group"/> </Group> <Group desc="" inherit="true" location="" name="Austin Data Center" type="custom group"/> </GroupTree>
Dans l'URL de la demande de service Web, utilisez une barre oblique inversée pour le chemin d'accès au groupe. N'utilisez pas de barres obliques dans l'URL.
Syntaxe d'exemple du service Web des groupes
Emettez l'appel suivant pour afficher les paramètres du service Web de groupes :
http://
PC_host
:8181/pc/center/webservice/groups/idNames
Envoyez l'appel suivant pour afficher une liste des opérations prises en charge :
http://
PC_host
:8181/pc/center/rest/groups/documentation
Pour obtenir la liste de tous les groupes inclus dans le groupe au niveau le plus élevé dans l'arborescence Groupes (par défaut, Tous les groupes), vous pouvez utiliser les paramètres groupPath ou groupItemId.
Envoyez l'appel suivant pour utiliser le paramètre groupPath afin d'identifier le groupe par défaut :
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups
Lorsque vous utilisez certains clients REST, la syntaxe All Groups est requise au lieu de la syntaxe All%20Groups. Mais en général, les espaces ne sont pas valides dans les URL.
Envoyez l'appel suivant pour utiliser le paramètre groupItemId afin d'identifier le groupe par défaut (dont la valeur groupItemId est 1) :
http://
PC_host
:8181/pc/center/webservice/groups/groupItemId/1
Syntaxe de sous-groupe
Vous pouvez obtenir la liste de tous les sous-groupes inclus dans un groupe que vous spécifiez de deux façons :
  • Utilisez le paramètre
    groupPath
    .
  • Utilisez le paramètre
    groupItemId
    .
Envoyez l'appel suivant pour utiliser le paramètre groupPath afin d'identifier le groupe dont les sous-groupes sont répertoriés dans le contenu XML renvoyé :
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups%2FInventory
Envoyez l'appel suivant pour utiliser le paramètre groupItemId afin d'identifier le groupe dont les sous-groupes sont répertoriés dans le contenu XML renvoyé :
La valeur
groupItemId
du groupe Inventory (Inventaire) par défaut est 5.
http://
PC_host
:8181/pc/center/webservice/groups/groupItemId/5
Le contenu XML qui est renvoyé inclut la syntaxe des règles de groupe appliquées à ce groupe. Testez plusieurs règles que vous créez dans l'interface utilisateur et révisez la syntaxe générée.
Syntaxe de groupe de sites
Pour créer un groupe de sites, utilisez la syntaxe des XML suivante dans une commande POST :
<GroupTree path="/All Groups">
<Group name="
group_name
" desc="
group_description
"
inherit="true" type="site" location="North America"
bHourID="99990" timeZone="EST"/>
</GroupTree>
  • inherit (Hériter)
    Indique si le groupe inclut les éléments enfants des membres du groupe. Par exemple, si cet attribut est défini sur true, les interfaces d'unité sont ajoutées à un groupe si l'unité est ajoutée au groupe.
  • type
    Indique le type de groupe. Les valeurs suivantes sont prises en charge.
    Valeurs :
    • groupe d'utilisateurs
      (valeur par défaut)
      Groupe créé par un utilisateur
    • site
      Groupe créé par un utilisateur et qui représente un site physique
  • bHourID
    (Facultatif) ID interne affecté à la définition d'heures ouvrées à associer à ce groupe de sites.
  • timeZone
    (Facultatif) Fuseau horaire à associer à ce groupe de sites. Vous pouvez uniquement associer des fuseaux horaires à des groupes de sites, et non à des groupes d'utilisateurs.
Règles de groupe
Les règles de groupe prennent en charge plusieurs comparaisons, en plus des expressions régulières. Par exemple, vous souhaitez créer une règle de groupe permettant d'ajouter des unités dans le groupe Routeurs et dont le nom commence par Cisco. L'ID de groupe du groupe Routeur est 31. Dans le fichier XML, utilisez la syntaxe suivante :
<Match> <Compare readOnly="true" using="MEMBER_OF"> <Property name="ItemID" type="device"/> <Value reference="/All Groups/Inventory/All Items/Routers">31</Value> </Compare> <Compare readOnly="false" using="STARTS_WITH"> <Property name="AlternateName" type="device"/> <Value>Cisco*</Value> </Compare> </Match>
Limitez les règles de groupe le plus possible. Ne limitez pas les règles de groupe sur Tous les groupes.
AllowDeletes
Pour la suppression de groupe, le paramètre
allowDeletes
doit être défini sur true. Lorsque le paramètre
a
llowDeletes est défini sur true pour un groupe, les groupes sous le
chemin d'accès GroupTree
sont conservés, sauf s'ils sont exclus du corps XML. Les groupes sous le
chemin d'accès GroupTree
qui sont exclus du corps XML sont supprimés. Lorsque le paramètre
a
llowDeletes est défini sur false pour un groupe, les groupes sous le
chemin d'accès GroupTree
sont conservés qu'ils soient ou non inclus dans le corps XML.
Définissez ce paramètre sur true et appliquez-le à un groupe de conteneurs lorsque vous voulez supprimer un sous-groupe. Par exemple, le code XML suivant supprime tous les groupes non répertoriés sous Austin :
<GroupTree inheritDefault="true" path="/All Groups/Texas/Austin" allowDeletes=”true”>
<Group desc="" inherit="true" location="" name="CA Office" type="user group">
<Group desc="" inherit="true" location="" name="Austin Lab" type="user group"/>
</Group>
<Group desc="" inherit="true" location="" name="Austin Data Center" type="user group"/>
</GroupTree>
Le code XML suivant supprime tous les groupes non répertoriés sous Texas. Par exemple, ce code XML supprime le sous-groupe Austin dans l'exemple précédent.
<GroupTree path="/All Groups/Texas">
<Group name="USA" desc="Group to represent the entire
United States" allowDeletes="true" type="user group"/>
</GroupTree>
Pour la syntaxe du chemin de groupe, les caractères de barre oblique sont adaptés aux documents XML que vous publiez.
Dans l'URL de la demande de service Web, utilisez une barre oblique inversée pour le chemin d'accès au groupe. N'utilisez pas de barres obliques dans l'URL.