BusinessServiceManager - Global
A API BusinessServiceManager 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/remover itens de configuração e conexões.
Use métodos BusinessServiceManager 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 aplicativos criado manualmente.
| Nome | Tipo | Descrição |
|---|---|---|
| service_id | Cadeia de caracteres | Sys_id do serviço de aplicações ao qual um IC será adicionado. Deve ser do tipo cmdb_ci_service_discovered. |
| source_id | Cadeia de caracteres | Sys_id do IC cuja conexão de saída une-se 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 de IC manuais [svc_manual_ci_exclusions_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');
Adicionar um novo ponto de entrada
- Forneça o service_ID normalmente.
- Deixe o valor de source_ID em branco. Por exemplo, use
''. - Para target_ID, insira o SYS ID do IC sob o qual o novo ponto de entrada será adicionado.
//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 aplicativos 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 indicando 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 aplicativos 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 indicando 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 aplicativos 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. |
| endpoint_manual | Objeto | Objeto GlideRecord na tabela cmdb_ci_endpoint_manual a ser adicionado ao serviço de aplicativos. |
| service_id | Cadeia de caracteres | SYS ID do serviço de aplicativos ao qual a conexão será adicionada. |
| 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(Object gr, String userSysID)
Verifica as funções de um usuário especificado e os dados de permissões configurados para um serviço/grupo de serviços especificado e retorna um valor booliano que indica se o usuário pode exibir o serviço/grupo de serviços.
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ços:
- 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 de funções contiver "itil", mas não contiver "app_service_admin" e "sam_core_user", retorne verdadeiro.
- Se a lista de funções contiver "manutenção", retorne verdadeiro.
- Se a lista de 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 diferente de "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 serviço/grupo de serviços. Este GlideRecord pode ser de uma das seguintes tabelas:
|
| userSysId | Cadeia de caracteres | Sys_id do registro do usuário. Localizado na 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ços 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 aplicativos 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 aplicativos 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 aplicativos. |
| 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 aplicativos do qual um IC será removido. Nota: A passagem de um objeto GlideRecord também é compatível. |
| target_id | Cadeia de caracteres | SYS ID do IC a ser removido do serviço de aplicativos. Nota: A passagem de 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 aplicativos 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 indicando 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 ao Sys_id "aa65ebeedb91300964f6fa6629895ss" do serviço de aplicativos 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 aplicativos do qual a conexão será removida. |
| 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 aplicativos 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 indicando que a atualização foi aplicada com sucesso ao ponto de entrada. Valores possíveis:
|
O exemplo de 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