AbstractDBObject : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • L’API AbstractDBObject fournit des méthodes courantes pour les classes basées sur les enregistrements de la base de données.

    Utilisez ce script include comme classe de base pour créer votre propre classe d’objets de base de données.

    AbstractDBObject : isValid()

    Détermine si l’enregistrement de la base de données actuel est valide.

    Voir aussi IPService : global.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Booléen Vrai si l’enregistrement de base de données est valide, faux dans les autres cas.

    Marqueur indiquant si l’enregistrement de base de données est valide.

    Valeurs valides :
    • true : l’enregistrement de la base de données est valide.
    • false : l’enregistrement de base de données n’est pas valide.

    L’exemple suivant montre comment obtenir une liste d’instances valides à l’aide de la classe IPService() à partir de la table IP Services [cmdb_ip_service]. La classe IPService étend la classe AbstractDBObject().

    /**
     * IPService class Encapsulates the notion of an IP Service. Instances in which isValid() returns true have the 
     * following properties initialized: 
     *  sysID:       sys_id of this record
     *  port:        the TCP or UDP port used by the service
     *  protocol:    protocol used by the service ("UDP", "TCP", or "TCP/UDP")
     *  name:        short name or handle
     *  serviceName: long, descriptive English name
     *  creates:     table that this service creates entries in
     *  description: description
     */
    
    var result = [];
    // Array of sys_id's from the IP Service class which we want to get the abstract details
    var list = ['db9840e10ab3015500f5e3fe8f78da42', 'a1505ebc7782330099808d1168106179', 'abc05ebc7782330099808d1168106112'];
    
    // query for the records on the list
    var ipservice = new GlideRecord('cmdb_ip_service');
    ipservice.addQuery('sys_id', 'IN', list.toString());
    ipservice.query();
    while (ipservice.next()) {
        var ip = new IPService(ipservice); // IPService class extends AbstractDBObject class and this class 
        if (ip.isValid())      // check whether the record is valid or not
            result.push(ip);   // if valid get the properties for 
    }
    
    gs.info(JSON.stringify(result, null, 2));

    Sortie :

    [
      {
        "valid": true,
        "sysID": "a1505ebc7782330099808d1168106179",
        "port": "8882",
        "protocol": "TCP",
        "name": "blkbry-uem-enroll",
        "serviceName": "Blackberry Enrollment Request",
        "creates": null,
        "description": null
      },
      {
        "valid": true,
        "sysID": "db9840e10ab3015500f5e3fe8f78da42",
        "port": "548",
        "protocol": "TCP",
        "name": "afp",
        "serviceName": "Apple File Protocol",
        "creates": null,
        "description": null
      }
    ]