BusinessServiceManager : global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 7 minutes de lecture
  • L’API BusinessServiceManager fournit des méthodes qui unifient la gestion des services en convertissant les services créés manuellement en services d’application, en remplissant les services d’application et en ajoutant/supprimant des éléments de configuration et des connexions.

    Utilisez les méthodes BusinessServiceManager dans les scripts de serveur globaux. Vous devez disposer du rôle d’administrateur du service d’application [app_service_admin] pour appeler cette API.

    BusinessServiceManager : BusinessServiceManager()

    Instancie un objet BusinessServiceManager.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    var bsManager = new SNC.BusinessServiceManager();

    BusinessServiceManager : addCI(chaîne service_id, chaîne source_id, chaîne target_id)

    Ajoute un CI à un service d’application créé manuellement.

    Tableau 2. Paramètres
    Nom Type Description
    service_id Chaîne Sys_id du service d’application auquel ajouter un CI. Doit être de type cmdb_ci_service_discovered.
    source_id Chaîne Sys_id du CI dont la connexion sortante rejoint le CI cible.
    target_id Chaîne Sys_id du CI à ajouter au service. Ne peut pas être un élément exclu. Les éléments exclus sont des CI configurés dans la table Inclusions/exclusions de CI manuelles [svc_manual_ci_exclusions_inclusions.list].
    Tableau 3. Renvoie
    Type Description
    nul
    //Application service is 'PeopleSoft Portals'
    //Source CI is windows server 'PS Apache01'
    //Target CI is 'SAP WEB01'
    
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addCI('2fce42d80a0a0bb4004af34d7e3984c8','3a27d4370a0a0bb4006316812bf45439', '3a6cadc1c0a8ce01001f1e5d0d7d68fa');

    Ajouter un nouveau point d’entrée

    Utilisez la méthode addCI() pour ajouter un nouveau point d’entrée à un service en fournissant les valeurs de paramètre suivantes dans votre demande :
    • Fournissez les service_ID comme d’habitude.
    • Laissez la valeur source_ID vide. Par exemple, utilisez ''.
    • Pour target_ID, entrez l’ID système du CI sous lequel ajouter le nouveau point d’entrée.
    Par conséquent, la méthode addCI() crée un nouveau point d’entrée avec une connexion au CI cible spécifié. Voici un exemple de la façon d’ajouter un nouveau point d’entrée :
    //Application service sys_id is '49de2b3187cd9d50d5c8a6880cbb35ea' 
    //Source CI is passed as an empty string as '' 
    //Target CI sys id is '15ca5fb187129910d5c8a6880cbb3537'   
    
    var bsManager = new SNC.BusinessServiceManager(); 
    var appService = bsManager.addCI('49de2b3187cd9d50d5c8a6880cbb35ea','', '15ca5fb187129910d5c8a6880cbb3537');

    BusinessServiceManager : addEntryPoint(serviceId, endpointGr)

    Ajoute un point d’entrée au service d’application et démarre la détection sur le point d’entrée.

    Tableau 4. Paramètres
    Nom Type Description
    serviceId Piquer Sys_id du service d’application auquel ajouter la connexion.
    point de terminaisonGr Chaîne Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 5. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application.

    Valeurs possibles :
    • Vrai : l’ajout a réussi.
    • FAUX : l’ajout a échoué.

    La méthode addEntryPoint() suivante montre comment ajouter un nouveau point d’entrée au service d’application.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPoint(serviceId,now_GR);
    

    Sortie :

    true

    BusinessServiceManager : addEntryPointWithoutStartDiscovery(serviceId, endpointGr)

    Ajoute un nouveau point d’entrée sans démarrer la découverte.

    Tableau 6. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    point de terminaisonGr Chaîne Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 7. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application.

    Valeurs possibles :
    • Vrai : l’ajout a réussi.
    • FAUX : l’ajout a échoué.

    L’exemple suivant montre comment utiliser la méthode addEntryPointWithoutStartDiscovery() pour ajouter un nouveau point d’entrée au service d’application sans initier la détection.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPointWithoutStartDiscovery(serviceId,now_GR);
    

    Sortie :

    true

    BusinessServiceManager : addManualConnection(chaîne source_id, objet manual_endpoint, chaîne service_id)

    Ajoute une connexion créée manuellement à un service d’application.

    Tableau 8. Paramètres
    Nom Type Description
    source_id Chaîne ID système du CI à ajouter à la connexion.
    manual_endpoint Objet Objet GlideRecord dans la table cmdb_ci_endpoint_manual à ajouter au service d’application.
    service_id Chaîne ID système du service d’application auquel ajouter la connexion.
    Tableau 9. Renvoie
    Type Description
    nul
    var now_GR = new GlideRecord("cmdb_ci_endpoint_manual");
    now_GR.initialize(); 
    now_GR.name='myEndpoint'; 
    now_GR.insert();
    
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addManualConnection("3a307c930a0a0bb400353965d0b8861f", now_GR, "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager : isReadingPermitted(Object gr, String, userSysID)

    Vérifie les rôles d’un utilisateur spécifié et les données d’autorisation configurées pour un service/groupe de services spécifié et renvoie une valeur booléenne qui indique si l’utilisateur peut afficher le service/groupe de services.

    Ce qui suit définit le flux de processus que la méthode utilise pour déterminer si l’utilisateur peut afficher le service/groupe de services :

    1. Si l’enregistrement spécifié est un groupe de services, vérifie les rôles d’utilisateur et la politique de groupe. Pour en savoir plus sur l’affectation des rôles aux groupes de services, reportez-vous à Assign a role to a service group.
    2. Si la liste des rôles contient « ITIL », mais ne contient pas « app_service_admin » et « sam_core_user », renvoie la valeur vrai.
    3. Si la liste des rôles contient « maint », renvoyez la valeur vrai.
    4. Si la liste des rôles contient « app_serivce_user », mais ne contient pas « app_service_admin » et « sm_app_owner » et que le service n’est pas opérationnel, renvoyez la valeur « faux ».
    5. Vérifiez le groupe du service.
      1. Si le service appartient à un seul groupe et que le groupe est « tous », renvoyez la valeur vrai.
      2. Pour tout groupe autre que « tous », vérifie la politique relative aux rôles d’utilisateur et au groupe en fonction des règles spécifiées dans Assign a role to a service group. Si l’un d’entre eux renvoie la valeur vrai, renvoie la valeur vrai.
    Tableau 10. Paramètres
    Nom Type Description
    gr GlideRecord GlideRecord du service/groupe de services. Ce GlideRecord peut provenir de l’une des tables suivantes :
    • Service d’application [cmdb_ci_service_auto]
    • Groupe de services d’application [cmdb_ci_service_group]
    • Groupe de CI dynamique [cmdb_ci_query_based_service]
    • Services manuels [cmdb_ci_service_manual]
    • Service d’application mappé [cmdb_ci_service_discovered]
    • Service [cmdb_ci_service]
    userSysId Chaîne Sys_id de l'enregistrement de l'utilisateur. Situé dans la table Utilisateur [sys_user].
    Tableau 11. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’utilisateur a l’autorisation d’afficher le service/groupe de services spécifié.
    Valeurs possibles :
    • vrai : l’utilisateur peut afficher le service/groupe de services spécifié.
    • faux : l’utilisateur ne peut pas afficher le service/groupe de services spécifié.

    L’exemple de code suivant montre comment appeler cette méthode pour vérifier la capacité de l’utilisateur spécifié à accéder au groupe de services spécifié.

    var cmdbServGr = new GlideRecord('cmdb_ci_service_discovered');
    cmdbServGr.addQuery('sys_id', "123123123123123123123123");
    cmdbServGr.query();
    var userId = gs.getUserID();
    
    var bsManager = new SNC.BusinessServiceManager();
    while (cmdbServGr.next()) {
      var answer = bsManager.isReadingPermitted(cmdbServGr, userId);
    
      //do something with / according to the answer
    
    }

    BusinessServiceManager : migrateManualToApplicationService (chaîne service_id)

    Convertit un service manuel en service d’application.

    Tableau 12. Paramètres
    Nom Type Description
    service_id Chaîne ID système du service manuel à convertir.
    Tableau 13. Renvoie
    Type Description
    Booléen Vrai si la migration vers un service d’application réussit.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

    BusinessServiceManager : populateApplicationService(chaîne service_id, niveaux de nombre, chaîne black_listed_relation_types)

    Remplit un service d’application avec des relations et des CI à partir du point d’entrée désigné.

    Tableau 14. Paramètres
    Nom Type Description
    service_id Chaîne ID système du service d’application à renseigner.
    niveaux Numéro Nombre de niveaux de CI à ajouter à partir de la CMDB.
    black_listed_relation_types Chaîne Types de relations à exclure lors du remplissage du service d’application.
    Tableau 15. Renvoie
    Type Description
    Booléen Vrai si l’opération réussit.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

    BusinessServiceManager : removeCI (chaîne service_id, chaîne target_id)

    Supprime un CI créé manuellement d’un service d’application.

    Tableau 16. Paramètres
    Nom Type Description
    service_id Chaîne

    ID système du service d’application duquel supprimer un CI.

    Remarque :
    Le passage d’un objet GlideRecord est également pris en charge.
    target_id Chaîne

    ID système du CI à supprimer du service d’application.

    Remarque :
    Le passage d’un objet GlideRecord est également pris en charge.
    Tableau 17. Renvoie
    Type Description
    nul
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

    BusinessServiceManager : removeEntryPoint (serviceId, endpointSysId)

    Supprime un point d’entrée existant du service d’application.

    Tableau 18. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    endpointSysId (en anglais seulement) Chaîne Sys_id du point de terminaison du point d’entrée à supprimer.
    Tableau 19. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été supprimé avec succès du service d’application.

    Valeurs possibles :
    • Vrai : la mise à jour a réussi.
    • Faux : la mise à jour a échoué.

    L’exemple suivant supprime le point d’entrée associé à Sys_id « aa65ebeedb91300964f6fa6629895ss » du service d’application donné.

    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    var entrypointId = “aa65ebeedb91300964f6fa6629895ss”;
    bsManager.removeEntryPoint(serviceId, entrypointId);
    

    Sortie :

    true

    BusinessServiceManager : removeManualConnection(String source_id, String endpoint_id, String service_id)

    Supprime une connexion créée manuellement et le CI connecté d’un service d’application.

    Tableau 20. Paramètres
    Nom Type Description
    source_id Chaîne ID système du CI connecté au point de terminaison.
    endpoint_id Chaîne ID système de la connexion créée manuellement à supprimer du service d’application
    service_id Chaîne ID système du service d’application auquel supprimer la connexion.
    Tableau 21. Renvoie
    Type Description
    nul
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager : updateEntryPoint(serviceId, endpointGr)

    Met à jour un point d’entrée existant dans le service d’application.

    Tableau 22. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    point de terminaisonGr Objet Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 23. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que la mise à jour a été appliquée avec succès au point d’entrée.

    Valeurs possibles :
    • Vrai : la mise à jour a réussi.
    • Faux : la mise à jour a échoué.

    L’exemple updateEntryPoint() suivant montre comment mettre à jour la connexion avec un nouveau point d’entrée.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_http");
    now_GR.get(“11f65ebeedb91300964f6fa66298951”);
    now_GR.setValue(“protocol”, “https”);
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.updateEntryPoint(serviceId,now_GR);
    

    Sortie :

    true