Otro uso de scripts de traducción es actualizar el modelo de recurso de CA Business Service Insight con valores tomados de un origen de datos externo. Aunque ya no está estrictamente relacionado con la traducción, esta muestra es una funcionalidad muy valiosa para las actualizaciones automáticas del sistema.
En la sección anterior sobre atributos personalizados se describió un escenario donde los dispositivos de infraestructura de hardware de una organización se almacenan en un CMDB externo, junto con un destino de disponibilidad esperado para cada dispositivo. Esta información tiene que replicarse en el modelo de recurso de CA Business Service Insight para mantener la asignación de la infraestructura (y los destinos del dispositivo) actualizados.
En este caso, el script es obligatorio para realizar las tareas siguientes:
El script es el siguiente:
Opción explícita
'******************************************************************
'Variables globales y 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/2007"
'******************************************************************
'Sub OnLoad :
'Preparación de las entidades de infraestructura de la fundación
'******************************************************************
Sub OnLoad()
Tools.log "Translation Script : In OnLoad procedure", "D"
'Buscar la versión de recurso preliminar existente
Dim ChangeSetMap
Set ChangeSetMap=Tools.SearchChangeSets(CHANGESET_EFFECTIVE_DATE, CHANGESET_NAME)
'Si no hay ninguna versión existente, crear una nueva versión
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")
'Agregar recursos a la última versión si todavía no existe
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
Bucle
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
Resultado de la función
' Confirmar la transacción
Tools.CommitChangeSets CHANGESET_NAME
Result = added & " resources added and " & updated & " resources updated."
End Function
'********************************************************************************
|
Copyright © 2013 CA.
Todos los derechos reservados.
|
|