Clausola INDEX
La clausola INDEX specifica una chiave per selezionare una riga univoca in una raccolta scalare o tabella. Il provider SNMP esegue il mapping a un tipo diverso di classe CIM a seconda del tipo di tabella usato dal dispositivo SNMP. Poiché una chiave può essere più di un tipo di oggetto, il provider usa regole di mapping diverse a seconda del tipo di oggetto all'interno della chiave. Per altre informazioni, vedere Tipi di dati della clausola INDEX.
Nota
Per altre informazioni sull'installazione del provider, vedere Configurazione dell'ambiente SNMP WMI.
Una raccolta scalare esegue il mapping a una classe singleton CIM, ovvero una classe che può avere una sola istanza. Poiché non è necessario identificare in modo univoco un'istanza da un'altra, una classe singleton non definisce una o più proprietà come chiave. Classi generate da raccolte scalari:
- Non contenere qualificatori della proprietà Key .
- Contenere il qualificatore di classe CIM standard Singleton, di tipo Bool.
Un insieme di tabelle esegue il mapping a una classe CIM che può avere più di un'istanza. Di conseguenza, la definizione della classe CIM deve contenere almeno una proprietà che definisce la chiave dell'oggetto; ovvero una proprietà che identifica in modo univoco un'istanza della classe . La clausola INDEX della macro OBJECT-TYPE di un insieme di tabelle specifica il set di proprietà chiave dell'insieme. Si applicano le regole di mapping seguenti:
Il qualificatore CIM Key, type Bool, definisce una proprietà chiave.
L'ordinamento delle informazioni INDEX all'interno dell'insieme di tabelle definisce l'ordinamento delle chiavi all'interno della definizione della classe CIM.
Il qualificatore CIM Key_Order definisce l'ordinamento delle chiavi. Questo qualificatore è un valore intero senza segno a 32 bit che, ai fini della sintassi del qualificatore MOF, deve essere convertito in un valore intero con segno a 32 bit usando l'operazione a due complementi.
Attualmente, il mapping della clausola SNMPv2C INDEX non gestisce l'uso del qualificatore IMPLICITo . In questo caso non viene generata una definizione di classe CIM.
Tipi di dati della clausola INDEX
A causa della flessibilità della clausola INDEX all'interno della macro OBJECT-TYPE , la specifica delle proprietà con chiave non è semplice. È invece consigliabile considerare le possibilità che la clausola INDEX può contenere uno o più dei tipi di dati seguenti:
Valore indexobject accessibile internamente
Il valore indexobject è un valore denominato che fa riferimento a una definizione di oggetto MIB visualizzata nella riga concettuale della stessa tabella che contiene la clausola INDEX. La definizione dell'oggetto MIB a cui viene fatto riferimento nella clausola INDEX esegue il mapping a una proprietà chiave della definizione della classe CIM.
Valore indexobject accessibile esternamente
In questo caso , indexobject è un valore denominato che fa riferimento a una definizione di oggetto MIB visualizzata nella riga concettuale di una tabella diversa.
Valore indextype accessibile
Il valore indextype è un tipo denominato che fa riferimento a uno dei tipi di dati seguenti: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddress o IpAddress. Se la clausola INDEX contiene un riferimento di tipo MIB, si applicano le regole di mapping seguenti:
- L'oggetto MIB a cui viene fatto riferimento esegue il mapping a una proprietà chiave della definizione della classe CIM. La sintassi del tipo è basata sul valore indextype specificato, che esegue il mapping ai qualificatori di proprietà CIM usando le procedure di mapping delle clausole SYNTAX standard.
- Il processo di mapping genera un nome di proprietà univoco concatenando il descrittore dell'oggetto tabella MIB, un carattere di sottolineatura (_) e l'ordine di classificazione del valore indextype della clausola INDEX. Ad esempio, il nome della proprietà per il terzo tipo di indice componente della tabella MIB enterpriseIfTable è enterpriseIfTable_3.
- La proprietà CIM viene annotata con il qualificatore Virtual_Key . Questo qualificatore specifica che il provider SNMP deve calcolare il valore della proprietà in base al superset di informazioni sull'istanza associate a tutte le definizioni di oggetti MIB accessibili nella definizione della classe.
- La definizione della classe CIM deve contenere almeno una proprietà che non dispone di un qualificatore Virtual_Key associato; non è possibile specificare questa proprietà invalida la definizione della classe.
Sottotipo a lunghezza fissa
Quando la clausola INDEX di un insieme di tabelle SNMP contiene un tipo supportato da SNMP sottotipato come STRINGA OCTET a lunghezza fissa, il qualificatore di proprietà CIM Fixed_Length deve essere utilizzato per specificare questo valore.