models

Sommaire
casp1032
Utilisez la ressource Models (Modèles) pour récupérer et mettre à jour des modèles et des attributs.
La ressource models (Modèles) opère sur des groupes de modèles. Pour un modèle unique, utilisez la ressource model (Modèle).
URL de base
http://<hostname><:portnumber>/spectrum/restful/models
POST models (GET Tunneling)
Utilisez POST models pour obtenir tous les descripteurs de modèle et les attributs demandés. L’envoi d’une demande POST models vous permet de fournir un document XML qui spécifie les modèles à récupérer. Le document contient une liste des descripteurs de modèle, des critères de recherche XML ou une référence aux critères de recherche existants sur le serveur OneClick.
POST models est une forme de demande GET Tunneling utilisée pour récupérer plusieurs modèles. Vous ne pouvez pas créer de modèle avec une demande POST models. Pour créer un modèle, utilisez POST model.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/models
  • Méthode HTTP
    POST
  • Corps
    Des exemples sont fournis dans <
    $SPECROOT
    >/RestfulExamples/xml/Models. Ces fichiers XML fournissent des exemples de XML correctement formés à des fins différentes. Utilisez ces exemples comme référence pour votre propre fichier XML :
    • GetCiscoRouterModels.xml
    • GetModelsByModelHandles.xml
    • GetModelsFromExistingSearch.xml
  • Contenu du corps
    application/xml
  • En-tête
    application/xml, application/json
  • Sortie
    Liste XML ou JSON de modèles répondant aux demandes d’entrée dans le serveur
    SpectroSERVER
    ou le serveur
    SpectroSERVER
    distribué
Exemple 1 : appel Java
Voici un exemple d'appel :
Java GenericPoster noun=Models file=resources/xml/Models/GetCiscoRouterModels.xml server=localhost username=jdoe password=spectrum port=8080
Exemple : demande de XML pour la recherche de modèles d’unité par adresse IP
Vous trouverez ci-dessous un exemple de la procédure à suivre pour rechercher des modèles d’unité par adresse IP en intégrant la recherche Locater (Localiseur) correcte dans le corps POST d'une demande GET models. Cette opération recherche dans toutes les paysages dans un environnement
SpectroSERVER
distribué et vous permet de spécifier les attributs qui vous intéressent.
  • URL
    Publiez le corps XML suivant sur :
    http://<hostname><:portnumber>/spectrum/restful/models
  • Corps
    <?xml version="1.0" encoding="UTF-8"?>
    <rs:model-request throttlesize="5"
    xmlns:rs="http://www.ca.com/spectrum/restful/schema/request"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.ca.com/spectrum/restful/schema/request ../../../xsd/Request.xsd">
    <rs:target-models>
    <rs:models-search>
    <rs:search-criteria xmlns="http://www.ca.com/spectrum/restful/schema/filter">
    <action-models>
    <filtered-models>
    <equals>
    <model-type>SearchManager</model-type>
    </equals>
    </filtered-models>
    <action>FIND_DEV_MODELS_BY_IP</action>
    <attribute id="AttributeID.NETWORK_ADDRESS">
    <value>172.22.96.6</value>
    </attribute>
    </action-models>
    </rs:search-criteria>
    </rs:models-search>
    </rs:target-models>
    <rs:requested-attribute id="0x1006e" />
    <rs:requested-attribute id="0x10000" />
    <rs:requested-attribute id="0x10032" />
    <rs:requested-attribute id="0x12de2" />
    </rs:model-request>
Exemple 2 : interrogation d'une liste de noms d’unité et d’adresses IP appartenant à une collection globale
Méthode 1 :
voici un exemple de la procédure à suivre pour interroger les noms d’unité et les adresses IP appartenant à une collection globale.
  • URL
    Publiez le corps XML suivant sur :
    http://<hostname><:portnumber>/spectrum/restful/models
  • Corps
    <?xml version="1.0" encoding="UTF-8"?>
    <rs:model-request throttlesize="5"
    xmlns:rs="http://www.ca.com/spectrum/restful/schema/request"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.ca.com/spectrum/restful/schema/request ../../../xsd/Request.xsd">
    <rs:target-models>
    <rs:models-search>
    <rs:search-criteria
    xmlns="http://www.ca.com/spectrum/restful/schema/filter">
    <filtered-models>
    <has-substring>
    <attribute id="0x12adb"> <!-- This attribute stores the list of global collections to which a model belongs -->
    <value>gc1</value> <!-- Name of the Global Collection -->
    </attribute>
    </has-substring>
    </filtered-models>
    </rs:search-criteria>
    </rs:models-search>
    </rs:target-models>
    <rs:requested-attribute id="0x1006e" /> <!-- Model Name -->
    <rs:requested-attribute id="0x12d7f" /> <!-- Network Address -->
    </rs:model-request>
