BusinessServiceManager – Global
L’API BusinessServiceManager unifie la gestion des services en convertissant les services créés manuellement en services d’application, en remplissant les services d’application et en ajoutant ou supprimant des éléments de configuration et des connexions.
Utilisez les méthodes BusinessServiceManager dans les scripts de serveur globaux. Vous devez avoir le rôle administrateur du service d’application [app_service_admin].
BusinessServiceManager : BusinessServiceManager()
Instancie un objet BusinessServiceManager.
| Nom | Type | Description |
|---|---|---|
| Néant |
var bsManager = new SNC.BusinessServiceManager();
BusinessServiceManager : addCI(String service_id, String source_id, String target_id)
Ajoute un CI à un service d’application créé manuellement.
| 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 manuelles de CI [svc_manual_ci_exclusions_inclusions.list]. |
| 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
- Fournissez le 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.
//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.
| Nom | Type | Description |
|---|---|---|
| serviceId | Sting | 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application. Valeurs possibles :
|
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étection.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application. Valeurs possibles :
|
L’exemple suivant montre comment utiliser la méthode addEntryPointWithoutStartDiscovery() pour ajouter un nouveau point d’entrée au service d’application sans lancer Discovery.
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(String source_id, Object manual_endpoint, String service_id)
Ajoute une connexion créée manuellement à un service d’application.
| 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. |
| 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’autorisations 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.
Les éléments suivants définissent le flux de processus que la méthode utilise pour déterminer si l’utilisateur peut afficher le service/groupe de services :
- 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 les rôles affectés aux groupes de services, reportez-vous à Assign a role to a service group.
- Si la liste des rôles contient « ITIL » mais ne contient pas « app_service_admin » et « sam_core_user », renvoyez la valeur vrai.
- Si la liste des rôles contient « maint », renvoyez la valeur vrai.
- Si la liste des rôles contient « app_serivce_user », mais pas « app_service_admin » et « sm_app_owner », et que le service n’est pas opérationnel, renvoyez la valeur false.
- Vérifiez le groupe du service.
- Si le service appartient à un seul groupe et que le groupe est « tous », renvoie la valeur vrai.
- 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’eux renvoie la valeur true, renvoyez la valeur true.
| Nom | Type | Description |
|---|---|---|
| gr | GlideRecord | GlideRecord du service/groupe de services. Ce GlideRecord peut provenir de l’une des tables suivantes :
|
| userSysId | Chaîne | Sys_id de l'enregistrement de l'utilisateur. Situé dans la table Utilisateur [sys_user]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’utilisateur a l’autorisation d’afficher le service/groupe de services spécifié. Valeurs possibles :
|
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.
| Nom | Type | Description |
|---|---|---|
| service_id | Chaîne | ID système du service manuel à convertir. |
| 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(String service_id, Number levels, String black_listed_relation_types)
Remplit un service d’application avec des relations et des CI à partir du point d’entrée désigné.
| 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. |
| 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(String service_id, String target_id)
Supprime un CI créé manuellement à partir d’un service d’application.
| 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. |
| 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.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant que le point d’entrée a été supprimé du service d’application. Valeurs possibles :
|
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.
| 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 duquel supprimer la connexion. |
| 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.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant que la mise à jour a été appliquée avec succès au point d’entrée. Valeurs possibles :
|
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