Outro uso de scripts de conversão é a atualização do modelo de recurso do CA Business Service Insight com os valores obtidos de uma origem de dados externa. Embora não esteja mais estritamente relacionado à conversão, esta amostra é um valioso recurso para executar atualizações automáticas no sistema.
A seção anterior sobre atributos personalizados descreveu um cenário em que os dispositivos de infraestrutura de hardware de uma organização foram armazenados em um CMDB externo, juntamente com um objetivo de disponibilidade esperado para cada dispositivo. Esta informação deve ser replicada no modelo de recurso do CA Business Service Insight de forma a manter o mapeamento da infraestrutura (e os objetivos do dispositivo) atualizado.
Nesse caso, o script é necessário para executar as seguintes tarefas:
O script é conforme segue:
Option Explicit
'******************************************************************
'Variáveis globais e constantes
'******************************************************************
Dim added
Dim updated
Dim ChangeSetName
added = 0
updated = 0
Const RESOURCE_TYPE = "Infrastructure Devices"
Const RESOURCE_GROUP = "InfraServers"
Const CHANGESET_NAME = "Infrastructure Devices"
Const CHANGESET_EFFECTIVE_DATE = "01/01/07"
'******************************************************************
'Sub OnLoad :
'Preparar as entidades da infraestrutura base
'******************************************************************
Sub OnLoad()
Tools.log "Translation Script : In OnLoad procedure", "D"
'Pesquisar a versão preliminar de recursos existentes
Dim ChangeSetMap
Set ChangeSetMap=Tools.SearchChangeSets(CHANGESET_EFFECTIVE_DATE, CHANGESET_NAME)
Se não existir nenhuma versão, crie uma
If ChangeSetMap.EMPTY Then
Tools.AddChangeSet CHANGESET_NAME, CHANGESET_EFFECTIVE_DATE, CHANGESET_NAME
Tools.Log "Changes set '" & CHANGESET_NAME & "' added."
End If
Set ChangeSetMap = Nothing
End Sub
Sub OnTranslationEvent(EntryDetails)
End Sub
Sub Main()
Dim conn, rs, resource, deviceTarget, resource_id, resMap, custAttrib, custAttribValue
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.RecordSet")
conn.open "DSN=HardwareDevices"
rs.Open "select * from tblServers", conn
Do While Not rs.EOF
resource = rs("serverName")
deviceTarget= rs("DeviceTarget")
Adicionar recursos à versão mais recente, se eles não existirem
If Not Tools.IsResourceExists(resource) Then
resource_id = Tools.AddResource(resource, CHANGESET_NAME, "Infrastructure Device", RESOURCE_TYPE, RESOURCE_GROUP, Null, Null)
Tools.UpdateResourcesCustomAttribute resource, CHANGESET_NAME, "DeviceTarget", deviceTarget
Tools.Log "AddingResource: " & resource & " with target: " & deviceTarget & " ; assigned ID= " & resource_id
added = added + 1
Else
Set resMap = Tools.GetResourceDetails(resource,CHANGESET_NAME, False)
Set custAttrib = resMap("CustomAttributes")
custAttribValue = CDbl(custAttrib("DeviceTarget")("CustomAttributeValue"))
If CDbl(deviceTarget) <> custAttribValue Then
Tools.UpdateResourcesCustomAttribute resource, CHANGESET_NAME, "DeviceTarget", deviceTarget
Tools.Log "Updating Resource target for : " & resource & " from: " & deviceTarget & " to " & custAttribValue
updated = updated + 1
End If
End If
Tools.Commit
rs.MoveNext
Loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
Function Result
'Confirmar a transação
Tools.CommitChangeSets CHANGESET_NAME
Result = added & " resources added and " & updated & " resources updated."
End Function
'********************************************************************************
| Copyright © 2012 CA. Todos os direitos reservados. | Enviar email à CA Technologies sobre este tópico |