Méthode 2 :
vous pouvez également créer un fichier de critères de recherche personnalisé (fichier XML) dans <SPECROOT>\tomcat\webapps\spectrum\WEB-INF\topo\config et l’utiliser dans le fichier XML suivant :
Le contenu du fichier search-devices-criteria.xml est le suivant :
<?xml version="1.0" encoding="utf-8"?>
<search-criteria id="search-devices-criteria"
xmlns="http://www.aprisma.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.aprisma.com../../common/schema/search-criteria-config.xsd">
<action-models>
<filtered-models>
<equals>
<model-type>SearchManager</model-type>
</equals>
</filtered-models>
<action>0x10474</action>
<attribute id="AttributeID.MODEL_NAME">
<value>gc1</value>
</attribute>
</action-models>
</search-criteria>
Exemple 3 : voici un exemple d’obtention d’un type de modèle JuniperJUNOSRtr à partir d’un paysage dans un environnement DSS.
  • URL
    http://OCServer/spectrum/restful/models
  • Corps
    <rs:model-request throttlesize="500"
    xmlns:rs="http://www.ca.com/spectrum/restful/schema/request"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.ca.com/spectrum/restful/schema/request ../../../xsd/Request.xsd ">
    <rs:landscape id="0x100000" />
    <rs:target-models>
    <rs:models-search>
    <rs:search-criteria xmlns="http://www.ca.com/spectrum/restful/schema/filter">
    <filtered-models>
    <and>
    <equals>
    <attribute id="0x10001">
    <value>0x3b10002</value>
    </attribute>
    </equals>
    </and>
    </filtered-models>
    </rs:search-criteria>
    </rs:models-search>
    </rs:target-models>
    <rs:requested-attribute id="0x1006e" />
    </rs:model-request>
  • Réponse
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <model-response-list xmlns="http://www.ca.com/spectrum/restful/schema/response" total-models="1" throttle="1" error="EndOfResults">
    <model-responses>
    <model mh="0x1001d4">
    <attribute id="0x1006e">junM7i-96.19</attribute>
    </model>
    </model-responses>
    </model-response-list>
    Plusieurs paysages peuvent être mentionnés comme indiqué ci-dessous :
    <rs:landscape id="0x100000" />
    <rs:landscape id="0x600000" />
GET models
GET models renvoie les descripteurs de modèle et les attributs demandés. Pour récupérer des attributs de modèle spécifiques, utilisez le paramètre &attr=<
attr_id
>.
GET models peut être utilisé uniquement après une opération POST models (GET Tunneling). POST models génère l'ensemble de résultats et GET models est utilisé pour récupérer les descripteurs de modèle et les informations d’attribut pour les éléments dans cet ensemble.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/models?id=<result_set_pointer>[&attr=<attr_ID>][&landscape=<landscape_handle>][&throttlesize=<num>]
  • Méthode HTTP
    GET
  • Corps
    Aucun
  • Contenu du corps
    Non utilisé
  • En-tête
    application/xml, application/json
  • Sortie
    Liste XML ou JSON de modèles répondant aux demandes d’entrée dans le serveur
    SpectroSERVER
    ou le serveur
    SpectroSERVER
    distribué
URL Parameters (Paramètres d'URL)
  • ?id=<
    result_set_pointer
    >
    Spécifie l'emplacement de l'ensemble de résultats sur le serveur OneClick. Cette valeur est générée à l’aide de POST models (GET Tunneling) et apparaît sur le lien relatif suivant. L’emplacement expire sur le serveur OneClick après dix minutes d’inactivité.
  • &attr=<
    attr_ID
    >
    (Facultatif) Spécifie les attributs demandés. Vous pouvez spécifier plusieurs paramètres d'attribut.
    Il existe de nombreux attributs sur un modèle ; pour des performances optimales, vous devez uniquement sélectionner des attributs qui vous intéressent. Tous les modèles ne prennent pas en charge le même ensemble d’attributs. Les attributs non pris en charge renvoient NoSuchAttribute.
  • &landscape=<
    landscape_handle
    >
    (Facultatif) Filtre les paysages interrogés. Vous pouvez spécifier plusieurs paramètres de paysage.
  • &throttlesize=<
    num
    >
    (Facultatif) Spécifie une taille de limitation.
PUT models
PUT models met à jour les attributs dans plusieurs modèles. Vous pouvez sélectionner les modèles à l’aide de différentes techniques, notamment des critères de recherche. Tous les modèles sélectionnés n’ont pas besoin de prendre en charge les attributs modifiés.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/models
  • Méthode HTTP
    PUT
  • Corps
    Utilise Request.xsd:update-models-request. Le Request.xsd se trouve dans <
    $SPECROOT
    >/RestfulExamples/src/xsd
  • Contenu du corps
    application/xml, application
  • En-tête
    application/xml, application/json
  • Sortie
    Liste XML ou JSON de modèle-réponse indiquant la réussite ou l’échec de chaque mise à jour.
GET (/models)
Vous pouvez utiliser cette API pour récupérer les modèles d’une collection globale. Cet appel REST accepte le nom de la collection globale et récupère les unités qui font partie de la collection globale.
  • URL
    http://ocserver:port/spectrum/restful/models
  • Méthode HTTP
    GET
  • Corps
    <?xml version="1.0" encoding="UTF-8"?>
    <rs:model-request throttlesize="100"
    xmlns:rs="http://www.ca.com/spectrum/restful/schema/request"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.ca.com/spectrum/restful/schema/request ../../../xsd/Request.xsd ">
    <rs:target-models>
    <rs:gc name="GC1"/>
    </rs:target-models>
    <rs:requested-attribute id="0x1006e" />
    <rs:requested-attribute id="0x10000" />
    <rs:requested-attribute id="0x10032" />
    </rs:model-request>
  • Contenu du corps
    application/xml, application
  • En-tête
    application/xml, application/json
  • Sortie
    Liste XML ou JSON de modèle-réponse indiquant la réussite ou l’échec de chaque mise à jour.