BusinessServiceManager - Global
. BusinessServiceManager A API fornece métodos que unificam a gestão de serviços convertendo serviços criados manualmente em serviços de aplicações, preenchendo serviços de aplicações e adicionando/removendo itens de configuração e conexões.
Usar BusinessServiceManager métodos em scripts de servidor global. Você deve ter a função de administrador de serviço de aplicações [app_service_admin] para chamar esta API.
BusinessServiceManager - BusinessServiceManager()
Instancia um objeto BusinessServiceManager.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var bsManager = new SNC.BusinessServiceManager();
BusinessServiceManager - addCI(cadeia de caracteres service_id, cadeia de caracteres source_id, cadeia de caracteres target_id)
Adiciona um IC a um serviço de aplicações criado manualmente.
| Nome | Tipo | Descrição |
|---|---|---|
| service_id | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual adicionar um IC. Deve ser do tipo cmdb_ci_service_discovered. |
| source_id | Cadeia de caracteres | Sys_id do IC cuja conexão de saída se une ao IC de destino. |
| target_id | Cadeia de caracteres | Sys_id do IC a ser adicionado ao serviço. Não pode ser um item excluído. Itens excluídos são ICs configurados na tabela Inclusões/exclusões manuais de IC [svc_manual_ci_exclusões_inclusions.list]. |
| Tipo | Descrição |
|---|---|
| vazio |
//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');
Adicione um novo ponto de entrada
- Forneça o service_ID normalmente.
- Deixe o valor source_ID vazio. Por exemplo, use
''. - Em target_ID, insira o SYS ID do IC ao qual adicionar o novo ponto de entrada.
//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)
Adiciona um ponto de entrada ao serviço de aplicativos e inicia a descoberta no ponto de entrada.
| Nome | Tipo | Descrição |
|---|---|---|
| serviceId | Sting | Sys_id do serviço de aplicações ao qual a conexão será adicionada. |
| EndpointGr | Cadeia de caracteres | Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos. Valores possíveis:
|
O método addEntryPoint() a seguir mostra como adicionar um novo ponto de entrada ao serviço de aplicativos.
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);
Saída:
true
BusinessServiceManager - addEntryPointWithoutStartDiscovery(serviceId, endpointGr)
Adiciona um novo ponto de entrada sem iniciar a descoberta.
| Nome | Tipo | Descrição |
|---|---|---|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual a conexão será adicionada. |
| EndpointGr | Cadeia de caracteres | Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos. Valores possíveis:
|
O exemplo a seguir mostra como usar o método addEntryPointWithoutStartDiscovery() para adicionar um novo ponto de entrada ao serviço de aplicações sem iniciar a descoberta.
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);
Saída:
true
BusinessServiceManager - addManualConnection(cadeia de caracteres source_id, objeto manual_endpoint, cadeia de caracteres service_id)
Adiciona uma conexão criada manualmente a um serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| source_id | Cadeia de caracteres | Sys ID do IC a ser adicionado à conexão. |
| manual_endpoint | Objeto | Objeto GlideRecord na tabela cmdb_ci_endpoint_manual a ser adicionado ao serviço de aplicações. |
| service_id | Cadeia de caracteres | Sys ID do serviço de aplicações ao qual adicionar a conexão. |
| Tipo | Descrição |
|---|---|
| vazio |
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(grupo de objeto, cadeia de caracteres userSySID)
Verifica as funções de um usuário especificado e os dados de permissões configurados para um grupo de serviço/serviço especificado e retorna um valor booliano que indica se o usuário pode exibir o grupo de serviço/serviço.
O seguinte define o fluxo do processo que o método usa para determinar se o usuário pode exibir o serviço/grupo de serviço:
- Se o registro especificado for um grupo de serviço, verificará as funções do usuário e a política de grupo. Para obter mais informações sobre funções atribuídas para grupos de serviço, consulte Assign a role to a service group.
- Se a lista Funções contiver "itil", mas não contiver "app_service_admin" e "sam_core_user", retorne verdadeiro.
- Se a lista Funções contiver "maint", retorne verdadeiro.
- Se a lista Funções contiver "app_serivce_user", mas não contiver "app_service_admin" e "sm_app_owner" e o serviço não estiver operacional, retorne falso.
- Verifique o grupo do serviço.
- Se o serviço pertencer a um único grupo e o grupo for "Todos", retorne verdadeiro.
- Para qualquer grupo que não seja "Todos", verifica a política para funções de usuário e grupo com base nas regras especificadas em Assign a role to a service group. Se algum deles retornar verdadeiro, retorne verdadeiro.
| Nome | Tipo | Descrição |
|---|---|---|
| gr | GlideRecord | GlideRecord do grupo de serviço/serviço. Este GlideRecord pode ser de uma das seguintes tabelas:
|
| userSysId | Cadeia de caracteres | Sys_id do registro do usuário. Tabela: Usuário [sys_user] |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o usuário tem permissão para exibir o serviço/grupo de serviço especificado. Valores possíveis:
|
O exemplo de código a seguir mostra como chamar este método para verificar a capacidade do usuário especificado de acessar o grupo de serviço especificado.
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(cadeia de caracteres service_id)
Converte um serviço manual em um serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| service_id | Cadeia de caracteres | Sys ID do serviço manual a ser convertido. |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se a migração para um serviço de aplicativos for bem-sucedida. |
var bsManager = new SNC.BusinessServiceManager();
var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");
BusinessServiceManager - populateApplicationService(cadeia de caracteres service_id, níveis de número, cadeia de caracteres black_listed_relation_types)
Preenche um serviço de aplicações com relações e ICs do ponto de entrada designado.
| Nome | Tipo | Descrição |
|---|---|---|
| service_id | Cadeia de caracteres | Sys ID do serviço de aplicações a ser preenchido. |
| níveis | Número | Número de níveis de ICs a serem adicionados do CMDB. |
| black_listed_relation_types | Cadeia de caracteres | Tipos de relação a serem excluídos ao preencher o serviço de aplicações. |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se a operação for bem-sucedida. |
var bsManager = new SNC.BusinessServiceManager();
var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");
BusinessServiceManager - removeCI(cadeia de caracteres service_id, cadeia de caracteres target_id)
Remove um IC criado manualmente de um serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| service_id | Cadeia de caracteres | Sys ID do serviço de aplicações do qual remover um IC. Nota: Passar um objeto GlideRecord também é compatível. |
| target_id | Cadeia de caracteres | Sys ID do IC a ser removido do serviço de aplicações. Nota: Passar um objeto GlideRecord também é compatível. |
| Tipo | Descrição |
|---|---|
| vazio |
var bsManager = new SNC.BusinessServiceManager();
var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");
BusinessServiceManager - removeEntryPoint(serviceId, endpointSysId)
Remove um ponto de entrada existente do serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual a conexão será adicionada. |
| EndpointSysId | Cadeia de caracteres | Sys_id do endpoint do ponto de entrada a ser removido. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica que o ponto de entrada foi removido com sucesso do serviço de aplicativos. Valores possíveis:
|
O exemplo a seguir remove o ponto de entrada associado a Sys_id "aa65ebeedb91300964f6fa6629895ss" do serviço de aplicações fornecido.
var bsManager = new SNC.BusinessServiceManager();
var serviceId = "5bf65ebeedb91300964f6fa662989533";
var entrypointId = “aa65ebeedb91300964f6fa6629895ss”;
bsManager.removeEntryPoint(serviceId, entrypointId);
Saída:
true
BusinessServiceManager - removeManualConnection(cadeia de caracteres source_id, cadeia de caracteres endpoint_id, cadeia de caracteres service_id)
Remove uma conexão criada manualmente e o IC conectado de um serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| source_id | Cadeia de caracteres | Sys ID do IC conectado ao endpoint. |
| endpoint_id | Cadeia de caracteres | SYS ID da conexão criada manualmente a ser removida do serviço de aplicações |
| service_id | Cadeia de caracteres | Sys ID do serviço de aplicações do qual remover a conexão. |
| Tipo | Descrição |
|---|---|
| vazio |
var bsManager = new SNC.BusinessServiceManager();
var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");
BusinessServiceManager - updateEntryPoint(serviceId, endpointGr)
Atualiza um ponto de entrada existente no serviço de aplicativos.
| Nome | Tipo | Descrição |
|---|---|---|
| serviceId | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual a conexão será adicionada. |
| EndpointGr | Objeto | Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica que a atualização foi aplicada com sucesso ao ponto de entrada. Valores possíveis:
|
O exemplo updateEntryPoint() a seguir mostra como atualizar a conexão com um novo ponto de entrada.
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);
Saída:
true